Er is geen vast aantal soorten microbewerkingen die door een CPU worden uitgevoerd. Het aantal en de typen zijn sterk afhankelijk van de architectuur en het ontwerp van de CPU. Een eenvoudige CPU kan een kleine, goed gedefinieerde set hebben, terwijl een complexe, moderne CPU honderden of zelfs duizenden microbewerkingen zal hebben, waarvan er vele zeer gespecialiseerd zijn.
In plaats van een specifiek getal is het nauwkeuriger om micro-operaties in algemene klassen te categoriseren, zoals:
* Gegevensoverdracht: Gegevens verplaatsen tussen registers, geheugen en I/O-apparaten.
* Rekenkundige bewerkingen: Optellen, aftrekken, vermenigvuldigen, delen, etc.
* Logische bewerkingen: AND, OR, NOT, XOR, verschuift, roteert, etc.
* Controlebewerkingen: Vertakken, springen, subroutineaanroepen en retouren.
* Statusregisterbewerkingen: Vlaggen instellen en wissen op basis van de resultaten van andere operaties.
Deze klassen omvatten een breed scala aan specifieke micro-operaties. "Gegevensoverdracht" kan bijvoorbeeld het verplaatsen van een byte, een woord of een dubbel woord omvatten; het overbrengen van gegevens van een specifiek register naar een bepaald geheugenadres; of het uitvoeren van een directe geheugentoegang (DMA) bewerking. Op dezelfde manier kunnen "rekenkundige bewerkingen" verschillende precisieniveaus (bijvoorbeeld geheel getal, drijvende komma) en verschillende operandgroottes met zich meebrengen.
Kortom, het aantal *types* is relatief klein, maar het aantal *individuele* microbewerkingen is erg groot en varieert sterk tussen CPU-ontwerpen. |