版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 Intel系列微处理器结构系列微处理器结构 一、微型计算机组成原理一、微型计算机组成原理 二、微处理器内部结构二、微处理器内部结构 CPU + 适当容量适当容量M + 输入输出接口输入输出接口+ 外部设备外部设备 =MICOR _COMPUTER + 软件软件 =MICOR _ COMPUTER SYSTEM 1、微型计算机外部结构、微型计算机外部结构 2、微型计算机内部结构、微型计算机内部结构 3 体系结构:冯体系结构:冯. .诺依曼计算机体系结构诺依曼计算机体系结构 计算机的基本结构 存储器 输出 输入 运算器 控制器 数据线路 控制信号 微型计算机外部结构如下图所示(微型计
2、算机外部结构如下图所示(三总线结构三总线结构) 微型计算机外部结构微型计算机外部结构 微微 处处 理理 器器 CPUCPU ROMROMRAMRAM I/OI/O 接口接口 输出设备输出设备 输入设备输入设备 地址总线AB地址总线AB 数据总线DB数据总线DB 控制总线CB控制总线CB 5 微型计算机的系统结构框图微型计算机的系统结构框图 6 CPU是微型计算机的核心芯片,它包括运算器、是微型计算机的核心芯片,它包括运算器、 控制器和寄存器三个主要部分。运算器也称为算术控制器和寄存器三个主要部分。运算器也称为算术 逻辑单元逻辑单元ALU(Arithmetic and Logic Unit)。顾
3、名思。顾名思 义,运算器的功能是完成数据的算术和逻辑运算的。义,运算器的功能是完成数据的算术和逻辑运算的。 控制器一般由指令寄存器、指令译码器和控制电路控制器一般由指令寄存器、指令译码器和控制电路 组成。控制器根据指令的要求,对微型计算机各部组成。控制器根据指令的要求,对微型计算机各部 件发出相应的控制信息,使它们协调工作,从而完件发出相应的控制信息,使它们协调工作,从而完 成对整个计算机系统的控制。成对整个计算机系统的控制。CPU内部的寄存器用内部的寄存器用 来存放经常使用的数据。来存放经常使用的数据。 1、CPU 7 根据冯根据冯 . 诺依曼计算机体系结构准则,诺依曼计算机体系结构准则,
4、数据信息和控制信数据信息和控制信 息按存储地址存放在存储器中;计算机由一个程序计算器控制息按存储地址存放在存储器中;计算机由一个程序计算器控制 指令的执行。计算机分为运算器、控制器、系统总线、存储器、指令的执行。计算机分为运算器、控制器、系统总线、存储器、 输入输出接口等五大部件。随着大规模集成电路的出现,运算输入输出接口等五大部件。随着大规模集成电路的出现,运算 器和控制器集成在了一个芯片上,而这种具有运算器和控制器器和控制器集成在了一个芯片上,而这种具有运算器和控制器 功能的计算机部件称为功能的计算机部件称为中央处理器中央处理器,通常简称,通常简称CPU。 CPU的功能与组成的功能与组成
5、(1)CPU的功能的功能 当用计算机解决某个问题时,我们首先必须为它编写程序。当用计算机解决某个问题时,我们首先必须为它编写程序。 程序是一个指令序列,这个序列明确告诉计算机应该执行什么程序是一个指令序列,这个序列明确告诉计算机应该执行什么 操作,在什么地方找到用来操作的数据。一旦把程序装入内存操作,在什么地方找到用来操作的数据。一旦把程序装入内存 储器,就可以由计算机来自动完成取出指令和执行指令的任务。储器,就可以由计算机来自动完成取出指令和执行指令的任务。 CPU对整个计算机系统的运行是极其重要的,它具有如下对整个计算机系统的运行是极其重要的,它具有如下 四方面的基本功能:四方面的基本功能
6、: 8 1) 指令控制指令控制 程序的顺序控制称为指令控制。由于程序是一个指令序列,这程序的顺序控制称为指令控制。由于程序是一个指令序列,这 些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序 进行。进行。 2) 操作控制操作控制 一条指令的功能往往是由若干个操作信号的组合来实现的,因一条指令的功能往往是由若干个操作信号的组合来实现的,因 此,此,CPU 管理并产生由内存取出的每条指令的操作信号,把管理并产生由内存取出的每条指令的操作信号,把 各种操作信号送往相应的部件,从而控制这些部件按指令的要各种操作信号送往相应的部件,从而控制这些
7、部件按指令的要 求进行动作。求进行动作。 3) 时间控制时间控制 对各种操作实施时间上的定时称为时间控制。在计算机中,各对各种操作实施时间上的定时称为时间控制。在计算机中,各 种指令的操作信号以及一条指令的整个执行过程都受到时间的种指令的操作信号以及一条指令的整个执行过程都受到时间的 严格定时。严格定时。 4) 数据加工数据加工 数据加工就是对数据进行算术运算和逻辑运算处理。数据加工就是对数据进行算术运算和逻辑运算处理。 9 (2)CPU的基本组成的基本组成 总线接口与控制单元、执行运算单元是总线接口与控制单元、执行运算单元是CPU的基本部件。的基本部件。 10 存储器(存储器(Memory)
8、又称为主存)又称为主存(Main Storage) 或内存,是微型计算机的存储和记忆装置,用以存或内存,是微型计算机的存储和记忆装置,用以存 放数据和程序。微型计算机的内存通常采用半导体放数据和程序。微型计算机的内存通常采用半导体 存储器。存储器。 内存单元的地址和内容。内存中存放的是内存单元的地址和内容。内存中存放的是 数据和程序,从形式上看,均为二进制数。一般将数据和程序,从形式上看,均为二进制数。一般将 8位二进制数记作一个字节(位二进制数记作一个字节(Byte),每一个内存),每一个内存 单元中存放一个字节的二进制信息,内存容量就是单元中存放一个字节的二进制信息,内存容量就是 它所能包
9、含的内存单元的数量。通常以字节为单位,它所能包含的内存单元的数量。通常以字节为单位, 1024字节记做字节记做1KB,1000KB字节记做字节记做1MB。 2、存储器、存储器 11 采用296引脚的引脚栅格阵列(PGA)陶瓷封装技术 12 预取缓冲存储器 指令译码 256 控制 ROM 控制部件 地址生成 (U流水线) 地址生成 (U流水线) 整数寄存器组 ALU (U流水线) ALU (U流水线) 筒型移位器 8KB数据 Cache 浮点部件 控制 寄存器组 加法器 除法器 乘法器 80 80 8KB代码 Cache 分支目标 缓冲器 预取 地址 指令指针 转移校验 和 目标地址 分页 部件
10、 32 32 32 32 32 32 总 线 部 件 64 64位读总线 64位 数据总线 36位 地址总线 控制 TLB TLB 32位地址总线 Pentium 微处理器的功能结构微处理器的功能结构 13 微型计算机通过给各个内存单元规定不同地址微型计算机通过给各个内存单元规定不同地址 来管理内存。这样,来管理内存。这样,CPU 便能识别不同的内存单便能识别不同的内存单 元,正确地对其进行操作,显然,内存单元的地址元,正确地对其进行操作,显然,内存单元的地址 和内存单元的内容是两个完全不同的概念。和内存单元的内容是两个完全不同的概念。 内存的操作。内存的操作。CPU对内存的操作有两种:对内存
11、的操作有两种: 读或写。读操作是读或写。读操作是CPU将内存单元的内容读入将内存单元的内容读入CPU 内部,而写操作是内部,而写操作是CPU将其内部信息传送到内存单将其内部信息传送到内存单 元保存起来。显然,写操作的结果改变了被写内存元保存起来。显然,写操作的结果改变了被写内存 单元的内容,是破坏性的,而读操作是非破坏性的,单元的内容,是破坏性的,而读操作是非破坏性的, 即,该内存单元的内容在信息被读即,该内存单元的内容在信息被读“走走”之后仍保之后仍保 持原信息。持原信息。 14 内存的分类。按工作方式,内存可分为两大内存的分类。按工作方式,内存可分为两大 类:随机存储器类:随机存储器RAM
12、(Random Access Memory)和)和 只读存储器只读存储器ROM(Read Only Memory)。)。 RAM 可以被可以被CPU随机地读写,故又称为读写存随机地读写,故又称为读写存 储器。这种存储器用于存放用户装入的程序、数据及储器。这种存储器用于存放用户装入的程序、数据及 部分系统信息。当机器断电后,所存信息消失。部分系统信息。当机器断电后,所存信息消失。 ROM 中的信息只能被中的信息只能被CPU读取,而不能由读取,而不能由CPU 任意写入,故称为只读存储器,机器断电,信息仍保任意写入,故称为只读存储器,机器断电,信息仍保 留。这种存储器用于存放固定的程序,如:基本的留
13、。这种存储器用于存放固定的程序,如:基本的I O程序、程序、BASIC解释程序以及用户编写的专用程序等。解释程序以及用户编写的专用程序等。 ROM中的内容只能用专用设备写入。中的内容只能用专用设备写入。 15 IO设备是微型计算机系统的重要组成部分。设备是微型计算机系统的重要组成部分。 程序、数据及现场信息要通过输入设备输入给微型程序、数据及现场信息要通过输入设备输入给微型 计算机。计算机。CPU计算的结果通过输出设备输出到外部。计算的结果通过输出设备输出到外部。 常用的输入设备有键盘、鼠标器、数字化仪、扫描常用的输入设备有键盘、鼠标器、数字化仪、扫描 仪、仪、AD 转换器等。常用的输出设备有
14、显示器、转换器等。常用的输出设备有显示器、 打印机、绘图仪等。磁盘、磁带、打印机、绘图仪等。磁盘、磁带、U 盘既是输入设盘既是输入设 备,又是输出设备。备,又是输出设备。 3、输入输出(、输入输出(IO)设备和输入输出)设备和输入输出 接口(接口(IO Interface) 16 外设的种类繁多,有机械式、电动式、电子式外设的种类繁多,有机械式、电动式、电子式 等,且一般说来,与等,且一般说来,与CPU相比,工作速度较低,外相比,工作速度较低,外 设处理的信息有数字量、模拟量、开关量等,而微设处理的信息有数字量、模拟量、开关量等,而微 型计算机只能处理数字量。另外,外设与微型计算型计算机只能处
15、理数字量。另外,外设与微型计算 机工作的逻辑时序也可能不一致。鉴于上述原因,机工作的逻辑时序也可能不一致。鉴于上述原因, 微型计算机与外设间的连接及信息的交换不能直接微型计算机与外设间的连接及信息的交换不能直接 进行,而须设计一个进行,而须设计一个“接口电路接口电路”作为微型计算机作为微型计算机 与外设之间的桥梁。这种接口电路又叫做与外设之间的桥梁。这种接口电路又叫做 “IO适适 配器配器”(IO Adapter)。)。 地址总线地址总线 AB(ADDRESS BUS); 通常通常16位,单向,位,单向,A15A0,可寻址可寻址216=64KB内存单元。内存单元。 A7A0,可寻址可寻址 28
16、=256外设接口。外设接口。 数据总线数据总线 DB(DATA BUS); 通常通常8位,位, D7D0 ,双向,实现双向,实现CPU 与与I/O 传送。传送。 控制总线控制总线 CB(CONTROL BUS); 传送控制信号。一方面根据传送控制信号。一方面根据CPU对指令的译码结果,输对指令的译码结果,输 出控制信号;另一方面出控制信号;另一方面CPU响应外部器件的请求信号。响应外部器件的请求信号。 4、总线控制、总线控制 由于由于CPU受成品率,成本,集成在单片上等原因。受成品率,成本,集成在单片上等原因。 严格规定严格规定40条引脚,引脚数就限制了总线的数量。条引脚,引脚数就限制了总线的
17、数量。 外部外部采用三总线结构采用三总线结构 AB、DB、CB。 内部内部采用单总线。采用单总线。 即内部所有单元即内部所有单元电路都挂在内部总线上,电路都挂在内部总线上,分时分时使用总线。使用总线。 通常微处理机内部结构及外部连接方法如下图所示。通常微处理机内部结构及外部连接方法如下图所示。 19 8086CPU内部结构框图内部结构框图 微型计算机内部结构微型计算机内部结构 数据总线缓冲器/锁存器数据总线缓冲器/锁存器 累加器累加器 (8位)(8位) 暂存寄存暂存寄存 器(8)器(8) 标志寄存标志寄存 器器 多路转换开关多路转换开关指令寄存指令寄存 器器 锁存器锁存器 (8)(8) 十进制
18、调整十进制调整 通用寄存器阵列通用寄存器阵列 地址缓冲器地址缓冲器 指令指令 译码器译码器 加1器/减1器地址锁加1器/减1器地址锁 存器存器 程序计数器PC(16)程序计数器PC(16) 寄寄 存存 器器 选选 择择 堆栈指示器SP(16)堆栈指示器SP(16) 定时与控制定时与控制 中断 I/O 存储器 中断 I/O 存储器 . . 请求 写 读 请求 请求 等待 时钟请求 写 读 请求 请求 等待 时钟 ALUALU 内部数据总线内部数据总线 . INTINTW WR RRDRDIORQIORQMREQMREQWAITWAIT RESETRESET A15A0A15A0 DB7DB0DB
19、7DB0 算术逻辑单算术逻辑单 元元 微处理器内部主要部件包括:微处理器内部主要部件包括: (1) 内部寄存器陈列内部寄存器陈列 l 用来寄存或暂存参与运算的数据(用来寄存或暂存参与运算的数据(8位或位或16位),位), 经常可以连成寄存器对(经常可以连成寄存器对(16位)位)用来存放操作数地址。用来存放操作数地址。 l 16位专用寄存器位专用寄存器 如:程序计数器如:程序计数器PC,堆栈指针堆栈指针SP (2) 累加器和算术逻辑单元累加器和算术逻辑单元 对数据进行对数据进行算术运算、逻辑运算的场所,算术运算、逻辑运算的场所, 运算结果运算结果 标志触发器记忆标志触发器记忆 或送某个寄存器等等
20、。或送某个寄存器等等。 (3) 指令寄存器、指令译码器、定时及各种控制信号产生电路指令寄存器、指令译码器、定时及各种控制信号产生电路 把用户程序中的指令一条条译出来,把用户程序中的指令一条条译出来, 然后以一定时序然后以一定时序 发出相应的控制信号。发出相应的控制信号。 (4) 内部采用单总线结构内部采用单总线结构 在任何时候只有一个内部设备能使用内部总线,在任何时候只有一个内部设备能使用内部总线, 各设各设 备之间必须分时使用内部总线,备之间必须分时使用内部总线,因而速度受到影响。因而速度受到影响。 23 从大的结构和功能上讲,从大的结构和功能上讲,i8086 可分为两个部分,即总线接可分为
21、两个部分,即总线接 口控制单元口控制单元 BICU (Bus Interface 或者可以用字节(或者可以用字节(8位)形式访问位)形式访问, 它们的它们的高高8位记作位记作 : AH 、 BH 、 CH 、 DH 。 它们的它们的低低8位记作位记作 : AL 、BL 、CL 、DL 。 AX(Accumulator)作为作为累加器累加器。 它它是算术运算的主要寄存器,是算术运算的主要寄存器, 所有所有I/O指令都使用这一寄存器与外部设备交换数据指令都使用这一寄存器与外部设备交换数据。 例:例: IN AL , 20H OUT 30H , AX BX Base 用作用作基址寄存器基址寄存器使用
22、。使用。 在在计算内存储器地址时,经常用来存放基址。计算内存储器地址时,经常用来存放基址。 例:例:MOV AX, BX+03H CXCount可以可以作计数寄存器作计数寄存器使用。使用。 在在循环循环LOOP指令和串处理指令中用作隐含计数器指令和串处理指令中用作隐含计数器。 例:例: MOV CX , 200H AGAIN: LOOP AGAIN ;(CX)-1(CX),结果结果 0转转AGAIN DXData可以可以作为数据寄存器使用。作为数据寄存器使用。 一般在一般在双字长乘除法运算时双字长乘除法运算时, 把把DX和和AX组合在一起存放一个双字长组合在一起存放一个双字长(32位位)数,数
23、,DX用来存放高用来存放高16位位; 对某些对某些I/O操作操作DX可用来存放可用来存放I/O的端口地址(的端口地址(口地址口地址 256)。)。 例:例: MUL BX ; (AX) (BX)(DX)(AX) 例例:IN AL , DX (2)地址指针与变址寄存器)地址指针与变址寄存器: 段起始地址段起始地址 SP、BP、SI、DI 四个四个16位寄存器。位寄存器。 以字为单位在运算过程中存放操作数,以字为单位在运算过程中存放操作数, 经常用以在经常用以在段内寻址时提供偏移地址。段内寻址时提供偏移地址。 段内偏移地址段内偏移地址 段地址段地址 :只取段起始地址高只取段起始地址高16位值。位值
24、。 偏移地址偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。指在段内某内存单元物理地址相对段起始地址的偏移值。 高高16位值位值 0000B 48 地址指针寄存器(地址指针寄存器(SP 、 BP ) SP(stack pointer)堆栈指针寄存器堆栈指针寄存器 用来用来指示栈顶的偏移地址指示栈顶的偏移地址, 必须必须与与SS段寄存器段寄存器联合使用确定实际地联合使用确定实际地 址。址。堆栈和指针如下堆栈和指针如下页页图所示。图所示。 BP(base pointer)基址指针寄存器基址指针寄存器 可以可以与与SS寄存器联合使用来确定寄存器联合使用来确定堆栈段堆栈段中中某一某一存储器
25、单元地址存储器单元地址。 8088系统存储器与总线连接系统存储器与总线连接 堆栈和指针堆栈和指针 设设: ( SS)=3F00H,(SP)=0060H 堆栈和指针如下图:堆栈和指针如下图: 堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动,严格按照堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动,严格按照 后进先出的工作原则。后进先出的工作原则。 数据总线数据总线 地址总线地址总线 D7D0D7D0 1 M X 8位存储体1 M X 8位存储体 A19A0A19A0 00000H00000H FFFFFHFFFFFH A1910A1910 . . a1a1 a0a0 栈底栈底 4EFFFH
26、4EFFFH 3F060H3F060H(SP)=60H(SP)=60H 3F000H3F000H(SS)=3F00H(SS)=3F00H 变址寄存器变址寄存器(SI 、 DI) SISource Index Register 源变址寄存器。源变址寄存器。 DIDestination Index 目的变址寄存器。目的变址寄存器。 使用场合:常用于变址寻址。使用场合:常用于变址寻址。 一般与一般与DS联用,用来确定联用,用来确定数据段数据段中某一存储单元的地址,中某一存储单元的地址, SI 、DI具有自动增量和自动减量功能具有自动增量和自动减量功能. 例:例: MOV AX, SI 在串处理指令中
27、,在串处理指令中,SI、DI作为隐含的源变址和目的变址寄作为隐含的源变址和目的变址寄 存器分别达到在数据段和附加段中寻址的目的。存器分别达到在数据段和附加段中寻址的目的。 执行示意图如右图。执行示意图如右图。 例:例: MOV SI , 2000H MOV DI , 3000H MOV CX, 100H CLD. MOVSB . . . . 3000H:2000H3000H:2000H 3000H:2100H3000H:2100H 5000H:3000H5000H:3000H 5000H:3100H5000H:3100H DS:2000HDS:20FFHDS:2000HDS:20FFH ES:
28、3000HES:30FFHES:3000HES:30FFH (DS)(DS)(SI)(SI) (ES)(ES)(DI)(DI) 存储器存储器 串处理指令执行示意图串处理指令执行示意图 2、段寄存器、段寄存器 段寄存器段寄存器: 4个个16位段寄存器位段寄存器CS、DS、SS、ES。 用来用来识别当前可寻址的四个段,不可互换的使用。识别当前可寻址的四个段,不可互换的使用。 CS Code Segment Register 代码段寄存器代码段寄存器 用来识别当前代码段(程序一般放在代码段)。用来识别当前代码段(程序一般放在代码段)。 DS Data Segment Register数据段寄存器数据
29、段寄存器 用来识别当前数据段寄存器。用来识别当前数据段寄存器。 SS Stack Segment Register堆栈段寄存器,堆栈段寄存器, 用来识别当前堆栈段。用来识别当前堆栈段。 ES Extra Segment Register附加段寄存器附加段寄存器, 用来识别当前附加段。用来识别当前附加段。 3、控制寄存器、控制寄存器 控制寄存器控制寄存器:IP 、 PSW IP Instruction Pointer指令指针寄存器指令指针寄存器 用来存储代码段中的偏移地址用来存储代码段中的偏移地址; 程序运行过程中程序运行过程中IP始终指向下一次要取出的指令偏移地址始终指向下一次要取出的指令偏移
30、地址。 IP要与要与CS寄存器相配合才能形成真正的物理地址。寄存器相配合才能形成真正的物理地址。 PSW (Processor States Word Program) 程序状态字寄存器,程序状态字寄存器, 16位寄存器位寄存器。 由条件码标志由条件码标志FLAG、控制标志构成。控制标志构成。 只用了其中只用了其中9位位, 6位条件码标志位条件码标志 , 3位控制标志位控制标志。如下表示。如下表示。 OFOF DFDF IFIF TFTF SFSF ZFZFAFAFPFPFCFCF 0 015152 24 45 56 67 78 89 91010 q条件码标志条件码标志: 用来记录程序中运行结
31、果的用来记录程序中运行结果的状态信息状态信息作为作为 后续条件转移指令的转移控制条件。后续条件转移指令的转移控制条件。称为条件码。称为条件码。 条件码包括条件码包括6位:位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。 OF(Overflow Flag)溢出标志(一般指补码溢出)溢出标志(一般指补码溢出) OF=1:在运算过程中,如操作数超过了机器表示的范围称为在运算过程中,如操作数超过了机器表示的范围称为溢出溢出。 OF=0:在运算过程中,如操作数未超过了机器能表示的范围称为在运算过程中,如操作数未超过了机器能表示的范围称为 不溢出。不溢出。 字节允许范围字节允许范围 -128
32、+127, 字运算范围字运算范围 -32768+32767 。 SF(Sign Flag)符号标志符号标志 SF=1:记录运算结果的记录运算结果的符号为负符号为负。 SF=0:记录运算结果的记录运算结果的符号为正。符号为正。 ZF(Zero Flag)零标志零标志 ZF=1:运算结果运算结果为为0。 ZF=0:运算结果运算结果不为不为0。 CF(Carry Flag)进位标志进位标志 CF=1:记录运算时记录运算时从最高有效位产生进位值。从最高有效位产生进位值。 CF=0:记录运算时记录运算时从最高有效位不产生进值从最高有效位不产生进值。 AF(Auxiliary Carry Flag)辅助进
33、位标志辅助进位标志 AF=1:记录运算时记录运算时第第3位(半个字节)产生进位值。位(半个字节)产生进位值。 AF=0:记录运算时记录运算时第第3位(半个字节)不产生进位值。位(半个字节)不产生进位值。 PF(Parity Flag)奇偶标志奇偶标志 PF=1: 结果操作数结果操作数低低8位中有偶数个位中有偶数个1。 PF=0: 结果操作数结果操作数低低8位中有奇数个位中有奇数个1。 用来为机器中传送信息时可能产生的代码出现情况提供检验条件。用来为机器中传送信息时可能产生的代码出现情况提供检验条件。 q 控制标志控制标志: 对控制标志位进行设置后对控制标志位进行设置后,对其后的操作起对其后的操
34、作起 控制作用。控制作用。 控制标志位包括控制标志位包括3位位: TF、 IF 、 DF 。 跟踪(陷阱)标志跟踪(陷阱)标志TF、中断标志中断标志IF 、方向标志方向标志 DF 。 TF(Trap Flag)跟踪跟踪(陷阱陷阱)标志位标志位 TF=1 ,每执行一条指令后,自动产生一次内部中断,每执行一条指令后,自动产生一次内部中断, 使使CPU处于单步执行指令工作方式,便于进行程序调试,处于单步执行指令工作方式,便于进行程序调试, 用户能检查程序。用户能检查程序。 TF=0, CPU正常工作,不产生陷阱正常工作,不产生陷阱。 IF(Interupt Flag)中断标志中断标志 位位 IF=1
35、, 允许外部可屏蔽中断允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。可以响应可屏蔽中断请求。 IF=0, 关闭中断关闭中断。CPU禁止响应可屏蔽中断请求。禁止响应可屏蔽中断请求。 IF的状态对不可屏蔽中断和内部软中断没有影响。的状态对不可屏蔽中断和内部软中断没有影响。 DF(Direction Flag)方向标志位方向标志位 DF=1,每次每次串处理操作串处理操作后使变址寄存器后使变址寄存器SI和和DI减量减量,使串处理从,使串处理从 高地址向低地址方向处理。高地址向低地址方向处理。 DF=0,每次每次串处理操作串处理操作后使变址寄存器后使变址寄存器SI和和DI增量增量, 使串处理从使串处
36、理从 低地址向高地址方向处理。低地址向高地址方向处理。 DF方向标志位是在串处理指令中控制处理信息的方向标志位是在串处理指令中控制处理信息的方向方向用的。用的。 由系统程序或用户程序由系统程序或用户程序根据需要用指令来设置的。根据需要用指令来设置的。 由中央处理器,由中央处理器,根据计算结果自动设置的,根据计算结果自动设置的,机器提供了机器提供了 设置状态信息指令,必要时,程序员可以用这些指令来建立设置状态信息指令,必要时,程序员可以用这些指令来建立 状态信息。状态信息。 在调试程序时,在调试程序时,DEBUG提供了测试标志位的手段提供了测试标志位的手段, 用符号表示标志位的值,用符号表示标志
37、位的值,每种标志位的符号如下表:每种标志位的符号如下表: 标志名标志名标志为1标志为1 标志为0标志为0 OF溢出(是/否)OF溢出(是/否)OVOVNVNV DF方向(减量/加量)DF方向(减量/加量)DNDNUPUP IF中断(允许/关闭)IF中断(允许/关闭)EIEIDIDI SF符号(负/正)SF符号(负/正)NGNGPLPL ZF零(是/否)ZF零(是/否)ZRZRNZNZ AF辅助进位(是/否)AF辅助进位(是/否)ACACNANA PF奇偶标志( 偶/奇)PF奇偶标志( 偶/奇)PEPEPOPO CF进位标志(是/否)CF进位标志(是/否)CYCYNCNC DEBUG不提供不提供
38、TF的符号用于单步方式操作。的符号用于单步方式操作。 1 10 00 00 01 11 10 01 10 00 00 01 10 01 10 00 0 0 00 01 11 10 00 01 10 00 00 00 01 11 10 00 01 1+ + 0 01 11 11 11 10 01 10 01 10 01 10 01 10 01 10 0 标志标志: 运算结果最高位为运算结果最高位为0 SF=0; 运算结果本身运算结果本身0 ZF=0 低低8位中位中1的个数为奇数个的个数为奇数个 PF=0; 最高位没有进位最高位没有进位 CF=0 第三位向第四位无进位第三位向第四位无进位 AF=0
39、; 次高位向最高位没有进位次高位向最高位没有进位 ,最高位向前没有进位,最高位向前没有进位 , OF=0。 例例1:执行两个数的加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。 标志标志: 运算结果最高位为运算结果最高位为1, SF=1 ; 运算结果本身不为运算结果本身不为0, ZF=0 ; 最高位向前无进位,最高位向前无进位, CF=0 次高位向最高位产生进位次高位向最高位产生进位,而最高位向前没有进位,而最高位向前没有进位, OF=1 ; 结果低结果低8位含偶数个位含偶数个1, PF=1 ; 第三位向第四位有进位第三位向第四位有进位, AF=1 。 在绝大多数情况下,一次
40、运算后并不影响所有标志,在绝大多数情况下,一次运算后并不影响所有标志, 程序也并不需要对所有的标志作全面的关注。程序也并不需要对所有的标志作全面的关注。 一般只是在一般只是在某些操作某些操作后后,对其中对其中某个标志某个标志进行检测。进行检测。 例例2:执行两个数的加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。 0 01 10 01 10 00 00 00 01 11 11 10 00 01 11 10 0 0 01 10 00 00 01 10 01 10 01 11 10 01 10 01 10 0+ + 1 11 10 00 00 01 10 01 11 10 00
41、01 11 10 00 01 1 AF=1AF=1 OF=1OF=1 编程结构:从程序员和使用者的角度来看的结构。编程结构:从程序员和使用者的角度来看的结构。 这种结构与这种结构与CPU内部的物理结构和实际布局有区别。内部的物理结构和实际布局有区别。 8088编程结构如下页图所示。编程结构如下页图所示。 分两部分:分两部分: 1、总线接口控制单元:、总线接口控制单元: BICU(Bus Interface Unit) 2、执行部件:、执行部件: EU (ExEUtion Unit) 8086编程结构编程结构 CH DH DI SP BP SI 65 标志 3 执行部分 控制电路 运算寄存器 A
42、LU 1 24 DS SS ES 输入/输出 控制电路 IP CS 内部暂存器 BH AH DL CL AL BL 20 位 地址加法 16 位 外部 总线 指令队列 缓冲器 8 位 16 位 通用 寄存器 执行部件(EU) 总线接口部件(BIU) 1、总线接口控制单元、总线接口控制单元 BICU(Bus Interface Unit) (1)功能:功能:负责与负责与 M、I/O 端口传送数据端口传送数据。 具体讲:具体讲: 总线接口部件要从内存总线接口部件要从内存 取指令送到指令队列取指令送到指令队列; CPU执行指令时,要配合执行部件从指定的内存单元执行指令时,要配合执行部件从指定的内存单
43、元 或者外设端口中或者外设端口中取数据取数据,将,将数据传送给执行部件数据传送给执行部件; 或把执行部件的操作或把执行部件的操作结果传送给指定的结果传送给指定的M或或I/O口口。 (2)组成组成 q 4 个段地址寄存器(个段地址寄存器(CS、DS、ES、SS),), q 16位指令指针寄存器位指令指针寄存器IP, q 20位的地址加法器位的地址加法器(16d 段地址段地址+偏移地址物理地址偏移地址物理地址), q 6字节(字节(8086)或)或4字节(字节(8088)的指令队列)的指令队列, q 总线控制电路总线控制电路: 处理器与外界总线联系的转接电路。处理器与外界总线联系的转接电路。 包括
44、三组总线:包括三组总线: 20 位地址总线,位地址总线, 8 位双向数据总线,一组控制总线。位双向数据总线,一组控制总线。 (3 )二点说明二点说明 指令队列指令队列 8086 的指令队列为的指令队列为6个字节个字节, 8088 的指令队列为的指令队列为4个字节。个字节。 不论是不论是8086还是还是8088都会在执行指令的同时从内存中取下一条都会在执行指令的同时从内存中取下一条 或几条指令,取来的指令放在指令队列中,使或几条指令,取来的指令放在指令队列中,使 BICU 具有预取指令具有预取指令 的功能,的功能,是一种先进先出(是一种先进先出(FIFO)的数据结构的数据结构。 指令执行顺序指令
45、执行顺序 顺序指令执行顺序指令执行:指令队列存放紧接在执行指令后面的那一条指:指令队列存放紧接在执行指令后面的那一条指 令。令。 执行转移指令执行转移指令:BICU 清除指令队列中的内容,从新的地址取入清除指令队列中的内容,从新的地址取入 指令,立即送往执行运算单元,然后再从新单元开指令,立即送往执行运算单元,然后再从新单元开 始重始重 新填满队列。新填满队列。 2、EU (ExEUtion Unit)执行运算单元执行运算单元 (1)、)、 功能功能:负责指令执行。负责指令执行。 (2)、)、 组成:组成: q 4个通用寄存器:个通用寄存器:AX、BX、CX、DX q 4个专用寄存器:个专用寄
46、存器:BP、SP、SI、DI, q 标志寄存器(标志寄存器(PSW):): 9个标志位,其中个标志位,其中6个条件标志位用于存放结果状态,个条件标志位用于存放结果状态, q 算术逻辑单元:算术逻辑单元: 16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算,位加法器,用于对寄存器和指令操作数进行算术或逻辑运算, q EU 控制系统:控制系统: 接受接受从总线接口控制单元的从总线接口控制单元的指令队列中取来的指令代码指令队列中取来的指令代码, 对其译码和向对其译码和向 EU 内各有关部分内各有关部分发出时序命令信号发出时序命令信号, 协调执行指令规定的操作协调执行指令规定的操作。 由此可见
47、,由此可见,8086/8088取指部分与执行部分是分开的。取指部分与执行部分是分开的。 在一条指令的执行过程中可以取出下一条(或多条)指令,指在一条指令的执行过程中可以取出下一条(或多条)指令,指 令在指令队列中排队;令在指令队列中排队; 在一条指令执行完成后在一条指令执行完成后,就可以立即执行下一条指令,减少就可以立即执行下一条指令,减少 CPU为取指令而等待的时间,提高为取指令而等待的时间,提高CPU的利用率和整个运行速度。的利用率和整个运行速度。 8086/8088微处理器微处理器: BICU和和EU分开,取指和执行可以重迭,分开,取指和执行可以重迭, 大大减少了等待取指所需的时间,提高
48、大大减少了等待取指所需的时间,提高CPU的利用率。的利用率。 重迭操作技术:重迭操作技术: 一方面提高了整个执行速率,一方面提高了整个执行速率, 另一方面降低了与之相配的存储器的存取速度的要求另一方面降低了与之相配的存储器的存取速度的要求。 取指取指取指取指取指取指取指取指得到数据得到数据 等待等待执行执行执行执行执行执行执行执行 对于对于8080与与8085及较早的及较早的8位微处理器位微处理器: 程序执行由取指令和执行指令的循环来完成的程序执行由取指令和执行指令的循环来完成的, 每条指令执行完后每条指令执行完后CPU必须等待到下条指令取出来后才能必须等待到下条指令取出来后才能 执行。执行。
49、 取指取指执行执行取指取指执行执行.取指取指执行执行 时间坐标时间坐标 (三)、存储器结构(三)、存储器结构 1、存储单元的地址和内容、存储单元的地址和内容 2、存储器地址分段、存储器地址分段 3、各段在存储器中分配、各段在存储器中分配 1、存储单元的地址和内容及与、存储单元的地址和内容及与CPU之间数据传送之间数据传送 (1) 存储单元的地址和内容存储单元的地址和内容 存储器位编号:存储器位编号: 8088字长字长16位,由二个字节组成,位编号如下:位,由二个字节组成,位编号如下: 高位字节高位字节 MSB(815位)位)低位字节低位字节LSB(07位)位) 8088内部的内部的 ALU 能
50、进行能进行16 位运算。位运算。 有关地址寄存器如有关地址寄存器如 SP、IP、BP、SI、DI 等都是等都是16位的。位的。 0 01 12 23 34 45 56 67 78 89 9101011111212131314141515 0 01 12 23 34 45 56 67 7 内存单元的地址和内容内存单元的地址和内容 存储单元地址:按照字节编址存储单元地址:按照字节编址 . 1100 1111B1100 1111B . 物理地址物理地址内容内容 00000H00000H 00001H00001H 00002H00002H 00006H00006H FFFFFHFFFFFH 存储单元的
51、存储单元的的内容:的内容:一个存储单元有效的信息。一个存储单元有效的信息。 机器字长是机器字长是16位,位, 大部分数据以字节为单位表示,大部分数据以字节为单位表示, 一个字存入存储器占有相继的二个单元:一个字存入存储器占有相继的二个单元: 低位字节存入低地址,高位字节存入高地址低位字节存入低地址,高位字节存入高地址。 字单元的地址采用它的低地址来表示字单元的地址采用它的低地址来表示。 例:例:字单元字单元 :(0004H)=1234H, 字节单元字节单元 :(0004H)=34H 同一个地址既可以看作同一个地址既可以看作字节单元地址字节单元地址, 又可看作又可看作字单元地址字单元地址,需要根
52、据使用情况确定。,需要根据使用情况确定。 字单元地址:可以是偶数也可以是奇数,字单元地址:可以是偶数也可以是奇数, 34H34H 12H12H 1EH1EH 2FH2FH 0000H0000H 0001H0001H 0002H0002H 0003H0003H 0004H0004H 0005H0005H 0006H0006H . 1234H1234H 1235H1235H 1236H1236H . (2) CPU和存储器或和存储器或I/O端口之间传送数据端口之间传送数据 8086 8086数据总线是数据总线是16位的。位的。 讨论讨论CPU和存储器和存储器或或I/O端口之间传送数据方式端口之间传
53、送数据方式: q 字数据读字数据读/写操作写操作 q 字节读字节读/写操作写操作 q字数据读字数据读/写操作写操作 (a) 操作数存放在操作数存放在偶地址偶地址开始两个存储单元或两个开始两个存储单元或两个 I/O端口中端口中: 即操作数字即操作数字的低的低8位位在偶地址单元或在偶地址单元或 在偶地址端口在偶地址端口; 高高8位位在奇地址单元或在奇地址端口在奇地址单元或在奇地址端口。 在一个总线周期内完成在一个总线周期内完成(通常通常4个时钟周期个时钟周期)16位数据传送,位数据传送, 操作数必须存放在偶地址开始两个存储单元或两个操作数必须存放在偶地址开始两个存储单元或两个 I/O端口中。端口中
54、。 CPUCPU 低8位数据低8位数据 高8位数据高8位数据高8位数据线 低地址低地址 高地址高地址 奇地址奇地址 偶地址偶地址 内存内存 读/写偶地址字读/写偶地址字 低8位数据线低8位数据线 对应的对应的偶地址单元偶地址单元/偶地址端口偶地址端口数据通过数据总线数据通过数据总线低低8位位传输传输。 对应的对应的奇地址单元奇地址单元/奇地址端口奇地址端口数据通过数据总线数据通过数据总线高高8位位传输传输。 字数据字数据读读/写写偶地址字偶地址字操作如下图操作如下图: (b) 操作数存放在奇地址开始两个存储单元或两个操作数存放在奇地址开始两个存储单元或两个 I/O端口中端口中 如下图所示:如下
55、图所示: 读读/写奇地址字写奇地址字 数据数据 数据数据 CPUCPU 空闲空闲 奇地址奇地址 偶地址偶地址 高地址高地址 低地址低地址 内存内存第一个总线周期第一个总线周期 数据数据 数据数据 CPUCPU 奇地址奇地址 偶地址偶地址 高地址高地址 低地址低地址 内存内存 第二个总线周期第二个总线周期 空闲空闲 在第一个总线周期中在第一个总线周期中: 对应于奇地址单元或奇地址端口字节(对应于奇地址单元或奇地址端口字节(操作字低操作字低8位位)通过)通过 数据总线高数据总线高8位进行传输位进行传输,而数据总线低,而数据总线低8位处于空闲状态;位处于空闲状态; 在第二个总线周期中在第二个总线周期
56、中: 对应于偶地址单元或偶地址端口字节(对应于偶地址单元或偶地址端口字节(操作字高操作字高8位位)通过)通过 数据总线低数据总线低8位进行传输位进行传输,而数据总线高,而数据总线高8位处于空闲状态位处于空闲状态. 由此可见,由此可见, 操作数存放在奇地址开始两个存储单元操作数存放在奇地址开始两个存储单元/两个两个 I/O端口中进行端口中进行 数据传输,数据传输,8086需要二个总线周期。需要二个总线周期。 q 字节读字节读/写操作:写操作: 对偶地址单元对偶地址单元/偶地址端口的字节数据进行读偶地址端口的字节数据进行读/写写如下图所示:如下图所示: 在一个总线周期中,只有数据总线的低在一个总线
57、周期中,只有数据总线的低8位传输数据,位传输数据, 高高8位处于空闲状态。位处于空闲状态。 数据数据 CPUCPU 偶地址偶地址 高地址高地址 低地址低地址 内存内存 空闲空闲奇地址奇地址 读/写偶地址字节 读/写偶地址字节 对奇地址单元对奇地址单元/奇地址端口的字节数据进行读奇地址端口的字节数据进行读/写写如下图所示:如下图所示: 在一个总线周期中,只有数据总线的高在一个总线周期中,只有数据总线的高8位传输数据,位传输数据, 而低而低8位处于空闲状态。位处于空闲状态。 数据数据 CPUCPU 空闲空闲 奇地址奇地址 高地址高地址 低地址低地址 内存内存 偶地址偶地址 读/写奇地址字节读/写奇
58、地址字节 8088 8088数据总线只有数据总线只有8位。位。 讨论讨论CPU和存储器和存储器或或I/O端口端口 之间传送数据:之间传送数据: 每个总线周期只传输每个总线周期只传输1个字节,个字节, 所以对每个字操作要增加所以对每个字操作要增加4个时钟周期。个时钟周期。 (4)、存储器特性:)、存储器特性: 存储器的内容是取之不尽的。存储器的内容是取之不尽的。 即从某个单元取出其内容后,该单元仍保持原来的内容即从某个单元取出其内容后,该单元仍保持原来的内容 不变,可以重复取出;不变,可以重复取出; 只有存入信息后,原有的内容自动消失。只有存入信息后,原有的内容自动消失。 2、存储器地址分段:、
59、存储器地址分段: 8088有有20条地址总线,直接寻址能力为条地址总线,直接寻址能力为220=1M字节字节。 用用16进制数表示进制数表示1M字节的地址范围应为字节的地址范围应为00000HFFFFFH。 (1)、)、 8088内部内部20位物理地址形成位物理地址形成 (2)、)、 逻辑地址与物理地址逻辑地址与物理地址 8088地址总线是地址总线是20位的,位的,CPU中的寄存器是中的寄存器是16位的,位的, 20位地址无法用位地址无法用16位寄存器表示,必须分段。位寄存器表示,必须分段。 程序员在编制程序时把程序员在编制程序时把存储器划分成段存储器划分成段。 段内地址段内地址16位位,每个段
60、的大小最大可达每个段的大小最大可达64KB; 实际可以根据需要来确定段大小,可以是实际可以根据需要来确定段大小,可以是1,100,1000, 在在64K范围内的任意字节数。范围内的任意字节数。 IBM PC机对段的起始地址有限制,机对段的起始地址有限制, 即段不能从任意地址开始:即段不能从任意地址开始: 必须从任一小段(必须从任一小段(paragraph)的首地址开始。的首地址开始。 从从0地址开始每地址开始每16字节为一小段,字节为一小段, 对于对于16位地址总线,段内存储器小段地址如下:位地址总线,段内存储器小段地址如下: 如:如: 0000H,0001H,0002H,000EH,000F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影响我国城乡居民消费现状的因素
- 影响混凝土的塌落度
- 轨道交通 地面装置 交流开关设备 第3部分:测量、控制和保护装置技术条件 编制说明
- 阳春市启贤实验学校八年级上学期语文11月期中考试卷
- 货车延迟过户协议书(2篇)
- 《数学物理方法》第3章测试题
- 南京工业大学浦江学院《商务谈判》2021-2022学年第一学期期末试卷
- 金瑞.林城住宅小区 2#及 1-9 轴地下车库水暖工程施工组织设计
- 对鲜花说课稿
- 南京工业大学浦江学院《汽车电子控制基础》2022-2023学年第一学期期末试卷
- 个人开车与单位免责协议书
- 《护理文书书写》课件
- 广东省广州市海珠区2024-2025学年三年级上学期月考英语试卷
- 2023年北京市重点校初三(上)期末历史试题汇编:第一次工业革命
- 2024新人教版道法一年级上册第三单元:养成良好习惯大单元整体课时教学设计
- 医疗器械质量安全风险会商管理制度
- 护理职业生涯规划书成长赛道
- 肺结节科普宣教培训
- 维克多高中英语3500词汇
- [专业英语考试复习资料]专业八级分类模拟41
- 三位数加三位数(不连续进位)教学设计及说课稿
评论
0/150
提交评论