第七章 指令系统
- 格式:doc
- 大小:63.50 KB
- 文档页数:6
第7章S7-300和S7-400 PLC系统配置与编程本章的内容是向大家介绍西门子公司的SIMATIC S7-300和S7-400两个系列的PLC。
S7-300/400 PLC在结构上属于模块式结构,简单的说,一台完整的S7-300或者S7-400 PLC,是由基板(RACK)+ 各种模块组成的。
各种模块的选择,基于控制系统功能的需要,所有的模块安装在基板上,最终构成一台完整的PLC。
S7-300与S7-400的设计与编程通过STEP 7软件包来完成。
本章的主要内容:●S7-300与S7-400的系统配置●S7-300与S7-400的指令系统●S7-300与S7-400应用系统的编程本章重点是熟悉S7-300/400 系统的结构,了解S7-300与S7-400 PLC的各种模块的功能和特点;掌握STEP 7编程软件的基本知识和使用方法,从而具备设计开发S7-300或S7-400 PLC系统的能力。
7.1 S7-300 PLC和S7-400 PLC的系统配置7.1.1 S7-300 PLC的基本组成S7-300是模块式的PLC,它的组成部件主要有以下几个部分:1. 中央处理单元(CPU)各种CPU单元有不同的性能,有的集成有数字量和模拟量输入/输出点,而有的集成有PROFIBUS-DP等通信接口。
CPU面板上有状态故障显示灯、模式开关、24 V电源输入端子、电池盒与存储器模块盒(有的CPU没有)。
2. 负载电源模块(PS)负载电源模块用于将AC 220 V电源转换为DC 24 V电源,提供给CPU和I/O模块使用。
额定输出电流有2 A、5 A和10 A三种。
3. 信号模块(SM)数字量输入/输出模块和模拟量输入/输出模块的总称,它们使不同的过程信号电压或电流与PLC内部的信号电平匹配。
4. 功能模块(FM)用于对实时性和存储容量高的控制任务,例如高速计数器模块、快速/慢速进给驱动位置控制模块、步进电动机定位模块、伺服电动机定位模块、闭环控制模块、工业标识系统的接口模块、称重模块、位置输入模块等。
计算机组成原理书籍计算机组成原理是计算机科学与技术专业的一门重要课程,也是计算机相关专业的基础课程之一。
它主要介绍计算机系统的基本组成和工作原理,包括计算机硬件、软件及其相互关系等内容。
本书籍旨在系统地介绍计算机组成原理的相关知识,帮助读者全面理解计算机系统的工作原理,为进一步学习计算机相关课程打下坚实的基础。
第一章,计算机系统概述。
计算机系统由硬件和软件两部分组成,硬件是计算机的物理实体,包括中央处理器、存储器、输入输出设备等;软件是指控制计算机硬件工作的程序和数据。
计算机系统的基本组成包括运算器、控制器、存储器、输入设备和输出设备等。
了解计算机系统的概念和基本组成对于深入学习计算机组成原理至关重要。
第二章,数字逻辑基础。
数字逻辑是计算机组成原理中的基础知识,它主要研究数字信号的产生、传输、处理和控制等。
数字逻辑包括数字信号的表示、逻辑运算、布尔代数、逻辑门电路等内容。
理解数字逻辑对于理解计算机内部运行机制和设计数字电路至关重要。
第三章,指令系统。
指令系统是计算机硬件和软件之间的接口,它规定了计算机能够执行的指令集合和指令的格式。
指令系统的设计直接影响了计算机的性能和功能。
了解指令系统的结构和功能对于理解计算机工作原理和进行汇编语言编程非常重要。
第四章,中央处理器。
中央处理器是计算机系统的核心部件,它负责执行各种指令和数据处理操作。
中央处理器由运算器和控制器两部分组成,它通过总线与存储器和输入输出设备进行数据交换。
深入理解中央处理器的结构和工作原理对于理解计算机的运行机制至关重要。
第五章,存储器系统。
存储器是计算机系统中用于存储数据和程序的设备,它包括主存储器和辅助存储器两部分。
存储器系统的设计和管理直接影响了计算机的性能和可靠性。
了解存储器系统的结构和工作原理对于优化程序设计和系统性能具有重要意义。
第六章,输入输出系统。
输入输出系统是计算机与外部环境进行信息交换的接口,它包括输入设备、输出设备和接口电路等。
课后习题(第七章)1、为了缩短指令中地址码的位数,应采用( B )寻址。
A、立即数B、寄存器C、直接D、间接2、指令系统中采用不同寻址方式的目的主要是( B )A. 可降低指令译码难度B. 缩短指令字长、扩大寻址空间、提高编程灵活性C. 实现程序控制D. 提高指令执行速度3、零地址运算指令在指令格式中不给出操作数地址,它的操作数来源自( C )A. 立即数和栈顶B. 暂存器C. 栈顶或隐含约定的位置D. 存储器4、单地址指令中,为完成两个数的算术运算,除地址译码指明的一个操作数外,另一个数常采用( C )A. 堆栈寻址方式B. 立即寻址方式C. 隐含寻址方式D. 基址寻址方式5、二地址指令中,操作数的物理位置安排,描述正确的是( C )A. 两个主存单元(且依然在现指令系统中采用)B. 栈顶和次栈顶C. 主存单元或寄存器D. 两个同时为寄存器不允许使用6、操作数在寄存器中的寻址方式称为( C )寻址A. 直接B. 立即C. 寄存器直接D. 寄存器间接7、寄存器间接寻址方式中,操作数在( C )A. 通用寄存器B. 堆栈C. 主存单元D. I/O外设中8、变址寻址方式中,操作数的有效地址是( C )A. 基址寄存器内容加上形式地址B. 程序计数器内容加上形式地址C. 变址寄存器内容加上形式地址D. 形式地址本身9、采用基址寻址可扩大寻址范围,且( B )A. 基址寄存器内容由用户确定,在程序执行过程中一般不可变B. 基址寄存器内容由操作系统确定,在程序执行过程中一般不可变C. 基址寄存器内容由用户确定,在程序执行过程中可随意变化D. 基址寄存器内容由操作系统确定,在程序执行过程可随意变化10、变址寻址和基址寻址的有效地址形成方式类似,但是( C )A. 变址寄存器内容在程序执行过程中是不可变的B. 在程序执行过程中,变址寄存器和基址寄存器的内容可以随意变化C. 在程序执行过程中,变址寄存器的内容可随意变化D. 以上均不对11、堆栈寻址中,设A为累加器,SP为栈顶指针,[SP]为其指向的栈顶单元,如果进栈的动作顺序是(SP)-1SP,(A)[SP],那么出栈的动作顺序是( A )A. [SP] (A),(SP)+1SPB. (SP)+1SP,[SP] (A)C. (SP)-1SP,[SP] (A)D. [SP] (A),(SP)-1SP12、设变址寄存器为X,形式地址为D,某机具有先变址再主存间址的寻址方式,则这种寻址方式的有效地址为( C )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D13、设变址寄存器为X,形式地址为D,某机具有先主存间址再变址的寻址方式,则这种寻址方式的有效地址为( B )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D14、运算型指令的寻址和转移类指令的寻址不同点在于( A )A. 前者取操作数,后者决定程序转移地址B. 前者计算转移地址,后者取操作数C. 前者是短指令,后者是长指令D. 前者是长指令,后者是短指令15、指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现( C )A. 程序的条件转移B. 程序的无条件转移C. 程序的条件转移和无条件转移D. 以上均不对16、设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量(补码表示),若CPU每当从存储器取出一个字节时,即自动完成(PC)+1PC。
第七章指令系统内容简介:本章主要介绍机器指令系统的分类、常见的寻址方式、指令格式以及指令系统的设计;此外对RISC、CISC技术也作了简要的介绍。
要求:掌握指令的格式、基本的寻址方式和指令格式的设计初步掌握指令的分类和指令格式的优化设计理解指令系统结构以及RISC、CISC结构的特点7.1指令格式指令:指示计算机执行某种操作的命令。
指令系统:一台计算机能执行的全部指令的集合。
计算机的指令系统与计算机的硬件结构关系密切,决定着计算机硬件的主要性能和基本功能,直接影响到系统软件和应用软件。
7.1.1指令格式每条指令由操作码和地址码两部分组成7.1.2操作码操作码:是用来指明该指令所要完成的操作,CPU中有专门的电路来解释每个操作码。
通常,操作码的长度(位数)反映了机器的操作种类,也即机器允许的指令条数,如操作码占7位,则该机器最多包含27=128条指令。
操作码的长度可以是固定的,也可以是变化的。
固定长度操作码:便于进行指令译码和分析、存储可变长度操作码:在满足需要的前提下,能有效地缩短指令字长,提高指令的读取与执行速度,但也增加了指令译码和分析的难度,使控制器的设计复杂。
7.1.3地址码地址码:指出指令中操作数所在的存储器地址或寄存器地址,根据指令中操作数地址码的数目的不同,可将指令分成三地址指令、二地址指令、一地址指令、零地址指令等多种格式(地址结构逐步简化)。
三地址指令:(A1)OP(A2)A3分别按A1与A2地址读取操作数,按操作码OP进行运算操作,然后将结果存入A3地址所指定的主存单元或寄存器中。
二地址指令:(A1)OP(A2)A1分别按A1与A2地址读取操作数,按操作码OP进行运算操作,然后将结果存入A1地址所指定的主存单元或寄存器中(A1地址所指定的主存单元或寄存器中原来存放的数据被覆盖)。
一地址指令:一地址指令有两种常见的形态,根据操作码含义确定它究竟是哪一种:1只有目的操作数的单操作数指令,如果操作码含义是加1、减1、求反、求补一类,则该指令是单操作数指令。
什么叫机器指令什么叫指令系统为什么说指令系统与机器指令的主要功能以及与硬件结构之间存在着密切的关系机器指令:是CPU能直接识别并执行的指令,它的表现形式是二进制编码。
机器指令通常由操作码和操作数两部分组成。
指令系统:计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。
指令系统是计算机硬件和软件的接口部分,是全部机器指令的集合。
什么叫寻址方式为什么要学习寻址方式寻址方式:指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,它与硬件结构紧密相关,而且直接影响指令格式和指令功能。
学习寻址方式,是为了找到指令中参与操作的数据,然后根据指令,得出结果。
什么是指令字长、机器字长和存储字长指令字长:是指机器指令中二进制代码的总位数。
指令字长取决于从操作码的长度、操作数地址的长度和操作数地址的个数。
不同的指令的字长是不同的。
机器字长:是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。
机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。
即字长越长,数的表示范围也越大,精度也越高。
机器的字长也会影响机器的运算速度。
存储字长:一个存储单元存储一串二进制代码(存储字),这串二进制代码的位数称为存储字长,存储字长可以是8位、16位、32位等。
某指令系统字长为16位,地址码取4位,提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。
解:三地址指令格式如下:4 4 4 4OP A1 A2 A3指令操作码分配方案如下:4位OP0000,……,A1,A2,A3:8条三地址指令0111,1000,0000,……,……,A2,A3:16条二地址指令1000,1111,1001,0000,0000,……,……,……,A3:100条一地址指令1001,0110,0011,1001,0110,0100,……,……,……,冗余编码1001,1111,1111,可用来扩充一、零地址指令条数1010,……,冗余编码1111,可用来扩充三、二、一、零地址指令条数设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。
第7章指令系统(一)选择题1.二地址指令中,操作数的物理位置可安排在(可多选)A.两个主存单元 B 两个寄存器C一个主存单元和一个寄存器 D 栈顶和次栈顶2.寄存器间接寻址方式中,操作数在A.通用寄存器B.堆钱 C 主存单元3.基址寻址方式中,操作数的有效地址是A.基址寄存器内容加上形式地址(位移量)B.程序计数器内容加上形式地址c.变址寄存器内容加上形式地址4.采用基址寻址可扩大寻址范围,且A.基址寄存器内容由用户确定,在程序执行过程中不可变B.基址寄存器内容由操作系统确定,在程序执行过程中不可变c.基址寄存器内容由操作系统确定,在程序执行过程中可变5.变址寻址和基址寻址的有效地址形成方式类似,但是A.变址寄存器的内容在程序执行过程中是不可变的B.在程序执行过程中,变址寄存器、基址寄存器和内容都是可变的C.在程序执行过程中,基址寄存器的内容不可变,变址寄存器中的内容可变6.堆找寻址方式中,设A为累加器,SP为堆楼指示器,Msp为SP指示的钱顶单元,如果进栈操作的动作顺序是(A)→Msp,(SP)-1→SP,那么出栈操作的动作顺序应为A. (Msp)→A,(SP) +1→SPB. (SP) +1→SP,(Msp)→AC. (SP)-1→SP,( Msp)→A7.设变址寄存器为X,形式地址为D,某机具有先变址再间址的寻址方式,则这种寻址方式的有效地址为A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)8. IBM PC中采用了段寻址方式,在寻访一个主存具体单元时,由一个基地址加上某寄存器提供的16位偏移量来形成20位物理地址。
这个基地址由来提供。
A.指令中的直接地址(16位)自动左移4位B. CPU中的四个16位段寄存器之一自动左移4位C. CPU中的累加器(16位)自动左移4位9.指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现A.程序浮动B.程序的无条件转移和浮动C.程序的条件转移和无条件转移10.扩展操作码是A.操作码字段以外的辅助操作字段的代码B.指令格式中不同字段设置的操作码C.一种指令优化技术,即让操作码的长度随地址数的减少而增加,不同地址数的指令可以具有不同的操作码长度11.设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),若CPU每当从存储器取出一个字节时,即自动完成(PC)+1→PC,设当前PC的内容为2000H,要求转移到2008H地址,则该转移指令第二字节的内容应为A. 08HB. 06 HC.0AH12.设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),若CPU每当从存储器取出一个字节时,即自动完成(PC)+ 1→PC 设当前PC的内容为2009H,要求转移到2000H地址,则该转移指令第二字节的内容应为A. F5HB. F7HC. 09H13.设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(可正可负),则转移的地址范围是A. 255B. 256C. 25414.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序是A.直接、立即、间接B.直接、间接、立即C.立即、直接、间接15.为了缩短指令中地址码的位数,应采用寻址。
A.立即数B.寄存器C.直接16.在指令格式设计中,采用扩展操作码的目的是A.增加指令长度B.增加寻址空间C.增加指令数量17.设机器字长为16位,存储器按字编址,对于单字长指令而言,读取该指令后,PC值自动加A. 1B. 2C. 418.设机器字长为16位,存储器按字节编址,设PC当前值为1000H,当读取一条双字长指令后,PC 值为A. 1001 HB. 1002HC. 1004H19.转移指令的主要操作是A.改变程序计数器PC的值B.改变地址寄存器的值C.改变程序计数器的值和堆栈指针SP的值20.子程序调用指令完整的功能是A.改变程序计数器PC的值B.改变地址寄存器的值C.改变程序计数器的值和堆栈指针SP的值21.子程序返回指令完整的功能是A.改变程序计数器的值B.改变堆栈指针SP的值C.从堆栈中恢复程序计数器的值22.下列是错误的。
A.为了充分利用存储器空间,指令的长度通常可取字节的整数倍B.一地址指令是固定长度的指令C.单字长指令可加快取指令的速度23.在二地址指令中是正确的。
A.指令的地址码字段存放的一定是操作数B.指令的地址码字段存放的→定是操作数地址C运算结果通常存放在其中一个地址码所提供的地址中24. 对于实现程序浮动提供了较好的支持。
A.间接寻址B.变址寻址C.相对寻址25. 便于处理数组问题。
A.间接寻址B.变址寻址C.相对寻址26. 有利于编制循环程序。
A.基址寻址B.相对寻址C.寄存器间址27.下列叙述中能反映RISC的特征。
(本题是多项选择)A.丰富的寻址方式B.指令执行采用流水方式C.控制器采用微程序设计D.指令长度固定E只有LOAD/STORE指令访问存储器F.难以用优化编译生成高效的目标代码G.配置多个通用寄存器28.下列叙述中能反映CISC的特征。
(本题是多项选择)A.丰富的寻址方式B.控制器采用组合逻辑设计C.指令字长固定D.大多数指令需要多个时钟周期才能执行完成E各种指令都可以访存F.只有LOAD/STORE指令可以访存G.采用优化编译技术(二)填空题1.指令字中的地址码字段(形式地址)有不同的含义,它是通过寻址方式体现的,因为通过某种方式的变换,可以得出有效地址。
常用的指令地址格式有零地址、一地址、二地址和三地址四种。
2.在非立即寻址的一地址格式指令中,其中一个操作数通过指令的地址字段安排在寄存器或存储器中。
3.在二地址格式指令中,操作数的物理位置有三种形式,它们是寄存器-寄存器型、寄存器-存储器型和存储器-存储器型。
4.变址寻址和基址寻址的区别是:基址寻址中的基址寄存器提供基准量,指令的地址码字提供位移量而变址寻址中的变址寄存器提供修改量,指令的地址码字段提供基准量5.把两种寻址方式相结合就形成了复合寻址方式,常见的复合寻址方式可把变址和间址相结合,它可分为先变址后间址和先间址后变址两种。
6.指令寻址的基本方式有两种,一种是顺序寻址方式,其指令地址由程序计数器PC 给出,另一是跳跃寻址方式,其指令地址由指令本身给出。
7.条件转移、无条件转移、子程序调用指令、中断返回指令都属程序控制类指令,这类指令的地址码字段指出的地址不是操作数的地址,而是下一条的地址。
8.设机器指令系统可完成98种操作,指令字长为16位,操作码长度固定。
若该指令系具有直接、间接、变址、基址、相对、立即六种寻址方式,则在保证最大范围内直接寻址的前提下,其指令代码中操作码占7 位,寻址特征占 3 位,形式地址码占 6 位,一次间址的范是2169.某机采用三地址格式指令,共能完成50种操作,若机器可在1K地址范围内直接寻,则指令宇长应取36 位,其中操作码占 6 位,地址码占30 位。
10.某机共有156条指令,采用一地址格式,则指令字需取24 位才能直接寻址64K个储单元。
完成一条这种格式的加法指令,需访问两次存储器。
11.设D为指令字中的形式地址,D=FCH,(D)= 40712,如果采用直接寻址方式,有效地是FCH ,参与操作的操作数是40712 。
如果采用一次间接寻址方式,其间接地址是FCH ,有效地址是40712 ,参与操作的操作数是(40712) (注:地址40712所对应的存储单元内容) 12. RISC指令系统选取使用频度较高的一些简单指令,复杂指令的功能由简单指令的组合来实现。
其指令长度固定,指令格式种类少,寻址方式种类少,只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行,且采用流水线技术,大部分指令在一个时钟周期时间内完成。
13只有操作码没有地址码的指令称为零地址格式指令14.在一地址的运算指令中,通常第一操作数在累加器(ACC)中,第二操作数由指令地址码给出,运算结果在累加器(ACC)中。
15操作数的地址隐含在指令的操作码中,这种寻址方式是隐含寻址16.在寄存器寻址中,指令的地址码给出寄存器号,而操作数在寄存器中。
17.在寄存器间接寻址中,指令中给出的是操作数所在的寄存器编号。
18.程序控制类指令包括各类转移指令,用户常用的有无条件指令、条件指令和子程序调用指令。
19. 变址寻址和基址寻址的有效地址形成方式极为相似,但它们的应用场合不同,前者主要用于处理数组程序,后者支持多道程序的应用(三)问答题1.指令字中有哪些字段?各有何作用?如何确定这些字段的位数?答:1.指令字中有三种字段:操作码字段、寻址特征字段和地址码字段。
操作码字段指出机器完成某种操作,其位数取决于指令系统的操作种类。
寻址特征字段指出该指令以何种方式寻找操作数的有效地址,其位数取决于寻址方式的种类。
地址码字段和寻址特征字段共同指出操作数或指令的有效地址,其位数与寻址范围有关。
2.比较变址寻址和基址寻址的异同点。
.答:两者的区别如下:基址寻址(1)有效地址等于形式地址加上基址寄存器的内容。
(2)可扩大寻址范围。
(3 )基址寄存器的内容由操作系统给定,且在程序的执行过程中不可变。
(4)支持多道程序技术的应用变址寻址(1)有效地址等于形式地址加上变址寄存器的内容。
(2)可扩大寻址范围。
(3)变址寄存器的内容由用户给定,且在程序的执行过程中可变。
(4)用于处理数组程序。
3.设某机器共能完成78种操作,若指令字长为16位,试问单地址格式的指令其地址码可取几位?若想使指令的寻址范围扩大到216,可采用什么办法?举出三种不同的例子加以说明。
答:根据78种操作,可求出操作码的位数为7位,则单地址格式的指令地址码占16-7=9位。
欲使指令的寻址范围扩大到216,可采用以下三种寻址方法。
(1)若指令字长等于存储字长均为16位,则采用间接寻址可使寻址范围扩大到216,因为间址时(设非多次间址)从存储单元中取出的有效地址为16位。
(2)采用变址寻址,并设变址寄存器XR 为16位,则有效地址EA= (XR) +A(形式地址),所以可使寻址范围扩大到216。
(3)采用基址寻址,并设基址寄存器BR 为16位,则有效地址EA= (BR) +A ,即可使寻址围扩大到2l6。
4.若机器采用三地址格式访存指令,试问完成一条加法指令共需访问几次存储器?若该机共能完成54种操作,操作数可在lK 地址范围内直接寻找,试画出该机器的指令格式。
答:根据题意,指令字长为36位,其格式为其中,OP 占6位操作码,可完成54种操作;A1占10位,第一操作数地址,寻址范围为1K;A2占 10位,第二操作数地址,寻址范围为1 K;A3占10位,存放结果的地址,寻址范围为1 K 。