Reduccion de pipelines en los nuevos processadores

nano___

Buenas gente, estoy haciendo una recopilacion de la historia de los processadores y sus pipelines.

Pues buscando información encontre que por ejemplo que el Pentium 4 Prescott con sus 31 etapas pipeline fue un gran error por el calor que producia, etc etc... pero por ejemplo el Nehalem tenia 24 etapas y su predecessor, el Ivy Bridge tiene 14 siendo un processador mas nuevo le bajan los pipelines.

La pregunta es, porque? He buscado durante bastante tiempo información y no he econtrado nada al respecto.

A ver si algun experto me puede iluminar.

#2 Eso en este caso creo que no sirve porque en teoria tener un mayor tamaño de pipeline implica reducir el numero de ciclos/instruccion con lo qual, mayor velocidad de ejecución. El tema es que a los nuevos processadores Intel, les reducen los pipelines...Si en teoria es mas rapido con mas pipelines porque lo reducen? xDDD es un poco confuso...

ElRuso

Cuando no sabes la respuesta, siempre usa el comodin -"Pq es mas rapido y mas seguro" :)

P.S. Sorry no lo conosco las razones tecnicas y no voy a estar intendando adivinar.

1 1 respuesta
esvarianzza

#1

Las pipelines no son como el número de transistores, en realidad el número de transistores en generaciones venideras ya tampoco es lo que antes era el número de transistores pero bueno, que a más número (de transistores) más rápido.

Es un recurso de diseño útil en ciertas situaciones, y la cantidad de pipelines óptimas probablemente se pueda determinar con una ecuación, pero en ningún caso tiende a infinito, porque inherentemente no acelera el proceso/instrucción, simplemente lo "acomoda".

Y tomado de Wikipedia:

As the assembly-line example shows, pipelining doesn't decrease the time for processing a single datum; it only increases the throughput of the system when processing a stream of data.
"High" pipelining leads to increase of latency - the time required for a signal to propagate through a full pipe.
A pipelined system typically requires more resources (circuit elements, processing units, computer memory, etc.) than one that executes one batch at a time, because its stages cannot reuse the resources of a previous stage. Moreover, pipelining may increase the time it takes for an instruction to finish.

2 1 respuesta
nano___

#3 Supongo que la pregunta que yo hago solo lo sabra la compañía desarrolladora de processadores. De todas formas gracias por la respuesta!

1 respuesta
spyro512

Los pipelines son algoritmos capaces de ordenar la carga de trabajo de los procesadores. Algo como los schedulers de Windows con los procesos.

Cuantos más pipelines más capacidad de ordenar la carga tienes, pero al meter pipelines a saco no ganas rendimiento de forma lineal, y de hecho llega un momento en el que empiezas a perder rendimiento.

Los procesadores cada vez requieren de menos pipelines debido a los set de instrucciones que están haciendo que la carga de los procesadores pueda ser ejecutada de forma distinta. Las instrucciones sirven para realizar en un ciclo de reloj un trabajo que sin esa instrucción se haría en más ciclos, ganando en tiempo de procesamiento y prescindiendo de poner muchos trabajos en la cola.

1 1 respuesta
nano___

#5 Gracias! El ultimo parrafo me ha servido de ayuda.

Cuando dices: "Cuantos más pipelines más capacidad de ordenar la carga tienes, pero al meter pipelines a saco no ganas rendimiento de forma lineal, y de hecho llega un momento en el que empiezas a perder rendimiento".

Es porque aumenta la lógica de control no? Y al meter mas cables/chips o lo que sea, aumenta el calor, etc etc...

O no va por ahí?

1 respuesta
spyro512

#6 no exactamente, el rollo es que si tienes 2000 instrucciones (por poner un número) a ordenar y realizar, por mucho que tengas pipelines que las ordenen, muchas veces es más eficiente acabar ya con una tarea que dedicarte a ir ejecutándola poco a poco (que es lo que hacen estos algoritmos) mientras das tiempo de procesador a otras instrucciones de distintas funciones dentro de un ordenador.

Como un juego de instrucciones facilita el hecho de que la tarea acabe antes, cada vez los pipelines son menos necesarios (pero nunca llegarán a NO necesitarse, creo yo xD).

1
Aeran

Porque lo hizo un mago.

1
esvarianzza

#4

Lo que sabe la compañía es la aproximación a la ecuación para unas instrucciones, que usa su procesador, una arquitectura, unos transitores, etc.
Pero la idea general es conocida y va en la línea de lo que pone en la Wiki o lo que comenta Spyro.

Y hablando más en perspectiva, el diseño de los procesadores no es estrictamente matemático, siempre se basa en la experiencia y muchos avances proceden de la intuición física, un buen ejemplo de ello es el Prescott que mencionabas, en el que Intel probó muchos conceptos bohemios que se fueron por donde habían venido.
La ideología pipeline tiene relación con la implementación paralela frente a la secuencial, donde su beneficio implícito depende totalmente de la aplicación, y normalmente la mejor solución es un punto medio entre ambas.

1

Usuarios habituales

  • esvarianzza
  • Aeran
  • spyro512
  • nano___
  • ElRuso