现代的通用处理器可能具备多种寻址模式(例如,CISC),也可能只有少数几种寻址模式(例如,RISC处理器)。CISC处理器能支持的寻址模式包括直接寻址、寄存器或内存问接寻址、间接变址寻址、带偏移量的间接寻址和带偏移量的间接变址寻址,而且变址模式可能还支持前/后增量或减量变址。从历史上看,使用更复杂的寻址模式可得到更高的代码熵,这将带来两个好处:,汇编程序员的生产率提高;第二,得到的目标代码更加紧凑。但也存在很多因素导致CISC处理器复杂寻址模式特征的消失。首先是硬件成本与软件开发成本在经济上的比重发生变化。数十年前,软件开发成本较低,而主要投资在于硬件。应用程序一般由手工完成的汇编代码实现。如今,与软件开发成本相比,硬件显得并不昂贵。而且,目前市场投放时间上的压力也在改变着原来的局势。因而,大多数应用都在使用语言进行编程。
还有一种与上述理由相关的观点:已经证明能够充分利用复杂寻址模式及非正交指令集优势的编译器是难以实现的。对通用计算机中复杂寻址模式的另一个打击是这种模式可能导致流水线延迟,因为复杂寻址模式使得数据依存关系变得复杂。近已有更优化的CISC出现,即便没有复杂寻址模式,它岜能获得较优的性能。回避复杂寻址模式促进了载人-存储体系的运用,这使得功能单元可以尤延迟地接受流水线事务,因为数据依存关系仅与内存中存储的数据相关。转向寄存器问接载入-存储结构之后,所有的复杂寻址操作均可用软件完成,因而在规划指令事务时可以有更大的灵活性。寄存器间接裁入-存储结构可将若十简单指令组合成更复杂的“寻址模式”。编译器可以根据临近指令对处理器资源调度的影响自由地对指令进行静态组织。处理器也能在可用资源和数据依存关系的约束下选择重新安排这些简单指令的执行顺序。与之相反,传统CISC中每个指令的微操作是在各指令对应的微程序中静态规划好的。
DSP应用经常需要以取模寻址或位翻转寻址的方式对数纽进行非连续的访问。这些寻址模式在通用RISC或CISC处理器中并不容易实现。为使性能化,明智的做法是在数字信号处理器中为这些寻址模式增加专门的硬件支持。所需的寻址模式总结如下:
①地址寄存器间接寻址。
②带单位步长和非单位步长按模变址的地址寄存器间接寻址。
③带位翻转变址的地址寄存器间接寻址。
现有的DSP结构都是单线程的,因而除专门说明的一些特殊模式外,地址寄存器文件和运算单元与通用结构是类似的。为支持多线程,需要对硬件和软件机制重新定义,使之支持为多个功能单元同时进行地址生成。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。