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

本文涉及的产品
公网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从业者体验企业级架构的实战训练。
目录
相关文章
|
1月前
牛牛的计算机内存(状压dp)
牛牛的计算机内存(状压dp)
30 0
|
2天前
|
存储 安全 程序员
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
|
1月前
内存映射mmap拓展
内存映射mmap拓展
|
1月前
内存映射实现无血缘关系进程间通信
内存映射实现无血缘关系进程间通信
|
1月前
内存映射实现父子进程通信
内存映射实现父子进程通信
|
1月前
|
存储 算法 内存技术
深入理解操作系统内存管理:从虚拟内存到物理内存的映射
【4月更文挑战第30天】 在现代操作系统中,内存管理是一个复杂而关键的功能。它不仅确保了系统资源的有效利用,还为每个运行的程序提供了独立的地址空间,保障了程序之间的隔离性和安全性。本文将探讨操作系统如何通过分页机制和虚拟内存技术实现内存的抽象化,以及这些技术是如何影响应用程序性能的。我们将详细解析虚拟地址到物理地址的转换过程,并讨论操作系统在此过程中扮演的角色。文章的目的是为读者提供一个清晰的框架,以便更好地理解内存管理的工作原理及其对系统稳定性和效率的影响。
|
1月前
|
算法 安全 Linux
Linux 下共享内存方式 :System V共享内存、共享文件映射(mmap)、POSIX共享内存对比...
Linux 下共享内存方式 :System V共享内存、共享文件映射(mmap)、POSIX共享内存对比...
41 2
|
1月前
|
存储 大数据 Python
NumPy中的内存映射文件处理技巧
【4月更文挑战第17天】NumPy的`memmap`模块用于处理大数据,通过内存映射文件技术实现对磁盘文件的高效访问,无需一次性加载到内存。创建内存映射数组使用`numpy.memmap`,并可像操作普通数组一样读写。最佳实践包括选择合适数据类型、规划文件大小和形状、减少磁盘操作、确保文件安全性和一致性及管理内存使用。内存映射是处理超出内存数据集的有效策略。
|
1月前
|
人工智能 缓存 算法
深入理解操作系统内存管理:从虚拟内存到物理内存的映射
【4月更文挑战第8天】 在现代操作系统中,内存管理是核心功能之一,它负责协调和管理计算机的内存资源,确保系统稳定高效地运行。本文深入探讨了操作系统内存管理的关键概念——虚拟内存和物理内存的映射机制。通过剖析分页系统、分段机制和虚拟内存地址转换过程,文章旨在为读者提供一个清晰的理解框架,同时讨论了内存管理的优化技术及其对系统性能的影响。此外,还简要介绍了内存碎片问题以及垃圾回收机制的重要性,并展望了未来内存管理技术的发展趋势。
|
1月前
|
存储 缓存 安全
深入理解内存映射:mmap映射的背后原理以及和共享内存的差异
深入理解内存映射:mmap映射的背后原理以及和共享内存的差异
697 0