收藏 分销(赏)

计算机硬件技术基础电子课件教案-第二章-计算机的工作原理与指令系统.ppt

上传人:精*** 文档编号:14508955 上传时间:2026-10-02 格式:PPT 页数:51 大小:885.54KB 下载积分:10 金币
下载 相关
计算机硬件技术基础电子课件教案-第二章-计算机的工作原理与指令系统.ppt_第1页
第1页 / 共51页
计算机硬件技术基础电子课件教案-第二章-计算机的工作原理与指令系统.ppt_第2页
第2页 / 共51页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,正文,计算机硬件技术基础,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章 计算机的工作原理与指令系统,本章主要内容,2.1 计算机系统的硬件结构,计算机的五大主要部件、总线结构。,2.2 CPU的组成与工作原理,CPU的组成、工作原理,数据表示、编码和运算,CPU控制,x86结构。,2.3 内存的组成及读写原理,内存组成和基本结构,读写方式,内存与CPU的接口,堆栈操作。,2.4 指令系统,指令系统的概念,寻址,x86指令系统简介。,2.5 计算机的工作过程,CPU的基本工作过程,2.1 计算机系统的硬件结构,2.1.1 计算机的主要部件,计算机五大基本部件:,运算器,控制器,内存储器,输入设备,输出设备,外存储器,控制,数据,地址或指令,CPU,主,机,外,设,存储器,CPU,主,机,外,设,CPU=运算器+控制器+寄存器,Central Processing Unit,MPU=一块IC的CPU,Micro Processing Unit,运算器,执行全部的算术和逻辑运算。,控制器,计算机的控制中心,控制和同步其他各个部件。,存储器,计算机的主要记忆部件,以字节为单位的、线性编址的二进制记忆部件。,输入、输出设备,通过接口电路连接到总线的计算机外部设备。,2.1.2 计算机的总线结构,总线(BUS):,能为多个部件服务的公共信息传送线路,分时地发送与接收各部件的信息。,总线信息:,地址信息(地址总线)、数据信息(数据总线)和控制信息(控制总线),地址总线,(AB),:,单向,用于向内存、外部端口传输地址信息。,数据总线,(DB),:,双向,传输各种数据信息。,控制总线,(CB),:,传输控制信息。包括读写、中断等。,系统总线,CPU,内存,接口,外部设备,接口,外部设备,.,单总线结构,若干个机器周期组成一个指令周期。,权值:128 64 32 16 8 4 2 1,2-1 2-2 2-3 2-4,计算机的主要记忆部件,以字节为单位的、线性编址的二进制记忆部件。,寄存器相对寻址ADD BL,1000,根据指令功能的不同,地址码字段可以含有单地址、双地址或三地址结构,少量指令无地址码字段。,8位原码表示数的范围:-127 +127,且00000000和10000000含义相同。,每个单元可以是1/4/8位。,机器周期:每个机器周期完成一个任务(指令中的一个步骤)。,理想状态下每个机器周期执行一条指令。,如加法指令中12D就是立即数。,2 计算机中数据信息的表示,1 内存组成内部存储器的的基本结构,1 内存组成内存的存储单元,8位原码表示数的范围:-127 +127,且00000000和10000000含义相同。,连接到总线上的设备主要有:,CPU,一般情况下总线由,CPU,控制,内部存储器,是完全被动的总线设备,接口电路,所有外部设备必须通过接口电路连接到计算机,不同的接口电路可能拥有不同的端口地址、中断等。,总线的特点,公共性、高速性、标准性。,单总线和多总线,多总线,计算机系统中同时存在多条总线。目前微机算机中都是采用多总线结构。,解决不同的部件速度不一致的问题。,为存储器设计专用的数据通道。,兼容符合不同的总线标准的设备。,2.1.2 计算机的总线结构,2.2 CPU的组成与工作原理,CPU主要包括运算器和控制器,1运算器,ALU:Arithmetic and logical Unit,累加器A:,N位的寄存器,用于保存运算过程中的有关数据。,缓存器R,(暂时寄存器):N位寄存器,接收来自累加器和数据总线的数据。,加法器:,由N个全加器构成。,数据总线,加法器,暂存器 R,累加器A,暂存器,2.2.1 中央处理器的基本构成,程序计数器PC,,又称指令计数器、指令指针(IP),指令寄存器IR,指令译码器ID,,,又称操作码译码器、指令功能分析解释器。,地址形成部件,微操作信号发生器,,确定完成指令所需要的步骤及完成每一步骤所需要的控制信号组合。,时序部件,,产生定时信号,2.2.1 中央处理器的基本构成CPU中的寄存器组,3.CPU中的寄存器组,按功能分有通用寄存器和专用寄存器,通用寄存器,存放原始数据和运算结果,作为变址寄存器、计数器、地址指针等。,专用寄存器,程序计数器,PC,、,指令指针,IP,指令寄存器,IR,等,状态标志寄存器,主要包括两部分内容:,状态标志,如:进位标志、结果为零标志等,大多数运算类指令的执行将会影响到这些标志位。,控制标志,如:中断标志、陷阱标志等。,=13.,DIV r16/m16 (DX.,一个最基本的机器周期由多个(个数可能不同)时钟周期组成。,微操作信号发生器,确定完成指令所需要的步骤及完成每一步骤所需要的控制信号组合。,基址寄存器+变址寄存器+常量,等待MFC,寄存器相对寻址ADD BL,1000,(数据)DRDB,增强指令功能,增加新指令,增加高级指令 指令系统日益庞大和复杂 CSIC(Complex Instruction Set Computer),基址寄存器+变址寄存器X比例 基址比例变址寻址,MOV AX,2345H,XOR dest,src(dest)(dest)(src)逻辑异或,MOV 传送指令,符号位 数值位,-125D反=1 0000010,SHR AX,CL;AX=0176H,CF=1,大多数指令的数据宽度取决于操作数。,2.2.2 计算机中数据信息的表示,数字化信息编码的概念:,在计算机内一切信息必须进行数字化编码(即用二进制代码形式),才能在机内传送、存储和处理。,输入,电路,10110101,计算机,主机,10100010,输出,电路,二进制:,只有0和1,记数按“逢二进一”规律,第k位权是2,k,。,二进制 十进制,b,n,b,n-1,b,n-2,b,0,=,d,n,d,n-1,d,n-2,.,d,0,=,b,k,X2,k,k=0,n,d,k,X10,k,k=0,n,1011,=,1,X2,3,+,0,X2,2,+,1,X2,1,+,1,X2,0,325,=,3,X10,2,+,2,X10,1,+,5,X10,0,=,1,X8+,0,X4+,1,X2+,1,X1 =,3,X100+,2,X10+,5,X1,二进制:b,7,b,6,b,5,b,4,b,3,b,2,b,1,b,0,权值:128 64 32 16 8 4 2 1,2,7,2,6,2,5,2,4,2,3,2,2,2,1,2,0,二进制小数:小数点后第k位权值位2,-k,=1/2,k,。,1101.1001,(二进制),=1X8+1X4+0X2+1X1+1X0.5,+0X0.25+0X0.125 +1X0.0625,=13.5625,(十进制),二进制:0,.,B,-1,b,-2,b,-3,b,-4,权值:,0.5 0.25 0.125 0.0625,2,-1,2,-2,2,-3,2,-4,1/2 1/4 1/8 1/16,2.2.2 计算机中数据信息的表示,二进制,原码、反码和补码,原码:,二进制的最高位为符号位,0正1负,其余各位同无符号二进制。,125D,原,=0 1111101,-125D,原,=1,1111101,符号位 数值位,8位原码表示数的范围:-127 +127,且00000000和10000000含义相同。,反码:,正数的反码和原码相同,负数的反码为其原码将数值位求反,即0变1,1变0。,125D,反,=0 1111101,-125D,反,=1,0000010,符号位 数值位,2.2.2 计算机中数据信息的表示,原码、反码和补码,8位反码表示数的范围:-127 +127,且0 0000000和11111111含义相同。,补码:,正数的补码和原码相同,负数的补码为其原码将数值位求反+1。,125D,补,=0 1111101,-125D,补,=1,0000011,符号位 数值位,8位补码表示数的范围:-128 +127,最主要的优点是在加、减运算时不需要判断符号位,所以CPU,在进行有符号数的加、减运算时用的是补码。,例:分别求出十进制数78D和-120D的原码、反码和补码。,将78D和120D分别转换成二进制:,2.2.2 计算机中数据信息的表示,原码、反码和补码,78D和-120D的原码:,78D,原,=0,1001110-120D,原,=1 1111000,78D和-120D的反码:,78D,反,=0,1001110-120D,反,=1 0000111,78D和-120D的补码:,78D,补,=0,1001110-120D,补,=1 0001000,2,|1 2 0,2,|6 0,0,2,|3 0,0,2,|1 5,0,2,|7,1,2,|3,1,2,|1,1,0,1,120D=,1111000,2,|7 8,2,|3 9,0,2,|1 9,1,2,|9,1,2,|4,1,2,|2,0,2,|1,0,0,1,78D=,1001110,2.2.2 计算机中数据信息的表示,原码、反码和补码,2.2.2 计算机中数据信息的表示,原码、反码和补码,三种机器数的比较,对于正数它们相等,而对于负数各有不同的表示。,补码和反码的符号位可作为数值位的一部分看待,但原码的符号位不允许和数值位同等看待。,原码和反码各有两种零的表示法,而补码具有唯一的一种零的表示法。,原码、反码表示的正、负数范围相对零来说是对称的,但补码负数表示范围较正数表示范围宽。,补码的运算,X,补,+Y,补,=X+Y,补,X,补,-Y,补,=X-Y,补,=X,补,+-Y,补,2.2.2 计算机中数据信息的表示,原码、反码和补码,符号扩展:如将8位转换为16位,原码的符号扩展,正数:,0,010 1001,0,000 0000 0,010 1001,负数:,1,010 1001,1,000 0000 0,010 1001,反码的符号扩展,正数:,0,010 1001,0000,0000,0,010 1001,负数:,1,010 1001,1111,1111,1,010 1001,补码的符号扩展,正数:,0,010 1001,0000,0000,0,010 1001,负数:,1,010 1001,1111,1111,1,010 1001,80X86,有符号扩展的专用指令。,2.2.3 算术运算与逻辑运算的实现逻辑运算,逻辑运算,一般CPU有与、或、非、异或等逻辑指令。逻辑运算是按位进行的,位与位之间没有进位/借位的关系。,2.2.4 控制信号的产生,1.时序系统,与CPU时序有关的基本概念,指令周期:,一条指令从取出、分析、取数到执行完该指令所需的全部时间。不同指令的指令周期可能不同。,机器周期:,每个机器周期完成一个任务,(,指令中的一个步骤,),。若干个机器周期组成一个指令周期。,时钟周期:,时钟脉冲信号的间隔时间称为时钟周期,,CPU,的任何操作都是在时钟脉冲的统一控制下一步一步地进行的。机器周期由若干时钟周期组成。,总线周期:,在微型计算机中,,CPU,与外部系统(内存或外设)的信息交换都是通过总线进行的,将,CPU,一次访问(即读或写)内存或外设所花费的时间,称为总线周期。,机器周期,机器周期,指令地址,操作数地址,CPU时钟,地址总线,数据总线,指令,操作数,.,指令周期,一个最基本的机器周期由多个(个数可能不同)时钟周期组成,。,执行一条指令需要多个,(个数可能不同),机器周期。,2.2.4 控制信号的产生,2.2.4 控制信号的产生控制电路的硬件实现方法,2控制器电路的硬件实现方法,控制器的核心是微操作信号发生器,它的输入是译码后的指令操作码,输出是微操作控制命令。微操作信号发生器的两种实现方法:,硬布线控制器,硬布线控制器,采用组合逻辑技术实现,特点:,指令执行速度快,微操作信号发生器的结构不规整,设计、调试困难,难以实现设计自动化。,微程序控制器,把微操作控制命令代码化,用微指令实现机器指令,特点:,设计规整、调试以及更改、扩充指令方便,易于实现自动化设计。,增加了一级控制内存,指令的执行速度比硬布线控制器慢。,2.2.5 典型CPU的总体结构,8086的内部结构,由两个独立的部件:执行部件,EU,和总线接口部件,BIU,构成。,18086的内部结构,运算器,数据寄存器组,控制器,指令队列,地址加法器,段寄存器,执行部件EU 负责执行指令,完成取指令,(,内部,),、译码、产生指令所需的各种控制信号。,ALU,进行算术、逻辑运算。,通用寄存器组暂存操作数据或中间结果。,总线接口部件,BIU,负责与外部的信息交换。,从内存取指令,(,外部,),送到指令队列,完成指令缓冲。,根据,EU,送来的,16,位偏移地址,通过地址产生器生成,20,位的物理地址。,配合,EU,的请求,完成与,CPU,外部的数据交换。,EU,和,BIU,是两个独立的工作部件,在大多数情况下,它们能并行重叠操作,在,EU,执行指令的同时,,BIU,也在进行取指令、读操作数或存入结果数据的操作。,2.2.5 典型CPU的总体结构,8086的内部结构,2.2.5 典型CPU的总体结构 8086的寄存器结构,8个16位通用寄存器:,4,个,16,位数据寄存器,(,可分为,2,个,8,位,),2,个,16,位变址寄存器,2,个,16,位指针寄存器。,指令指针寄存器,IP,存放当前要执行的指令的偏移量地址。,4,个段寄存器,CS,、,SS,、,DS,、,ES,分别存放代码段、堆栈段、数据段和附加数据段的段地址。,标志寄存器,AH,AL,BH,BL,CH,CL,DH,DL,FLAGS,SP,BP,SI,DI,IP,CS,DS,SS,ES,AX(累加器),BX(基址寄存器),DX(数据寄存器),CX(,记数器),(源地址寄存器),(目的地址寄存器),(堆栈指针寄存器),(基址指针寄存器),指令指针寄存器,标志寄存器,代码段寄存器,数据段寄存器,附加段寄存器,堆栈段寄存器,数据 寄存器,变址 寄存器,指针 寄存器,段寄存器,通用 寄存器,28086的寄存器结构,15,14,13,12,11,OF,10,DF,9,IF,8,TF,7,SF,6,ZF,5,4,AF,3,2,PF,1,0,CF,OF溢出1=溢出,标志有符号数运算结果溢出,DF,方向1=减,0=增,用于字符串指令,IF中断1=允许,用于外部中断开关,TF单步1=单步状态,用于单步调试程序,SF符号1=负,0=正,标志运算结果的符号,ZF零1=零,0=非零,标志运算结果是否为0,AF辅助进位1=有进位/借位,半字节间的进位/借位,PF奇偶1=偶,0=奇,运算结果中1的个数,CF进位1=有进位/借位,运算是否产生进位/借位,2.2.5 典型CPU的总体结构,标志寄存器,标志寄存器用于存放运算结果的属性,和控制标志。,2.3 内存的组成与读写原理,2.3.1 内存组成,1.三级存储系统,计算机系统中,规模较大的存储器往往分成若干级,称存储系统。,Cache,:,高速缓冲存储器,Cache,是比内存容量小得多的、但速度比内存快得多的高速存储器。,Cache,的作用是为了提高,CPU,对内存的访问速度。对用户透明。,CPU,内部的,Cache,称为一级,Cache,(,L1 Cache,),CPU,外部的,Cache,称为二级,Cache,(,L2 Cache,),内部存储器,主存储器。,外部存储器(辅助存储器),硬盘、软盘、光盘、,U,盘、磁带等。,CPU寄存器,Cache,内部存储器,外部存储器,2.3.1 内存组成内部存储器的的基本结构,由2,k,个存储单元组成,单元的编号是地址。每个单元可以是1/4/8位。,接收并暂存来自地址总线(AB)的地址信号。,将k位地址变换成2,k,个输出控制信号,每个控制信号对应一个存储单元。,写存储器时暂存来自数据总线的(DB)数据。,读存储器时暂存来自存储体的数据。,2.3.1 内存组成内存的存储单元,存储单元,是,CPU,对主存储器的最小访问单位,一般为字节,(8,位,),。,E,W,R,选,写,读,通,0/1,D,0,数据,0/1,D,1,数据,0/1,D,2,数据,0/1,D,3,数据,0/1,D,4,数据,0/1,D,5,数据,0/1,D,6,数据,0/1,D,7,数据,0/1,D数据,E,W,R,选,写,读,通,E,W,R,0,X,X,无操作,1,0,0,无操作,1,0,1,读,1,1,0,写,1,1,1,非法,断开,断开,输入,输出,数据线,操作,2.3.2 内存的读写 内存和CPU之间的连接,2.CPU对内存的基本操作,读操作:地址ABAR,Read,等待MFC,(数据)DRDB,写操作:地址ABAR,数据DBDR,Write,等待MFC,同步内存存取和异步内存存取,异步内存存取:,CPU,和内存间没有统一的时钟,由,MFC,通知,CPU,内存工作已完成。,同步内存存取:,CPU,和内存采用统一时钟,同步工作,不需要,MFC,。,MFC=Memory Function Complete,存储器功能完成。,2.3.3 典型微机的内存接口,1.内存编址:,最常用的编址方式是字节编址。,一个,字,(,双字,/,四倍字,),的地址是最低地址字节的地址。,一个,字,(,双字,/,四倍字,),存放在从偶数,(4,的整数倍,/8,的整数倍,),开始的存储器单元中,称为,规则存放,;反之称为,非规则存放,。,读写规则字,(,双字,/,四倍字,),只需一个总线周期,而读写非规则字,(,双字,/,四倍字,),则需要两个存储周期,。,2.,内存接口,数据总线宽度:,一次最多能并行传送的二进制位数,称为数据通路宽度。,存储器数据线数目:,一般情况下和数据总线宽度相等。,CPU,的位宽:,和总线宽度不一定相等。,字节,字,双字,4字,N+7 N+6 N+5 N+4 N+3 N+2 N+1 N,地址,字节,低字节,高字节,低字,高字,低双字,高双字,地址给出的是数据占用的最小地址单元,字节(8位):(10000H)=12H,(10001H)=34H,字(16位):(10002H)=2345H,双字(32位):(10004H)=55667788H,四倍字(64位):(,12,34,45,23,88,77,66,55,45,23,01,89,67,45,23,01,10000H,10002H,10008H,10004H,2.3.3 典型微机的内存接口,数据在存储器中的存放图例,2.3.4 内存堆栈与堆栈操作,1.堆栈,堆栈是一种按“后进先出”,(LIFO),进行存储器访问的存储器访问方式。,一般在内存中划出一段区域用作堆栈,这一区域被称作堆栈区间。,堆栈的大小可变,栈底固定,栈顶浮动,用一个专门的寄存器作为堆栈栈顶指针,。,在,80,X,86,中,,堆栈的栈底地址大于栈顶地址。,堆栈操作作用,中断时的断点,返回地址,参数的传递,栈顶,高地址端,栈底,SP,堆栈指针,堆栈区,2.3.4 内存堆栈与堆栈操作,2.堆栈操作:,进栈操作,(SP)-,2,SP,修改栈指针,(A)(SP),将,A,中的内容传送到栈顶单元,(,压入,),出栈操作,(SP)A,将栈顶单元内容传送到,A,中,(,弹出,),(SP)+,2,SP,修改栈指针,2,是堆栈操作的字节数,在,8086CPU,中,堆栈以字为操作单位,。,堆栈操作既不是在堆栈中移动它所存储的内容,也不是把已存储在栈中的内容从栈中抹掉,而是通过调整堆栈指针而给出新的栈顶位置,以便对位于栈顶位置的数据进行操作。,2.4 指令系统,2.4.1 指令系统简介,CPU,指令,(,机器指令,),:,是,CPU,功能的体现,是用二进制代码表示的指令,是唯一可以被,CPU,直接识别和执行的程序。,指令系统:,是,CPU,全部指令的集合,不同的,CPU,有不同的指令系统。,汇编指令:,是机器指令一种利于记忆的符号,(,助记符,),,用助记符指令编写的程序就是,汇编程序,。,同系列的,CPU,必须保持,指令系统的兼容性,。新一代,CPU,的指令系统必须包含老一代,CPU,的全部指令。,1,指令的组成,指令由,操作码字段,(OP,,,指明操作功能,),和,地址码字段,(A,或称,操作数字段,,指明操作数,),两部分构成。,OP,A,操作码字段 操作数字段(地址码字段),2.4.1 指令系统简介,2.指令的操作码,指令的操作码字段表明了所执行的操作。指令系统中的每一条指令都有一个唯一确定的操作码。,3.,地址码结构,运算的操作数和运算结果存放的地址。,根据指令功能的不同,地址码字段可以含有单地址、双地址或三地址结构,少量指令无地址码字段。,4.,指令格式,如:Intel 8086 CPU加法指令 ADD CL,BH,将寄存器CL和BH相加,和送到CL寄存器。该指令由两个字节构成:02CFH。,02CFH=,000000,1,0,11,001,111,:其中,000000,=ADD,1,=目标为寄存器,0,=,字节运算,11,=寄存器方式,001,=CL,111,=BH。,2.4.1 指令系统简介,5.指令类型,CPU的指令按功能可以分成:,传送类指令,寄存器、存储器之间的数据传送。,运算类指令,、,、,、逻辑、位移等。,程控类指令,转移、循环、子程序等,I/O,类指令,和外部设备的数据交换。,处理器控制指令,2.4.2 指令的寻址方式,寻址方式获得操作数的方式,每种CPU的指令系统都有自己的一套寻址方式,与数据有关的寻址方式:寻找操作数的地址,与转移地址有关的寻址方式:寻找指令的转移地址,80X86,系列微处理器与数据有关的寻址方式:,立即数寻址,数据在指令中,寄存器寻址,数据在,CPU,寄存器中,存储器寻址,数据在存储器中,直接寻址,寄存器间接寻址,例如,基址变址寻址,MOV AX,123,寄存器相对寻址,ADD BL,1000,相对基址变址寻址,MOV CX,SI,比例变址寻址。,立即数寻址,操作数在指令中,立即数。,如加法指令中,12D,就是立即数。,ADD AX,12D (,将寄存器,AX,加12,),立即数用后缀字母说明数制,二进制后缀,B,,,十进制后缀,D,,,十六进制后缀,H,。,无后缀时默认为十进制。,数字开头,立即数可能是,8,位、,16,位、,32,位立即数。,2.,寄存器寻址,操作数在,通用寄存器,中,寄存器数。,8,位寄存器,:,AH,、,AL,、,BH,、,BL,、,CH,、,CL,、,DH,、,DL,。,16,位寄存器,:,AX,、,BX,、,CX,、,DX,、,SI,、,DI,、,BP,、,SP,。,32,位寄存器,:,EAX,、,EBX,、,ECX,、,EDX,、,ESI,、,EDI,、,EBP,、,ESP,。,2.4.2 指令的寻址方式,3.存储器寻址,存储器寻址存储器的定位方式,Intel 8086、80286 CPU有5种存储器寻址方式,Intel 32位CPU增加第6种寻址方式。,+,偏移地址,DS,存,储,器,操作数,2.4.2 指令的寻址方式,直接寻址:,直接给出有效地址,(,偏移量,),格式为:,偏移地址,如指令:,MOV AX,2345H,操作数 2345H为立即寻址,,指令功能:,(DS:2345H)(AX),或(DS:2345H)(AL),(DS:2346H)(AH),如(DS)=1200H,(14345H)(AL),(14346H)(AH),段地址DS,偏移地址2345H,代码段,数据段,AX寄存器,段地址CS,其他的存储器寻址,存储器寻址通式,8086,80286,使用,16,位寻址方式,从,80386,开始扩充,32,位寻址方式。,16,位寻址方式通式:,基址寄存器,+,变址寄存器,+,常量,基址寄存器,BX,BP,变址寄存器,SI,DI,常量,8,位,/16,位常数,16,位寻址方式名称,常量,直接寻址,基址,/,变址寄存器,寄存器间接寻址,基址,/,变址寄存器,+,常量,寄存器相对寻址,基址寄存器,+,变址寄存器,基址变址寻址,基址寄存器,+,变址寄存器,+,常量,相对基址变址寻址,2.4.2 指令的寻址方式,32位寻址方式通式:,基址寄存器+变址寄存器X比例因子+常量,基址寄存器 任一32位通用寄存器,变址寄存器 ESP之外的32位通用寄存器,比例因子 1/2/4/8,常量 8位/32位常数,32位寻址方式及其名称:,比例,=1,:,基址寄存器,+,变址寄存器,+,常量,功能和名称同,16,位寻址,变址寄存器,X,比例,比例变址寻址,基址寄存器,+,变址寄存器,X,比例,基址比例变址寻址,基址寄存器,+,变址寄存器,X,比例,+,常量,相对基址比例变址寻址,2.4.2 指令的寻址方式,2.4.2 指令的寻址方式,操作数的类型和关系,操作数,立即数,寄存器数,存储器数,相对基址变址寻址,基址寄存器+变址寄存器+常量,相对基址比例变址寻址,基址寄存器+变址寄存器X比例+常量,基址变址寻址,基址寄存器+变址寄存器,寄存器相对寻址,基址/变址寄存器+常量,寄存器间接寻址,基址/变址寄存器,直接寻址,常量,基址比例变址寻址,基址寄存器+变址,寄存器X比例,比例变址寻址,变址寄存器X比例,汇编语句包括2类:,指令语句:,每一条指令语句对应一条,CPU,机器指令,产生相应的,CPU,动作。,伪指令语句:,不对应,CPU,机器指令,用于设定段结构、数据结构等。,关于指令:,有操作码和操作数,2,部分;,不同的指令的编码长度,(,字节数,),不同;,不同的指令的执行时间不同;,大多数指令的数据宽度取决于操作数。,2.4.3 x86指令系统举例,1.,数据传送指令,MOV 传送指令,指令格式:,MOV dest,src,功能:,dest,src,例如,MOV AX,1,MOV CL,1200,MOV 1000H,23,寄存器,reg,存储器,mem,段寄存器,sreg,立即数,data,合法的传送方向,2.4.3 x86指令系统举例,MOV,Reg:寄存器 sreg:段寄存器,mem:存储器 imm:立即数,加减运算,ADD dest,src,(dest),(dest)+(src),二进制加,ADC dest,src,(dest),(dest)+(src)+(CF),二进制带进位加,SUB dest,src,(dest),(dest)-(src),二进制减,SBB dest,src,(dest),(dest)-(src)-(CF),二进制带借位减,2.4.3 x86指令系统举例,加减指令,如:(dest)=10001001B,(src)=11100000B,作加、减运算,dest src,和(ADD)差(SUB),10001001 11100000 01101001 10101001,MUL,无符号乘,MUL r8/m8,(AL),(r8/m8)(AX),无符号字节乘,MUL r16/m16,(AX),(r16/m16)(DX.AX),无符号字乘,DIV,无符号除,DIV r8/m8,(AX),(r8/m8),商(AL),余数(AH),无符号字节除,DIV r16/m16,(DX.AX)(r16/m16),商(AX),余数(DX),无符号字除,例如:计算1210,56,5432,123,MOV AX,1210;1210=04BAH,MOV BX,56;56=38H,MUL BX;积=67760,-,(DX.AX)DX=1,AX=08B0,MOV AX,5432;5432=1538H,MOV BL,123;123=7BH,DIV BL;商=44,-,AL,余数=20,-,AH,可以通过debug验证,2.4.3 x86指令系统举例,乘除指令,逻辑指令,NOT reg/mem,(reg/mem)(reg/mem),逻辑非,AND dest,src,(dest)(dest)(src),逻辑与,OR dest,src,(dest)(dest)(src),逻辑或,XOR dest,src,(dest)(dest),(src),逻辑异或,+,2.4.3 x86指令系统举例,逻辑指令和位移指令,逻辑位移,SHL reg/mem,1/CL,SHR reg/mem,1/CL,例如:将AX右移4位,MOV AX,1768H,MOV CL,4,SHR AX,CL;AX=0176H,CF=,1,0,CF,CF,0,0001 0111 0110,1,000,2.4.4 指令系统的发展,CISC和RISC,1.指令系统的发展方向,CISC RISC,增强指令功能,增加新指令,增加高级指令,指令系统日益庞大和复杂,CSIC(Complex Instruction Set Computer),指令系统多达几百条指令,具有多种寻址方式;,计算机研制周期长,增加了设计失误的可能性;,由于复杂指令操作,还可能降低系统的执行速度;,“,20,-80,律”,RISC(Reduced Instruction Set Computer),减少指令种类,简化指令功能,降低硬件复杂度,提高指令的执行速度。,RISC设计应遵循的原则:,只选择使用频度高的指令,指令数目一般不超过100条。,寻址方式种类少,一般不超过2种,指令格式力求一致。,所有或绝大多数指令在单个机器周期内完成。,扩大通用寄存器的数目,一般不少于32个。,减少访问内存,尽量只对寄存器操作。,为提高指令执行速度,大多数指令用硬连线控制实现,少数指令才用微程序实现。,优化编译,简单有效地支持高级语言的实现。,2.4.4 指令系统的发展,CISC和RISC,2.5 计算机的工作过程,2.5.1 指令的执行过程,1指令执行的基本过程,指令的执行 取指令、分析和取数、执行,取指令将现行指令从内存取出并送CPU指令队列,分析及取数,控制器对指令译码,需要时取操作数,执行,根据指令的功能,控制各个部件执行。,0B18,0100,地址加法器,总,线,CS,IP,存储器,控制,器,运算,器,指令队列,8086 CPU,顺序指令预取流水线超标量超线程,顺序控制:,一条指令执行完后,方可取出下一条指令来执行。,指令预取:,CPU,各功能部件以各自可能的速度并行地工作。在总线空闲期间完成取指令。如,8086,中有,6,个字节的指令队列。,流水线,(Pipelining),:,高效率的重叠控制方式。理想状态下每个机器周期执行一条指令。,取指令,译码,执行,取指令,译码,执行,取指令,译码,执行,取指令,译码,执行,取指令,译码,执行,取指令,译码,执行,取指令,译码,执行,取指令,译码,执行,取指令,译码,执行,2.5.3 加速程序执行的方法,超标量,(Superscalar),:,CPU,集成了多个,ALU,、,多个,FPU,、,多个译码器同时存在多条流水线。理想状态下每个机器周期执行,2,条指令。,浮点部件,整数部件1,整数部件2,地址部件1,地址部件2,超线程,(,Hyper Threading,),:,在一个,CPU,中构造,2,个逻辑,CPU,。,2.5.3 加速程序执行的方法,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服