1. 程式人生 > >2018-2019-1 20165329 《資訊安全系統設計基礎》第4周學習總結

2018-2019-1 20165329 《資訊安全系統設計基礎》第4周學習總結

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的實現包括組合邏輯和兩種儲存器裝置:時鐘暫存器和隨機訪問儲存器。
  • 組織計算原則:從不回讀。處理器從來不需要為了完成一條指令的執行而去讀由該指令更新了的狀態。