1第2章微型计算机与微处理器2主要内容微型计算机的组成结构与工作过程微处理器的一般结构8086微处理器8086的内部寄存器存储器组织80X86系列微处理器3§2.1微型计算机系统的组成微处理器存储器I/O接口总线硬件系统软件系统微型计算机系统微型计算机(主机)外设ALU寄存器控制器键盘、鼠标显示器软驱、硬盘、光驱打印机、扫描仪系统软件应用软件4硬件系统主要部分:主机和外部设备主机:1.微处理器2.存储器3.总线4.输入输出接口5微机硬件系统组成框图CPU北桥南桥RAMCacheAGPCRTBIOSKBD,Mouse串行/并行接口HDD/CDROM(IDE)FDDUSBPCIISA前端总线/CPU总线接口卡外设总线扩展槽6主机板CPU插座芯片组内存插槽高速缓存(Cache)CMOS-存放硬件系统参数系统BIOSPOST,SysInit,Setup,系统服务总线扩展槽串/并行接口┇主板结构7Intel845GE8四、冯·诺依曼计算机结构以运算器为核心、以存储程序原理为基础运算器输出设备控制器输入设备存储器指令驱动指令流控制命令数据流9五、程序的执行过程程序指令1指令2指令3指令4指令n……取指令指令译码取操作数执行指令存结果指令周期操作码操作数执行10指令执行过程取指令指令译码取操作数执行指令存结果问题:1。CPU如何知道从哪里取出程序的第一条指令?——操作系统2。CPU如何按程序控制流执行指令?——程序计数器3。CPU如何知道从哪里取操作数?——地址、寻址方式11指令执行过程(取指/译码/执行)地址寄存器AR累加器A加法器数据寄存器DR指令寄存器IR指令译码器ID时序逻辑电路时序控制信号(控制命令)1011000000000101000001000000100011110100内部总线存储器01234程序计数器PC地址MOVA,5ADDA,8HLT地址总线+1③地址译码器读写控制电路④输出地址10110000⑦锁存指令锁存数据⑥置初值①②输出指令地址锁存地址②读写命令⑤⑧指令译码锁存输出12§2.2微处理器的一般结构微处理器MPU也中中央处理器CPU,其基本功能:能够进行算术运算和逻辑运算能对指令进行译码、寄存并执行指令所规定的操作具有与存储器和I/O接口进行数据通信的能力少量数据的暂存能够提供系统所需的定时和控制信号能够响应输入输出设备发出的中断请求13运算器算术逻辑运算,由加法器和(ALU)一些辅助逻辑电路组成指令流控制控制器时序控制,产生节拍定时信号指令译码和操作控制寄存器组存放临时数据、运算的中间结果、运算特征、操作数地址性能:8位→16位→32位(主流)→64位(趋势)主要部件142.2.1运算器核心功能:实现数据的算术运算和逻辑运算。ALU运算器的结构:单总线结构运算器双总线结构运算器三总线结构运算器152.2.2控制器具备的基本功能:1.指令流控制2.时序控制3.操作控制1)程序计数器PC2)指令寄存器IR3)指令译码器ID4)时序部件5)微操作控制部件16§2.38086微处理器主要内容:8086功能结构及其特点;8086的引脚定义及总线结构;8086的工作时序。172.3.1功能结构及特点1.结构特点1)指令流水线2)存储器分段管理3)支持用于浮点运算的数学协处理器及多微处理器系统2.功能结构执行单元EU总线接口单元BIU181)指令流水线指令流水线有两种运作方式:串行方式:取指令和执行指令在不同的时刻按顺序执行。并行方式:取指令和执行指令可同时执行,需要有能并行工作的硬件的支持。19串行工作方式8086以前的CPU采用串行工作方式取指令1执行1取指令2执行2CPUBUS忙碌忙碌取指令3执行3忙碌空闲空闲空闲t1t0t2t3t4t56个周期执行了3条指令20并行工作方式8086CPU采用并行工作方式取指令1取指令2取指令3取指令4执行1执行2执行3BUS忙碌执行4CPUt1t0t2t3t4t5取指令5执行5忙碌忙碌忙碌忙碌忙碌6个周期执行了5条指令21并行操作的前提取指令部件和指令执行部件要能够并行工作;各部件执行时间基本相同,否则需再细分;取指令部件取出的指令要能暂存在CPU内部某个地方;指令执行部件在需要时总能立即获得暂存的指令;需要解决转移指令问题。222)存储器分段管理地址总线20位8086内部寄存器和内部总线只有16位段地址只要取20位地址的高16位,最低4位为0.232.功能结构8086内部由两部分组成:执行单元(EU)总线接口单元(BIU)结构24执行单元EU功能:执行指令,具体操作如下从IPQ中取指令代码译码完成指定的操作结果保存到目的操作数运算特征保存在标志寄存器FLAGS(仅对影响标志的指令)25总线接口单元BIU功能:从内存中取指令到指令预取队列IPQ;负责与内存或I/O接口之间的数据传送;在执行转移指令时,BIU将清除IPQ,然后从转移的目的地址处开始取指令并重新填充IPQ。262.3.28086的引脚定义及总线结构1.8086的外部引脚及其功能2.8086的两种工作模式及其引脚定义3.两种工作模式下的系统总线结构27281.8086的外部引脚及其功能引脚定义的方法可大致分为:每个引脚只传送一种信息(如RD)电平的高低代表不同的含义(如M/IO)在不同模式下有不同的名称和定义(如WR/LOCK)分时复用引脚(如AD15~AD0)引脚的输入、输出分别传送不同的信息(如RQ/GT0)298288总线控制器逻辑框图控制逻辑命令信号产生器控制信号产生器状态译码器S0S1S2CLKAENCENIOBDT/RDENMCE/PDENALEMCE/PDEN:PIC主控级连/IO设备数据输出控制信号IOB=0时,PIC主控级连;否则,用于允许I/O总线收发器MRDC(MEMR)MWTC(MEMW)AMWCIORC(IOR)IOWC(IOW)AIOWCINTA(INTA)30两种工作模式下共用的引脚:地址总线、数据总线:AD15~AD0:三态地址/数据复用引脚。ALE=1时作为地址线A16~A0,ALE=0时作为数据线D16~D0。传送地址时为输出,传送数据时为双向。A19-A16/S6-S3:输出,三态地址/状态复用引脚。ALE=1时作为地址线A19~A16,ALE=0时作为控制信号。31控制总线MN/MX工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。RESET:输入复位信号,保持4个以上时钟周期的高电平时将引起CPU进入复位过程(IF清0,并从存储单元FFFF0H开始执行指令);BHE/S7:输出高8位数据总线允许。在读/写操作期间允许高8位数据总线D16~D8有效(即读/写数据的高8位)。32中断请求和响应信号INTR:输入可屏蔽中断请求输入端,CPU要检查IF状态NMI:输入非屏蔽中断请求输入端,CPU不检查IF状态INTA:输出中断响应信号,表示CPU已进入中断响应周期。此信号常用来选通中断向量号。33总线保持信号HOLD:输入总线保持请求。用来直接存储器存取(DMA)。当CPU以外的其他设备要求占用总线以便访问存储器时,通过此引脚向CPU发出请求。HOLD=1时,CPU停止执行指令,并将地址/数据总线和控制总线中的所有三态控制线置为高阻状态。HLDA:输出总线保持响应。CPU对HOLD信号的响应信号。指示CPU已进入保持状态。34其他信号TEST:输入测试信号。执行WAIT指令时将测试此引脚的状态。=0时,WAIT指令相当于空操作(NOP)。=1时,WAIT指令将重复测试直到它变为0。通常此引脚与8087算术协处理器相连。READY:输入准备就绪。用于与存储器或I/O接口的同步。=0时CPU进入等待状态(插入1个或多个等待周期)。35READY引脚的作用总线周期T2T1T3T4时钟周期总线周期T2T1T3TwaitT4标准总线周期增加了等待状态的总线周期若在T3周期上升沿检测到READY=0,将插入等待周期,插入的个数取决于READY何时变为1。采样362.8086的两种工作模式及其引脚定义1)最小模式下的引脚INTA、ALE、DEN、DT/R、IO/M、WR、HOLD、HLDA2)最大模式下的引脚QS1、QS0、S2、S1、S0、LOCK、RQ/CT1、RQ/GT0373.8086CPU的两种工作模式8086可工作于两种模式下,即:最小模式和最大模式。最小模式不支持8087。存储器和I/O控制信号全部由CPU产生。最大模式支持8087。CPU的部分信号线被用作8087的控制,因此需要由8288总线控制器来产生这些控制信号。注:80286以后的CPU不再区分这两种工作模式。38最小模式下的连接示意图8086CPU••控制总线数据总线地址总线地址锁存器数据总线缓冲器ALE时钟发生器8284A地址/数据82868282VccMN/MXDENDT/R39最大模式下的连接示意图8088CPU数据总线地址总线地址锁存器数据总线缓冲器时钟发生器总线控制器控制总线8284A8288ALECLKMN/MX82828286GND402.3.38086的工作时序工作时序分为很多小的时间片:时钟周期一个时钟脉冲所持续的时间。时钟周期越短,CPU执行速度越快。总线周期通过总线对存储器或I/O接口进行一次访问所需要的时间。一般包括4个时钟周期。在5MHz的工作频率时,一个标准总线周期为0.8μs。41总线周期中各时钟周期的操作T1周期CPU向存储器或I/O发送地址CPU向地址/数据分离器(地址锁存器)发送ALE信号T2周期给存储器或I/O发送写入的数据测试READY引脚状态,以决定是否插入等待周期发出RD或WR信号T3周期等待存储器或I/O存取数据完成使数据在CPU与存储器或I/O之间传输T4周期写入数据读/写总线周期的信号波形见下页图。42数据写入存储器时的总线操作——写总线周期总线周期T1T1T2T2T3T3T4T4总线周期有效地址有效地址地址写入存储器的数据地址写入存储器的数据CLK地址地址/数据WR①由ALE信号将地址锁存到地址锁存器②DEN=0并且DT/R=1时打开总线缓冲器,将其放到系统数据总线上③此信号与M/IO信号共同构成存储器写控制信号,将数据写入存储器43数据从存储器读出的总线操作——读总线周期总线周期T1T1T2T2T3T3T4T4总线周期有效地址,BHECLK地址地址/数据RD地址来自存储器的数据地址来自存储器的数据有效地址,BHE③DEN=0并且DT/R=0时打开总线缓冲器,将其放到CPU总线上,供CPU读入较完整的读总线周期②此信号与M/IO信号共同构成存储器读控制信号①由ALE信号将地址锁存到地址锁存器44§2.48086内部寄存器组8086寄存器组又称为8086的程序设计模型它是程序设计中惟一可见的CPU部件它是系统程序设计员的操作对象含14个16位寄存器,按功能可分为三类:通用寄存器,8个段寄存器,4个控制寄存器,2个458086寄存器概貌SPIPFLAGSAHALBHBLCHCLDHDLAXBXCXDXBPSIDICSDSESSS通用寄存器控制寄存器段寄存器16位16位462.4.1、通用寄存器数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)47数据寄存器用途:存放临时数据和存放运算操作数。(例)每个均为16位,但又可分为2个8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL例如:若(AX)=1234H,则(AH)=12H,(AL)=34H48数据寄存器特有的习惯用法AX:累加器所有I/O指令都通过AX(AL)与接口传送信息;中间运算结果也多放于AX(AL)中;乘除法指令的一个操作数必