存储器映射的作用
① 什么是寄存器映射
什么是存储器映射?
存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给物理存储器分配逻辑地址的过程就称为存储器映射,通过这些逻辑地址就可以访问到相应的存储器的物理存储单元。如果给存储器再分配一个地址就叫存储器重映射。
内存分配:
如STM32,对于片上外设,它们以四个字节为一个单元,共32bit,每一个单元对应不同的功能,当我们控制这些单元时就可以驱动外设工作。我们可以找到每个单元的起始地址,然后通过C语言指针的操作方式来访问这些单元,如果每次都是通过这种地址的方式来访问,不仅不好记忆还容易出错,这时我们可以根据每个单元功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是我们经常说的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。
STM32F103Z把4GB的内存空间分为8各部分,每一个部分都是是512MB。每个部分都有自己的功能。
比如我们单片机里的Flash存储器在分组block0里面,单片机里的SRAM存储器在分组Block1里面(64KB)。
外设寄存器结构体定义仅仅是一个定义,要想实现给这个结构体赋值就达到操作寄存器的效果,我们还需要找到该寄存器的地址,就把寄存器地址跟结构体的地址对应起来。
如何访问STM32寄存器内容?
寄存器就是一些有特定功能的内存单元,所以我们访问stm32寄存器就是操作stm32的内存单元。我们可以用C语言的指针来stm32的内存单元。
总线:
上面是stm32里面的3根总线,总线基地址是总线的初地址,相对外设基地址的偏移是当前总线距离上一根总线的距离地址大小也就是上跟总线所占的地址的大小。
② 什么是存储器映像(memory mapping)
当程序没有被运行或者加载时候文件形式存放硬盘上当被加载时候系统会自动从内存划分出段区域用来磁盘上文件映射内存相应位置上此时块内存数据磁盘文件拷贝段内存空间和刚才磁盘文件相关联因此对段内存进行数据修改也相当于磁盘文件上做了修改技术已经WIN32下被广泛使用比用磁盘映射文件技术进行相应磁盘文件操作
我认文件具体存放磁盘上数据或者代码
文件映像指和被加载磁盘文件相对应块内存区域
③ 内存映射是怎么回事
内存映射文件是由一个文件到一块内存的映射,使进程虚拟地址空间的某个区域与磁盘上某个文件的部分或全部内容的建立映射。
建立映射后,通过该区域可以直接对被映射的磁盘文件进行访问.而不必执行文件I/O操作也无需对文件内容进行缓冲处理。
就好像整个被映射的文件都加载到了内存一样,因此内存文件映射非常适合于用来管理大文件。
内存映射文件对程序的提速,只在处理大文件或非常频繁的文件读写操作时效果才明显。
通过内存映射,相当于将磁盘上的文件所在空间建立成一块虚拟内存,程序访问时可按内存的方式进行,省去了普通io方式的一些环节,其实真正要读写操作时,会进行换页,将这些个“虚拟内存”读到物理内存中。
总之,内存映射文件是应用虚拟内存的技术来达到加速处理的
④ 单片机内存映射是什么意思为什么会出现映射这么一个概念它有什么作用和功能
AVR、PIC单片机都会遇到这个东东,与51不同,AVR等单片机的寄存器在使用过程中实地址是数据存储器地址,也就是映射到数据存储器地址当中,他们没有专门的地址。
⑤ 单片机内存映射是什么意思为什么会出现映射这么一个概念它有什么作用和功能
许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用户需求的不断增大轮哗,应用腊汪行程序的规模也随之膨胀起来,终于一个难题在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,陵闷结束时他将调用另一个覆盖块。虽然覆盖块的交换是由OS完成的,但是必须先由程序员把程序先进行分割,这是一个费时费力的工作,而且相当枯燥。人们必须找到更好的办法从根本上解决这个问题。不久人们找到了一个办法,这就是虚拟存储器(virtual memory).虚拟存储器的基本思想是程序,数据,堆栈的总的大小可以超过物理存储器的大小,操作系统把当前使用的部分保留在内存中,而把其他未被使用的部分保存在磁盘上。
在没有使用虚拟存储器的机器上,地址被直接送到内存总线上,使具有相同地址的物理存储器被读写;而在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到存储器管理单元MMU,把虚拟地址映射为物理地址。
⑥ 谁能给解释一下什么叫存储器映射
通过赋予每个任务不同的虚拟–物理地址转换映射,支持不同任务之间的保护。地址转换函数在每一个任务中定义,在一个任务中的虚拟地址空间映射到物理内存的一个部分,而另一个任务的虚拟地址空间映射到物理存储器中的另外区域。...
⑦ 计算机的存储器主要功能是什么
存储器是计算机实现记忆功能的一个重要组成部分。计算机的记忆是通过存储器对信息的存储来实现的。存储器用来保存计算机工作所必需的程序和数据。
在计算机系统中的存储器不是由单一器件或单一装置构成,而是由不同材料、不同特性、不同管理方式的存储器类型构成的一个存储器系统。
计算机技术的发展使存储器的地位不断得到提升,计算机系统由最初的以运算器为核心逐渐转变成以存储器为核心。这就对存储器技术提出了更高的要求。
不仅要使一类存储器能够具有更高的性能,而且能通过硬件、软件或软硬件结合的方式将不同类型的存储器组合在一起来获得更高的性价比,这就是存储系统。
为了提高计算机系统的性能,要求存储器具有尽可能高的存取速度、尽可能大的存储容量和尽可能低的价位。但是,这三个性能指标是相互矛盾的。
(7)存储器映射的作用扩展阅读
存储器的分类
1、按存储介质分类
(1)半导体存储器用半导体器件组成的存储器称为半导体存储器;特点:集成度高、容量大、体积小、存取速度快、功耗低、价格便宜、维护简单。主要分两大类:双极型存储器:TTL型和ECL型.金属氧化物半导体存储器(简称MOS存储器):静态MOS存储器和动态MOS存储器。
(2)磁表面存储器用磁性材料做成的存储器称为磁表面存储器,简称磁存储器。它包括磁盘存储器、磁带存储器等。特点:体积大、生产自动化程度低、存取速度慢,但存储容量比半导体存储器大得多且不易丢失。
(3)激光存储器信息以刻痕的形式保存在盘面上,用激光束照射盘面,靠盘面的不同反射率来读出信息。光盘可分为只读型光盘(CD-ROM)、只写一次型光盘(WORM)和磁光盘(MOD)三种。
2、按存取方式分类
(1)随机存储器(RAM):如果存储器中任何存储单元的内容都能被随机存取,且存取时间与存储单元的物理位置无关,则这种存储器称为随机存储器(RAM)。
RAM主要用来存放各种输入/输出的程序、数据、中间运算结果以及存放与外界交换的信息和做堆栈用。随机存储器主要充当高速缓冲存储器和主存储器。
(2)串行访问存储器(SAS):如果存储器只能按某种顺序来存取,也就是说,存取时间与存储单元的物理位置有关,则这种存储器称为串行访问存储器。串行存储器又可分为顺序存取存储器(SAM)和直接存取存储器(DAM)。
顺序存取存储器是完全的串行访问存储器,如磁带,信息以顺序的方式从存储介质的始端开始写入(或读出);直接存取存储器是部分串行访问存储器,如磁盘存储器,它介于顺序存取和随机存取之间。
(3)只读存储器(ROM):只读存储器是一种对其内容只能读不能写入的存储器,即预先一次写入的存储器。通常用来存放固定不变的信息。如经常用作微程序控制存储器。
目前已有可重写的只读存储器。常见的有掩模ROM(MROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM).ROM的电路比RAM的简单、集成度高,成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序、成熟的用户程序放在ROM中。
3、按信息的可保存性分类
非永久记忆的存储器:断电后信息就消失的存储器,如半导体读/写存储器RAM。
永久性记忆的存储器:断电后仍能保存信息的存储器,如磁性材料做成的存储器以及半导体ROM.
4、按在计算机系统中的作用分
根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。
高速缓存存储器:主要用途是高速存取指令和数据,存取速度快,但存取容量小;主存储器:存放计算机运行期间的大量程序和数据,存取速度快,存储容量不大;外存储器:存放系统程序和大型数据文件及数据库,存储容量大,成本较低。
⑧ 存储器在电脑中起什么作用
作用:
1,在电脑的存储器内储存着程序以及微处理器在进行计算时所要引用的其他数据,例如车辆的标定数据。对CPU而言,程序是电脑必需执行的一组指令或规范。在程序中包含的信息告诉微处理器何时获取输人信号,、如何处理输人信号并且在信号处理完成后应进行哪些操作。微处理器与存储器以下面的两种方式协同工作:读取存储器中的信息或者通过写人或存储新信息的方法改变存储器中的信息。
2,存储器包含许多不同的存储单元。可以将信息存储单元比喻为文件柜内的文件夹,并且在每个存储单元内存储有一条信息。每个存储器单元被赋予一个地址。地址可比作写在文件夹上的数字或字母。每个地址都以二进制码的形式写入,而且这些二进制码都以0开头并按顺序编码。
3,在发动机运转时,电脑接收来自各种传感器的大量信息,电脑不能立即处理所有的信息。在某些情况下,电脑需要接收一-些传感器的输入信息,而这些信息在电脑进行大量决策时才会用到。在此情况下,微处理器规定存储器的地址并将信息发送给该地址,从而把这些传感器的输入信息写入存储器内
(8)存储器映射的作用扩展阅读:
可编程序只读存储器:
很多通用汽车公司的电脑有可拆卸、可编程序只读存储器(PROM)。它可以从电脑中取下单独检修。PROM巾有专用程序如点火提前程序,它是为各种汽车的特殊需要而设计的。这种点火提前程序随变速器或后传动比的不同而不同。
有些电总配备有电改写可编程序只读存储器(EFPROM)、这种存储器的芯片可以很容易地由制造厂重编程序。而且这种存储器芯片一般是不能从电脑中拆卸下来进行单独检修的。
注:可编程序只读存储器通常是载有汽车专用程序的可拆卸芯片。
保持存储器:
保持存储器(KAM)性能与RAM相似。例如,微处理机可由KAM读出信息,也可把信息写入KAM,并可抹除KAM信息。但当点火开关关断时KAM却能保留信息。而当蓄电池与电脑断路时,KAM中的信息被抹除。KAM用于自适应对策。关于自适应对策在下一节说明。
注:微处理机可把信息写进KAM也可由KAM读出信息。当点火开关关断时,KAM保留信息,但当蓄电池电源与电路断开时,KAM抹除信息。
参考资料:网络-电脑存储器
⑨ 什么是文件映射,文件映射有什么作用
文件映射就是计算机硬盘上的文件映射到虚拟内存的页面上。当MMU确定必须交换出保存应用代码的页面时,它只是将所请求的资源读入到物理内存中,而原来的代码页面被弃之不用。其原因是没有必要将非易失代码页面写回到交换文件。此外,当MMU需要这些代码页面时,可以很容易地通过读取原始文件得到恢复。换句话说,如果MMU必须读入代码页面的话,它可以从原始文件中读取,而不必写交换文件,然后再从交换文件中读取