1.4.1 流水線技術(shù)
流水線(Pipeline)技術(shù)是一種將每條指令分解為多步,并使不同指令的各步重疊操作,以實(shí)現(xiàn)幾條指令并行操作,加速程序的執(zhí)行速度的一種技術(shù)。
采用流水線技術(shù)后,并沒有加速單條指令的執(zhí)行,每條指令的操作步驟也沒有減少,只是多條指令同時(shí)執(zhí)行,因而從總體上加快了指令執(zhí)行的速度。
例如,80486采用六級(jí)流水線結(jié)構(gòu),即同時(shí)有6條指令并行操作。若每條指令需要6個(gè)步驟,每個(gè)步驟需要一個(gè)時(shí)鐘周期的時(shí)間,那么經(jīng)過6個(gè)時(shí)鐘后,每個(gè) 時(shí)鐘就有一條指令執(zhí)行完畢。Pentium采用由“U”和“V”兩條并行指令流水線構(gòu)成的超標(biāo)量流水線結(jié)構(gòu),可大大提高指令的執(zhí)行速度。
流水線的實(shí)現(xiàn)是通過增加計(jì)算機(jī)硬件來實(shí)現(xiàn)的。通常一條指令的執(zhí)行分為預(yù)取指令、譯碼、地址生成、取操作數(shù)、執(zhí)行指令等多個(gè)步驟,每個(gè)步驟都需要有相應(yīng)的硬件電路支持,才能實(shí)現(xiàn)流水線作業(yè)。
1.4.2 高速緩沖存儲(chǔ)器技術(shù)
在80386以后的微型機(jī)中,為了加快運(yùn)算速度,都增設(shè)一級(jí)或二級(jí)的高速小容量存儲(chǔ)器,稱之為高速緩沖存儲(chǔ)器(Cache)。高速緩沖存儲(chǔ)器的存取速度比微機(jī)中的主存儲(chǔ)器要快一個(gè)數(shù)量級(jí),大體和CPU的處理速度相當(dāng)。
由于程序中相關(guān)數(shù)據(jù)塊一般都按順序存放,并且大都存于相鄰的存儲(chǔ)單元,而程序常常重復(fù)使用同一代碼和數(shù)據(jù)塊,利用程序執(zhí)行的這些重要特征,可采用 Cache保存這些經(jīng)常重復(fù)使用或當(dāng)前將要使用的指令和數(shù)據(jù)。CPU在對(duì)一條指令或操作數(shù)尋址時(shí),首先到Cache中去查找,在一般正常情況下,CPU對(duì) Cache的存取命中率可達(dá)95%以上,從而大大提高了程序的執(zhí)行速度。
Cache技術(shù)和設(shè)計(jì)是一個(gè)復(fù)雜的課題,一般而 言,Cache容量大,有較高的命中率,則說明系統(tǒng)的性能較好。Cache和與它配合的高速緩沖控制器都由硬件實(shí)現(xiàn),80486以后的微處理器中將 Cache和高速緩沖控制器集成在CPU芯片中,因此對(duì)用戶說是透明的,不需要用戶自己去控制或操作。
1.4.3 虛擬存儲(chǔ)器技術(shù)
虛擬存儲(chǔ)技術(shù)是在內(nèi)存儲(chǔ)器和外存儲(chǔ)器(軟盤、硬盤或光盤)之間增加一定的硬件和軟件支持,使內(nèi)存和外存形成一個(gè)有機(jī)的整體。操作時(shí),將程序預(yù)先放在外存 儲(chǔ)器中,由系統(tǒng)軟件(操作系統(tǒng))統(tǒng)一管理和調(diào)度,按照某種置換算法將外存的內(nèi)容依次調(diào)入內(nèi)存中被CPU執(zhí)行。這樣,對(duì)使用者說,從CPU看到的是一個(gè)速度 接近內(nèi)存而容量卻與外存相當(dāng)?shù)募傧氪鎯?chǔ)器,稱為虛擬存儲(chǔ)器,使編程人員在編寫程序時(shí)可以不考慮內(nèi)存容量的限制。在采用虛擬存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中,存在著虛 地址空間和實(shí)地址空間兩個(gè)地址不同的空間。虛地址空間是程序可用的空間,而實(shí)地址空間是CPU可訪問的內(nèi)存空間。例如,在80486中,實(shí)地址空間為 232B4GB,而虛地址空間為246B64TB。
1.4.4 RISC技術(shù)
精簡(jiǎn)指令集計(jì)算(Reduced Instruction Set Computing)技術(shù)簡(jiǎn)稱RISC技術(shù),其主導(dǎo)思想是精簡(jiǎn)CPU芯片中指令的數(shù)目,簡(jiǎn)化芯片的復(fù)雜程度,使指令的執(zhí)行速度更快。
傳統(tǒng)的計(jì)算機(jī)都采用CISC(Complex Instruction Set Computing)處理器,如現(xiàn)在常用的Intel 80x86,其 指令集中有許多指令非常復(fù)雜。用編譯器對(duì)程序編譯的結(jié)果證明,大多數(shù)復(fù)雜的指令很少被使用,編譯器生成的總代碼的90%以上是只占CISC指令集中不足 10%的指令。要設(shè)計(jì)更好的編譯器是困難的;而可行的方法是,構(gòu)筑一種簡(jiǎn)單的計(jì)算機(jī),使它只有少數(shù)指令、大的寄存器陣列、對(duì)主存的簡(jiǎn)單裝入/存儲(chǔ)訪問,并 且大多數(shù)指令執(zhí)行只需要一個(gè)時(shí)鐘周期,這就是RISC處理器組成的計(jì)算機(jī)。
RISC處理器的主要特征表現(xiàn)在下列方面:
。1)采用統(tǒng)一的指令長(zhǎng)度,以簡(jiǎn)化相應(yīng)的邏輯電路;
。2)全64位實(shí)現(xiàn),高流水線執(zhí)行單元,很高的內(nèi)部時(shí)鐘速度(>200MHz);
。3)內(nèi)置高性能浮點(diǎn)運(yùn)算部件和大容量指令/數(shù)據(jù)Cache;
。4)采用調(diào)入/存儲(chǔ)體系結(jié)構(gòu),將內(nèi)存中的數(shù)據(jù)預(yù)先調(diào)入內(nèi)部寄存器,以減少訪問內(nèi)存的指令數(shù);
(5)支持多媒體和DSP的新指令。
RISC處理器的優(yōu)點(diǎn)早就為人所知,但其執(zhí)行中需要大容量的存儲(chǔ)器和昂貴的Cache,因此RISC技術(shù)的推廣遇到了很大的阻力。目前RISC技術(shù)已逐漸在消費(fèi)者和商業(yè)領(lǐng)域獲得認(rèn)同和應(yīng)用。