【RISC-V设计-04】- RISC-V处理器设计K0A之架构

【RISC-V设计-04】- RISC-V处理器设计K0A之架构

1. 简介

在前几篇文章中,介绍了RISC-V处理器的结构和指令集,从本篇文章开始,介绍一个最简单的RISC-V内核,仅支持RV32E(和RV32I指令一致,但支持16个通用寄存器),并命名为RISCV-K0ARISCV-K0A是一个超轻量级的RISCV CPU内核,采用冯诺依曼结构,两级流水线,指令集为RV32E指令集(即整数指令集,16个通用寄存器),支持16个中断源。内核较为精简,面积极小、功耗低。

2. 主要特点

  1. RV32E+Zicsr指令集;
  2. 16个通用寄存器;
  3. 仅支持机器模式;
  4. 支持特权指令MRET;
  5. 实现了44条指令的处理;
  6. 两级流水线,取指、执行两个阶段;
  7. 冯诺依曼结构,指令总线和数据总线共享;
  8. 20位地址总线,最大支持1MByte地址空间;
  9. 支持16个外部中断源,支持晚到中断、咬尾中断;

3. 结构框图

BMU :总线管理单元(Bus Management Unit)
IDU :指令译码单元(Instr Decoder Unit)
ALU :算术逻辑单元(Arithmetic and Logic Unit)
GPR :通用寄存器(General Purpose Register)
CIC :核内中断控制器(Core Interrupt Contoller)
CSR :控制与状态寄存器(Control and Status Register)

4. 指令列表

序号 类型 指令 周期 功能 说明
1 RV32I ADDI 1 Rd = Rs + imm 立即数加法
2 RV32I SLTI 1 Rd = Rs < imm ? 1’b1 : 1’b0 立即数有符号小于
3 RV32I SLTIU 1 Rd = Rs < imm ? 1’b1 : 1’b0 立即数无符号小于
4 RV32I XORI 1 Rd = Rs ^ imm 立即数异或
5 RV32I ORI 1 Rd = Rs | imm 立即数逻辑或
6 RV32I ANDI 1 Rd = Rs & imm 立即数逻辑与
7 RV32I SLLI 1 Rd = Rs << imm[4:0] 立即数逻辑左移
8 RV32I SRLI 1 Rd = Rs >> imm[4:0] 立即数逻辑右移
9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值