首页 > 其他分享 >快表(TLB)的引入

快表(TLB)的引入

时间:2022-10-20 23:35:43浏览次数:56  
标签:访问 快表 TLB 内存 引入 缺页 页面 异常 页表

问题:

  • 页表—>两次或两次以上的内存访问
  • CPU的指令处理速度与内存指令的访问速度差异大,CPU的速度得不到充分利用


如何加快地址映射速度,以改善系统性能?

  • 程序访问的局部原理—>引入快表——高速缓存

快表是什么?

  • TLB——Translation Look-aside Buffers(翻译查找缓冲区)
  • 相联存储器

                特点:按内容并行查找

  • 保存正在运行进程的页表的子集(部分页表项)


页错误PAGE FAULT

  • 又称页面错误、页故障、页面失效
  • 地址转换过程中硬件产生的异常

具体原因:

  • 所访问的虚拟页面没有调入物理内存
  •     ——>缺页异常
  • 页面访问违反权限(读/写、用户/内核)
  • 错误的访问地址

缺页异常处理:

  • 是一种Page Fault(页面错误)
  • 在地址映射过程中,硬件检查页表时发现所要访问的页面不在内存,则产生该异常——缺页异常
  • 操作系统执行缺页异常处理程序:获得磁盘地址,启动磁盘,将该页调入内存。
  • 如果内存中有空闲页框,则分配一个页框,将新调入页装入,并修改页表中相应页表项的有效位及相应的页框号。
  • 若内存中没有空闲页框,则要置换内存中某一页框;若该页框内容被修改过,则要将其写回磁盘

标签:访问,快表,TLB,内存,引入,缺页,页面,异常,页表
From: https://blog.51cto.com/HMJP/5780795

相关文章

  • html项目引入element-ui和vue【转载】
    本地引用element-ui和vue<linkrel="stylesheet"type="text/css"href="./element.css"><scriptsrc="./js/vue.js"></script><scriptsrc="./js/element.js"></scrip......
  • GO编译时不避免引入外部动态库的解决方法
    简介最近碰到一个问题,有一个流量采集的组件中使用到了github.com/google/gopacket这个库,这个库使用一切正常,但是唯独有一个缺点,编译后的二进制文件依赖于libpcap.so的动......
  • 枚举引入
    【1】数学:枚举法:1<x<42<y<8求x+y=6枚举法:一枚一枚的列举出来。前提:有限,确定【2】在java中,类的对象是有限个,确定的。这个类我们可以定义为枚举类举例:星期:一二三四五......
  • imputation-文献:False signals induced by single-cell imputation(scRNA-seq插补引入
    文章题目Falsesignalsinducedbysingle-cellimputation中文名:单细胞插补引起的假信号文章地址:https://f1000research.com/articles/7-1740/v2评价插补方法:SAVER......
  • 引入
    【1】软件测试的目的软件测试的目的是:增强软件使用可靠性,发现软件存在的不足和差异,。简单地说,就是替用户受过,测试的最终目的是确保最终交给用户的产品的功能符合用户的需......
  • vue 引入flvjs实现视频播放
    1.flv.js详情flv.jsgit地址链接: https://github.com/bilibili/flv.js .2.引入依赖npminstall--saveflv.js3.代码实现<template><div><video......
  • vue3+vite+ts自动引入api和组件
    安装cnpminstallunplugin-auto-importunplugin-vue-components-d配置//自动导入compositionapi和生成全局typescript说明importAutoImportfrom'unplugin-au......
  • SpringBoot引入OpenFeign,不使用注册中心
    转自:https://blog.csdn.net/wind_chasing_boy/article/details/123822427(做了部分修改)【前言】最近接到一个需求,需要对接第三方平台的api,在设计方案通过之后,打算将对接服......
  • vue3引入echarts
    安装npminstallecharts--savemain.tsimport{createApp}from'vue'import'./style.css'import*asechartsfrom'echarts'importAppfrom'./App.vue......
  • vue3+vite 使用defineAsyncComponent动态异步引入组件出错时的解决办法
    constname='c1'constcurrentComponent=shallowRef()constcomponents=import.meta.glob("./a/*.vue");currentComponent.value=defineAsyncComponent(compon......