博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PCI总线与HT总线
阅读量:4095 次
发布时间:2019-05-25

本文共 2424 字,大约阅读时间需要 8 分钟。

什么是总线?

总线(BUS)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

在计算机系统中按其所连接的对象,总线可分为:片总线,又称器件级总线,它是中央处理器芯片内部的总线。内总线,又称系统总线或板级总线,它是计算机各功能部件之间的传输通路,微型计算机总线通常称为内总线。外总线,又称通信总线,它是计算机系统之间,或者是计算机主机与外围设备之间的传输通路。

总线是一种共享型的数据传送设备。虽然总线上可连接多个设备,但任一时刻通常只能有一对设备参与数据传输。按信息传输的形式,总线可分为并行总线和串行总线两种。总线连接各个部件的一组信号线,通过信号线上的信号表示信息,通过约定不同信号的先后次序即可约定操作如何实现。

为了提高计算机的可扩展性,以及部件及设备的通用性,除了片内总线外,各个部件或设备都采用标准化的形式连接到总线上,并按标准化的方式实现总线上的信息传输。而总线的这些标准化的连接形式及操作方式,统称为总线标准。

总线按照功能和规范可分为五大类型:

  1. 数据总线(Data Bus)
  2. 地址总线(Address Bus)
  3. 控制总线(Control Bus)
  4. 扩展总线(Expansion Bus)
  5. 局部总线(Local Bus)

“数据总线DB”用于传送数据信息。数据总线是双向三态形式的总线,即它既可以把CPU的数据传送到存储器或I/O等其他部件,也可以将其它部件的数据传送到CPU。数据总线的位数时微型计算机的一个重要指标,通常与微处理的字长相一致。数据的含义是广义的,可以是真正的数据,也可以是指令代码或状态信息,甚至是一个控制信息。因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。

”地址总线AB“是专门用来传送地址,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线是单向三态的,这与数据总线不同,地址总线的位数决定了CPU可直接寻址的内存空间大小。

“控制总线CB”用来传送控制信号和时序信号。控制信号中,有的时微处理器送往存储器或I/O接口电路的,也有是其他部件反馈给CPU的。因此,控制总线的传送方向由具体控制信号而定,(信息)一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。

总线应用结构图:

在这里插入图片描述

描述两种不同的总线,分别是PCI总线和HT总线。

PCI总线,PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写。该总线目前是使用最为广泛的接口。

PCI总线是一种树型结构,并且独立与CPU总线,可以和CPU总线并行操作。PCI总线上可以挂接PCI设备和PCI桥片,PCI总线上只允许有一个PCI主设备,其他的均为PCI从设备而且读写只能在主从设备之间进行,从设备之间的数据交换需要通过主设备中转。

PCI总线结构图:

在这里插入图片描述
在处理器系统中,含有PCI总线和PCI总线树这两个概念。这两个概念并不相同,在一颗PCI总线树中可能具有多条PCI总线,而具有血缘关系的PCI总线组成一颗PCI总线树。PCI总线由HOST主桥或者PCI桥管理,用来连接各类设备,如声卡、网卡和IDE接口卡等。在一个PCI处理器系统中,可以通过PCI桥扩展PCI总线,并形成具有血缘关系的多级PCI总线,从而形成PCI总线树型结构。在处理器系统中有几个HOST主桥,就有几颗这样的PCI总线树,而每一颗PCI总线树都与一个PCI总线域对应。与HOST主桥直接连接的PCI总线通常被命名为PCI总线0。考虑到在一个处理器系统中可能有多个主桥。

PCI总线的地址总线与数据总线是分时复用的。一方面可以节省接插件的管脚数,另一方面便于实现突发数据传输。在做数据传输时,由一个PCI设备做发起者(主设备),而另一个PCI设备做目标(从设备)。总线上的所有时序的产生与控制,都由主设备来发起。PCI总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构来决定谁有权利拿到总线的主控权。

当PCI总线进行操作时,发起者(主设备)先置REQ#,当得到仲裁器的许可时(GNT#),会将FRAME#置低,并在AD总线上放置从设备地址,同时C/BE#放置命令信号,说明接下来的传输类型。所有PCI总线上的设备都需对此地址译码,被选中的设备要置DEVSEL#以声明自己被选中。然后当IRDY#与TRDY#都置低时,可以传输数据。当主设备数据传输结束前,将FRAME#置高以表明只剩最后一组数据要传输,并在传完数据后放开IRDY#以释放总线控制权。

HT总线,HT是HyperTransport的简称。HyperTranspor本质上是一种为主板上的集成电路互连而设计的端到端总线技术,目的是加快芯片间的数据传输速度。在基础原理上,HyperTransport采用点对点的单双工传输线路,引入抗干扰能力强的LVDS信号技术,命令信号、地址信号和数据信号共享一个数据路径,支持DDR双触发发技术等等。

HT总线与PCI总线在用途上截然不同,PCI作为计算机的系统总线,而HyperTransport总线则被设计为两枚芯片之间的连接,链接对象可以是处理器与处理器、处理器与芯片组、芯片组的南北桥、路由器控制芯片等等,术语计算机系统的内部总线范畴。

两者的区别如图:

在这里插入图片描述
PCI总线属于上图中的E-BUS这类,而HT总线则属于I-BUS这一类。

转载地址:http://kpxii.baihongyu.com/

你可能感兴趣的文章
学习C++需要注意的问题
查看>>
C++模板
查看>>
C++双冒号(::)的用法
查看>>
【Unity】封装SQLite管理类
查看>>
【Unity】面试题整理
查看>>
【C#】如何实现一个迭代器
查看>>
【Unity】Destroy和DestroyImmediate的区别
查看>>
【Lua】Mac系统下配置SublimeText的Lua编译环境
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>
【Unity】微信登录后将头像存为bytes,将bytes读取成sprite图片
查看>>
【Unity】使用GPS定位经纬度
查看>>
【UGUI/NGUI】一键换Text/Label字体
查看>>
【C#】身份证本地验证
查看>>
【Unity】坑爹的Bug
查看>>
【算法】求数组中某两个数的和为目标值
查看>>
如何高效学习动态规划?
查看>>
动态规划法(六)鸡蛋掉落问题(一)
查看>>
LeetCode 887.鸡蛋掉落(C++)
查看>>
Dijkstra‘s algorithm (C++)
查看>>
奇异值分解(SVD)的原理详解及推导
查看>>