2017-2018-1 20155338 《信息安全系统设计基础》第七周学习总结
2017-2018-1 20155338 《信息安全系統設計基礎》第七周學習總結
教材學習內容總結
Y86-64指令集體系結構
程序員可見狀態
概念:Y86程序中的每條指令會讀取或修改處理器狀態的某些部分,這些稱之為處理器的可見狀態。
Y86處理器狀態可以訪問和修改程序寄存器、條件碼、程序計數器和存儲器,狀態碼指明程序是不是運行正常。
名詞代表及意義:
DMEM:存儲器 很大的字節數組,保存著程序和數據。Y86程序用虛擬地址來引用存儲器位置。
RF:程序寄存器 %eax,%ecx,%edx,%ebx,%esi,%edi,%esp(出棧、入棧、調用和返回指令作為棧指針),%ebp
Stat:程序狀態碼 它表明程序執行的總體狀態。它會指示是正常運行還是出現了某種異常。
PC:程序計數器 存放當前正在執行的指令
CC:條件碼
ZF、SF、OF(都是一位條件碼,用來保存最近的算術或邏輯指令所造成影響的有關信息。)
Y86指令
(1)、指令編碼長度從1個字節到6個字節不等,一條指令含有一個單字節的指令指示符,或者含有一個單字節的指示符。字段fn指明是某個整數操作、數據移動條件、或是分支條件。
指令集錦:
4個整數操作指令。addl、subl、andl和xorl。
7個跳轉指令(jXX)。jne、jl、jle、je、jmp、jge和jg。
有6個條件傳送指令(cmovXX)。cmovle、cmovl、cmove、cmovne、cmovge和cmovg。只有當條件碼滿足所需要的約束時,才會更新目的寄存器的值。
call指令將返回地址入棧,然后跳到目的地址。
ret指令從這樣的過程調用中返回。
pushl和popl指令實現了入棧和出棧的功能。
halt指令停止指令的執行。對于Y86來說,執行halt指令會導致處理器停止,并將狀態碼設置為HLT。
邏輯設計和硬件控制語言HCL
邏輯門
邏輯門是數字電路的基本計算元素,輸出為輸入位值的某個布爾函數。
HCL表達式:
~~~~
AND: &&
OR: ||
NOT: !
~~~~
邏輯門只對單個位的數進行操作,而不是整個字。
常見的n路操作表示,例:AND門,輸入為a,b,c,HCL表示為a&&b&&c
組合電路和HCL布爾表達式
組合電路是將很多的門組合成網構建計算塊的電路
構建的兩條限制:
網必須是無環的,也就是不能形成一個回路
兩個或多個邏輯門的輸出不能連接在一起,否則會使線上的信號矛盾
Y86的順序實現
SEQ的時序
SEQ的實現包括組合邏輯和兩種存儲器設備:
1、時鐘寄存器
2、程序計數器和條件碼寄存器
組合邏輯不需要時序或控制。
四個硬件單元需要時序進行明確控制:
~~~~
程序計數器、條件碼寄存器、數據存儲器和寄存器文件
~~~~
通過一個時鐘信號來控制,它觸發將新值裝載到寄存器以及將值寫到隨機訪問存儲器。只需要寄存器和存儲器的時鐘控制。
代碼調試中的問題和解決過程
問題1:
輸入
./psim -t -g ../y86-code/asum.yo之后顯示找不到/asum.yo命令問題1解決方案:
回到y86-code文件夾,顯示的是asumi.yo文件,可能每個人的不一樣,把之前的命令改成/asumi.yo就可以打開模擬器了。
安裝tcl/tk
下載并解壓sim文件夾
輸入make clean命令,并make,然后用cat命令查看
打開模擬器
代碼托管
結對及互評
本周結對學習情況
20155307
結對學習內容
- 教材第四章
學習進度條
| 目標 | 2000行 | 15篇 | 200小時 | |
| 第一周 | 150/150 | 1/1 | 17/17 | |
| 第二周 | 70/220 | 1/2 | 12/29 | |
| 第三周 | 100/320 | 1/3 | 10/39 | |
| 第四周 | 100/420 | 1/4 | 10/59 | |
| 第五周 | 80/500 | 2/6 | 22/81 | |
| 第六周 | 300/800 | 2/8 | 30/111 | |
| 第七周 | 200/1000 | 1/9 | 25/136 |
計劃學習時間:20小時
實際學習時間:25小時
轉載于:https://www.cnblogs.com/Hdywan/p/7788278.html
總結
以上是生活随笔為你收集整理的2017-2018-1 20155338 《信息安全系统设计基础》第七周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql双机热备实现
- 下一篇: 神经网络与推荐系统初步简介