Está en la página 1de 37

1.1 Introducción ¿Por qué y para qué?

Estudiar arquitectura de
computadoras.
Como bien podemos afirmar, actualmente la mayoría de las personas a nivel
mundial utilizan algún tipo de computadora y esto ha conllevado a facilitarle la vida
a la población en resolución más eficaz de ciertos problemas. Pero todo esto nos
lleva a que muchos solo conocen el producto finalizado para operar las funciones
que vienen establecidas y no el cómo es en el interior estos aparatos electrónicos o
como es que se realizaron para que pueda realizar las acciones que nos ofrecen.
<< El computador está en el corazón de la informática. Sin él la mayoría de las asignaturas
de informática serian hoy una rama de la matemática teórica. Para ser hoy un profesional
en cualquier campo de la informática uno no debe ver al computador como una caja negra
que ejecuta programas mágicamente. Todos los estudiantes de informática deben, en cierta
medida, comprender y valorar los componentes funcionales de un computador, sus
características, su funcionamiento y sus interacciones. También sus implicaciones
prácticas. Los estudiantes necesitan comprender la arquitectura del computador para
estructurar un programa de forma que este sea más eficiente en una maquina real.
Seleccionando el sistema que se va a usar, debe ser capaz de comprender el compromiso
entre varios componentes, como la velocidad del reloj de la CPU frente al tamaño de la
memoria. >> [1]

En el texto anterior podemos recalcar que no existiría la informática sin la invención


del computador y que el estudio de esta asignatura conlleva a conocer la realización
de este increíble aparato eléctrico tanto físico como virtualmente para dar solución
a los problemas que se les presenten a los usuarios en general.

1.2 Evolución de la tecnología.


Generación 1: Tubos de Vacío
 ENIAC (Electronic Numerical Integrator And Computer)
Este proyecto surgió debido a la necesidad de los militares para poder calcular las
trayectorias y la exactitud de sus proyectiles durante la segunda guerra mundial;
esto debido a que antes se tardaba demasiado en hacer sus cálculos de manera
manual.
El ENIAC utilizaba dígitos decimales y sus operaciones las realizaba muy rápido,
pero uno de sus defectos es que no era todo automático debido a que se tenían que
conectar y desconectar cables para los tubos de vacío.
El proyecto se finalizó hasta 1946, así que su propósito para la guerra no se cumplió
pero posteriormente se utilizó para conocer la viabilidad de la construcción de la
bomba de hidrogeno.
En la Figura 1, podemos observar como las mujeres eran las que operaban el
ENIAC

[2]
Figura 1: Operación del ENIAC

 Máquina de Von Neumann


Este proyecto surgió debido a la dificultad y exceso de tiempo para poder programar
el ENIAC; así fue cómo surgió la idea del programa-almacenado con la que se
refiere a que la computadora podría adquirir las instrucciones leyéndolas de una
memoria.
En 1952 Von Neumann junto con sus colaboradores trabajaron para poder diseñar
el computador de programa-almacenado al que nombraron IAS
El sistema IAS está formado por lo siguiente:
 Memoria principal: Almacena datos e instrucciones.
 Unidad Lógica Aritmética (ALU): Hacer operaciones.
 Unidad de Control de Programa: Interpreta y ejecuta instrucciones.
 Equipo de Entrada y Salida: Puertos para introducir o mandar datos.
En la Figura 2 se observa como está constituido internamente el computador IAS.

Figura 2: Organización de computador IAS [3]

La mayoría de las computadoras funcionan igual y tienen la misma estructura.


Este tipo ya opera solo con dígitos binarios con distintas posiciones de
almacenamiento de datos e instrucciones. Cuenta además con un contador de
programa, un acumulador y el registro temporal de instrucción.

 Computadoras Comerciales
Para los años cincuenta existieron las compañías Sperry e IBM, las cuales
competían para dar su mejor estilo de computador.
Por parte de Sperry, se crearon las maquinas UNIVAC (Universal Automatic
Computer) las cuales tuvieron un éxito comercial debido a que brindaba
aplicaciones científicas y comerciales. De estas se derivan la maquina UNIVAC 1,
2,1103; las cuales con forme cambiaban de edición, aumentaban la capacidad de
memoria y la resolución de otros problemas, pero con la originalidad de
compatibilidad con versiones anteriores.
Por otro lado estaba IBM, que saco su computador denominado 701 y 702, los
cuales funcionaban para aplicaciones científicas y de gestión.

Generación 2: Transistores
A diferencia de los tubos de vacío que requieren estar en ciertas condiciones como
el vacío, los transistores son más pequeños, más baratos y son dispositivos de
estado sólido hechos con silicio. A estos nuevos componentes se les denomino
componentes discretos.
Para esta nueva generación de computadoras, se introdujo el lenguaje de
programación de alto nivel, teniendo así, un mejor software de sistema.
Cada generación que sacaban las empresas era diseñada con la característica de
tener mayor velocidad, más grande su capacidad de memoria y tener un menor
tamaño físico del computador.

Generación 3: Circuitos Integrados


Debido a que todavía resultaban las computadoras ser muy grandes y estorbosas,
se buscó la manera de crearlas más pequeñas. Para la resolución de este problema
se creó la microelectrónica que es lo mismo, hablando funcionalmente, que la
electrónica normal solo que disminuyendo sus tamaños.
Esto genero también la importancia de las funciones lógicas internas hacia un chip
que tuviera entradas y salidas para poder disminuir el tamaño del circuito eléctrico.
En la Figura 3 se puede observar la composición de un circuito integrado que está
constituido por una oblea que a la vez se constituye de varias celdas con varios
chips integrados que contiene puertos de entrada y salida. Todo esto se puede
conectar a otros para poder generar circuitos más complejos.

Figura 3: Constitución de Circuito Integrado [4]

En 1964, IBM saco la nueva generación de computadoras, el sistema/360, esto fue


un gran avance pero para los compradores tenía la desventaja de que ya no existiría
compatibilidad con las versiones anteriores, debido a que cambiaron muchas cosas
de sus versiones anteriores como su conjunto de instrucciones, los sistemas
operativos distintos, diferente velocidad, mayor capacidad de memoria y aumento
de puertos de entrada y salida.
Surgió una nueva competencia que lanzo el computador DEC PDP-8; este le dio la
vuelta completamente debido a que redujo excesivamente el tamaño del ordenador
y era mucho más barato que cualquier otro. Esto le favoreció mucho a la compañía
DEC vendiendo y produciendo en gran cantidad sus equipos para poder convertirse
por un tiempo el vendedor número uno.

Últimas Generaciones
Por un lado se le dio más importancia a la generación de mejores memorias
utilizando la misma tecnología que un procesador (ALU y control); esto debido a que
la mayoría de memorias utilizaban el funcionamiento magnético pero esta es cara,
muy grande físicamente y era volátil cuando se leían los datos almacenados.
Debido a ese problema que se tenía; se decidió crear una memoria semiconductora
que no eliminara los datos que eran leídos; de este modo fue evolucionando esta
memoria cada vez con mayor capacidad de almacenamiento, más veloces y un
menor tamaño físico.
Por otro lado se le dio importancia a los microprocesadores, esto radica en la
velocidad de poder procesar la información; tanto en búsqueda de instrucciones,
direccionamiento de datos, ejecución de instrucciones, realización de operaciones,
etc.
En la Tabla 1 podemos ver la evolución de algunos microprocesadores INTEL
dependiendo su tamaño y cantidad de transistores, así como la energía que ocupa.

Tabla 1. Microprocesadores INTEL [5]

Modelo Año Transistores. Tran./mm2 Watts.


Procesadores de 8 bits, era previa al PC
4004 1971 2.300 192 0,5
8008 1972 3.500 219 1,0
8080 1974 6.000 300 0,8
Procesadores de PC de 16 bits
8086 1979 29.000 879 1,7
80286 1982 134.000 2.851 3,3
Procesadores de PC de 32 bits
80386DX 1986 275.000 2.670 1,7
80486DX 1989 1.200.000 14.815 3,0
Pentium 1993 3.200.000 10.884 13,0
Pentium II 1997 7.500.000 36.946 12,0
Pentium III 1999 28.000.000 264.151 16,0
Pentium 4 2000 42.000.000 193.548 52,0
Pentium 4 P. 2004 169.000.000 1.251.852 115,0
Procesadores de PC de 2 núcleos
Core 2 Duo 2006 291.000.000 2.034.965 65,0
Procesadores de PC de 4 núcleos
Core i7 N. 2008 774.000.000 2.614.865 45,0
Core i7 S. B. 2011 995.000.000 4.606.481 95,0
Procesador de PC de 6 núcleos
Core i7 980X 2011 1.170.000.000 4.717.742 130,0

1.2.1 Ley de Moore


La ley de Moore es un término de predicción por parte del cofundador de la empresa
de microprocesadores INTEL que en 1965 dijo que cada 2 años se duplicaría el total
de transistores que integra un microprocesador.
Esta ley, el propio INTEL dice que se ha seguido cumpliendo debido a los avances
tecnológicos a los que ha ido desarrollando.
De modo que los productos y las técnicas iban mejorando, es muy probable que
esta predicción se cumpliese y se abriera el panorama a la innovación.

1.3 Definiciones Importantes


1.3.1 Computadora y sus Funciones
La computadora está constituida por CPU (Unidad Central de Procesamiento),
componentes de memoria y unidades de entrada y salida. Estos componentes se
conectan entre sí para poder realizar la función de ejecutar programas. Los
programas son un conjunto de instrucciones almacenadas. El procesador es el
encargado de buscar y ejecutar las instrucciones de los programas que se
encuentran en secciones de memoria.
Ciclos de Captación y Ejecución
Para cada ciclo maquina o ciclo de instrucción, existen ciertos pasos que se derivan
para que pueda ocurrir ese ciclo:
 El CPU capta el contador de programa, la dirección de la siguiente instrucción
a ejecutar.
 El contador de programa se incrementa en uno para seguir y fijarse en la
siguiente instrucción.
 El CPU extrae el contenido que es una instrucción de la dirección de memoria
y la guarda en el registro de instrucción (IR, Instruction Register).
 Posteriormente el CPU decodifica en binario y ejecuta la instrucción.
El procesador también cuenta con un registro de datos que se denomina
acumulador (AC) y esto sirve para poder organizar la memoria con palabras de 16
bits.

Interrupciones
Todos los computadores tienen la característica de ser interrumpidas en el
procesamiento normal mediante ciertas alteraciones. Estas interrupciones dan una
mejora hacia la eficiencia del procesador, de modo a que todo se ejecute de la mejor
manera.
En la Tabla 2 podemos ver las clases de interrupciones que pueden ocurrirle a un
procesador.
Tabla 2. Clases de Interrupciones. [6]
Clases de Interrupciones
De Generadas por alguna condición que se produce como resultado de la ejecución
programa de una instrucción, como el desbordamiento aritmético, la división por cero, el
intento de ejecutar una instrucción ilegal de la máquina o una referencia a una
zona de memoria fuera del espacio permitido al usuario.
De reloj Generadas por un reloj interno del procesador. Esto permite al sistema operativo
llevar a cabo ciertas funciones con determinada regularidad.
De E/S Generadas por un controlador de E/S, para indicar que una operación ha
terminado normalmente o para indicar diversas condiciones de error.
Por fallo del Generadas por fallos tales como un corte de energía o un error de paridad de la
hardware memoria.

Funcionamiento de E/S
Cualquier módulo de E/S se comunica e intercambia información con el procesador
y este puede escribir datos en el módulo E/S para así poder hacer comunicación
bilateral pero para poder ser más eficiente el computador, el procesador le asigna
ciertos espacios de memoria para poder trabajar y así liberarse de
responsabilidades en el intercambio de información. A esto se le llama acceso
directo a memoria (DMA, Direct Memory Access).

1.3.2 Programa
Es el conjunto de instrucciones (algoritmo) que se basan en cualquier tipo de
lenguaje de programación que son decodificados para poder resolver un
determinado problema o una acción.
Los lenguajes de programación nos permiten dentro de la informática, el poder crear
y diseñar programas utilizando cierto tipos de instrucciones entendibles para los
programadores y estas instrucciones las puede decodificar después hacia un
lenguaje que lo comprenda el procesador.

1.3.3 Arquitectura
Es el diseño y estructura de un sistema de una computadora. Es una descripción
funcional de requerimientos e implementaciones para las partes del ordenador.
<<Se refiere a los atributos de un sistema que son visibles a un programador, o para
decirlo de otra manera, aquellos atributos que tienen un impacto directo en la
ejecución lógica de un programa. Entre los ejemplos de atributos arquitectónicos se
encuentran el conjunto de instrucciones, el número de bits usados para representar
varios tipos de datos, mecanismos de E/S y técnicas para direccionamiento de
memoria. >> [1]
Cualquier computador puede estar constituido por:
 Unidad de Memoria: Sitio donde se guardan todos los datos y programas
establecidos.
 Unidad de Control: Aquí es donde se encarga de dirigir todo hacia donde sea
necesario de la memoria.
 Unidad de E/S: Su función principal es la de codificar y decodificar señales
que entienden los seres humanos y las que entiende la computadora usando
el sistema binario.
 Unidad Lógica Aritmética: Encargado de realizar operaciones que le diga el
procesador.
En la arquitectura se encuentran Von Neumann y Harvard pero esas se verán más
adelante más detallado

1.3.4 Organización
La organización se refiere básicamente en elegir que tareas se tienen que hacer,
quien las va a realizar, quien las captara y en donde se realizaran las decisiones.
<< La organización de computadoras se refiere a las unidades funcionales y sus
interconexiones, que dan lugar a especificaciones arquitectónicas. Entre los
atributos de organización se incluyen aquellos detalles de hardware transparentes
al programador, tales como señales de control, interfaces entre el computador y los
periféricos y la tecnología de memoria usada. >> [1]
1.3.5 Estructura y Funcionalidad
Estructura
El computador es un objeto virtual que interactúa con lo externo, ya sea con
dispositivos o comunicándose con otro. Se dice que es la interconexión de los
componentes y su relación.
Los 4 componentes principales que conforman la estructura de una computadora
son:
 Unidad Central de Procesamiento (CPU): Este se conoce también como
procesador y se encarga de buscar y ejecutar instrucciones.
 Memoria: Almacén de datos.
 Puertos de E/S: Realiza comunicación entre lo externo y lo interno.
 Sistema de Interconexión: Permite la comunicación entre los anteriores.
Dentro del procesador podemos encontrar que está conformado por lo siguiente:
 Unidad de Control: Determina las funciones del procesador.
 Unidad Aritmético-Lógica: Procesamiento de los datos.
 Registros: Nos brinda el almacenamiento.
 Interconexiones CPU: Proporcionan la comunicación entre los anteriores.

Funcionalidad
El propósito que tiene cada componente de la estructura. Lo primordial del
computador es ser capaz de poder procesar datos.
Las funciones más básicas que debe contar una computadora son las siguientes:
 Procesamiento de Datos.
 Almacenamiento de Datos.
 Transferencia de Datos
 Control

1.3.6 Estructura en alto, medio y bajo nivel


Un lenguaje de programación es un sistema que está diseñado y estructurado para
que las computadoras puedan comprenderse y comprender al usuario.
El usuario le puede dar órdenes al computador por medio de ciertas instrucciones
que posteriormente se decodifica a su lenguaje y así poder crear la comunicación
estable.
El computador solo puede reconocer el lenguaje en código binario ya sea para
buscar o ejecutar instrucciones.

Lenguaje Bajo Nivel


Este tipo de lenguaje es totalmente dependiente del computador. Están diseñados
especialmente para el hardware que se ocupa y por tal motivo se aprovechan al
máximo sus características. Dentro de este tipo de lenguaje podemos encontrar 2
muy importantes:
 Lenguaje Maquina: Es básicamente la numeración binaria, que consta de 1
y 0 para poder formar las órdenes que se le da al computador. Una de las
grandes desventajas que presenta es que sus códigos son difíciles de
manejar y se crea un enorme código final pero una gran ventaja es que es
muy entendible hacia el ordenador.

 Lenguaje Ensamblador: Este es un derivado del lenguaje máquina. Está


compuesto por mnemónicos que son letras y números. En este lenguaje
existe una decodificación para poder pasarse a lenguaje máquina. A
diferencia del lenguaje máquina, este es más fácil de entender por el usuario
y los códigos son más cortos.

Lenguaje Alto Nivel


Estos tipos de lenguaje son más básicos y sencillos de comprender por el usuario
debido a que utilizan palabras pero se necesita mayor capacidad de codificación
para pasarlo a lenguaje máquina. Este lenguaje es muy fácil de poder ser
compatible con otro computador. Algo que puede verse desde una ventaja o
desventaja es que el programador se aleja mucho del funcionamiento interno del
computador. Depende de la función que se requiera realizar, es el tipo de lenguaje
que se utiliza debido a que no todos tienen los mismos propósitos.

Lenguaje Medio Nivel


Este lenguaje como lo indica su nombre, se encuentra entre bajo y alto nivel; como
puede verse la diferencia entre ambos lenguajes, este es entendible pero necesitas
un poco más de conocimientos para poder programar de la manera correcta.
1.3.7 Plataformas Informáticas
Una plataforma informática es un sistema que nos sirve básicamente para hacer
funcionar el hardware o software si estos son compatibles. De esto se derivan dos
plataformas; la plataforma de hardware y software
La plataforma de software es el entorno visual con el que se nota la interacción del
usuario con el computador y este tiene que ser programado para que realice
funciones con el hardware
La plataforma de hardware es lo mismo que arquitectura de hardware que ya se vio
anteriormente.

1.3.8 Plataforma IBM


Esta plataforma sirve para el desarrollo de software de colaboración. Está diseñada
para la creación de software por medio de equipos de trabajo, haciendo que de esta
manera el software sea mejor colaborando entre varias personas y un mejor
proyecto.

1.3.9 Arquitectura de Hardware


Es el conjunto de dispositivos físicos que constituyen al computador y hacen posible
el correcto funcionamiento para el procesamiento de la información.
La forma en que pueden interconectarse varios componentes de hardware para
crear computadoras a ciertos propósitos.
Básicamente podemos encontrar para un computador, los siguientes componentes:
 Memoria principal: está compuesta por celdas de memoria a las cuales puede
acceder para guardar o leer información.
 Procesador: Encargado de buscar y ejecutar instrucciones.
 Dispositivos E/S: Son los componentes que hacen comunicación con el
usuario y el computador y viceversa.
1.3.10 Líneas de Diseño
Es un conjunto de especificaciones o productos que nos ayudan para un desarrollo
en un futuro y que solamente se pueden modificar por el procedimiento de control
de cambios. Las líneas base deben de ser supervisadas para mantener la integridad
de los elementos.
 La línea base funcional: Son los documentos para los requerimientos
funcionales y confirmar el estado del componente de configuración.

 La línea base de definición: brinda la funcionalidad del sistema y


requerimientos de interfaz de cada componente.

 La línea base de desarrollo: Contiene los documentos de códigos fuente,


ejecutables, módulos, software.

 La línea de base de producto: Es la documentación del producto y código


que es aprobado y define un componente de configuración. Es establecido al
final de las pruebas de aceptación.

1.3.11 Arquitectura Von Neumann


Fue descrita en 1945 por el físico y matemático John Von Neumann. Es el tipo más
común para los sistemas que se componen de un microprocesador, en la cual la
unidad central de proceso (CPU), se conecta a una única memoria en la que está
compuesta de la memoria de instrucciones y la memoria de datos. De esta manera
se puede acceder a cualquiera de las 2 con un único sistema de buses (control,
direcciones y datos).
Las desventajas que podemos encontrar en este tipo de arquitectura es que se limita
la velocidad de operación debido al único bus de datos e instrucciones con el que
se cuenta, de igual modo para poder buscar a instrucciones complejas, es difícil
debido a la limitación de longitud por el bus de datos.
Los pasos que realiza para poder completar un ciclo maquina son:
 Obtener la instrucción siguiente de la memoria por el contador de programa
y la guarda en un registro de instrucción.
 Incrementa el contador de programa en 1 para visualizar la siguiente
instrucción.
 Es decodificada y ejecutada la instrucción.
En la Figura 4 podemos observar claramente cómo es que está constituida la
arquitectura Von Neumann de un computador.

Figura 4. Arquitectura Von Neumann [7]

1.3.12 Arquitectura Harvard


Los microcontroladores (PIC) son los que utilizan este tipo de arquitectura y está
constituida por una unidad central de proceso (CPU) que es conectada a dos
memorias separadas las cuales son la memoria de instrucciones y la memoria de
datos, las cuales están conectadas por dos buses diferentes para lograr
independencia. Debido a la independencia de estas memorias, las direcciones de
memoria pueden tener distintos contenidos y también distinta longitud.
Las ventajas que podemos tener de este tipo de arquitectura es que debido a que
el tamaño de las instrucciones no depende de los datos, cualquier instrucción ocupa
solo una posición de memoria y esto genera una mayor velocidad y menor tamaño
de programa.
En la Figura 5 podemos observar cómo está conformada la arquitectura Harvard.

Figura 5. Arquitectura Harvard [7]


1.3.13 Arquitectura Multinivel
Es una forma de programar en donde el objetivo es separar la lógica de negocios y
la lógica de diseño. En este, el desarrollo puede constituir de varios niveles y en
caso de cambio, solo se modifica algún nivel.
La mayoría de las aplicaciones web están diseñadas en arquitectura multinivel de 3
niveles. En los cuales el primer nivel consta de la capa de presentación que es el
navegador y el servidor web del cual es el responsable. El segundo nivel es el
programa o script. En el tercer nivel es el que proporciona los datos para la ejecución
correcta.
En la Figura 6 podemos observar un programa diseñado con arquitectura de 3
niveles.

[8]
Figura 6. Arquitectura de 3 niveles

1.4 CPU y sus Componentes


1.4.1 Microprocesador y sus Partes Lógicas
La Unidad Central de Procesamiento (CPU) también se denomina procesador,
controla el funcionamiento del computador y realiza la operación de procesar los
datos. Lee instrucciones y datos, escribe datos después de procesarlos y utiliza
señales para controlar el funcionamiento del sistema. Recibe instrucciones de
señales de interrupción.
El CPU le dice a la unidad de entrada cuando se puede leer su información para
integrarla a la memoria, le ordena a la unidad lógica aritmética (ALU) cuando
necesita realizar cálculos y permite cuando enviar información a la unidad de salida.
El CPU está compuesto por:
 Unidad de Control: Coordina las actividades a ejecutarse en el computador y
determina que acciones se deben realizar, así como el orden de ejecución.

 Unidad Aritmético Lógica (ALU): Sirve para poder hacer funciones de


procesamiento de datos como operaciones aritméticas y lógicas.

 Registros: Son los espacios de memoria para poder almacenar datos o


instrucciones que le dice el procesador.
En la Figura 7 podemos observar cómo está constituido internamente un
procesador.

Figura 7. Estructura interna del procesador [9]

1.4.2 ALU, Funciones y Componentes


<< La ALU es la parte del computador que realiza realmente las operaciones
aritméticas y lógicas con los datos. El resto de los elementos del computador
(unidad de control, registros, memoria, E/S) están principalmente para suministrar
datos a la ALU, a fin de que esta los procese y para recuperar los resultados. Con
la ALU llegamos al estudio de lo que puede considerarse el núcleo o esencia del
computador. >> [1]
En la ALU se utiliza los dígitos binarios para poder realizar operaciones lógicas
digitales
La unidad lógica aritmética está formada por:
 Operadores: Aritméticos (Suma y Resta con complemento a 2), lógicos
(Producto y Suma) y de desplazamiento o rotación.
 Registros: Para almacenar datos temporales
 Registros de Estado: Flags que indican situaciones.
 Registro de contador de programa:
 Registro de direcciones de interrupción:
Los dos tipos de ALU son:
 Coma fija
 Coma flotante

En la Figura 8 podemos ver el desplazamiento lógico ya sea hacia la izquierda o


derecha sin importar el último digito que se desplace.

Figura 8. Desplazamientos lógicos [10]

En la Figura 9 podemos ver el desplazamiento aritmético hacia la izquierda o


derecha en complemento a 2.

Figura 9. Desplazamientos Aritméticos [10]

En la Figura 10 podemos ver el desplazamiento circular a la izquierda o derecha


regresando de manera cíclica sin contar el acarreo.

[10]
Figura 10. Desplazamientos Circulares
En la Figura 11 podemos ver el desplazamiento circular que cuenta al acarreo de
manera cíclica.

[10]
Figura 11. Desplazamientos Circulares a través de Acarreo

1.4.3 Unidad de Control y sus Componentes


Es la encargada de dirigir el flujo de datos hacia el procesador y lo coordina.
Asimismo, es el encargado de brindar las órdenes que el computador le requiere
para la realización de operaciones.
Su función básica es la de realizar la secuencia para llevar a cabo un ciclo de
ejecución de instrucción:
 Extraer la siguiente instrucción de la dirección de memoria a la que apunta el
contador de programa (ciclo de fetch).
 Decodificar la instrucción que fue extraída.
 Ejecuta la instrucción.
 Incrementa el contador de programa en 1 para poder preparase a la siguiente
instrucción.
La unidad de control realiza ciertas operaciones que son elementales en el sistema:
Operaciones de Transferencia: Mover datos de una dirección de memoria a otra.
Operaciones de Proceso: Mandar a que se realice alguna operación con operadores
mediante la ALU.
Ambas operaciones siempre van de alguna dirección de memoria a otra o en la
misma, debido a que no puede quedar información sin ser guardada.
Las componentes de una unidad de control son:
 Registro de Instrucción: es el que guarda la instrucción que se está
ejecutando.
 Registro Contador de Programas: Almacena la dirección de memoria de la
siguiente instrucción a ejecutar.
 Controlador y Decodificador: Es el encargado de extraer e interpretar en
lenguaje maquina la instrucción para realizar su proceso.
 Secuenciador: Este genera microinstrucciones que la mayor parte son las
que le dicen porque tipo de bus tiene que pasar o hacia a donde.
 Reloj: Marca el tiempo en que debe ejecutarse la instrucción.
Existen dos tipos de unidades de control que son:
La Unidad de Control Cableada: Se utilizan para maquinas sencillas y de este tipo
lo que lo compone principalmente son el circuito de lógica secuencial, control de
estado, lógica combinacional y emisión y recepción de señales para el control.
La Unidad de Control Microprogramada: Son utilizadas comúnmente en máquinas
más complejas y esta microprogramación se encuentra en una micromemoria que
contiene microinstrucciones a la que se accede secuencialmente.

1.4.4 Unidades Funcionales


También se le conoce como unidad de ejecución y esta es una parte dentro de la
unidad centra de procesamiento, la cual realiza operaciones y cálculos llamados por
programas. Cuenta con una propia unidad de control de secuencia, pocos registros
de memoria y también una pequeña ALU en su interior.
Visto desde otro enfoque, las unidades funcionales son los componentes que
conforman al computador, las cuales pueden ser:
 Unida de Control: Es la que dirige a los componentes para realizar su trabajo.
 Unidad Aritmética Lógica (ALU): Se encarga de realizar operaciones para
procesar la información.
 Unidad de Memoria: Almacenan la información mediante direcciones de
memoria.
 Unidad de entrada/salida (E/S): Son componentes externos que ayudan a la
comunicación de la maquina con el usuario.

1.4.5 Bus y Tipos de Buses


El bus sirve como una vía de comunicación entre dos o más dispositivos
(primordialmente al CPU y las Unidades del computador); esto quiere decir que
funciona como medio de transmisión compartido al que se conecta varios
dispositivos por los que se mandan o reciben señales. Una característica importante
que debe tener un bus es la de garantizar que la comunicación sea correcta entre
los elementos a los que están conectados del bus y así mismo, soportar la cantidad
de información que va a pasar por él. La anchura del bus es muy importante para
determinar el rendimiento que tiene el sistema.
Los tipos de bus se clasifican en:
 Bus de Datos: Es utilizado para transferir datos entre componentes del
computador, este es el ancho de palabra de memoria.

 Bus de Dirección: Se utiliza para transportar direcciones de memoria; ya sea


para la lectura de esta o para el destino.

 Bus de Control: Transmiten órdenes e información temporal entre los


módulos del computador. Básicamente manda señales de control como
señales de escritura o lectura de memoria, etc.

1.4.6 Fases de Ejecución


En esta fase lo que ocurre es que la operación que se indica por la instrucción se
realiza, y se puede almacenar en los registros del computador o en una dirección
de memoria.
Los pasos para la fase de ejecución son los siguientes: <<
1. Se transfiere la dirección del primer operando desde el registro de instrucción
al registro de dirección de memoria.
2. El selector extrae de la memoria dicho dato depositándolo en el registro de
intercambio de memoria.
3. Se lleva este operando desde este registro de entrada 1 de la ALU.
4. Se transfiere la dirección del segundo operando desde el registro de
instrucción al registro de memoria.
5. El selector extrae de la memoria dicho dato y lo deposita en el registro de
intercambio de memoria.
6. Se lleva este operando desde este registro al registro de entrada 2 de la ALU.
7. El secuenciador envía una microorden a la ALU para que se ejecute la
operación. El resultado de la operación queda almacenado en el acumulador.
8. Este resultado se envía desde el acumulador al registro de intercambio de
memoria. >> [11]
1.5 Memorias, sus Jerarquías y sus Funciones
Anteriormente se utilizaba como medio de almacenamiento de datos de acceso
aleatorio, una matriz de anillos ferromagnéticos nombrados núcleos. Debido a las
desventajas que presentaba como borrar algunos datos al ser leídos y con la
presencia de la microelectrónica, se crearon las memorias semiconductoras.
Podemos observar en la Figura 12 el funcionamiento de una celda de memoria y
podemos percatar que necesita de 3 terminales para que puedan funcionar las
cuales son:
 Selección: Determina que celda es la que utilizara.
 Control: Establece si la acción que se realizara será de lectura y/o escritura.
 Entrada de Datos: Esta terminal es solo para escritura en la que se
establecen los datos.
 Detección: En caso de que en el control nos diga que debemos leer, la salida
de la información será por este terminal.

Figura 12. Funcionamiento de una Celda de Memoria [1]

Memoria RAM (Memoria de Acceso Aleatorio)


 Las palabras individuales de la memoria son accedidas por lógica de
direccionamiento.
 La lectura y la escritura se realizan mediante señales eléctricas.
 Memoria volátil (Los datos se borran al cortar alimentación).

Memoria DRAM (Memoria de Acceso Aleatorio Dinámico)


 Las celdas almacenan datos como cargas eléctricas.
 Necesita refrescarse para no perder datos.
 Tensión activa es 1, y tensión baja es 0.
 Dispositivo analógico.
 Comúnmente se ocupa para la memoria principal.
Memoria SRAM (Memoria de Acceso Aleatorio Estático)
 Dispositivo Digital.
 Funciona utilizando configuración de puertas para formar flip-flops.
 No se necesita refrescar los datos.
 Son más rápidas que las DRAM debido a que se utiliza para memoria cache.

Memoria ROM (Memoria de Solo Lectura)


 Contiene datos no modificables.
 Es un tipo de memoria no volátil (No se requiere alimentación para guardar
datos).
 No se puede escribir nuevos datos.
 Como desventaja es que es costoso la inserción de datos y no se permiten
fallos.

Memoria PROM (Memoria de Solo Lectura Programable)


 Son no volátiles.
 Se puede grabar solo una vez.
 Proceso de escritura eléctricamente y por tal motivo más personas lo pueden
hacer.

Memoria EPROM (Memoria de Solo Lectura Programable y Borrable)


 Se lee y escribe eléctricamente.
 Antes de escribir se debe borrar todo.
 Para borrar todo se hace por luz ultravioleta.
 Puede modificarse múltiples veces.
 Retiene su contenido indefinidamente.

Memoria EEPROM (Memoria de Solo Lectura Programable y Borrable


Electricamente)
 Se puede escribir sin borrar su contenido anterior.
 Es no volátil.
 Se lee, se escribe y se borra eléctricamente.
Memoria Flash
 La velocidad de reprogramación es muy rápida.
 Se borran electrónicamente.
 Se puede borrar toda o solo por partes.
 Sus secciones de celdas se borran de manera instantánea (flash).
 No se pueden borrar a nivel de byte.

En la Tabla 3 podemos encontrar una recapitulación de los tipos de memorias


semiconductoras con algunas características principales.
Tabla 3. Tipos de Memorias Semiconductoras [1]
Tipo de Mecanismos de
Clase Borrado Volatilidad
memoria escritura
Memoria de
Memoria de Eléctricamente
acceso aleatorio Eléctricamente Volátil
lectura/escritura por bytes
(RAM)
Memoria de solo Mediante
lectura (ROM) mascaras
Memoria de solo
ROM No posible
lectura
programable
(PROM)
PROM borrable Luz ultravioleta,
No volátil
(EPROM) chip completo
Eléctricamente
Memoria de Eléctricamente
Memoria FLASH
sobre-todo- por bloques
PROM borrable lectura
Eléctricamente,
eléctricamente
por bytes
(EEPROM)
En la Figura 13 se muestra la jerarquía que existe en las memorias.

Figura 13. Jerarquía de Memoria [1]

1.5.1 Registros y Tipos de Registros


Los registros son localidades de memoria que vienen internamente en los
microprocesadores y estas localidades pueden almacenar datos que se usan
frecuentemente. Cada tipo de registro realiza una tarea en específica que le da
características al procesador. Existen registros de 16 bits, 8 bits, 32 bits, etc.
Registros de Datos
También se les denomina de propósito general, son usados principalmente para
almacenar ciertos parámetros que se utilizan en operaciones matemáticas y para la
transferencia de datos. Se puede utilizar como datos de 16 bits, o como 2 de 8 bits.
 AX: Registro acumulador, es el más utilizado para operaciones aritméticas
y/o para manipulación de cadenas en instrucciones de entrada y salida.
 BX: Registro base, este registro dirige a la memoria desde una base y/o se
utiliza para operaciones aritméticas.
 CX: Registro contador, se utiliza para desplazar bits y/o control de lazos.
 DX: Registro de datos, sirve para poder realizar operaciones de
multiplicación.
Registros Índice
Estos registros son utilizados para el direccionamiento de la memoria.
 SB y BP: Se utilizan para las direcciones en el área de la pila, en la que se
encuentran datos apilados.
 SI y DI: Se emplean para manipular cadenas para apuntadores hacia las
direcciones de memoria.
 IP: Conocido como apuntador de instrucciones, señala la dirección de
memoria donde se localiza la siguiente instrucción a ejecutar.

Registro de Estado
En este registro se muestra es estado del procesador tras pasar el tiempo de
ejecución de instrucciones. Se le conoce como banderas almacenadas y se dividen
en banderas de control y banderas de estado.
Las banderas de control son las que mencionan el funcionamiento del procesador:
 Dirección (DF): Dirige los registros índices en las instrucciones de cadenas.
 Interrupción (IF): Habilita o deshabilita las interrupciones enmascarables.
 Trap (TF): hace que vaya paso a paso la operación del procesador.
Las banderas de estado son las que indican el estado de procesador cuando ocurre
una operación aritmética:
 Acarreo (CF): Se activa si existe acarreo en una operación aritmética.
 Desbordamiento (OF): Se activa si existe un desbordamiento en una
operación aritmética.
 Cero (ZF): Ocurre cuando el resultado de una operación es cero.
 Signo (SF): Cuando el resultado es un número negativo.
 Paridad (PF): El resultado de una operación resulto un número con paridad
par.
 Acarreo Auxiliar (AF): Cuando ocurre un acarreo del cuarto bit.

Registros de Segmento
 CS: Contiene la dirección de memoria en donde están las instrucciones.
 DS: Contiene la dirección de memoria de las variables utilizadas.
 ES: Segmento extra que se usa para almacenar información.
 SS: Señala al segmento de pila.
1.5.2 Memoria Cache
Su objetivo es el hacer que exista una mayor velocidad de memoria y mayor
capacidad de memoria por un costo menor. La memoria cache lo que contiene es
una copia de partes de la memoria principal, esto lo que genera es que el procesador
tome la memoria de la cache en lugar de buscar en toda la memoria principal. La
memoria tendrá la particularidad de que en los bloques tiene una mayor longitud
para poder almacenar más palabras en una dirección de memoria. De este modo
puede existir una mayor velocidad en nuestro sistema.
Memoria RAM
La memoria RAM también conocida como Memoria de Acceso Aleatorio, almacena
datos de aplicaciones que están en ejecución durante el funcionamiento del
computador; esto ocurre para que procesador pueda acceder a las localidades de
memoria y utilizar los datos a su conveniencia. Es una memoria de tipo volátil; esto
significa que necesita estar energizada para almacenar y retener los datos.
La estructura interna de cualquier memoria RAM se basa básicamente en lo
siguiente:
 Memoria Base: De 0 a 640 KB, es donde se guardan los programas que
utiliza el usuario.
 Memoria Superior y Reservada: de 640 a 1024 MB, es donde contiene
estructura de intercambio de información y bloque de memoria UMB. Los
bloques UMB son aquellos en los que se guarda el sistema de la memoria
superior.
 Memoria Expandida: Se asigna a programas en memoria superior.
 Memoria Extendida: Es donde se almacenan las aplicaciones después de la
memoria base.
La Figura 14 muestra de manera gráfica la estructura interna de una memoria RAM.

Figura 14. División Lógica de la Memoria Ram. [12]

Memoria RAM (Memoria de Acceso Aleatorio)


 Las palabras individuales de la memoria son accedidas por lógica de
direccionamiento.
 La lectura y la escritura se realizan mediante señales eléctricas.
 Memoria volátil (Los datos se borran al cortar alimentación).

Memoria DRAM (Memoria de Acceso Aleatorio Dinámico)


 Las celdas almacenan datos como cargas eléctricas.
 Necesita refrescarse para no perder datos.
 Tensión activa es 1, y tensión baja es 0.
 Dispositivo analógico.
 Comúnmente se ocupa para la memoria principal.

RAM TSOP (Thin Small Out-line Package)


Es un tipo de memoria de conjunto de bajo perfil fuera de línea en las que son
construidas a base de capacitores introduciendo estas memorias en zócalos de la
motherboard.

RAM SIP (Single In-Line Package)


Es un tipo de memoria de soporte simple en línea. Es la integración de varias
memorias tipo TSOP, así lograron tener mayor capacidad de almacenamiento.
Estas se insertaban por medio de pines hacia ranuras en la tarjeta principal.

RAM SIMM (Single In Line Memory Module)


Es un tipo de memoria de un módulo de memoria únicamente una línea. Esta
memoria tiene los CI de memoria de un solo lado con un conector de 30 o 72
terminales.

RAM DIMM (Dual In Line Memory Module)


Su significado es módulo de memoria de línea dual, debido a que en sus pines son
diferentes de cada lado y esto le daba más líneas de transmisión de datos.

RAM DDR1 (Dual Data Rate)


Es una memoria de trasmisión doble de datos, debido a que tiene 2 canales por los
cuales transmitir datos al mismo tiempo. Este tipo de memoria cuenta con 184 pines
de salida hacia la tarjeta principal.

RAM GDDR (Graphics Double Data Rate)


Para las tarjetas de video lo que contienen son tarjetas de memoria de tipo RAM.

RAM DDR2 (Dual Data Rate 2)


Es lo mismo que la tipo RAM DDR1 solo que con la novedad de que ahora tiene
240 pines con lo que le permite tener mayor velocidad de almacenamiento.
RAM DDR3 (Dual Data Rate 3)
Son iguales que la RAM DDR2 solo que con la novedad de que cuenta con
conectores independientes por ambos lados. Un defecto que encontramos aquí es
que se sobrecalientan.

Memoria SRAM (Memoria de Acceso Aleatorio Estático)


 Dispositivo Digital.
 Funciona utilizando configuración de puertas para formar flip-flops.
 No se necesita refrescar los datos.
 Son más rápidas que las DRAM debido a que se utiliza para memoria cache.

Memoria EEPROM
Este tipo de memoria ROM la diseño el Ing. Dov Frohman. Está conformada por
celdas de transistores de puerta flotante, en las que al momento de crearlas vienes
esos transistores como 0 para poder ser programada en la posterioridad. Se
programa mediante un voltaje más alto al que se acostumbra utilizar.
La manera correcta en poder borrar este tipo de memoria es exponiéndolas una
intensa luz ultravioleta con la que hace que los fotones se exciten y sean
descargados.

 Memoria de Solo Lectura Programable y Borrable Eléctricamente


 Se puede escribir sin borrar su contenido anterior.
 Es no volátil.
 Se lee, se escribe y se borra eléctricamente.

Memoria FLASH
Este tipo de memoria es derivada de la EEPROM en un tamaño reducido en la que
se almacenan gran cantidad de datos debido a impulsos eléctricos que se generan.
Tiene una gran velocidad por su comunicación serial.
Sus características principales son:
 La velocidad de reprogramación es muy rápida.
 Se borran electrónicamente.
 Se puede borrar toda o solo por partes.
 Sus secciones de celdas se borran de manera instantánea (flash).
 No se pueden borrar a nivel de byte.

Los tipos de memoria tipo FLASH son los siguientes:


 Tarjetas SD.
 xD Picture Card.
 Memory Stick.
 Compact Flash.
 SmartMedia.
 Memoria Flash USB.

Bit
Es la abreviación de Binary Digit (Digito Binario), es la menor unidad de dato que
existe en un computador. El bit está definido mediante un digito ya sea 0 o 1; siendo
el 1 como un estado alto de energía activa. La unión de varios bits pueden lograr un
mayor número conociéndose como bytes, mega, giga, etc.
El lenguaje máquina que es con el que se comunican los computadores es el bit
solo que llevado a gran escala. Básicamente todo lo que se utiliza que nosotros lo
vemos lógicamente, es decodificado y transferido hacia bits.
La definición de un bit fue usada por el Ing. Claude Shannon en 1948.

Registro
Los registros son localidades de memoria que vienen internamente en los
microprocesadores y estas localidades pueden almacenar datos que se usan
frecuentemente. Cada tipo de registro realiza una tarea en específica que le da
características al procesador. Los microprocesadores contienen distintas matrices
de registros que cuentan con datos binarios para las necesidades de los
procesadores. .Existen registros de 16 bits, 8 bits, 32 bits, etc.
Debido a que los procesadores cuentan con estos registros, es más fácil y rápido
acceder a ellos en comparación a otros tipos de memoria en un sistema.
Los registros más importantes son:
 Contadores de Programa (PC): Almacenar dirección de instrucción actual.
 Registros de Instrucción (IR): Almacén de instrucciones.
 Acumuladores (CA): Resultados matemáticos.
 Dirección de Registros de Memoria RAM (MAR): Ubicaciones de dirección
dentro de la memoria principal.
 Búfer de Registros de Memoria (MBR): Retener los bits de datos entrantes.
 Estados o Bandera de Registros (FR): Actualizar estados de procesador.
 Registros Condicionales (CR): Mantener los valores condicionales o lógicos.
 Registros de Propósito General (GPR): Almacenar bits de datos generales o
instrucciones.

Bus de Datos
Es utilizado para transferir datos digitales mediante pulsos eléctricos entre
componentes del computador que tienen una dirección lateral; este es el ancho de
palabra de memoria.
Este tipo de buses pueden ser conexiones conectadas en serie o en paralelo. En
los tipo serie, los datos son transmitidos de bit a bit y que al final se reconstruyen
formando el resultado que se mandó.
En los tipo paralelo, varios datos son enviados al mismo tiempo.

Bus de Dirección
Se utiliza para transportar unidireccionalmente direcciones de memoria en
expresiones binarias hacia el procesador ya sea para la lectura de esta o para dirigir
el destino de alguna. Direcciona las zonas de memoria con los distintos dispositivos
con los que podamos contar. El espacio de direccionamientos es el rango de valores
que el procesador sea capaz de seleccionar.
La mayoría de estos buses se componen de 32 líneas en las nos permite direccionar
4 GB.

Bus de Control
Transmiten órdenes e información temporal entre los módulos del computador.
Básicamente manda señales de control como señales de escritura o lectura de
memoria, etc.
Sincroniza las actividades y las transferencias con los puertos del sistema. Las
señales más importantes que transmite son las de reloj para determinar el tiempo
de operaciones y que estas dependen del tipo de procesador que se tenga.

Microprocesador
La Unidad Central de Procesamiento (CPU) también se denomina procesador,
controla el funcionamiento del computador y realiza la operación de procesar los
datos. Lee instrucciones y datos, escribe datos después de procesarlos y utiliza
señales para controlar el funcionamiento del sistema. Recibe instrucciones de
señales de interrupción.
El CPU le dice a la unidad de entrada cuando se puede leer su información para
integrarla a la memoria, le ordena a la unidad lógica aritmética (ALU) cuando
necesita realizar cálculos y permite cuando enviar información a la unidad de salida.
El CPU está compuesto por:
 Unidad de Control: Coordina las actividades a ejecutarse en el computador y
determina que acciones se deben realizar, así como el orden de ejecución.

 Unidad Aritmético Lógica (ALU): Sirve para poder hacer funciones de


procesamiento de datos como operaciones aritméticas y lógicas.

 Registros: Son los espacios de memoria para poder almacenar datos o


instrucciones que le dice el procesador.
En la Figura 15 podemos observar cómo está constituido internamente un
procesador.

Figura 15. Estructura interna del procesador [9]


Microcontrolador
El microcontrolador es un Circuito Integrado que tiene distintos propósitos, esto
debido a que es programable y puede hacer las funciones que tú le ordenes siempre
y cuando estén a disposición del microcontrolador que se tenga. Este dispositivo
está conformado por:
 CPU: Es la Unidad Central de Proceso o también conocido como procesador.
Este componente contiene:
o ALU: Es la Unidad Aritmético Lógica y sirve para poder hacer
funciones de procesamiento de datos como operaciones aritméticas y
lógicas.
o Unidad de Control: Coordina las actividades a ejecutarse en el
computador y determina que acciones se deben realizar, así como el
orden de ejecución.
o Registros: Son los espacios de memoria para poder almacenar datos
o instrucciones que le dice el procesador.
 Periféricos E/S: Es aquella parte externa con la que hace que podamos tener
comunicación entre el microcontrolador y el usuario
 Memorias: Esta memoria se encuentra dividida en 3 partes las cuales son la
memoria FLASH con la que se utiliza para poder guardar el programa que se
va a ejecutar, la memoria RAM con la cual entra en acción cuando nuestro
programa se encuentra ejecutándose y por ultimo tenemos la memoria
EEPROM con la que se encuentran las configuraciones específicas de
nuestro microcontrolador.
Los microcontroladores que más se utilizan son:
 AVR: Son tipo RISC de ATMEL. Tiene conjuntos de instrucciones simples y
pequeñas lo que hace que sea rápido.
 ARM: Son dispositivos que tienen alta gama debido a que tiene un
procesador CORE RISC de 16/32 bits. Este componente tiene mayor
capacidad de velocidad, periféricos y capacidad; además de que necesitan
una mínima corriente para ser alimentados.
 MSP430: Es el que consume muy mínima corriente de consumo y contiene
un procesador CORE de 16 bit RISC. Este dispositivo cuenta internamente
con una estructura Von Neuman.
 PIC: Este dispositivo es el más popular y barato. Tiene la distinción de que
se encuentran demasiados modelos y cada uno cuenta con ciertas
características que lo hacen propio de los demás.
Las principales características en las que tenemos que fijarnos para comprar un
microcontrolador son las siguientes:
 Velocidad de reloj u oscilador
 Tamaño de palabra
 Memoria
 Periféricos
 Conversor A/D
 Buses
 PWM
 Temporizador

Registro de Propósito General


Son los que se encargan en almacenar por un tiempo determinado los datos para
que el procesador realice operaciones y el resultado lo almacena. Muchas veces
también es utilizado para el almacén de direcciones de memoria. Estos registros se
utilizan dependiendo como los necesite el programador.
La Figura 16 muestra los registros de propósito general con los que se cuenta.

Figura 16. Registros de Propósito General [13]

Registro AX: Es el acumulador principal, este es utilizado primordialmente para


operaciones aritméticas y el uso de entradas/salidas, en donde el resultado se
puede almacenar aquí.
Registro BX: Se conoce como el registro base debido a que se utiliza para realizar
cálculos o para ser base de un direccionamiento de memoria.
Registro CX: Conocido como registro contador. Este almacena el valor en el que se
controla la cantidad de veces en que se repite un ciclo o también para el corrimiento
de bits.
Registro DX: Es conocido como registro de datos porque aquí es donde se
almacenan las partes que son de más significado al realizar alguna operación
matemática.
Registro de Propósito Específico
Los registros de propósito específico son aquellos en los que se lleva a cabo la
supervisión del estado del procesador durante la ejecución del programa.
Los principales registros que existen son:
 Contador de Programa (PC): Este consiste en que siempre apunta la
dirección de memoria en donde se encuentra la instrucción a ejecutar. Su
valor siempre se incrementa en 1 en cada ciclo que ocurre.
 Registro de Banderas: En este registro se guarda el estado lógico en el que
se encuentran ciertos criterios al realizar operaciones aritméticas,
interrupciones.
Las banderas de control son las que mencionan el funcionamiento del
procesador:
o Dirección (DF): Dirige los registros índices en las instrucciones de
cadenas.
o Interrupción (IF): Habilita o deshabilita las interrupciones
enmascarables.
o Trap (TF): hace que vaya paso a paso la operación del procesador.
Las banderas de estado son las que indican el estado de procesador
cuando ocurre una operación aritmética:
o Acarreo (CF): Se activa si existe acarreo en una operación
aritmética.
o Desbordamiento (OF): Se activa si existe un desbordamiento en
una operación aritmética.
o Cero (ZF): Ocurre cuando el resultado de una operación es cero.
o Signo (SF): Cuando el resultado es un número negativo.
o Paridad (PF): El resultado de una operación resulto un número con
paridad par.
o Acarreo Auxiliar (AF): Cuando ocurre un acarreo del cuarto bit.

 Apuntador de Pila (SP): Este registró lo que almacena es la dirección de


memoria que se usa por la pila; la cual es guardar el estado en el que se
encuentra el procesador cuando se manda a una subrutina.
Referencias

[1] W. Stallings, Organizacion y arquitectura de computadores, Madrid (España): Pearson


Educacion, 2006.

[2] I. Vasilescu, «Columbia University Computing History,» Romanian, 25 Enero 2007. [En línea].
Available: http://www.columbia.edu/cu/computinghistory/eniac.html. [Último acceso: 24
Febrero 2018].

[3] [En línea]. Available: http://xxyzz.webcindario.com/frames/Unidad1.html. [Último acceso: 24


Febrero 2018].

[4] F. Licuy, «HISTORIA DE LAS GENERACIONES DE LOS COMPUTADORES,» [En línea]. Available:
http://proyectoclasefrank.blogspot.mx/p/historia-de-las-generaciones-de-los.html. [Último
acceso: 24 Febrero 2018].

[5] «CubaDebate,» 11 Abril 2012. [En línea]. Available: Así han evolucionado los
microprocesadores. [Último acceso: 24 Febrero 2018].

[6] «Sistemas Operativos,» 20 Agosto 2012. [En línea]. Available:


https://lamiradelsniper.wordpress.com/2012/08/20/interrupciones/. [Último acceso: 24
Febrero 2018].

[7] R. Camacho, «Computo Integrado,» 9 Abril 2012. [En línea]. Available:


http://rcmcomputointegrado.blogspot.mx/2012/04/arquitectura-von-neumann.html.
[Último acceso: 24 Febrero 2018].

[8] J. Vegas, «Infor,» 21 Marzo 2002. [En línea]. Available:


https://www.infor.uva.es/~jvegas/cursos/buendia/pordocente/node21.html. [Último
acceso: 24 Febrero 2018].

[9] J. Luis, «Organizacion de Computadores,» Noviembre 2010. [En línea]. Available:


http://jlfriasacosta20111.blogspot.mx/p/operacion-de-la-unidad-de-aritmetica-y.html.
[Último acceso: 24 Febrero 2018].

[10] EcuRed, «EcuRed,» [En línea]. Available:


https://www.ecured.cu/Unidad_Aritm%C3%A9tico_L%C3%B3gica. [Último acceso: 24
Febrero 2018].

[11] R. P. Ramon, «IES Rafael Puga Ramon,» [En línea]. Available:


http://www.iespugaramon.com/ies-puga-
ramon/resources/UNIDADES_20FUNCIONALES_20DEL1201659263028.pdf. [Último acceso:
25 Febrero 2018].
[12] I. Moderna, «Informatica Moderna,» 2008. [En línea]. Available:
http://www.informaticamoderna.com/Memoria_RAM.htm. [Último acceso: 27 Febrero
2018].

[13] A. N. Lopez, «Arquitectura de Computadoras,» 9 Junio 2016. [En línea]. Available:


https://allanlopezunah.wordpress.com/2016/06/09/registros-de-proposito-general-gpr/.
[Último acceso: 27 Febrero 2018].

[14] J. B. V. GOMEZ, «Arquitectura de Computadoras,» Red Tercer Milenio, 2012. [En línea].
Available:
http://www.aliat.org.mx/BibliotecasDigitales/sistemas/Arquitectura_computadoras_I.pdf.
[Último acceso: 24 Febrero 2018].

[15] S. Alvarez, «Desarrollo Web,» 07 Febrero 2006. [En línea]. Available:


https://desarrolloweb.com/articulos/2358.php. [Último acceso: 24 Febrero 2018].

[16] «IBM,» [En línea]. Available: https://www-01.ibm.com/software/mx/rational/jazz/. [Último


acceso: 24 Febrero 2018].

[17] P. Mera, «Arquitectura de Hardware,» [En línea]. Available:


http://arquitecturadehardware11-1.blogspot.mx/. [Último acceso: 24 Febrero 2018].

[18] C. A. Esparza, «Unidad de Control,» 2012. [En línea]. Available:


https://es.slideshare.net/CristianAguirreEsparza/unidad-de-control-30141869. [Último
acceso: 24 Febrero 2018].

[19] R. Medina, «Programacion Avanzada en Lenguaje Ensamblador,» 1992. [En línea]. Available:
http://www.ramonmedina.name/files/universidad/ac/ac0001.PDF. [Último acceso: 25
Febrero 2018].

[20] S. Abdullah, «Techlandia,» 2001. [En línea]. Available: https://techlandia.com/son-registros-


microprocesador-info_340927/. [Último acceso: 27 Febrero 2018].

[21] J. Template, «ArchPC,» 2011. [En línea]. Available: http://archpc.blogspot.mx/p/un-


microprocesador-es-un-circuito.html. [Último acceso: 27 Febrero 2018].