自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 【CQUT】取址级概述

支持4种PC计算方式(异常/分支/缓冲分支/顺序)- 优先级: 异常 > 分支 > 顺序执行。- 采用valid/ready握手机制。- 分支取消信号可快速停止错误取指。- 指令缓冲机制处理流水线停顿。- pre-IF的PC计算缓冲。- 采用缓冲机制处理瞬时信号。- 分支预测失败需1周期恢复。- 处理指令缓存和流水线停顿。- 与pre-IF级紧密耦合。- 生成指令存储器访问请求。- 并行地址生成和数据获取。- 异常信号具有最高优先级。- 从指令存储器获取指令。- 与译码级握手传递指令。

2025-05-20 17:12:23 434

原创 【CQUT】从零开始龙芯杯-流水线概述

同时,流水线可以提高时钟频率,因为每一级仅包含较少的逻辑级,降低了临界路径长度,允许更短的时钟周期。在流水线设计时,一旦译码阶段检测到目的寄存器为 R0,可在 ID 阶段禁止写回,从而简化 WB 阶段处理。例如,在 IF1 阶段读取下一条指令地址的同时,之前的指令已经在 IF2/ID 等阶段处理,大大提高了指令吞吐量。每一级之间通过流水寄存器隔离,使得上一个指令进入下一级后,下一条指令即可进入上一级,实现指令并行推进。在处理器中,每条指令依次经过取指、译码、执行、访存、写回等阶段,但不同指令可同时。

2025-05-20 17:10:52 955

原创 详解IIC和SPI协议

⑥确定iic速度:SCL线上的低电平时间是由时钟低电平最长的设备决定,SCL的高电平 则是由高电平时间最短的期间决定 ,通过这一方法可以同步所有设备的时钟,更好的 实现仲裁。③非破坏性仲裁机制:依赖线与特性和回读机制,多设备可同时拉低总线开始发送起始 位,但此后发送的每个数据都进行回读,发现总线电平与发送电平不同时仲裁失败,返 回接收状态。⑦虽然iic协议包含了通用寻址的功能,但通用寻址是单向的,缺少组播功能(不支持 id过滤)及错误处理机制,可靠性较低。③通过拉低指定的片选信号可以实现简单的广播功能。

2025-02-01 15:36:40 479

原创 详解Can协议

②非破坏性仲裁:若多个设备的发送请求同时到来,则CAN协议会根据仲裁段进行仲裁,ID号小点优先发送 (实现要求:线与、回读(每个设备发送一位数据后都会回读总线当前电平,确认已发出))③总线关闭状态:不能参与通信、设备处于被动错误状态后依然频繁发送被动错误时进 入该状态【stm32f103添加了用来开关总线关闭状态的设备是否能自动返回主动错误状态】③错误帧:位错误、填充错误、CRC错误、格式错误、应答错误时总线上的设备会发出错误帧来破坏数据,同时终止当前的发送【发送六个相同电平的bit】

2025-01-31 22:22:58 1655

原创 【CQUT】从零开始龙芯杯-lab5

Tcl(Tool Command Language)是 Vivado 开发工具支持的一种脚本语言,用于自动化和批量化操作。Vivado Tcl 脚本可以用于控制 Vivado 工具的各项功能,比如创建工程、添加源文件、设置约束、运行综合和实现、生成比特流等。

2024-11-20 17:43:27 1257

原创 【CQUT】从零开始龙芯杯-lab2和lab3

lab2创建工程/导入文件/仿真的过程与lab1基本一致,请仿照lab1的流程完成对lab2寄存器堆的仿真,并实现对原本5位地址宽度的扩展(扩展至8位),并能观察到与原本5位地址宽度下相同的仿真现象。RAM 的数据可以被快速读取和写入,因此广泛用于需要频繁访问数据的场景,如计算机的主存储器。在lab3中,请在仿真波形图中观察同步RAM和异步RAM的行为差异,并尝试通过查询资料和阅读代码的方式解释这种差异。:异步 RAM 的操作不依赖于系统的时钟信号,而是通过控制信号直接控制读写操作。

2024-11-11 12:52:25 747

原创 【CQUT】从零开始龙芯杯-lab1

实际上,完成实验的过程也是设计cpu的基本步骤,即完成了这23个实验你也就得到了一款五/六级流水并且具备MMU和cache的完整cpu核心。为了工程文件的规整,我们建议你将本工程用到的所有文件都存放在同一个父文件夹下(此处为lab1)然后点击Source区域中的+号添加文件。本章为大家梳理了vivado的工程创建,并明确了工程中基本的三种文件:源工程文件(.v) 约束文件(.xdc) 测试文件(.v)在此界面中你可以添加已有的文件或创建新的文件,为了演示在工程中添加文件,此处我们直接点击NEXT。

2024-11-04 20:20:48 1754

原创 【CQUT】从零开始龙芯杯-开始前的准备

不同级别的Cpu对于vivado综合的时间有较大影响,其中Cpu的单核、多核性能以及cache性能影响权重较高。因此,为了保证学习进度和效率,我们建议在Cpu不低于I5 12400的环境下进行学习。Vivado2023.2安装包约100GB,为了保证成功安装建议留出300GB硬盘空间。龙芯杯的许多资料被托管在gitee,你需要git指令将资料克隆到本地。指定用书:CPU设计实战 Loongarch版 作者:汪文祥、邢金璋。Cpu性能对比网站:https://www.cpu114.com/

2024-11-04 20:11:57 756

原创 【CQUT】从零开始龙芯杯-初章

1. 初赛阶段的 LoongArch 微系统使用 FPGA 片内存储器(指使用ip核即可,不与ddr或nand交互)即可。以正确通过的指令功能测试项数为评价依据。1. 各参赛队中程序执行时间最小者的性能测试分值被定义为 100 分,决赛阶段的 LoongArch 微系统内部设计可以与初赛阶段的设计。义为 20 分,处理器主频最低者的得分被定义为 0 分;得分被定义为 20 分,程序执行周期数最多者的得分被定义为 0 分;参赛队也可自行选择操作系统,以充分展示 LoongArch 微系统的。

2024-11-04 20:11:02 2170

原创 【初学c语言】如何定义行列数都未知的连续二维数组

如何定义行列数都未知的连续二维数组

2022-12-08 22:45:29 1811

原创 PTA7-1藏头诗 新编码格式版(utf-8)

PTA7-1藏头诗 新编码格式版(utf-8)

2022-11-21 23:26:16 1314 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除