一直有个疑问,为什么Windows设备管理器里面没有“内存”这个设备?
为什么Windows设备管理器里面没有“内存”这个设备?
- 9 个点赞 👍
其实是有的,只是换了一个你不认识的样子,所以你不知道而已。
这是个挺有意思的问题,你可以想一下,Windows设备管理器是用来干嘛的呢?
其实Windows设备管理器是古早遗留的一个产物了,当初电脑系统还没有如今这么厉害,很多设备是需要专门去使用对应软盘安装驱动才能进行链接,让设备识别和使用的。
Windows 系统当年做了一个很厉害的事情,那就是集成了很多设备驱动,于是很多相关的设备,直接只需要插入Windows电脑就能用了。
这些设备呢,就通过Windows设备管理器来管控,提供统一的Windows驱动包管理模式,并且提供统一的设备属性模型。
所以说,需要依赖于驱动程序链接的设备,都会出现到这里。
那么,为什么Windows设备管理器里面没有“内存”这个设备呢?
因为,目前全部 Windows 系统内存的通信,都是通过CPU直接寻址存储器的原理来实现的,系统吧“内存”这种 DRAM 存储器是当作自身硬件来使用的。
内存是按照标准规格和协议设计与制造的,比如 DDR4, DDR5,主板直接就有相关内存支持的实现,而且内存设计也是设计成即插即用设备,操作系统启动自检的时候就一个所依赖的必须硬件,在操作系统层面,就已经完全支持读写内存所需要的程序了,所以不需要额外的驱动程序,自然也就没有必要当作一个外来设备,专门做一个模型类,放到设备管理器里做设备集成统一管理和驱动管理了。
所以说,内存本质上就是主板的一系列的寻址空间,CPU通过寻址来找到这个存储单元,也就是一个主板的母版资源。
另外,设备管理器里出现CPU,主要原因是因为CPU不像内存那么单纯,只是负责存储读写。
CPU,由制造商提供了一些额外的模块,实现一些自定义的监控或者信号输出,比如电源管理模块,它不是驱动,但是它可以进设备管理器,假装是一个驱动的样子。
这里的 intelppm.sys 不是驱动,是 Intel Processor Power Management
前面说了,设备管理器里也是能找得到内存的,在哪里呢?
打开设备管理器,按类型查看资源,你就能看见作为母版资源的内存了。
而且还能直接看见前面中括号包起来的内存地址。
CPU 和内存是过BIOS统一接口处理的,微软专门对接好x86下的一致的接口就可以了,不需要暴露出去用驱动程序。
假如哪天,我们的计算机结构发生了变化,不再是冯诺依曼机,存储单元和计算单元用了另外的方式重新组织,并且不再是作为寻址空间的母版资源,或许设备管理器,又会有新的组织方式了吧?
到时候,或许就会有 "内存”这种单独的类目了。
至少现阶段,按照咱发展的计算机底层架构,以及Windows系统的组织方式来说,大概率不会有。
发布于 2024-03-19 18:07・IP 属地广东查看全文>>
维生素P - 2 个点赞 👍
因为内存和其他硬件不一样,是必须集成在计算机中的,因为冯诺依曼体系结构中“存储器”是必须要有的,而“内存”正是其中的核心部件。
实际上你的计算机可以没有外存,但是内存没有的话,你连开机都开不了。这里要说明一点,这里所说的“内存”包括RAM ROM Cache等可以直接和CPU通信的存储器,只不过,我们平常所说的“内存”多数指的是RAM而已。RAM作为最常见的内部存储器,主要任务是存储正在运行的程序及数据,特点是一旦断电数据就消失。ROM主要用来存储一些计算机最基本的固件数据,例如BIOS固件等,特点是断电数据也不会丢失,非特殊情况下不允许写入,一般都是厂商提前烧录好的。Cache和RAM工作原理类似,主要用来解决CPU和ROM速度异步的问题,是内存中速度最快的。一般Cache会集成在成品CPU或SoC中。这三样缺一不可,因为操作系统或软件的运行需要从外置存储调入内存中才能运行,内存需要借助Cache解决异步问题,而计算机的启动还需要先启动ROM芯片中的固件,借助固件才能引导操作系统,这足以体现了内存的重要性。你可以说某个硬件不支持某个操作系统,但是内存三大件没有任何一个操作系统不支持,所以也就没必要再设备管理器中显示“内存”设备了。
如果硬要说内存设备在哪,那你只需要知道这是“基于ACPI x64/x86/ARM的电脑”的一部分就是了。
这里顺带再补充一个内容:
可能会有人说,CPU也是必要的硬件啊,为何在设备管理器中能显示?
这是因为CPU虽然也是整个计算机的基础,没有CPU照样开不了机,但也不排除CPU集成了其他的特性,需要通过驱动进行补充,这也是很正常的事。
而且在设备管理器显示CPU信息还有一个好处,那就是更方便地查询是否为多核处理器,以及核心的数量。(其实更准确点说是线程数量)
发布于 2024-03-19 14:57・IP 属地辽宁查看全文>>
xc198 - 2 个点赞 👍
你们家户型图会把门、窗、阳台、衣柜标记出来,更细节一点的话甚至会把冰箱、彩电、洗衣机也标记出来对吧?
好的,现在请把你家里餐边柜第2层第3格的空间容积通过户型图展现出来
“可以是可以,但没必要啊”
发布于 2024-03-19 12:31・IP 属地上海查看全文>>
NKBJ - 1 个点赞 👍
查看全文>>
阿财 - 0 个点赞 👍
cpu也是有驱动程序文件的,但是ppm的名字看起来更像是电源管理相关的驱动,也许就是睿频、省电等功能。
内存控制器的性能,至少在之前威盛还活跃的年代,有没有四合一驱动、驱动的版本是有影响的。
内存不是一个“设备”,而是“资源”,内存似乎对应了主板的“母板资源”各个项(win11的蹩脚中文,以前直接写motherboard resources)。除了真正的内存,还有设备也映射在内存空间中。
发布于 2024-03-19 12:16・IP 属地山西查看全文>>
halalia - 0 个点赞 👍
我个人推测,直接原因是因为ACPI DSDT中没有定义内存设备。
为什么这么说,因为在设备管理器菜单里选择按连接列出,里面硬件的树形结构基本都能和DSDT或SSDT中的定义对上。按照这个理论来说,设备管理器里有CPU也能解释得通,因为SSDT中就定义了CPU设备。
那没有内存的理由就很简单了,因为DSDT中没有定义内存设备。
至于为什么DSDT中不定义内存设备,以及上述说法是否正确,那就要请专业人士来解答了。
发布于 2024-03-20 06:26・IP 属地广东查看全文>>
Richard Yu - 0 个点赞 👍
查看全文>>
锐冰龙 - 0 个点赞 👍
Windows 设备管理器中没有直接列出“内存”这个设备,主要是因为内存(RAM)在计算机系统中的作用和特性与其他硬件设备有所不同。以下是一些解释为什么内存不会出现在设备管理器中的原因:
- 内存的临时性:内存(Random Access Memory,RAM)是计算机的主存储器,用于临时存储正在运行的程序和数据。与硬盘驱动器等永久存储设备不同,内存中的数据在断电后会丢失。因此,内存更像是一个临时工作区,而不是一个持久的设备。
- 内存的抽象性:内存在操作系统中通常被抽象为一个连续的地址空间,而不是一个具体的设备。操作系统通过内存管理单元(MMU)来管理内存的分配和访问,而不是直接与内存硬件交互。
- 内存的统一性:内存条(RAM条)通常被设计为可以无缝集成到计算机的内存系统中,操作系统识别的是整个内存空间,而不是单独的内存条。因此,设备管理器没有必要单独列出每个内存条。
- 管理的简化:设备管理器主要用于管理那些需要驱动程序支持的硬件设备,如显卡、声卡、网络适配器等。内存作为计算机的基本组成部分,其管理和配置通常由操作系统自动处理,无需用户通过设备管理器进行干预。
- 硬件的直接管理:内存的安装和配置通常由计算机的BIOS/UEFI固件在启动时进行,而不是由操作系统的设备管理器来管理。用户可以通过BIOS/UEFI设置来查看和调整内存的配置,如内存频率、时序等。
如果你需要查看内存的详细信息,可以通过Windows的“任务管理器”或者使用第三方软件如CPU-Z等来获取。这些工具可以提供内存的使用情况、速度、时序等详细信息。
发布于 2024-03-20 00:42・IP 属地贵州查看全文>>
知乎用户 - 0 个点赞 👍
查看全文>>
Slymitec