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, VAX, IBM S/360 ja PDP-11. Termi CISC on esitelty jälkikäteen vastakohtana yksinkertaisemmalle RISC-arkkitehtuurille: termi viittaa ratkaisujen monimutkaistumiseen.[1] CISC esitettiin kustannustehokkuuden kannalta haitallisena suuntauksena.[1] Monimutkaistumiseen on esitetty useita syitä kuten käskynopeus verrattuna aliohjelmakutsuun.[1]
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.[2]
Eräissä CISC-arkkitehtuureissa käskyn koko voi vaihdella siihen liitetyn tiedon mukaan ja muistiin osoittamiseen voi olla monta muotoa.[3][4] 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.[3][5]
CISC-arkkitehtuurille on tyypillistä suuri määrä käskyjä, monimutkaisia käskyjä, useita osoitusmuotoja.[3] CISC-suorittimissa voi olla mikro-ohjelmointia monimutkaisien käskyjen toteuttamiseen.[3] Käskyt voivat vastata suoraan korkean tason ohjelmointikieli käsitteisiin.[3]
Sekä CISC- että RISC-tyypeissä on omat etunsa ja ongelmansa.[3]
Katso myös[muokkaa | muokkaa wikitekstiä]
Lähteet[muokkaa | muokkaa wikitekstiä]
- ↑ 1,0 1,1 1,2 David A. Patterson: The Case for the Reduced Instruction Set Computer (PDF) inst.eecs.berkeley.edu. Viitattu 13.10.2021. (englanniksi)
- ↑ Security Analysis of x86 Processor Microcode dcddcc.com. 11.12.2014. Viitattu 26.9.2020. (englanniksi)
- ↑ 3,0 3,1 3,2 3,3 3,4 3,5 Lecture 2 RISC Architecture (PDF) philadelphia.edu.jo. Viitattu 13.10.2021. (englanniksi)
- ↑ Encoding Real x86 Instructions c-jump.com. Viitattu 29.9.2017. (englanniksi)
- ↑ Hennessy, John L. & Patterson, David A.: Computer Architecture: A Quantitative Approach, s. 11. Fifth Edition. Morgan Kaufmann, 2012. ISBN 978-0-12-383872-8.