TLB
  • 2024-06-23Lazy TLB Mode 的工作原理
    LazyTLB(TranslationLookasideBuffer)mode是操作系统和处理器在管理虚拟内存时的一种优化技术,旨在提高处理器的性能。要理解LazyTLBmode,需要先了解一些基本概念:TLB(TranslationLookasideBuffer):TLB是一个缓存,用于存储虚拟地址到物理地址的映射。它加快了虚拟内存
  • 2024-06-23进程切换分析(2):TLB处理
    一、前言进程切换是一个复杂的过程,本文不准备详细描述整个进程切换的方方面面,而是关注进程切换中一个小小的知识点:TLB的处理。为了能够讲清楚这个问题,我们在第二章描述在单CPU场景下一些和TLB相关的细节,第三章推进到多核场景,至此,理论部分结束。在第二章和第三章,我们从基本的逻辑
  • 2024-06-19鸿蒙内核源码分析(内存汇编篇) | 谁是虚拟内存实现的基础
    ARM-CP15协处理器ARM处理器使用协处理器15(CP15)的寄存器来控制cache、TCM和存储器管理。CP15的寄存器只能被MRC和MCR(MovetoCoprocessorfromARMRegister)指令访问,包含16个32位的寄存器,其编号为0~15。本篇重点讲解其中的C7,C2,C13三个寄存器。先拆解一段汇编代码上来
  • 2024-06-10KPTI——可以缓解“熔断” (Meltdown) 漏洞的内核新特性
    Linux内核修复办法:内核页表隔离KPTl(kernelpagetableisolation)每个进程一张页表变成两张:运行在内核态和运行在用户态时分别使用各自分离的页表Kernel页表包含了进程用户空间地址的映射和Kernel使用的内存映射用户页表仅仅包含了用户空间的内存映射以及内核跳板的
  • 2024-06-10ARM64中的ASID地址空间标识符
    1.从ARM32到ARM64从ARM32到ARM64不止将处理器从32位升级到了64位,还有许多性能的技术也得到了极大的提升,光是个头长了可不行啊!能耐也得跟着长啊!哈哈哈1.1ARM32的TLB机制如上图所示,上一讲我们讲了TLB的每一条表项都有一个bit用来表示自己是全局的(内核空间)还是本地的(用户空间)。
  • 2024-06-02TLB一致性维护
    TLB是页表项的物理cache,用于加速虚拟地址到物理地址的转换。CPU在访问一个虚拟地址时,首先会在TLB中查找,如果找不到对应的表项,那么就称之为TLBmiss,此时就需要去内存里查询页表,如果页表项是合法的,那么就会把它添加到TLB中。如果内核修改了页表,那么就需要主动的去清空一下当
  • 2024-03-29每个程序员都应该了解的内存知识(三): 虚拟内存
    虚拟内存概念wiki解释它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上物理内存通常被分隔成多个内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。阅读链接虚拟内存篇(原文地址)详解内存映射(做的图非常好,一定要重点看一看)MM
  • 2024-03-20[转帖]JVM优化之调整大内存分页(LargePage)
    https://nowjava.com/article/31311 在这篇文章中:内存分页大小对性能的提升原理调整OS和JVM内存分页cat/proc/meminfo|grepHugeecho4294967295>/proc/sys/kernel/shmmaxecho154>/proc/sys/vm/nr_hugepages本文将从内存分页的原理,如何调整分页大小两节
  • 2023-12-21计算机组成原理知识总结
    DDR和DRAM的关系DDR(DoubleDataRate)和DRAM(DynamicRandomAccessMemory)是两个相关但不同的概念,它们通常一起使用,但表示的是不同的层面。DRAM(DynamicRandomAccessMemory):定义:DRAM是一种随机存取存储器,用于在计算机系统中存储数据和程序。它属于一种动态存储器,意味着需
  • 2023-12-09Linux下的Cache和TLB刷新 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/core-api/cachetlb.htmlLinux下的Cache和TLB刷新作者:[email protected]本文描述了LinuxVM子系统调用的缓存/TLB刷新接口。它枚举了每个接口,描述了其预期目的以及在调用接口后预期的副作用。下面描述的副作用是针对单
  • 2023-10-09MMU和cache详解(TLB机制)
    MMU和cache详解(TLB机制)南方铁匠于2017-07-2110:53:59发布10013收藏50分类专栏:计算机体系结构版权计算机体系结构专栏收录该内容53篇文章12订阅订阅专栏1.MMUMMU:memorymanagementunit,称为内存管理单元,或者是存储器管理单元,MMU是硬件设备,它被保存在主存(mainm
  • 2023-09-28Linux TLB 刷新的懒惰模式【转】
    转自:https://blog.csdn.net/Henzox/article/details/41963271我们都知道,在切换页表时会刷新TLB,这样就可以使用新的地址空间,那什么是TLB刷新的懒惰模式呢?TLB是什么这里不作多的解释,可以简单理解为,为了加快MMU对虚拟地址的转换而增加的缓存,它记录了一个虚拟地址
  • 2023-09-28深入Linux内核(进程篇)—进程切换之ARM体系架构【转】
    转自:https://blog.csdn.net/liyuewuwunaile/article/details/106773630进程切换一、context_switch二、switch_mm2.1刷新I-CACHE2.2ASID和TLB2.3页表转换基址切换三、switch_to进程切换由两部分组成:切换页全局目录安装一个新的地址空间;切换内核态堆栈及硬件上下文。一、conte
  • 2023-09-01计算机体系结构量化学习方法-学习笔记0(i7 存储层次结构)
    1、interi7所用层次结构内容​ 修改处DataDLB(DataTLB).​ 2、Interi7存储器层次结构及指令与数据访问步骤图 3、指令与数据访问步骤:指令地址的页帧(36bit)被发送给指令TLB(①)。同时虚拟地址的12位页内偏移量被发送给指令缓存(ICACHE).对于8路组相连cache来说,缓存需要
  • 2023-08-0804-非连续内存分配
    04-非连续内存分配为什么需要非连续内存分配连续内存分配的缺点1)分配给一个程序的物理内存是连续的2)内存利用率较低3)有外碎片、内碎片的问题非连续内存分配的优点一个程序的物理地址空间是非连续的更好的内存利用和管理允许共享代码与数据(共享库)支持动态加载和动态链接
  • 2023-07-17Linux内存管理 - 大页 (二)
    为了解决页表项过多的问题,Linux提供了两种机制,就是多级页表和大页。 一.在阐述大页的优点之前,先来看一下内存映射的页表结构。 PGD: PageGlobalDirectoryPUD:Page UpperDirectoryPMD:PageMiddleDirectoryPTE: PageTableEntry二.TLB
  • 2023-07-1204-非连续内存分配
    04-非连续内存分配为什么需要非连续内存分配连续内存分配的缺点1)分配给一个程序的物理内存是连续的2)内存利用率较低3)有外碎片、内碎片的问题非连续内存分配的优点一个程序的物理地址空间是非连续的更好的内存利用和管理允许共享代码与数据(共享库)支持动态加载和动态链接
  • 2023-06-28【操作系统-内存】地址翻译流程图
    简略版:stateDiagram-v2stateif_state<>CPU产生VA-->访问TLB访问TLB-->转VA并访问Cache:命中访问TLB-->访问页表:缺失访问页表-->转VA并访问Cache:命中访问页表-->缺页处理:缺失缺页处理-->访问TLB:重新执行转VA并访问Cache-->读取Cache数据:命中
  • 2023-05-20ARMv7-A 处理器窥探 —— MMU/TLB
    0、基本概念MMU用作虚拟地址和物理地址的相互转换,是为了能够给OS提供统一视角的虚拟地址空间;TLB的作用是作为MMU的Cache,以提高MMU的性能,他们之间的关系如下:1、ARM处理器发出地址访问(虚拟地址),首先过MMU地址翻译单元的TLB,如果TLB命中,那么直接返回真实的物理地址
  • 2023-04-08MSTSCLib_TLB 修正
     delphi7 导入RDPAcitveX 生成的MSTSCLib_TLB.pas delphi真的好惨啊,资料都是其他语言的。用到都得自己转换,自身导入生成的还有问题。或者用法根本就不一样。生成的是这样的:IMsRdpClientNonScriptable=interface(IMsTscNonScriptable)['{2F079C4C-87B2-4AFD-97AB-20CD
  • 2023-03-22具有快表的地址变换机构
    具有快表的地址变换机构1、什么是快表(TLB)能否把整个页表都放在TLB中?2、引入快表后,地址的变换过程3、局部性原理知识回顾
  • 2023-03-03 #loongarch架构介绍# [五] TLB维护
    作者:蒋卫峰李涛前言上一篇文章中介绍了loongarch中TLB相关的异常处理,这一篇文章继续介绍TLB相关的维护操作。1.TLB硬件组织机构首先补充loongarch中TLB相关的硬件背景
  • 2023-01-01分页机制
    分页机制的原理:分页机制的作用有二,将连成一片的线性地址转换为物理地址,用大小相等的页代替大小不等的段。代码段和数据段在逻辑上被拆分成以页为单位的小内存块,这时的虚
  • 2022-12-31操作系统-分页管理存储的实现
    前言我们从前面的cache高数缓存中知道了,CPU的访问cache部分的过程(也就是下图的青色部分的过程),这个章节我们将会学习访问快表和缺页部分的处理.下面这个分
  • 2022-11-25COM中的一些文件类型
    .idl(interfacedefinitionlanguage)-COM接口定义文件.tlb(typelibrary)-MIDL编译器根据.idl文件生成的COM类型库信息.tlh(typelibheader)-#import.tlb后生成的