版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章指令系统
4.1指令系统的发展与性能要求微指令:微程序级的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。宏指令宏指令与子程序的异同宏指令与子程序共同的优点是:简化源程序代码。二者有以下区别:子程序调用是在程序运行过程中进行,而宏调用是在汇编过程中完成,所以采用子程序方式程序的进行要花费额外的开销,而宏指令方式不用。在源程序中,n次宏调用就要生成n个代码段,而子程序只生成一个代码段,所以采用宏指令方式需要较大的内存空间。宏指令宏指令——由用户自己定义的一些频繁出现的程序段从某种意义上讲,它与子程序有相似之处又具有明显的区别,主要表现在以下几个方面:①宏调用语句由宏汇编语言程序来识别和处理;而子程序是由CPU来执行。②宏指令程序段汇编成的机器代码每调用宏指令一次,就要插入一次,而子程序的机器代码是只需要一份,因此宏调用并不能缩短目标代码的长度。③宏调用无需像子程序那样需要保留程序的断点和现场,有较快的执行速度。④宏调用时允许修改参数,即同一宏指令在不同调用时可完成不同操作;而子程序各次调用只能完成完全相同的功能。*宏指令适用于要求多次执行较短程序段,或希望在调用中能修改某些参数的情况;宏指令4.1.1指令系统的发展指令系统:一台计算机中所有机器指令的集合,它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。4.1.1指令系统的发展50年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。60年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。70年代末期:大多数计算机的指令系统多达几百条。我们称这些计算机为复杂指令系统计算机(CISC)。但是如此庞大的指令系统难以保证正确性,不易调试维护,造成硬件资源浪费。为此人们又提出了便于VLSI技术实现的精简指令系统计算机(RISC)。
4.1.2对指令系统性能的要求完备性用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。一台计算机中最基本、必不可少的指令是不多的。许多指令可用最基本的指令编程来实现。例如,乘除运算指令、浮点运算指令可直接用硬件来实现,也可用基本指令编写的程序来实现。采用硬件指令的目的是提高程序执行速度,便于用户编写程序。
4.1.2对指令系统性能的要求有效性利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。对某些复杂,低速的指令设置要反复比较是用软件(子程序)来实现,还是硬件提供必要的支持。4.1.2对指令系统性能的要求规整性规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性是指指令长度和数据长度有一定的关系,以方便处理和存取。正交性:指令中各个不同含义字段之间,在编码时应互相独立,互不相关。例,地址的计算与操作码无关。4.1.2对指令系统性能的要求兼容性系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。以前的指令集只能是当前指令集的子集。4.1.3低级语言与硬件结构的关系高级语言:如C,FORTRAN等,其语句和用法与具体机器的指令系统无关。低级语言:分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。4.1.3低级语言与硬件结构的关系表4.1高级语言与低级语言的性能比较比较内容高级语言低级语言1对程序员的训练要求(1)通用算法(2)语言规则(3)硬件知识有较少不要有较多要2对机器独立的程度独立不独立3编制程序的难易程度易难4编制程序所需时间短较长5程序执行时间较长短6编译过程中对计算机资源的要求多少汇编语言依赖于计算机的硬件结构和指令系统。不同的机器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。第四章指令系统
4.2指令格式4.2指令格式操作码字段地址码字段4.2.1操作码(OP)指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。4.2.1操作码对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通常是固定的。在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的,即不同类型的指令有不同的划分,以便尽可能用较短的指令字长来表示越来越多的操作种类,并在越来越大的存储空间中寻址。固定长度编码的主要缺点是:信息的冗余极大,使程序的总长度增加。
4.2.1操作码
地址码字段
操作码字段操作码字段地址码字段指令译码器缓冲寄存器高三位译码器111××4.2.1操作码
地址码字段
操作码字段操作码字段地址码字段缓冲寄存器高三位译码器×××指令译码器4.2.2地址码根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。操作码A1A2A3操作码A1A2操作码A1操作码二地址指令二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。存储器-存储器(SS)型指令:操作时都是涉及内存单元,参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中,因此机器执行这种指令需要多次访问内存。寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。寄存器-存储器(RS)型指令:执行此类指令时,既要访问内存单元,又要访问寄存器。4.2.3指令字长度指令字长度:一个指令字中包含二进制代码的位数(字节或字的整倍数)。机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。4.2.3指令字长度使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。其主要缺点是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。4.2.3指令字长度等长指令字结构:各种指令字长度是相等的。这种指令字结构简单,且指令字长度是不变的。变长指令字结构:各种指令字长度随指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较复杂。4.2.4指令助记符为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。典型指令指令助记符二进制操作码加法
ADD
001减法
SUB
010传送
MOV
011跳转
JMP
100转子
JSR
101存储
STR
110读数
LDA
111
指令设计举例间接寻址标志为0时表示地址码为操作数地址,为1时表示地址码为操作数地址的地址;操作码的设计:000将存储器中的数据读到寄存器A;001将寄存器A中的数据写入存储器;010将存储器中的数据与寄存器A中的数据相加,结果送到寄存器A;011将寄存器A清零;100转移;101停机。110和111待指令扩展。操作码3位间接寻址标志1位地址码12位3112指令设计举例I表示间接寻址;操作码的设计:000(LDA)将存储器中的数据读到寄存器A;001(STA)将寄存器A中的数据写入存储器;010(ADD)将存储器中的数据与寄存器A中的数据相加,结果送到寄存器A;011(CLA)将寄存器A清零;100(JMP)转移;101(HLT)停机。110和111待指令扩展。4.2.5指令格式举例1.八位微型计算机的指令格式
操作码单字长指令
操作码操作数地址双字长指令
操作码操作数地址1操作数地址2
三字长指令4.2.5指令格式举例2.
PDP/11系列机指令格式字长16位;单字长指令;操作码字段不固定。4.2.5指令格式举例3.pentium指令格式pentium机的指令字长度是可变的:从1字节到12字节,还可以带前缀。这种非固定长度的指令格式是典型的CICS结构特征。一是为了与它的前身80486保持兼容,二是希望能给编译程序写作者以更多灵活的编程支持。指令的前缀是可选项,其作用是对其后的指令本身进行显示约定。每个前缀占1个字节。4.2.5指令格式举例3.pentium指令格式0或1
0或1
0或1
0或1(字节数)指令前缀段取代操作数长度取代地址长度取代
1或2
0或1
0或1
0,1,2,4
0,1,2,4(字节数)操作码Mod
Reg或操作码
R/M比例S
变址I
基址B位移量立即数
2位3位3位2位3位3位4.2.5指令格式举例指令与前缀的区分前缀各部分间的区分4.3操作数类型一般的数据类型
Pentium数据类型
PowerPC数据类型
4.3.1一般的数据类型地址数据:地址实际上也是一种形式的数据。数值数据:计算机中普遍使用的三种类型的数值数据(定点、浮点、压缩十进制)。字符数据:文本数据或字符串,目前广泛使用ASCII码。逻辑数据:一个单元中有几位二进制bit项组成,每个bit的值可以是1或0。当数据以这种方式看待时,称为逻辑性数据。4.3.2Pentium数据类型常规整数序数未压缩的BCD压缩的BCD近指针位串字符串浮点数
4.3.3PowerPC数据类型无符号字节无符号半字有符号半字无符号字有符号字无符号双字字节串浮点数
4.4指令和数据的寻址方式在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。当采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式。寻址方式分为两类:指令寻址方式数据寻址方式4.4.1指令的寻址方式1.顺序寻址方式2.跳跃寻址方式4.4.1指令的寻址方式4.4.2操作数寻址方式形成操作数有效地址的方法,称为寻址方式。
指令中操作数字段的地址码是由形式地址和寻址方式特征位等组合形成,因此,一般来说,指令中所给出的地址码,并不是操作数的有效地址。因此,寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。4.4.2操作数寻址方式如8086汇编中的STC指令,设置标志寄存器的C为14.4.2操作数寻址方式4.4.2操作数寻址方式4.4.2操作数寻址方式4.4.2操作数寻址方式4.4.2操作数寻址方式4.4.2操作数寻址方式4.4.2操作数寻址方式相对寻址方式相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言。
采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。相对寻址方式基址寻址方式基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。
它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。基址寻址方式变址寻址方式变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。变址寻址方式相对、基址、变址寻址方式的比较寄存器与形式地址相加得到有效地址(PC被称为指令指针寄存器)相对、基址、变址寻址方式的比较PC不能够通过程序赋值相对寻址的相加是一种对位相加PC形式地址D有效地址相对、基址、变址寻址方式的比较基址寄存器与变址寄存器都是可以通过程序赋值的。基址寻址中的形式地址也有称作偏移量的。变址寄存器通常设有多个。这两种寻址方式的相加均为不对位相加。相对、基址、变址寻址方式的比较基址、变址寄存器形式地址D有效地址相对、基址、变址寻址方式的比较变址寻址的另一种方案变址寄存器形式地址D有效地址块寻址方式如果数据块是变长的,可用三种方法指出它的长度:指令中划出字段指出长度;指令格式中指出数据块的首地址与末地址;由块结束字符指出数据块长度。段寻址方式段寻址方式的实质还是基址寻址。堆栈寻址方式分寄存器堆栈、存储器堆栈以先进后出原理存储数据堆栈寻址方式堆栈是一组能存储和取出数据的暂时存储单元。很多计算机把存储器的一部分用作堆栈。堆栈和其他形式的存储器之间的差别就在于,它们对数据的存取方法或寻址方法有所不同。堆栈寻址方式堆栈是一种数据结构,是数据的一种组织方式。栈是一种只能在叫做栈顶的一端进行进栈和出栈操作的线性数据结构。栈的主要特点是“后进先出”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哈夫曼代码课程设计
- 门铃课程设计的目的
- 2024年工程春节停工期间安全措施方案
- 环状管网平差课程设计
- 变电所施工方案
- 湖北理工学院《通信电子线路》2021-2022学年期末试卷
- 湖北理工学院《JavaEE编程》2022-2023学年期末试卷
- 湖北工业大学《电气工程概预算》2021-2022学年期末试卷
- 湖北工业大学《电工电子学(一)》2021-2022学年期末试卷
- 庭院植物配置技巧及搭配方案
- 备战2025年高考语文易错题(新高考专用)易错题11 小说文本阅读之叙事特征分析题-对叙事特征范畴理清不清含答案
- 第二单元测试卷-2024-2025学年语文三年级上册统编版
- 教学计划(教学计划)-2024-2025学年大象版四年级科学上册
- 委托律师还款合同协议书
- 湖北省2025届高三(9月)起点考试 化学试卷(含答案)
- 幼儿园大班韵律《兔子与农夫》课件
- 6《芣苢》《插秧歌》公开课一等奖创新教学设计统编版高中语文必修上册
- 加强学校食堂管理提高食品安全意识(培训课件)
- 国家能源集团招聘笔试题库2024
- 医疗联合体战略合作协议(2024年版)
- 2024年秋季人教版七年级上册历史全册大单元整体设计教学课件
评论
0/150
提交评论