RISC和CISC現在還真的有差別嗎? - 手機討論

Table of Contents

我們常常在教科書 甚至很多文章上看到
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跑分高的原因
也謝謝大家耐心看完

--
Sent from my Windows

--

All Comments

Noah avatarNoah2020-11-19
現在VLIW, superscalar, fusion, multiple issue, tomasulo全部加在一起,指令集根本不是重點了
Mary avatarMary2020-11-19
電蝦的人會比較有熱忱聽你分析。
Daph Bay avatarDaph Bay2020-11-19
怎麼不去ICDESING之類的版問啊
Ursula avatarUrsula2020-11-20
嗯,剛我想的一樣
Ula avatarUla2020-11-20
現在都是大亂鬥沒錯
Zanna avatarZanna2020-11-20
未看先推
Emma avatarEmma2020-11-20
現在的x86也不是以前的x86了 各種混亂
Ivy avatarIvy2020-11-21
錯版了吧
Eden avatarEden2020-11-21
可以講點我聽的懂的事情嗎
Ina avatarIna2020-11-21
不過我覺得沒有錯版 畢竟手機CPU和電腦不同是大家都
Rebecca avatarRebecca2020-11-22
知道的(應該?)只是比較有涉獵的人常不常在這邊出沒
Skylar DavisLinda avatarSkylar DavisLinda2020-11-22
我還以為我走錯版
Megan avatarMegan2020-11-22
看到頭就好痛 想到考研究所的時候
Annie avatarAnnie2020-11-23
現在soc都有npu這個component,傳統x86要模擬npu效能太差,所以有npu設計,m1加這個進來對跑分也有幫助。
Puput avatarPuput2020-11-23
MISP(X) MIPS(O)
Tom avatarTom2020-11-23
嗯嗯,跟我想的差不多
Charlotte avatarCharlotte2020-11-23
x86 的歷史包袱就像便秘越積越多
Carolina Franco avatarCarolina Franco2020-11-24
我愛RISC V
Gary avatarGary2020-11-24
這是啥科目阿,可以講一下嗎
Puput avatarPuput2020-11-24
計概的部分阿
Hedy avatarHedy2020-11-25
這麼電機的東西QQ
Ophelia avatarOphelia2020-11-25
嗯嗯 你說的我都懂
Sierra Rose avatarSierra Rose2020-11-25
實務上兩者的區別沒有計概教科書上講的那麼涇渭分明
John avatarJohn2020-11-26
今年最快的超級電腦就開始用ARM架構
Charlotte avatarCharlotte2020-11-26
能順便講M1怎麼比前幾代的i5 i7快嗎,看影片除了跑分實際效能好像也不差
Barb Cronin avatarBarb Cronin2020-11-26
編譯器也有關係,蘋果自己軟硬都包
Zora avatarZora2020-11-26
這是計算機組織的東西
Eartha avatarEartha2020-11-27
牙膏廠擠了十幾年牙膏,誰知蘋果不講武德,自己擠了一大坨 xD
James avatarJames2020-11-27
簡單說:簡單的沒這麼簡,兩邊都在學習比較期待下篇文章,應該很有料
Mia avatarMia2020-11-27
推 感謝解說
Linda avatarLinda2020-11-28
這不太重要,東西本來就會越來越複雜
Rosalind avatarRosalind2020-11-28
我是認為X86單位Byte的指令密度比較高 理論性能應該是更好 但是Branch Predictor也要能夠跟上才行
Carol avatarCarol2020-11-28
其實intel的x86從core i開始就改成用risc內核 但是外部仍然用cisc 你可以想成x86是api 然後底層用risc實作 好處是可以在不同代之間改變內核的執行流程 彈
Valerie avatarValerie2020-11-29
性比較高
Annie avatarAnnie2020-11-29
我覺得就如同你說的 現在risc和cisc或許沒分得那麼清楚 我覺得指令集長度是最大差異吧?
Barb Cronin avatarBarb Cronin2020-11-29
錯板
Liam avatarLiam2020-11-29
裡面很多技術都是RISC實現起來最簡單的,我覺得是描述指令集設計而不是你說的微架構細節
Isla avatarIsla2020-11-30
intel好像也有把最後編譯的結果變成類似risc的微指令
Suhail Hany avatarSuhail Hany2020-11-30
Barb Cronin avatarBarb Cronin2020-11-30
錯版
Susan avatarSusan2020-12-01
嗯嗯 這就是我想的
Callum avatarCallum2020-12-01
黑貓白貓
Margaret avatarMargaret2020-12-01
這要學過計算機結構才看得懂吧XDD
Belly avatarBelly2020-12-02
這裡文組太多 聽不懂的啦
Valerie avatarValerie2020-12-02
現在都指令自助餐啊XD被爆漏洞就補一下變CISC,來回R一下C一下@@
Andy avatarAndy2020-12-02
Kristin avatarKristin2020-12-02
現在底層指令都是RISC
Hazel avatarHazel2020-12-03
但X86的CISC指令還在 靠即時轉譯
Irma avatarIrma2020-12-03
arm a73也能叫錯板。厄
Jacky avatarJacky2020-12-03
幫轉
Skylar DavisLinda avatarSkylar DavisLinda2020-12-04
CISC已死
Dora avatarDora2020-12-04
有請jserv
Ophelia avatarOphelia2020-12-04
計組惡夢
Genevieve avatarGenevieve2020-12-05
一個指令就做很多事的是cisc,不是看總指令數或架構
Blanche avatarBlanche2020-12-05
幾層pipeline,查wiki.
George avatarGeorge2020-12-05
嗯嗯嗯嗯
Anonymous avatarAnonymous2020-12-05
危障
Frederic avatarFrederic2020-12-06
Hamiltion avatarHamiltion2020-12-06
看最新的avx512支援你就會發現優勢在於好不好擠
Irma avatarIrma2020-12-06
感謝解說,電蝦版也需要這篇
Tracy avatarTracy2020-12-07
難得手機板有知識文
Caitlin avatarCaitlin2020-12-07
還以為進錯板....
Daph Bay avatarDaph Bay2020-12-07
看不懂 鮮蝦挺
Sandy avatarSandy2020-12-08
嗯嗯 這理論就是我創造的
Ina avatarIna2020-12-08
只要可以用滑鼠按2下打lol看片 就沒什麼差
Selena avatarSelena2020-12-08
嗯嗯 這你說的我都懂 可是
Sarah avatarSarah2020-12-08
解指令和 Branch
Erin avatarErin2020-12-09
看到risc沒分支預測就能endㄌ 笑死
Heather avatarHeather2020-12-09
阿~白算盤的惡夢啊阿阿阿阿
Sarah avatarSarah2020-12-09
計組考試:請說明三種pipeline 中可能的Hazard
Gilbert avatarGilbert2020-12-10
感謝強者解說
Ursula avatarUrsula2020-12-10
樓下Jserv老師
Lucy avatarLucy2020-12-10
上禮拜剛考完計算機結構,憤怒噓
Hedwig avatarHedwig2020-12-11
理性使我推回來
Sarah avatarSarah2020-12-11
趕快推…不要讓人家以為我看不懂
Odelette avatarOdelette2020-12-11
X86的IF和分枝預測電路面積太大又複雜這點是天生的缺點造成X86耗電降不下來
Eden avatarEden2020-12-11
內部早就變成類RISC的模式,而且有多組備用register
Irma avatarIrma2020-12-12
加上X86太多定址法,增加許多原本不必要的電路某方面來說Intel和AMD可以把X86效能搞到今天這程度已經是一種藝術了
Bethany avatarBethany2020-12-12
以軟體觀點來看,X86能做的事情ARM也可以做而且搞不好電路和電量都用不到X86的一半
Hedy avatarHedy2020-12-12
確實錯版…ARM,x86不在行動通訊下,但肯分享還是推
Agatha avatarAgatha2020-12-13
在計組課看到這篇文章...
Steve avatarSteve2020-12-13
去公道五路面試Qcom,還是得複習白算盤
Olive avatarOlive2020-12-13
APPLE:球證裁判都是我的人.....
Hamiltion avatarHamiltion2020-12-14
AMD,雙修,地球第一?!?!(原本就有X86,現在再買賽靈思)
Selena avatarSelena2020-12-14
x86跟arm哪裡不在行動通訊?之前asus不也有intelcpu?
Todd Johnson avatarTodd Johnson2020-12-14
有推有正取
Genevieve avatarGenevieve2020-12-14
m1就拜託你了,謝謝
Lydia avatarLydia2020-12-15
你還是比較一下兩邊的指令集數量多寡吧
Blanche avatarBlanche2020-12-15
期待續篇
Lauren avatarLauren2020-12-15
其實x86也會拆解instructions成micro operation,基本上兩者已經很相似了