我可以很容易地理解 .bss 和代码如何在处理器中具有物理表示,该处理器具有用于程序计数器可以计数的指令的内存库,而 bss(块起始符号)只是全局数据。但是还有用于局部变量的堆栈和用于动态内存的堆。这些东西是如何物理地放在电路上的?
堆和栈的物理表示是什么?
电器工程
编程
中央处理器
2022-01-12 07:48:21
2个回答
从逻辑上讲,堆栈和堆通常只是内存;不过,在实现级别上,它们有望主要从缓存中提供服务。在大多数系统中,它们通过缓存算法动态地到达那里,但是有些系统支持在缓存或其他比通常更快的内存中的显式位置,并且可能还有那些支持留下特定数据应该优先放置在那里的提示的系统空间许可。
希望低级软件和编译器代码生成器的设计考虑到数据访问的组织,这可能会导致良好的缓存利用率,而不是不断的缓存未命中。
一些处理器有一个返回地址寄存器,它用作一种单深的显式堆栈缓存(可能也有一些具有几个深硬件堆栈的处理器,尽管没有想到示例)。
其它你可能感兴趣的问题