【計算機組成原理】基礎知識匯總(必背)


整理了一下超星上的題目以及教材《計算機組成原理 第3版》——唐朔飛 的課后題。

第 1 章 計算機系統概論

超星題目

  • 說明計算機系統的層次結構。

  • 說明馮諾依曼體系結構的特點。

    • 計算機硬件系統由運算器、存儲器、控制器、輸入設備和輸出設備5大部件組成。

    • 指令和數據以同等地位存儲在存儲器中,並可按地址尋訪。

    • 指令和數據均用二進制代碼表示。

    • 指令由操作碼和地址碼組成,操作碼用來表示操作的性質,地址碼用來表示操作數在存儲器中的位置。

    • 指令在存儲器內按順序存放。通常,指令是順序執行的,在特定條件下可根據運算結果或根據設定的條件改變執行順序。

    • 早期的馮·諾依曼機以運算器為中心,輸入/輸出設備通過運算器與存儲器傳送數據。

🔔 知識點:

  • 馮·諾依曼機的基本工作方式是:控制流驅動方式

  • 馮·諾依曼機工作方式的基本特點:按地址訪問順序執行指令

  • 什么是機器字長、指令字長、存儲字長?

    • 機器字長是指CPU一次能處理數據的位數,通常與CPU的寄存器位數有關。

    • 指令字長是一個指令字中包含二進制代碼的總位數。指令字長取決於從操作碼的長度、操作碼地址的長度和操作碼地址的個數。

    • 存儲字長是一個存儲單元存儲二進制代碼的位數。

    • 存儲字是存放在一個存儲單元中的二進制代碼組合

    • 存儲單元是存放一個存儲字的所有存儲元集合。

  • 其他

    • 存放欲執行指令的寄存器是:IR

    • 一個8位的計算機系統以16位來標示地址,則該計算機系統中有(65536)個地址空間。

    • 指令流通常是(主存流向控制器)

    • CPU內通用寄存器的位數取決於(機器字長)。

課后題

  • 什么是計算機系統、計算機硬件和計算機軟件?硬件和軟件哪個更重要?

    • 計算機系統:由計算機硬件系統和軟件系統組成的綜合體。

    • 計算機硬件:指計算機中的電子線路和物理裝置。

    • 計算機軟件:計算機運行所需的程序及相關資料。

    • 硬件和軟件在計算機系統中相互依存,缺一不可,因此同樣重要。

  • 解釋下列概念:主機、 CPU 、主存、存儲單元、存儲元件、存儲基元、存儲元、存儲字、存儲字長、存儲容量、機器字長、指令字長。

    • 主機:是計算機硬件的主體部分,由 CPU 和主存儲器 MM 合成為主機。

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

    • 主存:計算機中存放正在運行的程序和數據的存儲器,為計算機的主要工作存儲器,可隨機存取;由存儲體、各種邏輯部件及控制電路組成。

    • 存儲單元:可存放一個機器字並具有特定存儲地址的存儲單位。

    • 存儲元件:存儲一位二進制信息的物理元件,是存儲器中最小的存儲單位,又叫存儲基元或存儲元,不能單獨存取。

    • 存儲字:一個存儲單元所存二進制代碼的邏輯單位。

    • 存儲字長:一個存儲單元所存二進制代碼的位數。

    • 存儲容量:存儲器中可存二進制代碼的總量;(通常主、輔存容量分開描述)。

    • 機器字長:指 CPU 一次能處理的二進制數據的位數,通常與 CPU 的寄存器位數有關。

    • 指令字長 : 一條指令的二進制代碼位數。

  • 指令和數據都存於存儲器中,計算機如何區分它們?

    • 通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。

    • 通過地址來源區分,由 PC 提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。

第 3 章 系統總線

超星題目

  • 系統總線包括哪三類?起到什么作用?

    • 數據總線:用來傳輸各功能部件之間的數據信息。

    • 地址總線:用來指出數據總線上的源數據或目的數據在主存單元的地址或I/O設備的地址

    • 控制總線:用來發出各種控制信號,監視各部件狀態

  • 總線判優控制是解決什么問題的?總的來說可以分為哪兩種方式?

    • 總線判優控制解決多個部件同時申請總線時的總線使用權分配問題

    • 可以分為 集中式分布式

  • 集中式總線控制優先權仲裁方式有哪三種?各有什么特點?

    • 鏈式查詢:只需要少數幾根線就能按一定優先次序實現總線控制,易於擴充設備,對電路故障最敏感,且優先級別低的設備可能很難獲得請求。

    • 計數器定時查詢:用一個計數器控制總線使用權,相對鏈式查詢方式多了一組設備地址線,少了一根總線響應線。優先級設置較靈活,對故障不敏感,連線及控制過程較復雜

    • 獨立請求:響應速度快,總線允許信號 BG 直接從控制器發送到有關設備,不必在設備間傳遞或者查詢。優先次序控制靈活,但控制線數量多,總線控制更復雜。

  • 簡述總線周期的 4 個階段。

    • 申請分配階段:由需要使用總線的主模塊(或主設備)提出申請,經總線仲裁機構決定下一傳輸周期的總線使用權授予某一申請者。

    • 尋址階段:取得了使用權的主模塊通過總線發出本次要訪問的從模塊(或從設備)的地址及有關命令,啟動參與本次傳輸的從模塊。

    • 傳數階段:主模塊和從模塊進行數據交換,數據由源模塊發出,經數據總線流入目的模塊。

    • 結束階段:主模塊的有關信息均從系統總線上撤除,讓出總線使用權。

  • 總線通信控制是解決什么問題的?總的來說有哪幾種控制方式?各自的特點是什么?

    • 總線通信控制主要解決通信雙方如何獲知傳輸開始和傳輸結束,以及通信雙方如何協調如何配合。

    • 通常有 同步通信半同步通信異步通信分離通信 四種方式

    • 同步通信:統一時標控制(時標由CPU總線控制部件發出)。優點:模塊間配合簡單一致。缺點:主從模塊強制性“同步”,按最慢部件設計公共時鍾,嚴重影響這總線工作效率,設計局限性,缺乏靈活性。

    • 異步通信:允許各模塊速度的不一致性。設計靈活。主從模塊之間采用應答方式(握手方式)。分為不互鎖半互鎖全互鎖

    • 半同步通信:保留同步通信和異步通信特點。所有的地址、命令、數據信號發出時間,按照時鍾前沿;接收方采用時鍾后沿。允許不同速度的模塊和諧工作。。增設“等待”(WAIT)響應信號線,通過插入時鍾協調。

    • 分離式:

      • 通信各模塊欲占用總線使用權都必須提出申請。
      • 在得到總線使用權后,主模塊在限定的時間內向對方傳送信息,采用同步方式傳送,不再等待對方的回答信號。
      • 各模塊在准備數據的過程中都不占用總線,是總線可接受其他模塊的請求。
      • 總線被占用時都在做有效占用,或者通過它發送命令,或者通過它傳送數據,不存在空閑等待時間,充分利用總線的有效占用,從而實現了總線在多個主、從模塊間進行信息交叉重疊並行式傳送。對大型計算機很重要。
  • 串行傳輸和並行傳輸有何區別?各適用於什么場合?

    • 串行傳輸:數據在單條 1 位寬的傳輸線上,一位一位地按順序分時傳送。成本低,速度慢,適合遠距離數據傳輸。

    • 並行傳輸:數組在多條並行 1 位寬的傳輸線上,同時由源傳送到目的地。成本高,速度快,適合近距離數據傳輸。

  • 其它

    • 主存通過(總線的類型)來識別信息是地址還是數據。

    • 總線的異步通信方式 (不采用時鍾信號,只采用握手信號)

    • 某總線有104根信號線,其中數據線(DB)為32根,若總線工作頻率為33MHz,則其理論最大傳輸率為(132MB/s)。

    • 微型計算機中控制總線提供的完整信息是(來自I/O設備和存儲器的響應信號、所有存儲器和I/O設備的時序信號和控制信號)

    • 假設某系統總線在一個總線周期中並行傳輸 4 字節信息,一個總線周期占用 2 個時鍾周期,總線時鍾頻率為 10MHz,則總線帶寬是 (20MB/S)

    • 傳輸一張分辨率為640*480像素、65536色的照片(采用無壓縮方式),設有效數據傳輸率為56kbit/s,大約需要的時間是

      • 640 * 480 * 16 / 56k = 87.77s
    • 計算機使用總線結構的主要優點是便於實現積木化,同時(減少了信息傳輸線的條數)。

    • 總線復用方式可以(減少總線中信號線的數量)

    • 三種集中式總線控制中,(獨立請求)方式響應時間最快,(鏈式查詢)方式對電路最敏感。

課后題

  • 什么是總線?總線傳輸有何特點?為了減輕總線負載,總線上的部件應具備什么特點?

    • 總線是多個部件共享的傳輸部件。

    • 總線傳輸特點:在某一時刻,只允許有一個部件向總線發送信息,而多個部件可以同時從總線上接收相同的信息。

    • 為了減輕總線負載,總線上的部件應通過三態驅動緩沖電路與總線連通。

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

    • 總線寬度 : 通常指數據總線的根數;

    • 總線帶寬 : 總線的數據傳輸率,指單位時間內總線上傳輸數據的位數;

    • 總線復用 : 指同一條信號線可以分時傳輸不同的信號(地址總線和數據總線)。

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

    • 總線的從設備(從模塊) : 指一次總線傳輸期間,配合主設備完成數據傳輸的設備(模塊),它只能被動接受主設備發來的命令;

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

    • 總線的通信控制 : 指總線傳送過程中雙方的時間配合方式。

  • 畫圖說明異步通信中請求與回答有哪幾種互鎖關系?

  • 為什么說半同步通信同時保留了同步通信和異步通信的特點?

    • 半同步通信既能像同步通信那樣由統一時鍾控制,又能像異步通信那樣允許傳輸時間不一致,因此工作效率介於兩者之間。
  • 什么是總線的數據傳輸率,它與哪些因素有關?

    • 總線數據傳輸率即總線帶寬,指單位時間內總線上傳輸數據的位數,通常用每秒傳輸信息的字節數來衡量。

    • 它與總線寬度和總線頻率有關,總線寬度越寬,頻率越快,數據傳輸率越高。

    • 例如:總線工作頻率為33MHz,總線寬度為32位(4 Byte),則總線的寬度為33 x 4 = 132MBps。

  • 設總線的時鍾頻率為8MHZ,一個總線周期等於一個時鍾周期。如果一個總線周期中並行傳送16位數據,試問總線的帶寬是多少?

    • 由於:f=8MHz,T=1/f=1/8M 秒,一個總線周期等於一個時鍾周期
      所以:總線帶寬=16/(1/8M) = 128 Mbps = 16 MBps (注意單位)
  • 在一個 32 位的總線系統中,總線的時鍾頻率為 66 MHz,假設總線最短傳輸周期為 4 個時鍾周期,試計算總線的最大數據傳輸率。若想提高數據傳輸率,可采取什么措施?

    • 總線傳輸周期=4*1/66M秒
      總線的最大數據傳輸率=32/(4/66M)=528 Mbps = 66 MBps
      若想提高數據傳輸率,可以提高總線時鍾頻率、增大總線寬度或者減少總線傳輸周期包含的時鍾周期個數。
  • 在異步串行傳送系統中,字符格式為:1個起始位、8個數據位、1個校驗位、2個終止位。若要求每秒傳送120個字符,試求傳送的波特率和比特率。

    • 一幀包含:1+8+1+2=12位
      波特率:單位時間內傳送二進制數據的位數,單位用 bps(位/秒),故波特率為:(1+8+1+2)* 120 = 1440 bps
      比特率:單位時間內傳送二進制有效數據的位數,單位用 bps 表示,故比特率為:8 * 120 = 960 bps

第 4 章 存儲器

超星題目

  • 試比較RAM和ROM。

    • RAM:隨機存儲器。可讀可寫。常用於主存。分為靜態RAM和動態RAM

    • ROM:只讀存儲器。在程序執行過程中只能將內部信息讀出,不能隨意寫入。

  • 從實現技術的角度,試比較SRAM和DRAM。

    • SRAM 工作原理是觸發器。DRAM 工作原理是電容。
    • 在同樣大小的芯片中,DRAM(動態RAM)的集成度遠高於SRAM(靜態RAMI)
    • DRAM 行、列地址按先后順序輸送,減少了芯片引腳,封裝尺寸也減少
    • DRAM 的功耗比 SRAM 小
    • DRAM 的價格比 SRAM 便宜,容量大,存取周期長
    • DRAM 的速度比 SRAM 低
    • DRAM 需要再生,故需配置再生電路,也需要消耗一部分功率
  • 存儲芯片內的地址譯碼方式有幾種?各自特點及應用場合?

    • 線選法:適用於地址線較少的芯片。其特點是地址信號只須經過一個方向的譯碼就可以選中某一存儲單元的所有位

    • 重合法:適用於地址線較多的芯片。其特點是地址線分成兩組,分別經行、列兩個方向譯碼,只有行、列兩個方向均選中的存儲元才能進行讀/寫

  • 什么是動態 RAM 的刷新?刷新有幾種方式?簡要說明之。

    • 對 DRAM 定期進行的全部重寫過程,一次刷新一行。

    • 集中刷新:在規定的一個刷新周期內,對全部存儲單元集中一段時間逐行進行刷新,此刻必須停止讀/寫操作。這段時間稱為“死時間

    • 分散刷新︰對每行存儲單元的刷新分散到每個存取周期內完成

    • 異步刷新:是前兩種方式的結合,既可縮短“死時間,又充分利用最大刷新間隔

  • 存儲容量擴展有哪幾種方法?

    • 位拓展:增加存儲字長

    • 字拓展:增加存儲器字的數量

    • 字、位拓展:既增加存儲字的數量,又增加存儲字長。

  • 使用漢明碼進行校驗時,需要增加 k 位檢測位,且 k 位的檢測位和 n 位的待檢測二進制代碼位之間要滿足什么關系?為什么?

    • 設欲檢測的二進制代碼為 n 位,為使其具有糾錯能力,需增添 k 位檢測位,組成 n+k 位的代碼。為了能准確對錯誤定位以及指出代碼沒錯,新增添的檢測位數 k 應滿足:2^k ≥ n+k+1
  • 已知收到的海明碼為0100111(按配偶原則配置),試問欲傳送的信息是什么?

    • P1 = 1⊕3⊕5⊕7 = 0 P2 = 2⊕3⊕6⊕7 = 1 P4 = 4⊕5⊕6⊕7 = 1 P4P2P1 = 110
    • 第六位出錯,糾正為 0100101,故要求傳送的信息為 0101
  • 什么是多體並行存儲器?有哪兩種存儲體編址方式,各自有什么特點?

    • 多體並行系統就是采用多體模塊組成的存儲器。每個模塊有相同的容量和存取速度,各模塊各自都有獨立的地址寄存器(MAR)、數據寄存器(MDR)、地址譯碼、驅動電路和讀/寫電路,他們能並行工作,又能交叉工作。

    • 高位交叉:高位地址可表示體號,低位地址為體內地址

    • 低位交叉:低位地址用來表示體號,高位地址為體內地址

  • Cache、主存和輔存構成的三級存儲系統分別的目的是什么?設計依據是?

    • 緩存-主存層次:解決 CPU 和主存速度不匹配的問題。依據:緩存的速度比主存的速度高,只要講 CPU 近期要用的信息調入緩存,CPU 便可以直接從緩存中獲取信息。主存和緩存之間的數據調用由硬件自動完成,對程序員透明。

    • 主存-輔存:解決存儲系統的容量問題。依據:輔存的速度比主存的速度低,而且不能和 CPU 直接交換信息,但它的容量比主存大得多,可以存放大量暫時未使用得信息。當 CPU 需要用到這些信息時,再將輔存的內容調入主存,供 CPU 直接訪問。主存和輔存之間的數據調用是由硬件和操作系統共同完成的。

  • 請簡述Cache的基本工作原理。

    • 任何時刻都有一些主存塊處在緩存塊中。CPU 欲讀取主存某字的時候,有兩種可能:一種是需要的字已經在緩存中,即可直接訪問 Cache;另一種是所需的字不在 Cache 內,此時需將該字所在的主存整個字塊一次調入 Cache 中。如果主存塊已經調入緩存塊,則稱該主存塊與緩存塊建立了對應關系。
  • 試比較主存-Cache管理中三種地址映射的方法,並分別給出在三種地址映射下,主存地址划分。

    • 直接映射:每個主存塊只與一個緩存塊相對應

    • 全相聯映射:允許主存中每一字塊映射到 Cache 中的任何一塊位置上。

    • 組相聯映射:直接映射和全相聯映射的一種折中。把 Cache 分成 Q 組,每組 R 塊。

  • Cache-主存間的替換策略有哪些,請簡述。

  • 發生主存寫請求時,如何保證Cache和主存的一致性?

    • 寫直達法:寫操作時數據既寫入Cache又寫入主存。寫操作時間就是訪問主存的時間,讀操作時不涉及對主存的寫操作,更新策略比較容易實現

    • 寫回法:寫操作時只把數據寫入 Cache 而不寫入主存,當 Cache 數據被替換出去時才寫回主存。寫操作時間就是訪問 Cache 的時間,讀操作 Cache 失效發生數據替換時,被替換的塊需寫回主存,增加了 Cache 的復雜性

  • 其他

    • 設CPU共有16根地址線,8根數據線,存儲器與CPU的連線如下圖所示:

      請推測系統程序區和用戶程序區的地址空間。

      8000H—87FFH 和 8800H—8BFFH

    • 若使用漢明糾錯碼(Hamming Code)來確定512位數據字中單個錯誤,需要(10)位校驗碼。

    • 主存貯器和CPU之間增加cache的目的是(解決CPU和主存之間的速度匹配問題)。

    • 設有一個四體低位交叉存儲器中,每個體的容量為256K×64位,總線傳送周期為100ns,存取周期為400ns,四個存儲體流水線工作,CPU連續讀4個字所需的最多時間是(700ns)。

    • 某計算機的cache共有16塊,采用二路組相聯映射方式(即每組2塊)、每個主存塊大小為32字節,按字節編址。主存129號單元所在主存塊應該裝入到cache的組號是(4)。

      解:cache 一共 8 組,每組 2 塊。主存按字節編址,129 號單元位於第 5 塊上,該塊編號為4(從 0 開始)(129 / 32 = 4)。主存塊號 i 與 Cache 組號 j 映射關系為:j=i mod 8,所以 j=4 mod 8 = 4,即 129 號單元裝入到第 5 組,組號為 4 。

    • 存取周期是指(存儲器進行連續讀或寫操作允許的最短間隔時間)

    • 在程序的執行過程中,Cache與主存的地址映射是由(由硬件自動完成的)。

    • 若主存每個存儲單元為16位,則(其數據線是16根)。

    • 下列有關RAM和ROM得敘述中正確的是(僅I和II)。
      I RAM是易失性存儲器,ROM是非易失性存儲器
      II RAM和ROM都是采用隨機存取方式進行信息訪問
      III RAM和ROM都可用做Cache
      IV RAM和ROM都需要進行刷新

      III:Cache 一般是 SRAM
      IV :動態RAM需要進行刷新

    • 某SRAM芯片,存儲容量為64K×16位,該芯片的地址線和數據線數目為(16,16)。

      存儲容量 = 2^地址線數 * 數據線位數

課后題

  • 解釋概念:主存、輔存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。

    • 主存:主存儲器,用於存放正在執行的程序和數據。CPU可以直接進行隨機讀寫,訪問速度較高。
    • 輔存:輔助存儲器,用於存放當前暫不執行的程序和數據,以及一些需要永久保存的信息。
    • Cache:高速緩沖存儲器,介於CPU和主存之間,用於解決CPU和主存之間速度不匹配問題。
    • RAM:半導體隨機存取存儲器,主要用作計算機中的主存。
    • SRAM:靜態半導體隨機存取存儲器。
    • DRAM:動態半導體隨機存取存儲器。
    • ROM:掩膜式半導體只讀存儲器。由芯片制造商在制造時寫入內容,以后只能讀出而不能寫入。
    • PROM:可編程只讀存儲器,由用戶根據需要確定寫入內容,只能寫入一次。
    • EPROM:紫外線擦寫可編程只讀存儲器。需要修改內容時,現將其全部內容擦除,然后再編程。擦除依靠紫外線使浮動柵極上的電荷泄露而實現。
    • EEPROM:電擦寫可編程只讀存儲器。
    • CDROM:只讀型光盤。
  • 計算機中哪些部件可以用於存儲信息?按速度、容量和價格/位排序說明。

    • 計算機中寄存器、Cache、主存、硬盤可以用於存儲信息。
    • 按速度由高至低排序為:寄存器、Cache、主存、硬盤;
    • 按容量由小至大排序為:寄存器、Cache、主存、硬盤
    • 按價格/位由高至低排序為:寄存器、Cache、主存、硬盤。
  • 說明存取周期和存取時間的區別。

    • 存取周期和存取時間的主要區別是:存取時間僅為完成一次操作的時間,而存取周期不僅包含操作時間,還包含操作后線路的恢復時間。即:存取周期 = 存取時間 + 恢復時間
  • 什么是存儲器的帶寬?若存儲器的數據總線寬度為 32 位,存取周期為 200ns ,則存儲器的帶寬是多少?

    • 存儲器的帶寬指單位時間內從存儲器進出信息的最大數量。
    • 存儲器帶寬 = 1/200ns × 32 位 = 160M 位 / 秒 = 20MB/ 秒 = 5M 字 / 秒(字長 32 位)
  • 某機字長為 32 位,其存儲容量是 64KB ,按字編址它的尋址范圍是多少?若主存以字節編址,試畫出主存字地址和字節地址的分配情況。

    • 存儲容量是 64KB 時,按字節編址的尋址范圍就是 64K , 如按字編址,其尋址范圍為: 64K /( 32 /8 )= 16K (字長 32 位)
  • 一個容量為 16K × 32 位的存儲器,其地址線和數據線的總和是多少?當選用下列不同規格的存儲芯片時,各需要多少片?
    1K × 4 位, 2K × 8 位, 4K × 4 位, 16K × 1 位, 4K × 8 位, 8K × 8 位

    • 地址線和數據線的總和 = 14 + 32 = 46 根;

    • 選擇不同的芯片時, 各需要的片數為:

      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 片

  • 一個 8K × 8 位的動態 RAM 芯片,其內部結構排列成 256 × 256 形式,存取周期為 0.1 μ s 。試問采用集中刷新、分散刷新和異步刷新三種方式的刷新間隔各為多少?

    • 采用集中刷新方式刷新間隔為:2ms ,其中刷新死時間為: 256 × 0.1 μ s=25.6 μ s

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

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

  • 設有一個 64K × 8 位的 RAM 芯片,試問該芯片共有多少個基本單元電路(簡稱存儲基元)?欲設計一種具有上述同樣多存儲基元的芯片,要求對芯片字長的選擇應滿足地址線和數據線的總和為最小,試確定這種芯片的地址線和數據線,並說明有幾種解答。

    • 存儲基元總數 = 64K × 8 位 = 512K 位 = 2^19 位;

    • 設地址線根數為 a ,數據線根數為 b ,則片容量為: 2^a × b = 2^19 ; b = 2^(19-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 ;
      地址線 = 19 根,數據線 = 1 根;或地址線 = 18 根,數據線 = 2 根。

  • 某 8 位微型機地址碼為 18 位,若使用 4K × 4 位的 RAM 芯片組成模塊板結構的存儲器,試問:
    ( 1 )該機所允許的最大主存空間是多少?
    ( 2 )若每個模塊板為 32K × 8 位,共需幾個模塊板?
    ( 3 )每個模塊板內共有幾片 RAM 芯片?
    ( 4 )共有多少片 RAM ?
    ( 5 ) CPU 如何選擇各模塊板?

    • 該機所允許的最大主存空間是 : 2^18 × 8 位 = 256K × 8 位 = 256KB

    • 模塊板總數 = 256K × 8 / 32K × 8 = 8 塊

    • 板內片數 = 32K × 8 位 / 4K × 4 位 = 8 × 2 = 16 片

    • 總片數 = 16 片 × 8 = 128 片

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

  • 寫出 1100 、 1101 、 1110 、 1111 對應的漢明碼。

  • 已經接收到下列漢明碼,分別寫出它們所對應的欲傳送代碼
    (1)1100000(偶配置)
    (2)0011001(奇配置)

  • 某機字長 16 位,常規的存儲空間為 64K 字,若想不改用其他高速的存儲芯片,而使訪存速度提高到 8 倍,可采取什么措施?畫圖說明。

    • 若想不改用高速存儲芯片,而使訪存速度提高到 8 倍,可采取 八 體交叉存取技術, 8 體交叉訪問時序 如下圖 :
  • 一個 4 體低位交叉的存儲器,假設存儲周期為 T,CPU 每隔 1/4 存取周期啟動一個存儲體,試問依次訪問 64 個字需多少個存取周期?

    • 4 體低位交叉的存儲器的總線傳輸周期為 t,t=T/4,依次訪問64個字所需時間為: Time = T + (64-1)t = T+ 63T/4 = 16.75T
  • 什么是 “ 程序訪問的局部性 ” ?存儲系統中哪一級采用了程序訪問的局部性原理?

    • 時間局部性:在一小段時間內,最近被訪問過的程序和數據很可能再次被訪問;

    • 空間局部性:這些被訪問的程序和數據往往集中在一小片存儲區;

    • 在訪問順序上,指令順序執行比轉移執行的可能性大 ( 大約 5:1 ) 。

    • 存儲系統中 Cache———主存層次采用了程序訪問的局部性原理。

  • 計算機中設置Cache的作用是什么?能否將Cache的容量擴大,最后取代主存,為什么?

    • 計算機中設置Cache的作用是解決CPU 和主存速度不匹配問題。
    • 不能將Cache的容量擴大取代主存,原因是:(1) Cache容量越大成本越高,難以滿足人們追求低價格的要求;(2)如果取消主存,當CPU訪問Cache失敗時,需要將輔存的內容調入 Cache 再由 CPU 訪問,造成 CPU 等待時間太長,損失更大。
  • 設主存容量為256K字,Cache容量為2K字,塊長為4。
    (1) 設計Cache地址格式,Cache中可裝入多少塊數據?
    (2)在直接映射方式下,設計主存地址格式。
    (3)在四路組相聯映射方式下,設計主存地址格式。
    (4)在全相聯映射方式下,設計主存地址格式。
    (5)若存儲字長為32位,存儲器按字節尋址,寫出上述三種映

  • 假設CPU執行某段程序時共訪問Cache命中4800次,訪問主存200次,已知Cache的存取周期為30ns,主存的存取周期為150ns,求Cache的命中率以及Cache-主存系統的平均訪問時間和效率,試
    問該系統的性能提高了多少倍?

    • Cache 被訪問命中率為:4800/(4800+200)=24/25=96%,則 Cache-主存系統的平均訪問時間為:ta=0.96 * 30ns+(1-0.96) * 150ns=34.8ns
    • Cache-主存系統的訪問效率為:e = tc/ta * 100% = 30/34.8 * 100% = 86.2%
    • 性能為原來的 150ns/34.8ns = 4.31 倍,即提高了 3.31 倍。
  • 一個組相連映射的CACHE由64塊組成,每組內包含4塊。主存包含4096塊,每塊由128字組成,訪存地址為字地址。試問主存和高速存儲器的地址各為幾位?畫出主存地址格式。

    • 主存共分4096/16=256區,每區16塊
    • 主存容量為:4096*128=21字,主存地址19位,地址格式如下:
  • 設主存容量為1MB,采用直接映射方式的Cache容量為16KB,塊長為4,每字32位。試問主存地址為ABCDEH的存儲單元在 Cache 中的什么位置?

  • 設某機主存容量為4MB,Cache容量為16KB,每字塊有8個字,每字32位,設計一個四路組相聯映射(即 Cache每組內共有4個字塊)的Cache組織。
    (1)畫出主存地址字段中各段的位數。
    (2)設Cache的初態為空,CPU依次從主存第0,1,2,…,89號單元讀出90個字(主存一次讀出一個字),並重復按此次序讀8次,問命中率是多少?
    (3)若Cache的速度是主存的6倍,試問有Cache和無Cache相比,速度約提高多少倍?

  • 提高訪存速度可采取三種措施:

    • 采用高速器件。即采用存儲周期短的芯片,可提高訪存速度。

    • 采用Cache。CPU最近要使用的信息先調入Cache,而Cache的速度比主存快得多,這樣CPU每次只需從Cache中讀寫信息,從而縮短訪存時間,提高訪存速度。

    • 調整主存結構。如采用單體多字或采用多體結構存儲器。

第 5 章 輸入輸出系統

超星題目

  • I/O地址碼的編址方式有哪兩種?

    • 統一編址:將 I/O 地址看作存儲器地址的一部分

    • 不統一編址:I/O 地址和存儲器地址分開,所有對 I/O 設備的訪問必須有專用的 I/O 指令。

  • I/O與主機交換信息有哪幾種控制方式?各有何特點?

    • 程序查詢方式:其特點是主機與 IO 串行工作。CPU啟動I/O后,,若設備准備就緒,CPU便轉入處理 I/O 與主機間傳送信息的程序;若設備未做好准備,則 CPU 反復查詢,“踏步”等待直到 I/O 准備就緒為止。可見這種方式CPU效率很低。

    • 程序中斷方式:其特點是主機與 IO 並行工作。CPU 啟動 I/O 后,不必時刻查詢 I/O 是否准備好,而是繼續執行程序。當 I/O 准備就緒時,向 CPU 發中斷請求信號,CPU 在適當的時候響應 I/O 的中斷請求,暫停現行程序為 I/O 服務。這種方式消除了“踏步”現象,提高了CPU的效率。

    • DMA方式:其特點是主機與 I/O 並行工作,主存與 I/O 之間有一條直接數據通路。CPU 啟動 I/O 后,不必查詢 I/O 是否准備好,當 I/O 准備就緒后,發出 DMA 請求,此時 CPU 不直接參與 I/O 和主存間的信息交換,只是把外部總線((地址線、數據線和有關的控制線)的使用權暫時交賦予 DMA,仍然可以完成自身內部的操作(如加法、移位等),故不必中斷現行程序,只需暫停一個存取周期訪存(即周期挪用),CPU的效率更高

  • 什么是I/O接口,它與端口有何區別?為什么要設置I/O接口,I/O接口如何分類。

    • I/O 接口通常是指主機與 I/O 設備之間設置的一個硬件電路及其相應的軟件控制。

    • 端口是指接口電路中的一些寄存器,這些寄存器分別用來存放數據信息、控制信息和狀態信息,相應的端口分布稱為數據、控制、狀態端口。若干個端口加上相應的控制邏輯才能組成接口。

    • 為什么要設置 I/O 接口

      • 實現設備選擇
      • 實現數據緩沖,達到 I/O 設備與 CPU 之間的速度匹配
      • 實現數據串-並格式轉換
      • 實現電平轉換
      • 傳送控制命令
      • 監視設備工作狀態,保存狀態信息
    • 分類

      • 按數據傳送方式:並行接口、串行接口
      • 按功能選擇的靈活性:可編程接口、不可編程接口
      • 按通用性:通用接口、專用接口
      • 按數據傳送的控制方式:中斷接口、DMA 接口
  • 程序查詢方式和程序中斷方式都由程序實現外圍設備的輸入輸出,它們有何不同?

    • 程序查詢方式是用戶在程序中安排一段輸入輸出程序,它由 I/O 指令、測試指令和轉移指令等組成。CPU 一旦啟動 I/O 后,就進入這段程序,時刻查詢 I/O 准備的情況,若未准備就緒就踏步等待;若准備就緒就實現傳送。在輸入輸出的全部過程中,CPU 停止自身的操作。

    • 程序中斷方式雖也要用程序實現外部設備的輸入、輸出,但它只是以中斷服務程序的形式插入到用戶現行程序中。即 CPU 啟動 I/O 后,繼續自身的工作,不必查詢 I/O 的狀態。而 I/O 被啟動后,便進入自身的准備階段,當其准備就緒時,向 CPU 提出中斷請求,此時若滿足條件,CPU 暫停現行程序,轉入該設備的中斷服務程序,在服務程序中實現數據的傳送。

  • 以I/O設備的中斷處理過程為例,說明一次程序中斷的全過程。

    • 由CPU發啟動 I/O 設備指令,將接口中的 B 置“1”,D 置“0”

    • 接口啟動輸入設備開始工作

    • 輸入設備將數據送入數據緩沖寄存器

    • 輸入設備向接口發出“設備工作結束”信號,將 D 置為“1”,B 置為“0”,標志設備准備就緒

    • 當設備准備就緒(D=1),且本設備未被屏蔽(MASK=O)時,在指令執行階段的結束時刻,由 CPU 發出中斷查詢信號

    • 設備中斷請求觸發器 INTR 被置為“1”',標志設備向 CPU 提出中斷請求。與此同時,INTR 送至排隊器,進行中斷判優

    • 若 CPU 允許中斷(EINT=1),設備又被排隊選中,即進入中斷相應階段,由中斷響應信號 INTA 將排隊器輸出送至編碼器形成向量地址

    • 向量地址送至 PC,作為下一條指令的地址

    • 由於向量地址中存放的是一條無條件轉移指令,故這條指令執行結束后即無條件轉至該設備的服務程序入口地址,開始執行中斷服務程序,進入中斷服務階段,通過輸入指令將數據緩沖寄存器的輸入數據送至 CPU 的通用寄存器,再存入主存相關單元

    • 中斷服務程序的最后一條指令是中斷返回指令,當其執行結束后,即中斷返回至原程序的斷點處。至此,一個完整的程序中斷處理過程即告結束

  • 在DMA方式中有沒有中斷請求,為什么?DMA接口電路中應設置哪些硬件。

    • 有中斷請求,只是數據不通過CPU。DMA控制器在傳送完所有字節時,通過中斷請求線發出中斷信號。CPU在接收到中斷信號后,轉入中斷處理程序進行后續處理。

    • 硬件:主存地址寄存器(AR)、字計數器(WC)、數據緩沖寄存器(BR) 、DMA控制邏輯、中斷機構、設備地址寄存器(DAR)

  • DMA方式中的中斷請求和程序中斷中的中斷請求有何區別?

    • 從數據傳送看,程序中斷方式靠程序傳送,DMA 方式靠硬件傳送

    • 從 CPU 響應時間看,程序中斷方式是在一條指令執行結束時響應,而 DMA 方式可在指令周期內的任一存取周期結束時響應。

    • 程序中斷方式有處理異常事件的能力,而 DMA 方式沒有這種能力,主要用於大批數據的傳送,如硬盤存取、圖像處理、高速數據采集系統等,可提高數據吞吐量

    • 程序中斷方式需要中斷現行程序,故需保護現場;DMA 方式不中斷現行程序,無須保護現場

    • DMA 的優先級比程序中斷的優先級高

  • DMA和主存交換數據時有哪三種方法?分別簡述。

    • 停止CPU訪問主存:當外設要求傳送一批數據時,由 DMA 接口向 CPU 發一個停止信號,要求 CPU 放棄地址線、數據線和有關控制線的使用權。DMA接口獲得總線控制權后,開始進行數據傳送,在數據傳送結束后,DMA 接口通知 CPU 可以使用主存,並把總線控制權交回給 CPU。

    • 周期挪用:每當 I/O 設備發出 DMA 請求時,I/O 設備便挪用或竊取總線占用權一個或幾個主存周期,而 DMA 不請求時,CPU仍繼續訪問主存。

    • DMA 與 CPU 交替訪問:不需要總線使用權的申請、建立和歸還過程。CPU 和 DMA 接口各自有獨立的訪存地址寄存器、數據寄存器和讀/寫信號。CPU 既不停止主程序的運行也不進入等待狀態,即完成了 DMA 的數據傳送。

  • 簡述 DMA 的工作過程

    • 預處理:主存起始地址 -> DMA;設備地址 -> DMA;傳送數據個數 -> DMA;啟動設備

    • 數據傳送:繼續執行主程序;同時完成—批數據的傳送(數據塊)

    • 后處理:中斷服務程序;做 DMA 結束處理

    • 繼續執行主程序

  • DMA接口的類型有哪幾種?

    • 選擇型 DMA 接口
    • 鏈式多路型 DMA 接口
    • 獨立請求多路型 DMA 接口
  • 其它

    • DMA方式中,周期竊取是竊取一個(存取周期)。

    • 以下敘述,(一個更高級的中斷請求一定可以中斷比其級別低的另一個中斷處理程序的執行。)是錯誤的。

    • 采用 DMA 方式傳送數據時,每傳送一個數據要占用(一個存儲周期)的時間。

    • DMA數據的傳送是以(數據塊)為單位進行。

    • DMA方式是指數據在(內存)與(I/O設備)之間直接數據傳送。

    • 主機與設備交換信息的控制方式中,程序查詢方式主機與設備是(串行工作)。

    • 主機與設備交換信息的控制方式中,(DMA)方式主機與設備是並行工作的,且主程序與信息傳送是並行進行的。

    • 某計算機的I/O設備采用異步串行的方式傳送字符信息,字符信息的格式為:一位起始位、七位數據位、一位校驗位、一位停止位。若要求每秒傳送480個字符,那么該I/O設備的數據傳送速率應該為(4800)bps。

    • DMA方式的接口電路中有程序中斷部件,其作用是(向CPU提出傳輸結束)。

課后題

  • 簡要說明 CPU 與 I/0 之間傳遞信息可采用哪幾種聯絡方式?它們分別用於什么場合?

    • 立即響應方式:CPU 的 I/O 指令一到,I/O 設備立即響應,無需特殊聯絡信號。用於工作速度十分緩慢的 I/O 設備。

    • 應答信號聯絡:在交換信息前,I/O設備與 CPU 各自完成自身的任務,一旦出現聯絡信號,彼此才准備交換信息。用於 I/O 設備與主機速度不匹配時。

    • 同步時標聯絡:專用電路產生同步時標控制同步工作。用於 I/O 設備與 CPU 工作速度完全同步。

  • 說明中斷向量地址和入口地址的區別和聯系。

    • 區別:向量地址是硬件電路(向量編碼器)產生的中斷源的內存地址編號,中斷入口地址是中斷服務程序首址。

    • 聯系:中斷向量地址可理解為中斷服務程序入口地址指示器(入口地址的地址),通過它訪存可獲得中斷服務程序入口地址。(兩種方法:在向量地址所指單元內放一條 JMP 指令;主存中設向量地址表。)

  • 在什么條件下,I/0 設備可以向 CPU 提出中斷請求?

    • I/0 設備向 CPU 提出中斷請求的條件是:I/0 接口中的設備工作完成狀態為 1(D=1),中斷屏蔽碼為 0 (MASK=0),且 CPU 查詢中斷時,中斷請求觸發器狀態為 1(INTR=1)。
  • 什么是中斷允許觸發器?它有何作用?

    • 中斷允許觸發器是 CPU 中斷系統中的一個部件,他起着開關中斷的作用(即中斷總開關,則中斷屏蔽觸發器可視為中斷的分開關)。
  • 在什么條件和什么時間,CPU 可以響應 I/0 的中斷請求?

    • CPU 響應 I/0 中斷請求的條件和時間是:當中斷允許狀態為 1(EINT=1),且至少有一個中斷請求被查到,則在一條指令執行完時,響應中斷。
  • 某系統對輸入數據進行取樣處理,每抽取一個輸入數據,CPU 就要中斷處理一次,將取樣的數據存至存儲器的緩沖區中,該中斷處理需 P 秒。此外,緩沖區內每存儲 N 個數據,主程序就要將其取出進行處理,這個處理需 Q 秒。試問該系統可以跟蹤到每秒多少次中斷請求?

    • 這是一道求中斷飽和度的題,要注意主程序對數據的處理不是中斷處理,因此Q秒不能算在中斷次數內。
    • N個數據所需的處理時間 = P×N+Q 秒
    • 平均每個數據所需處理時間 = (P×N+Q)/N 秒
    • 求倒數得:該系統跟蹤到的每秒中斷請求數 = N / (PXN+Q)次。
  • 在程序中斷方式中,磁盤申請中斷的優先權高於打印機。當打印機正在進行打印時,磁盤申請中斷請求。試問是否要將打印機輸出停下來,等磁盤操作結束后,打印機輸出才能繼續進行?為什么?

    • 這是一道多重中斷的題,由於磁盤中斷的優先權高於打印機,因此應將打印機輸出停下來,等磁盤操作結束后,打印機輸出才能繼續進行。因為打印機的速度比磁盤輸入輸出的速度慢,並且暫停打印不會造成數據丟失。
  • 什么是多重中斷?實現多重中斷的必要條件是什么?

    • 多重中斷是指:當 CPU 執行某個中斷服務程序的過程中,發生了更高級、更緊迫的事件,CPU 暫停現行中斷服務程序的執行,轉去處理該事件的中斷,處理完返回現行中斷服務程序繼續執行的過程。

    • 實現多重中斷的必要條件是:在現行中斷服務期間,中斷允許觸發器為 1,即開中斷。

  • CPU 對 DMA 請求和中斷請求的響應時間是否一樣?為什么?

    • 響應中斷請求是在每條指令執行周期結束的時刻,而響應 DMA 請求是在存取周期結束的時刻。
  • DMA 的工作方式中,CPU 暫停方式和周期挪用方式的數據傳送流程有何不同?畫圖說明。

    • CPU 暫停方式

    • 周期挪用方式

    • DMA 與 CPU 交替訪問

  • 試從下面七個方面比較程序查詢、程序中斷和 DMA三種方式的綜合性能。
    (1)數據傳送依賴軟件還是硬件。
    (2)傳送數據的基本單位。
    (3)並行性。
    (4)主動性。
    (5)傳輸速度。
    (6)經濟性。
    (7) 應用對象

    • 程序查詢、程序中斷方式的數據傳送主要依賴軟件,DMA 主要依賴硬件。(注意:這里指主要的趨勢)

    • 程序查詢、程序中斷傳送數據的基本單位為字或字節,DMA為數據塊。

    • 程序查詢方式傳送時,CPU 與I/0設備串行工作;程序中斷方式時,CPU 與I/0設備並行工作,現行程序與I/0傳送串行進行;DMA方式時,CPU與I/0設備並行工作,現行程序與I/0傳送並行進行。

    • 程序查詢方式時,CPU主動查詢Ⅰ/0設備狀態;程序中斷及DMA方式時,CPU被動接受I/0中斷請求或DMA 請求。

    • 程序中斷方式由於軟件額外開銷時間比較大,因此傳輸速度最慢;程序查詢方式軟件額外開銷時間基本沒有,因此傳輸速度比中斷快;DMA方式基本由硬件實現傳送,因此速度最快;注意:程序中斷方式雖然CPU運行效率比程序查詢高,但傳輸速度卻比程序查詢慢。

    • 程序查詢接口硬件結構最簡單,因此最經濟;程序中斷接口硬件結構稍微復雜一些,因此較經濟;DMA控制器硬件結構最復雜,因此成本最高;

    • 程序中斷方式適用於中、低速設備的 I/0 交換;程序查詢方式適用於中、低速實時處理過程;DMA方式適用於高速設備的 I/0 交換

第 6 章 計算機的運算方法

超星題目

  • 說明浮點加/減法運算步驟。

    • 對階:使兩操作數的小數點位置對齊,小階向大階看齊

    • 尾數求和:將對階之后的兩尾數按照定點加減運算規則求和(差)

    • 規格化:求和之后的尾數規格化

      • 左規:00.0xx…… 或者 11.1xx…… ,尾數左移一位,階碼減 1
      • 右規:01.xx…… 或者 10.xx…… ,尾數右移一位,階碼加 1
    • 舍入:考慮尾數右移時丟失的數值位

      • “0 舍 1 入”法:尾數右移時,被移去的最高數值位為 0 則舍去;被移去的最高數值位為 1 則在尾數的末位加 1。注意可能使尾數再次溢出,此時需要再右規。
      • “恆置 1 ”法:尾數右移時,右移后的尾數末位恆置 1
    • 溢出判斷

      • 階碼 [j]補 = 01,xxx…… 上溢
      • 階碼 [j]補 = 10,xxx…… 下溢
  • 說明浮點乘/除法運算的基本步驟。

    • 階碼運算

      • 用移碼運算 [jx + jy]移 = [jx]移 + [jy]補 [jx - jy]移 = [jx]移 + [-jy]補
      • 溢出判斷:運算結果移碼的最高符號位為 1
        • 低位符號位為 0 :上溢
        • 低位符號位為 1 :下溢
    • 尾數運算

      • 舍入:負數補碼:
        • 丟失的各位均為 0 時,不必舍入
        • 丟失的各位數中的最高位為 0 時,且以下各位不全為 0 ,或丟棄的各位數中的最高位為 1 ,且以下各位均為 0 時,丟去被丟失的各位
        • 丟失的各位數中的最高位為 1 ,且以下各位又不全為 0 時,在保留尾數的最末位加 1 修正。
  • IEEE 754 表示

    • 數符 + 階碼(包含符號位,移碼表示) + 尾數(隱藏表示最高位 1 )
  • 補碼乘法

    • 補碼一位乘運算規則

    • Booth 算法(被乘數、乘數符號任意)注意答案最后一位清零

  • 補碼除法

    • 余數補碼與除數補碼同號:上商“1”;不同號:上商“0”
    • 末位商恆置“1”
  • 其它

    • 在補碼加減交替除法中,參加操作的數是(補碼),商符(在形成商值的過程中自動形成)。

    • 在浮點數中,當數的絕對值太大,以至於超過所能表示的數據時,稱為浮點數的(上溢)。

    • 若浮點數用補碼表示,則判斷運算結果是否為規格化數的方法是(數符與尾數小數點后第一位數字相異為規格化數)。

    • 設寄存器內容為10000000,若它等於-0,則為(原碼)(請選擇更准確的選項)。

    • 浮點數的表示范圍和精度取決於(階碼的位數和尾數的位數)。

    • 在整數定點機中,下面說法正確的是(原碼、反碼和補碼都能表示-1, 且這三種碼表示數的范圍不相同。)。

    • 在定點機中執行算數運算時會產生溢出,其原因是(運算結果無法表示)。

    • 計算機中,表示地址時采用(無符號數)。

    • 在浮點數加減法對階的過程中,(將較小的階向較大的階看齊)。

    • 在補碼除法中,根據(余數的符號與除數的符號相同)上商“1”。

課后題

第 7 章 指令系統

超星題目

  • 試比較基址尋址和變址尋址,並舉例說明其適用的場合。

    • 都可用來擴大操作數的尋址范圍

    • 基址尋址只要用於為程序或數據分配存儲空間,故基址寄存器的內容通常由操作系統或管理程序確定,在程序的執行過程中其值是不可變的,而指令字中的 A 是可變的。在多道程序中極為有用。

    • 在變址尋址中,變址寄存器的內容是由用戶設定的,在程序的執行過程中其值可變,而指令字中的 A 是不可變的。主要用於處理數組問題,適合編址循環程序。

  • 任意寫出五種尋址方式,令EA為有效地址,A為形式地址,寫出這五種尋址方式計算有效地址的表達式。

    • 立即尋址
    • 直接尋址:EA = A
    • 隱含尋址
    • 間接尋址:EA = (A)
    • 寄存器尋址:EA = R
    • 寄存器間接尋址:EA = (R)
    • 基址尋址:EA = A + (BR)
    • 變址尋址:EA = A + (IX)
    • 相對尋址:EA = (PC) + A
    • 堆棧尋址
  • 指令中有哪些字段?各有何作用?如何確定各字段的位數?

    • 指令中有三種字段:操作碼字段、尋址特征字段和地址碼字段。

    • 操作碼字段指出機器完成某種操作,其位數取決於指令系統的操作種類。

    • 尋址特征字段指出該指令以任何方式尋找操作數的有效地址,其位數取決於尋址方式的種類。

    • 地址碼字段和尋址特征字段共同指出操作數或指令的有效地址,其位數與尋址范圍有關。

  • RISC和CISC指令系統各自的特點。

    • RISC

      • 組合邏輯控制
      • 指令數、尋址方式和指令格式種類較少
      • 通用寄存器多
      • 寄存器窗口重疊技術
      • 大多數指令在一個時鍾周期內完成
      • 邏輯簡單,設計出錯可能性小,可靠性高
    • CISC

      • 微程序控制
      • 指令豐富、功能強大
      • 尋址方式靈活
  • 其它

    • 堆棧尋址方式中,設A為累加器,SP為堆棧指示器,MSP為SP指示的棧頂單元,如果進棧操作的動作順序是(SP)-1→SP,(A)→MSP ,那么出棧操作的動作順序應為((SP)+1→SP ,MSP→(A))

    • 單地址指令中為了完成兩個數的算術運算,除地址碼指明的一個操作數外,另一個常需采用(隱含尋址方式)。

    • 指令系統采用不同尋址方式的目的是(縮短指令長度,擴大尋址空間,提高編程靈活性)。

    • 下列關於 RISC 的敘述中,錯誤的是 (RISC 普遍采用微程序控制器)。

    • 設相對尋址的轉移指令占3個字節,第一字節為操作碼,第二字節為相對位移量(補碼表示)的低8位,第三字節是相對位移量(補碼表示)的高8位。每當CPU從存儲器取一個字節時,即自動完成(PC)+1→PC。若PC當前值為128(十進制),要求轉移到110(十進制),則轉移指令的第二、三字節的機器代碼又是多少?
      (EBH,FFH)

    • 某計算機的指令字長為16位,采用擴展操作碼,操作數地址取4位。假設該指令系統已有X條三地址指令,Y條二地址指令,沒有零地址指令,問最多還可以有幾條一地址指令?
      ( [ (2 ^ 4 - X ) * 2 ^ 4 - Y ] * 2 ^ 4)

    • 設變址寄存器為X,形式地址為D,某機器具有先變址再間址的尋址方式,則這種尋址方式的有效地址是(EA =((X) + D))。

    • 程序控制類指令的功能是(改變程序執行的順序)。

    • 若數據在存儲器中采用以低字節地址為字地址的存放方式,則十六進制數12345678H,按照字節地址由小到大的順序依次存為(78563412)。

    • 設機器字長為16位,存儲器按字節編址,CPU讀取一條單字長指令后,PC自動加(2)。

課后題

第 8 章 CPU 的結構和功能

超星題目

  • CPU有哪些功能?畫出其內部的組成框圖,並說明每個部件的作用。

    • 指令控制、操作控制、時間控制、數據加工、處理中斷
    • 寄存器:專用於存放當前指令的地址
    • CU:能發出各種操作命令序列的控制部件(產生全部指令的微操作命令序列)
    • ALU:完成算術運算和邏輯運算
    • 中斷系統:處理異常情況和特殊請求
  • 影響流水線性能的因素有哪些?分別由什么原因導致的?分別采用什么方法解決?

    • 結構相關:當指令在重疊執行的過程中,不同指令爭用同一功能部件產生資源沖突時發生的,又有資源相關之稱。

      • 解決辦法Ⅰ:插入暫停周期(“流水線氣泡”或“氣泡”)
      • 解決方法Ⅱ:設置相互獨立的指令存儲器和數據存儲器或設置相互獨立的指令 Cache 和數據 Cache。
      • 解決方法III:指令預取技術:在 CPU 中設置指令隊列,將指令預先讀取到指令隊列中排隊。在執行階段,存儲器空閑時,將指令預先取出。
    • 數據相關:當相關的指令靠得足夠近時,它們在流水線中的重疊執行或者重新排序會改變指令讀/寫操作數的順序,使之不同於它們非流水實現時的順序,則發生了數據相關沖突。

      • 可分為寫后讀相關(RAW)、讀后寫相關(WAR)、寫后寫相關(WAW)
      • 解決辦法Ⅰ:后推法(插入停頓):遇到數據相關時,停頓后繼指令的運行,直到前面指令的結果已經生成。
      • 解決方法Ⅱ:定向技術(旁路技術、相關專用通路技術):不必等待某條指令執行結果送回寄存器之后,再從寄存器中取出該結果,作為下一條指令的源操作數,而是直接將執行結果送到其他指令所需要的地方。
      • 解決方法III:指令調度:(可以靜態調度,也可以動態調度): 讓編譯器重新組織指令順序來消除沖突,這種技術稱為指令調度或流水線調度。
    • 控制相關:主要由轉移指令引起。

      • 盡早判斷轉移是否發生,盡早生成轉移目標地址
      • 預取轉移成功或不成功兩個控制流方向上的目標指令
      • 加快和提前形成條件碼
      • 提高轉移方向的猜測率
  • 流水線性能評價指標有吞吐率、加速比、效率。各自的定義是什么?

    • 吞吐率:在單位時間內流水線所完成的任務數量或輸出結果的數量。

    • 加速比:完成同樣一批任務,不使用流水線所用的時間與使用流水線所用的時間之比。

    • 效率:流水線中的設備實際使用時間與整個運行時間的比值,即流水線設備的利用率。

  • 某機有五個中斷源 L0、L1、L2、L3、L4,按中斷響應的次序由高向低排序為L0→L1→L2→L3→L4,現要求中斷處理次序為L1→L3→L4→L0→L2,寫出各中斷源的屏蔽字。

    • 按照中斷處理次序討論 L1→L3→L4→L0→L2
    • L1:優先級最高:全 1
    • L3:L1 更高,L1 = 0
    • L4:L1,L3 更高,L1 = L3 = 0
    • L0:L1,L3,L4 更高,L1 = L3 = L4 = 0
    • L2:L1,L3,L4,L0 更高,L1 = L3 = L4 = L0 = 0
    • 其他位為 1
  • 什么是中斷?中斷系統需要解決哪些問題?

    • 計算機在執行程序的過程中,當出現異常情況或特殊請求時,計算機停止現行程序的運行,轉向對這些異常情況或特殊情況的處理,處理結束后再返回到現行程序的間斷處,繼續執行原程序,這就是“中斷”。

    • 設計中斷系統需解決的問題:

      • 各中斷源如何向 CPU 提出中斷請求
      • 當多個中斷源同時提出中斷請求時,中斷系統如何確定優先響應哪個中斷源的請求
      • CPU 在什么條件、什么時候、以什么方式來響應中斷
      • CPU 響應中斷后如何保護現場
      • CPU 響應中斷后,如何停止原程序的執行而轉入中斷服務程序的入口地址
      • 中斷處理結束后,CPU 如何恢復現場,如何返回到原程序的間斷處
      • 在中斷處理過程中又出現了新的中斷請求,CPU 該如何處理
  • CPU響應中斷的條件和時間是什么?

    • 條件:允許中斷觸發器 EINT = 1,且有中斷請求(中斷請求標記觸發器 INTR = 1)

    • 時間:指令執行周期結束后。

  • CPU進入中斷周期后,完成哪些操作?

    • 保護程序斷點
    • 尋找中斷服務程序的入口地址
    • 關中斷
  • 什么是中斷隱指令?它有哪些功能。

    • 中斷隱指令指 CPU 響應中斷之后,經過某些操作,轉去執行中斷服務程序的一種操作。中斷隱指令是指令系統中沒有的指令,它由 CPU 在中斷響應周期自動完成。

    • 功能

      • 保護程序斷點
      • 尋找中斷服務程序的入口地址
      • 關中斷
  • 什么是中斷屏蔽字,它的作用是什么?

    • 對應每個中斷請求觸發器就有一個屏蔽觸發器,將所有屏蔽觸發器組合在一起,便構成了一個屏蔽寄存器,屏蔽寄存器的內容稱為屏蔽字。屏蔽字與中斷源的優先級別時一一對應的。

    • 功能:在中斷服務程序中設置適當的屏蔽字,能起到對優先級別不同的中斷源的屏蔽作用。

  • 其他

    • 在中斷周期中,由(硬件自動完成)將允許中斷觸發器置“0”。

    • 根據存控內排隊器設置的優先原則,下列對主存的請求源優先級別排序正確的是(外設請求>寫數請求>讀數請求>讀指令請求)。

    • 關於中斷向量地址,描述最准確的是(中斷服務例行程序入口地址的指示器)。

    • 某中斷系統中,每抽取一個輸入數據就要中斷CPU一次,中斷處理程序接收取樣的數據,並將其保存到主存緩沖區內。該中斷處理需要X秒。另一方面,緩沖區內每存儲N個數據,主程序就將其取出進行處理,這種處理需要Y秒,因此該系統可以跟蹤到每秒(N / (NX + Y))次中斷請求。

    • 流水CPU 是由一系列叫做“段”的處理線路所組成,理想情況下,和具有m個並行部件的CPU相比,一個m段流水CPU(具備同等水平的吞吐能力)。

    • 某計算機的指令流水線由四個功能段組成,指令流經各功能段的時間(忽略各功能段之間的緩存時間)分別是 90ns、80ns、70ns 和 60ns,則該計算機的 CPU 時鍾周期至少是(90ns)。

    • 下列不會引起指令流水阻塞的是(數據旁路)。

    • CPU響應中斷時,進入“中斷周期”,采用硬件方法保護並更新程序計數器PC內容,而不是由軟件完成,主要是為了(能進入中斷處理程序,並能正確返回源程序)。

    • 中斷標志觸發器是用於(指示CPU是否進入中斷周期)。

    • CPU中的譯碼器主要用於(指令譯碼)。

課后題

  • 什么是指令周期?指令周期是否有一個固定值?為什么?

    • 指令周期是指取出並執行完一條指令所需的時間。

    • 由於計算機中各種指令執行所需的時間差異很大,因此為了提高 CPU 運行效率,即使在同步控制的機器中,不同指令的指令周期長度都是不一致的,也就是說指令周期對於不同的指令來說不是一個固定值。

  • 畫出指令周期的流程圖,分別說明圖中每個子周期的作用。

    • 取指周期: 取指令
    • 間址周期: 取有效地址
    • 執行周期: 取操作數(當指令為訪存指令時)
    • 中斷周期: 保存程序斷點
  • 存儲器中有若干數據類型:指令代碼、運算數據、堆棧數據、字符代碼和BCD碼,計算機如何識別這些代碼?

    • 指令代碼是CPU在取指階段從存儲器中取出的信息。CPU在執行階段從存儲器中取出的可以是運算數據、字符代碼或BCD碼,具體是哪一個信息取決於指令的操作碼。堆棧數據是根據堆棧指示器SP所指示的地址訪存時所獲得的的數據。
  • 什么叫系統的並行性?粗粒度並行和細粒度並行有什么區別?

    • 所謂並行性包含同時性和並發性。同時性是指兩個或兩個以上的事件在同一時刻發生,並發性是指兩個或多個事件在同一時間段發生。即在同一時刻或同一時間段內完成兩個或兩個以上性質相同或性質不同的功能,只要在時間上存在相互重疊,就存在並行性。

    • 並行性又分為粗粒度並行和細粒度並行兩類。粗粒度並行是指在多個處理機上分別運行多個進程,由多台處理機合作完成一個程序,一般用算法實現。細粒度並行是指在處理機的指令級和操作級的並行性。

  • 什么是指令流水?畫出指令二級流水和四級流水的示意圖,它們中哪個更能提高處理機速度,為什么?

    四級流水更能提高處理機的速度。分析如下:

    • 假設 IF 、 ID 、 EX 、 WR 每個階段耗時為 t ,則連續執行 n 條指令
    • 采用二級流水線時,耗時為: 4t+(n-1)2t=(2n+2)t
    • 采用四級流水線時,耗時為: 4t+(n-1)t=(n+3)t
    • 在 n>1 時, n+3<2n+2 ,可見四級流水線耗時比二級流水線耗時短,因此 更能提高處理機速度。
  • 在五個功能段的流水線中,假設每段執行時間為 10ns,8ns,10ns,10ns,和7ns。對於完成 12 條指令的流水線而言,其加速比為多少?該流水線的實際吞吐率為多少?

    • 流水線的時鍾周期應按各部操作的最大時間來考慮,即應取10ns。更具流水線時空圖,第一條指令出結果需要5個時鍾周期,當流水線滿載時,每一個時鍾周期可以出一個結果,即執行完一條指令。完成
      12 條指令需要16個時鍾周期,故實際吞吐率為:
      12 /(10ns * 16)= 0.75 * 10 ^ 8 條指令/秒,對於本題五級流水線而言,處理 12 條指令所需的時鍾周期數為 T = 5 +(12-1)= 16 個,而非流水線處理12 條指令需要 5 * 12=60 個,故該流水線處理器的加速比為 60 / 16 = 3.75.
  • 在中斷系統中,INTR、INT、EINT這3個觸發器各有何作用?

    • INTR—— 中斷請求觸發器,用來登記中斷源發出的隨機性中斷請求信號,以便為 CPU 查詢中斷及中斷排隊判優線路提供穩定的中斷請求信號 。
    • EINT—— 中斷允許觸發器, CPU 中的中斷總開關。當 EINT=1 時,表示允許中斷(開中斷),當 EINT=0 時,表示禁止中斷(關中斷)。其狀態可由開、關中斷等指令設置 。
    • INT—— 中斷標記觸發器,控制器時序系統中周期狀態分配電路的一部分,表示中斷周期標記。當 INT=1 時,進入中斷周期,執行中斷隱指令的操作。
  • 實現多重中斷的條件

    • 提前設置“開中斷”指令

    • 優先級別高的中斷源有權中斷優先級別低的中斷源

  • CPU在處理中斷過程中,有幾種方法找到中斷服務程序的入口地址?舉例說明。

    • 硬件向量法
    • 軟件查詢法
  • 中斷處理過程中為什么要中斷判優?有幾種實現方法?若想改變原定的優先順序,可采取什么措施?

    • 中斷源的請求是隨機的,在某一時刻可能有多個中斷源提出請求,而 CPU 只能響應一個,故必須中斷判優,以解決響應的優先次序。

    • 中斷判優有兩種方法實現:硬件排隊和軟件排隊。前者用組合邏輯電路實現,后者用程序優先級別(從高到低)順序查詢各中斷源,以實現排隊。

    • 欲想改變優先順序,可采用屏蔽技術,重新設置屏蔽字,封鎖級別高的請求源,開放級別低的請求源。

  • 中斷處理過程中“保護現場”需完成哪些任務?如何實現?

    • 保存程序的斷點和通用寄存器及狀態寄存器的內容

    • 可在中斷服務程序的起始部分安排若干條指令,將寄存器的內容存到存儲器中保存或用進棧指令將各存儲器的內容推入堆棧保存,即進程序中斷時間的“現場”保護起來。

  • 現有 A、B、C、D 4 個中斷源,其優先級由高到低按 A→B→C→D 順序排列。若中斷服務程序的執行時間為 20μs,根據下圖所示時間軸給出的中斷源請求中斷的時刻,畫出CPU執行程序的軌跡。

  • 設某機有5個中斷源L0、L1、L2、L3、L4,按中斷響應的優先次序由高到低排序為L0→L1→L2→L4,現要求中斷處理次序改為L1→L4→L2→L0→L3,根據下面的格式,寫出各中斷源的屏蔽字。

  • 設某機配有A、B、C3台設備,其優先級按A→B→C降序排列,為改變中斷處理次序,它們的中斷屏蔽字設置如下。按下圖所示時間軸給出的設備請求中斷時刻,畫出CPU執行程序的軌跡、設A、B、C中斷服務程序的執行時間均為20μs

  • 設某機3個中斷源,其優先級按1-2-3降序排列。假設中斷處理時間均為r,在下圖所示的時間內共發生5次中斷請求,圖中1代表一級中斷源發出中斷請求信號,其余類推,畫出Cpu執行程序軌跡。


  • 設某機有4個中斷源1、2、3、4,其響應優先級按1-2-3-4降序排列,現要求中斷處理次序改為4-1-3-2.根據下圖給出的4個中斷源的請求時刻,畫出Cpu執行程序的軌跡。設每個中斷源的中斷服務程序時間均為20us。


第 9 章 控制單元的功能

超星題目

  • 什么是多級時序?

    • 機器周期、節拍(狀態)組成了多級時序系統。

    • 機器周期:機器周期可以看做是所有指令執行過程中的一個基准時間,機器周期取決於指令的功能及器件的速度

    • 節拍:用時鍾信號控制節拍發生器所產生,每個節拍的寬度對應一個時鍾周期,是控制計算機操作的最小時間單位

  • 其他

    • 中斷周期之前是(執行周期),中斷周期之后是(取指周期)。

    • 計算機主頻的周期是指(時鍾周期)。

    • 計算機操作的最小單位時間是(時鍾周期)。

    • 在取指令操作之后,程序計數器中存放的是(下一條指令地址)。

課后題

第 10 章 控制單元的設計

超星題目

  • 簡述微程序設計的思想。

    • 將一條機器指令編寫成一個微程序,每一個微程序包含若干條微指令,每一條微指令對應一個或幾個微操作命令。然后把這些微程序存到一個控制存儲器中,用尋找用戶程序機器指令的方法來尋找每個微程序中的微指令。由於這些微指令是以二進制代碼形式表示的,每位代表一個控制信號,因此,逐條執行每一條微指令,也就相應地完成了一條機器指令的全部操作。
  • 什么是水平型微指令,什么是垂直型微指令,說明其各自的特點。

    • 水平型微指令:一次能定義並執行多個並行操作的微命令。

    • 垂直型微指令:采用類似機器指令操作碼的方式,在指令字中,設置微操作碼字段,由微操作碼規定微指令的功能。

  • 其他

    • 在控制器的控制信號中,相容的信號是(可以同時出現)的信號。

    • 微程序控制單元的核心器件是(ROM)。 (控制存儲器)

    • 計算機存放微指令的存儲器包含在(CPU)中。

    • 以硬連線方式構成的控制器又稱為(組合邏輯型)控制器。

    • 微程序控制器中,機器指令與微指令的關系是(每一條機器指令由一段微指令編寫的微程序來解釋執行)。

    • 為確定下一條微指令的地址,通常采用斷定方式,其基本思想是(通過指令中指定一個專門字段來控制產生后繼微指令地址)。

課后題

  • 已知帶返轉指令的含義如下圖所示,寫出機器在完成帶返轉指令時,取指階段和執行階段所需的全部微操作命令及節拍安排。如果采用微程序控制,需增加哪些 微操作命令?

    • 取指階段 所需的全部微操作命令及節拍安排:
      T0 PC→MAR,1 → R (1分)
      T1 M(MAR) → MDR,(PC) + 1 → PC(1分)
      T2 MDR→IR,OP(IR) → ID (1分)

    • 由圖可見,帶返轉指令執行階段需完成將返回地址M+1,存入指令的地址碼字段K所指示的存儲單元中,從K+1號單元開始才是子程序的真正內容,故執行階段的微操作命令及節拍安排為:
      T0 Ad(IR) → MAR,1 → W (1分)
      T1 PC → MDR (1分)
      T2 MDR→M(MAR),Ad(IR) + 1 → PC (1分)

    • 如果采用微程序控制,需增加給出下條微指令地址的命令,即
      Ad(CMDR) → CMAR (1分)
      OP(IR) → 微地址形成部件 → CMAR (1分)

  • 假設CPU在中斷周期用堆棧保存程序斷點,而且進棧時指針減 1,出棧時指針加 1,分別寫出組合邏輯控制和微程序控制在完成中斷返回指令時,取指階段和執行階段所需的全部微操作命令及節拍安排。

    • 取址階段
      T0 PC → MAR, 1 → R
      T1 M(MAR) → MDR, (PC) + 1 → PC
      T2 MDR → IR, OP(IR) → ID
    • 執行階段
      T0 SP → MAR, 1 → R
      T1 M(MAR) → MDR
      T2 MDR → PC, (SP) + 1 → SP


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM