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:
- ¿Ha publicado Factual.com algún trabajo de investigación (o algún asunto técnico importante) sobre las técnicas de aprendizaje automático que utilizan para rastrear y extraer de la web?
- ¿Qué opina del Proyecto Microsoft Kensci que utiliza el aprendizaje automático en la gestión predictiva de riesgos de salud?
- ¿Cuál es una buena puntuación porcentual en los problemas de conocimiento de Kaggle para principiantes?
- ¿Cuáles son las aplicaciones prácticas del análisis de componentes principales?
- ¿Cuáles son los mejores solucionadores de programas cuadráticos?
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. 😉