4章指令系统和汇编语言程序ppt课件_第1页
4章指令系统和汇编语言程序ppt课件_第2页
4章指令系统和汇编语言程序ppt课件_第3页
4章指令系统和汇编语言程序ppt课件_第4页
4章指令系统和汇编语言程序ppt课件_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4 4章章 指令、指令系统指令、指令系统和控制器部件和控制器部件第第4 4章章 指令、指令系统和控制器部件指令、指令系统和控制器部件一、指令系统一、指令系统综述:指令与指令格式综述:指令与指令格式 ,寻址方式。,寻址方式。基本指令系统:教学计算机的指令系统基本指令系统:教学计算机的指令系统 和和 汇编程序汇编程序设计。设计。扩充性知识:扩充性知识:PDP-11机指令系统,机指令系统,NOVA机指令系统。机指令系统。二、控制器的功能和组成二、控制器的功能和组成控制器的功能,控制器的组成,指令的执行步控制器的功能,控制器的组成,指令的执行步骤。骤。 控制器的分类:微程序控制器和组合逻辑控制控制

2、器的分类:微程序控制器和组合逻辑控制器。器。三、微程序控制器的运行原理三、微程序控制器的运行原理 微指令的格式:下地址字段微指令的格式:下地址字段 和和 控制命令字段。控制命令字段。四、教学计算机的微程序控制器四、教学计算机的微程序控制器 指令分类与典型指令的执行过程,指令分类与典型指令的执行过程, 微程序分析,设计新指令的微程序及调试运行。微程序分析,设计新指令的微程序及调试运行。五、组合逻辑控制器的组成与运行原理五、组合逻辑控制器的组成与运行原理 8 位教学实验计算机的组成与设计实例。位教学实验计算机的组成与设计实例。一、指令系统一、指令系统 指令指令 : 功能功能 定义定义 用法用法指令

3、格式指令格式: 操作码操作码 操作数地址操作数地址固定长度固定长度可变长度可变长度交叉安排交叉安排无地址无地址一地址一地址二地址二地址多地址多地址2. 2. 寻址方式寻址方式 外设寻址外设寻址入入 / 出端口地址方式出端口地址方式 统一映象方式统一映象方式主存寻址主存寻址寄存器寻址寄存器寻址直接寻址直接寻址变址寻址变址寻址寄存器间址寄存器间址间接寻址间接寻址相对寻址相对寻址基地址寻址基地址寻址立即数寻址立即数寻址堆栈寻址堆栈寻址1.1.指令与指令格式指令与指令格式指令:是计算机运行的最小的功能单位,指令:是计算机运行的最小的功能单位, 是计算机用于控制各部件协调动作的命令,是计算机用于控制各部

4、件协调动作的命令, 计算机最本质的功能就是连续的执行指令。计算机最本质的功能就是连续的执行指令。指令系统:一台计算机支持或使用的全部指令指令系统:一台计算机支持或使用的全部指令 的集合,称为指令系统。的集合,称为指令系统。指令字:一种二进制代码,包括操作码和操作数地址。指令字:一种二进制代码,包括操作码和操作数地址。操作码:用于指明本条指令的操作功能。操作码:用于指明本条指令的操作功能。 如:算数的加如:算数的加/减,逻辑的与减,逻辑的与/或,内存与外设的读或,内存与外设的读/写等。写等。操作数地址:用于给出被操作的对象的地址。操作数地址:用于给出被操作的对象的地址。 如:操作数所在的地址,程

5、序转移地址,子程序调如:操作数所在的地址,程序转移地址,子程序调用地址等。用地址等。1 1、指令的基本概念、指令的基本概念对指令系统的要求对指令系统的要求完备性完备性: : 指令齐全,编程方便指令齐全,编程方便高效性:占内存少,运行省时高效性:占内存少,运行省时规整性:指令与运算规则统一规整性:指令与运算规则统一兼容性:新旧机指令软件兼容兼容性:新旧机指令软件兼容当前的计算机指令系统,从其构成的复杂和完备程度,当前的计算机指令系统,从其构成的复杂和完备程度,或者说设计中追求的不同的目标,区分,可分为或者说设计中追求的不同的目标,区分,可分为 CISC CISC 和和RISC RISC 两类:两

6、类: RISCRISCReduced Instruction Set ComputerReduced Instruction Set Computer), ,通常称通常称为精简指令系统的计算机,只有数目较少、格式与功能简单、为精简指令系统的计算机,只有数目较少、格式与功能简单、运行高效的指令,追求的是计算机控制器实现简单,运行高运行高效的指令,追求的是计算机控制器实现简单,运行高速,更容易在单块超大规模集成电路中芯片内制做出来。速,更容易在单块超大规模集成电路中芯片内制做出来。 CISC CISC (Complex Instruction Set ComputerComplex Instruc

7、tion Set Computer), ,通常称通常称为复杂指令系统的计算机,是相对于为复杂指令系统的计算机,是相对于 RISC RISC 一词而提出来的一词而提出来的一种说法。其特点是:指令条数多,格式多样,寻址方式复一种说法。其特点是:指令条数多,格式多样,寻址方式复杂,每条指令的功能强,优点是汇编程序设计容易些,但计杂,每条指令的功能强,优点是汇编程序设计容易些,但计算机控制器的实现困难多,很多指令被使用的机会并不多。算机控制器的实现困难多,很多指令被使用的机会并不多。指令格式:指令格式: 操作码操作码 操作数地址操作数地址 操作码的方案分类:操作码的方案分类:1、定长操作码方案:在指令

8、字的最高位分配固定长度,用于表、定长操作码方案:在指令字的最高位分配固定长度,用于表示操作码。示操作码。2、变长操作码方案:可以为最常用的指令少分配几位操作码。、变长操作码方案:可以为最常用的指令少分配几位操作码。3、交叉方案:操作码的二进制位不集中在最高位,而是与操作、交叉方案:操作码的二进制位不集中在最高位,而是与操作数地址有所交叉。数地址有所交叉。操作数地址的设计操作数地址的设计:1、无操作数指令:某些指令没有操作数,或使用某个已约定的、无操作数指令:某些指令没有操作数,或使用某个已约定的操作数。操作数。 如停机指令、空操作指令、关中断指如停机指令、空操作指令、关中断指令等。令等。2、单

9、操作数指令:某些指令只用一个操作数必须在指令中指明、单操作数指令:某些指令只用一个操作数必须在指令中指明其地址。其地址。3、双操作数指令:如算数和逻辑运算,往往使用、双操作数指令:如算数和逻辑运算,往往使用2个操作数,需个操作数,需要分别给出目要分别给出目 的操作数和源操作数的地址。的操作数和源操作数的地址。4、多操作数指令:如用、多操作数指令:如用2个操作数地址表示目的和源操作数,用个操作数地址表示目的和源操作数,用第三个操作数第三个操作数 地址表示保存运算结果。地址表示保存运算结果。2 2、指令的分类、指令的分类指令的分类指令的分类1、算数和逻辑运算指令:是每台计算机必须具有的指令。、算数

10、和逻辑运算指令:是每台计算机必须具有的指令。2、移位操作指令:包括算数移位、逻辑移位和循环移位三种。、移位操作指令:包括算数移位、逻辑移位和循环移位三种。3、数据传送指令:用于通存、数据传送指令:用于通存通存、通存通存、通存内存、通存内存、通存外外 设、内存设、内存内存之间的数据传送。指令要指明数据传送的方内存之间的数据传送。指令要指明数据传送的方向。向。4、转移指令、子程序调用与返回指令:、转移指令、子程序调用与返回指令: 转移指令:不执行邻接的下转移指令:不执行邻接的下1条指令,而是转移到另一段程条指令,而是转移到另一段程序的入口去执行。分为条件转移和无条件转移。条件转移指令序的入口去执行

11、。分为条件转移和无条件转移。条件转移指令还必须给出判断转移条件,通常是还必须给出判断转移条件,通常是 C进位)、进位)、Z结果为结果为0)、)、V溢出)、溢出)、S符号位的取值。符号位的取值。 子程序调用与返回指令:是一种特定的转移指令。即转去执子程序调用与返回指令:是一种特定的转移指令。即转去执行子程序,在子程序的最后要有返回当前指令的语句。行子程序,在子程序的最后要有返回当前指令的语句。 用户自编的子程序用户自编的子程序 系统提供的子程序系统提供的子程序子程序子程序访问系统程序访管指令。访问系统程序访管指令。陷阱指令陷阱指令TPAP)。)。断电、检验出错、设备故障、非法指令等意外事故。断电

12、、检验出错、设备故障、非法指令等意外事故。5、特权指令:仅用于操作系统或系统软件的指令。为确保安、特权指令:仅用于操作系统或系统软件的指令。为确保安 全,这类指令不提供给用户使用。全,这类指令不提供给用户使用。6、其它指令:用于完成某些特定的处理功能。、其它指令:用于完成某些特定的处理功能。 如:动态停机、空操作、置条件码、开中断、如:动态停机、空操作、置条件码、开中断、 关中断、堆栈操作指令等。关中断、堆栈操作指令等。操作数的来源和去向:操作数的来源和去向:1、来自、来自CPU内部的通用寄存器。通存一般有内部的通用寄存器。通存一般有16个,个,R0 R15 R0与外设交换数据,与外设交换数据

13、,R4 为堆栈,为堆栈,R5 用作程序计数器用作程序计数器PC。2、来自外围设备接口中的一个寄存器。通常用设备编号、来自外围设备接口中的一个寄存器。通常用设备编号 入口端地址来表示。入口端地址来表示。3、来自内存的一个存储单元。在指令字中给出该存储单元的、来自内存的一个存储单元。在指令字中给出该存储单元的 地址。地址。3 3、寻址方式、寻址方式寻址:根据指令的内容确定操作数地址的过程。寻址:根据指令的内容确定操作数地址的过程。 寻址方式:获得操作数或操作数地址的方法。寻址方式:获得操作数或操作数地址的方法。地址:数据和指令在存储器中存放的位置。地址:数据和指令在存储器中存放的位置。形式地址:在

14、指令字中给出的操作数的地址被称为形式地址。形式地址:在指令字中给出的操作数的地址被称为形式地址。物理地址:用形式地址结合某些规则计算出操作数在存储器中物理地址:用形式地址结合某些规则计算出操作数在存储器中 的存储单元地址。的存储单元地址。操作数地址可以是:操作数地址可以是: 运算器中的累加器的编号或专用寄存器名称编号)。运算器中的累加器的编号或专用寄存器名称编号)。 输入输入/ /输出指令中用到的输出指令中用到的 I/O I/O 设备的入出端口地址。设备的入出端口地址。 内存储器的一个存储单元或一内存储器的一个存储单元或一 I/OI/O设备设备 )的地址。)的地址。 计算机的计算机的CPU中一

15、般设置有一定数量的通用寄存器,用于中一般设置有一定数量的通用寄存器,用于存放操作数、操作数地址或中间结果。存放操作数、操作数地址或中间结果。 寄存器寻址:寄存器寻址: 在指令字的操作数地址码字段给出操作数所在的通用寄存器在指令字的操作数地址码字段给出操作数所在的通用寄存器的编号地址)。称为寄存器寻址。的编号地址)。称为寄存器寻址。 例如:加法指令:例如:加法指令: ADD A, D助记符号)助记符号) 指令字指令字 : 10 0 0 0 010 寄存器间接寻址:寄存器间接寻址:右图中,如果右图中,如果D寄存器中给出的不是操作数,而是寄存器中给出的不是操作数,而是操作数的地址,这中方式称为寄存器

16、间接寻址。操作数的地址,这中方式称为寄存器间接寻址。1、寄存器寻址、寄存器间接寻址、寄存器寻址、寄存器间接寻址寄存器寄存器 D 的地址的地址2、立即数寻址、立即数寻址 所需的一个操作数在指令的地址码部分直接给出。所需的一个操作数在指令的地址码部分直接给出。OPNum那么那么 Num Num 即为操作数的值。即为操作数的值。适用于操作数固定的情况,提高了指令的执行速度,适用于操作数固定的情况,提高了指令的执行速度, 当该立即数的值限定为较小值占用位数少时,可在当该立即数的值限定为较小值占用位数少时,可在第一个指令字中直接给出,否则可在第二个指令字中给出。第一个指令字中直接给出,否则可在第二个指令

17、字中给出。在指令的地址码字段直接给出所需的操作数或指令)在指令的地址码字段直接给出所需的操作数或指令)在存储器中的地址。在存储器中的地址。OPAddr那么那么 Addr Addr 为操作数在存储器中的地址。为操作数在存储器中的地址。 或转移指令等用到的指或转移指令等用到的指令地址。令地址。3、直接寻址、直接寻址 例:例:Addr = 5718H Addr = 5718H ,这里的,这里的H H 表示表示 5718 5718 是是 16 16 进制的值进制的值 5718H = 35718H = 3,内存储器,内存储器 5718 5718 单元中的内容为单元中的内容为 3 3, 则操作数就是这里的

18、则操作数就是这里的 3 3,或下一条指令的地址为,或下一条指令的地址为 3 3。常用于读写内存的指令或转移等指令中。常用于读写内存的指令或转移等指令中。内存储器内存储器 操作数操作数 操作数的地址由指定的变址寄存器由操作数的地址由指定的变址寄存器由Reg指定的指定的内容和指令中的地址码内容和指令中的地址码Disp相加得到。相加得到。OP Reg Disp4、变址寻址、变址寻址 通用寄存器通用寄存器加法器加法器存储器存储器操作数操作数例:例:Disp=H18Disp=H18,Reg=5Reg=5,(R5)=H5700(R5)=H5700 则操作数地址则操作数地址 = H5718= H5718便于

19、对数组元素进行处理,便于对数组元素进行处理,是计算机中常用的一种寻址方式。是计算机中常用的一种寻址方式。操作数或指令的地址由程序计数器操作数或指令的地址由程序计数器 PC PC 的内容的内容即当前执行指令的地址和指令的地址码相加得到。即当前执行指令的地址和指令的地址码相加得到。OPDisp5、相对寻址、相对寻址 例:例:Disp = H48Disp = H48(PC) = H5600(PC) = H5600 则实际地址则实际地址 = H5648= H56481主要用于转移指令,对浮动程序很有用。主要用于转移指令,对浮动程序很有用。2位移量可正可负,通常用补码表示。位移量可正可负,通常用补码表示

20、。 指令的地址码字段给出的内容既不是操作数,也不指令的地址码字段给出的内容既不是操作数,也不是操作数的地址,而是操作数或指令地址的地址,是操作数的地址,而是操作数或指令地址的地址,这被称为间接寻址方式,多一次读内存储器的操作。这被称为间接寻址方式,多一次读内存储器的操作。OPAddr6、间接寻址、间接寻址 存储器存储器操作数Addr1指令中的指令中的 Addr 可以用其他寻址方式可以用其他寻址方式给出,例如变址寻址,这就成为变址给出,例如变址寻址,这就成为变址寻址与间接寻址的复合寻址方式。寻址与间接寻址的复合寻址方式。 在计算机中设置一个专用的基址寄存器,操作数或在计算机中设置一个专用的基址寄

21、存器,操作数或指令的地址通过基址寄存器的内容和指令中的地址码相指令的地址通过基址寄存器的内容和指令中的地址码相加得到。加得到。OPDisp7、基址寻址、基址寻址 基址寄存器基址寄存器加法器加法器存储器存储器操作数例:例:Disp= H18Disp= H18,BS= H5700BS= H5700 则操作数地址则操作数地址=H5718=H5718主要用于为程序或数据分配存储区,对多主要用于为程序或数据分配存储区,对多道程序或浮动程序很有用,解决了程序在道程序或浮动程序很有用,解决了程序在存储器中的定位和扩大寻址空间等问题。存储器中的定位和扩大寻址空间等问题。 堆栈是内存储器中一块按堆栈是内存储器中

22、一块按 “ “ 后进先出后进先出 ” ” 原则进原则进行读写的存储区,并通过一个专用的寄存器称为堆栈行读写的存储区,并通过一个专用的寄存器称为堆栈指针指针SPSP给出堆栈的栈顶地址完成数据的读写操作,故给出堆栈的栈顶地址完成数据的读写操作,故不必在指令中用操作数地址字段给堆栈地址。通常在读不必在指令中用操作数地址字段给堆栈地址。通常在读写操作的前后伴随有计算机自动不是用户通过指令写操作的前后伴随有计算机自动不是用户通过指令修改修改 SP SP 内容的动作,以确保按正确的内容的动作,以确保按正确的“后进先出原后进先出原则读写堆栈区。则读写堆栈区。 例如:(例如:(SPSP)- 1 - 1 SP

23、SP和和 ARAR,即,即SPSP的内容减的内容减 1 1 存回存回 SPSP,并送内存地址寄存器,接下来才可以把数据,并送内存地址寄存器,接下来才可以把数据写到堆栈中。完成一次读堆栈操作后,要接着执行写到堆栈中。完成一次读堆栈操作后,要接着执行SPSP)+1 +1 SP SP 的一次自动修改的一次自动修改 SP SP 内容的操作。内容的操作。8、堆栈寻址、堆栈寻址 需要注意的是,指令长度可能是一个字,也需要注意的是,指令长度可能是一个字,也可能是两个字或多个字,要看操作数地址字段的可能是两个字或多个字,要看操作数地址字段的位数要求,由具体的情况决定。位数要求,由具体的情况决定。4 4、161

24、6位教学机的指令格式位教学机的指令格式 16位机指令支持单字和双字指令,第一个指令字的高位机指令支持单字和双字指令,第一个指令字的高8位是位是指令操作码字段,低指令操作码字段,低8位和第二个指令字是操作数地址字段。位和第二个指令字是操作数地址字段。教学机高教学机高8位指令操作码位指令操作码IRH7 IRH0的含义:的含义:教学机指令中,基本指令教学机指令中,基本指令29条,扩展指令条,扩展指令19条。条。CZVS标志位:标志位: *号表示状态位在该指令执行后会被重置,号表示状态位在该指令执行后会被重置, 表示不被重置。表示不被重置。1616位机基本指令说明:位机基本指令说明: (一)(一)16

25、位机基本指令说明:位机基本指令说明: (二)(二)5 5、汇编语言简介、汇编语言简介(1)、语句的种类:、语句的种类:指令语句指令语句伪指令语句伪指令语句有与其对应的机器指令。有与其对应的机器指令。没有与其对应的机器指令,只说明如没有与其对应的机器指令,只说明如何汇编源程序,包括符号的定义,变何汇编源程序,包括符号的定义,变量和段的定义等。量和段的定义等。(2)、指令语句的格式:(由、指令语句的格式:(由4个部分组成)个部分组成) 标号:标号: 指令助记符指令助记符 操作数操作数 ,操作数,操作数 ;注释;注释 常数操作数数值表达式),常数操作数数值表达式),寄存器操作数寄存器名),寄存器操作

26、数寄存器名),存储器操作数地址表达式)。存储器操作数地址表达式)。(3)、数值表达式:、数值表达式:(1).常数:二进制数常数:二进制数B、八进制数、八进制数Q、十进制数、十进制数D、十六进制数、十六进制数H、字符串常数,字符串常数,“定界符定界符”。(2).算数运算符,包括:正()、负()、加(算数运算符,包括:正()、负()、加( )、减)、减()、乘()、乘( * )、除()、除(/)(3).关系运算符:相等关系运算符:相等(EQ)、不等、不等(NE)、小于、小于(LT)、大于、大于(GT)、小于等于小于等于(LE)、大于等于、大于等于(GE)(4).逻辑运算符:与逻辑运算符:与AND)

27、、或)、或OR)、非)、非NOT)、异或)、异或XOR)(5).运算符的优先级:运算符的优先级:1各种扩号、各种扩号、2 * / SHL . SHR、3 HIGH . LOW 、4 、5 关系运算关系运算 6 NOT、7 AND、8 OR . XOR 。指令系统实验指令系统实验联机的汇编语言联机的汇编语言程序设计程序设计实验目的:实验目的:1、学习、学习TEC2000教学机监控命令的用法。教学机监控命令的用法。2、学习、学习TEC2000教学机的指令系统。教学机的指令系统。3、学习、学习TEC2000教学机的汇编程序设计。教学机的汇编程序设计。实验内容:实验内容:1、使用监控程序的、使用监控程

28、序的R命令显示命令显示/修改寄存器的内容,修改寄存器的内容,使用使用D命令显示存储器的内容,使用命令显示存储器的内容,使用E命令修改存储命令修改存储器内容。器内容。2、使用、使用A命令编写一段小程序,用命令编写一段小程序,用G命令运行该程命令运行该程序。序。3、参照教材、参照教材135页例页例1例例3, 138页例页例1例例5, 作作3个个汇编程序的实验。汇编程序的实验。联机的汇编程序设计实验步骤联机的汇编程序设计实验步骤1、把教学机、把教学机COM1口与口与PC机的机的COM1口相连,口相连,置教学机控制方式选择开关为置教学机控制方式选择开关为00101连续、读内连续、读内存、组合逻辑、存、

29、组合逻辑、16位、联机),开关拨向上方表位、联机),开关拨向上方表示示 “1”,拨向下方表示,拨向下方表示“0”,“X表示任意。表示任意。2、PC机和教学机加电,使机和教学机加电,使PC机进入机进入Win98系统,系统,找到找到C:TECPCEC16文件,双击进入仿真界面,文件,双击进入仿真界面,当屏幕出现菜单显示时按当屏幕出现菜单显示时按“1键选键选COM1口)。口)。教学计算机软件子系统组成教学计算机软件子系统组成: 软件子系统提供监控程序、汇编程序、双机通软件子系统提供监控程序、汇编程序、双机通信及仿真终端等软件,该软件存储在一张软盘上,信及仿真终端等软件,该软件存储在一张软盘上,安装之

30、后,在安装之后,在C盘上有一个文件夹盘上有一个文件夹TEC,该文件,该文件夹下有一个文件夹下有一个文件 pcec16.exe,双击该文件即可,双击该文件即可进入仿真终端状态。进入仿真终端状态。 3、按一下、按一下“RESET按键复位,再按一下按键复位,再按一下“START按键按键开场,开场,PC机屏幕上显示:机屏幕上显示: TEC2000 CRT MONITONV ersion 2.0 2019.10 Computer Architectur Lab. Tsinghua University Copyright Jason He _4 4、PCPC机进入到监控程序状态,提示符为:机进入到监控程

31、序状态,提示符为:“ “ _ ” _ ”。 在监控程序提示符在监控程序提示符“ “ _ ” _ ”下输入单字汇编命令下输入单字汇编命令A A,开始输入程序,最后以开始输入程序,最后以RETRET结束程序。再用结束程序。再用G G命令运行程序。命令运行程序。常用的单字汇编命令常用的单字汇编命令A adr命令:完成单条指令的汇编操作,把产生的执命令:完成单条指令的汇编操作,把产生的执行代码放入对应的内存单元中。行代码放入对应的内存单元中。 G adr命令:从指定的地址连续运行一个用户程序遇命令:从指定的地址连续运行一个用户程序遇到到RET 语句时返回。语句时返回。R 命令:命令:R后面不代参数,显

32、示全部寄存器和状态后面不代参数,显示全部寄存器和状态寄存器的值。寄存器的值。R寄存器名:修改寄存器的值,如寄存器名:修改寄存器的值,如 R Ro ,输入输入36,表示把表示把16进制数值进制数值36 赋给赋给Ro寄存器。寄存器。实验要求:实验要求:1、每完做一个实验,观察并写出本实验中使用的、每完做一个实验,观察并写出本实验中使用的寄存器的状态。寄存器的状态。2、实验完成之后,写出实验报告。在、实验完成之后,写出实验报告。在“实验结果实验结果和结论栏中,写出汇编程序的清单和每个语句和结论栏中,写出汇编程序的清单和每个语句的含义,写出程序运行的结果。的含义,写出程序运行的结果。 例例1: 编写程

33、序,在显示器屏幕上显示编写程序,在显示器屏幕上显示95个可打印字符。个可打印字符。2000:MVRD R1,7E ;向寄存器传送直接数;向寄存器传送直接数,7E(0111 1110)为为SP的编码的编码2019:MVRD R0,20 ;向寄存器传送直接数;向寄存器传送直接数,20(0010 0000)为的编码为的编码2019:OUT 80 ;通过串口输出;通过串口输出R0低位字节内容到显示器屏幕低位字节内容到显示器屏幕2019:PUSH R0 ;保存;保存R0寄存器的内容到堆栈中;寄存器的内容到堆栈中;2019:IN 81 ;读串行接口的状态寄存器的内容到;读串行接口的状态寄存器的内容到R0寄

34、存器寄存器2019:SHR R0 ;R0内容右移一位,最低位的值移入标志位内容右移一位,最低位的值移入标志位C2019:JRNC 2019 ;条件转移,当标志位;条件转移,当标志位C不是不是1时就转到时就转到2019地址地址2021:POP R0 ;从堆栈中恢复;从堆栈中恢复R0寄存器的原内容寄存器的原内容200A:CMP R0,R1 ;比较两寄存器的内容相同否,相同则标志位;比较两寄存器的内容相同否,相同则标志位Z=1200B:JRZ 200F ;条件转移,当标志位;条件转移,当标志位Z为为1时就转移到时就转移到200F地址地址200C:INC R0 ;把;把R0寄存器的内容增加寄存器的内容

35、增加1产生下一个字符的编码)产生下一个字符的编码)200E:JR 2019 ;无条件转移指令,一定转移到;无条件转移指令,一定转移到2019地址地址200F:RET; ;子程序返回指令,;子程序返回指令, 例例2 2:设计一个小程序,从键盘上接收一个字符并在屏:设计一个小程序,从键盘上接收一个字符并在屏 幕上输出显示该字符。幕上输出显示该字符。 _ A2000 _ A2000 20002000:IN 8l IN 8l ;判键盘上是否按了一个键;判键盘上是否按了一个键20192019:SHR R0 SHR R0 ;即串行口是否有了输入的字符;即串行口是否有了输入的字符20192019:SHR R

36、0SHR R020192019:JRNC 2000 JRNC 2000 ;未输入完则循环测试;未输入完则循环测试,C=0,C=0,转转2000200020192019:IN 80 IN 80 ;接收该字符;接收该字符 20192019:OUT 80 OUT 80 ;在屏幕上输出显示字符;在屏幕上输出显示字符6620192019:RET RET ;每个用户程序都必须用;每个用户程序都必须用RETRET指令结束指令结束 20192019: ;按回车键即结束输入过程,回到提示符下;按回车键即结束输入过程,回到提示符下 _ G2000 _ G2000 从从20002000地址开始执行程序。地址开始执行

37、程序。例例3 3:设计一个程序,计算:设计一个程序,计算1 1到到1010的累加和。的累加和。(2060)MVRD R1(2060)MVRD R1,0000 0000 ;置累加和的初值为;置累加和的初值为0 0 MVRD R2 MVRD R2,000A 000A ;最大的加数;最大的加数 MVRD R3MVRD R3,0000 0000 (2066)INC R3 (2066)INC R3 ;得到下一个参加累加的数;得到下一个参加累加的数 ADD R1ADD R1,R3 R3 ;累加计算;累加计算 CMP R3CMP R3,R2 R2 ;判断是否累加完;判断是否累加完 JRNZ 2066 JRN

38、Z 2066 ;未完,开始下一轮累加;未完,开始下一轮累加 RETRET二、控制器的功能与组成二、控制器的功能与组成 1. 控制器的功能控制器的功能 2. 控制器的组成控制器的组成 3. 指令执行步骤指令执行步骤 4. 微程序控制器微程序控制器1.控制器的功能控制器的功能 计算机的功能是执行程序,程序是依次计算机的功能是执行程序,程序是依次排列起来的指令代码。排列起来的指令代码。 控制器的功能就在于:控制器的功能就在于: 正确且自动地连续执行指令,正确地分步正确且自动地连续执行指令,正确地分步完成每一条指令规定的功能。完成每一条指令规定的功能。 或者说,就是向计算机各功能部件发出协或者说,就是

39、向计算机各功能部件发出协调运行每一个步骤所需要的控制信号。调运行每一个步骤所需要的控制信号。控制器的功能控制器的功能 计算机的功能是执行程序计算机的功能是执行程序 程序是依次排列起来的指令代码程序是依次排列起来的指令代码 控制器的基本功能就在于控制器的基本功能就在于 正确且自动地连续执行指令正确且自动地连续执行指令 正确地分步完成每一条指令规定的功能正确地分步完成每一条指令规定的功能再进一步说,再进一步说, 就是向计算机各功能部件提供就是向计算机各功能部件提供 协调运行每一步所需要的控制信协调运行每一步所需要的控制信号号 (还要能及时处理异常情况和紧急请求)(还要能及时处理异常情况和紧急请求)

40、2. 控制器的组成控制器的组成(1 1). .程序计数器:(程序计数器:(PCPC) 用于存放指令地址,能够读取指令和接收下一条要执行用于存放指令地址,能够读取指令和接收下一条要执行的指令的地址。有的指令的地址。有+1+1或接收新值功能。或接收新值功能。 (2 2). .指令寄存器:(指令寄存器:(IRIR) 用于保存从内存读出的指令内容:操作码与操作数地址,用于保存从内存读出的指令内容:操作码与操作数地址,主脉冲源与启停控制线路,按需要给出主脉冲信号。主脉冲源与启停控制线路,按需要给出主脉冲信号。(3 3). .指令执行的步骤标记线路:指令执行的步骤标记线路: 指明每条指令的执行步骤。指明每

41、条指令的执行步骤。(4 4). .全部时序控制信号的产生部件全部时序控制信号的产生部件 它依据指令,形成或提供本时刻计算机各部件要用的控它依据指令,形成或提供本时刻计算机各部件要用的控制信号。制信号。3. 3. 指令执行步骤指令执行步骤 冯冯. 诺依曼诺依曼 结构的计算机,结构的计算机, 即存储程序的计即存储程序的计算机,设置内存,存放程序和数据,在程序运行算机,设置内存,存放程序和数据,在程序运行之前存入。之前存入。 执行程序:执行程序: (1). 正确从程序首地址开始,正确从程序首地址开始, (2). 正确分步执行每一条指令,并形成下正确分步执行每一条指令,并形成下 条待执行指令的地址;条

42、待执行指令的地址; (3). 正确并自动地连续执行指令,直到程正确并自动地连续执行指令,直到程 序的最后一条指令。序的最后一条指令。每条指令的执行步骤每条指令的执行步骤读取指令读取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器读主存,读出内容送入指定的寄读主存,读出内容送入指定的寄存器存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令不同指令的操作步骤数不同指令的操作步骤数和具体操作内容差异很大和具体操作内容差异很大检查有无中断请求检查有无中断请求若有,则转去处理中断若有,则转去处理中断若无,则转入下一条指令的执行若无,则转入下一条指令的执行过程过程形形成成下下一一条条

43、指指令令的的地地址址总线与寄存器总线与寄存器DB DB 外部数据总线外部数据总线IB CPUIB CPU内部总线内部总线CB CB 控制总线控制总线AB AB 地址总线地址总线IR IR 指令寄存器指令寄存器AR AR 地址寄存器地址寄存器INTP INTP 中断优先级寄存器中断优先级寄存器PC PC 程序计数器程序计数器(R5)(R5)SP SP 堆栈指针堆栈指针(R4)(R4)例:分析以下小程序,说明指令的执行步骤。例:分析以下小程序,说明指令的执行步骤。2000 ADD R0,R1 加法指令加法指令 R0+R1R0 AR PC, PC PC +1 ;把;把PC中的指令地址送地址中的指令地

44、址送地址寄存器,寄存器, 并产生下一条指令的地址并产生下一条指令的地址 读主存,读主存,IR 读出的内容读出的内容 ;按照;按照AR中的地址读取指令中的地址读取指令存入指令寄存器。存入指令寄存器。 R0 R0+R1 ;在累加器中完成加法运算,结果;在累加器中完成加法运算,结果存入存入R0。 完毕,检测中断请求,无中断请求,执行下一条指令。完毕,检测中断请求,无中断请求,执行下一条指令。2019 MVRD R2,R0 传送指令传送指令 R2R0 AR PC, PC PC +1 ;把;把PC中的指令地址送地址中的指令地址送地址寄存器,并产生寄存器,并产生 下一条指令的地址下一条指令的地址 读主存,

45、读主存,IR 读出的内容读出的内容 ;按照;按照AR中的地址读取指令中的地址读取指令存入指令寄存器。存入指令寄存器。 R2 R0+0 ;寄存器之间传送数据。;寄存器之间传送数据。 完毕,检测中断请求,无中断请求,执行下一条指令。完毕,检测中断请求,无中断请求,执行下一条指令。2019 MVRD R9,2019 取立即数指令取立即数指令 R92019 AR PC, PC PC +1 ;把;把PC中的指令地址送地址寄存器,中的指令地址送地址寄存器,并产生并产生 下一条指令的地址下一条指令的地址 读主存,读主存,IR 读出的内容读出的内容 ;按照;按照AR中的地址读取指令存入中的地址读取指令存入指令

46、寄存器。指令寄存器。 AR PC, PC PC +1 读主存,读主存,R9 读出的内容读出的内容 完毕,检测中断请求,无中断请求,执行下一条指令。完毕,检测中断请求,无中断请求,执行下一条指令。取出立即数取出立即数( (在指令的第在指令的第2 2个字中个字中) )用两步分别送地址用两步分别送地址和执行读出操作,之后在此形成下和执行读出操作,之后在此形成下1 1条指令的地址。条指令的地址。2019 STRR R9 ,R2 写内存写内存R9R2,把把R2内容送以内容送以R9内容为内容为地址的存储单元。地址的存储单元。 AR PC, PC PC +1 ;把;把PC中的指令地址送地址寄存中的指令地址送

47、地址寄存器,并产生器,并产生 下一条指令的地址下一条指令的地址 读主存,读主存,IR 读出的内容读出的内容 ;按照;按照AR中的地址读取指令存入中的地址读取指令存入指令寄存器。指令寄存器。 AR R9+0 ;用两步分别送地址和执行写操;用两步分别送地址和执行写操作,送内存地址保管作,送内存地址保管 写主存,总线写主存,总线 R2+0 在在R9中到中到AR,写,写R2的内容的内容到内存储器指定单元。到内存储器指定单元。 完毕,检测中断请求,无中断请求,执行下一条指令。完毕,检测中断请求,无中断请求,执行下一条指令。2019 IN 80 输入指令,输入指令,R080口,把口,把80端口地址寄端口地

48、址寄存器的内容送存器的内容送R0。 AR PC, PC PC +1 ;把;把PC中的指令地址送地址寄中的指令地址送地址寄存器,并产生存器,并产生 下一条指令的地址下一条指令的地址 读主存,读主存,IR 读出的内容读出的内容 ;按照;按照AR中的地址读取指令存中的地址读取指令存入指令寄存器。入指令寄存器。 AR I/O port 读外设,数据总线读外设,数据总线 读出内容读出内容 R0 数据总线内容数据总线内容+0 完毕,检测中断请求,无中断请求,执行下一条指令。完毕,检测中断请求,无中断请求,执行下一条指令。送外设送外设I/O端口地址到地址寄存器,读外设端口地址到地址寄存器,读外设送来的数据到

49、约定的寄存器送来的数据到约定的寄存器R0。2019 JRC 2000 条件相对转移指令,条件相对转移指令,C=1 转转2000 AR PC, PC PC +1 ;把;把PC中的指令地址送地址寄中的指令地址送地址寄存器,并产生存器,并产生 下一条指令的地址下一条指令的地址 读主存,读主存,IR 读出的内容读出的内容 ;按照;按照AR中的地址读取指令存中的地址读取指令存入指令寄存器。入指令寄存器。 若若C=1 那么那么 PC 指令地址指令地址+相对寻址偏移值在相对寻址偏移值在IR的低位字的低位字节)节) 否则本步骤什么操作功能也不做即保持否则本步骤什么操作功能也不做即保持PC内容不变,仍为顺内容不

50、变,仍为顺序执行)序执行) 读外设,数据总线读外设,数据总线 读出内容读出内容 完毕,检测中断请求,无中断请求,执行下一条指令。完毕,检测中断请求,无中断请求,执行下一条指令。2019 RET 子程序返回指令子程序返回指令 AR PC, PC PC +1 ;把;把PC中的指令地址送地址寄中的指令地址送地址寄存器,并产生存器,并产生 下一条指令的地址下一条指令的地址 读主存,读主存,IR 读出的内容读出的内容 ;按照;按照AR中的地址读取指令存中的地址读取指令存入指令寄存器。入指令寄存器。 AR SP SP SP+1 读主存,读主存,PC 读出内容读出内容 完毕,检测中断请求,无中断请求,执行下

51、一条指令。完毕,检测中断请求,无中断请求,执行下一条指令。堆栈指针内容送地址寄存器,并修改堆栈指针内堆栈指针内容送地址寄存器,并修改堆栈指针内容,读出保存在堆栈中的程序断点到容,读出保存在堆栈中的程序断点到PCPC中中4. 微程序控制器微程序控制器 一、基本概念一、基本概念(1)、微程序控制器的功能:向整机每)、微程序控制器的功能:向整机每个部件提供协同运行所需的控制信号。个部件提供协同运行所需的控制信号。(2)、微程序控制器的基本工作原理:)、微程序控制器的基本工作原理: 根据本次读入的机器指令的操作码,找根据本次读入的机器指令的操作码,找到微程序的入口地址并读出这条微指令,到微程序的入口地

52、址并读出这条微指令,然后执行这条微指令控制计算机各部然后执行这条微指令控制计算机各部件协同动作)。然后,从控制存储器读件协同动作)。然后,从控制存储器读出下一条微指令,为下一次执行指令作出下一条微指令,为下一次执行指令作准备。准备。 微指令:执行一条指令用到的全部微指令:执行一条指令用到的全部控制信号和下一条微指令的地址信息。控制信号和下一条微指令的地址信息。 微程序:有多条微指令构成的程序微程序:有多条微指令构成的程序段。段。(3 3)、微程序控制器的组成:)、微程序控制器的组成: 、控制存储器、控制存储器MAPROMMAPROM) :是微程序控制器的核心,存:是微程序控制器的核心,存储按一

53、定规则组织好的全部控制信号,由几百条到上千条微储按一定规则组织好的全部控制信号,由几百条到上千条微指令组成。指令组成。、微程序定序器、微程序定序器Am2901Am2901): :在执行本条指令的同时,形在执行本条指令的同时,形成下一条微指令的地址。成下一条微指令的地址。、微指令地址影射部件、微指令地址影射部件MAPROMMAPROM):由静态存储器构成,):由静态存储器构成,MAPROMMAPROM的输入由指令寄存器的的输入由指令寄存器的IRHIRH给出给出8 8位的操作码,其输出位的操作码,其输出为当前对应的微程序段的入口地址。为当前对应的微程序段的入口地址。 输入的输入的8 8位指令操作码

54、与输出的入口地址对应,称为影射。位指令操作码与输出的入口地址对应,称为影射。、微指令寄存器:用于存放当前微指令的内容。、微指令寄存器:用于存放当前微指令的内容。、条件判断线路:由、条件判断线路:由GAL20V8GAL20V8芯片组成。功能一是产生清芯片组成。功能一是产生清0 0信号,功能二是产生条件输入信号信号,功能二是产生条件输入信号SCCSCC。 二、得到下一条微指令的方法二、得到下一条微指令的方法(1)、微程序顺序执行时,本地址)、微程序顺序执行时,本地址 + 1 构成下地址。构成下地址。(2)、微程序必须转向某微地址时,某地址必须在微指令字)、微程序必须转向某微地址时,某地址必须在微指

55、令字 中给出。中给出。(3)、如果按执行结果选择顺序执行或转向,微指令字中要)、如果按执行结果选择顺序执行或转向,微指令字中要 指明执行结果及转向地址。指明执行结果及转向地址。 执行结果由运算器的标志位状态、控制器的执行执行结果由运算器的标志位状态、控制器的执行 状态和外设中断状态来判断。状态和外设中断状态来判断。(4)、微子程序的调用及返回控制,用到微堆栈)、微子程序的调用及返回控制,用到微堆栈sp )。)。(5)、转向多条微指令地址中某一地址的控制多分支)。)、转向多条微指令地址中某一地址的控制多分支)。(6)、依据取来的机器指令的操作码,找到对应的微程序的)、依据取来的机器指令的操作码,

56、找到对应的微程序的 入口地址功能分支)。入口地址功能分支)。 根据以上根据以上6 种找下一条微指令的方法,应该从种找下一条微指令的方法,应该从两方面入手:两方面入手:一是:在微指令字中,分配相应字段给出微指令转一是:在微指令字中,分配相应字段给出微指令转 移地址及转移的判断条件。移地址及转移的判断条件。二是:要有专门的硬件支持。实现微指令地址二是:要有专门的硬件支持。实现微指令地址+1 , 按判断按判断 的条件给出判定结果,给出微堆栈的条件给出判定结果,给出微堆栈 管理等。管理等。 三、形成下一条微指令的核心硬件三、形成下一条微指令的核心硬件Am2910Am2910Am2910 Am2910

57、是教学计算机是形成下一条微指令地址的核心硬件。是教学计算机是形成下一条微指令地址的核心硬件。条件允许条件允许条件输入条件输入寄存器计数寄存器计数器装入控制器装入控制堆栈满信号堆栈满信号3个使能信号个使能信号,决决定定D的输入来源的输入来源Y11 Y0,12位位的下地址输出的下地址输出D11 D0,12位的地址输入位的地址输入输出允许控制输出允许控制由12个D触发器组成。用作寄存器时,用于保存一个微地址,用以实现微程序转移。由12个D触发器组成。用作计数器时,具有减一功能,用于控制微程序的循环次数。如果初值是N,则执行则执行N+1次循环。RLD 寄存器/计数器装入控制,RLD=0 时,不管Am2

58、910 所执行的命令和条件如何,都强制把D11D0装入寄存器/计数器。四输入的地址选择器:D端:D11D0 ,来源有3个:1、D来自映射地址部件MAPROM;2、D来自指令的下地址字段。3、D来自手拨开关,手动输入地址。多选器的R端:由寄存器/计数器产生下地址。1.微程序转移时的保存在寄 存器中的微地址/R。2.微程序循环时,计数器具有 减1功能,控制循环次数/C。多选器的F端:微堆栈,由5字12位的寄存器和指针sp 组成。用于保存调用子程序时的返回地址和微程序循环时的首地址。多选器的PC端:微程序计数器,由12位的寄存器和12位的增量器组成。1、当增量器的进位输入CI=1时, 多选器的输出Y

59、加1后装入PC , 用于微程序的顺序执行。2、当增量器的进位输入CI=0时,多 选器的输出Y直接装入PC,用 于微程序的多次执行。命令译码器:用来接收外部送来的命令码CI3CI0。接收条件输入信号/CC和条件允许信号/CCEN,对其译码,产生芯片内工作需要的控制信号,和外部要用的3个控制选择信号:/PL ,/MAP , /VECT 。条件输入信号:/CC条件允许信号:/CCEN 当 /CCEN=0 、 /CC =1 测试通过。当 /CCEN=1 、 /CC =0 测试失效。/CC、/CCEN 与命令码CI3CI0共同决定给出下一条微指令的方案和对堆栈的操作。 命令译码器的输出命令译码器的输出:

60、 :/PL/PL:微程序转移控制,:微程序转移控制, /PL=0/PL=0决定决定D D来自微指令来自微指令字的下地址字段。字的下地址字段。/MAP/MAP: 映射地址控制,映射地址控制,/MAP=0 /MAP=0 决定决定D D来自来自MAPROM MAPROM 映射地址。映射地址。/VECT/VECT:手拨地址控制,:手拨地址控制,/VECT=0 /VECT=0 决定决定D D来自手拨来自手拨开关。开关。 1 1、Am2910 Am2910 芯片的内部组成芯片的内部组成、1 1个四输入的多路地址选择器,从个四输入的多路地址选择器,从D D、R R、F F、pc pc 四路输入选择一路四路输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论