計算機組成原理_第四版課后習題答案(完整版)


計算機組成原理_第四版課后習題答案(完整版)

 第一章

1. 比較數字計算機和模擬計算機的特點。

解:模擬計算機的特點:數值由連續量來表示,運算過程是連續的;
  數字計算機的特點:數值由數字量(離散量)來表示,運算按位進行。
  兩者主要區別見P1 表1.1。

2. 數字計算機如何分類?分類的依據是什么?

解:分類:  數字計算機分為專用計算機和通用計算機。通用計算機又分為巨型機、大型機、
       中型機、小型機、微型機和單片機六類。
  
  分類依據:專用和通用是根據計算機的效率、速度、價格、運行的經濟性和適應性來划分的。
       通用機的分類依據主要是體積、簡易性、功率損耗、性能指標、數據存儲容量、
       指令系統規模和機器價格等因素。

3. 數字計算機有那些主要應用?

(略)

4. 馮. 諾依曼型計算機的主要設計思想是什么?它包括哪些主要組成部分?

解:馮. 諾依曼型計算機的主要設計思想是:存儲程序和程序控制。
  存儲程序:將解題的程序(指令序列)存放到存儲器中;
  程序控制:控制器順序執行存儲的程序,按指令功能控制全機協調地完成運算任務。

  主要組成部分有:控制器、運算器、存儲器、輸入設備、輸出設備。

5. 什么是存儲容量?什么是單元地址?什么是數據字?什么是指令字?

解:存儲容量:指存儲器可以容納的二進制信息的數量,通常用單位KB、MB、GB來度量,存儲容
       量越大,表示計算機所能存儲的信息量越多,反映了計算機存儲空間的大小。
  單元地址:單元地址簡稱地址,在存儲器中每個存儲單元都有唯一的地址編號,稱為單元地
       址。
  數據字: 若某計算機字是運算操作的對象即代表要處理的數據,則稱數據字。
  指令字: 若某計算機字代表一條指令或指令的一部分,則稱指令字。 

6. 什么是指令?什么是程序?

解:指令:計算機所執行的每一個基本的操作。
  程序:解算某一問題的一串指令序列稱為該問題的計算程序,簡稱程序。 

7. 指令和數據均存放在內存中,計算機如何區分它們是指令還是數據?

解:一般來講,在取指周期中從存儲器讀出的信息即指令信息;而在執行周期中從存儲器中讀出的
  信息即為數據信息。

8. 什么是內存?什么是外存?什么是CPU?什么是適配器?簡述其功能。

解:內存:一般由半導體存儲器構成,裝在底版上,可直接和CPU交換信息的存儲器稱為內存儲
     器,簡稱內存。用來存放經常使用的程序和數據。
  外存:為了擴大存儲容量,又不使成本有很大的提高,在計算機中還配備了存儲容量更大的
     磁盤存儲器和光盤存儲器,稱為外存儲器,簡稱外存。外存可存儲大量的信息,計算
     機需要使用時,再調入內存。 
  CPU:包括運算器和控制器。基本功能為:指令控制、操作控制、時間控制、數據加工。
  適配器:連接主機和外設的部件,起一個轉換器的作用,以使主機和外設協調工作。 

9. 計算機的系統軟件包括哪幾類?說明它們的用途。

解:系統軟件包括:(1)服務程序:診斷、排錯等
         (2)語言程序:匯編、編譯、解釋等
         (3)操作系統
         (4)數據庫管理系統
  用途:用來簡化程序設計,簡化使用方法,提高計算機的使用效率,發揮和擴大計算機的功能
     及用途。 

10. 說明軟件發展的演變過程。

(略)

11. 現代計算機系統如何進行多級划分?這種分級觀點對計算機設計會產生什么影響?

解:多級划分圖見P16圖1.6。可分為:微程序設計級、一般機器級、操作系統級、匯編語言級和
  高級語言級。
  用這種分級的觀點來設計計算機,對保證產生一個良好的系統結構是有很大幫助的。

12. 為什么軟件能夠轉化為硬件?硬件能夠轉化為軟件?實現這種轉化的媒介是什么?

(略)

13. "計算機應用"與"應用計算機"在概念上等價嗎?用學科角度和計算機系統的層次結構來壽命你的觀點。 

(略)

第二章

1. 寫出下列各數的原碼、反碼、補碼、移碼表示(用8位二進制數)。其中MSB是最高位(又是符號位)LSB是最低位。如果是小數,小數點在MSB之后;如果是整數,小數點在LSB之后。
(1) -35/64 (2) 23/128 (3) -127 (4) 用小數表示-1 (5) 用整數表示-1

解:(1)先把十進制數-35/64寫成二進制小數:
    (-35/64)10=(-100011/1000000)2=(-100011×2-110)2=(-0.100011)2
    令x=-0.100011B
    ∴ [x]=1.1000110 (注意位數為8位) [x]=1.0111001
      [x]=1.0111010         [x]=0.0111010

  (2) 先把十進制數23/128寫成二進制小數:
    (23/128)10=(10111/10000000)2=(10111×2-111)2=(0.0001011)2
    令x=0.0001011B
    ∴ [x]=0.0001011         [x]=0.0001011
      [x]=0.0001011         [x]=1.0001011

  (3) 先把十進制數-127寫成二進制小數:
    (-127)10=(-1111111)2
    令x= -1111111B
    ∴ [x]=1.1111111         [x]=1.0000000
      [x]=1.0000001         [x]=1.0000001

  (4) 令x=-1.000000B
    ∴ 原碼、反碼無法表示
    [x]=1.0000000           [x]=0.0000000

  (5) 令Y=-1=-0000001B
    ∴ [Y]=10000001          [Y]=11111110
      [Y]=11111111          [Y]=01111111

2. 設[X]補= a0,a1,a2…a6 , 其中ai取0或1,若要x>-0.5,求a0,a1,a2,…,a6 的取值。

解:a0= 1,a1= 0, a2,…,a6=1…1。

3. 有一個字長為32位的浮點數,階碼10位(包括1位階符),用移碼表示;尾數22位(包括1位尾符)用補碼表示,基數R=2。請寫出:
(1) 最大數的二進制表示;
(2) 最小數的二進制表示;
(3) 規格化數所能表示的數的范圍;
(4) 最接近於零的正規格化數與負規格化數。

解:(1)1111111111 0111111111111111111111
  (2)1111111111 1000000000000000000000
  (3)1111111111 0111111111111111111111~0111111111 1000000000000000000000
  (4)0000000000 0000000000000000000001~0000000000 1111111111111111111111

4. 將下列十進制數表示成浮點規格化數,階碼3位,用補碼表示;尾數9位,用補碼表示。
(1) 27/64
(2) -27/64

解:(1)27/64=11011B×=0.011011B=0.11011B×
    浮點規格化數 : 1111 0110110000

  (2) -27/64= -11011B×= -0.011011B= -0.11011B×
    浮點規格化數 : 1111 1001010000

5. 已知X和Y, 用變形補碼計算X+Y, 同時指出運算結果是否溢出。
(1)X=0.11011 Y=0.00011
(2)X= 0.11011 Y= -0.10101
(3)X=-0.10110 Y=-0.00001

解:(1)先寫出x和y的變形補碼再計算它們的和
      [x]=00.11011 [y]=00.00011
      [x+y]=[x]+[y]=00.11011+00.00011=0.11110
      ∴ x+y=0.1111B 無溢出。

  (2)先寫出x和y的變形補碼再計算它們的和
      [x]=00.11011 [y]=11.01011
      [x+y]=[x]+[y]=00.11011+11.01011=00.00110
      ∴ x+y=0.0011B 無溢出。

  (3)先寫出x和y的變形補碼再計算它們的和 
      [x]=11.01010 [y]=11.11111
      [x+y]=[x]+[y]=11.01010+11.11111=11.01001
      ∴ x+y= -0.10111B 無溢出

6. 已知X和Y, 用變形補碼計算X-Y, 同時指出運算結果是否溢出。
(1) X=0.11011 Y= -0.11111
(2) X=0.10111 Y=0.11011
(3) X=0.11011 Y=-0.10011

解:(1)先寫出x和y的變形補碼,再計算它們的差
      [x]=00.11011 [y]=11.00001 [-y]=00.11111
      [x-y]=[x]+[-y]=00.11011+00.11111=01.11010
      ∵運算結果雙符號不相等 ∴ 為正溢出
       X-Y=+1.1101B

  (2)先寫出x和y的變形補碼,再計算它們的差
      [x]=00.10111 [y]=00.11011 [-y]=11.00101
      [x-y]=00.10111+11.00101=11.11100
      ∴ x-y= -0.001B 無溢出

  (3)先寫出x和y的變形補碼,再計算它們的差
      [x]=00.11011 [y]=11.01101 [-y]=00.10011
      [x-y]=[x]+[-y]=00.11011+00.10011=01.01110
      ∵運算結果雙符號不相等 ∴ 為正溢出
      X-Y=+1.0111B

7. 用原碼陣列乘法器、補碼陣列乘法器分別計算X×Y。
(1)X=0.11011 Y= -0.11111
(2)X=-0.11111 Y=-0.11011 

解:(1)用原碼陣列乘法器計算:

   [x]=0.11011 [y]=1.00001

          (0) 1  1  0  1  1  
        ×) (1) 0  0  0  0  1 
     ----------------------------------
          (0) 1  1  0  1  1
        (0) 0  0  0  0  0 
      (0) 0  0  0  0  0 
    (0) 0  0  0  0  0
  (0) 0  0  0  0  0
(0) (1) (1) (0) (1) (1)
-----------------------------------------
(1) 0  0  1  0  1  1  1  0  1  1 
 
   [x×y]=1.0010111011
  ∴ x×y= -0.1101000101

8. 用原碼陣列除法器計算 X÷Y。
(1)X=0.11000 Y= -0.11111
(2)X=-0.01011 Y=0.11001

解:(1)[x]=[x]=0.11000   [-∣y∣]=1.00001
    
          被除數 X 0.11000
         +[-∣y∣] 1.00001
       ----------------------
          余數為負 1.11001 →q0=0
            左移 1.10010
          +[|y|] 0.11111
       ----------------------
          余數為正 0.10001 →q1=1
            左移 1.00010 
          +[-|y|] 1.00001
       ----------------------
          余數為正 0.00011 →q2=1 
             左移 0.00110 
          +[-|y|] 1.00001
       ----------------------
          余數為負 1.00111 →q3=0
            左移 0.01110
          +[|y|] 0.11111
       ----------------------
          余數為負 1.01101 →q4=0
            左移 0.11010
          +[|y|] 0.11111
       ----------------------
          余數為負 1.11001 →q5=0
          +[|y|] 0.11111
       ----------------------
            余數 0.11000

    故 [x÷y]=1.11000 即 x÷y= -0.11000B
    余數為 0.11000B×

9. 設階為5位(包括2位階符), 尾數為8位(包括2位數符), 階碼、尾數均用補碼表示, 完成下列取值的[X+Y],[X-Y]運算:
(1)X=×0.100101 Y=×(-0.011110)
(2)X=×(-0.010110) Y=×(0.010110)

解:(1)將y規格化得:y=×(-0.111100)
   [x]=1101,00.100101 [y]=1101,11.000100 [-y]=1101,00.111100

   ① 對階
    [ΔE]=[Ex]+[-Ey]=1101+0011=0000
    ∴ Ex=Ey
   ② 尾數相加 
      相加                 相減
     00.100101               00.100101
    + 11.000100              + 00.111100
    ------------            --------------
     11.101001               01.100001
   [x+y]=1101,11.101001  左規 [x+y]=1100,11.010010 
    ∴ x+y=×(-0.101110) 
   [x-y]=1101,01.100001  右規 [x-y]=1110,00.1100001
             舍入處理得 [x-y]=1110,00.110001 
    ∴ x-y=×0.110001

  (2) [x]=1011,11.101010 [y]=1100,00.010110 [-y]=1100,11.101010

   ① 對階
    [ΔE]=[Ex]+[-Ey]=1011+0100=1111
    ∴ △E= -1 [x]=1100,11.110101(0) 
   ② 尾數相加
      相加                 相減
     11.110101(0)            11.110101(0)
    + 00.010110             + 11.101010
    --------------         ------------------
     00.001011(0)            11.011111(0)
   [x+y]=1100,00.001011(0) 左規 [x+y]=1010,00.1011000 
   ∴ x+y=×0.1011B
   [x-y]=1100,11.011111(0) 
   ∴ x-y=×(-0.100001B)

13. 某加法器進位鏈小組信號為C4C3C2C1 ,低位來的信號為C0 ,請分別按下述兩種方式寫出C4C3C2C1的邏輯表達式。
(1) 串行進位方式 (2) 並行進位方式

解 :(1)串行進位方式:
    C1 = G1 + P1 C0 其中: G1 = A1 B1 , P1 = A1⊕B1
    C2 = G2 + P2 C1     G2 = A2 B2 , P2 = A2⊕B2
    C3 = G3 + P3 C2     G3 = A3 B3 , P3 = A3⊕B3
    C4 = G4 + P4 C3     G4 = A4 B4 , P4 = A4⊕B4
   (2) 並行進位方式:
    C1 = G1 + P1 C0 
    C2 = G2 + P2 G1 + P2 P1 C0
    C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C0
    C4 = G4 + P4 G3 + P4 P3 G2 + P4 P3 P2 G1 + P4 P3 P2 P1 C0
  其中 G1-G4 ,P1-P4 表達式與串行進位方式相同。

14. 某機字長16位,使用四片74181組成ALU,設最低位序標注為0位,要求:
(1)寫出第5位的進位信號C6的邏輯表達式;
(2)估算產生C6所需的最長時間; 
(3)估算最長的求和時間。

解:(1) 組成最低四位的74181進位輸出為:C4=G+P C0 ,C0為向第0位的進位

     其中:G=y3+x3y2+x2x3y1+x1x2x3y0, P=x0x1x2x3
     所以 :C5=y4+x4C4
           C6=y5+x5C5=y5+x5y4+x5x4C4
  (2) 設標准門延遲時間為T,"與或非"門延遲時間為1.5T,則進位信號C0由最低位傳送至C6需經一個反相器,兩級"與或非"門,故產生C6的最長延遲時間為:
       T+2×1.5T=4T
  (3)最長求和時間應從施加操作數到ALU算起:第一片74181有3級"與或非"門(產生控制參數x0,y0Cn+4),第二、第三片74181共2級反相器和2級"與或非"門(進位鏈),第四片74181求和邏輯(1級"與或非"門和1級半加器,其延遲時間為3T),故總的加法時間為:
       T=3×1.5T+2T+2×1.5T+1.5T+1.5T+3T=14T

17.設A,B,C是三個16位的通用寄存器,請設計一個16位定點補碼運算器,能實現下述功能:
(1) A±B→A
(2) B×C→A, C(高位積在寄存器A中)
(3) A÷B→C(商在寄存器C中)

解:設計能完成加、減、乘、除運算的16位定點補碼運算器框圖。
分析各寄存器作用:

      加      減      乘      除

  A  被加數→和   同左    初始為0    被除數→余數
               部分積→乘積(H) 除數

  B  加數      同左    被乘數

  C  --       --   乘數→乘積(L)  商

∴ A:累加器(16位),具有輸入、輸出、累加功能及雙向移位功能;
  B:數據寄存器(16位),具有輸入、輸出功能;
  C:乘商寄存器(16位),具有輸入、輸出功能及雙向移位功能。

畫出框圖:

第三章

1.有一個具有20位地址和32位字長的存儲器,問:
(1) 該存儲器能存儲多少個字節的信息?
(2) 如果存儲器由512K×8位SRAM芯片組成,需要多少芯片?
(3) 需要多少位地址作芯片選擇?

解:(1)∵ 220= 1M, ∴ 該存儲器能存儲的信息為:1M×32/8=4MB
  (2)(1000/512)×(32/8)= 8(片)
  (3) 需要1位地址作為芯片選擇。

2. 已知某64位機主存采用半導體存儲器,其地址碼為26位,若使用256K×16位的DRAM芯片組成該機所允許的最大主存空間,並選用模塊板結構形式,問:
(1) 每個模塊板為1024K×64位,共需幾個模塊板?
(2) 個模塊板內共有多少DRAM芯片?
(3)主存共需多少DRAM芯片? CPU如何選擇各模塊板?

解:(1). 共需模塊板數為m:
      m=÷=64 (塊) 
  (2). 每個模塊板內有DRAM芯片數為n:
      n=(/) ×(64/16)=16 (片)
  (3) 主存共需DRAM芯片為:16×64=1024 (片)
     每個模塊板有16片DRAM芯片,容量為1024K×64位,需20根地址線(A19~A0)完成模塊
     板內存儲單元尋址。一共有64塊模塊板,采用6根高位地址線(A25~A20),通過
     6:64譯碼器譯碼產生片選信號對各模塊板進行選擇。

3. 用16K×8位的DRAM芯片組成64K×32位存儲器,要求:
(1) 畫出該存儲器的組成邏輯框圖。
(2) 設存儲器讀/寫周期為0.5μS, CPU在1μS內至少要訪問一次。試問采用哪種刷新方式比較合理?兩次刷新的最大時間間隔是多少?對全部存儲單元刷新一遍所需的實際刷新時間是多少?

解:(1)組成64K×32位存儲器需存儲芯片數為
      N=(64K/16K)×(32位/8位)=16(片)
     每4片組成16K×32位的存儲區,有A13-A0作為片內地址,用A15 A14經2:4譯碼器產生片選信號 ,邏輯框圖如下所示:

 (2)依題意,采用異步刷新方式較合理,可滿足CPU在1μS內至少訪問內存一次的要求。
    設16K×8位存儲芯片的陣列結構為128行×128列,按行刷新,刷新周期T=2ms,則異步
    刷新的間隔時間為:
           
    則兩次刷新的最大時間間隔發生的示意圖如下


   可見,兩次刷新的最大時間間隔為tmax
     tmax=15.5-0.5=15 (μS)
   對全部存儲單元刷新一遍所需時間為t R
     t R =0.5×128=64  (μS)

7.某機器中,已知配有一個地址空間為0000H-3FFFH的ROM區域。現在再用一個RAM芯片(8K×8)形成40K×16位的RAM區域,起始地址為6000H,假定RAM芯片有信號控制端。CPU的地址總線為A15-A0,數據總線為D15-D0,控制信號為R/(讀/寫), (訪存),要求:
(1) 畫出地址譯碼方案。
(2) 將ROM與RAM同CPU連接。

解:(1)依題意,主存地址空間分布如右圖所示,可選用2片27128(16K×8位)的EPROM作為
ROM區;10片的8K×8位RAM片組成40K×16位的RAM區。27128需14位片內地址,而RAM需13位
片內地址,故可用A15-A13三位高地址經譯碼產生片選信號,方案如下:

 

(2)

8. 存儲器容量為64M,字長64位,模塊數m = 8,分別用順序方式和交叉方式進行組織。存儲周期T = 100ns,數據總線寬度為64位,總線周期τ = 10ns .問順序存儲器和交叉存儲器的帶寬各是多少?

解:信息總量: q = 64位 ×8 =512位
  順序存儲器和交叉存儲器讀出8個字的時間分別是:
   t= m T = 8×100ns =8×10 (s)
   t1 = T + (m - 1) = 100 + 7×10 = 1.7 ×10 (s)
  順序存儲器帶寬是:
   W= q / t2 = 512÷(8×10 )= 64 ×10(位/ S)
  交叉存儲器帶寬是:
   W1 = q / t1 = 512÷(1.7 ×10)= 301 ×10 (位/ S)

9. CPU執行一段程序時, cache完成存取的次數為2420次,主存完成存取的次數為80
次,已知cache存儲周期為40ns,主存存儲周期為240ns,求cache/主存系統的效率和平均訪問時間。

解:先求命中率h
   h=nc/(nc +nm )=2420÷(2420+80)=0.968
  則平均訪問時間為ta
   ta=0.968×40+(1-0.968) ×240=46.4(ns)
   r =240÷40=6
  cache/主存系統的效率為e
   e=1/[r+(1-r)×0.968]=86.2%

10.已知Cache存儲周期40ns,主存存儲周期200ns,Cache/主存系統平均訪問時間為50ns,求Cache的命中率是多少?

解: ∵ ta = tc× h +tr×(1-h)
   ∴ h =(ta-tr)/(tc-tr)=(50-200)/(40-200)=15/16=0.94

11.主存容量為4MB,虛存容量為1GB,則虛存地址和物理地址各為多少位?如頁面大小為4KB,則頁表長度是多少?

解:已知主存容量為4MB,虛存容量為1GB
   ∵ =4M ∴物理地址為22位
 又 ∵ =1G ∴虛擬地址為30位
 頁表長度為 1GB÷4KB=230÷212=218=256K

14.假設主存只有a,b,c三個頁框,組成a進c出的FIFO隊列,進程訪問頁面的序列是0,1,2.4,2,3,0,2,1.3,2號。用列表法求采用LRU替換策略時的命中率。

解:

∴命中率為
        

15.從下列有關存儲器的描述中,選擇出正確的答案:
 A. 多體交叉存儲主要解決擴充容量問題;
 B. 訪問存儲器的請求是由CPU發出的;
 C. Cache與主存統一編址,即主存空間的某一部分屬於Cache;
 D. Cache的功能全由硬件實現。

解: D

16.從下列有關存儲器的描述中,選擇出正確的答案:
 A.在虛擬存儲器中,外存和主存一相同的方式工作,因此允許程序員用比主存空間大得
   多的外存空間編程;
 B.在虛擬存儲器中,邏輯地址轉換成物理地址是由硬件實現的,僅在頁面失效時才由操
   作系統將被訪問頁面從外存調到內存,必要時還要先把被淘汰的頁面內容寫入外存;
 C.存儲保護的目的是:在多用戶環境中,既要防止一個用戶程序出錯而破壞系統軟件或
   其他用戶程序,又要防止一個用戶訪問不是分配給他的主存區,以達到數據安全和保
   密的要求。

解:C

第四章

1.ASCll碼是7位,如果設計主存單元字長為32位,指令字長為12位,是否合理?為什
么?

解:指令字長設計為12位不是很合理。主存單元字長為32位,一個存儲單元可存放4個ASCII碼,
  余下4位可作為ASCII碼的校驗位(每個ASCII碼帶一位校驗位),這樣設計還是合理的。
  但是,設計指令字長為12 位就不合理了,12位的指令碼存放在字長32位的主存單元中,
  造成19位不能用而浪費了存儲空間。

2.假設某計算機指令長度為20位,具有雙操作數、單操作數、無操作數三類指令形式,每個操作數地址規定用6位表示。問:
若操作碼字段固定為8位,現已設計出m條雙操作數指令,n條無操作數指令,在此情況下,這台計算機最多可以設計出多少條單操作數指令?

解:這台計算機最多可以設計出256-m-n條單操作數指令

3.指令格式結構如下所示,試分析指令格式及尋址方式特點。


解:指令格式及尋址方式特點如下:
  ① 單字長二地址指令;
  ② 操作碼OP可指定=64條指令;
  ③ RR型指令,兩個操作數均在寄存器中,源和目標都是通用寄存器(可分別指定16個寄存器
    之一);
  ④ 這種指令格式常用於算術邏輯類指令。

4.指令格式結構如下所示,試分析指令格式及尋址方式特點。


解:指令格式及尋址方式特點如下:
  ① 雙字長二地址指令;
  ② 操作碼OP可指定=64條指令;
  ③ RS型指令,兩個操作數一個在寄存器中(16個寄存器之一),另一個在存儲器中;
  ④ 有效地址通過變址求得:E=(變址寄存器)± D,變址寄存器可有16個。

5.指令格式結構如下所示,試分析指令格式及尋址方式特點。


解:指令格式及尋址方式特點如下:
  ① 單字長二地址指令;
  ② 操作碼OP可指定=16條指令;
  ③ 有8個通用寄存器,支持8種尋址方式;
  ④ 可以是RR型指令、SS型指令、RS型指令、

6.一種單地址指令格式如下所示,其中I為間接特征,X為尋址模式,D為形式地址。I,X,D組成該指令的操作數有效地址E。設R為變址寄存器,R1 為基值寄存器,PC為程序計數器,請在下表中第一列位置填入適當的尋址方式名稱。

解: ① 直接尋址
   ② 相對尋址
   ③ 變址尋址
   ④ 基址尋址
   ⑤ 間接尋址
   ⑥ 基址間址尋址

7.某計算機字長16位,主存容量為64K字,采用單字長單地址指令,共有40條指令,試采用直接、立即、變址、相對四種尋址方式設計指令格式。

解:40條指令需占用操作碼字段(OP)6位,這樣指令余下長度為10位。為了覆蓋主存640K字的地
  址空間,設尋址模式(X)2位,形式地址(D)8位,其指令格式如下:
    
  尋址模式定義如下:
   X= 0 0 直接尋址 有效地址 E=D(直接尋址為256個存儲單元)
   X= 0 1 立即尋址 D字段為操作數
   X= 1 0 變址尋址 有效地址 E= (RX)+D (可尋址64K個存儲單元)
   X= 1 1 相對尋址 有效地址 E=(PC)+D (可尋址64K個存儲單元)
  其中RX為變址寄存器(16位),PC為程序計數器(16位),在變址和相對尋址時,位移量D可  正可負。

8.某機字長為32位,主存容量為1M,單字長指令,有50種操作碼,采用頁面尋址、立即、直接等尋址方式。CPU中有PC,IR,AR, DR和16個通用寄存器,頁面尋址可用PC高位部分與形式地址部分拼接成有效地址。問:
(1)指令格式如何安排?
(2)主存能划分成多少頁面?每頁多少單元?
(3)能否增加其他尋址方式?

解: (1)依題意,指令字長32位,主存1M字,需20位地址A19-A0。50種操作碼,需6位OP,指令
     尋址方式Mode為2位,指定寄存器Rn需4位。設有單地址指令、雙地址指令和零地址指
     令,現只討論前二種指令。
   單地址指令的格式為:
     
    Mode=00時為立即尋址方式,指令的23-0位為立即數;
    Mode=01時為直接尋址方式,指令的19-0位為有效地址。

   雙地址指令的格式為:
     
    Mode1=01時為寄存器直接尋址方式,操作數S=(Rn);
    Mode1=11時為寄存器間址尋址方式, 有效地址E=(Rn)。

    Mode2=00時為立即尋址方式,指令的13-0位為立即數;
    Mode2=01時為頁面尋址方式;
    Mode2=10時為變址尋址方式,E=(Rn)+D;
    Mode2=11時為變址間址尋址方式, E=((Rn)+D)。

  (2)由於頁面尋址方式時,D為14位,所以頁面大小應為=16K字,則1M字可分為
     =64個頁面。可由PC的高6位指出頁面號。
  (3)能增加其它尋址方式,例上述間址方式、變址間址尋址方式。

14. 從以下有關RISC的描述中,選擇正確答案。
 A.采用RISC技術后,計算機的體系結構又恢復到早期的比較簡單的情況。
 B.為了實現兼容,新設計的RISC,是從原來CISC系統的指令系統中挑選一部分實現的。
 C.RISC的主要目標是減少指令數,提高指令執行效率。
 D.RISC設有乘、除法指令和浮點運算指令。 

解: C

15. 根據操作數所在位置,指出其尋址方式(填空):
(1)操作數在寄存器中,為(A)尋址方式。
(2)操作數地址在寄存器,為(B)尋址方式。
(3)操作數在指令中,為(C)尋址方式。
(4)操作數地址(主存)在指令中,為(D)尋址方式
(5)操作數的地址,為某一寄存器內容與位移量之和可以是(E,F,G)尋址方式。

解:A:寄存器直接; B: 寄存器間接; C:立即;
  D: 直接;    E:相對;     F:基值;G:變址

 

 

第五章

1.請在括號內填入適當答案。在CPU中:

(1) 保存當前正在執行的指令的寄存器是(指令寄存器IR);
(2) 保存當前正要執行的指令地址的寄存器是(程序計數器PC);
(3) 算術邏輯運算結果通常放在(通用寄存器 )和(數據緩沖寄存器DR )。

2.參見下圖(課本P166圖5.15)的數據通路。畫出存數指令"STA R1 ,(R2)"的指令周期
  流程圖,其含義是將寄存器R1的內容傳送至(R2)為地址的主存單元中。標出各微操作信
  號序列。
   

解:"STA R1 ,(R2)"指令是一條存數指令,其指令周期流程圖如下圖所示:

      

3.參見課本P166圖5.15的數據通路,畫出取數指令"LDA(R3),RO"的指令周期流程圖,
  其含義是將(R3)為地址的主存單元的內容取至寄存器R0中,標出各微操作控制信號序列。


5.如果在一個CPU周期中要產生3個脈沖 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,試畫出
  時序產生器邏輯圖。

解:節拍脈沖T1 ,T2 ,T3 的寬度實際等於時鍾脈沖的周期或是它的倍數,此時T1 = T3 =200ns ,
  T2 = 400 ns ,所以主脈沖源的頻率應為 f = 1 / T=5MHZ 。為了消除節拍脈沖上的毛刺,環
  型脈沖發生器可采用移位寄存器形式。下圖畫出了題目要求的邏輯電路圖和時序信號關系。根據關
  系,節拍脈沖T1 ,T2 ,T的邏輯表達式如下:
  
       T1 = C1· , T2 = , T3 = 


    

6.假設某機器有80條指令,平均每條指令由4條微指令組成,其中有一條取指微指令是所有指
  令公用的。已知微指令長度為32位,請估算控制存儲器容量。
解:微指令條數為:(4-1)×80+1=241條
  取控存容量為:256×32位=1KB


7. 某ALU器件使用模式控制碼M,S3,S2,S1,C來控制執行不同的算術運算和邏輯操作。
  下表列出各條指令所要求的模式控制碼,其中y為二進制變量,F為0或1任選。
  試以指令碼(A,B,H,D,E,F,G)為輸入變量,寫出控制參數M,S3,S2,S1,C的邏
  輯表達式。

 
解: M=G
   S3=H+D+F
   S2=1
   
   C=H+D+(E+F)y

8.某機有8條微指令I1-I8,每條微指令所包含的微命令控制信號如下表所示。
       

  a-j分別對應10種不同性質的微命令信號。假設一條微指令的控制字段為8位,請安排微指  令的控制字段格式。

解:經分析,(e ,f ,h)和(b, i, j)可分別組成兩個小組或兩個字段,然后進行譯碼,可得六個
  微命令信號,剩下的a, c, d, g 四個微命令信號可進行直接控制,其整個控制字段組成如
  下:



11.已知某機采用微程序控制方式,其控制存儲器容量為 512×48(位)。微程序可在整個控
  制存儲器中實現轉移,可控制微程序轉移的條件共4個,微指令采用水平型格式,后繼微
  指令地址采用斷定方式。請問:
  (1)微指令中的三個字段分別應為多少位?
  (2)畫出圍繞這種微指令格式的微程序控制器邏輯框圖。

解:
(l)假設判別測試字段中每一位作為一個判別標志,那么由於有4個轉移條件,故該字段為4位;
   又因為控存容量為512單元,所以下地址字段為9位,。微命令字段則是:
        (48-4-9)= 35位。

(2)對應上述微指令格式的微程序控制器邏輯框圖如下圖所示。其中微地址寄存器對應下地址
   字,P字段即為判別測試字段,控制字段即為微命令字段,后兩部分組成微指令寄存器。地       址轉移邏輯的輸入是指令寄存器的OP碼、各種狀態條件以及判別測試字段所給的判別標志
  (某一位為1),其輸出用於控制修改微地址寄存器的適當位數,從而實現微程序的分支轉移    (此例微指令的后繼地址采用斷定方式)。

    

12.今有4級流水線分別完成取值、指令譯碼並取數、運算、送結果四步操作,
  今假設完成各步操作的時間依次為100ns,100ns,80ns,50ns。
  請問:(1)流水線的操作周期應設計為多少?
     (2)若相鄰兩條指令發生數據相關,而且在硬件上不采取措施,那么第二條指令要
        推遲多少時間進行。
     (3)如果在硬件設計上加以改進,至少需推遲多少時間?

解:
(1) 流水線的操作時鍾周期 t應按四步操作中最長時間來考慮, 所以t=100ns;
(2) 兩條指令發生數據相關沖突情況::
    ADD R1,R2,R3 ; R2+R3→R1
    SUB R4,R1,R5 ; R1-R5→R4

 兩條指令在流水線中執行情況如下表所示:



 ADD指令在時鍾4時才將結果寫入寄存器R1中, 但SUB指令在時鍾3時就需讀寄存器R1了,顯然發生
 數據相關,不能讀到所需數據,只能等待。如果硬件上不采取措施,第2條指令SUB至少應推遲2個
 操作時鍾周期,即t=2×100ns=200ns;

(3)如果硬件上加以改進(采取旁路技術),這樣只需推遲1個操作時鍾周期就能得到所需數據,
  即t=100ns。

15.用定量描述法證明流水計算機比非流水計算機具有更高的吞吐率。

解:衡量並行處理器性能的一個有效參數是數據帶寬(最大吞吐量),它定義為單位時間內可以產生
  的最大運算結果個數。
  設P1是有總延時T1的非流水處理器,故其帶寬為1/T1。又設Pm是相當於P1 m 段流水處理器延遲時 間Tr,故Pm的帶寬為1/(Tc+Tr)。如果Pm是將P1划分成相同延遲的若干段形成的,則T1≈mTc 因
 此P1的帶寬接近於1/mTc,由此可見,當mTc>Tc+Tr滿足時,Pm比P1具有更大的帶寬。

16. 流水線中有三類數據相關沖突:寫后讀(RAW)相關;讀后寫(WAR)相關;寫后寫
(WAW)相關。判斷以下三組指令各存在哪種類型的數據相關。 
(1) I1 LAD R1,A ; M(A)→R1,M(A)是存儲器單元
   I2 ADD R2,R1 ;(R2)+(R1)→R2

(2) I3 ADD R3,R4 ;(R3)+(R4)→R3
   I4 MUL R4,R5 ;(R4)×(R5)→ R4

(3) I5 LAD R6,B ; M(B)→R6,M(B)是存儲器單元
   I6 MUL R6,R7 ;(R6)×(R7)→ R6

解:(1)寫后讀(RAW)相關;
  (2)讀后寫(WAR)相關,但不會引起相關沖突;
  (3)寫后讀(RAW)相關、寫后寫(WAW)相關

17.參考教科書圖5.42所示的超標量流水線結構模型,現有如下6條指令序列:
    I1 LAD R1, B; M(B) → R1,M(B)是存儲器單元
    I2 SUB R2, R1; (R2)-(R1) → R2
    I3 MUL R3, R4; (R3)×(R4) → R3
    I4 ADD R4, R5; (R4)+(R5) → R4
    I5 LAD R6, A; M(A) → R6,M(A)是存儲器單元
    I6 ADD R6, R7; (R6)+(R7) →R6
請畫出:(1) 按序發射按序完成各段推進情況圖。
    (2) 按序發射按序完成的流水線時空圖。
解:(1)



(2)

第六章

1.比較單總線、雙總線、三總線結構的性能特點。

3. 用異步通信方式傳送字符"A"和"8",數據有7位,偶校驗1 位。起始位1位,
停止位l位,請分別畫出波形圖。

解: 字符A的ASCII碼為 41H=1000001B; 
   字符8的ASCII碼為 38H=0111000B;
   串行傳送波形圖為:

注: B:起始位
   C:校驗位 
   S:停止位 

8.同步通信之所以比異步通信具有較高的傳輸頻率,是因為同步通信____。
 A.不需要應答信號;
 B.總線長度較短;
 C.用一個公共時鍾信號進行同步;
 D.各部件存取時間比較接近。

解: C

9. 在集中式總線仲裁中,____方式響應時間最快,____方式對____最敏感。
A.菊花鏈方式 B.獨立請求方式 C.電路故障 D.計數器定時查詢方式

解: B A C

10. 采月串行接口進行7位ASCII碼傳送,帶有1位奇校驗位,l位起始位和1位停止位,當傳輸率為9600波特時,字符傳送速率為____。
A.960 B.873. C.1372 D.480

解: A

11.系統總線中地址線的功能是______。
 A. 選擇主存單元地址 
 B. 選擇進行信息傳輸的設備
 C. 選擇外存地址
 D. 指定主存和I/O設備接口電路的地址

解: D

12.系統總線中控制器的功能是______。
 A. 提供主存、I/O接口設備的控制信號和響應信號
 B. 提供數據信息
 C. 提供時序信號
 D. 提供主存、I/O接口設備的響應信號

解: D

14. PCI是一個與處理器無關的_____,它采用____時序協議和____式仲裁策略,並具有____能力。
A.集中 B.自動配置 C.同步 D.高速外圍總線

解:D C A B

15. PCI總線的基本傳輸機制是____傳送。利用____可以實現總線間的____傳送,使所有的存取都按CPU的需要出現在總線上。PCI允許____總線____工作。
A.橋 B.猝發式 C.並行 D.多條 E. 猝發式 

解: B A C D E

17.PCI總線中三種橋的名稱是什么?橋的功能是什么?

解:PCI總線有三種橋,即HOST / PCI橋(簡稱HOST橋),PCI / PCI橋和PCI / LAGACY橋。
  在PCI總線體系結構中,橋起着重要作用:
  (1) 接兩條總線,使總線間相互通信;
  (2) 是一個總線轉換部件,可以把一條總線的地址空間映射到另一條總線的地址空間上,
     從而使系統中任意一個總線主設備都能看到同樣的一份地址表。 
  (3) 利用橋可以實現總線間的卒發式傳送。

19.總線的一次信息傳送過程大致分哪幾個階段?若采用同步定時協議,請畫出
讀數據的同步時序圖。

解:分五個階段:請求總線、總線仲裁、尋址(目的地址)、信息傳送、狀
  態返回(錯誤報告)。讀數據的同步時序圖為:

    


20.某總線在一個總線周期中並行傳送8個字節的數據,假設一個總線周期等於一個總線時鍾周期,總線時鍾頻率為70MHZ ,求總線帶寬是多少?

解:設總線帶寬用Dr表示,總線時鍾周期用T = 1/f表示,一個總線周期傳送的數據量用D表示,
  根據定義可得:
       Dr = T / D = D ×1/f=8B×70×106/s = 560MB/

第七章

1. 計算機的外圍設備是指( )
A.輸入/輸出設備       B. 外存儲器
C. 輸入/輸出設備及外存儲器  D. 除了CPU和內存以外的其他設備

解: D

2.打印機根據印字方式可以分為( )和( )兩大類,在( )類打印機中,只有( )型打印機能打印漢字,請從下面答案中選擇填空。
A. 針型打印機 B. 活字型打印機
C. 擊打式    D. 非擊打式

解:C D C A

5.試推導磁盤存貯器讀寫一塊信息所需總時間的公式。

解:設讀寫一塊信息所需總時間為Tb,平均找道時間為Ts,平均等待時間為TL,讀寫一塊信息的
  傳輸時間為Tm,則:Tb=Ts+TL+Tm。假設磁盤以每秒r轉速率旋轉,每條磁道容量為N個字,
  則數據傳輸率=rN個字/秒。又假設每塊的字數為n,因而一旦讀寫頭定位在該塊始端,就能在
  Tm≈(n / rN)秒的時間中傳輸完畢。TL是磁盤旋轉半周的時間,TL=(1/2r)秒,
  由此可得: 
     Tb=Ts+1/2r+n/rN 秒

7.某磁盤存貯器轉速為3000轉 / 分,共有4個記錄面,每毫米5道,每道記錄信息為12288字節,最小磁道直徑為230mm,共有275道。問:
(1) 磁盤存貯器的容量是多少?
(2) 最高位密度與最低位密度是多少?
(3) 磁盤數據傳輸率是多少?
(4) 平均等待時間是多少?
(5) 給出一個磁盤地址格式方案。

解:
(1) 每道記錄信息容量 = 12288字節
   每個記錄面信息容量 = 275×12288字節
   共有4個記錄面,所以磁盤存儲器總容量為 :
     4 ×275×12288字節 = 13516800字節
(2) 最高位密度D1按最小磁道半徑R1計算(R1 = 115mm):
     D1 = 12288字節 / 2πR1 = 17字節 / mm
   最低位密度D2按最大磁道半徑R2計算:
     R2 = R1 + (275 ÷ 5) = 115 + 55 = 170mm
     D2 = 12288字節 / 2πR2 = 11.5 字節 / mm
(3) 磁盤傳輸率 C = r · N 
     r = 3000 / 60 = 50 周 / 秒
     N = 12288字節(信道信息容量)
     C = r · N = 50 × 12288 = 614400字節 / 秒
(4)平均等待時間 = 1/2r = 1 / (2×50) = 10毫秒 
(5)磁盤存貯器假定只有一台,所以可不考慮台號地址。有4個記錄面,每個記錄面有275個磁
   道。假定每個扇區記錄1024個字節,則需要12288 ÷1024字節 = 12個扇區。由此可得如
   下地址格式:

14.有一台磁盤機,其平均尋道時間為了30ms,平均旋轉等待時間為120ms,數據傳輸速率為500B/ms,磁盤機上存放着1000件每件3000B 的數據。現欲把一件數據取走,更新后在放回原地,假設一次取出或寫入所需時間為:
     平均尋道時間+平均等待時間+數據傳送時間
  另外,使用CPU更新信息所需時間為4ms, 並且更新時間同輸入輸出操作不相重疊。
  試問:
 (1) 盤上全部數據需要多少時間?
 (2) 若磁盤及旋轉速度和數據傳輸率都提高一倍,更新全部數據需要多少間?

解:(1)磁盤上總數據量 = 1000×3000B = 3000000B
     讀出全部數據所需時間為 3000000B ÷ 500B / ms = 6000ms
     重新寫入全部數據所需時間 = 6000ms
     所以,更新磁盤上全部數據所需的時間為 :
    
   2×(平均找道時間 + 平均等待時間 + 數據傳送時間 )+ CPU更新時間 
  = 2(30 + 120 + 6000)ms + 4ms = 12304ms

  (2) 磁盤機旋轉速度提高一倍后,平均等待時間為60ms;
    數據傳輸率提高一倍后,數據傳送時間變為:
       3000000B ÷ 1000B / ms = 3000ms
    更新全部數據所需時間為:
      2 ×(30 + 60 + 3000)ms + 4ms = 6184ms

17. 刷新存儲器的重要性能指標是它的帶寬。若顯示工作方式采用分辨率為1024×768,顏色深度為24位,幀頻(刷新速率)為72HZ,求:
 (1)刷新存儲器的存儲容量是多少?
 (2)刷新存儲器的貸款是多少?

解:(1)因為刷新存儲器所需存儲容量 = 分辨率 × 每個像素點顏色深度
       ∴ 1024 × 768 × 3B ≈ 4MB
  (2)因為刷新所需帶寬 = 分辨率 × 每個像素點顏色深度 × 刷新速度
       ∴ 1024 × 768 × 3B × 72 / S = 165888KB / S ≈ 162MB / S

第八章

1.如果認為CPU等待設備的狀態信號是處於非工作狀態(即踏步等待),那么在下面幾種主機與設備之間的數據傳送中:( )主機與設備是串行工作的;( )主機與設備是並行工作的;( )主程序與設備是並行運行的。
A.程序查詢方式 B. 程序中斷方式 C. DMA方式

解: A C B

2.中斷向量地址是_____。
A.子程序入口地址 B. 中斷服務程序入口地址
C.中斷服務程序入口地址指示器 C. 例行程序入口地址

解: C

3.利用微型機制作了對輸入數據進行采樣處理的系統。在該系統中,每抽取一個輸入數據就要中斷CPU一次,中斷處理程序接受采樣的數據,將其放到主存的緩沖區內。該中斷處理需時x秒,另一方面緩沖區內每存儲n個數據,主程序就將其取出進行處理,這種處理需時y秒。因此該系統可以跟蹤到每秒_____次的中斷請求。
A.N/(n×x+y) B. N/(x+y)×n C. Min(1/x, n/y)

解: A

4.采用DMA方式傳送數據時,每傳送一個數據就要占用一個____的時間。
A. 指令周期 B. 機器周期 
C. 存儲周期 D. 總線周期

解: C

5.通道的功能是:(1)________,(2)______。按通道的工作方式分,通道有______通道、_______通道和______通道三種類型。

解:(1)執行通道指令,組織外圍設備和內存進行數據傳輸;
  (2)執行CPU的I/O指令,以及向CPU報告中斷。
     選擇通道、字節多路通道、數組多路通道

6.在教科書圖8.7中,當CPU對設備B的中斷請求進行服務時,如設備A提出請求,CPU能夠響應中斷嗎?為什么?如果設備B一提出請求總能立即得到服務,問怎樣調整才能滿足此要求?

解:(1)CPU不能響應中斷
  (2)因為同級中斷不能嵌套,而A、B設備屬於同級中斷
  (3)如果想要設備B一提出請求即能得到服務,則應該使設備B為最高優先級,這里可將設備     B單獨接至3級IR,處於最高優先級。

8.設某機有5級中斷:L0,L1,L2,L3,L4, 其中斷響應優先次序為:L0最高,L1次
之,L4最低。現在要求將中斷處理次序改為L1→L3→L0→L4→L2,試問:
(1) 下表中各級中斷處理程序的各中斷級屏蔽值如何設置(每級對應一位,該位
   為"0"表示允許中斷,該位為"1"表示中斷屏蔽)?
(2) 若這5級中斷同時都發出中斷請求,按更改后的次序畫出進入各級中斷處理程
   序的過程示意圖。
解:(1)
    

  (2) 
    

9.某機器CPU中有16個通用寄存器,運行某中斷處理程序時僅用到其中2個寄存器,請問響應中斷而進入該中斷處理程序時,是否要將通用寄存器內容保存到主存中去?需保存幾個寄存器?

解:響應中斷而進入該中斷處理程序時,需將通用寄存器內容保存到主存中去,但為減少中斷處
  理時間,不必保存所有通用寄存器內容,這里只需將2個中斷處理程序中用到的寄存器內容
  保存起來。

12.下列陳述中正確的是_____。
A. 在DMA周期內,CPU不能執行程序
B. 中斷發生時,CPU首先執行入棧指令將程序計數器內容保護起來
C. DMA傳送方式中,DMA控制器每傳送一個數據就竊取一個指令周期
D. 輸入輸出操作的最終目的是要實現CPU與外設之間的數據傳輸

解: D

13.Pentium系統有兩類中斷源:①由CPU外部的硬件信號引發的稱為_____,它分為可屏蔽______和非屏蔽_____;②由指令引發的稱為_______,其中一種是執行______,另一種是_______。

解:① 外部中斷 INTR NMI 
  ② 異常中斷 執行軟件中斷指令引發的 出錯或故障引發的

14.IEEE1394是______I/O標准接口,與SCSI_____I/O標准接口相比,它具有更高的______,更強的_______,提及_____,連接方便。

解:B A C D E

15.SCSI是系統級_____,是處於主適配器和智能設備控制器之間的_____I/O接口。SCSI-3標准允許SCSI總線上連接的設備由______個提高到_____個,可支持_____位數據傳輸。
A. 並行 B. 接口 C. 16 D. 8 E. 32

解: B A D C D

18.若設備的優先級依次為CD-ROM、掃描儀、硬盤、磁帶機、打印機,請用標准接口SCSI進行配置,畫出配置圖。

解:PCI HBA → CD-ROM → 掃描儀 → 硬盤 → 磁帶機 → 打印機 → 終端器

   

 






免責聲明!

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



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