當前位置:
首頁 > 最新 > RISC-V 雙周簡報

RISC-V 雙周簡報

RV新聞

RISC-V併入newlib主線

newlib 的 RISC-V port 已經被正式合併。詳情可見https://goo.gl/37oeZG。

FreeBSD 主線更新至 RISC-V priv. spec 1.10

最近,FreeBSD更新至 RISC-V priv. spec 1.10,現在支持Spike和Rocket-chip。詳情可以參考這裡:https://wiki.freebsd.org/riscv和https://svnweb.freebsd.org/changeset/base/322361

另外11月的BSDTW17, 也會有兩個關於RISC-V的報告。Ruslan Bukin、Arun Thomas 都會出席,有興趣的可以參加。

RISC-V LLVM進度更新

Alex Bradbury在https://github.com/lowRISC/riscv-llvm/issues上發布了一系列的LLVM子工程,以便更多的人參與到RISC-V的LLVM支持工作中。

當前正在進行的是讓LLVM支持RV32I,相關的補丁已經送到LLVM社區進行審議,其中7個已經被接受,8個正在徵求意見。

正在開發中的RISC-V LLVM現在已經通關過了1352個GCC測試集中的1315個,未能通過的測試例子中32個編譯時錯誤,5個運行時錯誤。

具體信息請參考Alex Bradbury的郵件:https://goo.gl/sGeWcy

SiFive發布TileLink說明文檔 v1.7

此次發布的分檔比較詳細地介紹了當前被使用於Rocke-Chip的第二版TileLink片上匯流排。

TileLink片上匯流排是Rocke-Chip用於連接各級緩存和外設的匯流排,相比AMBA, Wishbone, Avalon, CoreConnect等等片上匯流排,TileLink直接在匯流排協議的層面上支持緩存一致性的各種操作,是基於緩存的各種要求而重新設計的片上匯流排。

相比TileLink第一版,第二版有以下幾點改進:

為支持不使用緩存的外設而重新設計報文格式和分配通道。

為將來主從設備之間互相發起讀寫請求提供支持(現在還一般是主設備發出請求從設備被動應答)。

使用diplomacy庫和scala的延遲求值機制實現編譯時匯流排參數自動配置,解決了一代匯流排時手動配置經常出現的報文丟失問題。

具體信息請參見說明文檔:https://www.sifive.com/documentation/tilelink/tilelink-spec/

另外:CNRV社區也正在積極的籌備翻譯這個Spec,歡迎各位關注和參與

第29屆 Hot Chips上的RISC-V相關新聞

在剛剛結束的Hot Chips 2017上,有不少關於RISC-V的消息,分別是

Yunsup Lee發表了題為《SiFive Freedom SoCs: Industry』s First Open-Source RISC-V Chips》的演講

多所美國知名大學合作的和RISC-V有關的項目,演講題目《Celerity: An Open Source RISC-V Tiered Accelerator Fabric》

Jan Gray在Poster環節中的《GRVI Phalanx On Xilinx Virtex UltraScale+: A 1680-core, 26 MB RISC-V FPGA Parallel Processor Overlay》

EETime對Celerity做了簡短的報道:

Of three academic papers on machine learning chips, the most intriguing was Celerity. Teams of grad students spread across four universities went from delivery of a 16nm TSMC PDK to tapeout of a 25mm2 device in nine months.

Celerity packs into its 360 million transistors 511 RISC-V cores and a custom neural network accelerator. The cores are split into a 496-unit array running at 1.05 GHz and five Linux-capable Rocket cores along with the accelerator running at 625 MHz.

Link: http://t.cn/RNVaTIK

值得注意的是,其具有神經網路功能的加速器是基於RoCC介面標準實現的。後續編輯部會持續關注這個項目。

而關於GRVI處理器,Jan Gray主要列出了未來的一些規劃和進行中的工作,包括支持更多的FPGA開發平台(如PYNQ等)、一些性能優化。

對於大家所關注的這麼多的CPU核心,軟體如何開發的問題,Gary在其poster頁面中這樣提到:

Accelerated parallel programming models

SPMD/MIMD code w/ small kernels, local or PGAS shared memory, message passing, memcpy/RDMA DRAM

Current: multithread C++ with message passing runtime, built with GCC for RISC-V RV32IMA

Future: OpenCL, 『Gatling gun』 packet processing / P4, message passing / streaming data / KPNs

Accelerated with plug-in-custom FUs, RAMs, AXI cores

Link: http://t.cn/RNVaizC

DRAPER分離其安全處理器研究組成立Dover Microsystems公司

Dover的產生來源於美國國防部國防高等研究計劃(DARPA)下的CRASH(Clean-Slate Re-design of Adaptive, Secure Hosts)計劃。

該計劃致力於回答一個問題:如果我們能拋開現有計算機體系結構的研究成果,重新設計一個本質上就安全的計算機,我們該怎麼做? 基於這個問題,世界上的多個研究小組開展了多年的研究,提出了多種新的計算機架構。 其中源自於MIT的DRAPER實驗室設計了Inherently Secure Processor(ISP)。 現在,DRAPER將ISP分離出來,成立了新的Dover Microsystems公司,用ISP來服務於商業應用。 Dover最新的Dover晶元在開源RISC-V處理器內部添加了一個協處理器來加強處理器的安全特性(小編註:該協處理器使用tagged memory進行同步的meta-data processing)。

The Inherently Secure Processor can be implemented with any Reduced Instruction Set Computer (RISC) processor and is currently optimized for the latest generation RISC-V architecture as a co-processor solution. It can be easily customized for individual customer』s embedded systems, and features adaptable and updatable technology, providing customers with longevity and resiliency into the future.

DRAPER ISP http://www.draper.com/solution/inherently-secure-processor

Dover Microsystems https://dovermicrosystems.com

技術討論到底riscv**-unknown-elf是不是bare-metal的交叉編譯器?

估計大多數人和我一樣都覺得,難道不是嗎?嗯,還真不一定是。

GNU MCU Eclipse RISC-V Embdedded GCC的作者Liviu Ionescu最近就提出了這麼個問題,然後引起了激烈的討論。 看起來,現在RISC-V提供的兩個GCC工具鏈其實是這個樣子的:

riscv**-unknown-linux-gnu是針對Linux操作系統的編譯器,會鏈接glibc,利用Linux系統調用和相應應用介面(ABI)完成底層工作。

riscv**-unknown-elf是針對嵌入式系統的編譯器,使用newlib的C庫,不針對具體操作系統,利用libgloss定義的應用介面(ABI)完成底層操作。現在libgloss借用了Linux的ABI,所以使用riscv**-unknown-elf編譯的程序有可能也能正常運行於RISC-V Linux中。

如果某一個嵌入式平台需要實現自己的底層調用,現在的辦法一般是替換底層的ABI實現,但保留由libgloss定義的介面。 如果希望進一步連ABI都徹底拋棄而直接調用硬體,現在只能通過附加的gcc參數來實現,比如 (不使用標準庫但是用libc)。

為了提供針對最基礎嵌入式平台的bare-metal環境,SiFive的Palmer Dabbelt現已著手提供一個新的gcc工具鏈,暫且命名為riscv**-unknown-none。

相關討論:

Liviu Ionescu的問題 https://goo.gl/VMBSPe

Palmer Dabbelt的回答 https://goo.gl/bc8zSu

新工具鏈 https://goo.gl/nD9HJD

CSR操作和邊界(Barrier)

在C代碼中如何讀寫CSR?這個問題其實很簡單,使用預提供的嵌入式彙編代碼。 但是,這就夠了嗎?不一定哦。讓我們來看看下面的代碼:

看起來沒啥問題。不過Benjamin Herrenschmidt提問,GCC或者處理器可能調換指令順序把MTIME_PTR的讀取挪到CSR讀寫外嗎?呃,還真的可以!

為了解決這個問題,Palmer Dabbelt把預提供的嵌入式彙編改成了:

在彙編中添加了」memory」這個。是嵌入式彙編的可選參數,用於標註那些非輸入或輸出但是被嵌入的彙編修改的寄存器,這樣編譯器就可以避免使用這些寄存器。」memory」是一個特殊選項,用於說明嵌入的彙編中有內存操作,所以編譯器不能將代碼隨意調換順序,相當於針對編譯器的memory barrier。但是,這裡只是避免了編譯器調換指令順序,亂髮處理器仍然可能在運行時調換指令順序,這個就得依賴於處理器內部的依賴檢查邏輯了。對於上面的例子,依賴關係是內存讀寫依賴於CSR讀寫。這看來還真的不是個簡單問題哦。

相關討論 https://goo.gl/LJTfBe

關於多核緩存一致性具體實現的討論

sxu55最近向lowRISC提出一個問題,認為lowRISC所使用的L2實現存在死鎖。 在多核系統中,假設一個L2為了回寫緩存塊A而詢問所有L1,同時一個核正在回寫緩存塊B,並且A和B屬於同一個set,有可能由於互相等待造成死鎖。 這裡的關鍵問題就是在緩存一致控制器的具體實現時,所有的緩存操作都不再是書本上原子操作,而被拆分成多個子步驟的操作序列。 如果兩個操作序列發生交織,則可能造成死鎖或數據丟失。最後討論的結果是這個死鎖的條件是不成立的,lowRISC的L2考慮到了這個具體的死鎖狀況。 不過相關的討論還是很有意義的,特別是關於基於TileLink的一致性L2的實現。

具體信息請查閱lowRISC issue #67 https://git.io/v5YAb

代碼更新Chisel/FIRRTL 即將支持完整的無連接埠清理和跨邊界常數優化

為了代碼的可讀性,我們一般會在硬體設計中保留可選埠和常熟定義,將相關的優化扔給綜合軟體完成。 Chisel/FIRRTL將更高抽象級別的Chisel轉化為Verilog的同時,也可以做相關優化。 Chisel/FIRRTL已經默認去除無連接的埠。最新的FIRRTL也已經開始支持關於常數的跨模塊邊界優化。

具體信息請查閱:

FIRRTL PR #633 https://git.io/v5nIt

Rocket-chip PR #968 https://git.io/v5nIc

FIRRTL issue #644 https://git.io/v5nIR

SiFive Freedom平台最近被更新到主線

SiFive的Freedom平台在沉寂了很久之後終於得到了更新(儘管是一位實習生完成的),其變化包括:

更新到了最新的rocket-chip主線(也就意味著支持最新的RISC-V標準)

增加了fpga-shells這個submodule,當中包含了對FPGA EDA Tool的一些腳本

Repo: https://github.com/sifive/freedom

市場相關Codasip發佈新的 RISC-V 處理器IP Bk-1

The Bk-1 processor was designed to provide impressive 32-bit performance, small code size, and minimal power, area, and cost. In its basic configuration, the Bk-1 starts at 9k gates while delivering a maximum clock frequency of up to 350 MHz in a 55nm process. The Bk-1 has an optional power management unit, JTAG debug controller, and bridges to the AMBA buses so it can be easily integrated into existing Arm designs.

連接:http://t.cn/RNbiFNI

相關報道

32-bit RISC-V processor Paves Way To Low-power IoT Designs http://t.cn/RNb6q1S

LoFive: Hackaday.io上的新項目

Michael Welling在Hackaday.io上開始了一個新的項目,名為LoFive。是一塊搭載SiFive FE310 MCU的迷你小板,有興趣的可以去關注下。

Link: https://hackaday.io/project/26909

CNRV社區活動

CNRV社區最近發起了兩個小的翻譯項目,歡迎關註:

TileLink v1.7 SPEC中文翻譯(版權正在聯繫中)

《關於浮點運算:作為程序員都應該了解什麼?》https://github.com/cnrv/floating-point-guide

暴走事件九月

ORConf 2017會議將於9月8-10日於英國Hebden Bridge舉行。會議網站:https://orconf.org/

The 7th RISC-V workshop投稿截止日期:2017年9月17日。投稿網站:https://www.softconf.com/h/riscv7thwkshp/

十月

OSDT開源開發工具大會2017(也就是原HelloGCC會議)將在10月下旬在北京舉辦,時間暫定10月21日,話題和贊助徵集已經開始。話題內容包括「面向RISCV等新硬體的基礎軟體支持」,各位不要錯過。

開源經濟學研究-2017年年會邀請函

RISC-V at the Linley Processor Conference, 4-5 October 2017 at Santa Clara, California.

First Workshop on Computer Architecture Research with RISC-V (CARRV 2017), 14 October at Boston, Massachusetts, co-located with MICRO 2017.

十一月

The 7th RISC-V workshop 2017年11月28-30日,第7屆RISC-V研討會將在美國加州Milpitas由西部數據承辦。

BSDTW17 2017年11月11-12日,BSDTW17會有兩場關於RISC-V的演講,地點在台北。

招聘簡訊

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

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

本作品採用知識共享署名-非商業性使用-相同方式共享 3.0 中國大陸許可協議進行許可。

點擊原文查看含有完整鏈接的版本。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 公眾號 的精彩文章:

這位的哥遇上什麼事?讓一位老人專門登報找他
第九日 八段錦的形正體松 你做到了嗎
八月臨行,你是否還在回望?
天氣預報——八月第三十天雜記之
激素臉敏感肌修復產品——皮膜水

TAG:公眾號 |

您可能感興趣

Andes RISC-V CON 11/8北京登場 聚焦RISC-V最新應用
北京-03.02@DADA-YETI 重磅呈現 DICKY TRISCO
活動報名 2019 RISC-V CON
ARM要涼?!高通轉投RISC-V CPU架構
銳成芯微布局RISC-V,加入SiFIVE DesignShare項目
OURS譚章熹:開源RISC-V指令架構與AI晶元
NVIDIA公開RISC-V研究成果:可應用於AI產品設計
RISC-V成功在望?
高通悄然投資RISC-V CPU架構:ARM迎來替代者?
SiFive出手收購:RISC-V CPU架構也有原生USB 3.x
基於RISC-V的64位可編程終端AI晶元誕生
印度首款CPU Shakti離商用更進一步,基於RISC-V指令集
睿思芯科推基於RISC-V的64位可編程終端AI晶元Pygmy
MIPS投放核彈 RISC-V扛得住么
RISC-V Day將於上海舉辦 凸顯RISC-V生態系統在亞洲的發展勢頭
「草根」RISC-V的逆襲之路
RISC-V 危矣?MIPS 走上開源道路
RISC-V首度被我國列入扶持對象,上海已成RISC-V重要「據點」
高通擁抱RISC-V,Arm警報響起!|半導體行業觀察
國內首個RISC-V支持政策發布,RISC-V指令集晶元的好時代來了?