关注RISC-V和Chisel以及开源IC和EDA在中国的发展
要點新聞:
2018農歷新年還沒過,我們就看到兩個好消息,SiFive和PULP都有和可運行Linux的CPU的好消息,如果說去年RISC-V在MCU上遍地開花,那麽今年這個RISC-V Linux元年也一定會很精彩。新的平台和新的板子總能夠讓軟體開發人員為之興奮,小編已經迫不及待躍躍欲試。下半年我預計就會看到大量的操作系統移植,開源顯卡是不是也離我們不遠了哈哈。
CNRV祝大家狗年旺旺旺!
SiFive最近發布了其HiFive Unleashed開發板,並在Crowdsupply上開始同步預售,最早一批75塊開發板將於3月30日發貨。
在這塊開發板上搭載的是SiFive最新的Freedom U540 SoC晶片,小編估計其早期版本搭載的是MPW工程樣片,後面則開始發售搭載量產版本的晶片。
關於Freedom U540 SoC,SiFive官方發布的Spec如下:
這塊開發板目前還支持通過FMC接口來連接FPGA開發板等外部接口卡,小編猜測是可以通過ChipLink來直接和片外的FPGA進行高速通信。
與此同時,在FOSDEM’18上,來自SiFive的Palmer和Yunsup還發表演講向大家公開了更多的相關細節。現場還通過在搭載在FPGA上的顯示module 和接口向觀眾演示了FPS遊戲Quake比如,SiFive還將開源他們的L2$設計,之前的rocket-chip中L2 Cache的設計被發現存在問題,所以社區也一直等待在這方面能夠有所進展。
Links:
以下是業界對HiFive Unleashed的一些相關評論:
DataCenterKnowledge網站在看到RISC-V和HiFive的演講後發表了《Is Open Source RISC-V Ready to Take on Intel, AMD, and ARM in the Data Center?》的文章,其在文章中表示:
While software is eating the world, open source hardware might soon be eating the data center. Definitely not tomorrow or next month, and probably not even next year, but sooner than you think, there might be as much open source hardware as the old-fashioned proprietary kind running data centers.
Need proof? Take a look at RISC-V, an open processor architecture.
Link: Is Open Source RISC-V Ready to Take on Intel, AMD, and ARM in the Data Center?
LinuxGizmos網站則發表了文章《RISC-V gains momentum as it moves from MCUs to Linux-friendly SoCs》,當中提到封閉的ARM和Intel x86限制了創新、減緩了上市時間並且增加了成本。
RISC-V’s timing seems to be right, as the growing acceptance of open source software and hardware logically leads to a desire to open up of the processor. Opaque chip designs often create obstacles and blind spots — not only for open source projects, but also semiconductor vendors. Conceivably, hidden issues such as Intel’s Spectre and Meltdown security problems might have come to light more quickly in the open source spotlight.
There’s also a sense that the dominance of two closed source architectures — ARM and Intel x86 — is limiting innovation, slowing time to market, and increasing cost. In addition, RISC-V advocates claim that both ARM and x86 platforms are burdened by legacy code. By comparison, RISC-V is starting with a clean slate of modern components.
Link: RISC-V gains momentum as it moves from MCUs to Linux-friendly SoCs
DesignNews發表了《First Open-Source RISC-V SoC for Linux Released》,當中提到:
But how does SiFive expect an open-source board to stand out in an ever-crowding market? And why should a company, particularly in a space like IoT, choose open source over any of the other solutions available? “ I certainly believe IoT will be solved by having lots of customization,” Kang said. “I believe IoT inherently is not a one-size-fits-all type of market. What that means is you’re not going to be able to have one killer chip that does everything. What you’re going to need is to be able to customize or get your partners to customize the silicon to meet the specific problems that will come up. And I will argue that RISC-V is great for customization.”
Link: First Open-Source RISC-V SoC for Linux Released
PULP的研發團隊最近設計了一款6級流水線的可以運行Linux或者Unix操作系統的RISC-V處理器。
相關Spec如下:
Github Repo
PULP團隊在最近發布了一個新的單核SoC平台PULPissimo。
PULPissimo是一個類似PULPino的平台。相比與PULPino,PULPissimo是在完整性和覆雜性上有明顯的進步,事實上PULPissimo系統是最近所有多核PULP晶片的主要SoC控制器。
PULPissimo架構包含:
此外,其I/O接口中小編還看到了Camera Interface (CPI)。簡單評價一下的話,小編認為這個平台的目標是為了IoT應用而量身打造的,自管理的I/O子系統能夠很好的解決低功耗的問題,而豐富的接口則能夠支持圖像採集等應用。
Link:
前面提到了PULPissimo,最近有新聞就表示PULP基於TSMC 40LP工藝的群核(cluster based processor)晶片,內含8個RIC5Y處理器和1個zero-riscy處理器。8個大核支持RV32IMCF以及PULP自有的DSP指令extension。
此外PULP團隊也提到
“We actually plan to release the entire Mr. Wolf code later this year. Of course, various NDAs prohibit us from releasing technology specific data, our releases contain only System Verilog code, testbenches and associated files for verification,” Gurkaynak.
Link: RISC-V processor Mr Wolf arrives to solve problems
在 glibc和linux合併主線以後,許多人開始關註軟體上的下一步,像是OpenEmbedded/Yocto, Debian, 和Java/OpenJDK。像是Palmer 最近就在sw-dev開始討論如何開始移植OpenJDK的問題。
有興趣參與或討論的請參考郵件列表: Project proposal: RISC-V port
去年11月底,郵件列表上針對 hart 的精確定義以及 core 和 hart 之間的區別有一個熱烈的討論。由於在許多RISC-V 文檔中,core 和 hart 常常被交互使用,Liviu Ionescu 提議在 ISA manual 中加上 hart 的精確定義。 Prof Krste 最近提交了這個更新。其中,core 和 hart 分別定義如下:
Core:
A component is termed a core if it contains an independent instruction fetch unit. A RISC-V-compatible core might support multiple RISC-V-compatible hardware threads, or harts, through multithreading.
Hart:(部分擷取)
From the perspective of software running in a given execution environment, a hart is a resource that independently fetches and executes RISC-V instructions within that execution environment. In this respect, a hart behaves like a hardware thread resource even if time-multiplexed onto real hardware by the execution environment.
從定義中,hart 代表的是在環境中讓程式執行的資源,至於底層是Emulation、硬體、還是用M:N的方式 multiplexed,對於程式來說,都是沒有影響的。Core 則是指有 IFU 的 component。目前看來,hart的定義是清晰了許多。
也許大家都和小編一樣沒有註意到現有的Rocket-Chip已經支持較為覆雜的性能計數器了。 在最近關於Rocket-Chip的一個問答中,透露出現有Rocket-Chip,或者更準確的說基於Rocket-Chip的SiFiveextension已經集成了較為覆雜的功能計數功能。 這個功能由mhpmevent CSR控制,其計數器的值則有mhpmcounter CSR提供。 mhpmevent的低8位可以取三種取值:0,指令事件;1,微結構事件;2,內存系統事件。同一時刻,性能計數器只能記一種類型的事件。 在每種類型中,mhpmevent的高56位是一個選取細節事件的bitmap,如果任何一個bitmap使能的事件發生,則會導致mhpmcounter自增。
Link: 詳細的性能記數配置
一月下旬,Jacob Bachmeyer將上個月在rv-dev郵件列表中討論的用戶和 kernel page table 分離方案提交到了RISC-V ISA的Git Repo。 根據他和Andrew的對話,該方案很有希望作為一個指令集extension被寫入Priveleged Spec v1.11版,即即將公布的下一版本。 具體的方案現在都可以在PR看到:https://github.com/riscv/riscv-isa-manual/pull/128
簡單說,這個方案提出了一個名為Sdas (Standard Extension for Disjoint User/Supervisor)的extension。 該extension增加了一個名為suatp的新CSR。該CSR指向用戶空間的 page table base address 。 如果該extension不被支持,即仍然使用以往用戶和 kernel 共享空間的 page table 方式,suapt和satp的值嚴格相等,都指向共享 page table 的 base address 。 如果使用該extension,satp指向 kernel page table 的 base address ,suapt指向用戶 page table 的 base address 。 kernel page table 和用戶 page table 使用不同的ASID防止TLB刷新。
同時為了支持兼容性,無論是否支持extension,當 kernel 寫satp時,suatp的值都會對應改變,保證在兼容情況下不需要處理suatp。 在支持extension的時候,由於 kernel 空間一般被多個 process 共享,所以上下文切換並不需要修改SATP,而只需要更改用戶 page table ,即修改suatp。
具體細節請參見PR
Michael Clark 最近提交了QEMU port 的第四版和第五版。在這兩版中,他修改了不少Richard Henderson所發現的bug,同時做了些code cleanup。由於Michael目前在Sifive工作,這些QEMU patch中,還包含了SiFive Freedom U500 RISC-V Machine等實現的 Emulation。期待QEMU能早日合併主線。
Link: RISC-V port v4 & v5
最近的更新中包含了一些重要的基礎建設更新。像是:
以小編對 kernel 微薄的理解,ZONE_DMA32 和 ftrace都是 kernel 非常基礎的功能。可見RISC-V port 還有許多路要走,但另一個角度講,對於有興趣送 patch的同學,也是個大好機會,可以多多把握。
CARRV workshop (Computer Architecture Research with RISC-V) 開始徵稿了。這次是在六月的ISCA 2018舉辦。有興趣的同學可以把握機會!
FOSDEM’18 2018年2月3-4日,FOSDEM (Free and Open Source Developers’ European Meeting)將在比利時的布魯塞爾舉行。
PULP WORKSHOP AT HPCA2018 2018年2月25日,在維也納的HPCA中,會有一場跟Pulp 有關的workshop。PULP小組會介紹PULP最新的發展,和他們未來的走向,包括 PULP-CAPI (Coherent Accelerator Processor Interface) 和 Ariane (Next generation of 64-bit RISC-V implementations)等。詳情可參考 pulpino mailing list 中的 < PULP newsletter - 4Q2017 >。
Embedded World 2018 2018年2月27日,在德國 Nuremberg 的 Embedded world會有一整天跟RISC-V有關的演講。包括 Microsemi, Mentor Graphics等公司都會給演講。AMD的CTO Mark Papermaster 也會給一個 Conference Keynote。
CNRV的成員和愛好者們正在RISC-V基金會的支持下籌備一場線下活動,時間暫定為2018年6月30日,目前暫定在覆旦大學舉行。有任何建議、意見和想法,都可以發郵件給群頭 xfguo@xfguo.org。
2nd CARRV 第二次CARRV workshop(Computer Architecture Research with RISC-V ) 將在6月2日和ISCA 2018共同舉辦。
CNRV提供為行業公司提供公益性質的一句話的招聘信息發布,若有任何Architecture、IC設計、軟體開發的招聘信息,歡迎聯系我們!
整理編集: 宋威、黃柏瑋、郭雄飛 繁體 translation 維護者:黃柏瑋
歡迎關註微信公眾號CNRV,接收最新最時尚的RISC-V訊息!
本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款授權.