計算機組成原理書后習題答案(唐朔飛)_第1頁
計算機組成原理書后習題答案(唐朔飛)_第2頁
計算機組成原理書后習題答案(唐朔飛)_第3頁
計算機組成原理書后習題答案(唐朔飛)_第4頁
計算機組成原理書后習題答案(唐朔飛)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章1. I/O有哪些編址方式?各有何特點?解:常用的I/O編址方式有兩種: I/O與內(nèi)存統(tǒng)一編址和I/O獨立編址;特點: I/O與內(nèi)存統(tǒng)一編址方式的I/O地址采用與主存單元地址完全一樣的格式,I/O設(shè)備和主存占用同一個地址空間,CPU可像訪問主存一樣訪問I/O設(shè)備,不需要安排專門的I/O指令。I/O獨立編址方式時機器為I/O設(shè)備專門安排一套完全不同于主存地址格式的地址編碼,此時I/O地址與主存地址是兩個獨立的空間,CPU需要通過專門的I/O指令來訪問I/O地址空間。討論:I/O編址方式的意義:I/O編址方式的選擇主要影響到指令系統(tǒng)設(shè)計時I/O指令的安排,因此描述其特點時一定要說明此種I/O

2、編址方式對應(yīng)的I/O指令設(shè)置情況。 I/O與內(nèi)存統(tǒng)一編址方式將I/O地址看成是存儲地址的一部分,占用主存空間;問題:確切地講, I/O與內(nèi)存統(tǒng)一編址的空間為總線空間,I/O所占用的是內(nèi)存的擴展空間。I/O獨立編址方式有明顯的I/O地址標識, 而I/O與內(nèi)存統(tǒng)一的編址方式?jīng)]有;問題:無論哪種編址方式,I/O地址都是由相應(yīng)的指令提供的,而地址本身并沒有特殊的標識。2. 簡要說明CPU與I/O之間傳遞信息可采用哪幾種聯(lián)絡(luò)方式?它們分別用于什么場合?答: CPU與I/O之間傳遞信息常采用三種聯(lián)絡(luò)方式:直接控制(立即響應(yīng))、 同步、異步。 適用場合分別為:直接控制適用于結(jié)構(gòu)極簡單、速度極慢的I/O設(shè)備,

3、CPU直接控制外設(shè)處于某種狀態(tài)而無須聯(lián)絡(luò)信號。同步方式采用統(tǒng)一的時標進行聯(lián)絡(luò),適用于CPU與I/O速度差不大,近距離傳送的場合。異步方式采用應(yīng)答機制進行聯(lián)絡(luò),適用于CPU與I/O速度差較大、遠距離傳送的場合。討論:注意I/O交換方式、I/O傳送分類方式與I/O聯(lián)絡(luò)方式的區(qū)別:串行、并行I/O傳送方式常用于描述I/O傳送寬度的類型;I/O交換方式主要討論傳送過程的控制方法;I/O聯(lián)絡(luò)方式主要解決傳送時CPU與I/O之間如何取得通信聯(lián)系以建立起操作上的同步配合關(guān)系。 同步方式適用于CPU與I/O工作速度完全同步的場合。問題: I/O 要達到與CPU工作速度完全同步一般是不可能的。同步方式的實質(zhì)是“

4、就慢不就快”,如采用同步方式一般CPU達不到滿負荷工作。6. 字符顯示器的接口電路中配有緩沖存儲器和只讀存儲器,各有何作用?解:顯示緩沖存儲器的作用是支持屏幕掃描時的反復刷新;只讀存儲器作為字符發(fā)生器使用,他起著將字符的ASCII碼轉(zhuǎn)換為字形點陣信息的作用。8. 某計算機的I/O設(shè)備采用異步串行傳送方式傳送字符信息。字符信息的格式為一位起始位、七位數(shù)據(jù)位、一位校驗位和一位停止位。若要求每秒鐘傳送480個字符,那么該設(shè)備的數(shù)據(jù)傳送速率為多少?解:480×10=4800位/秒=4800波特;波特是數(shù)據(jù)傳送速率波特率的單位。注:題意中給出的是字符傳送速率,即:字符/秒。要求的是數(shù)據(jù)傳送速率

5、,串行傳送時一般用波特率表示。兩者的區(qū)別:字符傳送率是數(shù)據(jù)的“純”有效傳送率,不含數(shù)據(jù)格式信息;波特率是“毛”傳送率,含數(shù)據(jù)格式信息。10. 什么是I/O接口?為什么要設(shè)置I/O接口?I/O接口如何分類?解: I/O接口一般指CPU和I/O設(shè)備間的連接部件; I/O接口分類方法很多,主要有:按數(shù)據(jù)傳送方式分有并行接口和 串行接口兩種;按數(shù)據(jù)傳送的控制方式分有程序控制接口、程序中斷接口、DMA接口三種。12. 結(jié)合程序查詢方式的接口電路,說明其工作過程。解:程序查詢接口工作過程如下(以輸入為例):開命令接收門;?選中,發(fā)SEL信號?設(shè)備選擇器譯碼?接口?地址總線? 1)CPU發(fā)I/O地址設(shè)備開始

6、工作;?接口向設(shè)備發(fā)啟動命令? D置0,B置1 ? 2)CPU發(fā)啟動命令DBR;? 3)CPU等待,輸入設(shè)備讀出數(shù)據(jù)B置0,D置1;?接口?4)外設(shè)工作完成,完成信號CPU;?控制總線? 5)準備就緒信號6)輸入:CPU通過輸入指令(IN)將DBR中的數(shù)據(jù)取走;若為輸出,除數(shù)據(jù)傳送方向相反以外,其他操作與輸入類似。工作過程如下:開命令接收門;?選中,發(fā)SEL信號?設(shè)備選擇器譯碼?接口?地址總線?1)CPU發(fā)I/O地址2)輸出: CPU通過輸出指令(OUT)將數(shù)據(jù)放入接口DBR中; 設(shè)備開始工作;?接口向設(shè)備發(fā)啟動命令? D置0,B置1 ? 3)CPU發(fā)啟動命令4)CPU等待,輸出設(shè)備將數(shù)據(jù)從

7、DBR取走;B置0,D置1;?接口? 5)外設(shè)工作完成,完成信號CPU,CPU可通過指令再次向接口DBR輸出數(shù)據(jù),進行第二次傳送。?控制總線?6)準備就緒信號13. 說明中斷向量地址和入口地址的區(qū)別和聯(lián)系。解:中斷向量地址和入口地址的區(qū)別:向量地址是硬件電路(向量編碼器)產(chǎn)生的中斷源的內(nèi)存地址編號,中斷入口地址是中斷服務(wù)程序首址。中斷向量地址和入口地址的聯(lián)系:討論:硬件向量法的實質(zhì):當響應(yīng)中斷時,為了更快、更可靠的進入對應(yīng)的中斷服務(wù)程序執(zhí)行,希望由硬件直接提供中斷服務(wù)程序入口地址。但在內(nèi)存地址字較長時這是不可能的。因此由硬件先提供中斷源編號、再由編號間接地獲得中斷服務(wù)程序入口地址。這種中斷源的

8、編號即向量地址。由于一臺計算機系統(tǒng)可帶的中斷源數(shù)量很有限,因此向量地址比內(nèi)存地址短得多,用編碼器類邏輯部件實現(xiàn)很方便。14. 在什么條件下,I/O設(shè)備可以向CPU提出中斷請求?解:I/O設(shè)備向CPU提出中斷請求的條件是:I/O接口中的設(shè)備工作完成狀態(tài)為1(D=1),中斷屏蔽碼為0 (MASK=0),且CPU查詢中斷時,中斷請求觸發(fā)器狀態(tài)為1(INTR=1)。15. 什么是中斷允許觸發(fā)器?它有何作用?解:中斷允許觸發(fā)器是CPU中斷系統(tǒng)中的一個部件,他起著開關(guān)中斷的作用(即中斷總開關(guān),則中斷屏蔽觸發(fā)器可視為中斷的分開關(guān))。16. 在什么條件和什么時間,CPU可以響應(yīng)I/O的中斷請求?解:CPU響應(yīng)

9、I/O中斷請求的條件和時間是:當中斷允許狀態(tài)為1(EINT=1),且至少有一個中斷請求被查到,則在一條指令執(zhí)行完時,響應(yīng)中斷。 17. 某系統(tǒng)對輸入數(shù)據(jù)進行取樣處理,每抽取一個輸入數(shù)據(jù),CPU就要中斷處理一次,將取樣的數(shù)據(jù)存至存儲器的緩沖區(qū)中,該中斷處理需P秒。此外,緩沖區(qū)內(nèi)每存儲N個數(shù)據(jù),主程序就要將其取出進行處理,這個處理需Q秒。試問該系統(tǒng)可以跟蹤到每秒多少次中斷請求?解:這是一道求中斷飽和度的題,要注意主程序?qū)?shù)據(jù)的處理不是中斷處理,因此Q秒不能算在中斷次數(shù)內(nèi)。N個數(shù)據(jù)所需的處理時間=P×N+Q秒平均每個數(shù)據(jù)所需處理時間= (P×N+Q) /N秒;求倒數(shù)得:該系統(tǒng)跟蹤

10、到的每秒中斷請求數(shù)=N/(P×N+Q)次。19. 在程序中斷方式中,磁盤申請中斷的優(yōu)先權(quán)高于打印機。當打印機正在進行打印時,磁盤申請中斷請求。試問是否要將打印機輸出停下來,等磁盤操作結(jié)束后,打印機輸出才能繼續(xù)進行?為什么?解:這是一道多重中斷的題,由于磁盤中斷的優(yōu)先權(quán)高于打印機,因此應(yīng)將打印機輸出停下來,等磁盤操作結(jié)束后,打印機輸出才能繼續(xù)進行。因為打印機的速度比磁盤輸入輸出的速度慢,并且暫停打印不會造成數(shù)據(jù)丟失。討論: 打印機不停,理由有如下幾種:打印內(nèi)容已存入打印機緩存; 問題:1)如果打印機無緩存呢?2)如果打印機有緩存,還需要用程序中斷方式交換嗎?(應(yīng)用DMA)由于在指令執(zhí)行

11、末查中斷,因此執(zhí)行打印指令時不會響應(yīng)磁盤中斷。 問題:打印中斷處理程序=打印指令?采用字節(jié)交叉?zhèn)魉头绞?,當兩者同時請求中斷時,先響應(yīng)盤,再響應(yīng)打印機,交叉服務(wù)。 問題:這是程序中斷方式嗎?由于打印機速度比CPU慢得多,CPU將數(shù)據(jù)發(fā)送給打印機后,就去為磁盤服務(wù),而這時打印機可自己慢慢打印。問題:停止打印機傳送=停止打印機動作?我有打印機,感覺上打印機工作是連貫的; 問題:人的感覺速度=計算機工作速度?22. CPU對DMA請求和中斷請求的響應(yīng)時間是否一樣?為什么?解: CPU對DMA請求和中斷請求的響應(yīng)時間不一樣,因為兩種方式的交換速度相差很大,因此CPU必須以更短的時間間隔查詢并響應(yīng)DMA請

12、求(一個存取周期末)。討論:CPU對DMA的響應(yīng)是即時的; 隨時都能響應(yīng)?CPU響應(yīng)DMA的時間更短; DMA比中斷速度高;短、高或不一樣的具體程度? 不一樣。因為DMA與CPU共享主存,會出現(xiàn)兩者爭用主存的沖突,CPU必須將總線讓給DMA接口使用,常用停止CPU訪存、周期竊取及DMA與CPU交替訪存三種方式有效的分時使用主存;這種情況僅僅存在于DMA與中斷程序之間嗎?答非所問。 24. DMA的工作方式中,CPU暫停方式和周期挪用方式的數(shù)據(jù)傳送流程有何不同?畫圖說明。解:兩種DMA方式的工作流程見下頁,其主要區(qū)別在于傳送階段,現(xiàn)行程序是否完全停止訪存。停止CPU訪存方式的DMA工作流程如下:

13、現(xiàn)行程序 CPU DMAC I/OCPU DMAC I/O B C D周期竊取方式的DMA工作流程如下:現(xiàn)行程序 CPU DMAC I/OCPU DMAC I/O B C D25. s,試問該外設(shè)是否可用程序中斷方式與主機交換信息,為什么?m假設(shè)某設(shè)備向CPU傳送信息的最高頻率是40K次/秒,而相應(yīng)的中斷處理程序其執(zhí)行時間為40sm 解:該設(shè)備向CPU傳送信息的時間間隔 =1/40K=0.025×103=25 < sm40則:該外設(shè)不能用程序中斷方式與主機交換信息,因為其中斷處理程序的執(zhí)行速度比該外設(shè)的交換速度慢。討論:s)比較接近,傳送過程會頻繁的打斷CPU執(zhí)行主程序,而執(zhí)行

14、中斷服務(wù)程序,因此不能用程序中斷方式。ms)與中斷處理時間(40m×I/O傳送(25錯:此時CPU還有可能執(zhí)行主程序嗎?舉例說明: (輸入)假設(shè)初始CPU空閑,則當I/O將第一個數(shù)據(jù)放在接口的數(shù)據(jù)緩沖寄存器中后,向CPU發(fā)第一個中斷請求,CPU立即響應(yīng);I/O設(shè)備勻速運行, s時響應(yīng);ms后,第二個中斷請求到來,CPU正在執(zhí)行中斷程序接收第一個數(shù)據(jù), 40m25s時響應(yīng);ms后,第三個中斷請求到來,CPU正在執(zhí)行中斷程序接收第二個數(shù)據(jù),要到80m50s后,第四個中斷請求到來,但此時第三個中斷請求還沒有響應(yīng),則放在數(shù)據(jù)緩沖寄存器中的第三個數(shù)據(jù)來不及接收,被第四個數(shù)據(jù)沖掉;m75討論:s

15、,CPU大部分時間處于“踏步等待”狀態(tài);m 交換一次用時25+40=65 sm 錯1:25 I/O傳送間隔主要指設(shè)備準備數(shù)據(jù)的時間(輸入),這段時間設(shè)備與CPU并行工作。錯2:程序中斷不存在踏步等待。 10-6=14040K.6秒,時間過長,用程序中斷不劃算;中斷處理程序執(zhí)行時間=? 錯1:設(shè)備傳送頻率錯2:越慢速的設(shè)備越適合用中斷。若外設(shè)與CPU之間有足夠大的緩沖區(qū),則可以用程序中斷方式; 如果安排足夠大的緩沖區(qū),為何不用DMA方式? 討論(續(xù)):兩者速度相差較小沒有必要用中斷。 26. s,是否可采用一條指令執(zhí)行結(jié)束時響應(yīng)DMA請求的方案,為什么?若不行,應(yīng)采取什么方案?m設(shè)磁盤存儲器轉(zhuǎn)速

16、為3000轉(zhuǎn)/分,分8個扇區(qū),每扇區(qū)存儲1K字節(jié),主存與磁盤存儲器數(shù)據(jù)傳送的寬度為16位(即每次傳送16位)。假設(shè)一條指令最長執(zhí)行時間是25解:先算出磁盤傳送速度,然后和指令執(zhí)行速度進行比較得出結(jié)論。16?16 =1K ×8 ×8 ?道容量=1KB×8=1K ×4=4K字數(shù)傳率=4K字×3000轉(zhuǎn)/分=4K字×50轉(zhuǎn)/秒 =200K字/秒sm5?一個字的傳送時間=1/200K字/秒注:在此1K=1024,來自數(shù)據(jù)塊單位縮寫。 5 sm<<25 s,所以不能采用一條指令執(zhí)行結(jié)束響應(yīng)DMA請求的方案,應(yīng)采取每個CPU機器周期末

17、查詢及響應(yīng)DMA請求的方案(通常安排CPU機器周期=MM存取周期)。m討論:扇面、扇段和扇區(qū):扇面指磁盤分區(qū)后形成的扇形區(qū)域;扇段指扇面上一個磁道所對應(yīng)的弧形區(qū)域;扇區(qū)通常用來泛指扇面或扇段。由于磁盤是沿柱面存取而不是沿扇面存取,因此習慣上扇區(qū)即指扇段,不用特別說明也不會引起誤會。問題:是否磁盤轉(zhuǎn)一圈讀完所有扇區(qū)上的磁道?答:應(yīng)為:磁盤轉(zhuǎn)一圈讀完一個磁道上的所有扇區(qū),然后轉(zhuǎn)到下一盤面的同一位置磁道接著讀(如果文件未讀完的話)。 s,CPU工作周期大于主存周期,應(yīng)采用DMA與CPU交替訪存;ms,CPU執(zhí)行指令20ms內(nèi)主存占用5m不行,在25s;m錯1:題意為CPU執(zhí)行指令25指令周期;1 錯

18、2:CPU工作周期=內(nèi)存周期(同步控制)而 不行,傳送間隔=20ms,遠大于指令執(zhí)行周期,應(yīng)在DMA接口設(shè)一小容量存儲器,可減少DMA傳送占用總線時間;對于想采用DMA的慢速設(shè)備(像打印機等),可采用此法,對于磁盤不需要。另外,占用總線時間較長的DMA傳送為停止CPU訪存DMA,如采用周期竊取方式的DMA,每次傳送只占一個主存周期時間。 27. 試從下面七個方面比較程序查詢、程序中斷和DMA三種方式的綜合性能。(1)數(shù)據(jù)傳送依賴軟件還是硬件;(2)傳送數(shù)據(jù)的基本單位;(3)并行性;(4)主動性;(5)傳輸速度;(6)經(jīng)濟性;(7)應(yīng)用對象。解:比較如下:(1)程序查詢、程序中斷方式的數(shù)據(jù)傳送主

19、要依賴軟件,DMA主要依賴硬件。 (注意:這里指主要的趨勢)(2)程序查詢、程序中斷傳送數(shù)據(jù)的基本單位為字或字節(jié),DMA為數(shù)據(jù)塊。(3)程序查詢方式傳送時,CPU與I/O設(shè)備串行工作;程序中斷方式時,CPU與I/O設(shè)備并行工作,現(xiàn)行程序與I/O傳送串行進行;DMA方式時,CPU與I/O設(shè)備并行工作,現(xiàn)行程序與I/O傳送并行進行。(4)程序查詢方式時,CPU主動查詢I/O設(shè)備狀態(tài);程序中斷及DMA方式時,CPU被動接受I/O中斷請求或DMA請求。 (5)程序中斷方式由于軟件額外開銷時間比較大,因此傳輸速度最慢;程序查詢方式軟件額外開銷時間基本沒有,因此傳輸速度比中斷快;DMA方式基本由硬件實現(xiàn)傳

20、送,因此速度最快;注意:程序中斷方式雖然CPU運行效率比程序查詢高,但傳輸速度卻比程序查詢慢。(6)程序查詢接口硬件結(jié)構(gòu)最簡單,因此最經(jīng)濟;程序中斷接口硬件結(jié)構(gòu)稍微復雜一些,因此較經(jīng)濟;DMA控制器硬件結(jié)構(gòu)最復雜,因此成本最高;(7)程序中斷方式適用于中、低速設(shè)備的I/O交換;程序查詢方式適用于中、低速實時處理過程;DMA方式適用于高速設(shè)備的I/O交換;討論:問題1:這里的傳送速度指I/O設(shè)備與主存間,還是I/O與CPU之間?答:視具體傳送方式而定,程序查詢、程序中斷為I/O與CPU之間交換,DMA為I/O與主存間交換。問題2:主動性應(yīng)以CPU的操作方式看,而不是以I/O的操作方式看。程序查詢

21、方式:以緩沖器容量(塊、二進制數(shù)字)為單位傳送; 程序中斷方式:以向量地址中的數(shù)據(jù)(二進制編碼)為單位傳送;DMA:傳送單位根據(jù)數(shù)據(jù)線的根數(shù)而定; 30. 什么是多重中斷?實現(xiàn)多重中斷的必要條件是什么?解:多重中斷是指:當CPU執(zhí)行某個中斷服務(wù)程序的過程中,發(fā)生了更高級、更緊迫的事件,CPU暫?,F(xiàn)行中斷服務(wù)程序的執(zhí)行,轉(zhuǎn)去處理該事件的中斷,處理完返回現(xiàn)行中斷服務(wù)程序繼續(xù)執(zhí)行的過程。實現(xiàn)多重中斷的必要條件是:在現(xiàn)行中斷服務(wù)期間,中斷允許觸發(fā)器為1,即開中斷。補充題:一、某CRT顯示器可顯示64種ASCII字符,每幀可顯示72字×24排;每個字符字形采用7×8點陣,即橫向7點,

22、字間間隔1點,縱向8點,排間間隔6點;幀頻50Hz,采取逐行掃描方式。假設(shè)不考慮屏幕四邊的失真問題,且行回掃和幀回掃均占掃描時間的20%,問:1)顯存容量至少有多大?2)字符發(fā)生器(ROM)容量至少有多大?3)顯存中存放的是那種信息?4)顯存地址與屏幕顯示位置如何對應(yīng)?5)設(shè)置哪些計數(shù)器以控制顯存訪問與屏幕掃描之間的同步?它們的模各是多少?6)點時鐘頻率為多少?解:1)顯存最小容量=72×24×8 =1728B2)ROM最小容量=64×8行×8列= 512B(含字間隔1點) 3)顯存中存放的是ASCII碼信息。 4)顯存每個地址對應(yīng)一個字符顯示位置,顯示

23、位置自左至右,從上到下,分別對應(yīng)緩存地址由低到高。5)設(shè)置點計數(shù)器、字計數(shù)器、行計數(shù)器、排計數(shù)器控制顯存訪問與屏幕掃描之間的同步。它們的模計算如下:點計數(shù)器模 = 7+1 = 8行計數(shù)器模 = 8 + 6 = 14字、排計數(shù)器的模不僅與掃描正程時間有關(guān),而且與掃描逆程時間有關(guān),因此計算較為復雜。 列方程: (72+x)× 0.8 = 72(24+y)× 0.8 = 24 解方程得:x = 18,y = 6,則:字計數(shù)器模 = 72 + 18 = 90排計數(shù)器模 = 24 + 6 = 306)點頻 = 50Hz × 30排 × 14行 × 90字

24、 × 8點 = 15 120 000Hz= 15.12MHz討論:1、VRAM、ROM容量應(yīng)以字或字節(jié)為單位,不能以位為單位;2、字模點陣在ROM中按行存放,一行占一個存儲單元;3、顯存中存放的是ASCII碼而不是像素點;4、計算計數(shù)器的模及點頻時應(yīng)考慮回掃時間。二、有一編碼鍵盤,其鍵陣列為8行×16列,分別對應(yīng)128種ASCII碼字符,采用硬件掃描方式確認按鍵信號,問:1)掃描計數(shù)器應(yīng)為多少位?2)ROM容量為多大?3)若行、列號均從0開始編排,則當?shù)?行第7列的鍵表示字母“F”時,CPU從鍵盤讀入的二進制編碼應(yīng)為多少(設(shè)采用奇校驗) ? 4)參考教材圖5.15,畫出該鍵

25、盤的原理性邏輯框圖;5)如果不考慮校驗技術(shù),此時ROM是否可???解:1)掃描計數(shù)器 = 7位(與鍵的個數(shù)有關(guān))2)ROM容量 = 128 × 8 = 128B(與字符集大小有關(guān))3)CPU從鍵盤讀入的應(yīng)為字符“F”的ASCII碼 = 01000110 (46H) ,其中最高位為奇校驗位(注:不是位置碼) 。4)該鍵盤的原理性邏輯框圖見下頁,與教材圖5.15類似,主要需標明參數(shù)。5)如果不考慮校驗技術(shù),并按ASCII碼位序設(shè)計鍵陣列(注意) ,則ROM編碼表可省,此時7位計數(shù)器輸出值(掃描碼或鍵位置碼)即為ASCII碼。該鍵盤的原理性邏輯框圖如下:三、一針式打印機采用7列×9

26、行點陣打印字符,每行可打印132個字符,共有96種可打印字符,用帶偶校驗位的ASCII碼表示。問:1)打印緩存容量至少有多大?2)字符發(fā)生器容量至少有多大?3)列計數(shù)器應(yīng)有多少位?4)緩存地址計數(shù)器應(yīng)有多少位?解:1)打印緩存最小容量 = 132×8= 132B(考慮偶校驗位)2)ROM最小容量 = 96×7列×9行= 672×9位3)列計數(shù)器 = 3位(7列向上取2的冪)4)緩存地址計數(shù)器 = 8位(132向上取2的冪)討論:1、由于針打是按列打印,所以ROM一個存儲單元中存一列的9個點,則容量為672×9位;2、列計數(shù)器是對列號進行計數(shù),所

27、以模=7,3位(模不等于位數(shù));3、同樣緩存地址計數(shù)器模=132,8位。第六章2. 已知X=0.a1a2a3a4a5a6(ai為0或1),討論下列幾種情況時ai各取何值。 (1)X > 1/8; 31/2; (2)X X3 (3)1/4 > 1/16 解: (1)若要X > 1/2,只要a1=1,a2a6不全為0即可(a2 or a3 or a4 1/8,只要a1a3不全為0即可(a1 or a2 or a3 =1),3or a5 or a6 = 1); (2)若要X a4a6可任取0或1;X3(3)若要1/4 > 1/16,只要a1=0,a2可任取0或1; 當a2=0

28、時,若a3=0,則必須a4=1,且a5、a6不全為0(a5 or a6=1;若a3=1,則a4a6可任取0或1; 當a2=1時, a3a6可任取0或1。 3. 設(shè)x為整數(shù),x補=1,x1x2x3x4x5,若要求 x < -16,試問 x1x5 應(yīng)取何值? 解:若要x < -16,需 x1=0,x2x5 任意。(注:負數(shù)絕對值大的補碼碼值反而小。)4. 設(shè)機器數(shù)字長為8位(含1位符號位在內(nèi)),寫出對應(yīng)下列各真值的原碼、補碼和反碼。 -13/64,29/128,100,-87 解:真值與不同機器碼對應(yīng)關(guān)系如下:5. 已知x補,求x原和x。 x1補=1. 1100; x2補=1. 100

29、1; x3補=0. 1110; x4補=1. 0000; x5補=1,0101; x6補=1,1100; x7補=0,0111; x8補=1,0000; 解:x補與x原、x的對應(yīng)關(guān)系如下:6. 0,則3設(shè)機器數(shù)字長為8位(含1位符號位在內(nèi)),分整數(shù)和小數(shù)兩種情況討論真值x為何值時,x補=x原成立。 解: 當x為小數(shù)時,若x x補=x原成立; 若x < 0,則當x= -1/2時, x補=x原成立。 0,則 x補=x原成立; 若x3當x為整數(shù)時,若x < 0,則當x= -64時, x補=x原成立。 7. 設(shè)x為真值,x*為絕對值,說明-x*補=-x補能否成立。 解:當x為真值,x*為絕

30、對值時,-x*補=-x補不能成立。 -x*補=-x補的結(jié)論只在x>0時成立。當x<0時,由于-x*補是一個負值,而-x補是一個正值,因此此時-x*補不等于-x補。 8. 討論若x補>y補,是否有x>y? 解:若x補>y補,不一定有x>y。 x補 > y補時 x > y的結(jié)論只在 x > 0、y > 0,及 x<0、y<0時成立。當x>0、 y<0時,有x>y,但由于負數(shù)補碼的符號位為1,則x補<y補。同樣,當x<0、 y >0時,有x < y,但x補>y補。注意: 1)絕對值

31、小的負數(shù)其值反而大,且負數(shù)的絕對值越小,其補碼值越大。因此, 當x<0、y<0時,若x補>y補,必有x>y。 2)補碼的符號位和數(shù)值位為一體,不可分開分析。 3)完整的答案應(yīng)分四種情況分析,但也可通過充分分析一種不成立的情況獲得正確答案。 4)由于補碼0的符號位為0,因此x、y=0可歸納到>0的一類情況討論。 5)不考慮不同數(shù)字系統(tǒng)間的比較。(如有人分析x、y字長不等時的情況,無意義。) 9. 當十六進制數(shù)9B和FF分別表示為原碼、補碼、反碼、移碼和無符號數(shù)時,所對應(yīng)的十進制數(shù)各為多少(設(shè)機器數(shù)采用一位符號位)? 解:真值和機器數(shù)的對應(yīng)關(guān)系如下:10. 在整數(shù)定點

32、機中,設(shè)機器數(shù)采用一位符號位,寫出±0的原碼、補碼、反碼和移碼,得出什么結(jié)論? 解:0的機器數(shù)形式如下:解:機器數(shù)與對應(yīng)的真值形式如下:續(xù)表1:續(xù)表2:續(xù)表3:12. 設(shè)浮點數(shù)格式為:階符1位、階碼4位、數(shù)符1位、尾數(shù)10位。寫出51/128、-27/1024、7.375、-86.5所對應(yīng)的機器數(shù)。要求按規(guī)格化形式寫出: (1)階碼和尾數(shù)均為原碼; (2)階碼和尾數(shù)均為補碼; (3)階碼為移碼,尾數(shù)為補碼。 解:據(jù)題意畫出該浮點數(shù)的格式: 1 4 1 10將十進制數(shù)轉(zhuǎn)換為二進制: x1=51/128=(0.011 001 (0.110 011)2 x2= -27/1024=(-0.0

33、00 001 101 1)2 =2-51)2 =2-1 (0.111 011)2 x4=(-0.110 11)2 x3=7.375=(111.011)2 =23 (-0.101 011 01)2 則以上各數(shù)的浮點規(guī)格化數(shù)為:-86.5=(-1 010 110.1)2 =27 (1)x1浮=1,0001;0.110 011 000 0 (2)x1浮=1,1111;0.110 011 000 0 (3)x1浮=0,1111;0.110 011 000 0(1)x2浮=1,0101;1.110 110 000 0 (2)x2浮=1,1011;1.001 010 000 0 (3)x2浮=0,1011

34、;1.001 010 000 0 (1)x3浮=0,0011;0.111 011 000 0 (2)x3浮=0,0011;0.111 011 000 0 (3)x3浮=1,0011;0.111 011 000 0 (1)x4浮=0,0111;1.101 011 010 0 (2)x4浮=0,0111;1.010 100 110 0 (3)x4浮=1,0111;1.010 100 110 0 注:以上浮點數(shù)也可采用如下格式: 1 1 4 1013. 浮點數(shù)格式同上題,當階碼基值分別取2和16時, (1)說明2和16在浮點數(shù)中如何表示。 (2)基值不同對浮點數(shù)什么有影響? (3)當階碼和尾數(shù)均用補

35、碼表示,且尾數(shù)采用規(guī)格化形式,給出兩種情況下所能表示的最大正數(shù)和非零最小正數(shù)真值。 解:(1)階碼基值不論取何值,在浮點數(shù)中均為隱含表示,即:2和16不出現(xiàn)在浮點格式中,僅為人為的約定。(2)當基值不同時,對數(shù)的表示范圍和精度都有影響。即:在浮點格式不變的情況下,基越大,可表示的浮點數(shù)范圍越大,但精度越下降。 (3)r=2時,最大正數(shù)的浮點格式為: 0,1111;0.111 111 111 1 其真值為:N+max=215×(1-2-10) 非零最小規(guī)格化正數(shù)浮點格式為: 1,0000;0.100 000 000 0 其真值為:N+min=2-16×2-1=2-17 r=1

36、6時,最大正數(shù)的浮點格式為: 0,1111;0.1111 1111 11 其真值為:N+max=1615×(1-2-10) 非零最小規(guī)格化正數(shù)浮點格式為: 1,0000;0.0001 0000 00 其真值為:N+min=16-16×16-1=16-1714. 設(shè)浮點數(shù)字長為32位,欲表示±6萬間的十進制數(shù),在保證數(shù)的最大精度條件下,除階符、數(shù)符各取一位外,階碼和尾數(shù)各取幾位?按這樣分配,該浮點數(shù)溢出的條件是什么? 解:若要保證數(shù)的最大精度,應(yīng)取階的基=2。 若要表示±6萬間的十進制數(shù),由于32768(215)< 6萬 <65536(216)

37、,則:階碼除階符外還應(yīng)取5位(向上取2的冪)。 故:尾數(shù)位數(shù)=32-1-1-5=25位 25(32) 該浮點數(shù)格式如下: 1 5 1 3 按此格式,該浮點數(shù)上溢的條件為:階碼 2515. 什么是機器零?若要求全0表示機器零,浮點數(shù)的階碼和尾數(shù)應(yīng)采取什么機器數(shù)形式? 解:機器零指機器數(shù)所表示的零的形式,它與真值零的區(qū)別是:機器零在數(shù)軸上表示為“0”點及其附近的一段區(qū)域,即在計算機中小到機器數(shù)的精度達不到的數(shù)均視為“機器零”,而真零對應(yīng)數(shù)軸上的一點(0點)。若要求用“全0”表示浮點機器零,則浮點數(shù)的階碼應(yīng)用移碼、尾數(shù)用補碼表示(此時階碼為最小階、尾數(shù)為零,而移碼的最小碼值正好為“0”,補碼的零的形

38、式也為“0”,拼起來正好為一串0的形式)。16. 設(shè)機器數(shù)字長為16位,寫出下列各種情況下它能表示的數(shù)的范圍。設(shè)機器數(shù)采用一位符號位,答案均用十進制表示。 (1)無符號數(shù); (2)原碼表示的定點小數(shù); (3)補碼表示的定點小數(shù); (4)補碼表示的定點整數(shù); (5)原碼表示的定點整數(shù); (6)浮點數(shù)的格式為:階符1位、階碼5位、數(shù)符1位、尾數(shù)9位(共16位)。分別寫出其正數(shù)和負數(shù)的表示范圍(非規(guī)格化浮點形式); (7)浮點數(shù)格式同(6),機器數(shù)采用補碼規(guī)格化形式,分別寫出其對應(yīng)的正數(shù)和負數(shù)的真值范圍。解:各種表示方法數(shù)據(jù)范圍如下:(1)無符號整數(shù):0 216 - 1, 即:0 65535; 無符

39、號小數(shù):0 1 - 2-16 , 即:0 0.99998; (2)原碼定點小數(shù): 1 - 2-15 -(1 - 2-15), 即:0.99997 -0.99997; (3)補碼定點小數(shù):1 - 2-15 - 1 , 即:0.99997 -1; (4)補碼定點整數(shù):215 - 1 -215, 即:32767 -32768; (5)原碼定點整數(shù): 215 - 1 -(215 - 1), 即:32767 -32767;(6)據(jù)題意畫出該浮點數(shù)格式: 1 5 1 9最大負數(shù)=1,11 111;1.000 000 001 最小負數(shù)=0,11 111;1.111 111 111 則負數(shù)表示范圍為: (1-

40、2-9) 2-32(1-2-9) 2)當采用階移尾原非規(guī)格化數(shù)時, 正數(shù)表示范圍為: 231 (-2-9) -231 2-31 (1-2-9) 注:零視為中性數(shù),不在此范圍內(nèi)。(-2-9) -231 2-9 負數(shù)表示范圍為: 2-32 (7)當機器數(shù)采用補碼規(guī)格化形式時,若不考慮隱藏位,則 最大正數(shù)=0,11 111;0.111 111 111 最小正數(shù)=1,00 000;0.100 000 2-1 最大負數(shù)=1,00 000;1.011 111 111(1-2-9)2-32 000 其對應(yīng)的正數(shù)真值范圍為: 231 (2-1+2-9) 231最小負數(shù)=0,11 111;1.000 000 0

41、00 其對應(yīng)的負數(shù)真值范圍為: -2-32 (-1),不要用或3 注意: 1)應(yīng)寫出可表示范圍的上、下限精確值(用>或<)。 2)應(yīng)用十進制2的冪形式分階、尾兩部分表示,這樣可反映出浮點數(shù)的格式特點。括號不要乘開,不要用十進制小數(shù)表示,不直觀且無意義。 3)書寫時二進制和十進制不能混用(如:231寫成1031)。 MSB位=1)?4)原碼正、負域?qū)ΨQ,補碼正、負域不對稱,浮點數(shù)階、尾也如此。特別要注意浮點負數(shù)補碼規(guī)格化范圍。(滿足條件:數(shù)符17. 設(shè)機器數(shù)字長為8位(包括一位符號位),對下列各機器數(shù)進行算術(shù)左移一位、兩位,算術(shù)右移一位、兩位,討論結(jié)果是否正確。 x1原=0.001

42、1010; x2原=1.110 1000; x3原=1.001 1001; y1補=0.101 0100; y2補=1.110 1000; y3補=1.001 1001; z1反=1.010 1111; z2反=1.110 1000; z3反=1.001 1001。解:算術(shù)左移一位: x1原=0.011 0100;正確 x2原=1.101 0000;溢出(丟1)出錯 x3原=1. 011 0010;正確 y1補=0. 010 1000;溢出(丟1)出錯 y2補=1.101 0000;正確 y3補=1.011 0010;溢出(丟0)出錯 z1反=1. 101 1111;溢出(丟0)出錯 z2反=

43、1. 101 0001;正確 z3反=1.011 0011;溢出(丟0)出錯 算術(shù)左移兩位: x1原=0.110 1000;正確 x2原=1.010 0000;溢出(丟11)出錯 x3原=1. 110 0100;正確算術(shù)左移兩位: y1補=0. 101 0000;溢出(丟10)出錯 y2補=1.010 0000;正確 y3補=1.110 0100;溢出(丟00)出錯 z1反=1. 011 1111;溢出(丟01)出錯 z2反=1. 010 0011;正確 z3反=1.110 0111;溢出(丟00)出錯 算術(shù)右移一位: x1原=0.000 1101;正確 x2原=1.011 0100;正確 x

44、3原=1.000 1100(1);丟1,產(chǎn)生誤差 y1補=0.010 1010;正確 y2補=1.111 0100;正確 y3補=1.100 1100(1);丟1,產(chǎn)生誤差算術(shù)右移一位: z1反=1.101 0111;正確 z2反=1.111 0100(0);丟0,產(chǎn)生誤差 z3反=1.100 1100;正確 算術(shù)右移兩位: x1原=0.000 0110(10);產(chǎn)生誤差 x2原=1.001 1010;正確 x3原=1.000 0110(01);產(chǎn)生誤差 y1補=0.001 0101;正確 y2補=1.111 1010;正確 y3補=1.110 0110(01);產(chǎn)生誤差 z1反=1.110

45、1011;正確 z2反=1.111 1010(00);產(chǎn)生誤差 z3反=1.110 0110(01);產(chǎn)生誤差18. 試比較邏輯移位和算術(shù)移位。 解:邏輯移位和算術(shù)移位的區(qū)別: 邏輯移位是對邏輯數(shù)或無符號數(shù)進行的移位,其特點是不論左移還是右移,空出位均補0,移位時不考慮符號位。 算術(shù)移位是對帶符號數(shù)進行的移位操作,其關(guān)鍵規(guī)則是移位時符號位保持不變,空出位的補入值與數(shù)的正負、移位方向、采用的碼制等有關(guān)。補碼或反碼右移時具有符號延伸特性。左移時可能產(chǎn)生溢出錯誤,右移時可能丟失精度。19. 設(shè)機器數(shù)字長為8位(含1位符號位),用補碼運算規(guī)則計算下列各題。 (1)A=9/64, B=-13/32, 求

46、A+B; (2)A=19/32,B=-17/128,求A-B; (3)A=-3/16,B=9/32, 求A+B; (4)A=-87, B=53, 求A-B; (5)A=115, B=-24, 求A+B。 解: (1)A=9/64=(0.001 0010)2 B= -13/32=(-0.011 0100)2 A補=0.001 0010 B補=1.100 1100A+B補= 0. 0 0 1 0 0 1 0 + 1. 1 0 0 1 1 0 0 1. 1 0 1 1 1 1 0 無溢出 A+B=( -0.010 0010)2 = -17/64 (2)A=19/32=(0.100 1100)2 B=

47、 -17/128=(-0.001 0001)2 A補=0.100 1100 B補=1.110 1111 -B補=0.001 0001 A-B補= 0. 1 0 0 1 1 0 0 + 0. 0 0 1 0 0 0 1 0. 1 0 1 1 1 0 1 無溢出 A-B=(0.101 1101)2 = 93/128(3)A= -3/16=(-0.001 1000)2 B=9/32=(0.010 0100)2 A補=1.110 1000 B補= 0.010 0100 A+B補= 1. 1 1 0 1 0 0 0 + 0. 0 1 0 0 1 0 0 0. 0 0 0 1 1 0 0 無溢出 A+B=

48、(0.000 1100)2 = 3/32 (4)A= -87=(-101 0111)2 B=53=(110 101)2 A補=1,010 1001 B補=0,011 0101 -B補=1,100 1011A-B補= 1,0 1 0 1 0 0 1 + 1,1 0 0 1 0 1 1 0,1 1 1 0 1 0 0 溢出 A-B=(-1,000 1100)2 = -140 (5)A=115=(111 0011)2 B= -24=(-11 000)2 A補=0,111 0011 B補=1,110 1000 A+B補= 0,1 1 1 0 0 1 1 + 1,1 1 0 1 0 0 0 0,1 0

49、1 1 0 1 1無溢出 A+B=(101 1011)2 = 9120. 用原碼一位乘、兩位乘和補碼一位乘(Booth算法)、兩位乘計算x·y。 (1)x= 0.110 111,y= -0.101 110; (2)x= -0.010 111,y= -0.010 101; (3)x= 19, y= 35; (4)x= 0.110 11, y= -0.111 01。 解:先將數(shù)據(jù)轉(zhuǎn)換成所需的機器數(shù),然后計算,最后結(jié)果轉(zhuǎn)換成真值。 (1)x原=x=0.110111,y原=1.101110 x*=0.110111, y*=0.101110 1=1 x*×y*=0.100 111 1

50、00 010 x×y原=1.100? y0=0 ?x0=0,y0=1,z0=x0 111 100 010 x·y= -0. 100 111 100 010原碼一位乘: 部分積 1 0 . 0? 乘數(shù)y* 0 . 0 0 0 0 0 0 . 1 0 1 1 1 0 +0 0 0 0 0 0 0 . 1 0 1 1 1 +x* + 0 . 1 1 0 1 1 1 0 1 0 . 0 1 1 0 1 1 1 0 . 1 0 1 1 +x* +?. 1 1 0 1 1 1 1 0 . 1 0 1 0 0 1 0 1 ? 0 . 1 1 0 1 1 1 1 . 0 1 0 0 1 0

51、 1 0 .?0 . 1 0 1 +x* + 0 . 1 1 0 1 1 1 1 . 1 0 0 0 0 0 1 0 . 0 1 1 0 0 0 0?1 1 0 0 0 0 0 0 1 0 . 1 0 +0 1 ? 0 0 1 0 . 1 x* + 0 . 1 1 0 1 1 1 1 . 0 0 1 1 1 1 0 . 1 0 0 1 1 1 1 0 0 0 1 02x*=01.101110,-x*補=-x補=1.001001 原碼兩位乘: 部分積 乘數(shù) Cj 0 0 0 . 0 0 0 0 0 0 0 0 . 1 0 1 1 1 0 0 + 0 0 1 . 1 0 1 1 1 0 +2x*

52、0 0 1 . 1 0 1 1 2 0 0 0 . 0 1 1 0 1 1 1 0 0 0?1 0 0 .1 0 1 1 + 1 1 1 . 0 0 1 0 0 1 +-x*補 1 1 1 . 2 1 1 1 . 1 1 1 0 0 1 ?1 0 0 1 0 0 1 0 0 1 0 0 0 .1 0 + 1 1 1 . 0 0 1 0 0 1 +-x*補 2 1 1 1 . 1 1 0 0? 1 1 1 . 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 . + 0 0 0 . 1 1 0 1 1 1 +x* 0 0 0 . 1 0 0 1 1 1 1 0 0 0 1 0

53、0 結(jié)果同一位乘,x·y= -0. 100 111 100 010x補=x=0.110111 y補=1.010010 -x補=1.001001 2x補=01.101110 -2x補=10.010010 x×y補=1.011 000 011 110 0 x·y= -0.100 111 100 010 0 補碼一位乘、兩位乘運算過程如下:補碼一位乘:部分積 乘數(shù)y補 yn+1 0 0 1 0 0 . 0 0 0 0?. 0 0 0 0 0 0 1 . 0 1 0 0 1 0 0 +0 0 0 0 1 . 0 1 0 0 1 0 + 1 1 . 0 0 1 0 0 1

54、1 1 1 . 1 0 0 1 0 0 1? +-x補 1 1 . 0 0 1 0 0 1 0 1 . 0 1 0 0 1 + 0 0 . 1 1 0 1 1 1 1 0 0 . 0 0 1 1 0 1 1 1 0 1? +x補 0 0 . 0 1 1 0 1 1 1 0 0 . 0 0 0 1 1 0 1 1 1 0 1 . 0 ? . 0 1 0 0 +0 1 0 + 1 1 . 0 0 1 0 0 1 +-x補 1 1 1 1 . 1 0 0 1 1 1 1 1 1 1 0 1 . 0 1?1 . 0 0 1 1 1 1 + 0 0 . 1 1 0 1 1 1 +x補 0 0 . 0 1

55、 1 1 0 0 . 0 0 1 1 1 1 0 1 1 1 1 0 1 . 0 + 1 1?1 1 0 . 0 0 1 0 0 1 +-x補 1 1 . 0 1 1 0 0 0 0 1 1 1 1 0 0 清0補碼兩位乘: 部分積 乘數(shù) yn+1 0 0 0 . 0 0 0 0 0 0 1 1 . 0 1 0 0 1 0 0 + 1 1 0 . 0 1 0 0 1 0 +-2x補 1 1 0 . 0 2 1 1 1 . 1 0 0 1 0 0 1 0?1 0 0 1 0 1 1 .0 1 0 0 1 + 0 0 0 . 1 1 0 1 1 1 2 0 0 0 . 0?+x補 0 0 0 .

56、0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 .0 1 0 + 0 0 0 . 1 1 0 1 1 1 +x補 0 0 0 . 1 1 1 1 0 1 2 0 0 0 . 0 0 1 1 1 1 0 1 1 1 1 0 1 1 . 0 + 1 1 1 .? 0 0 1 0 0 1 +-x補 1 1 1 . 0 1 1 0 0 0 0 1 1 1 1 0 0 0 . 結(jié)果同補碼一位乘, x·y= -0. 100 111 100 010 00(2) x= -0.010111, y= -0.010101 x原=1.010111, y原=1.010101 x*=0. 0

57、10111 , y*=0. 010101 -x*補=1.101001,2x*=0.101110 1=0 x補=1.101001,? y0=1 ?-2x*補=1.010010 x0=1,y0=1,z0=x0 y補=1.101011 -x補=0.010111,2x補=1.010010 -2x補=0.101110 x*×y*=0.000 111 100 011 x×y原=0.000 111 100 011 x×y補=0.000 111 100 011 0 x·y= 0. 000 111 100 011 運算過程如下:原碼一位乘: 部分積 乘數(shù)y* 0 . 0 0 0 0 0 0 . 0 1 0 1 0 1 +x* 1 0 . 0 0 1 0 1 1 1 .?+ 0 . 0 1 0 1 1 1 0 . 0 1 0 1 1 1 1 0 . 0 0 0 1 0 1 1 1 . 0 1 0 1?0 1 0 1 0 +0 1 0 . 0 0 1 1 1 0 ? +x* + 0 . 0 1 0 1 1 1 0 . 0 1 1 1 0 0 1 0 . 0 0 0 1 1 1 0 0 1 1 .? 0 1 1 . 0 1 0 +0 1 0 . 0 0

溫馨提示

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

評論

0/150

提交評論