来源:内容编译自「eejournal」,谢谢。

随着这些年的发展,RISC-V的受重视程度与与日俱增。这主要因为它是免费的、灵活的,并且速度很快。这使RISC-V成为许多开发人员的安全便捷选择。但是您会认为RISC-V是通用RISC处理器还是定制的随心所欲处理器?

但答案是两者都是!然而这是一个悖论。

起初,RISC-V是一种温和的RISC方案,但是随着其发展,RISC-V演变成超级处理器!换而言之,它可以像您希望的那样平淡无奇或令人兴奋,这是其他CPU供应商也试图实现的一种技巧。

可定制的处理器似乎是世界上最愚蠢的想法。

一方面,处理器生态系统在兼容性方面蓬勃发展。如果每个CPU都不相同,则不能开发编译器、调试器、操作系统、应用程序和中间件,甚至不能生产高效的程序员。没有兼容性,我们最好通过焊接导线和换掉硬件来创建程序。CPU的指令集——固定的指令集其实就是软件的组成部分。这种兼容性推动了更多软件的成长,更多的工具推出和更多CPU销售的良性循环。

但从另一个角度看,通用CPU很无聊。负载会随着时间而变化,并非每个程序员都需要相同的功能集。我们很多人不需要浮点运算。有些需要位操作指令。其他人则需要Linux支持或矢量操作,或者需要进行奇怪的表查找和内插( interpolate )的东西。

古怪(Oddball)的指令可以有很大的不同,它在如何执行处理器方面拥有非常大的差异。游戏玩家在争论一个Intel CPU与另一个AMD处理器的相对优点时,这两者几乎是相同的芯片,相差仅百分之几。将如果将其与低端DSP、高端ARM、PowerPC或x86设计的方式进行比较,两者之间的差异非常明显。由此可见,架构和指令集确实很重要。

问题是,当您偏离通用路径时,将失去兼容性,并且失去软件支持。指令并不能被RISC编译器忽略,它们只是浪费多余的硬件。只有汇编语言程序员或愿意编写编译器内部函数的程序员才能利用这种额外的能力。除非您调整基准,但这又有什么意义?

RISC-V占据中间位置,并定义了所有处理器共享的基本指令集,以及一组可选的附加模块。您要浮点数吗?我们已经设计,定义,创建和提供了所有功能。在RISC-V上执行FP的每个人都以相同的方式进行操作,因此编译器编写者很高兴,因为您的代码或多或少具有可移植性。

除了这些半标准选项之外,您还可以分支并创建自己的完全自定义的指令。毕竟,这是一个开放源CPU规范,因此没有人可以阻止您。如果愿意,您甚至可以尝试将自己的作品卖回社区。

其实,可定制的指令集在之前已经完成,并且它们大部分都可以工作。例如Synopsys和Cadence的ARC和Tensilica都允许用户级定制。它们的工作方式是,当用户为特定的应用程序编写有用的新指令时,他们确实确实看到了性能的大幅提高或功耗的降低。虽然这并不总是一个简单的过程,但是它是有效的。但这种选择带来的缺点是自定义软件支持有限,并且与其他任何芯片都不兼容。

当然,后一个特征实际上可能是一个优势。因为也许你希望混淆你的代码并避免逆向工程。为此你只需在处理器中添加一些奇数指令,然后在整个软件中自由使用它们即可。自定义指令的功能甚至都无关紧要。关键是其他任何人都不知道。

当然,真正的重点是在代码中找到热点( hotspots )并创建自定义指令以加速它们。也许您在迈步时做了大量的存储工作;自定义加载/存储对可能会有所帮助。重复的比特旋转(bit twiddling)可能会压缩(condensed )为一个特殊用途的操作等等。

即使有可能,但删除指令也没有什么意义。每个CPU都需要基准指令才能进行操作。当然,您可以通过很少的指令来解决问题,但这主要是出于学术目的。RISC-V和其他设计在过去20年中使用的核心集包括基本加法,减法(有时只是负加法),逻辑运算和条件流控制(conditional flow control.)。所有这些都是有用的,并且在硬件中实现它们都不复杂。这意味着,它们从来都不是性能瓶颈,因此删除它们并不会带来任何的提升。

在另一个极端,你有一个像英特尔的疯狂的、复杂的Ice Lake 微架构,它拥有数以百计的指令,但很少会使用很多的。这种巴洛克式的指令集不仅使芯片变得臃肿。复杂的CPU具有复杂的互连,大型总线和多个时钟域。这与RISC-V相距甚远,即使安装了可选的增强功能也是如此。

MIPS架构允许用户自定义已有多年,但ARM坚决抵制这种趋势。其他一些则位于中间,大多数只允许非常有限的调整。从这个意义上讲,RISC-V是更为开放的处理器之一。

随着RISC-V的激增,确定CPU正在执行和未执行的操作将变得越来越困难。每个人都可以自由定制,并且许多RISC-V设计师已经拥有了这样的想法。除了核心指令集和一个或两个流行的扩展之外,我们还将看到库存CPU和自定义hot rods之间还有很大的差距。

它们在某种程度上都将是RISC-V,但却大不相同。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

RISC-V的自定义CPU悖论相关推荐

  1. RISC V (RV32+RV64) 架构 整体介绍

    文章目录 riscv 市场 芯片介绍 软件介绍 开发板介绍 PC介绍 riscv 架构 编程模型(指令集/寄存器/ABI/SBI) 运行状态 指令集 寄存器 riscv32和riscv64两者的区别 ...

  2. 计组学习笔记2(RISC v版)

    指令集解释 (规定:R[r]表示通用寄存器r的内容,M[addr]表示存储单元addr的内容,SEXT[imm]表示对imm进行符号扩展,ZEXT[imm]表示对imm进行零扩展) 整数运算类 -U型 ...

  3. v系列服务器cpu,服务器cpu v什么意思

    服务器cpu v什么意思 内容精选 换一换 调用接口有如下认证方式:Token认证:通过Token认证通用请求.Token是服务端生成的一串字符串,作为客户端进行请求的一个令牌.第一次登录后,服务器生 ...

  4. 【自定义CPU占用率】

    题目:写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率.程序越精简越好,计算机语言不限.例如,可以实现下面三种情况: 1. CPU的占用率固定在50%,为一条 ...

  5. 安装Ubuntu RISC V toolchain失败(网速、git配置原因)

    git获取大容量工程出错:RPC failed: curl GnuTLS recv error : Decryption has failed. error: RPC failed; curl 56 ...

  6. Ubuntu下自定义调整CPU工作频率(用于省电或提高性能都好用)

    昨天高铁上拿T480切win10系统看电影,为了节电给细调了个省电策略(设置CPU性能30%),不知是不是因为这个原因,今天切回Ubuntu1604工作导致CPU工作频率非常低. 查阅了一下相关方法, ...

  7. 从零开始的RISCV架构CPU设计(2)-CISC与RISC

    系列文章目录 上一节:从零开始的RISCV架构CPU设计(1)-CPU开源资料说明 文章目录 系列文章目录 前言 一.什么是CISC 二.什么是RISC 三.CISC与RISC 3.1 指令集实现架构 ...

  8. 英特尔的指令集体系结构_对标英特尔的RISC-V大有可为,CPU三分天下格局可期

    据行业媒体报道,挪威物联网(IoT)公司ONiO日前推出了一种基于RISC-V的超低功耗微控制器,能够完全利用采集的能量进行操作,而无需电池.无需超级电容器或任何其他形式的储能. 此款微控制器本身基于 ...

  9. 高端服务器CPU详细图解

    高端服务器CPU详细图解--HP.IBM.SUN篇<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:o ...

最新文章

  1. 智能指针unique_ptr
  2. 【以前的空间】主席树
  3. 面试算法:Maxbuild
  4. FFMPEG结构体分析
  5. java前言_Java Web前言
  6. Simulink之三相桥式全控整流电路
  7. BlogEngine.Net架构与源代码分析系列part12:页面共同的基类——BlogBasePage
  8. window.open被浏览器拦截的解决方案
  9. centos下 安装jdk
  10. 力扣题目——700. 二叉搜索树中的搜索
  11. Linux杀100个进程,在linux bash中杀死一个进程子树
  12. laravel 事件及监听
  13. 用 intellij idea 创建一个Java web项目
  14. 企业信息化基本指标构成方案(试行)上
  15. PreScan渣渣入门
  16. 数据库索引到底是什么,是怎样工作的?
  17. 团队如何提高执行力,总结以下几点:
  18. cad打印本计算机未配置,为什么CAD点打印的时候就会警告提示无法使用此绘图仪配置?有什么解决办法?...
  19. AutoJs学习-包名查看器
  20. 数据管理的热点话题:数据资产、数据价值、数据驱动、数据管理和数字化转型

热门文章

  1. tensorflow——openpose代码和原理分析
  2. 展望 | 基于数字化技术的软件生态未来全解析
  3. 剑指offer:二叉树的下一个节点
  4. Python 哪种方式循环最快,或许颠覆你的认知!
  5. 写出漂亮 Python 代码的 20条准则
  6. 研究生论文盲审、查重再加码!毕业或将变的更加困难...
  7. 超越Swin Transformer!谷歌提出了收敛更快、鲁棒性更强、性能更强的NesT
  8. 不愧是北大疯人院!阿里数学竞赛决赛,入围人数超过清华和南大之和!
  9. 浅谈人工智能应对数字化转型挑战的5个领域
  10. 三年后75%企业数据将移至云端?SAP新应用加速云服务