总线地址、物理地址、虚拟地址相关概念澄清

总线地址、物理地址、虚拟地址相关概念澄清

ID:40643265

大小:91.50 KB

页数:14页

时间:2019-08-05

总线地址、物理地址、虚拟地址相关概念澄清_第1页
总线地址、物理地址、虚拟地址相关概念澄清_第2页
总线地址、物理地址、虚拟地址相关概念澄清_第3页
总线地址、物理地址、虚拟地址相关概念澄清_第4页
总线地址、物理地址、虚拟地址相关概念澄清_第5页
资源描述:

《总线地址、物理地址、虚拟地址相关概念澄清》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、总线地址、物理地址、虚拟地址相关概念澄清Now,onnormalPCsthebusaddressisexactlythesameasthephysicaladdress,andthingsareverysimpleindeed.However,theyarethatsimplebecausethememoryandthedevicessharethesameaddressspace,andthatisnotgenerallynecessarilytrueonotherPCI/ISAsetups. 

2、 Now,justasanexample,onthePReP(PowerPCReferencePlatform),theCPUseesamemorymapsomethinglikethis(thisisfrommemory):    0-2GB        "realmemory"    2GB-3GB    "systemIO"(inb/outandsimilaraccessesonx86)    3GB-4GB    "IOmemory"(sharedmemoryovertheIObus)N

3、ow,thatlookssimpleenough.However,whenyoulookatthesamethingfromtheviewpointofthedevices,youhavethereverse,andthephysicalmemoryaddress0actuallyshowsupasaddress2GBforanyIOmaster.SowhentheCPUwantsanybusmastertowritetophysicalmemory0,ithastogivethemasterad

4、dress0x80000000asthememoryaddress.So,forexample,dependingonhowthekernelisactuallymappedonthePPC,youcanendupwithasetuplikethis:physicaladdress:  0virtualaddress:    0xC0000000busaddress:      0x80000000wherealltheaddressesactuallypointtothesamething.  

5、It'sjustseenthroughdifferenttranslations..Similarly,ontheAlpha,thenormaltranslationisphysicaladdress:  0virtualaddress:    0xfffffc0000000000busaddress:      0x40000000(buttherearealsoAlphaswherethephysicaladdressandthebusaddressarethesame).Anyway,the

6、waytolookupallthesetranslations,youdo    #include    phys_addr=virt_to_phys(virt_addr);    virt_addr=phys_to_virt(phys_addr);      bus_addr=virt_to_bus(virt_addr);    virt_addr=bus_to_virt(bus_addr);Now,whendoyouneedthese?thereareactually_th

7、ree_differentwaysoflookingatmemoryaddresses,andinthiscaseweactuallywantthethird,theso-called"busaddress".Essentially,thethreewaysofaddressingmemoryare(thisis"realmemory",thatis,normalRAM--seelateraboutotherdetails):-CPUuntranslated.  Thisisthe"physica

8、l"address.  Physicaladdress0iswhattheCPUseeswhenitdriveszeroesonthememorybus.-CPUtranslatedaddress.Thisisthe"virtual"address,andiscompletelyinternaltotheCPUitselfwiththeCPUdoingtheappropriatetranslationsinto"CPUuntranslated".-busaddress.Thisis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。