CPU设计——Triumphcore——MP_work版本

news/2024/7/23 10:06:45 标签: cpu, pipeline

该版本用作系统寄存器的实现,M/S/U状态的实现与切换,以及load/store的虚实地址转换

设计指标

  • 2023.12.8
    在这里插入图片描述
  • 2023.12.9

不实现mideleg和medeleg,因此一旦出现异常,直接切换至M态,

调试记录

到存储区中取PTE要额外至少一拍,需要使用store buffer

如果PTE在boot data ram中,拍数为一拍;但如果PTE在总线上的axi_sram中,则需要更多拍数。

首先,没有store buffer,如果两条连续的store axi_sram空间的操作,第二条会丢失;
其次,store buffer可以保证store完成后,后续的load或另一条store才会再次执行;如果不用store buffer,由于取PTE多出来的一拍(两级页表则要两拍),虚实地址转换至少在一拍内完成,load/store的指令执行至少会多出一拍来,导致流水线不同步。
load指令还好,如果不写回,流水线会始终stall,但对store来讲,机器认为store会在4拍内完成,但却使用了5拍,如果后面发出一条load指令,此时会不会出错。

无论如何,在没有cache、流水线只有五级的情况下,还是加上store buffer为好。


http://www.niftyadmin.cn/n/5253078.html

相关文章

EtherCAT主站SOEM -- 9 -- SOEM之基于QT搭建自己的EtherCAT主站

EtherCAT主站SOEM -- 9 -- SOEM之基于QT搭建自己的EtherCAT主站 0 QT-SOEM视频预览:一 准备Ubuntu系统和QT软件及SOEM:二 Soem搭建大概步骤:三 获取网口信息函数实现:3.1 实现流程:3.2 函数实现过程:3.2 ## 4.1 实现流程::四 在Qt中编写SOEM-EtherCAT主站程序4.1 实现流…

SpringBootAdmin设置邮件通知

如果你想要在Spring Boot Admin中配置邮件通知&#xff0c;可以按照以下步骤进行操作&#xff1a; 添加邮件通知的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dep…

[算法每日一练]-双指针 (保姆级教程篇 1) #A-B数对 #求和 #元音字母 #最短连续子数组 #无重复字符的最长子串 #最小子串覆盖 #方块桶

目录 A-B数对 解法一&#xff1a;双指针 解法二&#xff1a;STL二分查找 解法三&#xff1a;map 求和 元音字母 最短连续子数组 无重复字符的最长子串 最小子串覆盖 方块桶 双指针特点&#xff1a;双指针绝不回头 A-B数对 解法一&#xff1a;双指针 先把数列排列成…

【已解决】解决UbuntuKali无法进行SSH远程连接

目录 Ubuntu20.04配置SSH远程连接Kali Linux配置SSH远程连接 Ubuntu20.04配置SSH远程连接 首先更新安装包 sudo apt-get update 下载SSH服务 sudo apt install openssh-server 查看SSH服务 service ssh status 打开 /etc/ssh/sshd_config文件修改配置文件 将PermitRootLog…

forceUpdate

forceUpdate 方法的原理是&#xff0c;它会导致组件的 $forceUpdate 函数被调用。当 $forceUpdate 被调用时&#xff0c;Vue 会重新运行该组件的 render 函数&#xff0c;并强制更新组件的虚拟 DOM。这样就会导致组件的子组件也重新渲染&#xff0c;从而达到强制更新的效果。 在…

为什么不建议所有类型都用ref

很多人在vue3的代码开发过程&#xff0c;习惯于直接把所有类型的响应式数据都用ref包裹创建。 1. ref: 适用类型: ref 主要适用于处理基本类型数据&#xff0c;如数字、字符串等。 内部实现: ref 创建一个包装过的响应式数据&#xff0c;通过 .value 属性访问和修改其值。这是…

C++模板的局限性,提供特殊的类型具体化模板

为了解决自定义数据无法调用常规模板&#xff0c;提供模板的重载&#xff08;具体化模板&#xff09;&#xff0c;可以位这些特定的类型提供具体化的模板 总结&#xff1a; 利用具体化的模板&#xff0c;可以解决自定义类型的通用化学习模板并不是为了写模板&#xff0c;而是…

在UE中使用Python设置枚举类属性值的问题

目标 在UE编辑器中使用Python设置枚举类属性值会遇到些问题&#xff0c;本篇记录了这些问题的解决方法。 1. 设置数值类属性值 先在编辑器中选择一个Actor&#xff0c;然后运行下面Python代码&#xff1a; actor unreal.EditorLevelLibrary.get_selected_level_actors()[0…