第 6 章 I/O 接口和总线 中国科学技术大学 何克东.

Slides:



Advertisements
Similar presentations
《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
Advertisements

第1章第1章 PC/AT 系統 1 Chapter 1 Chapter 1 PC/AT 系統 001.
第3章 系统总线 3.1 总线的基本概念 3.2 总线的分类 3.3 总线特性及性能指标 3.4 总线结构 3.5 总线控制 本章主要知识点小结.
《单片机原理及应用》 《微型计算机原理及接口技术 》 授课专业:测控13级 授课学时: 78 学时 理论教学:52学 实验教学:26学时
第五章 输入输出系统 5.1 概述 5.3 接口 5.3 系统总线 5.4 直接程序传送方式接口 5.5 中断方式与接口
计算机组成原理 第三讲 计算机科学与技术学院 舒燕君.
第一章 微型计算机系统概述 1.1 计算机的发展与应用 微型计算机的发展与分类 微型计算机的应用
微型计算机原理及应用.
第二章 微型计算机系统 第一节 基本术语和基本概念 第二节 计算机系统的基本构成 第三节 微机系统的硬件组成 第四节 微机系统的软件组成.
第5章 多级结构的存储系统 5.1 三级结构存储系统概述 主存储器 虚拟存储器 CPU 高速缓存 三级结构的存储系统.
第 5 章 乙太網路卡的分類方式 著作權所有 © 旗標出版股份有限公司.
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
第二章 微型计算机系统 2.1基本术语和基本概念 硬件与软件
第十二章 DMA控制器 12.1 概述 A DMA控制器 A的应用.
半导体存储器 第四章 半导体存储器.
计算机与信息技术应用基础 徐东雨 计算机中心
第一章 计算机基础知识 第一节 计算机概述 一、计算机的基本组成和工作原理 二、有关术语 三、计算机发展简史 四、微型计算机概述
第5章 输入输出与接口技术.
第五章 总线 及其形成 本节课之前,大家学习了:
第七章 单片机存储器的扩展.
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
汇编语言与接口技术 教师:范新民.
输入/输出及接口 输入/输出的传送方式 中断技术 80x86/Pentium中断系统 8259A可编程中断控制器 中断程序设计
主讲教师:唐大仕 第5讲 计算机硬件 主讲教师:唐大仕
第8章 现代微型计算机 x86系列微处理器 8.2 微型计算机体系结构 8.3 存储管理技术 8.4 多任务管理与I/O管理
第7章 常用数字接口电路.
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第7章 中断与异常.
第6章 DMA传输 6.1 DMA传输原理 6.2 DMA控制器8237A A的编程使用 欢迎辞.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
第六章 存贮器 6.1 存储器概述 6.2 随机存取存储器(RAM) 6.3 只读存储器(ROM) 6.4 CPU与存储器的连接.
第5章 存储系统.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
微型机系统与接口技术复习.
第5章 输入输出与接口技术.
Ch 9: Input/Output System 输入/输出系统
第十章 D/A、A/D转换接口(6学时) 现代计算机接口技术  知 识 概 述  第一节 D/A转换(2学时)
微机原理及应用 主讲:郑海春.
微机原理与接口技术 第9章 计时/计数接口.
第8章 PCH中的常规接口.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
微型机系统与接口技术自学部分 只作扩展知识用 本电子课件包含2011版第3, 6, 7, 8章自学部分 东南大学计算机科学与工程学院.
第5章 半导体存储器 存储器基本概念 随机存取存储器(RAM) 只读存储器(ROM) 存储器连接与扩充应用 微机系统的内存结构.
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
1.3 微型计算机的结构和工作原理.
第 12 章 8237A DMA控制器及其应用 中国科学技术大学 何克东.
第6章作业 3、 需要128块芯片 片内译码地址线:10条 片选择地址线:至少4条
第4章 输入输出设备介绍及选购 4.1 显卡 4.2 显示器 4.3 键盘 4.4 鼠标.
第一章 微型计算机概论 本章内容提要: 微型计算机系统的基本术语 微型计算机系统的发展与分类 微型计算机的系统组成.
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
认识计算机系统.
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
微机原理及接口技术 主讲人 钱晓捷.
第九章 微处理器外部结构和总线操作时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
8051單晶片 蘇恆生 老師.
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
可编程定时计数器.
第6章 存储器接口 6.1 存储器概述 6.2 半导体存储器 6.3 MCS-51单片机存储器扩展.
第5章 存储器 5.1 存储器概述 5.2 半导体存储芯片结构及使用 位系统的存储器接口.
微型计算机技术 教 学 指 导(五) 太原广播电视大学 郭建勇.
第十章 直接存储器存取(DMA)控制.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
第二章 8086系统结构 /8086的存储器组织 的系统配置及引脚功能 CPU时序
Presentation transcript:

第 6 章 I/O 接口和总线 中国科学技术大学 何克东

6.1 I/O接口 一、I/O接口的功能 接口 CPU 电路 设备 什么是I/O接口(电路)? PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路 CPU 接口 电路 I/O 设备

1.采用I/O接口的必要性 (1)速度不匹配 (2)信号电平不匹配 TTL与非TTL (3)信号格式不匹配 8、16、32位;模、数;串、并;电流、电压 (4)时序不匹配

2. I/O接口的主要功能 (1)设置数据缓冲以解决速度差异所带来的不协调问题 (2)设置信号电平转换电路 (3)设置信息转换逻辑以满足对各自格式的要求 A/D、D/A、串↔并、…… (4)设置时序控制电路来同步CPU和外设的工作 (5)提供地址译码电路

二、简单的I/O接口芯片 对输入输出数据进行缓冲和锁存 输出接口有锁存器;输入接口有缓冲器 实际的电路常见: 输出锁存缓冲器、输入锁存缓冲器

三、I/O端口及其寻址 1.I/O端口 控制总线CB 地址总线AB I/O接口电路 数据 控制 状态 数据总线DB CPU 外设 控制寄存器 1. 接口电路的内部结构 2. 接口电路的外部特性 3. 接口电路芯片的分类 4. 接口电路的可编程性 1.I/O端口 控制总线CB 地址总线AB I/O接口电路 数据 控制 状态 数据总线DB CPU 外设 控制寄存器 状态寄存器 数据寄存器 端口 I/O接口的典型结构

接口电路的内部结构 CPU与外设主要有数据、状态和控制信息需要相互交换,从应用角度看内部: ⑴ 数据寄存器 ⑵ 状态寄存器 ⑶ 控制寄存器 ⑴ 数据寄存器 保存CPU与外设之间传输的数据 ⑵ 状态寄存器 保存外设或接口电路的状态 ⑶ 控制寄存器 保存CPU给外设或接口电路的命令

接口电路的外部特性 主要体现在引脚上,分成两侧信号 面向CPU一侧的信号: 面向外设一侧的信号: 用于与CPU连接 主要是数据、地址和控制信号 面向外设一侧的信号: 用于与外设连接 提供的信号种类繁多 功能定义、时序及有效电平等差异较大

接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片): 通用接口芯片 面向外设的专用接口芯片 面向微机系统的专用接口芯片 接口电路芯片的分类 接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片): 通用接口芯片 支持通用的数据输入输出和控制的接口芯片 面向外设的专用接口芯片 针对某种外设设计、与该种外设接口 面向微机系统的专用接口芯片 与CPU和系统配套使用,以增强其总体功能

许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种 接口需进行物理连接,还需编写接口软件 接口软件有两类: 接口电路的可编程性 许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种 接口需进行物理连接,还需编写接口软件 接口软件有两类: 初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,负责外设和系统间信息交换

接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O端口与存储器统一编址 2. I/O端口的寻址方法 如8086/8088 I/O端口与存储器统一编址 它们共享一个地址空间 如M6800

(1)I/O端口与存储器统一编址(存储器映象寻址方式) 优点: 不需要专门的I/O指令 I/O数据存取与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访存和访问外设) 内存 部分 I/O 存储器空间 00000 FFFFF

⑵ I/O端口单独编址(I/O映象寻址方式) 优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富 内存 空间 I/O FFFFF FFFF 80x86采用I/O端口单独编址

统一编址 I/O CE I/O RAM CE A10~A0 RAM: 00000~007FFH I/O: 00800~00FFFH + G1 Y0 G2A Y1 G2B Y2 C B A Y7 A13 A12 A11 + A19 : A14 M/IO CE RAM I/O CE A10~A0 RAM: 00000~007FFH I/O: 00800~00FFFH A19A18A17A16A15A14A13A12A11A10A9A8 A7 A6 A5 A4 A3 A2 A1 A0 RAM 1 I/O 统一编址

单独编址 2 CE I/O I/O 2# 1# CE A2~A0 1#: 0040~0047H 2#: 0048~004FH A6 + G1 Y0 G2A Y1 G2B Y2 C B A Y7 M/IO A5 A4 A3 A2~A0 1#: 0040~0047H 2#: 0048~004FH A15A14A13A12A11A10A9A8 A7 A6 A5 A4 A3 A2 A1 A0 1 2 单独编址

8086只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址 8086用于寻址外设端口的地址线为16条,端口最多为216=65536(64K)个,端口号为0000H ~ FFFFH 每个端口用于传送一个字节的外设数据

8086的端口有64K个,无需分段,设计有两种寻址方式 直接寻址:只用于寻址00H ~ FFH前256个端口。 间接寻址:可用于寻址全部64K个端口,DX寄存器的内容就是端口号 对大于FFH的端口只能采用间接寻址方式

输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口) 数据交换方式 如果输入输出一个字节,利用AL寄存器 如果输入输出一个字,利用AX寄存器 输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口) 输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口

输入指令(IN:将外设数据传送给CPU内的AL/AX) IN AL,12H ;字节输入 IN AL,DX ;字节输入 8086的输入输出指令 输入指令(IN:将外设数据传送给CPU内的AL/AX) IN AL,12H ;字节输入 IN AL,DX ;字节输入 IN AX,22H ;字输入 IN AX,DX ;字输入 输出指令(OUT:将CPU内的AL/AX数据传送给外设) OUT 12H,AL ;字节输出 OUT DX,AL ;字节输出 OUT 22H,AX ;字输出 OUT DX,AX ;字输出

IN指令实例(从20H端口输入一个字) in al,21h in ax,20h mov ah,al in al,20h mov dx,20h ;方法3:直接寻址,字节量输入 in al,21h mov ah,al in al,20h ;方法4:间接寻址,字节量输入 mov dx,21h in al,dx dec dx ;方法1:直接寻址,字量输入 in ax,20h ;方法2:间接寻址,字量输入 mov dx,20h in ax,dx

;唯一的方法:间接寻址,字节量输出 mov al,bvar ;bvar是字节变量 mov dx,300h out dx,al OUT指令实例(向300H端口输出一个字节) ;唯一的方法:间接寻址,字节量输出 mov al,bvar ;bvar是字节变量 mov dx,300h out dx,al

四、 数据传送方式 程序控制下的数据传送——通过CPU执行程序中的I/O指令来完成传送,又分为: 无条件传送(同步)、条件传送(异步/查询传送) 中断传送—中断传送是一种效率更高的程序传送方式 直接存储器存取(DMA)—传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送 I/O处理机——CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理

1.程序控制方式 (1)无条件(同步)传送方式 在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送 适合于简单设备,如LED数码管、按键或按钮等 无条件传送的接口和操作均十分简单 这种传送有前提:外设必须随时就绪

无条件传送:输入示例 MOV DX, 160H IN AL, DX

CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出 2.条件( 查询)传送方式 CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换 查询传送的特点是:工作可靠,适用面宽,但传送效率低

⑴ 查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 ⑵ 传送环节 寻址数据口 查询传送的两个环节 ⑴ 查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 ⑵ 传送环节 寻址数据口 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据 输入状态 就绪? N Y 数据交换

2. 中断传送方式 断点 主程序 中断服务程序 中断请求 对外设 进行处理 继续执行 返回断点 CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序

CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚 中断传送是一种效率更高的程序传送方式 进行传送的中断服务程序是预先设计好的 中断请求是外设随机向CPU提出的 CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚 CPU响应可屏蔽中断的条件: 执行完当前指令 无总线请求 允许中断 IF=1

中断工作过程 中断请求 中断响应 关中断 断点保护 中断识别 现场保护 开中断 中断服务 关中断 恢复现场 开中断 中断返回

中断查询接口 A0~A15 锁 存 器 INTR 三态 缓冲器 译码 8001H D0~D7 中断A 中断B 中断C … IOR

3. DMA传送方式 DMA (Direct Memory Access直接存储器存取)方式是用硬件实现存储器与存储器之间、存储器与I/O设备之间直接进行高速数据传送,不需要CPU的干预,减少了中间环节,而且存储器地址的修改和传送完成的报告均由硬件自动完成,所以极大地提高了传送速度。 DMA传送方式通常用来高速传送大批量的数据块。如磁盘存取、图像处理及高速数据采集系统等。

希望克服程序控制传送的不足: 外设→CPU→存储器 外设←CPU←存储器 直接存储器存取DMA: 外设→存储器 外设←存储器 存储器 ↔存储器 CPU释放总线,由DMA控制器管理

DMAC 外设 CPU DREQ HRQ HOLD HRQ HLDA HLDA HLDA DACK

微机系统中DMA控制器操作框图

DMA传送的工作过程 ⑴ CPU对DMA控制器进行初始化设置 ⑵ 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 ⑶ DMA传送 DMA读存储器:存储器 → 外设 DMA写存储器:存储器 ← 外设 存储器 ↔存储器 ⑷ 自动增减地址和计数,判断传送完成否

DMA传送流程 HLDA 发存储器地址 传送数据 传送结束? DMA结束 修改地址指针

传送方式的比较 无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送

6.2 总线 一、总线的概念 所谓总线,是指在多个模块(设备和子系统)之间的一组进行互连和传输信息的公共通道,它是信号线按照某种规范组成的集合。任何系统的研制和外围模块的开发,都必须遵从一定的总线规范。总线的结构不同,性能差别很大。按总线功能或在总线上传输的信号类型以及总线的层次结构,可以把总线分为不同的类型。 系统里的设备都是依靠总线相互连接在一起的,任何一个设备发出的信号可以被连接到总线上的所有其他设备接收。如果两个以上的设备同时在总线上发出自己的信号,则会发生信号混乱。因此,在同一时间段内,连接到总线上的多个设备中只能有一个设备主动进行信号的传输,其他设备只能处于被动接收的状态。

1.总线的分类 1.按总线功能或信号类型分类 按总线功能或信号类型划分,主要有三类总线。 数据总线 用于传输数据,采用双向三态逻辑。ISA总线数据线是16位,PCI总线是32位或64位。数据线的宽度表示了总线数据传输的能力,反映了总线的性能。 通过数据总线传输的数据类型有: (1)数值数据 (2)指令 (3)设备码 (4)控制字 (5)状态字

地址总线 传输地址信息,一般采用单向三态逻辑。地址总线的数据位数决定了该总线构成的微机系统的寻址能力。例如,ISA总线有24位地址线,可寻址16MB(224);PCI总线有32位或64位地址线,寻址到4GB甚至264。地址总线一般是由处理器 (CPU)发出到总线上的各个部件。 地址总线通常传输如下信息: CPU要执行的下一条指令地址 进行运算所需的操作数地址 外部设备的地址

控制总线 传输控制或状态信号,每根线或者是单向的,或者是双向的,它们分别传送控制信息、时序信息和状态信息。比如,输入/输出读/写信号、存储器读/写信号和中断信号等等。控制总线是最能体现总线特色的信号线,它决定总线功能的强弱和适应性。 控制总线通常包括如下信号线 读、写线 中断请求和中断响应线 同步(选通或时钟)信号线 保持、等待就绪(准备好)线

也叫元件级总线,是由芯片内部通过引脚引出的总线,用于芯片一级的互联线,它实现各种芯片间的互联。 2.按总线的分级结构分类 按照总线的层次结构来分,可以将总线分为四种但随着现代微机的发展,这四种总线的功能也形成了交叉,所以这里的四级总线的分法仅供大家做参考。 片级总线 也叫元件级总线,是由芯片内部通过引脚引出的总线,用于芯片一级的互联线,它实现各种芯片间的互联。

系统总线 系统总线又称为内部总线、I/O通道总线或板级总线,是用来与扩展槽上的各种扩展卡相连接的总线。比如,ISA总线和EISA总线等。以前微机系统主要是利用系统总线来连接扩展卡,现代微机系统为了加快总线速度,多用局部总线PCI来连接扩展卡。

外部总线也有称为通信总线的,是微机系统之间或微机与外部设备之间进行通信的总线。如微机和微机之间可以使用RS-232/RE485总线,微机和智能仪表之间可以使用IEEE-488/VXI总线以及现代微机上很流行的USB和IEEE1394通用串行总线。

局部总线 局部总线是在CPU总线和系统总线之间的一级总线,如PCI总线。它的一侧直接面向CPU总线,另一侧面向系统总线,分别由桥片连接。由于局部总线是直连接CPU总线的I/O总线,因此外部设备通过它可以快速地与CPU之间进行数据交换,为外设提供了存取微处理器更宽、更快的高速公路。

2.总线标准 总线标准是指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。这些协议和规范一般包括硬件和软件两个方面,比如总线工作的时钟频率、总线中信号线的定义、总线系统的结构、总线仲裁机构以及配置机构、机械规范和实施总线协议的驱动与管理程序。 制定总线标准,使众多的生产厂家在生产部件时,只要在接口处符合所制定的规格标准,就能为该系统所用。总线标准大致有以下几个特性:

①物理特性:物理特性是指总线物理连接的方式,包括总线的根数、总线的插头和插座的形状、尺寸以及引脚是如何排列的等。

②功能特性:功能特性描述的是一组总线中每一根线的功能是什么。总线按功能分为数据总线、地址总线和控制总线。地址总线的宽度表示系统中主存储器的最大容量或者说是最大寻址范围。例如,有20根地址线,表示系统的主存最大容量是1MB,有32根地址线A31~A0,则允许系统的最大内存容量为4G。数据总线的宽度表示系统一次数据处理的最大数据位数,例如,有32根数据D31~D0,则允许系统一次最多可以运算或者传送32位数据。控制总线包括各种不同得到控制信号。此外,还有电源线和地线。

③电器特性:电器特性定义每一根线上信号的传递方向以及有效电平范围、负载电流的大小等。一般规定送入CPU的信号为输入信号(IN),从CPU送出的信号称为输出信号(OUT)。地址线通常是单向的,而数据线一般是双向的。有的信号高电平的时候有效,有的信号低电平有效。 ④时间特性:时间特性定义了每根线在什么时候有效,这涉及到总线操作的时序问题,即什么时间用户需要把信号送上总线,什么时间用户可以在总线上得到有效的信号。

总线的主要性能参数 微机系统中使用的总线种类很多,没有哪个总线能适合所有的场合,但所有的总线都含有一些主要的性能参数。 ①总线频率:总线的工作频率,以MHz表示。它是总线工作速率的一个重要参数,工作频率越高,速率越高。 ②总线宽度:是指数据总线的位数,用位(bit)来表示。如8位、16位、32位、64位总线宽度。

④负载能力 ③总线的数据传输率:是指在一定的时间内总线上可传送的数据总量,用每秒最大传 输数据量来表示。总线的数据传输率的计算公式是: ③总线的数据传输率:是指在一定的时间内总线上可传送的数据总量,用每秒最大传 输数据量来表示。总线的数据传输率的计算公式是: 总线的数据传输率:(总线宽度÷8位)×总线频率 单位是MB/s,总线频率以MHz为单位。如PCI总线的总线频率为33.3MHz,总线 宽度为32位的情况下,其数据传输率为133MB/s。 ④负载能力

3.总线操作 能够取得总线控制权,对总线实施控制的模块称为主控设备(主设备),连接在总线上,接受主控设备命令的模块称为从属设备(从设备)。总线的基本任务就是传送数据,只有处理器和DMA这样的模块才有控制总线的能力,其他从设备只能对总线上传来的地址信号进行地址译码,并接受和执行总线主设备的命令。总线操作一般分为4个阶段:

①总线请求和仲裁(Bus Request and Arbitration)阶段。某一时刻,总线只能接受一个主设备的控制,所以当某个主设备需要使用总线时,要向总线仲裁机构提出使用总线请求,由总线仲裁机构决定下一个传输周期的总线使用权该给哪个请求源。 ②寻址(Addressing)阶段。取得了总线使用权的主设备,发出本次要访问的从属设备的存储器地址,或者I/O端口地以及有关的命令。用过译码使参与此次传送操作的从属设备被选中并开始启动。

③数据传送(Data Transferring)阶段。主控设备和从设备之间进行数据传输,数据由源模块 (可能是主控设备也可能是从属设备)发出,经过数据总线传送到目的模块。 ④结束(Ending)阶段。主控设备和从属设备的有关信息均从总线上撤除,让出总线,以便其他模块可以继续使用。

总线传送控制 为了确保上面4个阶段正常进行,必须施加总线操作控制。总线上的主设备和从设备通常采用以下四种方式来实现对总线传送的控制。

1. 同步方式 同步传送采用精确稳定的系统时钟作为各模块的基准时钟。模块之间通过总线完成一次数据传送的时间称为总线周期,它是固定的,每次传送一旦开始,主、从设备都必须严格按照时间规定完成相应的动作。 PCI总线是同步方式总线。同步方式的优点是电路设计比较简单,因为全部系统模块由单一时钟信号控制;同步方式的另一个优点是完成一次传输的时间很短,它不允许主从之间有等待,适合于高速设备的数据传输。 同步方式对时间要求非常严格,速度有差异的设备之间不能传输数据,除非高速设备降低速度。

2.异步方式 异步方式采用“应答式”传输,传输过程不依赖系统时钟信号,而是靠“请求(Request REQ)”和“应答(Acknowledge ACK)”两根信号线来协调传输过程。这种方式下连接任何外部设备都不需要考虑该设备的速度,它可以根据模块的速度自动调整响应时间。 异步方式的应答关系完全互锁,REQ和ACK两个信号是有制约关系的。主设备的请求REQ有效,由从设备的ACK来响应;ACK有效,允许主设备撤消REQ:只有REQ撤消,才最后撤销ACK;只有ACK已经撤消,才允许下一传输周期的开始,这就保证了数据传输的可靠性。 异步传输的缺点是不管从设备的速度,每完成一次传输,主、从设备之间的互锁控制信号都要经过4个步骤,即请求、响应、撤销请求和撤消响应,它的传输延迟是同步传输的两倍。因此,异步方式比同步方式要慢,总线的频带要窄,总线传输周期长。

3.半同步方式 半同步传送是综合同步和异步传送的优点而设计出来的混合式传送。 从总体上看,它是一个同步系统。 但是,为了克服同步方式的缺点,半同步方式允许两个速度不同的设备使用像异步方式那样的传输。为此,设置了一条“等待”(WAIT)或“就绪”(READY)信号线。对于可以严格按照时钟规定进行传送的两个高速设备的传输,这个信号没有作用,依然按照同步方式传输。但如果从设备是慢速设备,没有准备好数据传输,从设备会使得WAIT信号有效或READY信号无效,系统用一个适当的状态时钟沿检测这个信号线。如果是WAIT有效(或READY无效),就自动将总线周期延长一个时钟周期,强制主设备等待。下一个时钟周期继续检测这个信号线,直到检测到WAIT信号无效(或READY信号有效)才不再延长总线周期。 这种方法像异步方式那样能使不同速度的设备同时在系统中做数据传输,但WAIT信号不是互锁的,而是单方向的状态传递,这是和异步方式的不同之处。

4.分离方式 上面三种方式中,整个传输周期中,系统总线完全由主设备和从设备占用。然而,在总线读周期的寻址阶段和数据传送阶段之间有一个短暂的时间间隔,用于从设备(如果是源模块)执行读命令的时间,这段时间系统总线上并没有实质性的信息传输,处于空闲状态。为了提高总线的利用率,可以将读周期分为两个分离的子周期。第一个子周期为寻址阶段,当有关的从设备从总线上得到主设备发出的地址、命令及有关信息后,立即和总线断开,以便其他模块可以使用总线。等到从设备准备好数据后,启动第二个子周期,由该模块申请总线,获准后,将数据发送给原来请求数据的主设备。两个子周期均采用同步方式传送,在占用总线的时候,进行高速的信息传输。 分离式传输很适合有多个主设备(如多个处理器或多个DMA设备)的系统。

二、系统总线 系统总线的种类很多,最早PC机上使用的是8位的PC总线,而后是著名的16位ISA总线、32位的EISA总线、VESA总线以及现在广泛使用的PCI总线。除此之外,还有一些其他类型的总线。这里仅介绍具有代表性的ISA总线和PCI总线。

1. ISA总线 ISA (Industry Standard Architecture,工业标准结构)总线是Intel公司、IEEE和EISA集团联合在62线的PC总线基础上经过扩展36根线而开发出的一种系统总线。它具有16位数据线,最高工作频率为8MHz,数据传输率达到16MB/s。ISA有24根地址线,可寻址16MB。因为最早在PC/AT(286)机器上使用,所以又称为AT总线。ISA总线历经几代微机,甚至在有些P4微机中还被保留下来,这也说明了该总线的开发是很成功的。

ISA总线的信号 5类:地址线、数据线、控制线、时钟线和电源线。 1.地址线 SA0~SAl9和LAl7~LA23。SA0~SAl9是可以锁存的地址信号,LAl7~LA23为非锁存地址信号。其中SAl7~SAl9和LAl7~LAl9是重复的。 2.数据线 SD0~SDl5。其中,SD0~SD7为低8位数据,SD8~SDl5为高8位数据。

3.控制线 AEN 地址允许信号,高电平有效,由DMA控制器发出。AEN=1,表示处于DMA控制周期:AEN=0,表示非DMA周期。此信号用来在DMA期间禁止I/O端口的地址译码。 BALE 地址锁存允许信号。该信号由总线控制器8288提供。其信号为高电平的时候CPU发出地址到系统总线,BALE的下降沿将SA0~SAl9的地址信号锁存。 IOR I/O读命令,低电平有效,把被选中外设的数据读到数据总线上。 IOW I/O写读命令,低电平有效,把数据总线上的数据写入被选中外设的端口。 SMEMR和SMEMW 存储器读/写命令,低电平有效。用于对A0~A19这20位地址寻址的1MB内存的读/写操作。 MEMR和MEMW 存储器读/写命令,低电平有效,用于对24位地址线全部存储空间读/写操作。

MEMCSl6和I/OCSl6 分别是存储器16位片选和I/O16位片选信号,指明当前的数据传送是16位的存储周期或16位I/O周期。 SBHE 总线高字节允许信号。该信号有效表示数据总线上传送的是高位字节数据。 IRQ3-IRQ7,IRQ9-IRQ12,IRQl4-IRQl5 外部设备中断请求输入线。它们分别接到主8259A和从8259A中断控制器中。 DRQ0-DRQ3和DRQ5~DRQ7 来自外部设备的DMA请求输入线。高电平有效,分别连到主8237A和从8237A DMA控制器。DRQ4用于主8237和从8237的级联而不出现在总线中。 DACK0~DACK3和DACK5~DACK7 DMA回答信号,低电平有效。有效的时候,表示DMA请求被接受,DMA控制器占有总线,进入DMA周期。

T/C DMA计数结束信号,高电平有效,表示DMA传送的数据已经达到预设的字节数。通常用来结束DMA的一次数据传送。 MASTER 输入信号,低电平有效。需要占用总线的有主控能力的外设卡驱动这个信号。当外设的DEQ得到确认(DACK有效)后,才使MASTER有效;之后,该设备保持对总线的控制直到MASTER无效。 RESET DRV 系统复位信号;高电平有效。当系统电源接通的时候该信号为高电平,等到所有的电平都达到规定后变低。该信号用来复位和初始化接口和FO设备。 REFRESH 刷新信号

I/OCH CK I/O通道检查,低电平有效。当扩展卡上的存储器或I/O端口出现奇偶校验错的时候,该信号有效。 I/OCH RDY I/O通道就绪,高电平有效表示就绪。如果扩展槽中的存储器或I/O端口速度慢而不能和处理器同步时,则可以将此信号变低,使处理器在正常总线周期中插入等待状态。 OWS 零等待状态信号。该信号为低的时候,无需插入等待周期。 除了上述3类信号外,还有时钟OSC/CLK以及电源±12V,±5V及地线等。

2.PCI 总 线 为了充分发挥Pentium微处理器的全部资源,为其配备高性能、高带宽的总线、Intel、IBM、Compaq和Apple等公司联合制定了PCI总线标准。PCI总线的全称是外围部件互联(Peripheral Component Interconnect),它是一种先进的局部总线,已经成为局部总线的新标准,广泛用于现代微机(台式)、工作站和便携机。

PCI总线的特点 ①独立于处理器。PCI总线是一种独立于处理器的总线标准,它可以支持多种处理器,从而适合多种系统。同时,它将处理器子系统与外围设备分开。为PCI总线设计的外围设备是针对PCI的,而不是直接针对处理器的,所以这些设备可以独立于处理器设计和升级,而且也不会因为处理器技术的变化使外围设备过时。 ②传输效率高。PCI总线采用33.3MHz/66.6MHz的时钟频率。在33.3MHz时钟频率下,32位数据线宽度,最大数据传输率达到133MB/s,是ISA总线的24倍;如果数据宽度升级到64位,则数据传输率可以达到266MB/s,在66.6MHz、64位数据线宽度,传输速率可达到528MB/

③多总线共存。PCI总线可以通过桥芯片和多种总线共存于同一个系统中。通过HOST-PCI桥芯片,PCI和CPU总线相连接;通过PCI-ISA/EISA桥芯片,PCI又和ISA及EISA总线相连。这样,慢速设备和高速设备都可以分别挂在不同总线上而共存于同一系统中。 ④支持突发传输。突发传输不同于单次数据传输,单次传输是每传输一个数据前都要在总线上先给出数据的地址,而突发传输适合于从某地址开始顺序读/写一批数据。只要在开始的时候将首地址发到总线上,之后,每个时钟都只传输数据,而地址是自动加1,这样可以减少无谓的地址操作,加快数据传输速度。

⑤支持总线主控方式。允许多个处理器系统中的任何一个处理器(包括有总线处理能力的外围设备)成为总线主控设备,对总线操作实行控制。 ⑥采用同步操作。PCI独特的同步操作能力可保证微处理器和总线主控制器同时操作,而不必等待后者操作完成。 ⑦支持两种电压下的扩展卡。支持5V和3.3V下的扩展卡,并可以从5V向3.3V进行平滑的系统转换。由于PCI总线上装有一个很小的断路键,使用户在插卡的时候不会导致在系统主板上有不同的电压电源。

⑧具有即插即用功能。一个PCI扩展卡插入后,无需用户设置跳线和选择中断。配置软件会自动选择未被使用的地址和中断,以解决可能出现的资源冲突问题。 ⑩预留扩展空间。PCI总线预留了足够的扩展空间。比如,它支持64位地址/数据多路复用,PCI插槽能同时插32位和64位扩展卡,它们之间的相互通信对用户是透明的。

三种总线标准的特征比较 ISA EISA PCI 数据传输位数 8/16 8/16/32 32/64 峰值最高速率 <8MB/s 系统配置能力 资源冲突突出 有条件地自动配置 自动配置、即插即用 配置的方便性 人工、不方便 采用EISA使用配置程序 全自动、最方便 驱动程序 依硬件类型 与硬件无关 接纳I/O设备 低速、广泛应用 中速、广泛应用 允许高速设备 插座的引脚数 98 188 124(32位)/188(64位) 插座的兼容性 极广泛的8/16位卡 浅部同ISA,深部扩充 可靠、兼容性好 物理尺寸 小/中/大齐备 大小相对灵活 32/64位两类,尺寸小 成本价格 低 高 中、低