[討論] RISC和CISC現在還真的有差別嗎?

作者: ja9740807 (finallydream)   2020-11-18 19:45:00
我們常常在教科書 甚至很多文章上看到
RISC就是什麼只加總
CISC有甚麼很複雜的操作阿,加減乘除之類的
在2020年的今天 他們究竟還存在那些差別呢?
https://i.imgur.com/KXLZkm0.jpg
(圖為MIPS架構)
這架構就是很經典的RISC
他沒有複雜的分支預測 uops感知器阿
甚至他只有單純的ALU 執行整數運算
這就是RISC最原本的樣子
那現在的ARM處理器又是什麼樣子呢?
我們拿一個最經典的處理器 ARM公版架構
也就是S835拿來魔改的A73架構
https://i.imgur.com/Xl0kLa3.png
(圖為ARM A73架構)
已經不是只有單純的ALU
又了很大量的ROB
再加上不論是NEON/ FP合併的運算
或者是INT 和AGU
早就違背當初RISC簡單的初衷
RISC早期會快是因為元件設計簡單
流程相對較短 執行的東西也單一
可以在一個週期 數次快速重複指令運算
但是如果要他執行一些比較進階的命令
難度會高出許多
從上面這架構圖來分析
我能很清楚的告訴你 這絕對早就不是RISC
因為RISC當時的定義是不可能有後面這些東西的
https://i.imgur.com/TaUVej8.png
(intel core 2架構)
從經典的X86架構圖來看
A73架構所說的那些 X86也幾乎都有
頂多就是運算器的不同
導致指令集的編寫也不同
只有最早期的那幾種東西
才是真正符合那種精神
後面大家都互相學習優缺點
讓自己的架構更加完善且進步
RISC 常說是什麼精簡指令集
CISC 是複雜指令集
那個是為了應對 架構而寫的指令集
你今天架構已經不是以前單純的模樣
那指令集也該為了架構而做出改變
畢竟 指令集的產生 就是應對著架構而去工作的東西
如果你要說 現在的ARM仍然是精簡指令集
那配上這個架構 明顯應該有那些地方是不符合的
以上這是我對ARM和X86架構的理解
可能有些部分是錯誤的
歡迎多多討論
我之後應該也會寫篇文章討論M1跑分高的原因
也謝謝大家耐心看完
作者: Hohenzollern   2020-11-18 20:26:00
今年最快的超級電腦就開始用ARM架構
作者: limitlesscit ( )   2020-11-18 20:42:00
這不太重要,東西本來就會越來越複雜
作者: sachialanlus (yeh)   2020-11-18 20:44:00
我是認為X86單位Byte的指令密度比較高 理論性能應該是更好 但是Branch Predictor也要能夠跟上才行其實intel的x86從core i開始就改成用risc內核 但是外部仍然用cisc 你可以想成x86是api 然後底層用risc實作 好處是可以在不同代之間改變內核的執行流程 彈性比較高我覺得就如同你說的 現在risc和cisc或許沒分得那麼清楚 我覺得指令集長度是最大差異吧?
作者: ifconfig5566 (it56)   2020-11-18 22:51:00
有請jserv

Links booklink

Contact Us: admin [ a t ] ucptt.com