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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

inc指令是什么意思_mips指令集与cpu架构(一)

發布時間:2024/1/23 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 inc指令是什么意思_mips指令集与cpu架构(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

終于開始了mips指令集與cpu的講述。寫這一系列的文章的出發點在于本學期學習的《計算機組成原理》課程會在開學后考試,因此既是總結也是一種復習。我們采用的教材是DavidA.Patterson與John L.Hennessy合著的ComputerOrganization and Design:The Hardware/Software Interface,中文譯名為《計算機組成與設計:硬件/軟件接口》,如下所示。

在該書中,介紹了mips指令集與mips指令集對應的cpu的結構設計過程,并且需要做一個使用硬件描述語言,如verilog等,完成的簡單cpu模型。
本期要點:程序運行的一般過程與指令集的分類。
首先我們來看這樣的一段C程序:int?i?=?0?,?j?=?1;i = i + j?;if?(i == 0)??return?0;for?(;i < 100; ++i) printf("1");return?0;在深入的了解計算機前,我們首先要知道的是,計算機并不比人聰明,他們并不能看懂這段代碼到底在干嘛。那么計算機是怎么讀懂這段代碼的呢?簡單的說,計算機的世界只有0和1,因此計算機只能讀懂最簡單的01串,所以這段c代碼最后會轉換成01串。粗淺的說,這段代碼首先會變成指令集,然后再變成01串,相當于經過了多次封裝。如果在linux下編譯過c程序的同學應該知道,使用gcc -s 就可以將c程序編譯為指令集,或者說匯編語言,一般來說,我們編譯出來的是x86下的指令集,但是如果我們安裝環境以后,我們是可以將c編譯成mips指令的。除了上述提到的兩個指令集,還有其他的一些指令集,我們在這就不贅述了。那么x86和mips有哪些不同呢?在我看來,mips更像一個學院派的指令集,其每條指令都是定長的,但是x86則趨向于商用,其指令并不是定長,而是變長的。接下來我們開始對mips指令集的介紹,在接下來的內容中,我們默認mips指令集為32位長。我們一般認為mips指令集分為三類指令,分別為R類、I類和J類指令。他們分別是什么意思呢?我們結合上面的c程序來講解。首先我們看到如下指令:i = i + j ;那么其會怎么編譯呢?首先我們要知道,數據是存在寄存器中的,在這里我們認為共有32個寄存器,其分別有不同的作用。如下圖所示:那自然而然的,加數和被加數和結果都在寄存器中,我們怎么告訴電腦這些呢?我們自然要指定我們的操作類型和目標的寄存器位置對吧?于是我們給出第一類R指令的結構:

那可能你會問了,如果是加一個常數咋辦呢?總不能每個常數都放在一個地方存起來吧?這顯然是不合理的,于是我們就得到了I指令:

這里的I就是immediate的意思,也即立即數,就是我們指令后面16位的數據。那么J指令呢?J在這里指的是jump的意思,在這里我們簡單的給出J的指令結構,也就是保留op的6位數,而后面全是立即數,因為需要考慮到內存的范圍,我們將在下次的推送中細說。
總結:總的來說,高級程序語言會首先被編譯為指令集,然后指令集再被編譯為01串。mips指令集總共有三大類指令,分別為R類、I類和J類指令。今天的推送就到這里啦,感謝各位的閱讀~可以點個贊和點個在看呦~

總結

以上是生活随笔為你收集整理的inc指令是什么意思_mips指令集与cpu架构(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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