首页
社区
课程
招聘
求助 关于CPU寻址的问题
发表于: 2010-9-29 11:19 6701

求助 关于CPU寻址的问题

2010-9-29 11:19
6701
再看王爽老师的汇编语言是有点困惑,看了下这个帖子解决了一些,但还是困惑http://bbs.pediy.com/showthread.php?t=81997

我的机器是64位的,4G内存,32位XP

1。在我的电脑上右键属性显示的内存是3.25G,这个3.25G是CPU总共能用的主存+显存+...+各种bios总共这么大么?还是怎么个事?
2。怎么知道各种RAM(比如显存)的地址范围?知道了可以直接写程序编辑里面的内容么?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 2523
活跃值: (520)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
1 3.25G应该是你操作系统只能识别出来这么多内存,你就是8G内存,也只能识别这么多,32位XP打个补丁好像能识别出来4G,但是最多也是4G
2 王爽老是的那个教程好像是16位汇编,不能在32位xp上直接使用内存
2010-9-29 14:31
0
雪    币: 358
活跃值: (662)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3


这里可以看显存的地址范围.......
上传的附件:
  • 1.jpg (106.60kb,111次下载)
2010-9-29 15:25
0
雪    币: 2109
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
网路上找的:

"在32bit windows OS下
1. 单一的32bit软体最多可以用到2GB的虚拟记忆体(VM),透过设定最多可以用到3GB(VM)
2. 所有的32bit软体都必需放在4G定址以下的实体记忆体执行
3. 透过PAE所支援超过4G定址的记忆体,该空间只能拿来拿存取资料,并无法将程式放到该空间执行
4. 32bit软体可以透过AWE API使用超过2GB/3GB(VM)的记忆体,但是只能拿来存取资料

在64bit windows OS下
1. 32bit软体也还是受到一样上面列出的限制,但最多可以用到4GB的虚拟记忆体
2. 因仍旧支援AWE API,所以使用AWE API的32bit软体也一样可以顺利执行
3. 64bit的软体可以放在高于4G定址空间的实体记忆体空间执行,且无需使用特别的API就可以使用高达8TB的虚拟记忆体

另外再容我解释一下装了在32bit OS下装了4GB的RAM却只能使用3.xGB的空间问题
这问题只要是有写过驱动程式的人都知道是怎么回事。对没写过driver的网友我会尽量讲得简单一些。
简单的说,要操作各式周边硬体(很多,但不是全部),就是针对特定位址线做读写动作,不只是x86,连ARM、MIPS等各种CPU也是使用这方式来控制各式周边,且看来也是目前的唯一解。
今日刚好这些位址线和记忆体定址空间盖到了,所以就只好牺牲掉该区的记忆体定址空间来换取可操作硬体的的能力。
为此Intel才提出了memory remapping的解决方案,原理很简单,大致上就如同字面所述,Intel那边也有资料可看。问题是在接下来的软体需求
为了要能使用超过4G定址空间,在32bit OS下就得使用PAE去定址和使用该块实体记忆体,然后接下来就回到最上面劣者总结出的32bit软体的限制。
今日为什么有人在x86 XP/Vista下开了memory remapping后反而可用记忆减少?因为该块实体记忆已经被remapping到超过4G定址空间,算是给PAE控管区,但是OS又限死在4GB,所以remapping后的记忆体就这样消失在空气中了"

http://www.nulung.com/d-3wt0.html
INT 15h, AX=E820h - Query System Address Map

http://www.biosren.com/thread-1257-1-1.html
INT15中断E820
(real-mode, DOS or boot sector)

memtest86+ => memory mapping table
2010-9-29 17:57
0
雪    币: 172
活跃值: (573)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢大家,貌似问题解决了一些,可还是有不明白的地方
第一个问题还是没搞懂,我知道那3.25G是XP总共能识别的内存,但问题是这些内存都是什么?是内存加显存等总共这么大还是就是内存这么大?
第二个问题大约明白了,可是我的显卡那里显示了三个“内存范围”,两个“输入/输出范围”让我有点困惑
#4的同学的东西看得我晕头转向的
2010-9-29 18:54
0
雪    币: 2109
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
http://www.longene.org/forum/viewtopic.php?f=8&t=559&p=3498
Windows物理内存的故事

Linux兼容内核论坛
# 论坛首页 ‹ Windows研讨区 ‹ Windows NT

http://www.longene.org/forum/viewtopic.php?f=8&t=1166
Windows NT Memory Page Map

http://www.longene.org/forum/viewtopic.php?f=8&t=459
Map Physical Memory warning

http://www.longene.org/forum/viewtopic.php?f=8&t=5
RING3下通过内存清零结束大部分进程
2010-9-29 19:48
0
雪    币: 2109
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
下列网页都有图, WINCE 的较细(有数字):

WINCE:

http://tech.ddvip.com/2009-04/1238578308113069.html
Wince/Windows Mobile 内存监控程序

http://blog.csdn.net/luocan1986/archive/2009/09/19/4569234.aspx
Windows CE内存管理

http://hi.baidu.com/xylemily/blog/item/df90b6cf0dd9811c01e92839.html
Windows CE虚拟内存模型

http://www.cnblogs.com/wangkewei/archive/2009/07/22/1528892.html
Windows Embedded CE 6.0 Internals (2) Memory

PC:
http://bbs.plmworld.cn/showtree.aspx?topicid=971&forumpage=1&postid=3737
windows内存4GB终极解迷
寻找失落的内存

http://www.haoxiai.net/diannaoweixiu/neicunweixiu/131116.html
如何能让电脑识别4GB以上的大内存
2010-9-29 23:21
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
3.25是win32系统能识别的ram内存,超过3.25G的寻址空间是给pci,等等其他 I/O设备保留的。
就是说,访问3.25G以上的内存地址,系统不会访问到ram中的单元,而是访问到相关的I/O设备去了。
所以,即使有超过3.25G的内存,达到了4G,但系统是无法访问到的,因为访问3.26到4G内存的地址都映射到I/O设备去了。除非开启pae模式。
2010-9-30 10:26
0
雪    币: 172
活跃值: (573)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
额,我差不多明白了,谢谢大家,貌似还有一点是我把16位汇编和32位会编当成一样得了,又仔细看了看书,发现差别很大,想直接操作显存等在windows下是不太现实了。十分感谢大家的帮助
2010-9-30 11:54
0
雪    币: 31
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我来学习一下
2010-9-30 19:31
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
噢!原来32位系统只能认3.25GB内存,如果想认4GB内存,只能选择64位系统,学习了。
2010-10-2 17:10
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我来学习一下
2010-10-4 22:25
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习一下  好久没来了
2010-10-5 16:38
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
请问一下楼主,知道CPU寻址对学习究竟起到怎样的效果?不是非常明白。是为编程考虑吗?
2010-10-5 22:53
0
游客
登录 | 注册 方可回帖
返回
//