




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3 3章章 80868086微型计算机系统微型计算机系统第3章 8086微型计算机系统3.1 80863.1 8086微处理器的结构微处理器的结构 3.1.1 80863.1.1 8086的编程结构的编程结构 3.1.2 80863.1.2 8086的存储器组织的存储器组织3.2 80863.2 8086微处理器的引脚特性及工作模式微处理器的引脚特性及工作模式 3.2.1 80863.2.1 8086的引脚特性的引脚特性 3.2.23.2.2 80868086的工作模式的工作模式3. 3 80863. 3 8086的系统的总线时序的系统的总线时序第第3 3章章 80868086微型计算机系
2、统微型计算机系统3.1 80863.1 8086微处理器的结构微处理器的结构 1978年,年,Intel公司推出首枚公司推出首枚16位微处理器位微处理器8086,同时生产,同时生产出与之配套的数学协处理器出与之配套的数学协处理器8087,这两种芯片使用相同的指令,这两种芯片使用相同的指令集,以后集,以后Intel公司生产的处理器,均与其兼容。公司生产的处理器,均与其兼容。 为了方便与当时的为了方便与当时的8位外部设备连接,位外部设备连接,Intel公司在同一年公司在同一年推出准推出准16位微处理器位微处理器8088。 8086有有16根数据线和根数据线和20根地址线。由于可用根地址线。由于可用
3、20位地址,所位地址,所以可寻址的地址空间达以可寻址的地址空间达220即即1M字节单元。字节单元。 8088的内部寄存器、内部运算部件以及内部操作都是按的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有位设计的,但对外的数据总线只有8根。根。第第3 3章章 80868086微型计算机系统微型计算机系统3.1.1 8086的编程结构 编程结构,就是指从程序员和使用者的编程结构,就是指从程序员和使用者的角度看到的逻辑结构。这种结构与角度看到的逻辑结构。这种结构与CPU内部内部的物理结构和实际布局是有区别的。的物理结构和实际布局是有区别的。 从功能上,从功能上,8086
4、CPU由执行部件由执行部件EU和总和总线接口部件线接口部件BIU两部分组成。两部分组成。 第第3 3章章 80868086微型计算机系统微型计算机系统第第3 3章章 80868086微型计算机系统微型计算机系统8088的指令执行示例第第3 3章章 80868086微型计算机系统微型计算机系统 1 1总线接口部件(总线接口部件(BIUBIU) 总线接口部件负责总线接口部件负责CPU与存储器、输入与存储器、输入/输出设备之间的输出设备之间的数据传送,包括取指令、存储器读写和数据传送,包括取指令、存储器读写和I/O读写等操作。读写等操作。 总线接口部件要从内存取指令送到指令队列;总线接口部件要从内存
5、取指令送到指令队列;CPU执行执行指令时,总线接口部件要配合执行部件从指定的内存单元或指令时,总线接口部件要配合执行部件从指定的内存单元或外设端口中取数据,将数据传送给执行部件,或者把执行部外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。件的操作结果传送到指定的内存单元或外设端口中。 总线接口部件由段寄存器(总线接口部件由段寄存器(CS、DS、SS、ES)、指令)、指令指针寄存器(指针寄存器(IP)、地址加法器、内部暂存器、指令队列缓)、地址加法器、内部暂存器、指令队列缓冲器及冲器及I/O控制逻辑等部分组成。控制逻辑等部分组成。第第3 3章章
6、80868086微型计算机系统微型计算机系统 段寄存器段寄存器 8086 CPU采用段地址、段内偏移地址两级存储器寻址采用段地址、段内偏移地址两级存储器寻址方式,段地址和段内偏移地址均为方式,段地址和段内偏移地址均为16位。位。8086内部设置了内部设置了4个段寄存器,用于存放段的高个段寄存器,用于存放段的高16位地址,称为段的逻辑地位地址,称为段的逻辑地址,址,4个段寄存器分别是:个段寄存器分别是: CSCS:16位代码段寄存器(位代码段寄存器(Code Segment Register) DSDS:16位数据段寄存器(位数据段寄存器(Data Segment Register) SSSS:
7、16位堆栈段寄存器(位堆栈段寄存器(Stack Segment Register) ESES:16位附加段寄存器(位附加段寄存器(Extra Segment Register)第第3 3章章 80868086微型计算机系统微型计算机系统 20 20位地址加法器位地址加法器 8086可用可用20位地址寻址位地址寻址1M字节的内存空间,但字节的内存空间,但8086内部所有的寄内部所有的寄存器都为存器都为16位。位。8086 CPU采用段地址、段内偏移地址两级存储器寻址采用段地址、段内偏移地址两级存储器寻址方式,由一个方式,由一个20位地址加法器根据位地址加法器根据16位段地址和位段地址和16位段内
8、偏移地址计位段内偏移地址计算出算出20位的物理地址位的物理地址PA(Physical Address)。)。 其计算方法是:将其计算方法是:将CPU中的中的16位段寄存器内容左移位段寄存器内容左移4位(位(16)与)与16位的逻辑地址(又称偏移地址)在地址加法器内相加,得到所寻址单位的逻辑地址(又称偏移地址)在地址加法器内相加,得到所寻址单元的元的20位物理地址。位物理地址。 根据寻址方式的不同,偏移地址可以来自指令指针寄存器(根据寻址方式的不同,偏移地址可以来自指令指针寄存器(IP)或)或其它寄存器。其它寄存器。 假设假设CS8311H,IP1234H,则该指令单元的,则该指令单元的20位物
9、理地址为:位物理地址为:PA = 8311H10H + 1234H = 83110H + 1234H = 84344H。第第3 3章章 80868086微型计算机系统微型计算机系统 16 16位指令位指令指针寄存器指针寄存器IPIP(Instruction PointerInstruction Pointer) IP总是保存着总是保存着EU要执行的下一条指令的偏移地址。程序不要执行的下一条指令的偏移地址。程序不能直接对指令指针寄存器进行存取,但能在程序运行中自动修能直接对指令指针寄存器进行存取,但能在程序运行中自动修正,使之指向要执行的下条指令,有些指令(如转移、调用、正,使之指向要执行的下条
10、指令,有些指令(如转移、调用、中断、返回)能使中断、返回)能使IP的值改变,或使的值改变,或使IP的值存进堆栈,或由堆的值存进堆栈,或由堆栈恢复原有的值。栈恢复原有的值。 指令队列缓冲器指令队列缓冲器 8086有有6字节指令队列缓冲器,在执行指令的同时,可以字节指令队列缓冲器,在执行指令的同时,可以从内存中取出下一条或下几条指令放到缓冲器中,一条指令执从内存中取出下一条或下几条指令放到缓冲器中,一条指令执行完后,可立即执行下一条指令,从而解决了以往行完后,可立即执行下一条指令,从而解决了以往CPU取指令取指令期间,运算器的等待问题。期间,运算器的等待问题。第第3 3章章 80868086微型计
11、算机系统微型计算机系统 输入输入/ /输出控制电路(总线控制逻辑)输出控制电路(总线控制逻辑) 输入输入/输出控制电路控制输出控制电路控制CPU与外部电路的数据交换。与外部电路的数据交换。8086有有20条地址线,条地址线,16条数据线,由输入条数据线,由输入/输出控制电路输出控制电路控制分时复用控制分时复用CPU芯片的芯片的16条引脚。条引脚。 内部暂存器内部暂存器 用于内部数据的暂存,该部分对用户透明,在编程时可用于内部数据的暂存,该部分对用户透明,在编程时可不予理会,用户无权访问。不予理会,用户无权访问。第第3 3章章 80868086微型计算机系统微型计算机系统 8086的总线接口部件
12、和执行部件并不是同步工作的,它们是的总线接口部件和执行部件并不是同步工作的,它们是按以下流水线技术原则管理:按以下流水线技术原则管理: (1) 每当每当8086的指令队列中有两个空字节时,总线接口部件就的指令队列中有两个空字节时,总线接口部件就会自动把指令取到指令队列中。会自动把指令取到指令队列中。 (2) 每当执行部件准备执行一条指令时,它会从总线接口部件每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后再用几个时钟周期去执行指的指令队列前部取出指令的代码,然后再用几个时钟周期去执行指令。在指令执行过程中,如须访问存储器或输入令。在指令执行过程中,如须访问存
13、储器或输入/输出设备,执行输出设备,执行部件会请求总线接口部件,进入总线周期,完成内存或输入部件会请求总线接口部件,进入总线周期,完成内存或输入/输出输出端口的读写操作;如果总线接口部件此时处于空闲状态,它会立即端口的读写操作;如果总线接口部件此时处于空闲状态,它会立即响应执行部件的总线请求。如果此时总线接口部件正在将某个指令响应执行部件的总线请求。如果此时总线接口部件正在将某个指令字节取到指令队列中,它将首先完成这个取指令的总线周期,然后字节取到指令队列中,它将首先完成这个取指令的总线周期,然后再去响应执行部件发出的访问总线请求。再去响应执行部件发出的访问总线请求。第第3 3章章 80868
14、086微型计算机系统微型计算机系统 (3) 当指令队列已满,而且执行部件又没有总线访问时,当指令队列已满,而且执行部件又没有总线访问时,总线接口部件便进入空闲状态。总线接口部件便进入空闲状态。 (4) 在执行转移指令、调用指令和返回指令时,下面将要在执行转移指令、调用指令和返回指令时,下面将要执行的指令就不是在程序中紧接着的那条指令了,而总线接执行的指令就不是在程序中紧接着的那条指令了,而总线接口部件向指令队列装入指令时,总是按顺序进行的,这样,口部件向指令队列装入指令时,总是按顺序进行的,这样,指令队列中已经装入的字节就没有用了。遇到这种情况,指指令队列中已经装入的字节就没有用了。遇到这种情
15、况,指令队列中的原有内容被自动消除,总线接口部件会接着向指令队列中的原有内容被自动消除,总线接口部件会接着向指令队列中装入另一个程序段中的指令。令队列中装入另一个程序段中的指令。第第3 3章章 80868086微型计算机系统微型计算机系统2执行部件(执行部件(EU) 执行部件的功能就是负责指令的执行。执行部件的功能就是负责指令的执行。 从编程结构图可见到,从编程结构图可见到,8086CPU内部共内部共有有14个寄存器,其中执行部件含有个寄存器,其中执行部件含有9个寄存个寄存器,总线接口部件含有器,总线接口部件含有5个寄存器。这些寄个寄存器。这些寄存器在指令中的隐含使用见表存器在指令中的隐含使用
16、见表3.1。 第第3 3章章 80868086微型计算机系统微型计算机系统表表3.1 3.1 寄存器在指令中的隐含使用表(寄存器在指令中的隐含使用表(EUEU)寄存器寄存器名称名称含含 义义所属所属部件部件AXAX累加器,还用于乘、除法和输入累加器,还用于乘、除法和输入/ /输出的数据寄存器输出的数据寄存器EUEUBXBX基数寄存器,在间接寻址时作为地址寄存器和基址寄存器基数寄存器,在间接寻址时作为地址寄存器和基址寄存器CXCX计数寄存器,在循环和字符串操作中作为循环计数器计数寄存器,在循环和字符串操作中作为循环计数器DXDX数据寄存器,还用于乘、除法,在输入输出指令中作间址寄存数据寄存器,还
17、用于乘、除法,在输入输出指令中作间址寄存器器BPBP基数指针,在间接寻址时作为基址寄存器(注意:默认基数指针,在间接寻址时作为基址寄存器(注意:默认SSSS段)段)SPSP堆栈指针,用于指示栈顶元素的地址堆栈指针,用于指示栈顶元素的地址SISI源变址寄存器,在间接寻址时作为地址或变址寄存器。源变址寄存器,在间接寻址时作为地址或变址寄存器。在字符串操作中作为源变址寄存器。在字符串操作中作为源变址寄存器。DIDI目的变址寄存器,在间接寻址时作为地址或变址寄存器。目的变址寄存器,在间接寻址时作为地址或变址寄存器。在字符串操作中作为目的变址寄存器。在字符串操作中作为目的变址寄存器。F F标志寄存器,又
18、称程序状态寄存器(标志寄存器,又称程序状态寄存器(PSWPSW),用来保存和反映运),用来保存和反映运算操作结果的特征,以及算操作结果的特征,以及CPUCPU内部的某种控制状态。内部的某种控制状态。第第3 3章章 80868086微型计算机系统微型计算机系统表表3.1 3.1 寄存器在指令中的隐含使用表寄存器在指令中的隐含使用表(BIU)(BIU)寄存器寄存器名称名称含含 义义所属部件所属部件CSCS代码段寄存器,用于存放程序代码段的段地址代码段寄存器,用于存放程序代码段的段地址BIUBIUDSDS数据段寄存器,用于存放数据段的段地址数据段寄存器,用于存放数据段的段地址ESES附加段寄存器,用
19、于存放附加段的段地址附加段寄存器,用于存放附加段的段地址SSSS堆栈段寄存器,用于存堆栈段的段地址堆栈段寄存器,用于存堆栈段的段地址IPIP指令指针寄存器,用于存放下一条要执行的指指令指针寄存器,用于存放下一条要执行的指令的逻辑地址令的逻辑地址第第3 3章章 80868086微型计算机系统微型计算机系统 4个通用寄存器个通用寄存器AX、BX、CX、DX EU中有中有4个个16位的寄存器位的寄存器AX、BX、CX和和DX,一般用来存放,一般用来存放16位数据,故称为数据寄存器。每个数据寄存器又可分为两个位数据,故称为数据寄存器。每个数据寄存器又可分为两个8位位的寄存器,即的寄存器,即AH、AL、
20、BH、BL、CH、CL、DH、DL,用以存放,用以存放8位数据,它们均可独立使用。数据寄存器主要用来存放操作数或位数据,它们均可独立使用。数据寄存器主要用来存放操作数或中间结果,以减少访问存储器的次数。中间结果,以减少访问存储器的次数。 多数情况下,这些数据寄存器用于算术运算或逻辑运算指令,多数情况下,这些数据寄存器用于算术运算或逻辑运算指令,进行算术逻辑运算。在有些指令中,它们则有特定的用途:进行算术逻辑运算。在有些指令中,它们则有特定的用途:AX作累作累加器用;加器用;BX作基址(作基址(Base)寄存器,如在查表指令)寄存器,如在查表指令XLAT中存放表中存放表的起始地址;的起始地址;C
21、X作计数(作计数(Count)寄存器,如在数据串操作指令的)寄存器,如在数据串操作指令的REP中用中用CX存放数据单元的个数作为循环操作的次数;存放数据单元的个数作为循环操作的次数;DX作数据作数据(Data)寄存器,如在字的除法运算指令)寄存器,如在字的除法运算指令DIV中,存放余数。中,存放余数。第第3 3章章 80868086微型计算机系统微型计算机系统 4个专用寄存器个专用寄存器SP、BP、SI、DI 指针寄存器指针寄存器SP和和BP用来存取位于当前堆栈段中的数据,用来存取位于当前堆栈段中的数据,但但SP和和BP在使用上有区别。入栈(在使用上有区别。入栈(PUSH)和出栈()和出栈(P
22、OP)指令是由指令是由SP给出栈顶的偏移地址,故称为堆栈指针寄存器。给出栈顶的偏移地址,故称为堆栈指针寄存器。BP则用来存放位于堆栈段中某个数据区基址的偏移地址,故则用来存放位于堆栈段中某个数据区基址的偏移地址,故称作基址指针寄存器。称作基址指针寄存器。 变址寄存器变址寄存器SI和和DI用来存放当前数据段的偏移地址。在用来存放当前数据段的偏移地址。在字符串操作中,源操作数地址的偏置放于字符串操作中,源操作数地址的偏置放于SI中,所以中,所以SI称为称为源变址寄存器;目的操作数地址的偏置放于源变址寄存器;目的操作数地址的偏置放于DI中,所以中,所以DI称称为目的变址寄存器。为目的变址寄存器。第第
23、3 3章章 80868086微型计算机系统微型计算机系统 状态标志寄存器状态标志寄存器F 8086 CPU的状态标志寄存器是一个十六位的寄存器,的状态标志寄存器是一个十六位的寄存器,其中其中9个位用作标志位:个位用作标志位:6个状态标志位,个状态标志位,3个控制标志位。个控制标志位。状态标志寄存器如图所示。状态标志寄存器如图所示。 状态标志中用状态标志中用6位来反映位来反映EU执行算术或逻辑运算以后的执行算术或逻辑运算以后的结果特征。这结果特征。这6位都是逻辑值,判断结果为逻辑真(位都是逻辑值,判断结果为逻辑真(true)时,其值为时,其值为1;判断结果为逻辑假(;判断结果为逻辑假(false
24、)时,其值为)时,其值为0。 第第3 3章章 80868086微型计算机系统微型计算机系统 状态标志:状态标志: 控制标志控制标志:OF OF 溢出标志溢出标志 DF DF 方向标志方向标志 SF SF 符号标志符号标志 IF IF 中断标志中断标志ZF ZF 零标志零标志 TF TF 跟踪标志跟踪标志CF CF 进位标志进位标志AF AF 辅助进位标志辅助进位标志PF PF 奇偶标志奇偶标志第第3 3章章 80868086微型计算机系统微型计算机系统OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0进位标志:指令执行后,如果运进位标志:指令执行后,如果运算结果在最高位
25、上产生了一个进算结果在最高位上产生了一个进位或借位,则位或借位,则CFCF1 1;否则,;否则,CFCF0 0。CF5 5、标志寄存器、标志寄存器FRFR条件标志条件标志第第3 3章章 80868086微型计算机系统微型计算机系统OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR条件标志条件标志奇偶标志:如果运算结果低八位奇偶标志:如果运算结果低八位1 1的个数为偶数,则的个数为偶数,则PFPF1 1;否则,;否则,PFPF0 0。PF第第3 3章章 80868086微型计算机系统微型计算机系统OF1115 12DF10IF9TF8
26、SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR条件标志条件标志辅助进位标志:如果运算结果低辅助进位标志:如果运算结果低4 4位产生了进位,则位产生了进位,则AFAF1 1;否则,;否则,AFAF0 0。AF第第3 3章章 80868086微型计算机系统微型计算机系统OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR条件标志条件标志零标志:如果运算结果为零标志:如果运算结果为0 0,则,则ZFZF1 1;否则,;否则,ZFZF0 0。ZF第第3 3章章 80868086微型计算机系统微型计算机系统OF111
27、5 12DF10IF9TF8SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR条件标志条件标志符号标志:如果运算结果为正数符号标志:如果运算结果为正数,则,则SFSF0 0;否则,;否则,SFSF1 1。SF第第3 3章章 80868086微型计算机系统微型计算机系统OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR条件标志条件标志溢出标志:如果运算过程产生了溢出标志:如果运算过程产生了溢出,则溢出,则OFOF1 1;否则,;否则,OFOF0 0。OF第第3 3章章 80868086微型计算机系统微型计算机系
28、统OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR控制标志控制标志单步标志:单步标志:TFTF1 1,处理器按单步执行指令;,处理器按单步执行指令;TFTF0 0,处理器正常工作。,处理器正常工作。TF第第3 3章章 80868086微型计算机系统微型计算机系统OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR控制标志控制标志中断允许标志:中断允许标志:IFIF1 1,允许可屏蔽中断;,允许可屏蔽中断;IFIF0 0,不允许可屏蔽中断。,不允许可屏蔽中断。IF第第3 3
29、章章 80868086微型计算机系统微型计算机系统OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF05 5、标志寄存器、标志寄存器FRFR控制标志控制标志方向标志(用于串操作指令):方向标志(用于串操作指令):DFDF1 1,存储器地址会自动减值;,存储器地址会自动减值;DFDF0 0,存储器地址会自动增值。,存储器地址会自动增值。DF第第3 3章章 80868086微型计算机系统微型计算机系统CF(Carry Flag):进位标志位:进位标志位F(Carry Flag):进位标志位:进位标志位 CFl,表示本次运算中最高位MSB有进位(加法运算时)或有借位(减法运算时
30、)。CF标志可通过STC指令置位,通过CLC指令复位(清除进位标志),还可通过CMC指令将当前CF标志取反。第第3 3章章 80868086微型计算机系统微型计算机系统PF(Parity)奇偶标志)奇偶标志:运算结果的低运算结果的低8位中所含位中所含1的个数为偶数时的个数为偶数时PF=1举例:举例:2345H+3219H=555EH(0101 0101 0101 1110)第第3 3章章 80868086微型计算机系统微型计算机系统AF(Auxiliary Carry Flag):辅助进位标志:辅助进位标志位位 AFl,表示运算结果的8位数据中,低4位向高4位有进位(加法运算时)或有借位(减法
31、运算时),这个标志位只在十进制运算中有用。ZF(Zero Flag):零标志位:零标志位 ZF1,表示本次运算结果为零,否则即运算结果非零时,ZF0。第第3 3章章 80868086微型计算机系统微型计算机系统SF(Sign Flag):符号标志:符号标志 SF1,表示本次运算结果的最高位(第7位或第15位)为“l”,否则SF0。标志标志第第3 3章章 80868086微型计算机系统微型计算机系统 OF(Over flow Flag)溢出标志)溢出标志:当运算过程中产生溢:当运算过程中产生溢出时,会使出时,会使OF为为1。所谓溢出,就是当字节运算的结果超出。所谓溢出,就是当字节运算的结果超出了
32、范围了范围128127,或者当字运算的结果超出了范围,或者当字运算的结果超出了范围3276832767时称为溢出。计算机在进行加法运算时,时称为溢出。计算机在进行加法运算时,每当判断出低位向最高有效位产生进位,而最高有效位往前每当判断出低位向最高有效位产生进位,而最高有效位往前没有进位时,便得知产生了溢出,即没有进位时,便得知产生了溢出,即OF置置1;或者反过来,;或者反过来,每当判断出低位向最高位无进位,而最高位往前却有进位时,每当判断出低位向最高位无进位,而最高位往前却有进位时,便得知产生了溢出,即便得知产生了溢出,即OF置置1。在减法运算时,每当判断出。在减法运算时,每当判断出最高位需要
33、借位,而低位并不向最高位产生借位时,最高位需要借位,而低位并不向最高位产生借位时,OF置置1;或者反过来,每当判断出低位从最高位有借位,而最高位并或者反过来,每当判断出低位从最高位有借位,而最高位并不需要从更高位借位时,不需要从更高位借位时,OF置置1。第第3 3章章 80868086微型计算机系统微型计算机系统例如,执行两个数的加法:例如,执行两个数的加法: 0010 0011 0100 0101+ 0011 0010 0001 1001 0101 0101 0101 1110 由于运算结果的最高由于运算结果的最高 位为位为0,所以,所以,SF=;而运算结果本身不为;而运算结果本身不为0,所
34、以,所以,ZF=0;低低8位所含的位所含的1的个数为的个数为5个,即有奇数个个,即有奇数个1,所以,所以,PF=0;由于最高位没有产生进位,;由于最高位没有产生进位,所以,所以,CF=0;又由于第;又由于第3位没有往第位没有往第4位产生进位,所以,位产生进位,所以,AF=0;由于低位没有往最;由于低位没有往最高位产生进位,最高位往前也没有进位,所以,高位产生进位,最高位往前也没有进位,所以,OF=0。又比如,执行下面两个数的加法:又比如,执行下面两个数的加法: 0101 0100 0011 1001+ 0100 0101 0110 1010 1001 1001 1010 0011 显然,由于运
35、算结果的最高位为显然,由于运算结果的最高位为1,所以,所以,SF=1;由于运算结果本身不为;由于运算结果本身不为0,所以,所以ZF=0;由于低;由于低8位所含的位所含的1的个数为的个数为4个,即含有偶数个个,即含有偶数个1,所以,所以,PF=1;由于最高位;由于最高位没有往前产生进位,所以,没有往前产生进位,所以,CF=0;运算过程中,第;运算过程中,第3位往第位往第4位产生了进位,所以,位产生了进位,所以,AF=1;由于低位往最高位产生了进位,而最高位没有往前产生进位,所以;由于低位往最高位产生了进位,而最高位没有往前产生进位,所以OF=1。 第第3 3章章 80868086微型计算机系统微
36、型计算机系统控制标志控制标志DF(方向):(方向):控制串操作指令用的控控制串操作指令用的控制标志,制标志,DF=0,增值;,增值;DF=1,减值,减值可通过STD指令置位,也可通过CLD指令复位。IF(中断允许):(中断允许):控制可屏蔽中断的标志。控制可屏蔽中断的标志。IF =1,CPU可响应可屏蔽中断;可响应可屏蔽中断;通过STI指令置位,CLI指令复位TF(跟踪,又称为单步):(跟踪,又称为单步):TF=1,则,则CPU按按跟踪方式执行指令。跟踪方式执行指令。第第3 3章章 80868086微型计算机系统微型计算机系统控制标志位有控制标志位有3个,即个,即DF、IF、TF。 DF(Di
37、rection Flag)方向标志:控制串操作指令用的)方向标志:控制串操作指令用的标志。如果标志。如果DF为为0,则串操作过程中地址会不断增值;反之,则串操作过程中地址会不断增值;反之,如果如果DF为为1,则串操作过程中地址会不断减值。,则串操作过程中地址会不断减值。 IF(Interrupt Enable Flag)中断允许标志:控制可屏)中断允许标志:控制可屏蔽中断的标志。如果蔽中断的标志。如果IF为为0,则关闭可屏蔽中断,此时,则关闭可屏蔽中断,此时CPU不不响应可屏蔽中断请求;如果响应可屏蔽中断请求;如果IF为为1,则打开可屏蔽中断,此时,则打开可屏蔽中断,此时CPU可以响应可屏蔽中
38、断请求。可以响应可屏蔽中断请求。 TF(Trap Flag)跟踪标志:如果)跟踪标志:如果TF为为1,则,则CPU按跟踪按跟踪方式执行指令。方式执行指令。 这些控制标志一旦设置之后,将控制后面的操作。这些控制标志一旦设置之后,将控制后面的操作。第第3 3章章 80868086微型计算机系统微型计算机系统 状态标志的状态表示在状态标志的状态表示在PC 中,可由调试程序(中,可由调试程序(DEBUG)显示出来显示出来表表2.2 2.2 状态标志表状态标志表标志位名为1对应符为0对应符OFDFIFSFZFAFPFCFOVDNEINGZRACPECYNVUPDIPLNZNAPONC第第3 3章章 80
39、868086微型计算机系统微型计算机系统3.1.2 8086的存储器组织的存储器组织 8086有20根地址线,因此,具有1M(220)字节的存储器地址空间。其内存单元按照00000HFFFFFH来编址。 第第3 3章章 80868086微型计算机系统微型计算机系统 1存储器的分段存储器的分段 8086存储器操作采用了典型的存储器分段技术,对存存储器操作采用了典型的存储器分段技术,对存储器的寻址操作不是直接用储器的寻址操作不是直接用20位的物理地址,而是采用段地位的物理地址,而是采用段地址加段内偏移地址的二级寻址方式,即先用址加段内偏移地址的二级寻址方式,即先用16位的段地址位的段地址经经过简单
40、运算(左移过简单运算(左移4位)得到单元所在段的物理地址,再加位)得到单元所在段的物理地址,再加上该单元的上该单元的16位逻辑地址位逻辑地址(相对于段首的(相对于段首的偏移地址偏移地址)即可得)即可得到该单元的物理地址。到该单元的物理地址。第第3 3章章 80868086微型计算机系统微型计算机系统什么是段基址和偏移地址?段基址段基址(又称(又称段地址段地址):段首地址的高段首地址的高16位位偏移地址:偏移地址:相对于段首地址的偏移量。相对于段首地址的偏移量。 最大寻址范围最大寻址范围216=64KB(0000HFFFFH)第第3 3章章 80868086微型计算机系统微型计算机系统存储器的逻
41、辑分段存储器的逻辑分段第第3 3章章 80868086微型计算机系统微型计算机系统 在在8086存储空间中,把存储空间中,把16个个字节的存储空间称作一节字节的存储空间称作一节(Paragraph)。为了简化操作,)。为了简化操作,要求各个逻辑段从节的整数边界要求各个逻辑段从节的整数边界开始,也就是说段首地址低开始,也就是说段首地址低4位应位应该是该是“0”,因此就把段首地址的,因此就把段首地址的高高16位称为位称为“段基址段基址”,存放在,存放在段寄存器段寄存器CS或或DS或或ES或或SS中,中,段内的偏移地址存放在段内的偏移地址存放在IP或或SP中。中。 若已知当前有效的代码段、若已知当前
42、有效的代码段、数据段、附加段和堆栈段的段基数据段、附加段和堆栈段的段基址分别为址分别为1055H、250AH、8FFBH和和EFF0H:第第3 3章章 80868086微型计算机系统微型计算机系统 2存储器中的逻辑地址和物理地址存储器中的逻辑地址和物理地址 采用分段结构的存储器中,存储单元的逻辑地址由段基采用分段结构的存储器中,存储单元的逻辑地址由段基址和偏移地址(也称有效地址址和偏移地址(也称有效地址EA)两个部分构成,它们都)两个部分构成,它们都是无符号的是无符号的16位二进制数。位二进制数。 任何一个存储单元对应一个任何一个存储单元对应一个20位的物理地址(位的物理地址(PA),也),也
43、称为绝对地址,它是由逻辑地址变换得来的。可以把每一个称为绝对地址,它是由逻辑地址变换得来的。可以把每一个存储单元看成是具有两种类型的地址:存储单元看成是具有两种类型的地址:物理地址和逻辑地址。物理地址和逻辑地址。物理地址就是实际地址,它具有物理地址就是实际地址,它具有20位的地址值,它是唯一标位的地址值,它是唯一标识识1MB存储空间的某一个字节的地址。逻辑地址由段基址和存储空间的某一个字节的地址。逻辑地址由段基址和偏移地址组成。程序以逻辑地址编址,而不是用物理地址。偏移地址组成。程序以逻辑地址编址,而不是用物理地址。 第第3 3章章 80868086微型计算机系统微型计算机系统什么是物理地址和
44、逻辑地址?什么是物理地址和逻辑地址?表示一个存储单元的地址有两种形式:表示一个存储单元的地址有两种形式:(1)物理地址)物理地址(PA) :就是实际地址,具有:就是实际地址,具有20位地址值,位地址值,它是唯一标识它是唯一标识1M字节存储空间的某一个字节的地址。字节存储空间的某一个字节的地址。寻址范围寻址范围220=1MB(00000HFFFFFH)(2)逻辑地址)逻辑地址(EA) :由段基址和偏移地址组成(均为:由段基址和偏移地址组成(均为16位)。举例:代码段逻辑地址可表成位)。举例:代码段逻辑地址可表成CS:IP又如逻辑地址为又如逻辑地址为2000H:2000H对应的物理地址对应的物理地
45、址22000H物理地址与逻辑地址关系就是公式:物理地址与逻辑地址关系就是公式:物理地址段基址物理地址段基址10H偏移地址偏移地址 第第3 3章章 80868086微型计算机系统微型计算机系统 当当CPU需要访问存储器时,必须完成如下的物理地址计算:需要访问存储器时,必须完成如下的物理地址计算: 物理地址物理地址 = 段基址段基址10H偏移地址偏移地址 同一个物理地址可以由不同的段地址和偏移量组合来得到。比如:同一个物理地址可以由不同的段地址和偏移量组合来得到。比如:CS0000,IP306AH,物理地址为,物理地址为0306AH;而;而CS0300H,IP006AH,物理地址也是,物理地址也是
46、0306AH。当然,还可以有许多别的组合。当然,还可以有许多别的组合。 物理地址的形成如图物理地址的形成如图2.5 所示,它是通过所示,它是通过CPU的总线接口部件的总线接口部件BIU的的地址加法器来实现的。地址加法器来实现的。【例例】代码寄存器代码寄存器CS2000H,指令指针寄存器存放偏移地址指令指针寄存器存放偏移地址IP2200H,存储器的物理地址为,存储器的物理地址为20000H2200H22200H。第第3 3章章 80868086微型计算机系统微型计算机系统 再以刚复位后的取指令动作为例来说明物理地再以刚复位后的取指令动作为例来说明物理地址的形成。址的形成。复位时,除了复位时,除了
47、CSFFFFH外,外,8086的的其它内部寄存器的值均为其它内部寄存器的值均为0,指令的物理地址应为,指令的物理地址应为CS的值乘的值乘16,再加,再加IP的值,所以,复位后执行的的值,所以,复位后执行的第一条指令的物理地址为:第一条指令的物理地址为:FFFF0H。 因此,在存储器编址时,将高地址区分配给因此,在存储器编址时,将高地址区分配给ROM(只读存储器),而在(只读存储器),而在FFFF0H开始的单元中开始的单元中固化了一条无条件转移指令,转到系统初始化程序。固化了一条无条件转移指令,转到系统初始化程序。第第3 3章章 80868086微型计算机系统微型计算机系统 4个段寄存器分别指向
48、个段寄存器分别指向4个现行可寻址的分段个现行可寻址的分段的起始字节单元。程序指令存放在代码段中,代的起始字节单元。程序指令存放在代码段中,代码段地址来源于代码段寄存器码段地址来源于代码段寄存器CS,偏移地址来源,偏移地址来源于指令指针于指令指针IP。当涉及堆栈操作时,堆栈段地址。当涉及堆栈操作时,堆栈段地址寄存器为寄存器为SS,偏移地址来源于栈指针寄存器,偏移地址来源于栈指针寄存器SP。当涉及数据存取操作时,则由数据段寄存器当涉及数据存取操作时,则由数据段寄存器DS或或附加段寄存器附加段寄存器ES作为段地址寄存器,而偏移地址作为段地址寄存器,而偏移地址是由是由16位的偏移量得到。位的偏移量得到
49、。16位偏移量的确定与位偏移量的确定与指令的寻址方式有关。指令的寻址方式有关。第第3 3章章 80868086微型计算机系统微型计算机系统 在在IBM PC/XT的的8086系统中,存储器有几个部分的用处是固定的:系统中,存储器有几个部分的用处是固定的: 00000003FFH共共1KB区域用来存放中断向量,这一区域称为中断向区域用来存放中断向量,这一区域称为中断向量表。中断向量实际上就是中断处理子程序的入口地址,每个中断向量占量表。中断向量实际上就是中断处理子程序的入口地址,每个中断向量占4个个字节,低地址的字节,低地址的2个字节为中断处理子程序入口地址的偏移量,高地址的个字节为中断处理子程
50、序入口地址的偏移量,高地址的2个个字节为中断处理子程序的段地址。当然,对一个具体系统来说,一般并不需字节为中断处理子程序的段地址。当然,对一个具体系统来说,一般并不需要多达要多达256个中断处理程序,因此,实际系统中的中断向量表的大部分区域个中断处理程序,因此,实际系统中的中断向量表的大部分区域是空白的。是空白的。 B0000HB0F9FH约约4KB是单色显示器的显示缓冲区,存放单色显示是单色显示器的显示缓冲区,存放单色显示器当前屏幕字符所对应的器当前屏幕字符所对应的ASCII码和属性。码和属性。 B8000HBBF3FH约约16KB是彩色显示器的显示缓冲区,存放彩色显是彩色显示器的显示缓冲区
51、,存放彩色显示器当前屏幕像素点所对应的代码。示器当前屏幕像素点所对应的代码。 从从FFFF0H开始到存储器底部开始到存储器底部FFFFFH共共16个单元,一般只用来存放一个单元,一般只用来存放一条无条件转移指令,转到系统的初始化程序。这样在系统加电或者复位时,条无条件转移指令,转到系统的初始化程序。这样在系统加电或者复位时,就会自动转到就会自动转到FFFF0H执行。执行。 第第3 3章章 80868086微型计算机系统微型计算机系统3.2.1 8086引脚特性3. 2 8086的引脚特性及工作模式的引脚特性及工作模式第第3 3章章 80868086微型计算机系统微型计算机系统数据总线为数据总线
52、为16位位地址总线为地址总线为20位位40条引脚条引脚 部分引脚分时复用部分引脚分时复用 第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚AD0AD15低低16位地址位地址/数据数据的复用引脚线的复用引脚线三态、双向三态、双向采用分时复用法来采用分时复用法来实现对地址线和数实现对地址线和数据线的复用据线的复用第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 A19/S6A16/S3高高4位地址位地址/状态的状态的复用引脚线复用引脚线三态、输出三态、输出采用分时复用方法采用分时复用方法来实现对地址线和来实现对地址线和状态
53、线的复用状态线的复用第第3 3章章 80868086微型计算机系统微型计算机系统状态信息S6总是为低电平。S5反映当前允许中断标志的状态。S4与S3一起指示当前哪一个段寄存器被使用。其规定如表所示。S S4 4S S3 3当前正在使用当前正在使用的段寄存器名的段寄存器名0 00 0 ES ES0 01 1 SS SS1 10 0 CS CS或未用或未用1 11 1 DS DS第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 BHE/S7高高8位数据总线允许位数据总线允许/状态的复用引脚线状态的复用引脚线三态、输出三态、输出 BHE与与A0结合使用结合使用第
54、第3 3章章 80868086微型计算机系统微型计算机系统BHE与A0结合使用BHEBHE与与A A0 0结合使用结合使用 BHE AD0有效的数据引脚有效的数据引脚操作操作 0 0 AD15AD0从偶地址读从偶地址读/写写一个字一个字1 0AD7AD0从偶地址读从偶地址读/写写一个字节一个字节0 1AD15AD8从奇地址读从奇地址读/写写一个字节一个字节0 11 0AD15AD8(第一个总线周期读(第一个总线周期读到该字数据的低到该字数据的低8位)位)AD7AD0(第二个总线周期读到(第二个总线周期读到该字数据的高该字数据的高8位)位)从奇地址读从奇地址读/写写一个字一个字第第3 3章章 8
55、0868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 RD读信号读信号三态、输出三态、输出低电平时有效低电平时有效有效时表示对存储有效时表示对存储器或器或I/O进行读操作进行读操作 RD读信号读信号三态、输出三态、输出低电平时有效低电平时有效有效时表示对存储有效时表示对存储器或器或I/O进行读操作进行读操作第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 READY准备就绪信号准备就绪信号输入输入高电平时有效高电平时有效有效时表示存储器有效时表示存储器或或I/O设备准备就绪设备准备就绪第第3 3章章 80868086微型计算机系统微型计算机
56、系统1、两种工作模式的公共引脚 TEST测试信号测试信号输入输入低电平时有效低电平时有效与与WAIT指令配合指令配合 使用使用第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 INTR可屏蔽中断请求信号可屏蔽中断请求信号输入输入高电平时有效高电平时有效标志寄存器中标志寄存器中IF位:位:IF=1,允许中断,允许中断IF=0,禁止中断,禁止中断第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 NMI非屏蔽中断请求信号非屏蔽中断请求信号输入输入上升沿有效上升沿有效不受不受IF位影响位影响8086只有只有NMI和和INTR可
57、以引入外部中断。可以引入外部中断。第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 RESET复位信号复位信号输入输入高电平有效高电平有效复位后:复位后:指令队列空指令队列空CS为为FFFFH其它寄存器清零其它寄存器清零第第3 3章章 80868086微型计算机系统微型计算机系统1、两种工作模式的公共引脚 其它CLK输入时钟信号输入时钟信号VCC输入电源输入电源GND接地接地MN/MX最小最小/最大模最大模式信号,输入。式信号,输入。第第3 3章章 80868086微型计算机系统微型计算机系统与工作模式有关的引脚第第3 3章章 80868086微型计算机系
58、统微型计算机系统2、最小模式下的引脚 INTA中断响应信号中断响应信号输出输出低电平有效低电平有效第第3 3章章 80868086微型计算机系统微型计算机系统2、最小模式下的引脚 ALE地址锁存信号地址锁存信号输出输出下降沿时锁存下降沿时锁存地址地址第第3 3章章 80868086微型计算机系统微型计算机系统2、最小模式下的引脚 DEN数据允许信号数据允许信号输出,三态输出,三态低电平有效低电平有效第第3 3章章 80868086微型计算机系统微型计算机系统2、最小模式下的引脚 DT/R数据发送数据发送/接接收控制信号收控制信号输出,三态输出,三态有效时控制数有效时控制数据传送方向据传送方向第
59、第3 3章章 80868086微型计算机系统微型计算机系统2、最小模式下的引脚 M/IO访问访问M或或I/O控制信号控制信号输出,三态输出,三态=1,访问,访问M=0,访问,访问I/O第第3 3章章 80868086微型计算机系统微型计算机系统2、最小模式下的引脚WRWR写信号写信号输出,三态输出,三态低电平有效低电平有效有效时表示有效时表示CPU正在写正在写第第3 3章章 80868086微型计算机系统微型计算机系统2、最小模式下的引脚HOLDHOLD和和HLDAHLDAHOLD输入,总线输入,总线保持请求信号保持请求信号HLDA输出,总线输出,总线响应信号响应信号第第3 3章章 80868
60、086微型计算机系统微型计算机系统3、最大模式下的引脚QS1,QS0指令队列状态信号指令队列状态信号输出输出组合见表组合见表第第3 3章章 80868086微型计算机系统微型计算机系统QS1和QS0的组合与对应的操作 QS1QS0操作操作00无操作无操作01从指令队列的第一个字节中取走代码从指令队列的第一个字节中取走代码10队列为空队列为空11除第一个字节外,还取走了后续字节中除第一个字节外,还取走了后续字节中的代码的代码第第3 3章章 80868086微型计算机系统微型计算机系统3、最大模式下的引脚LOCK总线封锁信号总线封锁信号输出,三态输出,三态低电平有效低电平有效第第3 3章章 808
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗大数据的伦理教育与实践
- 2025-2030中国毛巾毯行业市场深度调研及投资价值与投资前景研究报告
- 2025-2030中国桔子行业市场运行分析及竞争格局与投资方向研究报告
- 2025-2030中国有色金属行业市场发展分析及发展趋势与投资前景研究报告
- 2025-2030中国智能鞋行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国智能变色灯行业现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030中国无线电控制伺服行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国旋网净化油烟机行业市场发展现状及竞争策略与投资发展前景研究报告
- 农村电商中的直播带货模式研究-洞察阐释
- 2025-2030中国教育玩具行业市场深度调研及竞争格局与投资前景研究报告
- 临床面试专业真题及答案
- 医药职业道德课程课件
- 2025-2030中国铍行业市场发展趋势与前景展望战略研究报告
- 绳索救援技术培训内容
- 甘肃省天水监狱招聘警务辅助人员笔试真题2024
- 2025年农村商业银行招聘考试笔试试题(含答案)
- 网络安全知识手册
- 医院财务笔试试题及答案
- 全国医师定期考核公共卫生考核试题500题-1
- 上饶城投笔试试题及答案
- 适合小学生的医学小知识
评论
0/150
提交评论