Вы находитесь на странице: 1из 21

Organización de la CPU

Gustavo Dávila Octubre 2011


Organización de la CPU

• Unidad de Control (Control Unit - CU)


• Unidad Aritmético Lógica (Arithmetic Logic Unit - ALU)
• El Contador de Programa (Program Counter - PC)
• Registro de Dirección de Memoria (Memory Address Register - MAR)
• Registro de Buffer de Memoria (Memory Buffer Register - MBR)
también llamado Registro de Datos de Memoria (Memory Data Register
- MDR)
• Memoria Caché
• Algunos Registro de Propósito Especial, tales como:
– La Palabra de Estado del Procesador (Processor Status Word -PSW)
– El Puntero de Pila (Stack Pointer - SP)
– Registro de Instrucción (Instruction Register -IR)
• Algunos Registros de Propósito General para almacenar datos y
direcciones
Organización Interna de una CPU
Ciclo Búsqueda-Decodificación-Ejecución de la CPU
Ciclo Búsqueda-Decodificación-Ejecución de la CPU

• Fase de Búsqueda de Instrucción


La CPU usa la dirección que se encuentra en el PC para
buscar la instrucción
• Coloca el contenido del PC en MAR
MAR = PC
• Asegura la línea de control para realizar una lectura “ READ ”
• Coloca el contenido de la ubicación apuntada por el MAR en
el MBR
MBR= Memory[MAR]
• Incrementa el contenido del PC para apuntar a la siguiente
instrucción
PC = PC + 1
• Fase de Decodificación de Instrucción
La instrucción que se encuentra en el MBR debe ser
decodificada separando el código de operación (opcode) y
los operandos (n_operands) en el IR
IR = OPCODE - PART (MBR)
N_OPERANDS = los operandos requeridos basados en IR
Ciclo Búsqueda-Decodificación-Ejecución de la CPU

• Fase de Búsqueda de Operando(s)


Lo que se tiene ahora es el número de operandos a ser
buscados en una dirección de memoria, un registro o una
constante que es parte de la instrucción recibida
• Se obtiene la instrucción completa
IR = MBR
• Coloca la dirección de memoria de el primer operando a
buscar
MAR = First - Operand(IR)
• Asegura linea de control a “ READ ”
• Se trae el contenido de la dirección apuntada por el MAR (1er
operando)
MBR=Memory[MAR]

• Fase de Ejecución
En este punto el valor a ser escrito en el registro r1 está en
el MBR una señal de control se envía para indicar que el
contenido del MBR debe ser transferido a R1
Unidad de Control Cableado

• El control cableado consiste de una máquina de estados y un circuito


combinacional
• Es un autómata que se mueve de un estado a otro dependiendo de la
entrada recibida.
Unidad de Control Microprogramado

• Cuando la CPU ejecuta una instrucción, realmente


ejecuta un conjunto de microinstrucciones llamadas
microrutinas
• Cada microinstrucción requiere de un ciclo de CPU para
ejecutarse
• Cada Microrutina está almacenada generalmente en una
memoria de sólo lectura tambien llamada ROM de control

Las características del Control Microprogramado son:


 Permite crear infinitas instrucciones complejas que
puedan ser descompuestas en las microinstrucciones
básicas
 Cuando se necesitan nuevas instrucciones no hay que
modificar la parte física de un cpu sólo hay que
programar la instrucción con sus equivalentes
microinstrucciones.
 En el control cableado cada nueva instrucción requiere
ser agregada fisicamente en el hardware
Unidad de Control Microprogramado
Arquitectura
RISC y CISC
Arquitectura RISC y CISC

• Se han realizado muchos esfuerzos para mejorar el


rendimiento de los computadores con el fin de incrementar
la velocidad de funcionamiento de los componentes tales
como:
– El subsistema de memoria
– El subsistema de dispositivos de E/S
– El bus
– La CPU

• El diseño de la misma CPU tenía que mejorarse para


obtener mejoras significativas en el rendimiento.

• El diseño y evolución de las CPU’s a lo largo de los años


está representado en las arquitecturas RISC y CISC
Arquitectura CISC

Arquitectura de Computadora de Conjunto de Instrucciones


Complejas (Complex Instruction Set Computer – CISC)

Las imperativas tecnológias que influyeron en la evolución de la


arquitectura CISC fueron:
• El Control Microprogramado
– Facilidad de Implementación
– Uso de eficiente del espacio en el chip
– Posibilidad de modificar el conjunto de instrucciones
– Posibilidad de diseñar nuevas y poderosas instrucciones
– Posibilidad de simular nuevas arquitecturas
Arquitectura CISC

• Necesidad de tener un rico conjunto de instrucciones, dado que


muchos programas fueron desarrollados en lenguaje ensamblador
– Instrucciones para trabajar con operandos de punto flotante
– Instrucciones individuales para guardar y restaurar todos los registros de la
CPU
– Instrucciones para proporcionar construcciones especiales de lazos
– Instrucciones para trabajar con diferentes modos de direccionamiento que
permitan el indexado a través de arreglos

• Buscar la correspondencia de instrucciones de lenguaje de alto


nivel al nivel de lenguaje de máquina
– Al usar el control microprogramado, es posible disponer de algunas de las
instrucciones de lenguaje de alto nivel a nivel de lenguaje de máquina.
Estas instruccciones pueden ser interpretadas por el microprograma
– La disponibilidad de una instrucción de lenguaje de máquina ofrece la ventaja
de que los compiladores de lenguajes de alto nivel generen código más simple
y a la vez más eficiente
Arquitectura CISC

Características de la Arquitectura CISC


• Instrucciones de longitud variable
– La longitud de la instrucción depende del modo de direccionamiento usado en
los operandos

• Las instrucciones requieren múltiples ciclos de reloj para ejecutar


– Antes de que una instrucción pueda ser ejecutada los operandos deben ser
buscados desde diferentes ubicaciones en memoria

• Predominan las instrucciones con dos operandos


– Los CISC soportan cero, uno o más operandos

• Variedad del direccionamiento de operandos


– Registro a registro, registro a memoria y memoria a registro

• Multiples modos de direccionamiento


– Alguno de los direccionamientos soportados son el directo de memoria,
indirecto de memoria y el indexado a través de registros
Arquitectura CISC

Ventajas
• Facilidad de implementación del conjunto de instrucciones
• Compatibilidad hacia adelante y hacia atrás de nuevas CPU’s
• Facilidad de programación
• Puede ser menor la complejidad del compilador

Desventajas
• La complejidad del conjunto de instrucciones crece
• Las instrucciones de longitud variable reducen el rendimiento
del sistema
• Inclusión de instrucciones que raramente se usan
Arquitectura RISC

Arquitectura de Computadora de Conjunto de Instrucciones


Reducidas (Reduced Instruction Set Computer – RISC)
• Las CPUs RISC se ocupan de un número menor de instrucciones
comparado con las CPUs en la arquitectura CISC.
• Los factores y condiciones que impulsaron el desarrollo de los
procesadores RISC fueron:
– Reducción de las brechas en velocidad entre la CPU y la memoria
– Comprensión de la efectividad de instrucciones simples y complejas
– Segmentación (Pipelining)
– Velocidad de la memoria
– Problemas con latencia de la Instrucción
– Problemas de dependencia mutua entre instrucciones
– Super Segmentación
– Super Procesador Escalar
Arquitectura RISC

Características de la Arquitectura RISC


• Pequeño conjunto de instrucciones
– Poseen un número significativamente menor de instrucciones
• Instrucciones simples
• Instrucciones de longitud fija
– La mayoría de las instrucciones son de la misma longitud, lo
que permite que una instrucción se busque con una
operación individual
• Predominan las instrucciones que se ejecutan en un ciclo de
máquina
– La mayoría de las instrucciones se ejecutan en un solo ciclo,
esto permite la implementación de la segmentación
(Pipelining)
• Procesamiento de segmentación
– Los procesadores RISC tienen la capacidad de manejar
varias instrucciones al mismo tiempo, por medio de la técnica
de segmentación o línea de trabajo
Arquitectura RISC

Causas de la Latencia
• Instrucciones requieren más de un ciclo de máquina
• Instrucciones de longitud variable
• Instrucciones de punto flotante
• Acceder a operandos desde memoria en vez que desde registros
• Acceder a un recurso compartido

El problema de la Dependencia Mutua


• La dependencia mutua entre instrucciones impone un orden
secuencial en la ejecución
• La dependencia mutua puede degradar el rendimiento de un
procesador RISC
• Los procesadores RISC emplean la programación de instrucciones
(instruction scheduling) para minimizar la degradación en rendimiento
Arquitectura RISC

Ventajas
• Se incrementa la velocidad debido a un conjunto de
instrucciones más simple.
• Hardware más simple debido a instrucciones más sencillas que
requieren menos espacio en el chip
• El ciclo de diseño más corto resulta en un diseño efectivo,
costos controlados de desarrollo y tiempo de salida al mercado
más corto.
Desventajas
• Excesiva dependencia en la efectividad del compilador
• La depuración de los programas se hace difícil por la
programación de instrucciones
• Se incrementa el tamaño del código de lenguaje máquina
• Necesidad de memoria rápida
Arquitectura RISC y CISC

Entidad VAX-11 Intel Pentium UltraSparc Power PC

Fabricante Digital Intel Sun Apple, IBM y


Motorola
Registros 16 PG 8 PG 100+ PG 32 PG 64bit
8 PE 64 PF
Espacio de 2^32 bytes 2^46 2^64 2^64
direcciones
Virtuales
Modos de • Múltiple modos de • Múltiple modos de •Inmediato •Inmediato
direccionamiento direccionamiento direccionamiento •Registro directo , •Registro directo,
• Cualquier • Direccionamiento indirecto e indexado indirecto e indexado
instrucción puede de registro base •Memoria Directa •Direccionamiento
usar cualquier con cualquier absoluto y relativo
modo de registro de PG
direccionamiento

Conjunto de Más de 400 Menos de 100


Instrucciones
Arquitectura RISC y CISC

Fin

Вам также может понравиться