"); //-->
ABB G3ESa HENF318736R1 迫使程序存储与数据存储完全分离
G3ESa HENF318736R1计算机程序可以访问一个显式给定的地址——在低级编程中,这通常被称为绝对地址,有时是一个特定的地址,称为指针高级语言中的数据类型。但是一个程序也可以使用相对地址它指定了相对于其他地方的位置(即基址).还有许多更间接的寻址模式。
将逻辑地址映射到物理和虚拟内存也增加了几个层次的间接性;
记忆模型
许多程序员喜欢对内存进行寻址,这样代码空间和数据空间就没有区别了(参见超过),以及物理和虚拟内存(请参见超过)—换句话说,数字相同的指针指的是RAM中完全相同的字节。
G3ESa HENF318736R1然而,许多早期的计算机不支持这样的平面记忆模型—特别是,哈佛建筑机器迫使程序存储与数据存储完全分离。许多现代DSP(如摩托罗拉56000)有三个独立的存储区——程序存储区、系数存储区和数据存储区。一些常用的指令同时从所有三个区域提取数据——更少的存储区域(即使总存储字节数相同)会使这些指令运行更慢。
x86架构中的内存模型
主要文章:x86内存型号
G3ESa HENF318736R1早期的x86处理器使用分段记忆模型基于两个数字组合的地址内存段、和一个抵消在该段中。13365909307雄霸张少民
一些段被隐式地视为代码段,专用于说明,堆片段,或者正常数据片段。虽然用法不同,但这些段没有什么不同内存保护反映了这一点。在……里平面记忆模型所有段(段寄存器)通常都设置为零,只有偏移量是可变的。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。