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

歡迎訪問 生活随笔!

生活随笔

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

windows

计算机体系结构---第二章---指令系统

發布時間:2023/12/15 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机体系结构---第二章---指令系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 數據類型
      • 數據表示:哪些數據類型可以全部用硬件表示
        • 浮點數
        • 自定義數據表示
      • 數據結構:哪些數據類型用軟件實現
    • 指令
      • 指令按操作數存放方法進行分類:
      • 操作碼:
      • 操作數:
      • 尋址(待更新。。。。)
      • 尋址技術之----編址方式
        • 編址單位
        • 數據存儲方法
        • 編址地址的起始地址要求:
        • 大端數據與小端數據問題
        • 編址空間組織方式
      • 指令的優化(待更新。。。。)
        • 優化方式
          • 擴展編碼方法
      • 習題:

注:本文部分內容選自網易云課堂的北京郵電大學網課,推薦


數據類型

  • e.g. 文件 表 圖 樹 隊列。。。。
  • 數據表示和數據結構是數據類型的子集
  • 數據表示:哪些數據類型可以全部用硬件表示

  • 指:計算機硬件能夠直接識別,可以被指令系統直接調用的數據類型,硬件實現也比較容易的數據類型。
    e.g. 定點數、邏輯數、浮點數、字符、字符串、堆棧、向量、十進制數

  • 每一條指令都有相應的指令與之對應,并有硬件加以支持

  • 確定哪些數據類型用數據表示的原則:

    • 時間性能
    • 空間性能
    • CPU利用率

    e.g. 用頂點數據表示浮點運算,指令多cpu與主存的通信量增大,時間加長;浮點數運算雖然硬件復雜度增加,但是浮點數據利用率高時間快

    對于很復雜的數據類型,用數據表示硬件的代價很大,so軟硬件相結合的方法最好





    浮點數


  • 自定義數據表示

    因為高級語言中,編譯器要根據數據的不同類型生成不同的指令,為簡化指令系統,提出在機器語言一級有數據自己定義屬性。

    標志符:
    描述一個數據
    指用于標識數據類型,例如負數、幾機制、浮點型等;
    由編譯器建立,對用戶透明,對系統程序員不透明

    • 采用標識符的優點:
      簡化指令系統,由硬件自動實現一致性檢查和數據類型轉換

    • 問題:
      數據和指令長度可能不一致----解決方法:1. 將數據和指令分別存儲在兩個存儲器上 2.指令長向數字長靠攏 關于指令和數據的分開存儲和混合存儲參考博文:指令和數據混合存儲與分開存儲的比較
      指令的執行速度時間降低 ----- 因為執行時要對每個標識符進行解釋

      硬件復雜度增加

      增加了數據區域的存儲空間

    下圖反映的是代標識符和不帶標識符所占空間的比較
    一般紫色>橘色,紫色:指令集字縮短,減少的存儲空間; 橘色:存儲字長加長,增加的存儲空間
    因為指令條數>>字加長位數,紫<橘


    描述符:
    對于復雜數據結構連續存放的數據,沒有必要讓每個數據都帶標識符
    e.g. 例如矩陣、向量

    描述一組數據,CF:標識符只表示一個數據
    數據描述符中包含數據的各種標志位、長度、數據地址。能夠使整個向量、矩陣、多維數組運算

    優缺點和標志符相同

    存儲空間

    數據結構:哪些數據類型用軟件實現

    e.g. 串,隊,列,棧,陣列,鏈表,樹,圖



    指令

    組成;操作碼&地址碼
    指令總是有一個操作碼+0-n個操作數組成

    指令按操作數存放方法進行分類:

  • 堆棧型機器——CPU中存儲操作數的單元是堆棧的機器。
  • 累加型機器——CPU中存儲操作數的單元是累加器的機器。
  • 通用寄存器型機器——CPU中存儲操作數的單元是通用寄存器的機器。
  • 不同類型對應的機器型號不同


    其中通用寄存器有:

    所以指令可以有多種表示:

    操作碼:

    • 指令的操作種類
    • 所用操作數的數據類型:if采用自定義數據表示法,不用指出類型,只要知道種類就行

    操作數:

    • 操作數地址
    • 地址附加信息:偏移量,塊長度,跳距
    • 尋址方式

    尋址(待更新。。。。)

    大多數指令都有操作數,從哪里得到這些操作數,就需要尋址

    • 立即尋址
    • 直接尋址
    • 寄存器尋址
    • 變址尋址
    • 基址變址尋址






    尋址技術之----編址方式

    在尋址之前就要編址
    解釋:編址就是對各種存儲設備進行編碼
    設備:
    ATT: 堆棧是一種存儲設備但是他不用編址

    編址單位

    • 字編址
      實現最容易:每個編制單位與設備的訪問單位一致
      每讀完一條指令,程序計數器+1,每讀完一個數據,地址計數器+1
      缺點:沒有對非數值計算提供支持,非數值要求按字節編址

    • 字節編址
      應用最普遍
      優點:編址單位和信息的基本單位一致,有利于符號處理(ASCII碼按字節)
      缺點:訪問字長為一個字節太窄了,通常主存儲器的字長是4個字節以上,地址信息浪費,存儲器空間浪費

    • 位編址
      優缺點同字節編址一致
      應用:STAR-100
      優缺點同字節編址,BUT地址信息浪費更大(e.g. 處理機字長64位,則一個地址末6位全為0,一個字節末3位為0,則訪問一個字要占64個地址編碼,一個字節要8個地址編碼)





    數據存儲方法

    優點:不浪費存儲器資源

    缺點:存儲器讀寫復雜;存儲器工作速度降低(因為除了訪問一個字節之外,訪問雙字、單字、半字時要話費2個存儲空間)


    ATT : 最重要的是存儲器訪問時間


    優點:存儲器讀寫復簡單;存儲器工作速度塊(因為除了訪問一個字節之外,訪問雙字、單字、半字時要是1個存儲空間)

    缺點:浪費存儲器資源


    折中方案:使用最普遍

    優點:保證無論雙字單字都能在1個周期內完成

    缺點:有浪費存儲器資源,但優于第二種;讀寫仍然比較復雜

    編址地址的起始地址要求:

    大端數據與小端數據問題

    究竟是左端最大還是右端最大

    按字節編址的存儲器中,從右邊開始編址:軟件人員的習慣;從左邊編址:硬件人員的習慣。
    x86采用的是按右邊編址




    編址空間組織方式

    • 三個零地址空間: 每種設備都是從0開始編址的


    RISC;只有訪問操作在3類存儲設備中都能進行,而運算位移測試操作只能在通用寄存器中進行
    CISC:all操作都能在3類設備上進行

    • 2個零地址空間
      地址高端部分— 輸入輸出設備,低端地址— 主存儲器
      缺點:指令執行過程復雜---- 所有訪問主存儲器的指令都要進行是否訪問輸入輸出設備的判斷
      優點:簡化指令系統

      RISC:只有LOAD,STORE指令能訪問主存儲器,all運算操作都要在寄存器中進行。而訪問輸入輸出通常操作簡單,尋址方式單一因此RISC不適合2個零地址空間
      CISC:訪問輸入輸出設備單一,不需要聯合在一起(主存+輸入輸出)

    • 一個零地址空間
      all 設備統一編址,地址低端是通用寄存器,高端是輸入輸出設備

    • 隱含編址
      堆棧,cache,特殊的寄存器,data是先進先出的方式不用編址

    指令的優化(待更新。。。。)

    目標:1. 節省程序的存儲空間 2. 指令格式要盡量規整 3. 不能降低指令的執行速度

    優化方式

    • 定長編碼
      • 優點:公平規整,譯碼簡單
      • 缺點:浪費信息,操作碼總長度增加
    • 不定長編碼(哈夫曼編碼)
      • 優先性
      • 優點:平均碼長最短,信息冗余最小
      • 計算題:與擴展編碼對比
        擴展編碼a-b:先擴展a位,再擴展
    • 擴展編碼法:2者耦合:對于優先性大的,碼長盡量小,且相對均勻
    擴展編碼方法

    ATT:平均最短碼長有負號(這里少寫了)

    如果直接就用HUffman編碼方法,有以下問題:

    所以需要擴展編碼的方式,由固定長操作碼和Huffman編碼相結合

    擴展編碼的思想:

  • 哈夫曼又稱為前綴編碼 ,因為短碼不能是長碼的前綴
  • 高頻率的用短碼,低頻率的用長碼
  • 哈夫曼編碼不唯一
  • 等長編碼:
    4-8-12擴展法:有采用15/15/15擴展;8/64/512擴展

    ATT:
    15-15-15:就是每次變低位的,高位為1111
    8-64-512:擴展每4個里面的后3位

    同理:3-6-9

    2-4擴展法:

    不等長編碼:
    4-6-10;8-31-16

    習題:











    總結

    以上是生活随笔為你收集整理的计算机体系结构---第二章---指令系统的全部內容,希望文章能夠幫你解決所遇到的問題。

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