接口与通信技术 第二章.ppt_第1页
接口与通信技术 第二章.ppt_第2页
接口与通信技术 第二章.ppt_第3页
接口与通信技术 第二章.ppt_第4页
接口与通信技术 第二章.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章微处理器的外部特性与总线形成 这一章将从用微处理器组成微型计算机的角度 介绍Intel8088微处理器的外部特性 以及微型计算机的系统总线形成 主要内容包括 Intel8088的两种组态模式 每种组态下的引脚定义 总线形成等 第一节Intel8088微处理器的外部特性 微处理器是微型计算机的核心部件 其外部特性表现在它的引脚信号上 并通过引脚的连接在微型计算机中发挥作用一Intel8088的两种组态模式 BMPC XT采用的CPU为Intel8088 图2 1给出了Intel8088的引脚图 第一章图1 4给出了Intel8086的引脚图 比较两图可以看出 两者引脚图基本相同 事实上 Intel8088同Intel8086很相近 都是16位微处理器 内部运算器和寄存器都是16位 同样具有20位地址线 可以寻址1MB的内存空间和64K个I O端口 其指令系统完全兼容 两者不同的是 8088的外部数据总线为8位 而8086为16位 因而8086是真正的16位微处理器 而8088被称为 准16位 微处理器 IBM选择8088为IBMPC XT的CPU的原因是当时外部设备的数据宽度均为8位 并考虑到价格因素 BMPC XT采用的CPU为Intel8088 图2 1给出了Intel8088的引脚图 第一章图1 4给出了Intel8086的引脚图 比较两图可以看出 两者引脚图基本相同 事实上 Intel8088同Intel8086很相近 都是16位微处理器 内部运算器和寄存器都是16位 同样具有20位地址线 可以寻址1MB的内存空间和64K个I O端口 其指令系统完全兼容 两者不同的是 8088的外部数据总线为8位 而8086为16位 因而8086是真正的16位微处理器 而8088被称为 准16位 微处理器 IBM选择8088为IBMPC XT的CPU的原因是当时外部设备的数据宽度均为8位 并考虑到价格因素 局资源的竞争 每个CPU都需要有总线总裁器8289来管理它们对系统总线和系统资源的使用 IBMPC XT是一个单CPU微型机 只使用一片8088CPU 它工作在最大组态模式 系统总线由8088和8288共同形成和管理 此外 系统中安排了数值运算协处理器8087的插座 供用户选用 但没有使用输入 输出协处理器8089和总线总裁器8289 图2 1示出了8088在两种组态下的引脚定义 注意某些引脚在两种组态下有不同的功能 图中 未加括号的为不区分最大组态或最小组态的引脚定义 加括号的为最大组态下的引脚定义 在构成应用系统时 最大组态和最小组态模式有不同的总线形成办法 二最小组态下的引脚定义在最小组态模式下 8088提供了系统所需要的全部控制信号 其引脚功能虽比较简单 但反映了系统工作的基本原理 1 数据和地址引脚8088的所有引脚信号中 数量最多的是数据和地址信号 为减少引脚数 8088采用了引脚信号分时复用的方法 所谓分时复用 就是同一引脚在不同的时刻具有不同的功能 最常用的复用是地址和数据的复用 AD7 AD0 Address Data 地址 数据分时复用引脚 双向 三态 在访问存储器或外设的总线操作周期中 这些引脚在第一个时钟周期输出存储器或I O端口的低8位地址A7 A0 其它时间用于传送8位数据D7 D0 A15 A8 Address 8位地址引脚 输出 三态 这些引脚在访问存储器或外设时 提供全部20位地址中的8位地址A15 A8 A19 S6 A16 S3 Address Status 地址 状态分时复用引脚 输出 三态 这些引脚在访问存储器的第一个时钟周期输出高4位地址A19 A16 在访问外设的第一个时钟周期输出低电平 无效 其它时间输出状态信号S6 S3 其中 S6恒为低电平 S5反映中断允许标志IF的状态 S4和S3的编码反映CPU当前对段寄存器的使用情况 如表2 1所示 表中不使用段寄存器的操作指I O访问和中断响应等 表2 1S4和S3编码的意义S4S3意义00当前正使用DS段寄存器01当前正使用SS段寄存器10当前正使用CS或未使用段寄存器11当前正使用ES段寄存器 注意 在软件编程时 我们用逻辑地址 两个16位数 来对存储器单元进行寻址 但是实际上 8088访问存储器时 是用20位物理地址 即引脚A19 A0来寻址存储器单元 从逻辑地址到物理地址的转换 是由8088在其内部自动完成的 而8088在寻址I O时只使用20位地址中的低16位 即A15 A0 或低8位 即A7 A0 对I O编程时 我们只需使用低16位或低8位地址即可 亦即8088访问I O时 不像访问存储器时需要进行逻辑地址到物理地址的转换 2 读写控制引脚这是一组读写控制引脚信号 是微处理器的控制总线 ALE AddressLatchEnable 地址锁存允许引脚 输出 三态 高电平有效 有效时 表示复用引脚 AD7 AD0和A19 S6 A16 S3 上正在传送地址信号 由于地址在复用引脚上出现的时间很短暂 所以 系统需要利用ALE信号将地址锁存到地址锁存器中以备使用 IO M InputandOutput Memory 8088访问I O或者存储器指示引脚 输出 三态 该引脚为高电平时 表示CPU将访问I O端口 此时地址总线A15 A0提供16位的I O端口地址 为低电平时 表示CPU将访问存储器 此时地址总线A19 A0提供20位的存储器物理地址 WR Write 写控制信号引脚 输出 三态 低电平有效 有效时 表示CPU正在将数据写到存储器单元或I O端口中 RD Read 读控制信号引脚 输出 三态 低电平有效 有效时 表示CPU正在从存储器单元或I O端口中读取数据 IO M WR和RD这三个信号构成了微型机的基本控制信号 组合后可形成四种基本的总线控制 即存储器写MEMW 存储器读MEMR I O写IOW和I O读IOR READY 存储器或I O端口就绪信号引脚 输入 高电平有效 存储器或I O端口可利用该信号无效 低电平时 来请求CPU延长时序 在总线操作周期中 8088CPU会在第3个时钟周期的前沿测试该引脚 如果测到有效 高电平时 表示被访问的存储器或I O端口已就绪 CPU将在第4个时钟周期后结束数据存取总线操作 如果测到无效 低电平时 表示被访问的存储器或I O端口跟不上CPU的操作速度 此时CPU将插入等待周期TW CPU会在等待周期中继续监测READY信号 有效时则进入第4个时钟周期 否则继续插入等待周期TW DEN DataEnable 数据允许信号引脚 输出 三态 低电平有效 有效时 表示复用的数据总线上正在传送数据 可利用该信号来控制数据收发器 以便对数据总线进行适时的驱动 DT R DataTransmit Receive 数据发送或接收信号引脚 输出 三态 该信号指示数据总线上数据的流向 高电平时数据自CPU输出到总线 发送 低电平时数据从总线输入到CPU 接收 可利用该信号来控制数据收发器对数据的驱动方向 SS0 SystemStatus 最小组态模式下的 系统状态0输出信号引脚 SS0 IO M和DT R一道 通过编码可以指示CPU在最小组态模式下的8种工作状态 如表2 2所示 其中 暂停状态在执行HLT指令后出现 过度状态在总线操作即将结束时出现 它意味着下个总线操作即将开始 表2 2最小组态模式下的状态编码 3 中断请求和响应引脚 INTR InterruptRequest 可屏蔽中断请求信号引脚 输入 高电平有效 有效时 表示中断请求源向CPU申请屏蔽中断 该请求的优先级别较低 通过关中断指令CLI可清除CPU内的标志寄存器的中断允许标志IF 充而对该中断请求进行屏蔽 可屏蔽中断请求用于常规的中断服务 例如 当某个外设需要传送数据时 可通过该引脚向CPU申请可屏蔽中断 INTA InterruptAcknowledge 可屏蔽中断响应信号引脚 输出 低电平有效 有效时 表示来自INTR引脚的中断请求已被CPU响应 CPU将进入中断响应周期 已被响应 并令外设将其中断向量号送到中断响应周期由连续两个总线周期构成 每个总线周期都会从INTA引脚输出一个负脉冲 以此通知外设其中断请求数据总线 此后 CPU接收中断向量号 据此得知哪个设备有中断请求 并转入相应的中断服务程序入口 为它提供相应的服务 NMI Non MaskInterrupt 不可屏蔽中断请求信号引脚 输入 上升沿有效 有效时 表示外界向CPU申请不可屏蔽中断 该中断请求的优先级别高于INTR 且不能在CPU内被屏蔽 即CPU内的中断允许标志IF对其不起作用 当系统发生紧急情况时 可通过它向CPU申请不可屏蔽中断服务 4 总线请求和响应引脚 HOLD 占用总线请求信号引脚 输入 高电平有效 有效时 表示其它总线主控设备向CPU申请占用总线 该信号从有效回到无效时 表示总线主控设备对总线的使用已经结束 通知CPU收回对总线的控制权 在系统中 浮点运算协处理器和DMA控制器等总线主控设备都可以通过该引脚向CPU申请总线的使用权 HLDA HOLDAcknowledge 占用总线响应信号引脚 输出 高电平有效 有效时 表示CPU已响应占用总线请求 并将总线释放给申请占用总线的主控设备 此时CPU的地址线 数据线及具有三态输出能力的控制线将呈现高阻 使总线请求设备可以顺利接管和使用总线 使用完毕后 请求信号HOLD将转为无效 响应信号HLDA也随之转为无效 CPU将重新掌管总线 5 其它引脚 RESET 复位请求信号引脚 输入 高电平有效 有效时 将使CPU回到初始化状态 当它从有效转为无效时 CPU重新开始工作 为保证可靠复位 在上电复位 冷启动 时 要求其有效时间应维持50 s以上 在按钮复位 热启动 时 要求其有效时间应维持4个时钟周期以上 CPU复位时 其内部寄存器和外部引脚的状态如表2 3所示 表中同时给出了两种组态下引脚的复位状态 复位后 寄存器CS FFFFH IP 0000H 所以复位后CPU一开始执行的程序入口在物理地址FFFF0H处 在引脚方面 复位后总的情况是输出高阻或者无效 CLK Clock 时钟输入信号引脚 系统通过该引脚给CPU提供内部定时信号 8088的工作时钟最高可选5MHz 在IBMPC XT机中 它采用了4 77MHz的时钟 其周期约为210ns Vcc 电源 向CPU提供 5V电源 GND 地 向CPU提供参考地电平 MN MX Minimum Maximum 组态选择信号引脚 输入 当它接高电平时 8088将工作在最小组态模式 反之 8088将工作在最大组态模式 TEST 测试信号引脚 输入 低电平有效 该引脚信号配合WAIT指令来使用 当CPU执行WAIT指令时 它将在每个时钟周期对该引脚进行测试 如果无效 高电平时 则程序原地踏步并继续测试 如果有效 低电平时 则程序恢复运行 也就是说 WAIT指令使CPU产生等待 直到TEST引脚有效为止 在使用协处理器8087时 通过TEST引脚和WAIT指令 可使8088和8087的操作保持同步 表2 38088寄存器和引脚的复位状态 三最大组态下的引脚定义在最大组态模式下 8088CPU的数据 地址等引脚信号与最小组态模式下相同 不同的是一些控制信号 8088将状态信号S2 S0输出 由总线控制器8288译码并产生一系列控制信号 表2 4信号S2 S0的编码意义 S2 S1 S0 Status 三个状态信号引脚 三者编码输出 三态 通过它们的编码来指示CPU在最大组态模式下的8种工作状态 如表2 4所示 读者可将它与表2 2进行对比 实际上 8088无论是在最大组态模式下还是最小组态模式下 都具有8种相同的工作状态 LOCK 总线封锁信号引脚 输出 低电平有效 该引脚信号一般与指令前缀LOCK配合使用 当CPU执行一条加有LOCK前缀的指令时 该引脚将输出有效低电平 可以用它来封锁其它总线请求设备 即此刻不允许它们向CPU提出总线请求 直到CPU将该指令执行完为止 此外 在中断响应周期中 它也会一度有效 目的也是利用该信号来临时封锁其它设备对总线的请求 以确保CPU能从数据总线上正确读取中断向量号 QS1 QS0 QueueStatus 指令队列状态信号引脚 两者编码输出 该编码反映了指令队列的操作状态 如表2 5所示 通过该编码 协处理器8087可以了解8088的队列操作情况 从而使自己的指令队列与CPU保持同步 RQ GT0 RQ GT1 Request Grant 总线请求 同意信号引脚 共有两个并相互独立 双向 负脉冲有效 其中 RQ GT0的优先级别高于RQ GT1 如果总线请求设备需要请求总线 可通过该引脚向CPU发送宽度为1个时钟周期的负脉冲信号 CPU收到后 向对方回送同样宽度的负脉冲 表示同意并将总线释放 此时总线请求设备可接管并使用总线 一旦总线使用完毕 总线请求设备仍通过该引脚向CPU发同样宽度的负脉冲 CPU收到后于下一个时钟周期重新收回总线控制权 HIGH 该引脚信号在8088中无用 始终输出高电平 但在8086中它对应有效的引脚信号BHE 表2 4信号S2 S0的编码意义S2S1S0CPU的工作状态 中断响应 I O读 I O写 暂停 取指令 存储器读 存储器写 过渡状态 表2 5QS1 QS0的编码意义QS1QS0指令队列的操作状态 无操作 取指令首字节到队列 队列空 取指令其余字节到队列 第二节微型计算机的总线形成 在微型计算机中 是通过总线将CPU与存储器 I O接口 设备 等部件连接在一起 组成微型计算机的 本节以典型的微型计算机IBMPC XT为例 介绍微型计算机的总线形成 IBMPC XT选用Intel8088微处理器为CPU Intel8088微处理器有两种组态模式 下面分别详细介绍8088在两种组态模式下的总线形成 一Intel8088微处理器在最小组态下的总线形成 在最小组态模式下 可以按图2 2所示形成系统总线 该方案由Intel公司推荐 1 20位地址总线 采用3个三态透明锁存器8282进行锁存和驱动由于部分地址由分时复用引脚提供 在这些引脚上 地址信息只在总线操作的第一个时钟周期出现 因此必须使用地址锁存器加以锁存 并同时对它进行驱动 以增加它们的负载能力 允许地址信息输出 无效 高电平 时 不允许地址信息输出 即输出引脚呈现高阻 这里所说的 透明 是指当锁存控制端STB有效 高电平 时 锁存器8282的内部输出B能随输入A而变化 当STB从有效转为无效 低电平 时 即STB的下降沿 地址信息被锁存 且内部输出B不再随输入A而变化 图2 2采用Intel公司的三态透明锁存器8282来对地址进行锁存和驱动 8282的引脚和内部结构如图2 3所示 它有8位输入 8位输出和2个控制端 即选通控制端STB Strobe 和输出允许控制端OE OutputEnable 前者对地址信息锁存进行控制 后者对地址信息输出进行控制 注意 这里所说的 三态 是指芯片具有三态输出能力 也就是说 当输出控制信号OE有效 低电平 时 在图2 2中 8282因OE接地而常有效 表示该锁存器始终允许地址输出 不再使用三态控制能力 8282的STB连接8088的ALE 这样 当ALE有效时 从8088CPU输出的地址将直通8282的输出端 当ALE无效时 地址将被锁存并始终保持在系统的地址总线上 除8282外 Intel公司的8283和74LS373也属三态透明锁存器 8283的情况与8282相似 只是数据输出反向 74LS373用G Gate 来标识其锁存控制端 与透明锁存器相对的是非透明锁存器 它利用边沿信号 上升沿 下降沿 来进行锁存控制 无论控制端为高电平还是低电平 其输出均不随输入变化 不透明 如74LS374是非透明的三态锁存器 上升沿有效 74LS273是上升沿有效的非透明锁存器 无三态能力 2 8位数据总线 采用数据收发器Intel8286来进行双向驱动Intel8286的引脚和内部结构如图2 4所示 它可以朝两个方向驱动8位数据 发送时从A到B 接收时从B到A 所以也称为双向驱动器 除A B两侧各有8位数据线外 它还有2个控制端 即输出允许控制端OE和方向控制端T Transmit 前者用来控制数据的输出 有效 低电平 时 允许数据输出 包括从A到B和从B到A 无效 高电平 时 输出呈现高阻 后者用来控制数据驱动的方向 有效 高电平 时 从A侧向B侧驱动 无效 低电平 时 从B侧向A侧驱动 在图2 2中 8286的控制端OE连接8088CPU的DEN引脚 有效 低电平 时说明数据总线上正在传送数据 这时数据收发器方开始驱动 8286的控制端T连接8088 CPU的DT R引脚 高电平时由8088CPU向总线驱动数据 发送 低电平时由总线向8088CPU驱动数据 接收 除了8286外 Intel公司的8287和74LS245也属于数据收发器 其中8287的情况与8286相似 只是两个方向的输出均为反相 而74LS245用DIR Direction 来标识其方向控制端 用G来标识其输出控制端 3 系统控制信号 IO M WR RD NMI INTR和INTA等 由8088CPU的引脚直接提供 二 Intel8088微处理器在最大组态下的总线形成IBMPC XT机是典型的采用Intel8088微处理器以最大组态模式工作的微型计算机 下面以IBMPC XT机为例 介绍其总线的形成 参见图2 5 1 20位地址总线 用两个三态透明锁存器74LS373和一个三态单向驱动器74LS244来分别对地址进行锁存和驱动两个三态透明锁存器74LS373用来锁存和驱动地址总线A19 A12和A7 A0 其中A15 A12可不锁存 一个三态单向驱动器74LS244用来驱动地址A11 A8 在图2 5中 74LS373的地址锁存端接8288的ALE 74LS373和74LS244的地址输出端接DMA应答电路的AENBRD 当AENBRD信号有效时 表示主板上DMA控制器提供的地址有效 即DMA控制器正在使用总线 这时74LS373和74LS244的地址输出将呈现高阻 即不允许8088CPU向总线输出地址 74LS244是一个双4位的三态单向驱动器 这里只使用了其中的4位 三态透明锁存器74LS373的引脚排列如图2 6所示 内部有8个锁存器 Di和Qi分别是输入和输出端 LE和OE分别是所有锁存器的电平锁存引脚和输出允许引脚 74LS373与Intel8282功能一样 参见前面Intel8282的介绍 三态单向驱动器74LS244的引脚排列和内部结构如图2 7所示 内部有8个三态单向驱动器 分成4位的两组 信息的传送方向为从Ai到Yi 输出与输入同相 每组的控制端连接在一起 分别为1G和2G 各控制一组 4位 三态单向驱动器的信息传送 1G和2G为低电平有效 1G为低电平时 允许信息从1Ai传到1Yi i 1 2 3 4 1G为高电平时 输出端1Yi i 1 2 3 4 为高阻 2G为低电平时 允许信息从2Ai传到2Yi i 1 2 3 4 2G为高电平时 输出端2Yi i 1 2 3 4 为高阻 2 系统数据总线 用数据收发器74LS245进行数据的双向驱动数据收发器74LS245的两个控制端由8288产生的信号来进行控制 其中 8288的DT R连接74LS245的方向控制端DIR 高电平时由CPU向总线驱动数据 低电平时由总线向CPU驱动数据 8288的DEN经反向后连接74LS245的输出控制端G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论