第一次接触博客,"优快云"

本文介绍优快云博客的Markdown编辑器功能,包括代码块高亮、图片上传、LaTex数学公式、UML图表支持等。同时,文中对比了Markdown编辑器与富文本编辑器的区别。

优快云博客

博客可以无义的用作资料库

Markdown编辑器

  1. Markdown和扩展Markdown简洁的语法
  2. 代码块高亮
  3. 图片链接和图片上传
  4. LaTex数学公式
  5. UML序列图和流程图
  6. 离线写博客
  7. 导入导出Markdown文件
  8. 丰富的快捷键

富文本编辑器跟Markdown编辑器还是有点区别的,发表文章的位置一个在底部,一个在右上角。 

 

### 基于RISC-V指令集架构的单周期CPU与五级流水线中的`addi`指令实现 #### 单周期CPU中的`addi`指令实现 在单周期CPU的设计中,每条指令在一个时钟周期内完成全部操作。对于`addi`指令而言,在这种模式下,其执行流程如下: - **取指阶段**:程序计数器(PC)提供当前要执行指令的位置地址给指令存储器(IM),IM读出并传递该位置上的32位机器码至指令寄存器(IR)[^1]。 - **译码阶段**:IR内的信息被送往控制单元(CU),CU解析出具体的操作类型(这里是立即数加法),并将相应的信号发送到其他部件准备下一步动作;同时源操作数rs1的内容由寄存器文件(RF)读出。 - **执行阶段**:ALU接收到来自RF的数据以及来自IR解码后的立即数值imm,并按照ADDI的要求计算两者之和得到目标值rd的结果。 - **访存/写回阶段**:由于这是一次简单的整型运算而非内存访问请求,因此无需真正接触数据缓存(DM)。最后一步就是把新产生的rd放入指定的目的地寄存器之中。 ```verilog // Verilog伪代码展示单周期下的addi处理逻辑 module single_cycle_cpu ( input clk, output reg [31:0] pc_next, // 下一条指令PC ... ); always @(posedge clk) begin case (opcode) OPCODE_ADDI : begin alu_src_b <= imm; // 设置第二个输入为立即数 mem_read <= 0; mem_write <= 0; reg_write <= 1; rd_data <= rs1_data + sign_extend(imm); // 执行加法 end ... endcase end ``` #### 五级流水线中的`addi`指令分析 当考虑采用五级流水线来优化性能时,整个过程会被细分为五个独立但相互关联的任务序列——IF(Instruction Fetch)、ID(Instruction Decode)、EXE(Execution)、MEM(Memory Access)和WB(Write Back)。针对`addi`这类不需要实际访问外部RAM/DATA RAM资源的情况来说,可以忽略MEM部分的影响[^4]。 - **IF**: 获取待处理命令字节流; - **ID**: 对获取的信息做初步解释,准备好必要的参数; - **EXE**: 利用ALU完成核心算术或逻辑功能; - **MEM**: 此处为空操作NOP因为不涉及任何外设交互; - **WB**: 将最终结果送入目的寄存器保存下来。 值得注意的是,在引入多级管道机制之后,虽然理论上吞吐量有所提升,但也带来了诸如分支预测失败惩罚、结构冲突等问题需要额外解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值