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

计算机组成原理-总线

总线的基本概念

总线是连接各个部件的信息传输线,是各个部件共享的传输介质。同一时间只能有一对设备征用总线

总线上信息的传送有串行和并行两种

单总线结构框图:

问题:总线成为系统性能的瓶颈;如果两台设备距离较远,信息传输速度慢

面向CPU的双总线结构框图:

问题:任何外部设备想要与主存信息交换都需要经过CPU,CPU的计算任务容易被打断

以存储器为中心的双总线结构框图:

总线的分类

根据总线的位置划分:

  1. 片内总线:芯片内部的总线
  2. 系统总线:计算机各个部件之间的信息传输线。系统总线又可以划分为:数据总线(双向的,与机器字长、存储字长有关)、地址总线(单向的,与存储地址、I/O地址有关)、控制总线(有出、有入)
  3. 通信总线:用于计算机系统之间或计算机系统与其他系统之间的通信

根据总线的传输方式划分:

  1. 串行通信总线
  2. 并行通信总线 

总线的特性及性能指标

总线的物理实现

总线的特性

  1. 机械特性:尺寸、形状、管脚数及排列顺序
  2. 电器特性:传输方向和有效的电平范围
  3. 功能特性:每根传输线的功能:地址、数据、控制
  4. 时间特性 :信号的时序关系

总线的性能指标

  1. 总线的宽度:数据线的根数,同时能传输多少位数据
  2. 标准传输率:每秒传输的最大字节数(MBps)
  3. 时钟同步/异步:同步、不同步 
  4. 总线复用:地址线与数据线能否共用
  5. 信号线数:地址线、数据线和控制线的总和
  6. 总线控制方式:突发、自动、仲裁、逻辑、技术
  7. 其他指标:负载数等

总线标准

ISA、EISA、VESA、PCI、AGP、RS-232、USB等 

总线结构

单总线结构

多总线结构:双总线结构;三总线结构:

四总线结构:

总线控制

总线判优控制

基本概念

  • 主设备(模块):对总线有控制权
  • 从设备(模块):响应从主设备发来的总线命令

总线判优控制:

  • 集中式:链式查询、计数器定时查询、独立请求方式
  • 分布式 

链式查询方式

 

链式体现在BG上,BG逐个查询I/O设备是否需要使用总线。

优先级取决于I/O设备在BG线的位置顺序。

缺点:对电路故障敏感,速度慢

优点:结构简单,增删设备方便,优先级算法简单,可靠性设计容易实现

计数器定时查询方式

 

计数器存放I/O设备的接口编号,设备地址线根据计数器的值查找对应的I/O接口是否需要请求总线

优点:优先级次序可以通过计数器控制,便于调整

缺点:速度慢

独立请求方式

优先级的确定都在总线控制部件的排队器中实现

优点:速度块 

缺点:线路多

总线通信控制

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

总线传输周期:

  1. 申请分配阶段:主模块申请,总线仲裁决定
  2. 寻址阶段:主模块向模块给出地址和命令
  3. 传数阶段:主模块和从模块交换数据
  4. 结束阶段:主模块撤销有关信息

总线通信的四种方式:

  • 同步通信:由统一时标控制数据传送
  • 异步通信:采用应答方式,没有公共时钟标准
  • 半同步通信:同步、异步结合
  • 分离式通信 :充分挖掘系统总线每个瞬间的潜力

同步通信

同步式数据输入:

 

一定由定宽定距的时钟控制数据输入

同步式数据输出:

异步通信

 

不互锁:主从设备不管是否接收到对方的信号,都会撤销对应信号,很不稳定

半互锁:主设备当且仅当接收到从设备的应答信号后才会撤销请求信号,请求信号可能一直处于高频装填

全互锁:在半互锁的情况下,从设备只有在接收到主设备的请求完成信号后才会撤销回答信号

半同步通信

结合同步、异步

同步:发送方用系统时间前沿发信号;接收方用系统时钟后沿判断、识别

异步:允许不同速度的模块和谐巩工作;增加一条“等待”响应信号,是由从设备发出

分离式通信

在上述的三种通信方式中,都存在一段时间用作给从模块准备数据,而在这一段时间内,总线处于空闲状态,导致了资源的浪费。

分离式通信,在主设备占用完总线后,将总线使用权释放,直到从设备准备好数据后再向总线发出占用请求,实现在从设备准备数据时的总线的资源利用

图片来源于网络 

http://www.xdnf.cn/news/916687.html

相关文章:

  • rabbit mq使用TTL和DLX实现延迟队列
  • ios苹果系统,js 滑动屏幕、锚定无效
  • Go 标准库 encoding/gob 快速上手
  • NLP学习路线图(三十一): 迁移学习在NLP中的应用
  • 在ROS中实现消息通信和服务通信Python
  • 【图像处理基石】如何构建一个简单好用的美颜算法?
  • 【win | docker开启远程配置】使用 SSH 隧道访问 Docker的前操作
  • 手拉手处理RuoYi脚手架常见文问题
  • win11系统 Docker Desktop 突然提示Docker Engine stopped解决情况之一
  • CentOS 7.9安装Nginx1.24.0时报 checking for LuaJIT 2.x ... not found
  • 【Linux】系统部分——进程控制
  • 使用 Python + SQLAlchemy 创建知识库数据库(SQLite)—— 构建本地知识库系统的基础《一》
  • Python Cookbook-7.11 在 PostgreSQL 中储存 BLOB
  • github中main与master,master无法合并到main
  • 《绩效管理》要点总结与分享
  • SpringBoot 配置加载顺序?
  • AI驱动的B端页面革命:智能布局、数据洞察的底层技术解析
  • vue前端字典映射
  • 【数据分析】探索婴儿年龄变化对微生物群落(呼吸道病毒和细菌病原体)结构的影响
  • opencv_stereoRectify源码解析
  • 辊式矫平机:金属板材的“整形大师”
  • 18-Oracle 23ai JSON二元性颠覆传统
  • Github 2025-06-07 Rust开源项目日报Top10
  • ThingsCloud事物云平台搭建-微信小程序
  • Python Cookbook-7.12 在 SQLite 中储存 BLOB
  • WPF学习PropertyChanged
  • 【工具教程】PDF电子发票提取明细导出Excel表格,OFD电子发票行程单提取保存表格,具体操作流程
  • Xilinx FPGA MIPI DSI TX Subsystem 仿真笔记
  • 向日葵远程控制debian无法进入控制画面的解决方法
  • 征文投稿:如何写一份实用的技术文档?——以软件配置为例