主讲教师:物理学与电子工程学院王玉平电子邮件:flwyp@yznu.cnQQ:524693116微机原理及应用微机原理与接口技术第2章微型计算机系统的微处理器2物理学与电子工程学院第2章微型计算机的微处理器§2.18086微处理器的编程结构§2.28086的存储器组织§2.38086的I/O组织§2.48086的引脚功能与工作组态§2.58086的操作及典型时序微机原理与接口技术第2章微型计算机系统的微处理器3物理学与电子工程学院2.18086微处理器的编程结构2.1.18086CPU的内部结构2.1.28086CPU的寄存器结构微机原理与接口技术第2章微型计算机系统的微处理器4物理学与电子工程学院2.1.18086CPU的内部结构微机原理与接口技术第2章微型计算机系统的微处理器5物理学与电子工程学院(1)执行部件的功能执行部件的主要功能是负责译码指令和执行指令。(2)执行部件的组成①运算器(ALU)②通用寄存器(AX、BX、CX、DX、SI、DI、SP、BP)③标志寄存器(FR)④执行部件控制电路1.执行部件(EU)微机原理与接口技术第2章微型计算机系统的微处理器6物理学与电子工程学院微机原理与接口技术第2章微型计算机系统的微处理器7物理学与电子工程学院(1)总线接口部件的功能总线接口部件的主要功能是负责控制CPU与外部之间的信息传送。(2)总线接口部件的组成①地址加法器(Σ)②段寄存器(CS、DS、ES、SS)③指令指针寄存器(IP)④指令队列(6字节)⑤输入/输出控制电路2.总线接口部件(BIU)微机原理与接口技术第2章微型计算机系统的微处理器8物理学与电子工程学院微机原理与接口技术第2章微型计算机系统的微处理器9物理学与电子工程学院2.1.28086CPU的寄存器结构8086CPU为了应用程序编程提供了14个基本程序执行寄存器。一般将这些寄存器按功能不同分为四组:(1)通用寄存器(2)段寄存器(3)标志寄存器(3)指令指针寄存器微机原理与接口技术第2章微型计算机系统的微处理器10物理学与电子工程学院1.通用寄存器(8个)8个16位的通用寄存器的名称分别为:AX、BX、CX、DX、SI、DI、BP和SP。其中AX、BX、CX、DX可以一分为二使用。通用寄存器的主要作用是:①逻辑和算术操作的操作数;②用于地址计算的操作数;③内存指针。虽然所有这些寄存器都可用于存放操作数、结果和指针,但在引用SP寄存器时要特别小心。SP寄存器保持堆栈指针,通常不要用于其它目的。微机原理与接口技术第2章微型计算机系统的微处理器11物理学与电子工程学院微机原理与接口技术第2章微型计算机系统的微处理器12物理学与电子工程学院2.段寄存器(4个)8086CPU中有4个16位的段寄存器,用于存放段地址。(1)代码段寄存器(CS)(2)数据段寄存器(DS)(3)堆栈段寄存器(SS)(4)附加段寄存器(ES)这些段寄存器只能按16位使用。由于8086中只有4个段寄存器,所以任何时候,一个程序最多能访问线性地址空间中的四个段。要访问由一个段寄存器指向的段,程序必须首先把要访问的段的段地址传送到一个段寄存器中。微机原理与接口技术第2章微型计算机系统的微处理器13物理学与电子工程学院3.标志寄存器(1个)在8086CPU中有1个16位标志寄存器,其中只有9位有效,能提供9个不同的标志信息。这9个标志分为两类:(1)状态标志(6位):反映一条指令执行后的状态,当一条指令执行后其状态标志的值由CPU自动写入。(2)控制标志(3位):控制标志主要用于确定CPU的某些工作方式,其值通常由程序员根据需要写入。OFDFIFTFSFZFAFPFCF15870微机原理与接口技术第2章微型计算机系统的微处理器14物理学与电子工程学院(1)状态标志①进位标志CF按二进制运算,当结果的最高位产生进位(加法)或借位(减法)时,CF=1,否则CF=0。②辅助进位标志AF按二进制运算,当结果的D3位向D4位有进位(加法)或借位(减法)时,AF=1,否则AF=0。该标志主要针对于BCD算术运算。③奇偶标志PF按二进制运算,当结果中“1”的个数为偶数时,PF=1,否则PF=0。微机原理与接口技术第2章微型计算机系统的微处理器15物理学与电子工程学院④符号标志SF按二进制运算,当结果这负时,SF=1,否则SF=0,它的值与运算结果的最高位相同,即由结果的最高位的值决定其正负。⑤溢出标志OF按二进制运算,当结果溢出时,OF=1,否则OF=0。溢出指结果超出了能表示的范围。具体判断方法:结果符号合理时表示无溢出,结果不合理时表示有溢出。不合理的情况:正+正=负;负+负=正;正-负=负;负-正=正微机原理与接口技术第2章微型计算机系统的微处理器16物理学与电子工程学院⑥零标志ZF当运算结果为0时,ZF=1,否则ZF=0在这些状态标志中,只有进位标志CF能用指令STC、CLC和CMC直接进行修改。(2)控制标志①方向标志DF当DF=1时,串操作指令的地址作自动减量变化;当DF=0时,串操作指令的地址作自动增量变化。可以用STD和CLD指令修改DF的值。微机原理与接口技术第2章微型计算机系统的微处理器17物理学与电子工程学院②中断允许标志IF当IF=1时,允许CPU响应外部可屏蔽中断请求;当IF=0时,禁止CPU响应外部可屏蔽中断请求。可以用STI和CLI指令修改IF的值。③单步标志TF当TF=1时,CPU工作在单步执行指令方式;当TF=0时,CPU工作在连续执行指令方式。微机原理与接口技术第2章微型计算机系统的微处理器18物理学与电子工程学院4.指令指针寄存器(1个)指令指针寄存器的名称叫IP,16位,其作用是随时提供下一条要执行的指令在当前代码段中的偏移地址。其特点是它的值随着指令的执行自动改变,通常它是顺序增加的,从一条指令边界至下一条指令,但在执行转移指令时,它可以向前或向后移动若干条指令。IP寄存器的值不能由指令直接访问;读IP寄存器的唯一方法是执行一条CALL指令,然后从堆栈中读指令指针寄存器的保存值。IP寄存器的值可通过先修改堆栈再执行返回指令来间接修改。微机原理与接口技术第2章微型计算机系统的微处理器19物理学与电子工程学院2.28086的存储器组织2.2.1存储器地址空间和数据存储格式2.2.2存储器的分体结构2.2.38086存储器的分段2.2.4存储器物理地址的形成微机原理与接口技术第2章微型计算机系统的微处理器20物理学与电子工程学院2.2.1存储器地址空间和数据存储格式1.存储器地址空间8086CPU有20条地址引线,直接寻址能力为220=1MB。所以,在一个8086组成的系统中,可以有多达1MB的存储器单元。这1MB逻辑上可以组织成一个线性矩阵。每一个存储单元有一个地址编号,地址从00000H到FFFFFH。00000H00001H00002H……FFFFEHFFFFFH……现在最新的CPU有36条地址线,可支持的内存空间为236=64GB。其内存单元地址为:000000000H~FFFFFFFFFH。微机原理与接口技术第2章微型计算机系统的微处理器21物理学与电子工程学院2.数据在存储器中存储的一般格式CPU的基本数据类型有字节、字、双字、四字和双四字。它们在内存中的存放规则是:(1)对于字节型数据,从低地址到高地址顺序存放;(2)对于非字节型数据,低地址存放低字节,高地址存放高字节。高字低字高低高双字低双字高四字低四字字节字双字四字双四字07153163127微机原理与接口技术第2章微型计算机系统的微处理器22物理学与电子工程学院它们的对齐规则是:(1)字节类型数据,可以从内存的任意地址开始存放;(2)字类型数据,最好从内存偶地址开始存放;(3)双字类型数据,最好从内存地址能被4整除开始存放;(4)四字类型数据,最好从内存地址能被8整除开始存放。按此规则存储的称为“规则字”存储,否则称为“非规则字”存储。按此规则存放的目的是为了提高CPU访问数据的速度。微机原理与接口技术第2章微型计算机系统的微处理器23物理学与电子工程学院2.2.2存储器的分体结构1.8086存储器的硬件分体结构SEL#称为片选信号,当其有效时,该存储器被选中,可对其读/写操作。BHE#称为高字节允许,由CPU产生。微机原理与接口技术第2章微型计算机系统的微处理器24物理学与电子工程学院2.8086存储器的地址分体结构将8086的1MB地址空间分为两部分,一部分为偶地址单元,对应数据线的低8位,另一部分为奇地址单元,对应数据线的高8位。对存储器操作时,既可一次传送8位数据,也可一次传送16位数据。微机原理与接口技术第2章微型计算机系统的微处理器25物理学与电子工程学院3.8086存储器的读/写操作8086CPU是按16位结构设计,可以通过两个存储体直接读/写一个字数据;也可以只从一个存储体中读/写一个8位的字节数据,SEL#为奇偶地址存储体的“片选”信号;奇偶地址存储体的选择由BHE#信号和A0决定,所以读/写字数据或字节数据有几种不同的情况。微机原理与接口技术第2章微型计算机系统的微处理器26物理学与电子工程学院(1)读/写一个“字节”数据如果BHE#=1,A0=0,表示要读/写偶地址存储体,发送偶地址,此时,DB8~DB15上的数据将被忽略;如果BHE#=0,A0=1,表示要读/写奇地址存储体,发送奇地址,此时,DB0~DB7上的数据将被忽略。数据CPU偶地址高地址低地址内存空闲奇地址数据CPU空闲奇地址高地址低地址内存偶地址读/写偶地址字节读/写奇地址字节微机原理与接口技术第2章微型计算机系统的微处理器27物理学与电子工程学院(2)读/写一个“规则字”数据该字数据从偶地址开始存放;发送该字数据的偶地址(A0=0),同时使BHE#=0,则只须执行一个总线读/写周期,便可一次完成对该字的读/写操作。低8位数据线上传送低字节数据;高8位数据线上传送高字节数据。微机原理与接口技术第2章微型计算机系统的微处理器28物理学与电子工程学院(3)读/写一个“非规则字”数据该字数据从奇地址开始存放,低字节数据放在奇地址存储体中,高字节数据存放在偶地址存储体中。CPU需要发送两个地址,并连续地执行二个总线读/写周期,才能分两次完成对该字的读/写。第一次读写奇地址体上数据,发送该字数据的奇地址(A0=1),并使BHE#=0,通过高位数据线读/写低字节数据。第二次读写偶地址体上数据,再发送一个偶地址(A0=0),并使BHE#=1,通过低位数据线读写高字节数据。微机原理与接口技术第2章微型计算机系统的微处理器29物理学与电子工程学院2.2.38086存储器的分段处理器在它的总线上寻址的存储器称为物理存储器。物理存储器按字节序列组织。每个字节赋予一个唯一的地址,称为物理地址。8086有20条地址引线,它的直接寻址能力为220=1MB。给定一个20位的物理地址,就可以从这1MB中取出所需要的指令或操作数,但是,在8086内部,寄存器和运算器都是16位,20位的物理地址如何管理呢?8086对内存采用分段的方法进行管理,将内存分为多个段,每一个段的容量不超过216=64KB,这样段内单元可以用16位二进制数进行编址。微机原理与接口技术第2章微型计算机系统的微处理器30物理学与电子工程学院…………00000H00001H00002H3FFF0H3FFF1H3FFF2HF5000HF5001HFFFFFH0000H0001H0002H****H0000H0001H0002H****H……0000H0001H****H第1段第2段第n段8086中内存的分段管理模型微机原理与接口技术第2章微型计算机系统的微处理器31物理学与电子工程学院物理地址:将所有内存单元用20位二进制数,从00000H~FFFFFH所编的地址。对于任一单元,物理地址是唯一的,是CPU选择某单元的唯一标识。偏移地址:将每一个段的所有单元,用16位二进制数从0000H~****H所编的地址。每一个段所包含的单元数(容量)最大不超过64KB。段地址:将每