Vous êtes sur la page 1sur 9

Introduccin

En computacin, se le llama pipeline a una serie de elementos de procesamiento de datos


ordenados de tal modo que la salida de cada uno es la entrada del siguiente, como quien
dice una cadena de montaje pero en vez de orientada a la manufactura, orientada al
procesamiento de datos e instrucciones.
Entender cmo funciona un pipeline es un paso importante para entender qu diablos
ocurre dentro de un procesador, y es por eso que en esta gua, que hemos separado en dos
captulos, intentaremos dejarte en claro el sentido y mecnica de estas cadenas de montaje
que existen al interior de un CPU.
El material que vas a leer fu licenciado a partir de un documento facilitado por
Arstechnica, el cual fu traducido y adaptado por CHW para el mejor entendimiento de
nuestro pblico.
El Pentium 4 y sus pipelines
El Pentium 4 original era un diseo radical por un nmero de razones, pero quizs su
caracterstica ms llamativa (y polmica a la vez) era su "pipelining" o "segmentacin"
extraordinariamente profunda. Con ms de 20 etapas, los "pipes" del Pentium 4 eran casi
dos veces ms profundos que los "pipes" de sus competidores. Recientemente el Prescott,
sucesor de los Pentium 4 en 90nm, llev el "pipelining" a un nivel superior, agregando otras
10 etapas sobre los "pipes" del Pentium 4.
La estrategia de Intel de profundizar el pipeline del Pentium 4, una prctica que Intel llama
"hyperpipelining", ha dado sus frutos en trminos del funcionamiento, pero no sin sus
desventajas. En artculos anteriores sobre el Pentium 4 y Prescott, me he referido a las
desventajas asociadas a los "pipes" profundos, e incluso he intentado explicar estas
desventajas dentro del contexto de artculos tcnicos ms grandes sobre Netburst y otros
asuntos. En la actual serie de artculos, dedicar bastante tiempo a explicar el "pipelining",
su efecto sobre funcionamiento del microprocesador, y sus desventajas potenciales.
Despus de una introduccin bsica sobre el concepto de los "pipes", explicar qu se
requiere para hacer "pipes" eficientes y qu desventajas presentan diseos con pipelines
profundos como el Prescott. Para el final del artculo, debes tener un claro entendimiento de
cmo la profundidad de los "pipes" se relaciona con el funcionamiento del microprocesador
en diversos tipos de cdigo.
Ciclo de vida de una instruccin
La accin bsica de cualquier microprocesador, en tanto se mueve a travs de la corriente
de instrucciones, se puede descomponer en una serie de cuatro pasos simples, que cada
instruccin en la corriente de cdigo debe atravesar para ser ejecutada:

1. Fetch: "traer" la instruccin que se va a ejecutar, de la direccin almacenada


en el contador de programa.

2. Store: "almacenar" la instruccin en el registro de instrucciones y


"descifrarla", incrementando la direccin en el contador de programa.

3. Execute: "Ejecutar" la instruccin almacenada en el registro de instrucciones.


Si la instruccin no es una instruccin de rama sino una instruccin aritmtica, este
proceso la enva a la ALU apropiada (ALU: Arithmetic Logic Unit en espaol:
Unidad Aritmtico-Lgica), donde el microprocesador: a. "Lee" el contenido de los
registros de entrada. b. "Agrega" el contenido de los registros de entrada.

4. Write: "Escribir" los resultados de esa instruccin de la ALU nuevamente


dentro del registro de destinacin
En un procesador moderno, los cuatro pasos arriba descritos son repetidos una y otra vez
hasta que el programa termine de ejecutarse. stas son, en hecho, las cuatro etapas en un
"pipe" clsico del RISC. (Definir el trmino "pipe" pronto; por ahora, piensen en un "pipe"
como serie de etapas que cada instruccin en la corriente de cdigo debe atravesar cuando
se est ejecutando dicha corriente de cdigo.)
Aqu estn las cuatro etapas en su forma abreviada, que es la ms comn y la que vers ms
a menudo:

1. Fetch (Traer)

2. Decode (Descifrar)

3. Execute (Ejecutar)

4. Write (Escribir)
Cada uno de los conceptos anteriores puede ser usado para representar una fase en el "ciclo
de vida" de una instruccin. Una instruccin comienza en la fase de "traer", se mueve a la
fase de "descifrar", despus a la fase "ejecutar", y finalmente a la fase "escribir". Cada fase
toma un tiempo fijo, pero de ningn modo igual al que otra fase toma en cumplir su
cometido.
En la mayora de los ejemplos de procesadores con los que trabajaremos en este artculo,
las cuatro fases tomarn la misma cantidad de tiempo; ste no es generalmente el caso en
procesadores del mundo real. De cualquier manera, si el procesador simple del ejemplo
toma exactamente 1 nanosegundo para terminar cada etapa, entonces el procesador puede
acabar una instruccin cada 4 nanosegundos.
Fundamentos del "Pipelining": una analogia.
Esta seccin utiliza una analoga del sistema productivo de una fbrica para explicar el
termino "pipelining". Otras personas utilizan analogas ms simples, como lavar la ropa,
por ejemplo, para explicar esta tcnica, pero hay ciertas razones por las que eleg una

analoga ms elaborada y ms larga para ilustrar cul es la raz de este concepto


relativamente simple.
Primero, las fbricas basadas en lneas de ensamblaje hacen fcil la visualizacin, y la
imagen mental del proceso se puede elaborar de muchas maneras interesantes, con el fin de
exponer una variedad de puntos relacionados. En segundo lugar, y quizs ms importante,
la gran complejidad de programacin que deben enfrentar los diseadores de la fbrica para
ordenar y administrar los recursos tiene anlogos directos en la arquitectura de
computadores. En muchos casos, los problemas y las soluciones son exactamente iguales,
llevadas simplemente a un dominio diferente.
Digamos que mis amigos y yo hemos decidido entrar el negocio de fabricacin automotriz,
y que nuestro primer producto debe ser un vehculo deportivo para uso general (SUV).
Despus de cierta investigacin, determinamos que hay cinco etapas en el proceso de
ensamblaje del SUV:

Etapa 1: Construir el chasis.


Etapa 2: Poner el m
otor en el chasis.
Etapa 3: Poner puertas, el cap y las cubiertas en el chasis.

Etapa 4: Poner las ruedas.

Etapa 5: Pintar el SUV.


Cada una de las etapas de arriba requiere el uso de trabajadores altamente entrenados con
habilidades especficas, y sucede que los trabajadores que son buenos para armar los chasis
no saben sobre los motores, carrocera, las ruedas, o pintar, y lo mismo pasa con los
constructores de motores, los pintores, y los dems equipos de trabajo. As que cuando
hacemos nuestra primera tentativa de poner una fbrica de SUV, empleamos y entrenamos a
cinco equipos de especialistas, uno para cada etapa del proceso de construccin de los SUV.
Hay un equipo para construir el chasis, uno para poner el motor, otro para las ruedas, y un
equipo para la pintura. Finalmente, siendo los equipos tan especializados y eficientes, cada
etapa del proceso de construccin del SUV le toma exactamente una hora a cada equipo.
Ahora, puesto que mis amigos y yo somos simplemente geeks y no ingenieros industriales,
tenamos mucho que aprender sobre la fabricacin y del uso eficiente de los recursos de la
fbrica. Basamos el funcionamiento de nuestra primera fbrica en el siguiente plan:
colocamos a los cinco equipos en una lnea en el piso de la fbrica, y al comienzo de la
lnea tenemos al equipo 1 trabajando. Despus de que la etapa 1 se completa, el equipo de
la etapa 1 pasa la SUV parcialmente terminada al equipo de la etapa 2 y despus se van a
descansar (para jugar un poco de taca-taca), mientras que el equipo de la etapa 2 construye
el motor y lo coloca en el chasis. Una vez que el equipo termina la etapa 2, el SUV pasa a
la etapa 3 y el equipo de la etapa 3 asume el control mientras que el equipo de la etapa 2 se
une al equipo de la etapa 1 para jugar taca-taca. El SUV pasa por la lnea a travs de las
cinco etapas de esta manera, con solamente un equipo trabajando en cada etapa en
cualquier hora dada mientras que el resto de los equipos descansa. Una vez que el SUV

terminado acabe la etapa 5, el equipo en la etapa 1 comienza el otro SUV. A este ritmo,
toma exactamente cinco horas para acabar un solo SUV, y nuestra fbrica termina un SUV
cada cinco horas.
Nos pegamos un salto al futuro de un ao. Nuestro SUV, el ChwDelorian LE, se vende
como... bueno, se vende como un SUV, lo que significa que le va muy bien. De hecho, se
vende tan bien (a pesar de llamarse as) que hemos captado la atencin de las FF.AA. y nos
ofrecen un contrato millonario para proveer ChwDelorians al Ejrcito, de manera sostenida
y creciente. Las FF.AA. son exigentes, quieren ordenar mltiples ChwDelorians a la vez;
puede llegar una orden por 10 ChwDelorians tan fcilmente como una de 500. Mientras
ms de estas rdenes podamos cumplir por ao fiscal, ms dinero podremos lavar... ejem!,
ganar en ese perodo, con el resultado de que nuestras hojas de balance ya no parezcan
calendario -puros nmeros azules desde ahora! Esto, obviamente, significa que tendremos
que encontrar una manera de incrementar la cantidad de vehculos que nuestra fbrica
puede producir por hora (esto es, nuestra tasa de produccin de ChwDelorians). Construir
ms por hora significa que podemos cumplir los pedidos del Ejrcito ms rpidamente, y
eso significa "we can make more money, baby!
La forma ms intuitiva para incrementar nuestra tasa de produccin sera reducir el tiempo
de produccin de cada vehculo. Si, ya sea mediante presiones laborales o econmicas,
logrsemos que nuestros equipos trabajen al doble de velocidad, nuestra fbrica podra
producir el doble de vehculos en un mismo tiempo de trabajo. Pero nuestros equipos ya
estn trabajando tan duro como pueden, as que a menos que haya una irrupcin
tecnolgica que incremente su productividad, ser negreros no es una solucin viable.
Sin poder acelerar nuestros equipos, siempre existe la alternativa de usar la fuerza bruta y
simplemente inyectar dinero al problema con la construccin de una segunda lnea de
ensamblaje. Si fusemos a contratar y entrenar cinco nuevos equipos para formar esta lnea,
con la misma capacidad de producir un vehculo cada cinco horas, podramos completar el
asombroso total de... Dos! ChwDelorians cada cinco horas el doble de nuestra tasa de
produccin actual. Pero esto no es muy eficiente en trminos del uso de los recursos de la
produccin, pues no solamente tenemos el doble de equipos trabajando a la vez: tambin
tenemos el doble de equipos usando el taca-taca a la vez y eso s que es un problema
tremendo. Debe haber una manera "ms mejol" de hacer las cosas.
Enfrentados a la falta de opciones, contratamos a una consultora para encontrar una manera
inteligente de incrementar la produccin total de la fbrica sin doblar el nmero de equipos
ni sobreexplotar los actuales. Un ao despus, y varias lucas mediante, los consultores
aparecen con una solucin: "Por qu deberan nuestros empleados pasarse 4/5 del da
jugando taca-taca, tomando cafecito y leyendo Chilehardware, si podran estar haciendo
trabajo til durante ese tiempo? Con una apropiada programacin de los cinco equipos
existentes, nuestra fbrica podra completar un ChwDelorian por hora, y as mejorar
dramticamente la eficiencia y el volumen de produccin de nuestra lnea de ensamblaje. El
sistema revisado, se vera ms o menos as: el equipo 1 construye un chasis. Una vez que el
chasis est completo, lo envan al equipo 2 para que ensamblen el motor, mientras
empiezan la construccin de un nuevo chasis. Cuando los equipos 1 y 2 estn listos, el

trabajo del equipo 2 avanza hacia el equipo 3, el del equipo 1 al equipo 2, y el equipo 1
comienza a construir un nuevo chasis."
As, en tanto la lnea de ensamblaje comienza a llenarse con vehculos en diferentes etapas
de produccin, los equipos se ponen a trabajar simultneamente hasta que todos estn
trabajando en un vehculo diferente, en diferentes etapas de produccin. (Por supuesto, as
es como debera ser, para la mayora de nosotros, una lnea de ensamblaje eficiente en la
era post-Ford). Si podemos mantener la lnea llena, manteniendo a todos los equipos
trabajando a la vez, entonces podemos producir un ChwDelorian cada hora: un incremento
de 5x sobre la tasa de produccin anterior. Eso, mis estimados contertulios, vendra siendo
el "pipelining".
Mientras que el tiempo total consumido en cada etapa de produccin no ha cambiado de las
5 horas originales, la tasa a la cual la fbrica como un todo completa los autitos, y por ende
la tasa a la cual la fbrica puede cumplir los pedidos del Ejrcito, ha aumentado
drsticamente. El pipelining hace su truco con la optimizacin total de los recursos
existentes. No necesitamos acelerar cada etapa individual del proceso productivo, ni
tampoco incrementar descabelladamente la cantidad de recursos que inyectamos al
problema; todo lo que necesitamos es obtener ms trabajo de los recursos que ya existen.
Volviendo a los microprocesadores, debiera ser fcil el ver cmo este concepto se aplica a
las cuatro fases del ciclo de vida de una instruccin. Tal como los propietarios de la fbrica
en nuestra analoga queran incrementar el nmero de ChwDelorians que podan producir
en un tiempo det
erminado, los diseadores de microprocesadores siempre estn buscando formas de
incrementar el nmero de instrucciones que un CPU puede completar en un perodo de
tiempo dado. Cuando recordamos que un programa es una secuencia ordenada de
instrucciones, se hace claro que incrementar el nmero de instrucciones ejecutadas por
unidad de tiempo es una forma de disminuir el tiempo total de ejecucin de un programa.
En trminos de nuestra analoga, un programa es como una orden de ChwDelorians del
Ejrcito; tal como el incremento de nuestra tasa de produccin nos permite completar
pedidos ms rpidamente, incrementar la tasa de proceso de instrucciones de nuestro
procesador (esto es, el nmero de instrucciones completadas por unidad de tiempo) nos
permite correr programas ms rpido.
Un ejemplo sin pipelining.
Tiempo atrs, los procesadores sin pipelining trabajaban sobre una instruccin a la vez,
moviendo cada instruccin a travs de las cuatro fases de su ciclo de vida en el tiempo de
un ciclo de reloj. As, los procesadores sin pipeline se llaman tambin procesadores de ciclo
simple, porque todas las instrucciones toman exactamente un ciclo de reloj para ejecutarse
completamente (o, para pasar a travs de las cuatro fases de sus ciclos de vida).
Como el procesador completa instrucciones al ritmo de una por ciclo de reloj, queremos
que el reloj del CPU corra lo ms rpidamente posible, para que la tasa de ejecucin de
instrucciones del procesador (esto es, el nmero de instrucciones completadas por
nanosegundo) sea tan alta como sea posible. As necesitamos calcular la mnima cantidad

de tiempo que toma completar una instruccin, y hacer el ciclo de reloj equivalente a esa
longitud de tiempo. Simplemente pasa que en nuestro caso hipottico de CPU, las cuatro
fases del ciclo de vida de la instruccin toman un total de cuatro nanosegundos para
completarse, por lo tanto deberamos setear la duracin del ciclo de reloj del CPU a cuatro
nanosegundos, as el CPU puede completar todo el ciclo de vida de la instruccin, desde
fetch hasta write-back, en un solo ciclo. (Un ciclo de reloj de CPU es simplemente
denominado ciclo.)

Figure PIPELINING.4: Procesador de un solo ciclo.


En el diagrama superior, la instruccin azul deja el rea de almacenamiento de cdigo entra
al procesador, y avanza a travs de las fases de su ciclo de vida en el curso del ciclo de
cuatro nanosegundos, hasta que el final del cuarto nanosegundo completa la ltima fase y
su ciclo de vida se acaba Sad El fin del cuarto nanosegundo es tambin el fin del primer
ciclo de reloj, por lo tanto ahora que el primer ciclo termin y la instruccin azul ha
completado su ejecucin, la instruccin roja puede entrar al procesador al comienzo de un
nuevo ciclo de reloj y cruzar el mismo proceso. Esta secuencia de pasos en cuatro
nanosegundos se repite hasta que, despus de un total de 16ns (o cuatro ciclos de reloj) el
procesador ha completado las cuatro instrucciones a un ritmo de 0.25 instrucciones /ns (=4
instrucciones/16ns).
Procesadores de ciclo simple como el de la figura PIPELINING 4 son simples de disear,
pero desperdician un montn de recursos de hardware. Todo el espacio blanco en el
diagrama representa hardware de proceso que permanece inactivo mientras espera que
termine de ejecutarse la instruccin actual. Haciendo "pipelining" al procesador, podemos
poner a trabajar ms de ese hardware en cada nanosegundo, incrementando de esa manera
la eficiencia del procesador y su performance en la ejecucin de programas.
Antes de seguir, debo clarificar unos cuantos aspectos del diagrama anterior que alguien
puede encontrar confusos. Al final del diagrama hay una regin nombrada "Completed
Instructions" o "instrucciones completadas". Ahora, las instrucciones completadas se van al
limbo una vez que se terminan de ejecutar; despus de decirle al procesador como
modificar la corriente de datos, son simplemente borradas del procesador. (Nota que las
instrucciones que han sido borradas del procesador an permanecen en el rea de
almacenamiento de cdigo y estn disponibles para su uso repetido.) Entonces la cajita
"Completed Instructions" o "instrucciones completadas" al final de la figura
PIPELINING.4 no representa una parte real del computador, razn por la cual he puesto
una lnea punteada a su alrededor. Esta rea es slo un lugar para que mantengamos registro
de cuntas instrucciones ha completado el procesador en cierto intervalo de tiempo, o la
tasa de ejecucin de instrucciones del procesador (o tasa de ejecucin, para abreviar), de
manera que cuando comparemos diferentes tipos de procesadores tendremos un lugar al
cual podremos mirar rpidamente y obtener una impresin instantnea de cul procesador
se desempea mejor. Mientras ms instrucciones complete un procesador en una cantidad
de tiempo dada, mejor es su desempeo en los programas, lo cuales son secuencias
ordenadas de instrucciones. As que piensa en la cajita de "instrucciones completadas"

como una especie de marcador para registrar la tasa de ejecucin de cada procesador, y
chequea la cajita en cada uno de los siguientes diagramas para ver cunto le toma al
procesador poblar esta cajita con instrucciones ejecutadas.
Siguiendo con el punto anterior, te puede intrigar por qu la instruccin azul completada en
el cuarto nanosegundo no aparece en la cajita "instrucciones completadas" antes del quinto
nanosegundo. La razn es simple, y emana de la naturaleza del diagrama: en tanto una
instruccin gasta un nanosegundo completo en cada etapa de ejecucin, la instruccin azul
entra en la fase de escritura al principio del cuarto nanosegundo y termina dicha etapa al
final del cuarto nanosegundo. Esto significa que recin en el quinto nanosegundo tenemos
completa la instruccin azul. As, al comienzo del quinto nanosegundo (que coincide con el
fin del cuarto) el procesador ha completado una instruccin.
Un ejemplo con pipelining.
Hacer "pipelining" a un procesador significa descomponer su proceso de ejecucin de
instrucciones lo que hemos estado llamando el "ciclo de vida" de la instruccin- en una
serie de etapas discretas de segmentacin, que pueden ser completadas en secuencia por
hardware especializado. Recuerda la manera en que dividimos el proceso de ensamblaje del
vehculo en cinco etapas discretas, con un equipo dedicado asignado al cumplimiento de
cada etapa, y tendrs el panorama claro.
En tanto el ciclo de vida de una instruccin consiste en cuatro fases completamente
distintas, podemos empezar por descomponer el proceso de ejecucin de instrucciones de
nuestro procesador de ciclo simple en una secuencia de cuatro etapas discretas de
segmentacin un pipeline de cuatro etapas-, donde cada etapa corresponde a una fase en
el ciclo de vida estndar de la instruccin:

Etapa 1: Traer la instruccin desde el almacn de cdigo.

Etapa 2: Decodificar la instruccin.

Etapa 3: Ejecutar la instruccin.

Etap
a 4: Escribir los resultados de la instruccin en el archivo de registro.
Observa que nos referimos al nmero de etapas del pipeline como profundidad del pipeline.
Entonces, nuestro pipeline de 4 etapas tiene una profundidad de pipeline igual a 4.
Por conveniencia, digamos que cada una de las cuatro etapas del pipeline anterior toma
exactamente un nanosegundo para terminar su trabajo con una instruccin, tal como cada
equipo en nuestra lnea de ensamblaje demoraba una hora en terminar su porcin de trabajo
en el vehculo. Entonces nuestro proceso de 4 nanosegundos, en nuestro procesador de
ciclo simple, se divide ahora en 4 etapas de pipeline discretas y secuenciales de un
nanosegundo de longitud cada una. Ahora observemos otro diagrama para ver cmo un
CPU con pipeline ejecutara las cuatro instrucciones descritas en la figura PIPELINING.4.

Al comienzo del primer nanosegundo, la instruccin azul entra en la etapa de fetch (traer).
Comienza el segundo nanosegundo y la instruccin azul se mueve a la etapa de
decodificacin mientras la siguiente instruccin, la roja, se abre camino desde el almacn
de cdigo al procesador (esto es, entra a la etapa de fetch). Al comienzo del tercer
nanosegundo, la instruccin azul avanza a la etapa de ejecucin, la instruccin roja a la
etapa de decodificacin, y la instruccin verde entra a la etapa de fetch. En el cuarto, la
instruccin azul avanza a la etapa de escritura, la roja a la de ejecucin, la verde a la
decodificacin, y la violeta a la de fetch. Cuando se ha completado el cuarto nanosegundo y
comienza el quinto, la instruccin azul ha pasado a travs del pipeline y ha terminado su
ejecucin. As podemos decir que al final de cuatro nanosegundos (= a cuatro ciclos de
reloj) el procesador con pipeline ha completado una instruccin.
Al comienzo del quinto nanosegundo, el pipeline est completo y el procesador puede
empezar a completar instrucciones al ritmo de una instruccin por nanosegundo. Esta tasa
de ejecucin de 1 instruccin/ns es un incremento de 4x sobre la tasa del procesador de
ciclo simple, que era 0.25 instrucciones/ns (o 4 instrucciones cada 16 nanosegundos)
Encogiendo el reloj.
Puedes ver en el diagrama anterior que el rol del reloj del CPU cambia levemente en un
procesador con pipeline, versus el procesador de ciclo simple en la figura PIPELINING.4.
Como ahora todas las etapas del pipeline deben trabajar simultneamente y estar listas al
comienzo de cada nanosegundo para para pasar los resultados de su trabajo a la siguiente
etapa, el reloj es necesario para coordinar la actividad del pipeline completo. La forma en
que eso se hace es simple: reducir el tiempo del ciclo de reloj para ajustarse al tiempo que
le toma a cada etapa el completar su trabajo, de manera que al comienzo de cada ciclo de
reloj las distintas etapas entregan la instruccin en la que estaban trabajando a la siguiente

etapa. Como cada pipeline en nuestro procesasdor de ejemplo se toma un nanosegundo en


completar su trabajo, podemos setear el ciclo de reloj en un nanosegundo.
Este nuevo mtodo para ajustar el clock del procesador significa que una instruccin nueva
no necesariamente se completar al final de cada ciclo, como en el caso del procesador de
ciclo simple. En vez de eso, solo al final de aquellos ciclos donde se trabaja en la etapa de
escritura, se puede hablar de instrucciones completadas. Los ciclos que tengan la etapa de
escritura en blanco no aadirn nuevas instrucciones a la cajita de "instrucciones
completadas", y todo ciclo con una etapa de escritura activa aadir una nueva instruccin a
la caja. Por supuesto, esto significa que al comenzar a trabajar en un programa habr
algunos ciclos de reloj tres para ser exactos- en los cuales no se registrarn instrucciones
completadas. Pero una vez que comience el cuarto ciclo, la primera instruccin entrar en la
etapa de escritura y el pipeline podr comenzar a ejecutar nuevas instrucciones en cada
ciclo, las cuales tendrn un ritmo de ejecucin de 1 instruccin/ns, pues cada ciclo tiene un
nanosegundo de longitud.
Encogiendo el tiempo de ejecucin de programa.
Observa que el pipelining no cambia el tiempo total de ejecucin para cada instruccin
individual. Cada instruccin se toma an 4ns para abrirse camino en el procesador; esos 4ns
pueden ser divididos en 4 ciclos e 1ns cada uno o en 1 solo gran ciclo, pero son los mismos
4ns. As, el pipelining no acelera la velocidad de ejecucin de instrucciones, pero acelera el
tiempo de ejecucin de programas (esto es, el nmero de nanosegundos que toma un
programa completo en ejecutarse) incrementando el nmero de instrucciones terminadas
por unidad de tiempo. Tal como el pipelining en nuestra cadena de ensamblaje de
ChwDelorians nos permite completar los pedidos del Ejrcito en un menor intervalo de
tiempo (an cuando seguimos demorando las mismas 5 horas en ensamblar un vehculo), el
pipelining le permite a un procesador ejecutar programas en un tiempo menor an cuando
cada instruccin individual sigue consumiendo el mismo tiempo viajando a travs del CPU.
El pipelining hace un uso ms eficiente de los recursos disponibles del CPU poniendo todas
sus unidades a trabajar simultneamente, permitindole de esta forma realizar ms trabajo
total por cada nanosegundo.

Vous aimerez peut-être aussi