Você está na página 1de 9

Cmo funcionan los pipelines de un CPU

14 Junio 2006

Compartido0Veces

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. En esta gua explicaremos cmo funcionan. Esta gua es la adaptacin de un contenido original situado en Ars Technica (Understanding Pipelining Performance), con cuyo permiso contamos para esta publicacin.

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.

Você também pode gostar