五. MMU 之 IPvirtual

【MMU】认识 MMU 及内存映射的流程 阅读详情

我们继续向智能芯片添加下列规则:
规则十二.存在一个16位寄存器VAB和一个16位寄存器PAB
规则十三.存在一个IP虚拟访问控制IPvirtual,当IPvirtual打开时,IP每次访问内存读取指令,实际给出的内存物理地址等于IP-VAB+[PAB],[PAB]表示PAB指向的内存物理地址连续两个字节内容
规则十四.当规则十一发生后关闭IPvirtual
规则十五.当IRET指令执行之后打开IPvirtual

 

初始时我们安排:
寄存器SP的内容为0x0050
寄存器VAB的内容为0x0000
寄存器PAB的内容为0x0100
寄存器IP的内容为0x0000,并且打开IPvirtual
物理内存内容为:
0x0000:        MOV SP, 0x0050+((SP-0x0050)+2)%4
0x0003:        MOV PAB, 0x0100+((PAB-0x0100)+2)%4
0x0006:        IRET
  .
  .
  .
0x0050:        0x00
0x0051:        0x00
0x0052:        0x00
0x0053:        0x00
  .
  .
  .
0x0100:        0x00
0x0101:        0x10
0x0102:        0x00
0x0103:        0x20
  .
  .
  .
0x1000:        nop
0x1001:        nop
0x1002:        nop
0x1003:        nop
0x1004:        nop
0x1005:        nop
0x1006:        jmp 0x0000
  .
  .
  .
0x2000:        nop
0x2001:        nop
0x2002:        nop
0x2003:        nop
0x2004:        nop
0x2005:        nop
0x2006:        jmp 0x0000

规则十一中的外部引脚挂接一个定时器,系统运行时这两段指令序列就可以按照我们的意图正确的执行了

Exynos4412 内核移植(四)—— MMU 相关知识解析 一、MMU的产生       许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多 阅读详情

相关推荐

TrustZone硬件结构

介绍TrustZone硬件技术比较全面的ppt

CPU入门扫盲篇之MMU内存管理单元------万字长文带你搞定MMU&TLB&TWU

声明:以下文章来源于TrustZone ,作者Hcoco最近一直在学习内存管理,也知道MMU是管理内存的映射的逻辑IP,还知道里面有个TLB。

芯想是陈的博客 2万+

Win10家庭版如何添加本地用户和组

在众多Windows版本中,Windows 10以其丰富的功能和卓越的性能吸引了大量用户。然而,对于使用Win10家庭版的用户来说,他们可能会遇到一些功能上的限制,特别是在用户和组管理方面。虽然家庭版在某些高级功能上有所缩减,但我们仍然可以通过一些技巧来实现对本地用户和组的管理。本文将详细介绍如何在Win10家庭版中添加本地用户和组,以便用户能够更好地管理计算机资源。

nntxthml的博客 4557

看一下ARM的IP:SMMUU

SMMU(system mmu),是I/O device与总线之间的地址转换桥。这里就可以很明显的看出这个MMU和SMMU的差别与相似。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1621

手把手教你用VSCode+SDL在Ubuntu上跑LVGL8.2模拟器(附插件清单)

本文详细介绍了在Ubuntu系统上使用VSCode和SDL库搭建LVGL8.2模拟器环境的完整流程,特别适合嵌入式开发者(如全志F1C100s平台)进行UI设计验证。从环境配置、项目编译到VSCode深度集成,提供了实用技巧和常见问题解决方案,帮助开发者实现'先模拟后真机'的高效开发模式。

weixin_33737134的博客 358

h5页面调用微信JS-SDK分享到微信好友或者朋友圈的配置

1.引入js <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> 2.在页面添加配置 <script type="text/javascript"> var url = location.href..

tiantiandashi的博客 2万+

ARM Cortex-A学习(3):MMU内存管理单元

本文大概地介绍了一下ARM中MMU的概念,主要是了解一下在Cortex-A核中有这样一个内存管理单元,它可以将虚拟地址转化为物理地址。对于具体地,内存是如何映射的,TLB表格是如何缓存的等知识,都与操作系统的实现有关,后续我们学到Linux再介绍。

主要分享嵌入式软件、人工智能部分知识 2814

资源描述框架RDF及Turtle

文章目录1. RDF1.1 简介1.2 格式1.3 RDF的要求2. Turtle2.1 语法2.1.1 简单三元组2.1.2 Turtle中的命名空间2.1.3 Base URI2.1.4 谓语列表2.1.5 宾语列表2.1.6 空白节点(bNodes)2.1.7 数据类型2.1.8 Class membership2.1.9 空URI2.1.10 集合 1. RDF 1.1 简介 RDF(Resource Description Framework)语义网的标准数据模型,是一个用于描述 Web 上的资

doublewhite233的博客 2495

ip、pv、uv的定义和区别

先用cnzz统计图举例,大家可以对照看: IP(独立IP):即Internet Protocol,指独立IP数。每个独立用户对应一个独立IP,一天(0—24)小时内相同IP地址只被计算一次。 PV(访问量):即Page View, 页面浏览量或点击量,打开或刷新一次页面则被计算一次。不受时间限制。 UV(独立访客):即Unique Visitor,指独立访客访问数,...

1462

SAP FI实战入门:从借贷法则到F-02记账,新手必懂的会计凭证操作

本文详细介绍了SAP FI模块中借贷记账法的核心逻辑及F-02凭证录入的全流程操作。通过实例解析借贷方向规则、科目编码设置及金额镜像原则,帮助新手快速掌握会计凭证操作技巧。同时提供了FS10N余额查询和常见错误排查方法,助力用户高效完成SAP财务记账任务。

weixin_29306571的博客 263

17、高通8155座舱平台--QNX开发基础

我个人习惯,拿到一个新板子,第一件事就是打开IDE,建一个空的QNX项目,然后跑一遍Hello World。比如,当触摸屏被按下时,驱动发一个脉冲给UI进程,告诉它“嘿,有人摸屏幕了”。我在8155上调试时,就遇到过因为脉冲优先级太低,导致触摸响应延迟的问题。IDE自带的编译器是qcc,它其实是gcc的封装。QNX的IPC机制,可以说是它最牛的地方。嗯,这套流程走下来,你对QNX开发的基本功就差不多了。QNX默认的消息缓冲区大小是64KB,如果你要传大块数据,比如音频流,那就得用共享内存了。

woailuojp的博客 52

iommu介绍

iommu功能 IOMMU主要功能包括DMA Remapping和Interrupt Remapping,这里主要讲解DMA Remapping,Interrupt Remapping会独立讲解。对于DMA Remapping,IOMMU与MMU类似。IOMMU可以将一个设备访问地址转换为存储器地址,下图针对有无IOMMU情况说明IOMMU作用。 在没有IOMMU的情况下,网卡接收数据时地址转换流程,RC会将网卡请求写入地址addr1直接发送到DDR控制器,然后访问DRAM上的addr1地址,这里的

doujiangbear的博客 1万+

【推荐100个unity插件】Animator 的替代品?—— Animancer Pro插件的使用介绍

Animancer与Unity Animator对比及使用指南 摘要: 本文对比了Animancer与Unity官方Animator的核心差异,分析了Animancer的优势特点。Animancer采用代码驱动模式,相比Animator的状态机系统更灵活高效,支持实时调试、动态混合和深度逻辑集成。文章详细介绍了Animancer的快速使用方法,包括动画播放、切换和触发机制,并区分了免费版与专业版的功能差异。适合需要高效动画开发、复杂交互逻辑的中小项目,为开发者提供了一种现代化的动画解决方案。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2434

MMU在VxWorks中的实现……摘抄

MMU在VxWorks中的实现1.内存管理单元MMUVxWorks提供两级虚内存支持:与VxWorks捆绑在一起的基本级和需要可选产品VxVMI的完全级。1.1指令和数据MMUPowerPC MMU允许指令和数据MMU被分别允许或禁止。在SELECT_MMU下的属性窗口的参数表中的参数USER_I_MMU_ENABLE和 USER_D_MMU_ENABLE缺省是被允许的。为了允许/禁止一个或两个M

lurker0ster的专栏 5182

YOLOv8性能突破:DySample超轻量动态上采样算子的创新应用与实现【附保姆级代码】

YOLOv8(You Only Look Once Version 8)作为YOLO系列模型的最新版本,延续了高效、准确的目标检测优势。其基础结构包含了骨干网络(Backbone)、检测头(Head)、以及特征融合层(Neck)。在特征融合阶段,YOLOv8需要对不同尺度的特征图进行上采样,以便将低分辨率的特征与高分辨率的特征进行融合。传统的上采样操作多使用插值(如双线性插值)或固定卷积,而这些方法可能无法很好地适应复杂的上下文信息。

一键难忘的博客 3120

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MMU的作用

现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,下面简要介绍MMU的作用。 首先引入两个概念,虚拟地址和物理地址。如果处理器没有MMU,或者有MMU但没有启用,CPU执行单元发出的内存地址将直接传到芯片引脚上,被内存芯片(以下称为物理内存,以便与虚拟内存区分)

Jiang_Shikun的专栏 4908

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

TCP/IP协议簇之数据链路层

文章目录数据链路层认识以太网以太网帧格式认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响查看硬件地址和MTUARP协议ARP协议的作用ARP协议的工作流程ARP数据报的格式 数据链路层 用于两个设备(同一种数据链路节点)之间进行传递. 真正实现“跳”是由数据链路层完成的。 认识以太网 “以太网” 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控

aaaaaaaWoLan的博客 1610

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【软件开发底层知识修炼】三 深入浅出处理器之三 内存管理与内存管理单元(MMU)

上一篇文章学习了中断的概念与意义,以及中断的应用-断点调试原理。点击链接复习上一篇文章:中断的概念与意义 本片文章继续学习处理器相关的知识-内存管理。包括:内存管理单元MMU的作用,虚拟内存与物理内存之间的映射方式,页表的概念,高速缓存(Cache)的作用,物理内存与高速缓存之间的映射关系等。当然,想要深入了解,本文并不适合,本文只是从原理上,讲述以上几者之间的关系。 1、内存管理单元MMU 这里...

厚积薄发 6221

ARM中MMU之地址转换

第一次发帖略微有点激动,有不足的地方还请各位大神指教。最近看了看mmu,找了好多资料,看了好多博文终于稍微清楚了一点,现在我把自己理解的内容总结一下:首先我来说一下MMU的作用,MMU就是负责虚拟地址(virtual address)转化成物理地址(physical address)。下面我来说一下ARM CPU上的地址转换过程涉及三个概念:虚拟地址(VA)(CPU内核对...

weixin_33725239的博客 529

MMU的作用及工作过程

以下内容摘自《步步惊芯——软核处理器内部设计分析》一书的第10章 MMU剖析     MMU的作用及工作过程       MMU(Memory Management Unit)是内存管理单元的简称,读者朋友在学习嵌入式的时候应该听说过µCLinux,这是适合没有MMU的微控制器使用的嵌入式Linux操作系统,比如ARM7。由于没有MMU,所以在µCLinux上实现多任务功能是一个非常棘手的

leishangwen的专栏 1万+

[AM57xx] IPU AMMU 独家专解

1. About the AMMU: Sorry for the confusion. Given you are using QNX and not SYSBIOS on the host, the situation is different. IPC has a different set of examples that support loading and starting the ...

Qing的专栏 989

闲谈IPv6-电梯,MMU引发的遐想

IPv6替换IPv4,地址空间扩大到了128比特,这意味着我们拥有了更多的可用IP地址,但是代价是什么?如果有一天,IPv6又不够用了,我们的IPv8是不是可以轻松地将地址空间再次扩大到256比特?IPv10呢?IP地址空间是不是可以无限扩大下去?本文将总结一些我的思考。 先说点儿别的。 早在64位系统替换32位系统的时候,我就在担心,如果还是按照32位系统的MMU机制实现方式,我们的Gbit大...

TCP/IP 5482

物理地址和虚拟地址1 (MMU)(转载)

转载与海天的博客 http://www.cnblogs.com/leaven/archive/2011/04/18/2019696.html 原文:http://blogold.chinaunix.net/u3/94700/showart_2434792.html MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物...

weixin_33721427的博客 512

MMU_虚拟地址物理地址

MMU是硬件实现的虚拟地址和物理地址的转换,#define S3C_ADDR_BASE (0xF4000000)地址与0x7F008000的偏差是初始化时MMU将物理地址重映射的到的一个虚拟地址而0xF4000000应该是重映射后GPACON的虚拟地址,而linux内核中的虚拟地址到物理地址的转换是由软件实现的。 ARM架构内核空间中虚拟地址和物理地址仅存在一个偏移量,而用户空间是通过分页机制

caoshunxin01的专栏 741
上一篇: 四. MMU 之 基于最简单CPU的第二个问题
下一篇: 调度--操作系统的欺骗
LastEditor
博客等级 码龄18年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值