版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1本节主要分析本节主要分析:指令格式指令格式指令涉及的寻址方式指令涉及的寻址方式向用户的指令类型向用户的指令类型 指令系统指令系统设计设计CPU的一般过程:的一般过程:控制器控制器数据通路数据通路CPU定型定型2 指令字:指令字:用来表示指令的一组二进制代码。用来表示指令的一组二进制代码。 指令字长:指令字长:指令中包含的二进制代码位数指令中包含的二进制代码位数 机器字长:机器字长:计算机能够直接处理的二进制数据计算机能够直接处理的二进制数据的位数的位数 指令指令:instruction,计算机执行某类操作的信,计算机执行某类操作的信息的集合,是息的集合,是CPU工作的主要依据。工作的主要依据
2、。 指令集指令集:instruction set,处理器能执行的全体,处理器能执行的全体指令的集合指令的集合 决定了决定了 计算机的硬件功能计算机的硬件功能 计算机中软硬件的分界面计算机中软硬件的分界面= = 寄存器的宽度。寄存器的宽度。(CISC、RISC)3( (Complex Instruction Set Computing) )精简指令集计算精简指令集计算复杂指令集计算复杂指令集计算早期计算机部件昂贵、速度慢,为了扩展硬件功能,不早期计算机部件昂贵、速度慢,为了扩展硬件功能,不得不将更多更复杂指令加入到指令系统,以提高计算机得不将更多更复杂指令加入到指令系统,以提高计算机的处理能力的
3、处理能力 复杂指令集复杂指令集( (Reduced Instruction Set Computing) )随着半导体技术进步,随着半导体技术进步,80年代开始逐渐直接通过硬件方年代开始逐渐直接通过硬件方式,而不是扩充指令来实现复杂功能式,而不是扩充指令来实现复杂功能,指令规模逐渐缩指令规模逐渐缩小、指令进一步简化小、指令进一步简化 精简指令集精简指令集42 28 8规律规律不利于不利于VLSI工艺工艺 主存技术的发展主存技术的发展CISC中的不同指令使用频率悬殊:中的不同指令使用频率悬殊:为实现大量的复杂指令,控制逻辑极不规整,给为实现大量的复杂指令,控制逻辑极不规整,给VLSI工艺工艺造成
4、很大困难。造成很大困难。一般通过保存一般通过保存在控制存储器中的微程序在控制存储器中的微程序来实现复杂指令,来实现复杂指令,70年代后期开始用年代后期开始用DRAM做主存,使主存与控制存储器的做主存,使主存与控制存储器的速度相当,因此很多复杂指令不必再用微程序来实现,速度相当,因此很多复杂指令不必再用微程序来实现,可可用简单指令构成的子程序实现等效功能用简单指令构成的子程序实现等效功能。简单指令简单指令(约占约占20%的的)约占约占80%的使用频率,复杂指令的使用频率,复杂指令(约约占占80%)只占大约只占大约20%的使用频率。的使用频率。5指令数量多;指令数量多;指令长度可以不固定,指令格式
5、和寻址方式多样;指令长度可以不固定,指令格式和寻址方式多样;很多指令会涉及存储器读写操作,指令周期长;很多指令会涉及存储器读写操作,指令周期长;一般在通用处理器中使用;一般在通用处理器中使用;指令数量少;指令数量少;指令长度固定,指令格式和寻址方式种类也少;指令长度固定,指令格式和寻址方式种类也少;一般只有少量指令一般只有少量指令( (如如取数取数/ /存数存数) ) 才会读写存储才会读写存储器,其余指令只涉及器,其余指令只涉及CPUCPU内部寄存器,指令周期短;内部寄存器,指令周期短;一般在一般在高端服务器高端服务器CPUCPU中使用;中使用;6指令的基本格式指令的基本格式操作码操作码 地址
6、码地址码A /操作数操作数D1个个1个或几个(广义)个或几个(广义)7定长指令格式定长指令格式变长指令格式变长指令格式规整、便于控制规整、便于控制( (1) )定长操作码定长操作码各指令各指令的位置、位数固定相同。的位置、位数固定相同。( (2) )扩展操作码扩展操作码各指令各指令的位置、位数不固定,根据需要的位置、位数不固定,根据需要变化变化合理利用存储空间、提高取指令合理利用存储空间、提高取指令的效率,如的效率,如超长指令集超长指令集( (设置扩展标志设置扩展标志) )。8( (3) )复合型操作码复合型操作码15 13 12 11 10 9 5 0 15基本操作基本操作 进位进位 移位移
7、位 回送回送 判跳判跳 操作数操作数 例例 某机的算术逻辑运算指令格式某机的算术逻辑运算指令格式基本特征:基本特征:操作码分为几段,每段表示一种二级操作。操作码分为几段,每段表示一种二级操作。复合型操作码复合型操作码9使用使用隐式地址隐式地址,可以减少指令中的地址数量,可以减少指令中的地址数量,从而从而简化地址结构简化地址结构。指令中提供的地址指令中提供的地址地址偏移量地址偏移量/立即数立即数寄存器编号寄存器编号(1)指令中提供地址的方式)指令中提供地址的方式指令中明确指明地址码指令中明确指明地址码( (直接直接/ /间接给出间接给出) )显式地址方式显式地址方式隐式地址方式隐式地址方式地址码
8、隐含约定,不在指令中出现。地址码隐含约定,不在指令中出现。10(2) 常见的地址结构类型常见的地址结构类型操作数操作数地址地址 四地址结构指令四地址结构指令结果结果地址地址下条指下条指令地址令地址功能:功能:一般用一般用PCPC寄存器寄存器指示下条指令的地址。指示下条指令的地址。A1A2A3A4(A1)(A1)(A2)A3(A2)A3A4PCA4PC四地址结构指令在四地址结构指令在RISCRISC中很少会使用。中很少会使用。11三地址结构指令三地址结构指令操作数操作数地址地址结果结果地址地址功能:功能:A1A2A3(A1)(A1)(A2)A3(A2)A3(PC)(PC)+ + PC PC自动修
9、改自动修改PCPC的内容,使的内容,使PCPC指向下一条指令指向下一条指令如:如:ADD rd, rs, rt12二地址结构指令二地址结构指令目的地址目的地址源地址源地址A1A2功能:功能:(A1)(A1)(A2)A1(A2)A1(PC)(PC)+ + PC PC自动修改自动修改PCPC的内容,使的内容,使PCPC指向下一条指令指向下一条指令如:如:ADD R1, R013双操作数:双操作数: 一地址结构指令一地址结构指令隐含约定隐含约定单操作数:单操作数:源源/ /目的地址目的地址A1A1A1 U U PCPC H HPCPC(A1)(A1) A1 A1(PC)(PC)+ + PC PC自动
10、修改自动修改PCPC的内容,使的内容,使PCPC指向下一条指令指向下一条指令如:如:J addr如:如:INC R014 零地址结构指令零地址结构指令 功能:功能:用于处理机的特殊控制(用于处理机的特殊控制(如如HLT, NOP)。)。针针对隐含约定的寄存器,如对隐含约定的寄存器,如返回返回指令:指令:RST隐含操作隐含操作:(SP)PC; SP+ SP;SP;把堆栈栈顶单元保存的返回地址打入把堆栈栈顶单元保存的返回地址打入PC。15 地址码数据地址码数据寄存器编号或者存储器地址,无符号整数。寄存器编号或者存储器地址,无符号整数。 数值型数据数值型数据定点数、浮点数等,一般用补码表示。定点数、
11、浮点数等,一般用补码表示。 字符型数据字符型数据通常表示为通常表示为ASCII码码/汉字内码格式。汉字内码格式。 逻辑型数据逻辑型数据常规二进制代码,不具有数值含义。常规二进制代码,不具有数值含义。16n 指令字长为:指令字长为:32位位n 寄存器数量:寄存器数量:32个个n RISC5. MIPS32架构的指令格式架构的指令格式指令指令类型类型指令长度(指令长度(3232位定长位定长)31 26 25215 02016 2511 10 6R R型型op(6)rs(5)funcrt(5) rd(5) shamtI I型型op(6)rs(5)rt(5)address/imm (16)J J型型o
12、p(6)address (26)R R型型I I型型J J型型17指形成操作数地址或寻找操作数的方式;指形成操作数地址或寻找操作数的方式;立即寻址立即寻址(Immediate addressing)指令中直接包含了操作数。指令中直接包含了操作数。1、常见寻址方式、常见寻址方式定长格式:定长格式:变长格式:变长格式:基本操作基本操作 立即数立即数I数在指令中,数在指令中,其长度固定、其长度固定、位数少。位数少。数在基本指令之后,其数在基本指令之后,其长度可与指令等长长度可与指令等长用来提供偏移量、常数、设置初值等。用来提供偏移量、常数、设置初值等。操作码操作码 立即数立即数I1 1条指令,可能会
13、涉及多种寻址方式;条指令,可能会涉及多种寻址方式;18oprsrt立即数立即数Iaddi $rt, $rs, 5指令功能:指令功能: $rt $rs + imm(符号扩展符号扩展)立即数立即数 imm取指令后,直接截取指令中的低取指令后,直接截取指令中的低1616位代码,位代码,就能立即得到真值为就能立即得到真值为5 5的操作数。的操作数。因此,得到因此,得到“5 5”的方式,就是立即寻址。的方式,就是立即寻址。19操作码操作码 有效地址有效地址A A 直接寻址直接寻址指令中直接给出操作数的地址码。指令中直接给出操作数的地址码。存储单元地址存储单元地址寄存器编号寄存器编号( (数在数在M中中)
14、 )( (数在数在R中中) )l 主存直接寻址主存直接寻址 (绝对寻址)(绝对寻址)定长格式定长格式A A的位数有限的位数有限, ,限制访存范围限制访存范围变长格式变长格式基本操作基本操作 A AL L A AH HA A的位数可等于指令字长,的位数可等于指令字长,覆盖整个存储空间覆盖整个存储空间操作数:操作数:S =S =(D D)20l 寄存器直接寻址寄存器直接寻址(Register Addressing) 针对操作数在寄存器中的情况针对操作数在寄存器中的情况oprsrtrdfunc地址码地址码=rs数据字数据字寄存器组寄存器组(堆堆)21存储单元地址存储单元地址寄存器编号寄存器编号( (
15、数在数在M M中中) )( (数在数在M M中中) )间接寻址间接寻址指令给出操作数的指令给出操作数的间接间接地址。地址。l 主存间接寻址主存间接寻址操作码操作码 间接地址间接地址A A=0030A=0030 0060 0060 操作数:操作数:S =( =(A) 存储器存储器间址间址单元单元一般只在一般只在CISC中使用,中使用,RISC中一般不用;中一般不用;0060S 1次间址次间址22操作码操作码 寄存器号寄存器号R R l 寄存器间接寻址寄存器间接寻址R R的地址位数少,的地址位数少,R R可提供全字长地址码;可提供全字长地址码;修改修改R R内容比修改内容比修改M M更快。更快。S
16、 =( =(R)指针不变指针不变(由指令指定由指令指定),指针内容可变,使同一指令,指针内容可变,使同一指令可指向不同存储单元,以实现程序的循环、共享,可指向不同存储单元,以实现程序的循环、共享,并提供并提供转移地址转移地址。l 堆栈间接寻址堆栈间接寻址操作码操作码 堆栈指针堆栈指针SP SP S =( =(SPSP) MR=0200400040 S.SPSP寄存器寄存器 S 堆栈堆栈00700070栈顶栈顶23 例例 POP (SP)$SP$SP执行前执行前101020204646nn+2n+1栈顶栈顶栈底栈底执行后执行后2 20 04646栈顶栈顶栈底栈底nn+1n+1LW $t0, 0(
17、$SP) SP既可出现在指令中,也可由既可出现在指令中,也可由操作码操作码隐含约定隐含约定堆栈有三种方式(堆栈有三种方式(向下向下,向上,栈顶固定),向上,栈顶固定)24(4 4)变址、基址寻址及其变化)变址、基址寻址及其变化指令给出一个寄存器号和一个地址量,寄存器内容指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。与地址量之和为有效地址。格式格式l 变址寻址变址寻址操作码操作码 RX D 变址寄存器号变址寄存器号 S S =(R=(RX X)+ )+ D D) )形式地址形式地址修改量修改量基准地址基准地址25格式格式l 基址寻址基址寻址(base addressing)
18、基址寄存器号基址寄存器号指令给出一个寄存器号和一个地址量,寄存器内容与指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址(地址量之和为有效地址(二维数组二维数组的读写)。的读写)。操作码操作码 R Rb b D D 位移量位移量S S =(R=(Rb b)+ )+ D D) )基准地址基准地址 相对于基址的位移相对于基址的位移26变址寻址:变址寻址:指令提供指令提供基准量基准量,寄存器,寄存器提供提供偏移偏移量量;基址寻址:基址寻址:指令提供指令提供偏偏移量移量,寄存器,寄存器提供提供基准量基准量;有效地址有效地址=寄存器内容寄存器内容(R)+指令中的立即数指令中的立即数D27
19、S S =(R =(RX X)+(R)+(Rb b)+ D)+ D)l 基址基址+变址变址变址寄存器号变址寄存器号指令给出两个寄存器号和一个地址量,寄存器内容与指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址(处理地址量之和为有效地址(处理三维数组三维数组)。)。位移量位移量操作码操作码 R RX X R Rb b D D 基址寄存器号基址寄存器号便于处理三维数组。便于处理三维数组。28隐含指定隐含指定(5)PC相对寻址相对寻址(PC-relative addressing)指令给出偏移量,指令给出偏移量,PC当前值当前值与与偏移量偏移量相加得到相加得到有效地址。有效地址。位
20、移量位移量操作码操作码 PCPC D D S S =(PC)+D) =(PC)+D)是一种特殊的基址寻址方式是一种特殊的基址寻址方式有效地址相对于有效地址相对于PC浮动浮动, ,编程方便编程方便。29格式格式(6)页面寻址)页面寻址(伪直接寻址)(伪直接寻址)指令给出位移量,指令给出位移量,PCPC的高位部分的高位部分与位移量拼接,形成与位移量拼接,形成有效地址。有效地址。位移量位移量操作码操作码 PCPC D D 隐含指定隐含指定S S =(PC)=(PC)H H , ,D D) ) 例例 M为为64KB,划分为划分为256页页,每页每页256B,按字节编址,按字节编址。页号页号页内地址页内
21、地址用于页式存储系统。用于页式存储系统。寻址速度快,适于组织程序模块,寻址速度快,适于组织程序模块,有效利用存储空间。有效利用存储空间。PC0165H017CH7C.S302. 指令中的指令中的寻址方式约定寻址方式约定(1)(1)操作码可隐含说明不同寻址方式操作码可隐含说明不同寻址方式 例例 某机指令操作码的最高两位某机指令操作码的最高两位00:RR型指令,寄存器型指令,寄存器-寄存器寻址寄存器寻址01:RX型指令,寄存器型指令,寄存器-变址寻址变址寻址10:SI型指令,基址型指令,基址-立即寻址立即寻址11:SS型指令,基址型指令,基址-基址寻址基址寻址MIPS指令,一般都是采用这种方式。指
22、令,一般都是采用这种方式。31(2 2)指令中可设置寻址方式字段)指令中可设置寻址方式字段 例例 某机指令的每个地址字段中各设置一个某机指令的每个地址字段中各设置一个3 3位位的寻址方式说明字段。的寻址方式说明字段。操作码操作码 寻址方式寻址方式 R R 寻址方式寻址方式 R R 源地址字段源地址字段目的地址字段目的地址字段3位位3位位32(1)(1)按指令格式按指令格式PDP-11:单、双操作数指令等单、双操作数指令等;(2)(2)按操作数寻址方式按操作数寻址方式IBM 370: RR型(型(寄存器寄存器- -寄存器寄存器)RX型(型(寄存器寄存器- -变址寄存器变址寄存器)(3)(3)按指
23、令功能按指令功能传送、访存、传送、访存、I/O、算数逻辑运算、程序控制、算数逻辑运算、程序控制、处理机控制等指令。处理机控制等指令。33l 数据传送类指令数据传送类指令源地址对应的源地址对应的存储单元存储单元数数 据据主要用来实现主要用来实现: :目的地址对应的目的地址对应的存储单元存储单元主要包括主要包括: :取数取数指令、指令、存数存数指令、指令、数据传送数据传送( (单字、成组单字、成组) )、数据交换数据交换和和堆栈操作堆栈操作等。等。寄存器之间寄存器之间、存储器单元之间存储器单元之间以及以及寄存器寄存器- -存储器存储器单元单元的数据传送。的数据传送。34设计传送指令时需要考虑:设计
24、传送指令时需要考虑:(1 1)规定传送范围)规定传送范围(2 2)指明传送单位)指明传送单位(3 3)设置寻址方式)设置寻址方式MIPS32中中只有只有lw和和sw这两个指令可以访问存储器这两个指令可以访问存储器35l 输入输入/输出输出(I/O)指令指令信息信息主机主机 外部设备外部设备设计时需考虑:设计时需考虑:(1)I/O(1)I/O指令对设备的适应性指令对设备的适应性如何用通用如何用通用I/OI/O指令实现对各种具体设备的控制?指令实现对各种具体设备的控制?I/O指令中留有扩展余地指令中留有扩展余地指令中某些字段事先不定义,需要时再约定其含义。指令中某些字段事先不定义,需要时再约定其含
25、义。把设备抽象化、透明化处理(把设备抽象化、透明化处理(接口中设置控接口中设置控制制/状态状态/数据寄存器数据寄存器)用于外设种类、数量不多的场合。用于外设种类、数量不多的场合。36(2 2)主机对外设的寻址方式)主机对外设的寻址方式I/O端口端口寻找寻找I/OI/O接口中的寄存器接口中的寄存器的方式。的方式。该类寄存器的该类寄存器的编号编号,也称为,也称为I/OI/O端口的地址端口的地址(简称端口地址)(简称端口地址)如何为如何为I/OI/O端口分配地址?端口分配地址?单独编址单独编址统一编址统一编址37思路思路2:用用传送指令传送指令替代替代I/O指令指令 (隐式(隐式I/O指令)指令)思路思路1:设计设计专用的专用的I/O指令指令(3)I/O指令的设计思路指令的设计思路(显式(显式I/O指令)指令)思路思路3:通过通过IOP进行进行I/O操作控制操作控制CPU控制控制IOP(如启动、停止等如启动、停止等)需设计两级需设计两级I/O指令指令IOP控制具体控制具体I/O操作操作(如保存等如保存等)针对端口自行针对端口自行单独编址单独编址,用,用I/O指令访问指令访问I/O端口。端口。指令中说明指令中说明I/O类型,并给出端口地址。类型,并给出端口地址。针对端口和主存针对端口和主存统一编址统一编址,用访存指令访问,用访存指令访问I/OI/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州财经职业学院《体育舞蹈II》2023-2024学年第一学期期末试卷
- 2025年云南建筑安全员考试题库
- 广州中医药大学《化工原理2》2023-2024学年第一学期期末试卷
- 广州医科大学《生物考古学》2023-2024学年第一学期期末试卷
- 广州幼儿师范高等专科学校《软件系统分析》2023-2024学年第一学期期末试卷
- 2025江西省建筑安全员-B证(项目经理)考试题库
- 2025年辽宁建筑安全员考试题库
- 绪论现代西方哲学思潮专题教学课件
- 河北省保定市竞秀区2024-2025学年九年级上学期11月期中数学试题(含答案)
- 2024年江西科技职业学院单招职业技能测试题库及完整答案
- 《组织与胚胎学》课程期末考试复习题库及答案
- (八省联考)河南省2025年高考综合改革适应性演练 化学试卷(含答案)
- 部编版三年级上册道德与法治期末测试卷带答案(巩固)
- 教师个人工作业绩总结范文
- 《中华人民共和国政府采购法》专题培训
- 郑州大学《高等代数》2023-2024学年第一学期期末试卷
- 对银行领导班子的评价意见和建议范文(3篇)
- 如何保护个人手机数据的安全
- 2024医疗设备维修与保养合同
- 第6课 战国时期的社会变革(说课稿)2024-2025学年七年级历史上册同步高效课堂(统编版2024)
- 汽车内饰件及材料气味评价标准解析
评论
0/150
提交评论