1.1 列出並簡要地定義計算機的四個主要組成部分。
主存儲器,存儲數據和程序;算術邏輯單元,能處理二進制數據;控制單元,解讀存儲器中的指令並且使他們得到執行;輸入/輸出設備,由控制單元管理。
1.2 定義處理器寄存器的兩種主要類別。
用戶可見寄存器:優先使用這些寄存器,可以使機器語言或者彙編語言的程序員減少對主存儲器的訪問次數。對高級語言而言,由優化編譯器負責決定把哪些變量應該分配給主存儲器。一些高級語言,如C語言,允許程序言建議編譯器把哪些變量保存在寄存器中。
控制和狀態寄存器:用以控制處理器的操作,且主要被具有特權的操作系統例程使用,以控制程序的執行。
1.3 一般而言,一條機器指令能指定的四種不同操作是什麼?
處理器-寄存器:數據可以從處理器傳送到存儲器,或者從存儲器傳送到處理器。
處理器-I/O:通過處理器和I/O模塊間的數據傳送,數據可以輸出到外部設備,或者從外部設備輸入數據。
數據處理:處理器可以執行很多關於數據的算術操作或邏輯操作。
控制:某些指令可以改變執行順序。
1.4 什麼是中斷?
中斷:其他模塊(I/O,存儲器)中斷處理器正常處理過程的機制。
1.5 多中斷的處理方式是什麼?
處理多中斷有兩種方法。第一種方法是當正在處理一箇中斷時,禁止再發生中斷。第二種方法是定義中斷優先級,允許高優先級的中斷打斷低優先級的中斷處理器的運行。
1.6 內存層次的各個元素間的特徵是什麼?
存儲器的三個重要特性是:價格,容量和訪問時間。
1.7 什麼是高速緩衝存儲器?
高速緩衝存儲器是比主存小而快的存儲器,用以協調主存跟處理器,作爲最近儲存地址的緩衝區。
1.8 列出並簡要地定義I/O操作的三種技術。
可編程I/O:當處理器正在執行程序並遇到與I/O相關的指令時,它給相應的I/O模塊發佈命令(用以執行這個指令);在進一步的動作之前,處理器處於繁忙的等待中,直到該操作已經完成。
中斷驅動I/O:當處理器正在執行程序並遇到與I/O相關的指令時,它給相應的I/O模塊發佈命令,並繼續執行後續指令,直到後者完成,它將被I/O模塊中斷。如果它對於進程等待I/O的完成來說是不必要的,可能是由於後續指令處於相同的進程中。否則,此進程在中斷之前將被掛起,其他工作將被執行。
直接存儲訪問:DMA模塊控制主存與I/O模塊間的數據交換。處理器向DMA模塊發送一個傳送數據塊的請求,(處理器)只有當整個數據塊傳送完畢後纔會被中斷。
1.9 空間局部性和臨時局部性間的區別是什麼?
空間局部性是指最近被訪問的元素的周圍的元素在不久的將來可能會被訪問。臨時局部性(即時間局部性)是指最近被訪問的元素在不久的將來可能會被再次訪問。
1.10 開發空間局部性和時間局部性的策略是什麼?
空間局部性的開發是利用更大的緩衝塊並且在存儲器控制邏輯中加入預處理機制。時間局部性的開發是利用在高速緩衝存儲器中保留最近使用的指令及數據,並且定義緩衝存儲的優先級。