计算机组成原理-复习题2
?
二、簡答題
43.請寫出8位定點原碼整數中能表示的最大正數、最小正數、最大負數和最小負數的機器數形式,并用十進制表示其數值范圍。
答:最大正數=01111111,最小正數=00000001
最大負數=10000001,最小負數=11111111
數值表示范圍:負的2的7次方減1~正的2的7次方加1
?
44.定點數的補碼加減法運算如何判斷溢出?
答:補碼加減法運算判斷溢出的條件如下:
(1)符號相同兩數相加,結果符號與加數(或被加數)的符合不同,為溢出;
(2)采用雙符號位,即正數的符號位位00,負數的符號位為11,符號位參與運算,相加結果的兩個符號位不同為溢出,10為負溢出,01為正溢出。
?
45.只讀存儲器有哪些形式?分別有什么特點?
答:只讀存儲器有以下幾種形式:
①只讀存儲器有:掩模ROM(MROM):信息制作在芯片中,不可更改;
②可編程ROM(PROM):允許一次編程,此后不可更改;
③可擦除ROM(EPROM):用紫外光擦除,擦除后可編程,并允許用戶多次擦除和編程;
④電抹可編程 EEPROM(E2PROM):采用加電方法在線進行擦除和編程,也可多次擦寫;
⑤Flash Memory(閃存):能夠快速擦寫的EEPROM,但只能按塊(Block)擦除。
?
46.在計算機的主存中,常常設置一定的ROM區,試說明設置ROM區的目的。
答:計算機加電時,需要執行一段程序和設置一些初始數據,如果這些程序和數據放在RAM區,那么斷電后會丟失,所以把它放在ROM區。至于ROM區的大小則由操作系統決定,可以將操作系統中很小一段程序保存在ROM中,加電啟動計算機后依靠這段程序將操作系統由磁盤調入主存。
?
47.設運算器某寄存器的內容為11110000,進位C=0,今分別執行以下移位操作:
邏輯左移、算術左移、循環左移(帶進位)、邏輯右移、算術右移、循環右移(帶進位),
請寫出執行移位指令后C與寄存器的內容。
答:???C???寄存器
移位前:???0???11110000
邏輯左移:???0???11100000
算術左移:???0???11100000
循環左移(帶進位):???1???11100000
邏輯右移:???0???01111000
算術右移:???0???11111000
循環右移(帶進位):???0???01111000
?
48.試根據8位寄存器的初始內容以及相應的移位操作,分別寫出操作后該寄存器的內容,并分別填補到下表的空缺(1)至(4)中。
| 移位前寄存器的內容 | 移位操作 | 移位后寄存器的內容 |
| 11111111 | 算術左移一位 | (1) |
| 11101011 | 算術右移一位 | (2) |
| 01011011 | 邏輯左移一位 | (3) |
| 01011011 | 小循環右移一位 | (4) |
答:
49.什么是指令?什么是指令系統?
答:由操作碼和地址碼組成,能由計算機硬件執行其規定操作的一條命令,稱之為指令。
指令和數據在計算機中都是以二進制代碼形式表示的,不同的操作碼代表不同的指令。通常在一臺計算機中有幾十條乃至幾百條指令。計算機中所有指令的集合稱之為指令集或指令系統。
?
50.一條指令包含那些信息?
答:(1)操作碼:指定操作內容,例如執行加法運算或控制程序流轉移等;
(2)操作數來源:指定操作數或操作數的地址;
(3)操作結果地址:保存處理結果的地址;
(4)下一條執行的指令地址:在大多數情況下,程序是順序執行的,此時不需要指出下一條指令的地址,僅當執行改變程序流的轉移類指令時,需要給出下一條執行的指令地址。
?
51.什么是指令的立即尋址方式?說明其經常的用途。
答:(1)指令中直接給出了操作數(或指令格式為:OP立即數)
(2)立即尋址方式可用來提供常數,設置初值等。
?
52.在指令的尋址方式中,設Rx為變址寄存器,Rb為基址寄存器,PC為程序計數器。試根據下表中各種尋址方式下有效地址(E)的算式,寫出相應的尋址方式名稱。
| 尋址方式名稱 | 有效地址算式 |
| ? | E=D |
| ? | E=(D) |
| ? | E=(PC)±D |
| ? | E=(Rx)+D |
| ? | E=(Rb)+D |
答:
| 尋址方式名稱 | 有效地址算式 |
| 立即數尋址 | E=D |
| 直接尋址 | E=(D) |
| 相對尋址 | E=(PC)±D |
| 變址尋址 | E=(Rx)+D |
| 基址尋址 | E=(Rb)+D |
53.計算機中常用的尋址方式有哪些?其中哪些尋址速度較快?哪些速度較慢?
答:常用的尋址方式有:立即數尋址、直接尋址、間接尋址、寄存器直接尋址、寄存器間接尋址、基址尋址、變址尋址、相對尋址。
其中,立即數尋址方式速度最快,其次是寄存器直接尋址、直接尋址、寄存器間接尋址、間接尋址;
基址尋址、變址尋址和相對尋址方式因為要通過加法運算才能得到數據的有效地址,因此速度比較慢一些。
?
54.指令兼容有哪些的優缺點?什么是向上兼容?
答:最主要優點:軟件兼容;最主要缺點:指令字設計不盡合理,指令系統過于龐大。
向上兼容:新機器可以兼容舊機器的所有軟件,但舊機器不能兼容新機器上開發的軟件。
?
55.什么是指令系統兼容和指令系統向上兼容?討論兼容的優缺點。
答:兩種計算機的指令系統完全相同,稱之為指令系統兼容。
在研制系列計算機的新型號或高檔產品時,指令系統可以有較大的擴充,但仍保留原來機種的全部指令,稱之為指令系統向上兼容。
兼容機的軟件可以相互交互使用,因此軟件也是兼容的。指令系統向上兼容則可將原有軟件不作修改就可再新型號或高檔產品上繼續運行,稱之為軟件向上兼容。其優點是可以保護用戶在軟件上的投資,缺點是指令系統越來越龐大,新機種要保留原有機種的全部指令,即使是這些指令在新編寫的程序中根本不使用。
?
56.RISC指令系統有何特點?
答:指令種類少,選用使用頻率比較高的指令,指令功能較簡單,指令長度固定,指令格式種類少,尋址方式種類少。CPU中設置較多的寄存器。一般指令的操作數都在寄存器中,只有load和store指令訪問存儲器,可以減少訪存次數。
?
57.討論RISC和CISC在指令系統方面的主要差別。
答:(1)優先選取使用頻率最高的一些簡單指令,以及一些很有用但不復雜的指令。避免復雜指令。
(2)指令長度固定,指令格式種類少,尋址方式種類少。指令之間各字段的劃分比較一致,各字段的功能也比較規整。
(3)只有取數/存數指令(load/store)訪問存儲器,其余指令的操作都在寄存器之間進行。
(4)CPU中通用寄存器數量相當多。算術邏輯運算指令的操作數都在通用寄存器中存取。
?
58.簡答CPU控制執行一條ADD指令的過程。
答:CPU控制執行一條ADD指令的過程為:首先將程序計數器PC的內容送到地址寄存器AR中;程序計數器內容加1,為取下一條指令做好準備;地址寄存器內容被放到地址總線上;所選存儲單元的內容經過數據總線,傳送到數據緩沖寄存器DR;緩沖寄存器的內容傳送到指令寄存器IR;指令寄存器中的操作碼被譯碼或測試;CPU識別出指令ADD;CPU將指令寄存器中的地址碼部分裝入到地址寄存器;將地址寄存器中的操作數的地址發送到地址總線上;由存儲單元讀出操作數,并經過數據總線傳送到數據緩沖寄存器。執行加操作:由數據緩沖寄存器來的操作數送往ALU的一個輸入端,已等候在累加器內的另一個操作數送往ALU的另一個輸入端,于是ALU將兩數相加,并將結果保存到累加寄存器中,同時置狀態寄存器。
?
59.如果一條指令的執行過程分為取指令、指令分析、指令執行3個子過程,且這3個子過程的延遲時間都相等,圖1和圖2分別指出指令的順序執行方式和指令的流水執行方式,請分析這兩種執行方式的特點及優缺點。
?
答:順序方式:
特點:各指令是順序執行的,一條指令執行結束后另一條指令才可執行;
優點:控制簡單;
缺點:速度慢。
流水方式:指令與指令之間存在并行執行部分,雖不能縮短一條指令的執行時間,但可縮短一段指令的執行時間。另外,存在資源相關、數據相關及控制相關問題。
優點:速度快;
缺點:控制復制,存在資源相關、數據相關及控制相關問題。
?
60.一條加法指令的指令格式如下圖所示:
其中,rs,rd,rs1為通用寄存器地址;imm(或disp)為立即數(或位移量)。
加法指令執行功能:將寄存器(rs)中的一個數與存儲器中的一個數(其地址為(rs1)+disp)相加,結果放在寄存器rd中,rs與rd為同一個寄存器。
該加法指令的執行需要四個機器周期,其時間安排如下圖:
請分析該加法指令執行的全過程。
答:加法指令的執行過程為:
(1)取指令:
?????a)根據程序計數器PC的值,到存儲器中取指令,并將指令送入指令寄存器中;
?????b)在指令寄存器中,指令被分為操作碼和地址碼兩部分,操作碼部分送入指令譯碼器進行譯碼;
?????c)程序計數器PC+1,為取下一條指令做好準備。
(2)計算操作數地址:
?????a)將rs1寄存器的內容與disp送入ALU進行加法運算;
?????b)相加所得結果為操作數的有效地址,將有效地址送入地址寄存器。
(3)到存儲器取數:
?????a)將地址寄存器的內容送入地址總線;
?????b)從存儲器中取出操作數送入數據寄存器。
(4)進行加法運算:
?????a)將rs的內容和數據寄存器中的數據送入ALU進行加法運算;
?????b)將運算結果送入結果寄存器(rd),置狀態寄存器的狀態位。
?
61.CPU中有哪些主要的寄存器?
答:數據緩沖寄存器(DR)、指令寄存器(IR)、程序計數器(PC)、地址寄存器(AR)、累加器寄存器(AC)與通用寄存器、狀態寄存器(或PSW)
?
62.CPU結構如下圖所示,其中有一個累加寄存器AC、一個狀態條件寄存器和其它4個寄存器,各部分之間的連線表示數據通路,箭頭表示信息傳送方向。要求:
(1)標明圖中a,b,c,d這4個寄存器的名稱。
(2)簡述指令從主存取出到產生控制信號的數據通路。
(3)簡述數據在運算器和主存之間進行存/取訪問的數據通路。
?
答:(1)已知AC為累加器,ALU為算術邏輯運算部件。其輸入的2個數來源為(AC)和(a)。運算結果送AC。主存M與CPU之間的連線有地址線與數據線,其中地址線的信息僅從CPU傳送到主存,數據則允許雙方向傳送,由此可見,a與c分別是主存的數據寄存器MDR和地址寄存器MAR。MDR和MAR一般設置在主存中。在CPU中必須有一個程序計數器PC和指令寄存器IR。PC送地址到地址寄存器,并有自動+1的功能,因此d寄存器為PC。IR接收從主存來的指令,并控制微操作信號發生器,因此b寄存器是IR。IR向PC傳送的是轉移地址(當轉移時,IR的地址碼字段存放的是轉移地址)。
(2)指令地址從d(PC)送到c(地址寄存器MAR),數據從主存送到b(指令寄存器IR)。
(3)讀寫地址由b(IR的地址段)→c(地址寄存器MAR),讀時數據從主存→a(MDR)→ALU→AC;寫時數據從AC→a(MDR)→主存。
?
63.程序和微程序、機器指令和微指令、主存儲器和控制存儲器這幾個概念有何區別?
答:(1)程序和微程序。程序是由程序員編寫的,由指令組成,而微程序是用來控制指令的執行,它是由微指令組成的。
(2)機器指令和微指令。機器指令是把程序員編寫的程序經編譯后成為機器能執行的以二進制碼形式表示的指令;在微程序控制的計算機中通過執行一串微指令完成一條機器指令的功能。
(3)主存儲器和控制存儲器。主存儲器用來存放程序和數據。在運行程序時,CPU從主存儲器取指令和存取數據,一般由隨即存儲器RAM組成。控制存儲器用來存放微程序,用以解釋指令的執行,一般由只讀存儲器ROM組成。
?
64.微程序控制器與硬布線控制器相比較的主要優缺點是什么?
答:微程序設計方法類似于程序,其優點是容易設計、容易修改、容易排除錯誤,從而方便地實現操作復雜地指令和實現新功能、增加新指令、縮短設計周期,但是由于實現一條指令要多次從控制存儲器取微指令,所以處理一條指令地速度沒有硬布線控制器快。
硬布線控制器在設計復雜指令系統的計算機時比較難,因為需要寫出各個操作命令的表達式,又經過了簡化,假如發現設計有錯,修改起來極為困難,導致設計周期的延長,而且很難更改指令的功能或增加新指令。
由于以上特點RISC采用硬布線控制器,CISC采用微程序控制器。
?
65.由M1、M2構成的二級存儲體系中,若CPU訪問的內容已在M1中,則其存取速度為T1;若不在M1中,其存取速度為T2.現設H為命中率(CPU能從M1中直接獲取信息的比率),問:
(1)該存儲體系的平均存取時間TA的計算公式是什么?
(2)命中率H越大,TA越接近于哪一級存儲器速度?
答:(1)TA=H×T1+(1-H)×T2
?
66.采用存儲器的分級結構如何解決了存儲器的三大因素之間的矛盾?
答:存儲器的分級結構使得主-輔兩級存儲結構建立在存儲器件分級且存儲信息性質分級的基礎上;主存容量因其價格受到限制,設立了大容量輔存解決了在盡可能低的價格下的容量問題;大容量的低速輔助存儲器可以通過高速主存與CPU交換信息,不僅使計算機得到合理分配,而且CPU的高速效能仍能得到充分發揮;主-輔兩級存儲結構形成一個整體,速度接近于主存,容量是輔存,價格接近輔存,可以較好地統一協調了容量、速度、價格三者之間的矛盾。
?
67.請比較說明三級存儲體系中cache—主存和主存—輔存這兩個存儲層次的相同點和不同點。
答:在cache和主存之間及主存和輔存之間分別有輔助硬件及輔助軟硬件負責信息的調度,以便各級存儲器能夠組成有機的三級存儲體系。cache和主存構成了系統的內存,而主存和輔存依靠輔助軟硬件的支持構成了虛擬存儲器。
相同點:
出發點相同:二者都是為了提高存儲系統的性能價格比而構造的層次性存儲體系,都力圖使存儲系統的性能接近高速存儲器,而價格接近低速存儲器;
原理相同:都是利用了程序運行時的局部性原理,把最近常用的信息塊從相對低速而大容量的存儲器調入相對高速而小容量的存儲器。
不同點:
目的不盡相同:cache主要解決主存與CPU的速度差異問題;兒輔存主要解決存儲容量問題;
數據通路不同:CPU與cache和主存直接均有直接訪問通路,cache不命中時可直接忙問主存;而輔存與CPU之間不存在直接的數據通路,當主存不命中時只能通過調頁解決,CPU最終還是要訪問主存;
透明性不同:cache的管理完全由硬件完成,對系統程序員和應用程序員均透明;虛擬管理由軟件(操作系統)和硬件共同完成,對系統程序員不透明,對應用程序員透明;
對未命中的敏感度不同:由于主存的存取時間是cache的5—10倍,而輔存的存取時間是主存的上千倍,故虛存未命中時更敏感,系統性能損失更大。
?
68.在計算機中為何設置多層次的存儲系統?經常可見的三層存儲系統的情況如何?
答:隨著計算機應用、操作系統和CPU的發展,主存儲器的速度和容量已跟不上客觀的要求,因此希望在計算機的體系結構上有所突破。衡量計算機存儲器有3個指標:速度、容量和價格/位。一般來講,速度高的存儲器,價格/位也高,在計算機中安裝有多種類型存儲器,相互配合,可以取得較理想的綜合指標。
由于CPU和主存之間存在一定的速度差異,為了彌補主存速度的不足,在CPU和主存之間設置了高速緩沖存儲器(Cache),以此來解決主存存取速度的不足。由于主存的容量有限,因此設置了輔助存儲器,來彌補主存容量的不足。于是就構成了三層次的存儲系統:cache-主存儲器-輔助存儲器。
在三層存儲系統中,CPU取指或取數時,先訪問Cache,如果指令或數據不在Cache中,再到主存中去取,取來后同時送CPU和Cache;如果指令或數據在Cache中,則從Cache中取,不再訪問主存;如果指令或數據也不在主存中,則由操作系統將包含所需指令或數據的信息塊調到主存,然后再執行取指或取數據操作。
三層次存儲系統在理想情況下,其最高速度取決于Cache的速度,而其存儲容量則由輔助存儲器決定,系統的價格/位接近于輔存的價格/位。
?
69.多級存儲體系中,
(1)引入Cache是為了解決什么問題?
(2)引入Cache的理論依據是什么?
(3)采用哪些方法來保證在寫入時使Cache與主存兩者的內容一致?
答:(1)為了解決主存與CPU之間的速度差異,或主存速度不足問題;
(2)理論依據是程序訪問的局部性原則;
(3)可以采用寫直達法、回寫法、主存監控法和設置不可Cache區幾種方法。
70.計算機存儲系統分哪幾個層次?每一層次主要采用什么存儲介質?其存儲容量和存取速度的相對值如何變化?
答:計算機存儲系統層次為:cache――主存――輔存,或:寄存器組――cache――主存――輔存。
存儲介質分別為:寄存器――電路;cache――SRAM;主存――DRAM;輔存――磁表面存儲
容量由小到大,速度由高到低。
?
71.為什么DRAM芯片的地址一般要分兩次接收?
答:當芯片容量增大時,其地址線數量相應增加,分兩次接收地址可將地址線的數量減少一半。引出端多,芯片面積大。
?
72.什么是虛擬存儲器?
答:操作系統的形成和發展有可能讓程序員擺脫主存和輔存之間數據調度問題的困擾,在“輔助硬件”的配合下,通過軟件和硬件相結合,把主存和輔存統一成了一個整體,在系統中,應用程序員可用機器指令地址碼對整個程序統一編址,如同程序員具有對應這個地址碼寬度的全部空間一樣。該空間可以比主存實際空間大得多,以致可以存得下整個程序。這種指令地址碼稱為虛擬地址或邏輯地址,其對應的存儲容量稱為虛存容量或虛存空間;而把實際主存的地址稱為物理地址、實(存)地址,其對應的存儲容量稱為主存容量、實存容量或實(主)存空間。
?
73.什么是Cache的命中率?
答:在Cache—主存儲器—輔助存儲器的三級存儲系統中,當CPU訪問存儲器時,如果被訪問的對象在Cache中,叫做命中,Cache命中的次數與訪問存儲器總次數的比例稱為Cache命中率。
當CPU訪問存儲器時,如果被訪問的對象在主存中,叫做存儲器命中,否則需啟動操作系統,將有關的頁面(頁式管理或段頁式管理)或段(段式管理)從輔存調入主存。
由于存儲的局部性原理的存在,Cache的命中率和存儲器的命中率都是很高的。
?
74.Cache的寫入方法有哪機種?
答:Cache中保持的字塊是主存中相應字塊的一個副本,如果要對該字塊進行寫操作,就會遇到如何保持Cache與主存數據的一致性問題。
當命中的情況下,有兩種寫入方法:
(1)寫回法:暫時只向Cache寫入,并用修改標志加以標注,直到經過修改的字塊從Cache中被替換出來時才修改(寫入)主存。其優點是某些中間結果可暫時保存著Cache中,減少訪問主存的次數。其缺點是Cache中的數據可能與其相應主存中的數據不一致,這樣在取數命中時要檢查Cache的修改標志(當DMA外部設備訪問存儲器時),以確定是從Cache取數或者是從存儲器取數。
(2)寫直達法:同時寫入Cache和主存。其優缺點正好和寫回法相反。由于每次寫入時無論是否命中,都要向主存寫入,其結果相當于降低了數據的命中率。
當不命中的情況下,或者外部設備向存儲器寫入時,往往只寫入主存,不寫入Cache。
?
75.Cache的命中率與哪些因素有關?
答:在其它因素不變的情況下,cache容量大,命中率高;
塊的大小要適中,其對命中率的影響與執行的程序有關;
在地址映像方面,全相聯的命中率最高,但因所需硬件太多,一般不采用,直接映像命中率最低,但是簡單,比較理想的是組相聯;
在替換算法方面,LRU替換算法的命中率高于FIFO或隨機替換算法。
?
76.虛擬存儲器的主要特點是什么?
答:(1)用戶可以用比主存大得多的存儲空間編寫程序,而不必考慮如何在主存和輔存中傳遞數據;
(2)CPU每次訪存時,都要經過虛擬地址轉換成物理地址的過程。如果訪存內容不在主存中,計算機會自動將數據塊從輔存調到主存。主存被替換時要注意該數據塊是否被寫入(或)修改過,是的話要先將其內容寫入輔存,然后再被替換。
(3)上述過程是在軟件(操作系統)和硬件配合下完成的,對用戶是透明的。
?
77.下表中所示的是運行過程中一個虛擬存儲器與主存之間的地址對應表。請問:
(1)邏輯地址代碼的頁號為010的某個數據,在主存中能否找到?若能找到,其物理地址代碼的頁號是什么?
(2)若有一個數據的邏輯頁號為100,另一個數據的邏輯頁號為101。則這兩個數據現在是否都存入主存的頁號為10的存區中?
邏輯地址代碼的頁號為010的某個數據,在主存中能否找到
答:(1)在主存中能找到,其物理地址代碼的頁號是11;
(2)不是,只有邏輯頁號為100的數據存入主存頁號為10的存區中。
?
78.設虛擬存儲器的地址對應表如下表。試問:
(1)若有一數據的邏輯地址的頁號為001,那么該數據在內存中能找得到嗎?如能,其物理頁號是多少?
(2)若另一數據的邏輯地址的頁號為010,那么該數據在內存中能找得到嗎?如能,其物理頁號是多少?
(3)若內存中某數據的物理頁號是11,那么其邏輯頁號應是多少?
| 邏輯頁號 | 有效位 | 物理頁號 |
| 000 | 0 | 01 |
| 001 | 1 | 10 |
| 010 | 0 | 00 |
| 011 | 0 | 11 |
| 100 | 1 | 00 |
| 101 | 0 | 10 |
| 110 | 1 | 11 |
| 111 | 1 | 01 |
答:(1)能找到,其物理頁號為10;
(2)不能找到;
(3)其邏輯頁號為110。
?
79.下表中所示的是運行過程中一個虛擬存儲器與主存之間的地址對應表。
(1)如邏輯地址代碼為1011010101010的數據,在主存中能否找到?若能找到,其物理地址代碼是什么?
(2)如邏輯地址代碼為1100101010101的數據,在主存中能否找到?若能找到,其物理地址代碼是什么?
(3)物理地址代碼為110100100100的數據,其邏輯地址代碼是什么?
| 邏輯頁號 | 有效位 | 物理頁號 |
| 000 | 0 | 11 |
| 001 | 0 | 01 |
| 010 | 1 | 11 |
| 011 | 1 | 00 |
| 100 | 0 | 01 |
| 101 | 1 | 10 |
| 110 | 0 | 00 |
| 111 | 1 | 10 |
答:(1)能找到,其物理地址代碼是101010101010;
(2)不能找到;
(3)其邏輯地址代碼是0100100100100。
?
80.試將硬盤、軟盤、磁帶、光盤等外存的訪問時間、數據傳輸率按大小(或高低)排序,并列出各外存突出的優缺點、適用場合及共同的發展趨勢。
答:訪問時間由少到多、數據傳輸率由高到底的順序,都是硬盤、光盤、軟盤、磁帶;
突出的優點:硬盤速度快,光盤和軟盤盤片可替換,磁帶容量大、便宜且磁帶可替換;
適用場合:硬盤是主存的后援,光盤存資料、文獻檔案,支持多媒體技術,磁帶做為海量后備,軟盤用于輸入輸出傳遞及小容量備份。
?
81.以下六種常用的存儲器,寄存器組、主存、高速緩存cache、磁帶存儲器、軟磁盤和硬磁盤,請回答下列問題:
(1)按存儲容量排出順序(從小到大)
(2)按讀寫時間排出順序(從快到慢)
答:(1)按存儲容量排出順序(從小到大):
寄存器組――cache――主存、軟磁盤――硬盤――磁帶
(2)按讀寫時間排出順序(從快到慢)
寄存器組――cache――主存――硬盤――軟磁盤-―磁帶
?
82.在輸入輸出系統的發展中出現了哪幾種輸入輸出方式?其中哪些主要由軟件來實現?哪些由硬件來實現?
答:輸入輸出方式的發展大致分為五種方式,即:程序控制的輸入輸出方式、中斷方式、DMA方式、輸入輸出通道方式和I/O處理機方式。其中程序控制的輸入輸出方式和中斷方式由軟件來實現;DMA方式、輸入輸出通道方式和I/O處理機方式由硬件來實現。一般小型機和微機采用前3種方式,大型機采用I/O通道控制方式或外圍處理機方式。
?
83.輸入輸出接口的基本功能是什么?
答:(1)數據緩沖,使主機與外圍設備速度匹配。
(2)數據格式轉換。
(3)提供外圍設備和接口的狀態供CPU讀取,以便了解外圍設備的工作情況。
(4)實現主機與外圍設備的通信聯絡。
?
84.在I/O系統中試比較程序直接控制方式與程序中斷方式的優缺點。
答:(1)程序直接控制方式
優點:硬設備接口少,控制簡單。
缺點:并行性差,效率低;無法處理錯誤或異常事件。
(2)中斷方式
優點:CPU與I/O設備并行工作,提高了效率;
可處理異常事件,提高了機器的可靠性。多臺外設可并行工作。
缺點:控制相應復雜一些,不能處理高速數據塊的傳送。
?
85.中斷控制輸入輸出較程序控制的輸入輸出有什么改進?
答:程序控制輸入輸出方式外部設備的啟動、停止等工作全部由CPU通過程序控制。外部設備和CPU不能同時工作,各外部設備之間也不能同時工作。雖然程序易編,程序簡單,但系統效率很低。
程序中斷的方法在外設的接口中增設了緩沖器,使信息交換在主存和緩沖區之間進行,中央處理機和外部設備可以同時工作。當外部設備做好準備以后再請求中斷CPU,因為外部設備的工作速度取決于機械動作,它遠比CPU的速度要低,因此CPU可以同時啟動多臺外部設備使它們同時工作,而由CPU分別處理它們的中斷請求,這樣初步解決了CPU、主存和外部設備之間的速度匹配問題。
?
86.CPU響應中斷應具備哪些條件?請說明中斷處理過程的步驟。
答:響應中斷的條件:
(1)在CPU內部設置的“中斷屏蔽”觸發器必須是開放的;
(2)外設有中斷請求,“中斷請求”觸發器處于“1”狀態,保持中斷請求信號;
(3)外設(接口)“中斷允許”觸發器必須為“1”;
(4)CPU完成當前指令的執行。
中斷處理過程的步驟:
關中斷;
保存斷點、保存現場;
判斷中斷條件轉入中斷服務程序;
開中斷;
執行中斷服務程序;
關中斷;
恢復現場、恢復斷點;
開中斷;
返回斷點。
?
87.請說明中斷接口中以下幾個觸發器的主要作用。
(1)中斷請求觸發器;
(2)中斷屏蔽觸發器;
(3)中斷允許觸發器;
(4)準備就緒狀態觸發器;
(5)忙狀態觸發器。
答:中斷接口各觸發器的主要作用為:
(1)中斷請求觸發器:暫存中斷請求線上由設備發出的中斷請求信號。此標志為“1”時表示設備發送了中斷請求;
(2)中斷屏蔽觸發器:CPU是否可以響應中斷的標志。中斷屏蔽觸發器為“0”時,CPU可以響應外界的中斷;
(3)中斷允許觸發器:控制是否允許某設備發出中斷請求,為“1”時,某設備可以向CPU發送中斷請求;
(4)準備就緒狀態觸發器:一旦設備做好一次數據的接收或發送,便發送一個設備動作完畢信號,使觸發器標志為“1”;
(5)忙狀態觸發器:該標志為“1”時設備正在工作。
?
88.在單重中斷方式下(即進入中斷處理后不再響應其他中斷請求),CPU響應中斷的步驟是那些?在多重中斷方式下CPU相應中斷的步驟又是哪些?
答:單重中斷方式CPU響應中斷的步驟為:
關中斷,保存現場,判斷中斷源,執行與設備有關的中斷服務程序,恢復現場,開中斷,返回原程序。
多重中斷方式CPU響應中斷的步驟為:
關中斷,保存現場(包括保存原中斷屏蔽字并取新屏蔽字),判斷中斷源,開中斷,執行與設備有關的中斷服務程序,關中斷,恢復現場(包括恢復中斷屏蔽字),開中斷,返回原程序。
?
89.下圖(1)、(2)、(3)、(4)是程序中斷處理過程中進入執行中斷服務程序前的幾步操作,請分別填入適當內容,并說明其中(4)操作的作用。
(1)________________________________;
(2)________________________________;
(3)________________________________;
(4)________________________________;
(4)操作的作用是:
____________________________________________________________________。
?
答:(1)關中斷
(2)保存斷點、保存現場
(3)判別中斷源,轉入中斷服務程序
(4)開中斷
(4)操作的作用是:允許更高級的中斷請求得到響應,實現中斷嵌套。
?
90.在下面框圖(1)、(2)、(3)中填入正確的內容,以便完成中斷的返回操作,并說明為什么要執行這三個操作?
?
答:(1)關中斷;
說明:進入不可再次響應中斷的狀態。即使有更高級的中斷源申請中斷,CPU頁不響應。
(2)恢復現場、恢復斷點;
說明:恢復原程序中斷時的程序計數器PC的值及CPU中某些寄存器的值。
(3)開中斷;
說明:重新進入可以響應中斷的狀態。
?
91.某計算機系統共有五級中斷,其中斷響應優先級從高到低為1-->2-->3-->4-->5。但操作系統的中斷處理部分作如下規定:處理1級中斷時屏蔽2、3、4和5級中斷;處理2級中斷時屏蔽3、4、5級中斷,處理4級中斷時不屏蔽其它中斷;處理3級中斷時屏蔽4和5級中斷;處理5級中斷時屏蔽4級中斷。
試問中斷處理優先級(從高到低)是什么?
答:中斷處理優先級從高到低是:1-->2-->3-->5-->4
?
?
?
答:單總線的特點:分時性和共享性。單總線具有結構簡單便于擴充等優點。但由于所有數據的傳送都通過這一共享的總線,因此在此處可能成為計算機的瓶頸。另外也不允許兩個以上模塊在同一時刻交換信息,這對提高系統效率和充分利用子系統都是不利的。為了提高數據傳輸率,并解決I/O設備和CPU、主存之間傳送速率的差異,解決總線數據傳送的“瓶頸”問題,而采用多總線。
?
總結
以上是生活随笔為你收集整理的计算机组成原理-复习题2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(537):多列布局4横跨多列
- 下一篇: 前端学习(1301):gulp建立任务c