逻辑地址如何转换成物理地址的?

 我来答
呵解软z
推荐于2019-08-31 · TA获得超过748个赞
知道答主
回答量:18
采纳率:0%
帮助的人:5053
展开全部

首先我们知道,逻辑地址=段地址:偏移地址

然后进行运算:段地址×16+偏移地址=物理地址(可以理解为段地址末尾补一个零)

举例:逻辑地址是1000H:1000H

那么物理地址为1000H×16+1000H=11000H

拓展知识:

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

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

物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。

忆安颜11
高粉答主

推荐于2019-08-04 · 说的都是干货,快来关注
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:4.2万
展开全部

物理地址=段地址*10H+段内偏移地址。

段地址乘以10H是因为段地址当时是取高四位得到的,所以还原后要让段地址左移4位(10H = 10000B),例如(cs)= 20A8H,(IP)=  2008H,则物理地址为20A8H*10H+2008H = 22A88H。

例如(cs)= 20A8H,(IP)=  2008H,则物理地址为20A8H*10H+2008H = 22A88H。

拓展资料

逻辑地址是指由程序产生的与段相关的偏移地址部分。

在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址,又叫实际地址或绝对地址。

段地址是针对内存的分段而言的,将每一段的段首地址定义为段地址.段地址的存在是由系统的分段存储决定的,通过段地址和偏移地址就能对数据进行寻访。

偏移地址(SA)是指段内相对于段起始地址的偏移值,例如一个存储器的大小是1KB,可以把它分为4段,第一段的地址范围就是0—255,第二段的地址范围就是256-511,以此类推。这些段内的偏移地址就是在0-255的范围内的。

而计算它们的物理地址只需要把段地址左移4位,再加上偏移地址就可以了。

参考资料:百度百科-逻辑地址  百度百科-物理地址  百度百科-段地址  电子工业出版-微机原理与接口技术

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宽以待富裕财4
2015-08-27 · 知道合伙人教育行家
宽以待富裕财4
知道合伙人教育行家
采纳数:577 获赞数:46117
毕业于兰州大学,具有扎实的专业知识能力,热爱生活,热心教育事业,兴趣广泛,具有相关经验。

向TA提问 私信TA
展开全部
  逻辑地址如何转换成物理地址
  1.确定虚拟地址(物理地址)的有效位
例如:假设页面大小1KB,共32页。(页面:逻辑地址 页框:物理地址)
由32(KB)=32×1024(B) 即等于32×1024 字节
二进制用多少位能有效表示这么多字节呢——答是:15位 因为32×1024=2^5×2^10=2^15
  2.再次确定逻辑地址页面位数 你应该知道:逻辑地址=页号+页面
还是以上假设,那么页面大小为1KB=1024字节 同样的方法计算出表示位数:10位
如果给你逻辑地址:0000 1111 1000 0000
那么由:011+11100000000(相当于 页号+页面(10位))推得出页号011=3
  3.根据页号找出对应的页框号
由 物理地址=页框号×页块大小(页块大小是等于页面大小的)+页内位移(即页面逻辑地址)
根据上面 物理地址=页框号×1024B + 1110000000 ( 这里的相加是指位置上而言)
例如:110+110=110110(即高地址+低地址)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpw432
2015-08-19 · 知道合伙人教育行家
xpw432
知道合伙人教育行家
采纳数:3434 获赞数:29400
数理化成绩优,曾从事半导体,电子电器等设计与制造,爱好养生,自学中医经典理论,伴随名中医,熟悉中草药

向TA提问 私信TA
展开全部
逻辑地址转换成物理地址,通常用译码器完成。例如74LS138是3-8译码器。3 条输入线,输入000,001,——111,在8个输出端,每个输入的数据(逻辑地址)都对应一个输出端的电平跳变。这样就实现了逻辑地址转换成物理地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不知道为何921
2019-12-23 · TA获得超过150个赞
知道答主
回答量:42
采纳率:0%
帮助的人:2.6万
展开全部
首先我们知道,逻辑地址=段地址:偏移地
址然后进行运算:段地址×16+偏移地址=物理地址(可以理解为段地址末尾补一个零)
举例:逻辑地址是1000H:1000H那么物理地址为1000H×16+1000H=11000H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式