Pipeline
Pontificia Universidad Cato
´
Escuela de Ingenierıa
´n
Departamento de Ciencia de la Computacio
IIC2343 Arquitectura de Computadores
Pipeline: Paralelismo a nivel de instrucci´
on
c Alejandro Echeverr´
ıa
1.
Motivaci´
on
Las principales mejoras en eficiencia de los computadores no ocurren s´
olo por mejoras en la tecnolog´ıa de construcci´
on de estos,sino tambi´en por el desarrollo de t´ecnicas que permiten aprovechar
procesamiento paralelo en el computador. Existen distintos niveles a los cuales se puede aprovechar
el paralelismo, siendo el m´
as b´asico el paralelismo a nivel de la instrucci´on.
2.
Ciclo de la instrucci´
on
Cada instrucci´on que se ejecuta un computador pasa por un ciclo, que va desde que es seleccionada desdememoria hasta que completa su objetivo. Este ciclo aunque es similar en todas las
arquitecturas de computadores, presenta algunas variaciones, dependiendo de la complejidad de la
microarquitectura y de decisiones de dise˜
no. El computador b´asico Harvard (figura 1), por ejemplo,
tendr´
a un cierto ciclo, pero este no ser´
a exactamente igual al de una arquitectura x86 o de un
PIC16F87AA
81
IncSp
SP
8
DecSp
8
8
Mux DataIn
Sdin
Mux Address
8
PC
Lpc
Sadd0
Sadd1
8
8
Data in
Address
Address
8
8
Data
Memory
Data out
Spc
Mux PC
Adder
W
La
Reg A
Lb
Reg B
Data out
0
1 0
8
Instruction
Memory
8
15
8
8
Sa0
Sa1
Mux A
7
Mux B
8
Sb0
Sb1
Control
Unit
8
AB
ALU
Result
Sop0
Sop1
Sop2
17
Z NCV
La, Lb, Sa0, Sa1, Sb0, Sb1,
Sop0, Sop1, Sop2, Sadd0, W,
Lpc, Sdin, Spc, Sadd1, IncSp,
DecSp
8
Status
4
Figura 1: Diagrama computador b´
asico.
1
El ciclo de la instrucci´on de computador b´asico Harvard, aunque es simple, presenta algunas
complejidades que har´
an dif´ıciles el an´
alisis en detalle de ´esteposteriormente requerido. Para evitar
estos problemas y trabajar con un ciclo m´
as simple, se trabajar´
a con una versi´
on simplificada del
computador b´asico, la cual se muestra en la figura 2. Las principales diferencias son las siguientes:
Se elimina el soporte de stack, eliminando el Stack Pointer y las conexi´
on del PC con memoria.
Se simplifican los saltos condicionales, soportando ahorasolamente el condition code Z, y la
instrucci´on JEQ. Adicionalmente, esta instrucci´on realizar´
a la comparaci´
on (A − B) y el salto
en un mismo ciclo, por lo que se elimina tambi´en el Status Register.
Se elimina la conexi´
on entre la salida de memoria y el MUX B. Ahora la salida de memoria no
se puede ocupar como par´
ametro en la ALU, y solo puede ser usada para cargar los registros
Ay B, es decir s´
olo se soportan instrucciones de transferencia desde la memoria.
La entrada de datos de la memoria, ahora s´
olo puede provenir de los registros A y B, y no de
la ALU, es decir s´
olo se soportan instrucciones de transferencia hacia la memoria
La direcci´
on de la memoria ahora proviene de la ALU, lo que permite los mismos direccionamientos que antes (directo, indirectopor registro B), y agrega otros tipos de direccionamiento (indirecto por registro A, indirecto con ´ındice, etc.)
La unidad de salto, parte de la unidad de control encargada de determinar si corresponde un
salto condicional, se separ´o de la unidad de control.
8
PC
Lpc
Mux Din
8
Data in
Address
Address
Data out
8
8
Data
Memory
La
Reg A
W
8Instruction
Memory
Lb
Reg B
Data out
0
1 0
8
15
8
Mux Reg
Sa0
Sa1
Mux A
7
Mux B
8
Sb0
Sb1
Control
Unit
8
A
B
ALU
Result
Sop0
Sop1
Sop2
Jump
Unit
Z
8
1
Figura 2: Diagrama computador b´
asico modificado.
La idea detr´
as de estas modificaciones es por un lado simplificar el computador, pero tambi´en
lograr que el ciclo...
Regístrate para leer el documento completo.