系统与数据库2024www2.eecs.berkeley.edu编辑精选
指令集应当免费:RISC-V 的理由 (2014)
Instruction Sets Should Be Free: The Case for RISC-V [pdf] (2014)
进阶 · 约 45 分钟读完前置知识:计算机体系结构基础、指令集(ISA)概念、编译/ABI 基本概念
导读
这是 UC Berkeley(Krste Asanović 与 David Patterson)2014 年的技术报告,主张指令集架构本质上是软硬件之间的接口规范,应当免费开放,而不应像 ARM/x86 那样通过授权收费限制使用;报告以此为 RISC-V 这一免费、开放的 ISA 立论。
HN 关注点:焦点在于:ISA 是否真该免费、复制 ISA/ABI 是否受 Google v. Oracle 判例保护,以及 RISC-V 的实际工程成熟度与碎片化问题。
后来怎么样
RISC-V 从学术项目成长为被业界广泛采用的开放指令集标准,催生了 RISC-V International 及覆盖嵌入式、微控制器到高性能计算的庞大软硬件生态,也带动了其他开放 ISA 倡议的出现。
HN 评论精选
这几条评论里:质疑 2 补充 2
补充用 Google v. Oracle 判例追问复制 ISA/ABI 的版权合法性。
考虑到 Google v. Oracle(2021)的判决,复制指令集和 ABI 来做出可互操作的处理器与系统,是否构成合理使用?我修改了措辞;另外说明一下,我认为答案很可能是肯定的。
bdowling查看英文原文
Would copying an instruction set and ABI to make an interoperable processor and system be fair use in light of Google v. Oracle (2021) [0][1]? [0] https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf [1] https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_Inc. Edit: Changed phrasing of question. Also, to be clear I think the answer is probably yes.
补充补充 ARM 一方主张指令集应授权收费的反驳文章。
ARM 方面也有回应文章,题为《The Case for Licensed Instruction Sets》(授权指令集的理由),原文链接已存档。
CalChris查看英文原文
There is also a response from ARM, The Case for Licensed Instruction Sets. https://web.archive.org/web/20140926222155/http://www.linleygroup.com/mpr/article.php?id=11268
质疑认可理念但批评 RISC-V 技术不成熟、编码空间浪费且严重碎片化。
指令集基线理想上应是受到良好治理的开放标准,同时也必须是优秀的技术,而不是一群出于对“可笑扩展”的宗教式狂热、为了在微控制器上省几分钱就把同一套 ISA 从 MCU 一路统一到高性能 CPU、结果浪费掉 32 位操作码空间的学术项目。RISC-V 原则上是个好主意,希望有一天能出现像 Arm V8/V9 那样由真实经验和高性能实践打磨出来的、更开放的方案;但就目前而言,RISC-V 不仅技术上还达不到那个水准,还在遭遇严重的碎片化问题。
leucineleprec0n查看英文原文
Instruction set baselines should ideally be well-regulated open standards. They should also be good, and not moronic academic projects running of 32B opcode space because of religious dedication to silly extensions and the uniformity of an ISA for saving pennies on microcontrollers to high performance CPUs. RISC-V in principle is a great idea. Hopefully we’ll get something that’s at the caliber of a well-oiled machine backed by real experience and practical high performance use like Arm V8 and V9 someday that’s a bit more open, but as of right now RISC-V not only isn’t that on a technical level but is fighting some serious fragmentation. https://www.theregister.com/2024/05/29/riscv_messsaging_struggle/ And here’s David Chisnall on ISAs, which do matter: https://queue.acm.org/detail.cfm?id=3639445
质疑认为论文标题过于煽情,技术本身足以说明问题。
没人说指令集不该免费——又没有法律禁止它们免费。Patterson 一向爱用夸张措辞、把自己包装成斗士。RISC-V 本身很好,让技术自己说话就行。
demondemidi查看英文原文
No one said they shouldn't be. I mean, its not like there are laws saying they cannot be free. Patternson has always used too much hyperbole and marketing himself as a crusader. RISC-V is great, let the technology speak for itself.
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2024Hacker News 讨论帖158 分 · 93 评
同领域还值得读
I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象
I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions
指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。
系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选使用 io_uring 的高效 I/O
Efficient IO with io_uring
由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。
系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选线程对大多数用途而言是个坏主意(1995)
Threads Are a Bad Idea for Most Purposes (1995)
这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。
系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选学习型索引结构之论证
The Case for Learned Index Structures
提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…
系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选FoundationDB:一个分布式、解耦的事务型键值存储
FoundationDB: A distributed, unbundled, transactional key value store
介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。
系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选