总线——概念与分类

简介: 总线——概念与分类

总线的定义


总线:是一组能为多个部件分时共享的公共信息传送线路。



为什么要用总线?


早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。


为了更好地解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。


总线的特点


在定义中我们也可以看到,总线的特点是分时和共享:


  1. 共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。


  1. 分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。


总线的特性


  1. 机械特性:尺寸、形状、管脚数、排列顺序


  1. 电气特性:传输方向和有效的电平范围


  1. 功能特性:每根传输线的功能(地址、数据、控制)


  1. 时间特性:信号的时序关系


总线的分类



串行总线与并行总线


串行总线



优缺点


  • 优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;
    应用于计算机内部时,可以节省布线空间。


  • 缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行——并行转换的问题。


并行总线



优缺点


优点:总线的逻辑时序比较简单,电路实现起来比较容易。


缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。


按总线功能


数据通路表示的是数据流经的路径


数据总线是承载的媒介


1. 片内总线


片内总线是芯片内部的总线。


它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。


2. 系统总线


系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。


按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。


1)数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器

字长、存储字长有关。


2)地址总线用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关。


3)控制总线传输的是控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。


3. 通信总线(外部总线)


通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。


补:系统总线的结构


单总线结构



  • 结构:CPU、主存、I/O设备(通过I/O接口)都连接在一组总线上,允许I/O设备之间、I/O设备和CPU之间或I/O设备与主存之间直接交换信息。


  • 优点:结构简单,成本低,易于接入新的设备。


  • 缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。


  • 注意:单总线并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。


双总线结构



主存主线:支持突发(猝发)传送:送出一个地址,收到多个地址连续的数据。


通道是具有特殊功能的处理器,能对I/O设备进行统一管理。 通道程序放在主存中


  • 结构:双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;另一条是I/O总线,用于多个外部设备与通道之间进行数据传送。


  • 优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离。


  • 缺点:需要增加通道等硬件设备


三总线结构



  • 结构:三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别为主存总线、I/O总线和直接内存访问DMA总线。


  • 优点:提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量。


  • 缺点:系统工作效率较低


总线结构简介



  1. 桥接器:用于连接不同的总线,具有数据缓冲、转换和控制功能。


  1. 靠近CPU的总线速度较快。


  1. 每级总线的设计遵循总线标准
相关文章
|
11月前
|
JavaScript 前端开发 Android开发
转换 ES6 代码时需要注意哪些兼容性问题
在转换ES6代码时,需关注兼容性问题,如箭头函数、模板字符串、let/const等语法在旧浏览器中的支持情况,以及模块化、类、Promise等特性是否需要polyfill。使用Babel等工具可有效解决大部分兼容性问题。
|
C++
【PTA】​L1-006 连续因子​(C++)
【PTA】​L1-006 连续因子​(C++)
441 0
【PTA】​L1-006 连续因子​(C++)
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件
207 2
|
存储 容灾 安全
云上架构和传统IT架构有什么区别及优势?
在云计算走向成熟之前,我们更应该关注系统云计算架构的细节,从传统的架构到云上大数据,实现了很多的转变。
3846 0
云上架构和传统IT架构有什么区别及优势?
|
12月前
|
关系型数据库 数据安全/隐私保护
Kerberos常见报错汇总
汇总了Kerberos在配置和使用过程中可能遇到的常见错误,包括密码不匹配、配置文件参数缺失、数据库文件不存在、日志文件路径错误等问题,并为每个问题提供了详细的错误复现、原因分析以及解决方案。
535 3
|
6月前
|
人工智能 数据可视化 前端开发
Probly:开源 AI Excel表格工具,交互式生成数据分析结果与可视化图表
Probly 是一款结合电子表格功能与 Python 数据分析能力的 AI 工具,支持在浏览器中运行 Python 代码,提供交互式电子表格、数据可视化和智能分析建议,适合需要强大数据分析功能又希望操作简便的用户。
705 2
|
运维 监控 数据库
自动化运维:使用Python脚本实现服务器监控
【8月更文挑战第31天】在这篇文章中,我们将探索如何利用Python编写简单的脚本来实现对服务器的基本监控。通过学习和应用这些技术,你可以快速检测服务器的状态,包括CPU使用率、内存占用和磁盘空间等关键指标。这不仅有助于及时发现问题,还能提升运维效率。文章将逐步引导你理解监控的重要性,并展示如何从零开始构建自己的监控工具。
|
存储 C语言
【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)(上篇)
printf 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的 f 代表 format (格式化),表⽰可以定制输出⽂本的格式。
213 1
|
Java 编译器 Spring
面试突击78:@Autowired 和 @Resource 有什么区别?
面试突击78:@Autowired 和 @Resource 有什么区别?
14431 5
|
设计模式 JavaScript 前端开发
【JavaScript】深入浅出JavaScript继承机制:解密原型、原型链与面向对象实战攻略
JavaScript的继承机制基于原型链,它定义了对象属性和方法的查找规则。每个对象都有一个原型,通过原型链,对象能访问到构造函数原型上的方法。例如`Animal.prototype`上的`speak`方法可被`Animal`实例访问。原型链的尽头是`Object.prototype`,其`[[Prototype]]`为`null`。继承方式包括原型链继承(通过`Object.create`)、构造函数继承(使用`call`或`apply`)和组合继承(结合两者)。ES6的`class`语法是语法糖,但底层仍基于原型。继承选择应根据需求,理解原型链原理对JavaScript面向对象编程至关重要
269 7
【JavaScript】深入浅出JavaScript继承机制:解密原型、原型链与面向对象实战攻略