¿Oleoducto y paralelismo real?

1

He leído varios artículos que dicen que la CPU tiene la ALU (y otras unidades de ejecución específicas pequeñas), la Unidad de Control y los Registros y otros buffers / tuberías, buses internos, etc.

La unidad de control :

  

La unidad de control implementa la arquitectura de la CPU. Se realiza   las tareas de recuperación, decodificación, gestión de ejecución y luego almacenamiento   resultados.

Estudiando el concepto de tubería, y lo que entiendo es que al menos dos pasos:

1. Fetch,Decode--->CONTROL UNIT

2. Execute-------->ALU and OTHER EXECUTE UNITS

Ambos pasos REALIZADOS EN PARALELO. Es decir, mientras la CPU está ejecutando una instrucción, al mismo tiempo se está recuperando y decodificando otra.

¿Estoy en lo correcto al asumir lo anterior? ¿O la unidad de control y la unidad de ejecución funcionan una tras otra como algún tipo de cambio entre ciclos de reloj?

    
pregunta Doopy Doo

3 respuestas

2

Sí. Este es el beneficio exacto en el uso de una tubería. El ejemplo más simple de la vida real es una lavandería.

Cuando llegas allí, tienes ropa sucia que quieres "procesar". Usted coloca el primer grupo de ropa dentro de la lavadora y espera hasta que termine. Cuando esté listo, obtendrá su primer paquete de ropa, lo pondrá todo en la máquina secadora y buscará y cargará más ropa en la lavadora en paralelo. Cuando la secadora termina su trabajo, comienza el "ciclo de plegado", liberando la secadora.

Creo que tienes la idea de que, mientras te estás doblando, puedes cargar más ropa en la lavadora y secarla en paralelo.

La idea principal en ambos casos, procesador y lavandería, es similar: puede hacer más en menos tiempo haciendo trabajos paralelos.

En el caso opuesto, un procesador sin una canalización debe esperar todos los extremos de ejecución para buscar otra instrucción. Usando la analogía de la lavandería nuevamente, es como si solo comenzaras a lavar otro grupo de ropa solo después de doblar toda la ropa del primer grupo, perdiendo el tiempo en el medio.

    
respondido por el marcelo.guedes
0

Sí, en una tubería de hardware, todos los pasos se realizan en paralelo.

    
respondido por el Dave Tweed
0

enlace

En realidad hay dos series & Operaciones paralelas en una tubería para mantener la concurrencia de caché y las instrucciones de precarga y decodificación en un bus de 128 bits. La profundidad de cada nivel de bus, incluidos 2 niveles de memoria caché, a medida que se profundiza, se suma a la latencia, pero también mejora el tiempo de acceso cuando se accede con frecuencia desde la memoria caché (llamados aciertos de memoria caché). Cuando un objeto está bloqueado en una E / S y otra hebra quiere acceder al mismo objeto, la administración de recursos bloquea los permisos para escribir solicitudes o bloquea el objeto hasta que esté libre. Los aumentos en el tamaño de la memoria caché permiten que este suceso frecuente se retrase menos para las operaciones paralelas al agregar un retardo en serie o reordenar las solicitudes, cuando no se puede compartir. Si observa la ejecución del código de Windows utilizando procmon.exe, muchos programas mal escritos experimentarán un rápido error de I / O seguido de un éxito normal de I / O. (no solo ventanas)

Los núcleos paralelos deben administrarse con subprocesos separados para evitar bloqueos simultáneos.

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas