Chinaunix
标题:
关于mmu地址转化的一个例子
[打印本页]
作者:
palm008
时间:
2015-04-09 11:00
标题:
关于mmu地址转化的一个例子
TLB寄存器值0x33ffc000是整个页表的基地址
0x00000018(虚拟地址)地址转换:将虚地址[31:20]位0x0作为索引*4(每个描述符占4个字节)再与页表基地址相加得0x33ffc000,即页表中第一个描述符,
因为该描述符为段描述符
,
将其[31:20]位0x300左移20
位充0为0x30000000作为该段物理基地址,并将虚地址[19:0]位0x18作为偏移地址与该段物理基地相加得0x30000018。该地址就为虚地址0x18对应的物理地址。
1. 该描述符如何判断是段描述符。
2.为什么要左移动20位呢? 我觉得应该是先右移20位,再左移20位才对,请高手指导
作者:
amarant
时间:
2015-04-10 08:51
你说的是什么架构呀?MMU的转化机制每个架构都不一样,需要看具体的手册
作者:
arm-linux-gcc
时间:
2015-04-10 11:50
回复
2#
amarant
这个地址一看就是s3c2440或s3c2410,
作者:
amarant
时间:
2015-04-10 12:29
回复
3#
arm-linux-gcc
看他说段描述符,怎么都有一种x86的感觉。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2