嵌入式系统(二):RISC-V处理器1
为什么要有RISC-V?
导言
RISC-V的目标是成为一个通用的指令集架构(ISA)
- 能适应各类控制器到处理器
- 能兼容各种流行的软件栈和编程语言
- 适应所有实现技术
- 对所有为体系结构样式都有效
- 支持广泛的专业化,成为定制加速器的基础
- 稳定的,基础的指令集架构不应该改变
模块化与增量型ISA
- 计算机体系结构的传统方法是增量ISA,新处理器不仅必须实现新的ISA扩展,还必须实现过去的所有扩展。
- x86-32(32位地址版本的x86)的每个实现必须实现过去的扩展中的错误设计,即便他们不在有意义。
- RISC-V与以往ISA不同指出在于它是模块化的。
- RISC-V的核心是RV32I的基础ISA,运行一个完整的软件栈。RV32I是固定的,永远不会改变的。
- 模块化来源于可选的标准扩展,根据需求和硬件变化。RISC-V的特点为袖珍化、低能耗。
RISC-V编译器得知当前硬件包含哪些扩展后,便可以生成当前硬件条件下的最佳代码。。
惯例把代表扩展的字符附加到指令集名称之后作为标示。
例如:RV32IMFD=RV32M(乘法)+RV32F(单精度浮点)+RV32D(双精度浮点)+基础指令集RV32I
ISA设计
设计ISA七大基本准则
- 成本
- 简洁性
- 性能
- 架构和具体实现的分离
- 提升空间
- 程序大小
- 易于编程/编译/链接
成本
处理器通过集成电路实现,通常称为芯片或晶粒,成本对晶粒面积十分敏感:
c o s t ≈ f ( d i e a r e a 2 ) cost≈f(die area^2) cost≈f(diearea2)
简洁性
架构师希望保持ISA的简洁性,从而缩小实现ISA的处理的尺寸。ISA的简洁性还能缩短芯片的设计和验证时间,这些是硬件开发的大部分成本。此外还可降低文档成本。
ISA的简洁性是最为重要的指标
性能
计时一个简单的ISA可能在每个程序执行的指令数方面多于复杂的ISA,但它可以通过更快的时钟频率或更快的平均单条指令周期数CPI来弥补。
架构和具体实现的分离
延迟分支是MIPS-32 ISA的一个令人遗憾的例子。
提升空间
随着摩尔定律的终结,对性价比进行重大改进的唯一途经是为特定领域(深度学习,增强显示,组合优化,图形等)添加自定义指令。这意味这如今的ISA必须保留操作码空间一提供未来的提升。
程序大小
- 程序越小,存储它所需的芯片面积就越小(这对于嵌入式设备来说是一个巨大的成本)
这个问题促使ARM架构师在Thumb和Thumb-2 ISA中追加了一些更短的指令。
- 更小的程序还能减少指令缓存的未命中问题,从而节省功耗,也提高了性能。
- 端的代码长度是ISA架构师的目标之一
易于编程/编译/链接
有了更多寄存器,编译器和汇编程序员的工作会更加轻松
总结
- RISC-V是一个最新的,清晰的,开源的ISA,它以过去ISA所犯过的错误为鉴
- RISC-V架构师的目标是让它从最小的到最快的所有计算设备上都能有效功能
- 准寻冯诺依曼70年前的建议,这个ISA强调简洁性来保证它的低成本,同时有着大量的寄存器和透明的指令执行速度,从而帮助编译器和汇编语言程序员讲实际的重要问题转换为适当的高校代码。
复杂度的一个标准是文档的大小
- RISC-V于2011年退出,现右一个基金会提供支持。
- 软件开发成本可能使硬件卡法成本相形见绌,因此虽然稳定的硬件很重要,但稳定的软件更甚于此。通过它的普适性和开源行,RISC-V可以挑战主流转悠ISA的主导地位。
现右一个基金会提供支持。 - 软件开发成本可能使硬件卡法成本相形见绌,因此虽然稳定的硬件很重要,但稳定的软件更甚于此。通过它的普适性和开源行,RISC-V可以挑战主流转悠ISA的主导地位。
- RISC-V是一个优雅的ISA。
老师上课的内容比较杂,希望能尽快掌握RISC-V通过考试
嵌入式系统(二):RISC-V处理器1相关推荐
- 绝对好文:嵌入式系统的软件架构设计!
要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站. 1. 前言 嵌入式是软件设计领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些问题又具有相当的通用性,可以推广到其他的领域. 提 ...
- 如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表
欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 A ASIC(专用集成电路) Application-Specific Integrated C ...
- 嵌入式系统概论-考试总结
Exam-嵌入式总结 1. 简答题 1.1. 什么是CPS?请画出典型结构,尝试描述典型应用[2015] CPS,信息物理系统,计算进程和物理进程的统一体,集计算.通信.控制于一体的下一代智能系统,由 ...
- 嵌入式系统软件架构设计
嵌入式系统软件架构设计 目录 1. 前言 4 2. 决定架构的因素和架构的影响 4 2.1. 常见的误解 5 2.1.1. 小型的系统不需要架构 5 2.1.2. 敏捷开发不需要架构 7 3. 嵌入式 ...
- 嵌入式系统开发设计---嵌入式系统开发设计
嵌入式系统设计的主要任务是定义系统的功能.决定系统的架构,并将功能映射到系统实现架构上.这里,系统架构既包括软件系统架构也包括硬件系统架构.一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍 ...
- 嵌入式系统原理及应用课后习题答案
嵌入式系统原理及应用-基于ARM Cortex-M3内核的STM32F103系列微控制器 第1篇 系统篇 第1章嵌入式系统概述 第2章嵌入式系统开发 第2篇 内核篇 第3章ARMCortex-M3处理 ...
- 嵌入式系统测试题40道附详细解析
1.与个人计算机(PC)相比,嵌入式系统具有许多不同的特点.下面不属于嵌入式系统特点的是( ). A) 嵌入式系统与具体应用紧密结合,具有很强的专用性 B) 嵌入式系统通常包含在非计算机设备(系 ...
- Android低功耗优化,基于Android嵌入式系统的低功耗优化
摘要: 在信息技术快速发展的今天,随着集成电路技术和移动互联网技术的快速发展,基于Android嵌入式系统多核处理器的手机已经越来越普及,成为人们日常生活中不可或缺的电子产品.然而,由于受到手机体积, ...
- 嵌入式系统知识点总结【1-5章】
第一章 嵌入式系统概述 1.嵌入式系统的定义及特点 定义 从广义的角度:嵌入式系统是一切非PC和大型机的计算机系统 从应用的角度:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于 ...
- 嵌入式系统的组成、嵌入式处理器分类总结、ARM处理器系列总结、ARM Cortex-M3体系结构总结!
一.嵌入式系统的组成 嵌入式系统的组成主要由:嵌入式硬件系统.嵌入式软件系统. (1)嵌入式硬件系统主要包括:嵌入式处理器.存储器.模拟电路.电源.接口控制器.接插件等 1)嵌入式处理器:是嵌入式系统 ...
最新文章
- cnblogs,我来了
- 基于jquery实现拆分姓名的方法
- QMsgPack的用法DEMO
- 可恶,谁占用了我的80端口?
- 关于怎么获取jsp的web站点的目录问题
- update mysql php_PHP的MySQL的更新update
- 百搭电商背景素材,设计师应急PSD分层模板
- docker必须要sudo,但是sudo的话,又获得不了环境变量怎么办?
- 谈谈App的混合开发
- 根据varchar排列是怎么比大小的_骨架大小怎么看?肩宽、胸腔宽、胯宽是关键,加码大骨架穿搭技巧...
- RN通信机制和渲染流程
- 连接linux常用的工具
- 机器学习理论知识的自学整理(持续更新,建议收藏)
- SpringCloud_Dubbo_JZZ_MBY
- 全国php工资城市排名,2019年各城市工资排行_2019年全国各城市最新工资排行出炉 想去哪玩来对...
- 【产品经理学习笔记】Part 13 产品运营案例分析
- yolov3代码详解(七)
- 推荐三款适合学生做笔记的软件
- 什么是自动出价?它的优势是什么?
- flash遍历子元件_Flash编程-详解循环语句
热门文章