1. Lastbutiksarkitektur:
Både RISC- och CISC-system kan direkt implementera en load-store-arkitektur genom instruktioner som LOAD och STORE. Denna separation möjliggör enklare instruktionsavkodning, såväl som eliminering av komplexa adresseringsmoder som finns i CISC-system.
2. Registrera för att registrera operationer:
RISC-system betonar användningen av register-till-register-operationer för ökad prestanda. CISC-system kan också stödja register-till-register-operationer, och moderna CISC-processorer har ofta ett betydande antal allmänna register för att optimera prestanda.
3. Enkla adresseringslägen:
RISC-system använder vanligtvis enklare adresseringslägen, såsom registerindirekt, bas plus förskjutning och omedelbar. CISC-system kan direkt implementera dessa enklare adresseringslägen, även om de också kan stödja mer komplexa adresseringslägen för kompatibilitet med äldre kod.
4. Rörledning:
Både RISC- och CISC-system kan dra nytta av pipelining, vilket innebär att dela upp instruktioner i steg och exekvera dem samtidigt. Framsteg inom kompilatorteknik och processordesign har gjort pipelining möjlig för båda arkitekturerna.
5. Reducerad instruktionsuppsättning:
RISC-system använder en reducerad uppsättning instruktioner som är vanligt förekommande och lätta att avkoda. CISC-system kan emulera ett RISC-liknande beteende genom tekniker som mikroprogrammering eller binär översättning, vilket gör att de kan exekvera instruktioner i RISC-stil effektivt.
Det är dock värt att notera att inte alla egenskaper hos RISC-system kan implementeras direkt i CISC-system. Till exempel föredrar RISC-system ofta ett instruktionsformat med fast längd för enklare avkodning, medan CISC-system kan använda instruktioner med variabel längd för koddensitet. Dessutom kan nivån på ortogonalitet (konsistens i instruktionsdesign) skilja sig åt mellan RISC- och CISC-system.