首页 > 编程知识 正文

逻辑地址和物理地址的关系,根据段表转换物理地址

时间:2023-05-04 20:02:56 阅读:155693 作者:1554

摘要:微信搜索【三桥君】

只说明从逻辑地址向物理地址变换方法

另一方面,根据(1)计算十六进制,使用数学公式的逻辑地址=页号、页内地址

物理地址=块编号页中的地址

【分析】

从逻辑地址到物理地址的转换实际上是从页码到块编号的转换。

他们之间在页面上的地址是一样的。

然后,明确如何求出页码、块号码、页内地址,用公式带入即可求出逻辑/物理地址。

页面内地址的表示方法是二进制,所以不管给定的逻辑地址、物理地址如何,都会先转换为二进制。 取几个具体页面地址,像“每页1KB”这样的题目求。

)2)非十六进制计算需要使用公式物理地址=块号*页内大小+页内地址

页号=逻辑地址/页面大小字节=(取整数)

页内地址=逻辑地址%页面大小字节=(取余数)

二.例题1、十六进制

某用户的编程空间共有32页,每页1KB,存储器容量为16KB。 假设用户程序的页表如下所示。 请计算与逻辑地址0A5CH对应的物理地址。 (写计算过程) () ) ) ) ) ) ) )。

【分析】

逻辑地址为0A5CH;

页面内地址的位数为“每页1KB”,转换为2的n次方进行求解。 n次方=位数。

页码位数是从逻辑地址的位数中减去页内地址的位数,即16-页内地址的位数。

【解答】

由于逻辑地址为0A5CH,

因此,逻辑地址将以二进制形式转换为0000 1010 0101 1100;

因为1KB=2^10B,

所以页面内的地址位数=10;

所以,页面内的地址是10 0101 1100; 也就是说页码是0000 10。

因为页码被转换成十进制后变成2,

因此,对应的块编号为4;

所以块号码的二进制数是000100。

因此,物理地址=000100 10 0101 1100,即0001 0010 0101 1100。

转换为十六进制,为125通道。

【说明】

实际上,将该问题的逻辑地址转换为物理地址的方法如下。

逻辑地址的页码部分:0000 1010 0101 1100

转换为与物理地址对应的块编号:0001 0010 0101 1100

这样就完成了转换。

2、非十六进制

在采用了页面存储器管理的系统中,已知某个作业j的逻辑地址空间是4页(每页2KB ),该作业的页面映像表(即页面表)如下。 试着通过地址转换映射求出与有效的逻辑地址4865对应的物理地址。 (写计算过程) () ) ) ) ) ) ) )。

【分析】

页码=逻辑地址/页面大小字节=(取整数)

页面地址=逻辑地址%页面大小字节=(取余数) ) ) ) )。

【解答】

页码p=4865/2k=4865/2048 (转换为十进制)=2,

页内地址W=4865 % 2048=769;

当你搜索页面表时,你会发现第二页在第六个块中。

因此,与逻辑地址4865对应的物理地址如下。

6*2048 769=13057

因为文章很难组织,所以请关注支持。 谢谢你。 在微信上搜索【三桥君】,回复【关注】后,有我准备的资源大礼包,之后也在持续更新。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。