组成原理---总线

  • 计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接,另一种是将各部件连接到一组公共信息传输线上,称为总线连接。

  • 早期的计算机连接方式大多数采用分散连接,以运算器为中心结构,内部连线十分复杂,当IO与存储器交换信息时,都需要经过运算器,致使运算器停止运算。后以存储器为中心,又采用了中断,DMA等技术,使CPU的工作效率得到提高。

  • 总线是计算机系统中进行数据传输的公共通路。计算机系统通过总线将CPU,主存储器和输入输出接口相连接并实现地址,数据和控制信息的传输等操作。

总线的基本概念

  • 所谓总线(Bus),一般指通过分时共享的方式,将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。是计算机中传输数据的公共通道。分时和共享是总线的两个基本特性。共享是指多个部件连接在同一条总线上,各个部件之间都可以通过这条总线来进行信息的交换。而分时是指同一时刻,总线上只能传输一个部件发送出来的信息

总线的特性

  • 从物理角度来看,总线就是一组电导线,将许多导线直接制作在电路板上,可以在电路板和电路板之间以总线的方式连接,也可以在电路板内以总线方式进行各部件之间的连接。只有严格按照总线特性设计的部件或外设接口,才能保证系统的可靠传输和运行。

  • 电气特性是指,总线上每一根传输线的信号传递方向有效电平范围。通常规定 CPU发出的信号为输出信号,输入 CPU 的信号为输入信号。数据总线是双向传输线,而地址总线属于输出线。控制总线有的是输入线,有的是输出线,有的定义为高电平有效,有的定义为低电平有效。

  • 机械特性是指,总线在机械连接方式上的一些特性,包括连线类型、数量、接插件的几何形状和尺寸以及引脚排列顺序等。

    从连线的类型来看,总线可分为电缆式总线、主板式和底板式。电缆式总线一般为扁平电缆连接电路板主板式总线通常在印刷电路板上,将一组平行的金属线按照规定的排列制作成插槽,系统的一些主要部件的电路板卡将对应的总线制作成平行的金属线,然后插入到主板的插槽中。底板式总线则通常在机箱中设置插槽板,其他功能模块一般都做成电路板卡,插入到插槽内从而连接到系统中。

    从连线的数量来看,总线可以分为串行总线和并行总线。并行总线按传输的数据线的宽度有 8 位、16 位、32 位和 64 位总线等,总线的宽度对实现的成本、可靠性和数据传输率均有很大的影响。一般来说,串行总线用于长距里的数据传输,并行总线用于短距离的数据传输。

  • 功能特性是指总线中每一根传输线的功能。如地址总线是用来发送地址信息,每一根地址线都表示一位地址码,单向传输,指明CPU欲访问的存储单元或IO端口的地址,地址线的位数与存储单元的个数有关;数据总线是用来传输数据,每一根数据线表示一位数值,双线传输,其位数与机器字长,存储字长有关,数据总线的位数决定数据总线的宽度。控制总线是用来发送控制信号或接收请求及状态信号,单向。

总线的分类

  • 按连接部件分类

    CPU 内部总线:CPU 内部总线又称为内总线,是 CPU 内部各部件之间的信息传送线。内部总线的结构比较简单,距离短,速度极高。

    系统总线:系统总线通常指连接 CPU 与主存或 I/O 接口之间的信息传送线,它是连接整机系统的基础。因为系统总线在 CPU 之外,所以又称为外总线。系统总线根据其传输的信息内容,分为数据总线地址总线控制总线三种,除了这三种之外还有电源线和地线。另外,在有些系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信号表示数据,而另一些时刻表示地址。系统总线的连接距离较短、传输速度较快。 (常见的控制线号:时钟用来同步各种操作。复位初始化所有部件。总线请求.。总线允许。中断请求。中断响应。存储器写。存储器读。IO读。IO写。传输响应表示数据已被接收或已将数据送至数据总线上)。

    通信总线:主要是用于计算机系统之间或计算机与外部设备之间的通信。在进行远距离通信时,它需要用调制解调器来一起进行通信。由于这类总线的连接与距离远近、速度快慢、工作方式等许多方面有关,其连接对象的千差万别,所以通信总线的种类非常多。

  • 按数据传送方式分类

    并行总线:并行总线采用多根数据线同时传送一个字节或一个字的所有位。计算机系统总线大多是并行总线,如 8 位、16 位、32 位和 64 位等。

    串行总线:串行总线采用一根数据线一位一位地传送数据。采用串行总线可以节省硬件成本,在远距离传输时,通常采用串行总线作为通信总线。在多机系统中,也通常采用串行总线作为通信总线。

  • 按总线的的通信定时方式分类

    同步总线(Synchronous Bus):同步总线是指,互联的部件或设备均通过统一的时钟进行同步,即所有的互联的部件或设备都必须使用同一个时钟(同步时钟),在规定的时钟节拍内进行规定的总线操作,来完成部件或设备之间的信息交换。同步总线实现容易,能迅速运行,但缺点是:所有设备只能按一个速度工作,如果一个设备速度较慢,则所有设备都必须按它的速度操作;而且同步总线长度受到限制,太长容易发生时钟变形。处理器与存储器总线常采用同步方式,因为设备间通信是封闭式的,故可在高时钟频率下工作。

    异步总线(Asynchronous Bus):异步总线是指,没有统一的时钟而依靠各部件或设备内部定时操作,所有部件或设备是以信号握手的方式进行, 即发送设备和接受设备互用 请求 ( request) 和 确认(acknowledgement)信号来协调动作,总线操作时序不是固定的。因此,异步总线能兼容多种不同的设备,而且不必担心时钟变形或同步问题使得总线长度不受限制。

总线的性能指标

  • 总线宽度:也即数据总线宽度,指一次总线操作中通过总线传送的数据位数。
  • 总线周期:指一次总线操作所用的时间。
  • 总线频率:总线的工作频率,单位是 MHZ。工作频率越高,总线工作速度越快,总线带宽越宽。
  • 总线带宽(标准传输率):指单位时间内总线上可传送的数据量,用每秒多少兆字节(MB/S)表示。总线带宽=总线宽度/8×总线工作频率 MB/s
  • 信号线类型:指信号线是专用还是分时复用。将地址线和数据线单独设置可使写操作的性能更高,因为地址和数据可在同时传送出去。而采用分时复用可使总线利用率更高。
  • 仲裁方法:指集中式裁决还是分布式裁决。
  • 定时方式:指同步方式还是异步方式。
  • 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步的总线称为异步总线。
  • 负载能力:即驱动能力,指当总线接上负载后,总线输入输出的逻辑电平是否能够保持在正常的额定范围内。对于不同电路,总线的负载能力不同,即使是同一电路板在不同的负载能力下,总线的负载也是不同的。

系统总线的结构

  • 计算机系统中存储器、CPU 和输入输出设备等部件之间必须互相连接才能组成计算机系统。部件之间通常采用总线连接。总线是构成计算机系统的骨架。总线的结构及其与各部件的连接方式对信息的传送效率有着重要的作用,从而影响着计算机系统的性能。

  • 单总线结构
    在这里插入图片描述
    单总线结构用一组总线将计算机系统的各大功能部件连接起来,所有的信息都在这组总线上传送。CPU 与主存储器、CPU 与外设之间可以直接互联通信,主存与外部设备、外部设备之间也允许直接交换数据,而不用经过 CPU。 在单总线系统中,对输入输出设备的操作,完全和主存的操作一样的方法来处理。CPU可以像访问主存那样访问外设接口的寄存器。 在单总线系统中,外部设备也可以通过与 CPU 中的总线控制部件交换信号的方式占有总线,一旦外部设备得到总线控制权后,就可以向总线发送地址信号,这样就由外部设备来指定它将与哪一个外部设备来进行信息交换。

    单总线结构简单,便于增减设备和部件。但是,由于所有部件都挂在总线上,因此不允许两个部件同时使用单总线,总线负载也很重,这不但会影响总线传送操作的速度,甚至可能使系统吞吐量达到饱和。所以,单总线结构一般用于速度要求不高的计算机中。

  • 双总线结构
    在这里插入图片描述
    在原来单总线的基础上,增加一条 CPU和主存之间的高速存储总线,使 CPU 与主存之间的信息交换通过这条专用存储总线进行。而主存与外设之间可通过系统总线实现 DMA 操作。这样可以缓解对系统总线和 CPU 的压力,提高了系统的效率。 在双总线系统中,CPU 对主存的访问和对 I/O 设备的访问应使用不同的指令,以便使系统区别是使用那条总线来进行操作。
    在这里插入图片描述
    为了提高 CPU 的效率,增强对多个外部设备的管理能力,提高输入输出的传输率,在中、大型计算机中常采用通道或输入输出处理器 (IOP) 来处理输入输出工作,于是形成了具有 I/O 总线的双总线结构。它是在单总线的基础上增加一条 I/O 总线,I/O 总线通过通道与系统总线连接。通道是一种特殊处理器,CPU 将一部分功能下放给通道,使其具有对 I/O 设备统一管理,以完成 I/O 设备与主存之间的数据传输。该结构中,CPU、主存和通道之间通过系统总线进行数据传输,而外部设备通过 I/O 总线进行数据传输。

  • 多总线结构:可以称三总线以上的结构称为多总线结构。
    在这里插入图片描述
    此图将上述两种结构加以结合而形成的三总线结构。这种结构具有系统总线、存储总线和 I/O 总线,所以,CPU 和存储器之间的数据传输可以不用系统总线,减轻了系统总线的负担。同时,采用通道对外部设备进行统一管理并负责主存与外设之间的数据传输,进一步减轻了 CPU 的负担,从而整个系统的效率大大提高。
    在这里插入图片描述
    如图所示是四总线结构,CPU 与 Cache 通过局部总线进行数据传输,Cache 与主存通过系统总线进行数据传输,局部总线和系统总线又通过 Cache 控制机构中的高速总线桥与高速总线相连,使得挂在高速总线上的高速设备与 CPU 可以实现高速信息传输,而低速设备如打印机、传真机等挂在低速总线上,通过扩展总线接口与高速总线相连。这种结构使得各部件或设备效率获得更大的提高。

总线信息的传送方式

  • 并行传送是指每一位数据需要 1 根传输线,多位数据同时传送。并行传送的优点是传送速度快。但该传送方式要求线数多,成本高,一般在近距离时采用并行传送。 并行传送的速度指标为最大数据传输率(MB/S)。
  • 串行传送采用按位进行传送,只需一根数据线,一般是发送用一根数据线,接收用一根数据线,适合于远距离传输。数据传输时,由发送数据的部件进行并-串转换,在接收部件中进行串-并转换。串行传送的速度指标为每秒钟传送的二进制位数(波特率)。串行传送方式有异步方式和同步方式两种。 在异步方式中,以一个字符为一个传送单位即一帧。一帧信息通常以 1 个起始位(低电平表示)开始;接着是 5~8 位数据位,数据位从低位到高位顺序传送;然后可以有(或没有)一个校验位;最后是 1~2 个停止位(高电平)来作为一帧的结束。 在同步方式中,将若干个字符作为 1 个传送单位或 1 个数据块进行传送,在数据块的开始和结束处用 1 个或几个同步字符做标志,而数据块中的各个字符不再有起始、停止附加位。同步方式比异步方式速度快,但它要求由时钟来实现发送端和接收端的同步,并且接口的硬件较复杂。
  • 分时传送有两种含义。一种是指,采用总线复用,即在传输线上既传送地址信息,又传送数据信息,这样可以减少总线的线数,为此,必须划分时间片,使得同一总线上在不同的时间片中完成传送地址和传送数据的任务。二种是指,共享总线的部件分时使用总线。因为,总线是系统的公共资源,可以有很多部件挂在总线上,但在一个时间片内,总线只为一对互相交换信息的源设备和目的设备提供服务。所以,如果有多个设备要求使用总线时,要由总线控制器按时间片来分时提供服务。

总线仲裁和定时

总线仲裁

  • 总线上可以挂很多设备,但任一时刻都只能由一个设备控制和使用总线,此设备称为主设备。当多个设备同时提出使用总线的请求时,必须由总线控制器按事先规定的原则进行仲裁,确定使用总线的先后次序,从而决定由哪一个设备控制总线,这称为总线仲裁。

  • 除 CPU 外,I/O 设备也可以提出总线请求。在对多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。被授权的主设备在当前总线事务一结束,立即接管总线控制权,开始新的数据传送。主设备持续控制总线的时间称为总线占用时间。 根据总线仲裁电路的位置不同,总线仲裁方式可分为集中式仲裁和分布式仲裁两种。

  • 集中式仲裁方式将总线访问的控制逻辑做在一个控制器中,通过将所有总线请求集中起来,采用一个特定的仲裁算法来进行仲裁。该总线控制器可能是处理器中的部件,也可能是一个独立的控制单元。系统中每个设备至少有两条控制线连接到总线控制器上,一条是送往总线控制器的总线请求信号 BR,另一条是总线控制器送出的总线授权信号 BG。有些方案中还有一条送往总线控制器的总线忙信号 BS

    链式查询方式
    所有申请总线的设备合用一条 BR,为了减少总线授权线的数量,总线控制器的 BG 串行地从一个设备接口传送到下一个设备接口,假如 BG 到达的设备接口无总线请求,则继续将 BG 信号传送到下一个设备接口;如果 BG 到达的设备接口有总线请求,则 BG 信号就不再往下传送,该设备接口也就获得了总线控制权,开始使用总线。显然,在链式查询方式下,越靠近总线控制器的设备就越容易得到总线授权信号,也就是它的优先级越高,而设备离总线控制器越远则优先级越低,因此链式查询方式是通过设备接口的优先级排队来实现的。如果系统中有 BS 线,则当设备接口在获得总线后会发出一个BS,直到该设备使用完总线后取消这个信号,释放了总线,才使总线能被其他设备使用。 链式查询方式的优点是,只用很少几根线就能实现按一定优先级的总线仲裁,并且链式结构很容易扩充设备。它的缺点是,对查询链的电路故障很敏感,如果第 i 个设备接口中有关链的电路出现故障,则该设备后的设备都不能工作。另外,查询链的优先级是固定不变的,假如优先级高的设备出现繁忙的总线请求,则优先级低的设备可能长期得不到总线的使用权。
    在这里插入图片描述

    计数器定时查询方式
    先为总线上的每个设备分配一个总线地址,各设备的总线地址按连续值分配,并且在总线控制器中设置一个计数器,若设备数为 N,计数器的位数 n 应满足2n≥N。 BR 和 BS 与链式查询方式同样地与控制器连接。在计算器定时查询方式中,当总线上的任一设备要求使用总线时,通过 BR 线发出总线请求,总线控制器在 BS 信号无效的情况下让计数器开始计数,计数值作为设备地址通过一组地址线发送到各个设备,每个设备接口都有一个地址译码电路,当地址线上的计数值与请求总线的设备地址一致时,该设备获得总线的使用权,并将 BS 线置为“1”,此时终止计数查询。每次计数可以从 0 开始,也可以从上一次的中止点开始。如果是从 0 开始计数,则各设备的优先级与链式查询方式是相同的,优先级是固定的。如果计数是从上次的中止点开始,则每个设备使用总线的优先级相等。计数器的初值也可以用程序来设置,这样就可以方便地改变优先级。计算器定时查询方式的优先级设置较为灵活,但它需要增加额外的计数线。
    在这里插入图片描述
    独立请求方式
    每个设备都有一对独立的 BR 和 BG。当设备要求使用总线时,便通过各自的 BR 线给总线控制器发总线请求信号,总线控制器中设置有判优电路,它根据各设备的优先级确定首先响应哪个设备的总线请求,给设备以总线授权信号。 独立请求方式的优点是响应速度快,即确定优先响应的设备所花费的时间少,不需要一个设备接一个设备地查询;而且,对优先级的控制非常灵活,总线控制器可以根据一定的仲裁算法给各请求线以固定的优先级;也可以通过编程设置动态优先级;另外还可以用屏蔽(禁止)某个请求线的办法,不响应无效设备的请求。因此现代总线标准普遍采用独立请求方式。
    在这里插入图片描述

  • 分布式仲裁方式
    分布式仲裁方式没有独立的总线控制器,总线上每个主设备都有自己的总线仲裁逻辑。每次总线仲裁都由各个设备的总线仲裁逻辑根据一定的仲裁算法来决定自己是否占用总线。

    自举分布式仲裁方式
    每个设备有一根自己的总线请求线,每个需要总线请求的设备在各自的总线请求线上发出请求信号,同时接收其他设备的总线请求信号;如果没有接收到优先级比自己高的设备的总线请求信号,且此时“总线忙”信号无效,则该设备可以立即使用总线,并发出“总线忙”信号以阻止其他设备使用总线。如果一个设备在发出总线请求信号时,同时也检测到其他优先级更高的设备也请求使用总线,则该设备放弃本次对总线的请求。“总线忙”信号是多个设备共享的一根信号。自举分布式仲裁方式的缺点是需要较多的连线,每个设备不仅要有发出总线请求的线,还要有接收其他设备的总线请求线

    冲突检测分布式仲裁方式
    冲突检测分布式仲裁方式主要用于网络通信总线,在这种方式中,每个设备都可以独立地请求总线,当某个设备要使用总线时,它首先检测是否有其他设备正在使用总线,如果没有,则置总线忙,然后使用总线;如果多个设备同时检测到总线不忙而造成同时使用总线时会产生冲突,这时检测到冲突,并按照某种策略在冲突的各方选择一个设备获得总线控制权。不同的系统可以有不同的冲突解决策略。

    并行竞争仲裁方式
    在并行竞争仲裁方式中,每个主设备都有自己的仲裁号和控制器,当某个设备有总线请求时,把它的仲裁号发送到共享的仲裁线上,每个设备的控制器将仲裁线上接收到的号与自己的仲裁号进行比较,如果比自己的仲裁号大,则在仲裁线上撤销自己的仲裁号。最后,竞争获胜者的仲裁号被保留在仲裁线上。显然,这种方案中仲裁号越大,优先级越高。 并行竞争分布式仲裁比自举分布式仲裁所需的连接线要少,因为,并行竞争分布式仲裁中,对于 n 根仲裁线可以表示2n个优先级。

总线的定时

  • 请求总线阶段
    系统中任一主设备需要使用总线都必须向总线控制器提出总线请求。

    总线仲裁阶段
    由总线控制器决定下一个传送周期的总线控制权给哪一个请求的设备。

    寻址阶段
    获得控制权的主设备,发出本次要访问的从设备的地址以及相关命令信号,地址通过译码选中此次传送操作的从设备,并且通过命令信号使从设备开始起动。

    信息传送阶段
    在主设备和从设备之间进行信息传送。

    结束阶段
    主设备和从设备在总线上的信息撤消,主设备让出总线使用权。

  • 为了同步主方、从方的操作,必须制订定时协议。所谓定时,是指事件出现在总线上的时序关系。

    同步定时
    在同步定时中,总线上有一根设备公用的时钟信号线,每个信号出现在总线上的时刻由总线时钟信号来确定。所有信号都出现在时钟信号的前沿,大多数信号只占据单一时钟周期。CPU 首先发出读命令信号,并将存储器地址放到地址线上,它亦可发出一个启动信号,指明控制信息和地址信息已出现在总线上。存储器模块识别地址码,经一个时钟周期延迟(存取时间)后,将数据和认可信息放到总线上,被 CPU读取。 由于采用了公共时钟,每个功能模块什么时候发送或接收信息都有统一时钟规定,因此,同步定时具有较高的传输频率。 同步定时适用于总线长度较短、各功能模块存取时间比较接近的情况。这是因为同步方式对任何两个功能模块的通信都给予同样的时间安排。由于同步总线必须按最慢的模块来设计公共时钟,当各功能模块存取时间相差很大时,会大大损失总线效率
    在这里插入图片描述
    异步定时
    在异步定时中,后一操作信号出现在总线上的时刻取决于前一操作信号的出现,即建立在应答式,不互锁,半互锁和全互锁机制基础上。在这种系统中,不需要统一的公共时钟信号。总线周期的长度是可变的。CPU 发出读命令信号和存储器地址信号,经一段时延,待信号稳定后,CPU 发出 Ready 信号,引发存储器以 Ack 信号予以响应,并将数据放到数据线上。这个 Ack 信号使 CPU 读数据,然后撤消 Ready 信号,Ready 信号的撤消又使 Ack 信号撤消,最后地址线、数据线上不再有有效信息,于是读数据总线周期结束。 异步定时的优点是总线周期长度可变,不把响应时间强加到功能模块上,因而允许快速和慢速的功能模块都能连接到同一总线上。异步传送时,若在规定时间收不到应答信号,表示传送出现故障,需要排除故障,可见异步定时传送的可靠性高。但这些是以增加总线的复性和成本为代价。
    在这里插入图片描述
    不互锁:主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号,从模块接到请求信号后发出回答信号,不必等待获知主模块的请求信号已撤销,而是隔一段时间后自动撤销其回答信号。半互锁:主模块发出请求信号后,必须待接到从模块的回答信号后才撤销其请求信号,从模块接到请求信号后,在条件允许时发出回答信号,并且经过一段时间确认主模块已收到回答信号后,自动撤销回答信号。全互锁:主模块发出请求信号后,必须待接到从模块的回答信号后才撤销其请求信号,从模块发出回答信号,必须获知主模块请求信号已撤销后再撤销其回答信号。

    半同步
    所有的地址,命令,数据信号的发出时间都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别。增设一条等待响应线,采用插入时钟周期的措施来协调通信双方的配合问题。

实用总线标准

  • 所谓总线标准可视为系统与各模块,模块与模块之间的一个互联的标准界面。这个界面对两端的模块都是透明的,即界面的任意一方只需要根据总线标准的要求完成自身一方接口的功能要求,而无需了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。

ISA 总线

  • ISA(Industrial Standard Architecture)总线是 IBM 公司 1984 年为 PC/AT 微型计算机而建立的系统总线标准,也叫 AT 总线。它是在原先的 PC/XT 总线的基础上扩充而来的。由于使用广泛成为事实上的总线标准。

  • 其主要特点如下:

    主存寻址空间为 16MB,I/O 寻址空间为 64KB;可进行 8 位或 16 位数据访问;支持15 级硬件中断、7 级 DMA 通道。

    支持 8 种总线事务类型:存储器读、存储器写、I/O 读、I/O 写、中断响应、DMA响应、存储器刷新、总线仲裁。

    采用独立时钟,频率为 8MHZ,最大数据传输率为 16Mb/s;信号线共 98 根。

    它是一种简单的多主控总线。除了 CPU 外,DMA 控制器、DRAM 刷新控制器和带处理器的智能接口卡等都可以成为总线的主设备。

    没有支持总线仲裁的硬件逻辑,不支持多台主设备系统。

    所有的数据传输必须通过CPU或DMA接口来管理。

  • 由于兼容性好,它在上个世纪 80 年代是最广泛采用的系统总线,不过它的弱点也是显而易见的,比如传输速率过低、CPU 占用率高、占用硬件中断资源等。后来在 PC 98 规范中,就开始放弃了 ISA 总线,而 Intel 从 i810 芯片组开始,也不再提供对 ISA 接口的支持。

EISA 总线

  • EISA(Extended Industrial Standard Architecture)总线是在 ISA 总线基础上扩充的开放总线标准,它从 CPU 中分离出了总线控制权,支持多总线主控突发传送方式。时钟频率为8.33MHz。它在原 ISA 总线 98 根线的基础上扩充了 100 根线,并且与原 ISA 总线完全兼容。具有分立的数据线和地址线,数据线宽度为 32 位,可实现 8 位、16 位和 32 位的数据传输,最大数据传输率为 33Mb/s。地址线为 32 位,因此寻址空间达到 4GB。
  • 使用 286 和 386SX 以下 CPU 的电脑似乎和 8/16bit ISA 总线还能够相处融洽,但当出现了 32-bit 外部总线的 386DX 处理器之后,总线的宽度就已经成为了严重的瓶颈,并影响到处理器性能的发挥。因此在 1988 年,康柏、惠普等 9 个厂商协同把 ISA 扩展到 32-bit,这就是著名的 EISA(扩展 ISA)总线。EISA 总线的工作频率仍旧仅有 8MHz ,并且与8/16bit 的 ISA 总线完全兼容,由于是 32-bit 总线的缘故,带宽提高了一倍。可惜的是,EISA 仍旧由于速度有限,并且成本过高,在还没成为标准总线之前,在 20 世纪 90 年代初的时候,就给 PCI 总线给取代了。

VESA(VL-BUS)总线

  • 由CPU总线演化而来,采用CPU的时钟频率达33MHz,数据线为32位,可通过扩展槽扩展到64位,配有局部控制器,最大传输速率达133MBps。通过局部总线控制器,将高速IO设备直接挂在CPU上,实现CPU与IO设备之间的高速数据交换。

PCI 总线

  • PCI(Peripheral Component Interconnect,外部设备互连)用来连接高速外设接口,如硬盘控制器、高速网卡和图形显示卡等。
    在这里插入图片描述

  • PCI 总线是一种高带宽,不依附于某个具体处理器的高速外围总线。PCI 是在原来的系统总线和 I/O 总线之间新增加的一层总线,由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。图中包含了三级总线,系统总线、PCI 总线和 E(ISA)总线,其中系统总线也称为 HOST 总线(宿主总线)或 CPU 总线,它可以连接多个 CPU、主存储器和 PCI 桥。系统总线通过 HOST/PCI 桥接电路与 PCI总线相连,PCI 设备可以是主设备,也可以是从设备。挂接在 PCI 总线上的设备能与 CPU并发工作。PCI 桥使得 PCI 总线独立于 CPU,并且提供了数据缓冲功能。例如,当 CPU 要访问 PCI 总线上的外部设备时,它可以把一批数据快速写到 PCI 桥的数据缓冲器中,在数据通过 PCI 总线写入设备的过程中,CPU 又可以去执行其他操作了,这种并发工作方式提高了系统的整体性能。系统中有多条 PCI 总线,它们可以使用 HOST/PCI 桥与系统总线相连,也可以用PCI/PCI桥与另外的PCI总线相连,从而可以扩充整个系统的PCI总线的负载能力。

  • PCI 总线的主要性能如下:
    总线频率为 33.33/66.66MHz,为系统提供了一个高速的数据传输通道,与 CPU 时钟频率无关。

    数据线宽度为 32/64 位,数据最大传输率为 132~533Mb/s;地址线宽度为 32/64位。

    采用同步传送方式和集中式仲裁策略,并具有自动配置能力。

    地址线和数据线分时复用,支持无限突发式数据传输。在该模式下,PCI 能在极短的时间内发送大量的数据。 这种方式是指若被传送的数据在主存中连续存放,则在访问此组数据时,只需给出第一个数据的地址,占用一个时钟周期,其后每个数据的传输各占一个时钟周期,不必每次给出各个数据的地址。

    PCI总线部件和插件接口相对于处理器是独立的,支持不同结构的处理器,具有相对长的生命周期。

    当PCI总线驱动能力不足时,可以采用多层结构。

    可以完全兼容现有的驱动程序和应用程序,设备驱动程序可被移植到各类平台上。

  • PCI 总线支持即插即用技术,当配置 PCI 适配器时,配置带有即插即用功能的 BIOS,即可由软件自动识别插卡。
    在这里插入图片描述

  • 它有 100 根引脚线,其中 50 根信号线是总线信息传输所必须的,称为基本信号,大多位于图中的左侧。

    系统信号:定时用的 CLK(时钟)信号,其最大时钟频率 33MHz;RST (复位)信号,使总线上的所有 PCI 专用寄存器、定序器和信号复位成初始状态。

    地址和数据信号:AD[31:0]为 32 位地址/数据分时复用线,C/BE#[3:0] 为 4 根复用的总线命令线和字节允许线。地址阶段表示总线命令,数据阶段表示数据线上 4 个字节中对应的那个字节是否有效。PAR 为上述 32 根 AD[31:00]线和 4 根C/BE#[3:0] 线的偶校验线。地址阶段和写数据阶段由主设备发出 PAR,在读数据阶段由目标设备发出 PAR。

    接口控制信号:总线事务的定时控制。 FRAME#:由主设备驱动,总线传输的开始使其有效,总线传输的最后一个数据交换之前撤消。IRDY# :发送端的就绪信号,由主设备驱动,在读操作中表示主设备准备好接受数据;在写操作中表示主设备已把有效数据放到 AD 线上。TRDY# :接收端的就绪信号,由从设备驱动。写操作中表示从设备准备好接受数据;读操作中表示从设备已把有效数据放到 AD 线上。STOP# :双向三态,由从设备驱动,要求主设备停止当前的总线传输操作。LOCK#:双向三态,由主设备驱动的总线锁存信号,表示正在进行的总线操作不可被打断。IDSEL :输入,设备选择初始化信号,在配置读和配置写事务中作片选信号。DEVSEL#:双向三态,由从设备驱动。当该信号由某个设备输出,表示所译码的地址属于该设备的地址范围;当作为输入信号时,可以判断总线上是否有设备被选中。

    仲裁信号:非共享线,每个主设备一对,直接与总线控制器连接。 REQ# :双向三态,总线占用请求信号,由希望成为总线主控设备的设备驱动。它是一个点对点信号,并且每一个主设备都有自己的REQ。 GNT#:双向三态,总线占用允许信号,主设备接受到该信号则获得总线的使用权。这也是点对点信号,每个总线主控设备都有自己的GNT 。

    错误报告信号:用于报告奇偶校验错误和其他错误。 PERR#:双向三态,奇偶校验错报告,表示一个目标设备在写数据阶段或一个主设备在读数据阶段检测到一个奇偶校验错。 SERR#:漏极开路,系统错误报告。可由任何设备发出,报告地址校验错或其他严 重错误。

  • PCI 总线的另外 50 根线是可选信号,位于右侧,它们分为以下几组:

    中断信号:也是非共享信号。每个设备可以有自己的中断请求线,一起连到中断控制
    器中。

    高速缓存支持信号:用来对 PCI 总线上的存储器提供高速缓存支持。

    64 位总线扩展信号:与基本的 32 位地址和数据线结合成 64 位地址和数据线;再加
    上一对用于 64 位传输请求的请求线和应答线。

    JTAG/边界扫描信号:用于支持 IEEE 标准 1149.1 中定义的测试程序。

    接口控制信号LOCK#:双向三态,由主设备驱动的总线锁存信号,表示正在进行的总线操作不可被打断。

  • PCI 总线使用 124 线总线插槽,用于连接总线板卡,板卡的总线连接引脚每边各有 62个引线。扩充到 64 位时,总线插槽需增加 64 线,变成 188 线。相应地,板卡的总线连接引脚每边变成 94 线。

  • PCI 总线主要的总线操作围绕着各种总线事务展开。总线事务(Transaction)是指在总线上进行的、与单个总线请求有关的一组完整的总线操作过程。PCI 总线上的数据传送采用猝发传送机制,即一个猝发传送包括一个地址相和一个或多个数据相。部分典型的总线事务及相关总线操作如下:

    典型的 PCI 读事务:以一个地址相和若干个数据相组成。启动读事务的主设备使FRAME信号有效表示开始一个总线事务,FRAME 有效后的第一个时钟是地址相,主设
    备在 AD[31:00]上给出有效地址,在C/BE#[3:0]上给出总线读命令码(存储器读或 IO 读)。总线上所有的从设备采样到 FRAME 有效后均输入地址和命令码,并进行译码,译码选中的目标使DEVSEL有效,表示该设备认领该事务的访问。地址相后FRAME 保持有效表示该事务还在继续,当该事务已经处于最后一个数据相时,在IRDY 为有效的情况下,主设备使FRAME无效。

    典型的 PCI 写事务:总线操作与读事务类似。不同的只是由于写事务中 AD 线上的地址和数据都是由主设备驱动的,因此,在地址相后 AD 线上不需要周转或等待周期,直接将地址变成数据放在 AD 线上即可。

    PCI 错误处理:PCI 提供奇偶校验和系统错误两种错误的检测和报错功能。奇偶校验采用偶校验,校验的内容包括地址相和数据相内的 AD[31:00]和C/BE#[3:0]信号线,由驱动AD[31:00]的设备负责对 AD[31:00]和C/BE#[3:0]线上的逻辑值进行偶校验计算,并在 PAR信号线上驱动偶校验位,PAR 时序与 AD[31:00]的时序相同,但滞后一个时钟。PCI 总线用PERR和SERR两个引脚来报告错误,PERR用于报告所有事务中的数据奇偶校验错,由数据相中的接收数据者对全部 AD 线C/BE#[3:0] 线及 PAR 线的值进行偶校验计算,若发现错,发出PERR信号,比 PAR 滞后一个时钟。在一个事务中,无论是主设备还是从设备发出PERR信号,处理该错误均由主设备负责。SERR用来报告所有事务中的地 址奇偶校验错,Special Cycle 命令周期中的数据奇偶校验错,以及其他错误(由系统设计确定)。当一个设备发出SERR的同时,使其内部配置空间状态寄存器中的“通知系统错误”(Signal System Error)位置位。在许多系统中,将所有设备的SERR信号连在一起,输入到 南桥中的 NMI(非屏蔽中断)逻辑,由南桥发 NMI 信号送给 CPU。

    PCI 总线仲裁:PCI 总线是多主设备总线,每一个 PCI 主设备都和 PCI 总线控制器之间有一对专用的请求 REQ 和允许GNT 线。首先由想要启动一个总线周期的主设备发出REQ信号向总线控制器提出总线请求,总线控制器根据总裁算法决定哪一个主设备为下一个总线使用者,发相应的GNT 信号,主设备采样到相应的GNT 为有效后,便获得了总线 的使用权。

    PCI 的三种数据通信:程序 IO、直接存储器访问、同级传送。程序 IO 是 CPU 与一个PCI设备的数据通信,PCI设备与主存之间的数据通信可以用程序IO方法,也可以用DMA方法实现。同级传送是指两个 PCI 设备之间的数据通信。

    从设备的数据相等待时间:在主设备启动对从设备的访问后,若在数据相里,从设备还没有准备好,可以用TRDY 无效以插入等待状态。

    由从设备启动的事务终止:在大多数情况下,都是由主设备控制一个事务的启动、持续和终止,从设备按主设备的要求读或写数据。但如果从设备不能在上述规定的时间内完成
    主设备的数据传送请求时,它可以主动终止该事务。从设备用STOP和TRDY 信号告知主设备终止该事务。

    PCI 中断结构:PCI 总线定义了四个中断信号:INTA、INTB、INTC 、INTD, 所有 PCI 设备共享这四个中断信号。

    PCI 配置周期的产生:每个 PCI 设备中的每个功能都有一个配置空间,最大为 256B,也称为配置寄存器,在系统引导期间,CPU 要执行引导程序对配置空间进行访问,读取各设备的配置空间中的设备标识信息,写入相应配置信息。

PCI Express 总线

  • 和以前的总线相比,PCI 总线具有很多优势,其中最重要的是处理器的独立性,带缓冲的隔离,总线主控和真正的即插即用。但随着处理器的速度提高,处理器和存储器的频率不断的攀升,使 PCI 总线面临一系列挑战。PCI 总线的协议开销和总线拓扑结构导致可使用的带宽要小于理论带宽。总线上的设备要共享带宽,成为 PCI 总线的主要局限。由于 PCI 总线的时钟频率不能满足某些应用要求,由其改进衍生的其他一些总线,如 PCI-X 和高级图像端口(AGP), 通过提高总线频率来缓解带宽的压力。但增加频率的副作用是总线连通距离和总线收发器可驱动连接器的数量也会相应地缩短和减少。

  • PCI Express 和 PCI 不同的是实现了传输方式从并行到串行的转变。PCI Express 是采用点对点的串行连接方式,这个和以前的并行通道大为不同,它允许和每个设备建立独立的数据传输通道。不用再向整个系统请求带宽,这样也就轻松地到达了高带宽要求。

  • PCI Express 总线的结构
    在这里插入图片描述

    根复合体(Root Complex)是将 CPU 和主存储器连到 PCI Express 线路结构(Fabric)的设备。根复合体内部有一条虚拟 PCI 总线,总线号总是为 0,可以下挂一个多个 PCI Express端口,每个端口连出一条 PCI Express 链路,下挂一个端点设备或一个交换开关,如图的根复合体支持三个端口。根复合体能代表 CPU 启动 PCI Express 事务和访问主存;能在端口上接收来自 PCI Express 设备的访存请求;也可以将事务从一个端口路由到另一个端口。根复合体内部提供中央资源:热插拔控制器、电源管理控制器、中断控制器、错误检测和报告逻辑等。

    交换开关(Switch)是一个具有 2~n 个端口的设备,每个端口连一条 PCI Express 链路,在系统中用于多设备的互连。图中的交换开关有四个端口,一个上游端口指向根复合体,三个下游端口分别与三条链路相连。交换开关可以将事务从任一个端口路由到另一个端口。

    端点(Endpoint)是具体的设备,如以太网、USB 或图形设备,是 PCI Express 事务的请求者(启动事务)或完成者(响应事务)。端点使用 PCI 类型 00 配置头标,每个端点初始化时设置一个设备 ID,由总线号、设备号和功能号组成。端点作为挂连在一条链路上的唯一设备,设备号总是 0。

    端口(Port)是 PCI Express 设备与链路之间的接口,由差分发送器和接收器组成。指向根复合体方向的端口为上游端口;离开复合体方向的端口为下游端口。端点上只有上游端口,根复合体上只有下游端口,而交换开关既有上游端口,也有下游端口。一个端口中接收包的是入端口,发送包的是出端口。 PCI Express 到 PCI/PCI-X 的桥是将 PCI/PCI-X 总线和设备兼容到 PCI Express 系统的一个连接桥,PCI/PCI-X 总线与系统统一编号。如图 9-13 中表示了一条 PCI/PCI-X 总线(编号为 8)及其扩展槽。

  • PCI Express 总线的主要特点

    串行的点对点互连:PCI Express 总线系统中以链路进行两个 PCI Express 设备间的物理连接,每条链路点到点地互连两个设备。每条链路分配有链路号,即总线号,如图中的 PCI-E1~7。 一条链路包含多条通道,可选择的通道数为:×1、×2、×4、×8、×12、×16或×32。每条通道有4条信号线,即发送用一对差分信号,接收用一对差分信号。一条×32的链路有32个通道,则每个方向有32对差分信号,共128条信号线。在硬件初始化期间,链路两端的设备自动初始化链路的带宽和工作频率。操作系统和固件不参与链路级的初始化。

    差分信号传送:通道中每一方向的两条信号线 D+和 D-之间的正值电压差为逻辑1;负值电压差为逻辑 0;无压差表示驱动器处于高阻态,此时为链路的低功耗状态。

    采用交换开关互连多台设备:在要求互连的多台设备的系统中需要使用交换开关,规范没有规定交换开关最大能实现的端口数。交换开关可以是单独的,也可以集成在根复合体设备中。

    PCI Express 事务与包:PCI Express 支持与 PCI 相同的事务类型,包括存储器读、写和 IO 读写等,并增加了一个消息事务。与 PCI 和 PCI/X 总线周期不同,PCI Express 将各类事务按一定格式编制成包,执行事务时,包被拆成字节,通过链路中多个可用的通道串行地发送和接收。一条链路上通道越多,包发送得越快,链路的带宽越宽。 PCI Express 的事务分成两类:非转发事务,即请求者发送请求包给完成者,完成者返回完成包给请求者,如存储器读事务;转发事务,即只有请求者给完成者发送请求包,而完成者不用返回完成包给请求者,如存储器写事务。

    具有更高的数据传输率:PCI Express 的连接比传统的 PCI 总线能提供更高的传输速率和质量。同时 PCI Express串行连接使用了内嵌时钟技术的 8b/10b 编码模式,时钟信息直接写入数据流中,相对于需要传输同步时钟信号的大多数并行总线来说,更节省了传输通道和提高了传输效率。 PCI Express 的×1 通道能实现单向 312.5MB/秒(2.5Gbit /s * 1 / 8 位)的传输速率,同理×32 通道连接就能提供 10GB/秒的速率,但考虑到 8b/10b 内嵌时钟的 20%左右的消耗,实际的传输速率大概是 8GB/秒(×32)。

    PCI Express 设备采用层次结构:PCI Express 规范规定对于设备的设计采用分层的结构,如图 9-14 所示,由事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer)组成。当数据在设备间传输时,每个设备都会被看成一个协议栈(Protocol Stack)。在设备的发送部分,首先根据来自设备核和应用程序的信息,在事务层形成事务包(TLP),存储在发送缓冲器里,等待推向下层;在数据链路层,将 TLP 包再串接一些附加信息,用于对方接收 TLP 包时错误检查;在物理层,对 TLP 包进行编码,使用链路中的可用通道,经差分发送器发送出去。在设备的接收部分,物理层的接收器对接收的 TLP 包的内容进行译码,并将结果推入上层;在数据链路层,对进来的包进行错误检查,若无错,将该包再推入上层;事务层把TLP 包放入接收缓冲器,并将其转换为设备核和应用程序处理的表示形式。
    在这里插入图片描述

    错误处理:PCI Express 在发送的每个数据包中嵌入两种 CRC 字段,链路级的 CRC 和端-端 CRC。从发送者到接收者的途中可能要经过若干条链路,,每一条链路的接收者都要检查链路级CRC 字段,若有错,接收器会通知发送器该数据包有错,发送器自动重发该数据包。

    具有优先级的传送:PCI Express 支持以不同的优先级传送不同应用程序的数据包。PCI Express 包中有一个传输类别(Traffic Class,TC)字段,取值为 0~7,设备应用程序或设备驱动程序分配,赋予数据包的优先级。在交换开关、端点和根复合体的端口里设有若干虚通道(Virtual Channel,VC)缓冲器,端口对 VC 的优先级仲裁可以配置。显然优先级高的 TC 应该映射到优先级高的 VC 上。多个 TC 可以映射到一个 VC,但一个 TC 不能映射到多个 VC。

    两种中断方式:一种是类似 PCI-X 的 MSI 协议,PCI Express 设备启动一个写存储器包,向根复合体发送一个中断向量,根复合体再中断 CPU。另一种是使用中断消息事务向根复合体传送传统PCI 总线上的 INT x#信号的跳变情况,这种中断方式只对具有传统功能的端点设备和 PCI Express-PCI 桥的系统有用。

    支持热插拔:PCI Express 与 PCI 集中热插拔管理不同,PCI Express 将热插拔管理的功能分布到交换开关或根复合体的端口逻辑中。当有热插拔中断消息时,将其传达到根复合体,引发热插拔软件去检测热插拔事件。

AGP总线(加速图形端口)

  • 处理三维数据要求有惊人的数据量和更宽广的数据传输带宽。
  • 显卡专用的局部总线,基于PCI2.1版规范并进行扩充修改而成,采用点对点通道方式,以66.7MHz的频率直接与主存联系,以主存作为帧缓冲器,实现了高速存取。最大数据传输率为266MBps,是传统PCI总线带宽的两倍。
  • 双激励的传输技术,能在一个时钟的上下沿双向传递数据,这样,AGP实现的传输频率为66.7MHz*2,即133MHz,最大数据传输率可增为533MBps。

RS-232C/RS-485 接口总线

  • 计算机系统中,设备与部件之间的连接除了上述总线技术外,还有标准接口总线。标准接口总线主要是解决主机与外设之间的适配问题。
  • 在数据通信、计算机网络以及分布式工业控制系统中,经常采用串行通信来交换数据和信息。1969 年,美国电子工业协会(EIA)公布了 RS-232C 作为串行通信接口的电气标准,该标准定义了数据终端设备(DTE)和数据通信设备(DCE)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。
  • RS-232C 通常应用于数据终端设备(计算机)和数据通信设备之间的连接。因为,计算机之间的通信传输是数字信号,它要求传输频带很宽,而计算机远程通信一般是通过载波信号传输,不可能有这么宽的频带。如数字信号直接进行远程通信,其传输信号必定会畸变。因此,在发送端必须通过调制解调器(Modem)将数字信号转换成载波信号;而在接收端又必须用 Modem 将载波信号恢复成原来的数字信号。如果要在两台计算机之间直接用 RS-232-C 连接进行串行通信,其最长距离约为 15 米(在满足最高速度误 码率<109前提下,在低速和误码率要求低的情况下,传送距离可达 300 米)。
    在这里插入图片描述
  • RS-232-C 接口连接器一般使用型号为 DB-9 插头座,通常插头在 DCE 端,插座在 DTE端。PC 机的 RS-232 口为 9 芯针插座。一些设备与 PC 机连接的 RS-232 接口,因为不使对方的传送控制信号,只需要三条接口线,即“发送数据 TXD”、“接收数据 RXD”和“信号地GND”。RS-232 传输线采用屏蔽双绞线。
  • 在 RS-232-C 中信号线的电压均为负逻辑。即:逻辑“1”为-3 到-15V;逻辑“0”为+3 到+15V。因此,RS-232-C 与 TTL 以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的 TTL 器件连接,必须在 RS-232C 与 TTL 电路之间进行 EIA-RS232 电平与 TTL 电平的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如 MC1488、SN75150 芯片可完成 TTL 电平到 EIA 电平的转换,而 MC1489、SN75154 可实现 EIA 电平到 TTL 电平的转换。MAX232 芯片可完成TTL,EIA 双向电平转换。
  • RS-232C 总线传输速率较低,在异步传输时,波特率为 20Kbps;它采用单端驱动非差分接收电路,因而存在着传输距离不远(最大传输距离 15m)和传送速率不太高(最大位速率为20Kb/s)的问题。远距离串行通信必须使用 Modem,增加了成本。在分布式控制系统和工业局部网络中,传输距离常介于近距离(<20m)和远距离(>2km)之间的情况,因而需要制定新的串行通信接口标准。
  • 如果要求通信距离在几十米到上千米时,可以采用 RS-485 串行总线标准。RS-4385 采用平衡发送和差分接收,因此具有抑制共模干扰的能力。RS-485 总线收发器具有较高的灵敏度,能检测最低 200mV 的电压,因此可以使超过千米的传输信号得到恢复。RS-485 采用半双工通信,任何时候只能有一点处于发送状态,所以,发送电路必须由允许信号来控制。RS-485 标准符合真正多点通信网络要求,并且该标准规定在一条单总线(2 线)上支持 32个驱动器和 32 个接收器。有些 RS-485 收发器修改输入阻抗以便允许多达 8 倍以上的节点数连接到相同总线。RS-485 最常见的应用是在工业环境下可编程逻辑控制器之间、现场控制器之间的通信连接,许多智能仪器设备均配有 RS-485 总线接口,将它们联网也十分方便。

USB 接口总线

  • USB(Universal Serial Bus)是通用串行总线,是由 Conpaq,DEC,IBM,Inter,Microsoft,NEC 和 Northen Telecom 等公司为简化 PC 与外设之间的互连而共同研究开发的一种标准化连接器,它支持各种 PC 与外设的连接,还可实现数字多媒体集成。

  • USB 接口的主要特点有:

    即插即用:它可以自动检测和安装外设,用户只要简单地将外设插入到 PC 以外的总线中,PC 就能自动识别和配置 USB 设备,实现真正的即插即用。

    支持“热”插拔:即不需要关机断电,也可以在正运行的电脑上插入或拔除一个 USB设备。

    是一种通用万能插口:USB 连接器将各种各样的外设 I/O 端口合而为一,使 PC 可以用全新的方式控制外设。USB 将成为 PC 的标准配置。基于 USB 的外设将逐渐增多,现在满足 USB 要求的外设有:调制解调器,键盘,鼠标,光驱,游戏手柄,软驱,扫描仪等,而非独立性 I/O 连接的外设将逐渐减少。

    扩展灵活:一般计算机只有两个 USB 端口,如果想要连接更多的 USB 外设,无需在 PC 内添加接口卡,利用 USB 的级联星型拓扑结构,用 USB 集线器可提供多个USB 端口,只要将该集线器直接插入计算机即可。有了足够的 USB 端口,就可以最多连入 127 个 USB 设备。

    USB 总线标准由 1.1 版升级到 2.0 版后,传输率由 12Mbps 增加到了 240Mbps,更换介质后连接距离由原的 5 米增加到近百米。可以支持宽带数字摄像设备及新型扫描仪、打印机及存储设备。

    USB 总线结构简单:信号定义仅由 2 条电源线和 2 条信号线组成,编码方式为 NRZ-I编码。

  • USB 采用四线电缆,其中两根是用来传送数据的串行通道,另两根为所接设备设备提供电源,对于高速且需要高带宽的外设,USB 以全速 12Mbps 的传输数据;对于低速外设,USB 则以 1.5Mbps 的传输速率来传输数据。USB 总线会根据外设情况在两种传输模式中自动地动态转换。

  • USB 是基于令牌的总线。USB 主控制器广播令牌,总线上设备检测令牌中的地址是否与自身相符,通过接收或发送数据给主机来响应。USB 通过支持悬挂/恢复操作来管理 USB总线电源。USB 系统采用级联星型拓扑,该拓扑由三个基本部分组成:主机(Host),集线器(Hub)和功能设备。
    在这里插入图片描述

  • 主机也称为根,根结或根 Hub,它做在主板上或作为适配卡安装在计算机上,主机包含有主控制器和根集线器(Root Hub),控制着 USB 总线上的数据和控制信息的流动,每个
    USB 系统只能有一个根集线器,它连接在主控制器上。

  • 集线器是 USB 结构中的特定成分,它提供端口(Port)将设备连接到 USB 总线上,同时检测连接在总线上的设备,并为这些设备提供电源管理,负责总线的故障检测和恢复。集线器可为总线提供电源,亦可为自身提供电源(从外部得到电源),自身提供电源的设备可插入总线提供电源的集线器中,但总线提供电源的设备不能插入从外部得到电源的集线器或支持超过四个的端口中。

  • USB 设备和主机的数据流传输由主控制器负责。每个设备提供了一个或多个可以与客户程序通信的接口,每个接口由 0 个或多个管道组成,它们分别独立地在客户程序和设备的
    特定终端间传输数据。USB 驱动程序(USBD)为主机软件建立了接口和管道,当提出配置请求时,主控制器根据主机软件提供的参数进行服务。

  • USB 支持四种基本的数据传输方式:控制传输,等时传输,中断传输及数据块传输。
    控制传输方式:用于外设与主机之间的控制、状态、配置等信息的传输,为外设与主机之间提供一个控制通道。每种外设都支持控制传输方式,这样主机与外设之间就可以传送配置和命令/状态信息。

    等时(lsochronous)传输方式:用于有周期性、有限时延和带宽且数据传输速率固定的外设与主机间的数据传输。该方式无差错校验,故不能保证正确的数据传输,如计算机-电话集成系统(CTI)和音频系统与主机的数据传输。

    中断传输方式:用于像游戏手柄、鼠标和键盘等输入设备,这些设备与主机间数据传输量小,无周期性,但对响应时间敏感,需要及时处理,以达到实时效果。

    数据块(Bulk)传输方式:用于打印机,扫描仪,数码相机等外设,这些外设与主机间传输的数据量大,USB 在
    满足带宽的情况下才进行该方式的数据传输。

除了等时传输方式外,其他三种方式在数据传输发生错误时,都会试图重新发送数据,以保证传输的正确性。

IEEE 1394 接口总线

  • IEEE 1394 最初是由苹果计算机公司于 1986 年开发的FireWire(火线)规范,这个名称来源于它令人惊奇的传输速度。该规范于 1995 年得到了标准化,名称也由 FireWire 改为了IEEE 1394。此外,索尼公司对1394进行了许多改进,并且推出了它自己的版本dubbed i.Link,
    大部分的索尼计算机和数码摄像机都使用了该版本的 IEEE 1394 规范。

  • IEEE 1394 与 USB 总线的功能相近,都是串行总线,使用类似协议,都支持高速数据传输率。随着新的 USB 2.0 技术的推出,USB 的传输速度已经达到了 480 Mbps,而最近完成的 IEEE 1394b 规范的传输速度则可以达到最大 800 Mbps 的传输速度。在将来,人们还计划推出 P1394b 规范,该规范将可以使用光纤和 CAT-5 电缆,而且速度也将提高到 3200 Mbps。需要使用 SCSI 接口的很多设备都将转而使用 IEEE 1394,因为 IEEE 1394 具有热插拔功能。

  • IEEE 1394 线缆一般由 4 到 6 根线组成:用于数据传输的两对双绞线和用来向外部设备供电的一对电源线(可选的)。为了适应不同的线缆和插孔配置以及多种网络设备的需要,还有 6 针到 4 针的转接电缆和 1394 集线器。IEEE 1394 可以同时连接多达 63 种的设备。

  • 采用级联方式连接各个设备。它采用树型或者菊花链结构,设备间电缆最大长度 4.5米,采用树型结构时可达 16 层,从主机到最末端总长可达 72 米。IEEE 1394 的拓扑结构中不需要集线器就可以连接 63 台设备。并且可以由网桥再将这些独立的子网连接起来。

    同时支持等时传输和异步传输两种方式。

    采用基于内存的地址编码,具有高速传输能力。支持高速应用并不断升级。

    采用点对点结构。任何两个支持 IEEE 1394 的设备可以直接连接,不需要通过主机控制。

    安装使用方便容易。IEEE 1394 支持即插即用和热插拔,再增加或撤消外设后,IEEE 1394 会自动调整拓扑结构,重设整个外设网络状态。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值