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

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

第四章 處理器體系結構

程式設計師可見狀態

Y86程式中的每條指令都會讀取或修改處理器狀態的某些部分,稱為程式設計師可見狀態。其中包括:

8個程式暫存器:%eax,%ecx,%edx,%ebx,%esi,%edi,%esp和%ebp。

條件碼:ZF(零)、SF(符號)、OF(有符號溢位)

程式計數器(PC):存放當前正在執行的指令的地址

儲存器:很大的位元組陣列,儲存著程式和資料。Y86系統用虛擬地址來引用儲存器的位置,硬體和作業系統軟體聯合起來將虛擬地址翻譯成實際或者實體地址。

狀態碼(stat):表明程式執行的總體狀態。

邏輯設計和硬體控制語言HCL
邏輯閘產生的輸出,等於它們輸入位值的某個布林函式。
AND &&
OR ||
NOT !
邏輯閘只對單個位的數進行操作,而不是整個字。
組合電路和HCL布林表示式
字級的組合電路和HCL整數表示式
在處理器設計中,很多時候都需要將一個訊號與許多可能匹配的訊號做比較,以此來檢測正在處理的某個指令程式碼是否屬於某一類指令程式碼。

Y86-64的順序實現
將處理組織成階段
1.針對OPl(整數和邏輯運算),rrmovl(暫存器-暫存器傳送)和irmovl(立即數-暫存器傳送)
2.針對rmmovl和mrmov
3.針對pushl和popl
4.針對跳轉,call和ret
取指
譯碼
執行
訪存
寫回
更新PC
時序控制:程式計數器、條件碼暫存器、資料暫存器、暫存器檔案。