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

物理地址怎么求

发布时间:2022-04-27 07:16:02

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

你打的太多了,有点乱,只说下地址转换问题:
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保护,任务保护及特权级的变换,形成了保护模式的大部分内容.
太复杂了,我也不是十分会.写的有些乱,但愿你能明白些.

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

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

3. 不是说物理地址=段地址*16+偏移地址吗下面的是怎么算的,大家帮忙解答一下,谢谢

物理地址=段地址*16+偏移地址。这里的16是十进制,那你也要把段地址和偏移地址转化为十进制才能计算,然后把结果转化为十六进制。
你可以这样算:物理地址=段地址*10+偏移地址,这里10是十六进制的,十六进制的段地址乘以十六进制的10,直接在段地址后加个0就行了。那你就可以直接用十六进制的段地址和偏移地址直接计算得出结果。
例如:
2000H*10H=20000H
21F60H=2000H*10H+1F60H

4. 什么是有效地址什么是物理地址如何由有效地址求得物理地址

物理地址指CPU寻址主存时使用的20位地址,它确定了某一实际位置的内存单元.(2分)内存单元物理地址可由段址和段内的偏移量确定.内存单元在段内的偏移量称为有效地址(EA).(2分)
物理地址=段址×16+段内的偏移量.(3分)

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

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

6. 计算机物理地址怎么求

在命令行窗口中输入ipconfig/all
Physical Address就是物理地址,IP Address就是IP地址。
更详细的内容看这个链接:
http://jingyan..com/article/fdbd427700fd8fb89f3f4874.html

7. 汇编语言:SI、DI、BX、BP、SS、DS分别是什么怎样根据这些求物理地址

si、di分别是源、目的变址寄存器,bx是数据基址寄存器,bp是栈基址寄存器,SS、DS是段地址寄存器。

物理地址=段地址×16+偏移地址,指令中出现BP作地址,则其段地址为SS,否则就为DS。

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

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

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

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

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

绝对地址 = 块号 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.

10. 汇编语言SI、DI、BX、BP、SS、DS分别是什么怎样根据这些求物理地址

1.汇编语言 SI DI BX BP SS DS 是什么
SI: 16位寄存器,源变址寄存器
DI: 16为寄存器,目的变址寄存器
BX: 16位寄存器(可分成2个8位寄存器BH,BL),基址寄存器
BP: 16位寄存器,基址指针寄存器
SS : 16位段寄存器,作用是存放当前堆栈段的段地址,一般和SP连用
DS: 16为段寄存器, 作用是存放当前数据段的段地址

2.怎样根据这些求物理地址
上面的这几个寄存器跟求物理地址谈不上关系.
有个公式: 物理地址 = 基础地址 + 偏移地址 = CS*10H(基础地址)+ IP(偏移地址)
CS: 16位段寄存器,存放当前代码段的段地址
IP: 存放下一条要执行的指令的偏移地址

LZ如有不明白的地方,可追问

阅读全文

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

热点内容
word中化学式的数字怎么打出来 浏览:741
乙酸乙酯化学式怎么算 浏览:1407
沈阳初中的数学是什么版本的 浏览:1354
华为手机家人共享如何查看地理位置 浏览:1046
一氧化碳还原氧化铝化学方程式怎么配平 浏览:888
数学c什么意思是什么意思是什么 浏览:1412
中考初中地理如何补 浏览:1302
360浏览器历史在哪里下载迅雷下载 浏览:704
数学奥数卡怎么办 浏览:1391
如何回答地理是什么 浏览:1027
win7如何删除电脑文件浏览历史 浏览:1059
大学物理实验干什么用的到 浏览:1488
二年级上册数学框框怎么填 浏览:1702
西安瑞禧生物科技有限公司怎么样 浏览:982
武大的分析化学怎么样 浏览:1251
ige电化学发光偏高怎么办 浏览:1340
学而思初中英语和语文怎么样 浏览:1655
下列哪个水飞蓟素化学结构 浏览:1426
化学理学哪些专业好 浏览:1489
数学中的棱的意思是什么 浏览:1061