1 / 59

指令:

第6章 控制器部件. 指令:. 是指示计算机执行基本操作的命令 。. 指令也是用户使用计算机的最小功能单位。. 指令系统:.   一台计算机支持(或称使用)的全部指令构成该计算机的指令系统。. 由于指令与计算机的性能以及硬件结构密切相关,所以不同系列、不同型号的机器其 指令系统 可能是不一样的。. 本章主要介绍. 指令的基本格式 简单的寻址方式及应用 指令系统举例 控制器的基本组成. 操作数地址码. 操作码. 6.1 指令的格式. 1、机器指令和汇编指令.   任何一条机器指令由一组有意义的二进制代码构成,称为一个指令字。.

topper
Download Presentation

指令:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 控制器部件 指令: 是指示计算机执行基本操作的命令。 指令也是用户使用计算机的最小功能单位。

  2. 指令系统:   一台计算机支持(或称使用)的全部指令构成该计算机的指令系统。 由于指令与计算机的性能以及硬件结构密切相关,所以不同系列、不同型号的机器其指令系统可能是不一样的。

  3. 本章主要介绍 • 指令的基本格式 • 简单的寻址方式及应用 • 指令系统举例 • 控制器的基本组成

  4. 操作数地址码 操作码 6.1 指令的格式 1、机器指令和汇编指令   任何一条机器指令由一组有意义的二进制代码构成,称为一个指令字。 其基本格式可划分成二个部分:

  5. TEC-2的机器指令 0000010000010010 0000110000010010 0111010000110000 0010110000010000 用机器指令编写的程序是计算机惟一能够直接识别并执行的程序,称为机器语言程序。机器语言程序被称为目标程序(目标代码)。

  6. 机器语言的特点: • 机器直接执行。 • 其缺点是:与机器硬件直接相关,通用性差;编程不直观、难以记忆、使用很不方便。

  7. 以下两段程序一样吗? 101100000000000000000011 000001010000000000110000 001011000000000000000101 101100000000000000000011 001001010000000000110000 001011000000000000000101

  8. 为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用符号代替操作数的存放地址等,这样就形成了汇编指令。为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用符号代替操作数的存放地址等,这样就形成了汇编指令。 例:机器指令:0010110000100001 汇编指令:MOV R2,R1 用汇编指令编写的程序称为汇编源程序。

  9. 机器指令与汇编指令的关系   一条机器指令对应一条汇编指令。 用汇编指令编写程序就直观方便得多。 TEC-2的机器指令 汇编指令 0000010000010010ADDR1,R2 0000110000010010SUBR1,R2 0111010000110000 INCR3 0010110000010000MOVR1,0055 0000000001010101

  10. 汇编语言指令 机器指令代码 MOV R0,05 ADD R0,R3 … … 1000100111011000 … … … 程序员 汇编程序 执行 (翻译) 用汇编语言编写程序及执行的过程

  11. 汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。 汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。 机器语言、汇编语言、高级语言

  12. 目前广泛应用的高级语言有很多种 如: BASIC FORTRAN PASCAL C 等。 用高级语言编译的语句一般会产生多条机器指令。

  13. 例如:编程实现 123 加 456 → 求和

  14. (1) 用C语言实现: Main () { int a, b, sum; a=123; b=456; sum=a+b }

  15. (2) 用8086汇编语言 实现: a dw 123 b dw 456 sum dw ? Code segment assume CS: Code, DS:Code Main:mov ax,data mov ds,ax mov ax, a add ax, b mov sum , ax mov ax, 4c00h int 21h Main endp Code ends end main

  16. (3) 用机器语言实现: 键入代码: -e cs:100 A1 0F 01 03 06 11 01 A3 13 01 B8 00 4C CD 21 为数据分配空间: -e ds:10F 7B 00 C8 01 00 00

  17. 三种语言编写程序占用字节数

  18. 操作数地址码 操作码 2、指令的基本格式 表明操作数存放的位 置,以便找到操作数完成指令的功能。 主要规定指令完成何种功能。

  19. 指令的操作码字段 指令的操作数字段 例如: TEC-2的机器指令 汇编指令 0000010000010010ADDR1,R2 0000110000010010SUBR1,R2 0111010000110000 INCR3 0010110000010000MOVR1,0055 0000000001010101 0055

  20. (1)操作码 在指令系统中,每一条指令都有唯一确定的操作码。 分二种形式: 定长操作码 变长操作码

  21. 定长操作码形式   在指令字中,操作码字段的位数和位置是固定的。

  22. 例如: • TEC-2 机操作码是六位的: • 000000~111111 • 该指令系统最多可有多少条指令? • IBM 360/370 操作码是八位的: • 00000000~11111111 • 该指令系统最多可有多少条指令?

  23. 变长操作码形式   指令系统中,各指令的操作码字段位数不等长。

  24. OP Mod Ri Mod Rj 四位 六位 六位 OP(7) Ri Mod Rj OP(10) Mod Rj OP(13) Rj 为增加操作码长度,采用 ——操作码逐段扩展技术 OP(16)

  25. (2) 操作数地址码的设计   按照指令中地址码字段给出的地址个数的不同. 无地址指令(零地址指令) 一地址指令(单地址指令) 有四种情况: 二地址指令 多地址指令

  26. TEC-2的机器指令 汇编指令 0000010000010010ADD R1,R2 0000110010001001SUB R8,R9 0111010000110000INC R3 0010110000010000 MOV R1,0055H 0000000001010101 000000XXXXXXXXXXNOP

  27. 6.2 指令的寻址方式   在指令的操作数地址字段,可能要指出: ① 运算器中的寄存器的编号或专用寄存器名称(编号)。 ② 输入/输出指令中用到的 I/O 设备的入出端口地址。 ③ 内存的一个存储单元(或一I/O设备)的地址 。

  28. 寻址方式:说明在指令中确定操作数地址的方法。寻址方式:说明在指令中确定操作数地址的方法。 不同的计算机系统,使用数目和功能不同的寻址方式,其实现的复杂程度和运行性能各不相同。

  29. 操作码寄存器编号 1、寄存器寻址 指令地址码字段给出某一通用寄存器的编号(地址),且所需的操作数就在这个寄存器中,这就是寄存器寻址方式; 例如: 0000110010001001SUBR8,R9 0111010000110000INCR3

  30. 2、存储器直接寻址 在指令的地址码字段直接给出所需的操作数(或指令)在存储器中的地址。 … 操作码存储器地址 操作数 内存储器 存储器地址为操作数在存储器中的地址。或转移指令等用到的指令地址。

  31. 操作码 0001 不用 0 0 0 01 0 0 00 0 0 00 0 0 0 存储器直接寻址举例: 例:MOV R1,[0800] 特点是什么?

  32. 3、寄存器间接寻址   若在寄存器中存放的是操作数在内存中所在单元的地址,这就是寄存器间接寻址方式

  33. 操作码寄存器号 例: 若寄存器号 = 5, 该寄存器中的内容为 7, 可记为 (R5) = 7 。 • 对寄存器寻址方式,操作数就是该寄存器的内容 7 。 • 对寄存器间接寻址方式,既从内存第7号单元中读出来的数才是操作数。

  34. 操作数 0000 … OP0101 … 0006 内存储器 0007 0008 0000 0000 0000 0111 R5 … 0 0 0 7 H … … … FFFF 寄存器间接寻址示意图

  35. 思考题 (1)寄存器寻址与寄存器间接寻址的不同点 操作数所在位置不同 指令执行的速度不同 (2)设计寄存器间接寻址的必要性 可有效缩短指令的长度 可方便程序处理的需要

  36. 4、立即数寻址 所需的一个操作数在指令的地址码部分直接给出。 … OPNum 则 Num 即为操作数的值。 适用于操作数固定的情况,提高了指令的执行速度。当该立即数的值限定为较小值(占用位数少)时,可在第一个指令字中直接给出,否则可在第二个指令字中给出。

  37. 0010110000010000 MOV R1,0055H 0000000001010101

  38. 6.3 指令的功能、类型 设计指令系统功能方面的基本要求: • 完整性:指令齐全,编程方便 • 高效性:占内存少,运行省时 • 兼容性:新旧机指令软件兼容

  39. 数据传送类指令 运算类指令 程序控制指令 输入输出指令 特权指令 指令系统的完整性应包含以下类型指令:

  40. 教学计算机TEC-2指令系统简介 • 数据传送类指令 • 运算类指令 • 程序控制指令 • 其他指令

  41. 数据传送类指令 (1)寄存器之间的传送 MOV DR,SR 例如: MOV R0,R9 ;将R9→R0 (2)寄存器与存储器之间的传送 MOV DR, [ADR] MOV DR, [SR] MOV [DR],SR MOV [ADR],SR

  42. 运算类指令 ADD DR,SR ;DR+SR→DR ADC DR,SR ;DR+SR+CF→DR SUB DR,SR ;DR-SR→DR SBB DR,SR ;DR+SR-CF→DR CMP DR,SR ;DR-SR ,影响标志位 INC DR ;DR +1→DR DEC DR ;DR-1→DR MUL SR ;无符号乘 DIV SR ;无符号除

  43. 汇编指令 功能 AND DR, SR ;DR←DR and SR OR DR, SR ;DR←DR or SR XOR DR, SR ; DR←DR⊕SR TEST DR, SR ;DR ﹠ SR

  44. MOV R0,88 MOV R1,R0 MOV R2,0F AND R0,R2 OR R1,R2 XOR R2,R2 请思考:以上几条指令执行以后,R0、R1、R2的值是什么呢?

  45. 在TEC-2 中的移位指令有: SHL DR ; 将DR的内容逻辑左移一位 SHR DR ; 将DR的内容逻辑右移一位 ASR DR ; 将DR的内容算术右移一位 RCL DR ; 将DR的内容循环左移一位 RCL DR ; 将DR的内容循环右移一位 例: MOV R0, 0F MOV R1, R0 SHL R0 SHR R1 RCR R1 请思考:以上几条指令执行后,R0、R1以及CF的值是什么?

  46. R0←0 R1←1 R2←10 R0+R1→R0 R1+1→R1 R2-1→R2 N R2=0? Y 结束 例题:计算 1+2+3+ …+10的和,并将结果保存在R0寄存器中。 800: MOV R0,0 802: MOV R1,1 804: MOV R2,A 806: ADD R0,R1 807: INC R1 ;R1+1→R1 808: DEC R2 ;R2-1→R2 809: JP NZ, 806 ;若R2不为0,则转806 80A: RET

  47. 一、控制器的功能 现代计算机工作的本质是什么? 执行程序,完成程序功能。 程序是什么? 依次排列起来的指令代码。 控制器是计算机系统的核心,它把运算器、存储器、输入输出设备等部件组成一个有机制整体,然后根据指令的要求指挥全机工作。 6.5 控制器的功能和组成概述

  48. 所以控制器的功能在于: • 对指令的控制:计算机的工作过程是连续执行指令的过程,控制器应能保证动态指令流的形成。 • 时序控制:产生固定的时序信号,以保证全机各部件有节奏的工作。 • 操作控制:依据指令内容、指令的执行步骤,形成并提供当前各部件本时刻要用到的全部控制信号。

  49. 总线 PC IR PSW MAR … ID 时序控 ALU 制电路 MDR 主存 … … A 暂存器 暂存器B 控制信号产生部件 R0 … : 部分 发往全机各 ︰ R15 中断逻辑 各主要部件连接框图

  50. 二、控制器的组成 1. PC:程序计数器(Programming Counter) 用来存放将要执行的指令的地址。其内容分两种情况: ① 顺序执行的情况,PC的值应自动修正,加一个增量。 PC+△→PC ② 转移执行的情况,将转移的目标地址送PC. 2. IR:指令寄存器(Instruction Register) 用来存放从存储器中取出的指令。

More Related