Riscv RISC-V ISA中是否存在阻止堆栈增长而不是下降的假设?

Riscv RISC-V ISA中是否存在阻止堆栈增长而不是下降的假设?,riscv,Riscv,我想知道ISA中的任何内容是否会使堆栈增长(推送增加sp,pop降低sp)的性能降低,或者在其他方面不可取?我知道这不是当今工具的工作方式,包括linux和gcc端口,但除了“这将是一个疯狂的工作量”之外,还有什么根本原因吗?可能很容易在微码中翻转一点来添加而不是从sp中减去 我能想到的基本原因是 惯性。当需要对每个工具链进行更改时,为什么要这样做 安装基数。许多代码可能会假设堆栈的增长方向。您需要一个很好的理由来破坏现有代码 复杂性。随着堆中的分配向更高的地址增长,您是否也希望扭转这种局面,

我想知道ISA中的任何内容是否会使堆栈增长(推送增加sp,pop降低sp)的性能降低,或者在其他方面不可取?我知道这不是当今工具的工作方式,包括linux和gcc端口,但除了“这将是一个疯狂的工作量”之外,还有什么根本原因吗?

可能很容易在微码中翻转一点来添加而不是从sp中减去

我能想到的基本原因是

  • 惯性。当需要对每个工具链进行更改时,为什么要这样做
  • 安装基数。许多代码可能会假设堆栈的增长方向。您需要一个很好的理由来破坏现有代码
  • 复杂性。随着堆中的分配向更高的地址增长,您是否也希望扭转这种局面,以保持堆和堆栈朝着彼此的方向增长