32位系统如何支持4g内存?

卓小瑜卓小瑜最佳答案最佳答案

先扯两句别的 提到64位系统,总会有人提X64平台是64位的,其实是不正确的。x64平台既不是32位也不是64位,而是基于PC平台的64位CPU架构。当然,在理论上可以运行64位操作系统。

再来讲讲这个问题 为什么要提Intel的睿频加速技术? 因为这项技术在提高单线程性能的同时,会损失多线程性能(因为需要为单个核心提供更高的功率,所以多线程性能会被迫下降)。在使用该功能时,必须折中选择,获得足够的多线程性能和最高的单线程性能。 那为什么还要提三通道内存呢? 因为虽然处理器有8个核心,但每个核心只有一个物理地址空间(也就是一次只能对4G的内存进行操作)。如果使用三通道内存,那么在每一个核心看来,物理内存是被分割成4块各2G的,这样就使得每个核心能够分别对待自己的2G数据而不互相干扰。

回到主题 为什么32位操作系统能识别4G内存 而64位操作系统却需要三通道内存支持才能发挥全部性能? 因为32位操作系统下,每个核心都可以直接访问整个4G的物理内存(虽然实际每个核心只用到一个线程的缓存,但不会出现某个核心抢了另一个核心的内存而造成的瓶颈);而在64位操作系统下,由于虚拟内存的存在,逻辑上的内存容量是可以超过4G的,但是由于实体内存是连续的(被分为若干片段的情况是由于硬件实现的原因,见上题答案),所以从内核来看,内存仍然是被分隔开的,每个核心仍然只能看到自身需要的那么一部分内存(比如两个核心都会各自看到半张磁盘的大小,但由于系统内存大于系统容量/2,所以并不会造成瓶颈)。而由于三通道内存解决了多个内核之间对内存的争用问题,所以在这种设置下,各个内核都能够得到最大程度的优化,性能能够发挥到极致。

发表评论
请发表正能量的言论,文明评论!