微机接口技术微机接口技术主讲:杨继东2009年版重庆大学机械工程学院机电系微机接口技术教材:吴延海主编,【微型计算机接口技术】,重庆大学出版社,1997参考文献:1、王士元等编,【IBM-PC/XT(长城0520)接口技术及应用】,南开大学出版社,19902、沈美明等,【IBM-PC汇编语言程序设计】,清华大学出版社,1991教材微机接口技术3、张昆藏,【IBMPC/XT微型计算机接口技术】,清华大学出版社,19914、阎慧娟等,【微型计算机接口技术】,中国人事出版社,19945、李伯成等,【IBMPC微机应用系统设计】,西安电子科技大学出版社,1994微机接口技术第一章80X86微处理器体系结构0.1微处理器发展概述0.2微机的硬件结构1.18086CPU主要特性1.28086CPU内部结构1.38086CPU寄存器组织目录微机接口技术1.48086CPU引脚功能1.68086CPU存储器组织1.88086/8086指令系统目录微机接口技术0.1微处理器发展概述1.第一代微处理器•Intel4004、Intel4040—4位微处理器•Intel8008—低档8位微处理器2.第二代微处理器•Intel8080、MC6800、6501、6502—8位微处理器•Intel8085、Z80、MC6809—高档8位微处理器•指令比较完善,有了中断与DMA•汇编、BASIC,FORTRAN、PL/M•后期配备CP/M操作系统发展概述微机接口技术3.第三代微处理器•Intel8086、Z8000、MC68000—16位-8086数据总线16位、地址总线20位•Intel8088—准16位-外部数据总线8位,内部数据总线16位-IBMPC、IBMPC/XT•Intel80286、MC68010—高档16位-数据总线16位,地址总线24位-IBMPC/AT-实地址模式、虚地址保护模式-虚地址模式可寻址16MB物理地址和1GB的虚拟地址空间微机接口技术4.第四代微处理器•Intel80386—32位微处理器-数据总线32位,地址总线32位-实地址模式、虚地址保护模式、虚拟8086模式-虚地址模式可寻址4GB(232)物理地址和64TB(246)的虚拟地址空间•Intel80486—32位微处理器-80386+80387+8KB的Cache-部分采用RISC技术、突发总线技术-使用时钟倍频技术微机接口技术5.第五代微处理器•Pentium(奔腾)—32位微处理器•PentiumMMX(多能奔腾)—32位微处理器-增加了57条MMX指令-采用了SIMD技术-同时处理8个字节的数据微机接口技术6.第六代微处理器(P6核心结构)•PentiumPro(高能奔腾)—32位微处理器-64条数据线、36条地址线(区别Pentium的32条地址线)-实现了动态执行技术(乱序执行)•PentiumII(奔腾2)—32位微处理器•PentiumIII(奔腾3)—32位微处理器微机接口技术7.第六代之后的微处理器•Pentium4—32位微处理器(非P6核心结构)•Itanium—64位微处理器-采用EPIC技术、RISC技术和CISC技术-具有显式并行功能-具有断定执行功能-具有数据预装的功能-采用三级高速缓存•AMD64—64位微处理器-AMD使用x86结构并扩展到64位来获得x86-64结构-处理器能全速高性能地运行x86和x86-64程序-64位模式不采用分段模式-具有长模式,包括64位模式和兼容模式(允许现有程序无需修改就运行在长模式下)微机接口技术•IntelIA-32e—64位微处理器-Intel增强IA-32结构,扩展到64位结构操作-完全兼容现在的IA-32结构-具有传统IA-32模式和IA-32e模式,IA-32e模式包括64位模式和兼容模式(允许现有程序无需修改就运行在传统IA-32模式和兼容模式下)-64位模式下具有以下特性:※64位平板线性地址※增加8个新的通用寄存器※增加8个新的流SIMD扩展(SSE,SSE2和SSE3)※64位宽的通用寄存器和指令指针寄存器微机接口技术0.2微机的硬件结构CPU地址总线(AB)RAMI/O接口I/O设备ROM数据总线(DB)控制总线(CB)硬件结构微机接口技术16位PC机32位PC机的基本部件相同PC机微机接口技术8086是Intel公司1978年推出的一种高性能的16位微处理器采用HMOS工艺制造集成了29000个晶体管具有丰富的指令系统采用多级中断技术多重寻址方式多重数据处理形式1.18086CPU主要特性1.18086CPU主要特性微机接口技术段式存储器结构和硬件乘除法运算电路增加了预取指令的队列寄存器等8086的一个突出特点是多重处理能力用8086CPU与8087以及8089I/O处理器组成的多处理器系统,可大大提高其数据处理和输入/输出能力与8086配套的各种外围接口芯片非常丰富,方便用户开发各种系统。1.18086CPU主要特性微机接口技术主要特性:8086CPU采用高速运算性能的HMoS工艺制造,内含29000多个晶体管,封装在标准的40引脚双列直插式塑封管壳内,采用单个十5V电源供电。主要特性有:1)数据线:16位。2)地址线:20位,其中低16位与数据总线复用。3)内存空间:20位地址线可直接寻址1MB存储器空间。4)端口地址;16位端口地址线可寻址64K个I/O端口。8086CPU主要特性微机接口技术5)寻址方式:7种基本寻址方式提供了灵活的操作数存取方法。6)指令系统:99条基本指令系统数据传送算术运算逻辑运算控制转移和处理器控制功能外内部还设有硬件乘除法指令及串处理指令电路可以对位、字节、字节串、字串、压缩和非压缩BCD码等多种数据类型进行处理。微机接口技术7)时钟频率:8086标准主频为5MHz,8086—2主频为8Mz。8)中断功能:可处理内部软件和外部硬件中断,中断源多达2569)工作模式:支持单处理器、多处理器系统工作。10)兼容性:与8080、8085在源程序一级兼容。微机接口技术区别8088、8086基本类似16位CPU、AB宽度20位差别:指令预取队列:8088为4字节,8086为6字节数据总线引脚:8088有8根,8086有16根8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送。微机接口技术1.28086CPU内部结构8086CPU内部结构如图1.1所示。按功能可分为两大部分:总线接口单元BIU(BusInterfaceUnit)执行单元EU(ExecutionUnit)。1.2内部结构演示8088CPU内部结构微机接口技术图1.18086CPU内部结构示意图AHALBHBLCHCLDHDLSIDISPBPAXBXCXDX运算暂存器ALU标志寄存器执行单元(EU)16位内部总线EU控制电路123456指令队列缓冲器内部暂存器ESSSDSCSIP∑16位总线20位地址总线总线控制逻辑电路8位8086总线总线接口单元(BIU)通用寄存器组微机接口技术总线接口单元(BIU)功能:从内存中取指令送入指令预取队列负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。总线接口单元(BIU)演示图1.1微机接口技术BIU包括:指令队列缓冲器地址加法器地址寄存器IO控制电路演示图1.1微机接口技术执行单元(EU)功能:执行指令从指令队列中取指令代码译码在ALU中完成数据的运算运算结果的特征保存在标志寄存器FLAGS中。执行单元(EU)演示图1.1微机接口技术EU包括:算术逻辑单元(运算器、ALU)8个通用寄存器1个标志寄存器EU部分控制电路演示图1.1微机接口技术EU与BIU的关系指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而提高了CPU的效率;降低了对存储器存取速度的要求EU与BIU的关系演示图1.1微机接口技术一、总线接口单元(BIU)图1.1BIU是8086CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。16位双向数据总线、20位地址总线和若干条控制总线,其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。一、总线接口单元演示图1.1微机接口技术1、地址加法器和段寄存器。图1.1对内存空间实行分段管理:每段大小为16B~64KB用段地址和段内偏移实现对1MB空间的寻址设置地址段寄存器指示段的首地址8086CPU的20位地址线可直接寻址1MB存储器物理空间,但CPU内部寄存器均为16位的寄存器。那么,16位的寄存器如何实现20位地址寻址呢?它是由专门地址加法器将有关段寄存器内容(段的起始地址)左移4位后,与16位偏移地址相加,形成了20位的物理地址,以对存储单元寻址。图1.2就表现了这一物理地址的形成过程。1、地址加法器和段寄存器演示微机接口技术图1.2物理地址形成过程逻辑地址150偏移地址段寄存器0000加法器15020位物理地址190段地址图示图1.1微机接口技术存储器的分段管理8086CPU有20条地址线最大可寻址空间为220=1MB物理地址范围从00000H~FFFFFH8086CPU将1MB空间分成许多逻辑段(Segment)每个段最大限制为64KB段地址的低4位为0000B这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址微机接口技术物理地址和逻辑地址分隔符物理地址14700H逻辑地址1460H:100H8086CPU存储系统中,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH分段后在用户编程时,采用逻辑地址,形式为段基地址:段内偏移地址微机接口技术物理地址和逻辑地址的转换14600H+100H14700H13800H+F00H14700H段地址左移4位加上偏移地址得到物理地址将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址一个物理地址可以有多个逻辑地址逻辑地址1460:100、1380:F00物理地址14700H14700H微机接口技术2、16位指令指针IP(InstructionPointer)。图1.1IP:指令指针寄存器,其内容为下一条要执行的指令的偏移地,它只有和CS相结合,才能形成指向指令存放单元的物理地址。在程序运行中,IP的内容由BIU自动修改,使它总是指向下一条要取的指令在现行代码段中的偏移地址。程序没有直接访问IP的指令,但通过某些指令可以修改它的内容。例如,转移指令可将转移目标的偏移地址送入IP,来实现程序的转移。2、指令指针微机接口技术3、指令队列缓冲器。图1.1当EU正在执行指令,且不需占用总线时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入一个6字节的指令队列寄存器,该队列寄存器按“先进先出”的方式工作,并按顺序取到EU中执行。其操作遵循下列原则:1)每当指令队列缓冲器中存满一条指令后,EU就立即开始执行。2)每当BIU发现队列中空了两个字节时,就会自动地寻找空闲的总线周期进行预取指令操作,直到填满为止。3、指令队列缓冲器微机接口技术3)每当EU执行一条转移、调用或返回指令后,则要清除指令队列缓冲器,并要求BIU从新的地址开始取指令,新取的第一条指令将直接经指令队列缓冲器送到EU去执行,并在新地址基础上再作预取指令操作,实现程序段的转移。由于BIU和EU是各自独立工作的,在EU执行指令的同时,BIU可预取下面一条或几条指令。因此,在一般情况下,CPU执行完一条指令后,就可立即