导航:首页 > 物理学科 > 怎么计算物理地址

怎么计算物理地址

发布时间:2022-05-07 04:45:23

A. 逻辑地址转换成物理地址的计算题

页表可以实现从页号到物理块号的地址映射。通过逻辑地址的页号来寻找页表,从而获得物理块号;在将页内地址直接送入物理地址寄存器的块内地址字段中。将块号和块内地址拼接成实际访问地址,即可得到物理地址。

物理地址的计算公式为:物理地址=块的大小(即页的大小L)* 块号f+页内地址d

代入本题解答:

页号=int(2500/1024)=2;页内位移=2500mod1024=452;假设页号2对应块号1,则物理地址为:

物理地址=1024*1+452=1476

(1)怎么计算物理地址扩展阅读:

逻辑地址(LogicalAddress)即通过电脑程序产生的与段相关的偏移地址部分,也叫做相对地址;

物理地址,即计算机中每一个字节单元的唯一存储地址,也叫做实际地址或绝对地址。

利用所给的逻辑地址首先找到在页表中的那一页,即页号,再者利用所给的逻辑地址计算出在页表的页偏移量,从而利用页表所对应的物理块计算出块号,再利用块号的基础上计算出所给的偏移量。(一般只针对于动态重定位的变化使用)

B. 什么是8086的基址、偏移地址、逻辑地址、物理地址 如何计算物理地址

逻辑地址是应用程序所应用的地址,物理地址是内存中的地址是给硬件识别的,基址是由分段部件中的段选择符找到段描述符再得到基址,逻辑地址通过分段部件得到基址再加上偏移地址就得到了物理地址

C. 什么是逻辑地址什么是物理地址在实模式下,如何求存储器的物理地址假设一个

逻辑地址和物理地址的区别是:
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。
物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。
虚拟内存(Virtual Memory)是指计算机呈现出要比实际拥有的内存大得多的内存量。因此它允许程序员编制并运行比实际系统拥有的内存大得多的程序。这使得许多大型项目也能够在具有有限内存资源的系统上实现。一个很恰当的比喻是:你不需要很长的轨道就可以让一列火车从上海开到北京。你只需要足够长的铁轨(比如说3公里)就可以完成这个任务。采取的方法是把后面的铁轨立刻铺到火车的前面,只要你的操作足够快并能满足要求,列车就能象在一条完整的轨道上运行。这也就是虚拟内存管理需要完成的任务。在Linux 0.11内核中,给每个程序(进程)都划分了总容量为64MB的虚拟内存空间。因此程序的逻辑地址范围是0x0000000到0x4000000。有时我们也把逻辑地址称为虚拟地址。因为与虚拟内存空间的概念类似,逻辑地址也是与实际物理内存容量无关的。 逻辑地址与物理地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->物理地址映射正好差这个值。这个值是由操作系统指定的。

D. 操作系统的物理地址怎么计算

其实第一条回答是正确的,我在这里为网友们追加一个解释:

按照书上定义,在页式存储系统中,

绝对地址 = 块号 x块长 +业内偏移地址。
相对地址 由一段内存的高bit位作为页号,低bit位作为页内偏移地址

那重要的一点是,如果找出这三个变量。且看该题:
每页1KB,说明了,业内偏移地址的范围是0~1023byte 换句话说,页内偏移地址占16bit中的 0-9bit, 那按照相对地址的概念,那10-15 bit就该为页号地址了。

那么, 0x0A5C <=> 0000 1010 0101 1100
则前面 0000 10 这6个bit 表示页号,换算成十进制为 2,也即是页号为2,再按照页表推算,即物理块号就为4, 而4再换算成16进制,即是0001 00;而后面 10 0101 1100 这10个bit位,理所当然的为页内偏移地址了。 则物理地址就该为0001 00 (占据10-15bit)+ 10 0101 1100 (占据0-9bit) = 0001 0010 0101 1100

他的所谓凭接,其实就是让0001 00 占用bit 10-15.

E. 物理地址的计算方法

20位物理地址计算方法如下:
物理地址=段基址*16d+偏移地址

F. 8086如何计算的物理地址

8086中含有存储器。存储器中每一个单元的地址可以用两种方法表示:
1.逻辑地址:其表达形式为“段地址:段内偏移地址”。
2.物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。
物理地址=段地址×10H+段内偏移量
注:H为16进制,CS :代码段寄存器,

G. 微机原理求物理地址的问题,那个乘16的含义是左移4位,那计算的时候应该怎么算

物理地址的计算方法是段地址左移一位十六进制数,再加上偏移地址。就像你这个题目中的算法就是:12000H+0FF00H=21F00H。物理地址的计算方法都是如此。只要把相应的段地址左移一位再相加就可以。但有时候需要判断它对应的段地址。
这种题目相对来说是很简单的,只要把题目中给出的十六进制段地址左移一位,最后一位补零就可以的。
再如CS=2100H,IP=02100H。则物理地址为:2A000H+02100H=2C100H
希望对你有帮助!

H. 通过虚拟地址计算物理地址 求过程

你打的太多了,有点乱,只说下地址转换问题:
1.虚拟地址:虚拟地址是以"段寄存器:偏移地址"形式存在的,例如--0542:24521360
2.线性地址:它是由分段部件把虚拟地址转化而来的.
3.物理地址:即真实存在的地址,由处理器的地址引脚寻找到的地址.
虚拟地址---->线性地址:
段寄存器是一个16位的寄存器,其中第0和1位控制着将要访问段的特权级,第2位说明是在gdt还是ldt寻找地址.高13位作为一个索引值,总共8192个索引.假设段寄存器-0000
0000
0000
1011(000b),那么我们可以知道rpl=3(特权级为3);ti=0,从gdt中选择段描述符;index=1,即将要索引的段描述符在gdt中的顺序号为1,由于一个段描述符占8个字节,所以其索引到的地址为"gdt的高32位+1*8".这也就是为什么gdt48位,留最低的16位作为限长的原因(8192*8=64k).
找到了段描述符,然后就是从段描述符中找出该段的位置了.段描述符是个8字节的内存空间,由于结构复杂,无法构图,省略段描述符的结构.我们只要知道在里面规定了该段的基址,限长,还有属性等等.找出基址后,再加上虚拟地址的偏址,就形成了32位的线性地址.由于偏址是32位的,所以该段独享4g的虚拟地址空间.
线性地址----->物理地址
该部分是由分页部件通过3级查找完成的.此时,我们把线性地址分为3段:0-11位(c)字节索引,12-21位(b)页表索引,22-31位(a)页目录索引.我们把页表描述符和页描述符通称为页表项,页表项占4个字节,总共占4kb大小.先以cr3为基址,以(a*4)为索引值,寻址页目录描述符.然后再以页目录地址的高20位地址为基址,以(b*4)为索引值,寻址页描述符.再以页描述符的高20位地址为基址,以c为偏移地址,相加得到物理地址.
从上可以看到页的大小是4kb,即一项任务cpu只调用该任务所占内存空间的4kb大小.有利于减少内存占用.
以上大体就是这样的,其中分页部件的转换相当复杂,不是三言两语就能说明白的.还有pentium之后,分页部件又采用了4mb的页面,线性地址采用2级寻址.才开启pae功能后,又形成了4级寻址.然后再结合后面的内存保护,i/o保护,任务保护及特权级的变换,形成了保护模式的大部分内容.
太复杂了,我也不是十分会.写的有些乱,但愿你能明白些.

I. 2.6 什么是逻辑地址什么是物理地址如何由逻辑地址计算物理地址

【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不同。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。

阅读全文

与怎么计算物理地址相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:769
乙酸乙酯化学式怎么算 浏览:1428
沈阳初中的数学是什么版本的 浏览:1390
华为手机家人共享如何查看地理位置 浏览:1079
一氧化碳还原氧化铝化学方程式怎么配平 浏览:916
数学c什么意思是什么意思是什么 浏览:1448
中考初中地理如何补 浏览:1340
360浏览器历史在哪里下载迅雷下载 浏览:734
数学奥数卡怎么办 浏览:1428
如何回答地理是什么 浏览:1065
win7如何删除电脑文件浏览历史 浏览:1083
大学物理实验干什么用的到 浏览:1519
二年级上册数学框框怎么填 浏览:1738
西安瑞禧生物科技有限公司怎么样 浏览:1093
武大的分析化学怎么样 浏览:1277
ige电化学发光偏高怎么办 浏览:1366
学而思初中英语和语文怎么样 浏览:1700
下列哪个水飞蓟素化学结构 浏览:1456
化学理学哪些专业好 浏览:1512
数学中的棱的意思是什么 浏览:1097