第5章 指令系统的设计

合集下载

计算机硬件系统设计--(5)Instruction System-指令系统

计算机硬件系统设计--(5)Instruction System-指令系统

机型 EDSAC IBM 701 CDC 6600 IBM S/360 DEC PDP-8 DEC PDP-11 Intel 8008 Motorola 6800 DEC VAX Intel 8086 Motorola 68000 Intel 80386 MIPS HP PA-RISC SUN SPARC IBM PowerPC DEC Alpha
加快经常性事件
Make the common case fast
好的设计需要适度的折衷
Good design demands good compromises
MIPS指令概述
MIPS (Microprocessor without Interlocked Pipeline Stages)
编译后的变量映射:
g
h
i
j
A[0]
$s1
$s2
$s3
$s4
$s5
循环结构
最后编译的MIPS代码:
Loop: sll $t1,$s3,2 addu $t1,$t1,$s5 lw $t1,0($t1) addu $s1,$s1,$t1 addu $s3,$s3,$s4 bne $s3,$s2,Loop
释义 固定值为0 硬件置位 汇编器保留,临时变量 函数调用返回值 4个函数调用参数 暂存寄存器,调用者按需保存 save寄存器,被调用者按需保存 暂存寄存器,同上 操作系统保留,中断异常处理 全局指针 (Global Pointer) 堆栈指针 (Stack Pointer) 帧指针 (Frame Pointer) 函数返回地址 (Return Address)
(in C) (in MIPS)
(in MIPS)
加立即数
常数相加指令

第5章 指令系统

第5章  指令系统

1.立即寻址方式
寻找的操作数紧跟在指令操作码之后,也就是说 地址码字段存放的不是操作数的地址,而是操作 数本身。 立即寻址方式的特点是:指令执行的时间很短, 因为不需要访问存储器获取操作数,从而节省了 访问存储器的时间;立即寻址方式的使用范围很 有限,主要用于给寄存器赋初值。 【例5-1】 MOV AX,67 指令执行后,(AX)=67。
操作的示意图如下图所示,这条指令的执行结果为 (AX)=3412H。

存储器 操作码 操作码 AX 00H 代码段 位 移 DISP 量
01H 20000H
201A0H 12H 34H
数据段
6.基址变址寻址

操作数的偏移地址是一个基址寄存器(BX、BP) 和一个变址寄存器(SI、DI)的内容之和。基址 变址寻址方式的格式表示为:[基址寄存器名][变 址寄存器名]或[基址寄存器名+变址寄存器名]。操 作数默认位于那个段中,是由指令中使用的基址 寄存器决定的,如果指令中指定的基址寄存器是 BX,则操作数默认在数据段中,取DS寄存器的 值作为操作数的段地址值;如果指令中指定的基 址寄存器是BP,则操作数默认在堆栈段中,取SS 寄存器的值作为操作数的段地址值,从而计算得 操作数的20位物理地址,继而访问到操作数。
每条指令由两部分组成:操作码字段和地
址码字段。格式如图5-1所示:操作码操作 数(地址码)
操作码 操作数(地址码)
图5-1 指令格式
操作码字段:用来说明该指令所要完成的操作。 地址码字段:用来描述该指令的操作对象。一般是直接给 出操作数,或者给出操作数存放的寄存器编号,或者给出操作 数存放的存储单元的地址或有关地址的信息。 根据地址码字段所给出地址的个数,指令格式可分为零地 址、一地址、二地址、三地址、多地址指令。大多数指令需要 双操作数,分别称两个操作数为源操作数和目的操作数,指令 运算结果存入目的操作数的地址中去。这样,目的操作数的原 有数据将被取代。

电气控制与Plc第5章-S7-200-PLC的基本指令及程序设计

电气控制与Plc第5章-S7-200-PLC的基本指令及程序设计
(Q0.0)
KA2
(M0.1)
KM2
(Q0.1)
KM1
(Q0.0)
KM2
(Q0.1)
KA1
(M0.0)
图5-4 电气原理图
LD M0.0 A I0.0 = Q0.0
LD Q0.0
AN M0.1
=
Q0.1
AN Q0.1
=
M0.0
(a) 梯形图
图5-5 触点串联指令编程使用举例
(b) 语句表
触点并联指令使用说明:
EXIT
5.1.2 触点串连指令
与指令:用于单个常开触点的串联连接。 指令格式:A bit
与反指令:用于单个常闭触点的串联连接。 指令格式:AN bit
例3-2 触点串联指令的应用举例。图5-4为电气原理图(已标 地址),图5-5为对应的梯形图和语句表。
KA1
(M0.0)
SB
(I0.0)
KM1
EXIT
5.1.9 逻辑堆栈操作指令
S7-200 PLC使用了一个9层堆栈来处理所有逻辑操作, 逻辑堆栈指令主要用来完成对触点进行的复杂连接,配 合ALD、OLD指令使用。
1.指令
1)逻辑入栈指令 指令格式:LPS
2)逻辑读栈指令 指令格式:LRD
3)逻辑出栈指令 指令格式:LPP
4)装入堆栈指令 指令格式:LDS n
I0.1 I0.2 Q0.1,Q0.2
(b) STL
(c) 时序图
图5-14 S/R指令使用举例
EXIT
S/R指令使用说明
➢S/R指令的操作数为:I、Q、M、SM、T、C、V、S和 L。 ➢ N的常数范围为1~255,N也可为:VB、IB、QB、 MB、SMB、SB、LB、AC、常数、*VD、*AC和*LD。 一般情况下使用常数。 ➢ 对位元件来说一旦被置位,就保持在通电状态,除非对 它复位;而一旦被复位就保持在断电状态,除非再对它置 位。

第5章 指令与指令系统和汇编语言程序设计(2)

第5章 指令与指令系统和汇编语言程序设计(2)

运行过程中,可以直接看到屏幕上显示的内容,运行过后,再用D 20F0命令看内存的20F0区域中保存的运行结果,6个大写的英文字母 已经被修改为小写字母: 0061 0062 0063 0064 0065 0066
汇编语言程序设计
1 将寄存器R2和R3的内容相加,结果存入R0。 2 将寄存器R2和R3的内容相加,如果有进位,寄存器R0的内 容置1,否则置0 3 若R1的内容是负数则置R0为-1,否则置0(提示:用TEST) 4 检测R3的是奇数,R0的内容置为1,否则置为0。(提示: 用移位检测C的方法来测量一位) 5 将内存中1000H起始的10个单元的内容取出加2送入原地址。 6 已知内存中1000H起始的10个单元中的数是ASC码,将其取 出送显示。 7 将键盘录入的数存到内存1000H单元中。 8 将键盘录入的10个数存到内存1000H-1009H。
有寄存器寻址,寄存器间接寻址等7种。
从表5.1中可以看出, (A组) INC DR 单操作数(DR的内容加1) (B组) LDRR DR,[SR] 双操作数 (DR [SR])
(4)从指令的功能区分
有运算、读写内存类指令,输入输出指令,转移 指令,子程序调用指令,置进位标志指令等。
从表5.1中可以看出, (A组) ADD DR ,SR 加运算 (B组) LDRR DR,[SR] 读写内存
41 42 43 44 45 46
A 2080
MVRD R3, 0006 ;指定被读数据的个数
MVRD R2, 20F0 ;指定被读、写数据内存区首地址
(2084) LDRR R0, [R2]
;读内存中的一个字符到R0寄存器
CALA 2100 ;调用子程序(入口地址为2100),完成显示、

第5章 指令系统

第5章 指令系统

第五章指令系统操作系统:DOS,WINDOWS,UNIX,......程序设计语言服务程序:KV300,PCTOOLS,...机器语言:汇编语言:高级语言解释执行编译执行PASCAL易教好学FORTRAN 计算C 长于计算控制BASIC易学好记COBOL事务管理应用软件:WORD,EXCEL,ACCESS,DBASE,......二进制,CPU直接执行的指令系统把源程序汇编成机器语言目标程序计算机系统软件5.1 指令系统概述计算机系统中运行的软件有系统软件和应用软件两种。

系统软件对整个计算机系统进行调度、管理、监视、服务,为用户提供使用方便,扩大机器功能,提高机器使用效率。

应用软件是用户针对某种领域实际应用需求而开发的软件。

许多通用商品化的应用软件现已成为系统软件,如Word 等。

前述所有各种软件的设计基础就是计算机的指令系统。

名词解释:指令:命令计算机直接进行某种基本操作的二进制代码串,也叫机器语言代码。

每条指令可以完成一个独立的算术运算或逻辑运算操作。

从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令。

微指令是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件;而机器指令则介于微指令与宏指令之间。

指令系统:一台计算机能直接理解与执行的全部指令的集合称为该机的指令系统,也叫机器语言。

指令系统是进行计算机逻辑设计和编制程序的基本依据。

它直接说明了这台计算机的功能.不同类型CPU的指令系统是不能混用与兼容的,但同一系列的CPU一般升级后指令都有扩充,并可兼容。

复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)5.2指令格式5.2.1 指令的结构指令字:代表指令的一组二进制代码信息;指令长度:指令字中二进制代码的位数;1、典型的指令格式OP A操作码OP——指明操作性质的命令码,提供指令的操作控制信息。

操作对象A——说明操作数存放的地址,有时则就是操作数本身。

第五章 指令系统习题

第五章 指令系统习题

第五章指令系统一、选择题1、采用直接寻址,操作数在中。

A、主存B、寄存器C、硬盘D、光盘2、为了缩短指令中某个地址段的位数,有效的方法是采取。

A、立即寻址B、变址寻址C、间接寻址D、寄存器寻址3、指令系统采用不同寻址方式的目的是。

A、实现存储程序和程序控制B、缩短指令长度,扩大寻址空间,提高编程灵活性C、可以直接访问外存D、提供扩展操作码的可能,并降低指令译码难度4、假设寄存器R中的数值为200,主存地址为200和300的地址单元中存放的内容分别是300和400,则方式下访问到的操作数为200。

A、直接寻址200B、寄存器间接寻址(R)C、存储器间接寻址(200)D、寄存器寻址R5、输入输出指令的功能是。

A、进行算术运算和逻辑运算B、进行主存和CPU之间的数据传送C、进行I/O设备和CPU之间的数据传送D、改变程序执行的顺序6、下列关于RISC的描述中,不正确的是。

A、只选用简单的,使用频率高的指令,所以采用RISC的CPU的性能较差,不能运行复杂的指令B、指令长度固定,指令格式和寻址方式少C、采用硬布线逻辑,提高指令执行的速度D、采用指令流水线技术,大部分指令都能在一个机器周期中完成。

7、间接寻址是指。

A、指令中直接给出操作数地址B、指令中直接给出操作数C、指令中间接给出操作数D、指令中间接给出操作数的地址8、基址寻址方式中,操作数的有效地址等于。

A、基址寄存器的内容加上形式地址(偏移量)B、变址寄存器的内容加上形式地址(偏移量)C、程序计数器的内容加上形式地址(偏移量)D、堆栈寄存器的内容加上形式地址(偏移量)8.通常指令编码的第一个字段是__ __A.操作B.指令C.操作码D.控制码9.堆栈常用于 _A.程序转移B.输入输出C.数据移位D.保护程序现场10.在堆栈中保持不变的是_ _A.栈指针B.栈底C.栈顶D.栈中数据11.设寄存器R=1000,地址1000处的值为2000,2000处为3000,PC的值为4000,用相对寻址方式,-2000(PC)的操作数是__ __A.4000 B.3000C.5000 D.700012.直接转移指令的功能是将指令中的地址代码送入__ __A.PC B.累加器C.存储器 D.地址寄存器13.以下的 D 不能支持数值处理。

第 5 章 指令系统

第 5 章 指令系统

2013-11-23
25
• 一地址指令长度短,指令执行速度快 (若A为存储器地址,只需一次访存取 数),对于字长较短的微、小型机,是 一种常用的指令格式。
2013-11-23
26
5.零地址指令
• 零地址指令中只有操作码而无地址码,其指令 格式为; OP
• 零地址指令有两种情况: • ① 不需操作数的控制型指令,如HALT、WAIT、 NOP等。 • ② 运算型零地址指令:操作数隐含在堆栈中。
2013-11-23 15
• 三地址指令格式:
OP A1 A2 A3
• • • • •
A1:第一源操作数的存储器地址或寄存器地址; A2:第二源操作数的存储器地址或寄存器地址; A3:存放操作结果的存储器地址或寄存器地址; 三地址指令功能为: (A1)OP(A2)→A3; PC 指示下条指令地址
2013-11-23
2013-11-23 29
2) 变长编码
• 变长编码的指令操作码:不同指令的操作码长度 不完全相同,操作码的位数不固定,分散地放在 指令字的不同位置上。 • 变长编码操作码的特点: • 可用较短的指令字长表示更多的操作类型,寻址 较大的存储空间。 • 操作码的位数不固定,且位置分散,增加了指令 译码与分析的难度,使硬件设计复杂化。 • 在早期的微、小型机中,由于指令字较短,均采 用变长编码的指令操作码。如Intel 8086、PDP一 11等机器。
2013-11-23 32
0000 xxxx xxxx xxxx 15条三地址指令 1110 xxxx xxxx xxxx 1111 0000 xxxx xxxx 15条二地址指令 1111 1110 xxxx xxxx 1111 1111 0000 xxxx 15条单地址指令 1111 1111 1110 xxxx 1111 1111 1111 0000 16条零地址指令 1111 1111 1111 1111 2013-11-23 33

第五章指令系统

第五章指令系统

教学内容安排•第一章绪论•第二章数码系统•第三章运算方法和运算器•第四章存储系统•第五章指令系统•第六章中央处理器•第七章输入输出设备•第八章输入输出系统第五章指令系统5.1 基本概念5.2 指令格式5.3 寻址方式5.4 指令的种类5.5 指令系统的发展教学重点和难点•寻址方式第五章指令系统 5.1 基本概念•指令(Instruction):计算机的硬件(CPU)设计好以后它能直接识别并执行的基本操作。

•指令系统(Instruction Set)或指令集:某个CPU能够直接识别并执行的所有指令的集合。

•指令字长:指令的二进制代码的位数。

注意:指令系统均针对特定的CPU而言,不同的CPU它们的指令系统可能不相同或不完全相同。

第五章指令系统5.1 基本概念5.2 指令格式5.3 寻址方式5.4 指令的种类5.5 指令系统的发展教学重点和难点•寻址方式第五章指令系统 5.2 指令格式任何一条机器指令是机器语言的一个语句,它由一组二进制代码构成。

包括两部分:•操作码•地址码第五章指令系统 5.2 指令格式根据地址码所给出的地址的个数,可以把指令分为零地址指令,一地址指令,二地址指令,三地址指令,和多地址指令。

第五章指令系统 5.2 指令格式指令字长与机器字长•指令的长度取决于操作码的长度和地址码的长度。

任何一条指令构成一个指令字。

•一个指令字中所包含的二进制数码的位数称为指令字长度。

•机器字长是指计算机的运算部件一次能直接处理的二进制数据的位数。

•指令长度与机器字长没有固定的关系,指令长度可以小于或大于机器的字长。

如单字长,半字长,双字长甚至4字长指令都是可取的。

•例如Intel8086的机器字长是16位,而指令字长最短的有8位,最长的有48位。

第五章指令系统 5.2 指令格式8086 微处理器的存储器管理•Intel 8086是字长16位的处理器,地址线20根,按字节编址,最大存储容量为1MB。

地址范围是00000H-FFFFFH。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指令格式
操作码字段(OP) 固定字长(RISC) 扩展字长(PDP-11)
5.3 机器指令的格式
地址码字段(A) 无地址 一地址 二地址 多地址
交叉安排(NOVA)
操作码长度固定:便于硬件设计,指令译码时间短, 操作码长度不固定:可有效地压缩操作码的平均长度, 广泛应用于字长较长的、大中型计算机和超级小型计 在字长较短的微机中被广泛采用。如PDP-11,
算机以及 RISC 中。如IBM370和VAX-11系列机,操 Intel80X86 等。 作码长度均为8位。
指令的字长
5.3 机器指令的格式
指令长度 = opcode长度 + ∑(操作数地址码长度)
字长
CPU一次能处理的二进制位数,与机器的功能和用途有关 字长的重要性
(1)决定了计算机的精度,字长大 精度高
第五章 指令系统的设计
1 2 3 指令系统的作用和性能要求 机器指令的设计要素
指令的基本格式
操作类型和操作数类型 指令寻址方式和操作数寻址方式 CISC和RISC的指令系统
4
5
6ห้องสมุดไป่ตู้
掌握:指令格式、数据的表示、指令和数据的寻址
方式、指令的种类等。 理解:设置各类指令应考虑的因素。 了解:指令系统的发展、RISC指令系统的特点,对
操作码的扩展技术
OP 0000 0001 …… 1110 A1 A1 A1 A1 A2 A2 A2 A2 A3 A3 A3 A3 1111 1111 …… 1111 1111 1111 1111 0000 0001 1110 A1 A1 A1
四位操作码,15条三地址指令 1111 1111 …… 1111 0000 0001 1110 A1 A1 A1 A2 A2 A2
地址结构
指令中提供地址的方式
5.3 机器指令的格式
显示地址方式:指令中明显指明地址(直接或间接给 出) 隐式地址方式:地址隐含约定,不出现在指令中。使 用该方式可以减少指令中的地址数,简化地址结构
(2)地址码的长度决定了指令的直接寻址能力,n2n 扩大寻址能力的方法 (1)增加地址码的长度 (2)地址扩展 ① 存储空间分段 ② 基址 + 位移量
一些概念
5.3 机器指令的格式
机器字长:计算机能直接处理的二进制数据的位数 。 指令字长:一个指令字中包含二进制代码的位数: 单字长指令:指令字长等于机器字长的指令; 半字长指令:指令字长等于半个机器字长的指令; 双字长指令:指令字长等于两个机器字长的指令 。 在一个指令系统中,如果各种指令字长度是相等的,称为等长 指令字结构,它们可以都是单字长指令或半字长指令。这种指 令字结构简单,且指令字长是不变的。 如果各种指令字长随指令功能而异,比如有的指令时单字长指 令,有的指令时双字长指令,就称为变长指令字结构。这种指 令字结构灵活,能充分利用指令长度,但指令的控制较复杂。
对汇编程序的方便程度和运行效率密切相关。 从计算机组成的层次结构来说,计算机的指令有微指令、 机器指令和宏指令之分。
5.1指令系统的作用和性能要求
计算机的指令
微指令:微程序级的命令,它属于硬件; 宏指令:由若干条机器指令组成的软 件指令,它属于软件 ; 机器指令(指令):介于微指令与宏指令之间,每 条指令可完成一个独立的算术运算或逻辑运算;
I4 I5 I6 I7
5 3 1 1
1100 1101 1110 1111
4 4 4 4
例题
一台模型机共有7条指令,主频25MHz,各指令的使用频率与CPI如 下。该模型机有8位和16位两种指令字长,采用2-4扩展操作码。8位 字长指令为寄存器(R-R)二地址类型,16位字长指令为寄存器- 存储器(R-M)二地址变址寻址类型(-128<=变址范围<=127)。 指令(字长) 使用频度f CPI I1(8位) 35% 1 I2(8位) 25% 2 I3(8位) 20% 2 I4(16位) 10% 2 I5(16位) 5% 1 I6(16位) 3% 2 I7(16位) 2% 2 (1) 计算该机的MIPS速率。(2) 计算操作码的平均码长。(3) 该机允许使用多少个可编址的通用寄存器,多少变址寄存器?(4) 设计该机的两种指令格式,标出各字段位数并给出操作编码。
十二位操作码,15条三地址指令 1111 1111 …… 1111 1111 1111 1111 1111 1111 1111 0000 0001 1111
八位操作码,15条二地址指令
十六位操作码,16条零地址指令
除了上述扩展方式外,还有其他多种扩展方式.如15条三地址指 令,14条两地址指令,31条一地址指令和6条零地址指令.在可变 长度的指令系统设计中,到底使用哪种扩展方法,衡量原则是使 用频度。还要考虑规整性,指令长度是字节的整数倍。 指令 I1 I2 I3 概率Pi(%) 45 28 17 操作码 00 01 10 操作码长度(位) 2 2 2
性能要求
5.1指令系统的作用和性能要求
1、完备性:指指令系统直接提供的指令足够使用,而不必用 软件来实现,编程方便。 2、有效性:是指利用该指令系统所编写的程序能够高效地运 行。程序占据存储空间小、执行速度快。 3、规整性: 对称性:所有的指令都可使用各种寻址方式; 匀齐性:指令可以支持各种数据类型; 指令格式和数据格式的一致性:指令长度和数据长度有 一定的关系,以方便处理和存取。 4、兼容性:即低档机上运行的软件可以在高档机上运行。 都满足有难度,但可以指导我们设计出更高质量的指令系统。
5.1指令系统的作用和性能要求
指令集应考虑的因素
(1)操作指令表:应提供多少和什么样的操作,
操作的复杂程度;
(2)数据类型:所支持的数据类型; (3)指令格式:指令的(位)长度、地址数目、 各个字段的大小等; (4)寄存器:能被指令访问的CPU寄存器数目
以及它们的用途;
(5)寻址方式:指定操作数地址的产生方式。
指令系统的设计有一个清晰的认识。
学时:4学时。
5.1指令系统的作用和性能要求
指令系统的作用
计算机的程序是由一系列的指令组成的,指令就是要计
算机执行某种操作的命令 ,是计算机操作运行、程序人
员使用计算机的最小功能单位。一台计算机所提供的全 部指令构成该计算机的指令系统。指令系统设计、安排
好坏,对计算机硬件的复杂程度、运行性能有直接影响,
相关文档
最新文档