2017-2018-1 20155304 《信息安全系統設計基礎》第七週學習總結

教材學習內容總結

4.1:Y86指令集體系結構

  • 程序員可見的狀態:每條指令都會讀取或修改處理器狀態的某些部分
  • Y86包括:8個程序寄存器、3個條件碼ZF\SF\OF、程序計數器(PC)
  • Y86用虛擬地址引用存儲器位置,程序狀態的最後一個部分是狀態碼Stat,它表明程序執行的總體狀態
  • Y86指令:
    movl分為irmovl rrmovl mrmovl rmmovl
    整數指令:addl subl andl xorl
    跳轉指令:jmp jle jl je jne jge jg
    6個條件傳送指令:cmovle cmovl cmove cmovne cmovge cmovg
    call:將返回地址入棧,然後跳到目的地址
    ret:過程調用中返回
    pushl:入棧
    popl:出棧
    halt指令停止指令的執行:,執行此指令會導致處理器停止,並將狀態碼設置為HLT
  • 指令的字節級編碼:每條指令需要1-6個字節不等,每條指令的第一個字節表明指令的類型
  • 第一個字節:分為兩個部分,每個部分4位:
    高四位:代碼部分,值域為0~0xB
    低四位:功能部分,功能值只有在一組相關指令共用一個代碼時才有用
  • 額外的字節
    附加的寄存器指示符字節:指定一個或兩個寄存器,例如rA或者rB
    附加的4字節常數字
  • Y86指令和IA32代碼的主要區別在於:它可能需要多條指令來執行一條IA32指令能完成的所有功能

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

  • 邏輯門符號:
    AND:&&
    OR:
    NOT:!
  • 組合電路:將很多的邏輯門組合成一個網,能構建計算塊。
  • 限制:

1.兩個或多個邏輯門的輸出不能連接在一起

2.這個網必須是無環的。

  • 組合邏輯電路和c語言中邏輯表達式的區別
    組合電路的輸出會持續響應輸入變化,c語言表達式只有在執行過程中被遇到才求值
    邏輯門只對0和1操作,c語言表達式中參數可以是任意整 數,0是FALSE,不是0的都是TRUE
    c的邏輯表達式可能被部分求值
  • 存儲設備都是由同一個時鐘控制,包括:
    時鐘寄存器(寄存器):存儲單個位或字,時鐘信號控制寄存器加載輸入值
    隨機訪問存儲器(存儲器):存儲多個字,用地址來選擇該讀或該寫哪個字

4.3:Y86的順序實現

  • 將處理組織成階段:
    取指:從存儲器讀取指令字節,地址為程序計數器PC的值,icod指令代碼、ifun指令功能、valc四字節常數、valp下一條指令的地址=PC值+已取出指令長度
    譯碼:從寄存器文件讀入最多兩個操作數
    執行:算數/邏輯單元要麼執行指令指明的操作(根據ifun的值),計算存儲器引用的有效地址,要麼增加或減少棧指針,得到的值稱為valE
    訪存:將數據寫入存儲器或從存儲器讀出數據,值為valM
    寫回:最多可以寫兩個結果到寄存器文件
    更新PC:將PC設置成下一條指令地址
  • SEQ硬件結構:
    取指:將程序計數器寄存器作為地址,指令存儲器讀取指令的字節
    譯碼:兩個讀端口,讀寄存器valA和valB
    執行:根據指令的類型,將算數/邏輯單元用於不同的目的
    訪存:數據存儲器讀出或寫入一個存儲器字
  • SEQ的實現包括組合邏輯和兩種存儲器設備:
    時鐘寄存器:程序計數器和條件碼寄存器
    隨機訪問存儲器:寄存器文件、指令存儲器和數據存儲器

代碼調試中的問題和解決過程

  • 打開虛擬機時提示掛載失敗,但安裝YIS的安裝包在Windows系統上,需使用共享文件夾中的安裝包。
  • 解決過程:重新手動掛載,再執行安裝過程。

其他(感悟、思考等,可選)

本週的知識點的學習重點在於4.3,對於Y86的順序實現過程中,用了很多的時間去學習的,很多知識點都是建立於棧幀的知識點上的。之前的基本功不紮實,學起來就會比較困難。但是關於HCL的知識,因為之氣學過verilog與HDL設計課程的基礎,理解起來就會容易許多

學習進度條

代碼行數(新增/累積)

博客量(新增/累積)

學習時間(新增/累積)

重要成長

目標

5000行

30篇

400小時

第一週

47/100

1/1

10/10

第二週

180/200

1/1

10/10

第三週

200/300

1/1

10/10

第五週

190/300

1/1

10/10

第六週

220/300

2/2

10/10

第七週

320/500

2/2

10/10

參考資料

  • 《深入理解計算機系統V3》學習指導
  • ...