arquitectura de computadoras para ingenieríapmd/ac_ing/downloads/slides/aci-clase-10.pdfla...
TRANSCRIPT
![Page 1: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/1.jpg)
Dana K. Urribarri AC 2016 1
Arquitectura de Computadoraspara Ingeniería
(Cód. 7526)1° Cuatrimestre 2016
Dra. Dana K. UrribarriDCIC - UNS
![Page 2: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/2.jpg)
Dana K. Urribarri AC 2016 2
Modelos de arquitecturas
![Page 3: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/3.jpg)
Dana K. Urribarri AC 2016 3
Modelo von Neumann● El modelo von Neumann tiene 4 partes:
1) Unidad central de proceso (CPU)
2) Memoria
3) Entradas
4) Salidas
![Page 4: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/4.jpg)
Dana K. Urribarri AC 2016 4
Modelo von Neumann1) CPU:
– ALU
– Registros de alta velocidad para almacenar los operandos
– Unidad de control: interpreta las instrucciones y hace que se ejecuten
– Program counter (PC)
2) Memoria– Almacena instrucciones,
datos y resultadosintermedios y finales.Se implementa como una jerarquía.
![Page 5: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/5.jpg)
Dana K. Urribarri AC 2016 5
Modelo Harvard● Usa memoria y buses separados para instrucciones y datos.
● Pueden ejecutar instrucciones y acceder a datos simultáneamente.
● Requiere 4 buses, dos de direcciones y dos de contenido.
![Page 6: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/6.jpg)
Dana K. Urribarri AC 2016 6
Microprocesador vs Microcontrolador● Microprocesador:
– Chip que contiene la CPU.
– Modelo von Neumann. La memoria es externa al microprocesador.
● Microcontrolador:– Un único chip que contiene CPU, memoria,
entrada/salida y periféricos.
– Modelo Harvard.
![Page 7: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/7.jpg)
Dana K. Urribarri AC 2016 7
Medidas de desempeño
![Page 8: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/8.jpg)
Dana K. Urribarri AC 2016 8
Medidas de desempeño● Para comparar arquitecturas se necesita
mediciones que reflejen:– la arquitectura del procesador
– la jerarquía de memoria
independientemente:– de los programas
– del subsistema de I/O.
![Page 9: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/9.jpg)
Dana K. Urribarri AC 2016 9
Medidas de desempeño● Ciclos por instrucción (CPI)● Instrucciones por ciclo (IPC)● Rendimiento (Throughput)● Latencia● Speedup● Eficiencia
![Page 10: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/10.jpg)
Dana K. Urribarri AC 2016 10
Tiempo de ejecución● El tiempo de ejecución de un programa (EXCPU)
depende de la cantidad de instrucciones a ejecutar y del tiempo de ejecución de cada instrucción.
● El tiempo de ejecución de una instrucción puede medirse en función de la cantidad de ciclos que demora en ejecutarse y del período de cada pulso.
EXCPU = #Instrucciones × CPI × período del reloj
#Total de ciclos 1/frecuencia
Medidas de desempeño
![Page 11: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/11.jpg)
Dana K. Urribarri AC 2016 11
Instrucciones por ciclo● La recíproca del CPI
CPI = EXCPU / (#Instrucciones x período del reloj)
es la cantidad de instrucciones que se ejecutan en un ciclo
IPC = 1 / CPI
IPC = #Instrucciones × período del reloj / EXCPU
IPC = #Instrucciones / #Total de ciclos
Medidas de desempeño
![Page 12: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/12.jpg)
Dana K. Urribarri AC 2016 12
Medidas de desempeño● Throughput: IPC
– Cantidad de trabajo (instrucciones) por unidad de tiempo
● Latencia: EXCPU
– Las unidades de tiempo que demanda realizar el trabajo.
![Page 13: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/13.jpg)
Dana K. Urribarri AC 2016 13
Medidas de desempeño● El rendimiento (performance) se define como la
recíproca del tiempo de ejecución.● Los tres factores que afecta el rendimiento son:
– La cantidad de instrucciones ejecutadas Responsabilidad del compilador
– CPI (o IPC) Responsabilidad del diseño e implementación de la arquitectura
– Frecuencia del reloj Dependiente de la tecnología
![Page 14: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/14.jpg)
Dana K. Urribarri AC 2016 14
Comparación de desempeño● Comparación en términos relativos (no absolutos)● Un sistema A tiene mejor rendimiento que un
sistema B si el sistema A tiene menor tiempo de ejecución (para un conjunto de programas) que el sistema B.
RendimientoA
RendimientoB
=1 /EXCPU A
1 /EXCPU B
=EXCPU B
EXCPU A
![Page 15: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/15.jpg)
Dana K. Urribarri AC 2016 15
Comparación de desempeño● El speedup es la razón entre el rendimiento de un
sistema mejorado y el rendimiento de su implementación original
Speedup=Rendimiento MejoradoRendimientoOriginal
=EXCPU Original
EXCPU Mejorado
![Page 16: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/16.jpg)
Dana K. Urribarri AC 2016 16
Eficiencia● Mientras el speedup es la ganancia por mejorar
un sistema.● La eficiencia mide la utilización de un recurso.
● Si Speedupn es la ganancia por mejorar el sistema con n recursos, la eficiencia mide la utilización de esos recursos.
Eficiencia=Speedupn
n
![Page 17: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/17.jpg)
Dana K. Urribarri AC 2016 17
Ley de Amdahl● El speedup se definió inicialmente para
procesadores paralelos.
● Si T1 es el tiempo de ejecución en un procesador y Tn es el tiempo de ejecución en n procesadores, lo esperable sería que:
Tn = T1 / n
y por lo tanto
Speedup=T 1
T n
=T 1
T 1 /n=n
![Page 18: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/18.jpg)
Dana K. Urribarri AC 2016 18
Ley de Amdahl● La ejecución de un programa consiste de una
parte secuencial seguido de una parte paralelizable.
● Si– s es el tiempo de ejecución de la parte secuencial
– p es el tiempo de ejecución secuencial de la parte paralelizable
● EntoncesT1 = s + p
Tn = s + p / nSpeedup=
T 1
T n
=s+p
s+p /n
![Page 19: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/19.jpg)
Dana K. Urribarri AC 2016 19
Ley de Amdahl● Si
● En el límite (n → ∞)
● Luego, si asumimos T1 = 1 (o 100%) el máximo speedup 1/s está limitado por la fracción de tiempo que se consume en la ejecución de la parte secuencial.
Speedup=T 1
T n
=s+p
s+p /n
limn→∞ Speedup=s+p
s
![Page 20: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/20.jpg)
Dana K. Urribarri AC 2016 20
Microarquitectura de microprocesador
(Modelo von Neumann)
![Page 21: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/21.jpg)
Dana K. Urribarri AC 2016 21
Arquitectura y Microarquitectura● La arquitectura de una computadora la define:
– El set de instrucciones
– La ubicación de los operandos (registros y memoria)
– x86, MIPS, SPARC, PowerPC.
● La arquitectura no define la implementación del hardware.– Intel y AMD implementan la arquitectura x86.
– Diferencias en rendimiento, precio y consumo.
● La microarquitectura es la combinación específica de registros, memoria, ALUs y otros bloques del microprocesador.
![Page 22: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/22.jpg)
Dana K. Urribarri AC 2016 22
Arquitectura● Vamos a considerar DLX, un subconjunto de MIPS.● MIPS:
– RISC
– 32 y 64 bits
● Implementaciones de MIPS se usan en Sistemas Embebidos:– Dispositivos con Windows CE
– Routers
– Consolas como Nintendo 64, Sony PlayStation, PlayStation 2 y PlayStation Portable.
![Page 23: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/23.jpg)
Dana K. Urribarri AC 2016 23
Arquitectura DLXDLX incluye:● Instrucciones R-type
Instrucciones aritmético-lógico● Instrucciones de escritura y lectura en
memoria
Load y store● Instrucciones de bifurcación
Saltos condicionles (branch) e incondicionales (jump)
![Page 24: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/24.jpg)
Dana K. Urribarri AC 2016 24
Microarquitectura● La microarquitectura se divide en dos partes que interactúan
entre sí:– Datapath
– Unidad de Control
● Datapath– Opera sobre los datos.
– Involucra memorias, registros, ALUs y multiplexores.
● Unidad de Control– A partir de la instrucción actual le indica al datapath cómo ejecutar
la instrucción.
– Produce señales de multiplexado, habilitaciones de registros y señales a la memoria para controlar las operaciones del datapath.
![Page 25: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/25.jpg)
Dana K. Urribarri AC 2016 25
Ciclo de ejecuciónLos pasos básicos para ejecutar una instrucción:
1) Se trae de memoria la próxima instrucción a ejecutar (apuntada por el PC)
2) La unidad de control decodifica la instrucción
3) Se ejecuta la instrucción. Puede ser:– Operación de la ALU
– Cargar un registro con un dato de memoria
– Almacenar un dato de un registro en memoria
– Testear la condición de un salto
4) Se actualiza el PC
5) Volver al paso 1
![Page 26: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/26.jpg)
Dana K. Urribarri AC 2016 26
Diseño de la microarquitectura● Tres posibles microarquitecturas para MIPS:
– Diseño único ciclo:
Ejecuta la instrucción completa en un único ciclo.
– Diseño multi-ciclo:
Ejecuta las instrucciones en una serie de ciclos cortos.
– Diseño en pipeline:
Aplica pipeline a la microarquitectura de un único ciclo.
![Page 27: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/27.jpg)
Dana K. Urribarri AC 2016 27
Microarquitectura único ciclo● Cada instrucción se ejecuta en un único ciclo de
reloj (CPI = 1).– Comienza en un flanco ascendente (o descendente)
– Termina en el próximo flanco ascendente (o descendente)
● El ciclo tiene que ser lo suficientemente largo para permitir la ejecución de la instrucción más lenta.
● No es práctico pero es simple.
![Page 28: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/28.jpg)
Dana K. Urribarri AC 2016 28
Microarquitectura único ciclo
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
![Page 29: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/29.jpg)
Dana K. Urribarri AC 2016 29
Microarquitectura único cicloLoad:● R[d] ← Mem[R[s] + #valor]● PC ← PC + 4
1) Traer la instrucción
2) Obtener los operandos: leer el registro del banco de registros y obtener el valor inmediato
3) Calcular la dirección de memoria
4) Leer el dato de memoria y escribirlo en el banco de registros.
5) Actualizar el PC
![Page 30: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/30.jpg)
Dana K. Urribarri AC 2016 30
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Load: Traer la instrucciónMicroarquitectura único ciclo
![Page 31: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/31.jpg)
Dana K. Urribarri AC 2016 31
Load: Obtención de operandos
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 32: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/32.jpg)
Dana K. Urribarri AC 2016 32
Load: Cálculo de dirección
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 33: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/33.jpg)
Dana K. Urribarri AC 2016 33
Load: Escribir el dato obtenido en el destino
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 34: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/34.jpg)
Dana K. Urribarri AC 2016 34
Load: Actualizar PC
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 35: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/35.jpg)
Dana K. Urribarri AC 2016 35
Microarquitectura único cicloR-type (add, or, etc):● R[d] ← R[s] + R[t]● PC ← PC + 4
1) Traer la instrucción
2) Obtener los operandos: leer el registro del banco de registros los dos operandos
3) Realizar la operación de la ALU
4) Escribir el resultado en el banco de registros.
5) Actualizar el PC
![Page 36: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/36.jpg)
Dana K. Urribarri AC 2016 36
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
R-type: Traer la instrucciónMicroarquitectura único ciclo
![Page 37: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/37.jpg)
Dana K. Urribarri AC 2016 37
R-type: Obtención de operandos
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 38: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/38.jpg)
Dana K. Urribarri AC 2016 38
R-type: Realizar la operación de la ALU
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 39: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/39.jpg)
Dana K. Urribarri AC 2016 39
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
R-type: Escribir el resultadoMicroarquitectura único ciclo
![Page 40: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/40.jpg)
Dana K. Urribarri AC 2016 40
R-type: Actualizar PC
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 41: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/41.jpg)
Dana K. Urribarri AC 2016 41
Microarquitectura único cicloStore:● Mem[d + #valor] ← R[s]● PC ← PC + 4
1) Traer la instrucción
2) Obtener los operandos: leer los registros s y d del banco de registros y el valor inmediato.
3) Calcular la dirección destino
4) Escribir el valor del registro en memoria.
5) Actualizar el PC
![Page 42: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/42.jpg)
Dana K. Urribarri AC 2016 42
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Store: Traer la instrucciónMicroarquitectura único ciclo
![Page 43: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/43.jpg)
Dana K. Urribarri AC 2016 43
Store: Obtención de operandos
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 44: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/44.jpg)
Dana K. Urribarri AC 2016 44
Store: Calcular la dirección
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 45: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/45.jpg)
Dana K. Urribarri AC 2016 45
Store: Escribir el resultado
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 46: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/46.jpg)
Dana K. Urribarri AC 2016 46
Store: Actualizar PC
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 47: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/47.jpg)
Dana K. Urribarri AC 2016 47
Microarquitectura único cicloBranch (beq):● Si R[s] == R[t]
– Entonces PC ←PC + offset
– Si no PC ← PC + 4
1) Traer la instrucción
2) Obtener los operandos: leer los registros s y t del banco de registros y el valor inmediato.
3) Evaluar la condición
4) Actualizar el PC en función de la condición
![Page 48: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/48.jpg)
Dana K. Urribarri AC 2016 48
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Branch: Traer la instrucciónMicroarquitectura único ciclo
![Page 49: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/49.jpg)
Dana K. Urribarri AC 2016 49
Branch: Obtención de operandos
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 50: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/50.jpg)
Dana K. Urribarri AC 2016 50
Branch: Evaluar la condición
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 51: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/51.jpg)
Dana K. Urribarri AC 2016 51
Branch: Actualizar PC
SignImm
CLK
A RD
InstructionMemory
+
4
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1
A RD
DataMemory
WD
WE0
1
PC0
1PC' Instr
25:21
20:16
15:0
5:0
SrcB
20:16
15:11
<<2
+
ALUResult ReadData
WriteData
SrcA
PCPlus4
PCBranch
WriteReg4:0
Result
31:26
RegDst
Branch
MemWrite
MemtoReg
ALUSrc
RegWrite
Op
Funct
ControlUnit
Zero
PCSrc
CLK
ALUControl2:0
ALU
Microarquitectura único ciclo
![Page 52: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/52.jpg)
Dana K. Urribarri AC 2016 52
Microarquitectura único ciclo● Implica:
✔ Diseño simple
✗ El período del ciclo está limitado por la instrucción más lenta.
✗ Necesita 2 sumadores además de la ALU
✗ Fuerza memorias separadas
✗ La operación del datapath es puramente combinacional.La máquina está en estados estables solamente al principio y al final del ciclo.
![Page 53: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/53.jpg)
Dana K. Urribarri AC 2016 53
Microarquitectura multi-ciclo● Las instrucciones se ejecutan a lo largo de varios
ciclos cortos.● Reduce el hardware ya que permite reusar
bloques de hardware.● Agrega hardware para almacenar resultados
intermedios.● Ejecuta una instrucción por vez y cada instrucción
demanda múltiples ciclos.
![Page 54: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/54.jpg)
Dana K. Urribarri AC 2016 54
SignImm
CLK
ARD
Instr / DataMemory
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1 0
1
PC 0
1
PC' Instr25:21
20:16
15:0
5:0
SrcB20:16
15:11
<<2
ALUResult
SrcA
ALUOut
31:26
Re
gDst
Branch
MemWrite
Mem
toReg
ALUSrcA
RegWriteOp
Funct
ControlUnit
Zero
PCSrc
CLK
CLK
ALUControl2:0
AL
U
WD
WE
CLK
Adr
0
1Data
CLK
CLK
A
B00
01
10
11
4
CLK
ENEN
ALUSrcB1:0IRWrite
IorD
PCWritePCEn
Traer la instrucción
![Page 55: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/55.jpg)
Dana K. Urribarri AC 2016 55
SignImm
CLK
ARD
Instr / DataMemory
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1 0
1
PC 0
1
PC' Instr25:21
20:16
15:0
5:0
SrcB20:16
15:11
<<2
ALUResult
SrcA
ALUOut
31:26
Re
gDst
Branch
MemWrite
Mem
toReg
ALUSrcA
RegWriteOp
Funct
ControlUnit
Zero
PCSrc
CLK
CLK
ALUControl2:0
AL
U
WD
WE
CLK
Adr
0
1Data
CLK
CLK
A
B00
01
10
11
4
CLK
ENEN
ALUSrcB1:0IRWrite
IorD
PCWritePCEn
Obtención de operandos
![Page 56: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/56.jpg)
Dana K. Urribarri AC 2016 56
SignImm
CLK
ARD
Instr / DataMemory
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1 0
1
PC 0
1
PC' Instr25:21
20:16
15:0
5:0
SrcB20:16
15:11
<<2
ALUResult
SrcA
ALUOut
31:26
Re
gDst
Branch
MemWrite
Mem
toReg
ALUSrcA
RegWriteOp
Funct
ControlUnit
Zero
PCSrc
CLK
CLK
ALUControl2:0
AL
U
WD
WE
CLK
Adr
0
1Data
CLK
CLK
A
B00
01
10
11
4
CLK
ENEN
ALUSrcB1:0IRWrite
IorD
PCWritePCEn
Operación ALU / Cálculo dirección
![Page 57: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/57.jpg)
Dana K. Urribarri AC 2016 57
SignImm
CLK
ARD
Instr / DataMemory
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1 0
1
PC 0
1
PC' Instr25:21
20:16
15:0
5:0
SrcB20:16
15:11
<<2
ALUResult
SrcA
ALUOut
31:26
Re
gDst
Branch
MemWrite
Mem
toReg
ALUSrcA
RegWriteOp
Funct
ControlUnit
Zero
PCSrc
CLK
CLK
ALUControl2:0
AL
U
WD
WE
CLK
Adr
0
1Data
CLK
CLK
A
B00
01
10
11
4
CLK
ENEN
ALUSrcB1:0IRWrite
IorD
PCWritePCEn
Escritura en memoria / registros
![Page 58: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/58.jpg)
Dana K. Urribarri AC 2016 58
SignImm
CLK
ARD
Instr / DataMemory
A1
A3
WD3
RD2
RD1WE3
A2
CLK
Sign Extend
RegisterFile
0
1
0
1 0
1
PC 0
1
PC' Instr25:21
20:16
15:0
5:0
SrcB20:16
15:11
<<2
ALUResult
SrcA
ALUOut
31:26
Re
gDst
Branch
MemWrite
Mem
toReg
ALUSrcA
RegWriteOp
Funct
ControlUnit
Zero
PCSrc
CLK
CLK
ALUControl2:0
AL
U
WD
WE
CLK
Adr
0
1Data
CLK
CLK
A
B00
01
10
11
4
CLK
ENEN
ALUSrcB1:0IRWrite
IorD
PCWritePCEn
Actualización del PC
![Page 59: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/59.jpg)
Dana K. Urribarri AC 2016 59
Microarquitectura multi-ciclo✔ Permite mayor frecuencia de reloj.
✗ No todos los pasos son de igual duración.El reloj debe ser permitir el paso más lento.
✗ Agrega la sobrecarga de los registros entre los pasos.
![Page 60: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/60.jpg)
Dana K. Urribarri AC 2016 60
Microarquitectura en pipeline● Se divide la microarquitectura único ciclo en
etapas.● Cada instrucción se ejecuta en varios ciclos, pero
todas en la misma cantidad de ciclos.● Las etapas se ejecutan en pipeline y diferentes
etapas pueden ejecutarse en paralelo.
● Los procesadores modernos están diseñados en pipeline.
![Page 61: Arquitectura de Computadoras para Ingenieríapmd/ac_ing/downloads/Slides/ACI-Clase-10.pdfLa arquitectura de una computadora la define: – El set de instrucciones – La ubicación](https://reader033.vdocuments.site/reader033/viewer/2022051604/5ff8bef9de836671eb7da086/html5/thumbnails/61.jpg)
Dana K. Urribarri AC 2016 61
Bibliografía● Capítulo 1. Jean-Loup Baer. Multiprocessor
Architecture. From simple pipelines to chip multiprocessor. Cambridge University Press. 2010.
● Capítulo 7. David Money Harris & Sarah L. Harris. Digital Design and Computer Architecture. Elsevier. 2013, 2da Ed.
● Capítulo 4. David A. Patterson & John L. Hennessy. Computer Organization and Design. The Hardware/Software Interface. Elsevier Inc. 2014, 5ta Ed.