estructura y funcion del cpu
Post on 01-Jul-2015
1.716 views
Embed Size (px)
TRANSCRIPT
Organizacin y Arquitectura de ComputadorasCaptulo 11 Estructura y funcin del CPU
Estructura y Funcin del CPU
Arquitectura de Computadoras
1
Estructura del CPU El CPU debe: Extraer instrucciones Interpretar instrucciones Extraer datos Procesar datos Escribir datos
Estructura y Funcin del CPU
Arquitectura de Computadoras
2
22
Registros El CPU debe tener un espacio de trabajo (almacenamiento temporal) Llamados registros La cantidad y funcin vara dependiendo del diseo del procesador Una de las decisiones ms importantes de diseo El nivel ms alto en la jerarqua de memoria
Estructura y Funcin del CPU
Arquitectura de Computadoras
3
23
Registros visibles al usuario Propsito general Datos Direcciones Cdigos de condicin
Estructura y Funcin del CPU
Arquitectura de Computadoras
4
24
Registros de propsito general (1) Pueden ser verdaderamente de propsito general Pueden ser restringidos Pueden usarse para datos o direccionamiento Datos Acumulador Direccionamiento Segmento
Estructura y Funcin del CPU
Arquitectura de Computadoras
5
25
Registros de propsito general (2) Hacerlos de propsito general Aumentan la flexibilidad y opciones del programador Aumenta el tamao de la instruccin y complejidad Hacerlos especializados Instrucciones ms pequeas (ms rpidas) Menor flexibilidad
Estructura y Funcin del CPU
Arquitectura de Computadoras
6
26
Cuntos registros de propsito general? Entre 8 - 32 Menos Ms referencias a memoria Ms No reducen notablemente las referencias a memoria Ver RISC
Estructura y Funcin del CPU
Arquitectura de Computadoras
7
27
Qu tan grandes? Lo suficientemente grandes para guardar una direccin 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 Funcin del CPU
Arquitectura de Computadoras
8
28
Registros de cdigo de condicin Conjunto de bits individuales ejemplo. Si resultado de la ltima operacin es cero Pueden leerse (implcitamente) por programas ejemplo. Salta si es cero No se puede (normalmente) establecer por programas
Estructura y Funcin del CPU
Arquitectura de Computadoras
9
29
Registros de estado y de control Contador del programa Registro decodificador de instruccin MAR = Registro de direccionamiento de memoria MBR = Registro de buffer de memoria
Qu hacen todos esos?
Estructura y Funcin del CPU
Arquitectura de Computadoras
10
30
PSW (Palabra de estado del programa) Un conjunto de bits Incluye cdigos de condicin Signo del ltimo resultado Cero Acarreo (Carry) Igualdad Sobreflujo (Overflow) Interrupciones habilitadas o deshabilitadas SupervisorArquitectura de Computadoras 11
Estructura y Funcin 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 Funcin del CPU
Arquitectura de Computadoras
12
32
Otros registros Puede haber registros apuntando a: PCBs (Bloques de control de procesos) Ver S.O.
Vectores de interrupcin Ver S.O.
El diseo del CPU y del Sistema Operativo estn fuertemente encadenados
Estructura y Funcin del CPU
Arquitectura de Computadoras
13
33
Ejemplos de organizaciones de registros (MC68000)Registros de datosD0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A7
Registros de direcciones
Estado del programaContador del programaRegistro de estado
Estructura y Funcin del CPU
Arquitectura de Computadoras
14
Ejemplos de organizaciones de registros (8086)Registros generales Segmento
AX BX CX DX
Acumulador Base Contador Datos
CS DS SS ES
Cdigo Datos Pila Extra
Punteros e ndices
Estado del programaPtr. instr. Indicadores
SP BP SI DI
Puntero de pila Puntero base ndide Fuente ndice destino
Estructura y Funcin del CPU
Arquitectura de Computadoras
15
Ejemplos de organizaciones de registros (80386-Pentium)Registros generales SegmentoAX BX CX DX
EAX EBX ECX EDXPunteros e ndices
CS DS SS ES
Cdigo Datos Pila Extra
Estado del programaSP BP SI DI Ptr. instr. Indicadores, (EFLAGS)
ESP EBP ESI EDI
Estructura y Funcin del CPU
Arquitectura de Computadoras
16
Ejecucin de una Instruccin Dos pasos: Captura Ejecucin
Ciclo Fetch (Captura)
Ciclo de ejecucin
INICIO
Captura siguiente instruccin
Ejecuta instruccin
HALT
Estructura y Funcin del CPU
Arquitectura de Computadoras
17
Ciclo de Fetch (Captura) El contador del programa (PC) tiene la direccin de la siguiente instruccin a extraer El procesador extrae la instruccin de la direccin de memoria apuntada por PC Incrementa PC Al menos que se le indique otra cosa La instruccin se carga en el registro de instruccin (IR) El procesador interpreta la instruccin y ejecuta las acciones requeridasEstructura y Funcin del CPU Arquitectura de Computadoras 18
Ciclo de ejecucin Procesador-memoria Transferencia de datos entre el CPU y la memoria principal Procesador E/S Transferencia de datos entre CPU y un mdulo de E/S Procesamiento de datos Alguna operacin aritmtica o lgica en los datos Control Alteracin de la secuencia de las operaciones ejemplo. jump Combinacin de los de arriba
Estructura y Funcin del CPU
Arquitectura de Computadoras
19
Ejemplo de la ejecucin de un programaMemoria 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Paso 1 Memoria 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Paso 3 Memoria 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 941 0003 0002 Memoria Registros del CPU 3 0 0 PC 300 1 9 4 0 AC 301 5 9 4 1 IR 302 2 9 4 1 1940 940 941 0003 0002 Paso 2 Registros del CPU PC 301 AC 0005 IR 5941 3+2=5 Registros del CPU PC 300 AC 0003 IR 1940
Memoria Registros del CPU 3 0 1 PC 300 1 9 4 0 AC 301 5 9 4 1 0003 IR 302 2 9 4 1 5941 940 941 0003 0002 Paso 4
Memoria Registros del CPU 3 0 2 PC 300 1 9 4 0 AC 301 5 9 4 1 0005 IR 302 2 9 4 1 2941 940 941 0003 0002 Paso 6
Registros del CPU 330022 PC AC 0005 IR 2941
Paso 5
Estructura y Funcin del CPU
Arquitectura de Computadoras
20
Diagrama de estados del ciclo de instruccinCaptacin de instruccin Captacin del operando Alcacenamiento de operando
Varios operandos
Varios operandos
Clculo de la direccin de la instruccin
Decodificacin de la operacin de la instruccin
Clculo de la direccin del operando
Operacin con datos
Clculo de la direccin del operando
Instruccin completada Captar la siguiente instruccin
Cadena o vector de datos
Estructura y Funcin del CPU
Arquitectura de Computadoras
21
Ciclo indirecto Puede requerir acceso a memoria para extraer operandos El direccionamiento indirecto requiere ms accesos a memoria Puede ser a travs de como un subciclo de instruccin adicional
Estructura y Funcin del CPU
Arquitectura de Computadoras
22
El ciclo de instruccinCaptacin
Interrupcin
Indirecto
Ejecucin
Estructura y Funcin del CPU
Arquitectura de Computadoras
23
Diagrama de estados del ciclo de instruccinIndireccinCaptacin de instruccin Captacin del operando Alcacenamiento de operando
Indireccin
Varios operandos
Varios resultados
Clculo de la direccin de la instruccin
Decodificacin de la operacin de la instruccin
Clculo de la direccin del operando
Operacin con datos
Clculo de la direccin del operando
Comprobacin de interrupcin
Interrupcin
Instruccin completada Captar la siguiente instruccin
Volver a por otro dato de una cadena o un vector
No interrupcin
Estructura y Funcin del CPU
Arquitectura de Computadoras
24
Flujo de datos (Extraccin de la instruccin) Depende del diseo del CPU En general: Extraer PC contiene la direccin de la siguiente instruccin La direccin se mueve a MAR Se pone la direccin 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 despus a IR Mientras tanto PC se incrementa a 1Arquitectura de Computadoras 25
Estructura y Funcin del CPU
Flujo de datos (Extraccin de los datos) Se examina IR Si es direccionamiento indirecto, se ejecuta el ciclo indirecto Los N bits ms de la derecha de MBR se transfieren a MAR La unidad de control solicita lectura de memoria El resultado (direccin del operando) se mueve a MBR
Estructura y Funcin del CPU
Arquitectura de Computadoras
26
Flujo de datos, ciclo de captacin
PC
MARUnidad De control
Memoria
IR
MBRBus de direcciones Bus de datos Bus de control 27
Estructura y Funcin del CPU
Arquitectura de Computadoras
Flujo de datos, ciclo indirecto
MARUnidad De control
Memoria
MBRBus de direcciones Estructura y Funcin del CPU Arquitectura de Computadoras Bus de datos Bus de control 28
Flujo de datos (Ejecucin) Puede tomar varias formas Depende de la instruccin que se est ejecutando Puede incluir Lectura