今天给大家介绍计算机的总线,总线是连接计算机不同设备的一条数据线,分两个板块给大家介绍:总线的概述、总线的仲裁。
这里面分为两个板块:总线的概述(是什么、什么用)、总线的分类。
首先我们来了解总线是什么?有什么用?从生活中最常见的例子开始,如下图:
这个相信大家都用过,它的名字叫 USB(Universal Serial Bus),它也是一条总线,中文名称是通用串行总线。联系一下实际生活,可以看出 USB 有如下作用:
通过以上对USB总线的认识,可以总结出总线的基本功能:解决不同设备之间的通信问题。
假设如果没有总线存在,那么计算机的五个主要部件各自都需要连接一条线,形成分散连接,非常麻烦,如下图所示:
如果这个时候我们新增了一个输入设备,那么新增的输入设备就要逐个连接到存储器、运算器、控制器中,就会导致线路越来越复杂,如下图:
我们再来看一下,如果有了IO总线,那么输入设备、输出设备都可以直接连接到总线上,总线的另外一边连接存储器、运算器、控制器,使得计算机里面的结构变得更加清晰、容易梳理,如下图:
这就是总线所带来的巨大变化,了解了总线是什么?有什么用?接下来我们再来了解总线的分类。
总线主要分成两类:片内总线、系统总线。
片内总线是指在芯片内部的总线,如下图:
假设这个是CPU,在CPU里面也是有相关的总线的,这些总线连接高速缓存、控制器、运算器及中断系统。那么芯片通过片内总线就可以简化内部的电路结构,总的而言,片内总线特点如下:
一句话总结:片内总线就是高集成度芯片内部的信息传输线。
对于系统总线就很容易理解,我们上面提到的USB总线就是属于系统总线的一种。对于系统总线呢,就是连接计算机外围各种设备的一条总线,包括这里面的CPU、主存、硬盘、IO设备、USB插槽、PCI插槽、显卡、声卡等等设备。
一句话总结:系统总线就是CPU、主内存、IO设备、各组件之间的信息传输线。
系统总线分为三类:数据总线、地址总线、控制总线,接下来分别说说这三种的作用。
数据总线的位数一般与CPU位数相同(32位、64位),特点如下:
地址总线是用于传输数据的地址而使用的,也就是用于寻址。如果地址总线位数等于n,寻址范围:0~2^n。特点如下:
控制总线特点如下:
这里面包含两部分:为什么需要总线仲裁、总线仲裁的方法。
为什么需要总线仲裁呢?在这里举个例子,假设在计算机里面,主存需要和硬盘及IO设备交换数据,这个时候硬盘和其他的IO设备都已经就绪了。那么总线应该由硬盘还是IO设备来使用呢?这个时候如果没有一个第三方的仲裁器来解决这个问题的话,将会引起设备之间的冲突。
所以这就是仲裁器存在的理由,仲裁器的目的就是为了解决不同设备使用总线的优先顺序,解决总线使用权的冲突问题,接下来了解总线仲裁的方法。
总线仲裁有三个方法:链式查询、计时器定时查询、独立请求,接下来逐个介绍这些方法。
假设现在有三个设备:设备1、设备2、设备3,这三个设备都是通过总线与系统总线连接。除此之外,还有个仲裁控制器,仲裁控制器与设备1、设备2、设备3通过仲裁控制线分别连接起来。对于链式查询,总线的使用权的信号就是通过链式连接设备1、设备2、设备3,如下图所示:
如果现在设备2要使用总线,那么设备2会通过仲裁控制线向仲裁控制器发出总线使用的请求,仲裁控制器在拿到请求之后就会发出允许使用的信号。信号首先会通过链式进入设备1,如果设备1不需要使用的话,再来到设备2,设备2在拿到这个信号之后就可以使用总线了。
但是这里面存在一个问题:假如设备1和设备2同时发出了仲裁的请求,那会是哪个先使用总线呢?
两者同时发出仲裁请求之后,对于允许使用的信号会首先到达设备1,也就是设备1会优先取到总线的使用权,这就是链式查询了。接下来简单总结下链式查询的特点:
计时器定时查询步骤如下:
我们接下来通过刚才的图示来理解这里面的步骤,对于计时器定时查询的方法中,仲裁控制器与设备1、设备2、设备3分别连接。同时,仲裁控制器本身还有一个计数器,计数器的初始值为1。如下图所示:
假设这时候设备2要使用总线,则通过仲裁控制线向仲裁控制器发出请求。仲裁控制器收到请求后,会把当前计数器的值 发送给所有的设备,所有设备都会接收到数字1这个信号,如下图:
但是这里面的设备1实际上是没有发出请求的,所以这时候仲裁控制器发出的1信号是没有用的。那么接下来,仲裁控制器还会发出信号2,对于2的计数值就与设备2编号相等了,所以这时候设备2就可以获得总线的使用权。如下图:
同样的,在下次请求当中,假设设备3通过仲裁控制线往仲裁控制器发出了请求,那么这时候仲裁控制器就会把计数器的值加1。同时往所有的设备发出计数器的值,当计数值与设备3编号相等的时候,设备3就可以获得总线的使用权。
以上就是计时器定时查询的方法。
独立请求方式如下:
这时候,仲裁控制器与设备的连接方式如下图所示,设备1、设备2、设备3可以独立的向仲裁控制器发出请求以及独立的接收仲裁控制器所发送的允许使用总线的信号。
对于独立请求的方法特点如下:
以上就是给大家介绍的内容,包括总线的概述和总线的仲裁。对于概述部分,我们了解了总线是什么、什么用,以及总线的分类;对于总线仲裁,了解了为什么需要仲裁,以及仲裁的三种方法。