Arquitectura básica Adrian Carrillo Uruchurtu 3CM1 IPN-UPIIZ Arquitectura de computadoras

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Arquitectura básica Adrian Carrillo Uruchurtu 3CM1 IPN-UPIIZ Arquitectura de computadoras por Mind Map: Arquitectura básica  Adrian Carrillo Uruchurtu  3CM1  IPN-UPIIZ   Arquitectura de computadoras

1. Sistema de memoria

1.1. Las computadoras deben disponer de algún medio para almacenar y extraer la información con la que trabajan, pues los registros no son tan numerosos para almacenar toda la información que generalmente manipula el procesador.

1.1.1. El procesador y la memoria se encuentran conectadas a través de un bus de datos y un bus de direcciones. Existiendo además ciertas señales que deben de intercambiarse para controlar el proceso, que podemos considerar el bus de control. El bus de direcciones es unidireccional porque el procesador es siempre quién le indica la posición de memoria que se va a leer o escribir. El bus de datos suele ser bidireccional para poder leer y escribir.

1.1.1.1. Para realizar una transferencia de información desde la memoria al procesador se debe realizar una lectura. Por ejemplo un procesador de 8 bits con un bus de direcciones de 16 bits. Está tratando de leer una instrucción, la dirección de memoria se encontrará inicialmente en el contador de programa. Esta dirección se carga en el registro de direcciones y se coloca en el bus de direcciones. A continuación se incrementa el contador de programa para que apunte a la siguiente instrucción y se queda a la espera. Cuando la dirección a la que se desea acceder está en el bus de direcciones la unidad de control envía una señal de lectura a la memoria. En la memoria se decodifican los bits de la dirección para seleccionar la posición de la memoria deseada. Los datos en dicha posición se colocan en el bus de datos y de ahí se cargan al registro de datos para ser utilizados por el procesador. Cuando se lee una posición de memoria, la información no se borra, solo se realiza una copia de la misma.

1.1.1.1.1. Para transferir datos del procesador a la memoria se realiza una operación de escritura. Se coloca en el registro de datos la información que se desea guardar y de ahí pasa al bus de datos. En el registro de direcciones se debe haber colocado la dirección de memoria en la que se desea escribir el dato, la cual pasa al bus de direcciones. Cuando la unidad de control da la orden de escribir, el dato se almacenará en la posición de memoria que se haya decodificado a partir de la información del bus de direcciones. En este caso el contenido anterior será sustituido.

1.2. Decodificador

1.2.1. Para transferir datos del procesador a la memoria se realiza una operación de escritura. Se coloca en el registro de datos la información que se desea guardar y de ahí pasa al bus de datos. En el registro de direcciones se debe haber colocado la dirección de memoria en la que se desea escribir el dato, la cual pasa al bus de direcciones. Cuando la unidad de control da la orden de escribir, el dato se almacenará en la posición de memoria que se haya decodificado a partir de la información del bus de direcciones. En este caso el contenido anterior será sustituido.

2. Unidad de control

2.1. La unidad de control emite señales de control externas al procesador para producir el intercambio de datos con la memoria y los módulos de E/S. También emite señales de control internas al procesador para transferir datos entre registros, hacer que la ALU ejecute una función concreta, y regular otras operaciones internas. La entrada a la unidad de control está compuesta por el registro de instrucción, los indicadores de estado, y ciertas señales de control de fuentes externas.

3. ALU

3.1. Manipular datos en una computadora digital se encuentran bajo las categorías de operaciones aritméticas y la manipulación de bits u operaciones lógicas. La ALU es la parte del procesador que contiene la lógica para llevar a cabo operaciones:

3.1.1. Operaciones de bit horizontales: operaciones que alteran los bits en una posición de forma horizontal. Es decir que los bits de un dato se ven alterado de forma independiente unos de otros. Operaciones lógicas como AND, OR, XOR o NOT.

3.1.2. Operaciones de bit verticales: operaciones que alteran los bits de un dato en relación con los demás bits del mismo. Estas son operaciones como rotar a la izquierda (ROL), rotar a la derecha (ROR), desplazamiento a la izquierda (SLL) o desplazamiento a la derecha (SRL). Existen otro tipo de instrucciones de este tipo como puede ser desplazamiento aritmético a la derecha (SRA).

3.1.3. Operaciones matemáticas: aunque con operaciones lógicas se pueden implementar operaciones aritméticas, en general los procesadores cuentan con el hardware necesario para realizar operaciones matemáticas de forma más eficiente como: suma (ADD), resta (SUB), multiplicación (MUL), división (DIV) y otro tipo de operaciones.

4. Registros

4.1. Los procesadores utilizan registros como forma de almacenamiento temporal interna.

4.1.1. Además de las señales de entrada, salida y reloj, puede contar con una señal de carga (load), generalmente carga en paralelo, así como con señales de reset o clear.

4.2. Acumuladores

4.2.1. Un tipo de registro que se usa para almacenar datos. En computadoras antiguas los registros eran muy costosos.Son registros que se usan en la arquitectura CISC, aportan los datos a la ALU y reciben la salida de la ALU.

4.3. GPR

4.3.1. Pueden guardar tanto datos como direcciones. La mayor parte de las computadoras modernas usan GPR. Se agrupan en bancos de 8,16 o 32 registros generalmente.

4.4. Índices

4.4.1. Se utiliza como medio para direccionar la memoria en el modo de direccionamiento llamado direccionamiento indexado. Almacena una dirección de memoria para que las instrucciones del procesador accedan fácilmente a los datos.

4.5. Contador de programa

4.5.1. El contenido del contador de programa es siempre la dirección de memoria de la que hay que extraer la siguiente instrucción. Se llama contador porque al seguir la ejecución del programa un orden secuencial va incrementándose como un contador.

4.6. De instrucción

4.6.1. Se almacena la instrucción que se está ejecutando.

4.7. De direcciones de memoria

4.7.1. En cualquier arquitectura se suelen usar para almacenar la dirección del dato que se quiere leer o escribir. Se le denomina MAR

4.8. Auxiliares

4.8.1. Registros de propósito específico:

4.8.1.1. Registro de estado:Se deja constancia de alguna condición que se dio en la última operación realizada.

4.8.1.1.1. Z (Zero flag): Se activa si el resultado es cero.

4.8.1.1.2. N (Negative flag) S (Sign flag): Se activa si el resultado es negativo.

4.8.1.1.3. V (Overflow flag): Se activa si el resultado supera la capacidad de representación que puede manejar la ALU.

4.8.1.1.4. P (Parity flag): Se activa según la paridad (número de 1 en los datos) del resultado.

4.8.1.1.5. I (Interrupt flag): Se activa si se ha producido una interrupción.

4.8.1.1.6. C (Carry flag): Acarreo de la operación realizada.

4.8.1.1.7. H (Half-carry flag): Indica un acarreo entre los nibbles. Útil en operaciones con BCD.

4.8.1.2. Puntero de Pila: Este registro apunta al TOS de una pila y se emplea para direccionar datos en la pila cuando se ejecutan las instrucciones push y pop.

4.8.1.3. Registro de datos de memoria: (MAR) Conectado al bus de datos para leer o escribir un dato a dicho bus.

4.8.1.4. Registro constante: No son registros propiamente, pero se usan como tal, tienen valores creados por hardware de solo lectura.

4.8.1.5. Registro de direcciones de entrada y salida: Se utilizan para especificar el dispositivo con el que se establece comunicación en arquitecturas donde los puertos de entrada y salida no están mapeados en memoria.