精华内容
下载资源
问答
  • 2021-01-19 02:14:23
    • 类型一:已知逻辑地址(例:[0,250])求物理地址

    例题  若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址[0,100],[1,179],[2,785]和[3,1010],页内地址单位字节,转化为相应的物理地址。

    页号

    块号

    0

    1

    2

    3

    3

    5

    6

    2

    需要注意的数据:页面大小1024字节、逻辑地址[页号,页内地址]

    公式:  物理地址=(页面大小*块号)+位移量     【位移量就是页内地址】 

    套公式,根据表格,用已知页号找对应的块号

    答案:(1)对于逻辑地址[0,100],查页表第0页在第3,所以物理地址为:   1024*31003172

               (2)对于逻辑地址[1,179],查页表第1页在第5,所以物理地址为: 1024*51795299

               (3)对于逻辑地址[2,785],查页表第2页在第6,所以物理地址为: 1024*67856929

               (4)对于逻辑地址[3,1010],查页表第3页在第2,所以物理地址为: 1024*210103058

     

     

    • 类型二: 已知逻辑地址(十六进制、二进制等非十进制)求物理地址

    例题  某虚拟存储器的用户空间共32个页面,每页1KB,主存16KB。

    试问:(1)逻辑地址的有效位是______位;

               (2)物理地址需要______位;

               (3)假定某时刻系统为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将逻辑地址0A5CH和093CH变换为物理地址。

    页号

    物理块号

    0

    5

    1

    10

    2

    4

    3

    7

    需要注意的数据:页面数32个、页面大小1KB、主存大小16KB

    提取出来的信息:【页面数32个→2^5】:逻辑地址页号数为5位         【页面大小1KB→2^10】:页内地址数为 10位          【主存大小16KB→2^4】

    物理地址求取步骤:

    (1)十六进制转二进制

         例:0A5CH为 0000 1010 0101 1100

    (2)找页号和页内地址

         从右往左数,右10位为页内地址,再往左的5位数为页号

                                0000 10|10 0101 1100

    (3)页号变块号,页内地址不变

         0010转十进制为2,即页号为2,对照表格可得物理块号为4,转二进制位为0100;页内地址(紫色部分)不变:

                                0001 00|10 0101 1100

         二进制转十六进制:125CH(此例中只有前两位数会变动)

                   答案:(1) 逻辑地址的有效位是    15    位;  2^5×2^10  15

                              (2) 物理地址需要    14    位;               2^4×2^10  14

                              (3) 0000 1010 0101 1100                    0000 1001 0011 1100

                                   0001 0010 0101 1100                    0001 0010 0101 1100

                                               125CH                                            113CH

    更多相关内容
  • 浅析如何把逻辑地址转换为物理地址

    万次阅读 多人点赞 2020-06-29 14:22:33
    本文只讲逻辑地址转换为物理地址计算方法

    摘要:微信搜索【三桥君
    本文只讲逻辑地址转换为物理地址的计算方法

    一、依据

    (1)计算十六进制使用公式

    逻辑地址=页号+页内地址
    物理地址=块号+页内地址

    【解析】
    逻辑地址转换为物理地址其实就是页号转换为块号。

    他们之间的页内地址是一样的。

    然后,我们要搞清楚页号、块号、页内地址怎么求的,然后通过公式带进去就可以求出逻辑/物理地址。

    页内地址的表达方式是2进制的,所以不管给的逻辑地址、物理地址都先转换为2进制。具体页内地址取几位,通过题目给的去求,如“每页为1KB”。

    (2)计算非十六进制使用公式

    物理地址=块号*页内大小+页内地址
    页号=逻辑地址/页面大小字节=(取整数)
    页内地址=逻辑地址%页面大小字节=(取余数)

    二、例题

    1、十六进制

    设某用户的编程空间共32个页面,每页为1KB,内存容量为16KB。假定用户程序的页表如下所示。请计算逻辑地址0A5CH所对应的物理地址。(要写出计算过程)
    在这里插入图片描述
    【分析】
    逻辑地址为0A5CH;
    页内地址的位数通过“每页为1KB”转换成2的n次幂去求解,n次幂=位数。
    页号的位数通过逻辑地址的位数减去页内地址的位数,即16-页内地址的位数。

    【解答】
    因为 逻辑地址为0A5CH,
    所以 逻辑地址转换为2进制为 0000 1010 0101 1100;
    因为 1KB=2^10B,
    所以 页内地址的位数=10;
    所以 页内地址为10 0101 1100;即页号为0000 10。
    因为 页号转换为10进制为2,
    所以 对应的块号为4;
    所以 块号的2进制为000100。
    因此,物理地址= 000100 10 0101 1100,即0001 0010 0101 1100。
    转换为16进制为125CH。

    【说明】
    其实这题逻辑地址转换为物理地址的做法就是:
    把逻辑地址的页号部分:0000 1010 0101 1100
    转换成对应物理地址的块号:0001 0010 0101 1100
    这样就完成了转换。

    2、非十六进制

    在采用分页存储管理的系统中,某作业J的逻辑地址空间为4页(每页2KB),且已知该作业的页面映像表(即页表)如下:试借助地址变换图求出有效逻辑地址4865所对应的物理地址。(要写出计算过程)

    在这里插入图片描述
    【分析】
    页号=逻辑地址/页面大小字节=(取整数)
    页内地址=逻辑地址%页面大小字节=(取余数)

    【解答】
    页号P=4865/2K=4865/2048(转为10进制)=2,
    页内地址W=4865 % 2048=769;
    则通过查找页表,可知第2页放于第6块中,
    因此逻辑地址4865所对应的物理地址为:
    6*2048+769=13057


    文章整理不易,有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包,后续持续更新。

    展开全文
  • 物理地址逻辑地址的区别

    千次阅读 2021-07-26 03:44:55
    物理地址逻辑地址的区别参考如下MAC地址也叫物理地址、硬件地址或链路地址,网络设备制造商生产时写在硬件内部。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的。MAC地址的...

    今天学习啦小编给大家介绍一下物理地址和逻辑地址的区别。供大家参考!

    物理地址和逻辑地址的区别

    参考如下

    MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,

    1.MAC地址

    网卡MAC地址不是随便定义的,它的组成结构如图所示。

    93ffdecc8904b33cc33165a90b127495.gif

    1>后3个字节代表该制造商所制造的某个网络产品(如网卡)的系列号,前3个字节表示代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配

    2>以太网的地址为48位,由IEEE统一分配给网卡制造商,每个网卡的地址都必须是全球唯一的。共6个字节的长度。FF:FF:FF:FF:FF:FF为广播地址,只能用在目的地址段,不能作为源地址段。目的地址为广播地址的数据包,可以被一个局域网内的所有网卡接收到。合法的以太网地址第32位组播标志必须为0。作为组播地址时,只能作为目的地址,不能作为源地址。组播地址可以被支持该组播地址的一组网卡接收到。组播地址主要用在视频广播,远程唤醒(通过发一个特殊的数据包使网卡产生一个中断信号,启动电脑),游戏(多个人在局域网里联机打游戏)里等。

    逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。

    虚拟内存(Virtual Memory) 是指计算机呈现出要比实际拥有的内存大得多的内存量。因此它允许程序员编制并运行比实际系统拥有的内存大得多的程序。这使得许多大型项目也能够在具有有限内存资源的系统上实现。一个很恰当的比喻是:你不需要很长的轨道就可以让一列火车从上海开到北京。你只需要足够长的铁轨(比如说3公里)就可以完成这个任务。采取的方法是把后面的铁轨立刻铺到火车的前面,只要你的操作足够快并能满足要求,列车就能象在一条完整的轨道上运行。这也就是虚拟内存管理需要完成的任务。在Linux 0.11内核中,给每个程序(进程)都划分了总容量为64MB的虚拟内存空间。因此程序的逻辑地址范围是0x0000000到0x4000000。

    有时我们也把逻辑地址称为虚拟地址。因为与虚拟内存空间的概念类似,逻辑地址也是与实际物理内存容量无关的。

    逻辑地址与物理地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->物理地址映射正好差这个值。这个值是由操作系统指定的。

    学习啦小编介绍了物理地址和逻辑地址区别的相关知识,希望你喜欢。

    展开全文
  • 击上方“嵌入式应用研究院”,选择“置顶/星标公众号”干货福利,第一时间送达!本文是关于操作系统中逻辑地址和物理地址之间的区别。计算机操作系统中的内存使用两种不同类型的地址。物理地址是内存的...

    击上方“嵌入式应用研究院”,选择“置顶/星标公众号

    干货福利,第一时间送达!

    本文是关于操作系统中逻辑地址和物理地址之间的区别。计算机操作系统中的内存使用两种不同类型的地址。物理地址是内存的实际地址,如RAM,虚拟地址只是缓存和RAM之间的逻辑地址映射。

    在操作系统中,每当我们谈论代码或其部分的地址或地址空间时,我们指的是该部分代码所在的内存位置。让我们通过一个现实生活中的异常来了解操作系统中的寻址。在现实生活中,我们的房子都有特定的地址,所以如果我们想去某个特定的人的地方,我们会记得他/她的房子的地址。操作系统中的地址也是如此。我们将数据存储在不同位置的内存中,并为它们分配不同的地址,以便我们将来可以使用存储它们的相同地址再次访问它们。在操作系统中,我们使用 32 位体系结构中的 32 位地址空间和0xFFFFFFFF形式的十六进制数,从 0x000000000xFFFFFFFF

    在对地址以及为什么需要它们进行了快速讨论之后,我们现在将区分逻辑地址和物理地址。

    1、逻辑地址简介

    当我们谈论逻辑地址时,我们指的是CPU分配给每个进程的地址。正如我们已经讨论过的,一个进程在内存中所处的实际地址与进程认为它所处的地址是不一样的。这种地址映射基本上是在进程共享内存时所必需的,而不需要让进程知道它们彼此共享相同的内存空间。现在让我们来讨论逻辑地址。

    每当 CPU 运行一个进程时,它都会为该进程分配一个特定的内存。下图简要说明了内存段在不同部分的划分,其中程序代码段位于低地址,栈位于高地址。

    4c21d6a531ac7082e59d7ea411be68a1.png

    图1.1:进程的内存空间

    此分配的内存空间位于 CPU 为进程生成的虚拟地址(虚拟或逻辑地址),指示进程的代码、堆和堆栈部分将驻留的进程的内存空间。这个逻辑地址无疑与内存空间的实际地址不同。虚拟地址也称为指向主存储器中实际或物理地址的引用或指针。

    大多数操作系统在其程序中都定义了基地址,在生成逻辑地址时,CPU 生成一个地址,程序将基地址与 CPU 生成的地址相加得到逻辑地址,即

    逻辑地址 = 基地址 + CPU 生成地址

    一个逻辑地址空间是指CPU产生的所有逻辑地址的集合。

    2、物理地址简介

    物理地址是进程及其内容放置在主内存或硬盘中的地址。每当我们运行一个进程或将一些数据存储在计算机的主存储设备或辅助存储设备中时,我们总是将其存储起来以备将来随时访问。比如我在电脑的D盘存了一个word文件,我想访问它,以后怎么访问?当然是去D盘打开word文件。但是如果我将一个进程保存在主存中的某个存储单元或内存单元中,并希望将来访问它,该怎么办。就我们在本教程中研究过的地址而言,我们知道每当一个进程被创建时,CPU 都会生成它的虚拟地址,但又是一团糟。虚拟地址与进程实际放置在内存中的地址不同。

    然而,内存单元存储在由物理地址(用户未知)访问的主内存中,我们所知道的只是进程的逻辑地址。那么当我们需要访问进程的时候我们将如何访问物理地址呢?到目前为止,这似乎是不可能的,但这当然不是因为我们从计算机诞生到现在一直在访问创建的进程。

    因此,我们需要详细讨论这个问题。在进程创建时,CPU 不仅会生成虚拟地址,还会使用一些硬件支持将(先前生成的)虚拟地址映射到实际存储它的物理地址,这在下面的地址映射部分进行了讨论。因此,当我们尝试访问内存中已经保存的进程时,CPU 将虚拟地址返回给硬件,硬件将虚拟/逻辑地址映射到物理地址上,并间接访问进程的内存空间。

    2.1、地址映射

    现在让我们讨论硬件如何在逻辑地址和物理地址之间执行映射。在CPU和内存管理单元(MMU)的硬件中安装有助于地址的映射。下图很好的解释了。

    66627a8044da19e9a5399c8756495adc.png

    图1.2:逻辑地址到物理地址的映射

    这个内存管理单元对逻辑地址上的物理地址执行所有必需的映射。由MMU执行的非常基本的映射是由一种称为界限和基址的方案执行的。这是执行映射可以使用的最简单的方法。随着地址的映射变得越来越复杂,我们需要向内存管理单元添加越来越多的硬件。让我们讨论基址寄存器和界限寄存器。

    2.2、基址和界限法

    c280d7619566d698c0aea4b7576017fd.png

    图1.3:基地址和边界地址的转换

    在基于界限和基址的方法中,每个 MMU 单元都有两个寄存器,称为基址寄存器和界限寄存器。基址寄存器中包含特定进程(正在运行)的内存部分的起始地址。例如,当硬件需要取一些指令时,首先需要将基址寄存器的值与逻辑地址相加,得到物理地址。因此,基址寄存器与访问内存有关,另一方面,界限寄存器要么存储特定进程的内存部分的结束地址,要么还可能包含内存部分的总大小(包括代码、堆栈和堆)。它仅用于保护,以便进程不超过分配给它的内存区域,并且它可能不会跳入另一个进程的内存区域。下面给出了逻辑地址和物理地址的一般比较。


    物理地址逻辑地址
    定义物理内存地址虚拟地址
    空间内存空间所在的实际内存地址引用物理地址/实际地址,称为逻辑地址空间
    可见性只对开发人员可见,对程序员不可见只对用户可见
    访问用户在任何情况下都无法访问用户可以轻松访问
    生成由 CPU 生成由 MMU 生成
    3 、文献引用

    [1] Yuvayana. (2020, August 13). What Is Memory Management Unit (MMU)? https://er.yuvayana.org/what-is-memory-management-unit-mmu/

    [2] Colin walls, & Dimitrios serpanos. (2012). Memory Management Unit. https://www.sciencedirect.com/topics/computer-science/memory-management-unit

    往期精彩

    STM32系统bootloader应用

    GitHub上最励志的计算机自学教程

    "结构体"和"共用体"在单片机中的妙用

    STM32硬核DIY机械键盘|蓝牙USB双模|灯控

    觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。

    展开全文
  • 逻辑地址和物理地址的相互转换

    千次阅读 多人点赞 2022-04-26 18:21:01
    文章目录逻辑地址和物理地址的相互转换基础概念逻辑地址转换成物理地址物理地址转换成逻辑地址 逻辑地址和物理地址的相互转换 注:本文只适用于做题,想更详细了解调度算法相关的知识可以参考这篇文章 操作系统学习...
  • 操作系统【分页系统 习题(逻辑地址、物理地址 转换)】
  • 求页号:d = 4865 % 2048 = 2 … 769​ 所以对应的...0A5D(H)所对应的物理地址解释:存储器32个页面(每页1KB),主存为16KB,有一用户程序为10页长,将逻辑地址 0AC5(H),1AC5(H),3AC5(H) 转换为物理地址解释:......
  • 逻辑地址物理地址计算 Q1) The value of Code Segment (CS) Register is 4042H and the value of different offsets is as follows: BX: 2025H , IP: 0580H , DI: 4247H Calculate the effective address of the ...
  • 逻辑地址(Logical Address)是指程序产生的与段相关...只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限...
  • 分页存储管理中逻辑地址到物理地址的转换过程解析
  • 逻辑地址转物理地址(操作系统)

    千次阅读 2021-12-23 15:01:26
    逻辑地址转物理地址
  • 逻辑地址到物理地址的转换

    千次阅读 2020-12-23 15:22:16
    以一个例子的形式讲解逻辑地址到物理地址的转换: 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下: 则逻辑地址0A5C(H)所...
  • 物理地址逻辑地址的关系

    千次阅读 2022-01-28 14:50:50
    物理地址逻辑地址的关系
  • 假设页面大小为4096k,内存大小为4G,逻辑地址4832(d),请根据下面页表计算物理地址 页号 块号 0 2 1 3 2 5 3 7 答:计算公式:块号 * 页面大小 + 页偏移量 = 物理地址 页号 = 逻辑地址 / 页面大小 ...
  • 计算】分页存储逻辑地址转物理地址

    万次阅读 多人点赞 2018-08-02 14:53:22
    分页存储逻辑地址转物理地址: 例题:已知某个分页系统,页面大小为1K(即1024字节),某一个作业有4个页面,分别装入到主存的第3、4、6、8块中,求逻辑地址2100对应的物理地址。 页号 物理块号 0 3 1 ...
  • 第四步:将逻辑地址的页内偏移量直接复制到物理地址的页内偏移量上 ( 即:逻辑地址的页内偏移量 = 物理地址的页内偏移量 ) 第五步:以逻辑地址的页号查页表,查出物理地址的帧号,再把帧号转为二进制,复制到物理...
  • 【题目】46.(8分)设某计算机的逻辑地址空间和物理地址空间均为64 KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(Page Frame)。在...
  • 实际的存储器对应的地址空间,即为物理地址空间。 相对地址和绝对地址都属于逻辑地址。 他们之间的区别,绝对地址是相对于整个进程的地址,相对地址是相对于进程当前部分的地址。 以上为个人理解,可能有偏颇...
  • 定义:用于实现逻辑地址到物理地址转换的一组硬件机构 基本地址变换机构可以借助进程的页表将逻辑地址转换为物理地址。 通常会在系统中设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M(就相当...
  • 首先对于微机原理这门课最常介绍的就是8086/8088两种型号的芯片。所以我们的结论也是基于此。...所以就把它分成了若干逻辑段(我们平时说的有关于“段”的词汇一般都是指“逻辑段”,而不是存储...
  • 逻辑地址 与物理地址的转换

    万次阅读 多人点赞 2018-08-24 10:43:56
    物理地址=块号+页内地址=f+d; (两个d是一样的,页表中存储有p与f的对应关系)  地址总长度位数=页号占位数m+页内地址占位数n   逻辑地址中的页数=2^m (2的 页号位数 次幂)  一个页面(业内地址)大小= 2...
  • 在一分页存储管理中,逻辑地址长度为16位,页面大小为8192字节,作业的第0、1、2页依次放在物理块5、10、11中,现有一物理地址为BF6AH,请反向求出该物理地址所对应的该作业的逻辑地址是__H。 首先在做逻辑地址与...
  • 物理地址逻辑地址

    千次阅读 2018-04-08 16:42:19
    1、物理地址 内存的结构:若干存储单元组成,以字节为单位。 存储最小单位:“二进制位”,包含信息为0或1 最小编址单位:字节,一个字节包含八个二进制位 内存地址:为了便于CPU访问,给每个存储单元一个编号...
  • 逻辑地址由16位二进制数(4位十六进制数)的段地址和偏移地址组成。 段首地址: 5位十六进制数中的末尾1位十六进制数为0的地址,即可作为段首地址段地址是指每一段的段首地址的高4位十六进制数,通常被保存在某个段...
  • 如何将逻辑地址转换成物理地址

    千次阅读 2020-12-07 17:13:30
    (shu页面:逻辑地址 页框:物理地址32(KB)=32×1024(B) 即等于32×1024 字节 二进制用多少位能有效表示这么多字节呢——答是:15位 因为32×1024=25×210=2^15 2.再次确定逻辑地址页面位数 你应该知道: 逻辑...
  • 1.物理地址:是指在 CPU 外部地址总线上的寻址物理内存的地址信号,是地址变换的最终...要经过寻址方式的计算和变换才得到物理地址。一个逻辑地址由两部份组成,段标识符: 段内偏移量。同时处理器内部以及程序员编程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 328,724
精华内容 131,489
关键字:

如何由逻辑地址计算物理地址