51的栈是向高地址增长INTEL8031803280488051系列使用向高地址增长的堆栈;但同样是INTEL在x86系列中全部使用向低地址增长的堆栈其他公司的CPU中除ARM的结构提供向高地址增长的堆栈选项外,多数都是使用向低地址增长的堆栈。

 

在没有MMU的时代,为了最大的利用内存空间,堆和栈被设计为从两端相向生长。那么哪一个向上,哪一个向下呢?
  人们对数据访问是习惯于向上的,比如你在堆中new一个数组,是习惯于把低元素放到低地址,把高位放到高地址,所以堆向上生长比较符合习惯。而栈则对方向不敏感,一般对栈的操作只有PUSH和pop,无所谓向上向下,所以就把堆放在了低端,把栈放在了高端。MMU出来后就无所谓了,只不过也没必要改了。

相关文章:

  • 2021-08-09
  • 2021-07-09
  • 2022-12-23
  • 2022-12-23
  • 2021-08-18
  • 2022-01-03
  • 2021-07-05
  • 2021-08-03
猜你喜欢
  • 2022-12-23
  • 2021-08-27
  • 2022-12-23
  • 2021-08-18
  • 2022-12-23
  • 2022-12-23
  • 2021-09-28
相关资源
相似解决方案