Microoperacions

De la Viquipèdia, l'enciclopèdia lliure
Una il·lustració d'alt nivell que mostra la descomposició de les instruccions de la màquina en microoperacions, realitzades durant els cicles típics de recuperació-descodificació-execució [1]:11

A les unitats centrals de processament d'ordinadors, les microoperacions (també conegudes com a microoperacions o μops, històricament també com a microaccions ) són instruccions detallades de baix nivell que s'utilitzen en alguns dissenys per implementar instruccions complexes de màquina (de vegades anomenades macroinstruccions). en aquest context).[2] :8–9

Normalment, les microoperacions realitzen operacions bàsiques sobre dades emmagatzemades en un o més registres, inclosa la transferència de dades entre registres o entre registres i busos externs de la unitat central de processament (CPU), i la realització d'operacions aritmètiques o lògiques sobre registres. En un cicle típic de recuperació-descodificació-execució, cada pas d'una macroinstrucció es descompon durant la seva execució, de manera que la CPU determina i passa per una sèrie de microoperacions. L'execució de les microoperacions es realitza sota el control de la unitat de control de la CPU, que decideix sobre la seva execució mentre realitza diverses optimitzacions com ara la reordenació, la fusió i la memòria cau.[1]

Diverses formes de μops han estat durant molt de temps la base de les rutines de microcodi tradicionals utilitzades per simplificar la implementació d'un disseny de CPU particular o potser només la seqüenciació de determinades operacions de diversos passos o modes d'adreçament. Més recentment, els μops també s'han utilitzat d'una manera diferent per tal de permetre que els processadors CISC moderns gestionen més fàcilment l'execució paral·lela i especulativa asíncrona: com amb el microcodi tradicional, es fan una o més cerques de taula (o equivalent) per localitzar el μop- seqüència basada en la codificació i la semàntica de la instrucció de la màquina (el pas de descodificació o traducció), tanmateix, en comptes de tenir seqüències μop rígides que controlen la CPU directament des d'una microcodi-ROM, les μops s'emmagatzemen dinàmicament per a la reprogramació abans de ser executades.[3] :6–7, 9–11

Aquesta memòria intermèdia significa que les etapes d'obtenció i descodificació es poden separar més de les unitats d'execució del que és factible en un disseny microcodificat (o cablejat) més tradicional. Com que això permet un grau de llibertat pel que fa a l'ordre d'execució, fa possible una mica d'extracció del paral·lelisme a nivell d'instrucció d'un programa normal d'un sol fil (sempre que es comprovi les dependències, etc.). S'obre per a més anàlisis i, per tant, també per reordenar les seqüències de codi per tal d'optimitzar dinàmicament el mapeig i la programació de μops als recursos de la màquina (com ara ALU, unitats de càrrega/emmagatzematge, etc.).[4][5][6]

Referències[modifica]

  1. 1,0 1,1 «Computer Organization and Architecture, Chapter 15. Control Unit Operation» (en anglès). umcs.maine.edu, 16-03-2010. [Consulta: 29 desembre 2014].
  2. Error en arxiuurl o arxiudata.Agner Fog. «[Agner Fog The microarchitecture of Intel, AMD and VIA CPUs: An optimization guide for assembly programmers and compiler makers]» (en anglès). agner.org, 19-02-2014. [Consulta: 21 març 2014].
  3. Michael E. Thomadakis. «The Architecture of the Nehalem Processor and Nehalem-EP SMP Platforms» (en anglès). Texas A&M University, 17-03-2011. Arxivat de l'original el 2014-08-11. [Consulta: 21 març 2014].
  4. Michael E. Thomadakis. «The Architecture of the Nehalem Processor and Nehalem-EP SMP Platforms». Texas A&M University, 17-03-2011. Arxivat de l'original el 2014-08-11. [Consulta: 21 març 2014].
  5. «Intel Pentium 4 1.4GHz & 1.5GHz». AnandTech, 20-11-2000. [Consulta: 6 octubre 2013].
  6. Baruch Solomon. «Micro-Operation Cache: A Power Aware Frontend for Variable Instruction Length ISA». A: ISLPED'01: Proceedings of the 2001 International Symposium on Low Power Electronics and Design (IEEE Cat. No.01TH8581). Intel, August 2001, p. 4–9. DOI 10.1109/LPE.2001.945363. ISBN 1-58113-371-5 [Consulta: 21 març 2014].