当前位置: 首页 > news >正文

室内设计的网站山东军辉建设集团有限公司 公司网站网址

室内设计的网站,山东军辉建设集团有限公司 公司网站网址,百度浏览器网页,怎样注册微信小商店1. 背景介绍 指令集从本质上可以分为复杂指令集#xff08;Complex Instruction Set Computer#xff0c;CISC#xff09;和精简指令集#xff08;Reduced Instruction Set Computer#xff0c;RISC#xff09;两种。复杂指令集的特点是能够在一条指令内完成很多事情。 指…1. 背景介绍 指令集从本质上可以分为复杂指令集Complex Instruction Set ComputerCISC和精简指令集Reduced Instruction Set ComputerRISC两种。复杂指令集的特点是能够在一条指令内完成很多事情。 指令架构Instruction Set Architecture, 缩写为ISA是软件和硬件的接口不同的应用需求会有不同的指令架构。 RISC-V的不同寻常之处在于和几乎所有以往的ISA不同它是模块化的。它的核心是一个名为RV32I的基础ISA运行一个完整的软件栈。RV32I是固定的永远不会改变。这为编译器编写者操作系统开发人员和汇 编语言程序员提供了稳定的目标。模块化来源于可选的标准扩展根据应用程序的需要 硬件可以包含或不包含这些扩展。这种模块化特性使得RISC-V具有了袖珍化、低能耗的特点。 2. RISC-V指令格式 常见的RISC-V指令集如下表所示 基本指令集含义RV32I32位整数指令集RV32E RV32I的子集用于小型嵌入式场景 RV64I64位整数指令集兼容RV32IRV128I128位整数指令集兼容RV64I和RV32I RISC-V有六种基本指令格式 R-type用于寄存器-寄存器操作I-type用于短立即数和访存 load 操作S-type用于访存 store 操作B-type用于条件跳转操作U-type用于长立即数J-type用于无条件跳转 指令只有6种格式并且所有指令都是32位长指令的低7位固定为opcode简化了指令解码。在RISC-V中对于所有指令要读写的寄存器的标识符总是在同一位置意味着在解码指令之前就可以先开始访问寄存器这些格式的立即数字段总是符号扩展符号位总是在指令中最高位各种类型的指令构成如下图所示 字段含义 opcode(操作码)指令的基本操作这个缩写是它惯用名称。rd目的操作寄存器用来存放操作结果。funct3一个另外的操作码字段。rs1第一个源操作数寄存器。rs2第二个源操作数寄存器。funct7一个另外的操作码字段。imm立即数 2.1. R型指令 32bit R型指令包括6个部分 opcode是操作码位宽7bit在指令的0-6bitrd (Destination Register)是目的寄存器位宽5bit在指令的7-11bitfunct3funct7是两个操作字段。funct3占了3bitfunct7占了7bitrs1 (Source Register 1)是第一个源操作数寄存器位宽5bit在指令的15-19bitrs2 (Source Register 2)是第二个源操作数寄存器位宽5bit在指令的25-31bit。 R型指令构成如下 R型的全部指令RV32I R型指令包括加法、减法、逻辑运算、移位运算。 示例 add a0, a1, a2 //a0 a1 a2 sub a0, a1, a2 //a0 a1 - a2 sll a0, a1, a2 //a0 a1 a2(低位补0) srl a0, a1, a2 //a0 a1 a2(高位补0 sra a0, a1, a2 //a0 a1 a2 (算术右移高位补原来的符号位) slt a0, a1, a2 //a1 a2 ? a0 1 : a0 0 xor a0, a1, a2 //a0 a1 ^ a2 or a0, a1, a2 //a0 a1 | a2 and a0, a1, a2 //a0 a1 a2 2.2. I型指令 I型指令包括5个部分 opcode是操作码位宽7bit在指令的0-6bitrd (Destination Register)是目的寄存器位宽5bit在指令的7-11bitfunct3是操作字段。funct3占了3bit在指令的12-14bitrs1 (Source Register 1)是第一个源操作数寄存器占了5bit在指令的15-19bit存放12位的立即数——imm[11:0]在指令的20-31bit。 I型指令构成如下 I型的全部指令RV32I I型指令包括立即数的运算和load指令。  示例 addi a0, a1, 0x5 //a0 a1 0x5 subi a0, a1, 0x05 //a0 a1 - 0x05 slli a0, a1, 0x05 //a0 a1 0x05(低位补0) srli a0, a1, 0x05 //a0 a1 0x05(高位补0 srai a0, a1, 0x05 //a0 a1 0x05 (算术右移高位补原来的符号位) slti a0, a1, 0x05 //a1 0x05 ? a0 1 : a0 0 xori a0, a1, 0x05 //a0 a1 ^ 0x05 ori a0, a1, 0x05 //a0 a1 | 0x05 andi a0, a1, 0x05 //a0 a1 0x05 示例 lb x10, 0(x1) //将x1的值加上0,将这个值作为地址 取出这个地址所对应的内存中的值 将这个值赋值给x10(取出的是8位数值) lh x10, 0(x1) //从内存中取出16位数值 lw x10, 0(x1) //从内存中取出32位数值 lbu x10, 0(x1) //从内存中取出8位无符号数值 lhu x10, 0(x1) //从内存中取出16位无符号数值2.3. S型指令 S型指令包括6个部分 opcode是操作码位宽7bit在指令的0-6bitimm[4:0]imm[11:5]funct3是操作字段。funct3占了3bit在指令的12-14bitrs1 (Source Register 1)是第一个源操作数寄存器占了5bit在指令的15-19bitrs2 (Source Register 2)是第二个源操作数寄存器占了5bit在指令的25-31bit。 S型指令构成如下 S型的全部指令RV32I S型指令包括store指令。  示例 sb x10, 0(x1) //x1的值加上0,将这个值作为地址 将x10的值存储到上述地址所对应的内存中去 (只会将x10的值的低8位写入) sh x10, 0(x1) //只会将x10的值的低16位写入 sw x10, 0(x1) //只会将x10的值的低32位写入 2.4. B型指令 B型指令包括6个部分 opcode是操作码位宽7bit在指令的0-6bitimm[4:1]imm[11]imm[10:5]imm[12]注imm[0]被丢弃因为它始终为零funct3是操作字段。funct3占了3bit在指令的12-14bitrs1 (Source Register 1)是第一个源操作数寄存器占了5bit在指令的15-19bitrs2 (Source Register 2)是第二个源操作数寄存器占了5bit在指令的25-31bit。 B型指令构成如下 B型的全部指令RV32I B型指令包括条件跳转指令。  示例 beq a1,a2,Label //if(a1a2){goto Label;} bne a1,a2,Label //if(a1!a2){goto Label;} blt a1,a2,Label //if(a1 a2){goto Label;} bgt a1,a2,Label //if(a1 a2){goto Label;} bge a1,a2,Label //if(a1a2){goto Label;} ble a1,a2,Label //if(a1a2){goto Label;} 2.5. U型指令 U型指令包括3个部分 opcode是操作码位宽7bit在指令的0-6bitrd (Destination Register)是目的寄存器占了5bit在指令的7-11bitimm[31:12]:存放高20位的立即数——imm[31:12]在指令的12-31bit。 U型指令构成如下 U型的全部指令RV32I 示例 lui x10, 0x65432 //得到立即数的高20位低位补0立即数范围为0x00~0xFFFFF 2.6. J型指令 J型指令包括3个部分 opcode是操作码位宽7bit在指令的0-6bitrd (Destination Register)是目的寄存器占了5bit在指令的7-11bit立即数划分imm[19:12]imm[11]imm[10:1]imm[20]: J型指令构成如下 J型的全部指令RV32I 示例 jal ra, symbol // 跳转到Symbol中去, 并把ra设置成返回地址 Symbol 可以是自定义的Label ,也可以是某个函数名 jal ra, 100 // 跳转到pc 100 * 2的地方中去, 并把ra设置成返回地址 pc相对寻址对应的是位置无关代码PIC) jalr ra, 40(x10) // 跳转到x1040 的地方中去, 并把ra设置成返回地址x1040必须是绝对地址指向内存中某个确定的地方往往是函数的开头非PIC 3. 通用寄存器 RV32I有32个通用寄存器以及一个PC寄存器。其中有一个通过硬件设置的值恒为 0 的 x0 寄存器 注RISC-V的32个寄存器x0x31是用031这些数字来表示。 参考文档、博客 RISC-V官方文档 riscv指令集基础_konghhhhh的博客-CSDN博客 计算机系统基础五之RISC-V指令集_riscv指令集_深度学习的学习僧的博客-CSDN博客 RISC-V指令集_riscv指令集_点灯大师的博客-CSDN博客
http://www.dnsts.com.cn/news/277618.html

相关文章:

  • 专门做网站的公司 南阳wordpress 文章透明
  • 手机如何建免费网站网站建设介绍推广用语
  • 云南专业建网站做一个自己的免费网站吗
  • 自己做网站需要什么材料全局右下角弹窗wordpress
  • 网站开发免责合同手机搭建wap
  • 做网站多久才会有收益网站建设经验交流发言
  • 用在线网站做的简历可以吗淄博住房和城乡建设厅网站
  • 如何安装网站动画型网站
  • 视频网站建设解决方案国外做家纺的网站
  • 建网站域名注册wordpress 获取标签所有文章
  • 南宁网站建设设计wordpress即时通讯
  • 南宁制作营销型网站jsp做物流网站
  • 想开个网站卖衣服的怎么做wordpress社交主题
  • 做免费的视频网站可以赚钱吗代理ip免费软件
  • 简述网站建设的流程环保网站建设维护情况报告
  • 电商网站设计案例asp建设网站需要了解什么
  • 广告设计与制作的公司广州网站建设乐云seo模板中心
  • 滕州盛扬网络公司网站建设推广搞网站开发的程序员属于哪一类
  • 网站不被收录招聘网站花钱做的简历有用没
  • 南通企业网站排名app的wordpress
  • 网站认证打的钱怎么做分录快照首页排名优化服务
  • 网站建设方开发一款app需要投入多少钱
  • 青岛专业设计网站公司可以先做网站再开公司吗
  • 申请建设网站请示做新的网站
  • 沙井网站制作联系电话做美食推广的网站有哪些
  • 建站行业wordpress 签到 插件
  • 湖南营销型网站建设 要上磐石网络怎样开网店详细步骤
  • 孝感专业做网站公司品牌学习网站
  • 菏泽市住房和城乡建设路网站建设三类人员报考网站
  • 妇科医院网站建设pos机网站建设方案