,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第四章 指令系统,计算机的程序是由一系列的机器指令组成的,每一条指令可以完成一个特定的操作如算术运算或逻辑运算。,一台计算机的全部机器指令的集合构成了指令系统。,第四章 指令系统计算机的程序是由一系列的机器指令组成的,每,1,CISC,与,RISC,CISC,复杂指令集计算机,指令多,功能复杂,线路复杂,指令长度不一,编程简单,控制复杂;,每条指令的执行周期数,CPI,在120;,RISC,精简指令集计算机,定长指令,条数少,多级流水线;,指令简化令机器结构简单,,译码简单统一、优化,特定指令访问内存,如:,Load,Store,每条指令的执行周期数,CPI,在12;,CISC与RISC,2,现今的,CISC,结构微处理器,基本上都经过了,RISC,改良,即已经过渡到以,RISC,为核心,通过译码器,将它转换为对外,CISC,结构,例如:,Intel,的,Pentium,系列和,AMD,的,K6,系列就是这种结构的处理器。,现今的CISC结构微处理器,基本上都经过了RISC改良,即已,3,目前,比较有影响的,RISC,处理器有,Compaq,公司的,Aplha、HP,公司的,PA-RISC、IBM,公司的,Power PC、SUN,公司的,Sparc。,Aplha,处理器,21164芯片 0.5,uM,600,MHz 1995,年,21264,芯片 0.18,uM 1GHz,1500万 1999年,新一代,EV7、EV8,1.25,GHz,1.65,GHz,目前,比较有影响的RISC处理器有Compaq公司的Aplh,4,Power PC 750,500,MHz 1997,年,IBM,小型机、苹果电脑,Sparc,Sun,公司的服务器、工作站使用,Ultra Sparc/,1,GHz,Ultra Sparc,1.5,GHz,Power PC 750,5,指令格式,通常由操作码字段和地址码字段组成:,操作码 表明指令要完成的操作;,地址码 提供操作数的有关信息,地址通常有隐式地址和显式地址;,操作码,OP,地址码,A,指令格式操作码OP地址码A,6,操作码结构(见,P,43,),操作码位数决定了指令的种类:,定长操作码,变长操作码,单功能型或复合型操作码,操作码结构(见P43),7,地址结构 (见,P,41-42,),三地址指令,OP A1 A2 A3,二地址指令,OP A1 A2,单地址指令,OP A1,零地址指令,OP,地址结构 (见P41-42),8,指令字长,指令字的 位数长,则可以表达的操作信息丰富,于是指令功能丰富,但浪费空间,取指时间长。,变长指令,CISC,定长指令,RISC,指令字长,9,操作数寻址方式,指令中提供操作数或操作数地址的方式称为,寻址方式,。,CPU,根据寻址方式,指定的方法,找到所需操作数。,操作数可以放在哪里?怎样,获取?,关 于寻址方式的思考,P,44,操作数寻址方式,10,立即寻址,指令中的地址字段字段就是操作数本身;,直接寻址,指令中直接给出操作数的主存地址;,主存,ADDR,OP,立即数,OP,ADDR,操作数,立即寻址OP 立即数OPADDR操作数,11,寄存器寻址,指令中给出寄存器号,该寄存器中存放操作数;,寄存器,R,0,OP,R,0,操作数,寄存器寻址OPR0操作数,12,间接寻址,指令中给出了 操作数所在单元地址的存放位置(地址);,ADDR1,ADDR2,主存,OP,ADDR1,ADDR2,操作数,间接寻址OPADDR1 ADDR2 操作数,13,寄存器间接寻址,指令中给出的寄存器内存放着操作数在主存中的地址;,内存,R,0,ADDR,OP,R,0,ADDR,操作数,寄存器间接寻址OPR0 ADDR操作数,14,变址寻址,指令中给出变址寄存器号,R0,,另外给出一个形式地址,变址寄存器的内容与形式地址,D,X,相加形成有效地址,该地址中存放操作数;,内存,ADDR,OP,R0,D,X,加法器,操作数,AD,变址寻址OPR0DX加法器操作数AD,15,基址寻址,形式基本同变址寻址,这里,R1,是基址寄存器,用途不同。,内存,ADDR,OP,R1,D,X,加法器,操作数,AD,基址寻址OPR1DX加法器操作数AD,16,相对寻址,以程序计数器,PC,的内容为基准地址,指令中给出形式地址,二者相加形成操作数的有效地址;,内存,AD,AD+D,X,PC,OP,D,X,加法器,OP,D,X,操作数,AD,相对寻址OPDX加法器OPDX操作数AD,17,堆栈寻址,以,SP,寄存器的内容作为内存单元的地址,实施堆栈操作。,SP,叫做堆栈指针,入栈/压栈,出栈/弹栈,栈顶,栈底,堆栈寻址,18,隐含寻址,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址,隐含寻址,19,寻址方式比较,间接慢,直接快,内存慢,寄存器快,立即数更快,要运算的慢,不需运算的快,间接的复杂,直接的简单,直接的死板,间接的灵活,内存地址长,寄存器地址短,寻址方式比较,20,指令的寻址,顺序寻址方式,PC,是程序计数器,保存下一条指令的地址。,PC,每次增加一个指令间隔,指向下一条要执行的指令,这时程序是顺序执行的。,可以示意为,PC+1,指令的寻址,21,跳跃寻址方式,当程序转移执行的顺序时,指令的寻址方式。下一条要执行的指令的地址由跳转指令给出这时,PC,内容由跳转指令赋值,目的地址。,实现程序转移、循环和转子程序等。,跳跃寻址方式,22,指令类型,数据传送类指令,传送,访存,输入输出指令,专用,通用,I/O,处理机控制,指令类型,23,算术、逻辑运算指令,算术运算,逻辑运算,移位,程序 控制类指令,程序转移,转子或返回,软中断,其他,算术、逻辑运算指令,24,I/O,编址方式,外围设备单独编址,为每一个,I/O,接口中的有关寄存器分配端口地址,系统软件中对各端口地址进行分配;,端口地址空间与主存地址空间分开;,使用专用的,I/O,指令,不占用 内存空间,容易区分,寻址速度快。,I/O编址方式,25,外设与主存统一编址,将,I/O,接口中的有关寄存器与主存单元统一编址,为它们分配统一的总线地址。,使用通用的数据传送指令实现,I/O,操作,占用存储空间,寻址方式丰富,灵活。,外设与主存统一编址,26,