上海之旅
What was your mission in Shanghai ?!
从零开始学RISC:第三篇
Valid_Ready 握手
RISCV的流水线设计需要许多模块共同协作,在外部看来是流水线连续处理指令。对于流水线而言,各阶段也需要模块单独进行处理,处理完毕后交给下一级。各模块之间如何进行交流,从而得知前一级的工作已完成?设计中的valid_ready 协议通过两个信号 valid 和 ready 实现双向握手,确保数据在双方都准备好时才传输:
valid 表示 发送端已经准备好 发送数据,数据是有效的;
ready 表示 接收端已经准备好 接收数据。
只有当 valid == 1 且 ready == 1 时,数据才真正被“传输”。
握手设计
对于前后级模块,不分主从,但为了方便,将发送Ready的前一级与接受Valid的后一级规定为Master,发送Valid的前一级与接受Ready的后一级定为Slave。
对于流水线模块的状态判断,采用四模式的状态机,包含RUN、IDLE、WAIT、SAVE:
RUN:正常运行状态,接收指令并执行。当上游结果可用并且下游流水级可以接收本级结果,则进入此状态;
IDLE:空闲状态,等待新的指令输入。如果上游结果不可用或者是下游流水级忙碌, ...
懒人看片神器:MPV-Lazy配置
嗨,我是颠佬,这是我的看片神器~
兰州-天水之旅
但使龙城飞将在、不教胡马度阴山。
洛阳之旅
国色牡丹迎君来、踏春寻梦洛阳城。
MATLAB设置自定义字体时找不到系统已安装字体
前言
最近在研究遗传算法优化PID参数的论文。本来想用Python实现的,奈何实在不会。网上有很多MATLAB的代码,学习一下。
自带的字体太虚了,看着不舒服。所有的代码字体我都换成自制的JetBrains Mono Nerd Font Mono + MiSans,高分屏也看的舒服。但不知道为啥,MATLAB中看不到系统已经安装的字体。
解决
找到你系统上安装字体的路径,复制对应的TTF字体文件到MATLAB\sys\java\jre\win64\jre\lib\fonts下即可。
VSCode配置LaTeX编辑环境
前言
换了新电脑,刚好配一下LaTeX环境,以便后面写毕设论文。实在用不惯Word,告辞。
LaTeX配置
镜像下载
搜索texlive2025.iso,各大高校镜像站都能下到。比如:texlive2025.iso - 清华大学开源软件镜像站或者是texlive2025.iso - 西安交通大学软件镜像站。
Win10及以上自带了虚拟光驱,直接双击打开就行。
安装设置
打开挂载后的镜像,选择install-tl-windows.bat,运行后会得到下面的GUI安装界面:
可以修改安装位置。这里点进去Advanced,展开高级设置:
然后点开N. of collections,选择一下语言。这里就选中文和英语,应该够了吧。此外,安装位置也可以选。全套装完大约占用10G的空间,C盘不够的就移到别的盘里安装。
之后开始安装即可。等待时间有点长,显示的一刻钟就好,实际上大约半个小时。
听说第一步选择管理员身份运行也可以,但是后面每次更新包都要以管理员身份运行。但我测试了一下,正常运行tlshell更新库好像没问题?
不选择管理员身份安装只是不能装到C盘根目录下罢了。
小BUG
安装时出现 ...
Win11 24H2 映射网络驱动器提示“出现了扩展错误”
微软越做越抽象了,从软件到系统无一幸免。
从零开始学RISCV:第二篇
指令
RISC-V 的基础指令分为RISU四种类型。基于对立即数的处理,还有两个指令格式的变体BJ。
R-Type 寄存器类型
R-type 的 OPCODE 均为0010011。指令分类,根据funct3先进行一次区分,再根据funct7进行一次判断。
比如,对于ADD/SUB/MUL,其funct3均为3'h0。因此,还需要再对funct7进行判断:
1234567891011121314151617181920212223`OPCODE_RTYPE: begin // R-Type branch_cancel <= 0; jalr_cancel <= 0; rd_ptr_out <= rd; imm_val_out <= 32'b0; using_imm_out <= 'b0; case (funct3) `FUNCT3_ADD_SUB_MUL: alu_op_out <= inst_in[25]?`ALU_MUL:inst_in[30] ? `A ...
从零开始学RISCV:第一篇
RISC-V:缘起名校、兴于开源
RISC-V (英文读作“risk-five”) 架构主要由美国加州大学伯克利分校的众多教授于 2010 年发明。RISC-V 是一种全新的指令集架构,里面的“V”包含两层意思:一是这是加州大学伯克利分校从 RISC I 开始设计的第五代指令集架构;二是它代表了变化(variation)和向量(vector)。
经过几年的开发,加州大学伯克利分校为 RISC-V 架构开发出了完整的软件工具链以及若干开源的处理器实例,使 RISC-V 架构得到越来越多的关注。2015 年,RISC-V 基金会正式成立并开始运作。 RISC-V 基金会是一个非营利性组织,负责维护标准的 RISC-V 指令集手册与架构文档,并推动 RISC-V 架构的发展。
RISC-V 架构的发展目标如下:
成为一种完全开放的指令集,可以被任何学术机构或商业组织自由使用。
成为一种真正适合硬件实现且稳定的标准指令集。
Less is God
RISC-V 的设计理念很简单:大道至简。它力图通过架构的定义使硬件的实现足够简单。
模块化指令集
RlSC-V 的指令集使用模块化的方式进行组 ...






![[星港游记] 金星大距:二分相](https://webpn.esing.dev/img/starport.webp)