什么是CISC和RISC的體系結(jié)構(gòu)?它們彼此之間有何不同?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1.具有非常多的指令,以滿足各領(lǐng)域需求。
2.簡(jiǎn)化了編譯器來(lái)提高性能,因?yàn)槭褂靡恍└呒?jí)指令能夠減少指令的個(gè)數(shù)(單個(gè)指令的執(zhí)行時(shí)間可能變長(zhǎng)),從而總體上降低整個(gè)程序執(zhí)行時(shí)間,但是也會(huì)導(dǎo)致處理器硬件的復(fù)雜性,歷史包袱越來(lái)越多,相對(duì)來(lái)說(shuō)難理解、難驗(yàn)證。
3.具有更多專用的尋址模式和寄存器,使用可變長(zhǎng)度的指令碼。
4.指令流水線不容易實(shí)現(xiàn)。
5.許多復(fù)雜的指令可以訪問(wèn)內(nèi)存,例如可以直接將兩個(gè)內(nèi)存的數(shù)據(jù)相加。
6.主要用于PC端和服務(wù)器。
7.CISC處理器的示例:Intel x86。
?RISC?[Reduced instruction set Computing]RISC?[Reduced instruction set Computing]是指精簡(jiǎn)指令集計(jì)算,當(dāng)然這里的“R”僅僅是個(gè)相對(duì)的概念。
1.?指令數(shù)較少,數(shù)量不超過(guò)100條。由于指令相對(duì)簡(jiǎn)單,RISC芯片需要更少的晶體管。此外,減少的指令集意味著處理器可以更快地執(zhí)行指令,單個(gè)指令執(zhí)行的性能會(huì)更高。然而,只有簡(jiǎn)單的指令就意味著將完成復(fù)雜任務(wù)的負(fù)擔(dān)轉(zhuǎn)嫁給了軟件,對(duì)軟件效率提出了比較高的要求。
在這里,我們可以感覺(jué)到硬件和軟件是相互協(xié)作的,曖昧點(diǎn)說(shuō)是你儂我儂。吵架的時(shí)候,要么是你靠近我一點(diǎn),要么我靠近你一點(diǎn),不然就只能散伙了。
2.?尋址模式被簡(jiǎn)化為4個(gè)或更少,并且指令碼的長(zhǎng)度被固定,以便整個(gè)指令集的標(biāo)準(zhǔn)化??催^(guò)計(jì)算機(jī)軟硬件接口的同學(xué)應(yīng)該對(duì)這里印象深刻,作者反復(fù)強(qiáng)調(diào)的簡(jiǎn)單原則。
3.指令流水線易于實(shí)現(xiàn)。
4.只有LOAD/STORE指令才能訪問(wèn)內(nèi)存。
5.主要用于嵌入式應(yīng)用。
6.RISC通過(guò)減少每個(gè)指令的執(zhí)行周期來(lái)縮短整個(gè)程序的時(shí)間。
7.RISC處理器的示例:ARM。