网站首页 > 技术文章 正文
1、什么是总线?
计算机系统的五大部件之间的链接方式有两种:第一种是各个部件之间使用单独的导线,这个称之为分散链接;另一种是将各个部件链接到一组公共的信息传输线上,这个称之为总线连接(BUS)。
2、为什么需要总线?
如果各个部件之间使用分散连接的话,那么计算机系统必然会因为众多的设备而导致拥有大量的数据导线,从而使得系统变得异常复杂,如果需要动态添加一个新的设备的话,会比较麻烦。
3、总线上信息传输的方式
总体来说,有两种方式:串行和并行。
串行:数据一位一位地传递,只有上一位传送完毕之后下一位才能传递,通常由一根导线设计。
并行:数据中的很多位可以同时传输,使用多根导线制造设计。
两种方式比较如下:
串行:优点:硬件设计简单,占用引脚较少,有利于集成。缺点:数据传输效率较低。
并行:优点:数据传输效率较高,吞吐量大。缺点:硬件设计复杂,占用较多引脚,集成复杂。
4、常见总线结构
单总线结构
这种结构是最经典,也是最简单的结构。所有的设备,包括CPU,主存,各种I/O设备全部挂接在一条总线上。但是这种方式的效率底下,因为同时只能有一对设备使用总线进行数据传输,如果这对设备传输时间很长的话(比如CPU和主存之间的数据传输)那么这段时间内别的设备只能等待;另外多个设备之间可能存在严重资源使用冲突的问题。
面向CPU的双总线结构
这种结构以CPU为中心,和上面的结构不同的是,这里主存不再挂在单一总线上了,而是设计了两个总线:I/O总线和M总线(Memory)。这样一来就把专门用于I/O设备数据传输的总线和存储总线分开了,解决了单一总线中因为CPU访问内存而导致系统总线负载较重的问题。
但是这种结构也是有问题的,比如所有的I/O设备如果需要和主存交互的话,那么效率是比较低的,因为每次都需要CPU实际参与。
以存储器为中心的双总线结构
还有一种以存储器为中心的双总线结构,如上图所示。它是在单总线的基础上又开辟一条CPU和主存之间的总线,称之为存储总线。这组总线速度高,只供主存和CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O设备与存储器之间交换信息时不经过CPU的特点。
5、总线的分类
总线应用广泛,从不同的角度可以有很多种分类方式。下面我们按照连接部件的不同,分为三类。
片内总线
片内总线是指芯片内部的总线,如在CPU芯片的内部,寄存器和寄存器之间,寄存器和运算逻辑单元ALU之间的都是由片内总线连接而成的。
系统总线
系统总线是指CPU,主存,I/O设备各大部件之间的信息传输线。由于这些部件通常安放在主板的各个插件板上,因此又称为板级总线或板间总线。按照系统总线传输的信息的不同,又可以分为三类:数据总线,地址总线,控制总线。
数据总线
数据总线用来传输各功能部件之间的数据信息,它是一个双向的传输总线,其位数与机器字长,存储字长有关,一般为8位,16位或者32位。数据总线的位数成为数据总线的宽度,它是衡量系统性能的一个重要参数。
地址总线
地址总线主要用来指出数据总线上的源数据或者目的数据在主存储单元的地址或者I/O设备的地址。地址总线的数据用来指明CPU想要访问的存储单元或者I/O端口的地址,由CPU输出,单向传输。数据线的位数代表着系统能够寻址的空间大小,比如地址线宽为20那么地址空间为2的20次方。
控制总线
我们知道,数据总线和地址总线是被挂在总线上的所有设备所共享的,那么这些设备之间怎么协调使用呢?答案就是控制总线,依靠控制总线来完成共享总线的占用申请。控制总线是发出各种控制信号的,因此它的传输方向就是单向的。但是,通常对于CPU而言的话,控制总线是既有输入,又有输出的。常见的控制信号有:时钟,复位,总线占用请求等等。
通讯总线
这类总线用于计算机系统之间或计算机系统与其他系统之间的通讯,比如网络连接。这类通讯涉及许多方面,因此互相之间差别极大,传输的类别很多,但是总体可以分为两种:串行和并行。
- 上一篇: 一分钟看懂CPU主频/倍频/超频
- 下一篇: 手慢无:秘籍拿好 CPU自制入门仅50元
猜你喜欢
- 2024-11-24 “扣肉”十年!Intel CPU今昔对比:提升有多大?
- 2024-11-24 一文带你了解计算机总线
- 2024-11-24 手慢无:秘籍拿好 CPU自制入门仅50元
- 2024-11-24 一分钟看懂CPU主频/倍频/超频
- 2024-11-24 干货 | 手把手教你学习各种总线技术
- 2024-11-24 cpu为什么要靠地址总线才能找到内存单元
- 2024-11-24 CPU多级缓存架构
- 2024-11-24 认识CPU,了解CPU的各个参数
- 2024-11-24 简单!代码原来是这样被CPU跑起来的
- 2024-11-24 计算机组成原理——CPU指令执行顺序及其数据通路
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 600℃几个Oracle空值处理函数 oracle处理null值的函数
- 592℃Oracle分析函数之Lag和Lead()使用
- 580℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 576℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 572℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 565℃【数据统计分析】详解Oracle分组函数之CUBE
- 551℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 546℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)