计算机总线系统简介

本文涉及的产品
数据传输服务 DTS,同步至DuckDB 3个月
简介: 计算机总线系统简介

前言


计算机是由若干系统功能部件构成的,这些系统功能部件只有连接在一起协调工作才能形成一个完整的计算机硬件系统。

起到连接和信息传输功能的部件就是总线。各个功能部件只有通过总线进行有效连接后,才能实现彼此间的通信及资源共享。

正文


一、总线的概念


总线是构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路。

形象说,就好比两个景区之间的高速公路。

1、总线的特点:


  • 共享性
    总线是供所有部件通信共享的,任何两个部件之间的数据传输都是通过共享的公共总线进行的。
  • 独占性
    当一个部件占用总线与另一个部件进行数据通信时,其他部件就不能再占用。总线

2、总线的分类(按总线上传输信号的不同来分):


  • 地址总线
    传送的是从CPU等主设备发往从设备的地址信号。
  • 控制总线
    传送的是一个部件对另一个部件的控制或状态信息,如CPU对存储器的读、写控制信号等。
  • 数据总线
    传送的是各部件之间交换的数据信息,数据总线通常是双向的。
  • 以CPU读存储器为例简要说明三类总线的作用,CPU首先通过地址总线发出想要访问的存储单元的地址(即通过地址总线找到访问对象),然后通过控制总线发出读信号(即通过控制总线决定数据传输方向),最后经过数据总线把数据从存储器读到CPU(即通过数据总线完成真正的数据传输)。

3、总线的特性:


  • 物理特性
    指的是总线的物理连接方式,包括:总线的根数,总线的插头、插座的形状,引脚线的排列方式等。
  • 功能特性
    指的是总线中每根传输线的功能,例如:地址总线用来传输地址码,数据总线他、用来传送数据等。
  • 电气特性
    指的是每根线上信号的传递方向及有效电平范围,一般规定送入CPU的信号叫输入信号(IN),从CPU发出的信号叫输出信号(OUT),定义高电平为1,低电平为0
  • 时间特性
  • 指的是每根线在什么时间有效,也就是说,只有规定了总线上各信号有效的时序关系,整个计算机系统的各个功能部件才能有条不紊的协调工作。

4、总线的工作原理:


如果说主板是一座城市,那么总线就像是城市里的公共汽车,能按照固定行车路线,传输来回不停运作的比特。一条线路在同一时间内都仅能负责传输一个比特。

因此,必须同时采用多条线路才能传送更多数据,而总线可同时传输的数据数就称为宽度,以比特为单位,总线宽度愈大,传输性能就愈佳。

总线的带宽(即单位时间内可以传输的总数据数)为:总线带宽 = 频率 x 宽度/8(Bytes/sec) 。当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。

二、总线的连接方式


由于外设设备较多,且种类繁杂、速度各异,不能简单地把它们连到CPU上,因此必须寻找一种将外围设备同CPU连接起来的方法。这项工作一般都是由适配器部件来完成的,适配器通常也称为I/O接口。

根据连接方式不同,单处理机系统中采用的总线结构有两种:单总线结构多总线结构。

1. 单总线结构:


在许多单处理器的计算机中,使用单一的系统总线来连接CPU主存I/O设备,叫做单总线结构,允许I/O设备之间、I/O设备与CPU之间、I/O设备与主存之间直接交换信息。如下图所示:

image.png

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

这类总线多数被小型计算机或微型计算机所使用。

2. 多总线结构:


多总线结构是CPUcache之间采用高速的CPU总线。通过桥(具有缓冲、转换、控制功能的逻辑电路),CPU总线、系统总线和高速总线彼此相连。如下图所示:

369562453ec64fc08db5790f3a6f7190.png

多总线结构实现了高速、中速、低速设备同时连接到不同的总线上进行工作,极大地提高了总线的效率和吞吐量。

三、总线的内部结构


1. 早期:


早期的总线内部结构是处理器芯片引脚的延伸,是处理器I/O设备适配器的通道,这种简单的总线一般也由50 —100条线组成。如下图所示:

image.png

这种总线结构的不足之处在于:

  • CPU总是唯一的主控者;
  • 总线信号是CPU引脚信号的延伸,故总线结构与CPU紧密相关,通用性较差。

2. 当代:


当代流行的总线内部结构是一些标准总线,追求的是与硬件结构CPU技术无关的开发标准,并满足包括多个CPU在内的主控者环境的需求。如下图所示:

image.png

由上图可以看出,CPU和片内cache一起作为一个模块与总线相连。同时,在系统中允许有多个这样的处理器模块。而总线控制器完成几个总线请求者之间的协调与仲裁。

整个总线分成以下四个部分:

  • 数据传送总线
  • 由地址总线、数据总线、控制总线组成。为了减少布线,数据总线常常和地址总线采用多路复用的方式。
  • 仲裁总线
    包括总线请求线和总线授权线。
  • 中断和同步总线
    用于处理带优先级的中断操作,包括中断请求线和中断认可线。
  • 公用线
    包括时钟信号线、电源线、地线、系统复位线及加电或断电的时序信号线等。
  • 大多数计算机采用了分层次的多总线结构。在这种结构中,速度差异较大的设备模块使用不用速度的总线,而速度相近的设备模块使用同一类总线。

四、总线的技术指标


1、总线的带宽(总线数据传输速率

总线的带宽指的是单位时间内总线上传送的数据量,即每秒钟传送MB的最大稳态数据传输率 [2] 。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:

总线的带宽=总线的工作频率*总线的位宽/8

或者 总线的带宽=(总线的位宽/8 )/总线周期

2、总线的位宽

总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。

3、总线的工作频率

总线的工作时钟频率以MHZ为单位,工作频率越高,总线工作速度越快,总线带宽越宽。

五、总线的发展史


image.png

六、总线的专业术语


image.png

image.png

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
JSON 数据格式
利用HTTP POST协议实现简单的RPC协议,并使用WireShark进行抓包分析
通过这种方式,我们可以利用HTTP POST实现简单的RPC协议,并使用WireShark进行抓包分析。这种方式简单易懂,实用性强,可以应用于各种网络编程场景。
566 16
|
SQL 存储 数据库
Hive简介、什么是Hive、为什么使用Hive、Hive的特点、Hive架构图、Hive基本组成、Hive与Hadoop的关系、Hive与传统数据库对比、Hive数据存储(来自学习资料)
1.1 Hive简介 1.1.1   什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 1.1.2   为什么使用Hive Ø  直接使用hadoop所面临的问题 人员学习成本太高 项目周期要求太短 MapReduce实现复杂查询逻辑开发难度太大   Ø  为什么要使用Hive 操作接口采用类SQ
28672 0
|
芯片 SoC
深入理解AMBA总线(零)绪论
深入理解AMBA总线(零)绪论
918 0
|
机器学习/深度学习 边缘计算 安全
互联网安全的现状与防护策略
互联网安全问题已经成为了一个全球性的挑战,涉及到个人隐私、商业利益和国家安全。为了应对不断增加的威胁,我们需要采取多层次的安全策略,包括强化密码安全性、更新软件、多层次防御和数据加密。随着技术的不断发展,我们有望在未来看到更多创新的安全解决方案的出现,以应对不断变化的网络威胁。
1203 1
互联网安全的现状与防护策略
|
监控 测试技术 项目管理
一文聊聊我理解的技术PM
作为技术同学,不仅要写好自己的代码,做好功能交付,往往还需要担任复杂项目的技术PM,但有些同学缺少项目管理经验,不知道怎么才能做好技术PM,本文结合作者自身的一些经验,分享一些心得。
|
Oracle Java 关系型数据库
Android零基础入门(一)配置环境和安装Android Studio
Android零基础入门(一)配置环境和安装Android Studio
546 0
|
存储 Java
HashMap的应用场景、优点与缺点
HashMap的应用场景、优点与缺点
535 1
|
Java Python
java调用python脚本并传递参数list
java调用python脚本并传递参数list
408 0
|
运维 负载均衡 网络协议
OSI七层网络协议
在前一篇博客运维往事 一次负载均衡坏点检测事故中我提到了在生产环境中在第四层和第七层做healthCheck,这个第四层和第七层到底是什么意思呢?除了第四层第七层之外,其他的几层到底是什么?这几层到底做了啥?
616 0

热门文章

最新文章