- 博客(17)
- 收藏
- 关注
原创 超标量处理器设计之发射(六)
发射简单而言就是将将可执行的指令发送到执行单元。指令发射分为和。和。发射指的是将可执行指令从发射队列发送到执行单元,分发指的将是译码后的指令发送到发射队列。如果采用直接发射设计,有数据相关性的指令会导致发射阻塞,从而成为性能瓶颈。当前高性能处理器普遍使用间接发射设计,引入发射队列避免上述情况,提高指令持续发射速率。发射队列主要应用两种思想:将源操作数检查与指令发射解耦,扩展在每个时钟周期中扫描的指令窗口以获取更新可执行指令。
2025-02-21 14:45:36
1085
原创 超标量处理器设计之虚拟存储器(三)
CPU在执行指令的时候首先给出虚拟地址,CPU内MMU根据虚拟地址和页表寄存器查询存放在内存中的页表,根据查询到的记录得到物理页框号PFN,此时MMU再用PFN和虚拟地址的Page Offset组合起来查询内存中数据。一次内存数据的访问实际上对应两次内存访问,第一次访问的是页表,第二次访问的才是页的内容,如果发生缺页,则还需要访问磁盘。通过两级页表得到虚拟地址对应的数据,首先需要访问第一级页表,得到虚地址所属第二级页表的基地址,再从第二级页表中得到虚地址对应的物理地址,最后访问物理内存得到数据。
2023-07-17 15:59:27
294
1
原创 超标量处理器设计之Cache(二)
对于直接映射结构,选择的Cache Line是单一的,而对于组相连结构,Cache Set中的任何Cache Line都是替换的候选对象,对于全相连的结构,所有Cache Line都是替换的候选对象。缓存的内容可以分为数据和指令两类,通常为了支持数据访问和指令获取的重叠,CPU设置两个一级缓存,分别存储数据和指令,这种一级缓存被称为哈佛缓存(Harvard Cache)。3> 实际实现中使用CAM来存储Tag值,使用普通的SRAM来存储数据,CAM中寻址成功时对应的SRAM对应的行也将会被找到。
2023-07-13 09:17:58
828
1
原创 超标量处理器设计之概述(一)
解码阶段得到指令的源寄存器和目标寄存器都是指令集定义的逻辑寄存器,为了解决WAW和WAR假相关性,将逻辑寄存器重命名为处理器的物理寄存器,并用表格记录二者之间的映射关系和未被使用的物理寄存器信息;:仲裁电路从发射队列中选择合适的指令发送到FU中执行,对于乱序执行的处理器,这是从顺序执行到乱序执行的分界点(前序过程是顺序的,从这里开始乱序发射和执行),直到提交才重新变成顺序;,两条指令的结果都要写入同一个寄存器,相关性可以避免,后面的指令写入其他寄存器即可——output dependence;
2023-07-10 12:21:57
1223
原创 MySQL8 忘记密码修改
首先以管理员身份启动cmd 进入MySQL的安装路径 net stop mysql关闭服务 mysqld --console --skip-grant-tables --shared-memory跳过了mysql的用户验证 然后, 启动另一个 CMD 命令行, 输入mysql -u root直接登陆, use mysql; update user set authentication_string='' where user='root';--将字段置为空 ALTER ...
2022-05-12 12:29:38
1571
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅