Las Unidades de Ejecución a Menudo Son Pipelineadas

2024-12-30

Esta entrada de blog explora el pipeline de las unidades de ejecución en microarquitecturas fuera de orden. La autora inicialmente asumió que las unidades de ejecución permanecen ocupadas hasta que se completa la µop, pero usando la microarquitectura Firestorm (A14 y M1) como ejemplo, demuestra que dos unidades de ejecución enteras pueden manejar múltiples multiplicaciones simultáneamente, cada una tomando tres ciclos. Al comparar secuencias de instrucciones dependientes e independientes, la autora revela que muchas combinaciones de unidad de ejecución/µop están altamente pipeline, permitiendo que se emita una µop mientras la unidad procesa otras. Esto reduce el tiempo de ejecución para instrucciones independientes de 6 ciclos previstos a 4. Finalmente, la autora explica por qué las tablas de latencia y ancho de banda de instrucciones especifican el rendimiento recíproco: es equivalente a ciclos/instrucción.