Está en la página 1de 6

REPASO UNIDAD 2

Una computadora consiste en dos componentes principales: La ALU esta procesa los datos al ejecutar instrucciones del programa. La CU (Unidad De Control) controla el flujo de datos e instrucciones que entran o salen del CPU y controla la operacin de la ALU. Adems tanto en ALU como en CU se puede encontrar una memoria interna mnima, la cual consiste en un conjunto de localidades de almacenamiento llamado registros. Buses De Sistema: Bus De Datos Bus De Direcciones Bus De Control

Los Registros juegan 2 roles: 1) Registros Visibles Al Usuario: Estos permiten alos programadores de lenguaje maquina o ensamblador minimizar las referencias a la memoria principal, optimizando el uso de los registros. Registros de propsito general: pueden guardar tanto datos como direcciones,algunas veces es usado para almacenar instrucciones: ax bx cx dx di si sp bp Acumulador para operaciones aritmtico lgicas Registro base para acceder a memoria Contador para algunas instrucciones
Registro de datos usado para algunas operaciones de entrada/salida

Apuntador a destino para operaciones con cadenas de caracteres Apuntador a origen para operaciones con cadenas de caracteres Apuntador de pila Apuntador de marco de pila

Registros De Datos: Solo almacena datos. Registros De Direcciones: podran ser en parte registros de propsito general o pueden ser usados nicamente para un modo particular de direccionamiento por ejemplo: a) Apuntadores De Segmento. b) Indices. c) Apuntadores A Stack.

Registros De Status: Los cdigos de condicin o banderas son bits cuyos valores son asignados por el hardware del CPU en base al resultado de la ejecucin de las instrucciones.

2) Registros de control y status: Estos son usados por la CU para controlar la operacin del CPU y por programas privilegiados del sistema operativo. Contador De Programa (PC): Contiene la direccin de la siguiente instruccin a ejecutar y tiene que ser extraida mendiante una operacin fetch. Registro De Instruccin(IR): Contiene la instruccin a ejecutarse. Registro De Direccion De Memoria(MAR): Contiene la direccin de una localidad de memoria. Registro Buffer De Memoria (MBR): Contiene una palabra de dato que ser escrita en memoria o que acaba de ser leda de la memoria.

Los Campos o Banderas ms comunes en estos registros son :

Signo: contiene el bit de signo de la ltima operacin aritmtica. Cero: se le da el valor correspondiente dependiendo si el ultimo resultado es cero o no. Carry: acarreo. Igual: Depende De Una Comparacin Lgica. Sobre Flujo: Usado para indicar la condicin de sobre flujo. Habilitar/Deshabilitar interrupciones: // Supervisor: Modo Supervisor O de Usuario.

Ciclo de Instruccin: Fetch


Es el perodo que tarda la unidad central de proceso (CPU) en ejecutar una instruccin de lenguaje mquina.Comprende una secuencia de acciones determinada que debe llevar a cabo la CPU para ejecutar cada instruccin en un programa.

1. Buscar la instruccin en la memoria principal Se vuelca el valor del contador de programa sobre el bus de direcciones. Entonces la CPU pasa la instruccin de la memoria principal a travs del bus de datos al Registro de Datos de Memoria (MDR). A continuacin el valor del MDR es colocado en el Registro de Instruccin Actual (CIR), un circuito que guarda la instruccin temporalmente de manera que pueda ser decodificada y ejecutada. 2. Decodificar la instruccin El decodificador de instruccin interpreta e implementa la instruccin. El registro de instruccin (IR) mantiene la instruccin en curso mientras el contador de programa (PC, program counter) guarda la direccin de memoria de la siguiente instruccin a ser ejecutada. Recogida de datos desde la memoria principal Se accede al banco de registros por los operandos (solo si es necesario) Se calcula el valor del operando inmediato con extensin de signo (solo si es necesario) Tambin se lee la direccin efectiva de la memoria principal si la instruccin tiene una direccin indirecta, y se recogen los datos requeridos de la memoria principal para ser procesados y colocados en los registros de datos. 3. Ejecutar la instruccin

A partir del registro de instruccin, los datos que forman la instruccin son decodificados por la unidad de control. sta interpreta la informacin como una secuencia de seales de control que son enviadas a las unidades funcionales relevantes de la CPU para realizar la operacin requerida por la instruccin. 4. Almacenar o guardar resultados El resultado generado por la operacin es almacenado en la memoria principal o enviado a un dispositivo de salida dependiendo de la instruccin. Basndose en los resultados de la operacin, el contador de programa se incrementa para apuntar a la siguiente instruccin o se actualiza con una direccin diferente donde la prxima instruccin ser recogida.

Segmentacin de Instrucciones: Pipelining


La segmentacin de instrucciones es similar al uso de una cadena de montaje en una fbrica de manufacturacin. En las cadenas de montaje, el producto pasa a travs de varias etapas de produccin antes de tener el producto terminado. Cada etapa o segmento de la cadena est especializada en un rea especfica de la lnea de produccin y lleva a cabo siempre la misma actividad. Esta tecnologa es aplicada en el diseo de procesadores eficientes. A estos procesadores se les conoce como pipeline processors. Cmo se ejecuta la segmentacin? En cada ciclo se inicia la ejecucin de una instruccin Existen mltiples instrucciones en ejecucin Se inicia una ejecucin en cada ciclo de reloj

La segmentacin: No mejora latencia individual Mejora el throughput global Est limitada por la instruccin ms lenta

Se descomponen las instrucciones para evitar el desbalanceamiento: Buscar Instruccin (FI) Decodificar Instruccin (DI) Calcular Operandos (CO) Buscar Operandos (FO) Ejecutar instruccin (EI) Escribir Operando (WO)

Riesgos del Pipelining Estructurales: ocurren conflictos de Hw. En distintas etapas de ejecucin cada unidad funcional de memoria puede ser usada slo una vez por instruccin, cada unidad funcional debe ser usada en el mismo estado por todas las instrucciones. Solucin: Definir un estado de memoria que no hace nada. De control: Bloqueos despus de cada salto, por si hay que esperar la prxima instruccin prediccin de saltos, ejecutar el salto en forma paralela con todas las instrucciones. De Datos: Una instruccin depende del resultado previo. Es necesario actualizar a tiempo el valor de las variables que van a ser ocupadas, Manejo de Excepciones Las excepciones se pueden producir en los siguientes casos: Desbordamiento aritmtico Peticin de E/S Intento de uso de instrucciones privilegiadas Mal funcionamiento de la circuitera El problema de los computadores segmentados es asociar correctamente la excepcin con la instruccin que la caus.

Tipos de instrucciones
1. Transferencia de datos: MOVE, LOAD, STORE Dos operandos: fuente y destino

2. Aritmticas: ADD, SUB, MUL, DIV, EXT, NEG Dos operandos fuente y uno destino (que puede ser uno de los fuentes)

3. Lgicas: AND, OR, NOT, XOR Dos operandos fuente y uno destino (que puede ser uno de los fuentes)

4. Comparacin: CMP Comparan operandos y actualizan el registro de estado Se utilizan normalmente antes de las bifurcaciones

5. Modificacin de la secuencia de ejecucin del programa Ramificaciones incondicionales: BRA desp Saltos incondicionales: JMP direccin Ramificaciones condicionales: Bcc desp - bifurcar si se cumple la condicin cc Saltos condicionales: Jcc desp saltar si se cumple la condicin cc Ramificaciones con retorno: BSR desp Saltos con retorno: JSR direccin Retorno de subrutina: RTS, RTE, RTR

6. Desplazamientos: SHIFT Hay que indicar el dato y la longitud del desplazamiento Aritmticos: ASL, ASR Lgicos: LSL, ASR Circulares (rotaciones): ROL, ROR, ROXL, ROXR

7. Instrucciones de bit Hay que indicar el dato y la posicin del bit. Testear: BTST Poner a 0: BCLR Poner a 1: BSET Invertir: BCHG

8. Instrucciones de entrada/salida: INPUT, OUTPUT Transferencias entre puertos de E/S y registros o memoria.

9. Miscelneas WAIT, STOP: parar la ejecucin hasta la llegada de una interrupcin. HALT: parar el procesador. NOP: no operacin, permite temporizar esperas.

También podría gustarte