# 总线操作和定时
总线传输(总线周期)的四个阶段
- 申请分配阶段:有需要使用总线的主模块 (或主设备) 提出申请,经总线仲裁机构决定下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段
- 寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块
- 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送
- 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则
- 同步通信(同步定时方式):由统一时间控制数据传送
- 异步通信(移步定时方式):采用应答方式,没有公共时钟标准
- 半同步通信:同步、异步结合
- 分离式通信:充分挖缺系统总线每瞬间的潜力
# 同步定时方式
同步定时方式是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系
若干个时钟产生相等的时间间隔,每个间隔构成一个总线周期
在一个总线周期中,发送方和接收方可进行一次数据传送
因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始
优点:传送速度快,具有较高的传输速率;总线控制逻辑简单
缺点:主从设备属于强制性同步,不能及时进行数据通信的有效性检验,可靠性较差
同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统
读命令
总线控制采用一个统一的时钟信号来协调发送和接收双方的传送定时关系
假设:CPU 作为主设备,某个输入设备作为从设备
- CPU 在 T1 时刻的上升沿给出地址信息
- 在 T2 的上升沿给出读命令(低电平有效),与地址信息相符的输入设备按命令进行一系列的内部操作,且必须在 T3 的上升沿来之前将 CPU 所需的数据送到数据总线上
- CPU 在 T3 时钟周期内,将数据线上的信息传送到其内部寄存器中
- CPU 在 T4 的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动
如果从设备跟不上节奏,在 T3 给不出数据,则会造成读入失败
# 异步定时方式
在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的 "握手" 信号来实现定时控制
主设备提出交换信息的 "请求" 信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出 "回答" 信号
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。
根据 "请求" 和 "回答" 信号的撤销是否互锁,分为以下 3 种类型
- 不互锁方式(速度最快,可靠性最差)
- 主设备发出 "请求" 信号后,不必等到接到从设备的 "回答" 信号,而是经过一段时间,使撤销 "请求" 信号
- 而从设备在接到 "请求" 信号后,发出 "回答" 信号,并经过一段时间,自动撤销 "回答" 信号,双方不存在互锁关系
- 半互锁方式
- 主设备发出 "请求" 信号后,必须持续接到从设备的 "回答" 信号后,才撤销 "请求" 信号,有互锁的关系
- 而从设备在接到 "请求" 信号后,发出 "回答" 信号,但不必等待获知主设备的 "请求" 信号已经撤销,而是隔一段时间后自动撤销 "回答" 信号,不存在互锁关系
- 全互锁方式(最可靠,速度最慢)
- 主设备发出 "请求" 信号,必须待从设备 "回答" 后,才撤销 "请求" 信号;
- 从设备发出 "回答" 信号,必须待获知主设备 "请求" 信号已撤销后,再撤销 "回答" 信号。双方存在互锁关系
# 半同步通信
同步:发送方用系统时钟前沿发信号;接收方用系统时钟后沿判断、识别
异步:允许不同速度的模块和谐工作
半同步通信:统一时钟的基础上,增加一个 "等待" 响应信号
# 分离式通信
上述三种通信的共同点
一个总线传输周期 (以输入数据为例)
- 主模块发地址、命令(使用总线)
- 从模块准备数据(不使用总线,总线空闲)
- 从模块向主模块发数据(使用总线)
分离式通信的一个总线传输周期:
- 子周期 1:主模块申请占用总线,使用完后放弃总线的使用权
- 子周期 2:从模块申请占用总线,将各种信息送至总线上
特点:
- 各模块均有权申请占用总线
- 采用同步方式通信,不等对方回复
- 各模块准备数据时,不占用总线
- 总线利用率提高
# 总线标准 (不考,简单了解)
总线标准基本概念:
总线标准时国际上公布或推荐的互连各个模块的标准,它是把各种不同的模块组成计算机系统时必须遵守的规范。按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无须了解对方接口的要求
根据总线在计算机系统中的位置,可分为:
- 系统总线:通常与 CPU 直接相连,用于连续 CPU 与北桥芯片、或 CPU 与主存等
- 局部总线:没有直接与 CPU 连接,通常是连接高速的北桥芯片,用于连接了很多重要的硬件部件 (如显卡、声卡等)
- 设备总线、通信总线:通常由南桥芯片控制,用于连接计算机与计算机,或连接计算机与外部 I/O 设备
系统总线标准
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点(记住) |
---|---|---|---|---|---|
ISA | Industry Standard Architecture | 8MHz | 8/16 | 16MB/s | 系统总线 |
EISA | Extended ISA | 8MHz | 32 | 32MB/s | 系统中线 |
局部总线标准
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点(记住) |
---|---|---|---|---|---|
VESA(工作受到 CPU 控制) | Video Electronics Standard Architecture | 33MHz | 32 | 132MB/s | 局部总线 |
PCI(工作不受 CPU 控制) | Peripheral Component Interconnect | 33/66MHz | 32/64 | 528MB/s | 局部总线 |
AGP | Accelerated Graphics Port | - | - | X1:266MB/s,X8:2.1GB/s | 局部总线 |
PCI-E | PCI-Express(3GIO) | 10GB/s 以上 | 串行 |
设备总线标准
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点(记住) |
---|---|---|---|---|---|
RS-232C | Recommended Standard | - | - | 20Kbps | 串行通信总线 |
SCSI | Small Compute System Interface | - | - | 640MB/s | 智能通用接口 |
PCMCIA | Personal Computer Memory Card International Association | - | - | 90Mbps | 便携设备接口 |
USB | Universal Serial Bus | - | - | 1280MB/s | 设备总线、串行 |
IDE(ATA) | Integrated Drive Electronics | - | - | 100MB/s | 硬盘光驱接口 |
SATA | Serial Advanced Technology Attachment | - | - | 600MB/s | 串行硬盘接口 |
为何串行总线取代并行总线
并行总线:用 m 根线每次传送 m 个比特,用高 / 低电平表示 1/0,通常采用同步定时方式,由于线间信号干扰,因此总线工作频率不能太高。另外,各条线之间由长度差,长距离并行传输时工艺难度大
串行总线:用两根线每次传输一个比特,采用 "差模信号" 表示 1/0,通常采用异步定时方式,总线工作频率可以很高。现在的串行总线通常基于包传输,如 80bit 为一个数据包,包与包之间有先后关系,因此可以用多个数据通路分别串行传输多个数据包,因此某种程度上现在的串行总线也有 "并行" 的特点