- 2024-10-20__arm_smmu_tlb_sync调用过程
__arm_smmu_tlb_sync调用过程这个函数分别在两处地方被调用:arm_smmu_tlb_sync_global#defineARM_SMMU_GR0(smmu) ((smmu)->base)#defineARM_SMMU_GR0_sTLBGSYNC 0x70#defineARM_SMMU_GR0_sTLBGSTATUS 0x74staticvoidarm_smmu_tlb_sync_global(structarm_smmu_devi
- 2024-10-19ton 合约map批量同步和go调用
tact代码:import"@stdlib/deploy";import"@stdlib/ownable";structRoundInfo{orders:map<Intasuint32,BuyInfo>;sum:Intasuint16;arrLength:Intasuint16;}structBuyInfo{startLuckyNum
- 2024-10-19tonkeeper的toogo库的Hashmap序列化有bug
packagetonapiserviceimport( "fmt" "testing" "github.com/tonkeeper/tongo/boc" "github.com/tonkeeper/tongo/tlb")funcTestHashmapE(t*testing.T){ //Hashmap的序列化有bug,数据一样的情况下,有时候会提示notenouthbits. c:=
- 2024-10-17ton tact合约中的map采用go的调用方式
tact中的map结构:structRoundInfo{//Purchaserecordsquotient:map<Intasuint32,BuyInfo>;//keyissequencenumber//Orderanti-duplicationrecords,keyisordernumber,valueissequencenumberorders:map<Intasuint32,Intasuint16
- 2024-10-16OS-Nachos内存管理
实验目的在Nachos现有页表的基础上,增加TLB快表机制,使得在做虚拟地址到物理地址的转换时,优先从TLB快表中读取;针对TLB增加NRU置换算法;除实验源码和实验结果截图以外,需提供以下文字解释说明:解释说明nachos-xuserProgName的启动过程及原生Nachos系统中的内存访问过程;解释说明
- 2024-07-25CHES 2023 issue-1文章总结
来源:https://ches.iacr.org/2023/acceptedpapers.php简要分类:分类文章编号后量子密码软硬件加速相关无侧信道攻防相关1,2,3,4,5,6,8,9,12,13同态相关15,16,17,18,191.RiskyTranslations:SecuringTLBsagainstTimingSideChannelsFlorianSto
- 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数据:命中