Mitä eroa CISC: n ja RISC: n välillä on?


Vastaus 1:

RISC on yleensä “kuorma-varasto” rekisteriin / rekisteristä. Yleensä käytetään kolmea rekisteriä, kuten ADD R1 = R2 + R3, lataus ja tallennus voivat olla poikkeus, jos vain kaksi rekisterissä käytetään käskyä.

CISC yleensä sallii laskennan muistiosoitteiden arvoilla, eikä niitä tarvitse ensin viedä rekistereihin. Sillä voi olla myös enemmän (monimutkaisia) osoitusmuotoja, sallimalla yhdestä useampaan rekisteriin osoitteen muodostamista varten.

CISC on yleensä kaksioperandi, esim. ADD: llä on sama rekisteri (tai muistiosoite), jota käytetään määränpäähän, mutta myös sama, jota käytetään yhdessä lähteessä.

Aikaisemmin tämä oli iso juttu, ja RISC-johdot ja CISC käyttivät mikrokoodia.

Nyt mikroarkkitehtuuri CISC: lle, ainakin x86 (ellei kaikkia käytössä olevia CISC: tä tarkoita, että IBM mainframes ainoa muu elossa oleva CISC; mikrokontrollerit voivat olla poikkeus) jakaa ohjeet mikrojoukkoihin (mikro / RISC-kaltaiset operaatiot), jotka voivat ajoittaa ulkopuolella -tilaa toisin kuin alkuperäisessä mikrokoodissa.

RISC saattaa jopa tehdä niin, esimerkiksi uudempi ARM (ei alun perin), joten erot ovat pienemmät kuin ennen.

Alkuperäisellä ARM: llä ei ollut kokonaislukujako-ohjeita, koska se oli liian monimutkainen, puhumattakaan liukuluku. Nyt RISC: n vähentynyt [monimutkaisuus] R: llä on vähemmän sovellettavissa, koska liukuluku on luonnostaan ​​monimutkainen ja kaikki suuret RISC-prosessorit tukevat jopa neliöjuuren ja trigonometrian ohjeita.


Vastaus 2:

CISC on optimoitu tekemään niin paljon työtä kuin mahdollista annetusta ohjekokosta. Tämä johtuu siitä, että suorittimilla ei ollut silloin välimuistia, ja ohjeiden lukeminen muistista kesti useita jaksoja, joten monimutkainen käsky, jossa oli monia tilamuutoksia, ei ollut ongelma, kunhan se oli kompakti.

RISC on optimoitu prosessoreille, joissa * on * käskyvälimuisti, ja jotka muuttavat pullonkaulaa: välimuistit voivat antaa sinulle helposti 64 ja 128 bittiä dataa joka sykli - niin kauan kuin se on kohdistettu. Yhtäkkiä voit suorittaa yhden tai jopa 2 käskyä jaksoa kohden niin kauan kuin riippuvuutta ei ole, joten puhtaat ohjeet, jotka aiheuttavat vain yhden tilanmuutoksen, muuttuvat entistä nopeammiksi.


Vastaus 3:

CISC on optimoitu tekemään niin paljon työtä kuin mahdollista annetusta ohjekokosta. Tämä johtuu siitä, että suorittimilla ei ollut silloin välimuistia, ja ohjeiden lukeminen muistista kesti useita jaksoja, joten monimutkainen käsky, jossa oli monia tilamuutoksia, ei ollut ongelma, kunhan se oli kompakti.

RISC on optimoitu prosessoreille, joissa * on * käskyvälimuisti, ja jotka muuttavat pullonkaulaa: välimuistit voivat antaa sinulle helposti 64 ja 128 bittiä dataa joka sykli - niin kauan kuin se on kohdistettu. Yhtäkkiä voit suorittaa yhden tai jopa 2 käskyä jaksoa kohden niin kauan kuin riippuvuutta ei ole, joten puhtaat ohjeet, jotka aiheuttavat vain yhden tilanmuutoksen, muuttuvat entistä nopeammiksi.