实现程序浮动的地址转换机制主要有以下几种:
基址寻址:
通过基址寻址方式,可以实现程序的浮动,即将程序装入存储器中的任何位置。基址寻址使有效地址按基址寄存器的内容实现有规律的变化,而不会改变指令本身。
动态重定位:
动态重定位是在程序运行过程中,要访问数据时再进行逻辑地址与物理地址的变换。这种方式适用于程序放在不连续的实际物理空间中,通过逻辑地址到物理地址的转换,实现动态重定位。动态重定位一般需要段页式存储管理,其中页表记录了所有逻辑地址到物理地址的转换信息。
因此,基址寻址和动态重定位是支持程序浮动的两种主要地址转换机制。