1. 程式人生 > >2018-2019-1 20165228 《信息安全系統設計基礎》第四周學習總結

2018-2019-1 20165228 《信息安全系統設計基礎》第四周學習總結

計數 表達式 處理器 重要 圖片 連接 分享 集體 數字

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 《信息安全系統設計基礎》第四周學習總結