Sei sulla pagina 1di 29

Organización y Arquitectura de

Computadoras

Capítulo 11
Estructura y función del CPU

Estructura y Función Arquitectura de Computadoras 1


del CPU
Estructura del CPU

• El CPU debe:
– Extraer instrucciones
– Interpretar instrucciones
– Extraer datos
– Procesar datos
– Escribir datos

Estructura y Función Arquitectura de Computadoras 2


del CPU

22
Registros

• El CPU debe tener un espacio de trabajo


(almacenamiento temporal)
• Llamados registros
• La cantidad y función varía dependiendo del
diseño del procesador
• Una de las decisiones más importantes de diseño
• El nivel más alto en la jerarquía de memoria

Estructura y Función Arquitectura de Computadoras 3


del CPU

23
Registros visibles al usuario

• Propósito general
• Datos
• Direcciones
• Códigos de condición

Estructura y Función Arquitectura de Computadoras 4


del CPU

24
Registros de propósito general
(1)

• Pueden ser verdaderamente de propósito general


• Pueden ser restringidos
• Pueden usarse para datos o direccionamiento
• Datos
– Acumulador
• Direccionamiento
– Segmento

Estructura y Función Arquitectura de Computadoras 5


del CPU

25
Registros de propósito general
(2)

• Hacerlos de propósito general


– Aumentan la flexibilidad y opciones del
programador
– Aumenta el tamaño de la instrucción y
complejidad
• Hacerlos especializados
– Instrucciones más pequeñas (más rápidas)
– Menor flexibilidad

Estructura y Función Arquitectura de Computadoras 6


del CPU

26
¿Cuántos registros de
propósito general?

• Entre 8 - 32
• Menos
– Más referencias a memoria
• Más
– No reducen notablemente las referencias a
memoria
• Ver RISC

Estructura y Función Arquitectura de Computadoras 7


del CPU

27
¿Qué tan grandes?

• Lo suficientemente grandes para guardar una


dirección completa
• Lo suficientemente grandes para guardar una
palabra completa
• Tambien es posible combinar dos registros de
datos
– Programando en C
– double int a;
– long int a;

Estructura y Función Arquitectura de Computadoras 8


del CPU

28
Registros de código de
condición

• Conjunto de bits individuales


– ejemplo. Si resultado de la última operación es
cero
• Pueden leerse (implícitamente) por programas
– ejemplo. Salta si es cero
• No se puede (normalmente) establecer por
programas

Estructura y Función Arquitectura de Computadoras 9


del CPU

29
Registros de estado y de
control

• Contador del programa


• Registro decodificador de instrucción
• MAR = Registro de direccionamiento de memoria
• MBR = Registro de buffer de memoria

• ¿Qué hacen todos esos?

Estructura y Función Arquitectura de Computadoras 10


del CPU

30
PSW (Palabra de estado del
programa)

• Un conjunto de bits
• Incluye códigos de condición
• Signo del último resultado
• Cero
• Acarreo (Carry)
• Igualdad
• Sobreflujo (Overflow)
• Interrupciones habilitadas o deshabilitadas
• Supervisor

Estructura y Función Arquitectura de Computadoras 11


del CPU

31
Modo Supervisor

• Intel ring zero


• Modo Kernel
• Permite que se ejecuten instrucciones
privilegiadas
• Usadas por el Sistema Operativo
• No disponibles para los programas de usuario

Estructura y Función Arquitectura de Computadoras 12


del CPU

32
Otros registros

• Puede haber registros apuntando a:


– PCBs (Bloques de control de procesos)
• Ver S.O.
– Vectores de interrupción
• Ver S.O.

• El diseño del CPU y del Sistema Operativo están


fuertemente encadenados

Estructura y Función Arquitectura de Computadoras 13


del CPU

33
Ejemplos de organizaciones de
registros (MC68000)
Registros de datos Registros de direcciones
D0 A0
D1 A1
D2 A2
D3 A3
D4 A4
D5 A5
D6 A6
D7 A7
A7’

Estado del programa


Contador del programa
Registro de estado

Estructura y Función Arquitectura de Computadoras 14


del CPU
Ejemplos de organizaciones de
registros (8086)
Registros generales Segmento

AX Acumulador CS Código
BX Base DS Datos
CX Contador SS Pila
DX Datos ES Extra

Punteros e índices Estado del programa

SP Puntero de pila Ptr. instr.


BP Puntero base Indicadores
SI Índide Fuente
DI Índice destino

Estructura y Función Arquitectura de Computadoras 15


del CPU
Ejemplos de organizaciones de
registros (80386-Pentium)
Registros generales Segmento
EAX AX CS Código
EBX BX DS Datos
ECX CX SS Pila
EDX DX ES Extra

Punteros e índices Estado del programa


ESP SP Ptr. instr.
EBP BP Indicadores, (EFLAGS)
ESI SI
EDI DI

Estructura y Función Arquitectura de Computadoras 16


del CPU
Ejecución de una Instrucción

• Dos pasos:
– Captura
– Ejecución

Ciclo Fetch (Captura) Ciclo de ejecución

Captura
Ejecuta
INICIO siguiente HALT
instrucción
instrucción

Estructura y Función Arquitectura de Computadoras 17


del CPU
Ciclo de Fetch (Captura)

• El contador del programa (PC) tiene la dirección


de la siguiente instrucción a extraer
• El procesador extrae la instrucción de la
dirección de memoria apuntada por PC
• Incrementa PC
– Al menos que se le indique otra cosa
• La instrucción se carga en el registro de
instrucción (IR)
• El procesador interpreta la instrucción y ejecuta
las acciones requeridas

Estructura y Función Arquitectura de Computadoras 18


del CPU
Ciclo de ejecución

• Procesador-memoria
– Transferencia de datos entre el CPU y la memoria principal
• Procesador E/S
– Transferencia de datos entre CPU y un módulo de E/S
• Procesamiento de datos
– Alguna operación aritmética o lógica en los datos
• Control
– Alteración de la secuencia de las operaciones
– ejemplo. jump
• Combinación de los de arriba

Estructura y Función Arquitectura de Computadoras 19


del CPU
Ejemplo de la ejecución de un
programa
Memoria Registros del CPU Memoria Registros del CPU
300 1 9 4 0 3 0 0 PC 300 1 9 4 0 300 PC
301 5 9 4 1 AC 301 5 9 4 1 0003 AC
302 2 9 4 1 1940 IR 302 2 9 4 1 1940 IR

940 0 0 0 3 940 0003


941 0 0 0 2 941 0002
Paso 1 Paso 2

Memoria Registros del CPU Memoria Registros del CPU


300 1 9 4 0 3 0 1 PC 300 1 9 4 0 301 PC
301 5 9 4 1 0003 AC 301 5 9 4 1 0005 AC
302 2 9 4 1 5941 IR 302 2 9 4 1 5941 IR

940 0 0 0 3 940 0003 3+2=5


941 0 0 0 2 941 0002
Paso 3 Paso 4
Memoria Registros del CPU Memoria Registros del CPU
300 1 9 4 0 3 0 2 PC 300 1 9 4 0 330022 PC
301 5 9 4 1 0005 AC 301 5 9 4 1 0005 AC
302 2 9 4 1 2941 IR 302 2 9 4 1 2941 IR

940 0003 940 0003


941 0002 941 0002
Paso 5 Paso 6

Estructura y Función Arquitectura de Computadoras 20


del CPU
Diagrama de estados del ciclo
de instrucción

Alcacena-
Captación Captación
miento de
de instrucción del operando
operando

Varios Varios
operandos operandos

Cálculo de la Decodificación Cálculo de la Cálculo de la


Operación
dirección de de la operación dirección del dirección del
con datos
la instrucción de la instrucción operando operando

Instrucción completada Cadena o vector


Captar la siguiente instrucción de datos

Estructura y Función Arquitectura de Computadoras 21


del CPU
Ciclo indirecto

• Puede requerir acceso a memoria para extraer


operandos
• El direccionamiento indirecto requiere más
accesos a memoria
• Puede ser a través de como un subciclo de
instrucción adicional

Estructura y Función Arquitectura de Computadoras 22


del CPU
El ciclo de instrucción

Captación

Interrupción Indirecto

Ejecución

Estructura y Función Arquitectura de Computadoras 23


del CPU
Diagrama de estados del ciclo
de instrucción

Indirección Indirección
Captación Alcacena-
Captación
de miento de
del operando
instrucción operando

Varios Varios
operandos resultados

Comproba-
Cálculo de la Decodificación Cálculo de la Cálculo de la Interrupción
de la operación dirección del
Operación ción de
dirección de dirección del
con datos interrupción
la instrucción de la instrucción operando operando

Instrucción completada Volver a por otro dato de No


Captar la siguiente instrucción una cadena o un vector interrupción

Estructura y Función Arquitectura de Computadoras 24


del CPU
Flujo de datos (Extracción de la
instrucción)
• Depende del diseño del CPU
• En general:

• Extraer
– PC contiene la dirección de la siguiente instrucción
– La dirección se mueve a MAR
– Se pone la dirección en el bus de direcciones
– La unidad de control solicita lectura a memoria
– El resultado se pone en el bus de datos, copiado a MBR, y
después a IR
– Mientras tanto PC se incrementa a 1

Estructura y Función Arquitectura de Computadoras 25


del CPU
Flujo de datos (Extracción de
los datos)

• Se examina IR
• Si es direccionamiento indirecto, se ejecuta el
ciclo indirecto
– Los N bits más de la derecha de MBR se
transfieren a MAR
– La unidad de control solicita lectura de memoria
– El resultado (dirección del operando) se mueve a
MBR

Estructura y Función Arquitectura de Computadoras 26


del CPU
Flujo de datos, ciclo de
captación

Memoria
PC MAR

Unidad
De control

IR MBR

Bus de Bus de Bus de


direcciones datos control

Estructura y Función Arquitectura de Computadoras 27


del CPU
Flujo de datos, ciclo indirecto

Memoria
MAR

Unidad
De control

MBR

Bus de Bus de Bus de


direcciones datos control

Estructura y Función Arquitectura de Computadoras 28


del CPU
Flujo de datos (Ejecución)

• Puede tomar varias formas


• Depende de la instrucción que se está ejecutando
• Puede incluir
– Lectura/Escritura de la memoria
– Entrada/Salida
– Transferencias de registros
– Operaciones en la ALU

Estructura y Función Arquitectura de Computadoras 29


del CPU

Potrebbero piacerti anche