Ano ang pagkakaiba ng CISC at RISC?


sagot 1:

Ang RISC ay karaniwang "load-store" hanggang / mula sa mga rehistro. Karaniwan ang tatlong rehistro ay ginagamit tulad ng ADD R1 = R2 + R3, ang pag-load at tindahan ay maaaring o hindi maaaring maging isang pagbubukod kasama ang dalawang rehistro lamang na ginamit sa isang tagubilin.

Sa pangkalahatan ay pinapayagan ng CISC ang pagkalkula gamit ang mga halaga mula sa mga memorya ng memorya, hindi na kailangan upang makuha muna sila sa mga rehistro. Maaari rin itong magkaroon ng higit pa (kumplikado) na mga mode ng pagtugon, na nagpapahintulot sa mula sa isa hanggang higit pang mga rehistro para sa henerasyon ng address.

Ang CISC sa pangkalahatan ay two-operand, kasama ang ADD na may parehong rehistro (o memorya ng memorya) na ginamit para sa patutunguhan, ngunit pareho ding ginamit para sa isa sa mapagkukunan.

Ito ay naging isang malaking pakikitungo, at ang RISC hardwired at CISC gamit ang microcode.

Ngayon ang microarchiteture para sa CISC, hindi bababa sa x86 (kung hindi lahat ay ginagamit sa CISC, nangangahulugang ang IBM mainframes ang tanging iba pang nakaligtas na CISC; ang mga microcontroller ay maaaring maging isang pagbubukod) ay nagbabawas ng mga tagubilin hanggang sa mga microops (micro / RISC-tulad ng mga operasyon) na maaaring mag-iskedyul ng labas ng -order hindi katulad para sa orihinal na microcode.

Maaaring gawin iyon ng RISC, halimbawa, mas bagong ARM (hindi una), kaya ang mga pagkakaiba ay mas mababa kaysa sa dati.

Ang Orihinal na ARM ay walang tagubilin ng integer division dahil ito ay masyadong kumplikado, huwag mag-isa para sa lumulutang na punto. Ngayon ang nabawasan [pagiging kumplikado] para sa R ​​sa RISC ay nalalapat nang mas kaunti dahil ang lumulutang na point ay likas na kumplikado at ang lahat ng mga pangunahing RISC CPUs ay sumusuporta kahit hanggang sa square root at trigonometry na mga tagubilin.


sagot 2:

Ang CISC ay na-optimize para sa paggawa ng maraming trabaho hangga't maaari mula sa isang naibigay na sukat ng pagtuturo. Ito ay dahil ang mga CPU ay hindi bumalik sa cache, at ang pagbabasa ng mga tagubilin mula sa memorya ay kukuha ng maraming mga siklo, kaya ang isang kumplikadong tagubilin na may maraming mga pagbabago sa estado ay hindi isang problema hangga't ito ay compact.

Ang RISC ay na-optimize para sa mga CPU na * gawin * ay mayroong isang cache ng pagtuturo, at nagbabago ang bottleneck: ang mga cache ay madaling magbigay sa iyo ng 64 at 128 na piraso ng data sa bawat pag-ikot - hangga't nakahanay ito. Bigla, maaari kang magpatakbo ng 1 o kahit 2 mga tagubilin sa bawat pag-ikot hangga't walang pag-asa, kaya ang mga malinis na tagubilin na nagdudulot lamang ng isang pagbabago sa estado ay naging mabilis nang paraan.


sagot 3:

Ang CISC ay na-optimize para sa paggawa ng maraming trabaho hangga't maaari mula sa isang naibigay na sukat ng pagtuturo. Ito ay dahil ang mga CPU ay hindi bumalik sa cache, at ang pagbabasa ng mga tagubilin mula sa memorya ay kukuha ng maraming mga siklo, kaya ang isang kumplikadong tagubilin na may maraming mga pagbabago sa estado ay hindi isang problema hangga't ito ay compact.

Ang RISC ay na-optimize para sa mga CPU na * gawin * ay mayroong isang cache ng pagtuturo, at nagbabago ang bottleneck: ang mga cache ay madaling magbigay sa iyo ng 64 at 128 na piraso ng data sa bawat pag-ikot - hangga't nakahanay ito. Bigla, maaari kang magpatakbo ng 1 o kahit 2 mga tagubilin sa bawat pag-ikot hangga't walang pag-asa, kaya ang mga malinis na tagubilin na nagdudulot lamang ng isang pagbabago sa estado ay naging mabilis nang paraan.