CNRV

为推广RISC-V尽些薄力

View the Project on GitHub

RISC-V 双周简报 (2018-02-01)

要点新闻:

RV新闻

glibc 的risc-v port 合并主线

经过七个版本,glibc的risc-v port终于赶上 glibc 2.27的release了。目前的glibc包括 rv64imac/lp64, rv64G/lp64, 和 rv64imafdc/lp64d。glibc稳定后,将有助于 Debian 和 Fedora等软件的稳定。

Links:

UltraSoC交付业内首个RISC-V Trace IP

UltraSoC最近开始提供RISC-V Trace IP用来让处理器内部的行为更加可视化。不仅如此,UltraSoC的IP还支持几乎所有能够找到的RISC-V CPU厂商。UltraSoC同时也是RISC-V相关标准的积极参与者。

Processor trace functionality allows the behavior of a program to be viewed in detail, instruction-by-instruction, and is a key requirement for system developers. The UltraSoC RISC-V trace encoder supports both 32 and 64-bit RISC-V designs and the IP block integrates smoothly with the rest of the UltraSoC portfolio, supporting open and industry standard architectures to put self-analytic capabilities at the heart of SoCs. UltraSoC’s embedded analytics supports design teams, helping to manage complexity and improving time to market, design costs, reliability, safety and security in applications from automotive to enterprise IT and the IoT.

Link: UltraSoC delivers industry’s first RISC-V processor trace IP

技术讨论

为RISC-V添加进程间隔离表

继幽灵漏洞被曝光后,RISC-V社区提出了一个进程间数据隔离的方案。 幽灵漏洞实际上是一个很难防御的问题。 一方面幽灵漏洞依赖于预测执行,而预测执行是高性能处理器不可或缺的特性之一。 另外,幽灵利用预测执行去访问本来不应访问的数据。 这里的数据很可能不受硬件保护,比如说攻击者和被攻击数据在同一个优先级。 但是软件保护则不太可能去阻止预测执行对数据的访问。 这便揭示了一个关键问题,现在的计算机系统缺少一种比页更细粒度的保护和隔离机制。

RISC-V社区提出的进程间数据隔离表即是为了这个目的而提出。 它建议使用一个类似页表的结构,构造一张平行的表。 在页表树的叶子节点,数据隔离表记录页内数据区间的权限标志和访问控制。 每一个页表项大小的隔离项可将一个页分为4个独立区间。 这样就将保护粒度降低到1/4页。

RISC-V社区针对该提议展开了非常仔细的讨论,其中有很多观点都非常有意思。

isolation is easy, sharing is hard. 隔离比较简单,但是共享却很难(简单隔离比较容易做到,但是考虑共享数据的隔离问题,就变得复杂了)。

The software problems are a lot harder, because most programming languages really like being able to share objects (whatever that means in the language), not page sized memory buffers, between components. 关于隔离的软件问题更加复杂。这是因为编程语言(程序)希望能共享类似对象的数据结构,而不是一个以页为单位的内存缓冲区。

It’s worth noting that the result from Mondrian Memory Protection was a clear statement that useful translation boundaries and useful protection boundaries rarely align. This is particularly apparent on modern systems, where superpages give a significant reduction in TLB pressure, but give you 2MB+ translations, which are far too large for any kind of fine-grained protection. 地址翻译和内存保护的边界往往不统一。这个问题在现代系统中更加突出。 比如说为了减少地址翻译对TLB的影响,现代系统倾向于给进程分配大页,而大页对于内存保护来说简直是太大了!

具体的讨论请参看:https://groups.google.com/a/groups.riscv.org/d/msg/isa-dev/l08WGeesdB4/UDTa8W6mAQAJ

为Rocket和BOOM添加预取机制

在RISC-V的硬件邮件列表中,Max Hayden Chiz详细讨论了如何为Rocket和BOOM添加硬件预取机制。 他给出了很多预取设计需要考虑的问题和大量的参考文献:

As for the L1 cache, the general belief in the modern literature is that it’s less important because an OoO core can generally hide the latency of an L1 miss.

Links:

在和Andrew Waterman讨论之后,Max准备先实现一个prefetch buffer,一个在一级和二级缓存之间的buffer,由一级缓存的miss来触发预取并存放数据。 当一级缓存miss时,则可以更快地从prefetch buffer读到数据。 这样设计的好处是预取模块暂时和其他模块没有直接联系,具有更好的模块性。

对一个in-order处理添加10%的面积能达到一个OoO处理器90%的性能?

最近有人在征集可以用于硕士开题的关于RISC-V的点子。 于是这么一个脑洞清新的题目就被提出来了。 大概意思是,用两个in-order的处理器合并在一起做成一个OoO处理器,就能获得大多数OoO的性能。 具体的想法可以看这篇文章:http://www.cs.virginia.edu/~skadron/Papers/boyer_federation_taco.pdf

另外,有人也提出,可以做基于FPGA的TLB优化。 FPGA有大量的BRAM,但是CAM实现非常的消耗资源。 传统使用CAM来做associative的TLB在FPGA上性能不高。 但是我们可以用BRAM来做directly mapped缓存,使用其他方法(the nearly-associative memory from UPenn)提高directly mapped缓存的associativity,则性能就能匹配CAM设计的TLB。

具体讨论链接:https://groups.google.com/a/groups.riscv.org/d/msg/hw-dev/T6IRGlQhs1o/oUUmaD19AwAJ

代码更新

linux kernel 4.15-rc9 和 4.15 的更新

在4.15 rc 的尾声,只有一个小变化。risc-v port 现在有个新的 mailing list 和git repo了。

Links:

在mailing list中,也已经有一些新的patch在讨论。像是:

实用资料

RISC-V tokyo 的文档公开

RISC-V tokyo的文档公开了。许多公司像是 NSITEXE、Redhat 和 SHC 的演讲都很有趣,可以参考。

Link: RISC-V Day 2017 Tokyo

“Automation and Reuse in RISC-V Verification Flow”

在最近的Verification Horizons Letter中,来自 Codasip 的 Marcela Zachariasova and Lubos Moravec 在这篇中介绍了他们公司使用的 Verification flow 和 他们的UVM架构。

Link: Automation and Reuse in RISC-V Verification Flow

关于RISC-V ISA的11个谬论

RISC-V基金会市场委员会的副主席Ted Marena最近在Electronic Design上发表了一片科普软文,澄清了大众的一些常见的误区。

这11个谬论包括:

  1. RISC-V是另一个处理器设计
  2. RISC-V仅是为学术界设计的,而非工业界
  3. 目前还没有任何可用的FPGA核或是集成设计环境能够让我用来评估RISC-V
  4. 要想使用RISC-V你必须支付License费
  5. 设计RISC-V核的公司必须要分享他们的IP给客户
  6. 相比x86或者ARM,RISC-V并不会更快或更高效
  7. RISC-V的软件工具并不存在
  8. 多个RISC-V核心并不能共存也不能被其他Core所操纵
  9. 信任RISC-V核是危险的
  10. Linux操作系统并不支持RISC-V
  11. 不可能从FPGA移植一个RISC-V设计到ASIC

感兴趣的同学去点击原文链接看答案吧~

Link:11 Myths About the RISC-V ISA

走在芯片“时尚前沿”的Nvidia和西部数据

在我脑中“时尚前沿”不仅仅是穿衣时常,采用最新最前沿的技术也是一种时尚,所以请原谅我如此翻译。

Tiernan Ray在Barron’s上发表了一片简短的文章,讲述了他所看到的Nvidia和西部数据在RISC-V上的一些行动。

但最后一段很有意思:

Patterson, and RISC-V, made a big splash a year ago, when he described work that had been done at Alphabet’s (GOOGL) Google to develop the so-called “tensor processing unit” for Google’s cloud computing operations. The TPU, which Patterson and his team claim can achieve vast improvements in performance and efficiency versus Intel and Nvidia chips, was itself a result of work on RISC-V, as I explained in an article last summer in Barron’s print magazine.

Link: Nvidia, Western Digital at Chips’ Frontier

市场相关

Galois获DARPA RISC-V相关合同

Galois最近获得一份价值450万美元的合同,合同的内容之一包括开发一系列的工具和方法来评估来自8个独立SSITH团队所使用的共计72个不同的RISC-V核的安全性,这些核有可能是用Bluespec、Chisel或者systemverilog写的。

这是个极好的消息,如果经过这一波Intel安全漏洞风波以后,如果RISC-V能有一个被专业人士良好的定义安全测试集和方法学的话,那么将会吸引更多有兴趣的用户。

Work includes the evaluation of security and suitability of up to 72 different RISC-V operating central processing units from eight individual SSITH teams.

The CPUs are designed to employ various system security methods and hardware design languages such as Bluespec, Chisel and System Verilog, Galois noted.

Galois’ Balancing Evaluation of System Security Properties with Industrial Needs project aims to measure hardware security protection with security metrics, methodology and framework.

BESSPIN will work to provide hardware security assurance capacities for CPU and semiconductor vendors, hardware manufacturers and DoD.

Link: Galois to Develop Hardware Security Tools, Methods Under DARPA Program

原Intel VP Sunil Shenoy加入SiFive

曾经参与过多个Intel重量级项目的VP Sunil Shenoy最近加盟了SiFive。相信其在Intel多年的经验会让SiFive内力大增。

Shenoy brings more than 30 years of technology experience to SiFive, holding 16 patents in microprocessor design, and working on or leading notable projects including the Intel PentiumTM 4 generation of microprocessors, highly integrated multi-core Intel XeonTM microprocessors for datacenter and enterprise servers,and the family of massively parallel Intel Xeon PhiTM microprocessors. During his time at Intel, Shenoy led silicon development teams consisting of several thousand engineers across the world, helping to bring products successfully to market. He also drove collaborative programs with major EDA vendors.

Link: SiFive Welcomes Former Intel Corporate VP to Executive Team

Codasip发布其最新的Studio 7设计工具

Codasip最近发布了其最新的设计工具Studio 7,这是一个用来快速定制处理器的工具。一些有趣的特性包括支持用一种叫做CodAL的语言来描述定制化的指令及扩展,在生成RTL和完整的SDK的同时也能够生成system verilog描述的UVM验证环境。

“Studio 7 is a big step forward for Codasip’s advanced processor creation technology, and will take the guesswork out of implementing the ever-expanding number of ISA options in the RISC-V specification. Studio can help generate processors well-suited to the widest range of application areas, from machine learning inference engines to host processor DSP offload, networking, and storage,” stated Karel Masařík, CEO and co-founder of Codasip. “With Studio 7, there is no need to settle for a one-size-fits-all processor.”

暴走事件

一月

二月

五月

六月

招聘简讯

CNRV提供为行业公司提供公益性质的一句话的招聘信息发布,若有任何体系结构、IC设计、软件开发的招聘信息,欢迎联系我们!


整理编集: 宋威、黄柏玮、郭雄飞


欢迎关注微信公众号CNRV,接收最新最时尚的RISC-V讯息!

CNRV微信公众号


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。