Estructura y funcion del cpu

  • Published on
    01-Jul-2015

  • View
    1.709

  • Download
    0

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/Escritura de la memoria Entrada/Salida Transferencias de registros Operaciones en la ALU

Estructura y Funcin del CPU

Arquitectura de Computadoras

29