CPU的寻址方式(附带软考题讲解)

  背景: 

         理解CPU的内部工作原理是很重要的,在空余时间对CPU的寻址方式进行了一下总结。

         我们知道cpu指令有操作码和地址码构成,操作码指定指令的操作类型,地址码指定指令要处理的数据。两者用逗号隔开,比如,MOV R1,45H

         针对指令的地址码有多种类型,如直接是操作数、操作数在主存中地址、操作数地址的地址等,下面对各类寻址方式进行讲解:

1、立即寻址:

地址码就是操作数,这样的寻址方式不必再次访问主存去取操作数,当然也无须改动操作数(这样的方式获得操作数的速度最快)

2、直接寻址:

指令的地址码就是操作数在主存内的地址,也就是说地址码就是主存内数据的绝对地址,不必做不论什么换算,只要按照地址码去主存中找,但这样的地址方式的不足之处在于寻址范围有限(只在一个存储器中)。

3、间接寻址:

在指令的地址码部分直接给出的既不是操作数(直接给出操作数的是马上寻址),也不是操作数的地址(直接给出操作数地址的是直接寻址),而是操作数的地址的地址。

这样的方式提高了寻址的灵活性。扩大了寻址的范围。可是因为多次访问主存。速度大为减少。

4、寄存器寻址:

地址码的地址不是操作数或地址,而是通用寄存器的编号(可以是8位也可以是16位(AX,BX,CX,DX)),寄存器中存着操作数,如:MOV DS,AX。访问寄存器的速度是很快的,所以使用寄存器寻址有很快的速度。(不足之处在于寄存器的数量有限)

5、寄存器间接寻址:

地址码是寄存器编号,但寄存器中保存的是操作数在主存中的地址(这是与寄存器寻址的区别)。这样既快又有灵活性,是一种广泛使用的寻址方式。

6、基址寻址:

在基址寻址方式中将CPU中的基址寄存器的内容,加上变址寄存器的内容而形成操作数的有效地址。基址寻址的优点是可以扩大寻址能力,因为与形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。

7、变址寻址:

是将地址码和变址寄存器内容相加后形成的操作数有效地址,对数组运算、字符串操作等批量数据的处理很有效。

8、页面寻址:

页面寻址要将主存分组成若干个区。寻址时使用区码加区内偏移的方式确定位置。

9、相对寻址:

相对寻址和变址寻址类似,这里变址寄存器变成了程序计数器,也就是在相对寻址中是将地址码和程序计数器内容相加后形成的数据地址。

相关真题:

CPU的寻址方式(附带软考题讲解)_第1张图片

解析:首先45是直接的操作数,是立即寻址,R1为寄存器,为寄存器寻址,选择B。

你可能感兴趣的:(操作系统)