Kāda ir atšķirība starp CISC un RISC?


Atbilde 1:

RISC parasti tiek “iekrauta / uzglabāta” reģistros / no tiem. Parasti tiek izmantoti trīs reģistri, piemēram, ADD R1 = R2 + R3, iekraušana un glabāšana var būt izņēmums vai tikai divi reģistrā izmantoti instrukcijā.

CISC parasti ļauj aprēķināt ar vērtībām no atmiņas adresēm, nevajadzējot tās vispirms ievadīt reģistros. Tam varētu būt arī vairāk (sarežģītāki) adresēšanas režīmi, ļaujot no viena līdz vairākiem reģistriem adrešu ģenerēšanai.

CISC parasti ir divu operandu, piemēram, ADD ir tāds pats reģistrs (vai atmiņas adrese), ko izmanto mērķa sasniegšanai, bet tas pats, ko izmanto vienam no avotiem.

Tas agrāk bija liels darījums, un RISC vadu un CISC, izmantojot mikrokodus.

Tagad mikroarhitektūra CISC, vismaz x86 (ja ne visi izmantojamie CISC, kas nozīmē, ka IBM lieldatoros ir vienīgais pārējais izdzīvojušais CISC; mikrokontrolleri var būt izņēmums) sadala instrukcijas līdz mikroskopiem (mikro / RISC līdzīgas operācijas), kas var plānot ārpus -pasūtīt atšķirībā no oriģinālā mikrokoda.

RISC to pat var darīt, piemēram, jaunāks ARM (sākumā nebija), tāpēc atšķirības ir mazākas nekā agrāk.

Oriģinālajam ARM nebija skaitļu dalīšanas instrukcijas, jo tā bija pārāk sarežģīta, nemaz nerunājot par peldošo komatu. Tagad RISC samazinātā [sarežģītība] R tiek piemērota mazāk, jo peldošais komats ir raksturīgs sarežģīts un visi lielākie RISC CPU atbalsta pat kvadrātsaknes un trigonometrijas instrukcijas.


Atbilde 2:

CISC ir optimizēts, lai veiktu pēc iespējas lielāku darbu no norādītā lieluma. Tas ir tāpēc, ka procesoriem toreiz nebija kešatmiņas, un instrukciju lasīšana no atmiņas prasītu vairākus ciklus, tāpēc sarežģīta instrukcija ar daudzām stāvokļa izmaiņām nebija problēma, kamēr tā bija kompakta.

RISC ir optimizēts CPU, kuriem * ir * kešatmiņas kešatmiņa un kas maina sašaurinājumu: kešatmiņas var viegli sniegt jums 64 un 128 bitus datus katrā ciklā - ja vien tas ir izlīdzināts. Pēkšņi jūs varat izpildīt 1 vai pat 2 instrukcijas ciklā, ja vien nav atkarības, tāpēc tīrās instrukcijas, kas izraisa tikai viena stāvokļa maiņu, kļūst arvien ātrākas.


Atbilde 3:

CISC ir optimizēts, lai veiktu pēc iespējas lielāku darbu no norādītā lieluma. Tas ir tāpēc, ka procesoriem toreiz nebija kešatmiņas, un instrukciju lasīšana no atmiņas prasītu vairākus ciklus, tāpēc sarežģīta instrukcija ar daudzām stāvokļa izmaiņām nebija problēma, kamēr tā bija kompakta.

RISC ir optimizēts CPU, kuriem * ir * kešatmiņas kešatmiņa un kas maina sašaurinājumu: kešatmiņas var viegli sniegt jums 64 un 128 bitus datus katrā ciklā - ja vien tas ir izlīdzināts. Pēkšņi jūs varat izpildīt 1 vai pat 2 instrukcijas ciklā, ja vien nav atkarības, tāpēc tīrās instrukcijas, kas izraisa tikai viena stāvokļa maiņu, kļūst arvien ātrākas.