资源描述
第3章80 x86微处理器主要内容:侬80 x86微处理器简介e 8086/8088微处理器a 8086/8088的存储器和I/O组织a从80286到Pentium系列的技术发展3.1 80 x86微处理器简介80 x86微处理器是美国Intel公司生产的系列微处理器。该公司 成立于1968年,1969年就设计了4位的4004芯片,1973年开发出8 位的8080芯片,1978年正式推出16位的8086微处理器芯片,由此 开始了Intel公司的80 x86系列微处理器的生产历史。本节简要介绍 Intel公司80 x86系列微处理器的发展过程及其特性。表3.1给出了 80 x86系列微处理器概况。下面通过对表中有关 技术数据的分析来说明Intel 80 x86系列微处理器的发展情况。表3.1 80 x86系列微处理器概况型号发布 年份字长/位集成度主频/MHz内数据 总线宽 度/位外数据 总线宽 度/位地址总 线宽度/位寻址 空间高速缓冲存储 器(Cache)80861978162.94.771616201MB无80881979准162.94.77168201MB无8028619821613.462016162416 MB无8038619853227.512.5333232324 GB有80486199032120160251003232324 GB8KBPentium(586)1993643103306016632641 324 GB8 KB数据8 KB指令Pentium II19976475023333332643664 GB32 KB,512 KB 二级高速缓存其主要发展特点是:1.主频从8086的4.77MHz到80586的 166MHz,PentiumIIV更高,可达3GHz。主频 是指芯片所使用的主时钟频率,它直接影响计 算机的运行速度。2.数据总线从8086的16位至I180586的64 位。数据总线是计算机中组成各部件间进行数 据传送时的公共通道。其位数(宽度)表示CPU 的字长,数据总线位数越多,数据交换的速度 越快。3.地址总线从8086的20根到80586的32根。地址总、线是在对存储器或I/。端口进行访问时,传送由CPU提供的要访问的存储单元或I/O端口的 地址信息总、线,其宽度决定了处理器能直接访问 的主存容量大小。如8086有20根地址线,使用这 20根地址线上不同地址信息的组合,可直接对 220二1M个存储单元进行访问;Pentium II有36根 地址线,因此它可直接寻址的最大地址范围为 236=64GO;,4.高速缓冲存储器Cache的使用,大大减 少了CPU读取指令和操作数所需的时间,使CPU 的执行速度显著提高。从80386以后增加了高 速缓冲存储器Cache。微机系统增加了高速缓冲存储器后,使系 统的存储器体系形成三级组织结构,即由高速 缓冲存储器Cache、主存和外存组成。如图3.1 所示。图3.1存储器的三级结构主存一一当前正在执行的程序或要使用的数据必须从外存调入主 存后才能被CPU读取并执行,主存容量通常为MB级;外存当前没有使用的程序可存入外存,外存的容量通常很 大,可达GB甚至TB级;Cache(高速缓冲存储器)最大特点是存取速度快,但容量 较小,通常为KB级,将当前使用频率较高的程序和数据通过一 定的替换机制从主存放入Cache,CPU在取指令或读取操作数 时,同时对Cache和主存进行访问,如果Cache命中,则终止对主 存的访问,直接从Cache中将指令或数据送CPU处理,由于Cache 的速度比主存快得多。Cache的使用大大提高了 CPU读取指令或数据的速度3.2 8086/8088微处理器Intel 8086是16位微处理器,有16条数据 总线,可以处理8位或16位数据;有20条地址 总线,可以直接寻址22。=1M个存储单元和64K 个I/O端口。Intel 8088是准16位处理器,其 指令系统与8086完全兼容,CPU内部结构仍为 16位,但外部数据总线是8位。这样设计的目 的主要是与原有的8位外围接口芯片兼容。指令的一般执行过程:取指令 指令译码(前2步合称为取指)读取操作数 执行指令 果(最后3步统称指令)串行工作方式:8088以前的CPU采用串行工作方式:CPUBUS1)CPU访问存储器(存取数据或指令)时要等待总线操作 的完成2)CPU执行指令时总线处于空闲状态缺点:CPU无法全速运行解决:总线空闲时预取指令,使CPU需要指令时能立刻 得至U取指令和执行指令示意图:8位CPU(如8080)CPU 取指1|执行1|取指2|执行2|取指3|执行3|取指行取指目执行5总线BUS忙 忙 忙 忙 忙16位CPU(8086/8088)执行1执行2执行3执行4执行5CPU 取箱”取后2|取值3|取指4|取指5总线BUS 忙忙忙忙忙并行工作方式:8088CPUMffl并行工作方式CPU(EU取指令2取操作数存结果取指令3取操作数取指令4忙碌忙碌忙碌忙碌忙碌忙碌8088的流水线操作8088 CPU包括两大部分:EU和BIUsBIU不断地从存储器取指令送入 EU不断地从取出指令执行rEU和Bill构成了一个简单的2工位流水线e指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令e例如,Pill为14个阶段,P4为20个阶段(超级流水线):指令预取队列IPQ的作用:使EU和BIU两个部分可 进行工作,从而带来了以下两个好处:网提高了 CPU的效率8降低了对存储器存取速度的要求一、8086的结构8086微处理器为了充分使用总线以提高程序 的执行速度被设计成为两个独立的功能部件:执 行部件和总线接口部件。1.总、线接口部件BIU(Bus Interface Unit)总线接口部件由段寄存器、指令指针、地址 形成逻辑、总线控制逻辑和指令队列等组成。BIU与外部总线连接为执行部件EU完成所有的总 线操作,并计算形成20位的内存物理地址。总线接口部件BIU(Bus Interface Unit)总线接口部件由段 寄存器、指令指针、地 址形成逻辑、总线控制 逻辑和指令队列等组 成。BIU与外部总线连接 为执行部件EU完成所有 的总线操作,并计算形 成20位的内存物理地 址。8086总线DB(16 位)总线接口单元(BIU)功能:负责完成CPU与存储器(内存或主存)或I/O 设备之间的数据传送。任务:取指令到指令队列缓冲器从内存或外设端口读取数据向内存或外设端口发送数据俗称完成“外勤”工作。EU 控制电路标志寄存器 znr-执行单元(EU)执行部件EU(Execution Unit)执行部件EU由 通用寄存器、标志 寄存器、运算器(ALU)和EU控制系 统等组成。负责全部指令 的执行。2)执行部件EU(Execution Unit)执行部件EU由通用寄存器、标志寄存器、运 算器(ALU)和EU控制系统等组成。功能:EU负责全部指令的执行。任务:向BIU提供数据和所需要访问的内存或I/0端口的地址,对通用寄存器、标志寄存器和指令操作 数进行管理。通用寄存器AB(20 位)地址 加法器,CSDSDB(16 位)内部寄存器SSESIP总线控制 电路8086总线EU 控制电路指令队列缓冲器DB(16 位)123456标志寄存器znr-执行单元(EU)总线接口单元(BIU)3.8088与8086的区别Intel 8088微处理器内部采用16位结构,实 质上与8088基本上是相同的,其内容的两个功 能部件中EU与8086一样,而BIU略有区别:8086的指令队列是6字节长,而8088的指 令队列为4字节长;8086是真正的16位机,与BIU相连的8086 总线中数据总线是16位总线,而8088是准16位 机,与BIU相连的8088总线中数据总线为8位总 线。二、8086/8088的引脚及系统配置8086微处理器是Intel公司的第三代微处理 器一16位微处理器,它采用40引脚的DIP(双列直 插)封装。时钟频率有3种:5MHz(8086)、8MHz(8086-1)ffilOMHz(8086-2)o1、基本概念L 1工作方式最小方式(系统):系统只有8086或8088一个微处理器。所 有控制信号直接由CPU提供,因此系统中的总线控制电路被 减到最小。一般CPU与小容量的存储器及少量的外设接口相连时,可连成最小方式。最大方式(系统):在中等规模的或大型8086/8088系统中 使用最大方式,可含有一个或多个微处理器(主处理器 8086/8088和协处理器8087、8089)组成中(大)规模系统,CPU并不直接向外界提供全部控制信号,而由S0S1S2通过 Intel 8288总线控制器提供。1.2总线周期总线操作:指CPU通过总线对外的各种操作。总线周期:执行一个总线操作所需要的时间。说明:,一个基本的总线周期通常包含4个T状态/4个时钟周期编号为Tl、T2、T3和T4/总线周期中的时钟周期也被称作“T状态”/时钟周期的时间长度就是时钟频率的倒数/要延长总线周期时需要插入等待状态Tw2、8086/8088的引脚信号(最小方式)MN/mT=5VGNDAD14AD13AD12ADlbAD10,AD9 AD8 AD7 AD6 AD5 AD4 AD3 的QQQOgyQgQCMggaQ-la在如 1234567891011121314151617181920AD15 一A16/S3A17/S4A18/S5A19/S6-BHE/S7-MN/MX-RD14DT/R*ADI.15DEN*ADO 16-ALE*NMI 17INTA*INTR18-TESTCLK19READYGND20RESET1、地址、数据信号:AD。AD15地址/数据复用引 脚(双向、三态)A-|g/S3 A-jg/Sg 地址/状态复 用引脚(输出、三态)2、控制信号BH日S7数据总线高8位允许/状态(输出,三态):.WR写信号(输出,低电平有 效,三态)RD读信号(输出、低电平有 效、三态)*M/IO存储器0控制信号(输 出、三态)TEST测试信号(输入、低电 平有效)READY准备就绪(输入、高 电平有效)GND ADI4V AD13,AD12 ADlb AD109 D A87654321DDDDDDDD AAAAAAAAADO NMI INTR CLK GND一wQQQOQyQgQCQ4QQQ2Q-l 1234567891011121314151617181920VCCA18/S5A19/S6 BHE/S7WRDT/R*DEN*ALE*INTATest READY-RESETALE地址锁存允许信号(输出)DT/R数据发送/接收控制信号 输出(输出、三态)DEN数据允许信号(输出、三 态、低电平有效)HOLD总线保持请求信号(输 入、高电平有效)HLDA总线保持响应信号(输 出、高电平有效)INTR可屏蔽中断请求信号(输入、高电平有效)INTA中断响应信号(输出低电 平有效)NMI非屏蔽中断请求(输入,上升沿触发)RESET 复位信号(输入,高电 平有效)MN/MX最小/最大模式控制输 入端GND-A14 A13 A12 All A10 A9 A8 AD7 AD6 AD5 AD4 AD3,AD2,ADI A16/S3 A17/S4 A18/S5 A19/S6SSO_ MN/MXRD-HOLD*HLDA*TO颂*DT 质*DEN*ALE*INTA*TEST-READY-RESETADo-AD7:数据/低8位 地址复用线ssb:状态信号IOA1存储器/地址选 择线3、8086/8088的引脚信号(最大方式)M标X=oGND AD14 AD13 AD12 AD1P ADIO AD9 AD8/AD7,AD6,AD5 AD4/AD3 AD2 AD1/ADO NMI INTR CLK GND4QQQgoQYggQC%QQQ2Q-lM1234567891011121314151617181920VCCA17/S4A18/S5.A19/S6 vBHE/S7MN/MX-RD _:,RQ/GT0*LOCK*vT?ro-*%QSO*QS1*-TESTREADY-RESETs2&s0总线周期状态信号(输出、三态)RQ/GT0 RQ/GT总线请求(输入)/总线请求允许信号(输 出)(双向、均为低电平有效)LOCK总线封锁信号(输出、三态、低电平有效)QS0 QS1指令队列状态信号(输 出)4、8086/8088的系统配置4.1最小系统配置系统中所有的控制信号由8086本身提供,它的基本配置为:除使用8086/8088作为微处理器外,还需配有时钟发生器8284A、三片地址锁存器(8282/8283)两片总线驱动器(8286/8287)才能构成系统总线。最小系统总线形成(Intel产品手册推荐电路)RES_ EM F/C 一PCLK8284ARDY1RDY2READY CLK+5VMN/MX8086CPURESETTESTHOLDHLDANMIINTRINTAM/IO WRRDDT/RDEN一 Ja STB8282TADjgAD qALEBHEA19 16地址总线A19Ao数据总线D15Do控制总线4-BHEAJ系统总线4.2最大系统配置除最小系统配置外,需外加总线控制器8288对 CPU发出的控制信号进行变换和组合,以获得对存 储器、I/O端口的读写信号和对锁存器8282、总线 驱动器8286的控制信号,另外在多处理器中还需加 入总线仲裁器8289解决主处理器和协处理器之间协 调工作和对总线的共享控制等问题。RES_ EM F/C 一PCLK8284ARDY1RDY2READY CLKRESETMN/MXS2SISOCLKINTAMRDCA8086_288H-AEN JobMWTC控制+5VIOWC总线CPUTESTNMIINTRCEN-DEIi DT/R n-ALEIORCMCE/PDENADjgAD qOE1BHEA19 1682828286系统总线地址总线A19Ao-BHE数据总线D15DoJ4.3最小系统配置与最大系统配置的比较1)不同之处 最小方式下系统疫筋窗号直接由8086CPU提 供;最大方式下因系统复杂,芯片数量较多,为提 高驱动能力和改善总线控制能力,系统的控制信号 由总线控制器8288提供。最小方式下8086的31、30脚提供一组有线律求/响应信号(HOLD、HLDA),而最大方式下8086 的31、30脚将提供两组总线请求/响应信号(rq7gto q7gti)o2)相同之处:8086的低位地址线与数据线复用,为保证地 址信号维持足够的时间,需使用ALE信号将低位 地龙线锁存(通过锁存器8282),以形成真正的 系统地址总线;8086的数据线通过数搦攵发器8286后形成系统数据总线,以增大驱动能力,数据收发器主要由DEN和DT反两个信号控制oGND140%(+5V)GND140%(+5V)ad14239一AD15a14239一A15AD13 338A16/S3A13338A/、ad12437A12437A/S4ADn5362s5A11536AD1。635任A1。635gAad9734BH鸣A734SSq/(HIGIad8833MN/MXA*833MN/MXad7-9808632RD_ad7-9808832RD_ad61031HOLURQ/GR)ad61031HQLURO/G)ad5-11CPU30HLDARQ/GT)ad5-11CPU30HLDARQ/GT;)AD41229WR(LOCIQAD41229WR(LQCI9ad3-1328M/IO(S2)ad3-1328IO/M(S2)ad21427-DT/R(S)ad2-1427DT/RfSQAD-AD015162625AD-AD015162625DENS。)ALE(QS)NMI-1724-INTAQSt)NMI-1724INT 二 Q)INTR-1823TESTINTR-1823TESTCLK-1922-READYCLK-1922-READYGND-2021-RESETGND2021-RESET地址总线和数据总、线(20条)AD15ADo为地址/数据总线,A19A16/SeS3 为地址/状态总线。其中:数据总线用来在CPU与内存储器(或I/。设 备)之间交换信息,为双向、三态信号;地址总线由CPU发出,用来确定CPU要访问 的内存单元(或I/O端口)的地址信号,为输 出、三态信号。控制总线(16条)控制总线是传送控制信号的一组信号线,有 些是输出线,用来传输CPU送到其他部件的控制 命令(如读、写命令,中断响应等);有的是输 入线,由外部向CPU输入控制及请求信号(复 位、中断请求等)。其他信号(4条)CLK:时钟信号(输入)。该信号为8086 CPU提供基本的定时脉冲,其占空比为1:3(高 电平持续时间:重复周期=1:3),以提供最佳 的内部定时。Vcc:电源(输入),要求接上正电压(+5V10%)oGND:地线、两条接地线。2.8088的引脚与8086的区别8088的地址/数据复用线为8条,即 AD7ADo,而A15A8为单一的地址线。(2)8088中无BHE/ST信号,该引脚为SS0 状态信号线。8088的存储器/输入输出控制线为10/瓦 即该信号为高电平时是I/O端口迈问,为低电平 时是存储器访问,这与8086的M/TU线正好相反。3.3 8086/8088的寄存器、存储器和I/O组织一、8086/8088寄存器结构在8086/8088微处理器中可供程序员使用的 有14个16位寄存器,这14个寄存器按其用途可 分为通用寄存器、指令指针、标志寄存器和段 寄存器等4类。15 8 7 0AHALAX累加器、BHBLBX基址寄存器数据寄存器、CHCLCX计数寄存器DHDLDX数据寄存器J通用寄存器150SP堆栈指针寄存器),指针寄存器BP基址寄存器 jSI源变址寄存器),变址寄存器DI目的变址寄存器150CS代码段寄存器一DS数据段寄存器一段寄存器SS堆栈段寄存器.ES附加数据段寄存器J150IP指令指针寄存器)控制寄存器FLAGS状态标志寄存器L通用寄存器有8个通用寄存器,可分为两组。(1)数据寄存器。累加器 AX(16)-AH.基址寄存器BX(16位)BH、计数寄存器CX(16位)f CH、数据寄存器DX(16位)一DH、ALBLCLDL(高、低各8位)(高、低各8位)(高、低各8位)(高、低各8位)数据寄存器的特点是,这4个16位寄存器可分为高8 位(AH、BH、CH和DH)与低8位(AL、BL、CL和DL),这两 组8位寄存器可分别寻址、独立操作。(2)指针寄存器和变址寄存器。另外4个通 用寄存器是:堆栈指针SP(16位)基址指针BP(16位)源变址寄存器SI(16位)目的变址寄存器DI(16位)这4个16位寄存器只能按16位进行存取操 作,主要用来形成操作数的地址,用于堆栈操 作和变址运算中计算操作数的有效地址。2.控制寄存器(1)指令指针IP(16位)指令指针IP是一个16位专用寄存器,它指 向当前需要取出的指令字节,当BIU从内存中取 出一个指令字节后,IP就自动加1,指向下一个 指令字节。(2)标志寄存器FLAG(16位)8086/8088有一个16位的标志寄存器 FLAGS,在FLAGS中有意义的有9位,其中6位是 状态位|CF、PF、AF、ZF、SF、0F,3位是控制 位:TF、IF、DFO _标志寄存器(Rags)15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00D11TSZAPC状态标志:表示处理器当前运行的状态。CF进位标志,运算结果有进(借)位,CF=1AF辅助进位标志,低4位向前有进(借)位,AF=1ZF零标志,结果为0,ZF=1SF符号标志,最高位的值0F溢出标志,双高位判别法确定PF奇/偶标志,运算结果低8位中1的个数为偶数个,PF=1控制标志:控制处理器的某一特定功能。_;IF-可屏蔽中断允许标志,IF二1表示允许DF方向标志,DF=O地址增量变化;DF=1地址减量变化TF陷阱标志(单步执行标志)标志寄存器举例15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00DITszAPC0101 0100 0011 1001+0100 0101 0110 10101001 1001 1010 0011最高位向前没有进位,低8位中偶数为4个,低4位向前有进位,运算结果不为0,最局位二,次高位向前有进位,CF=0PF=1AF=1ZF=0SF=10F=CsCp=l($=()Cp=l)3,段寄存器(Segment Register)8086系统中把可直接寻址的1MB内存空间分 为称作“段”的逻辑区域,每个段的物理长度为 64KB,而段的起始地址由称为“段寄存器”的4个 16位寄存器决定,这4个段寄存器为:(1)代码段寄存器CS(16位)(2)堆栈段寄存器SS(16位)(3)数据段寄存器DS(16位)(4)附加段寄存器ES(16位)二、8086/8088存储器组织1.存储器组织8086/8088微处理器有20条地址线,可以配置 1MB的内存储器。存储空间都按8位(即字节)进行 组织,每个存储单元存储一个字节数据,若存放“字”数据(16位),则存放在相邻两个存储单元中,高字节存放在高地址单元,低字节存放在低地 址单元。每个存储单元都有一个20位的地址,这 1 M个存储单元对应的地址为00000HFFFFFH,如 图3.10所示。一个存储单元中存放的 信息称为该存储单元的内 容。如00001H单元的内容为 9FH,记为:(00001H)=9FHO如从地址0011FH开始的 两个连续单元中存放一个字 型数据,则该数据为 DF46H,记为:(0011FH)=DF46HO图 3.108086的1M存储空间实际上分为两个512KB的 存储体,又称存储库,分别叫高位库和低位A.AA。BHED15 D 8D7D o图3.13 8086存储器高低位库的连接地址总线可同时对高、低位库的存储 单元寻址,Ao和所用于对库的选择。当Ao=0时,选择偶数地址的低位库;当睡=0时,选择奇数地址的高位库;当两者均为。时,则同时选中高低位库。需注意的是,对于规则字(从偶数地址开 始存放的字)的读/写操作只需一个总线周 期,而非规则字(从奇数地址开始存放的字).的读/写操作需两个总线周期。偶地址8086奇地址CPU偶地址 奇地址8086CPU(d)遛里殳 被读字节X X(b)一忽畤主型 被读字节X X被读字节X X忽略字节偶地址 奇地址 偶地址 奇地址偶地址 奇地址(c)图3.14从8086存储器的偶数和奇数地址读字节和字(a)读偶地址单元中的字节;(b)读奇地址单元中的字节;(c)读偶地址单元中的字;(d)读奇地址单元中的字2.存储器分段8086/8088CPU中有关可用来存放地址的寄 存器如IP、SP、SI、DI、BP等都是16位的,故只 能直接寻址64KB。为了对1M个存储单元进行管 理,8086/8088采用了段结构的存储器管理方 法。8086/8088将整个存储器分为许多逻辑段,但只有4种类型:代码段、数据段、堆栈段和附 加段。每个逻辑段的容量小于或等于64KB,允许 它们在整个存储空间中浮动。各个逻辑段之间可 以紧密相连,也可以互相重叠(局部重叠和完全 重叠),还可以相互隔开。M40000H3.逻辑地址和物理地址(1)逻辑地址:由段地址(逻辑段起始地址 的高16位)和偏移地址(16位)表示的存储单 元的地址称为逻辑地址,记为:段地址:偏移地址 物理地址:由CPU内部总线接口单元BIU 中的地址加法器根据逻辑地址产生的20位存储 单元地址称为物理地址。如图3.7所示。物理地址和逻辑地 址的关系为:物理地址=段地址 x 10H+偏移地址在程序设计中,段地 址是由段寄存器(如 CS、DS、SS或ES)提 供,偏移地址通常是由 地址寄存器(如IP、BX、BP、SP、SI或DI 等)及立即数等提 供。150图3.7 物理地址的形成对于任何一个 物理地址来说,可 以唯一被包含在一 个逻辑段中,也可 以包含在多个重叠 的逻辑段中,只要 能得到它所在段的 首地址和段内的相 对地址,就可以对 它进行访问。即一 个物理地址可以对 应多个逻辑地址。段地址:偏移地址物理地址1123H 0000H11230H0001H11231H0002H11232H1123HX10H+1I I1124HX1OH+O5H=W|SE!I000EH1123EH戌地址:OOOFH 1123FH1124H 0010H11240H0011H11241HS 0012H11242H(D 0013H11243H0014H11244H-0015H11245HFFFEH1122EHFFFFH1122FH4.堆栈操作8086/8088系统中的堆栈使用段定义语句 在存储器中定义的一个堆栈段,和其它逻辑 段一样,它可以在字节的存储空间中浮 动,其容量可达64KB,这是一个具有“先进后 出”特性的存储区域,且属于向下生长的堆 栈。堆栈由SS和SP来寻址。SS给出堆栈段的 段地址,而SP给出当前栈顶(偏移地址),即指出从段地址到栈顶的偏移量。若已知当前SS=1050H,SP=0008H,AX=1234H,则8086系统中堆栈的入栈和出栈操作如下图所小。段地址(SS)栈顶(SP)a 10500H 10501H 10502H 10503H 10504H 10505H 10506H 10507Ha 10508H 10509H1050AHAX栈底PUSH AX1234POP BX34 77 CD ABBXPOP AX三、8086/8088 I/O组织AI/O端口地址:80X86系统和外部设备之间进行数 据传输时,各类信息在接口中将进入不同的寄存 器,一般称这些寄存器为I/O端口;每个端口分配 一个地址号,称为端口地址,CPU通过指令对它们 进行访问;I/O端口分:数据端口、状态端口和命 令端口。A接口电路占用的I/O端口有两类编址形式I/O端口独立编址I/O地址空间独立于存储地址空间如8086/8088I/O端口与存储器统一编址它们共享一个地址空间如 M6800I/O端口独立编址FFFFFH优点:I/O端口的地址空间独立 控制和地址译码电路相对FFFFht 简单 专门的I/O指令使程序清晰0.易读内存 空间I/O空间缺点:I/O指令没有存储器指令丰 曷80X86CPU最大可用地址 总线的低16位作为对8位 I/O端口的寻址线,所以 可访问的8位I/O端口有 64K个,16位I/O端口 32K 个。I/O端口与存储器统一编址优点:FFFFFH 不需要专门的I/O指令 I/O数据存取与存储器数 据存取一样灵活 缺点:存储器空间 I/O端口要占去部分存储 器地址空间程序不易阅读(不易分清访存和访问外设)0。血内存 部分I/O 部分四、8086微处理器的总线时序1.总线时序指令周期每条指令的执行由取指令、译码和执行 等操作组成,执行一条指令所需要的时间 称为指令周期(Instruction Cycle),不同 指令的指令周期是不等长的,一个指令周 期由一个或若干个总线周期组成。总线周期8086CPU与外部交换信息总是通过总线进行的。CPU的每一个这种信息输入、输出过程所需要 的时间称为总线周期(BusCycle),一般一个总线 周期由四个时钟周期组成。(3)时钟周期时钟脉冲的重复周期称为时钟周期(Clock Cycle)o时钟周期是CPU的时间基准,由计算 机的主频决定。如8086的主频为5MHz,1个时钟 周期就是200ns。2.几种基本时序总线周期总线周期空闲状态*T2t3t2t4TTTCLKREADY(c)总线读操作时序当8086 CPU进行存储器或I/O端口读操作 时,总线进入读周期。基本的读周期由4个时 钟周期组成:T1 丁2、丁3和丁4。CPU在丁3到丁4之间 从总线上接收数据。当所选中的存储器和外设 的存取速度较慢时,则在丁3和丁4之间将插入1个 或几个等待周期Tw。图3.3是8086最小方式下的 总线读操作时序图。下面对图中表示的读操作 时序进行说明。CLK/_、一Ti T2/_/、T3 卜/、Tw/、T41_/_M/IO X高为读内存低为读I/O_x_(2)Y地址i!za19/s6-a16/s3 _A状态瀚才出_/,bhe/s7BHEj_x卅IN辎dj _/嗷据输入AD1ADn出/_L/1 j uALE _/RDJ.DT/R _/DEN y图3.3 8086读周期的时序总线写操作时序总线写操作就是指CPU向存储器或I/。端口 写入数据。图3.4是8086在最小模式下的总线写 操作时序图。总线写操作时序与总线读操作时序基本相 同,但也存在以下不同之处:CLKM/IO人19吗AMS3/bhe/s7AD15ADALEWRDT/RDEN露为读内存 低为桎记地址)C _I,BHE输出/地址输逾状态输出数据输出图3.4 8086写周期的时序./(a)对存储器或I/O端口操作的选通信号 不同。总线读操作中,选通信号是RD,而总线 写操作中是忸。(b)在丁4状态中,ADkADo上地址信号消失 后,ADkADo的状态不同。总线读操作中,此时 ADi5 AD。进入高阻状态,并在随后的状态中保持 为输入方向;而在总线写操作中,此时CPU立即 通过AD15ADo输出数据,并一直保持到丁4状态 中。(3)中断响应操作时序当8086CPU的INTR引脚上有一有效电平(高电 平),且标志寄存器讦二1,见I8086CPU在执行完 当前的指令后响应中断,在响应中断时CPU执行 两个中断响应周期。图3.5是8086在最小模式下 的中断响应操作时序图。CLKALEINTAAD7 AD0空闲状态T在8086系统中 一般为三个,而在8088系 统中则没有。图3.5中断响应周期的时序CPU的中断响应周期包括两个总线周 期,在每个总线周期中都从INTA端输出一 个负脉冲,其宽度是从丁2状态开始持续到丁4 状态的开始。第一个总线周期的INTA负脉 冲,用来通知中断源,CPU准备响应中断,中断源应准备好中断类型码,在第二个总 线周期的INTA负脉冲期间,外设接口(一般 经中断控制器)应立即把中断源的中断类型 码送到数据线的低8位AD?AD。上。
展开阅读全文