![川大计算机组成原理第二章2 指令系统_第1页](http://file4.renrendoc.com/view/c1e95b55523a42e41db71347213c4ced/c1e95b55523a42e41db71347213c4ced1.gif)
![川大计算机组成原理第二章2 指令系统_第2页](http://file4.renrendoc.com/view/c1e95b55523a42e41db71347213c4ced/c1e95b55523a42e41db71347213c4ced2.gif)
![川大计算机组成原理第二章2 指令系统_第3页](http://file4.renrendoc.com/view/c1e95b55523a42e41db71347213c4ced/c1e95b55523a42e41db71347213c4ced3.gif)
![川大计算机组成原理第二章2 指令系统_第4页](http://file4.renrendoc.com/view/c1e95b55523a42e41db71347213c4ced/c1e95b55523a42e41db71347213c4ced4.gif)
![川大计算机组成原理第二章2 指令系统_第5页](http://file4.renrendoc.com/view/c1e95b55523a42e41db71347213c4ced/c1e95b55523a42e41db71347213c4ced5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.3指令信息的表示指令:计算机要执行某种操作的命令,称为指令。指令系统:一台计算机所能执行的全部指令的集合。本节主要讨论:一般指令格式常用寻址方式面向用户指令类型2.3.1指令格式指令基本格式操作码OP地址码AD一个一个或几个1.操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。2.地址码指明与操作数相关的信息。2.3.1指令格式对指令格式,应注意如下问题:1)指令字长需多少位,是定字长,还是变字长2)操作码长度若长度为n,则可表示2n条指令。3)地址结构指令中涉及哪些地址,在指令中给出哪些地址,哪些地址隐含约定。4)寻址方式如何获得操作数的值,是直接给出还是间接给出,或是经过变址计算获得。2.3.1.1指令字长指令字长与主存的编址单位及CPU的机器字长有一定关系。指令字长位数越多,所能表示的操作信息和地址信息也就越多,指令的功能越丰富,但所占空间和时间也越多。定长指令格式变长指令格式便于控制合理利用存储空间2.3.1.2操作码格式
操作码一般在指令格式的前面一个或几个字节。根据它可以判明该指令的基本类型及相应的字节数。1.定长操作码各指令中操作码的位置、位数固定相同。例:INTEL8088的前6位为操作码。2.扩展操作码各指令中操作码的位置、位数不固定,根据需要变化。关键在设置扩展标志。例.指令字长16位,可含有3、2、1或0个地址,每个地址占4位。操作码地址码15~1211~87~43~00000X
Y
Z
1110X
Y
Z............11110000YZ
11111110
YZ............三地址指令15条二地址指令15条1111
11110000Z
111111111110Z............一地址指令15条1111
1111
1111000011111111
11111111............零地址指令16条练习1.设指令系统指令字长是12位,每个地址长3位,该指令系统有一地址、二地址和三地址三种格式。假设该指令系统有6条三地址指令,12条二地址指令,请问一地址指令有多少条?
2.某计算机指令字长16位,每个地址是6位,指令有零地址、一地址和二地址三种格式,设有二地址指令N条,零地址指令M条,试问一地址指令最多有多少条?练习答案1、解:指令字长是12位,每个地址长3位。
6条三地址指令,12条二地址指令。操作码
地址码11~98~65~32~0三地址指令6条23–6=2((23-6)*23–12)*23=32000X
YZ101
X
YZ............二地址指令12条23*2=1616-12=4110
000
YZ110
111
YZ............111
000
YZ111
011
YZ............一地址指令?23*4练习答案2、解:指令字长16位,每个地址是6位二地址指令N条,零地址指令M条
设一地址指令有X条((24-N)*26-X)*26=M
得:X=(24-N)*26-M*2-62.3.1.2操作码格式3.单功能型或复合型操作码复合型操作码:操作码分为几部分,每部分表示一种操作。例如:NOVA系列和ECLIPSE系列的算逻指令01234567815基本操作进位移位回送判跳操作数2.3.1.3地址结构指令中提供的地址数存储单元地址码寄存器编号1.指令提供地址的方式显地址方式:指令中明显指明地址。隐地址方式:地址隐含约定,如事先隐含约定操作数在某个寄存器中或在堆栈中,不出现在指令中。直接或间接给出使用隐地址可以减少指令中的地址数,简化地址结构。2.3.1.3地址结构2.地址结构1)四地址指令操作数地址格式:OPD1D2D3D4结果地址下条指令地址功能:(D1)OP(D2)D3(D4)下条指令2.3.1.3地址结构2)三地址指令格式:操作数地址OPD1D2D3结果地址下条指令地址功能:转移时,用转移地址修改PC内容。(D1)OP(D2)D3(PC)+nPC用指令计数器PC指示指令地址。现行指令所占字节数2.3.1.3地址结构3)二地址指令格式:目的OPD1D2
源功能:(D1)OP(D2)D1(PC)+nPC2.3.1.3地址结构4)一地址指令格式:双操作数:OPD1隐含约定单操作数:功能:(D1)OP(A)A(PC)+nPCOP(D1)D1(PC)+nPC5)零地址指令格式:OP
功能:a.用于堆栈:((SP))OP((SP)+1)(SP)+1(SP)+1SP栈顶内容栈顶下一单元内容新栈顶指向新栈顶例.ADD;执行前:低b.操作数隐含指令:SP102046SP3046执行后:高低高OP(A)A(PC)+nPC2.3.2寻址方式什么叫寻址方式?
指令中提供操作数或提供操作数地址的方式,称为寻址方式或编址方式。
一个指令系统采用什么样的寻址方式与存储结构及其存取方式有关。2.3.2.1存储结构与存取方式1.在指令中
通过指令可直接获得操作数。2.CPU中的寄存器
访问时只需给出寄存器号或隐含约定(根据操作码)。称为可编址寄存器。3.主存
访问时应给出相应的存储单元号2.3.2.1存储结构与存取方式4.堆栈
堆栈的操作在栈顶实现,栈顶地址有堆栈指针寄存器SP给出,用隐地址访问。5.外设访问时,主机通过外设中的相关寄存器实现与外设的I/O传送。可将这些寄存器与主存统一编址,或为其分配专门的I/O端口地址。2.3.2.2常见寻址方式立即寻址方式由指令直接给出操作数。操作码OP立即数S定长格式:变长格式:基本指令
立即数S数在指令中,其长度固定、有限。数在基本指令之后,其长度可变。用来提供常数、设置初值等。2.3.2.2常见寻址方式直接寻址方式
指令直接给出操作数地址存储单元号寄存器号(数在M中)(数在R中)操作码OP寄存器号R(1)寄存器直接寻址(寄存器寻址)格式R所占位数少;访问R比访问M快S=(R)2.3.2.2常见寻址方式例.指令:INCR11000HR02000HR13A00HR23C00HR32.3.2.2常见寻址方式(2)存储器直接寻址操作码OP有效地址D(直接寻址)定长格式变长格式基本指令
DLDHD的位数可覆盖整个存储空间S=(D)2.3.2.2常见寻址方式例.指令:INC2000H1000H1A00H2000H1B00H...M直接寻址主要用于访问固定的存储单元或寄存器。2.3.2.2常见寻址方式3.间接寻址方式指令给出操作数的间接地址。存储单元号寄存器号(数在M中)(数在M中)格式(1)存储器间址操作码OP间接地址DD=00300060...0060S...S=((D))M间址单元地址指针间址单元地址操作数地址操作数MM2.3.2.2常见寻址方式(2)寄存器间址操作码OP寄存器号R格式R所占位数少;R可提供全字长地址码;修改R内容比修改M内容快。S=((R))R=02M0040S.........地址指针0040寄存器号操作数地址操作数RM2.3.2.2常见寻址方式(3)自增型寄存器间址寄存器号操作数地址操作数RM(R)+1先操作后修改(4)自减型寄存器间址寄存器号操作数地址操作数RM寄存器内容减1先修改后操作2.3.2.2常见寻址方式(5)堆栈寻址格式操作码OP堆栈指针SP
SPS=((SP))0070栈顶SP既可出现在指令中,也可隐含约定。M低高堆栈向上生成压栈:SP自动减1,再存数。-(SP),自减型间址。先取数,SP再自动加1。(SP)+,自增型间址。出栈:S.........2.3.2.2常见寻址方式(6)多重间址存储器多重间址:间址单元地址操作数地址操作数MM间址单元地址M
寄存器多重间址寄存器号操作数地址操作数RM间址单元地址M2.3.2.2常见寻址方式4.变址、基址及其变化(1)变址寻址方式
指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。变址寄存器号S=((RX)+D)格式操作码OPRXD形式地址变址量基准地址2.3.2.2常见寻址方式例.用变址方式访问一组连续区间内的数组元素。D=首址D为存储区首址;(RX)为所访单元距离首址的长度;RX初值为0,每访问一个单元,(RX)+1。n-1...012...D+1D+2D+n-1
...2.3.2.2常见寻址方式(2)基址寻址方式
指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。格式基址寄存器号Rb4K操作码OPRbD位移量S=((Rb)+D)基准地址相对于基址的位移M......…...…...Rb4KD=2D=22.3.2.2常见寻址方式便于访问两维数组中某类指定的元素。比如:4K4KRbM......…...…...RbD=2D=2学生姓名性别性别年龄年龄学生姓名2.3.2.2常见寻址方式变址与基址的区别:变址:指令提供基准量(不变),R提供修改量(可变);适于处理一维数组。基址:指令提供位移量(不变),R提供基准量(可变);用于扩大有限字长指令的访存空间。2.3.2.2常见寻址方式(3)基址加变址方式
指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。S=((Rb)+(RX)+D)格式基址寄存器号位移量操作码OPRbRXD便于处理两维数组。变址寄存器号2.3.2.2常见寻址方式例.访问二维表格。S=((Rb)+(RX)+D)
令:(Rb)+(Rx)指向各行起始;
D指向一行中各元素。(Rb)+(Rx)D(Rb)为表格首址
Rx初值为0,每访问一行,(RX)+4;
D初值为0,每访问一列,D+1。2.3.2.2常见寻址方式(4)相对寻址方式
指令给出位移量,PC内容与位移量之和为有效地址。格式位移量操作码OPPC
±D程序计数器,由寄存器号选定或隐含指定S=((PC)±D)有效地址相对PC上下浮动,给编程带来方便。(5)页面寻址方式
指令给出位移量,PC的高位部分与位移量拼接,形成有效地址。格式位移量操作码OPPC
D或隐含指定S=((PC)H,D)页号页内地址PC0165H017CHD=7C............S用于页式管理存储系统。寻址速度快,适于组织程序模块,有效利用存储空间。2.3.2.2常见寻址方式相关问题:寻址方式如何表示?
(1)指令中设置专门字段说明寻址方式例.某机指令的每个地址字段中各设置一个3位的寻址方式字段。操作码OP寻址方式R寻址方式R目的地址字段源地址字段3位3位2.3.2.2常见寻址方式(2)操作码隐含说明不同寻址方式例.某机指令操作码最高两位00:RR型指令,寄存器-寄存器寻址01:RX型指令,寄存器-变址寻址10:SI型指令,基址-立即寻址11:SS型指令,基址-基址寻址2.3.2.3堆栈操作1.堆栈的存取规则:“先进后出”。2.堆栈的硬件设置:
一端固定,另一端浮动。设置堆栈指针SP指向浮动端。3.堆栈的工作方式:(1)向上生成方式(P57图2-16)(2)向下生成方式(P59图2-19)(3)栈顶固定方式(P60图2-20)2.3.3指令的功能和类型不同的机种,对指令的分类方法不同。通常有三类:1.按指令格式分类
分为双操作数指令、单操作数指令、程序转移指令等。2.按操作数寻址方式分类
如IBM370,其指令可分为:RR型、RX型、RS型、SI型及SS型。3.按指令功能分类可分为传送指令、访存指令、算术运算指令、逻辑运算指令、I/O指令、程序控制类指令、处理机控制类指令等。2.3.3.1传送类指令机器的绝大部分操作(数据传送、字符串处理、堆栈操作、输入/输出操作等),从广义角度看,都可以归结为信息的传送,或在传送过程中作了运算处理。源地址目的地址数
传送指令一次可以传送一个数据或一批数据,有些机器设置了数据交换指令,可实现双向传送。2.3.3.1传送类指令在设置传送指令时,应考虑三个方面:规定传送范围
(1)寄存器与寄存器
(2)存储器与寄存器
(3)I/O接口寄存器与主机——传送指令——访存指令——I/O指令2.3.3.1传送类指令2.指明传送单位传送指令用某种方式指明数据是按字节、字、双字还是数组为单位进行传送。例.VAX11(用操作码说明):80X86(用地址量说明):MOVB
8MOV
AX,BX
(16)MOVW
16MOVL
32MOV
AL,BL
(8)MOV
EAX,EBX
(32)2.3.3.1传送类指令3.设置寻址方式传送指令以什么方式给出数据的源地址和目的地址,这涉及到寻址方式的选择。在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。2.3.3.2输入/输出指令
这是用来实现主机与外部设备之间进行信息交换的一类指令。以主机为基准,信息由外部设备传向主机称为输入(Input),信息由主机传给外部设备称为输出(Output)。各种信息主机外设2.3.3.2输入/输出指令在设置输入/输出指令时,应考虑:1.I/O指令的功能扩展
如何用通用I/O指令实现对各种具体设备的控制?(1)I/O指令中留有扩展余地指令中某些字段编码事先不定义,需要时再约定其含义。用于外设种类、数量不多的场合。2.3.3.2输入/输出指令(2)I/O接口中设置控制/状态寄存器如何设置控制/状态寄存器是接口设计的关键。
主机用输出指令或传送指令将具体设备的控制命令按约定的代码格式送往接口中的控制寄存器,向外设发出命令。外设的状态信息也以某种格式放在接口的状态寄存器中,主机用输入指令或传送指令从状态寄存器中取出有关信息进行查询、分析。2.3.3.2输入/输出指令2.主机对外设的寻址方式寻找I/O接口中的寄存器的方式。(1)单独编址编址到设备:每个设备有各自的设备编码;I/O指令中给出设备码,并指明访问该设备的哪个寄存器。编址到寄存器:为每个寄存器(I/O端口)分配独立的端口地址;I/O指令中给出端口地址。2.3.3.2输入/输出指令I/O地址空间不占主存空间,可与主存空间重叠。=1访问存储器=0访问I/O端口需设置标志区分访问对象,如M/IO2.3.3.2输入/输出指令(2)统一编址编址到寄存器:为每个寄存器(I/O端口)分配总线地址;访问外设时,指令中给出总线地址。I/O端口占据部分主存空间。常将存储空间的低端分配给主存单元,高端分配给I/O端口,以示区分。2.3.3.2输入/输出指令3.I/O指令设置方式(1)设置专用I/O指令针对单独编址,用I/O指令访问I/O端口。指令中说明输入/输出操作,并给出设备码或端口地址。2.3.3.2输入/输出指令例.80X86I/O指令设置输入:INAL,n;端口地址(n)AL输出:OUTn,AL;(AL)n2.3.3.2输入/输出指令(2)用通用传送指令实现I/O操作
(隐式I/O指令)针对统一编址,用传送指令访问I/O端口。不设专用I/O指令。例.某机I/O接口中设置两个寄存器:控制/状态寄存器CSR,其总线地址为177550(8进制),数据缓冲寄存器DBR,其总线地址1775522.3.3.2输入/输出指令主机调用输入机:控制/状态字格式:出错故障忙完成
允许中断
维护
校验
启动:测试:取数:主机
177550(CSR)控制字(启动位为1)MOV指令主机177550(CSR)
状态字MOV指令主机177552(DBR)
数据MOV指令2.3.3.2输入/输出指令(3)通过I/O处理机进行I/O操作CPU执行简单I/O指令
(启动、停止、查询、清除)两级I/O指令I/O处理机执行I/O操作指令
(输入、输出……)2.3.3.3算术逻辑运算指令算术运算指令主要有加ADD、减SUB、加1INC、减1DEC、求补NEG等基本运算指令。目前主流微型计算机还设置了乘除运算指令和浮点运算指令。设置时需考虑:操作数类型、符号、进制等;运算结束后设置相应状态标志。2.3.3.3算术逻辑运算指令2.逻辑运算指令
逻辑运算主要是对布尔变量的运算。主要的逻辑运算指令有:逻辑与、逻辑或、逻辑非、异或四种。实现对代码位的设置、测试、清除、修改等。与或异或2.3.3.3算术逻辑运算指令(1)利用“逻辑或”作按位设置目的操作数A:11000
10屏蔽字B:0000101AORB:1100111(2)利用“逻辑与”按位测试目的操作数A:11001
010屏蔽字B:00001000AANDB:000010002.3.3.3算术逻辑运算指令(3)利用“逻辑与”作按位清除目的操作数A:11001
010屏蔽字B:11110111AANDB:11000010(4)利用“异或”按位修改目的操作数A:11001
010屏蔽字B:11111000AEORB:001100102.3.3.4程序控制指令主要用于控制指令执行的顺序,即控制程序的流程。1.转移指令:无条件转移条件转移循环:操作码转移地址如:JMPBX:操作码转移地址转移条件:转移条件为循环计数值2.3.3.4程序控制指令2.转子程序指令与返回指令:主程序在执行过程中需要调用子程序时,执行一条转子指令,程序便转到子程序的入口地址;子程序在执行完后,使用一条返回指令取出返回地址,从而返回到主程序。在转入子程序时,将其保存起来转子指令:操作码子程序入口返回指令:操作码返回地址2.3.3.4程序控制指令返回地址的存取方式(1)用子程序的第一个字单元存放返回地址主程序子程序A子程序BD1D2多重转子:D1D2主程序D1子程序AD12.3.3.4程序控制指令(2)用寄存器存放返回地址返回地址1寄存器R转子指令子程序存储器返回地址1返回地址2……返回地址1返回地址2返回地址2(3)用堆栈保存返回地址SP主程序子程序A子程序BD1D2......D1SPD2主程序子程序A子程序BD1D2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代办公环境的网络安全培训
- 未来学习模式基于网络教育平台的思考
- 现代办公空间中的绿色环保用品设计思考
- 2024年四年级品德与社会上册 第三单元 生活在这里真好 第11课《我家来了新邻居》说课稿 粤教版001
- 2024-2025学年高中物理 第十二章 机械波 4 波的衍射和干涉说课稿4 新人教版选修3-4001
- Module 1 Unit 1 She's a nice teacher(说课稿)-2023-2024学年外研版(三起)英语四年级下册
- 2023九年级化学上册 第一章 大家都来学化学1.2 化学实验室之旅说课稿(新版)粤教版001
- 2025农村养殖场场地租地合同
- 2025国际专利技术许可合同模板版
- Unit 5 Nature and Culture(说课稿)2023-2024学年人教新起点版英语六年级下册
- 八年级下册历史思维导图
- 电动汽车用驱动电机系统-编制说明
- 江苏卷2024年高三3月份模拟考试化学试题含解析
- (正式版)JTT 1497-2024 公路桥梁塔柱施工平台及通道安全技术要求
- 医疗器械物价收费申请流程
- 招聘专员转正述职报告
- “一带一路”背景下的西安市文化旅游外宣翻译研究-基于生态翻译学理论
- 2024年江苏省昆山市六校中考联考(一模)化学试题
- 大学生文学常识知识竞赛考试题库500题(含答案)
- 国家电网智能化规划总报告
- 邢台市桥西区2024年事业单位考试《公共基础知识》全真模拟试题含解析
评论
0/150
提交评论