中央处理器 (CPU)
计算机科学
数字电路
集成电路
微机原理

逻辑地址和物理地址如何转换?

关注者
8
被浏览
63,109

2 个回答

一句话来说:逻辑地址左移四位加偏移地址就是物理地址(题主随便翻一本微机原理都有)

具体怎么操作,这里给个实例:

首先要清楚一点,逻辑地址=段地址:偏移地址

具体运算:段地址×16(左移四位,也就是2的四次方,相当于乘16)+偏移地址= 物理地址(可以理解为段地址末尾补一个零)

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

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

做题的小技巧就是因为地址本身一般都是十六进制数,所以你只需要把段地址左移一位(这里的位是数学上的个十百千位,不是二进制的01位)末尾补0再和偏移地址加起来就是物理地址了

编辑于 2020-07-27 23:50

存储器的物理地址:CPU寻找某个地址单元时(简称寻址)需要给出该单元的20位地址编码。

存储器的逻辑地址:由段基址(段寄存器的内容)和偏移地址两部分构成。


CPU将1MB的存储空间分成若干个逻辑段,每个逻辑段对应一片连续的存储空间,其长度任意,但最大不超过64KB。

当要访问逻辑段内的某一单元时,只要给出逻辑段的起始地址以及该单元与起始地址之间的距离(又称偏移量,或偏移地址,以字节数计量),即可确定其物理地址。

逻辑段可在整个1MB存储空间内浮动,即可重定位在不同的位置,但逻辑段的起始地址必须能被16整除,即段起始地址必须是XXXX0H的形式。

段起始地址的高16位称为段基址,它在访问存储器之前被置于某个段地址寄存器中。

CPU访问存储器时,根据所执行的操作,选择某个段寄存器,将其中的内容左移4位形成20位地址的高16位(低4位自动添0),然后通过20位地址加法器再与16位偏移量相加,形成对应的物理地址。

发布于 2021-11-20 19:39