第六章 总线

1.总线

虽然我们上一章已经说过总线的基本概念,但是讲述的是CPU内部总线的基本原理,并没有从全局出发去探讨总线的架构,现在我们就来学习一下。如图所示:
在这里插入图片描述
要注意的是,一根总线里面可能有多根线,所以总线是支持多个数据的并行传输的。如图所示:
在这里插入图片描述
显然,一次只能有一个元件发出数据,但是可以有多个元件同时接收数据(发送只能分时完成,但是接收可以共享)。 但是,现实中的元件是在铜板上用光刻机刻蚀出来的,所以和你想象中的一根电线可能不一样,长这个样子:
在这里插入图片描述
但是也有一根线的总线,比如USB线。现在我们来细致地学习一下总线的知识。

1.1 什么是总线

总线是一组能为多个部件分时共享的公共信息传输线路。总线的好处就是可以很方便地增加很多的外部设备,比如连接上一个鼠标,还能连接一个键盘,还能连接U盘。前面说的数据通路,是从数据的角度去分析的,现在从物理硬件的层面来分析。

1.2 设计总线需要注意什么

(1)机械特性:尺寸、形状、管脚数和排列顺序。
(2)电气特性:传输方向(比如地址总线只允许地址从CPU的MAR流向主存,而主存不能反向传输地址数据到MAR,数据总线则要满足数据的双向传递)和有效的电平范围(传过来的数据都是电信号,但是这些电信号肯定不是一样的,有高有低,那么可以认为0-5v的是有效信号,5V以上的是错误信号,那么0-5v就是有效电平范围)。
(3)功能特性:每根总线是用来传输什么数据的(地址总线,数据总线和控制总线)。
(4)时间特性:信号的时序关系(比如我要从CPU传数据到内存,那么什么时候接通数据总线,什么时候需要接通地址总线也需要提前考虑到)。

1.3 总线分类

1.3.1 按数据传输的维度

(1)串行总线:
串行总线只有一根数据线,也就是说,每一次只能发送一bit的数据,如图所示,从A到B传输数据1101,需要一比特一比特的传输四次。USB线就是这样的数据线(所以还是充电线)。优点是便宜,且抗干扰能力强。缺点是发送数据的时候,还需要按照计算机网络里面的知识,把数据拆开,然后到对面以后还需要组装成一个完整的数据再发给CPU,所以慢。

(2)**并行总线:**就是刚说的,一根总线里面有许多数据线,所以允许数据在里面被并行地传输。在这里插入图片描述
优点是数据少的时候快,设计起来简单。缺点就是贵,还占空间,多根信号线在一起并行传输数据的时候,由于电磁干扰(电生磁,磁生电),会有信号的干扰(所以布线的时候,有拐弯的地方弯曲的程度必须是一个钝角等,设计起来也复杂)。当数据量很大的时候,它的速度会比串行总线慢,因为数据量越大,传输的速度越快,干扰也会越强,所以会有一个饱和点,但是串行的话,你只要发送跟得上,一直传数据也可以,并行需要传一段,然后停一下,再发下一段。所以串行和并行哪个快需要根据实际情况来决定。

1.3.2 按照总线的功能分

(1)片内总线:它是CPU的内部总线,用于连接CPU内部的各个部件,包括ALU,各个寄存器都是靠它连接。
(2)系统总线:系统总线是计算机内包括CPU以及各功能部件(I/O接口、主存)之间相互连接的总线。 系统总线一般有三种,分别是地址总线,数据总线和控制总线。
[1]数据总线:传输各功能部件之间的数据信息,包括指令和操作数。 它采用并行传输技术,需要的线数往往和机器字长或者存储字长是一致的。它是双向传递的。
[2]地址总线:从CPU向主存传输主存或者I/O接口(辅存和外部设备)的地址。它也采用并行传输技术,需要的线数一方面要比主存的地址空间大小更大,而且还需要兼顾到可连接设备的数量(比如我们主存的地址空间是8位的,能连接三个设备,那么就至少需要10根线,前两位用来表示是哪个设备,最后8位表示地址)。它的信息是单向的,只能从CPU发出。有的人会疑问辅存怎么读,其实CPU一次发不完,它可以发两次呀,而且前面学过,一般不会直接从辅存读数据,所以满足主存的位数即可。
[3]控制总线:一根控制线传输一个控制信号(比如主存的R信号等),它也是并行传输的,有多少信号,开个log2就有多少线。而且它不仅可以从CPU传信号,也支持从外部反馈信号(比如中断信号)。
(3)通信总线:又叫外部总线,故名思意,是在计算机外部的,比如网线就是一个通信总线。它可以实现计算机之间的通信。 你把手机的USB线和电脑连接,这根USB线也就成了通信总线。

1.3.3 系统总线的几种经典结构

考纲只考这种总线,因为片内总线会在CPU的知识点部分考,通信总线会在计网考。所以现在来详细学习一下系统总线的四种结构:

(1)单总线结构:计算机内部仅用一组系统总线,也就是数据总线,地址总线,控制总线各一根。支持全部的元件的信息互联。它的成本低,结构简单,但是传输的效率低,且不能让多个部件之间同时传输数据。而且外设对数据的传输很慢,CPU很快,所以存在性能浪费,目前已被淘汰。

(2)双总线结构:双总线结构引入了通道的概念,一个通道可以理解成一个小型的处理器,它负责管理各个I/O设备和CPU的数据交互,它有自己的一套小系统,称为通道程序,这个程序被放在主存中,需要的时候程序会从主存加载到通道。在这种结构中,CPU和主存有单独的一根主存总线来进行交互,外部的各个I/O设备(键盘,显示屏等),通过I/O总线进行数据交互。通道则作为连接主存总线和I/O总线的桥梁。 如图所示:
在这里插入图片描述
主存总线的速度是远远快于I/O总线的,这是因为CPU和主存交互的速度比I/O设备快很多,所以主存总线要用更好的材料和设计。同时,主存总线还支持突发(猝发)传送技术:CPU送出一个地址,可以才主存收到多个地址连续的数据,比如需要读取一个程序序列,那么只需要发送一个地址,附带上要几条连续的数据,然后主存就会把以该地址为首的数据以及随后的几条数据发回来。

(3)三总线结构: 三总线结构比起双总线结构,还额外多了一条DMA总线DMA总线负责一些比较快速的I/O设备(比如辅存,U盘等)和主存之间的交互。DMA(Direct Memory Access)是直接内存访问的意思。在这种结构中,I/O总线和主存总线都直接和CPU相连接,不需要通道(由CPU直接控制即可)。这种结构显然比双总线结构更合理,速度也更快。缺点就是系统的工作效率低要比双总线结构低,因为同一时刻只能有一根总线在工作。
在这里插入图片描述
(4)四总线结构(不考):它一共有CPU总线,系统总线,高速总线,扩充总线。它们的速度各不相同,越靠近CPU则越快。CPU总线,系统总线和高速总线之间用一个桥接器作为数据的缓冲区,来缓解速度不匹配的问题。扩充总线通过接口的形式接入到高速总线上,也和桥接器连接,所以桥接器相当于一个十字路口的交通信号灯,来缓解各个总线的数据流的冲突。如图所示:
在这里插入图片描述
它弥补了上面三种结构的全部缺点,是现代我们计算机的正在的结构,但是设计起来过于复杂,所以考试不考。最后补充一句,桥接器以和上面的通道一样,看作是一个小处理器里面能处理数据,能暂存数据,著名的南桥芯片和北桥芯片其实就是桥接器(所以它是精细的芯片)。

1.4 总线的八个性能指标

如何判断一个总线是好是坏是选择题常考的选项,所以必须全部掌握:
(1)总线的传输周期(总线周期):就是一组总线(包括三根:数据地址控制)传输一组数据所需要的时间包括四个阶段申请阶段(总线仲裁,下面说),寻址阶段(主设备会把地址总线发给存储设备,存储设备会找到对应的数据),传输阶段(把数据传出去)和结束阶段(释放总线的占用),通常由若干总线的时钟周期构成,有的时候一个时钟周期也会能发出多个总线的周期,也有的时钟周期就等于总线的传输周期,这要因情况而定。早期的时候,总线的时钟周期就是机器的时钟周期,由CPU发出。
(2)总线的时钟周期:上面就已经涉及了这个概念,所以可以猜测到,它是用来控制总线传输信号的,就是一个时间(比如0.1ns)。 现在新式电脑的总线时钟周期都是由桥接器来发出的(前面说过,桥接器其实也可以看作小型处理器也就是CPU,所以CPU能干的它也可以),因为桥接器和总线连接更近,同时CPU的时钟信号很快,像I/O总线什么的是根不上的,所以主存总线的时钟信号还是听CPU的,剩下三根总线听桥接器的。
(3)总线的工作频率:一组总线在一秒钟内能发几组数据。它其实是总线传输周期的倒数。
(4)总线的时钟频率:一秒钟内有多少总线的时钟周期。就是总线时钟周期的倒数
(5)总线宽度:也叫总线的位宽,即通一时间内能并行传输多少位的数据。题目如果只说总线宽度,则默认是数据总线的宽度。换个思路,其实就代表一根总线里面有多少根小数据线。
(6)总线带宽:也叫总线数据的传输效率,指的是总线每秒钟能传输多少的信息,用字节/秒来作为单位(B/S),也有的地方用比特/秒(bit/s)来作单位。这个是最常考的,因为考一个可以考几个(看公式就知道了),所以要牢记公式:
总线带宽 = 总线的工作频率 × 总线宽度 ( b i t / s ) = 总线的工作频率 × 总线的宽度 8 ( B / s ) 总线带宽=总线的工作频率\times总线宽度(bit/s)=总线的工作频率\times\frac{总线的宽度}{8}(B/s) 总线带宽=总线的工作频率×总线宽度(bit/s)=总线的工作频率×8总线的宽度(B/s)
每秒传几次乘以一次传多少就是一秒传多少。注意,题目不会给你总线的工作频率,往往直接给你总线的工作周期,甚至就告诉你时钟周期,然后给你说工作周期包含多少时钟周期,然后再给你一个总线宽度,让你计算带宽,这样就全考了。补充一个考点:有效总线带宽:数据的传输往往不全是有效数据,会有校验位等,题目会说明,然后让你计算机有效总线带宽,记得把校验位给剔除再计算
(7)总线复用有的计算机为了简化成本,把地址总线和数据总线合成一根,这就是总线复用,复用以后,数据和地址就只能分时的使用总线了,但是这样可以减少成本。
(8)信号线数:地址总线,数据总线还有控制总线这三种信号线数目的总和,使用总线复用后,信号线数会减少。

来看看王道的例题:
在这里插入图片描述
先审题,首先里面提到了数据线和地址线是复用的(前面说过),总线的宽度是32bit。总线时钟周期是66MHZ,时钟周期就是66M分之一s。每一个时钟周期内发两次数据,那么总线的传输周期就是66x2M分之1,总线的工作频率就是132MHZ。那么题目就简单了:
【1】132Mx32(bit/s)。你也可以写成132Mx4(B/s)=518MB/s。
【2】这里还考察到了前面的知识:主存写,因为是突出传输,所以只需要从地址总线向主存发一次地址,需要一个时钟周期,然后128位的数据,需要传128/32=4次,需要两个时钟周期,因为是复用总线,所以直接1+2即可,需要3个时钟周期。一个时钟周期是66M分之1秒,所以需要 3 66 M s \frac{3}{66M}s 66M3s

2 总线仲裁(408不考,简单了解一下)

因为一根总线上的设备有许许多多,所以每一个时刻,哪些设备能够使用总线,需要额外的判断,这就是总线仲裁

2.1 主设备和从设备

因为在同一根总线上,一次只能有一个设备发出信号,同时允许多个设备接收信号,所以我们把发信号的这个设备称之为主设备,接收信号的设备称之为从设备

2.2 总线仲裁的分类

总线仲裁可以分为以下两类:

2.2.1 集中仲裁方式

集中仲裁可以被分为以下几种方式,它的特点是仲裁的权力都集中于控制器:
(1)链式查询;(2)计数器定时查询;(3)独立请求;不管是哪种方式,基本流程大致上都是一样的
【1】主设备发出请求信号;
【2】若多个主设备同时需要使用总线。则由总线控制器(CPU或者桥接器里面)的判优、仲裁逻辑按一定的优先等级顺序,确定哪个是主设备,能使用总线;
【3】获得总线使用权的主备开始传输数据。硬件实现如图所示:
在这里插入图片描述

主设备首先向BR传输一个请求信号,总线控制器从BR上接收请求信号。如果允许就给BG发出信号,如果不允许,就给BS发一个总线忙碌的信号。这三根线都只是一根数据线,属于控制总线的一部分。需要注意的一点是,BR和BS线都是设备发给控制器的,设备本身无法接收到BS或者BR信号。
现在来分别看看,三种查询方式的区别:
(1)链式查询:比如上图中的设备1和设备2同时接通了BR线。这个时候,其实控制部件并不知道是哪个设备发出了请求,于是它把BG接通,设备0首先接收到允许信号,但是因为设备0不需要,所以设备0会把信号继续发给设备1,设备1需要,所以设备1就在这里把信号阻断,这样设备0就成了主设备,设备2无法接收到BG信号。设备1在控制之后,撤销它自己发出的BR信号,然后发送一个BS信号,这样设备2就开始等待(但是它不会撤销BR信号),等设备1用完以后,会撤销BS信号,这个时候因为还有BR信号,所以控制处发出允许信号,然后信号也是一个部件一个部件地传递过去。所以越靠近总线控制器的部件,优先级越高。所以在安排部件的时候,需要根据重要性来排件。优点是三根控制线就可以完成工作。缺点就是后面的部件可能一直等待(饥饿),也有可能因为设备1的损坏,后续的所有部件都不能获得信号(部件故障的影响大)。
(2)计数器定时查询:它相比于前面的图,需要添加一组设备地址线(包括于地址总线),并且省去了BG线:
在这里插入图片描述
设备1和2都需要总线时,还是会传输控制信号BR,但是控制器仍然是不知道哪个设备需要的,控制器里面保存了0号设备的地址,所以控制器会首先询问0号设备是否需要总线,0号不需要,计数器会自动在地址上加1,通过设备地址线去激活1号设备是否需要,因为1号设备需要,所以1号设备成为主设备,同时1号设备接通BS线,控制器的计数器暂停计数,设备2也是一直继续发送BR请求信号,这个时候计数器在发现BS被撤销,但是BR还存在,所以继续计数,就到了2号…。当然,这只是一种计数方式,也可以每一次允许一个主设备以后,就把当前的计数器清零(这样就和链式查询一致了)。采用例子里面的方法可以保证所有设备的优先级都是一致的。如果前n个元件很重要,也可以选择让计数器计数到n以后,把值归于0。它最大的优点就是对故障不像链式那么敏感。缺点是控制线需要一组地址线,线的数量增加了,而且加了计数器部件,同时要求每一个接口都能识别地址,复杂程度大大增加。

(3)独立请求;
在这里插入图片描述
之前的两种方式,总线控制器都不知道是谁在请求,于是进行改进,每一个设备的BR线都和总线控制器单独连接,控制器也单独的和每一个部件都连接了BG线。当多个设备同时请求的时候,它们会根据请求的先后顺序,在排队器(就是总线控制器里面的一个小存储元)里面,然后由专门的仲裁程序来决定谁做主设备(这个程序可以由程序员根据情况设置,也可以用软件实现)。
在这里插入图片描述
如图所示,当一个设备被规定为主设备的时候,它也会激活对应的BS线,然后控制总线就停止发送BR信号,同时把这个设备从排队器里面踢出。优点就是传递的速度极快,并且仲裁的方式非常灵活,可以自定义,对设备的故障也不敏感。缺点就是需要很多很多控制线,然后排队器的硬件实现其实不容易。

2.2.2 分布仲裁方式

它不需要总线控制器来仲裁,每一个设备都有自己的仲裁器,还有一个仲裁号,当竞争的时候,大家一起把自己的仲裁号发到仲裁总线上,仲裁总线把最高的号返回,大家各自匹配一下对应的仲裁号,如果是自己的,就成为主设备,如果不是自己的,则撤销信号。这个了解即可。

3.总线的操作和定时

总线的操作和定时就是指一根总线如何在确定了主设备的情况下,帮助主设备发出信号。以及帮助从设备接收信号。

3.1 回顾总线周期的四个阶段

前面虽然已经提过一下总线周期的四个阶段,但是为了防止大家遗忘,这里再解释一次:
(1)申请分配阶段:主设备们发出BR信号,然后经过仲裁之后,划定谁是主设备,谁是从设备。主设备发出BR信号(也就是总线占用信号)的过程也叫传输请求,划定谁是主设备的过程是仲裁(上一节把两个过程合二为一了)。
(2)寻址阶段主设备通过总线发出需要访问的设备的地址以及相关命令,从而启动参与本次信息交互的从设备
(3)传输阶段:主设备和从设备进行数据交互,可以单向或者双向地传输数据。
(4)结束阶段:主模块的有关信号均从系统总线上撤除,让出总线使用权。
总线的定时学习的其实就是传输阶段的内容,因为双方的数据交互是需要在时间上的配合的,说是定时其实是一种协议。 通过计网的学习,我们应该知道,协议就是一种约定的规定。总线定时的方案一共四种,现在来分别讨论:

3.2 同步定时方式(同步通信)

总线控制器采用一个统一的时钟信号来协调主设备和从设备的信息传递。 这其实很好理解,用下图来解释:
在这里插入图片描述
假设CPU需要从主存读取数据,CPU是主设备,主存是从设备,且电信号上升沿有效:
(1)T1的时候CPU发出需要一个地址信号,这个地址指明的是从设备的地址,也就是主存的地址,于是主存被激活。
(2)T2的时候CPU发出了读命令(图中凹下去说明读命令是低电平有效),这个时候主存就迅速准备好CPU需要的数据。
(3)T3的时候主存把数据放入总线,CPU接收了对应的数据。
(4)T4的时候,CPU撤销了刚刚的主存地址信号以及读命令。

缺点就是,如果T2的时候,主存故障了一下,T3的时候CPU就收不到任何信号,然后CPU是无法发现这种错误的(它会误认为是全0),我们把这种必须一致的同步称之为强制性同步。但是这样设计也有许多优点,比如设计起来简单,并且传输的速度快(一个时钟就可以完成一个周期任务)。它适用于总线长度较短,且每一个部件的执行时间接近的结构(总线不长,部件的数据存取时间相似,就不容易出现上面的情况)。

3.3 异步定时

系统没有统一的时钟信号,需要主设备发出请求信号,请求信号包括了需要的从设备,以及从设备需要干什么,从设备获得请求信号以后,把主设备需要的信息作为回答信息发回去。但是请求和回答的过程是有可能发生互锁现象的,于是我们进一步对异步定时信号进行分类:
(1)不互锁:主设备的请求信号发出一段时间以后,不管是否收到了从设备的回答都主动撤销请求信号,从设备在接收到请求以后进行回答,经过一段时间以后也是自动撤销回答,这样只需要等待一段时间,就可以让出总线的控制权。它速度快,但是准确率差。
(2)半互锁:主设备发出的请求信息不会主动撤销,只有在主设备收到从设备的回答以后才会撤销。但是从设备不需要等主设备回复收到了回答,它会在发出回答的一段时间以后主动撤销。撤销以后,如果一段时间了,主设备还在请求,从设备会重新发送一次。其实还是比较可靠的,但是速度可能就没有第一种快,因为如果没有响应会一直占用。
(3)全互锁:主设备发出请求以后,除非收到了从设备的回答,否则一直请求,从设备发出回答以后,除非收到主设备的确认收到回答,否则一直发送这个回答信号。速度最慢,因为相比其半互锁,还加了一个主设备的回复信号,主设备的回复信号也可能半路丢失,然后从设备还要等待主设备的回复但是这个过程是不必要的。优点就是主设备没有收到回答以后,可以立即从后续的信息里面获得(因为从设备一直在发,不像上一种是等一会再发)。
这三种方式的快和慢是基于不出错的前提的,但是通常信息也很少出错,所以对于精度要求不高的用不互锁(比如视频),精度要求高的用全互锁。和计网的传输协议是一样的。
异步定时就克服了同步的问题,缺点就是更加复杂,且速度比同步慢

3.4 半同步通信

半同步是在同步的基础上进行改良的。从设备不仅可以发出回答信号,同时还可以发出等待信号WAIT,当从设备发出等待信号的时候,主设备就会进入等待状态,不会立马释放总线。等到从设备准备好数据,把数据作为回答信号发出的同时,会撤销等待信号,这个时候主设备才会在一段时间后撤销总线的使用权。这样也就克服了之前同步通信的缺点(你也可以叫它半异步通信,反正各占一半)。
在这里插入图片描述

3.4 分离式通信

这其实才是目前最主要用到的总线通信方式,因为计算机讲究的就是效率,于是分离式通信在前面三种方式的基础上进行了改进:因为从设备准备数据进行回答的时候是不需要占用总线的,所以这个时候释放总线的使用权。因此,一次主从设备的通信被分成了两个周期,主从设备在各自需要总线的时候才申请占用总线,如图:
在这里插入图片描述
这里的模块就是设备的意思。在这种模式里面,从设备也可以申请占用和释放总线,你可以理解为每一个设备都可以是主设备(其他模式里面只有当前主设备有权占用和释放总线)。分离式讲的就是效率,所以采用的是不互锁的方式,主设备发出请求信号一个时钟周期后就释放总线,之后从设备发出回答信号一个时钟周期后也释放总线,不在乎对方是否收到(没有收到,过一段时间之后会主设备会再次发送请求信号,主要的参考计网的知识就行,大家都是一样的,在计网的部分会更详细地学习通信协议)。

4.总线的标准(408不考,但是都学了这么多了,这点东西还是看看吧)

什么是标准,其实就是真正实现总线的时候,需要注意的点。只有大家都遵守这些标准,设计出来并且生产出来的总线才是通用的。这里其实就相当于对上面的知识进行总结,主要包括了:
(1)总线是串行还是并行传输。
(2)如果是并行传输,需要多少数据线和地址线。
(3)总线采用什么仲裁方式。
(4)总线上的主从设备的通信协议是什么(也就是定时方式是什么)。
(5)总线的工作频率是什么。
(6)电气特性是什么(多少电压是高电平,多少是低电平)。
所有的CPU,主存等要和总线连接的设备,都需要遵守这些标准,不然无法组成一个电脑。当然,不是所有设备都是一个标准,而是根据它们要连接什么总线来决定的,前面说过,连接的总线有四种:
(1)系统总线:CPU和主存,CPU和北桥芯片的连接,特点就是快。
(2)局部总线:直接连接高速的硬件,比如辅存(固态硬盘),GPU还有北桥芯片,比系统总线要慢一点。
(3)设备总线:连接了南桥芯片,以及鼠标键盘音响等慢速的外部设备;
(4)通信总线:也连接南桥芯片,连接打印机,或者其他计算机(比如手机)需要通信的设备。

4.1 系统总线的标准

早期的国际的系统总线标准如下,看看就行:
在这里插入图片描述
后面又提出了FBS,也叫前端系统总线标准,后面又提出了QPI标准(现在常用)。
早期的局部总线标准VESA如下:
在这里插入图片描述
因为VESA需要CPU控制,性能被限制了。于是又推出了PCI,它由北桥芯片直接控制,效率更高,甚至可以用于系统总线:
在这里插入图片描述
但是后面3D游戏的出现,导致PIC还是太慢了,于是基于PCI推出了AGP标准:
在这里插入图片描述
但是AGP还是太慢了,这个时候的技术已经可以实现超高频传输(以前没有这个技术),但是前面说过,并行传输的时候,频率越高,传输的干扰就会越大,于是出现了第一个串行总线标准PCI-E,同时PCI-E给每一个设备都连接了一根线,因为之前并行要很多线,现在不用了,所以在每一个设备都有专用数据通路(称为点对点)的情况下,还相比之前剩下了不少空间,还支持热插拔,也就是随时可以插入新的设备到电脑上(虽然是现在大家看作很平常的事情):
在这里插入图片描述
在这里插入图片描述
如图PCI—E实现了速度的飞跃,现在也在用,因为串行总线无论你CPU,北桥的频率能有多快都能跟上,现在不用考虑线了,只需考虑怎么让CPU更快就行。

4.2 外部的设备总线标准

设备总线的标准(找一下老电脑的显示器接口线可以看看):
在这里插入图片描述
因为这个线需要在外部,所以为了防止干扰,干脆一开始就用了串行总线,所以现在多年前的破显示器其实能跟上目前最好的CPU的节奏,因为串行总线的频率是无限的,受限的只有显示屏自己的刷新率而已,所以据说能用老显示器玩3A大作(当然,接口是接不上去了)。当时的无奈之举(因为串行太难实现),没有想到现在还成了优点,但是当时确实很慢只有20kb,上面的很多脚是为了适配当时串行的内部总线的,即便脚很多,一次只有一个脚的数据被接通。一开始就用于打印机而已,还没有显示屏。
后面为了激光打印机等高速设备,以及技术的进步,终于推出了并行传输的总线SCSI:
在这里插入图片描述
长这样:
在这里插入图片描述
以前计算机和计算之间需要存储卡等便携设备进行数据传送(当前网络太慢了,传一个电影一年),于是专门为这些便携设备也推出了响应的总线,一些老的笔记本上还能看见:
在这里插入图片描述
在这里插入图片描述
之后,一直到现在,所有的外部总线都被USB总线来代替,它又回到了串行(S就是串行的意思):
在这里插入图片描述
图中的就是集线器,淘宝卖20-39一个,可以让你同时读取多个U盘等设备。
同时,USB是一类接口的总称,USB有多种接口:
在这里插入图片描述
现在全是Type-c了(你手机充电器就是)。但是老式的手机充电器都是Type-A。它用的技术叫做差模信号:用两根线的电压差表示0和1(左高右低是1,左低右高是0),也就是虽然是两根线,但是传送的是1bit的数据,还是串行传送。但是它的优点是抗干扰能力拉满,甚至比一根线要稳定,所以就用这种传输方式(简单说一下原理,就是它们一起产生电磁信号,对于它们自身而言,不管怎么干扰,信号差都是一样的,因为此消彼长,然后因为它们本身会产生电磁信号,这个信号还能抵消外部的电磁信号干扰,所以就有很好的抗干扰能力)。两根线凝成麻花状,可以提高它们自己的电磁信号,所以抗干扰能力更强,这种麻花线也被称为双绞线(现在到处都可以见到,见不到你就把手机充电器的胶皮割开)。
在这里插入图片描述

4.3 硬盘(辅存)总线标准

最早是IDE,也叫ATA,因为涉及到存储数据必须保证速度,所以用了并行的标准。
在这里插入图片描述

后面发现串行更快,于是也出现了SATA(S是并行和上面一样):
在这里插入图片描述
现在最新的是M.2接口,连接固态内存,速度极快,都可以赶上系统总线了,M.2接口用的是PCI-E协议 ,也就是说,SATA也被淘汰了。

4.4 总结

一开始是并行快,后面能高频以后,都是串行协议。同时,现在用的内部总线,系统总线只要是计算机里面的都是PCI-E协议(但是随着技术的进步,这个协议也不是最早的了,一直在改进),外部的都是USB协议(也在改进,但是名字和原理没有变)。最后附上王道PPT上并行和串行总线的对比,这里还说了串行总线的一个缺点:串行总线的线必须一样长,否则数据到达时间就不一致了。同时,PCI-E其实是可以用多根线实现并行传输的,所以就有了PCI-E × \times ×n的写法,n是多少就说明有多少双绞线。因为双绞线抗干扰能力强,然后如果需要传输的距离短,我们还是回采用并行传输,但是和之前还是不一样的,因为传的都是数据包,不需要考虑先到后到,而是到了以后再排序,所以长短不一致也无所谓。
在这里插入图片描述
所以串行总线才能代替并行总线。最后附上王道PPT上的实例,虽然是老电脑,但是现在的也大差不差:
在这里插入图片描述
能看懂上图里面的各个线的简称,这一节就学OK了,看不懂也没有关系,反正408不考。那么本章到此就结束了。可以看见,这里ISA从系统总线变成设备总线了,所以总线标准不是绝对的,系统总线也可用于设备总线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值