2022-11-18 12:19:32 来源:IT之家 阅读量:5685
你好,我是CPU一号车间的Q,还记得我吗。好久不见了~
我的CPU是八核CPU,有八个车间。它运行速度很快~
虚拟地址翻译
一大早,我们一车间MMU部的小黑来到领导办公室,我正好在。
领导,听说您同意了Q的计划,给每个车间都拨了一笔缓存建设预算。
你这小子,消息还挺灵通的是的,记忆的家伙太慢了添加缓存后,我们不必每次都从内存中读取数据,这可以提高我们的性能很多,这位领导说
那我们MMU部门也需要申请基金,小黑说。
领导皱着眉头问:你要申请资金干什么。
我们还想建立一个缓存
你的MMU部门做地址翻译工作,那么你需要缓存什么恐怕不是因为领导给我们拨款你吃醋了,我在一旁说道
小黑转过身,看着我说:说我吃醋,但是我问你,你知道虚拟地址翻译的流程吗。
这不会难倒我以前没少听他说过你怎么不知道以32位虚拟地址为例一个32位虚拟地址被分成三个部分,即页目录索引,页表索引和页内偏移量翻译时,从CR3寄存器中取出页目录地址,根据页目录索引找到页表,然后根据页表索引找到物理内存页,最后根据页内偏移量完成寻址我说得对吗
嘿,你是个好孩子你记性真好小黑不敢相信,接着问:既然你知道,那我再问你一遍,你一次读取数据需要访问内存多少次
我想了一下,开始计算从页目录表读取一次,再从页表读取一次,最后访问页中的数据再读取一次,一共三次
你需要访问内存三次!,我回答。
小黑点了点头,说:是啊,你知道,记忆的家伙天生就慢每次读写一个数据,都要访问内存三次谁能受得了
是的,我知道记忆的家伙很慢,但是读一次写一次要三次,但是我从来没有想过。
就这个还是32位地址来说,在我计算64位地址之前就已经变成4级页表了,所以对内存的访问次数会更大!
幸运的是,我们很快就要建立缓存设施,我们不必每次都从内存中读取数据。如果能找到缓存,我们就不用读取内存了!
但是你仍然必须检查两次页面目录和表格,布莱基说。
如果我能缓存地址转换的结果就好了,我就不用每次都从内存中检查它了,我陷入了沉思。
你看,你我考虑了一阵子,所以我向领导申请了。我们MMU部门还加了缓存,让地址翻译变得更快了,我们整个车间工作效率更高了!
这时领导站出来说:唉,要打开格局,光靠你一个车间是不行的,还得全厂八个车间一起发动小黑,别担心资金问题就看你带头了召集其他几个车间的MMU部门负责人开会,把你的计划落地
没问题!领导这么一说,小黑乐坏了。
地址转换缓存
回来的路上,我忍不住好奇我问小黑:你打算怎么处理用来翻译地址的缓存
我还没想过。我只有一个大概的计划
快跟我说说
好吧,告诉你也无妨!我给你举个例子我们假设要翻译的虚拟地址是0x12345678,这是一个32位的地址,前20位是0x12345000经过两次查找表,定位到真正的物理页0x00abc000
地址转换完成后,记录虚拟页号0x12345和物理页号0x00abc之间的映射关系,放入缓存中
在执行地址转换时,先去这个缓存看看是否已被记录如果有,直接用以前的记录如果找不到,就在内存页表中查找类似于局部性原理,翻译后的地址很可能在下一段时间内被重用,所以这个缓存是必要的!小黑非常自信的说道
听起来很棒,我期待着早点上马!
TLB
过几天我要去MMU部门看看他们的缓存做的怎么样了。
一进门就看到小黑和其他几个车间MMU部门的负责人正在紧张的讨论,一边的画板上画了一大堆规章制度。
小黑哥,你在干嘛。
我们正在研究如何存储这个翻译记录缓存项!你来得正是时候我们讨论了很久,没有什么好的来给我点建议吧
出于好奇,我问道:什么问题难倒了你们。
这是虚拟地址转换的结果。我们不知道怎么救!
有什么好纠结的缓存空间那么大,一个翻译结果就是一条记录,一条一条存储
2号车间MMU负责人连连摆手,没你想的那么简单按照你的存款方式,翻译的时候怎么找地址要全部扫描吗
我愣了一下啊,好吧,我没想那么多,但是缓存空间不大,所以不能存储太多翻译结果扫描都可以吗
那不可能我们CPU的目标就是把性能优化到极致如果采用这个方案,领导一定不骂死我,小黑说
我想了一下,有了这个,通过对虚拟页码进行模块化,每个虚拟页面的翻译记录只能存在于缓存中的一个固定位置,这样就可以一次性定位,不需要全部扫描是不是很棒
小黑摇摇头:刚才我们也讨论过这个方案。在缓存空间有限的情况下,取模后会有大量的虚拟页面映射到同一个存储位置,经常会发生冲突,并不是一个好的解决方案!
好像真的有点麻烦我不自觉地皱起了眉头,陷入了沉思
是啊,这就是我们头疼的原因。
空气突然安静下来,每个人都低头沉思。
嘿,我有了!一个想法闪过我的脑海。
什么办法跟我说说
分组连接!
数据包连接,他们问
这就对了!结合以上两种方案可以把缓存存储空间分成很多组,都是遍历太慢,直接模映射容易冲突如果映射结果不是固定位置,而是分组呢
听起来不错不仅减少了冲突,而且只需要在分组区间内遍历,大大减少了工作量这是个好主意
小黑和所有人都同意我的观点。
那怎么组一组有多少个项目有人问
嗯,这个我也不知道我得做实验验证可以试试2,4,8,16
好的,没问题,我们下来测试一下
我还有一个问题您的缓存项目将于何时更新
嘿,那还用说这里的每个人都为这份工作工作了很长时间我们比你更清楚这一点进程切换,新进程的页目录基址将被写入CR3寄存器,然后我们将清空缓存中的所有数据!,小黑自信地说
你不必把这一切都搞清楚就像一些内核页面一样,它们被所有进程共享,所以你可以保留它们
小黑点点头有道理看来我们得在地址转换记录上加一个标记,标记它是否全局有效
一个月后,八个车间MMU部门的缓存全部完成,当天投入使用我们CPU的运行效率突飞猛进,这个缓存的威力真的太大了
为了区别于我们的L2缓存,小黑还给他们的地址翻译缓存起了一个响亮的名字:TLB——翻译备份缓冲区。
。声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多企业信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。投资有风险,需谨慎。
坚持政治性、人民性是金融工作的初心和使命。作为国内保险行业的领军企业之一,泰康保险集团将落实国家关于金融工作的本质要求作为第一要务,以金融为民、消保至上为题,启...
,太空模拟游戏续作《坎巴拉太空计划2》于2023年初推出了PC抢先体验版。然而,该游戏被发现搞乱了玩家的Windows注册表。 根据游戏官方论坛及其Steam...
,科幻世界杂志宣布,2023雨果奖提名作《赛博朋克2077:夜城迷梦》推出中文版漫画,现已开启预售,售价46元。 该漫画由CDPROJEKTRED与黑马漫画授...
9月26日,是2023年“金融消费者权益保护教育宣传月”集中教育宣传日,为进一步贯彻落实“投资者教育纳入国民教育体系”要求,推动金融知识进校园,提升青少年金融素...
中秋、国庆假期临近,火热的消费需求已经初露端倪。数据显示,从9月13日至20日18时,铁路部门已发售超过1.46亿张火车票;各旅游平台的景区、酒店等相关预订量也...
记者从新疆维吾尔自治区发改委获悉,新疆若羌抽水蓄能电站9月25日在新疆巴音郭楞蒙古自治州若羌县开工,标志着新疆最大、南疆首个抽水蓄能电站项目正式拉开建设序幕。 ...
,《收获日3》自发布以来,遇到了玩家广泛反映的匹配错误和在线服务问题,IT之家此前曾报道,这款游戏发行3天时就已经“多半差评”,截至发稿,这款游戏目前在Stea...
,根据市场调查机构CounterpointResearch追踪的统计数据,苹果iPhone15和iPhone15ProMax两款机型的首销平均等待时间要超出前代...
,武汉市硚口区人民政府与广汽能源战略合作协议签约仪式,未来三年,硚口区拟新增充电桩6000个,同步建设集中充电场站50座,换电站10座。 图源广汽集团公众号 ...
,今天有多个汽车博主放出了2024款小鹏P5的海报。从海报来看全新P5即将在近期公布,主打“卷”。 从海报来看,新款小鹏P5将会在性价比、舒适性、智能化、外观...
摄影本质上是记录光的过程,光线自身的表现对场景和氛围的塑造具有重要的作用,是否能够选择合理的时间进行拍摄也是摄影的要点之一。 那么一天中的各个时间段都适合拍摄...
9月21日至25日,青海省科技厅组织省内外专家对青海省重大科技专项“天文大科学装置冷湖台址监测与先导科学研究”项目及各课题进行验收。这一专项的实施,对未来大型光...
2023年9月23日,第六届中国企业论坛平行论坛“践行ESG理念,创建一流企业——中央企业ESG论坛”在山东济南召开,会上发布《中央企业上市公司ESG蓝皮书》及...
充分发挥自身优势和禀赋,找到正确的“锚点”,借助投顾化服务手段,沿着公司战略方向稳扎稳打,是做好持续营销这门生意的关键 震荡市,新基金发不出量怎么办? 今年...
,开放麒麟系统openKylin1.0.1版本于今日上线,适配集成搜狗输入法NG麒麟桌面版,并上线新版麒麟管家应用,新增飞腾派嵌入式开发板镜像,同时修复100+...
时值仲春、阳和初起,正是春游踏青的好时光。为丰富员工业余生活,营造和谐融洽、团结向上的工作氛围,3月23日,阳...
找到黑匣子之后,下一步做什么?邱超奕对于空难调查而言,黑匣子在找到后,才意味着具体工作的开始。那么,它被送往了...
#8203;“上级对我提的要求,就是让寒门子弟接受更好的教育,让普通孩子上好学。”一所城乡接合部的新学校,为招...
新京报讯据中国民用航空局消息,3月21日,东航一架波音737客机在执行昆明--广州航班任务时,于梧州上空失联。...
专业人力资源机构中智公司21日发布的最新调研结果显示,2022年中国就业形势基本稳定,实体产业对人才吸引力增加...