顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2020-11-19 07:27:05
看板 MobileComm
作者 ja9740807 (finallydream)
標題 [討論] RISC和CISC現在還真的有差別嗎?
時間 Wed Nov 18 19:45:00 2020


我們常常在教科書 甚至很多文章上看到
RISC就是什麼只加總
CISC有甚麼很複雜的操作阿,加減乘除之類的
在2020年的今天 他們究竟還存在那些差別呢?

https://i.imgur.com/KXLZkm0.jpg
[圖]
(圖為MISP架構)

這架構就是很經典的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

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.14.99 (臺灣)
※ 文章代碼(AID): #1VjGa-Dz (MobileComm)
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1605699902.A.37D.html
DOMENKING   : 現在VLIW, superscalar, fusion, multiple issue, t1F 11/18 19:51
DOMENKING   : omasulo全部加在一起,指令集根本不是重點了
BenJMAS     : 電蝦的人會比較有熱忱聽你分析。3F 11/18 19:53
HMKRL       : 怎麼不去ICDESING之類的版問啊4F 11/18 19:54
sismiku     : 嗯,剛我想的5F 11/18 19:56
sismiku     : 一樣
kira925     : 現在都是大亂鬥沒錯7F 11/18 19:58
hyghmax1202 : 未看先推8F 11/18 20:01
hms5232     : 現在的x86也不是以前的x86了 各種混亂9F 11/18 20:03
ttmm        : 錯版了吧10F 11/18 20:04
DarenR      : 可以講點我聽的懂的事情嗎11F 11/18 20:04
hms5232     : 不過我覺得沒有錯版 畢竟手機CPU和電腦不同是大家都12F 11/18 20:06
hms5232     : 知道的(應該?)只是比較有涉獵的人常不常在這邊出沒
F20         : 我還以為我走錯版14F 11/18 20:09
kerkercheng : 看到頭就好痛 想到考研究所的時候15F 11/18 20:14
benedict76  : 現在soc都有npu這個component,傳統x86要模擬npu效16F 11/18 20:14
benedict76  : 能太差,所以有npu設計,m1加這個進來對跑分也有幫
benedict76  : 助。
james80351  : MISP(X) MIPS(O)19F 11/18 20:14
Vram        : 嗯嗯,跟我想的差不多20F 11/18 20:16
APC         : x86 的歷史包袱就像便秘越積越多21F 11/18 20:16
AmigoSin    : 我愛RISC V22F 11/18 20:20
i9602283    : 這是啥科目阿,可以講一下嗎23F 11/18 20:20
F20         : 計概的部分阿24F 11/18 20:22
cytochrome  : 這麼電機的東西QQ25F 11/18 20:25
aaa90213    : 嗯嗯 你說的我都懂26F 11/18 20:26
GJME        : 實務上兩者的區別沒有計概教科書上講的那麼涇渭分明27F 11/18 20:26
Hohenzollern: 今年最快的超級電腦就開始用ARM架構28F 11/18 20:26
ryan9200929 : 能順便講M1怎麼比前幾代的i5 i7快嗎,看影片除了跑29F 11/18 20:28
ryan9200929 : 分實際效能好像也不差
MobileComm  : 編譯器也有關係,蘋果自己軟硬都包31F 11/18 20:28
MinionsBOB  : 這是計算機組織的東西32F 11/18 20:34
APC         : 牙膏廠擠了十幾年牙膏,誰知蘋果不講武德,自己擠33F 11/18 20:34
APC         : 了一大坨 xD
suichui     : 簡單說:簡單的沒這麼簡,兩邊都在學習35F 11/18 20:38
suichui     : 比較期待下篇文章,應該很有料
ofd168      : 推 感謝解說37F 11/18 20:39
limitlesscit: 這不太重要,東西本來就會越來越複雜38F 11/18 20:42
sachialanlus: 我是認為X86單位Byte的指令密度比較高 理論性能應該39F 11/18 20:44
sachialanlus: 是更好 但是Branch Predictor也要能夠跟上才行
sachialanlus: 其實intel的x86從core i開始就改成用risc內核 但是
sachialanlus: 外部仍然用cisc 你可以想成x86是api 然後底層用risc
sachialanlus: 實作 好處是可以在不同代之間改變內核的執行流程 彈
sachialanlus: 性比較高
sachialanlus: 我覺得就如同你說的 現在risc和cisc或許沒分得那麼
sachialanlus: 清楚 我覺得指令集長度是最大差異吧?
basacola    : 錯板47F 11/18 20:54
jaid        : 裡面很多技術都是RISC實現起來最簡單的,我覺得是描48F 11/18 20:55
jaid        : 述指令集設計而不是你說的微架構細節
ntlmystery  : intel好像也有把最後編譯的結果變成類似risc的微指50F 11/18 20:58
ntlmystery  : 令
wayne1120   : 推52F 11/18 21:04
wz70403     : 錯版53F 11/18 21:12
pppooqqq    : 嗯嗯 這就是我想的54F 11/18 21:12
BlackCoal   : 黑貓白貓55F 11/18 21:17
soto2080    : 這要學過計算機結構才看得懂吧XDD56F 11/18 21:28
colin8930   : 這裡文組太多 聽不懂的啦57F 11/18 21:39
NX9999      : 現在都指令自助餐啊XD被爆漏洞就補一下變CISC,來58F 11/18 21:40
NX9999      : 回R一下C一下@@
timtdsas    : 推60F 11/18 21:53
kuma660224  : 現在底層指令都是RISC61F 11/18 22:04
kuma660224  : 但X86的CISC指令還在  靠即時轉譯
l11k755013  : arm a73也能叫錯板。厄63F 11/18 22:07
ctes940008  : 幫轉64F 11/18 22:27
denyy555    : CISC已死65F 11/18 22:38
ifconfig5566: 有請jserv66F 11/18 22:51
gs8613789   : 計組惡夢67F 11/18 22:52
admon       : 一個指令就做很多事的是cisc,不是看總指令數或架構68F 11/18 23:02
admon       : 幾層pipeline,查wiki.
hu7592      : 嗯嗯嗯嗯70F 11/18 23:03
jjba310     : 危障71F 11/18 23:12
Xperia      : 推72F 11/18 23:32
zznzm       : 看最新的avx512支援你就會發現優勢在於好不好擠73F 11/18 23:36
alicemoe    : 感謝解說,電蝦版也需要這篇74F 11/18 23:39
frank3302   : 難得手機板有知識文75F 11/18 23:50
devilkool   : 還以為進錯板....76F 11/19 00:00
opengaydoor : 看不懂 鮮蝦挺77F 11/19 00:04
avmm9898    : 嗯嗯 這理論就是我創造的78F 11/19 00:11
y7moremore  : 只要可以用滑鼠按2下打lol看片 就沒什麼差79F 11/19 00:28
ji3g4zo6    : 嗯嗯 這你說的我都懂 可是80F 11/19 00:32
lwei781     : 解指令和 Branch81F 11/19 00:48
a58524andy  : 看到risc沒分支預測就能endㄌ 笑死82F 11/19 00:50
wayne0411   : 阿~白算盤的惡夢啊阿阿阿阿83F 11/19 00:54
ntustjc     : 計組考試:請說明三種pipeline 中可能的Hazard84F 11/19 01:53
arthas11    : 感謝強者解說85F 11/19 02:44
breaker9527 : 樓下Jserv老師86F 11/19 02:48
saito2190   : 上禮拜剛考完計算機結構,憤怒噓87F 11/19 03:53
saito2190   : 理性使我推回來

--
※ 看板: MobileComm 文章推薦值: 0 目前人氣: 0 累積人氣: 110 
作者 ja9740807 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇