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

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

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

教材學習內容總結

  1. 一個處理器支援的指令和指令的位元組級編碼稱為它的指令體系結構(Instruction-Set Architecture,ISA)。
  2. 冒險就是一條指令的位置或運算元依賴於其他仍在流水線中的指令。
  3. 程式設計師可見狀態包含程式暫存器(RF)、條件碼(CC)、程式狀態(Stat)、記憶體(DMEM)、程式計數器(PC)、狀態碼指明程式是否執行正常,或者發生了某個特殊事件。
  4. 程式暫存器15個,條件碼3個。
  5. 暫存器%rsp被入棧、出棧、呼叫和返回指令作為棧指標。
  6. 記憶體從概念上來說就是一個很大的位元組陣列,儲存著程式和資料。
  7. Y86-64指令集基本上是x86-64指令集的一個子集。它只包括8位元組整數操作,定址方式較少,操作也較少。
  8. 指令編碼長度從1個位元組到10個位元組不等。具體每個指令的指令指示符見P246,P247和P248
  9. 將很多的邏輯閘組合成一個網,就能構建計算塊,稱為組合電路。
  10. 組合邏輯電路可以設計成在字級資料上執行許多不同型別的操作。算術/邏輯單元(ALU)是一種很重要的組合電路。(P261)
  11. 處理階段包含取指、譯碼、執行、訪存、寫回、更新PC。

12 .SEQ的硬體結構

13 . Y86-64的流水線實現(SEQ+)

14 . PIPE的硬體結構

程式碼託管

上週考試錯題總結

x86-64中指令長度是(F)位元組

A .
1

B .
2

C .
4

D .
1-4

E .
1-8

F .
1-15

G .
1-16

H .
以上都不對

解析:課本p116

x86-64的指令長度從1到15個位元組不等

假設%rax中的值為x, %rcx中的值為y,關於leaq指令,下面正確的(AC)

A .
leaq 6(%rax), %rdx; %rdx中值為6+x

B .
leaq 6(%rax), %rdx; %rdx中值為6x

C .
leaq 7(%rax, %rax,8), %rdx; %rdx中值為9x

D .
leaq 7(%rax, %rax,8), %rdx; %rdx中值為63x

E .
leaq 7(%rax, %rax,8), %rdx; %rdx中值為15x

解析:p129

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

這本書(深入理解計算機系統)用第三、第四兩章講解了我們上個學期用一個學期學習的彙編知識,從物理層面到二進位制機器碼,再到組合語言,而後高階語言,循序漸進,讓我對計算機系統有了一個深刻的瞭解,但是,要做到“學會”仍然差很遠。而且因為覆蓋面很廣,導致我在學習時產生了慌不擇路,學的知識廣而不精的問題,希望在之後的學習中能夠克服這一點。

學習進度條

程式碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積)
目標 1000行 30篇 400小時
第一週 156/200 2/2 20/20
第二週 121/200 2/2 18/30
第三週 107/200 2/2 15/30
第四周 111/200 2/2 16/30