為什麼 ARM 和 MIPS 那麼多暫存器,x86 那麼少?

時間 2022-01-22 09:21:33

1樓:狗肉 花與果

x86太早了,為了保持相容背的歷史包袱

有了暫存器重新命名,其實現在的暫存器也不少

x86作為表面上的cisc指令集,有很多指令直接把儲存作為運算元。而典型的risc,除了load/store,其他指令都只讀寫暫存器。這意味著risc需要更多的暫存器來暫存值。

2樓:Xi Yang

因為x86出的早得多,設計比較原始。

暫存器數量現在不是乙個太大的問題,因為你從CPU的程式設計介面訪問的暫存器,現在已經不是真實的暫存器,會通過一些技術在內部用更多的暫存器。你幾乎可以認為現代的x86是乙個套了CISC皮的RISC處理器。

但是暴露的暫存器數量多依然會有好處,至少函式傳參的時候基本不太可能遇到暫存器放不下、必須要用棧的情況,效率可能會高一些。

3樓:望山

很大的暫存器堆是RISC最重要的特點之一。如果沒有那麼多暫存器,RISC這個設計思想就不能成立了。RISC這個概念提出時,就是強調除了LOAD、STORE指令以外,其他指令都是全暫存器操作,不訪問記憶體,從而保證其單週期性。

所以它必須有很多暫存器來存放中間變數。

4樓:jeffery.wang

指令集ISA決定編譯器可以看到的暫存器,實際晶元微架構實現時,為解除暫存器相關依賴,開發指令集並行,從而超標量多發射亂序執行得到更高的效能,會暫存器重新命名擴充套件更多的物理暫存器。當然現在也有一些CPU,例如TENSILICA,有寄存滑窗,各種呼叫時可以指定視窗,這樣也擴充套件了實際暫存器數量。

5樓:原子筆

x86那麼多種定址模式,當年如果通用暫存器很多的話,對於位址解碼器來說實在是有點災。

x64的時候amd並沒有選擇特別激進,只把通用暫存器翻了1倍,ip暫存器變成可以定址,,,然而這廝實在陰險,大幅度增加了SSE部分的暫存器數量:因為老x86指令集的專利快到期了,怎麼構築intel&amd在市面上吃獨食的防火牆? 大力推銷SSE2之後加的一堆暫存器進入x64 ABI標準。。。

6樓:夜航船

為了相容古董程式。暫存器多了命名也要多,名字多了佔的位址空間多,太多了指令集就要改,改了就沒法相容40年前的程式,於是只能這樣了。

7樓:陳碩

32-bit ARM 和 x86-64 的通用暫存器一樣多,都是 16 個。實際能用的暫存器 ARM 可能還要少一兩個。

為什麼吹 Uzi 的人那麼多,全球總決賽那麼多冠軍選手,為什麼認準 Uzi 了?

南見雪 有哪個奪冠了的AD選手,主動吹UZI了?那些主播吹uzi,大程度是沒辦法,畢竟退了,不能跟現役的比。你看現在烏茲退了,誰還吹?bang 每次都是我贏。IMP 我只用了五成力。別的ad 烏茲都沒跟人家交過手吧?S1,S2不提了,S3名場面豬讓塔下Q死UZI,S4冠軍ad imp,S5冠軍S6冠...

為什麼大學了還是有那麼多那麼多自私的人?

我室友就有乙個,超級自私,從來不考慮別人的感受,東西都是用別人的,自己不知道買。我就納悶,馬上都是結婚的人了,為啥還這麼自私 他是我長這麼大以來見過最自私的乙個,應該也是最後一了,因為他的自私無人能及 偷月亮的貓 上了大學反而會越來越多看到這種讓人心酸的現象,並且以後的路還會看的,遇到更奇葩的事情 ...

為什麼數碼小白那麼多?

淳傑 我將樓主的對數碼的定義理解為現在較流行的裝置。如手機,電腦等。小白則是對數碼只懂一點的人 俱此我認為主要有兩點原因 第一是三分鐘熱度的現象,很多人在出現乙個新的事物的時候都會產生一定的興趣想去了解,但隨著時間的拉長,衝動型的興趣逐漸消退,加之越到後面專業性會更強,進一步減弱了興趣和動力。所以大...