版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章 計算機系統(tǒng)結(jié)構(gòu)的基本概念從處理數(shù)據(jù)的角度看,并行級別有位串字串,位并字串,位片串字并,全并行。位串字串和位并字串基本上構(gòu)成了SIMD。位片串字并的例子有:相聯(lián)處理機STARAN,MPP。全并行的例子有:陣列處理機ILLIACIV。從加工信息的角度看,并行級別有存儲器操作并行,處理器操作步驟并行,處理器操作并行,指令、任務(wù)、作業(yè)并行。存儲器操作并行是指可以在一個存儲周期并行讀出多個CPU字的,采用單體多字、多體單字或多體多字的交叉訪問主存系統(tǒng),進(jìn)而采用按容訪問方式,位片串字并或全并行方式,在一個主存周期實現(xiàn)對存儲器量字的高速并行操作。例子有并行存儲器系統(tǒng),以相聯(lián)存儲器為核心構(gòu)成的相聯(lián)處理機。處理器操作步驟并行是指在并行性概念中引入時間因素,讓多個處理過程在時間上錯開,輪流重復(fù)地執(zhí)行使用同一套設(shè)備的各個部分,加快硬件周轉(zhuǎn)來贏得速度。例子有流水線處理機。處理器操作并行是指一個指令部件同時控制多個處理單元,實現(xiàn)一條指令對多個數(shù)據(jù)的操作。擅長對向量、數(shù)組進(jìn)行處理。例子有陣列處理機。指令、任務(wù)、作業(yè)并行是指多個獨立的處理機分別執(zhí)行各自的指令、任務(wù)、作業(yè)。例子有多處理機,計算機網(wǎng)絡(luò),分布處理系統(tǒng)。并行性的開發(fā)途徑有時間重疊(TimeInterleaving),資源重復(fù)(ResourceReplication) ,資源共享(ResourceSharing)。時間重疊是指在并行性概念中引入時間因素,讓多個處理過程在時間上錯開,輪流重復(fù)地執(zhí)行使用同一套設(shè)備的各個部分,加快硬件周轉(zhuǎn)來贏得速度。例子有流水線處理機。資源重復(fù)是指一個指令部件同時控制多個處理單元,實現(xiàn)一條指令對多個數(shù)據(jù)的操作。例子有陣列處理機,相聯(lián)處理機。資源共享是指用軟件方法讓多個用戶按一定時間順序輪流使用同一套資源以提高資源的利用率,從而提高系統(tǒng)性能。例子有多處理機,計算機網(wǎng)絡(luò),分布處理系統(tǒng)。SISD: 一個指令部件控制一個操作部件,實現(xiàn)一條指令對一個數(shù)據(jù)的操作。例子有傳統(tǒng)的單處理機 SIMD: 一個指令部件同時控制多個處理單元,實現(xiàn)一條指令對多個數(shù)據(jù)的操作。例子有陣列處理機,相聯(lián)處理機。 MIMD:多個獨立的處理機分別執(zhí)行各自的指令、任務(wù)、作業(yè),實現(xiàn)指令、任務(wù)、作業(yè)并行的多機系統(tǒng),是多個SISD的集合,也稱多倍SISD系統(tǒng)(MSISD)。例子有多處理機,計算機網(wǎng)絡(luò),分布處理系統(tǒng)。exercises:1.有一臺經(jīng)解釋實現(xiàn)的計算機,可以按功能劃分成4級,每一級為了執(zhí)行一條指令,需要下一級的N條指令來解釋。如果執(zhí)行第1級的一條指令要Kns時間,那么執(zhí)行第2、第3和第4級的一條指令各需要用多少時間?解答:執(zhí)行第2、第3和第4級的一條指令各需要KNns、KNA2ns、KW3ns的時間。.有一個計算機系統(tǒng)可按功能分成4級,每級的指令互不相同,每一級的指令都比其下一級的指令在效能上強M倍,即第i級的一條指令能完成第i-1級的M條指令的計算量?,F(xiàn)若需第i級的N條指令解釋第i+1級的一條指令,而有一段第1級的程序需要運行Ks,問在第2、3和4級上一段等效程序各需要運行多長時間?答:第2級上等效程序需運行:(N/M)*Ks。第3級上等效程序需運行:(N/M)*(N/M)*Ks 。第4級上等效程序需運行:(N/M)*(N/M)*(N/M)*Ks 。note: 由題意可知:第i級的一條指令能完成第i-1級的M條指令的計算量。而現(xiàn)在第i級有N條指令解釋第i+1級的一條指令,那么,我們就可以用N/M來表示N/M表示第i+1級需(N/M)條指令來完成第i級的計算量。所以,當(dāng)有一段第1級的程序需要運行Ks時,在第2級就需要(N/M)Ks,以此類推.硬件和軟件在什么意義上是等效的?在什么意義上又是不等效的?試舉例說明。答:軟件和硬件在邏輯功能上是等效的,原理上,軟件的功能可用硬件或固件完成,硬件的功能也可用軟件模擬完成。但是實現(xiàn)的性能價格比,實現(xiàn)的難易程序不同。在DOS操作系統(tǒng)時代,漢字系統(tǒng)是一個重要問題,早期的漢字系統(tǒng)的字庫和處理程序都固化在漢卡(硬件)上,而隨著CPU、硬盤、存技術(shù)的不斷發(fā)展,UCDOS把漢字系統(tǒng)的所有組成部份做成一個軟件。.試以實例說明計算機系統(tǒng)結(jié)構(gòu)、計算機組成與計算機實現(xiàn)之間的相互關(guān)系與影響。答:計算機系統(tǒng)結(jié)構(gòu)、計算機組成、計算機實現(xiàn)互不相同,但又相互影響。(1)計算機的系統(tǒng)結(jié)構(gòu)相同,但可采用不同的組成。如IBM370系歹U有115、125、135、158、168等由低檔到高檔的多種型號機器。從匯編語言、機器語言程序設(shè)計者看到的概念性結(jié)構(gòu)相同,均是由中央處理機/主存,通道、設(shè)備控制器,外設(shè)4級構(gòu)成。其中,中央處理機都有相同的機器指令和匯編指令系統(tǒng),只是指令的分析、執(zhí)行在低檔機上采用順序進(jìn)行,在高檔機上采用重疊、流水或其它并行處理方式。(2)相同的組成可有多種不同的實現(xiàn)。如主存器件可用雙極型的,也可用 MOS型的;可用VLSI單片,也可用多片小規(guī)模集成電路組搭。(3)計算機的系統(tǒng)結(jié)構(gòu)不同,會使采用的組成技術(shù)不同,反之組成也會影響結(jié)構(gòu)。如為實現(xiàn)A:=B+CDkE*F,可采用面向寄存器的系統(tǒng)結(jié)構(gòu),也可采用面向主存的三地址尋址方式的系統(tǒng)結(jié)構(gòu)。要提高運行速度,可讓相加與相乘并行,為此這兩種結(jié)構(gòu)在組成上都要求設(shè)置獨立的加法器和乘法器。但對面向寄存器的系統(tǒng)結(jié)構(gòu)還要求寄存器能同時被訪問,而對面向主存的三地址尋址方式的系統(tǒng)結(jié)構(gòu)并無此要求,倒是要求能同時形成多個訪存操作數(shù)地址和能同時訪存。又如微程序控制是組成影響結(jié)構(gòu)的典型。通過改變控制存儲器中的微程序,就可改變系統(tǒng)的機器指令,改變結(jié)構(gòu)。如果沒有組成技術(shù)的進(jìn)步,結(jié)構(gòu)的進(jìn)展是不可能的。綜上所述,系統(tǒng)結(jié)構(gòu)的設(shè)計必須結(jié)合應(yīng)用考慮,為軟件和算法的實現(xiàn)提供更多更好的支持,同時要考慮可能采用和準(zhǔn)備采用的組成技術(shù)。應(yīng)避免過多地或不合理地限制各種組成、實現(xiàn)技術(shù)的采用和發(fā)展,盡量做到既能方便地在低檔機上用簡單便宜的組成實現(xiàn),又能在高檔機上用復(fù)雜較貴的組成實現(xiàn),這樣,結(jié)構(gòu)才有生命力;組成設(shè)計上面決定于結(jié)構(gòu),下面受限于實現(xiàn)技術(shù)。然而,它可與實現(xiàn)折衷權(quán)衡。例如,為達(dá)到速度要求,可用簡單的組成但卻是復(fù)雜的實現(xiàn)技術(shù),也可用復(fù)雜的組成但卻是一般速度的實現(xiàn)技術(shù)。前者要求高性能的器件,后者可能造成組成設(shè)計復(fù)雜化和更多地采用專用芯片。組成和實現(xiàn)的權(quán)衡取決于性能價格比等因素;結(jié)構(gòu)、組成和實現(xiàn)所包含的具體容隨不同時期及不同的計算機系統(tǒng)會有差異。軟件的硬化和硬件的軟件都反映了這一事實。VLSI的發(fā)展更使結(jié)構(gòu)組成和實現(xiàn)融為一體,難以分開。.什么是透明性概念?對計算機系統(tǒng)結(jié)構(gòu),下列哪些是透明的?哪些是不透明的?存儲器的模m交叉存??;浮點數(shù)據(jù)表示;I/O系統(tǒng)是采用通道方式還是外圍處理機方式;數(shù)據(jù)總線寬度;字符行運算指令;陣列運算部件;通道是采用結(jié)合型還是獨立型;PDP-11系列的單總線結(jié)構(gòu);訪問方式保護(hù);程序性中斷;串行、重疊還是流水控制方式;堆棧指令;存儲器最小編址單位;Cache存儲器。答:透明指的是客觀存在的事物或?qū)傩詮哪硞€角度看不到。透明的有:存儲器的模m交叉存??;數(shù)據(jù)總線寬度;陣列運算部件;通道是采用結(jié)合型還是獨立型;PDP-11系列的單總線結(jié)構(gòu)串行、重疊還是流水控制方式;Cache存儲器。不透明的有:浮點數(shù)據(jù)表示;I/O系統(tǒng)是采用通道方式還是外圍處理機方式;字符行運算指令;訪問方式保護(hù);程序性中斷;;堆棧指令;存儲器最小編址單位。.從機器(匯編)語言程序員看,以下哪些是透明的?指令地址寄存器;指令緩沖器;時標(biāo)發(fā)生器;條件寄存器;乘法器;主存地址寄存器;磁盤外設(shè);先行進(jìn)位鏈;移位器;通用寄存器;中斷字寄存器。答:透明的有:指令緩沖器、時標(biāo)發(fā)生器、乘法器、先進(jìn)先出鏈、移位器、主存地址寄存器。.下列哪些對系統(tǒng)程序員是透明的?哪些對應(yīng)用程序員是透明的?系列機各檔不同的數(shù)據(jù)通路寬度;虛擬存儲器;Cache存儲器;程序狀態(tài)字;'啟動I/O”指令;’執(zhí)行"指令;指令緩沖寄存器。答:對系統(tǒng)程序員透明的有:系列機各檔不同的數(shù)據(jù)通路寬度;Cache存儲器;指令緩沖寄存器;對應(yīng)用程序員透明的有:系列機各檔不同的數(shù)據(jù)通路寬度;Cache存儲器;指令緩沖寄存器;虛擬存儲器;程序狀態(tài)字;啟動I/O”指令。note:系列機各檔不同的數(shù)據(jù)通路寬度、Cache存貯器、指令緩沖寄存器屬于計算機組成,對系統(tǒng)和程序員和應(yīng)用程序員都是透明的。虛擬存貯器、程序狀態(tài)字、’啟動I/O”指令,對系統(tǒng)程序員是不透明的,而對應(yīng)用程序員卻是透明的。 ‘執(zhí)行”指令則對系統(tǒng)程序員和應(yīng)用程序員都是不透明的。.想在系列機中發(fā)展一種新型號機器,你認(rèn)為下列哪些設(shè)想是可以考慮的,哪些則不行的?為什么?新增加字符數(shù)據(jù)類型和若干條字符處理指令,以支持事務(wù)處理程序的編譯。(2)為增強中斷處理功能,將中斷分級由原來的4級增加到5級,并重新調(diào)整中斷響應(yīng)的優(yōu)先次序。(3)在CPU和主存之間增設(shè)Cache存儲器,以克服因主存訪問速率過低而造成的系統(tǒng)性能瓶頸。(4)為解決計算誤差較大,將機器中浮點數(shù)的下溢處理方法由原來的恒置“1”法,改為用ROM存取下溢處理結(jié)果的查表舍入法。(5)為增加尋址靈活性和減少平均指令字長,將原等長操作碼指令改為有3類不同碼長的擴(kuò)展操作碼;將源操作數(shù)尋址方式由操作碼指明改成如VAX-11那種設(shè)尋址方式位字段指明。(6)將CPU與主存間的數(shù)據(jù)通路寬度由16位擴(kuò)展成32位,以加快主機部信息的傳送。(7)為減少公用總路線的使用沖突,將單總線改為雙總線。(8)把原0號通用寄存器改作堆棧指示器。答:可以考慮的有:1,3,4,6,7 。不可以考慮的有:2,5,8。原則是看改進(jìn)后能否保持軟件的可移植性。P.S. 為了能使軟件長期穩(wěn)定,就要在相當(dāng)長的時期里保證系統(tǒng)結(jié)構(gòu)基本不變,因此在確定系列結(jié)構(gòu)時要非常慎重。其中最主要是確定好系列機的指令系統(tǒng)、數(shù)據(jù)表示及概念性結(jié)構(gòu)。既要考慮滿足應(yīng)用的各種需要和發(fā)展,又要考慮能方便地采用從低速到高速的各種組成的實現(xiàn)技術(shù),即使用復(fù)雜、昂貴的組成實現(xiàn)時,也還能充分發(fā)揮該實現(xiàn)方法所帶來的好處。.并行處理計算機除分布處理、MPP和機群系統(tǒng)外,有哪4種基本結(jié)構(gòu)?列舉它們各自要解決的主要問題。答:除了分布處理,MPP和機群系統(tǒng)外,并行處理計算機按其基本結(jié)構(gòu)特征可分為流水線計算機,陣列處理機,多處理機和數(shù)據(jù)流計算機四種不同的結(jié)構(gòu)。流水線計算機主要通過時間重疊,讓多個部件在時間上交劃重疊地并行招待運算和處理,以實現(xiàn)時間上的并行。它主要應(yīng)解決:擁塞控制,沖突防止,流水線調(diào)度等問題。陣列處理機主要通過資源重復(fù)實現(xiàn)空間上的并行。它主要應(yīng)解決:處理單元靈活、規(guī)律的互連模式和互連網(wǎng)絡(luò)設(shè)計,數(shù)據(jù)在存儲器中的分布算法等問題。多處理機主要通過資源共享,讓一組計算機在統(tǒng)一的操作系統(tǒng)全盤控制下,實現(xiàn)軟件和硬件各級上的相互作用,達(dá)到時間和空間上的異 步并行。它主要應(yīng)解決:處理機間互連等硬件結(jié)構(gòu),進(jìn)程間的同上步和通訊,多處理機調(diào)度等問題。數(shù)據(jù)流計算機設(shè)有共享變量的概念,指令執(zhí)行順序只受指令中數(shù)據(jù)的相關(guān)性制約。數(shù)據(jù)是以表示某一操作數(shù)或參數(shù)已準(zhǔn)備就緒的數(shù)據(jù)令牌直接在指令之間傳遞。它主要應(yīng)解決:研究合適的硬件組織和結(jié)構(gòu),高效執(zhí)行的數(shù)據(jù)流語言等問題。.計算機系統(tǒng)的3T性能目標(biāo)是什么?答:計算機系統(tǒng)的3T性能目標(biāo)是1TFLOPS計算能力,1TBYTE主存容量和1TBYTES的I/O帶寬第二章數(shù)據(jù)表示與指令系統(tǒng)1.尾數(shù)的rm進(jìn)制數(shù)位m'和尾數(shù)的二進(jìn)制數(shù)位m的關(guān)系存在m'=m/log2(rm)這種關(guān)系是因為,在機器中,一個rm進(jìn)制的數(shù)位是用log2(rm) 個機器數(shù)位來表示的。假設(shè)rm=8,尾數(shù)為20,則m'=2,八進(jìn)制數(shù)20轉(zhuǎn)換成二進(jìn)制數(shù)為10000,其二進(jìn)制數(shù)位,即機器數(shù)位m=5。2=5/log2(8) 。note: 這里的等號并不表示純粹數(shù)學(xué)意義上的等于”。2.可表示的尾數(shù)個數(shù)公式 rmAm'(rm-1)/rm 。對于rm進(jìn)制的數(shù)來說,每個數(shù)位均可以有0到rm-1,即rm個碼。m'個rm進(jìn)制數(shù)位共有rmAm'種編碼。但課本中討論的是規(guī)格化數(shù),即尾數(shù)的小數(shù)點后第一個數(shù)位不為零的數(shù),所以,應(yīng)該去掉小數(shù)點后第一個數(shù)位是0的那些非規(guī)格化的數(shù)。顯然,非規(guī)格化數(shù)的個數(shù)占了全部尾數(shù)編碼總數(shù)的1/rm的比例,所以可表示的浮點數(shù)規(guī)格化的尾數(shù)個數(shù)應(yīng)該是:rmAm'(1-1/rm)。exercises:1.某模型時機共有7種指令,各指令使用頻率分別為0.35,0.25,0.20,0.10,0.05,0.03,0.02,有8個通用數(shù)據(jù)寄存器和2個變址寄存器。(1)要求操作碼的平均長最短,請設(shè)計操作碼的編碼,并計算所設(shè)計操作碼的平均長。(4分)(2)設(shè)計8位長度的寄存器-寄存器型指令3種,16位長度的寄存器-存儲器變址尋址方式指令4條,變址圍不小于正、負(fù)127。請寫出指令格式,并給出各字段的長度和操作碼編碼。(6分)解答:(1)全Huffman編碼的平均碼長是可用的二進(jìn)制位編碼中平均碼長最短的編碼。全Huffman編碼的平均碼長=2*(0.35+0.25+0.20)+3*0.10+4*0.05+5*(0.02+0.03)=2.35(2)由于有8個通用數(shù)據(jù)寄存器和2個變址寄存器,所以通用寄存器用3位表示,變址寄存器用1位表示,8位的寄存器-寄存器型指令,3個操作碼編碼為00、01、10,16位的寄存器-存儲器變址尋址方式指令,4個操作碼編碼為1100、1101、1110>1111,2位3位3位OPR1R2操作碼寄存器1寄存器24位3位1位8位OPR1Xd操作碼寄存器1變址寄存器相對位移主存邏輯地址.數(shù)據(jù)結(jié)構(gòu)和機器的數(shù)據(jù)表示之間是什么關(guān)系?確定和引入數(shù)據(jù)表示的基本原則是什么?答:數(shù)據(jù)表示是能由硬件直接識別和引用的數(shù)據(jù)類型。數(shù)據(jù)結(jié)構(gòu)反映各種數(shù)據(jù)元素或信息單元之間的結(jié)構(gòu)關(guān)系。數(shù)據(jù)結(jié)構(gòu)要通過軟件映象變換成機器所具有的各種數(shù)據(jù)表示實現(xiàn),所以數(shù)據(jù)表示是數(shù)據(jù)結(jié)構(gòu)的組成元素。不同的數(shù)據(jù)表示可為數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)提供不同的支持,表現(xiàn)在實現(xiàn)效率和方便性不同。數(shù)據(jù)表示和數(shù)據(jù)結(jié)構(gòu)是軟件、硬件的交界面。除基本數(shù)據(jù)表示不可少外,高級數(shù)據(jù)表示的引入遵循以下原則:(1)看系統(tǒng)的效率有否提高,是否養(yǎng)活了實現(xiàn)時間和存儲空間。(2)看引入這種數(shù)據(jù)表示后,其通用性和利用率是否.標(biāo)志符數(shù)據(jù)表示與描述符數(shù)據(jù)表示有何區(qū)別?描述符數(shù)據(jù)表示與向量數(shù)據(jù)表示對向量數(shù)據(jù)結(jié)構(gòu)所提供的支持有什么不同?答:標(biāo)志符數(shù)據(jù)表示與描述符數(shù)據(jù)表示的差別是標(biāo)志符與每個數(shù)據(jù)相連,合存于同一存儲單元,描述單個數(shù)據(jù)的類型特性;描述符是與數(shù)據(jù)分開存放,用于描述向量、數(shù)組等成塊數(shù)據(jù)的特征。描述符數(shù)據(jù)表示為向量、數(shù)組的的實現(xiàn)提供了支持,有利于簡化高級語言程序編譯中的代碼生成,可以比變址法更快地形成數(shù)據(jù)元素的地址。但描述符數(shù)據(jù)表示并不支持向量、數(shù)組數(shù)據(jù)結(jié)構(gòu)的高效實現(xiàn)。而在有向量、數(shù)組數(shù)據(jù)表示的向量處理機上,硬件上設(shè)置有豐富的賂量或陣列運算指令,配有流水或陣列方式處理的高速運算器,不僅能快速形成向量、數(shù)組的元素地址,更重要的是便于實現(xiàn)把向量各元素成塊預(yù)取到中央處理機,用一條向量、數(shù)組指令流水或同時對整個向量、數(shù)組高速處理.如讓硬件越界判斷與元素運算并行。這些比起用與向量、陣列無關(guān)的機器語言和數(shù)據(jù)表示串行實現(xiàn)要高效的多。.堆棧型機器與通用寄存器型機器的主要區(qū)別是什么?堆棧型機器系統(tǒng)結(jié)構(gòu)為程序調(diào)用的哪些操作提供了支持?答:通用寄存器型機器對堆棧數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的支持是較差的。表現(xiàn)在:(1)堆棧操作的指令少,功能單一;(2)堆棧在存儲器,訪問堆棧速度低;(3)堆棧通常只用于保存于程序調(diào)用時的返回地址,少量用堆棧實現(xiàn)程序間的參數(shù)傳遞。而堆棧型機器則不同,表現(xiàn)在:(1)有高速寄存器組成的硬件堆棧,并與主存中堆棧區(qū)在邏輯上組成整體,使堆棧的訪問速度是寄存器的,容量是主存的;(2)豐富的堆棧指令可對堆棧中的數(shù)據(jù)進(jìn)行各種運算和處理;(3)有力地支持高級語言的編譯;(4)有力地支持子程序的嵌套和遞歸調(diào)用。堆棧型機器系統(tǒng)結(jié)構(gòu)有力地支持子程序的嵌套和遞歸調(diào)用。在程序調(diào)用時將返回地址、條件碼、關(guān)鍵寄存器的容等全部壓入堆棧,待子程序返回時,再從堆棧中彈出。.設(shè)某機階值6位、尾數(shù)48位,階符和數(shù)符不在其,當(dāng)尾數(shù)分另以2、8、16為基時,在非負(fù)階、正尾數(shù)、規(guī)格化數(shù)情況下,求出其最小階、最大階、階的個數(shù)、最小尾數(shù)值、最大尾數(shù)值、可表示的最小值和最大值及可表示的規(guī)格化數(shù)的總個數(shù)。解:依題意知:p=6m=48rm=2,8,16 ,m'=m/log2(rm),列下表:p=6,m=48,rm=2(m'=48)p=6,m=48,rm=8(m'=16)p=6,m=48,rm=16(m'=12)最小階(非負(fù)階,最小為0)000取大階(2Ap-1)2A6-12A6-12A6-1最小尾數(shù)值(rmA(-1))1/21/81/16取大尾數(shù)值(1-rmA(-m'))1-2A(-48)1-8人(-16),即(1-2人(-48))1-16A(-12),即(1-2人(-48))可表示的最小值1/21/81/16可表示的取大值2A63*(1-2人(-48))8A63*(1-8A(-16))16A63*(1-16A(-12))階的個數(shù)Dp)2A62A62A6可表示的尾數(shù)的個數(shù)2A48*(2-1)/28A16*(8-1)/816A12*(16-1)/16可表示的規(guī)格化數(shù)的個數(shù)2A6*2人48*(2-1)/22A6*8人16*(8-1)/82A6*16人12*(16-1)/16note: 可表示的最小值=rmA(最小階)*最小尾數(shù)值=rmA0*rmA(-1)=rmA(-1);可表木的最大值=rmA(最大階)*最大尾數(shù)值=rmA(2Ap-1)*(1-rmA(-m'));可表示的尾數(shù)的個數(shù)=rmAm'*(rm-1)/rm;可表示的規(guī)格化數(shù)的個數(shù)二階的個數(shù)*尾數(shù)的個數(shù)=2Ap*rmAm'*(rm-1)/rm。5.(1)浮點數(shù)系統(tǒng)使用的階基rp=2,階值位數(shù)p=2,尾數(shù)基值rm=10,以rm為基的尾數(shù)位數(shù)m''=1,按照使用的倍數(shù)來說,等價于m=4,試計算在非負(fù)階、正尾數(shù)、規(guī)格化情況下的最小尾數(shù)值、最大尾數(shù)值、最大階值、可表示的最小值和最大值及可表示數(shù)的個數(shù)。(2)對于
rp=2,p=2,rm=4,m'=2,重復(fù)以上計算。解: 依題意列下表:p=2,rm=10,m'=1p=2,rm=4,m'=2p=2,rm=10,m'=1p=2,rm=4,m'=2141隹、X10A-1=0.14A-1=0.2511隹k-X11-10A-1=0.91-41-2=15/16最大價值2pA-1=33可表小的最小值0.10.25可表小的最大值10A3*0.9=9004A3*15/16=60法d白/彳X3648說,等價于m=4,"這個m=4,因為2A3<10<2人4, 等價為實際要4個二進(jìn)制位,表示RM=10為基的一位6.由4位數(shù)(其中最低位為下溢附加位)經(jīng)ROM查表舍入法,下溢處理成3位結(jié)果,設(shè)計使下溢處理平均誤差接近于零的ROM表,列出ROM編碼表地址與容的對應(yīng)關(guān)系。解:ROM編碼表地址與容的對應(yīng)關(guān)系地址0000000100100()110100010地址0000000100100()1101000109.若1裂10反機要槐如11A求:三地址#淵0。25511泠01逆0-卜為411容000001001010010見于日011/、12后/16011人..每彳小O"馬陟人力1013位101O1107.變址尋址和基址尋址各適用于何種場合?設(shè)計一種只用答:基址尋址是對邏輯地址空間到物理地址空間變換的支持,以利于實現(xiàn)程序的動態(tài)再定位。變址尋址是對數(shù)組等數(shù)據(jù)塊運算的支持,以利于循環(huán)。將址空間64個地址分塊,用基址寄存器指出程序所在塊號,用指令中6位地址碼表示該塊64個地址之一,這樣基址和變址相結(jié)合可訪問址任意64個地址之一。比如地址空間很大,為0-1023,只用6位地址碼就可以指向這1024個地址中的任意64個。剖析:比如地址空間很大,1024,就是分成16個塊,塊號放在寄存器中,塊地址放在地址位中,寄存器容和地址位結(jié)合,就能達(dá)到要求了。8.經(jīng)統(tǒng)計,某機器14條指令的使用頻度分別為:0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分別求出用等長碼、Huffman碼、只有兩種碼長的擴(kuò)展操作碼3種編碼方式的操作碼平均碼長。解:等長操作碼的平均碼長=4位;Huffman 編碼的平均碼長=3.38位;只有兩種碼長的擴(kuò)展操作碼的平均碼長=3.4位。問能否以擴(kuò)展操作碼為其編碼如果其中單地址指令為 254條呢?說明其理由。答:①不能用擴(kuò)展碼為其編碼。???指令字長12位,每個地址碼占3位;???三地址指令最多是2A(12-3-3-3)=8條,現(xiàn)三地址指令需4條,,可有4條編碼作為擴(kuò)展碼,單地址指令最多為4X2A3X2人3=2人8=256條,現(xiàn)要求單地址指令255條,,可有一■條編碼作擴(kuò)展碼,零地址指令最多為X2人3=8條不滿足題目要求不可能以擴(kuò)展碼為其編碼。②若單地址指令254條,可以用擴(kuò)展碼為其編碼。???依據(jù)①中推導(dǎo),單地址指令中可用2條編碼作為擴(kuò)展碼二?零地址指令為2*2人3
=16條,滿足題目要求note:三地址指令格式:操作碼地址碼地址碼地址碼3 位3位3位3位單地址指令格式:操作碼地址碼9 位3位所以前面9位由于三地址指令用了最前面3位,還有中間6位可作為編碼(也就是總共可以有9位作為單地址指令的指令操作碼的編碼)。減去3地址指令的4條,有4*2人6=256 條,但由于題目要求要有255條,所以剩下一個編碼,已經(jīng)用了9位的全部編碼,最后零地址指令(全部12位都可作為操作碼的編碼)還有1*2A3=8(這是12位編碼中最后三位的)若只要求254種,則可以有(256-254)*2人3=16條10.某機指令字長16位。設(shè)有單地址指令和雙地址指令兩類。若每個地址字段為 6位.且雙地址指令有X條。問單地址指令最多可以有多少條?答:單地址指令最多為(16-X)*2人6P.S. 雙地址指令最多是2A(16-6-6)=2A4=16條,現(xiàn)雙地址指令有X條,???可有(16-X)條編碼作為擴(kuò)展碼,單地址指令最多為(16-X)*2A6=256條11.何謂指令格式的優(yōu)化?簡要列舉包括操作碼和地址碼兩部分的指令格式優(yōu)化可采用的各種途徑和思路。答:指令格式的優(yōu)化指如何用最短位數(shù)表示指令的操作信息和地址信息,使程序中指令的平均字長最短。①操作碼的優(yōu)化采用Huffman編碼和擴(kuò)展操作碼編碼。②對地址碼的優(yōu)化:采用多種尋址方式;采用0、1、2、3等多種地址制;在同種地址制再采用多種地址形式,如寄存器-寄存器型、寄存器-主存型、主存-主存型等; 在維持指令字在存儲器按整數(shù)邊界存儲的前提下,使用多種不同的指令字長度。12.某模型機9條指令使用頻率為:ADD加)30%SUB(減)24%JOM皎負(fù)車t移)6%STO(存)7%JMP(轉(zhuǎn)移)7%SHR位移)2%CIL(循環(huán))3%CLA(清加)20%STP(停機)1%要求有兩種指令字長,都按雙操作數(shù)指令格式編排,采用擴(kuò)展操作碼,并限制只能有兩種操作碼碼長。設(shè)該機有若干通用寄存器,主存為16位寬,按字節(jié)編址,采用按整數(shù)邊界存儲。任何指令都在一個主存周期中取得,短指令為寄存器-寄存器型,長指令為寄存器-主存型,主存地址應(yīng)能變址尋址。(1)僅根據(jù)使用頻率,不考慮其它要求,設(shè)計出全Huffman操作碼,計算其平均碼長;(2)考慮題目全部要求,設(shè)計優(yōu)化實用的操作形式,并計算其操作碼的平均碼長(3)該機允許使用多少可編址的通用寄存器?(4)畫出該機兩種指令字格式,標(biāo)出各字段之位數(shù);(5)指出訪存操作數(shù)地址尋址的最大相對位移量為多少個字節(jié)?解: 第(1)和(2)中Huffman和擴(kuò)展操作碼的編碼及平均碼長如下表:指令I(lǐng)i使用頻度指令I(lǐng)i使用頻度PiHuiI130%I224%I320%I47%I57%I66%I73%I82%I91%西個馬pili兩種指令格式如下圖所示:2位3位3位OPR1R2操作碼寄存器1寄存器25位3位3位5位OPR1Xd操作碼寄存器1變址寄存器相對位移主存邏輯地址訪存操作數(shù)地址尋址的最大相對位移量為 32個字節(jié)。13.設(shè)計RISC機器的一般原則及可采用的基本技術(shù)有那些答:一般原則:確定指令系統(tǒng)時,只選擇使用頻度很高的指令及少量有效支持操作系統(tǒng),高級語言及其它功能的指令;減少尋址方式種類,一般不超過兩種;讓所有指令在一個機器周期完成;擴(kuò)大通用寄存器個數(shù),一般不少于32個,盡量減少訪存次數(shù);大多數(shù)指令用硬聯(lián)實現(xiàn),少數(shù)用微程序?qū)崿F(xiàn);優(yōu)化編譯程序,簡單有效地支持高級語言實現(xiàn)?;炯夹g(shù):按RISC一般原則設(shè)計,即確定指令系統(tǒng)時,選最常用基本指令,附以少數(shù)對操作系統(tǒng)等支持最有用的指令,使指令精簡。編碼規(guī)整,尋址方式種類減少到1、2種。邏輯實現(xiàn)用硬聯(lián)和微程序相結(jié)合。即大多數(shù)簡單指令用硬聯(lián)方式實現(xiàn),功能復(fù)雜的指令用微程序?qū)崿F(xiàn)。用重疊寄存器窗口。即:為了減少訪存,減化尋址方式和指令格式,簡單有效地支持高級語言中的過程調(diào)用,在RISC機器中設(shè)有大量寄存囂,井讓各過程的寄存器窗口部分重疊。用流水和延遲轉(zhuǎn)移實現(xiàn)指令,即可讓本條指令執(zhí)行與下條指令預(yù)取在時間上重疊。另外,將轉(zhuǎn)移指令與其前面的一條指令對換位置,讓成功轉(zhuǎn)移總是在緊跟的指令執(zhí)行之后發(fā)生,使預(yù)取指令不作廢,節(jié)省一個機器周期。優(yōu)化設(shè)計編譯系統(tǒng)。即盡力優(yōu)化寄存器分配,減少訪存次數(shù)。不僅要利用常規(guī)手段優(yōu)化編譯,還可調(diào)整指令執(zhí)行順序,以盡量減少機器周期等。14.簡要比較CISC機器和RISC機器各自的結(jié)構(gòu)特點,它們分別存在哪些不足和問題為什么說今后的發(fā)展應(yīng)是CISC和RISC的結(jié)合?答:CISC結(jié)構(gòu)特點:機器指令系統(tǒng)龐大復(fù)雜。RISC 結(jié)構(gòu)特點:機器指令系統(tǒng)簡單,規(guī)模小,復(fù)雜度低。CISC 的問題:指令系統(tǒng)龐大,一般200條以上;指令操作繁雜,執(zhí)行速度很低;難以優(yōu)化生成高效機器語言程序,編譯也太長,太復(fù)雜;由于指令系統(tǒng)龐大,指令的使用頻度不高,降低系統(tǒng)性能價格比,增加設(shè)計人員負(fù)擔(dān)。RISC 的問題;由于指令少,在原CISC上一條指令完成的功能現(xiàn)在需多條RISC指令才能完成,加重匯編語言程序設(shè)計負(fù)擔(dān),增加了機器語言程序長度,加大指令信息流量。對浮點運算和虛擬存儲支持不很強。(3)RISC編譯程序比CISC難寫。由于RISC和CISC各有優(yōu)缺點,在設(shè)計時,應(yīng)向著兩者結(jié)合,取長補短方向發(fā)展。第三章總線、中斷與輸入輸出系統(tǒng)中斷嵌套的原則:在處理某級中斷請求時,只能比它的中斷處理級別高的中斷請求才能中斷其處理,等呼應(yīng)和處理完后再繼續(xù)處理原先的那個中斷請求。為了領(lǐng)會中斷響應(yīng)排隊器對中斷響應(yīng)優(yōu)先次序是用硬件固定的,以及通過由操作系統(tǒng)給各中斷級服務(wù)程序現(xiàn)行程序狀態(tài)字中的中斷級屏蔽位設(shè)置不同的狀態(tài),可以改變中斷處理(完)的次序這兩個要點,下圖給出了一個中斷響應(yīng)硬件部分的簡單邏輯原理示意圖。圖中略去了某些實現(xiàn)上的具體細(xì)節(jié),因為這些已不是本課程要討論的容。中斷級屏蔽位是程序狀態(tài)字中的一個組成部分。程序狀態(tài)字是將散布于系統(tǒng)各部分,反映程序工作時某些關(guān)鍵性硬件的狀態(tài),組合在一起所構(gòu)成的字,有的計算機也稱其為處理器狀態(tài)字或程序換道區(qū)。每類程序均在主存中指定一個區(qū)域來放置其程序狀態(tài)字。運行一個程序或進(jìn)程時,就會將其程序狀態(tài)字從主存指定單元或區(qū)域取出送到分散于系統(tǒng)各部分的寄存器或計數(shù)器中,建立起運行此程序或進(jìn)程的環(huán)境。一個程序或進(jìn)程在退出運行時,也會將反映該程序狀態(tài)的這些寄存器或計數(shù)器容組拼成程序狀態(tài)字,存回該程序或進(jìn)程在主存中的指定單元或區(qū)域里。因此,程序或進(jìn)程的切換,只需要通過硬件啟動的交換新舊程序狀態(tài)字的容即可快速完成。例如,在舊M370系列機上,程序狀態(tài)字為64位,等于它的長字,交換程序狀態(tài)字只需硬件啟動寫長字和讀長字兩次訪存即可完成。盡管中斷請隨機發(fā)出的,為了便于精確保存中斷的斷點以及在中斷處理完后又能返回到原中斷處,中斷響應(yīng)排隊器總是在每條指令執(zhí)行到最后一個機器周期的最后一個時鐘周期時,對目前到達(dá)中斷響應(yīng)排隊器入口的所有中斷請求排一次隊,擇優(yōu)進(jìn)行響應(yīng)。在中斷響應(yīng)排隊器相應(yīng)的輸出端產(chǎn)生出響應(yīng)信號。此信號經(jīng)中斷級服務(wù)程序入口地址形成硬件,生成出該級中斷服務(wù)程序的程序狀態(tài)字在存區(qū)中所存放的地址。同時,經(jīng)中斷響應(yīng)控制信號啟動,進(jìn)行新舊程序狀態(tài)字的交換,完成程序的切換。被中斷的程序的斷點地址(即程序計數(shù)器的容),由硬件自動壓入返回地址堆棧,予以保存。系統(tǒng)切換到新的程序或進(jìn)程后,繼續(xù)運行下去。如果新的程序或進(jìn)程是一個中斷服務(wù)程序,在運行結(jié)束,執(zhí)行到中斷返回指令時,就會從堆棧中彈出所保存的返回地址,再次交換程序狀態(tài)字,系統(tǒng)又重新返回到原被中斷的程序,恢復(fù)運行。1.如何設(shè)置中斷級屏蔽位寄存器中的中斷屏蔽碼?設(shè)中斷級屏蔽位 “1”對應(yīng)于開放,“0”對應(yīng)于屏蔽。第i級中斷處理程序級別的各級中斷級屏蔽位中應(yīng)有i-1位設(shè)為“1”。舉例來說,第1級中斷處理程序級別的各級中斷級屏蔽位均應(yīng)設(shè)為“0”。響應(yīng)級別為n的中斷處理程序的n級中斷級屏蔽位應(yīng)設(shè)為“0”。設(shè)第i2級中斷處理程序級別的中斷處理級別高于第i1級中斷處理程序級別,根據(jù)中斷嵌套的原則,第i1級中斷處理程序級別的第i2級中斷級屏蔽位應(yīng)設(shè)為 “1”從而實現(xiàn)對第i2級中斷處理程序級別的開放。.對3.3.1 中中斷級屏蔽位舉例1的解釋1 ,2,3,4中斷同時出現(xiàn),進(jìn)行排隊器;按中斷響應(yīng)優(yōu)先級, 1最高,響應(yīng);1的屏蔽字為0000,所以1中斷執(zhí)行到結(jié)束,回用戶程序;剩下的2優(yōu)先級高,2響應(yīng),但其屏蔽字為 1011,允許響應(yīng)1、3、4,3的響應(yīng)優(yōu)先級高,所以;*2被中斷,3響應(yīng),但其屏蔽字為1001,允許響應(yīng)1、4,所以;4響應(yīng),執(zhí)行到結(jié)束,回3;3執(zhí)行到結(jié)束,回2;2 執(zhí)行到結(jié)束,回用戶程序。.怎樣題目中沒有說明的通道屬于哪一類型?有的題目中沒有說明談及的通道的類型,這種情況下,一般是指字節(jié)多路通道。1.簡要舉出集中式串行,定時查詢和獨立請求3種總線控制方式的優(yōu)缺點。同時分析硬件產(chǎn)生故障時通訊的可靠性。答:控制方式優(yōu)點缺點(1)對“總線可用”線及其有關(guān)電路失效敏感。(2)靈活性差,如⑴選擇果局優(yōu)先級的部算法簡件頻繁要求使用單??偩€,離總線控(2)控制制器遠(yuǎn)的部件就串行線數(shù)少,難以獲得總線使只需要3用權(quán)。根,且不(3)“總線可取決于部用”信號順序脈件數(shù)量。動地通過各個部⑶可擴(kuò)件,總線的分配充性好。速度慢。(4)受總線長度的限制,增減和移動部件受限制。(1)靈活性強,部件的優(yōu)先(1)總線的分配次序由程速度/、能很局。定序控制。(2)控制較為復(fù)時(2)可靠雜。查性高,不(3)控制線數(shù)多,詢會因某個需要2+log2N部件失效根。而影響其它部件使用總線。(4)可。充性差。獨(1)靈活(1)控制較為復(fù)性強,部雜。請求件的優(yōu)先(2)控制線數(shù)多,次序由程序控制。要控制N個設(shè)備,需要有2N+1(2)能方便地隔離失效部件的請求。⑶總線的分配速度快。根控制線。2、4中斷同時出現(xiàn),進(jìn)行排隊器。2.設(shè)中斷級屏蔽位"1'對應(yīng)于開放,“0”對應(yīng)于屏蔽,各級中斷處理程序的中斷級屏蔽位設(shè)置如下:3.若機器共有5級中斷,中斷響應(yīng)優(yōu)先次序為 1一2一3一4一5,中斷處理程序級
另I」中斷級屏蔽曲要求其實際的中斷處理次求首先響應(yīng)第2級中斷請i)o設(shè)十各級中斷處理程序的當(dāng)中斷響應(yīng)優(yōu)先次序為1一2一3一時,其中斷處理次序是什么?如果所有的中斷處理都各需3個單位時間,中斷響應(yīng)和中斷返回時間相對中斷處理時間少得多。當(dāng)機器正在運行用戶程序時,同時發(fā)生第2,3級中斷請求,過兩個單位時間,又同時發(fā)生第 1,4級中斷請求,試畫出程序運行過程示意圖。答:當(dāng)中斷響應(yīng)優(yōu)先次序為1一2一3一時,其中斷處理次序為1—3一4一12中斷級屏蔽位(令“1”對應(yīng)于“0”對應(yīng)于屏蔽);(2)0若在運行用戶程序時,同時出現(xiàn)4,2級中斷請求,第2級中斷未完成時,又同時出現(xiàn)第1,3,5級中斷請求,請畫出此程序運行過程示意圖。答:中斷梃f7135求,屏:=…蔽字為0110,表明其對第4級中斷請求開放,所以轉(zhuǎn)去響中斷處理程序級中斷級屏敝彳別4友1級2級3級4著1級第1級111*1第2級011而;0第3級0010叫%第4級0111L1第5級01101啊我4,中斷4運行結(jié)束,(1) 中斷級屏蔽位設(shè)置如下圖:(2) 中斷過程示意圖:如圖回2。1、3、5進(jìn)入排隊器。處理請求,結(jié)束后返回用戶程序。第2級中斷請求的處理請求被中斷,轉(zhuǎn)去響應(yīng)第1級中斷請求并進(jìn)行處理。最后處理第3級中斷請求。響應(yīng)第5級中斷請求并進(jìn)行處理。繼續(xù)響應(yīng)并處理第2級中斷4.簡述字節(jié)多路,數(shù)組多路和選擇通道的數(shù)據(jù)傳送方式。答:字節(jié)多路通道適用于連接大量的像光電機等字符類低速設(shè)備。這些設(shè)備傳送一個字符(字節(jié))的時間很短,但字符(字節(jié))間的等待時間很長。通道數(shù)據(jù)寬度”為單字節(jié),以字節(jié)交叉方式輪流為多臺設(shè)備服務(wù),使效率提高。字節(jié)多路通道可有多個子通道,同時執(zhí)行多個通道程序。數(shù)組多路通道適合于連接多臺象磁盤等高速設(shè)備。這些設(shè)備的傳送速率很高,但傳送開始前的尋址輔助操作時間很長。通道數(shù)據(jù)寬度”為定長塊,多臺設(shè)備以成組交叉方式工作,以充分利用并盡可能重疊各臺高速設(shè)備的輔助操作時間。傳送完K個字節(jié)數(shù)據(jù),就重新選擇下個設(shè)備。數(shù)組多路通道可有多個子通道,同時執(zhí)行多個通道程序。選擇通道適合于連接象磁盤等優(yōu)先級高的高速設(shè)備,讓它獨占通道,只能執(zhí)行一道通道程序。通道‘?dāng)?shù)據(jù)寬度”為可變長塊,一次將N個字節(jié)全部傳送完,在數(shù)據(jù)傳送期只選擇一次設(shè)備。5.如果通道在數(shù)據(jù)傳送期中,選擇設(shè)備需9.8科s,傳送一個字節(jié)數(shù)據(jù)需0.2科s。某低速設(shè)備每隔500ds發(fā)出一個字節(jié)數(shù)據(jù)傳送請求,問至多可接幾臺這種低速設(shè)備?對于如下A?F6種高速設(shè)備,一次通訊傳送的字節(jié)數(shù)不少于1024個字節(jié),問哪些設(shè)備可以掛在此通道上?哪些則不能?其中A-F設(shè)備每發(fā)出一個字節(jié)數(shù)據(jù)傳送請求的時間間隔分別為(單位為Ws):答:(1) 至多可連接50臺低速的外設(shè)。剖析:根據(jù)題意可知:低速設(shè)備應(yīng)掛接在字節(jié)多路通道上,字節(jié)多路通道的通道極限流量為:fmax.byte=1/(TS+TD)>=fbyte通道極限流量應(yīng)大于或等于設(shè)備對通道要求的流量fbyte。如果字節(jié)多路通道上所掛設(shè)備臺數(shù)為m,設(shè)備的速率為fi,為了不丟失信息,應(yīng)滿足:1/(TS+TD)>=m*fifi 也就是設(shè)備發(fā)出字節(jié)傳送請求間隔時間(500^s)的倒數(shù),所以:m<=1/((TS+TD)*f)=500/(9.8+0.2)=50(臺)(2)設(shè)備B,C,E,F可以掛在此通道上,設(shè)備A,D則不能。剖析:思路一:從傳送字節(jié)速率上入手。A~F 是高速設(shè)備,應(yīng)掛接在選擇通道上,選擇通道的極限流量為:fmax.select=N/(TS+N*TD)=1/((TS/N)+TD尸1/((9.8/1024)+0.2)=1/0.21(g^)通道上所掛設(shè)備的最大速率fi.max 應(yīng)小于或等于通道的極限流量。對于高速設(shè)備,由于一次傳送字節(jié)數(shù)不少于1024byte???該通道一次傳送數(shù)據(jù)的時間為科S+1024X0.2科s=科s由表3-5可得出每臺設(shè)備發(fā)送1024字節(jié)的時間間隔分別為:設(shè)備ABCDEF傳送時2042551194409215間.862.56.6.04(科s),為使數(shù)據(jù)不丟失,B、C、E、F可掛在該通道上。A、D不能。6.某字節(jié)多路通道連接6臺外設(shè),某數(shù)據(jù)傳送速率分別如表中所列。示意圖。由此你發(fā)現(xiàn)了什么問題?⑶在(2)的基礎(chǔ)上,在哪臺設(shè)備設(shè)置多少個字節(jié)的緩沖器就可以避免設(shè)備信息丟失?那么,這是否說書中關(guān)于流量設(shè)計的基本要沒有必要的了呢 ?為什么?解:實際最大流量=50+15+l00+25+40+20 =250KB/S。通道響應(yīng)和處理各設(shè)備請求的時間示意圖由此發(fā)現(xiàn)由于高速設(shè)備的響應(yīng)優(yōu)先級高,使低速設(shè)備由表3-5可得出設(shè)備由表3-5可得出設(shè)備123456發(fā)申請間2067(Z的10/402550所以,B、C、E、F可掛在該通道上。A、D不能。思路二:從傳送字節(jié)時間上入手。(1)計算所有設(shè)備都工作時的通道實際最大流量:(2)如果設(shè)計的通道工作周期使通道極限流量恰好與通道最大流量相等,以滿足流量設(shè)計的基本要求,同時讓速率越高的設(shè)備被響應(yīng)的優(yōu)先級越高。當(dāng)6臺設(shè)備同時發(fā)出請求開始,畫出此通道在數(shù)據(jù)傳送期響應(yīng)和處理各外設(shè)請求的時間2造成數(shù)據(jù)丟失。(3)在2中各設(shè)兩個字節(jié)的緩沖區(qū)即可。這并不說明流量設(shè)計的基本條件是不必要的,因為若基本條件不滿足,無論設(shè)備優(yōu)先級如何確定總有設(shè)備的信息會丟失。剖析:(2)由各設(shè)備的傳送字節(jié)速率可解其連續(xù)發(fā)出傳送請求的時間間隔分別為:7.通道型I/O系統(tǒng)由一個字節(jié)多路通道A(其中包括兩個子通道Al和A2),兩個數(shù)組多路通道B1和B2及一個選擇通道C構(gòu)成,各通道所接設(shè)備和設(shè)備的數(shù)據(jù)傳送速率如表所示。(1)分別求出各通道應(yīng)具有多大設(shè)計流量才不會丟失信息;(2)設(shè)I/O系統(tǒng)流量占主存流量的1/2時才算流量平衡,則主存流量應(yīng)達(dá)到多少?通道號所接設(shè)備的數(shù)據(jù)傳送速率(KB/s)字節(jié)多路通道子通道A15035202050352020子通道A25035202050352020數(shù)組多路通道B1500400350250數(shù)組多路通道B2500400350250選擇通道C500400350250解:要不丟失信息,各通道需要達(dá)到的流量:字節(jié)多路通道子通道A1:0.25KB/S;字節(jié)多路通道子通道A2:0.25KB/S;數(shù)組多路通道B1:500KB/s;數(shù)組多路通道B2:500KB/s;選擇通道C:500KB/s 。主存流量應(yīng)達(dá)到4MB/S。剖析:(1) 設(shè)備要求字節(jié)多路通道或其子通道的實際最大流量,是該通道所接各設(shè)備的字節(jié)傳送速率之和;設(shè)備要求數(shù)組多路通道或選擇通道的實際最大流量,是該通道所接各設(shè)備的字節(jié)傳送速率中的最大者。(2)I/O系統(tǒng)中,各種通道和子通道可以并行工作,因此,I/O系統(tǒng)的最大流量應(yīng)等于各通道最大流量之和。第四章存儲體系解決Cache的透明性所帶來的問題,和中央處理機寫Cache,使主存容跟不上Cache對應(yīng)容的變化造成的不一致的問題的關(guān)鍵是選擇好更新主存容的算法,一般有兩種寫直達(dá)法(存直達(dá)法)和寫回法(即抵觸修改法)兩種。寫直達(dá)法,又稱存直達(dá)法,是指在CPU對Cache進(jìn)行寫操作時,如果命中Cache,不僅將數(shù)據(jù)寫入Cache,而且寫入主存,使兩者的對應(yīng)容統(tǒng)一起來,這樣,當(dāng)Cache中的塊被替換時,就不必再花時間寫回主存了。寫回法,又稱抵觸修改法,是指在CPU對Cache進(jìn)行寫操作時,如果命中Cache,就只將數(shù)據(jù)寫入Cache,而暫時不寫入主存,只有當(dāng)變化了的Cache塊被替換時,才花一個主存周期,將其寫回主存相應(yīng)的位置上,使兩者的對應(yīng)容統(tǒng)一起來。Cache 采用按需取進(jìn)算法和預(yù)取進(jìn)算法來提高Cache的命中率。按需取進(jìn)算法是指在Cache塊失效時才將要訪問的字所在的塊取進(jìn)Cache。預(yù)取進(jìn)算法是指在用到某Cache塊之前就將該塊預(yù)取進(jìn)Cache。預(yù)取進(jìn)算法包括恒預(yù)取進(jìn)算法和不命中時預(yù)取進(jìn)算法。恒預(yù)取進(jìn)算法是指訪問主存第i塊時,不論其是否在Cache中命中,恒將主存第i+1塊預(yù)取進(jìn)Cache。不命中時預(yù)取進(jìn)算法是指訪問到主存第i塊的信息時,只有當(dāng)其不在Cache中時,才將主存第i+1塊預(yù)取進(jìn)Cache。.按位編址和按字編址?現(xiàn)在從存中讀數(shù)據(jù)都是按字節(jié)為單位。P86第二段第一行:目前不少機器的指令地址碼已達(dá)24-32位,相當(dāng)于每個用戶的程序空間已達(dá)16MB-8192M甘。這里有一層隱含的意思,就是地址碼一般是按字節(jié)編碼。.相等比較電路的個數(shù)=組塊數(shù)?我不知道是不是可以這么理解,遇到過一道題,其中存在這種關(guān)系,不知道是不是巧合?一個采用位選擇組相聯(lián)映象方式的Cache,要求Cache的每一塊在主存周期取得。主存采用4個存儲體的低位交叉方式訪問,每個存儲體的字長為4個字節(jié),總?cè)萘繛?56MB,Cache的容量為512KB,每一組有4塊。采用
按地址訪問存儲器構(gòu)成相聯(lián)目錄表,實現(xiàn)主存地址到Cache地址的變換,采用4個相等比較電路。設(shè)計主存地址格式,并標(biāo)出各字段的長度。(5分)設(shè)計Cache的地址格式,并標(biāo)出各字段的長度。(5分)設(shè)計相聯(lián)目錄表結(jié)構(gòu),并求出該表的行數(shù)及每一行的格式。(5分)畫出實現(xiàn)位選擇組相聯(lián)地址變換的邏輯示意圖。(5分)3.采用多級狀態(tài)位技術(shù)、 比較對法實現(xiàn)LRU算法時需要比較對觸發(fā)器的個數(shù)設(shè)組有b塊,每組g群,每群p對,每對l行。每組g群,組中選群需C2(g)個比較對觸發(fā)器。每群p對,群中選對需gC2(p)個比較對觸發(fā)器。每對l行,對中選行需gpC2(l)個比較對觸發(fā)器。共 需C2(g)+gC2(p)+gpC2(l) 個比較對觸發(fā)器。1.在一個頁式虛擬存儲器中,虛地址空間為4G字節(jié),頁大小為1K字節(jié),頁表項的大小為4字節(jié)。試問:(1)共需要多少個頁表項?每個頁面可存放多少個頁表項?需要幾級頁表構(gòu)成表層次?解答: (1)2A22 個或4M個(2)1024/4=256個(3)3級第四章存儲體系1.設(shè)二級虛擬存儲器的TA1=10-7s、TA2=10-2s,為使存儲層次的訪問效率 e達(dá)到最大值的80%以上,命中率H至少要求達(dá)到多少?實際上這樣高的命中率是很難達(dá)到的,那么從存儲層次上如何改進(jìn)?解:e=TA1/TA=TA1/(H*TA1+(1- H)*TA2)>80%,H>(10A5-5/4)/(10A5-1)o這樣的命中率很難達(dá)到。為了降低對H的要求,可以選擇高命中率的算法,可以減少相鄰兩級的訪問速度差和容量差(這樣做不利于降低存儲器的平均每位價格),可在主、輔存儲器間加一層電子磁盤,使存儲體系中相鄰兩級的訪問時間比不太大。2、程序存放在模32單字交叉存儲器中,設(shè)訪存申請隊的轉(zhuǎn)移概率入為25%,求每個存儲周期能訪問到的平均字?jǐn)?shù)。當(dāng)模數(shù)為16呢?由此你可得到什么結(jié)論? 解:B=[1-(1- 入)Am]/入解: 由入=0.25,m=32求得:B=4-4*(3/4)A32同理,m=16時,B=4-4*(3/4)A16可得出,在入=0.25時,m=32的平均訪問字?jǐn)?shù)大于m=16時的平均訪問字?jǐn)?shù)。3、設(shè)主存每個分體的存取周期為2^s,寬度為4個字節(jié)。采用模m多分體交叉存取,但實際頻寬只能達(dá)到最大頻寬的0.6倍。現(xiàn)要求主存實際頻寬為4MB/S,問主存模數(shù)m應(yīng)取多少方能使兩者速度基本適配?其中mB2的哥。解:m=4剖析:根據(jù)題意,模m多分體交叉的最大頻寬為:分體數(shù)*單體頻寬=m*分體的寬度/分體的存取周期=m*4B/2ds,所以有0.6*m*4/2>=4 。4.某虛擬存儲器共8個頁面,每頁1024個字,實際主存為4096個字,采用頁表法進(jìn)行地址映象。映象表的容如下表(1)列出會發(fā)生頁面失效的全部虛頁號;(2)按以下虛地址計算主存實地址:0,3728,1023,1024,2055,7800,4096,6800。解:(1)會發(fā)生頁面失效的全部虛頁號為:2,3,5,7 。(2)虛虛頁裝實頁實地頁位入頁位地址號移位號移址0001303072頁頁327836560面失面失無效效10230102313102340951021011I010244頁頁2055270面失面失無效效頁頁780076320面失面失無效效40964012020486800665610656656剖析:(1)根據(jù)頁表法列出表2,當(dāng)裝入位為0時,即為頁面失效,再找出相對應(yīng)的虛頁號即可。(2) 虛頁號=虛地址/頁面大小頁位移量=虛地址-虛頁號*頁面大小實地址=實頁號*頁面大小十頁位移量由于可以用替換算法解決頁面失效的問題,所以,發(fā)生頁面失效的虛頁2,3,5,7仍然可以有相應(yīng)的實地址,但這樣要在頁表中建立新的虛實地址對應(yīng)關(guān)系,新的虛實地址對應(yīng)關(guān)系和原來的對應(yīng)關(guān)系相同的可能性就很小了。5、一個段頁式虛擬存儲器。虛地址有2位段號、2位頁號、11位頁位移(按字編址),主存容量為32K字。每段可有訪問方式保護(hù),其頁表和保護(hù)位如下表所示。式/執(zhí)行寫/執(zhí)行/寫方式段頁頁位移段失效,取數(shù)011無虛頁0實貞在輔頁表實貞取數(shù)1110無所在位9存上小在14取數(shù)332047無置主存存數(shù)014無虛頁1貝表存數(shù)212有所在位實貞實貝/、在實貝1存數(shù)1014無置30主存轉(zhuǎn)移至此13100無虛頁2在輔貝表取數(shù)0250無所在位置實貝實貝取數(shù)205有存上15小在上存6轉(zhuǎn)移至此3060無虛頁3貝表在輔所在位頭貞實貝/、在剖析:置128主存存上(1) 虛地址中段號有 2位,頁號有2位,也就是每個(1)此地址空間中共有多少個虛頁?(2)當(dāng)程序中遇到下列情況時程序最多只能有2A2=4個段,每個段至多只能有2A2=4頁,所以該地址空間中共有4*4=16個虛頁。方式段口0 國跋題意得邛:取數(shù)01實地地:15位其中實取數(shù)11頁-號4位,10位移11位取數(shù)33頁大20472K勺(由頁位存數(shù)01移;導(dǎo)知)4存數(shù)216.設(shè)某程序姆含5/、虛頁,其存數(shù)10頁」也址為4145,3,2,5,1,轉(zhuǎn)移至此133,2,2,100,1,3當(dāng)使用取數(shù)02LRU算法嶗時,為務(wù)得最高取數(shù)20命中率,至名應(yīng)分配紿]亥程序轉(zhuǎn)移至此30幾,率一個實頁?軀r能的最為多少屋,命中寫出由虛地址計算出實地址。段號0123訪問方只讀可讀可讀/可讀說明哪個會發(fā)生段失效、頁面或保護(hù)失效失效。解答:1)該地址空間中共有16個虛頁。(2)程序中遇到上表中
各情況時,是否會發(fā)生段失效、
頁失效或保護(hù)失效及相應(yīng)的主存實地址的情況如下表所示:.采用頁式管理的虛擬存儲器,分時運行兩道程序。其中,程序X為DO50I=1,3B(I)=A(I)-C(I)IF(B(I)?LE-0)GOTO40D(I)=2*C(I)-A(I)IF(D(I)-EQ-0)GOTO5040E(I)=050CONTINUEData:A=(-4,+2,0)C=(-3,0,+1)每個數(shù)組分別放在不同的頁面中;而程序Y在運行過程中,其數(shù)組將依次用到程序空間的第3,5,4,2,5,3,1,325,1,3,1,5,2頁。如果采用LRU算法,實存卻只有8頁位置可供存放數(shù)組之用。試問為這兩首程序的數(shù)組分別分配多少個實頁最為合適?為什么?解答:分別分配給程序X和Y的數(shù)組4個實頁最為合適。根據(jù)題意,程序X依次調(diào)用數(shù)組A,C,B,B,E,A,C,B,B,C,A,D,D,E,A,C,B,B,E 中的數(shù)據(jù)。設(shè)程序X中的數(shù)組A,B,C,D,E 分別存放于程序空間的第1,2,3,4,5頁,則程序的頁地址流為:1,3,2,2,5,1,3,2,2,3,1,4,4,5,1,3,2,2,5。分析使用LRU算法對程序X的頁地址流進(jìn)行堆棧處理的過程可知,分配給程序X的數(shù)組5個實頁最為合適;分析使用LRU算法對程序Y的頁地址流進(jìn)行堆棧處理的過程可知,分配給程序Y的數(shù)組4個實頁最為合適。但實存只有8頁位置可供存放數(shù)組之用,所以,分別分配給程序X和Y的數(shù)組4個實頁。note:分時運行在微觀上是串行的,就是說,分時運行時把時間劃分為若干時間片,每個程序輪流占用時間片;在宏觀上是并行的,就是說,每個程序在一個時間片并不能運行完??偟膩砜?,是同時運行的,所以兩個程序分配的實頁和不能大于8。我不了解FORTRAN,找朋友把上面的源代碼轉(zhuǎn)成 C了:main(){intA[尸{-4,2,0};intC[尸{-3,0,1};for(i=0,i<>0)E[i]=0;};};}
.設(shè)一個按位編址的虛擬存儲器,它應(yīng)可對應(yīng)1K個任務(wù),但在一段較長時間,一般只有4個任務(wù)在使用,故用容量為4行的相聯(lián)寄存器組硬件來縮短被變換的虛地址中的用戶位位數(shù);每個任務(wù)的程序空間最大可達(dá)4096頁,每頁為512個字節(jié),實主存容量為2人20位;設(shè)快表用按地址訪問存儲器構(gòu)成,行數(shù)為32,快表的地址是經(jīng)散列形成;為減少散列沖突,配有兩套獨立相等比較電路。請設(shè)計該地址變換機構(gòu),容包括:實地址為20位,其中實頁號8位,頁位移12位(與虛頁頁位移對應(yīng))相聯(lián)寄存器的作用:把10位的用戶號轉(zhuǎn)換為2位的ID(因為一般只有4個任務(wù)在使用),并把ID與虛地址的虛頁號合并到快表中查實頁號。快表的作用:相當(dāng)于頁表,即虛頁號對實頁號的對應(yīng)關(guān)系。但又有所簡化(原因是如果用用戶號和虛頁號與實頁號對應(yīng),前者就有22位,現(xiàn)改進(jìn)后虛頁號只有14位了)(1)畫出其虛、實地址經(jīng)快表變換之邏輯結(jié)構(gòu)示意圖;(2)相聯(lián)寄存器組中每個寄存器的相聯(lián)比較位(3)相聯(lián)寄存器組中每個寄存器的總位數(shù);(4)散列變換硬件的輸入位數(shù)和輸出位數(shù);(5)每個相等比較器的位數(shù);(6)快表的總?cè)萘?以位為單位)。解:(1)依題意得知:(2)相聯(lián)寄存器組中每|*([唯]頁內(nèi)位解并戶尿志明1唯》用戶虛頁號*T1?。菘沾骊柹?幣內(nèi)也梅nrtl工句1?忖薛比較苦四聯(lián)比較山田A1U311計11相鞭寄存器擔(dān)快芹(花力曰.訪同I博也存6s署優(yōu)輯示意網(wǎng)虛地址為34位,其中用戶號為10位(對應(yīng)1K的任務(wù))、虛頁號12位(每個任務(wù)4096頁)、頁位移12位(每頁512字節(jié),512字節(jié)=512*8=1024*4=2人12 )個寄存器的相聯(lián)比較位數(shù)為10(與虛地址中的用戶號寬度對應(yīng))相聯(lián)寄存器組中每個寄存器的總數(shù)為12(用戶號寬度+ID寬度)散列變換硬件的輸入位數(shù)為14位(虛頁號寬度+相聯(lián)寄存器中ID的寬度),輸出位數(shù)為8位(與主存中的實頁號寬度對應(yīng))每個相等比較器的位數(shù)=ID+用戶虛頁號nv'=2+12=14(位)。快表的總?cè)萘浚?2行*(14(輸入位數(shù))+8(輸出位數(shù)))*2=32*22*29.考慮一個920個字的程序,其訪問虛存的地址流為20,22,208,214,146,618,370,490,492,868,916,728。⑴若頁面大小為200字,主存容量為400字,采用FIFO替換算法,請按訪存的各個時刻,寫出其虛頁地址流,計算主存的命中率;(2)若頁面大小為100字,再做一遍;⑶若頁面大小為400字,再做一遍;(4)由⑴、(2)、(3)的結(jié)果可得出什么結(jié)論?(5)若把主存容量增加到 800字,按第(1)小題再做一遍,又可得出什么結(jié)論?解:主存容量400字,頁面大小200字,所以主存實頁數(shù)為2;把地址流轉(zhuǎn)換為頁地址流,以第一個虛地址流轉(zhuǎn)換為頁地址流為例說明:求模公式為:INT(地址/頁面大?。?,就是把地址整除于頁面大小,得INT(20/200)=0,下同,所以頁地址流為:0,0,1,1,0,3,122,4,4,3按FIFO算法得出替換過程為:0(調(diào)入),0(命中),1(調(diào)入),1(命中),0(命中),3(替換0,0比1先入隊,所以被替換,下同), 1(命中),2(替換1),2(命中),4(替換3),4(命中),3(替換2),所以總共命中6次。故命中率H=6/12=50%方法同(1)H=25%(3)H=50%由以上結(jié)論可得,F(xiàn)IFO算法的條件下,當(dāng)頁面大小發(fā)生變化時,其命中率變化是:一開始隨頁面大小增大命中率(第一步與第二步比較),但當(dāng)頁面大小增到一定時,命中率不再增加(第一步與第三步比較)。命中率為58%,結(jié)論是如果分配給主存容量增加時可以搞高命中率。.在一個頁式二級虛擬存儲器中,采用FIFO算法進(jìn)行頁面替換,發(fā)現(xiàn)命中率H太低,因此有下列建議:(1)增大輔存容量;(2)增大主存容量(頁數(shù));(3)FIFO改為LRU;(4)FIFO改為LRU,并增大主存容量(頁數(shù));(5)FIFO改為LRU,并增大頁面大小。試分析上述各建議對命中率的影響情況。解答:增大輔存容量,對命中率H無影響。增大主存容量(頁數(shù)),可普遍提高命中率。(3)FIFO 改為LRU,一般可提高命中率。(4)FIFO 改為LRU,并增大主存容量(頁數(shù)),一般可使命中率有較大提高。(5)FIFO改為LRU,并增大頁面大小,如果原來頁面很小,則會使命中率顯著上升,如果原來頁面很大,則會使命中率下降。.采用組相聯(lián)映象的Cache存儲器,Cache為1KB,要求Cache的每一塊在一個主存周期能從主存取得。主存模 4交叉,每個分體寬為32位,總?cè)萘繛?56KB。用按地址訪問存儲器構(gòu)成相聯(lián)目錄表實現(xiàn)主存地址到Cache地址的變換,并名^定用4個外相等比較電路。請設(shè)計此相聯(lián)目錄表,求出該表之行數(shù)、總位數(shù)及每個比較電路的位數(shù)。解答:設(shè)Cache地址中的組塊號為s,相聯(lián)目錄表的行數(shù)是2A(13-s) ,總位數(shù)是(8+2s)*2A(15-s) ,每個比較電路的位數(shù)為8+s。剖析:在一個主存周期主存能訪問到的字節(jié)數(shù)為mW=4*32/8=16(Byte) 。要求Cache的每一塊在一個主存周期能從主存取得,所以,Cache中每塊的塊字?jǐn)?shù)不能大于16Bytes。為了加速調(diào)塊,一般讓每塊的大小等于在一個主存周期主存能訪問到的
字?jǐn)?shù),即16BytesCache存儲器。主存共分8個設(shè)Cache地址中的組塊號為s,=CacheQ=Cache每相聯(lián)目錄表的行數(shù)地址的組數(shù)容量/(每組塊數(shù)塊小)=1KB/(S*4*32)=2A13/(2As*2A7)=2A(6-s)主存塊數(shù)/Cache塊數(shù)=256=2*8,所以,主存地址字?jǐn)?shù),即16BytesCache存儲器。主存共分8個設(shè)Cache地址中的組塊號為s,=CacheQ=Cache每相聯(lián)目錄表的行數(shù)地址的組數(shù)容量/(每組塊數(shù)塊小)=1KB/(S*4*32)=2A13/(2As*2A7)=2A(6-s)主存塊數(shù)/Cache塊數(shù)=256=2*8,所以,主存地址塊(0~7),Cache為4個塊(0~3),采用組相聯(lián)映象,組塊數(shù)為2塊,替換算法為近期最少使用算法(LRU)。(1)畫出主存、各字段對應(yīng)關(guān)系圖;(2)畫出主存、Cache地址的(標(biāo)出位數(shù))Cache空間塊的映象對應(yīng)關(guān)系示意圖Cache地址的各字段的位數(shù)及其對應(yīng)關(guān)系如下圖所示(2)主存塊、Cache塊的映象對應(yīng)關(guān)系如下圖所示(3)Cache中各塊隨時間的使用狀況如下圖所示。圖中標(biāo)*號的是候選替換塊的塊號,H:命中;R:替換;L:失效。=nd+s'=nd+s=8+s 。相聯(lián)目錄表的總位數(shù)=表中子目錄表的個數(shù) *每個子目=r,表的位數(shù)*相聯(lián)目錄表的行=4*(nd+s'+s)*Q=4*(8+2=r,表的位數(shù)*相聯(lián)目錄表的行s)*2A(6-s)=(8+2s)*2A((3)對于如下主存塊地址流:124,1,370,1,2,5,4,6,4,7,2, 如主存中容一開始未裝入Cache中,請列出Cache中各塊隨時間的使用狀況;(4)對于(3),指出塊失效又發(fā)生塊爭用的時刻;⑸對于(3),求出此期間(4)發(fā)生塊失效又發(fā)生塊爭用的時亥I有6、7、9、10、11、12、14、15。(5)CacheHc=3/15=0.2 。剖析:的塊命中率由于主存塊、Cache塊之間存在上述的映象對應(yīng)關(guān)的塊命中率■11自組?■11自組?3■組修ng目67?1仝目塊號13|?區(qū)組內(nèi)叁塊i士『」玉柏吃映死8-s)。note:若認(rèn)為相等比較電路的個數(shù)=組塊數(shù),則相聯(lián)目=r,表的行數(shù)=2人4,每個比較電路的位數(shù)=10,聯(lián)目錄表的總位數(shù)=12*2人6主存塊洋口*口塊的對12.有個Li坦ndCache的命中率。解答:(1) 主存地址、系,主存的第0、1、4、5塊只能映象裝入或替換物理市中情討iffHire生行陜心tinet中存抉觸如布1£1-d7工?n1*110*7*£i*G7*5粉?*5"0K*.5*雨,7組號召內(nèi)塊號*'”樣>塊內(nèi)邦旬mn■-本有地M前ge。地出的‘匕府大部Cache的第0、1塊;主存的第2、3、6、7塊只能映象裝入或替換物理Cache的第2、3塊。.采用組相聯(lián)映象,LRU替換算法的Cache存儲器,發(fā)現(xiàn)等效訪問速度不高,為此建議:(1)增大主存容量;(2)增大Cache的塊數(shù)(塊的大小不變);(3)增大組相聯(lián)組的大小(塊的大小不變);(4)增大塊的大小(組的大小和Cache總?cè)萘坎蛔?;(5)提高Cache本身器件的訪問速度。解答:增大主存容量對Cache的訪問時間ta基本不影響,從而對Cache的等效訪問速度基本不影響。增大Cache的塊數(shù)(塊的大小不變)一般將使Cache的命中率Hc上升,從而使ta下降,從而提高Cache的等效訪問速度。增大組相聯(lián)組的大小(塊的大小不變)一般將使Cache的命中率Hc上升,從而使ta下降,從而提高Cache的等效訪問速度。增大塊的大小(組的大小和Cache總?cè)萘坎蛔?一般將使ta下降,從而提高Cache的等效訪問速度。提高Cache本身器件的訪問速度一般將縮短ta,從而提高Cache的等效訪問速度。.你對Cache存儲器的速度不滿,于是申請到一批有限的經(jīng)費,為能發(fā)揮其最大經(jīng)濟(jì)效益,有人建議你再買一些同樣速度的Cache片子以擴(kuò)充其容量;而另有人建議你干脆去買更高速的Cache片子將現(xiàn)有的低速Cache片子全部換掉。你認(rèn)為哪種建議可取?你如何做決定?為什么?解答:Cache 本身的速度與容量都會影響Cache存儲器的等效訪問速度。如果對Cache存儲器的等效訪問速度不滿,需要改進(jìn)的話,就要作具體分析,看看現(xiàn)在Cache存儲器的等效訪問速度是否已接近于Cache本身的速度。如果差得較遠(yuǎn),說明Cache的命中率低,應(yīng)從提高Cache命中率著手,包括調(diào)整組的大小、塊的大小、替換算法以及增大Cache容量等。如果Cache存儲器的等效訪問速度已經(jīng)非常接近于Cache本身的速度還不能滿足需要,就應(yīng)該更換更高速的Cache片子。第五章重疊、流水和向量處理機因機器語言程序中鄰近指令之間出現(xiàn)了關(guān)聯(lián),為防止出錯不讓它們同時被解釋的現(xiàn)象,稱為相關(guān)。數(shù)據(jù)相關(guān)是指相鄰指令的數(shù)據(jù)地址之間有關(guān)聯(lián)。指令相關(guān)是因為指令在程序的執(zhí)行過程中允許被修改造成的。多功能靜態(tài)流水線,在同一時間段該流水線的各功能段之間只能按一種功能進(jìn)行聯(lián)接,只有等流水線全部流空后,才能切換成按另一種功能進(jìn)行聯(lián)接。多功能動態(tài)流水線,在同一時間段該流水線的各功能段之間可以按多種不同的功能進(jìn)行聯(lián)接。中斷和轉(zhuǎn)移一樣,會引起流水線斷流。由于發(fā)生中斷的概率遠(yuǎn)低于條件轉(zhuǎn)移,且中斷又是隨機發(fā)生的,所以,流水機器處理中斷的關(guān)鍵在于如何處理好斷點現(xiàn)場的保存和恢復(fù),而不是如何縮短流水線的斷流時間。設(shè)在執(zhí)行指令i時有中斷,斷點本應(yīng)是在指令i執(zhí)行結(jié)束,指令i+1尚未開始執(zhí)行的地方,但由于流水機器是同時解釋多條指令,后續(xù)指令i+1,i+2,… 可能已進(jìn)入流水線并被解釋。對于采用異步流動方式的流水線,這些后續(xù)指令中的一些可能已經(jīng)流到指令i前面去了。早期的流水機器多采用不精確斷點法。不論指令i在流水線的哪一段發(fā)生中斷,未進(jìn)入流水線的后續(xù)指令不再進(jìn)入,已在流水線的指令繼續(xù)流完,再轉(zhuǎn)入中斷處理程序。這樣斷點就不一定是指令i,而可能是指令i+1,i+2,…即斷點是不精確的。僅當(dāng)指令 i在流水線的第一段呼應(yīng)中斷時,斷點才是精確的。米用不精確斷點法,硬件開銷少,控制簡單,不利于編程和程序的排錯。后來的流水機器多采用精確斷點法。不論指令i在流水線的哪一段發(fā)生中斷,中斷處理程序的現(xiàn)場都是對應(yīng)于指令i的。如果在執(zhí)行第i條指令時發(fā)生了程序性錯誤或故障,那么斷點就是 i。最壞的情況是指令i執(zhí)行到流水線的最后一個功能段時才發(fā)生程序性錯誤或故障,為此,需設(shè)置很多后援寄存器,以保證流水線中斷點之后后續(xù)指令的原有現(xiàn)場都能被保存和恢復(fù)。1.如何畫流水線的狀態(tài)轉(zhuǎn)移圖?一個由K段組成的非線性單功能流水線,每個任務(wù)需要N拍,利用類似畫時空圖的方法得到該任務(wù)使用流水線各段的情況與時間的關(guān)系圖,即預(yù)約表(ReservationTable)。如果該任務(wù)第n拍用到流水線的第k段,就在相應(yīng)的第n列和第k行的交叉點畫"①由預(yù)約表得出延遲禁止表F(ForbiddenList)。得出一個任務(wù)多次流過的流水線各功能段上,后面的拍在第一拍開始之后延遲多少拍開始。將得到的拍數(shù)匯集到一起,構(gòu)成延遲禁止表F(ForbiddenList)。如果后面的任務(wù)在前一任務(wù)開始之后延遲延遲禁止表F中的時鐘節(jié)拍數(shù)開始,就會發(fā)生流水線功能段的使用沖突。②由延遲禁止表得出初始沖突向量C(CollisionVector)。③由初始沖突向量得出第二個任務(wù)可在第一個任務(wù)之后的多少拍流入流水線。④設(shè)第二個任務(wù)可在第一個任務(wù)之后的第n1,…,nx拍流入流水線,將初始沖突向量分別右移n1,...,nx位,得到x個第二個任務(wù)的沖突向量。⑤將得到的x個第二個任務(wù)的沖突向量與初始沖突向量作按位或”運算,得出x個第三個任務(wù)的沖突向量。 ⑥分別作由初始沖突向量指向第三個任務(wù)的沖突向量的帶箭頭的線,并在線旁分別注上n1,...,nx。 ⑦由第三個沖突向量得出第四個任務(wù)可在第三個任務(wù)之后的多少拍流入流水線。 ⑧下面的過程基本上是重復(fù)了。第五章重疊、流水和向量處理機1.假設(shè)指令的解釋分取指、 分析與執(zhí)行3步,每步的時間相應(yīng)為t取指、t分析、t執(zhí)行,(1)分別計算下列幾種情況下,執(zhí)行完100條指令所需時間的一般關(guān)系式:a.順序方式;b.僅執(zhí)彳Tk"與‘取指k+1”重疊;c.僅執(zhí)彳Tk"、'分析k
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年居間合同的法律規(guī)定
- 房地產(chǎn)企業(yè)勞動合同格式模板
- 創(chuàng)業(yè)公司法律咨詢顧問合同
- 模板公司集體合同樣本
- 2024年婚慶服務(wù)標(biāo)準(zhǔn)合同
- 房屋認(rèn)購協(xié)議書中的物業(yè)服務(wù)條款
- 彩繪加盟合作協(xié)議書范本
- 國際貨物買賣信貸貸款契約
- 建筑安裝工程分包協(xié)議書樣本
- 農(nóng)村離婚協(xié)議書撰寫指南
- 新產(chǎn)品試產(chǎn)及小批程序
- 1重慶市汽車加油站安全評價導(dǎo)則20100703修訂稿
- 噴霧干燥塔控制系統(tǒng)設(shè)計-PLC總課程設(shè)計報告-概要
- 《小巴掌童話》整本書閱讀指導(dǎo)楊老師
- 破產(chǎn)管理人工作履職報告
- 《低壓斷路器》PPT課件.ppt
- 蘋果和牛頓的故事.ppt
- 收益法酒店評估(共51頁).doc
- 勝利油田鉆完井液技術(shù)現(xiàn)狀及發(fā)展趨勢鉆井院
- 【實用版】一年級上冊一年級語文期中復(fù)習(xí)ppt課件
- 非物質(zhì)文化遺產(chǎn)對經(jīng)濟(jì)發(fā)展的影響
評論
0/150
提交評論