RISC-V的不同寻常之处,除了在于它是最近诞生和开源的以外,还在于和几乎所有以往的ISA不同,他是模块化的。他的核心是一个名为RV32I的基础ISA,运行一个完整的软件栈。RV32I是固定的,永远不会改变。这为编译器编写者,操作系统开发人员和汇编语言程序员提供了稳定的目标。模块化来源于可选的标准扩展,根据应用程序的需要,硬件可以包括或不包含这些扩展。这种模块特性使得RISC-V具有了袖珍化,低能耗的特点,而这对于嵌入式应用可能至关重要。

ISA设计

ISA的七种衡量标准

成本

处理器通过集成电路实现,通常称为芯片和晶粒。(晶粒是由单个圆形晶片被切割成许多单独的片得到)

使用相同大小缓存(16KB)的RISC-V Rocket处理器和采用相同技术(TSMC40GPLUS)的ARM-32 Cortex A5处理器进行比较。RISC-V晶粒的大小0.27mm²,而ARM-32晶粒的大小是0.53mm²。由于面积大一倍,ARM-32 Cortex A5的晶粒成本是RISC-V Rocket的约4(2²)倍。

注:cost≈f(die area²)

简洁性

ISA的简洁性不仅可以缩小芯片的面积,还能缩短芯片的设计和验证时间,而它们可能构成了芯片开发的大部分成本。

性能

性能可以分解为如下三个因素;

即使一个简单的ISA可能在每个程序执行的指令数方面多于复杂的ISA,但他可以通过更快的时钟频率或更低的平均单条指令周期数(CPI)来弥补。

架构和具体实现的分离

机器语言程序员了解架构后能写出正确的程序,但是却不一定能保证性能。为了在性能和成本上的对某一特定时间的某种实现进行优化,而在ISA中包含某些指令。

提升空间

随着摩尔定律的终结,对性价比进行重大改进的唯一途径是为特定领域(例如深度学习,增强显示,组合优化,图形等)添加自定义指令。这意味如今的ISA必须保留操作码以供未来的提升。

程序大小

程序越小,存储它所需要的芯片面积就越小。

当所有指令都是32位长是,ARM-32和RISC-V代码比x86-32长6%到9%。而x86-32代码比同时提供16位和32位指令的压缩版本(thumb-2和RV32C)大26%。

易于编程/编译/链接

由于寄存器中的数据访问起来要比存储器中快得多,编译器在寄存器分配方面一定要做的很好。鉴于这一点,ARM-32有16个寄存器,而x86-32只有8个。大多数现代ISA(包括risc-v)都有32个整形寄存器。有了更多寄存器,编译器和汇编程序员的工作会更加轻松。

RISC-V指令集架构优势相关推荐

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

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

  2. 计算机组成原理 — CPU — 指令集架构类型

    目录 文章目录 目录 主流 CPU 指令集架构 CISC(复杂指令集计算机) x86 系列处理器 RISC(精简指令集计算机) ARM 系列处理器 PowerPC 系列处理器 MIPS 架构 RISC ...

  3. RISC-V指令集架构介绍及国内外厂商介绍

    文章目录 RISC-V架构介绍 ·RISC-V简介 ·CPU主流架构:x86.ARM.RISC-V ·RICS-V的设计理念及优势 ·RISC-V的历史沿革与市场应用 国内外厂商介绍 ·SiFive ...

  4. 芯片设计“花招”已耍完?无指令集架构颠覆旧套路

    日前,英伟达在GTC大会上发布了最新一代GPU H100,采用台积电4nm工艺,集成了800亿个晶体管.3月初,苹果发布了M1 Ultra芯片,更是集成了高达1140亿个晶体管.显然,头部厂商都在推进 ...

  5. 计算机架构宗师Patterson与Hennessy 演讲实录,ISA指令集架构回顾——未来指令集架构方向,RISC-V与DSA

    相信所有和计算机体系结构打过交道的朋友们都看过David Patterson与John Hennessy的煌煌巨作,<计算机体系架构:量化研究方法>.两位在计算机架构领域鼎鼎大名的教授,一 ...

  6. 从零开始实现一个基于RISC-V的流水线处理器 (1) :RISC-V指令集架构详解

    目录 基于RISC-V的流水线处理器 RISC-V指令集 RV32I R-Type I-Type J-Type B-Type Load & Store 总结 后记 基于RISC-V的流水线处理 ...

  7. 科普 | 处理器RISC和CISC架构分析对比

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 CISC(复杂指 ...

  8. 码农的自我修养 - 指令集架构种类

    指令集架构instruction set architecture (ISA),这是一个电脑模型的概括,有时也叫做计算机架构. ISA的具体实现有很多种,下面会介绍.不同的ISA实现在性能.物理空间和 ...

  9. 一种全新的指令集架构RISC-V

    目录 RISC-V指令集架构介绍 通用寄存器模型 RISC-V特权级 RISC-V指令集描述 RISC-V总结 RISC-V指令集架构介绍 RISC-V(英文发音为"risk-five&qu ...

最新文章

  1. 你分析过@Annotation注解的实现原理吗?
  2. HTTP 各版本特点与区别
  3. 当用户将鼠标悬停在列表项上时,使光标成为手
  4. python range函数与numpy arange函数,xrange与range的区别
  5. python教程是什么课文_新手快速入门Python必看这篇文章
  6. wpf里的menu怎么用_股市里的两市成交量是什么,它反映了什么,我是怎么用它来定投的...
  7. sublime text2/3怎样在windows中配置ctags插件
  8. SQLite 入门教程(三)好多约束 Constraints
  9. 第11章 Internet 服务器应用课后习题答案
  10. 华硕首款平板电脑周五开售
  11. 前端学习(598):查看localstorage和sessionstorage
  12. 纠偏的意思_承压能力和纠偏能力,决定成长的高度
  13. 警惕开源代码库中的安全隐患
  14. C#通用权限管理-程序安全检查,这些你一定要考虑到位
  15. 桌面应用程序 azure_如何在Azure中连接我们的C#应用​​程序
  16. java私聊_【转帖】实现了视频私聊功能
  17. Deciding the Number of Clusterings
  18. 【转载】ARX程序再VS2002中的调试初探
  19. java毕业设计_校园二手交易平台
  20. 《交互设计》作业-第六周

热门文章

  1. 基于网易云音乐API的微信小程序——网愈芸音乐
  2. 用AI语音机器人有哪些需要注意事项
  3. Cmd命令行实验4-ARP
  4. springboot影院售票小程序毕业设计源码111154
  5. 【windows8开发】开发平台与开发框架
  6. C++之 引用(refer)
  7. 区间类动态规划(dp)
  8. 第五章 编码/加密——《跟我学Shiro》
  9. Hyper-v安装虚拟机问题(持续更新)
  10. pymysql模块安装后,import pymysql找不到?