【问题标题】:How to improve performance of PC, upgrade processor, memory or clock speed? [closed]如何提高 PC 性能、升级处理器、内存或时钟速度? [关闭]
【发布时间】:2017-05-22 22:43:35
【问题描述】:
PC 有一个微处理器,每微秒处理 16 条指令。每条指令的长度为 64 位。它的内存可以检索或存储
以每微秒 32 位的速率传输数据/指令。
提及升级系统性能的 3 个选项。哪个选项的性能提升最大?
提供的答案是
a) 将处理器升级为速度加倍的处理器
b) 以两倍的速度升级内存
c) 双倍时钟速度
(b) 提供了最大的改进性能。
克服PC的瓶颈可以提高综合性能。
但是,我的问题是我不确定为什么 b 提供了最大的改进性能。此外, a 和 c 会提供相同的性能吗?它会提供相同的性能吗?可以计算吗?我不确定这些不同的部分将如何影响性能。
【问题讨论】:
标签:
performance
memory
clock
processor
【解决方案1】:
您问题的开头段落包含必要的数字,以了解它为什么是 b):
CPU 的处理速度固定为每微秒 16 条指令。因此,一条指令的执行时间不到一微秒。
每条指令的长度为 64 位,但内存系统以每微秒 32 位的速度检索数据。因此检索一条指令(即 64 位)需要 2 微秒。
瓶颈很明显:检索一条指令所需的时间(2μs)比执行它的时间(1/16thμs)要长。
如果你提高 CPU 速度(答案 a)),CPU 会更快地执行一条指令,但它仍然会等待至少 2μs 空闲等待下一条指令到达,所以改进是浪费的。
要消除瓶颈,您需要提高内存系统的速度以匹配 CPU 的执行速度,因此内存需要在 1/16μs 内读取 64 位(或在 1/32μs 内读取 32 位)。
我假设答案 c) 是指提高某些系统范围的主时钟的速度,这也会提高 CPU 和内存数据速率。这会提高性能,但 CPU 仍会受制于内存速度。
请注意,您的问题描述了一台简单的计算机。计算机最初就是这样,CPU 直接逐条指令访问内存。然而,随着 CPU 变得更快,内存却没有——因此计算机工程师增加了缓存级别:这是更快的内存(但容量要小得多),其中指令(和数据内存)的读取速度与 CPU 执行它们的速度一样快,解决了无需使所有系统内存都与 CPU 的速度相匹配的瓶颈。