簡(jiǎn)述80486CPU的內(nèi)部結(jié)構(gòu),并說(shuō)明每個(gè)部件功能
簡(jiǎn)述80486CPU的內(nèi)部結(jié)構(gòu),并說(shuō)明每個(gè)部件功能
當(dāng)總線部件不運(yùn)行執(zhí)行指令的總線周期時(shí),指令預(yù)取部件就用它順序地預(yù)先取出幾條其它單元要用的指令。取出的指令放在預(yù)取隊(duì)列里,該隊(duì)列可保存由總線部件取出的兩個(gè)16字節(jié)指令和數(shù)據(jù)塊。這樣做使得其它單元幾乎不必等待便可得到下一條指令。當(dāng)每一條指令從預(yù)取隊(duì)列取出時(shí),就將其操作碼部分送到譯碼器,將置換部分送到分段部件進(jìn)行地址計(jì)算。指令譯碼器把從預(yù)取隊(duì)列中取出的指令轉(zhuǎn)換成低級(jí)的控制信號(hào)和微碼入口。譯碼后的指令存放在指令隊(duì)列里,一理控制器發(fā)出請(qǐng)求就將其發(fā)送給控制器??刂破骱形⑻幚砥鞯奈⒋a(微處理器中的一組低級(jí)命令)??刂破髫?fù)責(zé)解釋從指令譯碼器收到的控制信號(hào)和微碼入口,并根據(jù)譯碼后的指令指揮整數(shù)部件、浮點(diǎn)部件、存儲(chǔ)器管理部件等的活動(dòng)。
導(dǎo)讀當(dāng)總線部件不運(yùn)行執(zhí)行指令的總線周期時(shí),指令預(yù)取部件就用它順序地預(yù)先取出幾條其它單元要用的指令。取出的指令放在預(yù)取隊(duì)列里,該隊(duì)列可保存由總線部件取出的兩個(gè)16字節(jié)指令和數(shù)據(jù)塊。這樣做使得其它單元幾乎不必等待便可得到下一條指令。當(dāng)每一條指令從預(yù)取隊(duì)列取出時(shí),就將其操作碼部分送到譯碼器,將置換部分送到分段部件進(jìn)行地址計(jì)算。指令譯碼器把從預(yù)取隊(duì)列中取出的指令轉(zhuǎn)換成低級(jí)的控制信號(hào)和微碼入口。譯碼后的指令存放在指令隊(duì)列里,一理控制器發(fā)出請(qǐng)求就將其發(fā)送給控制器。控制器含有微處理器的微碼(微處理器中的一組低級(jí)命令)??刂破髫?fù)責(zé)解釋從指令譯碼器收到的控制信號(hào)和微碼入口,并根據(jù)譯碼后的指令指揮整數(shù)部件、浮點(diǎn)部件、存儲(chǔ)器管理部件等的活動(dòng)。
![](https://img.51dongshi.com/20250108/wz/18396157952.jpg)
80486芯片上有一個(gè)指令和數(shù)據(jù)共用的8KB高速緩存。INTEL 80486DX4的高速緩存為16KB??偩€部件負(fù)責(zé)對(duì)內(nèi)部單元與外部總線之間的指令預(yù)取、數(shù)據(jù)傳輸、控制功能等安排優(yōu)先次序和進(jìn)行協(xié)調(diào)。對(duì)內(nèi)部通過(guò)三條32位總線與指令預(yù)取部件和高速緩存通訊,對(duì)外則產(chǎn)生總線周期必需的各種信號(hào)。支持突發(fā)讀周期,可從主存取出16字節(jié)的數(shù)據(jù)和指令塊。還可以緩沖4個(gè)32位的存儲(chǔ)器寫周期,使產(chǎn)生該寫請(qǐng)求的內(nèi)部單元可以轉(zhuǎn)而繼續(xù)進(jìn)行別的處理工作。當(dāng)總線部件不運(yùn)行執(zhí)行指令的總線周期時(shí),指令預(yù)取部件就用它順序地預(yù)先取出幾條其它單元要用的指令。取出的指令放在預(yù)取隊(duì)列里,該隊(duì)列可保存由總線部件取出的兩個(gè)16字節(jié)指令和數(shù)據(jù)塊。這樣做使得其它單元幾乎不必等待便可得到下一條指令。當(dāng)每一條指令從預(yù)取隊(duì)列取出時(shí),就將其操作碼部分送到譯碼器,將置換部分送到分段部件進(jìn)行地址計(jì)算。指令譯碼器把從預(yù)取隊(duì)列中取出的指令轉(zhuǎn)換成低級(jí)的控制信號(hào)和微碼入口。譯碼后的指令存放在指令隊(duì)列里,一理控制器發(fā)出請(qǐng)求就將其發(fā)送給控制器。控制器含有微處理器的微碼(微處理器中的一組低級(jí)命令)??刂破髫?fù)責(zé)解釋從指令譯碼器收到的控制信號(hào)和微碼入口,并根據(jù)譯碼后的指令指揮整數(shù)部件、浮點(diǎn)部件、存儲(chǔ)器管理部件等的活動(dòng)。浮點(diǎn)部件是將數(shù)學(xué)協(xié)處理器的功能集成在芯片上,負(fù)責(zé)解釋32位、64位和80位浮點(diǎn)格式。它使用一些專門的電路和寄存器來(lái)處理一些超越函數(shù)和復(fù)雜的實(shí)數(shù)運(yùn)算。由于將浮點(diǎn)部件集成在芯片內(nèi),使得其與其它的內(nèi)部單元之間的接口效率大大提高。此外,浮點(diǎn)部件和算術(shù)邏輯運(yùn)算部件(ALU)可以并行操作,因而允許二者能同時(shí)執(zhí)行指令。通過(guò)這些改進(jìn),使得浮點(diǎn)部件的性能比80387提高了4倍。整數(shù)部件由算術(shù)邏輯運(yùn)算部件(ALU)、8個(gè)通用寄存器、若干個(gè)專用寄存器和一個(gè)桶形移位器組成。它負(fù)責(zé)執(zhí)行控制器指定的全部算術(shù)和邏輯運(yùn)算,可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行加載、存儲(chǔ)、加減、邏輯和移位等單條指令。存儲(chǔ)器管理部件通過(guò)建立一個(gè)簡(jiǎn)化的、運(yùn)行多個(gè)應(yīng)用程序的尋址環(huán)境來(lái)幫助操作系統(tǒng)的多任務(wù)操作。存儲(chǔ)器管理部件含有分段和分頁(yè)電路,負(fù)責(zé)將每個(gè)內(nèi)部邏輯地址轉(zhuǎn)換成相應(yīng)于主存儲(chǔ)器的一個(gè)特定單元的外部物理地址。分段是一種在主存儲(chǔ)器中為每個(gè)程序提供它自己的地址空間(稱為段)的技術(shù),其目的是防止多個(gè)應(yīng)用程序裝入主存時(shí)各程序間造成相互干擾。分段部件要將其它內(nèi)部單元所用的內(nèi)部邏輯地址轉(zhuǎn)換為不分段的線性地址,按照稱為段描述符的數(shù)據(jù)結(jié)構(gòu)保持各個(gè)段的位置。線性地址隨后轉(zhuǎn)發(fā)到分頁(yè)部件。如果不用分頁(yè),線性地址就等于物理地址。分頁(yè)是將主存劃分成很多4KB的塊(頁(yè)),以支持虛擬存儲(chǔ)器環(huán)境。在虛擬存儲(chǔ)環(huán)境下,是用少量的內(nèi)存和磁盤存儲(chǔ)器來(lái)模擬一個(gè)大的地址空間。只將與當(dāng)前運(yùn)行的指令或讀數(shù)據(jù)有關(guān)的頁(yè)放入內(nèi)存,而將程序其余部分放在磁盤上。分頁(yè)部件利用轉(zhuǎn)換查尋表將來(lái)自分段部件的線性地址轉(zhuǎn)換成物理地址。
簡(jiǎn)述80486CPU的內(nèi)部結(jié)構(gòu),并說(shuō)明每個(gè)部件功能
當(dāng)總線部件不運(yùn)行執(zhí)行指令的總線周期時(shí),指令預(yù)取部件就用它順序地預(yù)先取出幾條其它單元要用的指令。取出的指令放在預(yù)取隊(duì)列里,該隊(duì)列可保存由總線部件取出的兩個(gè)16字節(jié)指令和數(shù)據(jù)塊。這樣做使得其它單元幾乎不必等待便可得到下一條指令。當(dāng)每一條指令從預(yù)取隊(duì)列取出時(shí),就將其操作碼部分送到譯碼器,將置換部分送到分段部件進(jìn)行地址計(jì)算。指令譯碼器把從預(yù)取隊(duì)列中取出的指令轉(zhuǎn)換成低級(jí)的控制信號(hào)和微碼入口。譯碼后的指令存放在指令隊(duì)列里,一理控制器發(fā)出請(qǐng)求就將其發(fā)送給控制器??刂破骱形⑻幚砥鞯奈⒋a(微處理器中的一組低級(jí)命令)??刂破髫?fù)責(zé)解釋從指令譯碼器收到的控制信號(hào)和微碼入口,并根據(jù)譯碼后的指令指揮整數(shù)部件、浮點(diǎn)部件、存儲(chǔ)器管理部件等的活動(dòng)。
為你推薦