CISC

CISC (engl. complex instruction set computer) on yleisnimitys sellaisille suorittimien käskykannoille, joissa konekielen käskyt ovat rakenteeltaan monimutkaisia ja yksi käsky voi sisältää useita alkeistason operaatioita. CISC-arkkitehtuurin vastakohta on RISC-arkkitehtuuri, jossa käskykanta on pyritty pitämään mahdollisimman yksinkertaisena ja tehokkaana. Tunnettuja CISC-arkkitehtuureita ovat mm. x86 (IA-32), Motorola 68000 -sarja, VAX, IBM S/360 ja PDP-11.

Termi CISC on esitelty jälkikäteen vastakohtana yksinkertaisemmalle RISC-arkkitehtuurille: termi viittaa ratkaisujen monimutkaistumiseen. CISC esitettiin kustannustehokkuuden kannalta haitallisena suuntauksena. Monimutkaistumiseen on esitetty useita syitä kuten käskynopeus verrattuna aliohjelmakutsuun.

Esimerkiksi IA-32:n käsky add [ebx+ecx*4],eax laskee summan ebx+ecx*4, lukee sitä vastaavasta osoitteesta sanan, summaa sen tulokseen eax-rekisterin sisällön ja kirjoittaa tuloksen takaisin alkuperäiseen muistipaikkaan. Moderneissa CISC-suorittimissa käskyt pilkotaan RISC-tyylisiin mikro-operaatioihin suuremman suorituskyvyn ja hyötysuhteen vuoksi.

Eräissä CISC-arkkitehtuureissa käskyn koko voi vaihdella siihen liitetyn tiedon mukaan ja muistiin osoittamiseen voi olla monta muotoa. Register-memory -arkkitehtuurissa muistin käsittely voi olla osana muuta käskyä kun taas RISC-arkkitehtuurille tyypillisessä load-store-arkkitehtuurissa on vain erilliset käskyt.

CISC-arkkitehtuurille on tyypillistä suuri määrä käskyjä, monimutkaisia käskyjä, useita osoitusmuotoja. CISC-suorittimissa voi olla mikro-ohjelmointia monimutkaisien käskyjen toteuttamiseen. Käskyt voivat vastata suoraan korkean tason ohjelmointikielien käsitteisiin.

Sekä CISC- että RISC-tyypeissä on omat etunsa ja ongelmansa.

Erojen hämärtyminen

RISC- ja CISC-arkkitehtuurien erot ovat hämärtyneet moderneissa suorittimissa. CISC- ja RISC-suunnittelutavat ovat ottaneet ominaisuuksia toisistaan. Suorittimien nopeuksien kasvamisen myötä myös CISC-suorittimet voivat suorittaa käskyjä yhdessä kellojaksossa ja ne voivat käyttää liukuhihnaa. Samalla RISC-suorittimissa on mukana monimutkaisempaa laitteistoa ja monimutkaisempia CISC-tyyppisiä käskyjä.

Katso myös

Lähteet

  1. 1 2 3 David A. Patterson: The Case for the Reduced Instruction Set Computer (PDF) inst.eecs.berkeley.edu. Viitattu 13.10.2021. (englanniksi)
  2. ↑ Security Analysis of x86 Processor Microcode dcddcc.com. 11.12.2014. Viitattu 26.9.2020. (englanniksi) 
  3. 1 2 3 4 5 6 Lecture 2 RISC Architecture (PDF) philadelphia.edu.jo. Viitattu 13.10.2021. (englanniksi)
  4. ↑ Encoding Real x86 Instructions c-jump.com. Viitattu 29.9.2017. (englanniksi)
  5. ↑ Hennessy, John L. & Patterson, David A.: Computer Architecture: A Quantitative Approach, s. 11. (Fifth Edition) Morgan Kaufmann, 2012. ISBN 978-0-12-383872-8
  6. ↑ Isen, Ciji & John, Lizy & John, Eugene.: A Tale of Two Processors: Revisiting the RISC-CISC Debate. s. 57-76. researchgate.net. 2009. doi:10.1007/978-3-540-93799-9_4
  7. ↑ Preeti Jain: CISC & RISC Architecture engineersgarage.com. Viitattu 3.2.2023. (englanniksi)