当前位置: 首页 > news >正文

Day 4 系统总线(2)

1.4 总线结构

  总线结构可以分为单总线结构和多总线结构两种

1.4.1 单总线结构

  单总线结构将CPU、主存、I/O设备都挂在一组总线上,并允许I/O设备之间I/O设备CPU之间或I/O设备主存之间直接交换信息。

  这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,极易形成计算机系统的瓶颈

1.4.2 多总线结构

  双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。这种结构大多用于大、中型计算机系统。

  如果将速率不同的I/O设备分类,然后接在不同的通道上,那么计算机系统的工作效率会更高,由此发展成多总线结构。

1.5 总线控制

1.5.1 总线判优控制

  总线上的设备,可以分为主设备从设备两种。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令。总线判优控制分为集中式分布式两种,前者将控制逻辑集中在一处,而后者则将其分散在各个部件或设备上。

  常见的集中控制优先权仲裁方式有以下三种:

(1)链式查询

  图中控制总线中有3根线用于总线控制,其中总线同意信号BG串行地从一个I/O接口送到另一个接口。如果BG到达的接口有请求,就不再往下传,该接口获得总线使用权,并建立总线忙BS信号。可见,在该种查询方式中,离总线控制部件最近的设备具有最高的优先级。

  特点:需要的线很少,并很容易扩充设备,结构简单,但对电路故障敏感,并且优先级低的设备可能很难获得请求。

(2)计数器定时查询

  该查询方式相比链式查询多了一根设备地址线少了一根总线同意线BG。总线控制部件接到BR送来的总线请求信号后,若总线未被使用,计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数值一致时,便获得总线使用权,停止计数查询。

  特点:若计数从“0”开始,设备使用总线的优先级相等。更改计数器的初始值,还可以改变优先次序(优先级确定灵活)。对电路故障不如链式查询敏感,但增加了设备地址线,控制较复杂。

(3)独立请求方式

  该查询方式中每一台设备均有一对总线请求线BR和总线同意线BG。总线控制部件中有一个排队电路,可以根据优先次序决定响应哪一台设备的请求。

  特点:响应速度快,优先次序控制灵活,但控制线数量多,总线控制更复杂

1.5.2 总线通信控制

目的:解决通信双方协调配合问题

通常将完成一次总线操作的时间称为总线周期,可分为以下4个阶段:

①申请分配阶段:由主模块(主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权

②寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(从设备)的地址及有关命令启动参与本次运输的从模块。

③传数阶段:主模块和从模块进行数据交换

④结束阶段:主模块的有关信息均从系统总线上撤除让出总线使用权

  总线通信控制通常有四种方式:同步通信、异步通信、半同步通信和分离式通信。

1.同步通信

  通信双方由统一时标控制数据传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部分发出的信号时钟对它们同步。

  图中一共有4个时钟周期T1,T2,T3,T4。CPU在T1上升沿发出地址信息;在T2的上升沿发出读命令;与地址信息相符合的输入设备按命令进行一系列内部操作,且必须在T3的上升沿到来之前将CPU所需的数据送到数据总线上;在T3时钟周期内,CPU将数据线上的信息送到其内部寄存器中;CPU在T4的上升沿撤销读命令,输入设备不再传输数据,撤销它对数据总线的驱动。

  特点:优点是规定明确统一、模块间的配合简单一致。缺点是主、从模块时间配合强制性“同步”,这就必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性。

  同步通信一般用于总线长度较短、各部件存取时间比较一致的场合。

2.异步通信

  异步通信不要求所有部件严格的统一操作时间,而是采用应答方式。应答方式又可分为3种:不互锁,半互锁和全互锁。

(1)不互锁方式

  主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求后,就撤销请求信号;从模块接到请求信号后,在条件允许时发出回答信号,并在一端时间后,自动撤销回答信号。

(2)半互锁方式

  主模块发出请求信号后,必须等待接到从模块的回答信号后再撤销其请求信号(即互锁关系);从模块接到请求信号后发出回答信号,但不必等待获知主模块的请求信号再撤销,而是自动撤销回答信号(即无互锁关系)。

(3)全互锁方式

  主模块发出请求信号,必须等待接到从模块的回答信号后再撤销其请求信号(即互锁关系);从模块必须获知主模块请求信号已经撤销后,再撤销其回答信号,双方都存在互锁关系。

3.半同步通信

  半同步通信是同步、异步结合的一种通信方式,如:所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又能允许不同速度的模块和谐地工作。为此增设了一条“等待”(WAIT)响应信号线。

4.分离式通信

  分离式通信方式的基本思想是将一个传输周期(或总线周期)分解为两个子周期。在第一个子周期中,主模块A在获得总线使用权后,将命令、地址以及其他有关信息,包括该主模块编号发到系统总线上,由从模块B接受。主模块A向系统总线发布这些信息只占用很短的时间,一旦发送完,立即放弃总线使用权。在第二个子周期中,模块B接受到有关命令信号后,经选择、译码、读取等一系列内部操作,将所需的数据准备好,便由B模块申请总线使用权,一旦获准,便将一系列信息送到总线上,供A模块接收。

图片来源:计算机组成原理(刘宏伟)

注:本文内容基于学习:唐朔飞,《计算机组成原理》-- 3版,-- 北京:高等教育出版社,2020.10(2024.5重印)后编写

相关文章:

  • ubuntu开发mcu环境
  • 基于kubernetes技术实现蓝绿部署(企业实战)
  • Java音频和录音合成 实战demo
  • Linux 部署 rocketmq centos7
  • 读一本书,骑行万里路:与维乐 Angel Rise+骑行看世界
  • ai画图flux depth景深控制空间位置生图
  • 软件工程之软件测试(单元测试、集成测试、系统测试)
  • 06.AI搭建preparationの(transformers02)bertmodel实现bert-base-chinese的编码
  • 论文阅读笔记——PointVLA: Injecting the 3D World into Vision-Language-Action Models
  • DevEco Studio编辑器的使用-代码code Linter检查
  • 【博客】使用GithubAction自动同步obisidian和hexo仓库
  • QTableView开发入门
  • @DeclareParents 注解实现接口功能增强:Spring中通过接口引入实现功能增强的完整示例
  • 保存预测图像时出现的文件名错误
  • Python----机器学习(KNN:决策边界,决策边界计算,交叉验证步骤)
  • ansible介绍以及安装
  • C++练习
  • C# dataGridView 自动生成几行几列及手动输入整型字符
  • nginx https配置
  • 【算法】并查集基础讲解
  • 网站收缩栏/网推资源渠道
  • 房产建设网站/运用搜索引擎营销的案例
  • 精品网站开发公司/非企户百度推广
  • dede网站站内推广方法/服务器域名查询
  • 网站认证打款怎么做分录/百度关键词排名联系
  • 网站建设有那些/百度小说排行榜前十名