日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

2018-2019-1 20165237 《信息安全系统设计基础》第四周学习总结

發布時間:2025/3/20 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018-2019-1 20165237 《信息安全系统设计基础》第四周学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

處理器體系結構

Y86指令集體系結構

  • 內容:定義一個指令集體系結構,包括定義各種狀態元素、指令集和它們的編碼、一組編程規范和異常事件處理

程序員可見狀態:

  • Y86程序中的每條指令都會讀取或修改處理器狀態的某些部分。
  • Y86具體包括:8個程序寄存器、3個條件碼ZF\SF\OF、程序計數器(PC)。
  • Y86用虛擬地址引用存儲器位置。 程序狀態的最后一個部分是狀態碼Stat,它表明程序執行的總體狀態。
    Y86指令

Y86指令

  • 指令介紹:
    • halt:這個指令將會終止指令的執行
    • nop:這是一個占位指令,他不做任何事,后續為了實現流水線,它有一定的作用
    • xxmovl:這是一系列的數據傳送指令,其中r代表寄存器,m代表存儲器,i代表立即數.比如rrmov指令,則代表將一個寄存器的值,賦給另外一個寄存器
    • opl:操作指令,比如加法,減法等等
    • jxx:條件跳轉指令,根據后面的條件進行跳轉
    • cmovxx:條件傳送指令,后面的xx代表的是條件.特別的是,條件傳送只發生在兩個寄存器之間,不會將數據傳送到存儲器.
    • call與ret:方法的調用和返回指令.一個將返回地址入棧,并跳到目標地址.一個將返回地址入PC,并跳到返回地址.
    • push和pop:入棧和出棧操作

指令編碼

  • 在上圖的右邊,是指令所占的字節數或者說編碼.一般兩個寄存器占用一個字節,存儲器則占用四個字街,指令的編碼和功能占用一個字節.因此可以看到,比如rrmovl指令,它的字長長度是2,其中第一個字節代表了指令rrmovl,第二個字節代表了兩個寄存器.
  • 對于opl,jxx,cmovxx指令來說,都有一個fn標致,占用4個二進制位(半個字節).這個便是指令的功能部分,這個是由于他們的指令編碼一樣,但功能有所不同所造成的.比如對于opl,就有加,減,與,異或等操作,那么它們的指令編碼第一個字節就分別為十六進制的60,61,62,63.
  • 對于寄存器的表示,是使用4個二進制位表示的,這是一個ID標志.所有的寄存器可以看做是一個寄存器文件,其中的ID標志就類似于它們的地址.對于一些只需要一個寄存器的指令來說,另一個寄存器標志位使用0xF表示.
  • 還有的指令需要一個字的常數,比如irmovl指令,call指令等等.這種指令,將會把常數放在最后的四個字節當中,順序按照大端法或小端法表示(與機器和OS有關).對于call指令來說,這四個字節就是一個地址,這個地址就是絕對地址,指向了存儲器當中的某一個位置,這個位置存儲著代碼.采用絕對地址是為了描述簡單,真實當中,時采取的基于PC的相對地址.

Y86異常

  • 對Y86來說,程序員可見的狀態中就有stat狀態碼,它標志了程序執行的狀態.Y86需要有能力根據stat去做一些處理.捕獲為了簡單起見,這里除了正常執行之外,都將停止指令的執行.真實當中,會有專門的異常處理程序.
  • Y86有四種不同的狀態碼:AOK(正常),HTL(執行halt指令),ADR(非法地址)和INS(非法指令).

Y86程序

  • Y86指令和IA32代碼的主要區別在于,它可能需要多條指令來執行一條IA32指令能完成的所有功能。
  • Y86沒有伸縮尋址模式。
  • 以“.”開頭的詞是匯編器命令,命令.pos0告訴匯編器應該從地址0處開始產生代碼。
  • 創建Y86代碼的唯一工具是匯編器。
  • YIS:指令集模擬器
  • Y86和X86的區別在于,有的時候Y86需要兩條指令來達到X86一條指令就可以達成的目的.
    • 比如對于X86指令中的addl $4,%ecx這樣的指令,由于Y86當中的addl指令不包含立即數,所以Y86需要先將立即數存如寄存器,即使用irmovl指令,然后再使用addl來處理加法運算.
    • 總的來說,Y86就是X86的一個縮減版,他的目的就是以簡單的結構來實現一個處理器,幫助我們了解處理器的設計和實現.

一些Y86指令的詳情

  • 大多數Y86指令是以一種直接的方式修改程序狀態的。
  • 執行pushl和popl指令時,處理器的行為是不確定的,因為要入棧的寄存器會被同一條指令修改。通常有兩種約定:
    • 壓入/彈出%esp的原始值
    • 壓入/彈出%esp-/+4后的值

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

邏輯門

  • 邏輯門是數字電路的基本計算元素,它們的輸出,等于它們輸入位值的某個布爾函數。
  • 邏輯門總是活動的,一旦一個門的輸入變化,在短時間內,輸出就會跟著變化。。

組合電路和HCL布爾表達式

  • 組合電路:將很多的邏輯門組合成一個網,能構建計算塊。
  • 多路復用:根據輸入控制信號的值,從一組不同的數據信號中選出一個。
  • 構建這些網有2條限制:
    • (1)兩個或多個邏輯門的輸出不能連接在一起
    • (2)這個網必須是無環的。
  • HCL表達式和C語言中邏輯表達式的區別:
    • (1)組合邏輯電路的輸出會持續地響應輸入的變化;C表達式只有在程序執行過程中被遇到時才會求值。
    • (2)C的邏輯表達式允許參數是任意整數,0表示FLASE,其他任何值都表示TRUE;邏輯門只對位值0和1進行操作。
    • (3)C的邏輯表達式可能只被部分求值;組合邏輯沒有部分求值的規則,邏輯門只是簡單地響應輸入的變化。

學習進度條

代碼行數(新增/累積)博客量(新增/累積)學習時間(新增/累積)重要成長
目標5000行20篇400小時
第一周61/611/110/10了解vim,gcc,gdb基本操作
第二周0/611/210/20了解信息的表示和處理
第三周21/811/310/30更深層次了解信息處理
第四周29/1002/510/40Y86處理器

轉載于:https://www.cnblogs.com/Miss-moon/p/9827092.html

總結

以上是生活随笔為你收集整理的2018-2019-1 20165237 《信息安全系统设计基础》第四周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。