2 1 IA 32架構基本概念

2021-05-07 23:23:30 字數 2462 閱讀 8886

1.**處理(cpu)除了包含暫存器之外還包含哪些其他基本部件?

cpu包含乙個高頻時鐘,乙個算術邏輯單元,乙個控制單元,以及數量有限的暫存器

時鐘主要用於將cpu內部的操作和其他系統部件同步。(how?)

控制單元(cu)協調執行機器指令時各個步驟的次序。

算術邏輯單元(alu)執行加法和減法之類的算術運算以及and.or.not之類的邏輯操作(沒有乘除?)

是否可以理解為cpu就是加減和not and or? 

2.**處理器使用哪三種匯流排同計算機的其他部分相連線?

位址匯流排,控制匯流排,資料匯流排。

資料匯流排:在cpu和記憶體之間傳送指令和資料。輸入輸出裝置的資料如何傳送的??

控制匯流排:使用二進位制訊號對連線到系統匯流排上的所有裝置的動作進行同步。

3.為什麼訪問儲存器比訪問暫存器要花費更多的機器週期?

儲存器的速度比cpu慢的多,因此訪問儲存器,cpu需要等待乙個或者幾個時鐘週期。

4.指令執行週期中的三個基本步驟是什麼?

取指令,解碼,以及執行。  

5.當使用記憶體運算元時,指令執行週期中海需要那兩個額外的步驟?

取運算元,儲存輸出運算元

6.在指令執行週期的那個階段中,程式計數器的值會增加?

控制單元取得指令,將其從儲存器拷貝到cpu中並增加程式計數器的值。因此取指令的時候,pc的值將增加。

7.給出流水線執行的定義

ps:這個地方中譯版有個地方翻譯的不準確,按照原文,應該是386將乙個指令執行分解為6個階段,486才引入流水線技術。

intel的文件說386支援並行,486引入流水線,具體細節有待研究。

再開始。可以當第一條指令的第一步執行完成後,在執行第一條指令第二步的時候,併發執行第二條指令的第一步。這就是流水線技術。

關於i386的6步,摘錄如下:

1.匯流排介面單元biu,訪問儲存器並提供輸入輸出

2.**預取單元cpu(code prefetch unit):從biu接收機器指令並將其插入到cpu內部的指令佇列。

3.指令解碼單元:將佇列中的指令進行解碼,翻譯成微**

4.執行單元:執行解碼後的微**

8.在5級非流水線處理器中,執行兩條指令需要多少時鐘週期?

對於k級的處理器,執行n條指令需要(n*k)個時鐘週期。因此需要10個週期。

9.在5級單級流水線處理中,執行8條指令需要多少時鐘週期?

對於單級流水線,k級處理器執行n條指令需要k+(n-1)=12 個週期

10.什麼是超標量處理器?

兩條以上的流水線,使得兩條指令能夠同時處於同乙個執行階段。

針對單流水線,如果某個階段執行操作乙個週期,那麼將造成瓶頸。

針對某個k級處理器,如果某個階段需要2個週期,那麼執行n條指令需要 k+2n-1 個週期

如果將需要2個週期的地方擴充到2個流水線,u和v,那麼直接導致 k+n出現。

ps:教材按照簡化版本分析,貌似intel的處理多個階段都可以並行處理。

11.假設5級雙流水線處理器中有乙個階段的執行週期需要兩個時鐘週期,執行10條指令需要多少時鐘週期?

k+n = 5+10 = 15

12.當程式執行時,os從磁碟的檔案目錄項中讀取哪些資訊?

檔案大小以及在磁碟驅動器上的物理位置。

13.程式裝入記憶體後如何開始執行?

程式裝入記憶體後將程式的大小和位置等資訊登記在一張表中。os執行一條分支轉移指令,使cpu在程式的第一條機器指令處開始執行。

14.試給出多工的定義?

作業系統能故同時執行多個任務。任務和程序並不等價。os給每個人物分配乙個時間片,輪流啟用執行這些程式。

15.os排程程式的功能是什麼?

任務切換??

16.當處理器從乙個任務切換到另乙個任務的時候,必須儲存第乙個任務的那些值?

處理器中暫存器的內容,任務變數和程式計數器夠構成。

Intel 80386微處理器(IA 32架構)

1985年10月,intel公司發布了其第一片32位微處理器80386。80386是一種與80286相相容的高效能的全32位微處理器,它是為需要高效能的應用領域和多使用者 多工作業系統而設計的。在80386晶元內部整合了儲存器管理部件和硬體保護機構,內部暫存器的結構及作業系統全都是32位的。它的位址...

IA 32中的數值運算

1 ia 32中的整數運算 記憶體中整形數是以補碼的形式儲存在記憶體中 原碼表示範圍 負數部分 1111 1111 127 1000 0000 0 正數部分 0000 0000 0 01111111 127 補碼表示範圍 負數部分 1000 0001 127 11111111 1 正數部分 0000...

ubuntu安裝ia32 libs失敗解決方法

今天安裝teamviewer發現需要依賴於ia32 libs,安裝ia32 libs的時候出現 正在讀取軟體包列表.完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊.完成 現在沒有可用的軟體包 ia32 libs,但是它被其它的軟體包引用了。這可能意味著這個缺失的軟體包可能已被廢棄,或者只能在其他...