Met het laatste ontbrekende bouwblokje (de program counter (PC)) geïmplementeerd, is het tijd om alles te integreren.
Een RISC-V processor heeft verschillende types van instructies. Om de zaken niet nodeloos complex te maken, wordt er voor deze implementatie enkel naar R-type (een deel van) de I-type instructies gekeken.
Hier zijn 4 assembly instructies. Hoe deze uitgevoerd worden door de processor wordt hieronder uitgelegd.
0x0: addi x1, x0, 1
0x4: addi x2, x0, 1
0x8: add x3, x2, x1
0xC: add x4, x3, x2
De PC start op 0x0. Deze waarde wordt aan het instructie geheugen gegeven en deze stuurt de instructie addi x1, x0, 1
terug. De control blok ontleedt de instructie en maakt de bijpassende controle-signalen:
Hierdoor geeft de register file de juiste waardes, ontvangt de ALU de correcte operanden om de instructie op uit te voeren en wordt het resultaat op de juiste plaats weggeschreven.
De tabel hieronder illustreert hoe de waardes veranderen in de implementatie.
In simulatie ziet er dit ongeveer als volgt uit:
De inhoud van register 0 (x0) MAG nooit overschreven worden en zal altijd de waarde 0x0 hebben.