Estructura y funcion del cpu

  • Published on
    30-Jun-2015

  • View
    957

  • Download
    0

Transcript

Organizacin y Arquitectura de ComputadorasCaptulo 11 Estructura y funcin del CPUEstructura y Funcin del CPUArquitectura de Computadoras1Estructura del CPU El CPU debe: Extraer instrucciones Interpretar instrucciones Extraer datos Procesar datos Escribir datosEstructura y Funcin del CPUArquitectura de Computadoras222Registros 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 memoriaEstructura y Funcin del CPUArquitectura de Computadoras323Registros visibles al usuario Propsito general Datos Direcciones Cdigos de condicinEstructura y Funcin del CPUArquitectura de Computadoras424Registros de propsito general (1) Pueden ser verdaderamente de propsito general Pueden ser restringidos Pueden usarse para datos o direccionamiento Datos Acumulador Direccionamiento SegmentoEstructura y Funcin del CPUArquitectura de Computadoras525Registros 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 flexibilidadEstructura y Funcin del CPUArquitectura de Computadoras626Cuntos registros de propsito general? Entre 8 - 32 Menos Ms referencias a memoria Ms No reducen notablemente las referencias a memoria Ver RISCEstructura y Funcin del CPUArquitectura de Computadoras727Qu 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 CPUArquitectura de Computadoras828Registros 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 programasEstructura y Funcin del CPUArquitectura de Computadoras929Registros 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 CPUArquitectura de Computadoras1030PSW (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 11Estructura y Funcin del CPU31Modo Supervisor Intel ring zero Modo Kernel Permite que se ejecuten instrucciones privilegiadas Usadas por el Sistema Operativo No disponibles para los programas de usuarioEstructura y Funcin del CPUArquitectura de Computadoras1232Otros 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 encadenadosEstructura y Funcin del CPUArquitectura de Computadoras1333Ejemplos de organizaciones de registros (MC68000)Registros de datosD0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A7Registros de direccionesEstado del programaContador del programaRegistro de estadoEstructura y Funcin del CPUArquitectura de Computadoras14Ejemplos de organizaciones de registros (8086)Registros generales SegmentoAX BX CX DXAcumulador Base Contador DatosCS DS SS ESCdigo Datos Pila ExtraPunteros e ndicesEstado del programaPtr. instr. IndicadoresSP BP SI DIPuntero de pila Puntero base ndide Fuente ndice destinoEstructura y Funcin del CPUArquitectura de Computadoras15Ejemplos de organizaciones de registros (80386-Pentium)Registros generales SegmentoAX BX CX DXEAX EBX ECX EDXPunteros e ndicesCS DS SS ESCdigo Datos Pila ExtraEstado del programaSP BP SI DI Ptr. instr. Indicadores, (EFLAGS)ESP EBP ESI EDIEstructura y Funcin del CPUArquitectura de Computadoras16Ejecucin de una Instruccin Dos pasos: Captura EjecucinCiclo Fetch (Captura)Ciclo de ejecucinINICIOCaptura siguiente instruccinEjecuta instruccinHALTEstructura y Funcin del CPUArquitectura de Computadoras17Ciclo 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 18Ciclo 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 arribaEstructura y Funcin del CPUArquitectura de Computadoras19Ejemplo 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 1940Memoria 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 4Memoria 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 6Registros del CPU 330022 PC AC 0005 IR 2941Paso 5Estructura y Funcin del CPUArquitectura de Computadoras20Diagrama de estados del ciclo de instruccinCaptacin de instruccin Captacin del operando Alcacenamiento de operandoVarios operandosVarios operandosClculo de la direccin de la instruccinDecodificacin de la operacin de la instruccinClculo de la direccin del operandoOperacin con datosClculo de la direccin del operandoInstruccin completada Captar la siguiente instruccinCadena o vector de datosEstructura y Funcin del CPUArquitectura de Computadoras21Ciclo 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 adicionalEstructura y Funcin del CPUArquitectura de Computadoras22El ciclo de instruccinCaptacinInterrupcinIndirectoEjecucinEstructura y Funcin del CPUArquitectura de Computadoras23Diagrama de estados del ciclo de instruccinIndireccinCaptacin de instruccin Captacin del operando Alcacenamiento de operandoIndireccinVarios operandosVarios resultadosClculo de la direccin de la instruccinDecodificacin de la operacin de la instruccinClculo de la direccin del operandoOperacin con datosClculo de la direccin del operandoComprobacin de interrupcinInterrupcinInstruccin completada Captar la siguiente instruccinVolver a por otro dato de una cadena o un vectorNo interrupcinEstructura y Funcin del CPUArquitectura de Computadoras24Flujo 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 25Estructura y Funcin del CPUFlujo 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 MBREstructura y Funcin del CPUArquitectura de Computadoras26Flujo de datos, ciclo de captacinPCMARUnidad De controlMemoriaIRMBRBus de direcciones Bus de datos Bus de control 27Estructura y Funcin del CPUArquitectura de ComputadorasFlujo de datos, ciclo indirectoMARUnidad De controlMemoriaMBRBus de direcciones Estructura y Funcin del CPU Arquitectura de Computadoras Bus de datos Bus de control 28Flujo 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 ALUEstructura y Funcin del CPUArquitectura de Computadoras29