![計(jì)算機(jī)組成原理復(fù)習(xí)材料_第1頁](http://file4.renrendoc.com/view/c301b192f525f04913f1a41112fb01b8/c301b192f525f04913f1a41112fb01b81.gif)
![計(jì)算機(jī)組成原理復(fù)習(xí)材料_第2頁](http://file4.renrendoc.com/view/c301b192f525f04913f1a41112fb01b8/c301b192f525f04913f1a41112fb01b82.gif)
![計(jì)算機(jī)組成原理復(fù)習(xí)材料_第3頁](http://file4.renrendoc.com/view/c301b192f525f04913f1a41112fb01b8/c301b192f525f04913f1a41112fb01b83.gif)
![計(jì)算機(jī)組成原理復(fù)習(xí)材料_第4頁](http://file4.renrendoc.com/view/c301b192f525f04913f1a41112fb01b8/c301b192f525f04913f1a41112fb01b84.gif)
![計(jì)算機(jī)組成原理復(fù)習(xí)材料_第5頁](http://file4.renrendoc.com/view/c301b192f525f04913f1a41112fb01b8/c301b192f525f04913f1a41112fb01b85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 承載教育理想 傳播文都精神- PAGE 42 - 文都教育在線:- PAGE 25 -計(jì)算機(jī)組成原理【考查目標(biāo)】1. 理解單處理器計(jì)算機(jī)系統(tǒng)中各部件的內(nèi)部工作原理、組成結(jié)構(gòu)以及相互連接方式,具有完整的計(jì)算機(jī)系統(tǒng)的整機(jī)概念。2. 理解計(jì)算機(jī)系統(tǒng)層次化結(jié)構(gòu)概念,熟悉硬件與軟件之間的界面,掌握指令集體系結(jié)構(gòu)的基本知識和基本實(shí)現(xiàn)方法。3. 能夠運(yùn)用計(jì)算機(jī)組成的基本原理和基本方法,對有關(guān)計(jì)算機(jī)硬件系統(tǒng)中的理論和實(shí)際問題進(jìn)行計(jì)算、分析,并能對一些基本部件進(jìn)行簡單設(shè)計(jì)。一、 計(jì)算機(jī)系統(tǒng)概述(一) 計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)1. 計(jì)算機(jī)硬件的基本組成計(jì)算機(jī)硬件主要指計(jì)算機(jī)的實(shí)體部分,通常有運(yùn)算器、控制器、存儲器、輸
2、入和輸出五部分。CPU是指將運(yùn)算器和控制器集成到一個(gè)電路芯片中。2. 計(jì)算機(jī)軟件的分類計(jì)算機(jī)軟件按照面向?qū)ο蟮牟煌煞謨深悾合到y(tǒng)軟件:用于管理整個(gè)計(jì)算機(jī)系統(tǒng),合理分配系統(tǒng)資源,確保計(jì)算機(jī)正常高效地運(yùn)行,這類軟件面向系統(tǒng)。應(yīng)用軟件:是面向用戶根據(jù)用戶的特殊要求編制的應(yīng)用程序,這類軟件通常實(shí)現(xiàn)用戶的某類要求。3. 計(jì)算機(jī)的工作過程(1)計(jì)算機(jī)的工作過程就是執(zhí)行指令的過程 指令由操作碼和操作數(shù)組成:操作碼地址碼 操作碼指明本指令完成的操作 地址碼指明本指令的操作對象(2)指令的存儲 指令按照存儲器的地址順序連續(xù)的存放在存儲器中。(3)指令的讀取 為了紀(jì)錄程序的執(zhí)行過程,需要一個(gè)記錄讀取指令地址的寄存
3、器,稱為指令地址寄存器,或者程序計(jì)數(shù)器。指令的讀取就可以根據(jù)程序計(jì)數(shù)器所指出的指令地址來決定讀取的指令,由于指令通常按照地址增加的順序存放,故此,每次讀取一條指令之后,程序計(jì)數(shù)器加一就為讀取下一條指令做好準(zhǔn)備。(4)執(zhí)行指令的過程 在控制器的控制下,完成以下三個(gè)階段任務(wù):1)取指令階段 按照程序計(jì)數(shù)器取出指令,程序計(jì)數(shù)器加一2)指令譯碼階段 分析操作碼,決定操作內(nèi)容,并準(zhǔn)備操作數(shù)3)指令執(zhí)行階段 執(zhí)行操作碼所指定內(nèi)容(二) 計(jì)算機(jī)性能指標(biāo)1. CPU時(shí)鐘周期、主頻、CPI、CPU執(zhí)行時(shí)間(1) CPU時(shí)鐘周期:機(jī)器主頻的倒數(shù),Tc(2)主頻:CPU工作主時(shí)鐘的頻率,機(jī)器主頻Rc(3)CPI:執(zhí)
4、行一條指令所需要的平均時(shí)鐘周期(4)CPU執(zhí)行時(shí)間:TCPU=InCPITC In執(zhí)行程序中指令的總數(shù) CPI執(zhí)行每條指令所需的平均時(shí)鐘周期數(shù) TC時(shí)鐘周期時(shí)間的長度MIPS、MFLOPS2. 機(jī)器字長3. 存儲容量二、 數(shù)據(jù)的表示和運(yùn)算(一) 數(shù)制與編碼1. 進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換1)進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制是指按照進(jìn)位制的方法表示數(shù),不同的數(shù)制均涉及兩個(gè)基本概念:基數(shù)和權(quán)。 基數(shù):進(jìn)位計(jì)數(shù)制中所擁有數(shù)字的個(gè)數(shù)。權(quán):每位數(shù)字的值等于數(shù)字乘以所在位數(shù)的相關(guān)常數(shù),這個(gè)常數(shù)就是權(quán)。任意一個(gè)R進(jìn)制數(shù)X,設(shè)整數(shù)部分為n位,小數(shù)部分為m位,則X可表示為:Xan-1rn-1 + an-2rn-2 + + a0
5、r0 + a-1r-1 + a-2r-2 + + a-mr-m(X)r = 2)不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換 (1)二、八、十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù) 利用上面講到的公式: (N)2=Di2i 、(N)8=Di8i、 (N)16=Di16i、進(jìn)行計(jì)算。(2)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)通常要對一個(gè)數(shù)的整數(shù)部分和小數(shù)部分分別進(jìn)行處理,各自得出結(jié)果后再合并。對整數(shù)部分,一般采用除2取余數(shù)法,其規(guī)則如下:將十進(jìn)制數(shù)除以2,所得余數(shù)(0或1)即為對應(yīng)二進(jìn)制數(shù)最低位的值。然后對上次所得商除以2,所得余數(shù)即為二進(jìn)制數(shù)次低位的值,如此進(jìn)行下去,直到商等于0為止,最后得的余數(shù)是所求二進(jìn)制數(shù)最高位的值。對小數(shù)部分,一般用乘2取
6、整數(shù)法,其規(guī)則如下:將十進(jìn)制數(shù)乘以2,所得乘積的整數(shù)部分即為對應(yīng)二進(jìn)制小數(shù)最高位的值,然后對所余數(shù)的小數(shù)部分部分乘以2,所得乘積的整數(shù)部分為次高位的值,如此進(jìn)行下去,直到乘積的小數(shù)部分為0,或結(jié)果已滿足所需精度要求為止。(3)二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)之間的轉(zhuǎn)換八進(jìn)制數(shù)和十六進(jìn)制數(shù)是從二進(jìn)制數(shù)演變而來的:由3位二進(jìn)制數(shù)組成1位八進(jìn)制數(shù);由4位二進(jìn)制數(shù)組成1位十六進(jìn)制數(shù)。對于一個(gè)兼有整數(shù)和小數(shù)部分的數(shù)以小數(shù)點(diǎn)為界,小數(shù)點(diǎn)前后的數(shù)分別分組進(jìn)行處理,不足的位數(shù)用0補(bǔ)足。對整數(shù)部分將0補(bǔ)在數(shù)的左側(cè),對小數(shù)部分將0補(bǔ)在數(shù)的右側(cè)。這樣數(shù)值不會發(fā)生差錯(cuò)。2. 真值和機(jī)器數(shù)真值:數(shù)據(jù)的數(shù)值通常以正(+)負(fù)
7、(-)號后跟絕對值來表示,稱之為“真值”。 機(jī)器數(shù):在計(jì)算機(jī)中正負(fù)號也需要數(shù)字化,一般用0表示正號,1表示負(fù)號。把符號數(shù)字化的數(shù)成為機(jī)器數(shù)。3. 校驗(yàn)碼數(shù)據(jù)校驗(yàn)碼是一種常用的帶有發(fā)現(xiàn)某些錯(cuò)誤或自動改錯(cuò)能力的數(shù)據(jù)編碼方法。其實(shí)現(xiàn)原理,是加進(jìn)一些冗余碼,使合法數(shù)據(jù)編碼出現(xiàn)某些錯(cuò)誤時(shí),就成為非法編碼。 這樣,可以通過檢測編碼的合法性來達(dá)到發(fā)現(xiàn)錯(cuò)誤的目的。合理地安排非法編碼數(shù)量和編碼規(guī)則,可以提高發(fā)現(xiàn)錯(cuò)誤的能力,或達(dá)到自動改正錯(cuò)誤的目的。 碼距: 碼距根據(jù)任意兩個(gè)合法碼之間至少有幾個(gè)二進(jìn)制位不相同而確定的,僅有一位不同,稱其碼距為1。 偶校驗(yàn):增加位的0或1要保證整個(gè)編碼中1的個(gè)數(shù)為偶數(shù)個(gè)。 海明校驗(yàn)
8、碼它的實(shí)現(xiàn)原理,是在數(shù)據(jù)中加入幾個(gè)校驗(yàn)位,并把數(shù)據(jù)的每一個(gè)二進(jìn)制位分配在幾個(gè)奇偶校驗(yàn)組中。當(dāng)某一位出錯(cuò)就會引起有關(guān)的幾個(gè)校驗(yàn)組的值發(fā)生變化,這不但可以發(fā)現(xiàn)出錯(cuò),還能指出是哪一位出錯(cuò),為自動糾錯(cuò)提供了依據(jù)。 假設(shè)校驗(yàn)位的個(gè)數(shù)為r,則它能表示2r個(gè)信息,用其中的一個(gè)信息指出“沒有錯(cuò)誤”,其余2r-1個(gè)信息指出錯(cuò)誤發(fā)生在哪一位。然而錯(cuò)誤也可能發(fā)生在校驗(yàn)位,因此只有k=2r-1-r個(gè)信息能用于糾正被傳送數(shù)據(jù)的位數(shù),也就是說要滿足關(guān)系:2r=k+r+1 (二) 定點(diǎn)數(shù)的表示和運(yùn)算1. 定點(diǎn)數(shù)的表示1)無符號數(shù)的表示 無符號數(shù)就是指正整數(shù),機(jī)器字長的全部位數(shù)均用來表示數(shù)值的大小,相當(dāng)于數(shù)的絕對值。 對于字
9、長為n+1位的無符號數(shù)的表示范圍為: 0-2n+1-12)帶符號數(shù)的表示 帶符號數(shù)是指在計(jì)算機(jī)中將數(shù)的符號數(shù)碼化。在計(jì)算機(jī)中,一般規(guī)定二進(jìn)制的最高位為符號位,最高位為“”表示該數(shù)為正,為“”表示該數(shù)為負(fù)。這種在機(jī)器中使用符號位也被數(shù)碼化的數(shù)稱為機(jī)器數(shù)。 根據(jù)符號位和數(shù)值位的編碼方法不同,機(jī)器數(shù)分為原碼、補(bǔ)碼和反碼。(1)原碼表示法機(jī)器數(shù)的最高位為符號位,0表示正數(shù),1表示負(fù)數(shù),數(shù)值跟隨其后,并以絕對值形式給出。這是與真值最接近的一種表示形式。 原碼的定義: (2)補(bǔ)碼表示法機(jī)器數(shù)的最高位為符號位,0表示正數(shù),1表示負(fù)數(shù),其定義如下: (3)反碼表示法 機(jī)器數(shù)的最高位為符號,0表示正數(shù),1表示負(fù)
10、數(shù)。反碼的定義: 2. 定點(diǎn)數(shù)的運(yùn)算1)定點(diǎn)數(shù)的位移運(yùn)算左移,絕對值擴(kuò)大;右移,絕對值縮小。算術(shù)移位規(guī)則符號位不變碼制添補(bǔ)代碼正數(shù)0負(fù)數(shù)原0補(bǔ)右移添0左移添1反1算術(shù)移位和邏輯移位的區(qū)別:算術(shù)移位:帶符號數(shù)移位;邏輯移位:無符號數(shù)移位;2)補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算;(1) 加法 整數(shù) A補(bǔ) + B補(bǔ)= A+B補(bǔ)(mod 2n+1)小數(shù) A補(bǔ) + B補(bǔ)= A+B補(bǔ)(mod 2)(2) 減法 整數(shù) A補(bǔ) - B補(bǔ)= A+(-B)補(bǔ)=A補(bǔ) + -B補(bǔ)(mod 2n+1)小數(shù) A補(bǔ) - B補(bǔ)= A+(-B)補(bǔ)=A補(bǔ) + -B補(bǔ)(mod 2)無需符號判定,連同符號位一起相加,符號位產(chǎn)生的進(jìn)位自然丟掉3)定
11、點(diǎn)數(shù)的乘/除運(yùn)算補(bǔ)碼兩位乘法根據(jù)前述的布斯算法,將兩步合并成一步,即可推導(dǎo)出補(bǔ)碼兩位乘的公式。Yn-i-1 Yn-i Yn-i+1Pi+2補(bǔ) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 +X補(bǔ), 右移2位 +X補(bǔ), 右移2位 +2X補(bǔ),右移2位 -2X補(bǔ),右移2位 -X補(bǔ), 右移2位 -X補(bǔ), 右移2位 +0, 右移2位 求部分積的次數(shù)和右移操作的控制問題。 當(dāng)乘數(shù)由1位符號位和以n(奇數(shù))位數(shù)據(jù)位組成時(shí),求部分積的次數(shù)為(1n)2,而且最后一次的右移操作只右移一位。 若數(shù)值位本身為偶數(shù)n,可采用下述兩種方法之一:可在乘數(shù)的
12、最后一位補(bǔ)一個(gè)0,乘數(shù)的數(shù)據(jù)位就成為奇數(shù),而且其值不變,求部分積的次數(shù)為1+(n+l)/2,即n/21,最后一次右移操作也只右移一位。乘數(shù)增加一位符號位,使總位數(shù)仍為偶數(shù),此時(shí)求部分積的次數(shù)為n/2+1,而且最后一次不再執(zhí)行右移操作。(3)補(bǔ)碼除法加減交替法當(dāng)余數(shù)為正時(shí),商上1,求下一位商的辦法,余數(shù)左移一位,再減去除數(shù);當(dāng)余數(shù)為負(fù)時(shí),商上0,求下一位商的辦法,余數(shù)左移一位,再加上除數(shù)。定點(diǎn)補(bǔ)碼一位除法(加減交替法)1如果被除數(shù)與除數(shù)同號,用被除數(shù)減去除數(shù);若兩數(shù)異號,被除數(shù)加上除數(shù)。如果所得余數(shù)與除數(shù)同號商上1,否則,商上0,該商為結(jié)果的符號位。2求商的數(shù)值部分。如果上次商上1,將除數(shù)左移一
13、位后減去除數(shù);如果上次商上0,將余數(shù)左移一位后加除數(shù)。然后判斷本次操作后的余數(shù),如果余數(shù)與除數(shù)同號商上1,如果余數(shù)與除數(shù)異號商上0。如此重復(fù)執(zhí)行n-1次(設(shè)數(shù)值部分n位)。3商的最后一位一般采用恒置1的辦法,并省略了最低+1的操作。此時(shí)最大的誤差為2-n。5)溢出概念和判別方法當(dāng)運(yùn)算結(jié)果超出機(jī)器數(shù)所能表示的范圍時(shí),稱為溢出。顯然,兩個(gè)異號數(shù)相加或兩個(gè)同號數(shù)相減,其結(jié)果是不會溢出的。僅當(dāng)兩個(gè)同號數(shù)相加或者兩個(gè)異號數(shù)相減時(shí),才有可能發(fā)溢出的情況,一旦溢出,運(yùn)算結(jié)果就不正確了,因此必須將溢出的情況檢查出來。判別方法有三種:1當(dāng)符號相同的兩數(shù)相加時(shí),如果結(jié)果的符號與加數(shù)(或被加數(shù))不相同,則為溢出。2
14、當(dāng)任意符號兩數(shù)相加時(shí),如果C=Cf,運(yùn)算結(jié)果正確,其中C為數(shù)值最高位的進(jìn)位,Cf為符號位的進(jìn)位。如果CCf ,則為溢出,所以溢出條件=CCf 。3采用雙符號fs2fs1。正數(shù)的雙符號位為00,負(fù)數(shù)的雙符號位為11。符號位參與運(yùn)算,當(dāng)結(jié)果的兩個(gè)符號位甲和乙不相同時(shí),為溢出。所以溢出條件= fs2fs1 ,或者溢出條件= fs2fs1 + fs2fs1(三) 浮點(diǎn)數(shù)的表示和運(yùn)算1. 浮點(diǎn)數(shù)的表示1)浮點(diǎn)數(shù)的表示范圍;浮點(diǎn)數(shù)是指小數(shù)點(diǎn)位置可浮動的數(shù)據(jù),通常以下式表示: N=MRE其中,N為浮點(diǎn)數(shù),M為尾數(shù),E為階碼,R稱為“階的基數(shù)(底)”,而且R為一常數(shù),一般為2、8或16。在一臺計(jì)算機(jī)中,所有數(shù)
15、據(jù)的R都是相同的,于是不需要在每個(gè)數(shù)據(jù)中表示出來。因此,浮點(diǎn)數(shù)的機(jī)內(nèi)表示一般采用以下形式:浮點(diǎn)數(shù)的機(jī)內(nèi)表示一般采用以下形式:MsEM 1位 n+1位 m位Ms是尾數(shù)的符號位,設(shè)置在最高位上。E為階碼,有n+1位,一般為整數(shù),其中有一位符號位,設(shè)置在E的最高位上,用來表正階或負(fù)階。M為尾數(shù),有m位,由Ms和M組成一個(gè)定點(diǎn)小數(shù)。Ms=0,表示正號,Ms=1,表示負(fù)。為了保證數(shù)據(jù)精度屬數(shù)通常用規(guī)格化形式表示:當(dāng)R2,且尾數(shù)值不為0時(shí),其絕對值大于或等于(0.5)10。對非規(guī)格化浮點(diǎn)數(shù),通過將尾數(shù)左移或右移,并修改階碼值使之滿足規(guī)格化要求。2)IEEE754標(biāo)準(zhǔn)根據(jù)IEEE 754國際標(biāo)準(zhǔn),常用的浮點(diǎn)
16、數(shù)有兩種格式:(1)單精度浮點(diǎn)數(shù)(32位),階碼8位,尾數(shù)24位(內(nèi)含:位符號位)。(2)雙精度浮點(diǎn)數(shù)(64位),階碼11位,尾數(shù)53位(內(nèi)含:位符號位)。單精度格式32位,階碼為8位,尾數(shù)為23位。另有一位符號位S,處在最高位。由于IEEE754標(biāo)準(zhǔn)約定在小數(shù)點(diǎn)左部有一位隱含位,從而實(shí)際有效位數(shù)為24位。這樣使得尾數(shù)的有效值變?yōu)?.M 。例如,最小為x1.00,,最大為x1.11。規(guī)格化表示。故小數(shù)點(diǎn)左邊的位橫為1,可省去。 階碼部分采用移碼表示,移碼值127,1到254經(jīng)移碼為-126到+127。S(1位) E(8位) M(23位) N(共32位) 符號位 0 0 0 符號位 0 不等于0
17、 (-1)S2-126(0.M) 為非規(guī)格化數(shù) 符號位 1到254之間 - (-1)S2E-127(1.M) 為規(guī)格化數(shù) 符號位 255不等于0 NaN(非數(shù)值) 符號位 2550 無窮大 0 有了精確的表示,無窮大也明確表示。對于絕對值較小的數(shù),可以采用非規(guī)格化數(shù)表示,減少下溢精度損失。非規(guī)格化數(shù)的隱含位是0,不是1。2. 浮點(diǎn)數(shù)的加/減運(yùn)算加減法執(zhí)行下述五步完成運(yùn)算:1)“對階”操作比較兩浮點(diǎn)數(shù)階碼的大小,求出其差E,保留其大值E,E=max(Ex, Ey)。當(dāng)E0時(shí),將階碼小的尾數(shù)右移E位,并將其階碼加上E,使兩數(shù)的階碼值相等。2)尾數(shù)加減運(yùn)算 執(zhí)行對階之后,兩尾數(shù)進(jìn)行加減操作。3)規(guī)格
18、化操作 規(guī)格化的目的是使得尾數(shù)部分的絕對值盡可能以最大值的形式出現(xiàn)。4)舍入 在執(zhí)行右規(guī)或者對階時(shí),尾數(shù)的低位會被移掉,使數(shù)值的精度受到影響,常用“0”舍“1”入法。當(dāng)移掉的部分最高位為1時(shí),在尾數(shù)的末尾加1,如果加1后又使得尾數(shù)溢出,則要再進(jìn)行一次右規(guī)。5)檢查階碼是否溢出 階碼溢出表示浮點(diǎn)數(shù)溢出。在規(guī)格化和舍入時(shí)都可能發(fā)生溢出,若階碼正常,加/減運(yùn)算正常結(jié)束。若階碼下溢,則設(shè)置機(jī)器運(yùn)算結(jié)果為機(jī)器零,若上溢,則設(shè)置溢出標(biāo)志。三、 存儲器層次機(jī)構(gòu)(一) 存儲器的分類1. 按存儲介質(zhì)分類 1)半導(dǎo)體存儲器 2)磁表面存儲器 3)磁芯存儲器 4)光盤存儲器2. 按存取方式分類 1)隨機(jī)存儲器 2)
19、只讀存儲器 3)串行訪問存儲器3. 按在計(jì)算機(jī)中的作用分類存儲器主存閃速存儲器(Flash Memory)輔存緩存(Cache)只讀存儲器(ROM)靜態(tài)RAM動態(tài)RAM隨機(jī)存儲器(RAM)MROMPROMEPROMEEPROM磁盤磁帶光盤(二) 存儲器的層次化結(jié)構(gòu)寄存器緩存主存磁盤磁帶 存儲器有3個(gè)重要的指標(biāo):速度、容量和每位價(jià)格,一般來說,速度越快,位價(jià)越高;容量越大,位價(jià)越低,容量大,速度就越低。上述三者的關(guān)系用下圖表示:存儲系統(tǒng)層次結(jié)構(gòu)主要體現(xiàn)在緩存-主存-輔存這兩個(gè)存儲層次上,如下圖所示:CPU 緩存主存輔存(三) 半導(dǎo)體隨機(jī)存取存儲器1. SRAM存儲器的工作原理1)靜態(tài)存儲單元SR
20、AM靜態(tài)存儲單元的每個(gè)存儲位需要四到六個(gè)晶體管組成。比較典型的是六管存儲單元,即一個(gè)存儲單元存儲一位信息“0”或“1”。靜態(tài)存儲單元保存的信息比較穩(wěn)定,信息為非破壞性讀出,故不需要重寫或者刷新操作;另一方面,其結(jié)構(gòu)簡單、可靠性高、速度較快,但其占用元件較多,占硅片面積大,且功耗大,所以集成度不高。靜態(tài)隨機(jī)存儲單元2. DRAM存儲器的工作原理1)動態(tài)存儲單元常見的動態(tài)RAM存儲單元有三管式和單管式兩種,它們的共特點(diǎn)是靠電容存儲電荷的原理來寄存信息。若電容上存有足夠的電荷表示“”,電容上無電荷表示“0”。電容上的電荷一般只能維持1-2ms,因此即使電源不掉電,電容上的電荷會自動消失。因此,為保證
21、信息的不丟失,必須在2ms之內(nèi)就要對存儲單元進(jìn)行一次恢復(fù)操作,這個(gè)過程稱為再生或者刷新。與靜態(tài)RAM相比,動態(tài)RAM具有集成度更高、功耗更低等特點(diǎn),目前被各類計(jì)算機(jī)廣泛使用。三管動態(tài)RAM基本單元單管動態(tài)RAM基本單元(四) 只讀存儲器前面介紹的DRAM和SRAM均為可任意讀寫的隨機(jī)存儲器,當(dāng)?shù)綦姇r(shí),所存儲的內(nèi)容消失,所以是易失性存儲器。只讀存儲器,即使停電,所存儲的內(nèi)容也不丟失。根據(jù)半導(dǎo)體制造工藝的不同,可分為ROM,PROM,EPROM,E2ROM和Flash Memory1. 只讀存儲器(ROM) 掩模式ROM由芯片制造商在制造時(shí)寫入內(nèi)容,以后只能讀而不能再寫入。其基本存儲原理是以元件的
22、“有無”來表示該存儲單元的信息(“1”或“0”),可以用二極管或晶體管作為元件,顯而易見,其存儲內(nèi)容是不會改變的。2. 可編程序的只讀存儲器(PROM) PROM可由用戶根據(jù)自己的需要來確定ROM中的內(nèi)容,常見的熔絲式PROM是以熔絲的通和斷開來表示所存的信息為“1”或“0”。剛出廠的產(chǎn)品,其熔絲是全部接通的。根據(jù)需要斷開某些單元的熔絲(寫入)。顯而易見,斷開后的熔絲是不能再接通了,因而一次性寫入的存儲器。掉電后不會影響其所存儲的內(nèi)容。3. 可擦可編程序的只讀存儲器(EPROM)為了能修改ROM中的內(nèi)容,出現(xiàn)了EPROM。利用浮動?xùn)臡OS電路保存信息,信息的改寫用紫外線照射即可擦除。4. 可電
23、擦可編程序只讀存儲器(E2PROM) E2PROM的編程序原理與EPROM相同,但擦除原理完全不同,重復(fù)改寫的次數(shù)有限制(因氧化層被磨損),一般為10萬次。 其讀寫操作可按每個(gè)位或每個(gè)字節(jié)進(jìn)行,類似SRAM,但每字節(jié)的寫入周期要幾毫秒,比SRAM長得多。E2PROM每個(gè)存儲單元采則2個(gè)晶體管。其柵極氧化層比EPROM薄,因此具有電擦除功能。 5. 快除讀寫存儲器(Flash Memory) F1ash Memory是在EPROM與E2PROM基礎(chǔ)上發(fā)展起來的,其讀寫過程和E2PROM不同,F(xiàn)1ash Memory的讀寫操作一般是以塊為單位。(五) 主存儲器與CPU的連接1個(gè)存儲器的芯片的容量是
24、有限的,它在字?jǐn)?shù)或字長方面與實(shí)際存儲器的要求都有很大差距,所以需要在字向和位向進(jìn)行擴(kuò)充才能滿足需要。根據(jù)存儲器所需的存儲容量和所提供的芯片的實(shí)際容量,可以計(jì)算出總的芯片數(shù)。一個(gè)存儲器的容量為MN位,若使用LK位存儲器芯片,那么,這個(gè)存儲器共需要M/LN/K存儲器芯片。1位擴(kuò)展 位擴(kuò)展指的是用多個(gè)存儲器器件對字長進(jìn)行擴(kuò)充。位擴(kuò)展的連接方式是將多片存儲器的地址、片選己、讀寫控制端R/W可相應(yīng)并聯(lián),數(shù)據(jù)端分別引出。2)字?jǐn)U展 字?jǐn)U展指的是增加存儲器中字的數(shù)量。 靜態(tài)存儲器進(jìn)行字?jǐn)U展時(shí),將各芯片的地址線、數(shù)據(jù)線、讀寫控制線相應(yīng)并聯(lián),而由片選信號來區(qū)分各芯片的地址范圍。 3)字位擴(kuò)展 實(shí)際存儲器往往需要
25、字向和位向同時(shí)擴(kuò)充。(六) 高速緩沖存儲器(Cache)1. 程序訪問的局部性從大量的統(tǒng)計(jì)中得到的一個(gè)規(guī)律是,程序中對于存儲空間90%的訪問局限于存儲空間的10%的區(qū)域中,而另外10%的訪問則分布在存儲空間的其余90%的區(qū)域中。這就是通常說的局部性原理。訪存的局部性規(guī)律包括兩個(gè)方面:時(shí)間局部性:如果一個(gè)存儲項(xiàng)被訪問,則可能該項(xiàng)會很快被再次訪問。 空間局部性:如果一個(gè)存儲項(xiàng)被訪問,則該項(xiàng)及其鄰近的項(xiàng)也可能很快被訪問。2. Cache的基本工作原理Cache通常由兩部分組成,塊表和快速存儲器。其工作原理是:處理機(jī)按主存地址訪問存儲器,存儲器地址的高段通過主存-Cache地址映象機(jī)構(gòu)借助查表判定該地
26、址的存儲單元是否在Cache中,如果在,則Cache命中,按Cache地址訪問Cache。否則,Cache不命中,則需要訪問主存,并從主存中調(diào)入相應(yīng)數(shù)據(jù)塊到Cache中,若Cache中已寫滿,則要按某種算法將Cache中的某一塊替換出去,并修改有關(guān)的地址映象關(guān)系。從這個(gè)工作原理我們可以看出,它已經(jīng)涉及到了兩個(gè)問題。首先是定位、然后是替換的問題。Cache的存在對程序員是透明的。其地址變換和數(shù)據(jù)塊的替換算法均由硬件實(shí)現(xiàn)。通常Cache被集成到CPU內(nèi)以提高訪問速度。3. Cache和主存之間的映射方式因?yàn)樘幚頇C(jī)訪問都是按主存地址訪問的,而Cache的空間遠(yuǎn)小于主存,如何知道這一次的訪問內(nèi)容是不是
27、在Cache中,在Cache中的哪一個(gè)位置呢? 這就需要地址映象,即把主存中的地址映射成Cache中的地址。讓Cache中一個(gè)存儲塊(空間)與主存中若干塊相對應(yīng),如此,訪問一個(gè)主存地址時(shí),就可以對應(yīng)地知道在cache中哪一個(gè)地址了。地址映象的方法有三種:直接映象、全相聯(lián)映象和組相聯(lián)映象。 直接映象就是將主存地址映象到Cache中的一個(gè)指定地址。任何時(shí)候,主存中存儲單元的數(shù)據(jù)只能調(diào)入到Cache中的一個(gè)位置,這是固定的,若這個(gè)位置已有數(shù)據(jù),則產(chǎn)生沖突,原來的塊將無條件地被替換出去。直接映射全相聯(lián)映象就是任何主存地址可映象到任何Cache地址的方式。在這種方式下,主存中存儲單元的數(shù)據(jù)可調(diào)入到Cac
28、he中的任意位置。只有在Cache中的塊全部裝滿后才會出現(xiàn)塊沖突。全相連映射組相聯(lián)映象指的是將存儲空間的頁面分成若干組,各組之間的直接映象,而組內(nèi)各塊之間則是全相聯(lián)映象。組相聯(lián)映射4. Cache寫策略對Cache的寫操作,情況比讀操作要復(fù)雜一些。由于寫入Cache時(shí),并沒有寫入主存,因此就出現(xiàn)Cache和主存數(shù)據(jù)不一致的情況。 如何處理Cache和主存不一致的方法就稱為更新策略。更新策略 思想 優(yōu)點(diǎn) 缺點(diǎn) 寫回法 是指在CPU執(zhí)行寫操作時(shí),信息只寫入Cache中,僅當(dāng)需要替換時(shí),才將改寫過的Cache塊先送回主存(寫回),然后再調(diào)塊(設(shè)置dirty位) 有利于省去許多將中間結(jié)果寫入主存的無謂
29、開銷。 需設(shè)修改位增加Cache的復(fù)雜性 全寫法(寫直達(dá)法) 在寫操作時(shí),將數(shù)據(jù)同時(shí)寫入Cache和主存 實(shí)現(xiàn)開銷小、簡單 為了寫中間結(jié)果浪費(fèi)了不少時(shí)間 另外,當(dāng)寫不命中時(shí)(也就是寫Cache塊時(shí),這塊早被人替換出去而在Cache中找不到時(shí))是不是要把這塊再取回Cache中,有兩個(gè)解決方法:不按寫分配法,就是直接寫到主存里,不再把該地址對應(yīng)的塊調(diào)回Cache中。按寫分配法,就是寫到主存,而且把這一塊從主存中調(diào)入到Cache。一般寫回法用按寫分配法,全寫法則采用不按寫分配。四、 指令系統(tǒng)(一) 指令格式1. 指令的基本格式計(jì)算機(jī)是通過執(zhí)行指令來處理各種數(shù)據(jù)的。為了指出數(shù)據(jù)的來源、操作結(jié)果的去向及
30、所執(zhí)行的操作,一條指令必須包含下列信息: (1)操作碼,具體說明了操作的性質(zhì)及功能。 (2)操作數(shù)的地址。 (3)操作結(jié)果的存儲地址。 (4)下一條指令的地址。 從上述分析可知,一條指令實(shí)際上包括兩種信息即操作碼和地址碼。操作碼(operation code)用來表示該指令所要完成的操作(如加、減、乘、除、數(shù)據(jù)傳送等),其長度取決于指令系統(tǒng)中的指令條數(shù)。地址碼用來描述該指令的操作對象,或者直接給出操作數(shù)或者指出操作數(shù)的存儲器地址或寄存器地址(即寄存器名)。2. 定長操作碼指令格式1)零地址指令OPCODE格式:OPCODE操作碼指令中只有操作碼,而沒有操作數(shù)或沒有操作數(shù)地址。這種指令有兩種可能
31、:(1)無需任何操作數(shù),如空操作指令,停機(jī)指令等。(2)所需的操作數(shù)是默認(rèn)的。如堆棧結(jié)構(gòu)計(jì)算機(jī)的運(yùn)算指令,所需的操作數(shù)默認(rèn)在堆棧中,由堆棧指針SP隱含指出,操作結(jié)果仍然放回堆棧中。又如Intel 8086的字符串處理指令,源、目的操作數(shù)分別默認(rèn)在源變址寄存器SI和目的變址寄存器DI所指定的存儲器單元中。2)一地址指令OPCODEA格式:OPCODE操作碼A操作數(shù)的存儲器地址或寄存器名指令中只給出一個(gè)地址,該地址既是操作數(shù)的地址,又是操作結(jié)果的存儲地址。如加1,減1和移位等單操作數(shù)指令均采用這種格式,對這一地址所指定的操作數(shù)執(zhí)行相應(yīng)的操作后,產(chǎn)生的結(jié)果又存回該地址中。在某些字長較短的微型機(jī)中(如
32、早期的Z80,Intel8080,MC6800等),大多數(shù)算術(shù)邏輯指令也采用這種格式,第一個(gè)源操作數(shù)由地址碼A給出,第二個(gè)源操作數(shù)在一個(gè)默認(rèn)的寄存器中,運(yùn)算結(jié)果仍送回到這個(gè)寄存器中,替換了原寄存器內(nèi)容,通常把這個(gè)寄存器稱累加器。3)二地址指令OPCODEA1A2格式:OPCODE操作碼 A1第一個(gè)源操作數(shù)的存儲器地址或寄存器地址。 A2第二個(gè)源操作數(shù)和存放操作結(jié)果的存儲器地址或寄存器地址。這是最常見的指令格式,兩個(gè)地址指出兩個(gè)源操作數(shù)地址,其中一個(gè)還是存放結(jié)果的目的地址。對兩個(gè)源操作數(shù)進(jìn)行操作碼所規(guī)定的操作后,將結(jié)果存入目的地址,在本例中即為A2指定的地址4)三地址指令OPCODEA1A2A3
33、格式:OPCODE操作碼 A1第一個(gè)源操作數(shù)的存儲器地址或寄存器地址 A2第二個(gè)源操作數(shù)的存儲器地址或寄存器地址 A3操作結(jié)果的存儲器地址或寄存器地址其操作是對A1,A2指出的兩個(gè)源操作數(shù)進(jìn)行操作碼(OPCODE)所指定的操作,結(jié)果存入A3中。5)多地址指令在某些性能較好的大、中型機(jī)甚至高檔小型機(jī)中,往往設(shè)置一些功能很強(qiáng)的,用于處理成批數(shù)據(jù)的指令,如字符串處理指令,向量、矩陣運(yùn)算指令等。為了描述一批數(shù)據(jù),指令中需要多個(gè)地址來指出數(shù)據(jù)存放的首地址、長度和下標(biāo)等信息3. 擴(kuò)展操作碼指令格式設(shè)某機(jī)器的指令長度為16位,包括4位基本操作碼字段和三個(gè)4位地址字段,其格式下:OPCODE(4)A1(4)A
34、2(4)A3(4)4位基本操作碼有16個(gè)碼點(diǎn)(即有16種組合),若全部用于表示三地址指令,則只有16條。但是,若三地址指令僅需15條,兩地址指令需15條,一地址指令需15條,零地址指令需16條,共61條指令,應(yīng)如何安排操作碼?顯然,只有4位基本操作碼是不夠的,必須將操作碼的長度向地址碼字段擴(kuò)展才行。一種可供擴(kuò)展的方法和步驟如下:(1)15條三地址指令的操作碼由4位基本操作碼從00001110給出,剩下一個(gè)碼點(diǎn)1111用于把操作碼擴(kuò)展到A1,即4位擴(kuò)展到8位;(2)15條二地址指令的操作碼由8位操作碼從1111000011111110給出,剩下一個(gè)碼點(diǎn)11111111用于把操作碼擴(kuò)展到A2,即從
35、8位擴(kuò)展到12位;(3)15條一地址指令的操作碼由12位操作碼從111111110000111111111110給出,剩下的一個(gè)碼點(diǎn)111111111111用于把操作碼擴(kuò)展到A3,即從12位擴(kuò)展到16位;(4)16條零地址指令的操作碼由16位操作碼從11111111111100001111111111111111給出。(二) 指令的尋址方式1. 有效地址的概念操作數(shù)的真實(shí)地址稱為有效地址,記做EA,它是尋址方式和形式地址共同來決定的。2. 數(shù)據(jù)尋址和指令尋址尋址方式是指確定本條指令的數(shù)據(jù)地址以及下一條將要執(zhí)行的指令的地址,與硬件結(jié)構(gòu)密切相關(guān),尋址方式分為指令尋址和數(shù)據(jù)尋址兩大類指令尋址分為順序
36、尋址和跳躍尋址兩種。順序?qū)ぶ房梢酝ㄟ^程序計(jì)數(shù)器PC加1自動形成下一條指令的地址,跳躍尋址則通過轉(zhuǎn)移類指令實(shí)現(xiàn),是通過對PC的運(yùn)算得到新的下一條指令的地址。3. 常見尋址方式1)立即尋址所需的操作數(shù)由指令的地址碼部分直接給出,就稱為立即數(shù)(或直接數(shù))尋址方式。這種方式的特點(diǎn)是取指時(shí),操作碼和一個(gè)操作數(shù)同時(shí)被取出,不必再次訪問存儲器,提高了指令的執(zhí)行速度。但是由于這一操作數(shù)是指令的一部分,不能修改,而一般情況下,指令所處理的數(shù)據(jù)都是在不斷變化的(如上條指令的執(zhí)行結(jié)果作為下條指令的操作數(shù)),故這種方式只能適用于操作數(shù)固定的情況。通常用于給某一寄存器或存儲器單元賦初值或提供一個(gè)常數(shù)等。2)直接尋址指令
37、的地址碼部分給出操作數(shù)在存儲器中的地址。3)隱含尋址操作數(shù)的地址隱含在操作碼或者某個(gè)寄存器中。4)間接尋址 在尋址時(shí),有時(shí)根據(jù)指令的地址碼所取出的內(nèi)容既不是操作數(shù),也不是下一條要執(zhí)行的指令,而是操作數(shù)的地址或指令的地址,這種方式稱為間接尋址或間址。5)寄存器尋址計(jì)算機(jī)的中央處理器一般設(shè)置有一定數(shù)量的通用寄存器,用以存放操作數(shù)、操作數(shù)的地址或中間結(jié)果。假如指令地址碼部分給出某一通用寄存器地址,而且所需的操作數(shù)就在這一寄存器中,則稱為寄存器尋址。通用寄存器的數(shù)量一般在幾個(gè)至幾十個(gè)之間,比存儲單元少很多,因此地址碼短,而且從寄存器中存取數(shù)據(jù)比從存儲器中存取快得多,所以這種方式可以縮短指令長度、節(jié)省存
38、儲空間,提高指令的執(zhí)行速度,在計(jì)算機(jī)中得到廣泛應(yīng)用。6)寄存器間接尋址寄存器中給出的是操作數(shù)的地址,因此還需要訪問一次存儲器才能得到操作數(shù)。7)基址尋址在計(jì)算機(jī)中設(shè)置一個(gè)專用的基址寄存器,或由指令指定一個(gè)通用寄存器為基址寄存器。操作數(shù)的地址由基址寄存器的內(nèi)容和指令的地址碼A相加得到 8)變址尋址指令地址碼部分給出的地址A和指定的變址寄存器X的內(nèi)容通過加法器相加,所得的和作為地址從存儲器中讀出所需的操作數(shù)。這是幾乎所有計(jì)算機(jī)都采用的一種尋址方式。9)相對尋址把程序計(jì)數(shù)器PC的內(nèi)容(即當(dāng)前執(zhí)行指令的地址)與指令的地址碼部分給出的位移量(disp)之和作為操作數(shù)的地址或轉(zhuǎn)移地址,稱為相對尋址。 主要
39、用于轉(zhuǎn)移指令,執(zhí)行本條指令后,將轉(zhuǎn)移到(PC)disp,(PC)為程序計(jì)數(shù)器的內(nèi)容。相對尋址有兩個(gè)特點(diǎn): 1轉(zhuǎn)移地址不是固定的,它隨著PC值的變化而變化,并且總是與PC相差一個(gè)固定值disp,因此無論程序裝人存儲器的任何地方,均能正確運(yùn)行,對浮動程序很適用。 2位移量可正、可負(fù),通常用補(bǔ)碼表示。如果位移量為n位,則這種方式的尋址范圍在 (PC)-2n-1 (PC)+2n-1-1之間 計(jì)算機(jī)的程序和數(shù)據(jù)一般是分開存放的,程序區(qū)在程序執(zhí)行過程中不允許修改。在程序與數(shù)據(jù)分區(qū)存放的情況下,不用相對尋址方式來確定操作數(shù)地址。10)堆棧尋址在一般計(jì)算機(jī)中,堆棧主要用來暫存中斷和子程序調(diào)用時(shí)現(xiàn)場數(shù)據(jù)及返回地
40、址,用于訪問堆棧的指令只有壓入(即進(jìn)棧)和彈出(即退棧)兩種,它們實(shí)際上是一種特殊的數(shù)據(jù)傳送指令:壓入指令(PUSH)是把指定的操作數(shù)送入堆棧的棧頂;彈出指令(POP)的操作剛好相反,是把棧頂?shù)臄?shù)據(jù)取出,送到指令所指定的目的地。一般的計(jì)算機(jī)中,堆棧從高地址向低地址擴(kuò)展,即棧底的地址總是大于或等于棧頂?shù)牡刂罚ㄒ灿猩贁?shù)計(jì)算機(jī)剛好相反)當(dāng)執(zhí)行壓入操作時(shí),首先把堆棧指針(SP)減量(減量的多少取決于壓入數(shù)據(jù)的字節(jié)數(shù),若壓入一個(gè)字節(jié),則減1;若壓入兩個(gè)字節(jié),則減2,以此類推),然后把數(shù)據(jù)送人SP所指定的單元;當(dāng)執(zhí)行彈出操作時(shí),首先把sp所指定的單元(即棧頂)的數(shù)據(jù)取出,然后根據(jù)數(shù)據(jù)的大?。此嫉淖止?jié)數(shù)
41、)對SP增量。五、 中央處理器(CPU)(一) CPU的功能和基本結(jié)構(gòu)CPU主要是由運(yùn)算器和控制器組成,由于運(yùn)算器部分在第二部分介紹過,所以本節(jié)主要介紹控制器的組成和工作原理。1控制器的功能計(jì)算機(jī)對信息進(jìn)行處理(或計(jì)算)是通過程序的執(zhí)行而實(shí)現(xiàn)的,程序是完成某個(gè)確定算法的指令序列,要預(yù)先存放在存儲器中??刂破鞯淖饔檬强刂瞥绦虻膱?zhí)行,它必須具有以下基本功能:1)取指令2)分析指令3)執(zhí)行指令計(jì)算機(jī)不斷重復(fù)順序執(zhí)行上述三種基本操作:取指、分析、執(zhí)行;再取指、再分析、再執(zhí)行,如此循環(huán),直到遇到停機(jī)指令或外來的干預(yù)為止。4)控制程序和數(shù)據(jù)的輸入與結(jié)果輸出根據(jù)程序的安排或人的干預(yù),在適當(dāng)?shù)臅r(shí)候向輸入輸出設(shè)
42、備發(fā)出一些相應(yīng)的命令來完成I/O功能,這實(shí)際上也是通過執(zhí)行程序來完成的。5)對異常情況和某些請求的處理當(dāng)機(jī)器出現(xiàn)某些異常情況,諸如算術(shù)運(yùn)算的溢出和數(shù)據(jù)傳送的奇偶錯(cuò)等;或者某些外來請求,諸如磁盤上的成批數(shù)據(jù)需送存儲器或程序員從鍵盤送入命令等,此時(shí)由這些部件或設(shè)備發(fā)出: (1)“中斷請求”信號。(2)DMA請求信號。2控制器的組成根據(jù)對控制器功能分析,得出控制器的基本組成如下:1)程序計(jì)數(shù)器(PC)即指令地址寄存器。在某些計(jì)算機(jī)中用來存放當(dāng)前正在執(zhí)行的指令地址;而在另一些計(jì)算機(jī)中則用來存放即將要執(zhí)行的下一條指令地址;而在有指令預(yù)取功能的計(jì)算機(jī)中,一般還需要增加一個(gè)程序計(jì)數(shù)器用來存放下一條要取出的指
43、令地址。有兩種途徑來形成指令地址,其一是順序執(zhí)行的情況,通過程序計(jì)數(shù)器加“1”形成下一條指令地址(如存儲器按字節(jié)編址,而指令長度為4個(gè)字節(jié),則加“4”)。其二是遇到需要改變順序執(zhí)行程序的情況,一般由轉(zhuǎn)移類指令形成轉(zhuǎn)移地址送往程序計(jì)數(shù)器,作為下一條指令的地址。2)指令寄存器(IR)用以存放當(dāng)前正在執(zhí)行的指令,以便在指令執(zhí)行過程中,控制完成一條指令的全部功能。3). 指令譯碼器或操作碼譯碼器對指令寄存器中的操作碼進(jìn)行分析解釋,產(chǎn)生相應(yīng)的控制信號。在執(zhí)行指令過程中,需要形成有一定時(shí)序關(guān)系的操作控制信號序列,為此還需要下述組成部分。4)脈沖源及啟停線路脈沖源產(chǎn)生一定頻率的脈沖信號作為整個(gè)機(jī)器的時(shí)鐘脈沖
44、,是機(jī)器周期和工作脈沖的基準(zhǔn)信號,在機(jī)器剛加電時(shí),還應(yīng)產(chǎn)生一個(gè)總清信號(reset)。啟停線路保證可靠地送出或封鎖時(shí)鐘脈沖,控制時(shí)序信號的發(fā)生或停止,從而啟動機(jī)器工作或使之停機(jī)。5)時(shí)序控制信號形成部件當(dāng)機(jī)器啟動后,在CLK時(shí)鐘作用下,根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的時(shí)序控制信號,并根據(jù)被控功能部件的反饋信號調(diào)整時(shí)序控制信號。例如,當(dāng)執(zhí)行加法指令時(shí),若產(chǎn)生運(yùn)算溢出的異常情況,一般不再執(zhí)行將結(jié)果送入目的寄存器(或存儲單元)的操作,而發(fā)出中斷請求信號,轉(zhuǎn)入中斷處理;又如執(zhí)行條件轉(zhuǎn)移指令時(shí),根據(jù)不同的條件產(chǎn)生不同的控制信號,從而進(jìn)入適當(dāng)?shù)某绦蚍种?。(二?指令執(zhí)行過程1指令執(zhí)行的時(shí)序 計(jì)算機(jī)
45、工作的過程是取指令、分析指令、執(zhí)行指令三個(gè)基本動作的重復(fù)。六、 總線(一) 總線概述1. 總線的基本概念總線是連接各個(gè)部件的信息傳輸線,是各個(gè)部件共享的傳輸介質(zhì),總線上信息的傳送分為串行和并行傳輸。2. 總線的分類1)片內(nèi)總線:芯片內(nèi)部的總線2)系統(tǒng)總線:計(jì)算機(jī)各部件之間 的信息傳輸線數(shù)據(jù)總線:雙向 與機(jī)器字長、存儲字長有關(guān)地址總線:單向 與存儲地址、 I/O地址有關(guān)控制總線:部分出部分入 控制器控制所有部件3)通信總線:用于 計(jì)算機(jī)系統(tǒng)之間 或 計(jì)算機(jī)系統(tǒng),與其他系統(tǒng)(如控制儀表、移動通信等)之間的通信傳輸方式:串行通信總線和并行通信總線3. 總線的組成及性能指標(biāo)總線的結(jié)構(gòu)通常分為單總線結(jié)構(gòu)
46、和多總線結(jié)構(gòu)。單總線結(jié)構(gòu)是將CPU、主存、I/O設(shè)備(通過I/O接口)都掛在一組總線上。多總線結(jié)構(gòu)的特點(diǎn)是將速度較低的I/O設(shè)備從單總線上分離出來,形成主總線與I/O設(shè)備總線分開的結(jié)構(gòu)??偩€的性能指標(biāo)1)總線寬度:數(shù)據(jù)總線的根數(shù)2)總線帶寬:數(shù)據(jù)傳輸率3)時(shí)鐘同步/異步:總線上的數(shù)據(jù)與時(shí)鐘同步的稱為同步總線,與時(shí)鐘不同步的稱為異步總線4)總線復(fù)用:一條信號線上分時(shí)傳送兩種信號。5)信號線數(shù):地址總線、數(shù)據(jù)總線和控制總線三種總線數(shù)的總和。6)總線控制方式:包括突發(fā)工作、自動配置、總裁方式、邏輯方式、技術(shù)方式等。7)其他指標(biāo):負(fù)載能力、電源電壓、總線寬度能否擴(kuò)展等。(二) 總線仲裁由于總線上連接著
47、多個(gè)部件,何時(shí)由哪個(gè)部件發(fā)送信息,如何定時(shí),如何防止信息丟失,如何避免多個(gè)設(shè)備同時(shí)發(fā)送,如何規(guī)定接收部件等一系列問題都需要總線控制器統(tǒng)一管理,主要包括總線的判優(yōu)控制(仲裁邏輯)和通信控制。總線仲裁邏輯可分為集中式和分布式兩種,前者將控制邏輯集中在一處(如在CPU中),后者將控制邏輯分散在總線的各個(gè)部件之上。1. 集中仲裁方式集中仲裁方式有三種:(1)鏈?zhǔn)讲樵儺?dāng)一個(gè)或多個(gè)設(shè)備同時(shí)發(fā)出總線使用請求信號BR時(shí),中央仲裁器發(fā)出的總線授權(quán)信號BG沿著菊花鏈串行的從一個(gè)設(shè)備依次傳送到下一個(gè)設(shè)備,到達(dá)離出發(fā)點(diǎn)最近的發(fā)出總線請求的設(shè)備之后就不再往下傳。(2)計(jì)數(shù)器定時(shí)查詢總線上個(gè)設(shè)備通過總線請求信號BR,發(fā)出
48、請求,中央仲裁器接收到請求信號后,在總線忙信號BS為“0”的情況下,讓計(jì)數(shù)器開始計(jì)數(shù),計(jì)數(shù)值通過一組地址線發(fā)往各設(shè)備。每個(gè)設(shè)備有一個(gè)地址判別電路,如果地址線上的計(jì)數(shù)值與總線請求設(shè)備地址一致,則該設(shè)備對BS線置“1”,表示該設(shè)備獲得了總線使用權(quán),同時(shí)中止計(jì)數(shù)查詢。(3)獨(dú)立請求方式每個(gè)連接到總線的設(shè)備都有一組單獨(dú)的總線請求信號BRi與總線授權(quán)信號BGi。每個(gè)設(shè)備請求使用總線時(shí),它們各自發(fā)出自己的總線請求信號。中央仲裁器中設(shè)置了一個(gè)專門的排隊(duì)電路,由它根據(jù)一定的優(yōu)先次序決定優(yōu)先響應(yīng)哪個(gè)設(shè)備的請求,然后給該設(shè)備總線授權(quán)信號BGi2. 分布仲裁方式同集中式仲裁相比,分布式仲裁不需要中央仲裁器,而是讓各
49、個(gè)主設(shè)備功能模塊都有自己的仲裁號和仲裁電路。需要使用總線時(shí),各個(gè)設(shè)備的功能模塊將自己唯一的仲裁號發(fā)送到共享的總線上,各自的仲裁電路再將從仲裁總線上獲得的仲裁號和自己的仲裁號相對比,獲勝的仲裁號將保留在仲裁總線上,相應(yīng)設(shè)備的總線請求獲得響應(yīng)。(三) 總線操作和定時(shí)目前在總線上的操作主要有以下幾種:1)讀和寫 讀是將從設(shè)備(如存儲器)中的數(shù)據(jù)讀出并經(jīng)總線傳輸?shù)街髟O(shè)備(如CPU);寫是主設(shè)備到從設(shè)備的數(shù)據(jù)傳輸過程。2)塊傳送 主設(shè)備給出要傳輸?shù)臄?shù)據(jù)塊的起始地址后,就可以利用總線對固定長度的數(shù)據(jù)一個(gè)接一個(gè)的讀出或?qū)懭搿?)寫后讀或讀后寫 主設(shè)備給出地址一次,就可以進(jìn)行先寫后讀或者先讀后寫操作,先讀后寫
50、往往用于校驗(yàn)數(shù)據(jù)的正確性,先寫后讀往往用于多道程序的對共享存儲資源的保護(hù)。4)廣播和廣集 主設(shè)備同時(shí)向多個(gè)從設(shè)備傳輸數(shù)據(jù)的操作模式稱為廣播。廣集操作和廣播操作正好相反,它將從多個(gè)從設(shè)備的數(shù)據(jù)在總線上完成AND或OR操作,常用于檢測多個(gè)中斷源。所謂定時(shí),是指事件出現(xiàn)在總線上的時(shí)間關(guān)系??偩€常用的定時(shí)協(xié)議有同步定時(shí)方式和異步定時(shí)方式1. 同步定時(shí)方式同步定時(shí)方式要求所有的模塊由統(tǒng)一的始終脈沖進(jìn)行操作的控制,各模塊的所有動作均在時(shí)鐘周期的開始產(chǎn)生,并且多數(shù)動作在一個(gè)時(shí)鐘周期內(nèi)完成。2. 異步定時(shí)方式異步定時(shí)方式是一種應(yīng)答方式或者互鎖機(jī)制的定時(shí)方式。對于異步操作,操作的發(fā)生由主設(shè)備或從設(shè)備的的特定信號
51、來確定??偩€上一個(gè)事件的發(fā)生取決于前一個(gè)事件的發(fā)生,雙方互相提供聯(lián)絡(luò)信號。(四) 總線標(biāo)準(zhǔn)總線標(biāo)準(zhǔn)就是系統(tǒng)與各模塊、模塊與模塊之間的一個(gè)互連的標(biāo)準(zhǔn)界面。目前流行的總線標(biāo)準(zhǔn)有以下幾種:1系統(tǒng)總線1)ISA工業(yè)標(biāo)準(zhǔn)體系(Industry Standard Architecture),它是最早出現(xiàn)的微型計(jì)算機(jī)總線標(biāo)準(zhǔn),應(yīng)用在IBM的AT機(jī)上。直到現(xiàn)在,微型計(jì)算機(jī)主板或工作站主板上還保留有少量的ISA擴(kuò)展槽。2) EISA擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系(Extended Industry Standard Architecture),主要用于286微機(jī)。EISA對ISA完全兼容。3) VESA視頻電子標(biāo)準(zhǔn)協(xié)會(Vi
52、deo Electronic Standard Association),是按照局部總線標(biāo)準(zhǔn)設(shè)計(jì)的一種開放總線,只適合于486的一種過渡標(biāo)準(zhǔn),已淘汰。4) PCI外圍設(shè)備互聯(lián)(Peripheral Component Interconnection),PCI局部總線是高性能的32位或64位總線,它是專門為高集成度的外圍部件、擴(kuò)充插板和處理器/存儲器系統(tǒng)而設(shè)計(jì)的互連機(jī)制。5)AGP是一種新型的視頻接口的技術(shù)標(biāo)準(zhǔn),專用于連接主存和圖形存儲器。AGP總線寬32位,時(shí)鐘頻率66MHz,能以133MHz工作,最高的傳輸速率可達(dá)533Mbps。2設(shè)備總線1)IDE集成驅(qū)動電子設(shè)備(Integrated D
53、rive Electronics),它是一種在主機(jī)處理器和磁盤驅(qū)動器之間廣泛使用的集成總線。絕大部分PC的硬盤和相當(dāng)數(shù)量的CD-ROM驅(qū)動器都是通過這種接口和主機(jī)連接的。2)SCSI小型計(jì)算機(jī)系統(tǒng)接口(Small Computer System Interface),現(xiàn)在這種接口不再局限于將各種設(shè)備與小型計(jì)算機(jī)直接連接起來,它已經(jīng)成為各種計(jì)算機(jī)(包括工作站、小型機(jī)、甚至大型機(jī))的系統(tǒng)接口。3)RS-232(Recommended Standard-232C),是由美國電子工業(yè)協(xié)會EIA(Electronic Industries Association)推薦的一種串行通信總線標(biāo)準(zhǔn)。4) USB
54、USB(Universal Serial Bus)接口基于通用的連接技術(shù),可實(shí)現(xiàn)外設(shè)的簡單快速連接,已達(dá)到方便用戶、降低成本、擴(kuò)展微機(jī)連接外設(shè)范圍的目的。七、 輸入輸出(I/O)系統(tǒng)(一) I/O系統(tǒng)基本概念除了CPU存儲器兩大模塊之外,計(jì)算機(jī)硬件系統(tǒng)的第三個(gè)關(guān)鍵部分就是輸入輸出模塊,也稱輸入輸出系統(tǒng)。輸入輸出系統(tǒng)的發(fā)展概況1)早期分散連接,CPU 和 I/O設(shè)備 串行 工作,程序查詢方式2)接口模塊和 DMA 階段總線連接,CPU 和 I/O設(shè)備 并行 工作,中斷方式和DMA 方式3)具有通道結(jié)構(gòu)的階段4)具有 I/O 處理機(jī)的階段(二) 外部設(shè)備1. 輸入設(shè)備:鍵盤、鼠標(biāo)2. 輸出設(shè)備:顯
55、示器、打印機(jī)3. 外存儲器:硬盤存儲器、磁盤陣列、光盤存儲器(1)硬盤存儲器1)性能指標(biāo)存儲密度 道密度 Dt,位密度 Db存儲容量 C = n k s尋址時(shí)間 尋道時(shí)間 + 等待時(shí)間輔存的速度=尋址時(shí)間+磁頭讀寫時(shí)間數(shù)據(jù)傳輸率Dr = Db V誤碼率出錯(cuò)信息位數(shù)與讀出信息的總位數(shù)之比。2)硬磁盤存儲器的類型 固定磁頭和移動磁頭 固定磁頭的磁盤存儲器,其磁頭位置固定不動,磁盤上的每一個(gè)磁道都對應(yīng)著一個(gè)磁頭,盤片也不可更換,其特點(diǎn)是省去了磁頭沿著盤片徑向運(yùn)動所需的尋道時(shí)間,存取速度快,只要磁頭進(jìn)入工作狀態(tài)即可以進(jìn)行讀寫操作。移動磁頭的磁盤存儲器在存取數(shù)據(jù)時(shí),磁頭在盤面上作徑向運(yùn)動,這類存儲器可以
56、由一個(gè)盤片組成,也可以由多個(gè)盤片裝在一個(gè)同心的主軸上,每個(gè)紀(jì)錄面各有一個(gè)磁頭。 可換盤和固定盤可換盤磁盤存儲器是指盤片可以脫機(jī)保存,這種磁盤可以在互為兼容的磁盤存儲器之間交換數(shù)據(jù),便于擴(kuò)大存儲容量。固定盤磁盤存儲器是指磁盤不能從驅(qū)動器上取下,更換時(shí)要把整個(gè)頭盤組合體一起更換。3)硬磁盤存儲器的磁道記錄格式一個(gè)具有n個(gè)盤片的磁盤組,可將n個(gè)面上的同一半徑的磁道看成一個(gè)圓柱面,這些磁道存儲的信息稱為柱面信息。盤面又分為若干個(gè)扇區(qū),每條磁道有被分割為若干個(gè)扇段,數(shù)據(jù)在盤片上的布局如圖所示:因此,尋制用的磁盤地址應(yīng)該由頭號、磁道號、盤面號、扇段號等字段組成,也可將扇段號用扇區(qū)號代替。(三) I/O接口
57、(I/O控制器)1. I/O接口的功能和基本結(jié)構(gòu)1)I/O接口的基本功能是:(1)實(shí)現(xiàn)設(shè)備的選擇(2)實(shí)現(xiàn)數(shù)據(jù)緩沖達(dá)到速度匹配(3)實(shí)現(xiàn)數(shù)據(jù)串并格式轉(zhuǎn)換(4)實(shí)現(xiàn)電平轉(zhuǎn)換(5)傳送控制命令(6)反映設(shè)備的狀態(tài)(“忙”、“就緒”、“中斷請求”)2)接口的基本組成IO接口的基本組成2. I/O端口及其編址CPU采用2種方法訪問IO設(shè)備,也稱2種不同的IO端口編址方法:(1)專門的IO指令 例如,指令:IN完成輸入,指令OUT完成輸出操作。指令的地址碼字段指出輸入輸出設(shè)備的設(shè)備代碼。 由相應(yīng)的控制信號(如MIO#)來區(qū)分CPU執(zhí)行的是什么指令。(2)利用訪問存儲器指令完成IO功能 從主存的地址空間中
58、分出一部分地址碼作為IO的設(shè)備代碼,當(dāng)訪問到這些地址時(shí),表示被訪的不是主存儲器,而是IO設(shè)備端口。 沒有控制信號區(qū)分存儲器和端口,采用的是將該段地址譯碼輸出連接到外設(shè)的端口。(四) I/O方式1. 程序查詢方式程序查詢方式的核心問題是每時(shí)每刻需要不斷查詢I/O設(shè)備是否準(zhǔn)備好。CPU不斷地詢問外設(shè)是否準(zhǔn)備好:如果準(zhǔn)備好,CPU執(zhí)行IO操作;否則,CPU一直等待。CPU大部分時(shí)間處于等待狀態(tài),利用率不高。2. 程序中斷方式(1)中斷的基本概念計(jì)算機(jī)在執(zhí)行程序的過程中,當(dāng)出現(xiàn)異常情況或者特殊情況時(shí),CPU停止當(dāng)前程序的運(yùn)行,轉(zhuǎn)向?qū)@些異常情況或者特殊情況的處理,處理結(jié)束之后再返回到現(xiàn)行程序的間斷處繼
59、續(xù)運(yùn)行,該過程就是中斷。(2)中斷響應(yīng)過程當(dāng)多個(gè)中斷源向CPU提出中斷請求時(shí),CPU在任何一個(gè)時(shí)刻只能接受一個(gè)中斷源的請求,所以,當(dāng)多個(gè)中斷源同時(shí)請求時(shí),CPU必須對各個(gè)中斷源的請求進(jìn)行排隊(duì),且只能接受級別最高的中斷源的請求,不允許低級別的中斷源中斷正在運(yùn)行的中斷服務(wù)程序。每個(gè)設(shè)備都配備一個(gè)中斷請求觸發(fā)器和中斷屏蔽觸發(fā)器,當(dāng)中斷請求觸發(fā)器為“1”時(shí),表示該設(shè)備向CPU提出中斷請求,如果中斷屏蔽觸發(fā)器為“1”時(shí),表示該設(shè)備被屏蔽,即封鎖其中斷源的請求。當(dāng)多個(gè)中斷源同時(shí)向CPU提出請求,CPU需要對這些中斷源的請求進(jìn)行排隊(duì),也稱為中斷判優(yōu),有兩種判優(yōu)的方法:1)查詢法由測試程序按一定優(yōu)先排隊(duì)次序檢
60、查各個(gè)設(shè)備的“中斷觸發(fā)器”(或稱為中斷標(biāo)志),當(dāng)遇到第一個(gè)“1”標(biāo)志時(shí),即找到了優(yōu)先進(jìn)行處理的中斷源,通常取出其設(shè)備碼,根據(jù)設(shè)備碼轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。2)串行排隊(duì)鏈法由硬件組成一個(gè)串行的優(yōu)先鏈,稱作排隊(duì)鏈。 一旦CPU確定接受某個(gè)中斷源的請求,就需要執(zhí)行該設(shè)備的中斷服務(wù)程序,因此需要找到中斷服務(wù)程序的入口地址。入口地址的尋找可以用軟件或硬件的方法實(shí)現(xiàn)。硬件向量法就是通過向量地址來尋找設(shè)備的中斷服務(wù)程序的入口地址。中斷向量地址形成部件可以通過向接受請求的中斷源發(fā)送中斷響應(yīng)信號,然后由被響應(yīng)的設(shè)備回送設(shè)備碼,根據(jù)設(shè)備碼來產(chǎn)生中斷向量地址。(3)中斷處理過程中斷處理過程可分以下幾個(gè)步驟:1)關(guān)中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- idc租賃服務(wù)合同范例
- 存貨質(zhì)押合同范本
- 企業(yè)員工招聘合同范本
- 農(nóng)村安裝路燈合同范例
- 兼職配音協(xié)議合同范本
- 照明燈具采購合同范本
- 工業(yè)固體廢物處置合同范本
- 冰箱保養(yǎng)合同范本
- 天籟侗歌苗寨傳
- 2025年度國際知識產(chǎn)權(quán)轉(zhuǎn)讓合同范本(含專利保護(hù))
- 施工周報(bào)表(標(biāo)準(zhǔn)模版)
- 4.5MWp分布式光伏項(xiàng)目主要設(shè)備材料清單(建筑工程安裝工程)
- von frey絲K值表完整版
- 云南省普通初中學(xué)生成長記錄模板-好ok
- SB/T 10415-2007雞粉調(diào)味料
- 考古繪圖基礎(chǔ)
- GB/T 32574-2016抽水蓄能電站檢修導(dǎo)則
- 《社會主義市場經(jīng)濟(jì)理論(第三版)》第十三章社會主義市場經(jīng)濟(jì)標(biāo)準(zhǔn)論
- 變更索賠案例分析
- 過敏性休克的急救及處理流程教材課件(28張)
- 《花婆婆》兒童繪本故事
評論
0/150
提交評論