El procesador necesita para su funcionamiento de ciertas áreas de almacenamiento, que aquí se llaman registros, y que son de dimensiones mínimas [[[#[3]|3]]]; sin embargo, tienen la ventaja de su rapidez. Comparados con los accesos a RAM, los de registro son como mínimo 10 veces más veloces.
El 8088 dispone de catorce registros de 16 bits que se agrupan en cuatro grupos y que reciben nombres especiales (precisamente los que se utilizan para designarlos en lenguaje ensamblador).
§3.1.1
Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen asignados usos característicos, aunque pueden ser utilizados a discreción para cualquier cosa que necesitemos.
AX es denominado acumulador; suele contener uno de los operandos que intervienen en las operaciones aritméticas y lógicas, y después de esta, el resultado de la operación. En general las instrucciones que trabajan con este registro (o su mitad inferior) tienen un microcódigo más simple que la misma instrucción ejecutada con otro registro.
BX es el registro base, suele contener la dirección de inicio de una tabla de valores.
CX es denominado contador. Las instrucciones de bucle (LOOP) utilizan este registro como contador.
DX es un registro de datos, multiuso. Se utiliza en operaciones de multiplicación y división junto con AX. En operaciones de entrada/salida de puertos IN/OUT, su mitad inferior DL, contiene el número de puerto (2.5).
Aunque estos cuatro registros son de 16 bits (como los 10 restantes) [[[#[6]|6]]], en caso necesario pueden ser utilizados en dos mitades (nibbles), "High" y "Low", de 8 bits, con lo que puede considerarse que existen 12 registros de uso general (no simultáneos), los anteriores y sus mitades: AH; AL; BH; BL; CH; CL; DH y DL.
§3.1.2
Se dispone de cuatro registros que sirven para contener las direcciones de otros tantos segmentos (zonas de 64 KB de memoria). Utilizándolos en conjunción con otros registros que señalan las direcciones concretas dentro de estos segmentos (los desplazamientos ), permiten manejar la totalidad de la memoria direccionable (el bus de direcciones es de 20 bits). Ver al respecto el epígrafe "Direccionamiento segmentado" (5.1).
Segmento de códigoCS ("Code segment"). Señala la dirección del segmento de código del programa que se está ejecutando ( [[../Cpp/E1_3_2.htm#Segmento de c�digo|E1.3.2]]).
Segmento de datos DS ("Data segment"). Señala la dirección del segmento de datos del programa en ejecución ( [[../Cpp/E1_3_2.htm#Segmento de datos|E1.3.2]]).
Segmento de pila SS ("Stack segment"). Señala la dirección del segmento donde está la pila del programa ( [[../Cpp/E1_3_2.htm#La pila o stack|E1.3.2]]).
Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los anteriores, se utiliza para señalar espacio extra en alguno de los segmentos o para almacenar momentáneamente direcciones intermedias.
Nota: Puede ocurrir que programas pequeños utilicen el mismo segmento para el código, los datos y la pila.
§3.1.3
Son 5 registros destinados a contener direcciones; estas direcciones son desplazamientos dentro de los segmentos indicados por los registros de segmento (ver figura 5.1 Fig.2)
El primero, denominado indistintamente puntero de instrucción IP ("Instrucción pointer") y contador de programa PC ("Program counter"), indica el desplazamiento (dentro del segmento de código CS) de la próxima instrucción a ejecutar.
El puntero de pila SP ("Stack Pointer"), señala el desplazamiento del final de la pila dentro del segmento de pila SS. En caso necesario la pila puede crecer a partir de este punto, de forma que por ejemplo, una nueva invocación de función creará un nuevo registro de activación que comenzará en este punto.
El puntero base BP ("Base pointer") señala el desplazamiento (dentro del segmento de pila SS) donde se encuentra el origen de la zona ocupada por las variables dinámicas.
Existen dos registros denominados "de índice", en razón de su utilización muy particular; el índice fuente SI ("Source index") y el índice destino DI ("Destination index"). Generalmente estos dos registros se utilizan con alguno de los registros de uso general y con ciertas instrucciones específicamente pensadas para transferir datos (dentro de un rango de posiciones de memoria), desde un punto inicial de un segmento de datos, a otro.
Ver en la página adjunta un ejemplo relativo al uso de punteros (3.2 Ejemplo-2).
§3.1.4
Existe un registro especial, el registro de estado (FLAGS), en el que 9 de los 18 bits actúan como semáforos (indicadores del estado del procesador y del resultado de determinadas operaciones). Por ejemplo, si después de una suma aritmética hay o no desbordamiento del bit más significativo.
Los nombres y situación de cada uno, dentro de la palabra de 16 bits, se muestran en la figura 2. [[image:Images_esp/H3b-F2.gif width="417" height="71" align="right"]]
Cada bits individual puede estar "activo" (1) o "inactivo" (0), y tiene un identificador que termina en F ("Flag"). Son los siguientes:
Bit
Indicador de:
Uso
CF
Acarreo ("Carry Flag")
Indicador de arrastre del bit de mayor orden, que puede ocurrir en las operaciones aritméticas suma y resta.
PF
Paridad ("Parity Flag")
Si está activo Indica un número par de bits activos (bits cuyo contenido es 1). Esta información es útil cuando el procesador controla transmisiones de datos.
AF
Acarreo auxiliar
Indicador de ajuste en operaciones aritméticas con cantidades BCD (
[[../Cpp/E0_1w1.htm|E0.1w1]]).
ZF
Cero ("Zero Flag")
Está activo si el resultado de operación es cero o resultado de comparación igual.
SF
Signo ("Sign Flag")
Si está activo indica que el resultado de operación o de comparación son negativos [[[#[5]|5]]].
TF
Detención ("Trap Flag")
Si está activo, el procesador genera automáticamente una interrupción después de la ejecución de cada instrucción, lo que permite controlar paso a paso la ejecución del programa. Este bit debe estar normalmente inactivo (a 0).
IF
Interrupción ("Interrupt Flag")
Este bit controla el estado del sistema de interrupciones enmascarables (
2.4). Cuando está activo (1) permite las interrupciones; el estado inactivo (0) las deshabilita.
DF
Dirección ("Direction Flag")
Indica la dirección de las operaciones.
OF
Desbordamiento (Overflow Flag")
Señala desbordamiento aritmético
Nota: Los usuarios de MS-DOS o Windows puede usar el programa DEBUG (1.7.1) para inspeccionar y modificar el contenido de los registros de la siguiente forma:
Invocar DEBUG desde una ventana DOS (suponemos que estamos en Windows; el "prompt" es un guión "-")
introducir el comando R (pedimos que nos muestre el contenido de los registros).
Salir de Debug con Q
En mi PC la respuesta al comando tiene el siguiente aspecto:
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1779 ES=1779 SS=1779 CS=1779 IP=0100 NV UP EI PL NZ NA PO NC
Los valores están expresados en hexadecimal. La última secuencia de caracteres (NV UP EI PL NZ NA PO NC) muestra el contenido del registro de estado (el bit TF de detención no se muestra), el significado de la notación utilizada es el siguiente:
Bit
Indicador de:
Indicativo si bit 1
Indicativo si bit 0
CF
Acarreo
CY ("Carry yes")
NC ("No Carry")
PF
Paridad
PE ("Parity Even") paridad par
PO ("Parity Odd") paridad impar
AF
Acarreo auxiliar
AC ("Auxiliar Carry")
NA ("No Auxiliar")
ZF
Cero
ZR ("Zero")
NZ ("No Zero")
SF
Signo
NG ("Negative") negativo
PL ("Plus") positivo
IF
Interrupción
EI ("Enabled Interrupt") activa
DI ("Disabled Interrupt") desactivada
DF
Dirección
DN ("Down") decremento
UP incremento
OF
Desbordamiento
OV ("Overflow")
NV ("No overflow")
También es posible inspeccionar el contenido de un solo registro, añadiendo al comando R el nombre del registro. Por ejemplo, el comando R IP muestra el contenido del contador de programa. Los nombres que pueden utilizarse para los registros son los siguientes: AX; BX; CX; DX; SP; BP; SI; DI; DS; ES; SS; CS; IP y F (este último para el registro de estado).
Después de un comando de este tipo, DEBUG responde con un "prompt" distinto del habitual ":", para indicar que debe introducir el nuevo valor que desea para el registro. Pulsando INTRO se vuelve al modo normal.
§3.1.5 Comentario
Observe que tanto el registro contador de programa IP, como el de base BP, siempre contienen direcciones de memoria (los otros pueden contener direcciones o datos). Ni los registros de segmento ni los de puntero se pueden dividir en mitades (como los de uso general).
4.2 REGISTROS DEL ALU Su misión es realizar las operaciones con los datos que recibe, siguiendo las indicaciones dadas por la unidad de control.
El nombre de unidad aritmética y lógica se debe a que puede realizar operaciones tanto aritméticas como lógicas con los datos transferidos por la unidad de control.
La unidad de control maneja las instrucciones y la aritmética y lógica procesa los datos.
Para que la unidad de control sepa si la información que recibe es una instrucción o dato, es obligatorio que la primera palabra que reciba sea una instrucción, indicando la naturaleza del resto de la información a tratar.
Para que la unidad aritmética y lógica sea capaz de realizar una operación aritmética, se le deben proporcionar, de alguna manera, los siguientes datos:
1. El código que indique la operación a efectuar.
2. La dirección de la celda donde está almacenado el primer sumando.
3. La dirección del segundo sumando implicado en la operación.
4. La dirección de la celda de memoria donde se almacenará el resultado.
os Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora.
Los registros se dividen en tres grupos principales:
• Registros de Propósito General.
• Registros de Segmento de Memoria.
• Registros de Instrucciones.
Seguidamente se presenta una relación completa de los tres grupos de registros que contiene un microprocesador típico como puede ser el Intel 80386:
(AX) Registro de Datos
(DX) Registro de Datos
(CX) Registro de Datos
(BX) Registro de Datos
(BP) Registro Puntero Base
(SI) Registro Índice Fuente
(DI) Registro Índice Destino
(SP) Registro Puntero de la Pila
(CS) Registro Segmento de Código
(SS) Registro Segmento de la Pila
(DS) Registro Segmento de Datos
(ES) Registro Segmento de Datos Extra
(DS) Registro Segmento de Datos Extra
(FL) Registro de «Flags» o también denominado registro de estado
(IP) Registro Puntero de Instrucción o también denominado registro Contador de Programa (PC)
De esta relación de registros los cuatro más importantes son:
• El Registro Puntero de Instrucciones.
El registro puntero de instrucciones o contador de programa indica el flujo de las instrucciones del proceso en realización, apuntando a la dirección de memoria en que se encuentra la instrucción a ejecutar.
Dado que las instrucciones de un programa se ejecutan de forma secuencial, el procesador incrementará en una unidad este registro cada vez que ejecute una instrucción, para que apunte a la siguiente.
La información que almacena este registro se puede modificar cuando una interrupción externa, o la propia ejecución del proceso en curso, provoque una alteración en la secuencia de operaciones. Esta alteración transferirá el control del sistema informático a otro proceso diferente al que está en ejecución.
Es el Registro donde se almacenan los resultados obtenidos en las operaciones realizadas por la unidad aritmética y lógica.
Su importancia radica en las características de la información que almacena, ya que con su contenido se realizan todas las operaciones de cálculo que ha de ejecutar la unidad aritmética y lógica.
El Registro de Estado o registro de «flags» no es un solo registro propiamente dicho, ya que se compone de varios registros de menor tamaño; este tamaño puede ser incluso de un solo bit.
El registro de estado se utiliza para indicar cambios de estados y condiciones en los otros registros existentes en el sistema informático. Estos cambios en la situación de los demás registros se producen debido a las modificaciones del entorno a lo largo de la ejecución de los procesos realizados por el sistema informático
Este Registro almacena la dirección de la zona de la memoria donde está situada la parte superior de la pila.
La Pila es una zona de los registros de segmento de memoria que la unidad aritmética y lógica utiliza para almacenar temporalmente los datos que está manipulando. Cuando la cantidad de datos a manejar es demasiado grande u otras necesidades del proceso impiden que estos datos puedan almacenarse en los registros creados para ello se envían a la pila, donde se almacenan hasta que la unidad de control recupera la información para que la procese la unidad
una pila como almacén de información es que la información que se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola dirección de memoria. Esto permite que la unidad de control no necesite conocer más que esa dirección para poder manejar los datos almacenados en la pila.
REGISTROS
Los Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora.
Los registros se dividen en tres grupos principales:
• Registros de Propósito General.
• Registros de Segmento de Memoria.
• Registros de Instrucciones.
Seguidamente se presenta una relación completa de los tres grupos de registros que contiene un microprocesador típico como puede ser el Intel 80386:
Registros de Propósito General:
(AX) Registro de Datos
(DX) Registro de Datos
(CX) Registro de Datos
(BX) Registro de Datos
(BP) Registro Puntero Base
(SI) Registro Índice Fuente
(DI) Registro Índice Destino
(SP) Registro Puntero de la Pila
Registros de Segmento de Memoria:
(CS) Registro Segmento de Código
(SS) Registro Segmento de la Pila
(DS) Registro Segmento de Datos
(ES) Registro Segmento de Datos Extra
(DS) Registro Segmento de Datos Extra
(ES) Registro Segmento de Datos Extra
Registros de Instrucciones
(FL) Registro de «Flags» o también denominado registro de estado
(IP) Registro Puntero de Instrucción o también denominado registro Contador de Programa (PC)
De esta relación de registros los cuatro más importantes son:
• El Registro Puntero de Instrucciones.
El registro puntero de instrucciones o contador de programa indica el flujo de las instrucciones del proceso en realización, apuntando a la dirección de memoria en que se encuentra la instrucción a ejecutar.
Dado que las instrucciones de un programa se ejecutan de forma secuencial, el procesador incrementará en una unidad este registro cada vez que ejecute una instrucción, para que apunte a la siguiente.
La información que almacena este registro se puede modificar cuando una interrupción externa, o la propia ejecución del proceso en curso, provoque una alteración en la secuencia de operaciones. Esta alteración transferirá el control del sistema informático a otro proceso diferente al que está en ejecución.
• El Registro Acumulador.
Es el Registro donde se almacenan los resultados obtenidos en las operaciones realizadas por la unidad aritmética y lógica.
Su importancia radica en las características de la información que almacena, ya que con su contenido se realizan todas las operaciones de cálculo que ha de ejecutar la unidad aritmética y lógica.
• El registro de Estado.
El Registro de Estado o registro de «flags» no es un solo registro propiamente dicho, ya que se compone de varios registros de menor tamaño; este tamaño puede ser incluso de un solo bit.
El registro de estado se utiliza para indicar cambios de estados y condiciones en los otros registros existentes en el sistema informático. Estos cambios en la situación de los demás registros se producen debido a las modificaciones del entorno a lo largo de la ejecución de los procesos realizados por el sistema informático.
• El Registro Puntero de la Pila.
Este Registro almacena la dirección de la zona de la memoria donde está situada la parte superior de la pila.
La Pila es una zona de los registros de segmento de memoria que la unidad aritmética y lógica utiliza para almacenar temporalmente los datos que está manipulando. Cuando la cantidad de datos a manejar es demasiado grande u otras necesidades del proceso impiden que estos datos puedan almacenarse en los registros creados para ello se envían a la pila, donde se almacenan hasta que la unidad de control recupera la información para que la procese la unidad aritmética y lógica.
La ventaja de manejar una pila como almacén de información es que la información que se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola dirección de memoria. Esto permite que la unidad de control no necesite conocer más que esa dirección para poder manejar los datos almacenados en la pila.
Memoria Principal
La Memoria Principal es la zona de la unidad central de sistema que almacena la información, en forma de programas y datos, que se va a procesar seguidamente o va a servir de apoyo a las diferentes operaciones que se van a efectuar por la computadora.
La posibilidad del proceso inmediato de la información que almacena la memoria principal es su característica fundamental, ya que, mientras que los datos existentes en la memoria principal pueden ser procesados de inmediato por la unidad central de proceso, la información contenida en la memoria auxiliar (discos, cintas, etc.) no puede ser procesada directamente por la unidad central de proceso.
La memoria principal está conectada directamente a los buses, que son su medio de comunicación con la unidad central de proceso del sistema informático. La cantidad de memoria existente en una computadora se verá limitada por la capacidad de direccionamiento del bus; esto forma el Mapa de Memoria.
La memoria principal está compuesta lógicamente por una serie de celdas de bits que permiten almacenar en cada una de ellas un bit de información en código binario (0, 1) que será parte de un dato o una instrucción.
Para poder identificar cada una de las celdas de la memoria, éstas se numeran; a este número se le llama dirección y es el medio a través del cual la unidad de control puede manejar la información.
Las direcciones de la memoria se localizan a través del mapa de memoria. La dirección de cada celda de la memoria se establece por una matriz en la que los parámetros son el número total de direcciones y la longitud de palabra que maneja el sistema informático. Esto supone una limitación, ya que la computadora sólo puede manejar un número limitado de bits de dirección en sus operaciones de direccionamiento.
La Palabra representa la cantidad de bits de información manejada en paralelo por la computadora. Tamaños típicos de palabras son 8 bits, 16 bits, 32 bits, etc.
Una vez localizada la dirección de la celda de memoria se podrán realizar dos operaciones: leer la información existente en ella o bien escribir nueva información para poder ser almacenada y posteriormente procesada.
Para poder determinar si el sistema informático va a leer o escribir se utiliza el registro de datos. El registro de datos es un bit que, según el valor de la información que contenga (0,1) indica a la unidad de control si se va a leer o escribir en el acceso a la memoria que se esté realizando en ese momento. En ambos casos, esta operación se realiza a través del bus de datos.
Cuando la unidad de control lee de la celda de memoria, necesita que se le proporcione una dirección a la cual ir a leer. La información existente en la celda no se destruye.
Cuando la unidad de control escribe en la celda de memoria, debe recibir dos informaciones: la dirección de la memoria donde escribir y la información que se debe escribir propiamente dicha. La información existente en la celda de memoria previamente se destruye, ya que lo que había escrito se sustituye por una nueva información.
La memoria principal se divide fundamentalmente en dos partes: Volátil y No Volátil.
La Memoria Volátil pierde la información almacenada en su interior si el sistema informático que la soporta es apagado. Esta parte de la memoria principal se conoce como RAM (Memoria de Acceso Aleatorio o Random Access Memory).
La parte de la Memoria principal que No es Volátil es la ROM (Memoria de Sólo Lectura o Read Only Memory). Esta memoria es de sólo lectura y la computadora no puede escribir sobre ella. Su función principal es el arranque del sistema informático.
Las Memorias Volátiles pueden ser estáticas, también llamadas RAM (Memorias de Acceso Aleatorio o Random Access Memory), o dinámicas, denominadas en este caso DRAM (Memorias Dinámicas de Acceso Aleatorio o Dinamic Random Access Memory). Más adelante se verán más detenidamente.
Las Memorias No Volátiles se dividen en memorias de Sólo Lectura (ROM) y en otras que permiten la Manipulación de la Información que contienen por diversos medios especiales que se verán más adelante.
Existen dos modos distintos de Acceso a la Memoria:
• Acceso por Palabras.
• Acceso por Bloques.
1. Acceso por Palabras.
También se le denomina acceso aleatorio. La operación de acceso se realiza sobre una sola palabra de información. Recuérdese que palabra es la cantidad de bits que maneja el sistema informático al mismo tiempo.
Este tipo de acceso únicamente se utiliza con memorias estáticas (RAM) ya que el tiempo de acceso empleado es siempre el mismo.
2. Acceso por Bloques.
Es el modo de acceso utilizado en las memorias dinámicas. Consiste en empaquetar en un bloque un conjunto de datos al que se añade una cabecera para identificarlo. El acceso se realizará a la cabecera del bloque y una vez en ella se accederá a la información que contiene.
El acceso en las memorias dinámicas se realiza por bloques, debido a que tardan más tiempo que las estáticas en acceder a una zona de la memoria. La ventaja es que una vez que acceden a la zona donde se sitúa el bloque son muy rápidas en acceder a la información existente.
Generalmente, la memoria que posee una computadora recién adquirida no es la máxima que el bus puede direccionar, por lo que la memoria principal puede ampliarse incrementando el número de unidades de memoria conectadas. Conviene recordar que las placas de memoria son un factor fundamental en el costo total de adquisición del sistema informático.
Debe tenerse en cuenta que si la cantidad de memoria principal del sistema informático no es muy grande el procesador se verá restringido en su potencia por la limitada capacidad de manipulación y acceso a los datos.
Las Tecnologías para fabricar memorias se caracterizan por:
• Coste.
• Tiempo de acceso.
• Capacidad de almacenamiento.
La Optimización se consigue con una gran capacidad de almacenamiento, un tiempo de acceso muy corto y un costo pequeño.
Las memorias se dividen físicamente en:
1. Soporte de Almacenamiento de la Información.
Generalmente son de naturaleza magnética. Está compuesto por pequeños dipolos que pueden tomar dos estados en los que la información toma un valor en cada uno de ellos. Cada estado se obtiene por medio de la aplicación de una señal eléctrica exterior generada por el elemento de lectura y escritura.
2. Elemento de Escritura y Lectura.
Este dispositivo introducirá y obtendrá la información de la memoria.
Para Escribir el dispositivo produce una corriente eléctrica local que provoca un cambioestable en el campo magnético de la celda de memoria.
Para Leer el dispositivo determinará el campo magnético de la celda de memoria y sabrá cual es el valor existente.
3. Mecanismo de Direccionamiento.
Pueden ser de dos tipos dependiendo de que las memorias sean estáticas o dinámicas.
En las Memorias Estáticas el direccionamiento es un cableado directo a la celda de memoria.
En las Memorias Dinámicas se utiliza una información de control almacenada con los datos que configuran el circuito para direccionar la lectura o escritura al lugar donde se almacena la información.
La memoria se divide en varias capas o niveles con una estructura cuya forma puede recordarnos a una estructura piramidal.
Nombre
Tamaño Máximo
Tiempo de Acceso
Registros
Hasta 200 Bytes
Menos de 10 Nanosegundos
Memoria Caché
Hasta 512 Bbytes
Entre 10 y 30 Nanosegundos
Memoria Principal
Más de 1 Gigabyte
Entre 30 y 100 Nanosegundos
El vértice de la pirámide sería una pequeña cantidad de memoria, los registros, que se caracterizan por una capacidad de almacenamiento de información muy pequeña, pero que poseen la ventaja de tener un tiempo de acceso muy reducido, inferior a los 10 nanosegundos.
La base de nuestra hipotética pirámide es la memoria principal, donde existe una mayor cantidad de espacio (puede llegar hasta 1 gigabyte, esto es, mil millones de bytes), pero que tiene la desventaja de que el tiempo de acceso es muy superior, lo que la convierte en mucho más lenta que los registros.
Entre ambas se situaría una zona de memoria que se llama memoria caché. La memoria caché es una zona especial de memoria que sirve para optimizar los tiempos de acceso a la memoria RAM por métodos estadísticos.
REGISTRO
Su misión es realizar las operaciones con los datos que recibe, siguiendo las indicaciones dadas por la unidad de control.
El nombre de unidad aritmética y lógica se debe a que puede realizar operaciones tanto aritméticas como lógicas con los datos transferidos por la unidad de control.
La unidad de control maneja las instrucciones y la aritmética y lógica procesa los datos.
Para que la unidad de control sepa si la información que recibe es una instrucción o dato, es obligatorio que la primera palabra que reciba sea una instrucción, indicando la naturaleza del resto de la información a tratar.
Para que la unidad aritmética y lógica sea capaz de realizar una operación aritmética, se le deben proporcionar, de alguna manera, los siguientes datos:
1. El código que indique la operación a efectuar.
2. La dirección de la celda donde está
almacenado el primer sumando.
3. La dirección del segundo sumando implicado en la operación.
4. La dirección de la celda de memoria donde se almacenará el resultado.
os Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora.
Los registros se dividen en tres grupos principales:
• Registros de Propósito General.
• Registros de Segmento de Memoria.
• Registros de Instrucciones.
POST Bauitsta Mata Jonathan Adrian
www.mousered.com/index_archivos/ALU.htm
En computación, la Unidad Lógica Aritmética (ULA), o Arithmetic Logic Unit (ALU), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (como igual a, menor que, mayor que, etc.), entre dos números. Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el pitido del temporizador, etc. Por mucho, los más complejos circuitos electrónicos son los que están construidos dentro de los chips de microprocesadores modernos como el Intel Core Duo. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso. De hecho, un microprocesador moderno (y los mainframes) pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU. Muchos otros circuitos pueden contener en el interior ALU: GPU como los que están en las tarjetas gráficasNVIDIA y ATI, FPU como el viejo coprocesador numérico 80387, y procesadores digitales de señales como los que se encuentran en tarjetas de sonido Sound Blaster, lectoras de CD y las TV de alta definición. Todos éstos tienen adentro varias ALU poderosas y complejas La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las operaciones. La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los registros del procesador. Estos datos son procesados y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria.[2] Una unidad de control controla a la ALU, al ajustar los circuitos que le dicen a la ALU qué operaciones realizar.
ARENAS QUIJANO ITZEL http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica
Por Herrera Gutierrez Jessica
bibliografia:http://www.mitecnologico.com/Main/RegistrosAlu
REGISTROS
El procesador necesita para su funcionamiento de ciertas áreas de almacenamiento, que aquí se llaman registros, y que son de dimensiones mínimas [[[#[3]|3]]]; sin embargo, tienen la ventaja de su rapidez. Comparados con los accesos a RAM, los de registro son como mínimo 10 veces más veloces.
El 8088 dispone de catorce registros de 16 bits que se agrupan en cuatro grupos y que reciben nombres especiales (precisamente los que se utilizan para designarlos en lenguaje ensamblador).
§3.1.1
Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen asignados usos característicos, aunque pueden ser utilizados a discreción para cualquier cosa que necesitemos.- AX es denominado acumulador; suele contener uno de los operandos que intervienen en las operaciones aritméticas y lógicas, y después de esta, el resultado de la operación. En general las instrucciones que trabajan con este registro (o su mitad inferior) tienen un microcódigo
más simple que la misma instrucción ejecutada con otro registro. - BX es el registro base, suele contener la dirección de inicio de una tabla de valores.
- CX es denominado contador. Las instrucciones de bucle (LOOP) utilizan este registro como contador.
- DX es un registro de datos, multiuso. Se utiliza en operaciones de multiplicación y división junto con AX. En operaciones de entrada/salida de puertos IN/OUT, su mitad inferior DL, contiene el número de puerto (
2.5).
Aunque estos cuatro registros son de 16 bits (como los 10 restantes) [[[#[6]|6]]], en caso necesario pueden ser utilizados en dos mitades (nibbles), "High" y "Low", de 8 bits, con lo que puede considerarse que existen 12 registros de uso general (no simultáneos), los anteriores y sus mitades: AH; AL; BH; BL; CH; CL; DH y DL.§3.1.2
Se dispone de cuatro registros que sirven para contener las direcciones de otros tantos segmentos (zonas de 64 KB de memoria). Utilizándolos en conjunción con otros registros que señalan las direcciones concretas dentro de estos segmentos (los desplazamientos- Segmento de código CS ("Code segment"). Señala la dirección del segmento de código del programa que se está ejecutando (
[[../Cpp/E1_3_2.htm#Segmento de c�digo|E1.3.2]]). - Segmento de datos DS ("Data segment"). Señala la dirección del segmento de datos del programa en ejecución (
[[../Cpp/E1_3_2.htm#Segmento de datos|E1.3.2]]). - Segmento de pila SS ("Stack segment"). Señala la dirección del segmento donde está la pila del programa (
[[../Cpp/E1_3_2.htm#La pila o stack|E1.3.2]]). - Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los anteriores, se utiliza para señalar espacio extra en alguno de los segmentos o para almacenar momentáneamente direcciones intermedias.
Nota: Puede ocurrir que programas pequeños utilicen el mismo segmento para el código, los datos y la pila.§3.1.3
Son 5 registros destinados a contener direcciones; estas direcciones son desplazamientos dentro de los segmentos indicados por los registros de segmento- El primero, denominado indistintamente puntero de instrucción IP ("Instrucción pointer") y contador de programa PC ("Program counter"), indica el desplazamiento (dentro del segmento de código CS) de la próxima instrucción a ejecutar.
- El puntero de pila SP ("Stack Pointer"), señala el desplazamiento del final de la pila dentro del segmento de pila SS. En caso necesario la pila puede crecer a partir de este punto, de forma que por ejemplo, una nueva invocación de función creará un nuevo registro de activación que comenzará en este punto.
- El puntero base BP ("Base pointer") señala el desplazamiento (dentro del segmento de pila SS) donde se encuentra el origen de la zona ocupada por las variables dinámicas.
- Existen dos registros denominados "de índice", en razón de su utilización muy particular; el índice fuente SI ("Source index") y el índice destino DI ("Destination index"). Generalmente estos dos registros se utilizan con alguno de los registros de uso general y con ciertas instrucciones específicamente pensadas para transferir datos (dentro de un rango de posiciones de memoria), desde un punto inicial de un segmento de datos, a otro.
Ver en la página adjunta un ejemplo relativo al uso de punteros (§3.1.4
Existe un registro especial, el registro de estado (FLAGS), en el que 9 de los 18 bits actúan como semáforos (indicadores del estado del procesador y del resultado de determinadas operaciones). Por ejemplo, si después de una suma aritmética hay o no desbordamiento del bit más significativo.Los nombres y situación de cada uno, dentro de la palabra de 16 bits, se muestran en la figura 2. [[image:Images_esp/H3b-F2.gif width="417" height="71" align="right"]]
Cada bits individual puede estar "activo" (1) o "inactivo" (0), y tiene un identificador que termina en F ("Flag"). Son los siguientes:
[[../Cpp/E0_1w1.htm|E0.1w1]]).
2.4). Cuando está activo (1) permite las interrupciones; el estado inactivo (0) las deshabilita.
Nota: Los usuarios de MS-DOS o Windows puede usar el programa DEBUG (
- Invocar DEBUG desde una ventana DOS (suponemos que estamos en Windows; el "prompt" es un guión "-")
- introducir el comando R (pedimos que nos muestre el contenido de los registros).
- Salir de Debug con Q
En mi PC la respuesta al comando tiene el siguiente aspecto:AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1779 ES=1779 SS=1779 CS=1779 IP=0100 NV UP EI PL NZ NA PO NC
Los valores están expresados en hexadecimal. La última secuencia de caracteres (NV UP EI PL NZ NA PO NC) muestra el contenido del registro de estado (el bit TF de detención no se muestra), el significado de la notación utilizada es el siguiente:
También es posible inspeccionar el contenido de un solo registro, añadiendo al comando R el nombre del registro. Por ejemplo, el comando R IP muestra el contenido del contador de programa. Los nombres que pueden utilizarse para los registros son los siguientes: AX; BX; CX; DX; SP; BP; SI; DI; DS; ES; SS; CS; IP y F (este último para el registro de estado).
Después de un comando de este tipo, DEBUG responde con un "prompt" distinto del habitual ":", para indicar que debe introducir el nuevo valor que desea para el registro. Pulsando INTRO se vuelve al modo normal.
§3.1.5 Comentario
Observe que tanto el registro contador de programa IP, como el de base BP, siempre contienen direcciones de memoria (los otros pueden contener direcciones o datos). Ni los registros de segmento ni los de puntero se pueden dividir en mitades (como los de uso general).ORTEGA CASTILLO FERNANDO
http://www.zator.com/Hardware/H3_2.htm
4.2 REGISTROS DEL ALU
Su misión es realizar las operaciones con los datos que recibe, siguiendo las indicaciones dadas por la unidad de control.
El nombre de unidad aritmética y lógica se debe a que puede realizar operaciones tanto aritméticas como lógicas con los datos transferidos por la unidad de control.
La unidad de control maneja las instrucciones y la aritmética y lógica procesa los datos.
Para que la unidad de control sepa si la información que recibe es una instrucción o dato, es obligatorio que la primera palabra que reciba sea una instrucción, indicando la naturaleza del resto de la información a tratar.
Para que la unidad aritmética y lógica sea capaz de realizar una operación aritmética, se le deben proporcionar, de alguna manera, los siguientes datos:
1. El código que indique la operación a efectuar.
2. La dirección de la celda donde está almacenado el primer sumando.
3. La dirección del segundo sumando implicado en la operación.
4. La dirección de la celda de memoria donde se almacenará el resultado.
os Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora.
Los registros se dividen en tres grupos principales:
• Registros de Propósito General.
• Registros de Segmento de Memoria.
• Registros de Instrucciones.
Seguidamente se presenta una relación completa de los tres grupos de registros que contiene un microprocesador típico como puede ser el Intel 80386:
(AX) Registro de Datos
(DX) Registro de Datos
(CX) Registro de Datos
(BX) Registro de Datos
(BP) Registro Puntero Base
(SI) Registro Índice Fuente
(DI) Registro Índice Destino
(SP) Registro Puntero de la Pila
(CS) Registro Segmento de Código
(SS) Registro Segmento de la Pila
(DS) Registro Segmento de Datos
(ES) Registro Segmento de Datos Extra
(DS) Registro Segmento de Datos Extra
(FL) Registro de «Flags» o también denominado registro de estado
(IP) Registro Puntero de Instrucción o también denominado registro Contador de Programa (PC)
De esta relación de registros los cuatro más importantes son:
• El Registro Puntero de Instrucciones.
El registro puntero de instrucciones o contador de programa indica el flujo de las instrucciones del proceso en realización, apuntando a la dirección de memoria en que se encuentra la instrucción a ejecutar.
Dado que las instrucciones de un programa se ejecutan de forma secuencial, el procesador incrementará en una unidad este registro cada vez que ejecute una instrucción, para que apunte a la siguiente.
La información que almacena este registro se puede modificar cuando una interrupción externa, o la propia ejecución del proceso en curso, provoque una alteración en la secuencia de operaciones. Esta alteración transferirá el control del sistema informático a otro proceso diferente al que está en ejecución.
Es el Registro donde se almacenan los resultados obtenidos en las operaciones realizadas por la unidad aritmética y lógica.
Su importancia radica en las características de la información que almacena, ya que con su contenido se realizan todas las operaciones de cálculo que ha de ejecutar la unidad aritmética y lógica.
El Registro de Estado o registro de «flags» no es un solo registro propiamente dicho, ya que se compone de varios registros de menor tamaño; este tamaño puede ser incluso de un solo bit.
El registro de estado se utiliza para indicar cambios de estados y condiciones en los otros registros existentes en el sistema informático. Estos cambios en la situación de los demás registros se producen debido a las modificaciones del entorno a lo largo de la ejecución de los procesos realizados por el sistema informático
Este Registro almacena la dirección de la zona de la memoria donde está situada la parte superior de la pila.
La Pila es una zona de los registros de segmento de memoria que la unidad aritmética y lógica utiliza para almacenar temporalmente los datos que está manipulando. Cuando la cantidad de datos a manejar es demasiado grande u otras necesidades del proceso impiden que estos datos puedan almacenarse en los registros creados para ello se envían a la pila, donde se almacenan hasta que la unidad de control recupera la información para que la procese la unidad
una pila como almacén de información es que la información que se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola dirección de memoria. Esto permite que la unidad de control no necesite conocer más que esa dirección para poder manejar los datos almacenados en la pila.
REFERENCIAS:
http://www.mitecnologico.com/Main/RegistrosAlu
ANTONIO PALOMINO GONZALEZ 7221
REGISTROS
Los Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora.
Los registros se dividen en tres grupos principales:
• Registros de Propósito General.
• Registros de Segmento de Memoria.
• Registros de Instrucciones.
Seguidamente se presenta una relación completa de los tres grupos de registros que contiene un microprocesador típico como puede ser el Intel 80386:
Registros de Propósito General:
(AX) Registro de Datos
(DX) Registro de Datos
(CX) Registro de Datos
(BX) Registro de Datos
(BP) Registro Puntero Base
(SI) Registro Índice Fuente
(DI) Registro Índice Destino
(SP) Registro Puntero de la Pila
Registros de Segmento de Memoria:
(CS) Registro Segmento de Código
(SS) Registro Segmento de la Pila
(DS) Registro Segmento de Datos
(ES) Registro Segmento de Datos Extra
(DS) Registro Segmento de Datos Extra
(ES) Registro Segmento de Datos Extra
Registros de Instrucciones
(FL) Registro de «Flags» o también denominado registro de estado
(IP) Registro Puntero de Instrucción o también denominado registro Contador de Programa (PC)
De esta relación de registros los cuatro más importantes son:
• El Registro Puntero de Instrucciones.
El registro puntero de instrucciones o contador de programa indica el flujo de las instrucciones del proceso en realización, apuntando a la dirección de memoria en que se encuentra la instrucción a ejecutar.
Dado que las instrucciones de un programa se ejecutan de forma secuencial, el procesador incrementará en una unidad este registro cada vez que ejecute una instrucción, para que apunte a la siguiente.
La información que almacena este registro se puede modificar cuando una interrupción externa, o la propia ejecución del proceso en curso, provoque una alteración en la secuencia de operaciones. Esta alteración transferirá el control del sistema informático a otro proceso diferente al que está en ejecución.
• El Registro Acumulador.
Es el Registro donde se almacenan los resultados obtenidos en las operaciones realizadas por la unidad aritmética y lógica.
Su importancia radica en las características de la información que almacena, ya que con su contenido se realizan todas las operaciones de cálculo que ha de ejecutar la unidad aritmética y lógica.
• El registro de Estado.
El Registro de Estado o registro de «flags» no es un solo registro propiamente dicho, ya que se compone de varios registros de menor tamaño; este tamaño puede ser incluso de un solo bit.
El registro de estado se utiliza para indicar cambios de estados y condiciones en los otros registros existentes en el sistema informático. Estos cambios en la situación de los demás registros se producen debido a las modificaciones del entorno a lo largo de la ejecución de los procesos realizados por el sistema informático.
• El Registro Puntero de la Pila.
Este Registro almacena la dirección de la zona de la memoria donde está situada la parte superior de la pila.
La Pila es una zona de los registros de segmento de memoria que la unidad aritmética y lógica utiliza para almacenar temporalmente los datos que está manipulando. Cuando la cantidad de datos a manejar es demasiado grande u otras necesidades del proceso impiden que estos datos puedan almacenarse en los registros creados para ello se envían a la pila, donde se almacenan hasta que la unidad de control recupera la información para que la procese la unidad aritmética y lógica.
La ventaja de manejar una pila como almacén de información es que la información que se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola dirección de memoria. Esto permite que la unidad de control no necesite conocer más que esa dirección para poder manejar los datos almacenados en la pila.
Memoria Principal
La Memoria Principal es la zona de la unidad central de sistema que almacena la información, en forma de programas y datos, que se va a procesar seguidamente o va a servir de apoyo a las diferentes operaciones que se van a efectuar por la computadora.
La posibilidad del proceso inmediato de la información que almacena la memoria principal es su característica fundamental, ya que, mientras que los datos existentes en la memoria principal pueden ser procesados de inmediato por la unidad central de proceso, la información contenida en la memoria auxiliar (discos, cintas, etc.) no puede ser procesada directamente por la unidad central de proceso.
La memoria principal está conectada directamente a los buses, que son su medio de comunicación con la unidad central de proceso del sistema informático. La cantidad de memoria existente en una computadora se verá limitada por la capacidad de direccionamiento del bus; esto forma el Mapa de Memoria.
La memoria principal está compuesta lógicamente por una serie de celdas de bits que permiten almacenar en cada una de ellas un bit de información en código binario (0, 1) que será parte de un dato o una instrucción.
Para poder identificar cada una de las celdas de la memoria, éstas se numeran; a este número se le llama dirección y es el medio a través del cual la unidad de control puede manejar la información.
Las direcciones de la memoria se localizan a través del mapa de memoria. La dirección de cada celda de la memoria se establece por una matriz en la que los parámetros son el número total de direcciones y la longitud de palabra que maneja el sistema informático. Esto supone una limitación, ya que la computadora sólo puede manejar un número limitado de bits de dirección en sus operaciones de direccionamiento.
La Palabra representa la cantidad de bits de información manejada en paralelo por la computadora. Tamaños típicos de palabras son 8 bits, 16 bits, 32 bits, etc.
Una vez localizada la dirección de la celda de memoria se podrán realizar dos operaciones: leer la información existente en ella o bien escribir nueva información para poder ser almacenada y posteriormente procesada.
Para poder determinar si el sistema informático va a leer o escribir se utiliza el registro de datos. El registro de datos es un bit que, según el valor de la información que contenga (0,1) indica a la unidad de control si se va a leer o escribir en el acceso a la memoria que se esté realizando en ese momento. En ambos casos, esta operación se realiza a través del bus de datos.
Cuando la unidad de control lee de la celda de memoria, necesita que se le proporcione una dirección a la cual ir a leer. La información existente en la celda no se destruye.
Cuando la unidad de control escribe en la celda de memoria, debe recibir dos informaciones: la dirección de la memoria donde escribir y la información que se debe escribir propiamente dicha. La información existente en la celda de memoria previamente se destruye, ya que lo que había escrito se sustituye por una nueva información.
La memoria principal se divide fundamentalmente en dos partes: Volátil y No Volátil.
La Memoria Volátil pierde la información almacenada en su interior si el sistema informático que la soporta es apagado. Esta parte de la memoria principal se conoce como RAM (Memoria de Acceso Aleatorio o Random Access Memory).
La parte de la Memoria principal que No es Volátil es la ROM (Memoria de Sólo Lectura o Read Only Memory). Esta memoria es de sólo lectura y la computadora no puede escribir sobre ella. Su función principal es el arranque del sistema informático.
Las Memorias Volátiles pueden ser estáticas, también llamadas RAM (Memorias de Acceso Aleatorio o Random Access Memory), o dinámicas, denominadas en este caso DRAM (Memorias Dinámicas de Acceso Aleatorio o Dinamic Random Access Memory). Más adelante se verán más detenidamente.
Las Memorias No Volátiles se dividen en memorias de Sólo Lectura (ROM) y en otras que permiten la Manipulación de la Información que contienen por diversos medios especiales que se verán más adelante.
Existen dos modos distintos de Acceso a la Memoria:
• Acceso por Palabras.
• Acceso por Bloques.
1. Acceso por Palabras.
También se le denomina acceso aleatorio. La operación de acceso se realiza sobre una sola palabra de información. Recuérdese que palabra es la cantidad de bits que maneja el sistema informático al mismo tiempo.
Este tipo de acceso únicamente se utiliza con memorias estáticas (RAM) ya que el tiempo de acceso empleado es siempre el mismo.
2. Acceso por Bloques.
Es el modo de acceso utilizado en las memorias dinámicas. Consiste en empaquetar en un bloque un conjunto de datos al que se añade una cabecera para identificarlo. El acceso se realizará a la cabecera del bloque y una vez en ella se accederá a la información que contiene.
El acceso en las memorias dinámicas se realiza por bloques, debido a que tardan más tiempo que las estáticas en acceder a una zona de la memoria. La ventaja es que una vez que acceden a la zona donde se sitúa el bloque son muy rápidas en acceder a la información existente.
Generalmente, la memoria que posee una computadora recién adquirida no es la máxima que el bus puede direccionar, por lo que la memoria principal puede ampliarse incrementando el número de unidades de memoria conectadas. Conviene recordar que las placas de memoria son un factor fundamental en el costo total de adquisición del sistema informático.
Debe tenerse en cuenta que si la cantidad de memoria principal del sistema informático no es muy grande el procesador se verá restringido en su potencia por la limitada capacidad de manipulación y acceso a los datos.
Las Tecnologías para fabricar memorias se caracterizan por:
• Coste.
• Tiempo de acceso.
• Capacidad de almacenamiento.
La Optimización se consigue con una gran capacidad de almacenamiento, un tiempo de acceso muy corto y un costo pequeño.
Las memorias se dividen físicamente en:
1. Soporte de Almacenamiento de la Información.
Generalmente son de naturaleza magnética. Está compuesto por pequeños dipolos que pueden tomar dos estados en los que la información toma un valor en cada uno de ellos. Cada estado se obtiene por medio de la aplicación de una señal eléctrica exterior generada por el elemento de lectura y escritura.
2. Elemento de Escritura y Lectura.
Este dispositivo introducirá y obtendrá la información de la memoria.
Para Escribir el dispositivo produce una corriente eléctrica local que provoca un cambioestable en el campo magnético de la celda de memoria.
Para Leer el dispositivo determinará el campo magnético de la celda de memoria y sabrá cual es el valor existente.
3. Mecanismo de Direccionamiento.
Pueden ser de dos tipos dependiendo de que las memorias sean estáticas o dinámicas.
En las Memorias Estáticas el direccionamiento es un cableado directo a la celda de memoria.
En las Memorias Dinámicas se utiliza una información de control almacenada con los datos que configuran el circuito para direccionar la lectura o escritura al lugar donde se almacena la información.
La memoria se divide en varias capas o niveles con una estructura cuya forma puede recordarnos a una estructura piramidal.
La base de nuestra hipotética pirámide es la memoria principal, donde existe una mayor cantidad de espacio (puede llegar hasta 1 gigabyte, esto es, mil millones de bytes), pero que tiene la desventaja de que el tiempo de acceso es muy superior, lo que la convierte en mucho más lenta que los registros.
Entre ambas se situaría una zona de memoria que se llama memoria caché. La memoria caché es una zona especial de memoria que sirve para optimizar los tiempos de acceso a la memoria RAM por métodos estadísticos.
POTS
DE LA CRUZ IBAÑEZ MOISES
REFERNCIAS: http://www.monografias.com/trabajos17/arquitectura-computadoras/arquitectura-computadoras.shtml#regist
REGISTRO
Su misión es realizar las operaciones con los datos que recibe, siguiendo las indicaciones dadas por la unidad de control.
El nombre de unidad aritmética y lógica se debe a que puede realizar operaciones tanto aritméticas como lógicas con los datos transferidos por la unidad de control.
La unidad de control maneja las instrucciones y la aritmética y lógica procesa los datos.
Para que la unidad de control sepa si la información que recibe es una instrucción o dato, es obligatorio que la primera palabra que reciba sea una instrucción, indicando la naturaleza del resto de la información a tratar.
Para que la unidad aritmética y lógica sea capaz de realizar una operación aritmética, se le deben proporcionar, de alguna manera, los siguientes datos:
1. El código que indique la operación a efectuar.
2. La dirección de la celda donde está
almacenado el primer sumando.
3. La dirección del segundo sumando implicado en la operación.
4. La dirección de la celda de memoria donde se almacenará el resultado.
os Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora.
Los registros se dividen en tres grupos principales:
• Registros de Propósito General.
• Registros de Segmento de Memoria.
• Registros de Instrucciones.
POST Bauitsta Mata Jonathan Adrian
www.mousered.com/index_archivos/ALU.htm
En computación, la Unidad Lógica Aritmética (ULA), o Arithmetic Logic Unit (ALU), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (como igual a, menor que, mayor que, etc.), entre dos números.
Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el pitido del temporizador, etc.
Por mucho, los más complejos circuitos electrónicos son los que están construidos dentro de los chips de microprocesadores modernos como el Intel Core Duo. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso. De hecho, un microprocesador moderno (y los mainframes) pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
Muchos otros circuitos pueden contener en el interior ALU: GPU como los que están en las tarjetas gráficas NVIDIA y ATI, FPU como el viejo coprocesador numérico 80387, y procesadores digitales de señales como los que se encuentran en tarjetas de sonido Sound Blaster, lectoras de CD y las TV de alta definición. Todos éstos tienen adentro varias ALU poderosas y complejas
La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las operaciones.
La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los registros del procesador. Estos datos son procesados y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria.[2]
Una unidad de control controla a la ALU, al ajustar los circuitos que le dicen a la ALU qué operaciones realizar.
ARENAS QUIJANO ITZEL
http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica