64 位处理器处理多少字节?

com*_*der 0 cpu 64-bit 32-bit

这是来自面试问题 - http://www.glassdoor.com/Interview/Yelp-Software-Engineering-Intern-Interview-Questions-EI_IE43314.0,4_KO5,32_IP4.htm

“只有一种方法可以回答,例如 64 位处理器处理的字节数和 Linux 的终止信号”

Linux 的终止信号很容易找到。我刚刚进行了快速谷歌搜索,找到了这篇文章。http://www.maketecheasier.com/kill-command-in-linux/

我对“64 位处理器处理的字节数”部分感到困惑。一篇文章(http://blog.boson.com/bid/87673/A-Few-Bytes-About-32-bit-vs-64-bit-Processing)指出“事实上,64 位处理器理论上可以一次最多处理 18,446,744,073,709,551,616 字节或 16 艾字节 (EB)。” 另一篇文章(http://mindprod.com/bgloss/sixtyfourbit.html)更直观,指出“在 Athlon、Itanium 和 Opteron 等 64 位 CPU(中央处理单元)中,程序处理信息 64一次位(或 8 个字节)”。这对我来说很有意义,因为 64 位是 8 个字节(每字节 8 位)

两篇文章中的一次是否都意味着纳秒?米利秒?从这两篇文章中,面试官期望得到什么答案?他/她是否会期望一次 8 个字节的答案以及更大的东西?

Jon*_*ews 5

基本上,你的第一个参考资料是错误的,你的第二个参考资料是正确的,但他们没有给出完整的图片。

这是(我希望)更完整、更准确的 CPU/内存基础知识图:

64 位处理器具有 64 位内部“总线”。这实际上是 64 根电线,每根电线都可以在任何给定时间传递高电压或低电压(1 或 0)。这允许做几件事,包括:

1) 64 位(8 字节)数据可以在任何给定时间“流”过总线。每次 CPU“时钟”滴答时,该数据都会通过总线“推送”。如果您好奇的话,CPU“时钟”通常是一个内部晶体,在充电时会振动(“振荡”)。密切晶体产生电子“波”,然后将其转变为刚性的“切换”波形。这是处理器的心跳,每个心跳都会通过总线“推送”数据(简单地说)。例如,1Ghz、64位CPU每秒可以“推送”10亿次数据,并且每次推送64位。因此,它的处理能力或“带宽”为 640 亿位/秒或 8 Gb/s“带宽”。

2) 由于有 64 条二进制线,因此总线可以产生 2^64 种可能的值。由于这些值可以引用内存“地址”,因此 64 位处理器能够指向最多 2^64 个内存位置,每个内存位置 1 字节长。这是巨大的... 185 亿 GB 的 RAM... 这对于地球上的每个人来说都是 2 GB 的 RAM... 在一台计算机中。但作为一个更好的示例,请考虑 32 位 CPU,它最多可以引用 2^32 内存地址 (RAM)。同样,每个 RAM“地址”通常为 1 字节(8 位),因此这是 2^32 字节(4GB)的 RAM。这就是为什么任何具有 32 位处理器或 32 位 Windows 的计算机都限制使用 4GB RAM。即使安装了更多 RAM,系统也只能使用 4GB。此外,运行 32 位 Windows 的 64 位 CPU 仍然限制为 4GB RAM,因为 Windows 软件的设计目的不是连接到超过 4GB (2^32) 的内存“地址”。

注意:请记住,随着三态位、多核处理器、光纤等技术的添加,这些基本计算变得更加复杂。

资料来源:2010 年获得普渡大学 (IUPUI) 计算机/电气工程理学学士学位,过去 8 年一直从事数据/IT/分析工作。我也是一名游戏 PC 构建者/爱好者,以及 AnadTech/TomsHardawre 文章迷:)

问候, - 乔纳森·马修斯