組成原理復(fù)習(xí)課件_第1頁
組成原理復(fù)習(xí)課件_第2頁
組成原理復(fù)習(xí)課件_第3頁
組成原理復(fù)習(xí)課件_第4頁
組成原理復(fù)習(xí)課件_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2023/2/31一計(jì)算機(jī)系統(tǒng)概論2023/2/32計(jì)算機(jī)硬件的基本組成

組成計(jì)算機(jī)的基本部件有中央處理器CPU(運(yùn)算器和控制器)、存儲(chǔ)器和輸入、輸出設(shè)備。2023/2/33

一般認(rèn)為馮.諾依曼機(jī)具有如下基本特點(diǎn):計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五部分組成。采用存儲(chǔ)程序的方式,程序和數(shù)據(jù)放在同一存儲(chǔ)器中,由指令組成的程序可以修改。數(shù)據(jù)以二進(jìn)制碼表示指令由操作碼和地址碼組成。指令在存儲(chǔ)器中按執(zhí)行順序存放,由指令計(jì)數(shù)器指明要執(zhí)行的指令所在的單元地址,一般按順序替增。機(jī)器以運(yùn)算器為中心,數(shù)據(jù)傳送都經(jīng)過運(yùn)算器。2023/2/34

計(jì)算機(jī)的工作過程是本章的重點(diǎn)。人們需將事先編好的程序(指令序列)送至計(jì)算機(jī)的存儲(chǔ)器內(nèi),然后計(jì)算機(jī)按此指令序列逐條完成全部指令的功能,直至程序結(jié)束。因此,要了解計(jì)算機(jī)的工作過程,必須首先了解計(jì)算機(jī)完成一條指令的信息流程。計(jì)算機(jī)的工作過程

1.完成一條指令的信息流程以取數(shù)指令(即將指令地址碼指示的存儲(chǔ)單元中的操作數(shù)取出后送至運(yùn)算器的Acc中)為例,其信息流程是:取指令PC->MAR->M->MDR->IR

分析指令oP(IR)->cu

執(zhí)行指令A(yù)d(IR)->MAR->M->MDR->ACC

此外,每完成一條指令,還必須為取下條指令作準(zhǔn)備,形成下一條指令的地址

2計(jì)算機(jī)的工作過程計(jì)算機(jī)的工作過程實(shí)質(zhì)就是不斷從存儲(chǔ)器中逐條取出指令,送至控制器,經(jīng)分析后由cu發(fā)出各種操作命令.指揮各部件完成各種操作,直至程序中全部指令執(zhí)行結(jié)束。2023/2/352023/2/36

計(jì)算機(jī)性能指標(biāo)CPU時(shí)鐘周期:主頻:為了使8086CPU的各種操作協(xié)調(diào)同步進(jìn)行,8086CPU必須在時(shí)鐘信號(hào)CLK控制下工作,時(shí)鐘信號(hào)是一個(gè)周期性的脈沖信號(hào),一個(gè)時(shí)鐘脈沖的時(shí)間長度稱為一個(gè)時(shí)鐘周期(ClockCycle)

,是時(shí)鐘頻率(主頻)的倒數(shù),時(shí)鐘周期是計(jì)算機(jī)系統(tǒng)中的時(shí)間基準(zhǔn),是計(jì)算機(jī)的一個(gè)重要性能指標(biāo),也是時(shí)序分析的刻度,8086的主頻為5MHz,時(shí)鐘周期為200ns,8086-1的主頻為10MHz,時(shí)鐘周期為100ns。

2023/2/37CPI:執(zhí)行一條指令所需的時(shí)鐘周期(主頻的倒數(shù))數(shù)MIPS:每秒執(zhí)行百萬條指令。如某機(jī)每秒能執(zhí)行200萬條指令,則記作2MIPSMFLOPS:每秒浮點(diǎn)運(yùn)算次數(shù)

存儲(chǔ)容量=存儲(chǔ)單元個(gè)數(shù)*存儲(chǔ)字長2023/2/38例1、設(shè)主存儲(chǔ)器容量為64Kx32位,并且指令字長、存儲(chǔ)字長、機(jī)器字長三者相等,寫出各寄存器的位數(shù)。解:由主存容量為64Kx32位得216=64K,故MAR為16位,MDR為32位。因指令字長=存儲(chǔ)字長=機(jī)器字長,則IR、Acc、均為32位。例2指令和數(shù)據(jù)都存于存儲(chǔ)器中,計(jì)算機(jī)如何區(qū)分它們。解:通常完成一條指令可分為取指階段和執(zhí)行階段。在取指階段通過訪問存儲(chǔ)器可將指令取出;在執(zhí)行階段通過訪問存儲(chǔ)器可將操作數(shù)取出。這樣,雖然指令和數(shù)據(jù)都是以0、1代碼形式存在存儲(chǔ)器中,但CPU可以判斷出在取指階段訪問存儲(chǔ)器取出的0、1代碼是指令;在執(zhí)行階段訪存取出的0、1代碼是數(shù)據(jù)。

例如,完成ADDM指令需兩次訪存:第一次訪存是取指階段,CPU根據(jù)PC給出的地址取出指令;第二次訪存是執(zhí)行階段,CPU根據(jù)存于IR的指令中M給出的地址取出操作數(shù)??梢姡珻PU就是根據(jù)取指階段和執(zhí)行階段的訪存性質(zhì)不同來區(qū)分指令和數(shù)據(jù)的。2023/2/392023/2/310二、數(shù)據(jù)的表示和運(yùn)算常用的幾種進(jìn)位數(shù)制:

(1)二進(jìn)制B(2)八進(jìn)制Q(3)十六進(jìn)制H(4)十進(jìn)制D計(jì)算機(jī)中常用的進(jìn)制:二、八、十六數(shù)據(jù)的轉(zhuǎn)換

1.二(八、十六)進(jìn)制轉(zhuǎn)換成十進(jìn)制數(shù)據(jù)

2.二進(jìn)制數(shù)與八進(jìn)制、十六進(jìn)制的關(guān)系

3.十進(jìn)制轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)符號(hào)的表示數(shù)據(jù)的數(shù)值通常以正(+)、負(fù)(-)號(hào)后跟絕對(duì)值來表示,稱為真值。正負(fù)號(hào)也要數(shù)字化,0-正號(hào),1-負(fù)號(hào),正號(hào)有時(shí)可省,這種表示數(shù)的形式稱為機(jī)器數(shù)。例:(+9)10表示為:(01001)2

(-9)10表示為:(11001)22023/2/311表示一位十進(jìn)制數(shù)的二進(jìn)制碼的每一位有確定的權(quán)。一般用8421碼,其4個(gè)二進(jìn)制碼的權(quán)從高到低分別為8、4、2和1。故稱這種編碼為“以二進(jìn)制編碼的十進(jìn)制(binary

coded

decimal,簡稱BCD)碼”。2023/2/312校驗(yàn)碼1.奇偶校驗(yàn)碼:這種方案只能發(fā)現(xiàn)一位錯(cuò)或奇數(shù)個(gè)位錯(cuò),但不能確定是哪一位錯(cuò),也不能發(fā)現(xiàn)偶數(shù)個(gè)位錯(cuò)。2.海明校驗(yàn)碼:能檢測出二位同時(shí)出錯(cuò)、亦能檢測出一位出錯(cuò)并能自動(dòng)糾錯(cuò)。三種機(jī)器數(shù)的小結(jié)

對(duì)于正數(shù),原碼=補(bǔ)碼=反碼

對(duì)于負(fù)數(shù),符號(hào)位為1,其數(shù)值部分原碼除符號(hào)位外每位取反末位加1補(bǔ)碼原碼除符號(hào)位外每位取反反碼

最高位為符號(hào)位,書寫上用“,”(整數(shù))或“.”(小數(shù))將數(shù)值部分和符號(hào)位隔開2023/2/314定點(diǎn)數(shù)的表示和運(yùn)算1.定點(diǎn)數(shù)的表示無符號(hào)數(shù)的表示;有符號(hào)數(shù)的表示。2.定點(diǎn)數(shù)的運(yùn)算定點(diǎn)數(shù)的位移運(yùn)算;原碼定點(diǎn)數(shù)的加/減運(yùn)算;補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算;定點(diǎn)數(shù)的乘/除運(yùn)算;溢出概念和判別方法。

2023/2/315減法運(yùn)算如何實(shí)現(xiàn)?

減法可轉(zhuǎn)換成加上減數(shù)的負(fù)數(shù)的補(bǔ)碼來完成。即:[X-Y]補(bǔ)=X補(bǔ)+[-Y]補(bǔ)2023/2/316浮點(diǎn)數(shù)的表示和運(yùn)算

浮點(diǎn)數(shù)的表示

浮點(diǎn)數(shù)的表示范圍;IEEE754標(biāo)準(zhǔn)浮點(diǎn)數(shù)的加/減運(yùn)算(了解步驟)1.“對(duì)階”--使兩數(shù)階碼相等(對(duì)齊兩數(shù)的小數(shù)點(diǎn))2.尾數(shù)加/減3.結(jié)果規(guī)格化4.舍入5.檢查階碼是否溢出2023/2/317N=M*RE

規(guī)格化:當(dāng)R=2,且尾數(shù)值不為0時(shí),其絕對(duì)值應(yīng)大于或等于(0.5)10

。對(duì)非規(guī)格化浮點(diǎn)數(shù),通過將尾數(shù)左移或右移,并修改階碼值使之滿足規(guī)格化要求尾數(shù)用補(bǔ)碼表示的規(guī)格化形式:數(shù)符與尾數(shù)小數(shù)點(diǎn)后第1位數(shù)字相異例如:最大正數(shù)=215×(1–2–10)

2+1111×0.111111111110個(gè)1最小正數(shù)最大負(fù)數(shù)最小負(fù)數(shù)=2–15×2–1

=–215×(1–2–10)

=2–16=–2–15×2–1

=–2–162-1111×0.10000000009個(gè)02-1111×(–0.1000000000)9個(gè)02+1111×(–0.1111111111)10個(gè)1設(shè)m=4,n=10,r=2尾數(shù)規(guī)格化后的浮點(diǎn)數(shù)表示范圍6.22023/2/319算術(shù)邏輯單元ALU

1.串行加法器和并行加法器

2.算術(shù)邏輯單元ALU的功能和機(jī)構(gòu)2023/2/320(2)串行多位加法器

XnYnCn-1CnFnX1Y1 F1C0C1XnYnCn-1CnFnX2Y2 XnYnCn-1CnFnXnYnCn-1CnFnC2C3C4X3Y3 X4Y4 F2F3F4

n個(gè)全加器相連可得n位加法器,但加法時(shí)間較長,因?yàn)槲婚g進(jìn)位是串行傳送的,本位全加和Fi必須等低位進(jìn)位Ci-1來到后才能進(jìn)行,加法時(shí)間與位數(shù)有關(guān)。只有改變進(jìn)位逐傳送的路徑,才能提高加法器工作速度。解決辦法之一:采用“超前進(jìn)位產(chǎn)生電路”,來同時(shí)產(chǎn)生各位進(jìn)位,從而實(shí)現(xiàn)快速加法,這種加法器稱為“超前進(jìn)位加法器”。2023/2/321GIVPIVGIIIPIIIGIIPIIGIPI74182CIIICIICIC0

7418174181741817418174181:實(shí)現(xiàn)算術(shù)邏輯運(yùn)算及組內(nèi)并行。74182:接收了組間的輔助函數(shù)后,產(chǎn)生組間的并行進(jìn)位信號(hào)CIII

、CII

、CI,分別將其送到各小組的加法器上一個(gè)16位的ALU部件,要實(shí)現(xiàn)組內(nèi)并行,組間并行運(yùn)算。所需器件為:74181芯片四塊,74182一塊2023/2/322三、存儲(chǔ)器層次機(jī)構(gòu)寄存器Cache主存儲(chǔ)器輔助存儲(chǔ)器2023/2/323

半導(dǎo)體隨機(jī)存取存儲(chǔ)器1.SRAM存儲(chǔ)器的工作原理2.DRAM存儲(chǔ)器的工作原理2023/2/324存儲(chǔ)信息原理動(dòng)態(tài)存儲(chǔ)器DRAM(動(dòng)態(tài)MOS型):依靠電容存儲(chǔ)電荷的原理存儲(chǔ)信息。功耗較小,容量大,速度較快,作主存。靜態(tài)存儲(chǔ)器SRAM(雙極型、靜態(tài)MOS型)

依靠雙穩(wěn)態(tài)電路內(nèi)部交叉反饋的機(jī)制存儲(chǔ)信息。功耗較大,速度快,作Cache。SRAM:利用雙穩(wěn)態(tài)觸發(fā)器來保存信息,只要不斷電,信息是不會(huì)丟失的,因?yàn)槠洳恍枰M(jìn)行動(dòng)態(tài)刷新,故稱為“靜態(tài)”存儲(chǔ)器。DRAM:利用MOS電容存儲(chǔ)電荷來保存信息,使用時(shí)需要給電容充電才能使信息保持,即要定期刷新。2023/2/325

CPU與主存之間采取異步工作方式,以ready信號(hào)表示一次訪存操作的結(jié)束2023/2/326重要習(xí)題存儲(chǔ)器容量擴(kuò)展(1)位擴(kuò)展概念:位擴(kuò)展指的是用多個(gè)存儲(chǔ)器器件對(duì)字長進(jìn)行擴(kuò)充(2)字?jǐn)U展字?jǐn)U展指的是增加存儲(chǔ)器中字的數(shù)量。例:

4個(gè)16K8位靜態(tài)芯片組成64K8位存儲(chǔ)器。2023/2/327(3)字位擴(kuò)展例:由Intel2114(1K4位)芯片組成容量為4K8位的主存儲(chǔ)器的邏輯框圖,說明地址總線和數(shù)據(jù)總線的位數(shù),該存儲(chǔ)器與8位字長的CPU的連接關(guān)系。解:此題所用芯片是同種芯片。(1)片數(shù)=存儲(chǔ)器總?cè)萘浚ㄎ唬?芯片容量(位)

=4K*8/(1K*4)=8(片)(2)CPU總線(由存儲(chǔ)器容量決定)地址線位數(shù)=log2(字?jǐn)?shù))=log2(4K)=12(位)

數(shù)據(jù)線位數(shù)=字長=8(位)2023/2/328(3)芯片總線(由芯片容量決定)地址線=log2(1K)=10(位)

數(shù)據(jù)線=4(位)(4)分組(組內(nèi)并行工作,Cs連在一起,組間串行工作,Cs分別連接譯碼器的輸出)組內(nèi)芯片數(shù)=存儲(chǔ)器字長/芯片字長

=8/4=2(片)組數(shù)=芯片總數(shù)/組內(nèi)片數(shù)=8/2=4(組)(5)地址分配與片選邏輯2023/2/3292023/2/330定期向電容補(bǔ)充電荷刷新

DRAM采用“讀出”方式進(jìn)行再生。利用單元數(shù)據(jù)線上的讀出放大器來實(shí)現(xiàn)。由于DRAM每列都有自己的讀出放大器,只要依次改變行地址輪流進(jìn)行讀放再生即可。這種方式稱行地址再生方式。

(1)集中刷新:在一個(gè)刷新周期(從上一次對(duì)整個(gè)存儲(chǔ)器刷新結(jié)束到下一次對(duì)整個(gè)存儲(chǔ)器全部刷新一遍為止)內(nèi),利用一段固定的時(shí)間,依次對(duì)存儲(chǔ)器的所有行逐一再生,在此期間停止對(duì)存儲(chǔ)器的讀和寫。2023/2/3312ms(2)異步刷新例.把刷新操作分散到刷新周期(2ms)內(nèi)用在大多數(shù)計(jì)算機(jī)中。每隔一段時(shí)間刷新一行。128行≈15.6微秒每隔15.6微秒提一次刷新請(qǐng)求,刷新一行;2毫秒內(nèi)刷新完所有行。R/W刷新R/W刷新R/WR/WR/W15.6微秒15.6微秒15.6微秒刷新請(qǐng)求刷新請(qǐng)求(DMA請(qǐng)求)(DMA請(qǐng)求)2023/2/332高速緩沖存儲(chǔ)器(Cache)Cache引入為解決CPU和主存之間的速度差距,提高整機(jī)的運(yùn)算速度,在CPU和主存之間插入的由高速電子器件組成的容量不大,但速度很高的存儲(chǔ)器作為緩沖區(qū)。解決了速度與成本之間的矛盾(速度接近c(diǎn)ache,容量與每位價(jià)格接近于主存)。Cache特點(diǎn)存取速度快,容量小,存儲(chǔ)控制和管理由硬件實(shí)現(xiàn)2023/2/333cache存儲(chǔ)器工作原理—程序訪問的局部性

這種對(duì)局部范圍的存儲(chǔ)器地址頻繁訪問,而對(duì)此范圍以外的地址則訪問甚少的現(xiàn)象就稱為程序訪問的局部性。時(shí)間局部性:如果一個(gè)信息項(xiàng)正在被訪問,那么在近期它很可能還會(huì)被再次訪問。(程序循環(huán)、堆棧)空間局部性:在最近的將來將用到的信息很可能與現(xiàn)在正在使用的信息在空間地址上是臨近的。(指令順序執(zhí)行、數(shù)組存放)2023/2/334例:CPU執(zhí)行一段程序時(shí),cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache-主存系統(tǒng)的效率和平均訪問時(shí)間。解:

h=Nc/(Nc+Nm)=1900/(1900+100)=0.95

ta=htc+(1-h)tm=0.95*50+0.05*250=60ns例:已知Cache存儲(chǔ)周期為40ns,主存存儲(chǔ)周期為200ns,Cache-主存系統(tǒng)平均訪問時(shí)間為50ns,求Cache的命中率是多少?解:

因?yàn)閠a=h*tc+(1-h)(tm+tc)

所以h=(tm+tc-ta)/tm=(200+40-50)/200=19/202023/2/335Cache地址4位9位主存地址7位4位9位11位9位主存地址7位Cache和主存之間的映射方式

(1)直接映像2023/2/336例:設(shè)有一個(gè)cache的容量為2K字,每個(gè)塊為16字。

(1)該cache可容納多少個(gè)塊?

(2)如果主存的容量是256K字,則有多少個(gè)塊?

(3)主存的地址有多少位?cache地址有多少位?

(4)在直接映象方式下,主存中的第i塊映象到cache中哪一個(gè)塊中?

(5)進(jìn)行地址映象時(shí),存儲(chǔ)器的地址分成哪幾段?各段分別有多少位?解:(1)cache中有2048/16=128個(gè)塊。(2)主存有256K/16=214=16384個(gè)塊。(3)主存容量為256K=218字,所以主存的地址有18位。

cache容量為2K=211字,所以cache字地址為11位。(4)主存中的第i塊映象到cache中第imod128個(gè)塊中。(5)存儲(chǔ)器的字地址分成三段:區(qū)地址、組地址、塊內(nèi)字地址。區(qū)地址的長度為18-11=7位,組地址為7位,塊內(nèi)字地址為4位。2023/2/337(2)全相聯(lián)映像:允許主存中的每一個(gè)字塊映象到Cache的任何一個(gè)字塊位置上。是最靈活但成本最高的一種方式(3)組相聯(lián)映像組內(nèi)全相聯(lián),組間直接映像2023/2/338四、指令系統(tǒng)1.定長操作碼:指令的操作碼的位置、位數(shù)固定相同2.擴(kuò)展操作碼(變長)

各指令操作碼的位置、位數(shù)不固定,根據(jù)需要變化(即操作碼的長度可變,且分散得放在指令字的不同字段中)例題:某計(jì)算機(jī)的指令系統(tǒng)有80條指令。當(dāng)采用固定編碼方式時(shí),其操作碼的長度是多少?在80條指令中,有10條常用指令,使用概率是%90,另外70條的使用概率為%10,若采用變長編碼,則操作碼的平均長度是多少?

2023/2/339例.(方法一)指令字長16位,可含有3、2、1或0個(gè)地址,每個(gè)地址占4位。(見教材P130~131)操作碼地址碼15~1211~87~43~00000X

YZ

1110XYZ............11110000Y

Z1111

1110Y

Z............三地址指令15條二地址指令15條1111

11110000Z111111111110Z............一地址指令15條1111

1111

1111000011111111

11111111............零地址指令16條可表示61條指令2023/2/340例.(方法二)指令字長16位,可含有3、2、1或0個(gè)地址,每個(gè)地址占4位。(見教材P130~131)操作碼地址碼15~1211~87~43~00000X

YZ

1110XYZ............11110000Y

Z1111

1101Y

Z............三地址指令15條二地址指令14條1111

11100000Z111111111110Z............一地址指令31條1111

1111

1111000011111111

11111111............零地址指令16條可表示76條指令2023/2/341尋址方式尋址方式分為指令尋址和數(shù)據(jù)尋址兩類指令尋址:確定下一條要執(zhí)行的指令的地址的方法分為順序?qū)ぶ泛吞S尋址。數(shù)據(jù)尋址:確定本條指令執(zhí)行的操作數(shù)地址1.直接尋址2.寄存器尋址3.基址尋址4.變址尋址5.間接尋址6.相對(duì)尋址7.立即數(shù)2023/2/342五、中央處理器(CPU)

2023/2/3431.硬布線控制器2.微程序控制器2023/2/344硬布線控制器操作控制信號(hào)的產(chǎn)生

指令:操作碼+地址碼在機(jī)器內(nèi)設(shè)置一個(gè)指令譯碼器,輸入:操作碼輸出:反映出當(dāng)前正在執(zhí)行的指令。由譯碼器的輸出和機(jī)器周期狀態(tài)cyl~cy4作為輸入,使用邏輯電路產(chǎn)生操作控制信號(hào)。7位OP2023/2/345微指令如何產(chǎn)生控制信號(hào):

微指令最簡單的組成形式:

將每個(gè)控制信號(hào)用一個(gè)控制位來表示,當(dāng)該位為“1”時(shí),定義為有控制信號(hào),當(dāng)該位為“0”時(shí),沒有控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論