计算机组成原理(二)-总线

认识了计算机的基本组成,那么各个组件之间是如何进行交流的呢?那就是总线。

什么是总线?

总线是计算机各种功能部件之间传送信息的公共通信干线,英文名Bus,跟名字一样用于信息传递,一条总线同一时间只能向一个方向传递一种信息。

总线的分类:

总线按照连接组件的大小可以分为片内总线、系统总线和连接外部设备的拓展总线

片内总线:芯片内部用于连接控制器和运算器、运算器和寄存器、寄存器和寄存器之间等,或者存储体内部用于连接各个存储单元的组件内部的总线,被称为片内总线

系统总线:CPU,主存这种组件和组件之间的连接线称为系统总线。系统总线按照功能又可以分为数据总线,地址总线和控制总线

数据总线:一条双向传输线,用于数据交换,来回传送需要处理或是需要储存的数据,一条数据总线的宽度一般等于机器字长,即CPU位数,所以一个64位的CPU,对应的一条数据总线的宽度就是64bit,也就是8byte,一次可以传输8byte的数据。而这个宽度一般与存储体中一个存储单元的大小相同,使存储体和CPU之间的数据传输统一,达到最大化利用,最简单化传输。

地址总线:这是一条单向传输线,用来指定在存储器之中储存的数据的地址,而一条地址总线的宽度与CPU支持的最大寻址范围呈正相关,总线宽度越宽,CPU支持的寻址范围越广,支持的主存储器大小越大。而这个宽度一般是小于等于CPU位数的,像一个64位的CPU,地址总线的宽度现在最低40位起步,但是要小于CPU位数,这也是为什么早期的32位CPU和操作系统最大支持内存小于4G的原因,即使安装了8G内存,但是寻址范围远小于8G,这个后边会具体讲。

控制总线:算是一条单向传输线,用于将控制单元(CU)的控制信号传送到周边设备。

拓展总线:外部设备和计算机主机进行数据通信的总线,例USB总线,PCI总线(插显卡的)。

冷知识:USB也是一种总线标准,Type-c是USB3.1标准的一种。传统的USB接口一共有4个接触点,外侧两根用于充电,内里两根用于数据传输,如果哪天你的USB不能传输数据了,那么有可能内里两根线断了,那种便宜的只能充电不能传输数据的USB数据线,内里两根线可能都没接。

总线控制及总线仲裁:

一条总线同一时间只能做一件事情,如数据总线同一时间只能向内或向外,读或者写数据信息。所以谁用,成了问题,这个时候就需要对总线占用进行"论资排辈"。

按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁和分布式仲裁两类,这里只讲集中式仲裁。

1.链式查询:

计算机组成原理(二)-总线_第1张图片

 

 

链式查查询其实就是将所有组件串行化,强调由近及远依次查询。无论哪个组件发起总线占用请求,总线控制器都会由近及远的做出响应,当查询到总线请求,BG信号便不再继续查询,该I/O接口获得总线控制权。比如有四台设备,由近及远编号0~3,1号设备先发起总线请求,0号设备后发起请求,总线控制器会先对0号设备做出响应,就只是因为0号设备离得近,所谓”近水楼台先得月“即是如此,只有当0号设备不请求了,总线控制权不要了,才轮到1号设备。

链式查询的优点:电路简单,逻辑也简单,易于拓展

链式查询的缺点:电路敏感,前边的断了BG线断了,信号无法到达后边,所有后面的设备都瘫痪了,而且一点都不公平,后边的设备再怎么努力工作,优先级永远是最低的。

2.计数器定时查询:

计算机组成原理(二)-总线_第2张图片

 

中央仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备 置“1”BS线,获得了总线使用权,此时中止计数查询。简单点说每个设备都有一个编号,每次接受到请求,计数器加1,对设备总数取模,对对应编号的设备做出响应,取得总线控制权。

每次计数可以从“0”开始,也可以从中止点开始。如果每次都是从“0”开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优先级相等。

3.独立请求方式

计算机组成原理(二)-总线_第3张图片

 

每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。当设备要求使用总线时,便发出该设备的请求信号。中央仲裁器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BGi。遵循的是先来后到原则。

优点:响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。按照请求顺序做出响应,可以保证公平。

缺点:线路复杂,成本较高,不易于拓展。

总线通信的目的是为了解决通信双方的配合问题,那么一个总线周期应该包含四步

①申请分配:主模块发起总线控制申请,总线开始仲裁。

②寻址阶段:主模块向从模块发出地址命令

③传输阶段:从模块根据地址找到对应数据,通过数据总线传输给主模块或者将主模块传输的数据写入到从模块

④结束阶段:使用完毕之后,出让总线的控制权。

 

你可能感兴趣的:(计算机组成原理)