计算机组成原理指令系统方案.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理指令系统方案.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 指令系统 方案
- 资源描述:
-
1、计算机组成原理计算机组成原理武汉科技大学武汉科技大学计算机科学与技术学院计算机科学与技术学院第四章指令系统第四章指令系统n本章内容本章内容4.1 指令系统的发展和性能要求指令系统的发展和性能要求4.2 指令格式指令格式4.3 操作数类型操作数类型4.4 指令和数据的寻址方式指令和数据的寻址方式4.5 典型指令典型指令4.6 ARM汇编语言汇编语言4.1.14.1.1指令系统的发展指令系统的发展1.1.程序:程序:解决某一实际问题的指令序列解决某一实际问题的指令序列2.2.指令:指令:要计算机执行某种操作的命令要计算机执行某种操作的命令 4.1 指令系统的发展与性能要求指令系统的发展与性能要求3
2、.3.指令系统:指令系统:一台计算机中所有机器指令的集合一台计算机中所有机器指令的集合(1)(1)微指令:微指令:微程序级的命令,属于硬件微程序级的命令,属于硬件(2)(2)宏指令:宏指令:由若干机器指令和伪指令构成的软件指令由若干机器指令和伪指令构成的软件指令(3)(3)机器指令机器指令(指令指令):介于微指令与宏指令之间,每条指令可完成介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算一个独立的算术运算或逻辑运算从计算机层次结构的观点看,指令可分三类:从计算机层次结构的观点看,指令可分三类:目录目录4.4.指令系统的发展指令系统的发展 50 50年代年代只有只有定点加减定点
3、加减、逻辑运算逻辑运算、数据传送数据传送、转移等十转移等十几至几十条指令几至几十条指令 6060年代后期年代后期增加了增加了乘除运算乘除运算、浮点运算浮点运算、十进制运算十进制运算、字符串处理字符串处理等,指令多达一二百条,寻址方式也趋多样化等,指令多达一二百条,寻址方式也趋多样化 6060年代后期年代后期开始出现开始出现系列计算机系列计算机 7070年代末期年代末期CISCCISC(Complex Instruction Set Computer)(Complex Instruction Set Computer)RISCRISC(Reduced Instruction Set Comput
4、er)(Reduced Instruction Set Computer)系列计算机系列计算机基本指令系统、体系结构相同的一系列计算机基本指令系统、体系结构相同的一系列计算机系列计算机系列计算机必要条件必要条件同一系列的各机种有共同的指令集;且同一系列的各机种有共同的指令集;且实现实现“向上兼容向上兼容”CISCCISC和和RISCRISCnCISCCISC复杂指令系统计算机,多达几百条复杂指令系统计算机,多达几百条研制周期长,不易调试维护,且造成硬件资源浪费研制周期长,不易调试维护,且造成硬件资源浪费nRISCRISC精简指令系统计算机精简指令系统计算机 n从从CISCCISC转变到转变到R
5、ISCRISC的原因的原因n指令系统百分比的指令系统百分比的2020:8080规律规律n降低控制器设计难度降低控制器设计难度一个完善的指令系统应满足的条件:一个完善的指令系统应满足的条件:1.1.完备性完备性指令丰富、功能齐全、使用方便指令丰富、功能齐全、使用方便用汇编语言编各用汇编语言编各种程序时,直接提供的指令种程序时,直接提供的指令足够用足够用2.2.有效性有效性程序程序占存储空间小、执行速度快占存储空间小、执行速度快3.3.规整性规整性对称性、匀齐性、指令格式和数据格式的一致性对称性、匀齐性、指令格式和数据格式的一致性 对称性:对称性:所有的寄存器和存储器单元都可同等对待;所有的指所有
6、的寄存器和存储器单元都可同等对待;所有的指令都可使用各种寻址方式令都可使用各种寻址方式 匀齐性:匀齐性:一种操作指令可支持各种数据类型一种操作指令可支持各种数据类型 指令格式和数据格式的一致性:指令格式和数据格式的一致性:指令长度和数据长度有一定关指令长度和数据长度有一定关系,方便处理和存取系,方便处理和存取4.4.兼容性兼容性 “向上兼容向上兼容”4.1.24.1.2指令系统的性能要求指令系统的性能要求低级语言分低级语言分机器语言机器语言(二进制二进制)和和汇编语言汇编语言(符号符号)高级语言与低级语言的性能比较:高级语言与低级语言的性能比较:高级语言高级语言的语句和用法与具体机器的指令系统
7、无关的语句和用法与具体机器的指令系统无关低级语言低级语言和具体机器的指令系统密切相关和具体机器的指令系统密切相关机器语言机器语言是机器能直接识别和执行的是机器能直接识别和执行的惟一惟一语言语言汇编语言汇编语言与硬件关系密切,编写的程序紧凑、占内存小、速与硬件关系密切,编写的程序紧凑、占内存小、速度快,适合编写经常与硬件打交道的度快,适合编写经常与硬件打交道的系统软件系统软件高级语言高级语言不涉及机器的硬件结构,通用性强、编写程序容易,不涉及机器的硬件结构,通用性强、编写程序容易,适合编写与硬件没有直接关系的适合编写与硬件没有直接关系的应用软件应用软件4.1.34.1.3低级语言与硬件结构的关系
8、低级语言与硬件结构的关系高级语言与低级语言的比较高级语言与低级语言的比较比较内容比较内容高级语言高级语言低级语言低级语言1 对程序员的训练要求:(1)通用算法(2)语言规则(3)硬件知识有较少不需要有较多需要2 对机器独立的程度独立不独立3 编制程序的难易程度易难4 编制程序所需时间短较长5 程序执行时间较长短6 编译过程中对计算机资源(时间和存储容量)的要求多少4.2 指令格式指令格式 指令字指令字(简称指令简称指令)表示一条指令的机器字表示一条指令的机器字 指令格式指令格式指令字用二进制代码表示的结构形式指令字用二进制代码表示的结构形式表征指令的操作特性与功能表征指令的操作特性与功能位数取
9、决于指令系统的规模,分位数取决于指令系统的规模,分固定位数和可变位数固定位数和可变位数4.2.14.2.1操作码操作码4.2.24.2.2地址码地址码参与操作的参与操作的操作数的地址操作数的地址或或操作数本身操作数本身三地址指令格式、二地址格式、一地址格式和零地址格式三地址指令格式、二地址格式、一地址格式和零地址格式操作码字段操作码字段OPOP 地址码字段地址码字段A A目录目录(1)(1)零地址指令零地址指令两种情况:两种情况:一是该指令不需要操作数,如一是该指令不需要操作数,如NOPNOP指令指令二是操作数隐含,如二是操作数隐含,如DAADAA操作数隐含于累加器操作数隐含于累加器ACAC中
10、中(2)(2)一地址指令一地址指令(单操作数指令单操作数指令)也有两种情况:也有两种情况:一是指令本身只需要一个操作数,如一是指令本身只需要一个操作数,如NOTNOT指令指令二是被操作数和结果隐含于累加器二是被操作数和结果隐含于累加器ACAC中中 ACAC (AC)(AC)OPOP(A)(A)(A)(A)表示地址为表示地址为A A的内存或通用寄存器中的数的内存或通用寄存器中的数关于地址码个数的有关说明关于地址码个数的有关说明操作码操作码 1 1 操作码操作码 (3)(3)二地址指令二地址指令(双操作数指令双操作数指令)A1A1 (A1)(A1)OPOP(A2)(A2)按操作数的物理位置不同又分
11、为:按操作数的物理位置不同又分为:SSSS型、型、RRRR型、型、RSRS型指令型指令(4)(4)三地址指令三地址指令 A3A3(A1)(A1)OPOP(A2)(A2)A1A1被操作数地址,也称源操作数地址被操作数地址,也称源操作数地址 A2A2操作数地址,也称终点操作数地址操作数地址,也称终点操作数地址 A3A3存放结果的地址存放结果的地址A1A1,A2A2,A3A3可为内存单元或通用寄存器的地址可为内存单元或通用寄存器的地址操作码操作码 1 1 2 23 3操作码操作码 1 1 2 2关于地址码个数的有关说明关于地址码个数的有关说明(续续)机器字长机器字长:计算机能直接处理的二进制数的位数
12、计算机能直接处理的二进制数的位数指令字长度指令字长度:指令字包含二进制代码的位数,指令字包含二进制代码的位数,等长、变长等长、变长两种两种等长指令字结构:等长指令字结构:结构简单,且指令字长度不变结构简单,且指令字长度不变变长指令字结构:变长指令字结构:结构灵活,但控制较复杂结构灵活,但控制较复杂4.2.34.2.3指令字长度指令字长度设设L L为指令字长度,为指令字长度,NN为机器字长度为机器字长度L=NL=N单字长指令单字长指令L=0.5NL=0.5N半字长指令半字长指令L=2NL=2N双字长指令双字长指令多字长指令多字长指令的的优点、缺点优点、缺点典型的指令助记符典型的指令助记符典型指令
13、典型指令 指令助记符指令助记符 二进制操作码二进制操作码 加法加法 ADD 001 减法减法 SUB 010 传送传送 MOV 011 跳转跳转 JMP 100 转子转子 JSR 101 存数存数 STO 110 取数取数 LAD 1114.2.44.2.4指令助记符指令助记符不同的计算机中,指令助记符的规定不同不同的计算机中,指令助记符的规定不同指令助记符借助汇编程序可自动转换成相应的二进制码指令助记符借助汇编程序可自动转换成相应的二进制码1.1.八位微型计算机八位微型计算机(字长字长8 8位位)的指令格式的指令格式 可变字长形式:单字长、双字长、三字长指令可变字长形式:单字长、双字长、三字
14、长指令操作码操作码 操作码操作码 1 12 2操作码操作码 1 1单字长指令单字长指令 双字长指令双字长指令 三字长指令三字长指令 内存内存按字节按字节编址编址,每执行一条指令后,指令地址的修正,每执行一条指令后,指令地址的修正加加1 1、加、加2 2、加、加3 34.2.54.2.5指令格式举例指令格式举例字长字长3232位,字节寻址,通用寄存器位,字节寻址,通用寄存器3232个个R R型指令型指令所有算术运算,数据必须放在通用寄存器中所有算术运算,数据必须放在通用寄存器中2.2.MIPS R4000MIPS R4000指令格式指令格式RISCRISC 6位5位5位5位5位6位oprsrtr
15、dshamtfunctR型I I型型(立即数立即数)指令指令访问存储器访问存储器(存数或取数存数或取数)6位5位5位16位oprsrt常数或地址(address)I型MIPSMIPS指令的字段值指令的字段值指令指令格式格式 oprsrtrdshamtfunct常数或地址常数或地址add(加加)R0reg reg reg032sub(减减)R0reg reg reg034立即数加立即数加I8reg reg常数lw(取字取字)I35reg regaddresssw(存字存字)I43reg regaddress返回到返回到举例举例ARMARM指令集的一种指令格式指令集的一种指令格式3.3.RAMRA
16、M的指令格式的指令格式3232位嵌入式处理器位嵌入式处理器condFIopcodeSRnRdoperand24位2位1位4位1位4位4位12位指令字长度可变:指令字长度可变:1 1 1212字节,典型的字节,典型的CICSCICS结构结构1或或2 0或或1 0或或1 0,1,2,4 0,1,2,4操作码操作码ModReg或操作码或操作码R/M比例比例S变址变址I基址基址B位移量位移量立即数立即数4.4.PentiumPentium指令格式指令格式由由操作码操作码、Mod-R/M、SIB、位移量位移量、立即数字段立即数字段组成,除操组成,除操作码字段外,其他四个字段均可选作码字段外,其他四个字段
17、均可选2位位 3位位 3位位 2位位 3位位 3位位 例例1 1已知指令格式,已知指令格式,OPOP为操作码,试分析其特点为操作码,试分析其特点 解解:(1)(1)单字长二地址指令单字长二地址指令(2)(2)操作码字段操作码字段OPOP为为7 7位,可指定位,可指定128128条指令条指令(3)(3)源寄存器和目标寄存器都是通用寄存器源寄存器和目标寄存器都是通用寄存器(可分别指定可分别指定1616个个)RRRR型指令型指令(4)(4)这种指令结构常用于算术逻辑运算类指令这种指令结构常用于算术逻辑运算类指令 指令格式举例指令格式举例115 915 98 87 4 7 4 3 03 0OPOP源寄
18、存器源寄存器目标寄存目标寄存器器 例例22 试分析下面指令格式的特点试分析下面指令格式的特点 解解:(1)1)双字长二地址指令,用于访问存储器双字长二地址指令,用于访问存储器 (2)(2)操作码字段操作码字段OPOP为为6 6位,可以指定位,可以指定6464种操作种操作(3)(3)一个操作数在源寄存器一个操作数在源寄存器(共共1616个个),另一个操作数在存储器,另一个操作数在存储器中中(由变址寄存器和位移量决定由变址寄存器和位移量决定)RSRS型指令型指令 指令格式举例指令格式举例215 109 87 43 0OP-源寄存器源寄存器变址寄存变址寄存器器位移量位移量(16位位)例例33 MIP
19、S R4000汇编语言中,寄存器汇编语言中,寄存器$s0$s7对应寄存器号为对应寄存器号为16 23(十进制十进制),寄存器,寄存器$t0$t7对应寄存器号为对应寄存器号为8 15。下表列出。下表列出了了2条条R型指令型指令(add、sub),2条条I型指令型指令(IW、SW)的汇编语言表示。的汇编语言表示。请将请将4条汇编语言手工翻译成对应的机器语言条汇编语言手工翻译成对应的机器语言(十进制十进制)表示表示指令格式举例指令格式举例3MIPS汇编语言汇编语言类别类别指令指令示例示例语义语义说明说明算术运算加add$s1,$s2,$s3$s1=$s2+$s33个操作数,都在寄存器中减sub$s1
20、,$s2,$s3$s1=$s2-$s33个操作数,都在寄存器中数据传送取字lw$s1,100($s2)$s1=Memory$s2+100数据从存储器到寄存器存字sw$s1,100($s2)Memory$s2+100=$s1数据从寄存器到存储器$s0$s7对应寄存器号为对应寄存器号为16 23 解解:MIPS机器语言表示如表所示指令格式举例指令格式举例34 4条指令的机器语言条指令的机器语言名称名称格式格式示例示例说明说明addR0181917032add$s1,$s2,$s3subR0181917034sub$s1,$s2,$s3lwI351817100lw$s1,100($s2)swI431
21、817100sw$s1,100($s2)字段大小6位5位5位5位5位6位所有MIPS指令都是32位R型Roprsrtrdshamtfunct算术指令格式I型Ioprsrtaddress数据传送指令格式MIPS指令指令字段值字段值4.3 操作数类型操作数类型4.3.1 4.3.1 一般的数据类型一般的数据类型地址数据地址数据:可看成无符号数可看成无符号数数值数据:数值数据:常用的三种类型:定点数、浮点数、压缩常用的三种类型:定点数、浮点数、压缩BCDBCD字符数据:字符数据:文本数据或字符串,目前广泛使用文本数据或字符串,目前广泛使用ASCIIASCII码码逻辑数据:逻辑数据:将一个数据看成由若
22、干位组成将一个数据看成由若干位组成可对具体的位进可对具体的位进行布尔逻辑运算行布尔逻辑运算4.3.2 Pentium4.3.2 Pentium数据类型数据类型能处理能处理字节字节(8(8位位)、字、字(16(16位位)、双字、双字(32(32位位)、四字、四字(64(64位位)字、双字、四字的字、双字、四字的起始地址无要求起始地址无要求当通过当通过3232位数据总线存取数据时,双字的起始地址位数据总线存取数据时,双字的起始地址能被能被4 4整除整除PentiumPentium的数据类型的数据类型目录目录PentiumPentium数据类型数据类型数据类型数据类型说明说明常规常规字节、字、双字、
23、四字,可位于任意存储位置字节、字、双字、四字,可位于任意存储位置整数整数字节、字、双字、四字中的有符号二进制值,字节、字、双字、四字中的有符号二进制值,2的补码表的补码表示示序数序数字节、字、双字、四字中的无符号整数字节、字、双字、四字中的无符号整数未压缩未压缩BCD 范围范围09的的BCD数字表示,每字节一个数字数字表示,每字节一个数字压缩压缩BCD每字节表示每字节表示2个个BCD数字,值数字,值099近指针近指针表示段内偏移的表示段内偏移的32位有效地址,用于不分段存储器中的所位有效地址,用于不分段存储器中的所有指针和分段存储器中的段内访问有指针和分段存储器中的段内访问位串位串一个连续的位
24、序列,每位位置认为是一个独立的单位,能一个连续的位序列,每位位置认为是一个独立的单位,能以任何字节的任何位置开始一个位串,最长可达以任何字节的任何位置开始一个位串,最长可达232-1位位字符串字符串一个连续的字节、字或双字的序列,最长可达一个连续的字节、字或双字的序列,最长可达232-1B浮点数浮点数单精度单精度(32位位)、双精度、双精度(64位位)、扩展双精度、扩展双精度(80位位)返回返回4.3.3 Power PC4.3.3 Power PC数据类型数据类型Power PCPower PCRISCRISC可处理可处理字节字节(8(8位位)、半字、半字(16(16位位)、字、字(32(3
25、2位位)、双字、双字(64(64位位)能识别的数据类型:能识别的数据类型:(1)(1)无符号字节:用于逻辑和整数算术运算,由存储器读出装入无符号字节:用于逻辑和整数算术运算,由存储器读出装入通用寄存器时左端通用寄存器时左端以以0 0填充填充(2)(2)无符号半字:与无符号半字:与“无符号字节无符号字节”类似,长度类似,长度1616位位(3)(3)有符号半字:用于有符号半字:用于1616位算术运算,装入寄存器时要位算术运算,装入寄存器时要符号扩展符号扩展(4)(4)无符号字:用于无符号字:用于3232位逻辑运算,或作地址指针位逻辑运算,或作地址指针(5)(5)有符号字:用于有符号字:用于3232
展开阅读全文