Mi a különbség a CISC és a RISC között?


Válasz 1:

A RISC általában „betöltő-tároló” a nyilvántartásokba / onnan. Általában három regisztert használunk, például ADD R1 = R2 + R3, a betöltés és a tárolás kivétel lehet, vagyis csak kivétel lehet, csak egy utasításban használt két regiszter esetén.

A CISC általában lehetővé teszi a memóriacímekből származó értékekkel történő számítást, és nem kell először azokat regisztrálni. Lehet, hogy több (összetettebb) címzési móddal is rendelkezik, lehetővé téve egy-egy regiszter számára a cím generálását.

A CISC általában kétoperandus, pl. Az ADD-vel azonos regiszter (vagy memóriacím) van a rendeltetési helyhez használt, de ugyanaz, mint az egyik forrás esetében.

Ez régen nagy ügy volt, a RISC vezetékes és a CISC pedig mikrokódot használt.

Jelenleg a CISC mikroarchitektúrája, legalább x86 (ha nem az összes használt CISC, azaz az IBM a többi túlélő CISC-t mainframezi; kivétel lehet a mikrokontrollerek), az utasításokat olyan mikrooppokra (mikro / RISC-szerű műveletekre) osztja le, amelyek ütemezhetők - az eredeti mikrokódotól eltérően.

A RISC ezt is megteheti, pl. Újabb ARM (eleinte nem volt), tehát a különbségek kisebbek, mint régen.

Az eredeti ARM-nek nem volt egész számmegosztási utasítása, mivel túl bonyolult volt, nem is beszélve a lebegőpontos pontról. Most az R csökkentett [bonyolultsága] a RISC-ben kevésbé alkalmazandó, mivel a lebegőpontosság eredendően összetett, és az összes fő RISC CPU támogatja akár négyzetgyök és trigonometria utasításokat is.


Válasz 2:

A CISC-t úgy optimalizálták, hogy az adott utasításméret alapján minél több munkát végezzen. Ennek oka az volt, hogy akkoriban a CPU-knak nem volt gyorsítótára, és az utasítások olvasása a memóriából több ciklust fog igénybe venni, tehát egy komplex utasítás, sok állapotváltozással, nem volt probléma, mindaddig, amíg kompakt volt.

A RISC azokra a processzorokra van optimalizálva, amelyeknek * van * utasítás-gyorsítótára, és amelyek megváltoztatják a szűk keresztmetszetet: a gyorsítótárak 64 és 128 bites adatot szolgáltatnak minden ciklusban - mindaddig, amíg az igazodik. Hirtelen 1 vagy akár 2 utasítást is futtathat ciklusonként, mindaddig, amíg nincs függőség, így a tiszta utasítások, amelyek csak egyetlen állapotváltozást okoznak, egyre gyorsabbak lesznek.


Válasz 3:

A CISC-t úgy optimalizálták, hogy az adott utasításméret alapján minél több munkát végezzen. Ennek oka az volt, hogy akkoriban a CPU-knak nem volt gyorsítótára, és az utasítások olvasása a memóriából több ciklust fog igénybe venni, tehát egy komplex utasítás, sok állapotváltozással, nem volt probléma, mindaddig, amíg kompakt volt.

A RISC azokra a processzorokra van optimalizálva, amelyeknek * van * utasítás-gyorsítótára, és amelyek megváltoztatják a szűk keresztmetszetet: a gyorsítótárak 64 és 128 bites adatot szolgáltatnak minden ciklusban - mindaddig, amíg az igazodik. Hirtelen 1 vagy akár 2 utasítást is futtathat ciklusonként, mindaddig, amíg nincs függőség, így a tiszta utasítások, amelyek csak egyetlen állapotváltozást okoznak, egyre gyorsabbak lesznek.