前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >计算机组织结构(十一) 总线

计算机组织结构(十一) 总线

作者头像
Rikka
发布2022-01-18 14:16:43
3800
发布2022-01-18 14:16:43
举报
文章被收录于专栏:rikka

📚 文档目录 合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式

总线

芯片内部总线

连接芯片的各个部分

例如连接寄存器, ALU和 CPU 的其他部分

通信总线

连接主机和 I/O 设备或者连接不同的计算机系统

系统总线

连接 CPU, 主存, I/O 控制器和其他的功能设备

内容

总线可以分为三种功能组

  • 数据线: 在系统模块之间移动数据. 数据线的数量决定了一次能能够传送的数据的最大容量
  • 地址线: 指定数据线上的数据的来源或者去向. 地址线也用于 I/O 端口的寻址. 地址线的数量决定了寻址空间的大小
  • 控制线: 控制对数据和地址线路的访问和使用. 各种控制信号:
    • 时钟: 用于总线同步
    • 总线请求(Bus Request): 表示模块需要获得对总线的控制
    • 总线允许(Bus Grant): 表示发出请求的模块已经被允许控制总线
    • 中断请求: 表示某个中断尚未被处理
    • 中断响应: 未决的中断请求被响应
    • 存储器写: 引起总线上的数据写入被寻址的单元
    • 存储器读: 使所寻址的单元的数据放在总线上
    • I/O 读: 从 I/O 端口读取数据到总线
    • I/O 写: 将数据从总线写入到 I/O 端口

设计要素

总线类型

专用:

永久地分配给一个功能或者计算机部件的物理子集

优势:高吞吐率, 因为有更少的总线竞争

缺点: 增加了尺寸和成本

复用:

多种用途使用相同的线路

优势: 更少的线路, 节省了空间和成本

缺点: 每个模块中需要更加复杂的电路, 可能会降低共享的性能

仲裁

总线可以被多个设备监听, 但只能被一个设备发送信息

总线仲裁: 当多个设备要与总线通信的时候, 用某种策略选择一台设备

平衡:

  • 优先级: 优先级高的设备应该先得到服务
  • 公平性: 优先级最低的设备不可能永远被推迟

集中式:

一个被称为总线控制器的单独的硬件设备, 负责位总线分配时间

  • 菊花链 所有的设备串行连接, 许可从最高优先级设备传到最低优先级设备 若一个设备收到授权, 并且有总线请求, 设置总线忙并且许可不再被传递. 优势: 确定优先级很容易, 添加设备很灵活 劣势:无法兼顾公平性, 对设备故障敏感, 限制了总线速度
  • 计数器查询 移除了总线许可线, 使用设备 ID 线. 若总线不繁忙, 仲裁器将通过设备 ID 线发送计数, 若设备 ID 线上的 ID 与一设备 ID 相同, 同时该设备发出请求, 则将总线设为忙, 同时停止计数 优势:对电路故障不敏感, 可以通过灵活地报数来兼顾公平和优先性 劣势:增加了 ID 线, 需要解码和比较 ID 信号 ps: ID 线是一组而不是一根
  • 独立请求 每个设备都有它的总线请求和总线许可线 当一个设备请求总线时, 它通过总线请求先向总线仲裁器发送请求信号.由仲裁器决定哪些设备可以使用总线. 确定策略: 固定优先级, 菊花链, LRU, FIFO 优势:响应快,无等待, 优先级很灵活 劣势:控制逻辑复杂, 更多的控制线

分布式:

没有中央控制器, 而是在每个模块中包含访问控制逻辑, 这些模块共同作用, 分享总线.

  • 自举式 固定优先级 每个设备在它的总线请求线上发送请求, 最低优先级的设备没有请求线 每个设备独立决定它是否拥有最高优先级
  • 碰撞检测 当一个设备想要使用总线的时候, 检查总线是否为忙, 如果不忙, 使用总线. 若发生碰撞(冲突),即两个设备发现总线不忙, 但是它们同时发起请求. 在数据传输时, 设备会监听总线, 检查是否存在碰撞, 如碰撞发生了, 所有使用总线的设备将停止数据传输, 并在随机持续一段时间后再次请求总线.
时序

总线上协调时间的方式: 决定每个总线事务的开始和结束时间

  • 同步时序: 总线上的事件的发生由时钟决定 总线事务: 地址 + 数据 + 数据 +…+ 数据 优势:容易实现 , 测试 劣势: 所有的设备共享时钟; 无法避免时钟漂移的影响

CLK 时钟, BReq 总线请求, BG 总线许可

  • 异步时序: 总线上一个事件的发生遵循并取决于前一个事件的发生 总线事务: 地址 + 数据 + 数据 +…+ 数据 使用 握手协议 优势: 对速度不同的各种设备都很灵活 劣势: 对噪声敏感; 接口逻辑复杂

握手的样例:

  • 半同步时序: 结合同步时序(时钟)和异步时序(握手) 为了减小噪声的影响, 在异步时序中使用时钟.时钟上升沿的就绪信号和应答信号都是有效的. 额外加一条等待线, 以协调不同速度的设备, 比如图中在第三个时钟周期时, Data1 尚未准备完毕, 所以继续等待直到 Data1 准备好, 释放等待线.
  • 分割事务: 分割总线事务: 当设备准备好数据时释放总线 将一个总线事务分割成两个过程 优势:提高了总线利用率 缺点:增加了每个总线事务的持续时间和系统复杂性
总线带宽和数据传输率

总线带宽:总线的最大数据传输率

  • 不考虑总线仲裁, 地址传送

数据传输率:

  • 考虑地址传输

总线宽度:组成总线的总的线路数

  • 数据线越宽, 一次传输的位数就越大
  • 地址总线越宽, 可寻址的范围也就越大
数据传输类型
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总线
    • 芯片内部总线
      • 通信总线
        • 系统总线
          • 内容
          • 设计要素
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档