CISC
Den här artikeln behöver källhänvisningar för att kunna verifieras. (2020-04) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Complex Instruction Set Computing är ett retroaktivt samlingsnamn för sådana processorarkitekturer som inte är RISC. Dessa arkitekturers aritmetiska och logiska instruktioner kan själva utföra (ibland flerstegs-) adressering och dataladdning och kan på så vis ofta ersätta flera RISC-instruktioner med en CISC-instruktion. Många CISC-processorer har även speciella instruktioner för mer eller mindre specifika användningsområden, något som börjar bli allt mer vanligt även inom RISC.
Ett problem med CISC är att de är komplexa att utveckla. Moderna versioner av dessa arkitekturer med riktigt hög prestanda tenderar även att kräva fler transistorer för logik-implementering än vad en typisk RISC kräver, något som dock får allt mindre betydelse eftersom cache-minnen ändå står för merparten av transistorer i en högpresterande processor idag.
En fördel med CISC är att de utnyttjar begränsade cache-minnen effektivare. Detta beror på att färre instruktioner typiskt krävs för att utföra en viss uppgift och att instruktionerna dessutom ofta är mer kompakt kodade än i RISC.
Under stora delar av åttio- och nittiotalen pågick en livlig diskussion huruvida RISC- eller CISC-processorer var "bäst" ur prestandasynpunkt. Intel:s, AMD:s, och andras, x86-processorer är CISC men använder delvis samma prestandahöjande lösningar som populariserades (dock ej uppfanns) i och med att begreppet RISC lanserades i mitten av sjuttiotalet och framåt. Tydliga exempel på detta är tätt kopplad överlappande (eng: pipelined) instruktionsexekvering och snabba cache-minnen alldeles intill CPU kärnan. De gamla etiketterna har därför nästan helt förlorat sin mening. (Ett modernare namn för RISC — med bibehållen mening — är load/store-arkitektur.)