您好,欢迎访问三七文档
主讲孙洁琳高二(14)班《计算机组成与工作原理》中等职业学校教学用书(计算机技术专业)一般来说,指令包括操作码及地址码两部分。操作码:用来表示各种不同的操作,或者说操作码指明该指令执行什么类型的操作。地址码:指出被操作的数据S在内存中存放的位置。一、复习opA指令操作码地址码1、指令的格式形式地址二、新课讲解(三)寻址方式所谓寻址,指的是寻找操作数的地址或下一条将要执行的指令地址。寻址指令寻址顺序寻址跳跃寻址数据寻址:立即、直接、间接等指令寻址比较简单,它又可以细分为顺序寻址和跳跃寻址。顺序寻址可通过程序计数器PC加“1”,自动形成下一条指令的地址;跳跃寻址是指程序执行转移指令,需要通过程序转移类指令实现。即当程序执行到转移指令时,下条指令的地址不再由PC给出,而是由本条指令给出。演示㈠指令寻址数据寻址方式种类较多,其最终目的都是寻找所需要的操作数。在前面指令格式中介绍了,指令中不仅应指明要执行什么类型的操作,还要指明参加操作的数据S在主存中的存放地址。形式地址:在地址码中给出的地址并不是数据在主存中存放的实际地址。(一般用字母A或D表示)有效地址:形式地址需要经过某种运算才能够得到能直接访问主存的地址(一般用字母EA表示),从形式地址生成有效地址的各种方式称为寻址方式,有时也称为绝对地址,即:形式地址寻址方式有效地址下面介绍几种计算机中常用的基本寻址方式。㈡数据寻址指令格式1.立即寻址S=A指令中给出的不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,也就取出了可以立即使用的操作数。优点:在取指令时,操作码和操作数被同时取出,不必再次访问主存,从而提高了指令的执行速度。缺点:因为操作数是指令的一部分,不能被修改,而且立即数的大小受到指令长度的限制,所以这种寻址方式灵活性最差,通常用于给某一寄存器或主存单元赋初值或提供一个常数。OP立即数2.寄存器寻址寄存器寻址指令的地址码部分给出某一个通用寄存器的编号,这个指定的寄存器中存放着操作数。操作数S与寄存器Ri的关系为:S=(Ri)EA=Ri寄存器寻址具有两个明显的优点:⑴从寄存器中存取数据比从主存中快得多;⑵由于寄存器的数量较少,其地址码字段比主存单元地址字段短得多。OPRiRiS3.直接寻址指令中地址码字段给出的地址A就是操作数的有效地址,即形式地址等于有效地址:EA=A。由于这样给出的操作数地址是不能修改的,与程序本身所在的位置无关,所以又叫做绝对寻址方式。操作数S=(A)EA=A优点:这种寻址方式不需作任何寻址运算,简单直观,也便于硬件实现;缺点:地址空间受到指令中地址码字段位数的限制。A:操作数SOPA存储器演示4.间接寻址间接寻址意味着指令中给出的地址A不是操作数的地址;而是另一个地址的地址时,所使用的寻址方式称为间接寻址方式。间接寻址方式又可以分为寄存器间接寻址方式和存储器间接寻址方式。⑴寄存器间接寻址方式在这种寻址方式中,操作数在主存中,指令中给出存放操作数地址的寄存器编号。其寻址过程为:先根据指令中给出的寄存器编号,取出该寄存器中的地址,然后再找到这个地址所对应的内存单元,取出操作数即可。EA=(R)操作数S=((R))R:A:操作数SOPRA存储器演示⑵存储器间接寻址方式在这种寻址方式中,指令中给出存放操作数地址的存储单元的地址。存放操作数地址的存储单元,称为间址单元。其寻址过程为:先根据指令中给出的间址单元地址,取出存储器中该单元的值,这个值是操作数在存储器中地址值,然后再根据这个地址找到所对应的内存单元,取出操作数即可。EA=(A0)操作数S=((A0))存储器A1:操作数S……A1A0:OPA05.变址寻址方式把变址寄存器Rx的内容与指令中给出的形式地址A相加,形成操作数有效地址,即EA=(Rx)+A,Rx的内容称为变址值。形式地址为基准地址,变址寄存器提供偏移量EA=(Rx)+AS=((Rx)+A)操作数OPRXA主存储器ALURX变址值XEAIR6.基址寻址与变址寻址类似,但在基址寻址中,基址寄存器Rb提供基准地址,形式地址为偏移量,基址寄存器Rb的内容加上指令格式中的形式地址而形成操作数的有效地址,即EA=(Rb)+AS=((Rb)+A)7.相对寻址把程序计数器PC的内容加上指令格式中的形式地址而形成操作数的有效地址。EA=(PC)+A操作数OPAPC主存储器ALUEA演示演示对于立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、存储器间接寻址,举例如下:假如校领导办公室是内存储器,班级隔壁的班主任办公室时我寄存器,我们班是CPU,我们的班主任刘老师就是我寻找的地址,如图:101102103104105106107108109110我们的同学S1找班主任的过程是:在班级里喊一声“刘老师”,刘老师就在走到S1面前——立即寻址;南楼S2找班主任的过程是:从班级走到班主任办公室找到了刘老师——寄存器寻址;S3找班主任的过程是:从班级走到领导办公室101直接找到了刘老师——直接寻址;S4找班主任的过程是:从班级走到领导办公室101,得知刘老师在105,在105找到了刘老师——存储器间接寻址;S5找班主任的过程是:从班级走到班主任办公室,得知刘老师在领导办公室101,在101找到了刘老师——寄存器间接寻址。三、总结⑴操作数存在于指令代码中,处理器译码时就立即获得了这个操作数,这就是立即(数)寻址方式.S=A⑵操作数存在于处理器内部寄存器中,处理器从寄存器中获得这个操作数,这就是寄存器寻址方式EA。EA=R⑶操作数存在于主存中,处理器从主存单元获得这个操作数,这就是存储器寻址方式。EA=A直接寻址方式间接寻址方式EA=(Rx)+A变址寻址方式EA=(Rb)+A基址寻址方式EA=(PC)+A相对寻址方式寄存器间接寻址EA=(R)存储器间接寻址EA=(A0)㈠操作数的位置㈡执行指令过程中访存次数①访存一次的方式有:立即寻址,寄存器寻址(取指令)②访存两次的方式有:直接寻址,寄存器间接寻址,变址寻址,基址寻址,变址寻址(取指令,取操作数)③访存三次的方式有:存储器间接寻址(取指令,取操作数的有效地址,取操作数)例题3-2某机器指令格式如图所示OPXA15109870图中:A为形式地址X为寻址特征位X=00:直接寻址X=01:用变址寄存器R1进行变址X=10:用基址寄存器R2进行寻址X=11:相对寻址设(PC)=1234H,(R1)=0037H,R2)=1122H,请确定下列指令的有效地址。(1)4420H(2)2244H(3)1322H(4)3521H(5)6723H解:(1)①十六进制转化为二进制求X4420H=0100010000100000B②由X=00知道,直接寻址EA=A=20H答案:(2)X=10,基址寻址,有效地址EA=(R2)+A=1122H+44H=1166H(3)X=11,相对寻址,有效地址EA=(PC)+A=1234H+22H=1256H(4)=01,变址寻址,有效地址EA=(R1)+A=0037H+21H=0058H(5)X=11H,相对寻址,有效地址EA=(PC)+A=1234H+23H=1257H四:作业课本p101简答题第一题
本文标题:寻址方式
链接地址:https://www.777doc.com/doc-3380345 .html