计算机组成原理 -- 指令系统(二)

本文详细介绍了存储器的多种寻址方式,包括顺序和跳跃指令寻址,以及操作数的有效地址形成方法。深入探讨了隐含地址、立即寻址、直接寻址等基本寻址方式的特点与限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储器既可用来存放数据,又可用来存放指令。

         
顺序指令寻址方式:指令在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的顺序执行。
跳跃指令寻址方式:程序采用转移执行的顺序,也就是执行的下一条指令的地址码是由该指令给出,而不是程序计数器。  

           


形成操作数的有效地址的方法,称为操作数的寻址方式。

                                                     
形式地址A也称作偏移地址,它是指令字结构中给定的地址量。
寻址方式特征位,此处有间址位和变址位组成。
如果指令无间址和变址的要求,则形式地址就是操作数的有效地址。如果指定中指明变址或间址变换,那么形式地址就不是操作数的有效地址,而要经过指定方式的变换,才能形成有效地址。

基本寻址方式
方式算法主要优点主要缺点
隐含地址操作数在专用寄存器无存储器访问数据范围有限
立即寻址操作数 = A无存储器访问操作数赋值有限
直接寻址EA = A简单地址范围有限
间接寻址EA = (A)大的地址范围多重存储器访问
寄存器寻址EA = R无存储器访问地址范围有限
寄存器间接寻址EA = (R)大的地址范围额外存储访问
偏移寻址EA = A+ (R)灵活复杂
段寻址EA = A + (R)灵活复杂
堆栈寻址EA = 栈顶无存储器访问应用有限

隐含寻址:是指不明显地给出操作数的地址,而是在指令中隐藏着操作数的地址。
立即寻址:是指指令的地址字段指出的不是操作数的地址而是操作数本身。

                                          
直接寻址:是指在指令的地址字段中直接指出操作数在内存中的地址。
间接寻址:间接寻址是相对于直接寻址而言的,在间接寻址的情况下,指令地址字段中的形式地址A不是操作数D的真正地址,而是操作数地址的指示器。在间接寻址的情况下,由于特征位给予指示。

                                                   
若须知特征位I=0,表示直接寻址,这时有效地址EA=A;若I=1,则表示间接寻址,这时的有效地址EA=(A)

                                   
寄存器寻址:是指操作数不在内存中,而是放在CPU的通用寄存器中时,采用的寄存器寻址方式。
寄存器间接寻址:是指指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明操作内存中的地址。

                                        
偏移寻址:有效地址计算公式: EA = A + (R) 要求指令中包含两个有两个地址段,至少有一个是显示的,容纳在一个地址字段中的形式地址A直接被使用;另一个地址地段,或基于操作码的一个隐含引用,指的是某个专用寄存器。

                                 
段寻址方式(实质为基址寻址):给定一个20位的地址,就会有2^20=1MB的存储空间的直接寻址能力,为此将1MB空间存储器以64KB为单位划分为若干段,寻址时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。

                                                          
堆栈寻址:堆栈有寄存器堆栈和存储器堆栈两种形式,都是先进后出的原理存储数据,不论是寄存器堆栈还是存储器堆栈,数据的存取都与栈顶地址打交道,为此需要一个隐式或是显示的堆栈指示器。

                                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值