存储器映射的概念
⑴ 嵌入式系统中的存储器映射是怎么回事,为什么要映射
我是这样理解的:
存储器空间是和硬件相关联的,可以对某些地址上写数据来控制硬件,为了方便使用(总不可能都用地址来直接控制,那样就工作量就太大了),将这些地址赋予了一些变量名,通过变量名来控制硬件(也就是寄存器的概念)。
⑵ 单片机内存映射是什么意思为什么会出现映射这么一个概念它有什么作用和功能
许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用户需求的不断增大轮哗,应用腊汪行程序的规模也随之膨胀起来,终于一个难题在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,陵闷结束时他将调用另一个覆盖块。虽然覆盖块的交换是由OS完成的,但是必须先由程序员把程序先进行分割,这是一个费时费力的工作,而且相当枯燥。人们必须找到更好的办法从根本上解决这个问题。不久人们找到了一个办法,这就是虚拟存储器(virtual memory).虚拟存储器的基本思想是程序,数据,堆栈的总的大小可以超过物理存储器的大小,操作系统把当前使用的部分保留在内存中,而把其他未被使用的部分保存在磁盘上。
在没有使用虚拟存储器的机器上,地址被直接送到内存总线上,使具有相同地址的物理存储器被读写;而在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到存储器管理单元MMU,把虚拟地址映射为物理地址。
⑶ 什么是存储器映像(memory mapping)
当程序没有被运行或者加载时候文件形式存放硬盘上当被加载时候系统会自动从内存划分出段区域用来磁盘上文件映射内存相应位置上此时块内存数据磁盘文件拷贝段内存空间和刚才磁盘文件相关联因此对段内存进行数据修改也相当于磁盘文件上做了修改技术已经WIN32下被广泛使用比用磁盘映射文件技术进行相应磁盘文件操作
我认文件具体存放磁盘上数据或者代码
文件映像指和被加载磁盘文件相对应块内存区域
⑷ 内存映射是怎么回事
内存映射文件是由一个文件到一块内存的映射,使进程虚拟地址空间的某个区域与磁盘上某个文件的部分或全部内容的建立映射。
建立映射后,通过该区域可以直接对被映射的磁盘文件进行访问.而不必执行文件I/O操作也无需对文件内容进行缓冲处理。
就好像整个被映射的文件都加载到了内存一样,因此内存文件映射非常适合于用来管理大文件。
内存映射文件对程序的提速,只在处理大文件或非常频繁的文件读写操作时效果才明显。
通过内存映射,相当于将磁盘上的文件所在空间建立成一块虚拟内存,程序访问时可按内存的方式进行,省去了普通io方式的一些环节,其实真正要读写操作时,会进行换页,将这些个“虚拟内存”读到物理内存中。
总之,内存映射文件是应用虚拟内存的技术来达到加速处理的
⑸ dsp中有句话”存储器映射寄存器”是什么意思
dsp中有句话“存储器映射寄存器”,英语是
memory
mapped
register
不过这个东西并非dsp独有,单片机和其他32位嵌入式控制器都有此概念。
需要注意的是英语的表述,其实汉语的翻译是有些问题的。memory
mapped
是用来形容register的。因此,正确的翻译应该是-存储器映射的寄存器。一字之差,就有很大区别。因为”存储器映射寄存器“让人感觉是一种操作,象一个动词。其实应该是一个名词,就是一个寄存器,只是这个寄存器的地址被存储器映射了。
首先是寄存器的概念,寄存器不是存储器(内存),存储器是指通用的ram,寄存器则是有专门用途的
映射存储寄存器
ram。寄存器不能随便写数据。同时位置(硬件上)与通用的ram(存储器)不在一起。
存储器映射,就是把存储器的地址给寄存器用,你要找这个寄存器,就用这个存储器地址,然后单片机会帮你”映射“到你想找的寄存器。
物理上这个寄存器不属于内存(memory),但在逻辑地址上它属于内存。这样做的好处应该是能够用要使用访问内存的指令访问寄存器,使操作方式多样化,同时整个存储系统的地址也相对统一。
⑹ 单片机内存映射是什么意思为什么会出现映射这么一个概念它有什么作用和功能
AVR、PIC单片机都会遇到这个东东,与51不同,AVR等单片机的寄存器在使用过程中实地址是数据存储器地址,也就是映射到数据存储器地址当中,他们没有专门的地址。
⑺ DSP中有个映射文件的概念,那么映射是什么意思请详细解答!!谢谢!!
dsp软件开发的第一步是对可用存储空间的分析,存储空间分配好坏关系到一个dsp程序员的水平。对于dsp,我们有两种名称的存储空间,一种是物理空间,另一种是映射空间。物理空间是dsp上可以存放数据和程序的实际空间(包括外部存储器),我们的数据和程序最终放到物理空间上,但我们并不能直接访问它们。我们要访问物理空间,必须借助于映射空间才行!!但是映射空间本身是个“虚”空间,是个不存在的空间。所以,往往是映射空间远远大于实际的物理空间,有些映射空间,如io映射空间,它本身还代表了一种接口。只有那些物理空间映射到的映射空间才是我们真正可访问(读或写)的存储空间。
⑻ cache存贮器常用的地址映象方式是
cache存储器常用的地址映像方式包括三种:直接映射、全相联映射和组相联映射。每种映像方式都有自己的特点和适用范围。
1.直接映射:直接映射是最简单的映像方式,它把主存地址的低位作为缓存的索引,缓存中的每个单元对应主存中的某个固定地址。戚谨谨使用直接映射可以减小Cache存储器的成本,但是会导致冲高基突,降低Cache存储器的效率。
2.全相联映射:全相联映射是一种较为灵活的映像方式,工作原理是主存中的每晌肢个块都可以映射到Cache存储器中的任意一个单元中。由于每个块都可以映射到任意一个单元,所以全相联映射能够有效避免冲突,但是需要额外的硬件支持。
3.组相联映射:组相联映射是直接映射和全相联映射的折中方案,它把Cache存储器中的每个单元划分成若干个组,每个组中包含若干个单元。主存中的一个块可以映射到一个组中的任意一个单元,但是不能映射到同一个组中的其他单元。组相联映射可以有效避免冲突,同时也可以限制硬件成本。
⑼ 什么是存储器映射
分类: 电脑/网络 >> 硬件
解析:
通过赋予每个任务不同的虚拟–物理带缓地址转换映射,支持不同任务之间的保护。地址转换函数在每一个任务中定义,在一个任务中的虚拟地址空间映射到配散物理内存的一个部分,而另一个任务的虚拟地址空间映射到培行氏物理存储器中的另外区域。...