&&我的电脑是V24.0版本,INTEL(R)CELERON(R)CPUEGHZ, ...
我的电脑是V24.0版本,INTEL(R)CELERON(R)CPUEGHZ,0.99GB的内存物理地址扩展。我的电脑好吗
现在电脑市场价是多少
你的电脑配置还是可以的!能胜任平时的上网、聊天、看电影等普通应用!现在市场上没有这样的配置卖了,你电脑的内存是1G的,2、3年以前的主流配置。现在电脑最大内存是8G(很少,一般也就2G或4G)。铁通的网络速度相对于电信的网络 还是有些慢或者不稳定的!视频卡的原因对于你的情况来看,电脑配置不错,没中毒的话是没什么问题的,应该是网速不稳定造成的!!希望能帮到你!
提问者的感言:谢谢您的解答!
其他回答1条
还可以,只要不玩太大型游戏的游戏就很好…适合普通的家庭用户,价格的话…不加显示器的话,1000多一点吧…当然还得看其它的配置
问答为您推荐
市场价:暂无
网友正在问
||||||||||
Copyright (C) 1999-, All Rights Reserved 版权所有 天极网络2.70GHz 2.00GB的内存物理地址扩展是什么意思,和内存有什么区别吗?
哈哈哈哈_592
2.7GHz是指你的CPU频率,2GB是内存.物理地址扩展是一种CPU的功能,可使32位系统使用4G以上内存,这就可以使计算机通过在内存中而不是在磁盘上保存数据,可提高操纵大量数据的应用程序的性能.和内存没有什么意义上的联系.
为您推荐:
其他类似问题
扫描下载二维码第二章 计算机组成原理习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第二章 计算机组成原理习题
上传于||暂无简介
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢6482人阅读
c/c++(25)
unix/linux(22)
这两天有个问题一直萦绕着,计算机中的物理地址和内存地址,虚地址究竟是怎么回事?地址是怎样分配的呢?
翻了下操作系统课本,恩,晚上回去看看存储器管理,虚拟存储器,磁盘存储器管理这几章。隐约还记得微机原理学的寄存器寻址,现在网上看看,搜集一下待做整理。
昨天看到论坛上有人问,调程序的时候编译器分配的是物理地址还是虚地址(差不多是这意思),看到大家基本回答是说虚地址,操作系统之上的根本就不可能接触物理地址,而且可用的物理地址是相当混乱的,必须由操作系统整理映射。(差不多吧?个人认为应该没错)刚刚搜索的结果有说:程序里指针用的地址都是些虚拟地址,而且其范围完全可以大于你拥有的内存大小。当要执行这些程序段落时,系统首先要把机器码装进内存,这里就有个把虚拟地址映射到物理地址的问题。
在一台计算机中,计算机系统为了唯一的标示一个内存单元,操作系统会给每一个内存单元编上一个绝对的号,计算机系统就通过这个编号来定为每一个内存单元的物理位置,这个编号称为内存的物理地址&。
针对程序编译过程中的地址问题:
汇编器(assembler)只是生成一个需重定位的object文件。这个目标文件需经过链接器(Linker)与相应的库链接起来生成一个可执行的文件。assembler 产生的代码是从 0 开始编址。经过 Lineker 重定位后生成的可执行映象按OS的不同而不同。至于内存中的全局以及静态变量的编址也是需重定位的。局部变量则无需重定位。
汇编生成的,是一些浮动模块和一张符号表。链接器按照这张符号表,把这些模块装配成一个整体。在运行时,系统的装载器做重定位,才真正确定了地址。这个地址还是虚拟地址。系统的存储管理子系统为其分配真正的物理地址。
some additional stuffs:
内存地址对齐(Byte Alignment)
大部分16位和32位的CPU不允许将字或者长字存储到内存中的任意地址. 比如Motorola 68000不允许将16位的字存储到奇数地址中, 将一个16位的字写到奇数地址将引发异常.
实际上, 对于c中的字节组织, 有这样的对齐规则:
单个字节(char)能对齐到任意地址
2字节(short)以2字节边界对齐
4字节(int, long)以4字节边界对齐
不同CPU的对其规则可能不同, 请参考手册.
为什么会有上述的限制呢? 理解了内存组织, 就会清楚了CPU通过地址总线来存取内存中的数据, 32位的CPU的地址总线宽度既为32位置, 标为A[0:31]. 在一个总线周期内, CPU从内存读/写32位. 但是CPU只能在能够被4整除的地址进行内存访问, 这是因为: 32位CPU不使用地址总线的A1和A2. (比如ARM, 它的A[0:1]用于字节选择, 用于逻辑控制, 而不和存储器相连, 存储器连接到A[2:31].) 访问内存的最小单位是字节(byte), A0和A1不使用, 那么对于地址来说, 最低两位是无效的, 所以它只能识别能被4整除的地址了. 在4字节中, 通过A0和A1确定某一个字节.再看看刚才的message结构, 你想想它占了多少字节? 别想当然的以为是10个字节. 实际上它占了12个字节. 不信? 用sizeof(message)看吧. 对于结构体, 编译器会针对起中的元素添加&pad&以满足字节对齐规则. message会被编译器改为下面的形式:struct Message
{&&&&&& char pad1;&&&&&&&&&&&& // Pad to start the long word at a 4 byte boundary&& long message_&&&& char pad2;&&&&&&&&&&&& // Pad to start a short at a 2 byte boundary&& short destination_&& char pad3[4];&&&&&&&&& // Pad to align the complete structure to a 16 byte boundary};
如果不同的编译器采用不同的对齐规则, 对传递message可就麻烦了.
Byte Endian
是指字节在内存中的组织,所以也称它为Byte Ordering. &&
&&&&&&&& 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:
(1) 它的地址是多少?
(2) 它的字节在内存中是如何组织的?
&&&&&&&& 针对第一个问题,有这样的解释:
&&&&&&&& 对于跨越多个字节的对象,一般它所占的字节都是连续的, 它的地址等于它所占字节最低地址.(链表可能是个例外, 但链表的地址可看作链表头的地址).
比如: int x, 它的地址为0x100. 那么它占据了内存中的Ox100, 0x101, 0x102, 0x103这四个字节.
&&&&&&&& 上面只是内存字节组织的一种情况: 多字节对象在内存中的组织有一般有两种约定. 考虑一个W位的整数. 它的各位表达如下:
[Xw-1, Xw-2, ... , X1, X0]
&&&&&&&& 它的MSB (Most Significant Byte, 最高有效字节)为[Xw-1, Xw-2, ... Xw-8]; LSB (Least Significant Byte, 最低有效字节)为 [X7, X6, ..., X0]. 其余的字节位于MSB, LSB之间.
&&&&&&&& LSB和MSB谁位于内存的最低地址, 即谁代表该对象的地址? 这就引出了大端(Big Endian)与小端(Little Endian)的问题。
&&&&&&&& 如果LSB在MSB前面, 既LSB是低地址, 则该机器是小端; 反之则是大端. DEC (Digital Equipment Corporation, 现在是Compaq公司的一部分)和Intel的机器一般采用小端. IBM, Motorola, Sun的机器一般采用大端. 当然, 这不代表所有情况. 有的CPU即能工作于小端, 又能工作于大端, 比如ARM, PowerPC, Alpha. 具体情形参考处理器手册.
&&&&&&&& 举个例子来说名大小端:&& 比如一个int x, 地址为0x100, 它的值为0x1234567. 则它所占据的0x100, 0x101, 0x102, 0x103地址组织如下图:
&&&&&&&& 0x的MSB为0x01, LSB为0x67. 0x01在低地址(或理解为&MSB出现在LSB前面,因为这里讨论的地址都是递增的), 则为大端; 0x67在低地址则为小端.
认清这样一个事实: C中的数据类型都是从内存的低地址向高地址扩展,取址运算&&&都是取低地址.
在C++中,内存被分为五个块: 堆,栈,自由存储区,全局/静态变量区和常量存储区.
栈: 是编译器在需要的时候分配,在不需要的时候自动清除的一块区域.通常用来存储局部变量,形式参数.
堆: 一般是由new分配的区域,编译器不会去管这块存储区域,主要是由程序员控制,一个new对应一个delete.如果用new分配了一块内存而没有进行释放的话,只有等到进程结束的时候被系统自动收回.
自由存储区:& 由malloc分配的区域,和堆十分相似,不同的地方是它的释放用free.
全局/静态变量区: 用来存储全局变量和静态变量.
常量存储区: 这是一块很特殊的区域,不允许程序员修改里边的量。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:213576次
积分:3063
积分:3063
排名:第8508名
原创:82篇
转载:49篇
评论:46条
(1)(4)(1)(1)(1)(3)(2)(1)(2)(2)(1)(2)(1)(2)(2)(6)(3)(5)(5)(3)(8)(15)(15)(7)(1)(13)(1)(13)(7)(2)(3)