選單

RISC-V,將成為最後的ISA?

幾天前,當筆者正在思考維基百科的 ISA有用列表,並更改排序順序以按引入日期排列 ISA 時,頓時,一件事跳了出來。那就是自 2010 年以來,只有三個 ISA 達到了足夠的知名度而登上了榜單。它們是 RISC-V (2010)、Arm64 (2011) 和 Elbrus (2014)。

現在我們可以在這裡對引入日期進行一些爭論。RISC-V 專案始於 2010 年,但 ISA 的設計在 2010 年代不斷演變,一些元素直到 2021 年才最終獲得批准。我認為 RISC-V 應該真正列為此列表中最新的 ISA。

值得注意的是,在此期間出現的 ISA 非常少。我所整理的名單上有 42 個 ISA,從 1963 年的CDC Upper 3000開始。統計顯示,在過去的 47 年中有 37 個 ISA,而在過去的 13 年中只有 3 個。

現在,可能會有一些時間滯後效應。開發 ISA 後需要一段時間才能變得引人注目。即便如此,我認為這反映了一些深刻的變化。

為什麼會發生這種情況,這對未來意味著什麼?

首先,這可能是 CPU ISA 在某種程度上已經完成的標誌。自 2010 年左右以來,我們沒有發生過轉變——例如 32 位到 64 位或 CISC 到 RISC——導致需要一系列新的 ISA。目前還沒有全新的概念看起來有可能取代現有架構中採用的方法。

其次,它反映了透過許可使 ISA 更廣泛可用的商業模式的出現。Arm 率先讓 CPU 設計可供第三方購買,然後將其擴充套件到允許一小部分客戶僅許可 ISA 並構建他們自己的設計。RISC-V 透過使 ISA 本身開源來擴充套件這一概念。

那麼有了 RISC-V,為什麼還要開發自己的 ISA?你可以免費得到一個好的,那麼為什麼要浪費時間自己寫呢?也許更重要的是,如果您建立自己的軟體,您將無法訪問支援您的專案可能需要的所有軟體工具。自己編寫它們要麼是不可能的,要麼是非常昂貴的。如果您需要現有擴充套件中未包含的說明,則可以新增您自己的說明。

這並不意味著 RISC-V 無法改進。相反,相對於成本而言,更換它的好處可能很小。

RISC-V 是最後的 ISA 嗎?如果是這樣,這是一個有點可怕的前景。我的回答是肯定的和否定的。

是的回答源於這樣一個事實,即我很難相信至少在相當長的一段時間內還會有另一個 ISA 在主流應用處理器市場站穩腳跟。x86、Arm 和 RISC-V 將在很長一段時間內排擠掉所有潛在的新人。

沒有迴應的第一部分是,當然,維基百科頁面上沒有列出整個 ISA 類。那些用於加速器、GPU 等的。這些通常對應用程式程式設計師是隱藏的,因此可以繼續開發和發展。

這就是重點和資金所在的地方,而且將越來越多。隨著人工智慧應用的增長,從 GPU 和其他硬體中擠出最平行計算的動力將繼續存在。

第二個不在於 RISC-V 本身。向體系結構新增擴充套件的能力使它不像一個 ISA,而更像一個 ISA 系列。隨著時間的推移,這使得 ISA 能夠發展並適應不斷變化的環境。

其他架構已經發展。今天的 x86 CPU 與原始架構具有向後相容性,但它們執行的實際指令看起來一點也不像 8086。

不過,RISC-V 不同。沒有任何一個實體可以控制 ISA 的所有實施。這對創新非常有利,因為公司可以嘗試不同的方法並根據客戶的需求定製 ISA。

但是有一個缺點。如果一家大公司採用 RISC-V 並將其分叉會怎樣?

這可能不是故意惡意的。在網路瀏覽器的世界裡,Blink 是 Webkit 的一個分支,而 Webkit 又是 KHTML 的一個分支。在每種情況下,它都適合蘋果和谷歌來控制他們的程式碼,但分叉的程式碼也是開源的。

RISC-V 分支可能是開源的,但不確定。我可以看到商業案例可能指向不同方向的不同場景。透過在您的設計周圍建立護城河來獲得優於競爭對手的優勢,或者透過與他人分擔成本來繼續受益。

我們已經有較小的公司提供專有擴充套件。為什麼更大的公司不想做同樣的事情或者用分叉走得更遠?

那麼我最好的猜測是 RISC-V 不是最後的 ISA。但它將成為所有未來 ISA 的始祖。

你怎麼看?是否有新ISA即將出現?RISC-V 會分叉嗎?請在評論中分享您的觀點。