2018-2019-1 20165329 《信息安全系統設計基礎》第4周學習總結
阿新 • • 發佈:2018-10-20
可見 等於 合成 hal 子集 學習 跳轉 序列 add
2018-2019-1 20165329 《信息安全系統設計基礎》第4周學習總結
教材學習內容總結
- Y86-64指令:Y86-64指令是x86-84指令集的一個子集。它只包括8字節整數操作。有4個整數操作指令:addq、subq、andq和xorq。有7個跳轉指令:jmp、jle、jl、je、jne、jge和jg。有6個條件傳送指令:cmovle、cmovl、cmove、cmovne、cmovge和cmovg。
-
處理器執行指令是將指令編碼為二進制指令轉化方式:
確定指令長度,劃分序列,確定具體指令;
寄存器指示符字節確定寄存器,確定地址等信息;
邏輯門是計算機的計算元素,組成電路進行計算;
每條指令需要數個字節,每條指令的第一個字節表明指令的類型:高4位是代碼部分,低4位是功能部分;
- 程序員可見的狀態:Y86-64程序中的每條指令都會讀取或修改處理器狀態的某些部分,這稱為程序員可見狀態。包括:程序寄存器、條件碼、程序狀態、程序計數器和內存。
- Y86-64狀態碼:
代碼值1,命名為AOK,表示正常操作;
代碼值2,命名為HLT,表示遇到器執行halt指令;
代碼值3,命名為ADR,表示遇到非法地址;
代碼值4,命名為INS,表示遇到非法指令。 - Y86-64指令集的功能碼:
-
Y86-64程序寄存器標識符:
-
邏輯門:邏輯門是數字電路的基本計算單元。它們產生的輸出,等於它們輸入位值的某個布爾函數。包括:與(AND)、或(OR)和非(NOT)。組合電路:將狠多的邏輯門組合成一個網,就能構建計算塊。組合電路和HCL布爾表達式
- 字級的組合電路和HCL整數表達式實現所有Y86-64指令所需要的計算可以被組織成6個基本階段。包括:取指、譯碼、執行、訪存、寫回合更新PC。
-
取指:取指階段從內存讀取指令字節,地址為程序計數器的值。
-
譯碼:譯碼階段從寄存器文件讀入最多兩個操作數,得到相應的值,並讀入指令指明的寄存器。
-
執行:執行階段,ALU要麽執行指令指明的操作,計算內存引用的有效地址,要麽增加或減少棧指針。
-
訪存:訪存階段可以將數據寫入內存,或者從內存讀出數據。
-
寫回:寫回階段最多可以寫兩個結果到寄存器文件。
-
更新PC:將PC設置成下一條指令的地址。
- SEQ的時序:
SEQ的實現包括組合邏輯和兩種存儲器設備:時鐘寄存器和隨機訪問存儲器。 -
組織計算原則:從不回讀。處理器從來不需要為了完成一條指令的執行而去讀由該指令更新了的狀態。
2018-2019-1 20165329 《信息安全系統設計基礎》第4周學習總結