哪个更快更实用?累加器,寄存器还是堆栈?
答案 0 :(得分:4)
寄存器是最快的。累加器也是一个寄存器,其中存储了中间算术和逻辑结果(来自Wikipedia的信息)。
堆栈会慢一些,因为它是一个内存区域,内存总是比寄存器慢。
但是,由于CPU存储成本非常高,因此总是会有比寄存器更多的可用内存。
底线:它们都很有用,它们的速度与它们的可用存储量成反比。
答案 1 :(得分:1)
没有任何关于CPU架构或其他信息的上下文的问题无法以任何有用的方式回答。
通常累加器只是其中一个寄存器 - 现代CPU不再区分,因此对于旧的一个,可能会更快 - 或者实际上是唯一允许您进行某些操作的寄存器。寄存器总是比外部存储器更快,但它们的数量有限(并且它们需要由编译器/ assember明确命名)。
堆栈是用于存储数据的RAM区域。所以这肯定是慢的:)
答案 2 :(得分:1)
Quistion不太正确。 “快速”与操作有关,而不是与寄存器等有关。另一点 - 第一条消息中没有关于CPU架构的内容: - )
根据CPU架构,累加器是一个寄存器,但可以有一个特殊的实现。这样使用accumulate的操作通常比寄存器操作更快。
关于堆栈。某些处理器不支持寄存器寄存器操作(即输入输出处理器)。那种情况下,堆栈上的某些操作可以更快,因为不需要计算有效地址。
答案 3 :(得分:0)
寄存器总是更快,因为它不会将数据存入内存,但会更清楚这种情况。
当您有许多像x64或Arm架构时,寄存器很有用。
答案 4 :(得分:0)
通常,寄存器更快,因为它们实际上是微处理器的一部分。累加器只是寄存器之一(通常存储各种操作结果的寄存器)。
堆栈就像任何其他内存一样,是为跟踪返回地址和局部变量而分配的。
但你不能将寄存器用于所有东西,因为它们的数量非常有限。
如果你解释了为什么要问这些问题,他们可能会更有意义。