2018-2019-1 20165228 《信息安全系統設計基礎》第四周學習總結
阿新 • • 發佈:2018-10-21
計數 表達式 處理器 重要 圖片 連接 分享 集體 數字
2018-2019-1 20165228 《信息安全系統設計基礎》第四周學習總結
教材學習內容總結
Y86-64指令集體系結構
Y86程序中的每條指令都會讀取或修改處理器狀態的某些部分
程序員可見狀態
- 15個程序寄存器(RF):每個寄存器存儲一個64位,即8字節的字(即Y86-64指令長度)
- 3個條件碼(CC):ZF(零標誌位)/SF(符號標誌位)/OF(溢出標誌位)
程序狀態(Stat)
- 程序計數器(PC):存放當前正在執行指令的地址,計算下一條指令的地址時,根據當前指令的編碼長度計算。
內存(DMEM):很大的字節數組,用來存放程序和數據。
Y86-64指令
- Y86-64程序寄存器標識符:
- 寄存器標識符範圍:0-0xE
- 程序寄存器的存儲:寄存器文件
- 不應訪問任何寄存器:用0xF表示
- Y86-64指令編碼
- 編碼長度:1字節~10字節
- 組成:1、一個單字節的指令指示符
2、一個單字節的寄存器指示符
3、一個八字節的常數字 - 各指令詳細解釋:
- halt指令:十六進制表示為00,占一個字節。執行時,使處理器停止。
- nop指令:十六進制表示為10,占一個字節。
- rrmovq rA,rB指令:十六進制表示為 20 rArB,占兩個字節。
...
Y86-64指令集的功能碼:高四位為代碼部分,低四位為功能部分。
邏輯設計和硬件控制語言HCL
- 為實現一個數字系統需要三個重要的組成部分:
- 計算對位進行操作的函數的組合邏輯
- 存儲位的存儲單元
- 控制存儲單元更新的時鐘信號
- HCL與HDL的區分
- HCL:硬件控制語言
- HDL:硬件描述語言
- HCL表達式中的運算符:都只對單個字進行操作
- 與:AND用“&&”表示
- 或:OR用“||”表示
- 非:NOT用“!”表示
- 與、或、非三種邏輯門可以用一種與非門或者或非門實現
- 組合電路:多個邏輯門組合成網(必須無環)構成計算塊,稱為組合電路。
- 多個邏輯門組合時的限制:每個邏輯門的輸入必須連接到下述選項之一,且兩個或多個邏輯門的輸出不能連接在一起。
1、一個系統輸入
2、某個存儲器單元的輸出
3、某個邏輯門的輸出 - HCL整數表達式
情況表達式:
算數/邏輯單元(ALU):加、減、與、異或
- 集合關系:
iexpr為被測試的值,iexpr1~iexprk為帶匹配的值,均為正數表達式。
iexpr in { iexpr1,iexpr2,...,iexprk }
- 存儲器和時鐘
按位存儲信息的設備 - 時鐘寄存器:簡稱寄存器,存儲單個位或字。Y86-64中使用是中寄存器保存程序計數器PC、條件代碼CC和程序狀態Stat
- 隨機訪問寄存器:簡稱內存,存儲多個字。
- 寄存器
- 硬件寄存器:將其輸入和輸出的線連接到電路的其他部分。當時鐘上升沿到來才會加載新的輸入信號並輸出,是電路不通部分中組合邏輯之間的屏障。
- 程序寄存器:CPU中為數不多的可尋址的字,這裏的地址為寄存器ID,這些字通常都存在寄存器文件中。
- 寄存器組成:兩個讀端口、一個寫端口、時鐘
Y86-64的順序實現
2018-2019-1 20165228 《信息安全系統設計基礎》第四周學習總結