6.6aaaaaa

BTB

那BTB判断是怎么完成判断的?对于某个pc,是所有的pc都会由BTB进行判断吗?

那BTB里的结构是怎样的?即代码是如何实现的?valid entry当中有哪些数据?她的btb_pc地址是虚拟地址还是物理地址?


现在的理解是,在T时刻取出a的pc地址,假设是跳转和不是两种情况;BTB完成预测是在ID还是IF,我知道BTB在ID阶段会有作用;对于跳转指令,当T1时刻,a取完指令到了ID,分析判断完是跳转,此时IF阶段去取指令的pc是+4还是预测的pc?我知道如果没有BTB就肯定是+4,然后分支跳转会清除掉此时IF上的错误指令,造成IF上的气泡;然后T3时刻,ID上就是空气泡,IF上才是对的真指令,

以及对于分支指令,是只到ID是吧,EX没作用,是不是就相当于EX,MEM,WB都是空气泡了?

然后如果拆分到六级流水线了,ID2才是动态发射,那T1时刻a还在ID1不知道要不要跳转,T2时刻BTB才知道是不是真的跳转,那么此时流水线上已经填充了两条错误指令了,即IF和ID1,这样理解对吗?

结构

RAS

RAS是什么?和BTB有什么区别?

分支指令

你说BTB负责b/bl和条件分支,RAS负责jirl,但问题是来了一个pc后,没到ID阶段,BTB和RAS都不知道这个PC对应的指令到底是什么,那返回的结果到底取哪个?


TLB

当前代码中关于TLB的设计,关于虚实地址转换的机制和流程是怎样的?以及CPU能同时运行多个进程吗?即对于相同的虚拟地址,CPU能知道这是不同进程的,转换到物理地址后能从实际的RAM中访存吗?

DMW

DMW不区分进程,那举一个它完整应用的流程?就是有背景的那种,现在完全理解不到不区分进程的虚实地址转换是如何保证安全性以及做数据区分的

比如进程A在内存上有物理页pa,那么CPU访问就是用va,然后结合A的进程号来得到pa;那内核要直接访问pa,"内核 VA = 0x8000_0000 + 0x0123_4000

= 0x8123_4000"前面加的这个东西是什么?以及后面的是pa吧?这不就相当于一开始加了个数,后面又减去,有什么意义?以及内核为什么要访问一个进程A的物理页?


那"0x8000_0000 + pa"是在哪进行的?IF阶段?我只知道解析VA是在ID阶段的;以及内核也得知道要访问的地址是用户进程的页才加这个0x8,还是说对任意的pc,都会加0x8?以及真实内存空间中,除了进程的物理页以外还有哪些数据?CPU是如何访问的?

那既然内核已经知道是要访问一个地址了,为什么还要加上一个数?就是说,为什么不直接发物理地址呢?更进一步地说,我完全不理解DMW存在的意义是什么,关键不是在于对PLV是否为内核的判断,而不是是否落在DMW窗口内的判断;即,如果是处于内核态,那不就可以直接把地址当成物理地址来访问

那DMW窗口值,是由谁来确定的?操作系统内核?还是CPU?我只知道操作系统内核和CPU都知道DMW的窗口值,这个值是否会发生变化,如果发生变化或由一方建立时,如何让另一方也知道?以及DMW窗口是否是最多只能有一个?


那对于普通的虚拟地址,CPU是如何结合ASID,来锁定到真实物理地址的?

相关推荐
梦想平凡1 分钟前
情怀棋牌源代码焕新记录(一):全新国风UI与原版工程梳理
java·服务器·数据库·websocket·网络协议·cocos2d
j7~8 分钟前
【C++微服务项目开发脚手架】(准备篇)从 0 到跑通:Docker 容器开发环境 + 宿主机用户 + Trae 远程连接 全链路踩坑实战
linux·c++·学习·xshell·docker容器·trae
和裕9 分钟前
平口开槽箱 vs 飞机盒 vs 扣底盒:自动化、展示效果与成本核心区别
大数据·运维·网络·人工智能·算法·自动化
码上上班11 分钟前
tomcat 知识点总结
运维·tomcat
程序员-Benothing11 分钟前
Linux用户与组管理命令大全:useradd、usermod、groupadd、passwd
linux·运维·服务器
ai小陈16 分钟前
GPU服务器租用安全配置实战:SSH密钥与端口最小化开放
服务器·人工智能·深度学习·安全·ai·gpu算力
ccino .19 分钟前
Docker 容器删除卡在 Removal In Progress / Dead 解决
服务器·安全·web安全·网络安全
羑悻的小杀马特24 分钟前
从写 YAML 到集群自愈:KES-Operator 把 KES 集群接进 Kubernetes 原生体系
运维·数据库·容器·kubernetes
bksczm27 分钟前
MySQL基础篇之事务
linux·数据库·sql·mysql
李白客28 分钟前
数据库管理工具怎么选?Navicat、DataGrip、DBeaver 六维横向对比与选型建议
运维·数据库