CONCEPTO
El concepto básico de la segmentación es el de la división del trabajo
Aparece por vez primera en la industria del automóvil, en la producción del Ford T. En este contexto se denomino producción en cadena.
La mayoría de los sectores industriales con alta producción manufacturera utilizan la producción en cadena para abaratar los costes de producción.
Algo similar ocurre en el campo de los computadores, aunque históricamente es algo posterior.
1
COMPUTADORES SEGMENTADOS
Ejecutan billones de instrucciones, por lo que su productividad (throughput) es lo que importa
Entre las características deseables (MIPS – DLX):
RISC -> Simple.
Todas las instrucciones tengan la misma longitud,
Los registros estén localizados siempre en la misma posición del formato de instrucción (formato fijo de instrucción).
Que sólo haya operandos de memoria en los loads y stores.
Sólo estas instrucciones acceden a memoria.
2
UN RISC "TÍPICO"
Formato de instrucción fijo de 32-bit (3 formatos)
32 Registros de propósito general (GPR) de 32-bit (R0 contiene cero, DP se toman en pares)
Instrucciones aritméticas reg-reg de 3-direcciones
Un único modo de direccionamiento en los load/store:
reg base + desplazamiento
no hay direccionamientos indirectos
Condiciones de salto simples
Saltos retardados
Ejemplos: SPARC, MIPS, HP PA-Risc, DEC Alpha, IBM PowerPC, CDC 6600, CDC 7600, Cray-1, Cray-2, Cray-3
3
MIPS: REPERTORIO DE INSTRUCCIONES
4
SEGMENTACION DE UN PROCESADOR
Queremos dividir en varias etapas las operaciones que se realizan en el flujo de datos de la máquina de forma que:
El tiempo en cada etapa sea aproximadamente el mismo
Cada etapa sea utilizada como mucho una vez en cada instrucción (cauce lineal)
Los registros puedan diseñarse con claridad, para mantener la información de estado de las instrucciones entre las operaciones.
Que no haya demasiadas etapas como para que el tiempo perdido en los latch llegue a predominar
Que haya suficientes etapas como para que se consiga una ganancia significativa en las prestaciones
5
SEGMENTACION DEL PROCESADOR DLX
Para este procesador simple, se estructurará en 5 etapas:
Etapa IF (Instruction fetch): búsqueda de la instrucción
Etapa ID (Instruction decode and register fetch): descodificación de la instrucción y búsqueda de operandos en los registros.
Etapa EX (Execution): ejecución de las operaciones en la ALU
Etapa MEM (Memory access): acceso a memoria.
Etapa WB (Write back): escritura de los resultados en los registros.
Recuerde que:
Es un proc. RISC (simplicidad del juego de instr.)
Acceso a las caches en un ciclo
Dos caches: una de instrucciones y una de datos
Integradas en el cauce
6
RUTA DE DATOS BÁSICA DLX (5 ETAPAS)
7
(Gp:) Memory
Access
(Gp:) Write
Back
(Gp:) Instruction
Fetch
(Gp:) Instr. Decode
Reg. Fetch
(Gp:) Execute
Addr. Calc
(Gp:) ALU
(Gp:) MUX
(Gp:) Instr.
Memory
(Gp:) Reg File
(Gp:) MUX
(Gp:) MUX
(Gp:) Data
Memory
(Gp:) MUX
(Gp:) Sign
Extend
(Gp:) 4
(Gp:) Add
(Gp:) Zero?
(Gp:) PC
(Gp:) WB Data
(Gp:) Rs1
(Gp:) Rs2
(Gp:) Imm
(Gp:) PC
(Gp:) Instr
(Gp:) PC
(Gp:) PC
(Gp:) PC
(Gp:) AOR
(Gp:) SVR
(Gp:) ImR
(Gp:) AIR 2
(Gp:) AIR 1
(Gp:) CR
(Gp:) ARR
(Gp:) LMDR
(Gp:) RD
(Gp:) RD
(Gp:) RD
(Gp:) Rd
TEMPORIZACIÓN DEL CAUCE
8
Memoria de instrucciones
Latch
Latch
Resultados
Lógica
Lógica
Lógica
Reloj
Instrucción i+2
Instrucción i+1
Instrucción i
Paso 1
Paso 2
Paso 3
TEMPORIZACIÓN: SEÑALES
9
FLUJO DE LOS DATOS EN EL CAUCE SEGÚN EL TIPO DE INSTRUCCIÓN (I)
10
PC2 = PC; PC=PC+4
Página siguiente |