日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

计算机组成原理答案

發(fā)布時(shí)間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机组成原理答案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第一章 計(jì)算機(jī)系統(tǒng)概論

1. 什么是計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件?硬件和軟件哪個(gè)更重要?

解:P3

計(jì)算機(jī)系統(tǒng):由計(jì)算機(jī)硬件系統(tǒng)和軟件系統(tǒng)組成的綜合體。

計(jì)算機(jī)硬件:指計(jì)算機(jī)中的電子線路和物理裝置。

計(jì)算機(jī)軟件:計(jì)算機(jī)運(yùn)行所需的程序及相關(guān)資料。

硬件和軟件在計(jì)算機(jī)系統(tǒng)中相互依存,缺一不可,因此同樣重要。

?

5. 馮?諾依曼計(jì)算機(jī)的特點(diǎn)是什么?

解:馮?諾依曼計(jì)算機(jī)的特點(diǎn)是:P8

  • 計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大部件組成;
  • 指令和數(shù)據(jù)以同同等地位存放于存儲(chǔ)器內(nèi),并可以按地址訪問(wèn);
  • 指令和數(shù)據(jù)均用二進(jìn)制表示;
  • 指令由操作碼、地址碼兩大部分組成,操作碼用來(lái)表示操作的性質(zhì),地址碼用來(lái)表示操作數(shù)在存儲(chǔ)器中的位置;
  • 指令在存儲(chǔ)器中順序存放,通常自動(dòng)順序取出執(zhí)行;
  • 機(jī)器以運(yùn)算器為中心(原始馮?諾依曼機(jī))。
  • ?

    7. 解釋下列概念:

    主機(jī)、CPU、主存、存儲(chǔ)單元、存儲(chǔ)元件、存儲(chǔ)基元、存儲(chǔ)元、存儲(chǔ)字、存儲(chǔ)字長(zhǎng)、存儲(chǔ)容量、機(jī)器字長(zhǎng)、指令字長(zhǎng)。

    解:P9-10

    ?主機(jī):是計(jì)算機(jī)硬件的主體部分,由CPU和主存儲(chǔ)器MM合成為主機(jī)。

    ?CPU:中央處理器,是計(jì)算機(jī)硬件的核心部件,由運(yùn)算器和控制器組成;(早期的運(yùn)算器和控制器不在同一芯片上,現(xiàn)在的CPU內(nèi)除含有運(yùn)算器和控制器外還集成了CACHE)。

    ?主存:計(jì)算機(jī)中存放正在運(yùn)行的程序和數(shù)據(jù)的存儲(chǔ)器,為計(jì)算機(jī)的主要工作存儲(chǔ)器,可隨機(jī)存取;由存儲(chǔ)體、各種邏輯部件及控制電路組成。

    ?存儲(chǔ)單元:可存放一個(gè)機(jī)器字并具有特定存儲(chǔ)地址的存儲(chǔ)單位。

    ?存儲(chǔ)元件:存儲(chǔ)一位二進(jìn)制信息的物理元件,是存儲(chǔ)器中最小的存儲(chǔ)單位,又叫存儲(chǔ)基元或存儲(chǔ)元,不能單獨(dú)存取。

    ?存儲(chǔ)字:一個(gè)存儲(chǔ)單元所存二進(jìn)制代碼的邏輯單位。

    ?存儲(chǔ)字長(zhǎng):一個(gè)存儲(chǔ)單元所存二進(jìn)制代碼的位數(shù)。

    ?存儲(chǔ)容量:存儲(chǔ)器中可存二進(jìn)制代碼的總量;(通常主、輔存容量分開(kāi)描述)。

    ?機(jī)器字長(zhǎng):指CPU一次能處理的二進(jìn)制數(shù)據(jù)的位數(shù),通常與CPU的寄存器位數(shù)有關(guān)。

    ?指令字長(zhǎng):一條指令的二進(jìn)制代碼位數(shù)。

    ?

    8. 解釋下列英文縮寫(xiě)的中文含義:

    CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS

    解:全面的回答應(yīng)分英文全稱、中文名、功能三部分。

    CPU:Central Processing Unit,中央處理機(jī)(器),是計(jì)算機(jī)硬件的核心部件,主要由運(yùn)算器和控制器組成。

    PC:Program Counter,程序計(jì)數(shù)器,其功能是存放當(dāng)前欲執(zhí)行指令的地址,并可自動(dòng)計(jì)數(shù)形成下一條指令地址。

    IR:Instruction Register,指令寄存器,其功能是存放當(dāng)前正在執(zhí)行的指令。

    CU:Control Unit,控制單元(部件),為控制器的核心部件,其功能是產(chǎn)生微操作命令序列。

    ALU:Arithmetic Logic Unit,算術(shù)邏輯運(yùn)算單元,為運(yùn)算器的核心部件,其功能是進(jìn)行算術(shù)、邏輯運(yùn)算。

    ACC:Accumulator,累加器,是運(yùn)算器中既能存放運(yùn)算前的操作數(shù),又能存放運(yùn)算結(jié)果的寄存器。

    MQ:Multiplier-Quotient Register,乘商寄存器,乘法運(yùn)算時(shí)存放乘數(shù)、除法時(shí)存放商的寄存器。

    X:此字母沒(méi)有專指的縮寫(xiě)含義,可以用作任一部件名,在此表示操作數(shù)寄存器,即運(yùn)算器中工作寄存器之一,用來(lái)存放操作數(shù);

    MAR:Memory Address Register,存儲(chǔ)器地址寄存器,在主存中用來(lái)存放欲訪問(wèn)的存儲(chǔ)單元的地址。

    MDR:Memory Data Register,存儲(chǔ)器數(shù)據(jù)緩沖寄存器,在主存中用來(lái)存放從某單元讀出、或要寫(xiě)入某存儲(chǔ)單元的數(shù)據(jù)。

    I/O:Input/Output equipment,輸入/輸出設(shè)備,為輸入設(shè)備和輸出設(shè)備的總稱,用于計(jì)算機(jī)內(nèi)部和外界信息的轉(zhuǎn)換與傳送。

    MIPS:Million Instruction Per Second,每秒執(zhí)行百萬(wàn)條指令數(shù),為計(jì)算機(jī)運(yùn)算速度指標(biāo)的一種計(jì)量單位。

    ?

    9. 畫(huà)出主機(jī)框圖,分別以存數(shù)指令“STA M”和加法指令“ADD M”(M均為主存地址)為例,在圖中按序標(biāo)出完成該指令(包括取指令階段)的信息流程(如→①)。假設(shè)主存容量為256M*32位,在指令字長(zhǎng)、存儲(chǔ)字長(zhǎng)、機(jī)器字長(zhǎng)相等的條件下,指出圖中各寄存器的位數(shù)。

    解:主機(jī)框圖如P13圖1.11所示。

    (1)STA M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,

    OP(IR) →CU,Ad(IR) →MAR,ACC→MDR,MAR→MM,WR

    (2)ADD M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,

    ??????????????? OP(IR) →CU,Ad(IR) →MAR,RD,MM→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR

    假設(shè)主存容量256M*32位,在指令字長(zhǎng)、存儲(chǔ)字長(zhǎng)、機(jī)器字長(zhǎng)相等的條件下,ACC、X、IR、MDR寄存器均為32位,PC和MAR寄存器均為28位。

    ?

    10. 指令和數(shù)據(jù)都存于存儲(chǔ)器中,計(jì)算機(jī)如何區(qū)分它們?

    解:計(jì)算機(jī)區(qū)分指令和數(shù)據(jù)有以下2種方法:

  • 通過(guò)不同的時(shí)間段來(lái)區(qū)分指令和數(shù)據(jù),即在取指令階段(或取指微程序)取出的為指令,在執(zhí)行指令階段(或相應(yīng)微程序)取出的即為數(shù)據(jù)。
  • 通過(guò)地址來(lái)源區(qū)分,由PC提供存儲(chǔ)單元地址的取出的是指令,由指令地址碼部分提供存儲(chǔ)單元地址的取出的是操作數(shù)。
  • ?

    第2章 計(jì)算機(jī)的發(fā)展及應(yīng)用

    1. 通常計(jì)算機(jī)的更新?lián)Q代以什么為依據(jù)?

    答:P22

    主要以組成計(jì)算機(jī)基本電路的元器件為依據(jù),如電子管、晶體管、集成電路等。

    ?

    2. 舉例說(shuō)明專用計(jì)算機(jī)和通用計(jì)算機(jī)的區(qū)別。

    答:按照計(jì)算機(jī)的效率、速度、價(jià)格和運(yùn)行的經(jīng)濟(jì)性和實(shí)用性可以將計(jì)算機(jī)劃分為通用計(jì)算機(jī)和專用計(jì)算機(jī)。通用計(jì)算機(jī)適應(yīng)性強(qiáng),但犧牲了效率、速度和經(jīng)濟(jì)性,而專用計(jì)算機(jī)是最有效、最經(jīng)濟(jì)和最快的計(jì)算機(jī),但適應(yīng)性很差。例如個(gè)人電腦和計(jì)算器。

    ?

    3. 什么是摩爾定律?該定律是否永遠(yuǎn)生效?為什么?

    答:P23,否,P36

    ?

    第3章 系統(tǒng)總線

    1. 什么是總線?總線傳輸有何特點(diǎn)?為了減輕總線負(fù)載,總線上的部件應(yīng)具備什么特點(diǎn)?

    答:P41.總線是多個(gè)部件共享的傳輸部件。

    總線傳輸?shù)奶攸c(diǎn)是:某一時(shí)刻只能有一路信息在總線上傳輸,即分時(shí)使用。

    為了減輕總線負(fù)載,總線上的部件應(yīng)通過(guò)三態(tài)驅(qū)動(dòng)緩沖電路與總線連通。

    ? ?

    4. 為什么要設(shè)置總線判優(yōu)控制?常見(jiàn)的集中式總線控制有幾種?各有何特點(diǎn)?哪種方式響應(yīng)時(shí)間最快?哪種方式對(duì)電路故障最敏感?

    答:總線判優(yōu)控制解決多個(gè)部件同時(shí)申請(qǐng)總線時(shí)的使用權(quán)分配問(wèn)題;

    常見(jiàn)的集中式總線控制有三種:鏈?zhǔn)讲樵儭⒂?jì)數(shù)器定時(shí)查詢、獨(dú)立請(qǐng)求;

    特點(diǎn):鏈?zhǔn)讲樵兎绞竭B線簡(jiǎn)單,易于擴(kuò)充,對(duì)電路故障最敏感;計(jì)數(shù)器定時(shí)查詢方式優(yōu)先級(jí)設(shè)置較靈活,對(duì)故障不敏感,連線及控制過(guò)程較復(fù)雜;獨(dú)立請(qǐng)求方式速度最快,但硬件器件用量大,連線多,成本較高。

    ?

    5. 解釋下列概念:總線寬度、總線帶寬、總線復(fù)用、總線的主設(shè)備(或主模塊)、總線的從設(shè)備(或從模塊)、總線的傳輸周期和總線的通信控制。

    答:P46。

    總線寬度:通常指數(shù)據(jù)總線的根數(shù);

    總線帶寬:總線的數(shù)據(jù)傳輸率,指單位時(shí)間內(nèi)總線上傳輸數(shù)據(jù)的位數(shù);

    總線復(fù)用:指同一條信號(hào)線可以分時(shí)傳輸不同的信號(hào)。

    總線的主設(shè)備(主模塊):指一次總線傳輸期間,擁有總線控制權(quán)的設(shè)備(模塊);

    總線的從設(shè)備(從模塊):指一次總線傳輸期間,配合主設(shè)備完成數(shù)據(jù)傳輸?shù)脑O(shè)備(模塊),它只能被動(dòng)接受主設(shè)備發(fā)來(lái)的命令;

    總線的傳輸周期:指總線完成一次完整而可靠的傳輸所需時(shí)間;

    總線的通信控制:指總線傳送過(guò)程中雙方的時(shí)間配合方式。

    ?

    6. 試比較同步通信和異步通信。

    答:同步通信:指由統(tǒng)一時(shí)鐘控制的通信,控制方式簡(jiǎn)單,靈活性差,當(dāng)系統(tǒng)中各部件工作速度差異較大時(shí),總線工作效率明顯下降。適合于速度差別不大的場(chǎng)合。

    異步通信:指沒(méi)有統(tǒng)一時(shí)鐘控制的通信,部件間采用應(yīng)答方式進(jìn)行聯(lián)系,控制方式較同步復(fù)雜,靈活性高,當(dāng)系統(tǒng)中各部件工作速度差異較大時(shí),有利于提高總線工作效率。

    ?

    8. 為什么說(shuō)半同步通信同時(shí)保留了同步通信和異步通信的特點(diǎn)?

    答:半同步通信既能像同步通信那樣由統(tǒng)一時(shí)鐘控制,又能像異步通信那樣允許傳輸時(shí)間不一致,因此工作效率介于兩者之間。

    ?

    10. 為什么要設(shè)置總線標(biāo)準(zhǔn)?你知道目前流行的總線標(biāo)準(zhǔn)有哪些?什么叫plug and play?哪些總線有這一特點(diǎn)?

    答:總線標(biāo)準(zhǔn)的設(shè)置主要解決不同廠家各類模塊化產(chǎn)品的兼容問(wèn)題;

    目前流行的總線標(biāo)準(zhǔn)有:ISA、EISA、PCI等;

    plug and play:即插即用,EISA、PCI等具有此功能。

    ?

    11. 畫(huà)一個(gè)具有雙向傳輸功能的總線邏輯圖。

    答:在總線的兩端分別配置三態(tài)門(mén),就可以使總線具有雙向傳輸功能。

    ?

    ?

    12. 設(shè)數(shù)據(jù)總線上接有A、B、C、D四個(gè)寄存器,要求選用合適的74系列芯片,完成下列邏輯設(shè)計(jì):

    (1) 設(shè)計(jì)一個(gè)電路,在同一時(shí)間實(shí)現(xiàn)DA、DB和DC寄存器間的傳送;

    (2) 設(shè)計(jì)一個(gè)電路,實(shí)現(xiàn)下列操作:

    T0時(shí)刻完成D總線;

    T1時(shí)刻完成總線A

    T2時(shí)刻完成A總線;

    T3時(shí)刻完成總線B

    解:(1)由T打開(kāi)三態(tài)門(mén)將 D寄存器中的內(nèi)容送至總線bus,由cp脈沖同時(shí)將總線上的數(shù)據(jù)打入到 A、B、C寄存器中。 T和cp的時(shí)間關(guān)系如圖(1)所示。

    ?

    圖(1)

    (2)三態(tài)門(mén)1受T0+T1控制,以確保T0時(shí)刻D→總線,以及T1時(shí)刻總線→接收門(mén)1→A。三態(tài)門(mén)2受T2+T3控制,以確保T2時(shí)刻A→總線,以及T3時(shí)刻總線→接收門(mén)2→B。T0、T1、T2、T3波形圖如圖(2)所示。

    ?

    圖(2)

    ?

    第 四 章

    3. 存儲(chǔ)器的層次結(jié)構(gòu)主要體現(xiàn)在什么地方?為什么要分這些層次?計(jì)算機(jī)如何管理這些層次?

    答:存儲(chǔ)器的層次結(jié)構(gòu)主要體現(xiàn)在Cache-主存和主存-輔存這兩個(gè)存儲(chǔ)層次上。

    Cache-主存層次在存儲(chǔ)系統(tǒng)中主要對(duì)CPU訪存起加速作用,即從整體運(yùn)行的效果分析,CPU訪存速度加快,接近于Cache的速度,而尋址空間和位價(jià)卻接近于主存。

    主存-輔存層次在存儲(chǔ)系統(tǒng)中主要起擴(kuò)容作用,即從程序員的角度看,他所使用的存儲(chǔ)器其容量和位價(jià)接近于輔存,而速度接近于主存。

    綜合上述兩個(gè)存儲(chǔ)層次的作用,從整個(gè)存儲(chǔ)系統(tǒng)來(lái)看,就達(dá)到了速度快、容量大、位價(jià)低的優(yōu)化效果。

    主存與CACHE之間的信息調(diào)度功能全部由硬件自動(dòng)完成。而主存與輔存層次的調(diào)度目前廣泛采用虛擬存儲(chǔ)技術(shù)實(shí)現(xiàn),即將主存與輔存的一部分通過(guò)軟硬結(jié)合的技術(shù)組成虛擬存儲(chǔ)器,程序員可使用這個(gè)比主存實(shí)際空間(物理地址空間)大得多的虛擬地址空間(邏輯地址空間)編程,當(dāng)程序運(yùn)行時(shí),再由軟、硬件自動(dòng)配合完成虛擬地址空間與主存實(shí)際物理空間的轉(zhuǎn)換。因此,這兩個(gè)層次上的調(diào)度或轉(zhuǎn)換操作對(duì)于程序員來(lái)說(shuō)都是透明的。

    ?

    4. 說(shuō)明存取周期和存取時(shí)間的區(qū)別。

    解:存取周期和存取時(shí)間的主要區(qū)別是:存取時(shí)間僅為完成一次操作的時(shí)間,而存取周期不僅包含操作時(shí)間,還包含操作后線路的恢復(fù)時(shí)間。即:

    存取周期 = 存取時(shí)間 + 恢復(fù)時(shí)間

    ?

    5. 什么是存儲(chǔ)器的帶寬?若存儲(chǔ)器的數(shù)據(jù)總線寬度為32位,存取周期為200ns,則存儲(chǔ)器的帶寬是多少?

    解:存儲(chǔ)器的帶寬指單位時(shí)間內(nèi)從存儲(chǔ)器進(jìn)出信息的最大數(shù)量。

    存儲(chǔ)器帶寬 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒 = 5M字/秒

    注意:字長(zhǎng)32位,不是16位。(注:1ns=10-9s)

    ?

    6. 某機(jī)字長(zhǎng)為32位,其存儲(chǔ)容量是64KB,按字編址它的尋址范圍是多少?若主存以字節(jié)編址,試畫(huà)出主存字地址和字節(jié)地址的分配情況。

    解:存儲(chǔ)容量是64KB時(shí),按字節(jié)編址的尋址范圍就是64K,如按字編址,其尋址范圍為:

    64K / (32/8)= 16K

    主存字地址和字節(jié)地址的分配情況:(略)。

    ?

    7. 一個(gè)容量為16K×32位的存儲(chǔ)器,其地址線和數(shù)據(jù)線的總和是多少?當(dāng)選用下列不同規(guī)格的存儲(chǔ)芯片時(shí),各需要多少片?

    1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位

    解:地址線和數(shù)據(jù)線的總和 = 14 + 32 = 46根;

    選擇不同的芯片時(shí),各需要的片數(shù)為:

    1K×4:(16K×32) / (1K×4) = 16×8 = 128片

    2K×8:(16K×32) / (2K×8) = 8×4 = 32片

    4K×4:(16K×32) / (4K×4) = 4×8 = 32片

    16K×1:(16K×32)/ (16K×1) = 1×32 = 32片

    4K×8:(16K×32)/ (4K×8) = 4×4 = 16片

    8K×8:(16K×32) / (8K×8) = 2×4 = 8片

    ?

    8. 試比較靜態(tài)RAM和動(dòng)態(tài)RAM。

    答:略。(參看課件)

    ?

    9. 什么叫刷新?為什么要刷新?說(shuō)明刷新有幾種方法。

    解:刷新:對(duì)DRAM定期進(jìn)行的全部重寫(xiě)過(guò)程;

    刷新原因:因電容泄漏而引起的DRAM所存信息的衰減需要及時(shí)補(bǔ)充,因此安排了定期刷新操作;

    常用的刷新方法有三種:集中式、分散式、異步式。

    集中式:在最大刷新間隔時(shí)間內(nèi),集中安排一段時(shí)間進(jìn)行刷新,存在CPU訪存死時(shí)間。

    分散式:在每個(gè)讀/寫(xiě)周期之后插入一個(gè)刷新周期,無(wú)CPU訪存死時(shí)間。

    異步式:是集中式和分散式的折衷。

    ?

    10. 半導(dǎo)體存儲(chǔ)器芯片的譯碼驅(qū)動(dòng)方式有幾種?

    解:半導(dǎo)體存儲(chǔ)器芯片的譯碼驅(qū)動(dòng)方式有兩種:線選法和重合法。

    線選法:地址譯碼信號(hào)只選中同一個(gè)字的所有位,結(jié)構(gòu)簡(jiǎn)單,費(fèi)器材;

    重合法:地址分行、列兩部分譯碼,行、列譯碼線的交叉點(diǎn)即為所選單元。這種方法通過(guò)行、列譯碼信號(hào)的重合來(lái)選址,也稱矩陣譯碼。可大大節(jié)省器材用量,是最常用的譯碼驅(qū)動(dòng)方式。

    ?

    11. 一個(gè)8K×8位的動(dòng)態(tài)RAM芯片,其內(nèi)部結(jié)構(gòu)排列成256×256形式,存取周期為0.1μs。試問(wèn)采用集中刷新、分散刷新和異步刷新三種方式的刷新間隔各為多少?

    解:采用分散刷新方式刷新間隔為:2ms,其中刷新死時(shí)間為:256×0.1μs=25.6μs

    采用分散刷新方式刷新間隔為:256×(0.1μs+×0.1μs)=51.2μs

    采用異步刷新方式刷新間隔為:2ms

    ?

    12. 畫(huà)出用1024×4位的存儲(chǔ)芯片組成一個(gè)容量為64K×8位的存儲(chǔ)器邏輯框圖。要求將64K分成4個(gè)頁(yè)面,每個(gè)頁(yè)面分16組,指出共需多少片存儲(chǔ)芯片。

    解:設(shè)采用SRAM芯片,則:

    總片數(shù) = (64K×8位) / (1024×4位)= 64×2 = 128片

    題意分析:本題設(shè)計(jì)的存儲(chǔ)器結(jié)構(gòu)上分為總體、頁(yè)面、組三級(jí),因此畫(huà)圖時(shí)也應(yīng)分三級(jí)畫(huà)。首先應(yīng)確定各級(jí)的容量:

    頁(yè)面容量 = 總?cè)萘?/ 頁(yè)面數(shù) = 64K×8 / 4? = 16K×8位,4片16K×8字串聯(lián)成64K×8位

    組容量 = 頁(yè)面容量 / 組數(shù) ? = 16K×8位 / 16 = 1K×8位,16片1K×8位字串聯(lián)成16K×8位

    組內(nèi)片數(shù) = 組容量 / 片容量 = 1K×8位 / 1K×4位 = 2片,兩片1K×4位芯片位并聯(lián)成1K×8位

    存儲(chǔ)器邏輯框圖:(略)。

    ?

    13. 設(shè)有一個(gè)64K×8位的RAM芯片,試問(wèn)該芯片共有多少個(gè)基本單元電路(簡(jiǎn)稱存儲(chǔ)基元)?欲設(shè)計(jì)一種具有上述同樣多存儲(chǔ)基元的芯片,要求對(duì)芯片字長(zhǎng)的選擇應(yīng)滿足地址線和數(shù)據(jù)線的總和為最小,試確定這種芯片的地址線和數(shù)據(jù)線,并說(shuō)明有幾種解答。

    解:存儲(chǔ)基元總數(shù) = 64K×8位 = 512K位 = 219位;

    思路:如要滿足地址線和數(shù)據(jù)線總和最小,應(yīng)盡量把存儲(chǔ)元安排在字向,因?yàn)榈刂肺粩?shù)和字?jǐn)?shù)成2的冪的關(guān)系,可較好地壓縮線數(shù)。

    解:設(shè)地址線根數(shù)為a,數(shù)據(jù)線根數(shù)為b,則片容量為:2a×b = 219;b = 219-a;

    若a = 19,b = 1,總和 = 19+1 = 20;

    ?a = 18,b = 2,總和 = 18+2 = 20;

    ? a = 17,b = 4,總和 = 17+4 = 21;

    ? a = 16,b = 8,總和 = 16+8 = 24;

    ? …… ? ? ……

    由上可看出:片字?jǐn)?shù)越少,片字長(zhǎng)越長(zhǎng),引腳數(shù)越多。片字?jǐn)?shù)減1、片位數(shù)均按2的冪變化。

    結(jié)論:如果滿足地址線和數(shù)據(jù)線的總和為最小,這種芯片的引腳分配方案有兩種:地址線 = 19根,數(shù)據(jù)線 = 1根;或地址線 = 18根,數(shù)據(jù)線 = 2根。

    ?

    14. 某8位微型機(jī)地址碼為18位,若使用4K×4位的RAM芯片組成模塊板結(jié)構(gòu)的存儲(chǔ)器,試問(wèn):

    (1)該機(jī)所允許的最大主存空間是多少?

    (2)若每個(gè)模塊板為32K×8位,共需幾個(gè)模塊板?

    (3)每個(gè)模塊板內(nèi)共有幾片RAM芯片?

    (4)共有多少片RAM?

    (5)CPU如何選擇各模塊板?

    解:(1)該機(jī)所允許的最大主存空間是:218 × 8位 = 256K×8位 = 256KB

    (2)模塊板總數(shù) = 256K×8 / 32K×8 = 8塊

    (3)板內(nèi)片數(shù) = 32K×8位 / 4K×4位 = 8×2 = 16片

    (4)總片數(shù) = 16片×8 = 128片

    (5)CPU通過(guò)最高3位地址譯碼輸出選擇模板,次高3位地址譯碼輸出選擇芯片。地址格式分配如下:

    ?

    ?

    15. 設(shè)CPU共有16根地址線,8根數(shù)據(jù)線,并用(低電平有效)作訪存控制信號(hào),作讀寫(xiě)命令信號(hào)(高電平為讀,低電平為寫(xiě))。現(xiàn)有下列存儲(chǔ)芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138譯碼器和其他門(mén)電路(門(mén)電路自定)。試從上述規(guī)格中選用合適芯片,畫(huà)出CPU和存儲(chǔ)芯片的連接圖。要求:

    (1)最小4K地址為系統(tǒng)程序區(qū),4096~16383地址范圍為用戶程序區(qū);

    (2)指出選用的存儲(chǔ)芯片類型及數(shù)量;

    (3)詳細(xì)畫(huà)出片選邏輯。

    解:(1)地址空間分配圖:

    ????? ??系統(tǒng)程序區(qū)(ROM共4KB):0000H-0FFFH

    ??????? 用戶程序區(qū)(RAM共12KB):1000H-FFFFH

    ?? (2)選片:ROM:選擇4K×4位芯片2片,位并聯(lián)

    ? ? ? ? ? ? ? RAM:選擇4K×8位芯片3片,字串聯(lián)(RAM1地址范圍為:1000H-1FFFH,RAM2地址范圍為2000H-2FFFH, RAM3地址范圍為:3000H-3FFFH)

    ?? (3)各芯片二進(jìn)制地址分配如下:

    ?

    A15

    A14

    A13

    A12

    A11

    A10

    A9

    A8

    A7

    A6

    A5

    A4

    A3

    A2

    A1

    A0

    ROM1,2

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    RAM1

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    RAM2

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    RAM3

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    CPU和存儲(chǔ)器連接邏輯圖及片選邏輯如下圖(3)所示:

    圖(3)

    ?

    16. CPU假設(shè)同上題,現(xiàn)有8片8K×8位的RAM芯片與CPU相連,試回答:

    (1)用74138譯碼器畫(huà)出CPU與存儲(chǔ)芯片的連接圖;

    (2)寫(xiě)出每片RAM的地址范圍;

    (3)如果運(yùn)行時(shí)發(fā)現(xiàn)不論往哪片RAM寫(xiě)入數(shù)據(jù)后,以A000H為起始地址的存儲(chǔ)芯片都有與其相同的數(shù)據(jù),分析故障原因。

    (4)根據(jù)(1)的連接圖,若出現(xiàn)地址線A13與CPU斷線,并搭接到高電平上,將出現(xiàn)什么后果?

    解:(1)CPU與存儲(chǔ)器芯片連接邏輯圖:

    ?

    ? ?(2)地址空間分配圖:

    ??????? RAM0:0000H-1FFFH

    ??????? RAM1:2000H-3FFFH

    ??????? RAM2:4000H-5FFFH

    ??????? RAM3:6000H-7FFFH

    ??????? RAM4:8000H-9FFFH

    ??????? RAM5:A000H-BFFFH

    ??????? RAM6:C000H-DFFFH

    ??????? RAM7:E000H-FFFFH

    (3)如果運(yùn)行時(shí)發(fā)現(xiàn)不論往哪片RAM寫(xiě)入數(shù)據(jù)后,以A000H為起始地址的存儲(chǔ)芯片(RAM5)都有與其相同的數(shù)據(jù),則根本的故障原因?yàn)?#xff1a;該存儲(chǔ)芯片的片選輸入端很可能總是處于低電平。假設(shè)芯片與譯碼器本身都是好的,可能的情況有:

    1)該片的-CS端與-WE端錯(cuò)連或短路;

    2)該片的-CS端與CPU的-MREQ端錯(cuò)連或短路;

    3)該片的-CS端與地線錯(cuò)連或短路。

    (4)如果地址線A13與CPU斷線,并搭接到高電平上,將會(huì)出現(xiàn)A13恒為“1”的情況。此時(shí)存儲(chǔ)器只能尋址A13=1的地址空間(奇數(shù)片),A13=0的另一半地址空間(偶數(shù)片)將永遠(yuǎn)訪問(wèn)不到。若對(duì)A13=0的地址空間(偶數(shù)片)進(jìn)行訪問(wèn),只能錯(cuò)誤地訪問(wèn)到A13=1的對(duì)應(yīng)空間(奇數(shù)片)中去。

    ?

    17. 寫(xiě)出1100、1101、1110、1111對(duì)應(yīng)的漢明碼。

    解:有效信息均為n=4位,假設(shè)有效信息用b4b3b2b1表示

    校驗(yàn)位位數(shù)k=3位,(2k>=n+k+1)

    設(shè)校驗(yàn)位分別為c1、c2、c3,則漢明碼共4+3=7位,即:c1c2b4c3b3b2b1

    校驗(yàn)位在漢明碼中分別處于第1、2、4位

    c1=b4⊕b3⊕b1

    c2=b4⊕b2⊕b1

    c3=b3⊕b2⊕b1

    當(dāng)有效信息為1100時(shí),c3c2c1=011,漢明碼為1110100。

    當(dāng)有效信息為1101時(shí),c3c2c1=100,漢明碼為0011101。

    當(dāng)有效信息為1110時(shí),c3c2c1=101,漢明碼為1011110。

    當(dāng)有效信息為1111時(shí),c3c2c1=010,漢明碼為0110111。

    ?

    18. 已知收到的漢明碼(按配偶原則配置)為1100100、1100111、1100000、1100001,檢查上述代碼是否出錯(cuò)?第幾位出錯(cuò)?

    解:假設(shè)接收到的漢明碼為:c1’c2’b4’c3’b3’b2’b1’

    糾錯(cuò)過(guò)程如下:

    P1=c1’⊕b4’⊕b3’⊕b1’

    P2=c2’⊕b4’⊕b2’⊕b1’

    P3=c3’⊕b3’⊕b2’⊕b1’

    如果收到的漢明碼為1100100,則p3p2p1=011,說(shuō)明代碼有錯(cuò),第3位(b4’)出錯(cuò),有效信息為:1100

    如果收到的漢明碼為1100111,則p3p2p1=111,說(shuō)明代碼有錯(cuò),第7位(b1’)出錯(cuò),有效信息為:0110

    如果收到的漢明碼為1100000,則p3p2p1=110,說(shuō)明代碼有錯(cuò),第6位(b2’)出錯(cuò),有效信息為:0010

    如果收到的漢明碼為1100001,則p3p2p1=001,說(shuō)明代碼有錯(cuò),第1位(c1’)出錯(cuò),有效信息為:0001

    ?

    22. 某機(jī)字長(zhǎng)16位,常規(guī)的存儲(chǔ)空間為64K字,若想不改用其他高速的存儲(chǔ)芯片,而使訪存速度提高到8倍,可采取什么措施?畫(huà)圖說(shuō)明。

    解:若想不改用高速存儲(chǔ)芯片,而使訪存速度提高到8倍,可采取八體交叉存取技術(shù),8體交叉訪問(wèn)時(shí)序如下圖:

    ?

    ?

    18. 什么是“程序訪問(wèn)的局部性”?存儲(chǔ)系統(tǒng)中哪一級(jí)采用了程序訪問(wèn)的局部性原理?

    解:程序運(yùn)行的局部性原理指:在一小段時(shí)間內(nèi),最近被訪問(wèn)過(guò)的程序和數(shù)據(jù)很可能再次被訪問(wèn);在空間上,這些被訪問(wèn)的程序和數(shù)據(jù)往往集中在一小片存儲(chǔ)區(qū);在訪問(wèn)順序上,指令順序執(zhí)行比轉(zhuǎn)移執(zhí)行的可能性大 (大約 5:1 )。存儲(chǔ)系統(tǒng)中Cache—主存層次采用了程序訪問(wèn)的局部性原理。

    ?

    25. Cache做在CPU芯片內(nèi)有什么好處?將指令Cache和數(shù)據(jù)Cache分開(kāi)又有什么好處?

    答:Cache做在CPU芯片內(nèi)主要有下面幾個(gè)好處:

    1)可提高外部總線的利用率。因?yàn)镃ache在CPU芯片內(nèi),CPU訪問(wèn)Cache時(shí)不必占用外部總線。

    2)Cache不占用外部總線就意味著外部總線可更多地支持I/O設(shè)備與主存的信息傳輸,增強(qiáng)了系統(tǒng)的整體效率。

    3)可提高存取速度。因?yàn)镃ache與CPU之間的數(shù)據(jù)通路大大縮短,故存取速度得以提高。

    將指令Cache和數(shù)據(jù)Cache分開(kāi)有如下好處:

    1)可支持超前控制和流水線控制,有利于這類控制方式下指令預(yù)取操作的完成。

    2)指令Cache可用ROM實(shí)現(xiàn),以提高指令存取的可靠性。

    3)數(shù)據(jù)Cache對(duì)不同數(shù)據(jù)類型的支持更為靈活,既可支持整數(shù)(例32位),也可支持浮點(diǎn)數(shù)據(jù)(如64位)。

    補(bǔ)充

    Cache結(jié)構(gòu)改進(jìn)的第三個(gè)措施是分級(jí)實(shí)現(xiàn),如二級(jí)緩存結(jié)構(gòu),即在片內(nèi)Cache(L1)和主存之間再設(shè)一個(gè)片外Cache(L2),片外緩存既可以彌補(bǔ)片內(nèi)緩存容量不夠大的缺點(diǎn),又可在主存與片內(nèi)緩存間起到平滑速度差的作用,加速片內(nèi)緩存的調(diào)入調(diào)出速度。

    ?

    30. 一個(gè)組相連映射的CACHE由64塊組成,每組內(nèi)包含4塊。主存包含4096塊,每塊由128字組成,訪存地址為字地址。試問(wèn)主存和高速存儲(chǔ)器的地址各為幾位?畫(huà)出主存地址格式。

    解:cache組數(shù):64/4=16 ,Cache容量為:64*128=213字,cache地址13位

    主存共分4096/16=256區(qū),每區(qū)16塊

    主存容量為:4096*128=219字,主存地址19位,地址格式如下:

    主存字塊標(biāo)記(8位)

    組地址(4位)

    字塊內(nèi)地址(7位)

    ?

    ?

    第 六 章

    12. 設(shè)浮點(diǎn)數(shù)格式為:階碼5位(含1位階符),尾數(shù)11位(含1位數(shù)符)。寫(xiě)出51/128、-27/1024所對(duì)應(yīng)的機(jī)器數(shù)。要求如下:

    (1)階碼和尾數(shù)均為原碼。

    (2)階碼和尾數(shù)均為補(bǔ)碼。

    (3)階碼為移碼,尾數(shù)為補(bǔ)碼。 ? ?

    解:據(jù)題意畫(huà)出該浮點(diǎn)數(shù)的格式:

    階符1位

    階碼4位

    數(shù)符1位

    尾數(shù)10位

    ??? ? 將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011B

    ? ? x2= -27/1024= -0.0000011011B = 2-5*(-0.11011B

    則以上各數(shù)的浮點(diǎn)規(guī)格化數(shù)為:

    (1)[x1]浮=1,0001;0.110 011 000 0

    ???? [x2]浮=1,0101;1.110 110 000 0

    (2)[x1]浮=1,1111;0.110 011 000 0

    ???? [x2]浮=1,1011;1.001 010 000 0

    (3)[x1]浮=0,1111;0.110 011 000 0

    ???? [x2]浮=0,1011;1.001 010 000 0

    ?

    16.設(shè)機(jī)器數(shù)字長(zhǎng)為16位,寫(xiě)出下列各種情況下它能表示的數(shù)的范圍。設(shè)機(jī)器數(shù)采用一位符號(hào)位,答案均用十進(jìn)制表示。

    ?? ? (1)無(wú)符號(hào)數(shù);

    ?? ? (2)原碼表示的定點(diǎn)小數(shù)。

    ?? ? (3)補(bǔ)碼表示的定點(diǎn)小數(shù)。

    ?? ? (4)補(bǔ)碼表示的定點(diǎn)整數(shù)。

    ?? ? (5)原碼表示的定點(diǎn)整數(shù)。

    ?? ? (6)浮點(diǎn)數(shù)的格式為:階碼6位(含1位階符),尾數(shù)10位(含1位數(shù)符)。分別寫(xiě)出其正數(shù)和負(fù)數(shù)的表示范圍。

    ?? ? (7)浮點(diǎn)數(shù)格式同(6),機(jī)器數(shù)采用補(bǔ)碼規(guī)格化形式,分別寫(xiě)出其對(duì)應(yīng)的正數(shù)和負(fù)數(shù)的真值范圍。

    解:(1)無(wú)符號(hào)整數(shù):0 —— 216 - 1,即:0—— 65535;

    ?? ?無(wú)符號(hào)小數(shù):0 —— 1 - 2-16 ,即:0 —— 0.99998;

    (2)原碼定點(diǎn)小數(shù):-1 + 2-15——1 - 2-15 ,即:-0.99997 —— 0.99997

    (3)補(bǔ)碼定點(diǎn)小數(shù):- 1——1 - 2-15 ?,即:-1——0.99997

    (4)補(bǔ)碼定點(diǎn)整數(shù):-215——215 - 1 ,即:-32768——32767

    (5)原碼定點(diǎn)整數(shù):-215 + 1——215 - 1,即:-32767——32767

    (6)據(jù)題意畫(huà)出該浮點(diǎn)數(shù)格式,當(dāng)階碼和尾數(shù)均采用原碼,非規(guī)格化數(shù)表示時(shí):

    最大負(fù)數(shù)= 1,11 111;1.000 000 001 ,即 -2-92-31

    最小負(fù)數(shù)= 0,11 111;1.111 111 111,即 -(1-2-9)231

    則負(fù)數(shù)表示范圍為:-(1-2-9)231 —— -2-92-31

    最大正數(shù)= 0,11 111;0.111 111 111,即 (1-2-9)231

    最小正數(shù)= 1,11 111;0.000 000 001,即 2-92-31

    則正數(shù)表示范圍為:2-92-31 ——(1-2-9)231

    (7)當(dāng)機(jī)器數(shù)采用補(bǔ)碼規(guī)格化形式時(shí),若不考慮隱藏位,則

    最大負(fù)數(shù)=1,00 000;1.011 111 111,即 -2-12-32

    最小負(fù)數(shù)=0,11 111;1.000 000 000,即 -1231

    則負(fù)數(shù)表示范圍為:-1231 —— -2-12-32

    最大正數(shù)=0,11 111;0.111 111 111,即 (1-2-9)231

    最小正數(shù)=1,00 000;0.100 000 000,即 ?2-12-32

    則正數(shù)表示范圍為:2-12-32 ——(1-2-9)231

    ?

    17. 設(shè)機(jī)器數(shù)字長(zhǎng)為8位(包括一位符號(hào)位),對(duì)下列各機(jī)器數(shù)進(jìn)行算術(shù)左移一位、兩位,算術(shù)右移一位、兩位,討論結(jié)果是否正確。

    ?? [x1]原=0.001 1010;[y1]補(bǔ)=0.101 0100;[z1]反=1.010 1111;

    ?? [x2]原=1.110 1000;[y2]補(bǔ)=1.110 1000;[z2]反=1.110 1000;

    ?? [x3]原=1.001 1001;[y3]補(bǔ)=1.001 1001;[z3]反=1.001 1001。

    解:算術(shù)左移一位:

    ?[x1]原=0.011 0100;正確

    [x2]原=1.101 0000;溢出(丟1)出錯(cuò)

    [x3]原=1.011 0010;正確

    [y1]補(bǔ)=0.010 1000;溢出(丟1)出錯(cuò)

    [y2]補(bǔ)=1.101 0000;正確

    [y3]補(bǔ)=1.011 0010;溢出(丟0)出錯(cuò)

    [z1]反=1.101 1111;溢出(丟0)出錯(cuò)

    [z2]反=1.101 0001;正確

    [z3]反=1.011 0011;溢出(丟0)出錯(cuò)

    算術(shù)左移兩位:

    [x1]原=0.110 1000;正確

    [x2]原=1.010 0000;溢出(丟11)出錯(cuò)

    [x3]原=1.110 0100;正確

    [y1]補(bǔ)=0.101 0000;溢出(丟10)出錯(cuò)

    [y2]補(bǔ)=1.010 0000;正確

    [y3]補(bǔ)=1.110 0100;溢出(丟00)出錯(cuò)

    [z1]反=1.011 1111;溢出(丟01)出錯(cuò)

    [z2]反=1.010 0011;正確

    [z3]反=1.110 0111;溢出(丟00)出錯(cuò)

    算術(shù)右移一位:

    ?[x1]原=0.000 1101;正確

    [x2]原=1.011 0100;正確

    [x3]原=1.000 1100(1);丟1,產(chǎn)生誤差

    [y1]補(bǔ)=0.010 1010;正確

    [y2]補(bǔ)=1.111 0100;正確

    [y3]補(bǔ)=1.100 1100(1);丟1,產(chǎn)生誤差

    [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]補(bǔ)=0.001 0101;正確

    [y2]補(bǔ)=1.111 1010;正確

    [y3]補(bǔ)=1.110 0110(01);產(chǎn)生誤差

    [z1]反=1.110 1011;正確

    [z2]反=1.111 1010(00);產(chǎn)生誤差

    [z3]反=1.110 0110(01);產(chǎn)生誤差
    ?

    19. 設(shè)機(jī)器數(shù)字長(zhǎng)為8位(含1位符號(hào)位),用補(bǔ)碼運(yùn)算規(guī)則計(jì)算下列各題。

    ?? (1)A=9/64, B=-13/32,求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 0010B, B= -13/32= -0.011 0100B

    ?? ? ? [A]補(bǔ)=0.001 0010, [B]補(bǔ)=1.100 1100

    [A+B]補(bǔ)= 0.0010010 + 1.1001100 = 1.1011110 ——無(wú)溢出

    A+B= -0.010 0010B = -17/64

    ?? (2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B

    ? ? ? ? [A]補(bǔ)=0.100 1100, [B]補(bǔ)=1.110 1111 , [-B]補(bǔ)=0.001 0001

    ?[A-B]補(bǔ)= 0.1001100 + 0.0010001= 0.1011101 ——無(wú)溢出

    ?A-B= 0.101 1101B = 93/128B

    (3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B

    ?? ? [A]補(bǔ)=1.110 1000, [B]補(bǔ)= 0.010 0100

    ?[A+B]補(bǔ)= 1.1101000 + 0.0100100 = 0.0001100 —— 無(wú)溢出

    A+B= 0.000 1100B = 3/32

    ?(4) A= -87= -101 0111B, B=53=110 101B

    ? ? ? [A]補(bǔ)=1 010 1001, [B]補(bǔ)=0 011 0101, [-B]補(bǔ)=1 100 1011

    [A-B]補(bǔ)= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出

    (5)A=115= 111 0011B, B= -24= -11 000B

    ? ? [A]補(bǔ)=0 1110011, [B]補(bǔ)=1,110 1000

    ?[A+B]補(bǔ)= 0 1110011 + 1 1101000 = 0 1011011——無(wú)溢出

    ?A+B= 101 1011B = 91

    ?

    26.按機(jī)器補(bǔ)碼浮點(diǎn)運(yùn)算步驟,計(jì)算[x±y]補(bǔ).

    ?? (1)x=2-011× 0.101 100,y=2-010×(-0.011 100);

    ?? (2)x=2-011×(-0.100 010),y=2-010×(-0.011 111);

    ?? (3)x=2101×(-0.100 101),y=2100×(-0.001 111)。

    解:先將x、y轉(zhuǎn)換成機(jī)器數(shù)形式:

    ?(1)x=2-011× 0.101 100,y=2-010×(-0.011 100)

    [x]補(bǔ)=1,101;0.101 100, [y]補(bǔ)=1,110;1.100 100

    ????? [Ex]補(bǔ)=1,101, [y]補(bǔ)=1,110, [Mx]補(bǔ)=0.101 100, [My]補(bǔ)=1.100 100

    ? ? 1)對(duì)階:

    [DE]補(bǔ)=[Ex]補(bǔ)+[-Ey]補(bǔ) = 11,101+ 00,010=11,111 < 0,

    應(yīng)Ex向Ey對(duì)齊,則:[Ex]補(bǔ)+1=11,101+00,001=11,110 = [Ey]補(bǔ)

    [x]補(bǔ)=1,110;0.010 110

    2)尾數(shù)運(yùn)算:

    ?? [Mx]補(bǔ)+[My]補(bǔ)= 0.010 110 + 11.100 100=11.111010

    [Mx]補(bǔ)+[-My]補(bǔ)=0.010 110 + 00.011100= 00.110 010

    ?3)結(jié)果規(guī)格化:

    ?? [x+y]補(bǔ)=11,110;11.111 010 = 11,011;11.010 000 (尾數(shù)左規(guī)3次,階碼減3)

    ?? [x-y]補(bǔ)=11,110;00.110 010, 已是規(guī)格化數(shù)。

    4)舍入:無(wú)

    5)溢出:無(wú)

    則:x+y=2-101×(-0.110 000)

    ? ? x-y =2-010×0.110 010

    ?

    (2)x=2-011×(-0.100010),y=2-010×(-0.011111)

    ?? ? [x]補(bǔ)=1,101;1.011 110, [y]補(bǔ)=1,110;1.100 001

  • 對(duì)階:過(guò)程同(1)的1),則
  • [x]補(bǔ)=1,110;1.101 111

    ?? 2)尾數(shù)運(yùn)算:

    ?? ? [Mx]補(bǔ)+[My]補(bǔ)= 11.101111 + 11. 100001 = 11.010000

    ?? ? [Mx]補(bǔ)+[-My]補(bǔ)= 11.101111 + 00.011111 = 00.001110

    3)結(jié)果規(guī)格化:

    ?[x+y]補(bǔ)=11,110;11.010 000,已是規(guī)格化數(shù)

    ?[x-y]補(bǔ)=11,110;00.001 110 =11,100;00.111000 (尾數(shù)左規(guī)2次,階碼減2)

    4)舍入:無(wú)

    5)溢出:無(wú)

    則:x+y=2-010×(-0.110 000)

    ? ? x-y =2-100×0.111 000

    ?

    (3)x=2101×(-0.100 101),y=2100×(-0.001 111)

    ?? ? [x]補(bǔ)=0,101;1.011 011, [y]補(bǔ)=0,100;1.110 001

    1)對(duì)階:

    [DE]補(bǔ)=00,101+11,100=00,001 >0,應(yīng)Ey向Ex對(duì)齊,則:

    [Ey]補(bǔ)+1=00,100+00,001=00,101=[Ex]補(bǔ)

    [y]補(bǔ)=0,101;1.111 000(1)

    2)尾數(shù)運(yùn)算:

    ? [Mx]補(bǔ)+[My]補(bǔ)= 11.011011+ 11.111000(1)= 11.010011(1)

    ? [Mx]補(bǔ)+[-My]補(bǔ)= 11.011011+ 00.000111(1)= 11.100010(1)

  • 結(jié)果規(guī)格化:
  • ?? [x+y]補(bǔ)=00,101;11.010 011(1),已是規(guī)格化數(shù)

    ?? [x-y]補(bǔ)=00,101;11.100 010(1)=00,100;11.000 101 (尾數(shù)左規(guī)1次,階碼減1)

    4)舍入:

    [x+y]補(bǔ)=00,101;11.010 011(舍)

    [x-y]補(bǔ) 不變

    5)溢出:無(wú)

    則:x+y=2101×(-0.101 101)

    x-y =2100×(-0.111 011)

    ?

    32. 設(shè)機(jī)器字長(zhǎng)為16位,分別按4、4、4、4和5、5、3、3分組后,

    ?? (1)畫(huà)出按兩種分組方案的單重分組并行進(jìn)位鏈框圖,并比較哪種方案運(yùn)算速度快。

    ? (2)畫(huà)出按兩種分組方案的雙重分組并行進(jìn)位鏈框圖,并對(duì)這兩種方案進(jìn)行比較。

    ? (3)用74181和74182畫(huà)出單重和雙重分組的并行進(jìn)位鏈框圖。

    解:(1)4—4—4—4分組的16位單重分組并行進(jìn)位鏈框圖見(jiàn)教材286頁(yè)圖6.22。

    ? ? 5—5—3—3分組的16位單重分組并行進(jìn)位鏈框圖如下:

    ?

    (2)4—4—4—4分組的16位雙重分組并行進(jìn)位鏈框圖見(jiàn)教材289頁(yè)圖6.26。

    ? ? 5—5—3—3分組的16位雙重分組并行進(jìn)位鏈框圖如下:

    ?

    ?? ?5—5—3—3分組的進(jìn)位時(shí)間=2.5ty3=7.5ty

    ? ?4—4—4—4分組的進(jìn)位時(shí)間=2.5ty3=7.5ty

    可見(jiàn),兩種分組方案最長(zhǎng)加法時(shí)間相同。

    ?結(jié)論:雙重分組并行進(jìn)位的最長(zhǎng)進(jìn)位時(shí)間只與組數(shù)和級(jí)數(shù)有關(guān),與組內(nèi)位數(shù)無(wú)關(guān)。

    (3)單重分組16位并行加法器邏輯圖如下(正邏輯):

    ?

    注意: 1)74181芯片正、負(fù)邏輯的引腳表示方法;

    ?? 2)為強(qiáng)調(diào)可比性,5-5-3-3分組時(shí)不考慮扇入影響;

    ?? 3)181芯片只有最高、最低兩個(gè)進(jìn)位輸入/輸出端,組內(nèi)進(jìn)位無(wú)引腳;

    ?? 4)181為4位片,無(wú)法5-5-3-3分組,只能4-4-4-4分組;

    ?? 5)單重分組跳躍進(jìn)位只用到181,使用182的一定是雙重以上分組跳躍進(jìn)位;

    ?? 6)單重分組跳躍進(jìn)位是并行進(jìn)位和串行進(jìn)位技術(shù)的結(jié)合;雙重分組跳躍進(jìn)位是二級(jí)并行進(jìn)位技術(shù);特別注意在位數(shù)較少時(shí),雙重分組跳躍進(jìn)位可以采用全先行進(jìn)位技術(shù)實(shí)現(xiàn);位數(shù)較多時(shí),可采用雙重分組跳躍進(jìn)位和串行進(jìn)位技術(shù)結(jié)合實(shí)現(xiàn)。

    ?

    第 ? 七 ? 章

  • 什么叫機(jī)器指令?什么叫指令系統(tǒng)?為什么說(shuō)指令系統(tǒng)與機(jī)器的主要功能以及與硬件結(jié)構(gòu)之間存在著密切的關(guān)系?
  • 答:參考P300。

    ?

  • 什么叫尋址方式?為什么要學(xué)習(xí)尋址方式?
  • 答:參看P310。

    ?

  • 什么是指令字長(zhǎng)、機(jī)器字長(zhǎng)和存儲(chǔ)字長(zhǎng)?
  • 答:略。

    ?

  • 零地址指令的操作數(shù)來(lái)自哪里??各舉一例說(shuō)明。
  • 答:零地址指令的操作數(shù)來(lái)自ACC,為隱含約定。

    在一地址指令中,另一個(gè)操作數(shù)的地址通常可采用ACC隱含尋址方式獲得。

    ?

  • 對(duì)于二地址指令而言,操作數(shù)的物理地址可安排在什么地方?舉例說(shuō)明。
  • 答:對(duì)于二地址指令而言,操作數(shù)的物理地址可安排在寄存器內(nèi)、指令中或內(nèi)存單元內(nèi)等。

    ?

    8. 某機(jī)指令字長(zhǎng)16位,每個(gè)操作數(shù)的地址碼為6位,設(shè)操作碼長(zhǎng)度固定,指令分為零地址、一地址和二地址三種格式。若零地址指令有M條,一地址指令有N種,則二地址指令最多有幾種?若操作碼位數(shù)可變,則二地址指令最多允許有幾種?

    解:1)若采用定長(zhǎng)操作碼時(shí),二地址指令格式如下:

    OP(4位)

    A1(6位)

    A2(6位)

    設(shè)二地址指令有K種,則:K=24-M-N

    當(dāng)M=1(最小值),N=1(最小值)時(shí),二地址指令最多有:Kmax=16-1-1=14種

  • 若采用變長(zhǎng)操作碼時(shí),二地址指令格式仍如1)所示,但操作碼長(zhǎng)度可隨地址碼的個(gè)數(shù)而變。此時(shí),K= 24 -(N/26 + M/212 );
  • ?當(dāng)(N/26 + M/212 )1時(shí)(N/26 + M/212 向上取整),K最大,則二地址指令最多有:Kmax=16-1=15種(只留一種編碼作擴(kuò)展標(biāo)志用。)

    ?

    9. 試比較間接尋址和寄存器間接尋址。

    答:略。

    ?

    10. 試比較基址尋址和變址尋址。

    略。

    ?

    11. 畫(huà)出先變址再間址及先間址再變址的尋址過(guò)程示意圖。

    解:1)先變址再間址尋址過(guò)程簡(jiǎn)單示意如下:

    ?? ? ? EA=[(IX)+A],IX?(IX)+1

    2)先間址再變址尋址過(guò)程簡(jiǎn)單示意如下:EA=(IX)+(A),IX? (IX)+1

    ?

    16. 某機(jī)主存容量為4M16位,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),若該機(jī)指令系統(tǒng)可完成108種操作,操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對(duì)、立即等六種尋址方式,試回答:(1)畫(huà)出一地址指令格式并指出各字段的作用;

    ? (2)該指令直接尋址的最大范圍;

    ? (3)一次間址和多次間址的尋址范圍;

    ? (4)立即數(shù)的范圍(十進(jìn)制表示);

    ? (5)相對(duì)尋址的位移量(十進(jìn)制表示);

    ?(6)上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種最長(zhǎng)?為什么?哪一種便于程序浮動(dòng)?哪一種最適合處理數(shù)組問(wèn)題?

    ?(7)如何修改指令格式,使指令的尋址范圍可擴(kuò)大到4M?

    ?(8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采取什么措施?簡(jiǎn)要說(shuō)明之。

    解:(1)單字長(zhǎng)一地址指令格式:

    ?? ? ? ? ? ? ? ??????? ?? ? ? ? ?

    OP(7位)

    M(3位)

    A(6位)

    ???????? OP為操作碼字段,共7位,可反映108種操作;

    ???????? M為尋址方式字段,共3位,可反映6種尋址操作;

    ???? ????A為地址碼字段,共16-7-3=6位。

    ?(2)直接尋址的最大范圍為26=64。

    ?(3)由于存儲(chǔ)字長(zhǎng)為16位,故一次間址的尋址范圍為216;若多次間址,需用存儲(chǔ)字的最高位來(lái)區(qū)別是否繼續(xù)間接尋址,故尋址范圍為215。

    (4)立即數(shù)的范圍為-32——31(有符號(hào)數(shù)),或0——63(無(wú)符號(hào)數(shù))。

    ?(5)相對(duì)尋址的位移量為-32——31。

    ?(6)上述六種尋址方式中,因立即數(shù)由指令直接給出,故立即尋址的指令執(zhí)行時(shí)間最短。間接尋址在指令的執(zhí)行階段要多次訪存(一次間接尋址要兩次訪存,多次間接尋址要多次訪存),故執(zhí)行時(shí)間最長(zhǎng)。變址尋址由于變址寄存器的內(nèi)容由用戶給定,而且在程序的執(zhí)行過(guò)程中允許用戶修改,而其形式地址始終不變,故變址尋址的指令便于用戶編制處理數(shù)組問(wèn)題的程序。相對(duì)尋址操作數(shù)的有效地址只與當(dāng)前指令地址相差一定的位移量,與直接尋址相比,更有利于程序浮動(dòng)。

    (7)方案一:為使指令尋址范圍可擴(kuò)大到4M,需要有效地址22位,此時(shí)可將單字長(zhǎng)一地址指令的格式改為雙字長(zhǎng),如下圖示:

    OP(7位)

    MOD(3位)

    A(高6位)

    A(低16位)

    ?????? 方案二:如果仍采用單字長(zhǎng)指令(16位)格式,為使指令尋址范圍擴(kuò)大到4M,可通過(guò)段尋址方案實(shí)現(xiàn)。安排如下:

    ? ? 硬件設(shè)段寄存器DS(16位),用來(lái)存放段地址。在完成指令尋址方式所規(guī)定的尋址操作后,得有效地址EA(6位),再由硬件自動(dòng)完成段尋址,最后得22位物理地址。 即:物理地址=(DS)26 + EA

    注:段尋址方式由硬件隱含實(shí)現(xiàn)。在編程指定的尋址過(guò)程完成、EA產(chǎn)生之后由硬件自動(dòng)完成,對(duì)用戶是透明的。

    方案三:在采用單字長(zhǎng)指令(16位)格式時(shí),還可通過(guò)頁(yè)面尋址方案使指令尋址范圍擴(kuò)大到4M。安排如下:

    ?? ? 硬件設(shè)頁(yè)面寄存器PR(16位),用來(lái)存放頁(yè)面地址。指令尋址方式中增設(shè)頁(yè)面尋址。當(dāng)需要使指令尋址范圍擴(kuò)大到4M時(shí),編程選擇頁(yè)面尋址方式,則:EA =(PR)A (有效地址=頁(yè)面地址“拼接”6位形式地址),這樣得到22位有效地址。

    (8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,尋址范圍須達(dá)到4M,除了采用(7) 方案一中的雙字長(zhǎng)一地址指令的格式外,還可配置22位的基址寄存器或22位的變址寄存器,使EA = (BR) + A (BR為22位的基址寄存器)或EA =(IX)+ A(IX為22位的變址寄存器),便可訪問(wèn)4M存儲(chǔ)空間。還可以通過(guò)16位的基址寄存器左移6位再和形式地址A相加,也可達(dá)到同樣的效果。

    ?? ?總之,不論采取何種方式,最終得到的實(shí)際地址應(yīng)是22位。

    ? ?

    19. 某CPU內(nèi)有32個(gè)32位的通用寄存器,設(shè)計(jì)一種能容納64種操作的指令系統(tǒng)。假設(shè)指令字長(zhǎng)等于機(jī)器字長(zhǎng),試回答以下問(wèn)題:

    ?? (1)如果主存可直接或間接尋址,采用寄存器—存儲(chǔ)器型指令,能直接尋址的最大存儲(chǔ)空間是多少?畫(huà)出指令格式并說(shuō)明各字段的含義。

    ?? (2)在滿足(1)的前提下,如果采用通用寄存器作基址寄存器,則上述寄存器—存儲(chǔ)器型指令的指令格式有何特點(diǎn)?畫(huà)出指令格式并指出這類指令可訪問(wèn)多大的存儲(chǔ)空間?

    解:(1)如采用RS型指令,則此指令一定是二地址以上的地址格式,指令格式如下:

    OP(6位)

    R(5位)

    I(1位)

    A(20位)

    ?? ???操作碼字段OP占6位,因?yàn)?6>=64;

    寄存器編號(hào)R占5位,因?yàn)?5>=32;

    間址位I占1位,當(dāng)I=0,存儲(chǔ)器尋址的操作數(shù)為直接尋址,當(dāng)I=1時(shí)為間接尋址;

    形式地址A占20位,可以直接尋址220字。

    (2)如采用基址尋址,則指令格式中應(yīng)給出基址寄存器號(hào),以指定哪一個(gè)通用寄存器用作基址寄存器。指令格式變?yōu)?#xff1a;

    OP(6位)

    源R(5位)

    I(1位)

    X(1位)

    目標(biāo)R(5位)

    A(14位)

    ????? 增加尋址特征位X,當(dāng)X=1時(shí),以目標(biāo)寄存器R作為基址寄存器進(jìn)行基址尋址。

    ????? 基址尋址可訪問(wèn)存儲(chǔ)空間為:232字。

    ?

    第八章

    1. CPU有哪些功能?畫(huà)出其結(jié)構(gòu)框圖并簡(jiǎn)要說(shuō)明各個(gè)部件的作用。

    答:參考P328和圖8.2。

    ?

    2. 什么是指令周期?指令周期是否有一個(gè)固定值?為什么?

    解:指令周期是指取出并執(zhí)行完一條指令所需的時(shí)間。

    ?? 由于計(jì)算機(jī)中各種指令執(zhí)行所需的時(shí)間差異很大,因此為了提高CPU運(yùn)行效率,即使在同步控制的機(jī)器中,不同指令的指令周期長(zhǎng)度都是不一致的,也就是說(shuō)指令周期對(duì)于不同的指令來(lái)說(shuō)不是一個(gè)固定值。

    3. 畫(huà)出指令周期的流程圖,分析說(shuō)明圖中每個(gè)子周期的作用。

    答:參看P343及圖8.8。

    ?

    4. 設(shè)CPU內(nèi)有下列部件:PC、IR、SP、AC、MAR、MDR和CU。

    ? (1)畫(huà)出完成間接尋址的取數(shù)指令LDA@X(將主存某地址單元X的內(nèi)容取至AC中)的數(shù)據(jù)流(從取指令開(kāi)始)。

    ? (2)畫(huà)出中斷周期的數(shù)據(jù)流。

    解:CPU中的數(shù)據(jù)流向與所采用的數(shù)據(jù)通路結(jié)構(gòu)直接相關(guān),不同的數(shù)據(jù)通路中的數(shù)據(jù)流是不一樣的。常用的數(shù)據(jù)通路結(jié)構(gòu)方式有直接連線、單總線、雙總線、三總線等形式,目前大多采用總線結(jié)構(gòu),直接連線方式僅適用于結(jié)構(gòu)特別簡(jiǎn)單的機(jī)器中。

    為簡(jiǎn)單起見(jiàn),本題采用單總線將題中所給部件連接起來(lái),框圖如下:

    ˉ ? ? ? ? ? ? (1)LDA@X指令周期數(shù)據(jù)流程圖:

    ?

    (2)中斷周期流程圖如下:

    ?

    ?:解這道題有兩個(gè)要素,首先要根據(jù)所給部件設(shè)計(jì)好數(shù)據(jù)通路,即確定信息流動(dòng)的載體。其次選擇好描述數(shù)據(jù)流的方法,無(wú)論采用什么樣的表達(dá)方式,其關(guān)鍵都要能清楚地反映數(shù)據(jù)在通路上流動(dòng)的順序,即強(qiáng)調(diào)一個(gè)“流”字。較好的表達(dá)方式是流程圖的形式。

    ?

    5. 中斷周期前是什么階段?中斷周期后又是什么階段?在中斷周期CPU應(yīng)完成什么操作?

    答:中斷周期前是執(zhí)行周期,中斷周期后是取指周期。在中斷周期,CPU應(yīng)完成保存斷點(diǎn)、將中斷向量送PC和關(guān)中斷等工作。

    ?

    7. 什么叫系統(tǒng)的并行性?粗粒度并行和細(xì)粒度并行有何區(qū)別?

    答:所謂并行性包含同時(shí)性和并發(fā)性。同時(shí)性是指兩個(gè)或兩個(gè)以上的事件在同一時(shí)刻發(fā)生,并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間段發(fā)生。即在同一時(shí)刻或同一時(shí)間段內(nèi)完成兩個(gè)或兩個(gè)以上性質(zhì)相同或性質(zhì)不同的功能,只要在時(shí)間上存在相互重疊,就存在并行性。

    并行性又分為粗粒度并行和細(xì)粒度并行兩類。粗粒度并行是指在多個(gè)處理機(jī)上分別運(yùn)行多個(gè)進(jìn)程,由多臺(tái)處理機(jī)合作完成一個(gè)程序,一般用算法實(shí)現(xiàn)。細(xì)粒度并行是指在處理機(jī)的指令級(jí)和操作級(jí)的并行性。

    ?

    8. 什么是指令流水?畫(huà)出指令二級(jí)流水和四級(jí)流水的示意圖,它們中哪個(gè)更能提高處理機(jī)速度,為什么?

    答:指令流水是指將一條指令的執(zhí)行過(guò)程分為n個(gè)操作時(shí)間大致相等的階段,每個(gè)階段由一個(gè)獨(dú)立的功能部件來(lái)完成,這樣n個(gè)部件就可以同時(shí)執(zhí)行n條指令的不同階段,從而大大提高CPU的吞吐率。

    指令二級(jí)流水和四級(jí)流水示意圖如下:

    ?

    ???? 四級(jí)流水更能提高處理機(jī)的速度。分析如下:

    ???? 假設(shè)IF、ID、EX、WR每個(gè)階段耗時(shí)為t,則連續(xù)執(zhí)行n條指令

    采用二級(jí)流水線時(shí),耗時(shí)為:4t+(n-1)2t=(2n+2)t

    采用四級(jí)流水線時(shí),耗時(shí)為:4t+(n-1)t=(n+3)t

    在n>1時(shí),n+3<2n+2,可見(jiàn)四級(jí)流水線耗時(shí)比二級(jí)流水線耗時(shí)短,因此更能提高處理機(jī)速度。

    ?

    17. 在中斷系統(tǒng)中INTR、INT、EINT三個(gè)觸發(fā)器各有何作用?

    解:INTR——中斷請(qǐng)求觸發(fā)器,用來(lái)登記中斷源發(fā)出的隨機(jī)性中斷請(qǐng)求信號(hào),以便為CPU查詢中斷及中斷排隊(duì)判優(yōu)線路提供穩(wěn)定的中斷請(qǐng)求信號(hào)。

    EINT——中斷允許觸發(fā)器,CPU中的中斷總開(kāi)關(guān)。當(dāng)EINT=1時(shí),表示允許中斷(開(kāi)中斷),當(dāng)EINT=0時(shí),表示禁止中斷(關(guān)中斷)。其狀態(tài)可由開(kāi)、關(guān)中斷等指令設(shè)置。

    INT——中斷標(biāo)記觸發(fā)器,控制器時(shí)序系統(tǒng)中周期狀態(tài)分配電路的一部分,表示中斷周期標(biāo)記。當(dāng)INT=1時(shí),進(jìn)入中斷周期,執(zhí)行中斷隱指令的操作。

    ?

    24. 現(xiàn)有A、B、C、D四個(gè)中斷源,其優(yōu)先級(jí)由高向低按A、B、C、D順序排列。若中斷服務(wù)程序的執(zhí)行時(shí)間為20μs,請(qǐng)根據(jù)下圖所示時(shí)間軸給出的中斷源請(qǐng)求中斷的時(shí)刻,畫(huà)出CPU執(zhí)行程序的軌跡。

    解:A、B、C、D的響優(yōu)先級(jí)即處理優(yōu)先級(jí)。CPU執(zhí)行程序的軌跡圖如下:

    ?

    25. 某機(jī)有五個(gè)中斷源L0、L1、L2、 L3、L4,按中斷響應(yīng)的優(yōu)先次序由高向低排序?yàn)長(zhǎng)0? L1?L2?L3?L4,根據(jù)下示格式,現(xiàn)要求中斷處理次序改為L(zhǎng)1?L4?L2?L0?L3,根據(jù)下面的格式,寫(xiě)出各中斷源的屏蔽字。

    解:各中斷源屏蔽狀態(tài)見(jiàn)下表:

    中斷源

    屏蔽字

    0

    1

    2

    3

    4

    I0

    1

    0

    0

    1

    0

    I1

    1

    1

    1

    1

    1

    I2

    1

    0

    1

    1

    0

    I3

    0

    0

    0

    1

    0

    I4

    1

    0

    1

    1

    1

    表中:設(shè)屏蔽位=1,表示屏蔽;屏蔽位=0,表示中斷開(kāi)放。

    ?

    26. 設(shè)某機(jī)配有A、B、C三臺(tái)設(shè)備,其優(yōu)先順序按A?B?C降序排列,為改變中斷處理次序,它們的中斷屏蔽字設(shè)置如下:

    設(shè)備

    屏蔽字

    A

    111

    B

    010

    C

    011

    ? ?請(qǐng)按下圖所示時(shí)間軸給出的設(shè)備請(qǐng)求中斷的時(shí)刻,畫(huà)出CPU執(zhí)行程序的軌跡。設(shè)A、B、C中斷服務(wù)程序的執(zhí)行時(shí)間均為20m s

    解:A、B、C設(shè)備的響應(yīng)優(yōu)先級(jí)為A最高、B次之、C最低,處理優(yōu)先級(jí)為A最高、C次之、B最低。CPU執(zhí)行程序的軌跡圖如下:

    ?

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的计算机组成原理答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。