《计算机硬件基础 第3章(组成原理).ppt》由会员分享,可在线阅读,更多相关《计算机硬件基础 第3章(组成原理).ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3 3章章 计算机硬件组成及工作原理(计算机硬件组成及工作原理(1 1学时)学时)计算机硬件组成计算机硬件组成计算机硬件组成计算机硬件组成 处理器工作原理处理器工作原理处理器工作原理处理器工作原理处理器组成及各部分的功能处理器组成及各部分的功能指令及指令周期指令及指令周期处理器工作过程处理器工作过程 指令系统指令系统指令系统指令系统RISC和和CISC体系,指令的编码构成体系,指令的编码构成寻址方式,立即数、寄存器数和存储器数寻址方式,立即数、寄存器数和存储器数传送、算数传送、算数/逻辑运算、转移和输入逻辑运算、转移和输入/输出指令距离输出指令距离 汇编语言汇编语言汇编语言汇编语言汇编语言
2、汇编语言DEBUG演示演示3.1 3.1 计算机的硬件组成计算机的硬件组成冯冯诺依曼体系结构诺依曼体系结构 计算机的构成计算机的构成计算机的构成计算机的构成存储器存储器CPU控制器控制器运算器运算器计算机主机计算机主机外部外部设备设备控制信号控制信号数据数据控制器控制器控制中心,控制中心,CPU的主要部分,控制的主要部分,控制各部件协调工作;各部件协调工作;运算器运算器(ALU)运算运算部件,实现算数、逻辑部件,实现算数、逻辑运算;运算;存储器存储器存放运行时存放运行时的数据、程序;的数据、程序;外部设备外部设备信息输入、信息输入、输出、存储。输出、存储。3.1 3.1 计算机的硬件组成计算机
3、的硬件组成总线连接总线连接 计算机总线计算机总线计算机总线计算机总线CPU通过总线连接存储器和各种外部设备。总线是数据总通过总线连接存储器和各种外部设备。总线是数据总线、控制总线和地址总线的集合。简化的总线结构如图:线、控制总线和地址总线的集合。简化的总线结构如图:CPU接口电路接口电路存储器存储器外部设备外部设备接口电路接口电路外部设备外部设备地址信息地址信息地址信息地址信息控制信息控制信息控制信息控制信息数据信息数据信息数据信息数据信息接口接口接口接口接口接口接口接口3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理CPUCPU构成构成地址寄存器地址寄存器MR数据寄存器数据寄存器
4、DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线 处理器构成处理器构成处理器构成处理器构成一个典型的处理器主要由操作控制器、运算器、寄存器、一个典型的处理器主要由操作控制器、运算器、寄存器、译码器等部分组成。译码器等部分组成。操作控制器:操作控制器:操作控制器:操作控制器:根据译根据译码器产生的微操作,码器产生的微操作,产生控制各个部件的产生控制各个部件的信号,控制各个部件信号,控制
5、各个部件完成指令的功能。完成指令的功能。译码器:译码器:译码器:译码器:根据根据二进制的机器二进制的机器指令产生完成指令产生完成指令功能的微指令功能的微操作指令。操作指令。寄存器组:寄存器组:寄存器组:寄存器组:用用来保存参加运来保存参加运算的操作数和算的操作数和运算的中间结运算的中间结果。果。PC(Program CounterPC(Program Counter,程序计数器程序计数器程序计数器程序计数器):取指令的地取指令的地址,存放下面要执行的指址,存放下面要执行的指令的地址,令的地址,取指令后自动取指令后自动更新指向下一条指令。更新指向下一条指令。ALU(Arithmetic and
6、ALU(Arithmetic and Logic UnitLogic Unit,运算器,运算器,运算器,运算器):主要完成对二进制数据主要完成对二进制数据的算术运算、逻辑运算的算术运算、逻辑运算和各种移位操作和各种移位操作。3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理处理器工作过程处理器工作过程地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总
7、线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制将将PC指指向的存向的存储器单储器单元所存元所存储的指储的指令传送令传送到指令到指令寄存器。寄存器。1.将将PC的值作的值作为地址送出为地址送出2.存储器读命令存储器读命令送出到控制总线送出到控制总线3.从数据总线从数据总线读取指令代码读取指令代码 处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:取指令取指令取指令取指令3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理处理器工作过程处理器工作过程地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器
8、译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制将指令将指令寄存器寄存器中的指中的指令代码令代码转换成转换成实现指实现指令功能令功能的各种的各种微指令,微指令,并通过并通过控制器控制器实现对实现对各部件各部件的控制。的控制。1.传送到传送到译码器译码器 处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:指令
9、译码指令译码指令译码指令译码2.译码成微译码成微控制指令控制指令3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理处理器工作过程处理器工作过程地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制如果指如果指令的执令的执行需要行需要存储器存储器中的数中的数据,要据,要产生一
10、产生一个存储个存储器读周器读周期。期。处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:取数据取数据取数据取数据1.假设存储器地址在假设存储器地址在一个寄存器中,将地一个寄存器中,将地址输出到地址总线址输出到地址总线2.存储器读命令存储器读命令送出到控制总线送出到控制总线3.从数据总线读从数据总线读取存储器数据取存储器数据3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理处理器工作过程处理器工作过程地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆
11、栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制根据指根据指令的功令的功能,执能,执行指令。行指令。处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:处理器的典型工作过程:执行执行执行执行1.假设是运算指令:将假设是运算指令:将操作数传送到运算器,操作数传送到运算器,根据运算要求实现运算根据运算要求实现运算2.运算结果存运算结果存放在累加器中放在累加器中3.运算结果特征存运算结果特征存放在标志寄存器中放在标志
12、寄存器中3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理Intel x86Intel x86的寄存器的寄存器 通用寄存器通用寄存器通用寄存器通用寄存器Intel x86的的32位模式下通用寄存器:位模式下通用寄存器:8位位:AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL16位位:AXAX、BXBX、CXCX、DXDX、SISI、DIDI32位位:EAXEAX、EBXEBX、ECXECX、EDXEDXAH ALBH BLCH CLDH DL 通用寄存器的专用性通用寄存器的专用性通用寄存器的专用性通用寄存器的专用性AXAX:乘除专用寄存器乘除专用寄存器B
13、XBX:基地址寄存器基地址寄存器CXCX:循环专用寄存器循环专用寄存器AXBXCXDX16位寄存器位寄存器EAXEBXECXEDX32位寄存器位寄存器3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理Intel x86Intel x86的寄存器的寄存器 标志寄存器标志寄存器标志寄存器标志寄存器标志寄存器用于记录运算结果的特征或标志寄存器用于记录运算结果的特征或CPU的工作状态。的工作状态。Intel x86的的16位模式下标志寄存器为一个位模式下标志寄存器为一个16位专用寄存器,其位专用寄存器,其中包括用于运算和用于控制的标志。中包括用于运算和用于控制的标志。15 14 131211
14、OF10DF9IF8TF7SF6ZF54AF32PF10CF溢溢出出方方向向中中断断单单步步符符号号零零辅助辅助进位进位奇奇偶偶进位进位借位借位当有符号运算结当有符号运算结果产生溢出时置果产生溢出时置1,否则置,否则置0。运算结果的最高位,运算结果的最高位,1表示结果为负,表示结果为负,0表示为正。表示为正。当运算结果为当运算结果为0时时置置1,否则置,否则置0。当加当加/减运算中产减运算中产生进位生进位/借位时时借位时时置置1,否则置,否则置0。3.2 CPU3.2 CPU的组成和工作原理的组成和工作原理指令周期指令周期 处理器主频:处理器主频:处理器主频:处理器主频:驱动处理器工作的周期性
15、时钟脉冲信号的频率,驱动处理器工作的周期性时钟脉冲信号的频率,又称为又称为时钟频率时钟频率时钟频率时钟频率或或内核时钟频率内核时钟频率内核时钟频率内核时钟频率,是处理器内核电路的实际,是处理器内核电路的实际工作频率。时钟频率的倒数是工作频率。时钟频率的倒数是时钟周期时钟周期时钟周期时钟周期。机器周期:机器周期:机器周期:机器周期:由多个时钟周期组成,是一个处理器基本操作需由多个时钟周期组成,是一个处理器基本操作需要的时间,如取指令、取存储器操作数等。要的时间,如取指令、取存储器操作数等。指令周期:指令周期:指令周期:指令周期:处理器完成一条指令的时间,由一个或多个机器处理器完成一条指令的时间,
16、由一个或多个机器周期组成。周期组成。取指令取指令机器周期机器周期取操作数取操作数机器周期机器周期 时钟周期时钟周期指令周期指令周期时钟时钟信号信号3.3 3.3 指令系统指令系统指令构成指令构成 指令系统:指令系统:指令系统:指令系统:是一个是一个CPU所能够处理的全部指令的集合,是一所能够处理的全部指令的集合,是一个个CPU的根本属性。的根本属性。指令的构成指令的构成指令的构成指令的构成指令由指令由操作码操作码操作码操作码字段(字段(OP,指明指令功能)和,指明指令功能)和地址码地址码地址码地址码字段(字段(A,或称或称操作数操作数操作数操作数字段,指明操作数)两部分构成。字段,指明操作数)
17、两部分构成。OP(操作码操作码)A(地址码地址码)操作码操作码操作码操作码指明操作,如加、减、与、或、移位、转移等。指明操作,如加、减、与、或、移位、转移等。地址码地址码地址码地址码指明操作数存放位置。如指明操作数存放位置。如CPU的某个寄存器、存的某个寄存器、存储器的某个单元等。部分指令无地址码字段。储器的某个单元等。部分指令无地址码字段。3.3 3.3 指令系统指令系统指令编码例指令编码例例如:例如:Intel x86 CPU加法指令加法指令 ADD AX,BX将寄存器将寄存器AX和寄存器和寄存器BX的内容相加,并将和送到的内容相加,并将和送到AX寄存器寄存器(AX)+(BX)(AX)该指
18、令由两个字节构成,该指令由两个字节构成,16位二进制的十六进制为:位二进制的十六进制为:01D8H01D8H01D8H01D8H=00000001 11011000 其中其中000000=ADD,指令操作码,指令操作码 0=源为寄存器,指明源操作数源为寄存器,指明源操作数1=字字(16位位)运算,区分字节、字运算运算,区分字节、字运算 11=寄存器方式,指明操作数类型寄存器方式,指明操作数类型 011=BX,寄存器编号,寄存器编号000=AX,寄存器编号,寄存器编号3.3 3.3 指令系统指令系统指令功能分类指令功能分类 指令操作码指令操作码指令操作码指令操作码确定指令功能,指令按照功能通常可
19、以分为以下几类:确定指令功能,指令按照功能通常可以分为以下几类:数据传送类指令数据传送类指令数据传送类指令数据传送类指令实现寄存器与寄存器之间、寄存器与存储器之间的数据传实现寄存器与寄存器之间、寄存器与存储器之间的数据传送。送。运算类指令运算类指令运算类指令运算类指令包括算术运算(加、减、乘、除等),逻辑运算(与、或、包括算术运算(加、减、乘、除等),逻辑运算(与、或、非、异或等)、位移运算等。非、异或等)、位移运算等。程序控制类指令程序控制类指令程序控制类指令程序控制类指令包括转移控制、循环控制、子程序、中断控制指令等。包括转移控制、循环控制、子程序、中断控制指令等。输入输入输入输入/输出类
20、指令输出类指令输出类指令输出类指令实现主机与外部设备之间的信息交换。实现主机与外部设备之间的信息交换。处理器控制指令处理器控制指令处理器控制指令处理器控制指令实现实现CPU的特殊控制。的特殊控制。3.3 3.3 指令系统指令系统寻址方式寻址方式 寻址方式寻址方式寻址方式寻址方式指令获得操作数的方式,分为三种类型:在指令中、在寄存器指令获得操作数的方式,分为三种类型:在指令中、在寄存器中、在存储器中。中、在存储器中。在指令中在指令中立即寻址立即寻址立即寻址立即寻址可以看作指令中的常数,在汇编中可以以不同进制给出。可以看作指令中的常数,在汇编中可以以不同进制给出。二进制,后缀二进制,后缀B。例如:
21、例如:01010010B;十进制,后缀十进制,后缀D或缺省。或缺省。例如:例如:20D或或20;十六进制,后缀十六进制,后缀H。例如:例如:1000H。例如:例如:MOV AX,300H 立即数,立即数,0AL,30HAHAND AL,120 立即数,立即数,AL的的8位位“与与”0111 1000B3.3 3.3 指令系统指令系统寻址方式寻址方式 寻址方式(续)寻址方式(续)寻址方式(续)寻址方式(续)在在CPU的寄存器中的寄存器中寄存器寻址寄存器寻址寄存器寻址寄存器寻址,指明寄存器,指明寄存器不同的不同的CPU有不同的寄存器。寄存器有确定的位宽,同时有不同的寄存器。寄存器有确定的位宽,同时
22、寄存器的使用可能有限制,具体限制因指令的不同而异。寄存器的使用可能有限制,具体限制因指令的不同而异。例如:例如:ALAL:8位寄存器,位寄存器,AX的低的低8位位BXBX:16位寄存器位寄存器CHCH:8位寄存器,位寄存器,CX的高的高8位位例如:例如:ADD AX,BX 寄存器数,寄存器数,AX+BXAX,16位加位加OR AL,AH 寄存器数,寄存器数,AL AH AL,8位或位或3.3 3.3 指令系统指令系统寻址方式寻址方式 寻址方式(续)寻址方式(续)寻址方式(续)寻址方式(续)在存储器中在存储器中存储器寻址存储器寻址存储器寻址存储器寻址。根据地址的存在方式不同,。根据地址的存在方式
23、不同,可细分为多种具体的寻址方式,主要包括:可细分为多种具体的寻址方式,主要包括:指令中存在存储器地址指令中存在存储器地址直接寻址直接寻址直接寻址直接寻址依照在依照在Intel x86汇编中的写法,地址值可以写成二汇编中的写法,地址值可以写成二进制、十进制或十六进制。进制、十进制或十六进制。例如:例如:100H、230D等;等;存储器地址在寄存器中存储器地址在寄存器中间接寻址间接寻址间接寻址间接寻址可以用于存放地址的寄存器有可以用于存放地址的寄存器有BX、BP、SI和和DI。例如:例如:BX、SI等;等;由在寄存器和指令中的多部分合成由在寄存器和指令中的多部分合成例如:例如:BX+1000H、
24、SI+180。3.3 3.3 指令系统指令系统x86x86指令举例指令举例 数据传送指令数据传送指令数据传送指令数据传送指令MOV dest,srcMOV dest,src;(src)(dest);dest可以是寄存器或存储器类型字节或字可以是寄存器或存储器类型字节或字;src可以是寄存器、存储器或立即数类型字节或字可以是寄存器、存储器或立即数类型字节或字例如:例如:MOV 1000H,CX将将CX寄存器的值复制到地址为寄存器的值复制到地址为1000H的存储器单元。的存储器单元。加减算术指令加减算术指令加减算术指令加减算术指令ADD dest,srcADD dest,src;(dest)+(s
25、rc)(dest)加运算加运算SUB dest,srcSUB dest,src;(dest)-(src)(dest)减运算减运算;dest和和src同同MOV指令指令例如:例如:ADD AX,1000D将寄存器将寄存器AX的值与十进制的值与十进制1000数求和,结果存放到数求和,结果存放到AX。3.3 3.3 指令系统指令系统x86x86指令举例指令举例 无符号乘除算术指令无符号乘除算术指令无符号乘除算术指令无符号乘除算术指令MUL r8MUL r8;(AL)(r8)(AX)无符号字节乘无符号字节乘MUL r16MUL r16;(AX)(r16)(DX.AX)无符号字乘无符号字乘DIV r8D
26、IV r8;(AX)(r8)商商(AL),余数余数(AH)无符号字节除无符号字节除DIV r16DIV r16;(DX.AX)(r16)商商(AX),余数余数(DX)无符号字除无符号字除;r8为为8位寄存器,位寄存器,r16为为16位寄存器。位寄存器。例如:例如:计算计算12345678H5000H,商,商=3A41H,余数,余数=678HMOV DX,1234HMOV AX,5678HMOV BX,5000HDIV BX;12345678H5000H;商商AX(=3A41H)余数余数DX(=678H)3.3 3.3 指令系统指令系统x86x86指令举例指令举例 逻辑运算指令逻辑运算指令逻辑运
27、算指令逻辑运算指令 .NOT destNOT dest;(dest)(dest)逻辑非逻辑非AND dest,srcAND dest,src;(dest)(src)(dest)逻辑与逻辑与OROR dest,src dest,src;(dest)(src)(dest)逻辑或逻辑或;dest和和src同同MOV指令指令例如:例如:NOT CX;将将CX寄存器的值逐位求反寄存器的值逐位求反例如:例如:AND AX,00FFH;将将AX寄存器的值与寄存器的值与00FFH;AX的高的高8位被强行置为位被强行置为0 例如:例如:OR BX,000FH;将将BX寄存器的值或寄存器的值或000FH;将将BX
28、寄存器最低寄存器最低4位强行置为位强行置为13.3 3.3 指令系统指令系统x86指令举例指令举例 逻辑位移指令逻辑位移指令逻辑位移指令逻辑位移指令 SHL dest,CLSHL dest,CL;(dest)逻辑左移逻辑左移(CL)位位(dest)SHR dest,CLSHR dest,CL;(dest)逻辑右移逻辑右移(CL)位位(dest);移入位为移入位为0;CL寄存器存放移位位数,也可以是寄存器存放移位位数,也可以是1;dest可以是寄存器或存储器类型字或字节可以是寄存器或存储器类型字或字节 SHLSHR0 CFCF03.3 3.3 指令系统指令系统x86指令举例指令举例 循环位移指令
29、循环位移指令循环位移指令循环位移指令 ROL dest,CLROL dest,CL;(dest)循环左移循环左移(CL)位位(dest)ROR dest,CLROR dest,CL;(dest)循环右移循环右移(CL)位位(dest);移出位进入移入位移出位进入移入位;CL寄存器存放移位位数,也可以是寄存器存放移位位数,也可以是1;dest可以是寄存器或存储器类型字或字节可以是寄存器或存储器类型字或字节ROLRORCFCF3.3 3.3 指令系统指令系统x86x86指令举例指令举例例如:例如:Intel x86处理器指令(汇编格式)处理器指令(汇编格式)MOV AX,1000HMOV AX,1
30、000H;字传送指令,将地址为十六进制字传送指令,将地址为十六进制1000H的两个字节数传送到的两个字节数传送到AX寄存器。寄存器。其中其中AXAX:寄存器寻址寄存器寻址1000H1000H:存储器数,直接寻址存储器数,直接寻址 ADD AX,500ADD AX,500;字加法指令,将字加法指令,将AX寄存器加寄存器加500。其中其中AXAX:寄存器寻址寄存器寻址500500:立即寻址,十进制立即寻址,十进制500 OR CX,BX OR CX,BX;字或运算指令,将字或运算指令,将CX寄存器或以寄存器或以BX寄寄存器为地址的存储器数。存器为地址的存储器数。其中其中CXCX:寄存器寻址寄存器寻
31、址BXBX:寄存器间接寻址寄存器间接寻址3.3 3.3 指令系统指令系统执行过程例执行过程例第第1步:步:取指令取指令指令操指令操作:作:(AX)+3(AX)+3000H000H(AX)(AX)指令的指令的二进制二进制代码代码:0306 0306 0300H0300H 执行指令:执行指令:执行指令:执行指令:ADD AX,3000H ADD AX,3000H 地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制
32、器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制将将PC的值作的值作为地址送出为地址送出存储器读命令送存储器读命令送出到控制总线出到控制总线从数据总线读从数据总线读取指令代码取指令代码0306 03003.3 3.3 指令系统指令系统执行过程例执行过程例第第2步:步:译码译码 执行指令:执行指令:执行指令:执行指令:ADD AX,3000H ADD AX,3000H 地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器P
33、C堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制传送到传送到译码器译码器译码成微译码成微控制指令控制指令0306 0300AX当前值传当前值传送累加器送累加器3.3 3.3 指令系统指令系统执行过程例执行过程例第第3步:步:取操作取操作数数 执行指令:执行指令:执行指令:执行指令:ADD AX,3000H ADD AX,3000H 地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器
34、通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制0306 0300将指令中的存储器地址将指令中的存储器地址3000H通过地址总线送出通过地址总线送出存储器读命令送存储器读命令送出到控制总线出到控制总线从数据总线读取存从数据总线读取存储器储器3000H单元数单元数据到暂存器据到暂存器3.3 3.3 指令系统指令系统执行过程例执行过程例第第4步:步:执行执行ADD 执行
35、指令:执行指令:执行指令:执行指令:ADD AX,3000H ADD AX,3000H 地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读写读写控制控制0306 0300将操作数传送到将操作数传送到运算器,根据运运算器,根据运算要求实现运算算要求实现运算运算结果存放运算结果存放在累加器中在累加
36、器中运算结果特征存放运算结果特征存放在标志寄存器中在标志寄存器中3.3 3.3 指令系统指令系统执行过程例执行过程例第第5步:步:存运算存运算结果结果 执行指令:执行指令:执行指令:执行指令:ADD AX,3000H ADD AX,3000H 地址寄存器地址寄存器MR数据寄存器数据寄存器DR指令寄存器指令寄存器译码器译码器通用寄存器通用寄存器1通用寄存器通用寄存器n程序计数器程序计数器PC堆栈指针堆栈指针SP暂存器暂存器ALU累加器累加器标志寄存器标志寄存器操作操作操作操作控制器控制器控制器控制器控制总线控制总线地址总线地址总线数据总线数据总线地址地址译码译码存储阵列存储阵列存储阵列存储阵列读
37、写读写控制控制0306 0300将累加器中的将累加器中的运算结果传送运算结果传送到到AX寄存器寄存器3.3 3.3 指令系统指令系统特征和发展特征和发展 RISC RISC和和和和CSICCSICCISCCISC(Complex Instruction Set Computer)复杂指令系统计算机复杂指令系统计算机RISCRISC(Reduced Instruction Set Computer)精简指令系统计算机精简指令系统计算机CISCCISC的特点:的特点:的特点:的特点:指令结构复杂,指令数量多,具有多种复杂的寻址方式;指令结构复杂,指令数量多,具有多种复杂的寻址方式;单条指令功能强,
38、执行一条指令需要多个机器周期;单条指令功能强,执行一条指令需要多个机器周期;RISCRISC的特点:的特点:的特点:的特点:指令结构简单,指令数量少,一般不超过指令结构简单,指令数量少,一般不超过100条;条;单条指令功能单一,寻址方式简单,指令格式统一;单条指令功能单一,寻址方式简单,指令格式统一;所有或绝大多数指令在单个机器周期内完成;所有或绝大多数指令在单个机器周期内完成;指令数量指令数量指令功能指令功能寻址方式寻址方式指令编码指令编码指令执行指令执行CISC多多复杂复杂丰富丰富不等长不等长多周期多周期RISC少少简单简单单一单一等长等长大多数单周期大多数单周期3.4 3.4 汇编语言汇
39、编语言DEBUGDEBUG演示演示 DEBUG DEBUG演示演示演示演示进入进入进入进入DEBUGDEBUG在在Windows下,下,通过通过“开始开始”“运行运行”键入键入“CMD”回车回车 键入键入“debug”回车,启动回车,启动DEBUG。键入。键入“?”回车回车显示全部命令。显示全部命令。命令名命令名称称命令格命令格式式A命令:用于输入汇编程序命令:用于输入汇编程序D命令:用于显示存储器内容命令:用于显示存储器内容E命令:用于写存储器内容命令:用于写存储器内容G命令:用于执行一段程序命令:用于执行一段程序P命令:多用于单步执行命令:多用于单步执行Q命令:退出命令:退出DEBUGR命
40、令:显示命令:显示/写寄存器内容写寄存器内容U命令:将机器指令转换成汇编命令:将机器指令转换成汇编3.4 3.4 汇编语言汇编语言DEBUGDEBUG演示演示 DEBUG DEBUG演示演示演示演示键入程序键入程序键入程序键入程序在在DEBUG下用下用DIV指令计算指令计算12345678H5000HDIV r16 (DX.AX)(r16),商,商(AX),余数,余数(DX)(DEBUG下数值只能输入十六进制并不带后缀下数值只能输入十六进制并不带后缀H)进入进入DEBUGA命令,输入汇编程序到内存地址命令,输入汇编程序到内存地址100处开始处开始逐条输入汇编程序逐条输入汇编程序+回车,完毕按回
41、车,完毕按Ctrl+C结束结束U 100 10A命令转换机器指令为汇命令转换机器指令为汇编:编:地址地址 机器代码机器代码 汇编指令汇编指令D 100 10A命令显示指定内存数据命令显示指定内存数据及其及其ASCII码码R命令显示当前寄存器状态,其中命令显示当前寄存器状态,其中IP寄存器指向第寄存器指向第一条指令地址,同时显示该地址的汇编指令一条指令地址,同时显示该地址的汇编指令3.4 3.4 汇编语言汇编语言DEBUGDEBUG演示演示 DEBUG DEBUG演示演示演示演示执行程序段执行程序段执行程序段执行程序段在在DEBUG下键入下键入“p”回车单步执行程序,每一次回车单步执行程序,每一次“p”命命令执行一条语句。令执行一条语句。12345678H5000H,商商AX(=3A41H)余数余数DX(=678H)第一条语句第一条语句MOV DX,1234行完毕寄存行完毕寄存器结果器结果第二条语句第二条语句MOV AX,5678行完毕寄存行完毕寄存器结果器结果第三条语句第三条语句MOV BX,5000行完毕寄存行完毕寄存器结果器结果第四条语句第四条语句DIV BX行完毕寄存行完毕寄存器结果器结果