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

歡迎訪問 生活随笔!

生活随笔

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

windows

【计算机系统设计】学习笔记(1)03,04

發布時間:2023/11/30 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算机系统设计】学习笔记(1)03,04 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 疑問:sw和lw指令,獲取的地址==不是4的整倍數(字節不對齊)==的時候,應該如何處理?

東南大學MOCC 計算機系統綜合設計 03

03-1 寄存器

介紹了MIPS寄存器,32個寄存器的基本功能和使用,注意

  • 子程序調用寄存器t不保護與s的保護
  • $31寄存器在子程序嵌套調用下如何使用?
  • $0只能為0,寫入其他值將會被忽略,但是允許寫入,只是寫完也沒用

03-2 尋址方式

PC相對尋址

PC = (PC + 4) + ((sign-extend)imm << 2)

為什么要擴展后左移兩位?因為32位指令進行字節對齊后,一定是4的倍數,因此最低兩位一定是00,所以就沒必要存儲上再占空間,而計算的時候,則要還原它。

字節尋址而不是字尋址
所有跳轉指令的目標地址,編譯存儲的時候,都會?4,實際運行的時候,都是乘以4還原

04 典型指令講解

  • MinSysy-1不處理異常

  • add和addu的區別,前者溢出后進行異常處理,后者不進行,因此后者常用來進行地址計算(如果偏移量為負值,必然溢出,但實際上只是地址往上跳轉而已)

  • 由于暫時無異常處理,所以add和addu,addi和addiu實際一樣。

  • sub和subu也一樣, u 代表的含義是,溢出之后有沒有異常處理。

  • 對于立即數運算,邏輯運算imm是零擴展(例如andi),算術運算imm是符號擴展(例如addi),這很好理解,邏輯運算沒有有無符號數的概念。(具體指令具體分析

  • 注意寫操作的rs和rt的反著的,源是rt,目標地址是rs + 偏移量

    • 疑問:sw和lw指令,獲取的地址==不是4的整倍數(字節不對齊)==的時候,應該如何處理?(比如直接忽略不對齊的部分,或者報異常)

    對于字讀取,如果不是4的倍數,那么最低兩位不是00,但是存儲的時候,也一樣>> 2,又會給抹掉了。
    把16位立即數,賦值給32位寄存器的高16位。

    對于beq和bne指令,判斷相等不相等,直接用減法(-)判斷就行了。

    • 小于則賦值,條件賦值指令

      比大小,自然應該是算術運算,有符號數。

    因此自然有無符號比較的小于置位

    顯然是邏輯上的,因此是零擴展

    就類似于函數調用,調用完之后,要返回$31值對應的地址。


    jal和jr配合,就實現了過程調用和返回

    注意,有的是硬件設計相關,有的則是軟件設計相關。

    小結

    把握指令集功能的內在聯系,而不是堆砌它們。

  • 零擴展還是符號擴展?
  • 一般來說,算數運算是符號擴展
  • 邏輯運算是零擴展
  • 溢出檢測還是不檢測?(溢出:針對有符號數,正數 + 正數 = 負數、正數 - 負數 = 負數……)
  • 算數運算,檢測溢出
  • 邏輯運算、地址運算,沒必要檢測
  • 等于不等于的判斷?直接復用減法就好了。
  • 總結

    以上是生活随笔為你收集整理的【计算机系统设计】学习笔记(1)03,04的全部內容,希望文章能夠幫你解決所遇到的問題。

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