計(jì)算機(jī)組成原理第6-10章_第1頁(yè)
計(jì)算機(jī)組成原理第6-10章_第2頁(yè)
計(jì)算機(jī)組成原理第6-10章_第3頁(yè)
計(jì)算機(jī)組成原理第6-10章_第4頁(yè)
計(jì)算機(jī)組成原理第6-10章_第5頁(yè)
已閱讀5頁(yè),還剩384頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第6章 中央處理器 計(jì)算機(jī)的工作過(guò)程: 加電產(chǎn)生RESET信號(hào)執(zhí)行程序停機(jī)停電 6.1 計(jì)算機(jī)的硬件系統(tǒng) 1. Intel 80386微機(jī)系統(tǒng) 2. Intel 80386結(jié)構(gòu)及外部連線(見(jiàn)圖6.2)6.2 控制器的組成6.2.1 控制器主要功能1、取指令:根據(jù)程序入口地址取出第一條指令2、分析指令: 確定指令的操作 產(chǎn)生相應(yīng)的操作 形成操作數(shù)的地址3、執(zhí)行指令:根據(jù)操作命令和操作數(shù)地址形成操作控制信號(hào)序列4、控制程序和數(shù)據(jù)的輸入和結(jié)果輸出5、對(duì)異常情況和某些請(qǐng)求進(jìn)行處理 陷阱 中斷請(qǐng)求 DMA請(qǐng)求6.2.2 控制器的組成1. 程序計(jì)數(shù)器PC 存當(dāng)前正在執(zhí)行的指令的地址存即將執(zhí)行的下一條指令的

2、地址,存下一條預(yù)取指令的地址2. 指令寄存器IR對(duì)操作碼進(jìn)行分析, 產(chǎn)生相應(yīng)控制信號(hào)3.指令譯碼器ID4. 脈沖源及啟停線路脈沖源:時(shí)鐘信號(hào), reset信號(hào)啟??刂凭€路:開(kāi)啟、封鎖機(jī)器工作時(shí)鐘5. 時(shí)序控制信號(hào)形成部件產(chǎn)生節(jié)拍序列脈沖信號(hào)程序狀態(tài)字(PSW):狀態(tài)寄存器,標(biāo)志位, 控制位6.2.3 指令的執(zhí)行過(guò)程1. 組成控制器的基本電路時(shí)序邏輯:具有記憶功能的電路,見(jiàn)圖。組合邏輯:不具有記憶功能的電路,見(jiàn)圖。2. 指令執(zhí)行過(guò)程舉例 (1) 加法指令的執(zhí)行過(guò)程 設(shè)加法指令A(yù)DD AX,SI+5 格式如下所示: 運(yùn)算器框圖如下所示: 程序狀態(tài)字PSW(標(biāo)志寄存器FR的內(nèi)容): N Z V C進(jìn)

3、位、借位結(jié)果溢出結(jié)果為0結(jié)果為負(fù)加法指令的操作時(shí)序圖如下所示:工作周期加法指令執(zhí)行過(guò)程(指令流程)如下:讀存儲(chǔ)器,取指令,送入IR;修改程序計(jì)數(shù)器PC。控制信號(hào):PC AB, W/R=0, M/IO=1, DB IR, PC+1。計(jì)算數(shù)據(jù)地址,并送AR??刂菩盘?hào): rs1GR, (rs1) ALU, disp ALU, “+”, ALU AR。 到存儲(chǔ)器取加數(shù)??刂菩盘?hào): ARAB, W/R=0, M/IO=1, DB DR。 進(jìn)行加法運(yùn)算。結(jié)果送目的寄存器,并根據(jù)運(yùn)算結(jié)果置狀態(tài)位??刂菩盘?hào): rsGR, (rs) ALU, DR ALU, “+”, rdGR, ALU rd, 置狀態(tài)位N,Z

4、,V,C。 (2) 條件轉(zhuǎn)移指令的執(zhí)行過(guò)程6.3 微程序控制計(jì)算機(jī)的基本工作原理微程序控制的基本概念 組合邏輯電路一經(jīng)實(shí)現(xiàn),不能變動(dòng)其邏輯關(guān)系,必要時(shí),必須改變其連線或重新設(shè)計(jì)。 微程序控制方法:把指令執(zhí)行所需要的所有控制信號(hào)存放在控 制存儲(chǔ)器中,需要時(shí)從這個(gè)存儲(chǔ)器中讀取,存儲(chǔ)邏輯可以修改ROM存放的數(shù)據(jù),從而修改邏輯功能,速度略慢,有一個(gè)尋址和讀數(shù)據(jù)的過(guò)程. 微程序控制的特點(diǎn):靈活性好,速度慢。1.微命令與微操作 微命令:構(gòu)成控制信號(hào)序列的最小單位(一個(gè)控制信號(hào))。 微操作:控制器中執(zhí)行部件接受微指令后所進(jìn)行的操作(例如,加法有四個(gè)微操作。)。2.微指令和微程序 微指令:在機(jī)器的一個(gè)節(jié)拍中,

5、一組實(shí)現(xiàn)一定微操作功能的微命令,或者說(shuō),控制存儲(chǔ)器中每個(gè)單元存放的微命令信息組成一條微指令(一字). 微程序:由微指令組成的序列稱(chēng)為微程序,一個(gè)微程序的功能對(duì)應(yīng)一條機(jī)器指令的功能. 3.機(jī)器指令與微指令 機(jī)器指令指提供給使用者編程的基本單位,每一條指令可以完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作。 一條機(jī)器指令對(duì)應(yīng)一組微指令組成的微程序??梢?jiàn),一條機(jī)器指令對(duì)應(yīng)多條微指令,而一條微指令可為多個(gè)機(jī)器指令服務(wù)。4.控制存儲(chǔ)器CM(Control Memory) 用于存放全部指令的所有微程序,采用只讀存儲(chǔ)器結(jié)構(gòu)(固化)??刂拼鎯?chǔ)器的字長(zhǎng)等于微指令的長(zhǎng)度,其總?cè)萘繘Q定于所有微程序的總長(zhǎng)度。5.微指令周期 從

6、控制存儲(chǔ)器中讀取一條微指令并執(zhí)行這條微指令所需的時(shí)間,通常一個(gè)微指令周期與一個(gè)CPU周期(機(jī)器周期)的時(shí)間相等。微指令中的微命令可以用節(jié)拍脈沖(一個(gè)CPU周期包含若干個(gè)節(jié)拍脈沖)來(lái)同步定時(shí)。6.3.2 實(shí)現(xiàn)微程序控制的基本原理 設(shè)ALU可以進(jìn)行加(+)、減(-)、與()、或( ) 四種運(yùn)算。需要23個(gè) 控制信號(hào)。如表所示。 控制器與運(yùn)算器合并后的結(jié)構(gòu)圖如圖所示。120 以執(zhí)行一條加法指令為例說(shuō)明工作過(guò)程。 (1)取指微指令 讀存儲(chǔ)器,取指令,送入IR;修改程序計(jì)數(shù)器PC??刂菩盘?hào):PC AB(1), W/R=0(23), M/IO=1(22), DB IR(5), PC+1(3), ADS(2

7、1)。(2)計(jì)算數(shù)據(jù)地址,并送AR微指令控制信號(hào): rs1GR(8), (rs1) ALU(10), disp ALU(4), “+”(13), ALU AR(19)。本條微指令控制字段如下:(3)到存儲(chǔ)器取加數(shù)微指令控制信號(hào): ARAB(20), W/R=0(23), M/IO=1(22), DB DR(6), ADS(21)。本條微指令的控制字段如下: (4) 進(jìn)行加法運(yùn)算。結(jié)果送目的寄存器,并根據(jù)運(yùn)算結(jié)果置狀態(tài)位微指令控制信號(hào): rsGR(9), (rs) ALU(11), DR ALU(12), “+”(13), ALU GR(17), 置狀態(tài)位N,Z,V,C。 本條微指令的控制字段如

8、下: 微指令的格式: 控制字段+下址 控制字段位數(shù)取決于要求的控制信號(hào)個(gè)數(shù)(本例23bit)。 下址字段位數(shù)取決于微指令的條數(shù)(控制字個(gè)數(shù),本例4K個(gè)字,12bit)加法指令的微程序: 一條加法指令由四條微指令組成。微程序流程圖: 2 微程序控制器微程序控制器的基本結(jié)構(gòu)如圖所示。一、基本組成1、控制存儲(chǔ)器CM用來(lái)存放微程序。2、微指令寄存器IR用來(lái)存放從控制存儲(chǔ)器中取得的微指令。3、微地址形成部件AG用來(lái)產(chǎn)生機(jī)器指令的首條微指令地址和后續(xù)地址。4、微地址寄存器AR接收微地址形成部件送來(lái)的微地址。3 時(shí)序信號(hào)及工作脈沖的形成4 電路配合中的常見(jiàn)問(wèn)題6.4 微程序設(shè)計(jì)技術(shù) 微程序設(shè)計(jì)考慮的問(wèn)題:(

9、1) 如何縮短微指令字長(zhǎng);(2) 如何減少微程序長(zhǎng)度;(3) 如何提高微程序的執(zhí)行速度。6.4.1 微程序設(shè)計(jì)技術(shù) 微指令的編碼:編碼的實(shí)質(zhì)是在微指令中如何組織微操作的問(wèn)題 構(gòu)成:1、直接控制編碼法(不譯法) n位控制字段中的每一位表示一個(gè)微命令缺點(diǎn):控制字段長(zhǎng), 如三, 四百位; 控制存儲(chǔ)器容量大。mIR順序控制字段直接表示法操作控制字段 2、字段直接編碼法(1) 把互斥的微命令編為一組;(2) 對(duì)微命令進(jìn)行編碼, 留出一個(gè)代碼(全0)表示本段不發(fā)微命令;(3) 增設(shè)微命令譯碼器。 X個(gè)微命令僅需要 m = log2X 位的控制字段。組1組2組n(m位)(X個(gè)) 3、字段間接編碼法 一個(gè)字段

10、的某些微命令由另一個(gè)字段的某些微命令來(lái)解釋。 如: 字段A受字段B的控制。 微指令地址的形成 1、初始微地址的形成 每條機(jī)器指令對(duì)應(yīng)一段微程序,當(dāng)執(zhí)行公用的取指微程序從主存中取出機(jī)器指令后,由機(jī)器指令的操作碼指出微程序的首地址。這是一種多分支情況,通常有以下幾種方式: (1)操作碼的位數(shù)與位置固定,這時(shí)可直接使操作碼與微地址碼的部分位相對(duì)應(yīng)。 例如,若微入口地址= 00OC,則控制存儲(chǔ)器第0頁(yè)的一些單元被安排為各個(gè)微程序入口,再通過(guò)無(wú)條件微轉(zhuǎn)移指令使這些單元與相應(yīng)的后續(xù)微指令相連接。 (2)當(dāng)每類(lèi)指令的操作碼位數(shù)與位置固定,而各類(lèi)指令之間的操作碼位數(shù)與位置不固定時(shí),可采用分級(jí)轉(zhuǎn)移的方法。先按指

11、令類(lèi)型轉(zhuǎn)移到某條微指令,區(qū)分出是哪一大類(lèi),然后進(jìn)一步按機(jī)器指令操作碼轉(zhuǎn)移,區(qū)分出是哪一種具體的機(jī)器指令。 (3)當(dāng)操作碼的位數(shù)與位置都不固定時(shí),通常的方法是采用PLA可編程邏輯陣列實(shí)現(xiàn)。 2、后繼微指令地址的形成 得到微程序入口以后,就開(kāi)始執(zhí)行微程序,后繼微地址的形成方法對(duì)微程序編制的靈活性影響很大。通常采用兩種方法形成后繼微地址: (1)以增量(順序型)方式微地址圖6.23 計(jì)數(shù)器方式(順序型)微地址原理圖 (2)增量與下址結(jié)合(順序-轉(zhuǎn)移型)微地址 微程序按地址遞增順序一條一條地執(zhí)行微指令,遇到轉(zhuǎn)移時(shí),由微指令給出轉(zhuǎn)移微地址,使微程序按新的順序執(zhí)行。微指令格式: 轉(zhuǎn)移地址字段BAF:用于給

12、出后繼轉(zhuǎn)移微地址; 轉(zhuǎn)移控制字段BCF:用于規(guī)定后繼微地址是順序執(zhí)行還是按BAF字段的轉(zhuǎn)移地址執(zhí)行。順序-轉(zhuǎn)移型微地址特點(diǎn)優(yōu)點(diǎn):微指令中順序控制字段較短, 微程序便于順序執(zhí)行, 便于編寫(xiě)微程序循環(huán)和微子程序, 后繼微地址產(chǎn)生機(jī)構(gòu)比較簡(jiǎn)單。缺點(diǎn): 不利于解決兩路以上的并行微程序轉(zhuǎn)移。 因?yàn)槲⒊绦蚧蛘唔樞驁?zhí)行,或者按BAF轉(zhuǎn)移微地址來(lái)執(zhí)行,若進(jìn)行四路轉(zhuǎn)移,順序控制字段應(yīng)有三個(gè)BAF字段,增加微指令的長(zhǎng)度 、微程序在CM中的物理分配不方便。 原因是:既要滿足微地址遞增順序規(guī)律,又要靈活的轉(zhuǎn)向各種微程序與微子程序入口的要求。 (3) 斷定型微地址 所謂斷定型微地址是指后繼微地址可由微程序設(shè)計(jì)者指定,或

13、者根據(jù)微指令所規(guī)定的測(cè)試結(jié)果直接決定后繼微地址全部或部分地址值。微指令格式: HF:表示非測(cè)試地址,可由設(shè)計(jì)者直接指定,占高位部分 TCF:表示測(cè)試地址,由測(cè)試結(jié)果指定,占低位部分?jǐn)喽ㄐ臀⒌刂沸纬稍硎疽鈭D斷定型微地址特點(diǎn)優(yōu)點(diǎn):以較短的順序控制字段配合實(shí)現(xiàn)多路并行轉(zhuǎn)移; 提高微程序的執(zhí)行速度; 微程序在CM中物理分配很方便; 微程序設(shè)計(jì)靈活。缺點(diǎn):形成后繼微地址結(jié)構(gòu)比較復(fù)雜。 綜合上述,后繼微地址的形成是設(shè)計(jì)微程序控制的關(guān)鍵問(wèn)題之一。確定后繼微指令地址有以下幾種情況: (A)順序執(zhí)行時(shí),后繼微地址可以由現(xiàn)行微指令字的下地址字段或微程序計(jì)數(shù)器PC直接確定。 (B)無(wú)條件轉(zhuǎn)向的后繼微地址,可以由現(xiàn)

14、行微指令字的下地址字段確定。 (C)有條件轉(zhuǎn)向的后繼微地址由現(xiàn)行機(jī)器指令操作碼,現(xiàn)行微指令執(zhí)行時(shí)產(chǎn)生狀態(tài)特征或條件碼的判別結(jié)果決定。3. 以AM2900系列芯片構(gòu)成的CPU 6.4.3 微指令格式1. 水平型微指令并行性。 微指令中的微操作有高度并行性,靈活性強(qiáng);執(zhí)行指令的時(shí)間較短;微指令字比較長(zhǎng),但微程序比較短;硬件密切相關(guān),微程序設(shè)計(jì)比較困難。微指令編碼簡(jiǎn)單2 垂直型微指令有微操作碼、部件號(hào)。 微指令中的并行微操作能力有限,每條微指令只表示一個(gè)微操作;需要對(duì)微操作碼和部件號(hào)譯碼;微指令字短,微程序長(zhǎng)。微指令編碼比較復(fù)雜??梢杂弥浄硎?,例: MOV MDR MAR6.4.4 微程序控制存

15、儲(chǔ)器和動(dòng)態(tài)微程序設(shè)計(jì)1. 微程序控制存儲(chǔ)器 ROM與RAM相結(jié)合的設(shè)計(jì)思想。 固定部分存儲(chǔ)在 ROM 中; 擴(kuò)充部分存儲(chǔ)在 RAM 中。 2. 動(dòng)態(tài)微程序設(shè)計(jì) 可以根據(jù)用戶需求改變微程序。 多套微程序?qū)崿F(xiàn)多種系列機(jī)。3. 控制存儲(chǔ)器的操作4. 毫微程序設(shè)計(jì)的基本概念5. 程序設(shè)計(jì)語(yǔ)言6.5 硬布線設(shè)計(jì)的計(jì)算機(jī)6.5.1 時(shí)序與節(jié)拍時(shí)序與節(jié)拍系統(tǒng)的組成如圖所示: 脈沖源:由石英晶體震蕩器及“與非門(mén)”組合的震蕩電路組成。 脈沖發(fā)生器:通常是一個(gè)環(huán)行脈沖發(fā)生器,采用循環(huán)移位寄存器的形式,產(chǎn)生一組有序的、間隔相等或不等的脈沖序列。 節(jié)拍發(fā)生器:按先后順序,循環(huán)地發(fā)出若干時(shí)鐘周期信號(hào),最后通過(guò)譯碼電路,

16、產(chǎn)生最后所需的節(jié)拍脈沖,通常由計(jì)數(shù)譯碼器電路組成。 周期狀態(tài)觸發(fā)器:產(chǎn)生電路與節(jié)拍發(fā)生器產(chǎn)生電路類(lèi)似.表示CPU當(dāng)前處于指令周期的哪個(gè)機(jī)器周期。 啟停控制邏輯:控制時(shí)鐘系統(tǒng),只有當(dāng)啟動(dòng)機(jī)器運(yùn)行時(shí),才允許發(fā)出所需的時(shí)鐘脈沖,而且,由于機(jī)器的啟停是隨機(jī)的,必須考慮發(fā)出的脈沖是完整的. 1. 時(shí)序系統(tǒng)的產(chǎn)生 多級(jí)時(shí)序的概念 (1)指令周期 在時(shí)序系統(tǒng)中通常不為指令周期設(shè)置時(shí)間標(biāo)志信號(hào),因而也不將其作為時(shí)序的一級(jí)。 (2)機(jī)器周期 設(shè)置一組周期狀態(tài)觸發(fā)器,以標(biāo)志不同的機(jī)器周期.任一時(shí)刻只允許其中的一個(gè)觸發(fā)器為1,表明CPU當(dāng)前處在哪個(gè)機(jī)器周期。 (3)時(shí)鐘周期: 一個(gè)時(shí)鐘周期內(nèi)完成一步基本操作。 (4

17、)時(shí)鐘脈沖信號(hào) 作為時(shí)序系統(tǒng)的基本定時(shí)信號(hào)。 通常硬布線邏輯使用三級(jí)時(shí)序系統(tǒng)。 微程序控制邏輯使用兩級(jí)時(shí)序系統(tǒng) 三級(jí)時(shí)序系統(tǒng) 指令周期:取出一條指令并執(zhí)行該指令的時(shí)間; 機(jī)器周期:CPU同主存或外設(shè)進(jìn)行一次信息交換所需的時(shí)間總線周期、CPU周期; 時(shí)鐘周期:CPU執(zhí)行一個(gè)微操作的最小時(shí)間單位節(jié)拍周期、T周期; 三者關(guān)系:一個(gè)指令周期包含若干個(gè)CPU周期,一個(gè)CPU周期的功能由多個(gè)時(shí)鐘周期來(lái)完成。一個(gè)指令周期(包含3個(gè)機(jī)器周期)機(jī)器周期M1機(jī)器周期M2機(jī)器周期M3時(shí)鐘周期T1時(shí)鐘周期T2時(shí)鐘周期T3時(shí)鐘脈沖CLK三級(jí)時(shí)序信號(hào)間的關(guān)系(為1時(shí)有效)T1-T4為四個(gè)輸出節(jié)拍脈沖,其譯碼邏輯表達(dá)式為:

18、T1=C1*C2 T2=C2*C3 T3=C3 T4=C1時(shí)序產(chǎn)生器的主要邏輯電路12345678910CPU周期CPU周期T1T2T3T4C4C1C2C3 根據(jù)表列寫(xiě)析取范式; 化簡(jiǎn); 畫(huà)出邏輯電路圖(圖) 6.5.2 操作控制信號(hào)的產(chǎn)生 產(chǎn)生操作控制信號(hào)的邏輯框圖如圖所示。 1. 操作碼譯碼器ID 操作碼譯碼器ID完成指令譯碼功能。 操作碼譯碼器ID輸入端來(lái)自指令寄存器IR的高x位,輸出端2x位,每位代表一條指令。為“1”的位代表當(dāng)前指令。高x位(x=7)2x位,每位代表一條指令。2. 操作控制信號(hào)的產(chǎn)生 操作控制信號(hào)有組合邏輯(硬聯(lián)邏輯)電路產(chǎn)生。 組合邏輯(硬聯(lián)邏輯)電路的輸入端來(lái)自指

19、令譯碼器ID和時(shí)序邏輯(機(jī)器周期信號(hào))發(fā)生器。 組合邏輯(硬聯(lián)邏輯)電路的輸出端是按照機(jī)器周期的順序發(fā)出的成批操作控制信號(hào)。例如加法指令:cy1:取指cy2:計(jì)算“加數(shù)地址”cy3:取“加數(shù)”cy4:加、存“和”根據(jù)圖中各操作信號(hào)出現(xiàn)的時(shí)刻,可以列出其邏輯表達(dá)式: 見(jiàn)P-202頁(yè)式()式() 根據(jù)式()式()邏輯表達(dá)式,經(jīng)過(guò)化簡(jiǎn)后得到圖的控制信號(hào)生成電路。 設(shè)計(jì)過(guò)程的四個(gè)重要結(jié)論: (1)取指周期所產(chǎn)生的信號(hào)與指令無(wú)關(guān)。 (2)同一個(gè)控制信號(hào)在若干條指令的某些周期都需要,為此必須把它們組合(邏輯“或”)起來(lái)。 (3)同種類(lèi)型的指令所需要的控制信號(hào)大部分相同,不同類(lèi)型的指令卻差別很大。 (4)在

20、確定操作碼時(shí),為便于邏輯式化簡(jiǎn),需要認(rèn)真分析、優(yōu)化。(見(jiàn)表)6.5.3 控制器的組成控制器的框圖如圖所示。程序計(jì)數(shù)器和中斷控制邏輯譯碼器硬布線邏輯的實(shí)現(xiàn)途徑操作碼 地址碼譯碼器硬布線邏輯(組合邏輯)PC周期狀態(tài)觸發(fā)器節(jié)拍發(fā)生器時(shí)鐘源結(jié)果反饋信息M1M2M3T1T4PIR中斷控制邏輯轉(zhuǎn)移地址+1RESET中斷信號(hào)微操作控制命令組合邏輯控制器總框圖6.5.4 硬布線控制邏輯設(shè)計(jì) 1、設(shè)計(jì)指令的操作碼,確定指令長(zhǎng)度是固定的還是可變長(zhǎng)的。 確定機(jī)器周期、節(jié)拍與主頻,確定機(jī)器周期是固定的還是可變長(zhǎng)的。 2、選擇合適的控制方式和控制時(shí)序。 3、根據(jù)CPU的結(jié)構(gòu)圖,寫(xiě)出每條指令的操作流程圖并分解成微操作序列

21、.確定每一條指令所需的機(jī)器周期以及每一周期所完成的操作。 4、對(duì)微操作流程圖安排時(shí)序,排出微操作時(shí)間表. 5、根據(jù)操作時(shí)間表寫(xiě)出微操作的表達(dá)式,即: 微操作=周期*節(jié)拍*脈沖*指令碼*其它條件 6、根據(jù)微操作的表達(dá)式,綜合所有指令的每一個(gè)操作命令,寫(xiě)出邏輯表達(dá)式,并進(jìn)行化簡(jiǎn)。 指令周期的確定固定時(shí)鐘信號(hào)環(huán)形脈沖發(fā)生器: 指令執(zhí)行的時(shí)鐘數(shù)固定??勺冮L(zhǎng)度時(shí)鐘信號(hào)環(huán)形脈沖發(fā)生器: 指令執(zhí)行的時(shí)鐘數(shù)不固定。實(shí)現(xiàn)方法:用END信號(hào),如 END = T5*ADD + T3*CLA +指令流程圖 ADD STORE LOAD JMPPCMARPC + 1PCDBUSMDRIRR1YR2 +YZZR3PCYY

22、+IRZZPCIRMARDBUS MDRMDRR1ARMARR1MDR一個(gè)操作步驟代表在一個(gè)機(jī)器周期中可完成的操作執(zhí)行步驟所需的控制信號(hào)ADD指令每個(gè)時(shí)鐘周期內(nèi)的控制信號(hào)為:T1: PCout, MARin,PC+1,Read;PCMAR, PC+1, readT2: MDRout, IRin;MDRIRT3: R1out, Yin;R1YT4: R2out, Zin, Add;R2+YZT5: Zout, R3in;ZR3JMP指令中各時(shí)鐘周期的控制信號(hào)為:T1: PCout, MARin,PC+1,Read ;PCMAR, PC+1, readT2: MDRout, IRin;MDRIRT

23、3: PCout, Yin;PCYT4: IRout, Add, Zin;IR+YZT5: Zout, PCin;ZPC微操作控制形成電路的邏輯表達(dá)形式C = T1*(INS1 + INS2 + ) + T2*(INS1 + INS2 + ) + 控制器的邏輯表達(dá)式PC+1 = T1PCin = T5*JMPPCout = T1 + T3*JMPYin = T3*(ADD + JMP)Add = T4*(ADD + JMP)Zin = T4*(ADD + JMP)Zout = T5*(ADD + JMP)END = T5*(ADD + JMP). 6.6 控制器的控制方式 1.同步控制方式 (

24、集中控制方式) 對(duì)機(jī)器的所有指令采用統(tǒng)一的時(shí)序信號(hào).用相同數(shù)目的機(jī)器周期,相同數(shù)目的節(jié)拍脈沖來(lái)形成每條指令的控制操作序列.特點(diǎn):時(shí)序關(guān)系簡(jiǎn)單,但以犧牲速度為代價(jià).。 特點(diǎn):a)以微操作序列最長(zhǎng)的指令為標(biāo)準(zhǔn),確定控制微操作運(yùn)行的節(jié)拍數(shù) b) 控制器產(chǎn)生統(tǒng)一的,順序固定的,周而復(fù)始的節(jié)拍脈沖 c) 微操作序列短的指令可空著一部分不用優(yōu)點(diǎn):電路簡(jiǎn)單缺點(diǎn):運(yùn)行速度慢 2.異步控制方式(分散控制方式) 每條指令、每個(gè)微操作需要多少時(shí)間就占用多少時(shí)間,不采用統(tǒng)一的周期和節(jié)拍,時(shí)間上的銜接通過(guò)應(yīng)答通訊方式(握手方式)實(shí)現(xiàn).特點(diǎn):無(wú)時(shí)間浪費(fèi),但時(shí)序控制比較復(fù)雜.異步控制方式:采用“結(jié)束起始”的工作方式,無(wú)統(tǒng)一

25、的時(shí)序信號(hào)。特點(diǎn):a)每條指令按實(shí)際需要產(chǎn)生節(jié)拍數(shù) b)指令執(zhí)行完畢,發(fā)出“結(jié)束”信號(hào)c)控制器收到“結(jié)束”信號(hào),開(kāi)始執(zhí)行下條指令優(yōu)點(diǎn):運(yùn)行速度快缺點(diǎn):控制電路比較復(fù)雜3.聯(lián)合控制方式 將同步控制方式與異步控制方式結(jié)合使用。特點(diǎn):a)大部分指令按同步控制執(zhí)行中央控制b)小部分特殊指令(過(guò)長(zhǎng)、過(guò)短),采用異步控制方式執(zhí)行局部控制優(yōu)點(diǎn):能保證一定的運(yùn)行速度缺點(diǎn):電路設(shè)計(jì)相對(duì)復(fù)雜6.7 流水線工作原理屬于計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程中的內(nèi)容6.8 CPU舉例 6.8 .1 ROSC的CPU 見(jiàn)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程 6.8 .2 ROSC的編譯系統(tǒng) 見(jiàn)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程 6.8 .3 Pentium微處理器 見(jiàn)微

26、型計(jì)算機(jī)原理課程 6.9 計(jì)算機(jī)的加電及控制過(guò)程 自行閱讀。第七章 存儲(chǔ)系統(tǒng)7.1 存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu) 根據(jù)各種存儲(chǔ)器的存儲(chǔ)容量、存取速度和價(jià)格比的不同,將它們按照一定的體系結(jié)構(gòu)組織起來(lái),使所放的程序和數(shù)據(jù)按照一定的層次分布在各種存儲(chǔ)器中。 1、主存和高速緩存之間的關(guān)系 Cache引入: 為解決CPU和主存之間的速度差距,提高整機(jī)的運(yùn)算速度,在CPU和主存之間插入的由高速電子器件組成的容量不大,但速度很快的存儲(chǔ)器。 Cache特點(diǎn): 存取速度快,容量小,存儲(chǔ)控制和管理由硬件實(shí)現(xiàn)。 存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)2、主存與輔存之間的關(guān)系主存:(半導(dǎo)體存儲(chǔ)器組成)優(yōu)點(diǎn):速度快缺點(diǎn):容量受限,單位成本高, 斷電

27、丟失信息。輔存:(磁盤(pán),光盤(pán),磁帶等。)優(yōu)點(diǎn):容量大,信息長(zhǎng)久保存,單位成本低.缺點(diǎn):存取速度慢CPU正在運(yùn)行的程序和數(shù)據(jù)存放在主存。暫時(shí)不用的程序和數(shù)據(jù)存放在輔存。輔存只與主存進(jìn)行數(shù)據(jù)(程序和數(shù)據(jù))交換7.2 高速緩沖存儲(chǔ)器 組成: 小容量的SRAM和高速緩存控制器組成。 功能:將CPU當(dāng)前快要用到的部分?jǐn)?shù)據(jù)塊由主存復(fù)制到容量小、速度快的SRAM中,由SRAM向CPU直接提供它所需要的數(shù)據(jù)。 Cache工作原理:程序訪問(wèn)的局部性。在較短時(shí)間內(nèi)由程序產(chǎn)生的地址往往集中在存儲(chǔ)器邏輯地址空間的很小范圍內(nèi)。數(shù)據(jù)分布不如指令明顯,但對(duì)數(shù)組的訪問(wèn)及工作單元的選擇可使存儲(chǔ)地址相對(duì)集中。7.2.1 Cach

28、e的組成和工作原理 Cache的組成和工作原理(a)插入P-234 Cache的組成和工作原理(b) CPU與Cache之間的數(shù)據(jù)交換是以字為單位,而Cache與主存之間的數(shù)據(jù)交換是以塊為單位,一個(gè)塊是由若干字組成,是定長(zhǎng)的。 Cache存儲(chǔ)器介于 CPU和主存之間,它的工作速度數(shù)倍于主存,全部功能由硬件實(shí)現(xiàn)。由于轉(zhuǎn)換速度快,軟件人員絲毫未感到Cache的存在,這種特性稱(chēng)為Cache的透明性。 Cache內(nèi)部是由同主存內(nèi)部同樣大小的塊組成,故由于Cache存儲(chǔ)容量小,所以塊的數(shù)目少。 在Cache中,每一塊外加有一個(gè)標(biāo)記,指明它是主存的哪一塊的副本,所以該標(biāo)記的內(nèi)容相當(dāng)于主存中塊的編號(hào)。塊內(nèi)字

29、節(jié)數(shù)與主存相同。 7.2.2 Cache的組織和管理 為了把信息放到Cache存儲(chǔ)器中,必須應(yīng)用某種方法把主存地址定位到Cache中,稱(chēng)作地址映像。在信息按照這種映像關(guān)系(采用硬件方法實(shí)現(xiàn))裝人Cache后,執(zhí)行程序時(shí)應(yīng)將主存地址變換成Cache地址,這個(gè)變換過(guò)程叫做地址變換。地址的映像和變換是密切相關(guān)的。 基本地址映像方式:直接映像 全相聯(lián)映像 組相聯(lián)映像等。 (1)直接映像 在直接映像方式中,主存和Cache中字塊的對(duì)應(yīng)關(guān)系,如圖 7. 3所示。直接映像函數(shù)可定義為: j= i mod 2c 其中j是Cache的字塊號(hào),i是主存的字塊號(hào),主存中有2m個(gè)塊,字塊大小為2b字,Cache中有同

30、樣大小的2c個(gè)塊 。在這種映像方式中主存的第0塊,第2c塊,第2c+1塊, ,只能映像到cache的第0塊,而主存的第1塊,第2c1塊第2c+1十1塊, ,只能映像到 Cache,的第 1塊。 直接映像的優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單,只需利用主存地址按某些字段直接判斷,即可確定所需字塊是否已在 Cache存儲(chǔ)器中、如圖 7. 3。 直接映像方式的缺點(diǎn):不夠靈活,即主存的2t個(gè)字塊只能對(duì)應(yīng)唯一的Cache存儲(chǔ)器字塊,因此,即使Cache存儲(chǔ)器別的許多地址空著也不能占用。這使得cache存儲(chǔ)空間得不到充分利用,并降低了命中率。 例:某機(jī)主存為1MB,劃分2048頁(yè),每頁(yè)512B,共分0127組,每組16頁(yè);Ca

31、che為8KB,劃分16頁(yè),每頁(yè)1KB7位 Cache 主存 主存地址 0組 7位 4位 9位 1組 主存頁(yè)號(hào) Cache地址 在訪存時(shí),只需比較兩者標(biāo)記,如相同則命中 127組 標(biāo)記0頁(yè)標(biāo)記1頁(yè) . . . . . . 標(biāo)記15頁(yè)0頁(yè)1頁(yè) 15頁(yè)16頁(yè)17頁(yè) 31頁(yè) 2032頁(yè)2033頁(yè) 2047頁(yè)主存標(biāo)記Cache頁(yè)號(hào)頁(yè)內(nèi)地址 (2)全相聯(lián)映像 全相聯(lián)映像方式是最靈活但成本最高的一種方式。主存中的每一個(gè)字塊映像到cache存儲(chǔ)器的任何一個(gè)字塊位置上, 允許從確實(shí)已被占滿的Cache存儲(chǔ)器中替換出任何一個(gè)舊字塊。 這是一個(gè)理想的方案,實(shí)際上由于它的成本太高而不能采用。不只是它的標(biāo)記位數(shù)從t位

32、增加到t+c位(與直接映像相比),使Cache標(biāo)記容量加大,主要問(wèn)題是在訪問(wèn)Cache時(shí),需要和Cache的全部標(biāo)記進(jìn)行比較才能判斷出所訪主存地址的內(nèi)容是否已在 Cache中。由于Cache速度要求高,所以全部比較操作都要用硬件實(shí)現(xiàn),通常由“按內(nèi)容尋址的”相聯(lián)存儲(chǔ)器完成。所需邏輯電路甚多,以致無(wú)法用于Cache中。例:某機(jī)主存為1MB,劃分2048頁(yè),每頁(yè)512B,;Cache為8KB, 劃分16頁(yè),每頁(yè)1KB。 11位 Cache 主存 主存地址 11位 9位 由于每個(gè)Cache頁(yè)可以映射2048個(gè)主存頁(yè)中的任一頁(yè),因此每頁(yè)的Cache標(biāo)記也需要11位,以表明它現(xiàn)在所映象的主存頁(yè)號(hào)。 標(biāo)記0

33、頁(yè)標(biāo)記1頁(yè) . . . . . .標(biāo)記15頁(yè)0頁(yè)1頁(yè)15頁(yè)2047頁(yè)主存頁(yè)號(hào)頁(yè)內(nèi)地址 (3)組相聯(lián)映像 組相聯(lián)映像方式是直接映像和全相聯(lián)映像方式的一種折衷方案。組相聯(lián)映像Cache組織如圖7.5所示。 組相聯(lián)映像方式的性能與復(fù)雜性介于直接映像與全相聯(lián)映像兩種方式之間、當(dāng)r = 0時(shí),它就成為直接映像方式,當(dāng)r = c時(shí),就是全相聯(lián)映像方式。 Cache的命中率除了與地址映像的方式有關(guān)外,還與cache的容量有關(guān)。cache容量大,則命中率就高,但達(dá)到一定容量后,命中率的提高就不明顯了。 例如某機(jī)主存為1MB,劃分2048頁(yè),每頁(yè)512B,共分0255組,每組8頁(yè);Cache為8KB,劃分16頁(yè)

34、,每頁(yè)1KB,共為8組,每組2頁(yè)。 訪存時(shí)根據(jù)主存地址的中間4位,找到Cache頁(yè),并將其標(biāo)記與主存頁(yè)標(biāo)記進(jìn)行比較,判斷是否是主存中的副本,即訪問(wèn)是否命中。 8位 Cache 主存 主存頁(yè)標(biāo)記0組 7位 3位 1位 9位 1組 0組 Cache地址 1組 7組 255組 標(biāo)記標(biāo)記0頁(yè)1頁(yè)標(biāo)記標(biāo)記2頁(yè)3頁(yè)標(biāo)記標(biāo)記14頁(yè)15頁(yè)0頁(yè)1頁(yè)7頁(yè)8頁(yè)9頁(yè)15頁(yè)2047頁(yè)主存組號(hào)Cache組號(hào)組內(nèi)頁(yè)號(hào)頁(yè)內(nèi)地址2. Cache的讀寫(xiě)操作寫(xiě)貫穿(全寫(xiě)法):同時(shí)寫(xiě)入 Cache和主存。保證主存和Cache內(nèi)容相同,方法簡(jiǎn)單可靠。對(duì)Cache的更新同時(shí)要寫(xiě)主存,速度會(huì)受影響。寫(xiě)回法:先將更新內(nèi)容寫(xiě)入Cache,并做

35、標(biāo)記,特定時(shí)間將Cache內(nèi)容寫(xiě)入主存。省去不必要的立即回寫(xiě)操作。回寫(xiě)式系統(tǒng)機(jī)構(gòu)比較復(fù)雜。寫(xiě)一次法:寫(xiě)命中與未命中的處理方法與寫(xiě)回法基本相同,只是第一次寫(xiě)命中是要同時(shí)寫(xiě)入主存。 Pentium機(jī)的L2級(jí)Cache采用的是寫(xiě)回法,L1級(jí)數(shù)據(jù)Cache采用的是寫(xiě)一次法。 3. 替換算法 當(dāng)新的主存字塊需要調(diào)人cache存儲(chǔ)器而它的可用位置又已被占滿時(shí),就產(chǎn)生替換算法問(wèn)題。先介紹兩種替換算法先進(jìn)先出(FIFO)算法和近期最少使用(LRU)算法。 FIFO算法:總是把一組中最先調(diào)入 cache存儲(chǔ)器的字塊替換出去,它不需要隨時(shí)記錄各個(gè)字塊的使用情況,所以實(shí)現(xiàn)容易開(kāi)銷(xiāo)小 LRU算法:把一組中近期最少使用

36、的字塊替換出去。這種替換算法需隨時(shí)記錄cache存儲(chǔ)器中各個(gè)字塊的使用情況,以便確定那個(gè)字塊是近期最少使用的字塊。LRU替換算法的平均命中率比FIFO要高,并且當(dāng)分組容量加大時(shí),能提高LRU替換算法的命中率。 LRU是最常使用的一種算法、其設(shè)計(jì)思想是把組中各塊的使用情況記錄在一張表上(如圖7.6所示)。并把最近使用過(guò)的塊放在表的最上面。這種算法用硬件實(shí)現(xiàn)比較麻煩,經(jīng)常采用修改型LRU算法。 隨機(jī)替換法(RAND):這種算法不考慮使用情況,在組內(nèi)隨機(jī)選擇一塊來(lái)替換。其性能比根據(jù)使用情況的替換算法要差些。7.2.3 Cache的命中率 設(shè)NC表示Cache完成存取的總次數(shù), Nm表示主存完成存取的

37、總次數(shù),h定義為命中率,則有h= NC/(NC+ Nm) 若tc表示命中時(shí)的Cache訪問(wèn)時(shí)間,tm表示未命中時(shí)的主存訪問(wèn)時(shí)間,1-h表示未命中率,則Cache/主存系統(tǒng)的平均訪問(wèn)時(shí)間ta為: ta=htc+(1-h)tm 設(shè)r=tm/tc表示主存慢于Cache的倍率,e表示訪問(wèn)效率則有 e=tc/tm=tc/htc+(1-h)tm=1/h+(1-h)r=1/r+(1-h) 為提高訪問(wèn)效率,h 接近1好。 例:CPU執(zhí)行一段程序時(shí),Cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知Cache存取周期為50ns,主存存取周期為250ns,求Cache/主存系統(tǒng)的效率和平均訪

38、問(wèn)時(shí)間。 解:h=NC/(NC + Nm) r=tm/tc=250ns/50ns=5 e=1/r+(1-r)h =1/5+(1-5)*0.95=83.3% ta=tc/e=50ns/0.833=60ns 7.2.4 多層次Cache存儲(chǔ)器Cache和數(shù)據(jù)Cache 開(kāi)始實(shí)現(xiàn)Cache時(shí),是將指令和數(shù)據(jù)存放在同一Cache中的。后來(lái)隨著計(jì)算機(jī)技術(shù)的發(fā)展和處理速度的加快,存取數(shù)據(jù)的操作經(jīng)常會(huì)與取指令的操作發(fā)生沖突,從而延遲了指令的讀取。發(fā)展的趨勢(shì)是將指令Cache和數(shù)據(jù) Cache分開(kāi)而成為兩個(gè)相互獨(dú)立的Cache。 2. 多層次Cache結(jié)構(gòu) 當(dāng)芯片集成度提高后,可以將更多的電路集成在一個(gè)微處理

39、器芯片中于是近年來(lái)新設(shè)計(jì)的快速微處理芯片都將Cache集成在片內(nèi),片內(nèi)cache的讀取速度要比片外Cache快得多。 Pentium微處理器的片內(nèi)包含有8KB數(shù)據(jù) Cache和 8KB指令Cache。Cache行的長(zhǎng)度為32B,采取兩路組相聯(lián)組織。 片內(nèi)Cache的容量受芯片集成度的限制,一般在幾十KB以內(nèi),因此命中率比大容量cache低、于是推出了二級(jí)Cache方案,其中第一級(jí)Cache(L1)在處理器芯片內(nèi)部;第二級(jí)Cache(L2)在片外,其容量可從幾十KB到幾百KB,采用SRAM存儲(chǔ)器,兩級(jí)cache之間一般有專(zhuān)用總線相連、Pentium微處理器支持片外的第二級(jí)Cache。,其容量為2

40、56KB或512KB。也是采用兩路組相連方案。 3. Cache的一致性問(wèn)題7.3 虛擬存儲(chǔ)器 虛擬存儲(chǔ)器只是一個(gè)容量非常大的存儲(chǔ)器的邏輯模型,不是任何實(shí)際的物理存儲(chǔ)器。它是借助磁盤(pán)等輔助存儲(chǔ)器來(lái)擴(kuò)大主存容量,使之為更大或更多的程序所使用。有了虛擬存儲(chǔ)器,用戶無(wú)需考慮所編程序在主存中是否放得下或放在什么位置等問(wèn)題。 產(chǎn)生: 軟件需要,芯片工藝及價(jià)格不能滿足 特點(diǎn): (1)將當(dāng)前和常用到的內(nèi)容放在主存中,其他還未用到的放在外存中。 (2)虛擬存儲(chǔ)體系允許用戶訪問(wèn)比實(shí)際存儲(chǔ)空間大得多的地址空間。 概念: 位于主存-輔存的物理結(jié)構(gòu),由負(fù)責(zé)信息劃分以及主存-輔存之間信息調(diào)動(dòng)的輔助硬件和操作系統(tǒng)中的存儲(chǔ)

41、管理軟件所組成的存儲(chǔ)體系. 管理方式: 段式,頁(yè)式,段頁(yè)式 從原理角度看,主存-輔存層次和cache-主存層次有很多相似之處。它們采用的地址變換及映像方法和替換策略,從原理上看是相同的。虛擬存儲(chǔ)系統(tǒng)所采取的映像方式同樣有全相聯(lián)映像、組相聯(lián)映像和直接映像等。替換算法也多采用LRU算法。主存一輔存層次的信息傳送單位可采用幾種不同的方案,段、頁(yè)或段頁(yè)式。 7.3.1 段式管理方案 段是利用程序的模塊化性質(zhì)按照程序的邏輯結(jié)構(gòu)劃分成的多個(gè)相對(duì)獨(dú)立部分。例如過(guò)程、子程序、數(shù)據(jù)表、陣列等。段作為獨(dú)立的邏輯單位可以被其他程序段調(diào)用,這樣就形成段間連接,產(chǎn)生規(guī)模較大的程序。一般用段表來(lái)指明各段在主存中的位置,如

42、圖 7 12所示。每段都有它的名稱(chēng)(用戶名稱(chēng)或數(shù)據(jù)結(jié)構(gòu)名或段號(hào))、段起點(diǎn)、段長(zhǎng)等。段表本身也是主存儲(chǔ)器的一個(gè)可再定位段。方案: (1)以程序的邏輯結(jié)構(gòu)所形成的段作為主存分配單位的存儲(chǔ)器管理方式。 (2) 段大小可以不相等。 (3)每個(gè)程序有一個(gè)段表。 優(yōu)點(diǎn):段的分界與程序的自然分界相對(duì)應(yīng)段的邏輯獨(dú)立性,使它易于編譯、管理、修改和保護(hù),也便于多道程序共享。 缺點(diǎn):容易在段間留下許多空余的零碎存儲(chǔ)空間,造成浪費(fèi)和段的起點(diǎn)和終點(diǎn)不定。 7.3.2 頁(yè)式管理方案 頁(yè)式管理系統(tǒng)的信息傳送單位是定長(zhǎng)的頁(yè),主存的物理空間也被劃分為等長(zhǎng)的固定區(qū)域,稱(chēng)為頁(yè)面。新頁(yè)調(diào)人主存也很容易掌握,只要有空白頁(yè)面就可。它比段

43、式管理系統(tǒng)的空間浪費(fèi)要小得多。頁(yè)式管理系統(tǒng)的缺點(diǎn)正好和段式管理系統(tǒng)相反,由于頁(yè)不是邏輯上獨(dú)立的實(shí)體,所以處理保護(hù)和共享都不及段式來(lái)得方便。 圖 7 13表示某個(gè)程序有 5頁(yè)(邏輯頁(yè)號(hào) 04)各頁(yè)分別裝入主存不連續(xù)的頁(yè)面位置,用頁(yè)表記錄邏輯頁(yè)號(hào)及其所對(duì)應(yīng)的實(shí)主存頁(yè)號(hào),頁(yè)表是由操作系統(tǒng)建立的、圖 7 13中邏輯頁(yè)號(hào)013已分配實(shí)主存空間,所以裝人位為l程序空間實(shí)存空間邏輯頁(yè)號(hào)物理頁(yè)號(hào)012340123456 0 2 1 1 1 12 3 4 14 頁(yè)表邏輯頁(yè)號(hào) 物理頁(yè)號(hào) 有效位將虛擬空間和主存空間劃分成大小固定的頁(yè),以頁(yè)為分配單位的存儲(chǔ)管理方式。頁(yè)的大小隨機(jī)器而異。每道程序擁有一個(gè)頁(yè)表。頁(yè)表自動(dòng)生

44、成,對(duì)程序員透明。頁(yè)式管理方案:3、段頁(yè)式將段式和頁(yè)式管理方式結(jié)合起來(lái).段頁(yè)式將實(shí)際存儲(chǔ)器機(jī)械等分成固定大小的頁(yè),程序則按模塊分段,每段又分成與主存頁(yè)面大小相同的頁(yè).段頁(yè)式管理兼有段式和頁(yè)式的優(yōu)點(diǎn). Pentium采用段頁(yè)式地址轉(zhuǎn)換機(jī)制,通過(guò)段地址查閱段表,將表中地址與位移地址相加后得到32位線性地址,然后通過(guò)頁(yè)面轉(zhuǎn)換得物理地址。頁(yè)面轉(zhuǎn)換是通過(guò)頁(yè)目錄和頁(yè)表實(shí)現(xiàn)的(相當(dāng)于H級(jí)頁(yè)表)線性地址由頁(yè)目錄(10垃)、頁(yè)號(hào)(l位)和位移地址(l位)組成,頁(yè)面大小為4KB、Pentium還允許將頁(yè)面大小設(shè)置為4MB,此時(shí)頁(yè)面轉(zhuǎn)換只要查一次頁(yè)表即可。 Pentium存儲(chǔ)器結(jié)構(gòu)有很大靈活性,根據(jù)其段表和頁(yè)表是否

45、設(shè)置可以有4種組合情況。 (1)無(wú)段表和無(wú)頁(yè)表的存儲(chǔ)器、非虛擬存儲(chǔ)器其邏輯地址即為物理地址可減少?gòu)?fù)雜性,在高性能的控制機(jī)中經(jīng)常被采用。 (2)無(wú)段表和有頁(yè)表的存儲(chǔ)器。頁(yè)式虛擬存儲(chǔ)器,此時(shí)存儲(chǔ)器的管理和保護(hù)是通過(guò)頁(yè)面轉(zhuǎn)換實(shí)現(xiàn)的。 (3)有段表和無(wú)頁(yè)表的存儲(chǔ)器。段式虛擬存儲(chǔ)器。 (4)有段表和有頁(yè)表的存儲(chǔ)器。段頁(yè)式虛擬存儲(chǔ)器。 7. 3. 6存儲(chǔ)管理部件(MMU) 現(xiàn)代計(jì)算機(jī)一般都有輔助存儲(chǔ)器,但具有輔存的存儲(chǔ)系統(tǒng)不一定是虛擬存儲(chǔ)系統(tǒng)。虛擬存儲(chǔ)系統(tǒng)有兩大特: (1)允許用產(chǎn)用比主存空間大得多的空間來(lái)訪問(wèn)主存。 (2)每次訪存都要進(jìn)行虛實(shí)地址的轉(zhuǎn)換。 Pentium的虛擬地址被稱(chēng)為邏輯地址,其長(zhǎng)度為

46、48位,由16位段地址和32位位移地址構(gòu)成、段地址中有2位用于存儲(chǔ)保護(hù),真正屬于段地址的是14位,所以有效的邏輯地址為46 位。 即 (14位十32位),虛擬空間為246。 7.4 相聯(lián)存儲(chǔ)器 相聯(lián)存儲(chǔ)器不按地址訪問(wèn)存儲(chǔ)器,而按所存數(shù)據(jù)字的全部?jī)?nèi)容或部分內(nèi)容進(jìn)行查找(或檢索)。 例如,在虛擬存儲(chǔ)器中,將虛地址的虛頁(yè)號(hào)與相聯(lián)存儲(chǔ)器中所有行的虛頁(yè)號(hào)進(jìn)行比較,若有內(nèi)容相等的行,則將其相應(yīng)的實(shí)頁(yè)號(hào)取出,這是按數(shù)據(jù)字的部分內(nèi)容進(jìn)行檢索的例子。 80年代后,由于集成電路的迅速發(fā)展,才使得半導(dǎo)體相聯(lián)存儲(chǔ)器有條件作為商品上市。 相聯(lián)存儲(chǔ)器除了應(yīng)用于虛擬存儲(chǔ)器與Cache中以外,還經(jīng)常用于數(shù)據(jù)庫(kù)與知識(shí)庫(kù)中按關(guān)鍵

47、字進(jìn)行檢索、從按地址訪問(wèn)的存儲(chǔ)器中檢索出某一單元。平均約進(jìn)行m/2次操作(m為存儲(chǔ)單元數(shù))而在相聯(lián)存儲(chǔ)器中僅需要進(jìn)行一次檢索操作,因此大大提高了處理速度。近年來(lái)相聯(lián)存儲(chǔ)器用于一些新型的并行處理和人工智能系統(tǒng)結(jié)構(gòu)中、例如,在語(yǔ)音識(shí)別、圖像處理、數(shù)據(jù)流計(jì)算機(jī)中都有采用相聯(lián)存儲(chǔ)器的例子。 7.5 雙端口存儲(chǔ)器 雙端口存儲(chǔ)器由于同一個(gè)存儲(chǔ)器具有兩組相互獨(dú)立的地址線、數(shù)據(jù)線和讀寫(xiě)控制線路而得名。由于進(jìn)行并行的獨(dú)立操作,因而是一種高速工作的存儲(chǔ)器,在科研和工程中非常有用。如IDT7133是一個(gè)2K*16位的雙端口存儲(chǔ)器。注意當(dāng)兩個(gè)端口同時(shí)存取存數(shù)器統(tǒng)一存儲(chǔ)器單元時(shí),會(huì)發(fā)生讀寫(xiě)沖突。為解決此問(wèn)題,特設(shè)置了B

48、USY標(biāo)志。在這種情況下,片上的判斷邏輯可以決定對(duì)那個(gè)端口優(yōu)先進(jìn)行讀寫(xiě)操作,而對(duì)另一個(gè)被延遲的端口置BUSY標(biāo)志(變?yōu)榈碗娖剑?,即暫時(shí)關(guān)閉此端口。 76 存儲(chǔ)保護(hù) 由于多個(gè)用產(chǎn)對(duì)主存的共享就有多個(gè)用戶程序和系統(tǒng)軟件存于主存中。為使系統(tǒng)能正常工作,要防止由于一個(gè)用戶程序出錯(cuò)而破壞其他用戶的程序和系統(tǒng)軟件,還要防止一個(gè)用戶程序不合法地訪問(wèn)不是分配給它的主存區(qū)域?yàn)榇?,系統(tǒng)應(yīng)提供存儲(chǔ)保護(hù)。 存儲(chǔ)保護(hù)主要包括兩個(gè)方面:存儲(chǔ)區(qū)域保護(hù)和訪問(wèn)方式的保護(hù)。 1. 存儲(chǔ)區(qū)域保護(hù) 對(duì)于不是虛擬存儲(chǔ)器的主存系統(tǒng)可采用界限寄存器方式、由系統(tǒng)軟件經(jīng)特權(quán)指令設(shè)置上、下界寄存器為每個(gè)程序劃定存儲(chǔ)區(qū)域,禁止越界訪問(wèn)。 在虛擬存

49、儲(chǔ)系統(tǒng)中,由于一個(gè)用戶程序的各頁(yè)能離散地分布于主存中,不能使用這種保護(hù)方式,所以,通常采用頁(yè)表保護(hù)和鍵保護(hù)等方式。 (1)頁(yè)表保護(hù) 每個(gè)程序都有自己的頁(yè)表和段表,段表和頁(yè)表本身都有自已的保護(hù)功能。無(wú)論地址如何出錯(cuò),也只能影響到相應(yīng)的幾個(gè)主存頁(yè)面。 (2)鍵方式 鍵保護(hù)方式的基本思想是為主存的每一頁(yè)配一個(gè)鍵稱(chēng)為存儲(chǔ)鍵,它相當(dāng)于一把鎖。它是由操作系統(tǒng)賦予的,每個(gè)用戶的實(shí)存頁(yè)面的鍵都相同。為了打開(kāi)這個(gè)鎖,必須有鑰匙,稱(chēng)為訪問(wèn)鍵。訪問(wèn)鍵賦予每道程序,保存在該道程序的狀態(tài)寄存器中,當(dāng)數(shù)據(jù)要寫(xiě)人主存的某一頁(yè)時(shí)訪問(wèn)鍵要與存儲(chǔ)鍵相比較,若兩鍵相符則允許訪問(wèn)該頁(yè),否則拒絕訪問(wèn)。 (3)環(huán)保護(hù)方式 以上兩種保護(hù)方

50、式都是保護(hù)別的程序區(qū)域不受破壞,而正在運(yùn)行的程序本身則受不到保護(hù)。環(huán)狀保護(hù)方式則可以做到對(duì)正在執(zhí)行的程序本身進(jìn)行保護(hù)。 2 訪問(wèn)方式保護(hù) 對(duì)主存信息的使用可以有三種方式讀(R)、寫(xiě)(W)和執(zhí)行(E),執(zhí)行指作為指令來(lái)用。所以相應(yīng)的訪問(wèn)方式保護(hù)就有R,W,E三種以及由這三種方式形成的邏輯組合。 訪問(wèn)方式保護(hù)可以和上述區(qū)域保護(hù)結(jié)合起來(lái)使用,以上所講的存儲(chǔ)保護(hù)都是由硬件實(shí)現(xiàn)的。 第八章 輔助存儲(chǔ)器 輔助存儲(chǔ)器種類(lèi)與技術(shù)指標(biāo) 輔助存儲(chǔ)器是主存的后備和擴(kuò)充,也稱(chēng)外存。 特點(diǎn):容量大,可靠性高,單位存儲(chǔ)容量?jī)r(jià)格低,在掉電情況下能長(zhǎng)期保存信息。 種類(lèi): 磁表面存儲(chǔ)器光存儲(chǔ)器磁芯磁盤(pán)磁帶33頁(yè) 技術(shù)指標(biāo):輔助

51、存儲(chǔ)器的主要技術(shù)指標(biāo)是存儲(chǔ)密度、存儲(chǔ)容量、尋址時(shí)間、數(shù)據(jù)傳輸率、誤碼率、價(jià)格等。 1 存儲(chǔ)密度 道密度(TPI):磁盤(pán)半徑方向單位長(zhǎng)度(每英寸)包含的磁道數(shù)。 位密度(BPI):在每一個(gè)磁道內(nèi)單位長(zhǎng)度內(nèi)所能記錄的二進(jìn)制信息數(shù)。 2 存儲(chǔ)容量 存儲(chǔ)容量指磁表面存儲(chǔ)器所能存儲(chǔ)的二進(jìn)制信息總量、一般用字節(jié)為單位。 3. 尋址時(shí)間 磁盤(pán)存儲(chǔ)器采取直接存取方式,尋址時(shí)間包括兩部分一是磁頭尋找目標(biāo)磁道所需的找道時(shí)間ts。二是找到磁道以后,磁頭等待所需要讀寫(xiě)的區(qū)段旋轉(zhuǎn)到它的下方所需要的等待時(shí)間tw。由于尋找相鄰磁道和從最外面磁道找到最里面碰道所需的時(shí)間不同,磁頭等待不同區(qū)段所花的時(shí)間也不同。因此取它們的平均

52、值,稱(chēng)作平均尋址時(shí)間Ta。它由平均找道時(shí)間tsa和平均等待時(shí)間twa組成: Ta=Tsa+Twa =(tsmax+tsmin)/2+(twmax+twmin)/2 磁帶存儲(chǔ)器采取順序存取方式,不需要尋找磁道但需要考慮磁頭尋找記錄區(qū)的等待時(shí)間。 4. 數(shù)據(jù)傳輸率 磁表面存儲(chǔ)器在單位時(shí)間內(nèi)與主機(jī)之間傳送數(shù)據(jù)的位數(shù)或字節(jié)數(shù),叫數(shù)據(jù)傳輸率Dr 。從設(shè)備方面考慮,傳輸率等于記錄密度D和記錄介質(zhì)的運(yùn)動(dòng)速度V的乘積。 5. 誤碼率 誤碼率是衡量磁表面存儲(chǔ)器出錯(cuò)概率的參數(shù)、它等于從輔存讀出時(shí),出錯(cuò)信息位數(shù)和讀出的總信息位數(shù)之比。 6. 價(jià)格 通常用位價(jià)格來(lái)比較各種存儲(chǔ)器。位價(jià)格是設(shè)備價(jià)格除以容量,在所有存儲(chǔ)設(shè)

53、備中,磁表面存儲(chǔ)器和光盤(pán)存儲(chǔ)器的位價(jià)格是很低的。 例如,IBM PC機(jī) 3.5 英寸高密度軟磁盤(pán)存儲(chǔ)器共有 2個(gè)記錄面、每面 80個(gè)磁道、每個(gè)磁道18個(gè)記錄扇區(qū)、每個(gè)扇區(qū)可記錄信息512個(gè)字節(jié)。因此其格式化容量為: 該軟磁盤(pán)機(jī)的轉(zhuǎn)速為每分鐘360轉(zhuǎn)(360rPm),旋轉(zhuǎn)一圈的時(shí)間為:60;平均等待時(shí)間為旋轉(zhuǎn)半圈的時(shí)間83ms、平均找道時(shí)間取決于不同驅(qū)動(dòng)器的機(jī)電性能(直接給出)。 8.2 磁記錄原理與記錄方式 本節(jié)將討論磁表面存儲(chǔ)技術(shù)的基礎(chǔ)信息的存取原理、磁記錄介質(zhì)、磁頭以及磁記錄的編碼方式。在此只作一般原理性的介紹。 磁盤(pán)存儲(chǔ)是用某些磁性材料薄薄地涂在金屬鋁或塑料表面作載磁體來(lái)存儲(chǔ)信息。 8.

54、2.1 磁記錄原理 寫(xiě)入:將計(jì)算機(jī)并行數(shù)據(jù)進(jìn)行并-串變換,然后一位一位的由寫(xiě)電流驅(qū)動(dòng)器將交變信號(hào)電流通過(guò)磁頭線圈,使磁體內(nèi)的磁通量發(fā)生變化,交變磁場(chǎng)從縫隙中漏出,使勻速轉(zhuǎn)動(dòng)的磁盤(pán)表面磁化。根據(jù)寫(xiě)入電流的方向決定是寫(xiě)“1”還是寫(xiě)“0”。當(dāng)載磁體相對(duì)于磁頭運(yùn)動(dòng)時(shí),就可以連續(xù)寫(xiě)入一連串的二進(jìn)制信息。 讀出:磁盤(pán)勻速轉(zhuǎn)動(dòng),磁化點(diǎn)順序經(jīng)過(guò)磁頭,在磁頭線圈中感應(yīng)出相應(yīng)的電動(dòng)勢(shì),經(jīng)過(guò)放大檢測(cè)等一定的處理后,還原成原來(lái)存入的數(shù)據(jù)信號(hào)。由于數(shù)據(jù)是一位一位串行讀出的,故要經(jīng)串-并變換后,在將并行信號(hào)送至計(jì)算機(jī)。運(yùn)動(dòng)方向磁層載磁體N S S N讀線圈寫(xiě)線圈鐵芯 8.2.2 磁記錄介質(zhì)與磁頭 1、磁記錄介質(zhì) 磁記錄介

55、質(zhì)指的是涂有薄層磁性材料的信息載體??梢悦摍C(jī)保存信息,并目可以作為不同系統(tǒng)之間信息交換的手段、因此又稱(chēng)為磁記錄媒體。 2、 感應(yīng)式磁頭 磁頭是實(shí)現(xiàn)電一磁轉(zhuǎn)換的裝置,用電脈沖表示的二進(jìn)制代碼,通過(guò)磁頭轉(zhuǎn)換成磁記錄介質(zhì)上的磁化格式;而介質(zhì)上的磁化信息又要通過(guò)磁頭轉(zhuǎn)換成電脈沖。介質(zhì)上信息的清除,則是通過(guò)磁頭將介質(zhì)上磁層向某一方向飽和磁化或去磁而得到。因此磁頭的性能對(duì)讀寫(xiě)、清除、記錄密度和讀出速度等均有影響。 3、 MR磁頭 隨著計(jì)算機(jī)對(duì)大容量硬盤(pán)驅(qū)動(dòng)器的需求,促進(jìn)高密度磁以錄技術(shù)的發(fā)展。MR磁頭是專(zhuān)用于讀出的磁頭,即它不能完成寫(xiě)人工作,但它具有高的輸出靈敏度和與磁盤(pán)轉(zhuǎn)速無(wú)關(guān)的輸出特性,所以需要與專(zhuān)用

56、的寫(xiě)人磁頭配合使用。MR磁頭以應(yīng)用在大容量的硬盤(pán)驅(qū)動(dòng)器中,但其價(jià)格較貴。 存儲(chǔ)元的大小和縫隙寬度、磁頭與磁表面距離、電流強(qiáng)度有關(guān)。 目前軟盤(pán)常用MFM編碼方式,能達(dá)到較高的 記錄密度和較高的自同步能力。 8.2.3 磁記錄方式 磁記錄方式是按照某種規(guī)律,將一連串二進(jìn)制數(shù)字信息,變換成磁層的相應(yīng)磁化翻轉(zhuǎn)形式,并經(jīng)讀寫(xiě)控制電路實(shí)現(xiàn)這種轉(zhuǎn)換規(guī)律。 圖8.5 給出幾種常見(jiàn)的磁記錄方式的寫(xiě)人電流波形。 (1)歸零制(RZ) 寫(xiě)入線圈的正脈沖電流表示寫(xiě)如“1”,負(fù)脈沖表示記錄“0”。在兩位信息之間要保持線圈中的電流為零。 (2)不歸零制(NRZ) 磁頭線圈中始終有電流,不是正向電流(代表1)就是反向電流(

57、代表“0”),其抗干擾能力強(qiáng)。 (3) 見(jiàn)1就翻的不歸零制(NRZ1) 記錄“0”時(shí)電流方向不變,只有遇到“1”時(shí)才改變方向。 (1)歸零制(RZ) 寫(xiě)入線圈的正脈沖電流表示寫(xiě)如“1”,負(fù)脈沖表示記錄“0”。在兩位信息之間要保持線圈中的電流為零。 (2)不歸零制(NRZ) 磁頭線圈中始終有電流,不是正向電流(代表1)就是反向電流(代表“0”),其抗干擾能力強(qiáng)。 (3) 見(jiàn)1就翻的不歸零制(NRZ1) 記錄“0”時(shí)電流方向不變,只有遇到“1”時(shí)才改變方向。 (4)調(diào)相制(PM) 也就是說(shuō),假定記錄數(shù)據(jù)“0時(shí)規(guī)定磁化翻轉(zhuǎn)的方向由負(fù)變?yōu)檎瑒t記錄數(shù)據(jù)l時(shí)從正變?yōu)樨?fù)、當(dāng)連續(xù)出現(xiàn)兩個(gè)或兩個(gè)以上1或0”時(shí)

58、,為了維持上述原則,在位周期起始處也要翻轉(zhuǎn)一次。 (5) 調(diào)頻制(FM) 記錄1時(shí)不僅在位同期的中心產(chǎn)生磁化翻轉(zhuǎn),而已在位與位之間也必須翻轉(zhuǎn)。記錄“0時(shí),位周期中心不產(chǎn)生磁化翻轉(zhuǎn),但位與位之間的邊界處要翻轉(zhuǎn)一次。由于記錄數(shù)據(jù)l時(shí)磁化翻轉(zhuǎn)的頻率為記錄數(shù)據(jù)“0時(shí)的兩倍,因此又稱(chēng)倍頻制”。 (6)改進(jìn)調(diào)頻制(MFM) 這種記錄方式基本上與調(diào)頻制相同,即記錄數(shù)據(jù)1時(shí)在位周期中心磁化翻轉(zhuǎn)一次,記錄數(shù)據(jù)0時(shí)不翻轉(zhuǎn)。區(qū)別在于只有連續(xù)記錄兩個(gè)或兩個(gè)以上0時(shí),才在位周期的起始位置翻轉(zhuǎn)一次,而不是在每個(gè)位同期的起始處都翻轉(zhuǎn)。 除上述幾種記錄方式外,成組編碼(GCR)以及游程長(zhǎng)度受限碼(RLLC)等。8.3 硬盤(pán)存

59、儲(chǔ)器(硬盤(pán)機(jī))8.3.1 硬盤(pán)存儲(chǔ)器的組成硬盤(pán)盤(pán)片和硬盤(pán)驅(qū)動(dòng)器電機(jī)直流電機(jī)磁頭 硬盤(pán)存儲(chǔ)器的基本組成: 磁盤(pán)控制器 頭盤(pán)組件 磁頭組件、磁頭驅(qū)動(dòng)機(jī)構(gòu)、驅(qū)動(dòng)機(jī)構(gòu)及盤(pán)片、讀寫(xiě)放大電路、循環(huán)過(guò)濾器、底座和上蓋、其他附件。 印刷電路板。 溫氏技術(shù)特點(diǎn): 全封閉結(jié)構(gòu),杜絕灰塵危害。 磁頭采用接觸式啟停。 一體化主軸和電機(jī)。 盤(pán)面:每張盤(pán)有上、下兩個(gè)盤(pán)面。 磁道:盤(pán)面上記錄信息的同心圓弧。 柱面:硬盤(pán)每個(gè)盤(pán)面的同一編號(hào)的磁道(半徑相同)構(gòu)成柱面。 扇區(qū):每個(gè)磁道等分成若干個(gè)弧段。 容量:記錄信息的位數(shù)或字節(jié)數(shù)。 格式化容量 =磁頭數(shù)*柱面數(shù)*每柱面扇區(qū)數(shù)*每扇區(qū)字節(jié)數(shù) 轉(zhuǎn)數(shù):7200r/min或9600r

60、/min。 盤(pán)徑:英寸、3.5 英寸、2.5 英寸、1.8 英寸。 例題 :磁盤(pán)組有6片磁盤(pán),每片有兩個(gè)記錄面,最上最下兩面不用。存儲(chǔ)區(qū)域內(nèi)直徑22cm,外直徑33cm,道密度為40道/cm,內(nèi)層位密度400位/cm,轉(zhuǎn)速2400轉(zhuǎn)/分,問(wèn): 1、共有多少柱面? 2、盤(pán)組總存儲(chǔ)容量是多少? 3、數(shù)據(jù)傳輸率多少? 4、采用定長(zhǎng)數(shù)據(jù)塊記錄格式,直接尋址的最小單位是什么?尋址命令中如何表示磁盤(pán)地址? 5、如果某文件長(zhǎng)度超過(guò)一個(gè)磁道的容量,應(yīng)將它記錄在同一個(gè)存儲(chǔ)面上,還是記錄在同一個(gè)柱面上? 解: 1、有效存儲(chǔ)區(qū)域= 33/2-22/2 柱面數(shù)=道密度*有效區(qū)域 =40道/cm*5.5cm=220道

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論