您的位置:首页 > 理论基础

计算机系统总线的控制

2010-01-23 11:59 239 查看
今天上网看到这篇好文章,正好刚看完唐教授的讲总线的那一章,正好对总线有了个更深入的理解:

http://student.csdn.net/space.php?uid=45153&do=thread&id=6041

总线是连接计算机各个部件的。对总线来说就是传送数据和指令的。

对总线的控制包括了总线优先级控制和总线通信控制。

1.总线优先级控制就是就是各种i/o设备争取总线的控制权,谁先占用总线的问题。

有三种方式:链式查询 计数器定时查询 独立请求

链式查询:

硬件连线:所有i/o设备有三根控制线(个人觉得用信号线更恰当),所有外设的请求线bs并联,应答线br并联后两根线进入总线控制器。

工作原理:某个i/o设备发出申请信号到总线控制器后,bs信号线电平有效(不是高电平就是低电平,主要看是怎么定义的。)总线控制器就知道有外设申请总线了。总线控制器通过bg信号线串联地从一个个i/o设备通过,当到达这个申请的外设时,这个外设就发出br信号,总线控制器就知道哪个设备申请的总线的。

这种查询方式设计师是把靠总线控制器的i/o设备的优先级默认成最高级的。换句话说就是从最高级的i/o设备开始查询。

计数器定时查询

硬件连接:跟链式一样,所有bs信号和br信号分别并联后送个总线控制器。不同的是多了一个设备地址线。

工作原理:同样某个外设发出的bs信号到达总线控制器后,总线控制器的计数器按优先级开始计数。比如数到1时是A设备,这时总线控制器向设备地址线发送A设备地址,所有外设都收到这个地址,如果这时刚才的bs信号是A设备发的,A设备就通过br信号应答。如果刚才的bs不是A发的,就没人应答。总数控制器的计数器就继续下数2,此时是B设备,如此循环。

独立请求

硬件连接:如图bs,br线最多,独立了,没啥好说的,独立申请,独立应答。

2.总线通信控制:就是两个通信双方夺得总线后怎么进行数据交换。

有四种方式

同步通信:通信双方在同统一时序下,严格按照步骤进行数据交换。双方在每个总线的时钟周期内做完自己份内的事。土话就是通信双方在一个时间内(术语叫时钟周期)完成固定操作。若干信时间组成一个总线数据传送周期。

此种通信方式用于cpu与内存交换数据。

异步通信:用两根信号线来“握手应答”。比如,发送设备通过一条线发出“要发送数据信号”的信息,接收设备做好准备后就要通过另一条线发出“准备好了,可以发”,双方就通过总线传送数据。数据发送完,发送设备再发“偶传完了”,接收设备再回给发送设备“知道了”。

用于网卡通信

半同步通信:此种通信方式是在同步通信基础上改进。同步通信在时序严格控制下通信。如果各种设备速度差别很大会导致时间到时(即进入了下一个时钟周期),但接收设备还没准备好或者接收的数据还没收完等情况出现。

半同步通信就是增加一根wait控制信号线,当发送设备收到接收设备通过这条信发的等待信号,就插入一个时钟周期,这样一直等到接收设备不发wait信号后,继续下面的步骤。

分离式通信:就是不管是发送设备还是接收设备都要申请总线使用权。比如,发送设备通过总线告诉接收设备“我要向你发送数据”后,放弃总线使用权。接收设备收到这个信号后申请总线使用权告诉发送设备“偶准备好了,可以发了”。发送设备再申请总线使用权通过总线向接收设备发送数据。

这种方式双方皆要申请总线使用权,控制就复杂了。好外就是某一方准备的时候空出来的总线可以给其它外设暂时再使用。在微机中用得少

以上皆是看了唐朔飞老师的计算机组成原理后的想法。

个人认为还是先看教材再看网络上的文章,毕竟网络上的文章有的不够系统。

网络文章只起到补充用的。用来架构一个课程的知识还是靠教材。



另外,偶还对大本营里的吕泰昌同学的头像感兴趣,那个小妞是谁哦,好靓。吕同学看见了回声,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: