nnpc.net
当前位置:首页 >> 如何将逻辑地址转换成物理地址 >>

如何将逻辑地址转换成物理地址

如果是16进制的话 将段地址移一位 加上偏移地址就是了如果是二进制的话 是将段地址移4位 加上偏移量

逻辑地址如何转换成物理地址1.确定虚拟地址(物理地址)的有效位 例如:假设页面大小1KB,共32页.(页面:逻辑地址 页框:物理地址) 由32(KB)=32*1024(B) 即等于32*1024 字节 二进制用多少位能有效表示这么多字节呢答是:15位

逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分.例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干.

请你要耐心看下去,这里的转化稍微有点麻烦,如果是应付考试没有一点问题,如果考研那你还得自己去看书,问题少在baidu上提,多去图书馆多去问老师.(具体步骤 共三步)1.确定虚拟地址(物理地址)的有效位 例如:假设页面大小1KB

实模式下,每个存储单元分配一个惟一的20位二进制数(5位十六进制数)的存储器地址,称为物理地址.逻辑地址由16位二进制数(4位十六进制数)的段地址和偏移地址组成.段首地址:5位十六进制数中的末尾1位十六进制数为0的地址,即可作为段首地址 段地址是指每一段的段首地址的高4位十六进制数,通常被保存在某个段寄存器中.偏移地址则是指在段内相对于段首地址的偏移值,也取4位十六进制数.所以,物理地址=段地址*10H+偏移地址

物理地址 = 段地址*10H+偏移地址 物理地址=1F000H+1A00H 二进制段地址左移四位加上偏移地址 就是20位物理地址了

页面大小为4 KB = 2^12字节,所以逻辑地址的后12位为页内地址,后12位之前的部分是页号.对于1D16H(即0001 1101 0001 0110B),其页号就是0001B,即1.查表可知其物理块号是3,所以把1换成3,物理地址就是3D16H.

逻辑地址你可以理解为物理地址的别名,逻辑地址到物理地址的转换叫做映射,这个是提前写好的映射关系:什么偏移量啊,反码,补码什么的.

页表的作用是实现从页号到物理块号的地址映射.以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址d直接送入物理地址寄存器的块内地址字段中.这样物理块号和块内地址拼接成了实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换. 所以物理地址的计算公式为: 物理地址=块的大小(即页的大小L)′块号f+页内地址d 解本题中,为了描述方便,设页号为p,页内位移为d,则:p=int(2500/1024)=2 d=2500mod1024=452 假设页号2 对应 块号 1 那么物理地址=1024*1+452=1476

不同的微机不一样说8086/8088的话,是段地址(16位)左移四位,然后加上偏移地址(16位),就是20位物理地址

网站首页 | 网站地图
All rights reserved Powered by www.nnpc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com