计算机软件及应用计算机组成原理.pptx
《计算机软件及应用计算机组成原理.pptx》由会员分享,可在线阅读,更多相关《计算机软件及应用计算机组成原理.pptx(144页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.1.1 3.1.1 概述概述概述概述 04:51:50机器指令机器指令机器指令:计算机能直接识别的是由0和1排列而成的指令。使用不方便。汇编语言汇编语言汇编语言是基于英文的机器指令助记符汇编语言源程序 按汇编语言书写的程序汇编语言源程序由汇编程序(Assembler)转换成机器指令,供计算机接受并执行第1页/共144页3.1.1 3.1.1 概述概述概述概述 04:51:50 汇编语言的提出是计算机技术的一大进步,体现了计算思维的一个重要概念抽象。计算机程序设计语言的发展过程就是 不断抽象的过程。通过抽象,程序设计语言具有了更好的可编程性、可移植性、可重用性。第2页/共144页指令系统:指
2、令:指令:就是要计算机执行某种操作的命令。就是要计算机执行某种操作的命令。一台计算机中所有机器指令的集合。一台计算机中所有机器指令的集合。指令集:指令集:数据表示数据表示寻址方式寻址方式指令集指令集返回首页第3页/共144页3.1.2 3.1.2 指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数 操作码操作码(Operation Code)地址码地址码(Operand)04:51:50冯诺依曼型计算机机器指令的逻辑格式 规定了指令所具有的功能 指明指令所要处理的数据。第4页/共144页3.1.2 3.1.2 指令的操作码与操作数指令的操作码与操作数指令的操作码与
3、操作数指令的操作码与操作数 04:51:50一条指令中,操作数可能有一个、两个或三个,甚至更多。操作数的个数也可以是零,即指令没有操作数。在这些操作数中,作为处理单元输入的叫源操作数(Source Operand),用于存放处理结果的叫目的操作数(Destination Operand)。第5页/共144页指令字长决定于指令字长决定于操作码的长度操作码的长度指令字长指令字长=存储字长存储字长2.指令字长指令字长 可变可变操作数地址的长度操作数地址的长度操作数地址的个数操作数地址的个数1.指令字长指令字长 固定固定按字节的倍数变化按字节的倍数变化指令字长指令字长:一个指令字中包含二进制代码的位数
4、。:一个指令字中包含二进制代码的位数。机器字长机器字长:计算机能直接处理的二进制数据的位数。:计算机能直接处理的二进制数据的位数。返回第6页/共144页3.1.2 3.1.2 指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数 04:51:50数数数据据据表表表示示示:指令中所能表示的操作数数据类型,即能够被计算机硬件直接辨识的操作数数据类型定点数(含有符号数和无符号数)、浮点数(含单精度和双精度浮点数)、字符、逻辑数(又称布尔型数据)。第7页/共144页3.1.2 3.1.2 指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数 04
5、:51:50“堆栈(Stack)”是一个重要的数据结构,广泛应用于子程序调用和中断服务等领域。原则:后进先出(Last In First Out,LIFO)“压入(PUSH)”“弹出(POP)”返回第8页/共144页3.1.2 3.1.2 指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数 04:51:50硬件堆栈:用专门的硬件设备来实现的堆栈,也称为级联堆栈。软件堆栈:为了降低硬件成本,大多数计算机(特别是微型计算机)常用软件来实现堆栈,即在内存中开辟一个堆栈区,并在处理器中设置指示堆栈栈顶单元地址的“堆栈指针寄存器(Stack Pointer,SP)”来管理这
6、个堆栈。第9页/共144页3.1.2 3.1.2 指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数 04:51:50相对于硬件堆栈,软件堆栈有三个优点:1.可以有较大的深度。2.可以设置多个堆栈。3.除了专门的堆栈指令PUSH和POP外,还可以使用任何访问主存的指令来访问堆栈中的数据。第10页/共144页3.1.2 3.1.2 指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数指令的操作码与操作数 04:51:50 只有标量数据表示和标量指令的处理器叫标量处理器,这是最常见、最通用的处理器。带有向量数据表示和向量指令的处理器叫向量处理器,例如我国于20
7、世纪80年代研制的银河-1超级计算机就装备有向量处理器。返回第11页/共144页3.1.3 寻址方式 04:51:50 寻址方式寻址方式寻址方式 (Addressing)指的是指令按照何种方式寻找或访问到所需的操作数或信息。寻址方式分为指令寻址和数据寻址 指令寻址指令寻址指令寻址是为了找到下一条指令 数据寻址数据寻址数据寻址是为了找到本条指令所需的操作数 第12页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式 04:51:50n分为顺序寻址和跳跃寻址两种。n顺序寻址:每读取一次PC后,PC自动加1,指向下一条指令。n跳跃寻址则是由当前指令改写PC的内容,根据PC指向地址取
8、下一条指令。1.指令寻址 第13页/共144页04:51:50LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址寻址方式指令地址寻址方式指令地址指令地址指令指令顺序寻址顺序寻址1顺序寻址顺序寻址2顺序寻址顺序寻址3跳跃寻址跳跃寻址7顺序寻址顺序寻址8第14页/共144页3.1.3 寻址方式寻址方式-指令寻址指令寻址 04:51:51n改写PC的指令有“跳转指令(Jump)”和“分支指令(Branch)”。n这两种指令既可直接赋予PC一个新的值,也可在PC现有值的基础上增加或减少一
9、定数量。返回第15页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式 04:51:512.数据寻址 立即数寻址直接寻址间接寻址 堆栈寻址 寄存器寻址 寄存器间接寻址 基址寻址 变址寻址 第16页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51(1)立即数寻址 (Immediate Addressing)在指令中直接给出操作数的数值。指令执行阶段不访存指令执行阶段不访存 A 的位数限制了立即数的范围的位数限制了立即数的范围OP#A立即寻址特征立即寻址特征立即数立即数 可正可负可正可负 补码补码形式地址形式
10、地址 A 就是操作数就是操作数返回第17页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51(2)直接寻址 (Direct Addressing)EA=A操作数主存主存寻址特征寻址特征LDAAAACC 执行阶段访问一次存储器执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出有效地址由形式地址直接给出返回第18页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数
11、据寻址数据寻址数据寻址 04:51:51(3)间接寻址(Indirect Addressing)EA=(A)有效地址由形式地址间接提供有效地址由形式地址间接提供OPA寻址特征寻址特征AEA主存主存EAA1EA A1主存主存 EA10 执行指令阶段执行指令阶段 2 次访存次访存 可扩大寻址范围可扩大寻址范围 便于编制程序便于编制程序OPA寻址特征寻址特征A一次间址一次间址多次间址多次间址操作数操作数操作数操作数多次访存多次访存第19页/共144页 子程序子程序主程序主程序8081201202转转 子程序子程序转转 子程序子程序间接寻址编程举例间接寻址编程举例(A)=81(A)=202 间址特征间
12、址特征JMP A 返回第20页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51(4)寄存器寻址 (Register Addressing)EA=Ri 执行阶段不访存,只访问寄执行阶段不访存,只访问寄存器,执行速度快存器,执行速度快OPRi寻址特征寻址特征 寄存器个数有限,可缩短指令字长寄存器个数有限,可缩短指令字长操作数R0RiRn寄存器寄存器有效地址即为寄存器编号有效地址即为寄存器编号返回第21页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51(5)
13、寄存器间接寻址(Register Indirect Addressing)EA=(Ri)有效地址在寄存器有效地址在寄存器中,中,操作数在存储器操作数在存储器中,执行阶段访存中,执行阶段访存操作数操作数主存主存OPRi寻址特征寻址特征 便于编制循环程序便于编制循环程序地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中返回第22页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51(6)基址寻址(Base Addressing)“逻辑地址”是程序员编写程序时使用的地址 “主存物理地址”是程序段/数据段在主存中的实际存
14、放地址程序段/数据段每次装入主存的起始地址是不确定的,每次运行时,某条指令或某个数据的“主存物理地址”也是不确定的但是这条指令或这个数据的“逻辑地址”是固定的第23页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51(6)基址寻址(Base Addressing)在处理器内部设置一个专门存放程序段/数据段在主存中起始地址的寄存器,称起始地址为基地址,简称“基址”,称该寄存器为“基址寄存器”。“逻辑地址”与基址寄存器中的值相加即得到指令或数据的“主存物理地址”。指令中给出的“逻辑地址”又称为相对于基址的“位移量”,位移量是一个
15、有符号的整数,常用补码表示。第24页/共144页(1)采用专用寄存器作基址寄存器采用专用寄存器作基址寄存器EA=(BR)+ABR 为基址寄存器为基址寄存器OPA操作数主存主存寻址特征寻址特征ALUBR 可扩大寻址范围可扩大寻址范围 便于程序搬家便于程序搬家 BR 内容由操作系统或管理程序确定内容由操作系统或管理程序确定 在程序的执行过程中在程序的执行过程中 BR 内容不变,形式地址内容不变,形式地址 A 可变可变第25页/共144页(2)采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作数主存主存寻址特征寻址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用户指定哪个通用寄存器作为
16、基址寄存器由用户指定哪个通用寄存器作为基址寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系统确定基址寄存器的内容由操作系统确定 在程序的执行过程中在程序的执行过程中 R0 内容不变,形式地址内容不变,形式地址 A 可变可变返回第26页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 (7)变址寻址(Indexed Addressing)EA=(IX)+AOPA操作数主存主存寻址特征寻址特征ALUIX 可扩大寻址范围可扩大寻址范围 便于处理数组问题便于处理数组问题 IX 的内容由用户给定的内容由用户给定 IX 为变址寄存器为变址寄存
17、器 在程序的执行过程中在程序的执行过程中 IX 内容可变,形式地址内容可变,形式地址 A 不变不变通用寄存器也可以通用寄存器也可以作为变址寄存器作为变址寄存器第27页/共144页例例 设数据块首地址为设数据块首地址为 D,求求 N 个数的平均值个数的平均值直接寻址直接寻址变址寻址变址寻址LDA DADD D+1ADD D+2ADD D+(N-1)DIV#NSTA ANSLDA#0LDX#0INXCPX#NBNE MDIV#NSTA ANS共共 N+2 条指令条指令共共 8 条指令条指令ADD X,DMX 为变址寄存器为变址寄存器D 为形式地址为形式地址(X)和和#N 比较比较(X)+1 X结果
18、不为零则转结果不为零则转返回第28页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51(8)堆栈寻址 SP堆栈指针寄存器 先进后出先进后出(一个入出口)(一个入出口)栈顶地址栈顶地址 由由 SP 指出指出 11FFFH+12000 H进栈进栈 (SP)1 SP出栈出栈 (SP)+1 SP栈顶栈顶栈底栈底2000 HSP2000 H1FFF HSP1FFFH栈顶栈顶栈底栈底进栈进栈出栈出栈 1FFF H栈顶栈顶 2000 H栈顶第29页/共144页15200HACCSPX栈顶栈顶200H栈底栈底主存主存151FFHACCSP1
19、5栈顶栈顶200H栈底栈底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX栈顶栈顶200H栈底栈底主存主存151FFH15200HACCSP栈顶栈顶200H栈底栈底主存主存X15第30页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51 根据堆栈的增长方向分为:递增堆栈(Ascending Stack),也称向上增长堆栈。随着数据的压入,这种堆栈向高地址方向增长;递减堆栈(Descending Stack),也称向下增长堆栈。随着数据的压入,这种堆栈向低地址方向增长
20、。(8)堆栈寻址 第31页/共144页3.1.3 3.1.3 寻址方式寻址方式寻址方式寻址方式-数据寻址数据寻址数据寻址数据寻址 04:51:51根据SP所指示栈顶单元的属性,堆栈也可分为:满堆栈(Full Stack)。SP指示栈顶单元存储的是最后压入数据。空堆栈(Empty Stack)。SP指示栈顶单元用于接收下一个要压入的数据。(8)堆栈寻址 返回第32页/共144页04:51:51例2:某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相
21、对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是 。A2006H B2007H C2008H D2009H例1:偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址的是 。A.间接寻址 B.基址寻址 C.相对寻址 D.变址寻址返回第33页/共144页3.1.4 指令的基本功能 04:51:51(1)算术/逻辑/移位指令(算逻指令)(2)数据传送指令(数传指令)(3)控制转移指令(4)输入/输出指令(5)处理器控制及调试指令返回首页第34页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51
22、:51(1)算逻指令n定点加法指令ADDn定点减法指令SUBn定点乘法指令MULn定点除法指令DIVn加1指令INCn减1指令DECn比较指令CMPn浮点加法指令ADDFn浮点减法指令SUBFn浮点乘法指令MULFn浮点除法指令DIVFn十进制数算术运算指令影响处理器状态标志位算术指令返回首页第35页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51:51(1)算逻指令n“与”运算指令ANDn“或”运算指令ORn“非”运算指令NOTn“异或”运算指令XORn位测试n位清除n位求反 n算术左移指令n算术右移指令n逻辑左移指令n逻辑右移指令n带
23、进位循环左移指令n不带进位循环左移指令n带进位循环右移指令n不带进位循环右移指令逻辑指令移位指令返回首页第36页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51:51(2)数传指令根据数据的流向分:n寄存器与寄存器之间的数据传送n寄存器与主存储器单元之间的数据传送n寄存器与堆栈之间的数据传送n堆栈与主存储器单元之间的数据传送n内存单元与内存单元之间的数据传送返回首页第37页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51:51(2)数传指令根据传输的功能分:一般传送、堆栈操作、数据交
24、换n一般传送指令 实现数据复制功能,即把源操作数的内容写入目的操作数。其汇编语言助记符通常为MOV。LOAD:内存 寄存器STORE:寄存器 内存返回首页第38页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51:51(2)数传指令根据传输的功能分:n堆栈操作指令1.压入栈顶PUSH2.弹出栈顶POP PUSH的源操作数和POP指令的目的操作数,一般是寄存器号,也可能是主存储器单元地址.返回首页第39页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51:51(2)数传指令n“数据交换指令
25、”实现两个数据的交换如Intel 80 x86中的XCHG指令。源操作数和目的操作数一般都是寄存器,至多允许源操作数是主存储器单元。数据交换指令的执行时间一般较长。返回首页第40页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51:51(3)控制转移指令n跳转指令JUMP (无条件转移)n分支指令(条件转移)n子程序调用CALL/返回指令RETn循环控制指令LOOPn中断系统指令 返回首页第41页/共144页3.1.4 3.1.4 指令的基本功能指令的基本功能指令的基本功能指令的基本功能 04:51:51(3)控制转移指令n分支指令 根据特
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 应用 计算机 组成 原理
限制150内