Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase Datapath
Clase Datapath
Dr.Ing.Steiner Guillermo
●
Bibliografía
Harris & Harris. Digital design and computer architecture:
ARM edition. Elsevier, 2015. Capítulo 7.
– Hoja 385 a 397
Introducción
●
En este capitulo veremos como se construye internamente
un microprocesador.
●
Una vez estudiado como es la arquitectura ARM, (set de
instrucciones, registros, manejo de memoria,etc).
El paso siguientes es estudiar la microarquitectura, es
decir como esta formado realmente los bloques de registros,
ALU, máquinas de estados, memorias, etc.
●
Una arquitectura puede tener muchas microarquitecturas,
cada una con su particularidades de rendimientos, costos y
complejidad.
●
Independientemente de la microarquitectura, todos los
procesadores de la misma arquitectura correrán el mismo
programa.
Arquitectura
La Arquitectura está formada por:
El Set de Instrucciones
32 32 4 4
CLK CLK
WE WE 32
4 A1 RD1
A RD A RD 4 32
A2 RD2
32 32 32 32
Memoria de Memoria de 4 A3 Arch. de
Instrucciones Datos 32 Registros
WD WD3
32 32 R15
Elementos del estado
Contador de Programa (PC) El PC perteneceSTATUS
al Archivo de
CLK
Registro pero porCLK
ser leído y
PC' PC escrito en cada ciclo se
presenta como registro aislado
32 32 4 4
CLK CLK
WE WE 32
4 A1 RD1
A RD A RD 4 32
A2 RD2
32 32 32 32
Memoria de Memoria de 4 A3 Arch. de
Instrucciones Datos 32 Registros
WD WD3
32 32 R15
Elementos del estado
Contador de Programa (PC) STATUS
La memoria CLKde instrucciones CLK
solo tendrá un puerto de
direcciónPC' PC de
y un puerto En la memoria de datos,
lectura ambos de 32 bis además se suma el puerto
32 32 de escritura,
4 clock4y señal
para habilitar la escritura
CLK CLK
WE WE 32
4 A1 RD1
A RD A RD 4 32
A2 RD2
32 32 32 32
Memoria de Memoria de 4 A3 Arch. de
Instrucciones Datos 32 Registros
WD WD3
32 32 R15
Elementos del estado
Posee 15 Registros
Contador (R0-R14)
de Programa (PC) STATUS
A1 indica queCLK
registro sale por RD1 CLK
A2 hace lo
PC'propio con
PC RD2
A3 indica en que registro se guarda
lo ingresado
32 por WD3
32 4 4
Para poder tener a R15(PC) como
salida, su valor se inyecta por R15 CLK
CLK
WE WE 32
4 A1 RD1
A RD A RD 4 32
A2 RD2
32 32 32 32
Memoria de Memoria de 4 A3 Arch. de
Instrucciones Datos 32 Registros
WD WD3
32 32 R15
Elementos del estado
Instrucciones:
●
La cantidad de instrucciones depende de la
arquitectura
●
Una instrucción en una arquitectura puede requerir
varias en otra.
●
Depende también del programador o del compilador
●
Se asume arquitectura ARM donde el número de
instrucciones de cada programa no cambia.
Análisis de Rendimiento
●
El tiempo de ejecución de un programa está dado por:
ciclos segundos
Tiempo de Ejecución=(instrucciones)( )( )
instrucciones ciclos
ciclos segundos
Tiempo de Ejecución=(instrucciones)( )( )
instrucciones ciclos
I=0 11:0
31:28 25:20 19:16 15:12 11:00 imm12
cond 01 I PUBW L Rn Rd src2 11:7 6:5 4 3:0
shamt5 sh 0 Rm
I=1
●
Modo de Direccionamiento: Inmediato (I=0)
●
Registro base + offset (U=1 add )
●
Tipo de Direcc.: Pre-Indexado sin modificar (PW=10)
●
Tipo de Dato: Word (B=0)
Ejemplo LDR R1,[R2,#5]
LDR Rd, [Rn, imm12]
Instrucción LDR – Paso 1
Se obtiene la instrucción
●
El PC entra como dirección en la mem de instrucciones
●
Se obtiene la instrucción
Instrucción
CLK
CLK CLK
WE
PC' PC A1 RD1 WE
A RD
RD2 A
Mem. A2 RD
de Arch.
A3 de Mem.
Instrucc.
WD3 Reg. de
WD
R15 Datos
Instrucción LDR - Paso 2
Leer el registro base del Archivo de Registros.
●
El nro del registro ( bit 19 a 16) entra en A1
●
El Archivo de Registro (AR) dispone el valor del reg en
RD1 Instrucción
CLK
CLK CLK
WE
PC' PC 19:16
A1 RD1 WE
A RD
RD2 A
Mem. A2 RD
de Arch.
A3 de Mem.
Instrucc.
WD3 Reg. de
WD
R15 Datos
Instrucción
CLK
CLK CLK
WE
PC' PC 19:16
A1 RD1 WE
A RD
RD2 A
Mem. A2 RD
de Arch.
A3 de Mem.
Instrucc.
WD3 Reg. de
WD
R15 Datos
PC’= PC + 4 →Instrucción
PC RegWr AluCtr
1 00
CLK (+)
CLK CLK
WE Dato
A
PC' PC WD3→ Rd
19:16
A1 RD1 WE a
A RD AluResul Leer
RD2 A
Mem. A2 ALU RD
Arch. B
de
Mem.
Instrucc. 15:12 A3 de
WD3 Reg. de
WD
R15 Datos
++ PC+4
4
11:0 Extender Inmediato expandido
Resultado
Instrucción usando R15
Para utilizar el PC como fuente o destino, hacemos:
●
Como Fuente: se incorpora mediante una entrada
especial (R15) en el AR, se utiliza PC+8 como entrada.
PCSrc RegWr AluCtr
Instrucción
0 1 00
CLK (+)
CLK
15
WE CLK Dato
PC' PC 19:16 A
1 A1 RD1 WE a
A RD AluResul Leer
0 RD2 A
Mem. A2 ALU RD
Arch. B
de
Mem.
Instrucc. 15:12 A3 de
4 WD3 Reg. de
++ PC+8 WD
R15 Datos
++ PC+4
4
11:0 Extender Inmediato expandido
Resultado
I=0 11:0
31:28 25:20 19:16 15:12 11:00 imm12
cond 01 I PUBW L Rn Rd src2 11:7 6:5 4 3:0
shamt5 sh 0 Rm
I=1
31:28 25 24 23:0
cond 10 1 L imm24
Ejemplo B etiqueta
Instrucción de Salto
●
Un mux permite seleccionar como entrada A del source
al R15