Estructura y funcion del cpu
Transcript of Estructura y funcion del cpu
Estructura y Función del CPU
Arquitectura de Computadoras 1
Organización y Arquitectura de Computadoras
Capítulo 11Estructura y función del CPU
22
Estructura y Función del CPU
Arquitectura de Computadoras 2
Estructura del CPU
• El CPU debe:– Extraer instrucciones– Interpretar instrucciones– Extraer datos– Procesar datos– Escribir datos
23
Estructura y Función del CPU
Arquitectura de Computadoras 3
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
24
Estructura y Función del CPU
Arquitectura de Computadoras 4
Registros visibles al usuario
• Propósito general• Datos• Direcciones• Códigos de condición
25
Estructura y Función del CPU
Arquitectura de Computadoras 5
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
26
Estructura y Función del CPU
Arquitectura de Computadoras 6
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
27
Estructura y Función del CPU
Arquitectura de Computadoras 7
¿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
28
Estructura y Función del CPU
Arquitectura de Computadoras 8
¿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;
29
Estructura y Función del CPU
Arquitectura de Computadoras 9
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
30
Estructura y Función del CPU
Arquitectura de Computadoras 10
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?
31
Estructura y Función del CPU
Arquitectura de Computadoras 11
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
32
Estructura y Función del CPU
Arquitectura de Computadoras 12
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
33
Estructura y Función del CPU
Arquitectura de Computadoras 13
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 del CPU
Arquitectura de Computadoras 14
Ejemplos de organizaciones de registros (MC68000)
D0D1D2D3D4D5D6D7
A0A1A2A3A4A5A6A7A7’
Registro de estado
Contador del programa
Estado del programa
Registros de datos Registros de direcciones
Estructura y Función del CPU
Arquitectura de Computadoras 15
Ejemplos de organizaciones de registros (8086)
Datos
Contador
Base
Acumulador
Índice destino
Índide Fuente
Puntero base
Puntero de pila
Extra
Pila
Datos
Código
Indicadores
Ptr. instr.
AXBXCXDX
SPBPSIDI
CSDSSSES
Registros generales
Punteros e índices
Segmento
Estado del programa
Estructura y Función del CPU
Arquitectura de Computadoras 16
Ejemplos de organizaciones de registros (80386-Pentium)
Extra
Pila
Datos
Código
Indicadores, (EFLAGS)
Ptr. instr.
EAXEBXECXEDX
ESPEBPESIEDI
CSDSSSES
Registros generales
Punteros e índices
Segmento
Estado del programa
DX
CX
BX
AX
DI
SI
BP
SP
Estructura y Función del CPU
Arquitectura de Computadoras 17
INICIO HALTCapturasiguiente
instrucción
Ejecutainstrucción
Ciclo Fetch (Captura) Ciclo de ejecución
Ejecución de una Instrucción
• Dos pasos:– Captura– Ejecución
Estructura y Función del CPU
Arquitectura de Computadoras 18
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 del CPU
Arquitectura de Computadoras 19
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 del CPU
Arquitectura de Computadoras 20
3 0 2Memoria Registros del CPU Registros del CPU
Registros del CPU Registros del CPU
Registros del CPU Registros del CPU
Memoria
Memoria Memoria
Memoria
Memoria
300301302
940941
Paso 1
PCACIR
301302
940941
300
300301302
940941
300301302
940941
300301302
940941
300301302
940941
Paso 3
Paso 5
Paso 2
Paso 4
Paso 6
1 9 4 05 9 4 1
0 0 0 30 0 0 2
1 9 4 02 9 4 1
PC
PC
PC
PC
PC
AC
AC
AC
AC
AC
IR
IR IR
IR IR
1 9 4 0
1 9 4 0
1 9 4 0
1 9 4 0
1 9 4 0
2 9 4 1
2 9 4 1
2 9 4 1
2 9 4 1
2 9 4 1
5 9 4 1
5 9 4 1
5 9 4 1
5 9 4 1
5 9 4 1
0 0 0 3
0 0 0 3
0 0 0 3
0 0 0 3
0 0 0 3
0 0 0 2
0 0 0 2
0 0 0 2
0 0 0 2
0 0 0 2
1 9 4 00 0 0 3
0 0 0 35 9 4 1
0 0 0 52 9 4 1
0 0 0 55 9 4 1
0 0 0 52 9 4 1
3 + 2 = 5
3 0 2
3 0 0
3 0 1
3 0 2
3 0 0
3 0 1
Ejemplo de la ejecución de un programa
Estructura y Función del CPU
Arquitectura de Computadoras 21
Diagrama de estados del ciclo de instrucción
Captaciónde instrucción
Cálculo de ladirección de
la instrucción
Decodificaciónde la operación
de la instrucción
Captacióndel operando
Cálculo de ladirección del
operando
Operacióncon datos
Alcacena-miento de operando
Cálculo de ladirección del
operando
Variosoperandos
Variosoperandos
Instrucción completadaCaptar la siguiente instrucción
Cadena o vectorde datos
Estructura y Función del CPU
Arquitectura de Computadoras 22
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 del CPU
Arquitectura de Computadoras 23
El ciclo de instrucción
Interrupción Indirecto
Captación
Ejecución
Estructura y Función del CPU
Arquitectura de Computadoras 24
Diagrama de estados del ciclo de instrucción
Captaciónde
instrucción
Cálculo de ladirección de
la instrucción
Decodificaciónde la operación
de la instrucción
Captacióndel operando
Cálculo de ladirección del
operando
Operacióncon datos
Alcacena-miento de operando
Cálculo de ladirección del
operando
Variosoperandos
Variosresultados
Instrucción completadaCaptar la siguiente instrucción
Volver a por otro dato deuna cadena o un vector
Comproba-ción de
interrupción
Interrupción
Nointerrupción
IndirecciónIndirección
Estructura y Función del CPU
Arquitectura de Computadoras 25
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 del CPU
Arquitectura de Computadoras 26
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 del CPU
Arquitectura de Computadoras 27
Flujo de datos, ciclo de captación
IR MBR
PC
UnidadDe control
MAR
Bus dedirecciones
Bus dedatos
Memoria
Bus decontrol
Estructura y Función del CPU
Arquitectura de Computadoras 28
Flujo de datos, ciclo indirecto
MBR
UnidadDe control
MAR
Bus dedirecciones
Bus dedatos
Memoria
Bus decontrol
Estructura y Función del CPU
Arquitectura de Computadoras 29
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