1. 程式人生 > >RISC-V雙週簡報0x14:宗師獲圖靈獎實質名歸(2018-03-30)

RISC-V雙週簡報0x14:宗師獲圖靈獎實質名歸(2018-03-30)

RISC-V 雙週簡報 (2018-03-30)

要點一覽:

  • 兩位大師獲圖靈獎實至名歸
  • 開源或許只是開放式創新的冰山一角

小編雜談

小編首先是看到了EETimes的這篇文章《Time for ‘Open Innovation,’ Not Just Open Source》講開放式創新,又恰好和一朋友聊到了相關的話題,所以在這裡簡單嘮叨兩句。

如果我們問自己,RISC-V的出現到底給我們帶來了什麼,僅僅是一個不要錢的指令集?還是一場革命?

我們能夠看到,過去十幾年以Linux為代表的開源運動的廣泛發展打開了很多鎖著的黑盒子,那些仍然保守和封閉的公司要麼選擇開放、要麼慢慢的失去市場。而反觀整個IC產業鏈,自底向上從Fab到IP Vendors/EDA公司再到Fabless,處在中間位置的很多IP Vendors和EDA巨頭都無比的封閉,甚至可以說形成了一堵巨大的阻礙創新的牆。

而RISC-V的出現就向一個核彈頭一樣,不僅開啟的開放ISA的這扇大門,而且還會在方法學、設計開發驗證流程等領域形成一股新的力量。這股力量現在看來或許很渺小和微不足道,但當技術資料的交換以及技術人員交流的門檻因開源和網際網路而顯著降低的時候,背後的推動力或許是驚人的。就像當溫度接近絕對0度的時候,導體中的電阻變為0時所能產生的巨大磁場能夠推動帶電粒子接近光速一樣,你可千萬別小看它!

行業視角

開放式創新的時代已經到來,開源只是冰山一角

eFabless的CEO Mike Wishart最近在EETime發表了文章《Time for ‘Open Innovation,’ Not Just Open Source》,讓我們跳出來去看看我們正在經歷的一切。這當中提到了開源以及開放式創新。我們看到的開源或許只是冰山一角,我們正處在開放式創新的新時代裡。

That said, the real story is open innovation, of which open source licenses are simply one part. Open innovation means looking outside traditional corporate silos to harness the collective knowledge of a global community of developers and using that community to create new and transformative things. Open innovation in software is enabled by many things: GitHub, app stores and crowdsourcing platforms like Topcoder (founded by our investor and director Jack Hughes) being just a few. Once enabled, though, the innovation potential of this crowd is mind boggling.

當然,Mike也為我們描繪了一副未來的景象,晶片行業的封閉狀態或許會有所改變。

This is just the start. We imagine the potential of an online marketplace with a complete design platform open to a global community of experienced designers with remarkable ingenuity and capabilities. The online innovation platform will offer the designer community access to everything required to take IP and ICs from idea to manufacturing. It will be easy for community members and customers to:

  • Formulate, communicate and agree on design requirements;
  • Quantitatively evaluate the successful completion of design specifications and
  • Access foundry mulit-project wafers (MPWs) to deliver prototypes.

The framework will allow community to share and modify chips. The marketplace will include customizable reference chip designs and community, third-party and foundry IP. Designers can access the community for analog, digital and mixed-signal IP on demand.

Links:

RV新聞

David A. Patterson和John L. Hennessy喜獲圖靈獎

恭喜計算機兩位宗師級大師獲得2017年圖靈獎!

Links: ACM報道

Google, Tesla Get Behind Challenge to Arm Chip Design

目前RISC-V基金會的成員已有80個左右,其中有很多晶片領域和網際網路巨頭,而谷歌和最近加入的特斯拉,最近吸引了不少人的眼球。不論是在輿論和行動層面,大家都非常認可RISC-V的未來發展。

MIT Technology Review的文章《Some of tech’s biggest firms hope to save money with open-source chip designs》用很簡短的幾句話道清了當前的狀況。

The company that masterminded the processor inside your smartphone may find that a set of free-to-use alternative designs erode some of its future success.

  • Backstory: Chip designer Arm developed the processors used in virtually all the world’s mobile devices. It’s also trying to use its chops—in particular, an ability to create low-power but high-performance processors—to become a leading supplier of silicon designs used in more specialized applications, such as artificial intelligence and autonomous vehicles.
  • What’s new: The Information ($) reports that many startups and larger tech firms—totaling 80, and including Nvidia, Google, and Tesla—are looking to use a new set of open-source chip designs, known as RISC-V, in future products. The main motivation: RISC-V is free to use, Arm designs are expensive to license, and there’s still scope for using the open-source designs to create chips for many upcoming applications.
  • Why it matters: It’s unlikely that many firms will ditch using Arm designs to power smartphones and other mobile devices—the technology is so established that switching would be a headache. But as Moore’s Law falters and chips become more specialized, Arm could find that it has competition not just from chipmakers like Intel and AMD, but also from RISC-V.

Links:

OURS Technology公司利用RISC-V實現其產品

Ours Tech,一家矽谷的初創公司最近宣佈進軍中國市場,公司的創始人Tan Zhangxi是David Patterson的學生。曾經參與了RISC-V和矽光晶片專案的開發。

這家公司已經在去年完成了A和A-1輪融資,並且已經多次流片。小編很看好其未來表現。

當然36kr似乎很明顯沒有讀懂到底他們在做什麼,標題《用矽光I/O技術做RISC-V指令架構CPU,「OURS」想讓機器以3D方式感知世界》讓我們以為快要進入二次元。

不專業的小編猜測他們是結合矽光技術來實現FMCW LiDAR,並且在晶片內使用RISC-V處理器來降低成本以及提高靈活性。

Links:

RV新聞

RISC-V Fast Interrupt Task group

Prof Krste Asanovic 最近在 isa-dev 上宣佈了 Fast Interrupt Task group 成立的訊息。Krste 和來自 Andes 的 Kevin Chen 是這個小組的chair 和 vice chair。以指令集本身來說,Cache instruction 和 Fast Interrupt 一直是在RISC-V 中常常被討論的問題。Krste 在郵件中介紹了這個小組的目標。

Develop a low-latency, vectored, priority-based, preemptive interrupt scheme for interrupts directed to a single hart, compatible with the existing RISC-V standards and extensible to multi-core. Provide both hardware specifications and software ABIs/APIs. Standardize compiler conventions for annotating interrupt handler functions.

有興趣參與討論的基金會成員或公司可以多多關注。

  • Link : 關於Interrupt handler ABI的討論

生態發展

RV64 port 被加入 debian-ports

經過許久的努力,最近 RV64 port 被加進了debian-ports。雖然還沒進入 main Debian archive,但這代表未來在 Infrastructure 方面,Debian的貢獻者們能省力許多。

Links:

meta-riscv - A Yocto/OpenEmbedded Layer for RISC-V

Khrm Raj 最近在 sw-dev 上介紹了 meta-riscv 這個 Yocto Layer。meta-riscv能跟 Yocto 最新的版本相容。看來生態圈的發展慢慢擴充套件到BSP等地方了。

技術討論

相容性測試的準則

RISC-V相容性測試(compliance suites)是測試一個RISC-V處理器滿足RISC-V標準的測試程式集,也是使用RISC-V trade mark的前提之一。最近在關於處理器同時支援RV32和RV64時,必須支援的壓縮指令集擴充套件的問題上,相容性測試的設計準則問題被問了出來。比如說,一個處理器號稱支援RV64I,但是卻將RV64M中的MUL指令用於了其他用途。這樣的處理可以算作相容嗎?根據Krste的解釋,這也許是相容的(如果小編理解正確了):

Consensus is that compliance suites will need to have versions, and if at some later date, there’s agreement on truly useful forward-compatibility checks, we can add them in later version.

Meanwhile, we should stick to compliance tests only checking for existence and not checking for non-existence.

翻譯:相容測試會有版本來逐步確定前向相容檢查的具體內容。同時,我們應當堅持測試必須被支援的指令被正確支援了,而不是測試不被支援的指令沒有被支援。

The compliance test should test for known illegal opcodes (16 0s, and ILEN bits of all 1s), but not for reserved opcodes.

There is an important difference between reserved and custom opcodes. Future standards can never use “custom” opcodes, while “reserved” are reserved for future standards use.

翻譯:相容測試應該測試已知的非法運算元(指令)但並不檢測被預留的運算元。預留運算元和可定製(custom)運算元有著重要區別。將來的指令級擴充套件一定不會使用可定製運算元,但是預留運算元則是專門為將來的指令預留的。

在討論的過程中,也冒出這麼一個有趣的問題

I asked if the RISC-V Foundation would agree (in writing) to indemnify contributors (in the instance where the use of a compliance-conformant processor resulted in the death of a person, and the RISC-V Foundation was sued, would the RISC-V Foundation agree not to sue the contributors?), but i have not received a response.

翻譯:我(提問者)問過基金會。基金會是否會保護貢獻者(如果一個相容測試通過的處理器導致了一個傷亡事故,基金會被告了,基金會會追究相容測試集貢獻者的責任嗎?)基金會沒有回答。

J 擴充套件指令集的討論

J擴充套件指令集是指專門來加速即時編譯JIT的指令集擴充套件,現在正在由J擴充套件指令集工作小組討論開發中。 最近郵件列表上對J指令集擴充套件的研究內容進行了一番討論,其中談到了ARM的Jazelle指令集擴充套件和中國的龍芯,還挺有意思的。

ARM的Jazelle擴充套件指令集是用來動態解釋執行Java位元組碼的ARM擴充套件指令(https://en.wikipedia.org/wiki/Jazelle),後來被稱為DBX(Direct Bytecode eXecution)。現在據說用處不多了,原因是:“蘋果不讓iphone執行JAVA!” [Martin Schoeberl的郵件]不過當年,基本所有執行塞班系統(大家都知道Symbian吧?)的手機都使用Jazelle來執行JAVA。如果比較Jazelle的執行時解釋執行和使用JIT的即時編譯執行,當JIT的記憶體使用量小於4MB時,Jazelle的效率更高[David Chisnall的郵件]。看來,硬體加速的解釋執行在小記憶體系統中是非常必要的。即使在使用JIT的系統中,加速的解釋執行對提高使用者體驗也是非重要的。

David Chisnall建議RISC-V的J指令集擴充套件應該要解決這幾個問題[David Chisnall的郵件]:

  • 隨著多核的普及,很多以往單執行緒效能良好的JIT需要能高效能的移植到多核系統中。
  • 網頁應用對網頁的載入速度敏感。然而JIT的高效編譯依賴於程式碼的重複執行,第一次執行往往效率低下。我們需要更好的初次執行效能(low-tier JITs)。
  • 以往被認為資源受限的系統也開始使用高階語言,比如物聯網的端節點。其中一個原因時使用高階語言來避免記憶體錯誤(安全問題)。這就需要硬體加速的解釋執行。
  • 在現在的記憶體頻寬容量下,我們可以重新思考垃圾回收機制的加速。

在相關的討論中,計算所的龍芯也被提及。龍芯執行的是擴充套件的MIPS指令集。為了能更高效地模擬(emulate)x86指令,龍芯用擴充套件指令實現了接近200多條的x86浮點運算指令,將使用QEMU模擬執行x86測試程式的效能提高到了使用x86處理器執行的70%左右。(https://en.wikipedia.org/wiki/Loongson#Hardware-assisted_x86_emulation)

另外,小編也注意到,在JIT中,為了讓新的程式碼能在快取裡,是不是也該加上能把舊程式碼踢出快取的指令呢(Cache Invalidate)?雖說如此, 但RISC-V 希望能對於硬體透明。因此,這部分未來如何進行,也是小編很感興趣的地方。

直接快取操作的安全問題

直接快取操作,比如說flush和preload操作,可以被攻擊者用來完成基於快取的側通道攻擊。高效能快取對快取直接操作的需求和系統安全的需求在這裡便成為了直接衝突。直接快取操作如何在這兩種需求中折衷還需認真討論。

這兩週,郵件列表上針對第5版直接快取操作的安全問題有了較深入的討論。現在的討論重點,集中於破壞性快取操作。

比如,MEM.DISCARD 直接失效快取區域(資料丟失,用於拋棄無用資料而避免寫回)。如果這些被軟體認為是無用的資料可以被攻擊者用來洩露關鍵資訊,那麼需要在拋棄資料後將資料置為無效值(比如清零)。但是,清零之後需要將資料寫回記憶體嗎?有人認為這是必須的,因為記憶體中可能存在資料的舊值,攻擊者可以利用非一致性的DMA從記憶體中讀回舊值。不過,熟悉作業系統的人說,現在的作業系統是不會允許使用者態程式直接操作非一致性的DMA,所以這種擔心是多餘的。好像都有道理。

  • Albert Cahalan 認為存在側通道的郵件
  • Christoph Hellwig 認為這不太會是個問題的郵件

實用資料

Porting Fedora to RISC-V on LWN

在第二篇中,Richard 介紹了它 bootstrap Fedora risc-v port 的過程,並簡短分享他對於risc-v 的看法。

暴走事件

五月

六月

  • CNRV的成員和愛好者們正在RISC-V基金會的支援下籌備一場線下活動,時間暫定為2018年6月30日,目前暫定在復旦大學舉行。有任何建議、意見和想法,都可以發郵件給群頭 [email protected]

  • 2nd CARRV 第二次CARRV workshop(Computer Architecture Research with RISC-V ) 將在6月2日和ISCA 2018共同舉辦。

招聘簡訊

CNRV提供為行業公司提供公益性質的一句話的招聘資訊釋出,若有任何體系結構、IC設計、軟體開發的招聘資訊,歡迎聯絡我們!

整理編集: 宋威、黃柏瑋、郭雄飛

歡迎關注微信公眾號CNRV,接收最新最時尚的RISC-V訊息!

CNRV微信公眾號