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

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

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

教材學習內容總結

4.1Y86-64指令集體系結構

  • 記憶體從概念上來說就是一個很大的位元組陣列,儲存著程式和資料。

  • 我們不允許從一個記憶體地址直接傳送到另一個記憶體地址,也不允許將立即數傳送到記憶體。mmmovq immovq

  • 當需要指明不應訪問任何暫存器時,就用ID值0xF來表示。

  • Y86-64總是將常數值編碼成8個位元組。

  • 1-AOK-正常操作;2-HLT-遇到器執行halt指令;3-ADR-遇到非法地址;4-INS-遇到非法指令。
  • pushq指令會把棧指標減8,並且將一個暫存器值寫入記憶體中。

4.2邏輯設計和硬體控制語言HCL

  • 硬體描述語言HDL,硬體控制語言HCL,多路複用器MUX,算術/邏輯單元ALU。
  • 用時鐘暫存器儲存程式計數器(PC)、條件程式碼(CC)和程式狀態(Stat)。

4.3Y86-64的順序實現

  • 六個階段:取指(fetch)、譯碼(decode)、執行(execute)、訪存(memory)、寫回(write back)、更新PC(PC update)

  • 除了nop和halt指令,
    • 所有指令必須經歷:取指、執行、更新PC
    • 不經歷譯碼:irmovq、jxx
    • 不經歷訪存:OPq、rmmovl、irmovq、jxx
    • 不經歷寫回:rmmovq、jxx

教材例題

上週考試錯題總結

  • 錯題1

  • 錯題1解析

  • 錯題2

  • 錯題2解析

    • CF:進位標誌。最近的操作使最高位產生了進位。可用來檢查無符號操作的溢位。
    • ZF:零標誌。最近的操作得出的結果為0。
    • SF:符號標誌。最近的操作得到的結果為負數。
    • OF:溢位標誌。最近的操作導致一個補碼溢位--正溢位或負溢位。