考研複試問答(計算機組成原理部分)

轉載請註明出處:https://blog.csdn.net/xuezoutianya/article/details/106038889

1、計算機系統層次結構?
    答:微程序機器層、傳統機器語言層、操作系統層、彙編語言層、高級語言層

2、什麼是存儲程序原理?
    答:存儲程序指將指令以代碼的形式事先輸入主存儲器,然後按其在存儲器中的首地址執行程序的第一條指令,以後就按該程序的規定順序執行指令,直至程序結束

3、機器 存儲 指令字長分別是什麼?
    答:機器字長:CPU一次能處理的二進制數據的位數
        存儲字長:一個存儲單元存儲二進制代碼的長度
        指令字長:一個指令字中包含的二進制代碼的位數

4、大端模式和小端模式?
    答:大端模式:數據高字節保存在內存低地址
        小端模式:數據高字節保存在內存高地址

5、數據存儲“邊界對齊”和“邊界不對齊”的區別
    答:邊界對齊能提高訪存速度但犧牲主存空間,邊界不對齊節省主存空間但犧牲訪存速度

6、什麼是碼距?
    答:任意兩個合法碼字之間最少變化的二進制位數稱爲校驗碼的碼距

7、算數移位、邏輯移位、循環移位的區別?
    答:算術移位:算術移位的對象是有符號數,在移位過程中符號位保持不變,對空位的添補規則需要區分原碼、補碼和反碼
        邏輯移位:邏輯移位的對象是無符號數,移位後出現的空位均添0
        循環移位:分爲帶進位(大循環)和不帶進位(小循環)兩種

8、什麼是規格化?
    答:通過調整一個非規格化浮點數的尾數和階碼的大小,使非零的浮點數在尾數的最高位上保證是一個有效值

9、機器零是什麼?
    答:正下溢和負下溢統稱爲下溢,數據下溢時,浮點數值趨於零,計算機將其當作機器零處理

10、爲何IEEE754標準中階碼用移碼錶示?爲什麼偏移碼是127?
    答:移碼便於比大小(便於規格化對階)
        範圍-126~127,偏置值爲127,空出8爲全1來表示無窮大;若偏置值選128,則不能區分無窮大。

11、Dram的存儲原理,優缺點和刷新策略?
    答:存儲原理:動態隨機存儲器是利用存儲元電路中柵極電容上的電荷來存儲信息的
        優點:容易集成、成本低、容量大、功耗低
        缺點:存儲速度慢於SRAM
        刷新策略:集中刷新(2ms內集中安排時間全部刷新)、分散刷新(每次讀寫完都刷新一行)、異步刷新(每個時間間隔內安排0.5us刷新一行)

12、要提高訪存速度有哪些方式?
    答:雙端口ram、單體多字、多體並行

13、介紹一下cache?cache的作用?cache的交換單位?cache映射方式?cache替換策略?cache寫策略?cache缺失率?
    答:cache即高速緩衝存儲器,利用程序的局部性原理,把程序中正在使用的部分存放在一個高速的、容量較小的cache中,使CPU的訪存操作大多數針對cache進行,從而大大提高程序的執行速度。
        作用:用於解決cpu和主存速度不匹配的問題
        交換單位:與cpu之間數據交換以字爲單位,與主存之間數據交換以cache塊爲單位
        映射方式:1.直接映射 2.全相聯映射 3.組相聯映射
        替換策略:隨機算法、先進先出算法、近期最少使用算法、最不經常使用算法
        寫策略:全寫法(搭配非寫分配法),寫回法(搭配寫分配法)
        cache缺失率:即cache未命中的概率,由物理地址得到主存字塊標記後在cache中找不到對應的cache行

14、在同時具有虛擬存儲器、TLB和cache的系統中,訪問順序是什麼樣的?
    答:訪問順序爲TLB->頁表->Cache->主存
        1.先訪問TLB和Page,將邏輯地址轉換爲物理地址
        2.再查找對應的Cache塊(與主存塊並行查找)

15、虛擬存儲器和cache比較?
    答:目的:虛擬存儲器主要是爲了解決主存容量,cache主要是爲了提高系統速度
        實現:虛擬存儲器由os和硬件共同實現,cache全由硬件實現
        交互:虛擬存儲器不能直接和cpu交互數據,cache可以

16、存儲時間和存取週期的區別?
    答:存取時間是完成一次訪存操作的時間
        存取週期不僅包括操作時間,還包含線路恢復時間,即存取週期=存取時間+恢復時間

17、定長操作碼指令和擴展操作碼指令格式的區別?
    答:定長操作碼指令的操作碼字段的位數固定
        擴展操作碼指令的操作碼字段的位數不固定,且分散地放在指令字的不同位置上

18、指令的尋址方式?
    答:指令尋址:順序尋址和跳躍尋址
        數據尋址:隱含尋址、立即尋址、直接尋址、間接尋址、寄存器尋址、寄存器間接尋址、相對尋址、基址尋址、變址尋址、堆棧尋址

19、基址尋址和變址尋址的區別?
    答:基址尋址面向操作系統,程序執行時,基址寄存器的內容作爲基地址不變,形式地址作爲偏移量可變
        變址尋址面向用戶,程序執行時,變址寄存器的內容作爲偏移量可由用戶改變,形式地址作爲基地址不變

20、cisc(複雜指令系統計算機)和risc(精簡指令系統計算機)的區別?
    答:控制方式:cisc主要採用微程序控制器,risc主要採用硬佈線控制器
        指令系統:cisc指令多且不定長,難以編譯優化,risc指令少且定長,便於編譯優化
        訪存指令:cisc訪存指令不受限制,risc只有load/store指令訪存
        流水線:cisc可以通過一定方式實現流水線,risc必須實現流水線

21、CPU有哪些功能?有哪幾部分組成?
    答:功能:1.指令控制 2.操作控制 3.時間控制 4.數據加工 5.中斷處理
        組成:運算器和控制器

22、什麼是指令週期、機器週期、總線週期、時鐘週期?四者有何關係?
    答:指令週期是cpu從主存取出並執行一條指令所需要的全部時間(CPU完成一條指令的時間),對應完成一個微程序的時間
        機器週期又稱爲cpu週期,是執行指令週期中一步相對完整的操作所需的時間,通常等於存取週期,對應完成一個微指令的時間
        總線週期又稱爲總線傳輸週期,指一次總線操作所需的時間(包括申請階段,尋址階段、傳輸階段、結束階段)
        時鐘週期是指計算機主時鐘的週期時間,是計算機運行時最基本的時序單位,對應完成一個微操作所需的時間

23、指令週期各個階段分別完成什麼任務?訪存目的是什麼?
    答:取值週期:任務是根據PC中的內容從主存中取出指令代碼並存放到IR中,訪存目的是取指令
        間址週期:任務是取操作數有效地址,訪存目的是取有效地址
        執行週期:任務是根據IR指令字的操作碼和操作數通過ALU產生執行結果,訪存目的是取操作數(訪存指令)
        中斷週期:任務是處理中斷請求,訪存目的是保存斷點

24、指令和數據都存於存儲器中,計算機如何區分它們?
    答:計算機通過指令週期的不同階段來區分從存儲器取出的是指令還是數據,取值週期取出的指令,執行週期取出的是數據

25、微命令,微指令,微程序的概念?
    答:微命令是微操作的控制信號;微指令是若干微命令的集合;微程序是微指令的有序集合(對應一條機器指令)

26、微指令有哪些編碼方式?微指令的地址形成方式?
    答:編碼方式:1.直接編碼方式:微命令字段中每一位都代表一個微命令
                  2.字段直接編碼方式:互斥性微命令組合在同一字段
                  3.字段間接編碼方式:某些微命令需要另一個字段中的微命令來解釋
        地址形成方式:直接由微指令的下地址字段指出、根據機器指令的操作碼形成

27、微指令的格式?各自的優缺點?
    答:1.水平型微指令:微指令長但微程序短,編寫微程序麻煩,但執行速度快
        2.垂直型微指令:微指令短但微程序長,編寫微程序容易,但執行速度慢
        3.混合型微指令:綜合水平型和垂直型微指令的優缺點

28、微程序控制器和硬佈線控制器的對比?
    答:工作原理:微程序控制器中微操作控制信號以微程序的形式存放在控制存儲器中,執行指令時讀出;硬佈線控制器微操作控制信號由組合邏輯電路根據當前的指令碼、狀態和時序即時產生
        執行速度:微程序控制器慢;硬佈線控制器快
        應用場合:微程序控制器主要用於CISC;硬佈線控制器主要用於RISC
        易擴充性:微程序控制器易擴充修改;硬佈線控制器不易擴充修改

29、什麼是指令流水線?影響流水線的因素?
    答:指令流水線指把指令分解爲若干子過程,通過將每個子過程與其他子過程並行執行,來提高計算機的吞吐率的技術。
        影響因素:1.結構相關:由於多條指令在同一時刻爭用同一資源而形成的衝突(解決辦法:暫停相關指令、資源重複配置)
                  2.數據相關:必須等待前一條指令執行完才能執行後一條指令的情況(解決辦法:暫停相關指令、數據旁路技術、編譯優化調整指令順序)
                  3.控制相關:遇到轉移指令和其他改變PC值的指令而造成斷流(解決辦法:分支預測、預取兩個方向指令、提前形成條件碼)

30、流水線越多,並行度越高。是否流水段越多,指令執行越快?
    答:錯誤,因爲如下:
        1.流水段緩衝之間的額外開銷增大,加長了一條指令的整個執行時間(流水線每個功能段後面都有一個緩衝寄存器,保存本流水段的執行結果,供下一流水段使用)
        2.流水段間控制邏輯變多、變複雜,可能導致用於流水段間控制的邏輯比段本身的控制邏輯更復雜

31、流水線的性能指標?
    答:1.吞吐率:單位時間內流水線所完成的任務數量
        2.加速比:完成同樣一批任務,不使用流水線所用的時間和使用流水線所用的時間之比
        3.效率:流水線設備的利用率,即n個任務佔用時空圖有效面積/n個任務所用的時間與k個流水段所圍成的總面積

32、總線的定義和特點?
    答:總線是一組能爲多個部件分時共享的公共信息傳送線路。分時和共享是總線的兩個特點。

33、系統總線的結構?
    答:單總線結構:CPU、主存、IO設備都掛在一組總線上
        雙總線結構:一條主存總線連通CPU、主存、通道;一條IO總線連通多個外設和通道(支持猝發傳送,即送出一個地址,收到多個地址連續的數據)
        三總線結構:主存總線、IO總線和DMA總線

34、總線仲裁方式分類?
    答:集中仲裁方式(總線控制部件):1.鏈式查詢方式 2.計數器定時查詢方式 3.獨立請求方式
        分佈仲裁方式每個潛在的主模塊都有自己的仲裁號和仲裁器

35、總線週期分爲哪幾個階段?
    答:申請分配階段:主設備向總線提出使用請求
        尋址階段:通過總線發出本次要訪問的從模塊的地址及有關命令
        傳輸階段:主模塊和從模塊進行數據交換
        結束階段:主模塊的信息從系統總線上撤除,讓出總線使用權

36、同步通信和異步通信的特點?同一個總線可以即採用同步通信又採用異步通信嗎?
    答:同步通信傳送速度快,總線控制邏輯簡單;不能及時進行數據校驗;僅適用於總線長度較短及總線所接部件存取時間比較接近的系統
        異步通信傳送速度慢於同步,總線控制邏輯複雜;適合兩個工作速度相差很大的部件進行可靠的數據交換(不互鎖,半互鎖,全互鎖)
        半同步通信總線同時支持同步和異步通信

37、介紹一下IO控制方式?哪些方式不需要程序的干預?
    答:程序查詢方式、程序中斷方式、DMA方式、通道方式;只有DMA方式是靠硬件電路實現的,不需要程序的干預

38、介紹一下RAID磁盤陣列?
    答:RAID是指將多個獨立的物理磁盤組成一個獨立的邏輯盤,數據在多個物理盤上交叉存儲、並行訪問,具有更好的存儲性能、可靠性、安全性。
        RAID0:無冗餘和無校驗的磁盤陣列,採用條帶化技術(原理類似低位交叉)
        RAID1:通過磁盤鏡像實現數據冗餘,在成對的獨立磁盤上產生互爲備份的數據。
        RAID2~5:各種校驗碼實現數據冗餘

39、什麼是I/O接口?有哪些功能?
    答:I/O接口即I/O控制器,是主機和外設之間的交接界面,通過接口可以實現主機和外設之間的信息交換。
        功能:1.設備選址
              2.傳送命令
              3.傳送數據
              4.反映設備狀態

40、什麼是I/O端口?有哪些編址方式?
    答:I/O端口是指接口電路中可被CPU直接訪問的寄存器,主要有數據端口,狀態端口和控制端口
        編址方式:1.統一編址(存儲器映射方式) 2.獨立編址(I/O映射方式)

41、什麼是中斷?什麼是斷點?
    答:中斷是由於有特殊事件(中斷事件)發生,計算機暫停當前的任務(即程序),轉而去執行另外的任務(中斷服務程序),然後再返回原先的任務繼續執行
        斷點就是程序被中斷的地方,即程序計數器PC的內容。

42、cpu響應中斷需要滿足哪些條件?
    答:1.中斷源有中斷請求 2.CPU開中斷 3.一條指令執行結束且沒有更緊迫的任務

43、中斷向量和中斷向量地址是什麼?
    答:中斷向量是中斷服務程序的入口地址
        中斷向量地址是中斷服務程序的入口地址的地址

44、講講中斷處理的過程?
    答:關中斷、保存斷點、引出中斷服務程序、保存現場和屏蔽字、開中斷、執行中斷服務程序、關中斷、恢復現場和屏蔽字、開中斷和中斷返回

45、dma方式與程序中斷方式的區別?
    答:DMA即直接存儲器訪問,在I/O設備與主存之間開闢直接數據通路的方式
        區別:1.中斷方式在每個數據需要傳輸時中斷CPU,DMA方式是在所要求傳送的一批數據傳送結束後才中斷CPU
              2.中斷方式的數據傳送是在中斷處理時由CPU控制完成的,DMA方式是在DMA控制器的控制下完成的
              3.中斷方式每次讀寫一個字,DMA方式每次讀寫一個或多個連續塊

46、dma的傳送方式和傳送過程?
    答:傳送方式:1.停止cpu訪問主存 2.dma和cpu交替訪存 3.週期挪用()
        傳送過程:1.預處理 2.數據傳送 3.後處理

47、call和return具體做了哪些工作?
    答:call:參數壓棧、返回地址壓棧、保存現場
        return:保存返回值、彈出返回地址、恢復現場

48、程序中斷和子程序調用的區別?
    答:發生時間:程序中斷的發生時間是隨機的;子程序調用的發生時間是已知的
        程序關係:程序中斷和主程序兩者無關聯,平行關係;子程序完全爲主程序服務,主從關係
        控制系統:中斷系統是一個軟硬件結合的系統;子程序調用是一個軟件處理過程
        嵌套級數:中斷系統嵌套級數由中斷優先級決定;子程序調用嵌套級數由棧的大小決定

49、硬中斷和軟中斷是什麼,區別是什麼?各中斷優先級是怎麼樣的?
    答:軟中斷是通過某條指令產生的中斷,這種中斷是可以編程實現的,屬於內中斷
        硬中斷是通過外部的硬件產生的中斷,屬於外中斷
        區別:1.軟中斷髮生的時間是由程序控制的,而硬中斷髮生的時間是隨機的
              2、軟中斷是由程序調用發生的,而硬中斷是由外設引發的
              3、硬中斷是可屏蔽的,軟中斷不可屏蔽。
        優先級由高到低:硬件故障中斷(掉電、內存校驗出錯)、訪管中斷、程序性中斷(缺頁、溢出、越界)、外部中斷、I/O中斷

50、程序中斷方式進行數據傳輸的缺點?
    答:1.中斷方式只適合低速設備的數據傳送,不適合高速設備。若中斷次數過於頻繁,會降低CPU的工作效率。
        2.中斷方式是在每條指令執行完檢查中斷,而DMA方式在每個機器週期結束後都可以執行。

51、通道方式和dma方式的相同點和不同點?
    答:相同點:通道控制方式與DMA方式類似,也是一種以內存爲中心,實現設備和內存直接交換數據的控制方式。
        不同點:1.在DMA方式中,數據的傳送方向、存放數據的內存始址以及傳送的數據塊長度等都由CPU控制,而在通道方式中,這些都由通道來進行控制。
                2.DMA方式每臺設備至少需要一個DMA控制器,一個通道控制器可以控制多臺設備。

52、數據相關分爲幾種?舉出一個RAW的例子?
    答:RAW,WAR,WAW
        舉例:ADD R3, R4, R5
              ADD R1, R2, R3

53、如何從外存中取一個數?
    答:以read系統調用舉例,open系統調用打開文件返回一個文件描述符fd並將其加入到內核的文件打開表中,read函數根據fd得到文件打開表的索引,到文件打開表中取出相關文件信息,其中就有文件的物理地址,根據物理地址初始化DMA控制器,並給DMA發指令
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章