关于存储器映射、存储器重映射、内存映射、地址映射、地址转换等计算机专业名词详解

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:       计算机技术源于西方,而西方乃至当今世界最通用的语言是英语,所以很多专业名词也都是英语词汇,而中国人想要跟上时代学习计算机、使用计算机就势必要向西方人学习、学习英语、学习英语技术资料、翻译英语技术资料,可是经过学习、翻译后的结果就是很多英文专业名词被翻译成不同的中文意思在不同的资料、教材上出现(如Memory Map,被翻译成存储器映射、内存映射、地址映射等等),造成大家在看这些资料、教材的时候不知所措,一片茫然,到底是什么意思?所以今天我就根据自己的见解把上面这几个容易产生混淆的专业词汇集中介绍一下。
      计算机技术源于西方,而西方乃至当今世界最通用的语言是英语,所以很多专业名词也都是英语词汇,而中国人想要跟上时代学习计算机、使用计算机就势必要向西方人学习、学习英语、学习英语技术资料、翻译英语技术资料,可是经过学习、翻译后的结果就是很多英文专业名词被翻译成不同的中文意思在不同的资料、教材上出现(如Memory Map,被翻译成存储器映射、内存映射、地址映射等等),造成大家在看这些资料、教材的时候不知所措,一片茫然,到底是什么意思?所以今天我就根据自己的见解把上面这几个容易产生混淆的专业词汇集中介绍一下。

一、存储器映射、内存映射、地址映射

      在开始之前首先大家要明白映射的意思,映射就是一一对应的意思,重映射就是重新分配这种一一对应的关系。

      Memory Map(可以被翻译为存储器映射、内存映射有时也叫地址映射(Address Map))

      计算机最重要的功能单元之一是Memory,memory是众多存储单元的集合,为了使CPU准确地找到存储有某个信息的存储单元,必须为这些单元分配一个相互区别的编号,这个编号就是地址编码。在嵌入式处理器内,集成了多种类型的Memory,通常我们称同一类型的Memory为一个Memory Block,一般情况下,处理器设计者会为每一个memory block分配一个数值连续、数目与其存储单元数相等、以16进制表示的自然数集合作为该memory block的地址编码。这种自然数集合与memory block的对应关系就是Memory Map(存储器映射、内存映射),有时也叫地址映射(Address Map)。在这里需要强调的是memory Map是一个逻辑概念,是在计算机系统在(上电)复位后才建立起来的。Memory Map相当于这样一个函数:函数的输入量是地址编码,输出量是被寻址单元中的数据。当计算机系统掉电后或复位时,这个函数就不复存在,只剩下实现这个函数的物理基础——电路连接。也可以这样认为:Memory Map是计算机系统上电(复位)时的预备动作,是一个将CPU所拥有的地址编码资源向系统内各个物理存储器块分配的自动过程。

二、存储器重映射、内存重映射、地址重映射

      Memory Remap(存储器重映射、内存重映射、地址重映射)

      Memory Remap是与计算机异常(中断)处理机制机紧密相关的。完整的计算机系统必须具备异常(中断)处理能力。当异常(中断)产生时,CPU在硬件驱动机制下跳转到预先设定的存储器单元中,取出相应的异常处理程序的入口地址,并根据这个地址进入异常处理程序。这个保存有异常程序入口地址的存储器单元就是通常所说的“异常入口”。CPU设计人员为了简化芯片设计,一般将所有的异常入口集中起来置于非易失性存储器中,并在系统上电时映射到一个固定的连续的地址空间上。位于这个地址空间上的异常入口集合就是“异常向量表”。

      Memory Remap是对此前已确立的Memory Map的再次修改,从本质上讲,两者是一样的,都是将地址编码资源分配给存储器块,只不过二者产生的时间不同。

Remap技术的引入是为了提高系统对异常的实时响应能力,也就是解决低速非易失性存储器与高速CPU之间通信的问题。

      完整的Memory Remap过程通常始于bootload过程,具体的执行过程为:bootload将非易失性存储器中的异常向量复制到高速易失性存储器块的一端,然后执行Memory Remap命令,将位于高速易失性存储器中的异常向量块映射到异常向量表地址空间上,此后,系统若产生异常,CPU将从已映射到异常向量表地址空间的高速易失性存储器中读取向量。典型的boot、Memory Map、Memory Remap时间顺序应该是:Memory Map——boot——Memory Remap。

三、操作系统中的地址转换(有些地方也称地址映射、内存映射)

1、物理地址

内存中的每个单元都有一个唯一的编号,这种编号成为内存地址(也就是物理地址、绝对地址),内存地址的集合称为内存空间(或物理地址空间)。

2、逻辑地址

源程序经过汇编或编译后形成目标程序,目标程序中的地址称为逻辑地址(相对地址),并且每个目标程序都是从0地址开始编址的。

3、地址转换

将用户程序中的指令或数据的逻辑地址转换为存储空间中物理地址的工作称为地址转换或重定位(有些地方称做地址映射、内存映射)。这个过程一般由内存管理单元(MMU)来完成。地址转换有两种方法:静态重定位、动态重定位。

     小结:由于不同的翻译造成意思混淆或者不同的地方使用相同的专业词汇,使读者不能明白一些专业词汇到底什么意思,增加了学习的难度,所以在这里写下这篇文章,表达自己的拙见,希望大家多多指点,另外也希望能够统一专业词汇的意思,使大家学习起来不再这么迷惑。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
5月前
牛牛的计算机内存(状压dp)
牛牛的计算机内存(状压dp)
53 0
|
15天前
|
存储 缓存 Linux
用户态内存映射
【9月更文挑战第20天】内存映射不仅包括物理与虚拟内存间的映射,还涉及将文件内容映射至虚拟内存,使得访问内存即可获取文件数据。mmap 系统调用支持将文件或匿名内存映射到进程的虚拟内存空间,通过多级页表机制实现高效地址转换,并利用 TLB 加速映射过程。TLB 作为页表缓存,存储频繁访问的页表项,显著提升了地址转换速度。
|
6天前
|
存储 安全 Linux
将文件映射到内存,像数组一样访问
将文件映射到内存,像数组一样访问
12 0
|
1月前
|
消息中间件 Linux 容器
共享内存的创建和映射过程
【9月更文挑战第1天】消息队列、共享内存及信号量在使用前需生成key并获取唯一ID,均通过`xxxget`函数实现。
|
2月前
|
安全
计算机硬件升级增加内存(RAM)
【8月更文挑战第5天】
67 3
|
3月前
|
存储 固态存储 芯片
计算机中内存与存储
【7月更文挑战第28天】
45 1
|
3月前
|
存储 缓存 调度
计算机内存
计算机内存
|
3月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
4月前
|
监控 Linux
深入了解Linux的pmap命令:进程内存映射的利器
`pmap`是Linux下分析进程内存映射的工具,显示内存区域、权限、大小等信息。通过`/proc/[pid]/maps`获取数据,特点包括详细、实时和灵活。参数如`-x`显示扩展信息,`-d`显示设备。示例:`pmap -x 1234`查看进程1234的映射。注意权限、实时性和准确性。结合其他工具定期监控,排查内存问题。
|
4月前
|
存储 安全 程序员
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程

热门文章

最新文章

下一篇
无影云桌面