計算機系統(tǒng)結(jié)構(gòu)電子教案清華版省公開課一等獎全國示范課微課金獎_第1頁
計算機系統(tǒng)結(jié)構(gòu)電子教案清華版省公開課一等獎全國示范課微課金獎_第2頁
計算機系統(tǒng)結(jié)構(gòu)電子教案清華版省公開課一等獎全國示范課微課金獎_第3頁
計算機系統(tǒng)結(jié)構(gòu)電子教案清華版省公開課一等獎全國示范課微課金獎_第4頁
計算機系統(tǒng)結(jié)構(gòu)電子教案清華版省公開課一等獎全國示范課微課金獎_第5頁
已閱讀5頁,還剩164頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機系統(tǒng)結(jié)構(gòu)第1頁.3.20計算機系統(tǒng)結(jié)構(gòu)2第一章基本概念(P1)本章介紹計算機系統(tǒng)結(jié)構(gòu)一些基本知識。包含定性知識和定量知識兩大組內(nèi)容。為了便于學(xué)習(xí),本章各節(jié)重新編號,與教材編號不一樣。

定性知識:本課程經(jīng)常使用一些名詞概念,以及對計算機定性認識、分析方法。

定量知識:對計算機性能進行定量評價幾個主要公式。第2頁.3.20計算機系統(tǒng)結(jié)構(gòu)31.1.1什么是計算機系統(tǒng)結(jié)構(gòu)?(P4)別名:計算機體系結(jié)構(gòu),英文名:ComputerArchitecture(其中Architecture原義是“建筑學(xué)”)學(xué)科定義:提升計算機性能系統(tǒng)理論特點:①綜合性:將硬、軟件統(tǒng)一考慮,整體優(yōu)化,強調(diào)功效效果(因為計算機是一個工具),偏重于硬件;②結(jié)構(gòu)性:與微電子學(xué)飾演角色不一樣,它不研究器件性能,而研究系統(tǒng)結(jié)構(gòu),尤其是并行處理結(jié)構(gòu),即經(jīng)過時間重合分配來縮短程序執(zhí)行時間;③定量性:用數(shù)學(xué)建模方法,盡可能準確地計算各種技術(shù)性能高低。1.1定性知識───幾個基本概念第3頁.3.20計算機系統(tǒng)結(jié)構(gòu)4實體定義:①廣義定義:使用者必須了解機器外部特征知識②狹義定義:低級語言程序員必須了解機器外部特征知識。(這里“外部特征”特指整個硬件外部特征)(注:速度/運行時間不屬于系統(tǒng)結(jié)構(gòu),因為只看最終運算結(jié)果)透明性概念:使用者能夠不了解知識。(意義:讓一部分技術(shù)透明,可使同一個功效容納各種實現(xiàn)方法)附:“計算機系統(tǒng)結(jié)構(gòu)”學(xué)科定義3個版本①版本1:合理分配硬軟件分工方法;②版本2:程序員必須了解硬件知識;③版本3:提升計算機性能理論。(意義:當前流行主要技術(shù),都屬于并行處理類型,即經(jīng)過時間重合分布來縮短總執(zhí)行時間。課文各章都表達了這一點)計算機系統(tǒng)結(jié)構(gòu)廣義、狹義定義第4頁.3.20計算機系統(tǒng)結(jié)構(gòu)5“計算機系統(tǒng)結(jié)構(gòu)”狹義定義包含內(nèi)容(P4)1.數(shù)據(jù)表示(硬件能夠直接識別和處理數(shù)據(jù)類型和格式等);2.尋址方式(包含最小尋址單位、尋址方式種類、表示和地址計算等);3.存放器組織(包含各種存放器配置數(shù)目和功效定義);4.指令系統(tǒng)(包含機器指令操作類型和格式、指令間排序方式和控制機構(gòu)等);5.存放系統(tǒng)(包含編址方式、存放容量、最大編址空間等);6.中止機構(gòu)(中止源分類管理和中止服務(wù)功效設(shè)計);7.機器工作狀態(tài)(如管態(tài)、目態(tài)等)定義和切換;8.輸入/輸出子系統(tǒng)結(jié)構(gòu)與管理;9.信息保護伎倆及其實現(xiàn)。第5頁.3.20計算機系統(tǒng)結(jié)構(gòu)6第5級專用應(yīng)用語言機器特定應(yīng)用用戶(使用特定應(yīng)用語言)(經(jīng)應(yīng)用程序翻譯成高級語言)第4級通用高級語言機器高級語言程序員(使用通用高級語言)(經(jīng)編譯程序翻譯成匯編語言)第3級匯編語言機器匯編語言程序員(使用匯編語言)(經(jīng)匯編程序翻譯成機器語言、操作系統(tǒng)原語)第2級操作系統(tǒng)語言機器操作系統(tǒng)用戶(使用操作系統(tǒng)原語)(經(jīng)原語解釋子程序翻譯成機器語言)第1級傳統(tǒng)機器語言機器傳統(tǒng)機器程序員(使用二進制機器語言)(由微程序解釋成微指令序列)第0級微指令語言機器微指令程序員(使用微指令語言)(由硬件譯碼器解釋成控制信號序列)圖1.1計算機系統(tǒng)多級層次模型1.1.2計算機系統(tǒng)多級層次模型(P3)第6頁.3.20計算機系統(tǒng)結(jié)構(gòu)71.1.3其它主要名詞概念(自學(xué))[計算機組成]計算機系統(tǒng)結(jié)構(gòu)邏輯實現(xiàn)。(P5)[計算機實現(xiàn)]計算機組成物理實現(xiàn)。(P5)[計算機系統(tǒng)設(shè)計3種主要方法]:“由下往上”、“由上往下”、“由中間開始”。(P14)[系列機](P23)[兼容性](P24)[模擬](P24)[仿真](P24)[虛擬機](P24)[宿主機](P24)[并行性]求解一個問題若干操作在時間安排上可重合性。第7頁.3.20計算機系統(tǒng)結(jié)構(gòu)81.1.4馮.諾依曼(VonNeumann)型機器特點(P22)傳統(tǒng)計算機又稱為馮.諾依曼型機器,它由運算器、控制器、存放器、輸入設(shè)備和輸出設(shè)備5部分組成,并含有以下特點:1.以運算器為數(shù)據(jù)流動中樞,以控制器為控制命令中樞;2.存放程序而且執(zhí)行,程序象數(shù)據(jù)一樣能夠修改;3.存放器按地址訪問,線性次序編址;4.程序次序執(zhí)行;5.指令由操作碼與操作數(shù)兩部分組成;6.數(shù)據(jù)用二進制編碼;7.機器由硬件與軟件組成,硬件功效不能改變。第8頁.3.20計算機系統(tǒng)結(jié)構(gòu)91.1.5當代計算機系統(tǒng)分類(Flynn分類法,P6)按照指令流和數(shù)據(jù)流多倍性情況把計算機分為:1.單指令流單數(shù)據(jù)流(SISD---SingleInstructionStreamSingleDataStream)2.單指令流多數(shù)據(jù)流(SIMD---SingleInstructionStreamMultipleDataStream)3.多指令流單數(shù)據(jù)流(MISD---MultipleInstructionStreamSingleDataStream)4.多指令流多數(shù)據(jù)流(MIMD---MultipleInstructionStreamMultipleDataStream)思索題(不交):P32,題7,題8,題9。第9頁.3.20計算機系統(tǒng)結(jié)構(gòu)101.2定量知識───3個性能公式1.2.1Amdahl定律(加緊經(jīng)常性事件原理,P9)其中:Sn──全局加速比;

To──原執(zhí)行時間(old);Tn──新執(zhí)行時間(new);Se──被改進部分局部加速比;

Fe──被改進部分原執(zhí)行時間占原來總時間百分比。第10頁.3.20計算機系統(tǒng)結(jié)構(gòu)11Amdahl定律推導(dǎo)第11頁.3.20計算機系統(tǒng)結(jié)構(gòu)12Amdahl定律圖形從圖1.2能夠看出,增大Se和Fe對Sn都有提升作用;但當Fe固定時,一味增大Se對Sn作用會越來越不顯著。第12頁.3.20計算機系統(tǒng)結(jié)構(gòu)13Amdahl定律意義

Amdahl定律指出,在局部改進力度Se相同情況下,選擇原來最費時間(即Fe最大)工作內(nèi)容作為改進對象,能夠取得最大全局改進效果Sn。

所以能夠認為,Amdahl定律(加緊最費時間事件)是經(jīng)濟學(xué)“爛桶板原理”(木桶最大盛水量由最短桶板決定,要增加木桶盛水量,必須將短木板加長)一個定量化詮釋。第13頁.3.20計算機系統(tǒng)結(jié)構(gòu)141.2.2CPI與程序執(zhí)行時間Te(P11)CPI是衡量CPU執(zhí)行指令效率主要指標。讓我們先考慮一個標準測速程序全部執(zhí)行時間Te和其中全部第i種指令累計時間Ti,易知第14頁.3.20計算機系統(tǒng)結(jié)構(gòu)151.2.3每秒百萬指令數(shù)MIPS與每秒百萬浮點數(shù)MFLOPS(P11)第15頁.3.20計算機系統(tǒng)結(jié)構(gòu)16本章小結(jié)本章從定性知識和定量知識兩個方面介紹計算機系統(tǒng)結(jié)構(gòu)基本概念。相關(guān)重點以下:(1)計算機系統(tǒng)結(jié)構(gòu)廣義定義與狹義定義(9項內(nèi)容),計算機系統(tǒng)結(jié)構(gòu)與計算機組成主要分工;(2)計算機系統(tǒng)多級層次模型(6級),以及基于該模型透明性判斷方法;(3)計算機實現(xiàn)、計算機系統(tǒng)設(shè)計主要思緒、模擬、仿真、虛擬機、宿主機、系列機、兼容性、并行性等主要名詞含義;(4)馮.諾依曼型機器7個特點;(5)當代計算機系統(tǒng)分類Flynn法(4類);(6)Amdahl定律;(7)平均周期數(shù)CPI公式,程序執(zhí)行時間Te公式;(8)每秒百萬指令數(shù)MIPS公式,每秒百萬浮點數(shù)MFLOPS公式。習(xí)題:P33,題12(快20倍就是Se=20),題15,題19。第16頁.3.20計算機系統(tǒng)結(jié)構(gòu)17第二章指令系統(tǒng)(P36)本章介紹指令系統(tǒng)設(shè)計中2個最基本內(nèi)容:數(shù)據(jù)表示、操作碼優(yōu)化。2.1數(shù)據(jù)表示[數(shù)據(jù)表示]就是計算機硬件能夠直接識別與處理數(shù)據(jù)類型。人們通常使用數(shù)據(jù)類型有整數(shù)、實數(shù)、邏輯數(shù)(布爾數(shù))、字符串、隊列、堆棧、鏈表、文件等,它們運算方法各不相同。所謂“硬件能夠直接識別與處理”,指是對該數(shù)據(jù)類型各種運算操作都有對應(yīng)實現(xiàn)硬件電路。硬件不能直接識別與處理數(shù)據(jù)類型就要依據(jù)數(shù)據(jù)結(jié)構(gòu)知識編制軟件轉(zhuǎn)化為硬件能處理數(shù)據(jù)類型。下面介紹通用型計算機數(shù)據(jù)表示集合中一個基本組員──浮點數(shù)據(jù)分析與設(shè)計。第17頁.3.20計算機系統(tǒng)結(jié)構(gòu)182.1.1浮點數(shù)據(jù)表示(P38,P39)浮點數(shù)據(jù)就是高級語言課程中所說“實型數(shù)”。2.1.1.1浮點數(shù)組成浮點數(shù)組成與人們通常所說“科學(xué)記數(shù)法”非常相同,唯一不一樣是各部分均為有限位數(shù),以下所表示它主要參數(shù)有8個:

m──尾數(shù),普通為純小數(shù),符合規(guī)格化標準(即最高位絕對值不為0),用原碼或補碼表示;

e──階碼,整數(shù),慣用移碼表示(見下文解釋);

rm──尾數(shù)基值,簡稱尾基,常見有2進制、8進制、16進制、10進制等,選定以后不變;

re──階碼基值,簡稱階基,當前都采取2,也是選定以后不變;

p──尾數(shù)位數(shù),未將符號位計入;

q──階碼位數(shù),未將符號位計入。

mf──尾數(shù)符號,表示數(shù)正負,簡稱數(shù)符;

ef──階碼符號,表示階碼正負,簡稱階符。但對移碼表示來說,這僅僅是額外1位2進制數(shù),不決定正負。第18頁.3.20計算機系統(tǒng)結(jié)構(gòu)19移碼(P41)移碼是一個2進制記數(shù)方法,它真值等于相同編碼無符號數(shù)加上一個指定偏移量d。比如,一樣是2進制編碼000000~111111,看作6位無符號數(shù)時取值范圍是0~63,而看作6位移-10碼取值范圍就是–10~53。以下列圖所表示。移碼是一個有符號數(shù),但它最高位通常不決定數(shù)正負,不應(yīng)稱為符號位。它獨特之處于于其最小取值2進制編碼是全0,這給機器零判斷和處理電路設(shè)計帶來很大方便。第19頁.3.20計算機系統(tǒng)結(jié)構(gòu)202.1.1.2浮點數(shù)機內(nèi)格式(P39)一個浮點數(shù)中每個數(shù)據(jù)尾基rm、階基re都是相同,在設(shè)計運算電路已經(jīng)作為默認值來使用,各個詳細數(shù)據(jù)在存放時只需要存入以下參數(shù)即可:第20頁.3.20計算機系統(tǒng)結(jié)構(gòu)212.1.1.3浮點數(shù)性能(P38)浮點數(shù)性能主要用表數(shù)范圍、表數(shù)精度和表數(shù)效率來刻畫,下面分別進行分析。(1)表數(shù)范圍(P39)表數(shù)范圍由這么一些參數(shù)組成:最小負數(shù)、最大負數(shù)、最小正數(shù)、最大正數(shù)、最小絕對值|N|min、最大絕對值|N|max。它們幾何意義能夠在數(shù)軸上表示,以下列圖。圖中陰影部分為浮點數(shù)表數(shù)范圍。依據(jù)浮點數(shù)組成表示式可知,圖2.3中4個邊界值分別由尾數(shù)m、階碼e各自邊界值兩兩組合而成,以下所表示。最大正數(shù)──最大正尾數(shù)/最大階碼;最小正數(shù)──最小正尾數(shù)/最小階碼;最大負數(shù)──最大負尾數(shù)/最小階碼;最小負數(shù)──最小負尾數(shù)/最大階碼。第21頁.3.20計算機系統(tǒng)結(jié)構(gòu)22對規(guī)格化浮點數(shù),尾數(shù)為原碼,階碼為移碼,寫出表數(shù)范圍。(P40)解:因為原碼在數(shù)軸零點兩邊對稱分布,即最大正數(shù)與最小負數(shù)絕對值相等、最小正數(shù)與最大負數(shù)絕對值相等,所以能夠用最小、最大絕對值來描述它分布。首先依據(jù)圖2.2和式2.1以及移碼基本定義,能夠確定絕對值極值表示式:例2.1寫在一起就是:再用階碼偏移量代換式中-d得:第22頁.3.20計算機系統(tǒng)結(jié)構(gòu)23能夠代入詳細數(shù)字來幫助了解:第23頁.3.20計算機系統(tǒng)結(jié)構(gòu)24顯然它伴隨階碼ek增大而快速增大,即在不一樣區(qū)間里會有不一樣值。表數(shù)精度用最大表數(shù)誤差表示(指相對誤差)。而計算相對誤差之前先要計算絕對誤差。

最大絕對誤差是真實值與可表示值之間可能最大距離,按“舍入法”它等于相鄰兩個可表示值間距1/2,如圖2.4所表示。依據(jù)浮點數(shù)組成式,能夠?qū)懗鋈我粚︵忺cNk與Nk+1之間區(qū)間內(nèi)最大絕對誤差為(為了簡便,可先假設(shè)Nk與Nk+1階碼相同來推導(dǎo),其實階碼不一樣結(jié)果也一樣)(2)表數(shù)精度(P42)第24頁.3.20計算機系統(tǒng)結(jié)構(gòu)25最大相對誤差與階碼e無關(guān),但與尾數(shù)m值相關(guān)。按相對誤差基本定義,上述區(qū)間內(nèi)最大相對誤差為一樣也不是常數(shù),各區(qū)間內(nèi)并不一致,只是它受是尾數(shù)影響。為了找到全部區(qū)間中最大(即全局最大相對誤差),我們應(yīng)取分母最小值。從上文已知尾數(shù)取值范圍,這么就能得到第25頁.3.20計算機系統(tǒng)結(jié)構(gòu)26(3)表數(shù)效率(P45)定義:此式說明效率之所以低于100%,是因為規(guī)格化尾數(shù)最高位m1只能有rm-1種取值緣故。能夠看出,

極小值與極大值分別是[隱藏位技術(shù)]是一個提升表數(shù)效率方法,但僅適合用于rm=2情況:尾數(shù)最高位m1

在二進制條件下只有0和1兩種可能,按照規(guī)格化要求,m1可由其它位推出,。“隱藏”了m1之后,尾數(shù)只存放后面p-1位,它們中任一位都有rm種取值,所以表數(shù)效率η=100%。第26頁.3.20計算機系統(tǒng)結(jié)構(gòu)272.3指令格式優(yōu)化(P90)2.3.2操作碼優(yōu)化當前慣用編碼方法有3種:定長編碼,Huffman編碼,擴展編碼。2.3.2.1定長編碼就是全部指令使用相同代碼位數(shù),其最小碼長等于式中是平均碼長,是第i種指令碼長,n是指令總數(shù)。例2.2已知n=15,求定長編碼最小平均碼長。解:第27頁.3.20計算機系統(tǒng)結(jié)構(gòu)282.3.2.2Huffman壓縮編碼(P91)(1)Huffman壓縮概念(最正確編碼定理):當用n個長度不等代碼分別代表n種發(fā)生概率不等事件時,按照短代碼給高概率事件、把長代碼給低概率事件標準分配,可使平均碼長到達最低。(2)Huffman編碼方法

這種編碼方法由兩個過程組成。 頻度合并:將全部n個事件(在此即為n條指令)頻度值排序,選取其中最小2個頻度合并,然后將剩下n-1個頻度再次排序,再合并最小2個頻度,如此重復(fù),直至剩下1個頻度為止。統(tǒng)計全部合并關(guān)系,形成一棵二叉樹──Huffman樹,全部原始頻度值充當樹葉,而最終剩下總頻度1為樹根; 碼元分配:從樹根開始,對每個中間結(jié)點左右2個分支邊各賦予一位代碼“0”和“1”(“0”在哪一側(cè)不限)。讀出從根結(jié)點到任一片樹葉路徑上依次出現(xiàn)代碼位就排成了這個事件(即指令)完整編碼。因為頻度高事件較晚被合并,它編碼位數(shù)也就較少,符合Huffman壓縮標準。上面所說頻度值就是各事件實際出現(xiàn)次數(shù)百分比,它是理論出現(xiàn)概率近似值。第28頁.3.20計算機系統(tǒng)結(jié)構(gòu)292.3.2.3擴展編碼方法(等長擴展法,P93)用碼長表示:比如4-8-12法。這并不能說明詳細編碼方法,例以下面兩種編碼方法都是4-8-12法。用碼點數(shù)表示:比如15/15/15法,8/64/512法15/15/15法,每一個碼長都有4位可編碼位(前頭能夠有相同擴展標識前綴),可產(chǎn)生16個碼點(即編碼組合),不過至多只能使用其中15個來表示事件,留下1個或多個碼點組合作為更長代碼擴展標識前綴。已經(jīng)用來表示事件碼點組合不能再作為其它更長代碼前導(dǎo)部分,不然接收者會混同。這就是“非前綴標準”。8/64/512法,每一個碼長按4位分段,每一段中最少要留下1位或多位作為擴展標識。各段剩下可編碼位一起編碼,所產(chǎn)生碼點用來對應(yīng)被編碼事件。每一段中標識位指出后面還有沒有后續(xù)段。第29頁.3.20計算機系統(tǒng)結(jié)構(gòu)30以3-6-9位為例36bit目標:平均碼長最小化33bit平均碼長=P1l1+P2l2+……+P84l8430bit27bit24bit21bit18bit15bit12bit9bit6bit3bit7/7/7法碼長分布7條7條7條7條7條7條7條7條7條7條7條7條9bit6bit3bit4/16/64法碼長分布4條16條64條指令頻度分布懸殊

P1

……P84指令頻度分布均勻

P1

……P84兩種等長擴展碼適用性比較第30頁.3.20計算機系統(tǒng)結(jié)構(gòu)312.3.2.4編碼方法性能指標(P91-P93)信息量:依據(jù)信息論基本知識,在n種可能發(fā)生事件集合中,匯報第i種事件發(fā)生消息中包含信息量為其中Pi是第i種事件發(fā)生先驗概率,a是編碼基值。信息量單位是表示位數(shù)(最少所需位數(shù))。這個定義式表明事件發(fā)生概率越低,關(guān)于它消息中信息量越大。熵(entropy)──平均信息量:一個消息源對n種事件公布消息信息量平均值,記為第31頁.3.20計算機系統(tǒng)結(jié)構(gòu)32平均碼長:各事件編碼長度數(shù)學(xué)期望。信息冗余量:它表明消息編碼中“無用成份”所占百分比。從降低存放與傳輸量角度看,編碼方法平均碼長越短越好。不過平均碼長不可能無限制縮短,它下限就是熵(即R=0時)。假如短于熵就一定會丟失有用信息(即混同不一樣指令),這是不允許。第32頁.3.20計算機系統(tǒng)結(jié)構(gòu)33例2.3已知頻度序列為0.1,0.1,0.15,0.15,0.2,0.3,求Huffman編碼、等長擴展3/3/3碼、定長編碼、三者平均碼長、信息冗余量以及熵。

解:

熵H=–(2×0.1×log20.1+2×0.15×log20.15+0.2×log20.2+0.3×log20.3)

≈2.47

依據(jù)Huffman編碼方法作Huffman樹如圖2.5所表示,三種編碼方法結(jié)果列于表2.1中。第33頁.3.20計算機系統(tǒng)結(jié)構(gòu)34表2.1Huffman編碼、等長擴展3/3/3碼及定長編碼第34頁.3.20計算機系統(tǒng)結(jié)構(gòu)352.3.3操作數(shù)優(yōu)化───尋址方式比較(P95)指令中操作數(shù)占用位數(shù)由操作數(shù)個數(shù)與尋址方式?jīng)Q定。按操作數(shù)個數(shù)劃分,有零操作數(shù)指令、一操作數(shù)指令、二操作數(shù)指令、三操作數(shù)指令共四種形式。應(yīng)該按機器用途來選擇(P99,表2.20)??s短操作數(shù)長度慣用方法是間址和變址(P99頁末)。第35頁.3.20計算機系統(tǒng)結(jié)構(gòu)36本章主要內(nèi)容有數(shù)據(jù)表示和操作碼優(yōu)化兩個部分。詳細細節(jié)以下:(1)浮點數(shù)表數(shù)范圍(在數(shù)軸上4個端點)、表數(shù)精度

、表數(shù)效率

;(2)Huffman編碼方法;(3)等長擴展編碼方法(15/15/15法,8/64/512法);(4)編碼方法性能指標(熵H,平均碼長L,信息冗余量R)。習(xí)題:P124,題3(忽略P124倒1行~P125第8行文字),題13。本章小結(jié)第36頁.3.20計算機系統(tǒng)結(jié)構(gòu)37第三章存放系統(tǒng)(P130)

MemoryHirarchy長久存在問題:在合理總價格限制下,單純性主存設(shè)備速度跟不上CPU發(fā)展,容量不能滿足軟件尺寸擴大。本章學(xué)習(xí)兩種提升主存系統(tǒng)性能/價格比結(jié)構(gòu)化方法:并行存放器與存放層次技術(shù)。后者為主。第37頁.3.20計算機系統(tǒng)結(jié)構(gòu)383.1并行存放器(P136)并行存放器技術(shù)能夠提升主存系統(tǒng)整體等效速度,實際應(yīng)用中,常將它與存放層次技術(shù)組合使用,能夠互為補充,取得很高性能。并行存放器技術(shù)基本思想是用多個獨立存放部件組成主存系統(tǒng),讓它們并行工作,在一個存放周期內(nèi)能夠訪問到多個數(shù)據(jù),從而實現(xiàn)較高存取流量。并行存放器包含各種類型,我們僅介紹提升訪問速度效果最顯著低位交叉訪問這一個。第38頁.3.20計算機系統(tǒng)結(jié)構(gòu)39低位交叉訪問并行存放器結(jié)構(gòu):它由n個存放體組成(普通n為2整次冪),每個體都有獨立地址譯碼器和數(shù)據(jù)緩沖器,以主存地址低位字段(最低log2n位)作為體選譯碼信號,而剩下高位字段則是體內(nèi)地址。如圖所表示(設(shè)n=4)。第39頁.3.20計算機系統(tǒng)結(jié)構(gòu)40主存地址與結(jié)構(gòu)參數(shù)換算(P139):其中:n──存放體個數(shù),A──主存地址,

j──體內(nèi)地址,k──體序號(k=0,1,2,…,n-1)例3.1已知n=4,問主存地址13是在幾號體幾號單元?解:因為n=4,體選譯碼信號使用主存地址最低log2n=2位,所以地址13(其二進制為1101B)對應(yīng)體號k=1(即01B)、體內(nèi)地址j=3(即11B),也就是說,地址13位于1號體3號單元(參看前一頁插圖)。 依據(jù)上式,全部k值(即體號)相同地址之間均相差n整倍數(shù),稱之為“模n同余”。第40頁.3.20計算機系統(tǒng)結(jié)構(gòu)41低位交叉訪問并行存放器加速機理:我們衡量存放器件速度慣用指標是存放周期Tm,它是同一存放單元連續(xù)兩次開啟最小時間間隔,數(shù)值越小表明存放器件速度越快。傳統(tǒng)存放系統(tǒng)只有一套地址譯碼器和數(shù)據(jù)緩沖器,所以各單元必須串行工作,也就是說每個Tm周期內(nèi)至多只能完成一次訪問。由多個存放體組成并行存放器中,各個存放體都有獨立地址譯碼器和數(shù)據(jù)緩沖器,它們能夠并行工作,使得一個Tm周期內(nèi)可完成屢次訪問,相當于加速了多倍。最好情況下一個Tm周期內(nèi)可完成n次訪問。當前Tm周期中只要發(fā)覺有一個新訪問地址與前面地址屬于同一個存放體,該地址及其后面地址就會被阻塞(稱為訪存沖突),留到下一個Tm周期訪問。機器地址序列經(jīng)常含有次序性,按照低位交叉規(guī)律分配地址可使相繼出現(xiàn)地址落在相同存放體概率降到最低(參見上圖)??紤]到地址總線與數(shù)據(jù)總線擁擠問題,一個Tm周期里發(fā)送多個訪問請求最好彼此錯開Tm/n時間,如P140圖3.11所表示,不然實現(xiàn)復(fù)雜度會增加。第41頁.3.20計算機系統(tǒng)結(jié)構(gòu)42

Kg=010.0g=0.24.463.682.00g=0.51.00g=10110n計算平均加速倍數(shù)(P141):1.只考慮取指地址序列(假設(shè)地址次序遞增,直至出現(xiàn)一條轉(zhuǎn)移指令):其中g(shù)是指令序列中出現(xiàn)轉(zhuǎn)移指令概率。此公式在右圖中用綠線表示。2.只考慮取數(shù)地址序列(假設(shè)地址完全隨機)此公式在右圖中用紅線表示。第42頁.3.20計算機系統(tǒng)結(jié)構(gòu)43例題:P203,題5第43頁.3.20計算機系統(tǒng)結(jié)構(gòu)443.2存放層次原理及性能指標3.2.1基本原理定義:(參見P131第二段)由2種或各種存放部件組成復(fù)合存放系統(tǒng),經(jīng)過內(nèi)部管理機構(gòu)自動更換機制,能夠不停將大容量低速存放部件中活躍內(nèi)容復(fù)制到小容量高速存放部件中(后者作為前者局部副本)。它既能滿足CPU快速存取需要,又有很大存放容量,平均單位價格也很低,等效于同時滿足3方面要求理想單一存放部件。依據(jù):程序訪問局部化原理(時間局部化,空間局部化)。模型:如右圖所表示,存放層次由n層組成,滿足3個不等式:Ti<Ti+1,ci>ci+1,Si<Si+1。第44頁.3.20計算機系統(tǒng)結(jié)構(gòu)453.2.2性能指標(P132-P134)(1)容量:S=S2(理論上)(2)單價:(美分/bit)第45頁.3.20計算機系統(tǒng)結(jié)構(gòu)46(3)速度:表現(xiàn)訪問速度參數(shù)很多命中率:反應(yīng)被訪問數(shù)據(jù)事先已在M1發(fā)生概率等效訪問時間:命中時訪問時間為T1,不命中時訪問時間為T2,等效訪問時間則是它們概率均值第46頁.3.20計算機系統(tǒng)結(jié)構(gòu)47訪問效率:這是一個相對值,便于不一樣系統(tǒng)之間比較。訪問效率e受H和r影響(參見右圖):第47頁.3.20計算機系統(tǒng)結(jié)構(gòu)48

Cache預(yù)取技術(shù)對命中率提升作用(P134):這里所說“預(yù)取”技術(shù),并不是依據(jù)對程序執(zhí)行未來趨勢進行猜測以提前調(diào)入數(shù)據(jù),而僅僅是在發(fā)生不命中情況時把調(diào)入1個數(shù)據(jù)字改為調(diào)入1個數(shù)據(jù)塊策略。依據(jù)程序局部化原理,離當前使用數(shù)據(jù)較近處數(shù)據(jù)未來被使用幾率大于較遠處數(shù)據(jù),所以該數(shù)據(jù)塊中被提前調(diào)入鄰近數(shù)據(jù)很有可能成為未來命中點,從而提升命中率。采取這種預(yù)取技術(shù)后新命中率為其中:H──原命中率(即按照不命中時取入1字策略);

H’──新命中率(即按照不命中時取入1塊策略);

n──每塊數(shù)據(jù)內(nèi)實際被訪問數(shù)據(jù)個數(shù),即非重復(fù)數(shù)據(jù)訪問次數(shù)。(注:教材定義n為塊內(nèi)數(shù)據(jù)個數(shù)與每個數(shù)被重復(fù)訪問次數(shù)乘積,即每塊數(shù)據(jù)被訪問總次數(shù),這是不正確。見下文例題證實。)第48頁.3.20計算機系統(tǒng)結(jié)構(gòu)49設(shè)N──每塊數(shù)據(jù)被訪問總次數(shù),n──每塊數(shù)據(jù)內(nèi)實際被訪問數(shù)據(jù)個數(shù)。不預(yù)取時,塊內(nèi)任何數(shù)據(jù)第一次訪問都不命中,而全部重復(fù)訪問都命中,所以有 ,也就是 ……(1)預(yù)取時,該塊只有第一次訪問不命中,其后全部訪問都命中,所以又有 ,也就是 ……(2)由(1)式可推出 ……(3)將(3)式代入(2)式,得到,公式成立。H’推導(dǎo):第49頁.3.20計算機系統(tǒng)結(jié)構(gòu)50對H’公式了解預(yù)取策略在訪問塊內(nèi)第一個數(shù)據(jù)時將其它數(shù)據(jù)一同調(diào)入,也就是對其它數(shù)據(jù)提前調(diào)入。假如n=1,表示提前調(diào)入其它數(shù)據(jù)并不使用,命中率不會因它們提前調(diào)入而提升,所以H'=H;

假如n>1,表示塊內(nèi)最少還有一個數(shù)據(jù)要被訪問,在訪問第一個數(shù)據(jù)時將它提前調(diào)入,會使它第一次訪問由不命中變成命中,所以H'>H。第50頁.3.20計算機系統(tǒng)結(jié)構(gòu)51教材P1343.1.1節(jié)末尾有一個例子,已知塊大小為4個字,每個數(shù)據(jù)使用次數(shù)為5。先直接計算命中率,不預(yù)取時每個數(shù)據(jù)頭1次訪問不命中,后4次訪問都命中,所以命中率 ,而預(yù)取時只有第一個數(shù)據(jù)第1次訪問不命中,后面19次訪問都命中,所以命中率 。再經(jīng)過公式計算命中率,教材上取n=20,算出 ,而 。這顯然是不正確。假如取n=4,一樣算出H=0.8,而。與直接計算結(jié)果相符,才是正確。例題分析第51頁.3.20計算機系統(tǒng)結(jié)構(gòu)52加速比(P193)

Cache-主存層次主要作用是提升訪問速度,系統(tǒng)等效速度應(yīng)高于主存(即M2)原有速度,兩個速度之比稱為加速比。第52頁.3.20計算機系統(tǒng)結(jié)構(gòu)53

M1103BT1=1us103B

M2106BTB2=10usM3109BTB3=100us109B(a)(b)例3.2有一個109字節(jié)程序被裝入右圖所表示M3準備運行。假定指令字長=1字節(jié),程序中無轉(zhuǎn)移指令和內(nèi)存讀/寫指令。(1)按圖(a)求T和e;增加中間層對e影響(2)按圖(b)推導(dǎo)三層體系T公式;(3)按圖(b)求T和e;(4)比較(1)(3)結(jié)果,有何結(jié)論?第53頁.3.20計算機系統(tǒng)結(jié)構(gòu)54解:第54頁.3.20計算機系統(tǒng)結(jié)構(gòu)55習(xí)題:P202,題3。第55頁.3.20計算機系統(tǒng)結(jié)構(gòu)56存放層次管理方式(P148)依據(jù)程序局部化性質(zhì),存放層次機構(gòu)對用戶文件管理應(yīng)該劃分成較小基本調(diào)度單位來進行。依劃分標準不一樣,存在3種存放層次管理方式。(1)段式管理(P148)。段是程序中一個邏輯單位,能夠是一個程序模塊,或者是一個數(shù)據(jù)結(jié)構(gòu)。段長度不一,但段內(nèi)全部數(shù)據(jù)信息屬性普通是相同,便于統(tǒng)一進行信息保護。每段使用獨立邏輯地址空間,即都從0開始計算地址。段式管理方法主要缺點是各段長短不一,調(diào)進調(diào)出之后輕易形成大量不規(guī)則零碎空間。段式管理方法虛實變換算法是查段表(P150)。課堂討論題:P203,題11(復(fù)習(xí)段頁式管理)。第56頁.3.20計算機系統(tǒng)結(jié)構(gòu)57(2)頁式管理(P151)。頁是系統(tǒng)要求固定長度單位。按頁劃分用戶文件能夠防止上述零碎空間浪費。我們把用戶文件劃分得到一個長度單位稱為“虛頁”,因為它頁號是在虛地址空間中編排;實地址空間按頁大小劃分得到一個長度單位稱為“實頁”。頁式管理方法主要缺點是按固定長度分出來同一頁內(nèi)常有不一樣屬性信息,不便于信息保護實現(xiàn)。頁式管理方法虛實變換算法是查頁表(P152)。(3)段頁式管理(P153)。它把上述兩種管理方式結(jié)合起來,首先將整個文件分段,然后在各段內(nèi)分頁,所以有一個段表和若干個頁表。其虛實變換算法是先查段表,查出該段頁表起始地址再查對應(yīng)頁表(P154)。段頁式管理主要缺點是多查一次表,虛實變換費時較多,占用空間也較大。因為段頁式管理方法最小調(diào)度單位仍是頁,或者說它是分段之后分頁管理,為了敘述簡單,下面分析還是以頁式管理為模型。第57頁.3.20計算機系統(tǒng)結(jié)構(gòu)583.3地址映象與變換(P174)基本術(shù)語:邏輯地址(又稱為相對地址、虛地址)是程序員在編寫和編譯一個程序模塊時分配指令和數(shù)據(jù)空間單位序號,總是從0開始(能夠按字節(jié)編址、按CPU字編址等)。邏輯地址取值范圍稱為邏輯地址空間、虛空間或虛存。物理地址(又稱為絕對地址、實地址)是任一級存放器為全部存放單元分配序號。物理地址取值范圍稱為物理地址空間、實空間或?qū)嵈妗腗1到Mn各層都有自己物理地址空間,而對當前執(zhí)行程序模塊來說,邏輯地址空間只有一個。地址映象方式指是虛頁集合與實頁集合對應(yīng)規(guī)則,或者說是約束關(guān)系。地址變換(又叫虛實變換)指邏輯地址到物理地址變換過程或者算法。頁失效指當前被訪問存放級中沒有所需信息,也就是不命中現(xiàn)象。實頁爭用又叫實頁沖突,指虛頁調(diào)入時,依據(jù)地址映象方式劃定實空間范圍內(nèi)已沒有空閑實頁情況。第58頁.3.20計算機系統(tǒng)結(jié)構(gòu)59相聯(lián)目錄表技術(shù)1.頁表占用空間過大問題頁表必須存放在實存M1里。實際上,命中情況下訪存時間等于查表時間加上訪問目標數(shù)據(jù)時間,所以頁表不能放在M2。頁表占用空間=頁表行數(shù)×每行寬度其中,頁表行數(shù)=虛存容量/頁面大小以PC機為例,頁表行數(shù)≥60G/4K=236/212=224

≈1600萬!按每行寬度6字節(jié)估算約需96MB。降低頁表空間思緒分降低行數(shù)和降低行寬兩類。2.相聯(lián)目錄表方法(P158)僅保留頁表中已裝入虛頁統(tǒng)計。為防止逐行比對,利用相聯(lián)存放器存放此表,它含有并行比較功效,但價格遠高于普通存放器。3.快慢表方法(P159)4.經(jīng)過地址映象降低行寬以下文所表示第59頁.3.20計算機系統(tǒng)結(jié)構(gòu)604種常見地址映象方式3.3.1全相聯(lián)(P174)全相聯(lián)就是無約束對應(yīng),或者說是一個完全關(guān)系,意思就是一個虛頁能夠調(diào)入任何一個實頁。這種關(guān)系可用下頁示意圖(a)、(b)表示。全相聯(lián)虛實變換信息完全來自于變換表,查表過程如圖(c)所表示。全相聯(lián)映象方式使虛頁調(diào)入有最大選擇范圍,發(fā)生實頁爭用可能性最小,調(diào)入/調(diào)出操作開銷也最少,有利于命中率提升。但這種方式頁表占用空間和查表時間開銷都比較大,也就是說實現(xiàn)成本比較高,在命中情況下花費在虛實變換上時間也比較多。因為頁表必須常駐在實存中,而主存-輔存層次實存(即主存)相對Cache-主存層次實存(即Cache存放器)要低廉一些,所以全相聯(lián)映象方式普通用于主存-輔存層次。第60頁.3.20計算機系統(tǒng)結(jié)構(gòu)61全相聯(lián)地址映象方式與地址變換原理示意圖(a)(b)第61頁.3.20計算機系統(tǒng)結(jié)構(gòu)62全相聯(lián)地址映象方式與地址變換原理示意圖(c)第62頁.3.20計算機系統(tǒng)結(jié)構(gòu)633.3.2直接相聯(lián)(P176)直接相聯(lián)是一個最強約束關(guān)系,它要求每個虛頁只對應(yīng)唯一實頁。為了便于虛實變換,用求模運算作為變換關(guān)系式:將虛頁號對實頁總數(shù)求模得到實頁號。實現(xiàn)起來非常簡單,因為在二進制中,任何數(shù)X對2整次冪n求模等價于截取X最低log2n位,以下頁示意圖(c)所表示。例3.3已知虛頁號=7,實頁總數(shù)=4,用直接相聯(lián)求實頁號。解:可用十進制形式求:7mod4=3;也可用二進制形式求:因為n=4,所以log2n=2,取7二進制形式111B最低2位,得11B,即3。直接相聯(lián)映象方式不需要借助頁表來進行虛實變換,顯然大大節(jié)約了對應(yīng)空間與時間(當然頁表中裝入位和修改位還得保留),不過因為每個虛頁選擇范圍太小,實頁爭用發(fā)生頻率較高,常出現(xiàn)明明實存有空閑空間卻不得不調(diào)出一個現(xiàn)有虛頁以騰出所在實頁情況,這使系統(tǒng)命中率和運行效率大大下降。這種映象方式主要用于一些對實存價格非常敏感Cache-主存層次。第63頁.3.20計算機系統(tǒng)結(jié)構(gòu)64直接相聯(lián)地址映象方式與地址變換原理第64頁.3.20計算機系統(tǒng)結(jié)構(gòu)653.3.3組相聯(lián)(P178)組相聯(lián)映象方式是全相聯(lián)與直接相聯(lián)一個折中方案,性能也是二者折中。詳細做法是先將實存分組,每組內(nèi)有若干實頁,然后將虛存空間也以一樣大小分組。全部虛組按照直接相聯(lián)方式映射到實組集合,對應(yīng)虛實組之間各頁則用全相聯(lián)映射,以下頁示意圖(a)、(b)所示(設(shè)實組數(shù)為2)。因為包含了兩層不一樣映射關(guān)系,頁表須按虛組劃分成許多子表。在虛實變換時,首先依據(jù)虛頁號所在虛組號,經(jīng)過求模運算確定實組號,再按虛組號在對應(yīng)子表內(nèi)讀出組內(nèi)頁號,拼接在一起就是實頁號。簡記為“組號計算、組內(nèi)查表”。如圖(c)所表示。采取組相聯(lián)映象方式時,每個虛頁在對應(yīng)實組范圍內(nèi)有若干映象實頁可供選擇,實頁爭用發(fā)生頻率比直接相聯(lián)要低;另首先,因為頁表內(nèi)原來存放實頁號改成存組內(nèi)頁號,省略了實組號字段,所以頁表占用空間也降低了。當然這兩方面優(yōu)點是相互抵觸:組內(nèi)頁數(shù)越多,實存空間劃分組數(shù)就越少,實組號字段所占位數(shù)也少,這時改進實頁爭用現(xiàn)象效果很好,而節(jié)約頁表空間效果較差,反之亦然。實際使用中可依據(jù)性能要求選取適當參數(shù)。這種映象方式性價比很好,在Cache-主存層次中被普遍使用。第65頁.3.20計算機系統(tǒng)結(jié)構(gòu)66組相聯(lián)地址映象方式與地址變換原理(a)(b)第66頁.3.20計算機系統(tǒng)結(jié)構(gòu)67組相聯(lián)地址映象方式與地址變換原理(c)第67頁.3.20計算機系統(tǒng)結(jié)構(gòu)683.3.4段相聯(lián)(P184)段相聯(lián)映象方式也是全相聯(lián)與直接相聯(lián)一個折中方案。它分段方法與組相聯(lián)相同,不一樣是全部虛段按照全相聯(lián)方式映射到實段集合,對應(yīng)虛實段之間各頁則用直接相聯(lián)映射(因為虛實段大小相同,所以實際上是一一對應(yīng)),以下頁示意圖(a)、(b)所表示(設(shè)實段數(shù)為2)。段相聯(lián)虛實變換與組相聯(lián)類似,不過能夠經(jīng)過計算來確定部分不是在段外,而是在段內(nèi),即頁表內(nèi)只儲存各虛頁對應(yīng)實段號,段內(nèi)頁號則從虛頁號中簡單直接復(fù)制,拼接在一起就是實頁號,簡記為“段號查表、段內(nèi)復(fù)制”。如圖(c)所表示。段相聯(lián)映象方式虛實段內(nèi)頁號對應(yīng)關(guān)系是固定,每個虛頁在調(diào)入時能夠選擇只是實段號。因為虛實段大小相同,所以虛段號比實段號位數(shù)多,也就意味著“多→少”映射(組相聯(lián)是等量映射),其實頁爭用發(fā)生頻率比組相聯(lián)要高。在節(jié)約頁表存放空間方面,性能與組相聯(lián)差不多。第68頁.3.20計算機系統(tǒng)結(jié)構(gòu)69段相聯(lián)地址映象方式與地址變換原理(a)(b)第69頁.3.20計算機系統(tǒng)結(jié)構(gòu)70段相聯(lián)地址映象方式與地址變換原理(c)第70頁.3.20計算機系統(tǒng)結(jié)構(gòu)71多用戶虛地址格式在多用戶或多進程并發(fā)環(huán)境下,因為機器中同時保留并交替運行多個程序模塊,各模塊中相同虛頁號會發(fā)生混同。這時從CPU發(fā)出虛地址還需要在前面拼接上一個“當前用戶號”字段,形成“多用戶虛地址”,以下列圖所表示(參見P154)。

在虛實變換時,上面所說各種查表操作之前還得先去查一個“段表基址存放器組”或“頁表基址存放器組”小表格(P150,P152),確定現(xiàn)在該查哪一張段表或頁表。這個小表格建立在CPU里,讀寫時間很短。第71頁.3.20計算機系統(tǒng)結(jié)構(gòu)723.4替換算法(P164)上面所講地址映象方式是在虛頁調(diào)入時“選址”規(guī)則,而地址變換方法則是命中時取得實地址伎倆。不命中時需要增加操作就是首先調(diào)出一頁,調(diào)出之后再調(diào)入稱為“替換”。替換算法要處理是選擇調(diào)出對象問題。替換算法目標是在發(fā)生實頁爭用(即依據(jù)地址映象方式,將要調(diào)入虛頁被允許進入全部實頁均被其它虛頁占用)時,選擇未來不太可能使用或者使用最晚虛頁作為調(diào)出對象,以騰出一個實頁來。第72頁.3.20計算機系統(tǒng)結(jié)構(gòu)733.4.1幾個慣用替換算法(P164)(1)隨機算法RAND──在比較范圍內(nèi)任取一頁作為淘汰頁;(2)先進先出算法FIFO──在比較范圍內(nèi)選取調(diào)入最早一頁作為淘汰頁;(3)最不經(jīng)常使用算法LFU──在比較范圍內(nèi)選取最近一個單位時間內(nèi)使用次數(shù)最少一頁作為淘汰頁;(4)最不靠近使用算法LRU──在比較范圍內(nèi)選取最終一次使用離現(xiàn)在最久一頁作為淘汰頁;(5)最優(yōu)替換算法OPT──在比較范圍內(nèi)選取下一次使用時間離現(xiàn)在最久一頁作為淘汰頁。第73頁.3.20計算機系統(tǒng)結(jié)構(gòu)74從LFU到LRU近似邏輯推理:近期最少使用LFU→最近一個單位時間內(nèi)使用次數(shù)最少→相鄰兩次使用平均間隔時間最大→上次使用時間離現(xiàn)在最久→最久沒有使用LRU偶然偏差:使用稀疏頁面有可能恰巧剛才用過,離現(xiàn)在更近。統(tǒng)計性能:“現(xiàn)在”離“上次”使用時間平均距離,應(yīng)為相鄰兩次使用時間距離1/2,所以大多數(shù)情況下LRU與LFU判斷結(jié)論應(yīng)該是一致。第74頁.3.20計算機系統(tǒng)結(jié)構(gòu)75算法模擬:實存情況圖(P166圖3.32)以下依次是FIFO、LRU、OPT算法,其中*號表示被選中淘汰頁第75頁.3.20計算機系統(tǒng)結(jié)構(gòu)76比較:LRU與OPT對稱性算法:LRU選擇"過去"末次訪問離現(xiàn)在最遠,OPT選擇"未來"首次訪問離現(xiàn)在最遠。第76頁.3.20計算機系統(tǒng)結(jié)構(gòu)773.5虛擬存放器與Cache特點(P146,P172)虛擬存放器與Cache主要區(qū)分 (P173表3.4)

Cache主要組成與工作流程 (P173圖3.38)第77頁.3.20計算機系統(tǒng)結(jié)構(gòu)78本章小結(jié)(1)并行存放系統(tǒng)原理;(2)存放層次原理及5項性能指標;(3)存放層次3種管理方式;(4)4種地址映象與地址變換方式;(5)5種替換算法;(6)堆棧型替換算法;(7)主存-輔存層次與Cache-主存層次特點;(8)實存情況圖、堆棧模擬圖(2種分析工具)。習(xí)題:P202,題3,題19(3)(4)(6)(8)。第78頁.3.20計算機系統(tǒng)結(jié)構(gòu)79第四章輸入輸出系統(tǒng)(P208)

輸入輸出系統(tǒng)是計算機系統(tǒng)中實現(xiàn)各種輸入輸出任務(wù)資源總稱。它包含各種輸入輸出設(shè)備、相關(guān)管理軟件等等。因為輸入輸出設(shè)備特殊工作性質(zhì)使其數(shù)據(jù)吞吐率通常遠低于主機,設(shè)計輸入輸出系統(tǒng)就是要建立數(shù)據(jù)交換最正確方案,使雙方都能高效率地工作。本章重點是中止優(yōu)先級管理、通道流量設(shè)計。第79頁.3.20計算機系統(tǒng)結(jié)構(gòu)804.1基本輸入輸出方式(P212)4.1.1程序控制I/O方式4.1.2中止I/O方式4.1.3DMA方式4.1.4通道方式4.1.5I/O處理機方式第80頁.3.20計算機系統(tǒng)結(jié)構(gòu)814.2中止優(yōu)先級管理(P219)中止是為實時任務(wù)優(yōu)先取得處理機資源而采取一個調(diào)度技術(shù),當系統(tǒng)中存在多個中止源時必須依據(jù)實時性強弱設(shè)定優(yōu)先次序,這也被稱為中止分級。為了兼顧中止響應(yīng)時效與配置靈活,通常采取兩套機制結(jié)合組成中止優(yōu)先序管理體系。(1)硬件響應(yīng)優(yōu)先序:未被屏蔽幾個中止源同時提出申請時,CPU選擇服務(wù)對象次序。它由硬件電路實現(xiàn),用戶不能修改。如P226圖4.11所表示。(2)軟件服務(wù)優(yōu)先序:在各中止服務(wù)程序開頭,用軟件設(shè)置自己中止屏蔽字(在主程序中也設(shè)置)。以此改變實際服務(wù)次序(P230)。比如某個硬件響應(yīng)優(yōu)先級高中止源,其中止服務(wù)程序執(zhí)行中屏蔽了本身,而開放了某個硬件響應(yīng)優(yōu)先級比它低中止源,后者就能夠在前者剛開放中止時就打斷它,從而在實際上先得到服務(wù)。中止服務(wù)過程示意圖如P231圖4.14所表示。因為常規(guī)用戶主程序?qū)μ幚頇C需求緊迫性最低,所以它中止屏蔽字是“全部開放”。(3)實例分析:屏蔽字表、中止服務(wù)過程圖。例4.1(P230倒數(shù)第8行開始)第81頁.3.20計算機系統(tǒng)結(jié)構(gòu)824.3通道處理機(P233)(1)定義:通道處理機(簡稱"通道")是隸屬于主處理機輸入輸出專用協(xié)處理機。(2)特點:有一套輸入輸出功效很強專用指令系統(tǒng);與主處理機共享主存,存放對應(yīng)程序和數(shù)據(jù);一個通道能夠連接多臺外部設(shè)備;主處理機可用"開啟I/O"指令來開啟一個通道;當通道訪存與主處理機沖突時,存控部件賦予通道較高優(yōu)先權(quán);通道程序執(zhí)行完成自動轉(zhuǎn)入休眠狀態(tài),同時向主處理機發(fā)出一個特定中止申請,通知該事件。(3)地位:隸屬于主處理機。第82頁.3.20計算機系統(tǒng)結(jié)構(gòu)83字節(jié)多路通道:以字節(jié)為單位交叉為多臺設(shè)備傳輸。子通道概念。選擇通道:完成一臺設(shè)備全部傳輸再去為另一臺設(shè)備服務(wù)。數(shù)組多路通道:以數(shù)組為單位交叉為多臺設(shè)備傳輸。(5)通道傳輸過程實際有效工作時間(P241,其中P是設(shè)備臺數(shù)):字節(jié)多路通道: ,其中n是單臺設(shè)備數(shù)據(jù)傳輸量;選擇通道:數(shù)組多路通道: ,其中k是塊尺寸, 。(4)分類(P238):第83頁.3.20計算機系統(tǒng)結(jié)構(gòu)84(6)通道流量分析(P243):通道最大能力流量:第84頁.3.20計算機系統(tǒng)結(jié)構(gòu)85通道實際最大負荷流量:通道正常工作條件:第85頁.3.20計算機系統(tǒng)結(jié)構(gòu)86實例分析:通道時間關(guān)系圖例4.2(P243倒數(shù)第2行開始)第86頁.3.20計算機系統(tǒng)結(jié)構(gòu)874.4I/O處理機(P245)定義:有獨立內(nèi)存和操作系統(tǒng)I/O專用計算機。第87頁.3.20計算機系統(tǒng)結(jié)構(gòu)88本章小結(jié)(1)5種I/O方式;(2)中止優(yōu)先級管理(屏蔽字表、中止服務(wù)過程圖);(3)3種通道處理機特點;(4)3種通道最大能力流量;(5)3種通道實際最大負荷流量;(6)通道正常工作條件;(7)通道時間關(guān)系圖(字節(jié)多路通道);習(xí)題:P250,題5,題8。第88頁.3.20計算機系統(tǒng)結(jié)構(gòu)89第五章標量流水線技術(shù)(P253)

Pipeline本章學(xué)習(xí)標量計算機上使用流水加速技術(shù)。主要內(nèi)容有流水技術(shù)分類、流水線性能指標計算、非線性流水線調(diào)度算法。標量計算機指只能直接進行標量運算計算機,與能夠直接進行向量運算向量計算機相對應(yīng)。流水處理方式特征,是讓多個依次開啟任務(wù),盡可能同時使用系統(tǒng)不一樣部件,經(jīng)過時間重合來提升處理速率。這種技術(shù)理論上不增加成本。標量計算機上使用流水加速技術(shù)屬于指令級并行技術(shù)。每條指令處理過程,能夠劃分為取指、譯碼、取數(shù)、運算、送結(jié)果5個子過程,也能夠分得更細或更粗一些。劃分標準是各部分時間長度大致相等、并使用CPU中不一樣部件,這么才有利于多任務(wù)重合處理。第89頁.3.20計算機系統(tǒng)結(jié)構(gòu)905.2流水處理與邏輯相關(guān)概念

CPU中各個部件按流水處理次序連接起來,就稱為一條流水線。5.2.1流水線工作原理

處理機解釋程序方式有次序方式、重合方式、流水方式等。次序方式是解釋完一條指令再開始解釋下一條(P254);流水方式是把一個重復(fù)過程分解為若干個子過程,每個子過程能夠與其它子過程同時進行,以此提升單位時間內(nèi)解釋指令數(shù)目(P277);重合方式是一個簡單流水方式,它把指令分成2個子過程,每條指令只與下一條指令相重合(P255)。第90頁.3.20計算機系統(tǒng)結(jié)構(gòu)91流水線結(jié)構(gòu)圖(P278)第91頁.3.20計算機系統(tǒng)結(jié)構(gòu)92流水線工作時空圖(P278—P279)第92頁.3.20計算機系統(tǒng)結(jié)構(gòu)935.2.2邏輯相關(guān)(P263-276)相關(guān)定義:(P263倒數(shù)第4段)一條指令必須等候前一條指令解釋完成才能開始解釋。相關(guān)分類及其對策1.全局性相關(guān)/局部性相關(guān)(P312、P269/P263、P303);2.指令相關(guān)/數(shù)相關(guān)(P264/P263);3.主存數(shù)相關(guān)/存放器數(shù)相關(guān)(P265/P266);4.數(shù)值相關(guān)/變址值相關(guān)(P266/P268)。第93頁.3.20計算機系統(tǒng)結(jié)構(gòu)945.3流水技術(shù)分類(P280)線性/非線性(P280):部件級/處理機級/處理機間級(宏流水線)(P281):單功效/多功效(P282):靜態(tài)/動態(tài)(P283):標量/向量(P285):同時/異步(P285):次序/亂序(P285、P304):第94頁.3.20計算機系統(tǒng)結(jié)構(gòu)955.4.1吞吐率TP(P285)

吞吐率(TP───ThroughPut)指流水線在單位時間內(nèi)執(zhí)行任務(wù)數(shù),能夠用輸入任務(wù)數(shù)或輸出任務(wù)數(shù)表示。 ,其中k表示流水線劃分段數(shù)。當滿足 條件時,有 。5.4線性流水線性能分析(P285)第95頁.3.20計算機系統(tǒng)結(jié)構(gòu)96其中5.4.2加速比(即吞吐率之比,P288)第96頁.3.20計算機系統(tǒng)結(jié)構(gòu)97段效率: , 各段平均效率:其中表示第i段設(shè)備量占整條流水線全部設(shè)備量百分比。當滿足 條件(即"等長"、"等權(quán)")時,有:5.4.3效率(設(shè)備利用率,P289)上式指出,S=E×k,就是說當效率到達100%時,流水方式(一個任務(wù)/Δt)吞吐率為次序方式(一個任務(wù)/(k×Δt))k倍。第97頁.3.20計算機系統(tǒng)結(jié)構(gòu)98例5.1(P292)分析:已知以下表示式,有相關(guān),單功效,k=4,n=7。要求最少相關(guān),用“二叉樹算法”以降低相關(guān)。

Z=A+B+C+D+E+F+G+H ① ② ③ ④ ⑤ ⑥ ⑦時空圖和算式見P293。5.4.4實例分析(P292)第98頁.3.20計算機系統(tǒng)結(jié)構(gòu)99例5.2(P293)分析:已知以下表示式,二功效,有切換,有相關(guān),k=8,n=7。要求用最少切換、最少相關(guān)算法。

Z=A

B+C

D+E

F+G

H乘法: ① ② ③ ④加法: ⑤ ⑥加法: ⑦時空圖和算式見P293-P294。第99頁.3.20計算機系統(tǒng)結(jié)構(gòu)100(1)瓶頸:瓶頸就是Δti最大段,它使流水線“流速”減慢(P287圖5.37)。

S1 S2 S3 S4

Δt 3Δt Δt Δt(2)方法1:再細分───將瓶頸設(shè)備再細分為下一級流水線(P287圖5.38)。

S1 S2a S2b S2c S3 S4

Δt Δt Δt Δt Δt Δt(3)方法2:并行設(shè)置───將瓶頸設(shè)備重復(fù)設(shè)置多套,輪番接收任務(wù)(P288圖5.39)。

S2a

3Δt S1 S2b S3 S4

Δt 3Δt Δt Δt S2c注意兩種方法時空圖不一樣。 3Δt5.4.5“瓶頸”問題及其處理方法(P286-P288)第100頁.3.20計算機系統(tǒng)結(jié)構(gòu)101對“設(shè)備并聯(lián)”分析“設(shè)備并聯(lián)”方法對“瓶頸”段投入與產(chǎn)出倍數(shù)相同,局部性能/價格比沒有改進(本例局部改變率為3/3=1),不過整條流水線性能也提升了相同倍數(shù),所以性能/價格比就提升了(本例全局改變率為3/1.5=2)。這也是Amdahl定律(加緊最費時間事件)一個詳細應(yīng)用。第101頁.3.20計算機系統(tǒng)結(jié)構(gòu)1025.5非線性流水線調(diào)度技術(shù)(P294)調(diào)度問題提出:一個任務(wù)在經(jīng)過非線性流水線時對有些功效段要經(jīng)過屢次(非線性定義),所以輕易與緊跟而來后繼任務(wù)發(fā)生設(shè)備爭用。調(diào)度機構(gòu)作用就是合理安排前后任務(wù)進入流水線相差時間,既要防止爭用,又要使相差時間盡可能少,以提升吞吐率。第102頁.3.20計算機系統(tǒng)結(jié)構(gòu)103算法:共5個步驟第1步.分析預(yù)約表R(P295圖5.44)描述非線性流水線有2種圖形:(a)連接圖,僅給出各段之間靜態(tài)空間連接關(guān)系;(b)預(yù)約表,就是一個任務(wù)經(jīng)過流水線時空圖,能全方面反應(yīng)該流水線動態(tài)特征。要檢驗2個任務(wù)相距k拍是否沖突,可將它們預(yù)約表錯位k列重合(上圖)。第2步.作禁止表F(P297倒數(shù)第2段)F是1-N之間可沖突拍數(shù)集合,N是預(yù)約表列數(shù)減1。詳細操作是將同一行中任意2個標識之間拍數(shù)差記下來,再將各行這類數(shù)字匯成一個集合,即為禁止表。本例中F={3,4,6}

5.5.1不改變流水線結(jié)構(gòu)調(diào)度方法(P295)第103頁.3.20計算機系統(tǒng)結(jié)構(gòu)104第3步.作原始沖突向量C(P298倒數(shù)第3段)為了設(shè)計調(diào)度機構(gòu),需將禁止表轉(zhuǎn)化為原始沖突向量C(Collision)。C是含N個分量布爾向量,普通形式為C=(cN...c1),其中N是預(yù)約表列數(shù)減1,也能夠是禁止表中最大元素。第i個分量取值標準為:本例中C=(101100)第104頁.3.20計算機系統(tǒng)結(jié)構(gòu)105

動態(tài)沖突向量 (初值000000)右移存放器: 0010110 右移出0“或”運算器: 按位“或” 0接通

1斷開常量發(fā)生器: 101100 原始沖突向量時鐘輸入 流水線 任務(wù)排隊1.每個時鐘脈沖使流水線中現(xiàn)有任務(wù)前深入,也使右移存放器移出一位;2.假如新任務(wù)進入,則用它原始沖突向量與右移存放器內(nèi)容相“或”。使用沖突向量C實現(xiàn)調(diào)度原理圖第105頁.3.20計算機系統(tǒng)結(jié)構(gòu)106第4步.作狀態(tài)轉(zhuǎn)移圖(P299圖5.51)這是為了研究無窮多個任務(wù)時任務(wù)之間可能存在正當間隔情況。從表示方便考慮,用動態(tài)沖突向量作為狀態(tài)變量。詳細作圖方法是:(1)先畫“根結(jié)點”,它就是第一個任務(wù)進入后右移存放器狀態(tài),數(shù)值等于原始沖突向量;(2)分析當前結(jié)點各位,假如ci=0則發(fā)出一個旁標i值箭頭,ci=1則不能發(fā)出箭頭,因為1表示“禁止”。另外還發(fā)出一個旁標“N+1*”箭頭,“N+1*”意為“≥N+1”;(3)每個箭頭末端產(chǎn)生一個新結(jié)點,其狀態(tài)等于原結(jié)點狀態(tài)右移i位后與原始沖突向量相“或”;(4)假如新結(jié)點狀態(tài)與已經(jīng)有結(jié)點重復(fù),則取消它,箭頭指向已經(jīng)有那個結(jié)點。第106頁.3.20計算機系統(tǒng)結(jié)構(gòu)107第5步.作平均延遲拍數(shù)表(P300表5.1)(1)在狀態(tài)轉(zhuǎn)移圖中尋找全部簡單循環(huán)填入右表第1欄。所謂簡單循環(huán)是指其中各結(jié)點僅經(jīng)過一次閉合路徑。注意它不一定要經(jīng)過根結(jié)點;(2)計算各簡單循環(huán)平均間隔拍數(shù)填入右表第2欄。平均間隔拍數(shù)等于該簡單循環(huán)中全部數(shù)字之和除以數(shù)字個數(shù);(3)取平均延遲拍數(shù)最少方案作為最優(yōu)方案。本例為(1,1,7);(4)調(diào)度機構(gòu)實現(xiàn):計數(shù)器加譯碼電路。本例可用模9計數(shù)器,譯碼條件是計數(shù)值等于0、1、2時允許進入流水線。第107頁.3.20計算機系統(tǒng)結(jié)構(gòu)108第108頁.3.20計算機系統(tǒng)結(jié)構(gòu)109右移相"或"運算示例(以教材P299圖5.51右下角結(jié)點為例):結(jié)果成為該結(jié)點上面新結(jié)點。第109頁.3.20計算機系統(tǒng)結(jié)構(gòu)1105.5.2改變流水線結(jié)構(gòu)優(yōu)化調(diào)度方法──預(yù)留算法(P301)目標:等間隔最小延遲調(diào)度方案方法:插入延遲器件第1步,確定相鄰任務(wù)間隔拍數(shù):因為最小間隔拍數(shù)是一行內(nèi)“×”最大數(shù)目(第11行),取最小間隔拍數(shù)。第2步,確定插入延遲器件位置標準(P302第2行):從第一個“×”開始,凡是相距最小間隔拍數(shù)整倍數(shù)位置“×”都要向后推遲。實例(P301倒數(shù)第7行): 1.確定間隔拍數(shù)(最多3個“×”,所以是3拍); 2.插入延遲器件(使各行“×”間距不為3倍數(shù)); 3.修改預(yù)約表(P302圖5.53(a)); 4.寫調(diào)度方案(3)。 (示意圖見下頁)第110頁.3.20計算機系統(tǒng)結(jié)構(gòu)111第111頁.3.20計算機系統(tǒng)結(jié)構(gòu)1125.6超標量/超流水/超長指令字/超線程技術(shù)(P320) 本節(jié)學(xué)習(xí)其它指令級并行技術(shù)。主要內(nèi)容有多操作部件技術(shù)、超標量技術(shù)、超流水技術(shù)、超長指令字技術(shù)、超線程技術(shù)。下面是一些相關(guān)名詞術(shù)語(P253)標量處理機,超標量處理機:標量處理機指只能進行標量運算處理機,超標量處理機指能在一個時鐘周期內(nèi)同時發(fā)射多條指令處理機;指令級并行技術(shù):指能使多條指令并行執(zhí)行技術(shù),包含流水技術(shù)、多操作部件技術(shù)和超長指令字技術(shù);流水線處理機,超流水線處理機:流水線處理機指用流水作業(yè)方式并行解釋多條指令處理機,超流水線處理機指能在一個時鐘周期內(nèi)分時發(fā)射多條指令處理機;超長指令字技術(shù)VLIW:指讓一條指令包含多個獨立操作字段,而且分別控制多個功效部件并行工作技術(shù)。第112頁.3.20計算機系統(tǒng)結(jié)構(gòu)1135.6.1多操作部件處理機(P321倒數(shù)第2段)。它是經(jīng)過“設(shè)備并聯(lián)”技術(shù)擴充單流水線,被擴充部件通常是運算部件、訪存部件等“瓶頸”部件。多操作部件技術(shù)發(fā)展到多流水線,就成為“超標量技術(shù)”技術(shù)。第113頁.3.20計算機系統(tǒng)結(jié)構(gòu)1145.6.2超標量技術(shù):一個時鐘節(jié)拍內(nèi)同時發(fā)射多條指令(P324倒2行)。時空圖見P323圖5.71(b)。第114頁.3.20計算機系統(tǒng)結(jié)構(gòu)1155.6.3超流水技術(shù):一個時鐘節(jié)拍內(nèi)分時發(fā)射多條指令(P333第1行)。時空圖見P333圖5.79。第115頁.3.20計算機系統(tǒng)結(jié)構(gòu)1165.6.4超長指令字技術(shù)VLIW(P253)把多條無相關(guān)關(guān)系常規(guī)指令儲存在一個超長指令字中,讓它們同時被處理,分別控制多個功效部件并行工作技術(shù)。這種技術(shù)實質(zhì),是把超標量技術(shù)中相關(guān)性識別任務(wù),由CPU硬件轉(zhuǎn)移給程序員或編譯程序去實現(xiàn)。第116頁.3.20計算機系統(tǒng)結(jié)構(gòu)1175.6.5超線程技術(shù)HT通俗了解就是將一顆含有超線程功效“實體”處理器虛擬成兩個“邏輯”處理器,讓多個應(yīng)用程序或單一應(yīng)用程序多個線程,能夠同時在同一顆處理器上執(zhí)行。超線程技術(shù)優(yōu)點是提升了CPU中關(guān)鍵資源利用率,過去因為很多原因,CPU執(zhí)行單元并沒有被充分使用。在超線程運行方式下,該利用率可提升30~40%(最高65%),也就是說CPU在一樣時間里可多執(zhí)行相同倍數(shù)指令,其性能能夠與含雙處理器系統(tǒng)相媲美,但含有低得多價格。為了同時執(zhí)行多個線程,使用超線程技術(shù)新一代P4HT處理器需要增加一個邏輯處理器單元。所以面積比以往P4增大了5%。而其余部分如ALU(整數(shù)運算單元)、FPU(浮點運算單元)、L2Cache(二級緩存)則保持不變,這些部分是被分享。即使采取超線程技術(shù)能同時執(zhí)行兩個線程,但它并不象兩個真正CPU那樣,每個CPU都含有獨立資源。當兩個線程都同時需要某一個資源時,其中一個要暫時停頓,并讓出資源,直到這些資源閑置后才能繼續(xù)。所以超線程性能并不等于兩顆CPU性能。含有超線程技術(shù)CPU需要主板(包含芯片組和BIOS)、軟件(包含操作系統(tǒng)和應(yīng)用軟件,如XP)支持,才能比較理想地發(fā)揮該項技術(shù)優(yōu)勢。第117頁.3.20計算機系統(tǒng)結(jié)構(gòu)1185.7精簡指令系統(tǒng)(RISC)技術(shù)(P111)什么是RISC?(P107)CISC和RISC是指令系統(tǒng)設(shè)計兩種思緒,前者重視功效多,后者重視速度快。雙方各自發(fā)展了很多特色技術(shù)。

RISC主要用于工作站和其它高性能計算機,以UNIX操作系統(tǒng)為主。IBM-PC個人計算機以CISC為主,吸收了RISC若干適宜技術(shù)。20%與80%規(guī)律(P112)

統(tǒng)計表明,CISC中20%慣用指令使用率高達80%,其它都是非慣用指令。

RISC定義與特點(P115)①一個周期;②一個訪存尋址方式;③硬聯(lián)譯碼;④簡化指令;⑤固定指令格式;⑥優(yōu)化譯碼。降低CPI是RISC思想精華(P116)

分析公式:T=IC·

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論