cpu指令系統(tǒng)又稱什么
cpu指令系統(tǒng)又稱什么
CPU作為電腦的核心組成部份,它的好壞直接影響到電腦的性能。下面是學(xué)習(xí)啦小編帶來的關(guān)于cpu指令系統(tǒng)又稱什么的內(nèi)容,歡迎閱讀!
cpu指令系統(tǒng)又稱什么:
指令系統(tǒng)指的是一個(gè)CPU所能夠處理的全部指令的集合,是一個(gè)CPU的根本屬性。比如我們現(xiàn)在所用的CPU都是采用x86指令集的,他們都是同一類型的CPU,不管是INTEL的CPU、還是IMD的Athlon或Joshua。
世界上還有比這些更快的CPU,比如Alpha,但它們不是用x86指令集,不能使用數(shù)量龐大的基于x86指令集的程序,如Windows98。
之所以說指令系統(tǒng)是一個(gè)CPU的根本屬性,是因?yàn)橹噶钕到y(tǒng)決定了一個(gè)CPU能夠運(yùn)行什么樣的程序。 所有采用高級(jí)語言編出的程序,都需要翻譯(編譯或解釋)成為機(jī)器語言后才能運(yùn)行,這些機(jī)器語言中所包含的就是一條條的指令。 1、 指令的格式 一條指令一般包括兩個(gè)部分:操作碼和地址碼。操作碼其實(shí)就是指令序列號(hào),用來告訴CPU需要執(zhí)行的是那一條指令。地址碼則復(fù)雜一些,主要包括源操作數(shù)地址、目的地址和下一條指令的地址。在某些指令中,地址碼可以部分或全部省略,比如一條空指令就只有操作碼而沒有地址碼。
舉個(gè)例子吧,某個(gè)指令系統(tǒng)的指令長度為32位,操作碼長度為8位,地址長度也為8位,且第一條指令是加,第二條指令是減。當(dāng)它收到一個(gè)“00000010000001000000000100000110”的指令時(shí),先取出它的前8位操作碼,即00000010,分析得出這是一個(gè)減法操作,有3個(gè)地址,分別是兩個(gè)源操作數(shù)地址和一個(gè)目的地址。于是,CPU就到內(nèi)存地址00000100處取出被減數(shù),到00000001處取出減數(shù),送到ALU中進(jìn)行減法運(yùn)算,然后把結(jié)果送到00000110處。
早期的CPU都采用CISC指令,最典型的就是x86系列處理器。CISC的特點(diǎn)是有大量復(fù)雜的指令、指令長度可變、尋址方式多樣。
在計(jì)算機(jī)發(fā)展之初,CPU指令系統(tǒng)包含很少的指令,一些復(fù)雜的操作通過簡(jiǎn)單指令的組合來實(shí)現(xiàn),如兩個(gè)數(shù)a和b相乘可以用a個(gè)b的加法來實(shí)現(xiàn)。隨著集成電路技術(shù)的迅速發(fā)展,為了軟件編程方便和提高程序運(yùn)行速度,在CPU的設(shè)計(jì)中不斷增加可實(shí)現(xiàn)復(fù)雜功能的指令,如乘法運(yùn)算中直接使用乘法指令而不是多個(gè)數(shù)的累加。隨著復(fù)雜指令增多,CPU指令系統(tǒng)變得越來越復(fù)雜。
指令越來越多、越來越復(fù)雜帶來另一個(gè)問題,因?yàn)橹噶钕到y(tǒng)的指令數(shù)量由指令操作碼的位數(shù)決定。如指令數(shù)量為n,指令碼位數(shù)為k,則 。CPU指令編碼寬度不可能隨意增加,促使操作碼擴(kuò)展技術(shù)出現(xiàn)。假如操作碼為2位,則正常情況可表示四個(gè)指令,分別是00, O1, 10, 11。為了增加指令長度,如果把編碼“11”作為擴(kuò)展碼,并把操作碼擴(kuò)展到4位,則該指令系統(tǒng)就有 00, O1, 10, 1100, 1101, 1110, 1111等七條指令,這就是長度可變的操作碼編碼方式。
上述這種具有大量復(fù)雜指令、指令長度可變、且尋址方式多樣的指令系統(tǒng)就是傳統(tǒng)CISC指令系統(tǒng)。
采用CISC (Complex Instruction Set Computer,復(fù)雜指令集計(jì)算機(jī))的計(jì)算機(jī)有著較強(qiáng)的處理高級(jí)語言的能力,這有益于提高計(jì)算機(jī)的性能,但另一方面,復(fù)雜的指令、變長的編碼、靈活的尋址方式大大增加了指令解碼的難度,而在現(xiàn)在的高速硬件發(fā)展下,復(fù)雜指令所帶來的速度提升已不及在解碼上浪費(fèi)點(diǎn)的時(shí)間。
IBM公司于1975年組織力量研究指令系統(tǒng)的合理性問題,發(fā)現(xiàn)CISC存在的一些缺點(diǎn):首先,在這種計(jì)算機(jī)中,各種指令的使用率差別很大,一個(gè)典型程序的運(yùn)算過程所使用的80%指令,只占一個(gè)處理器指令系統(tǒng)的20,最頻繁使用的是取、存和加這些最簡(jiǎn)單的指令,而占指令數(shù)80%的復(fù)雜指令卻只有20%的機(jī)會(huì)用到。復(fù)雜的指令系統(tǒng)必然帶來結(jié)構(gòu)的復(fù)雜性,增加了設(shè)計(jì)、制造的難度,盡管大規(guī)模集成電路技術(shù)已達(dá)發(fā)展到很高的水平,但也很難把CISC的全部硬件做在一個(gè)芯片上,妨礙單片計(jì)算機(jī)的發(fā)展;另外,在CISC中,許多復(fù)雜指令需要完成復(fù)雜的操作,這類指令多數(shù)是某種高級(jí)語言的直接翻版,因而通用性差,采用二級(jí)的微碼執(zhí)行方式,降低了那些被頻繁調(diào)用的簡(jiǎn)單指令系統(tǒng)的運(yùn)行速度。
針對(duì)CISC的這些弊病,業(yè)界提出了精簡(jiǎn)指令的設(shè)計(jì)思想,即指令系統(tǒng)應(yīng)當(dāng)只包含那些使用頻率很高的少量指令,并提供一些必要的指令以支持操作系統(tǒng)和高級(jí)語言,按照這個(gè)原則發(fā)展而成的計(jì)算機(jī)被稱為RISC(Reduced Instruction Set Computer,精簡(jiǎn)指令集計(jì)算機(jī))。
RISC的最大特點(diǎn)是指令長度固定,指令種類少,尋址方式種類少,大多數(shù)是簡(jiǎn)單指令且都能在一個(gè)時(shí)鐘周期內(nèi)完成,易于設(shè)計(jì)超標(biāo)量與流水線,寄存器數(shù)量多,大量操作在寄存器之間進(jìn)行。一般認(rèn)為RISC處理器有以下幾個(gè)方面的優(yōu)點(diǎn):
1)芯片面積小
實(shí)現(xiàn)精簡(jiǎn)的指令系統(tǒng)需要的晶體管少,芯片面積自然就小一些。節(jié)約的面積可以用于實(shí)現(xiàn)提高性能的功能部件,如高速緩存、存儲(chǔ)器管理和浮點(diǎn)運(yùn)算器等,也便于在單片上集成更多其它模塊,如網(wǎng)絡(luò)控制器、語音/視頻編碼器、SDRAM控制器、PCI總線控制器等。
2)開發(fā)時(shí)間短
開發(fā)一個(gè)結(jié)構(gòu)簡(jiǎn)潔的處理器在人力、物力上的投入要更少,整個(gè)開發(fā)工作的開發(fā)時(shí)間更易于預(yù)測(cè)可控制。
3)性能高
在CISC處理器中,一些復(fù)雜的操作有專用的指令,對(duì)于單個(gè)的操作使用專用指令可以提高處理效率,但復(fù)雜指令的使用降低了所有其它指令的執(zhí)行效率。完成同樣功能的程序時(shí),RISC處理器需要更多的指令,但RISC單個(gè)指令執(zhí)行效率高,而且RISC處理器容易實(shí)現(xiàn)更高的工作頻率,從來使整體性能得到提高。RIS C處理器的性能上的優(yōu)點(diǎn)在處理器發(fā)展的實(shí)踐中得到驗(yàn)證。
目前,通用計(jì)算機(jī),如個(gè)人電腦、服務(wù)器等大多采用CISC結(jié)構(gòu)的x86處理器,隨著技術(shù)的發(fā)展,新的x86處理器融合了RISC的特性。在嵌入式處理器中,RISC技術(shù)則得到普遍的應(yīng)用,如MIPS處理器、ARM處理器等。
看了cpu指令系統(tǒng)又稱什么文章內(nèi)容的人還看:
1.什么是CPU
2.cpu有什么功能
3.cpu有多重要