计算机组成原理_3_1_第1页
计算机组成原理_3_1_第2页
计算机组成原理_3_1_第3页
计算机组成原理_3_1_第4页
计算机组成原理_3_1_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、第第 3 章章 第第 1 讲讲两项内容:两项内容:1. 指令、指令格式和寻址方式指令、指令格式和寻址方式2. 教学计算机指令系统概述教学计算机指令系统概述 TEC-2000型型 16位位 和和 8位位 字长的字长的 教学机指令系统实例教学机指令系统实例作业:熟悉作业:熟悉16位机的指令系统和程序设计位机的指令系统和程序设计 思考思考 8位机的指令系统:组成、格式位机的指令系统:组成、格式(操作码编码、寻址方式等)(操作码编码、寻址方式等)一、指令系统一、指令系统 指令指令 : 功能功能 定义定义 用法用法指令格式指令格式: 操作码操作码 操作数地址操作数地址固定长度固定长度可变长度可变长度交叉

2、安排交叉安排无地址无地址一地址一地址二地址二地址多地址多地址2. 寻址方式寻址方式 外设寻址外设寻址入入 / 出端口地址方式出端口地址方式 统一映象方式统一映象方式主存寻址主存寻址寄存器寻址寄存器寻址直接寻址直接寻址变址寻址变址寻址寄存器间址寄存器间址间接寻址间接寻址相对寻址相对寻址基地址寻址基地址寻址立即数寻址立即数寻址堆栈寻址堆栈寻址1. 指令与指令格式指令与指令格式 计算机系统由硬件和软件两部分组成。硬件计算机系统由硬件和软件两部分组成。硬件指由中央处理机、存储器以及外部设备等组成的指由中央处理机、存储器以及外部设备等组成的实际装置。软件是为便于用户使用计算机而编写实际装置。软件是为便于

3、用户使用计算机而编写的各种程序,它实际上是由一系列机器指令组成的各种程序,它实际上是由一系列机器指令组成的。的。 指令是用户使用计算机和计算机运行的最小指令是用户使用计算机和计算机运行的最小的功能单位,一台计算机支持(或称使用)的全的功能单位,一台计算机支持(或称使用)的全部指令构成该计算机的指令系统,它对计算机本部指令构成该计算机的指令系统,它对计算机本身的硬件结构的复杂程度和运行性能,对用户完身的硬件结构的复杂程度和运行性能,对用户完成程序设计的难易程度和工作效率,有非常重要成程序设计的难易程度和工作效率,有非常重要的影响,必须对设计指令系统的工作给以足够的的影响,必须对设计指令系统的工作

4、给以足够的重视,慎重确定。重视,慎重确定。对指令系统的要求对指令系统的要求完备性完备性: : 指令齐全,编程方便指令齐全,编程方便高效性:占内存少,运行省时高效性:占内存少,运行省时规整性:指令与运算规则统一规整性:指令与运算规则统一兼容性:新旧机指令软件兼容兼容性:新旧机指令软件兼容当前的计算机指令系统,从其构成的复杂和完备程度,当前的计算机指令系统,从其构成的复杂和完备程度,或者说设计中追求的不同的目标区分,可分为或者说设计中追求的不同的目标区分,可分为 CISC CISC 和和RISC RISC 两类:两类: RISCRISC(Reduced Instruction Set Comput

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

6、对于为复杂指令系统的计算机,是相对于 RISC RISC 一词而提出来的一词而提出来的一种说法。其特点是:指令条数多,格式多样,寻址方式复一种说法。其特点是:指令条数多,格式多样,寻址方式复杂,每条指令的功能强,优点是汇编程序设计容易些,但计杂,每条指令的功能强,优点是汇编程序设计容易些,但计算机控制器的实现困难多,很多指令被使用的机会并不多。算机控制器的实现困难多,很多指令被使用的机会并不多。指令:功能、定义、用法指令:功能、定义、用法指令格式:指令格式: 操作码操作码 操作数地址操作数地址 固定长度固定长度扩展长度扩展长度交叉安排交叉安排无地址无地址一地址一地址二地址二地址多地址多地址三种

7、方案三种方案按操作数按操作数个数划分个数划分教学计算机的操作码:教学计算机的操作码: TEC-2000 16位机采用位机采用 8 位固定长度位固定长度 , 多种寻址方式多种寻址方式 TEC-2000 8 位机采用位机采用 逐段扩展长度,逐段扩展长度, 多种寻址方式多种寻址方式 寻址方式(又称编址方式)指的是确定本条指令的数据地址及寻址方式(又称编址方式)指的是确定本条指令的数据地址及下一条要执行的指令地址的方法。下一条要执行的指令地址的方法。 不同的计算机系统不同的计算机系统, ,使用数目和功能不同的寻址方式,其实现的使用数目和功能不同的寻址方式,其实现的复杂程度和运行性能各不相同。有的计算机

8、寻址方式较少,而有些复杂程度和运行性能各不相同。有的计算机寻址方式较少,而有些计算机采用多种寻址方式。通常需要在指令中为每一个操作数专设计算机采用多种寻址方式。通常需要在指令中为每一个操作数专设一个地址字段,用来表示数据的来源或去向的地址。在指令中给出一个地址字段,用来表示数据的来源或去向的地址。在指令中给出的操作数的地址被称为形式地址,使用形式地址信息并按一定的规的操作数的地址被称为形式地址,使用形式地址信息并按一定的规则计算出来的一个数值才是数据(或指令)的实际地址。在指令的则计算出来的一个数值才是数据(或指令)的实际地址。在指令的操作数地址字段,可能要指出:操作数地址字段,可能要指出:

9、运算器中的累加器的编号或专用寄存器名称(编号)运算器中的累加器的编号或专用寄存器名称(编号) 输入输入/ /输出指令中用到的输出指令中用到的 I/O I/O 设备的入出端口地址设备的入出端口地址 内存储器的一个存储单元(或一内存储器的一个存储单元(或一 I/OI/O设备设备 )的地址)的地址 有多种有多种 基本寻址方式基本寻址方式 和某些和某些 符合寻址方式符合寻址方式, ,简介如下简介如下: : 计算机的计算机的CPU中一般设置有一定数量的通用寄存器,用中一般设置有一定数量的通用寄存器,用于存放操作数、操作数地址或中间结果。假如指令地址码字段于存放操作数、操作数地址或中间结果。假如指令地址码

10、字段给出某一通用寄存器的编号(地址),且给出某一通用寄存器的编号(地址),且所需的操作数就在这所需的操作数就在这一寄存器中,这就是一寄存器中,这就是寄存器寻址方式;若该寄存器中存放的是寄存器寻址方式;若该寄存器中存放的是操作数在内存储器中所在单元的地址,操作数在内存储器中所在单元的地址,这就是这就是寄存器间接寻址寄存器间接寻址方式。可通过指令的操作码或另设一个字段,来区分这两种不方式。可通过指令的操作码或另设一个字段,来区分这两种不同的寻址方式。同的寻址方式。OPRegNo.1、寄存器寻址、寄存器间接寻址、寄存器寻址、寄存器间接寻址例:例:RegNoRegNo.=5.=5, 使用使用 5# 5

11、# 累加器累加器 , 此时此时 5# 5# 累加器中的内容为累加器中的内容为 7 7, 可记为可记为 (R5)=7(R5)=7,对寄存器寻址方式,操作数就是这里的数值对寄存器寻址方式,操作数就是这里的数值 7 7对寄存器间接寻址,从内存对寄存器间接寻址,从内存 7# 7# 单元读出来的数才是操作数单元读出来的数才是操作数2、立即数寻址、立即数寻址 所需的一个操作数在指令的地址字段部分直接给出。所需的一个操作数在指令的地址字段部分直接给出。OPNum则则 Num Num 即为操作数的值。即为操作数的值。适用于操作数固定的情况,提高了指令的执行速度,适用于操作数固定的情况,提高了指令的执行速度,

12、当该立即数的值限定为较小值(占用位数少)时,可在当该立即数的值限定为较小值(占用位数少)时,可在第一个指令字中直接给出,否则可在第二个指令字中给出。第一个指令字中直接给出,否则可在第二个指令字中给出。在指令的地址码字段直接给出所需的操作数(或指令)在指令的地址码字段直接给出所需的操作数(或指令) 在存储器中的地址。在存储器中的地址。OPAddr则则 AddrAddr 为操作数为操作数在存储器中的地址。在存储器中的地址。 或转移指令等用到的指令地址或转移指令等用到的指令地址。3、直接寻址、直接寻址 例:例:AddrAddr = 5718H = 5718H ,这里的,这里的 H H 表示表示 57

13、18 5718 是是 16 16 进制的值,进制的值, 可能用作下一条指令的地址;可能用作下一条指令的地址; 也可能用作操作数的地址,若也可能用作操作数的地址,若 5718H = 3 5718H = 3,即内存,即内存储器储器 5718 5718 单元中的内容为单元中的内容为 3 3, 则操作数就是这里的则操作数就是这里的 3 3 。内存储器内存储器 操作数操作数 操作数的地址由指定的变址寄存器(由操作数的地址由指定的变址寄存器(由Reg指定)的指定)的内容和指令中的地址码(内容和指令中的地址码(Disp)相加得到。)相加得到。4、变址寻址、变址寻址 通用寄存器通用寄存器加法器加法器操作数操作

14、数存储器存储器例:例:Disp=18HDisp=18H,RegReg=5=5,(R5)=5700H(R5)=5700H 则操作数地址则操作数地址 = 5718H= 5718H便于对数组元素进行处理,便于对数组元素进行处理,是计算机中常用的一种寻址方式。是计算机中常用的一种寻址方式。操作数(或指令)的地址由程序计数器操作数(或指令)的地址由程序计数器 PC PC 的内容的内容(即当前执行指令的地址)和指令的地址码相加得到。(即当前执行指令的地址)和指令的地址码相加得到。OPDisp5、相对寻址、相对寻址 例:例:DispDisp = 48H = 48H(PC) = 5600H(PC) = 560

15、0H 则实际地址则实际地址 = 5648H= 5648H1)主要用于转移指令,对浮动程序很有用。主要用于转移指令,对浮动程序很有用。2)位移量可正可负,通常用补码表示。位移量可正可负,通常用补码表示。 指令的地址码字段给出的内容既不是操作数,也不指令的地址码字段给出的内容既不是操作数,也不是操作数的地址,而是操作数(或指令)地址的地址,是操作数的地址,而是操作数(或指令)地址的地址,这被称为间接寻址方式,多一次读内存储器的操作。这被称为间接寻址方式,多一次读内存储器的操作。OPAddr6、间接寻址间接寻址 存储器存储器操作数Addr1指令中的指令中的 Addr 可以用其他寻址方式可以用其他寻址

16、方式给出,例如变址寻址,这就成为变址给出,例如变址寻址,这就成为变址寻址与间接寻址的复合寻址方式。寻址与间接寻址的复合寻址方式。 在计算机中设置一个专用的基址寄存器,操作数(或在计算机中设置一个专用的基址寄存器,操作数(或指令)的地址通过基址寄存器的内容和指令中的地址码相指令)的地址通过基址寄存器的内容和指令中的地址码相加得到加得到。OPDisp7、基址寻址、基址寻址 基址寄存器基址寄存器加法器加法器存储器存储器操作数例:例:DispDisp= 18H= 18H,BS= 5700HBS= 5700H 则操作数地址则操作数地址=5718H=5718H 主要用于为程序或数据分配存储区,对主要用于为

17、程序或数据分配存储区,对多道程序或浮动程序很有用,解决了程序在多道程序或浮动程序很有用,解决了程序在存储器中的定位和扩大寻址空间等问题。存储器中的定位和扩大寻址空间等问题。 堆栈是内存储器中一块按堆栈是内存储器中一块按 “ “后进先出后进先出” ” 原则进行原则进行读写的存储区,并通过一个专用的寄存器(称为堆栈指读写的存储区,并通过一个专用的寄存器(称为堆栈指针针SPSP)给出堆栈的栈顶(和次栈顶)地址完成数据的读)给出堆栈的栈顶(和次栈顶)地址完成数据的读写操作,故不必在指令中用操作数地址字段给堆栈地址。写操作,故不必在指令中用操作数地址字段给堆栈地址。通常在读写操作的前后伴随有计算机自动(

18、不是用户通通常在读写操作的前后伴随有计算机自动(不是用户通过指令)修改过指令)修改 SP SP 内容的动作,以确保按正确的内容的动作,以确保按正确的 “ “后后进先出进先出” ” 原则读写堆栈区。原则读写堆栈区。 例如:(例如:(SPSP)- 1 - 1 SP SP和和 ARAR,即,即SPSP的内容减的内容减 1 1 存回存回 SPSP,并送内存地址寄存器,接下来才可以把数据,并送内存地址寄存器,接下来才可以把数据写到写到堆栈中。完成一次读堆栈操作后,要接着执行(堆栈中。完成一次读堆栈操作后,要接着执行(SPSP)+ 1 + 1 SP SP 的一次自动修改的一次自动修改 SP SP 内容的操

19、作。内容的操作。8、堆栈寻址、堆栈寻址 需要注意的是,指令长度可能是一个字,也可能需要注意的是,指令长度可能是一个字,也可能是两个字或多个字,要看操作数地址字段的位数要求,是两个字或多个字,要看操作数地址字段的位数要求,由具体的情况决定。由具体的情况决定。单字指令仅用一个指令字。单字指令仅用一个指令字。双字指令要用两个指令字双字指令要用两个指令字, , 此时此时第二个指令字的内容第二个指令字的内容可能是立即数、一个可能是立即数、一个直接直接地址或一个变址位移量。地址或一个变址位移量。操操 作作 码码 条件码条件码目的寄存器目的寄存器 源寄存器源寄存器 I/O 端端 口口 地地 址址 条件转移指

20、令的偏移量条件转移指令的偏移量 直接数直接数 / 内存地址内存地址 / 指令中变址偏移量指令中变址偏移量 6位位 2位位 4位位 4位位 第一个指令字分为三个主要部分。第一个指令字分为三个主要部分。 最高最高 6 6 位是操作码。从这个意义上讲位是操作码。从这个意义上讲, , 教学机的基本指教学机的基本指令是固定长度的操作码结构令是固定长度的操作码结构, , 最多支持最多支持6464条基本指令。条基本指令。 中间的两位中间的两位, , 即第即第 9 9、8 8 两位是条件码。目前我们把它两位是条件码。目前我们把它用作条件转移指令的判断条件。用作条件转移指令的判断条件。 最低的最低的 8 8 位

21、有多种用法位有多种用法:给出:给出 1 或或 2 个寄存器的编号,个寄存器的编号,入入/出端口的地址,或用于给出相对转移指令的偏移量。出端口的地址,或用于给出相对转移指令的偏移量。操操 作作 码码 条件码条件码目的寄存器目的寄存器源寄存器源寄存器 I/O 端端 口口 地地 址址 相对转移指令的偏移量相对转移指令的偏移量 直接数直接数 / 内存地址内存地址 / 指令中变址偏移量指令中变址偏移量 8位位 2位位 4位位 4位位 单字指令仅用一个指令字。单字指令仅用一个指令字。 双字指令要用两个指令字双字指令要用两个指令字, , 此时此时第二个指令字的内第二个指令字的内容容可能是立即数、一个可能是立

22、即数、一个直接直接地址或一个变址位移量。地址或一个变址位移量。 操操 作作 码码 目的寄存器目的寄存器源寄存器源寄存器 I/O 端端 口口 地地 址址 相对转移指令的偏移量相对转移指令的偏移量 直接数直接数 / 内存地址内存地址 / 指令中变址偏移量指令中变址偏移量 8位位 4位位 4位位 第一个指令字分为三个主要部分。第一个指令字分为三个主要部分。 最高最高 8 8 位是操作码。从这个意义上讲位是操作码。从这个意义上讲, , 教学机的基本指教学机的基本指令是固定长度的操作码结构令是固定长度的操作码结构, , 最多支持最多支持 256 256 条基本指令。条基本指令。 最低的最低的 8 8 位

23、有多种用法位有多种用法:给出:给出 1 或或 2 个寄存器的编号,个寄存器的编号,或入或入/出端口的地址,或用于给出相对转移指令的偏移量。出端口的地址,或用于给出相对转移指令的偏移量。 操操 作作 码码 目的寄存器目的寄存器源寄存器源寄存器 I/O 端端 口口 地地 址址 相对转移指令的偏移量相对转移指令的偏移量 直接数直接数 / 内存地址内存地址 / 指令中变址偏移量指令中变址偏移量 8位位 4位位 4位位 TEC-2000 16位教学计算机指令举例位教学计算机指令举例00 ADD DR, SR 44 JRC offset 84 PSHF01 SUB DR, SR 45 JRNC offse

24、t 8C POPF 02 AND DR, SR 46 JRZ offset 8F RET 03 CMP DR, SR 47 JRNZ offset04 XOR DR, SR 41 JR offset05 TEST DR, SR 80 JMPA adr06 OR DR, SR CE CALA adr 07 MVRR DR, SR 82 IN i/o port08 DEC DR 86 OUT i/o port09 INC DR0A SHL DR0B SHR DR 88 MVRD DR, data85 PUSH SR 81 LDRR DR, SR 87 POP DR 83 STRR DR,SR操作码

25、组织和汇编语句命名操作码组织和汇编语句命名8位固定长度的操作码位固定长度的操作码 IR15_IR8 IR1514 区分指令分组区分指令分组 IR13 区分基本和扩展指令区分基本和扩展指令 IR12 简化逻辑表达式用简化逻辑表达式用 IR118 区分同组内的不同指令区分同组内的不同指令汇编语句命名汇编语句命名规则:规则: R: 寄存器寄存器 D: 立即数立即数 JR: 相对寻址相对寻址 X: 变址寻址变址寻址 A: 直接地址直接地址例如例如, MVRR MVRD JR(JRC) STRR LDRX CALA JMPA CALR JMPR LDRATEC-2000 16位机基本指令系统位机基本指令

26、系统指令格式指令格式 汇编语句汇编语句 操作数个数操作数个数 CZVS 指令分组指令分组 功能说明功能说明00000000 DRSR ADD DR,SR 2 * A DRDR+SR00000001 DRSR SUB DR,SR 2 * A DRDR-SR00000010 DRSR AND DR,SR 2 * A DRDR and SR 00000011 DRSR CMP DR,SR 2 * A DR-SR00000100 DRSR XOR DR,SR 2 * A DRDR xor SR 00000101 DRSR TEST DR,SR 2 * * A DR and SR 00000110 DR

27、SR OR DR,SR 2 * A DRDR or SR 00000111 DRSR MVRR DR, SR 2 A DRSR00001000 DR0000 DEC DR 1 * A DRDR-100001001 DR0000 INC DR 1 * A DRDR+100001010 DR0000 SHL DR 1 * A DR,CDR*2 00001011 DR0000 SHR DR 1 * A DR,CDR /201000001 OFFSET JR ADR 1 A 无条件跳转无条件跳转 01000100 OFFSET JRC ADR 1 A C=1 时跳转时跳转01000101 OFFSET

28、 JRNC ADR 1 A C=0 时跳转时跳转01000110 OFFSET JRZ ADR 1 A Z=1 时跳转时跳转01000111 OFFSET JRNZ ADR 1 A Z=0 时跳转时跳转TEC-2000 16位机基本指令系统位机基本指令系统指令格式指令格式 汇编语句汇编语句 操作数个数操作数个数 CZVS 指令分组指令分组 功能说明功能说明10000000 0000000 JMPA ADR 1 B 无条件跳到无条件跳到ADR ADR(16位)位)10000001 DRSR LDRR DR,SR 2 B DRSR10000010 I/O PORT IN I/O PORT 1 B

29、R0I/O PORT 10000011 DRSR STRR DR,SR 2 B DRSR 10000100 00000000 PSHF 0 B FLAG 入栈入栈10000101 0000SR PUSH SR 1 B SR 入栈入栈10000110 I/O PORT OUT I/O PORT 1 B I/O PORTR0 10000111 DR POP DR 1 B 出栈到出栈到 DR00001000 DR0000 MVRD DR, DATA 2 B DRDATA DATA(16位)位)10001100 00000000 POPF 1 * * B FLAG出栈出栈10001111 00000000 RET 1 B 子程序返回子程序返回11001110 00000000 CALA ADR 1 D 调用子程序调用子程序 ADR(16位)位)TEC-2000 8位机基本指令系统位机基本指令系统 指令格式指令格式 汇编语句汇编语句 操作数个数操作数个数 CZVS 指令分组指令分组 功能说明功能说明 0000 DRSR ADD

温馨提示

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

最新文档

评论

0/150

提交评论