Organización de la computadora: ¿Cuál es la aceleración de una versión de 5 etapas de la máquina en tubería sobre la versión sin tubería?

No voy a hacer tu tarea por ti.

Mire lo que se necesitaría para ejecutar mil millones de instrucciones en ambas arquitecturas.

Para el caso no canalizado, tenemos:

ALU: 40% * 4 ciclos

Mem: 40% * 5 ciclos

Rama: 20% * 4 ciclos

Total: .4 * 4 + .4 * 5 + .2 * 4 = 4.4 ciclos / inst

Entonces, mil millones de instrucciones tomarán aproximadamente 4.4B ciclos, o 4.4B ns, o 4.4s.

Esto ignora por completo los efectos de almacenamiento en caché, la predicción de ramas, etc.

Ahora, en una tubería de 5 etapas, sin ejecución especulativa, búsqueda previa, etc., ¿cómo se ve esto? Bueno, ahora puede comenzar una instrucción cada ciclo. Las instrucciones de ALU y de bifurcación terminarán en 5 etapas y la instrucción de memoria sucederá en 5 etapas. [¿La memoria se volvió 5 veces más rápida también?] Entonces nuestras mil millones de instrucciones sucederían en ciclos de 1B, o 1B * 1.2ns, o 1.2s.

Pero esto no está bien. Las ramas siempre van a causar paradas en la tubería. A menos que hagas algo elegante (y esa es la norma hoy, por cierto), cada vez que tocas una instrucción de bifurcación, debes suspender completamente las instrucciones hasta que la bifurcación concluya.

Te dejaré resolver eso. 😉

Por cierto, probablemente tenga mucho más contexto en su trabajo de curso que podría cambiar radicalmente la respuesta a esta pregunta. Cortar y pegar aquí te meterá en problemas. 😉

Esta es una pregunta inútil. Una máquina canalizada con 5 etapas tendrá predicción de rama o ranuras de retraso, cuya pérdida de velocidad depende de su programa (y si no está trabajando en un nivel bajo, entonces también su compilador).

More Interesting

¿Cuál es el significado de la optimización convexa en el aprendizaje automático?

¿Cómo detectar el idioma de un texto escrito en inglés? ¿Hay una API disponible donde podamos dar el texto como entrada?

¿Dónde puedo aprender sobre los conceptos básicos de la inteligencia artificial?

¿Ha habido algún éxito con el aprendizaje profundo bayesiano?

¿Cuáles son las principales aplicaciones de aprendizaje profundo en centros de datos?

¿Por qué la biblioteca de estadísticas de Python es tan limitada en métodos bioestadísticos avanzados en comparación con R, mientras que la biblioteca de Python de Machine Learning es mucho mejor?

¿Cuál es la diferencia entre regresión lineal y logística?

¿Cómo sabes que tienes que "maximizar" el lagrangiano para resolver el problema dual?

¿Son útiles los procesos jerárquicos de Dirichlet en la práctica?

Aprendizaje automático: ¿qué significa "abandono en el cerebro con respecto a todas las entradas, mientras que abandono en una red convolucional funciona con respecto a cada unidad individual"?

¿Cuáles son las diez mejores universidades del Reino Unido para obtener un doctorado en inteligencia artificial o aprendizaje automático?

¿Qué debo usar para el aprendizaje automático si necesito una solución rápida: Python, R o SAS?

¿Son buenos los cursos de Machine Learning AZ y Deep Learning AZ de Kirill Eremenko en Udemy?

¿SSD es realmente mejor que YOLO?

¿Cuáles son algunas falacias o errores comunes cometidos por los principiantes en estadística, aprendizaje automático y análisis de datos?