【发布时间】:2012-07-30 13:32:42
【问题描述】:
我知道在我个人熟悉的架构(x86、6502 等)中,堆栈通常会向下增长(即,压入堆栈的每个项目都会导致 SP 递减,而不是递增)。
我想知道这其中的历史原因。我知道在统一的地址空间中,在数据段的另一端(比如说)开始堆栈很方便,所以如果两侧在中间发生冲突,就会出现问题。但是为什么堆栈传统上会获得顶部?特别是考虑到这与“概念”模型有何不同?
(请注意,在 6502 架构中,堆栈也会向下增长,即使它被限制为单个 256 字节的页面,而且这个方向选择似乎是任意的。)
【问题讨论】:
标签: architecture stack history