什么是MIPS架构?RISC-V架构?有什么区别?【超详细初学者教程】

什么是MIPS架构?RISC-V架构?有什么区别?【超详细初学者教程】

关键词:MIPS架构,RISC-V架构,精简指令集RISC,嵌入式系统,CPU架构对比,指令集架构,开源处理器,MIPS和RISC-V区别,MIPS汇编教程,RISC-V学习路线,嵌入式开发,RISC-V工具链,开源硬件

在学习 MIPS 架构、RISC-V 架构、精简指令集(RISC)、嵌入式系统、CPU 架构对比 时,很多初学者会产生困惑:
👉 为什么教材上常见的是 MIPS 架构,而最新的开源潮流又是 RISC-V?
👉 这两种架构到底有什么相同点和不同点?
👉 如果我是初学者,该先学哪一个?

背景>>
据《华尔街日报》报道,阿里巴巴正在开发一款兼容英伟达生态的新AI芯片。新一代芯片兼容英伟达生态但性能超越H20,采用FP8架构(UE8M0 FP8)显著提升能效比,降低对CUDA生态依赖。目前处于测试环节,由中国大陆企业代工生产,首次实现本土化制造(此前含光800由台积电代工)。

本文将从基础概念、历史发展、指令集特性、应用场景、学习路线等多个角度,带你完整了解 MIPS 与 RISC-V
什么是MIPS架构?RISC-V架构?有什么区别?【超详细初学者教程】

文章目录

  • 什么是MIPS架构?RISC-V架构?有什么区别?【超详细初学者教程】
    • 一、背景介绍:什么是指令集架构(ISA)?
    • 二、MIPS 架构:历史与特点
      • 1. 时间线
      • 2. 特点
      • 3. 示例代码
    • 三、RISC-V 架构:新兴的开源指令集
      • 1. 时间线
      • 2. 特点
      • 3. 示例代码
    • 四、MIPS 与 RISC-V 的发展脉络
    • 五、MIPS vs RISC-V 核心特性对比图
    • 六、学习路线
    • 七、MIPS 通用架构图
    • 八、RISC-V 通用架构图
    • 九、知识点概述表
    • 十、总结


一、背景介绍:什么是指令集架构(ISA)?

指令集架构(Instruction Set Architecture,简称 ISA)是 硬件与软件之间的契约

ISA 规定了:

  1. CPU 能理解哪些指令。
  2. 每条指令如何编码。
  3. 寄存器数量和作用。
  4. 存储器访问方式。

常见分类:

  • CISC(复杂指令集):如 x86(Intel/AMD)。
  • RISC(精简指令集):如 ARM、MIPS、RISC-V。

二、MIPS 架构:历史与特点

1. 时间线

在这里插入图片描述

2. 特点

  • 固定长度指令(多为 32 位)。
  • 寄存器为中心(32 个通用寄存器)。
  • Load/Store 架构
  • 教育意义强,教材常用。

3. 示例代码

.data
msg: .asciiz "Hello, MIPS!\n".text
main:li $v0, 4        la $a0, msg      syscallli $v0, 10       syscall

三、RISC-V 架构:新兴的开源指令集

1. 时间线

在这里插入图片描述

2. 特点

  • 开源免费,任何人都能使用和扩展。
  • 模块化设计,基础小巧,扩展灵活。
  • 多位宽:RV32 / RV64 / RV128。
  • 生态快速发展,涵盖 MCU 到 AI 芯片。
  • 阿里云版H20架构支持”: 最新国产芯片。

3. 示例代码

.data
msg: .string "Hello, RISC-V!\n".text
.globl _start
_start:li a7, 64        li a0, 1         la a1, msg       li a2, 14        ecallli a7, 93        li a0, 0ecall

四、MIPS 与 RISC-V 的发展脉络

指令集架构 ISA
MIPS 1981
RISC-V 2010
嵌入式/游戏机/教育
IoT/AI/数据中心/教育
逐渐式微 被 ARM 和 RISC-V 取代
快速崛起 形成产业联盟

五、MIPS vs RISC-V 核心特性对比图

RISC-V 架构
MIPS 架构
开源 免费
模块化扩展
I M A F D C V B K H
多位宽 RV32 RV64 RV128
生态活跃 GCC LLVM OS 板卡
应用 MCU AI 数据中心 嵌入式
固定长度指令
32 位
Load Store 架构
32 个通用寄存器
闭源 商业授权
主要应用 教育 嵌入式 游戏机

六、学习路线

初学者
MIPS 架构入门
理解 RISC 思想
RISC-V 基础
工具链 模拟器
实验 FPGA 开发板
进阶 编译器 OS 移植

七、MIPS 通用架构图

缓存系统
L1 I-Cache
L1 D-Cache
L2 缓存
系统控制与异常
CP0 系统寄存器
异常 中断控制
TLB 地址转换
MMU 地址检查
经典流水线
ID 译码
IF 取指
EX 执行
MEM 访存
WB 回写
MIPS ISA
MIPS32 / MIPS64
指令格式 R/I/J

八、RISC-V 通用架构图

中断与平台
PLIC 外部中断控制器
CLINT IPI 定时器
PMP 内存保护
内存系统
TLB
MMU Sv32 Sv39 Sv48
扩展单元
整数 ALU
FPU 单精度 双精度
向量扩展 RVV
加密扩展 K
流水线执行
ID 译码
IF 取指
EX 执行
MEM 访存
WB 回写
特权与控制
特权模式 M S U
CSR 寄存器集
SBI 固件 OpenSBI
异常 中断入口 返回
RISC-V ISA
RV32I RV64I RV128I
扩展 M A F D C V B K H

九、知识点概述表

知识点关键内容
ISA 定义CPU 与软件的接口,规定指令格式与执行方式
MIPS1981 年提出,经典 RISC 架构,适合教学与嵌入式
RISC-V2010 年提出,开源、模块化、生态繁荣
相同点都属于 RISC,强调指令简单、高效流水线
不同点MIPS 商业化固定,RISC-V 开源可扩展
学习建议先学 MIPS 入门,再深入 RISC-V,结合工具链实践

十、总结

  • MIPS 架构:经典、规整,适合初学者快速理解 RISC 思想

  • RISC-V 架构:新兴、开源,正在成为 学术与工业界的未来趋势

  • 如果你是初学者:

    • ✅ 先学 MIPS,掌握指令集基本原理。
    • ✅ 再学习 RISC-V,参与开源生态,跟上产业趋势。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/97638.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA Spring属性注解依赖注入的警告 Field injection is not recommended 异常解决方案

一、异常错误 在使用 IntelliJ IDEA 进行 Spring 开发时,当使用 Autowired 注解直接在字段上进行依赖注入时,IDE 会显示黄色警告: Field injection is not recommended这个警告出现在以下代码模式中: Service public class UserSe…

智能核心:机器人芯片的科技革新与未来挑战

在人工智能与机器人技术深度融合的今天,机器人芯片作为驱动智能机器的“大脑”,正成为科技竞争的战略制高点。这一微小却至关重要的硬件,决定了机器人的计算能力、响应速度与智能水平,是机器人从“自动化”迈向“自主化”的关键所…

经典扫雷游戏实现:从零构建HTML5扫雷游戏

一、引言 扫雷是一款经典的单人益智游戏,起源于20世纪60年代,并在90年代随着Windows操作系统的普及而风靡全球。本文将详细介绍如何使用现代网页技术(HTML、CSS和JavaScript)从零开始构建一个功能完整的扫雷游戏。我们将涵盖游戏逻…

ccache编译加速配置

ccache 介绍 ccache(“compiler cache”的缩写)是一个编译器缓存,该工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息, 比如头文件,这样就节省了通常使用 cpp 解析这些信息所需要的时间。 github :https://github.com/ccache/ccache home:https://c…

数据库主键选择策略分析

为什么不推荐使用数据库自增主键?分库分表问题:自增ID在分库分表场景下会导致ID冲突需要额外机制(如步长设置)来保证全局唯一,增加系统复杂度安全性问题:自增ID容易暴露业务量(如订单号连续)可能被恶意爬取数据分布式系统限制&…

线性代数理论——状态空间的相关概念以及由系统的输入输出导出状态空间描述

线性代数理论——状态空间 状态:动态系统的状态就是指系统的过去、现在、将来的运动状况,精确的说就是状态需要一组必要而充分的数据来表明。 状态变量:可以表达系统运动状态的变量都是状态变量。 状态变量组:可以完全表征系统在时…

【GaussDB】排查应用高可用切换出现数据库整体卡顿及报错自治事务无法创建的问题

【GaussDB】排查应用高可用切换出现数据库整体卡顿及报错自治事务无法创建的问题 背景 某客户在做应用程序的高可用切换测试,在应用程序中,收到了来自数据库的报错,不能创建自治事务 ERROR: autonomous transaction failed to create auton…

shell脚本第五阶段---shell函数与正则表达式

学习目标掌握case语句的基本语法结构掌握函数的定义以及调用掌握常用的正则表达式元字符含义一、case语句case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case var in 定义变量;var代表变量名…

164.在 Vue3 中使用 OpenLayers 加载 Esri 地图(多种形式)

适配:Vue 3 Vite TypeScript(也兼容 JS) 地图引擎:OpenLayers v10 目标:一次性学会 多种 Esri 底图加载方式、注记叠加、动态切换、令牌(Token)鉴权、常见坑位排查。一、效果预览二、为什么选…

深入了解Flink核心:Slot资源管理机制

TaskExecutor、Task 和 Slot 简单来说,它们的关系可以比作:TaskExecutor:一个工厂,拥有固定的生产资源。TaskSlot:工厂里的一个工位。每个工位都预先分配了一份独立的资源(主要是内存)。Task&am…

java web 练习demo。生成简单验证码前端是jsp

目录结构 demo\ ├── WEB-INF\ │ └── weblogic.xml # WebLogic服务器配置文件 ├── demo.iml # IntelliJ IDEA项目配置文件 ├── lib\ # Java EE核心依赖库 │ ├── javax.annotation.jar │ ├── javax.ejb.jar │ ├── javax.…

拥抱智能高效翻译 ——8 款视频翻译工具深度测评

前阵子帮知识博主做跨境视频翻译,踩了不少坑:把 “内卷” 直译成 “involution” 让海外观众困惑,多语种版本赶工 3 天只出 2 种,还得手动核对 “碳中和”“非遗” 这类特色词的译法;用传统工具译完,视频要…

[知识点记录]SQLite 数据库和MySQL 数据库有什么区别?

核心区别:一个“内嵌”,一个“独立”SQLite (你的个人笔记本)本质: 它是“无服务器”的,或者叫“内嵌式”数据库。它不需要一个独立的程序一直在后台运行。你的应用程序(比如Strapi)直接就能读写它的数据库…

【Spark Core】(二)RDD编程入门

目录1 程序入口&#xff1a;SparkContext对象2 RDD的创建2.1 本地创建2.2 读取文件创建3 RDD算子4 常用Transform算子4.1 map算子4.2 flatMap算子4.3 reduceBykey算子4.4 mapValues算子<实例> WordCount4.5 groupBy算子4.6 filter算子4.7 distinct算子4.8 union算子4.9 j…

java IDEA run/Debug异常:“jdk1.8injava.exe“ CreateProcess error=206, 文件名或扩展名太长

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#,Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开发…

Java 函数编程之【过滤器filter()合并】【predicate(断言)】与【谓词逻辑】

Java函数式编程之【过滤器filter合并】【predicate&#xff08;断言&#xff09;】与【谓词逻辑】一、合并多个过滤器filter &#xff08;Lambda版本&#xff09;二、合并多个过滤器filter &#xff08;谓词逻辑&#xff08;Predicate&#xff09;版本&#xff09;&#xff08;…

CentOS10安装RabbitMQ

1.下载资源 &#xff08;1&#xff09;下载erlang-rpm 注意&#xff1a;按照图片中的下载&#xff0c;用绿色三角形指向的是重点关注的。 网址&#xff1a; erlang-rpmhttps://github.com/rabbitmq/erlang-rpm/releases &#xff08;2&#xff09;下载rabbitmq-server 注…

JVM——八股文

1. JDK, JRE和JVM的关系JDK JRE Java开发工具JRE JVM Java核心类库JDK供Java程序开发人员开发软件&#xff0c;JRE供客户使用&#xff0c;只需要JVM运行环境即可。JVM运行的是class字节码&#xff0c;不仅能运行Java代码&#xff0c;还能运行其他语言&#xff0c;只要语言能…

骑行把带定期换,维乐 Skin Wrap 把带焕新骑行

在公路骑行的装备体系里&#xff0c;把带是最易被忽视却至关重要的“消耗品”。它是骑手手部与车身的直接连接&#xff0c;每一次转向、变速、刹车&#xff0c;都需通过把带传递力量与操控意图&#xff1b;同时&#xff0c;它还承担着吸汗、减震、保护车把的作用。可长期使用后…

LeetCode100-73矩阵置零

本文基于各个大佬的文章 上点关注下点赞&#xff0c;明天一定更灿烂&#xff01; 前言 Python基础好像会了又好像没会&#xff0c;所有我直接开始刷leetcode一边抄样例代码一边学习吧。本系列文章用来记录学习中的思考&#xff0c;写给自己看的&#xff0c;也欢迎大家在评论区指…