有一个可怕的术语叫做“字长”,它真的很模棱两可......并且可能会在某种程度上解决你的问题......“字长”是指数据总线的大小,还是 CPU 寄存器的大小,谁知道......但是如果它指的是数据总线,那么你很幸运,如果它指的是 cpu 通用寄存器大小,那么它们可能与数据总线大小相差不远。
现代处理器,包括嵌入式系统,通常具有 8、16、24、32 或 64 位的字长
我过去有过类似的问题,找到答案并不容易,但希望这些信息对您的探索有所帮助。
很多时候,信息只在域中给出。在实际情况下,设计 CPU 的人知道真相,而其他人则得到某种“工作模型”。(例如,技术人员通常对 Web 服务器有基本的误解,如果他们有机会编写一个程序,他们只会发现他们拥有)。CPU 制造商可能会制作一些“白皮书”或有关它的大量细节,但可能需要强大的电子背景才能真正理解。
该 CPU 可以寻址 64 GiB。64 位双通道,36 条地址线。但是:Razer Blade 15 限制为 32 GiB。
DDR4-2666 或 LPDDR3-2133。64 位宽 = 8 字节(3 位地址)
回答
因此,要寻址 32 GiB 或 4GiW 千兆字,只需 35-3 位字地址 = 32 位地址即可访问 32 GiB
1word=8bytes=2^3 bytes 所以 CPU 可以寻址 4GiW = 32GiB。(“i”表示字节的二进制版本......像 1024 而不是十进制版本 1000 是千)
x64 指的是 64 位架构。相当令人困惑的是,x86 指的是 32 位系统。
最大地址空间通过简单地提高 2^n 来计算,例如对于 32 位,它是 2^32 = 4294967296(4 GB)。
对于 64 位,可能的地址空间相当大
2^64 = 1.8446744e+19
所以你不会在现实世界中找到一个实际的实现。您可以购买的实际系统不需要利用全部可能的地址空间,并且(目前)主板上的最大内存量为 512Gb,例如https://www.mwave.com.au/motherboards /服务器-工作站-主板
为了补充一些人所说的,“我怎样才能找到我的计算机的地址总线宽度和数据总线大小?”这个问题的整个性质。告诉我它来自旧的计算机科学教科书。我不知道它在多大程度上适用于过去 20 年的现代系统或系统。
有些回答的人不熟悉问题的来源,所以我会解决这个问题。为了直接解决您的问题,尽管我只能说我不确定数据总线和地址总线的概念在多大程度上适用..它必须以某种方式适用您可以查找“字长”,这是一个非常模棱两可的术语我在最后提到了一点。
对于那些不理解这个问题的人,这个问题假设了一个模型,其中你有一条内存总线、一条数据总线和一条控制总线。
CPU<---地址总线--------->主存(RAM) CPU<---数据总线------------>主存(RAM)
而且我不记得控制总线和 IO 是如何发挥作用的,足以制作我自己的图表,但这里有一张我自己的图片,但这里有一张图片.. 90 年代后期的一本书可能有这个,可能在早期2000 年代,甚至可能是 2010 年以后......现在是 2020 年......但这看起来像是你的问题来自哪里......我在 90 年代末、2000 年代初看到的信息......这可能仍然存在/仍在教授。即使在 90 年代后期也是老派。
和这里
这是否仍然适用于现代建筑,可能不是。
和
这里提到了哈佛模型和冯诺依曼架构https://www.polytechnichub.com/difference-harvard-architecture-von-neumann-architecture/
你可以有 DMA https://tspradeepkumar.wordpress.com/2008/07/15/direct-memory-access/
如果我更博学一点,我可以向您展示这些架构是如何演变成我们今天所拥有的!然后识别地址总线和数据总线,或它们的等价物!那真的是如何回答这个问题并很好地回答它。我只能说现代系统可能比那种架构更复杂。
有一个可怕的术语叫做“字长”,它真的很模棱两可......并且可能会在某种程度上解决你的问题......“字长”是指数据总线的大小,还是 CPU 寄存器的大小,谁知道......但是如果它指的是数据总线,那么你很幸运,如果它指的是 cpu 通用寄存器大小,那么它们可能与数据总线大小相差不远。
现代处理器,包括嵌入式系统,通常具有 8、16、24、32 或 64 位的字长
我过去有过类似的问题,找到答案并不容易,但希望这些信息对您的探索有所帮助。
很多时候,信息只在域中给出。在实际情况下,设计 CPU 的人知道真相,而其他人则得到某种“工作模型”。(例如,技术人员通常对 Web 服务器有基本的误解,如果他们有机会编写一个程序,他们只会发现他们拥有)。CPU 制造商可能会制作一些“白皮书”或有关它的大量细节,但可能需要强大的电子背景才能真正理解。
计算机科学教科书中的内容与现代建筑的真相是什么之间存在一种脱节,我还没有在一本书中看到过这种桥梁,尽管那是几年前我看的时候。当人们更详细地谈论这些事情时,他们会举出Intel 8086和Intel 8088的例子!(来自 1970 年代后期) https://en.wikipedia.org/wiki/Intel_8088 “8088 有一个 8 位外部数据总线,而不是 8086 的 16 位总线”
地址总线
目前还没有任何 x86-64 系统具有 64 位地址总线。
查找您的地址总线大小类型。
在 Debian Gnu/Linux 上测试。
我明白了
这表示
CPU 之外的物理内存可能还有其他限制:RAM 插槽的数量、每个插槽的容量……
数据总线
x86-64 的数据总线的逻辑宽度是 64 位。然而,物理尺寸是制造商选择的。他们可以选择他们想要的任何东西,而不会影响行为。例如,在 32 或 16 位总线上多路复用 64 位,或通过 128 位总线发送两个 64 位值。
所有这一切都被串行总线搞糊涂了。我们通过一位总线发送,但速度非常快(事实证明,使总线更宽,很难,即使对于 2 位宽的总线,也很难使其快速运行)。然后我们添加多通道。我不知道细节,但在这方面看到了很多好的资源。