指令集结构课件.ppt
《指令集结构课件.ppt》由会员分享,可在线阅读,更多相关《指令集结构课件.ppt(77页珍藏版)》请在三一办公上搜索。
1、第三章 指令集结构,3.1 程序设计语言的级别3.2 机器语言指令3.3 指令集结构设计3.4 相对简单的指令集结构3.5 实例,3.1 程序设计语言的级别,3.1.1 语言种类,高级语言(high-level languages),汇编语言(assembly language),向下兼容(backward compatible),平台无关(platform-independent),机器语言,3.1.2 编译和汇编程序,1.编译、汇编2.编译器 源程序、源代码、目标代码 连接器、装载器3.编译过程 同一高级语言源代码可以经过编译在不 同的微处理器和操作系统或者计算平台上运行。,图3.1 高级
2、程序的编译过程 装载器包含在计算平台中,4.汇编器和汇编过程,图3.2 汇编语言程序的汇编过程,每一种汇编语言对应一种微处理器,不需要针对不同平台的汇编器。,1.什么是指令?指令:指示计算机执行某种操作的命令。机器语言:计算机硬件实体直接表示控制信息的语言。(计算机硬件能直接理解并执行的语言)指令集:一台计算机能执行的全部指令的集合。(计算机程序员接触到的计算机的所有功能)一条指令就是机器语言的一个语句,用来说明机器硬件应完成的操作。,3.1.3 机器语言与指令,指令集表征着计算机的基本功能和使用属性,是计算机系统设计中的核心向题。是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机
3、器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。,2.指令的组成 一条指令一般应包含如下信息:(1)操作码(2)操作数的地址(3)操作结果的地址(4)下一条指令地址 指令的基本格式,操作码:表示指令应执行的操作和应具有的功能。地址码:表示参与操作的操作数的存放地址或操作结 果的存放地址。,3.2 机器语言指令,3.2.1 指令类型与功能,3.2.1.1 数据传送指令,将数据从一个地方移到另一个地方(实际是“拷贝”)。例:8086指令 MOV AL,BL;ALBL MOV AL,Disp(BX)(SI);AL(BX)(SI)+Disp)IBM370机的成组取指令:,3.2.1.2
4、数据运算指令,包括算术运算指令、逻辑运算指令、移位指令。例:8086指令系统中 ADD AL,BL;ALAL+BL MUL BL;AXALBL AND AL,0FEH;ALALFEH,即AL的最低位;清0,其余位不变。OR AL,0F0H;ALALF0,即AL的高4位置1,;其余位不变 TEST AL,00000001B;AL00000001B A00 结果为0;A01 结果不为0,移位指令 实现对操作数的左、右移位。移位操作指令分为算术移位、逻辑移位和 循环移位三种,可以实现对操作数左移或右移 一位或几位。,3.2.1.3 程序控制指令,控制程序流程的指令,包括:跳转指令(条件或无条件)或分
5、支指令、子程序调用和子程序返回指令、“软中断”指令、停机指令。,3.2.2 数据类型,数值数据 无符号整型数、有符号整型数、浮点数据 布尔类型 数据值常以0表示FALSE,以非0表示TRUE 字符数据 字符编码标准(ASCII、EBCDIC、UNICODE、或别的),例:8086指令系统JMP L1;直接寻址的转移,无条件转移到L1处,JNZ 50H;相对寻址的转移。若操作结果不为0,则转移到当前PC50H处。设指令地址为1000H,则当前PC1002H,转移地址为:1002H50H1052H,3.2.3 寻址方式,寻址方式:确定操作数地址的方法。形式地址:指令中直接给出的地址。有效地址:形式
6、地址经一定的计算而得到的操作数的 实际地址。,3.2.3.1 直接寻址 指令字中直接给出操作数的有效地址。,例:Intel 8086指令 MOV AX,2000H 将有效地址为2000H的内存单元的内容读入累加器AX中。例如:LDAC 5 从内存单元5读取数据并且把数据存储在CPU的累加器中。这种方式简单直观,便于硬件实现。但随着存储器容 量不断扩大,要寻址整个主存空间,将造成指令长度 加长。另外程序位置受到限制。,3.2.3.2 间接寻址,指令中指定的是含有操作数地址的内存单元的地址。至少要进行两次内存访问。,例如:LDAC 5 或 LDAC(5),间接寻址的特点 间接寻址比直接寻址灵活,可
7、扩大寻址范围,以短 的地址码访问大的存储空间。采用间接寻址,当操作数地址需要改变时,可不必 修改指令,只要修改地址指示字中内容(即存放有效 地址的单元内容)即可。间接寻址需多次访存才能取得操作数,因而降低了 指令的执行速度。,3.2.3.3 寄存器直接寻址和寄存器间接寻址,寄存器寻址 与直接和间接寻址方式相似,但指定的是寄存器,而 不是内存单元。寄存器存取信息的速度比主存快,需要的地址短,可 压缩指令长度,有利于加快指令执行速度。但寄存器 的数量有限。寄存器直接寻址,操作数,Rn,例如:假设寄存器R中存储了数值5,则:LDAC R;把数值5从寄存器R中拷贝到CPU的累加器中,例如:假设寄存器R
8、中存储了数值5,则:LDAC(R)或 LDAC R;相当于 LDAC 5,从寄存器R中获取地址,寄存器间接寻址,3.2.3.4 立即值寻址,指定的操作数不是一个地址,而是确实要用到的数据。,例如:Intel 8086指令 MOV AX,2000H;将数据2000H存入累加器AX中例如:LDAC#5;把数据值5移到累加器中,这种寻址方式在取指令的同时操作数即被取出,不必再次访问存储器,提高了指令执行速度。但由于指令字有限,使得数据范围受限。,3.2.3.5 隐含寻址,并不明确地指出操作数,因为总是用到特定的寄存器。,例如:CLAC;清空CPU中的累加器,即将其值置为0,常用于用堆栈存储数据的CP
9、U中。指令中不需要指定操作数,因为它暗示操作数一定来自堆栈。,堆栈及堆栈操作 一种按“后进先出”存取顺序进行存取的存储结构 堆栈操作指令是一种特殊的数据传送指令 堆栈有两种生成方式 自底向上生成方式:栈底占最高地址,栈顶为较低地 址,压入数据时,按由高地址向低地址顺序进行,弹出 数据(即取出数据)时,由低地址向高地址顺序进行。自顶向下生成方式:与自底向上生成方式顺序相反。,自底向上生成堆栈的工作过程,堆栈操作有两种 压入(进栈)指令:把指定的操作数送入栈顶。SPSP减量,(SP)数据 弹出(退栈、出栈)指令:从栈顶弹出数据,送到 指令指定的目的地址中。目的(SP),SPSP增量,例:8086的
10、指令系统中 进栈指令:PUSH AX SPSP1,(SP)AH,SPSP1,(SP)AL 出栈指令:POP AX AL(SP),SPSP1,AH(SP),SPSP1,SP,SP-1,SP-1,SP+1,SP+1,SP,AL,AH,3.2.3.6 相对寻址 将程序计数器 PC 的当前内容与指令中给出的形式地址相加形成操作数的有效地址。有效地址E(PC)Disp,程序计数器 PC的内容一般为现行指令的下一条指令的 地址。形式地址是操作数地址相对于PC当前内容的一个相对 位移量(Disp),位移量可正可负,一般用补码表示。在相对寻址中,只要保持位移量不变,就可实现指令 带着数据在存储器中浮动,有利于
11、实现程序再定位。,例:8086指令 JNC 03H 的功能为,如果进位为0,则转移到目标地址为(PC)03H处进行执行。设指令为双字节指令,本条指令地址为1000H。本条指令取指后,PC1002H转移目标地址为 1002H0003H1005H若指令为JNC 0FDH 则转移目标地址为1002HFFFDH0FFFH,DFDH,D03H,3.2.3.7 变址寻址方式和基址寻址,1.变址寻址方式 变址寻址方式与相对寻址方式类似,但它是将指令提供的地址与变址寄存器中而不是程序计数器中的内容相加。,例如:Intel 8086指令 MOV AL,BX+4 设 BX2000H,BX+42004H(2004H
12、)82H,则 AL82H例如:LDAC 5(X);变址寄存器X:数值10,则 51015;读取15号单元中的数据并且把它存储在累加器中。,变址寻址可用于数组、向量、字符串等数据的处理 例:Intel 8086指令 LODS;AL(SI),SISI1,+1,2基址寻址 操作数的有效地址等于指令中的形式地址与基址 寄存器中的内容之和。基址寄存器可以是一个专用的寄存器,也可以是 由指令指定的一个通用寄存器。,基址寻址主要用于将用户程序的逻辑地址(用户编写 程序时所使用的地址)转换成主存的物理地址(程序 在主存中的实际地址)。,基址寻址与变址寻址在形式上以及有效地址的计算 方法上都是相似的,但它们的应
13、用场合是不同的。基址寻址是面向系统的,主要用于逻辑地址到 物理地址的变换,用以解决程序定位问题。基址寄 存器由系统程序使用,对用户是透明的。变址寻址是面向用户的,主要用于访问数组、向量、字符串等成批数据,用以解决程序的循环控 制问题。,3.2.4 指令格式,指令的基本格式:,指令格式的设计包含两个方面:1.确定指令的长度;2.划分指令的字段,定义各字段的位数、含义。,一、指令长度 指令字长度:一个指令字所包含的二进制信息的位数。定长指令:指令系统中所有指令的长度都是一样的。可变长指令:各指令的长度可以不同。指令长度与机器字长二.指令的地址码 考虑的问题:需要多少地址信息及如何给出地址。,1.零
14、地址指令 格式:(1)无需任何操作数,如空操作,停机等指令。(2)所需操作数是隐含指定的,如堆栈运算指令。2.一地址指令 格式:意义:(1)A OP(A)(2)AC(AC)OP(A),OP,指令短,节省空间,执行快,常用于微、小型机中。,3.二地址指令 格式:意义:A1(A1)OP(A2)最常用的指令格式,适用于中、小、微型机。,二地址指令的几种形式 存储器存储器型(SS型)指令 寄存器寄存器型(RR型)指令 寄存器存储器型(RS型)指令,4.三地址指令 格式:意义:A3(A1)OP(A2)常用于大、中型机中。,5.多地址指令,考虑一个简单的例子:ABC 一个操作:加法 三个操作数:两个源操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令 集结 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3483116.html