Pipeline
de Computadores
6. CPU Segmentada (Pipeline)
1. Conceptos Básicos
2. Causas de Ralentización
Arquitectura de Computadores
Segmentación (Pipeline) - 1
En los dos capítulos siguientes vamos a tratar dos formas de optimizar substancialmente la
arquitectura convencional que hemos estudiado hasta ahora. Esta mejora se centra en la CPU y en
la memoria.
En primer lugarempezaremos por mejorar las prestaciones de la CPU, que, en cuanto a velocidad,
se pueden mejorar mediante los procesadores segmentados (o en pipeline) los cuales incorporan
una técnica para acelerar el ritmo de ejecución de instrucciones.
Como veremos, hay diversos factores que pueden impedir un aprovechamiento óptimo del
concepto de pipeline en la CPU. Trataremos estos factores y las técnicaspara evitarlos en la
medida de lo posible.
Arquitectura de Computadores
Segmentación (Pipeline) - 1
…Conceptos Básicos
Segmentación (Pipeline)
¿
Cómo aumentar la
velocidad del
procesador
Concurrencia
?
Construir circuitos más
rápidos, pero
- ¿A qué precio?
- ¿Estado del arte?
- Nivel del procesador (Paralelismo)
- Nivel de instrucción (Pipelining)
Arquitecturade Computadores
Segmentación (Pipeline) - 2
La velocidad de ejecución de los programas depende de diversos factores. Una forma de aumentar
esta velocidad es hacer más rápidos los circuitos con los que se construyen los procesadores y la
memoria principal. No obstante, se debe considerar el coste que supone una mejora y que el límite
a esta velocidad lo impone el estado del arte actual dela tecnología.
Otra posibilidad es organizar el hardware para poder ejecutar más de una instrucción
simultáneamente: concurrencia. La concurrencia se puede obtener en dos niveles: al nivel del
procesador y al nivel de la instrucción. La concurrencia al nivel de la CPU se obtiene disponiendo
de múltiples procesadores ejecutando simultáneamente varias instrucciones. Obtener concurrencia
anivel de la instrucción significa poder ejecutar varias instrucciones simultáneamente con una
única CPU. Este último tipo de paralelismo se denomina segmentación o encadenamiento, aunque
suele ser más conocido por su denominación en inglés: pipelining.
Las arquitecturas con múltiples procesadores suelen utilizarse en máquinas de muy altas
prestaciones (y muy alto precio). Sin embargo, conarquitecturas segmentadas se consigue una
muy buena mejora del rendimiento y a un coste asequible. Por esto, es normal que todos los
microprocesadores actuales de propósito general incorporen el pipelining. Ya que es muy común
su utilización en los actuales procesadores, vamos a abordar aquí esta técnica del pipelining,
mientras que las arquitecturas multiprocesador las dejaremos para asignaturas otextos de
arquitecturas paralelas o avanzadas.
Arquitectura de Computadores
Segmentación (Pipeline) - 2
…Conceptos Básicos
Segmentación (Pipeline)
Tar
tas
ACM
E
Tar
tas
ACM
E
Tar
tas
ACM
E
10 s
10 s
10 s
10 s
10 s
Sale una tarta empaquetada
cada 50 s
Arquitectura de Computadores
Segmentación (Pipeline) - 3
El proceso en pipeline o encadenadoes similar al utilizado en cualquier cadena de montaje, y el
nombre pipeline (tubería) se debe al hecho de que como en una tubería, en la entrada se aceptan
nuevos elementos (instrucciones) antes de que los previamente aceptados salgan por la salida.
Empecemos con el ejemplo de una cadena de montaje. Supongamos una gran pastelería en la que
las tartas primero se hacen en el horno y después seempaquetan para la venta. El proceso de
empaquetar una tarta consiste en:
1. Poner una caja vacía en la mesa.
2. Meter una tarta en la caja.
3. Cerrar y precintar la caja.
4. Poner una etiqueta en la caja.
5. Llevar la caja a un gran contenedor.
Si cada una de estas operaciones la realiza un operario en 10 segundos, parece claro que se tarda
50 s en empaquetar una tarta y, por lo tanto,...
Regístrate para leer el documento completo.