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

计算机基础之总线与I/O总线

总线

总线(Bus)是计算机各功能部件之间传送信息的公共通信干线,是各个部件共享的传输介质,它是由导线组成的传输线束。微机内部信息的传送是通过总线进行的,各功能部件通过总线连在一起。

总线的分类

数据传输方式的不同,总线可分为串行总线并行总线

  • 串行总线:在串行总线中,二进制数据逐位通过一根数据线发送到目的部件(或设备)。
  • 并行总线:在并行总线中,数据线有多根,故一次能发送多个二进制位数据。

连接部位的不同,总线可分为片内总线系统总线

  • 片内总线:是指CPU芯片内部的总线,如CPU内部的各个寄存器之间,寄存器与ALU之间都是由总线相连的。
  • 系统总线:是指CPU、内存、外部设备(通过I/O接口)各功能部件之间的信息传输总线。通常说的计算机总线就是系统总线

计算机的总线按传输信息的不同可分为3类:

  • 数据总线(Data Bus,DB):数据总线在各功能部件之间传输数据信息,它是双向传输总线。如在CPU与内存之间来回传送需要处理或是需要存储的数据。
  • 地址总线(Address Bus,AB):地址总线是用来指定数据总线上的数据在内存单元中的地址,它是单向传输总线。
  • 控制总线(Control Bus,CB):控制总线是用来传送控制信号的传输线。控制总线的传送方向由具体控制信号而定,对任一控制线而言,它的传输是单向的,对于控制总线总体而言,一般认为是双向的。

总线的技术指标

总线的主要技术指标有3个:总线带宽(Bandwidth)总线位宽(Bus Width)总线工作效率(Efficiency)

  • 总线带宽:总线带宽是指单位时间内总线上传送的数据量,反映了总线数据传输速率。
  • 总线位宽:总线位宽是指总线能同时传送的二进制数据的位数,即通常所说的32位、64位等概念。总线位宽越大,总线带宽越大
  • 总线工作效率:总线的工作效率以MHz为单位,工作效率越高,总线工作速度越快,总线带宽越大

总线带宽与位宽和工作频率之间的关系

总线带宽=(总线位宽/8)*总线工作效率(MHz) * 传输次数

其值越大,说明位宽越宽,总线每秒数据传输率也就越大。其中传输次数是指每个时钟周期内的数据传输次数,一般为1

另外,总线的负载与驱动能力、总线的竞争与仲裁也是总线的关键技术指标。

  • 总线的负载能力是指总线可以驱动的最大设备数量,
  • 总线的驱动能力则是指总线可以提供的最大电流。
  • 当多个设备同时向总线发送数据时,就存在总线竞争的问题,需要采用一种机制来决定哪个设备可以获得总线的使用权,这种机制称为仲裁。

常见的系统总线

常见的系统总线有PCI(外设组件互连标准)总线、PCI-E(PCI扩展标准)总线、AGP(加速图形接口)总线、USB(通用串行总线)总线、SATA(串行高级技术附件)总线等。

  • PCI总线。PCI是Intel公司于1991年推出的局部总线标准,是一种32位的并行总线(可扩展为64位),总线频率为33MHz(可提高到66MHz),最大传输速率可达66MHz*64/8=528MB/s。PCI总线的最大优点是结构简单、成本低、设计容易。缺点是总线带宽有限,如果有多个设备,将共享总线带宽,导致性能下降。

  • PCI-E总线。PCI-E是一种新型总线标准,是一种多通道的串行总线。PCI-E的主要优势就是数据传输速率高,总线带宽独享。PCI-E总线也有1.0、2.0和3.0多个版本,高版本的数据传输带宽更高,PCI-E 1.0 是250MB/s,PCI-E 2.0 是500MB/s,PCI-E 3.0是1GB/s。

  • AGP总线:AGP总线主要用于连接高速图形卡和主板。由于图形处理需要大量的数据传输,AGP总线具有较高的带宽和传输速率,以满足图形处理的需求。

  • USB总线:USB总线是一种通用的串行总线标准,主要用于连接外设,如鼠标、键盘、打印机等。USB总线具有易于扩展、支持热插拔和即插即用等优点,使得它成为外设连接的常用总线。

  • SATA总线:SATA总线是一种串行总线标准,主要用于连接硬盘驱动器和其他存储设备。与传统的并行总线相比,SATA总线具有更高的传输速率和更小的线缆尺寸,使得存储设备的连接更加方便和高效。

  • Ethernet(以太网)总线:以太网是一种常见的局域网通信协议,它使用总线结构进行通信。以太网总线具有高速、可靠和广泛的应用等特点,是实现局域网互连的重要技术。

  • SATA Express总线:SATA Express总线是SATA总线的一种扩展,它提供了更高的传输速率和更多的通道数,以满足高性能存储设备的需求。

  • Thunderbolt总线:Thunderbolt总线是一种高速串行总线标准,它结合了PCI-E和DisplayPort的技术,具有高带宽、低延迟和易于扩展等优点。Thunderbolt总线广泛应用于连接高速存储、显示设备和音频设备等。

总线的未来发展趋势

随着技术的不断进步,总线技术也在不断发展,以满足更高的数据传输和处理需求。未来总线的发展将朝着以下几个方向发展:

  1. 高带宽:随着数据传输速率的不断提高,总线需要更高的带宽来满足数据传输的需求。未来总线将会采用更高速的传输协议和更宽的数据总线,以提高数据传输速率。例如,PCI-E 4.0和更高版本的协议将进一步提高带宽,满足更高效的数据传输需求。
  2. 低延迟:随着云计算、物联网等技术的发展,对实时性要求更高的应用越来越多,总线需要更低的延迟来满足这些应用的需求。未来总线将会采用更高效的传输协议和更快的传输速度,以降低数据传输的延迟。例如,NVLink和Infinity Fabric等新型总线协议已经大大降低了数据传输的延迟。
  3. 低功耗:随着移动设备和物联网设备的普及,总线的功耗问题越来越受到关注。未来总线将会采用更低功耗的技术和材料,以降低总线的功耗,延长设备的续航时间。例如,USB Type-C接口就采用了低功耗设计,以满足移动设备的需求。
  4. 可扩展性:随着设备种类的不断增加,总线需要更好的可扩展性来适应不同设备的需求。未来总线将会采用模块化设计,可以根据不同的设备需求进行扩展和定制。例如,PCI-e gen4或更高版本的接口将允许设备扩展更多的通道数量以满足多样化的需求。
  5. 灵活性:随着应用场景的不断变化,总线需要更好的灵活性来适应不同的应用需求。未来总线将会采用通用接口设计,可以连接不同类型的设备,满足不同的应用需求。例如,Thunderbolt接口可以支持多种类型的设备,如显示器、音频设备和外部存储等。
  6. 可靠性:随着数据安全和隐私保护的日益重要,总线的可靠性也变得越来越重要。未来总线将会采用更可靠的技术和材料,以确保数据传输的安全和隐私保护。例如,AES加密技术将用于总线的数据传输,以确保数据的安全性。
  7. 集成化与小型化:随着电子设备向更小、更轻、更便携的方向发展,总线的集成化和小型化也成为未来的发展趋势。例如,嵌入式总线和片上系统(SoC)等技术的出现,使得总线能够更好地集成到微小尺寸的设备中。
  8. 智能化:随着人工智能和物联网技术的发展,总线的智能化也成为未来的发展趋势。例如,智能总线可以根据应用的需求自动调整数据传输的带宽和优先级,提高总线的使用效率和应用性能。

综上所述,未来总线的发展将更加注重高带宽、低延迟、低功耗、可扩展性、灵活性、可靠性、集成化与小型化以及智能化等方面,以满足不断增长的数据传输和处理需求,以及适应多样化的应用场景和设备需求。

I/O总线

I/O总线定义

I/O总线指缆线连接器系统,用来传输I/O路径技术指定的数据和控制信号,另外还包括一个总线终结电阻或电路,这个终结电阻用来减弱电缆上的信号反射干扰。主机和I/O设备之间通过总线连接,这个总线一般被称为I/O总线

I/O控制方式

设备管理的任务之一就是控制设备,在设备与内存之间传送数据。

选择和衡量数据传输控制方式有如下几条原则:

  • 数据传送速度足够高,能满足用户的需要而又不丢失数据
  • 系统开销小,需要的处理控制程序少。
  • 能充分发挥硬件资源的能力,使得I/O设备尽可能忙,CPU等待时间尽可能少。

随着计算机技术的不断发展,I/O控制方式也在不断地发生改变。从先前的程序直接控制方式。发展到中断控制方式、DMA控制方式、通道控制方式,发展的目标是尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以完成更多的运行应用程序的任务,从而使得主机的利用率、并发性与并行性的操作不断提高。

  1. 程序直接控制方式

程序直接控制方式也称为程序查询方式,是由用户进程直接控制CPU与外设之间的信息传送。CPU需要根据外设的工作状态来决定何时进行数据传送,它要求CPU随时对接口状态进行查询,如果接口尚未准备好,则CPU必须等待,并继续查询。只有接口已准备好,CPU才能进行数据的输入/输出

  1. 中断控制方式

一方面为了减少CPU等待慢速外设操作而浪费的时间开销,另一方面为追求系统并发与事件的并行,提高系统效率,在现代计算机系统中广泛采用了中断控制方式。在计算机系统运行时,出现某种非预期的事件急待处理,CPU暂时停下现行程序,转而为该事件服务,等事件处理完毕,再恢复执行原程序,这个过程称为中断。中断技术赋予计算机应变能力,把有序的运行和无序的事件统一起来,大大增强了系统的处理能力

  1. DMA控制方式

DMA控制方式是一种以内存为中心,实现设备和内存间直接交换数据的控制方式。在DMA控制方式中,数据传送的基本单位是数据块,数据传送的方向是从设备送内存,或者相反。DMA控制器负责控制数据传送的过程,包括数据的起始地址、传送数据的长度以及传送数据的方向等。在数据传送过程中,CPU可以执行其他任务,不需要对数据传送过程进行实时控制,因此大大减轻了CPU的负担。DMA控制方式的优点是数据传输速度快,适用于大规模数据传输和实时性要求较高的场合

  1. 通道控制方式

通道控制方式是一种更为先进的I/O控制方式,可以实现高速、大批量数据传输。在通道控制方式中,有一个专门的硬件设备称为通道,它独立于CPU负责输入输出控制。通道通过执行通道程序来控制数据传输的过程,这些通道程序由CPU启动并保存在主存中。通道可以同时控制多台设备与内存进行数据交换,并且可以根据需要实现高速数据传输。通道控制方式的优点是传输速率高、CPU负担轻、可以实现多台设备并行传输等。

相关文章:

  • [Linux] Ubuntu install Miniconda
  • Broadcom交换芯片56620架构
  • 嵌入式Linux:如何进行嵌入式Linux开发?
  • 目标检测YOLO实战应用案例100讲-橘子自动采摘机视觉识别
  • R语言——AVOCADO“(异常植被变化检测)算法(1990-2015数据分析)监测森林干扰和再生(含GEE影像下载代码)
  • 甜蜜而简洁——深入了解Pytest插件pytest-sugar
  • Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】
  • React16源码: React中的updateHostRoot的源码实现
  • 【Docker】安装Nginx容器并部署前后端分离项目
  • neovim compare 2 files
  • Spring Boot入门
  • chapter1-爬虫那些事
  • JNPF低代码开发平台总体架构介绍
  • k8s 集群搭建的一些坑
  • 小程序使用echarts图表-雷达图
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【RocksDB】TransactionDB源码分析
  • Android框架之Volley
  • Date型的使用
  • GitUp, 你不可错过的秀外慧中的git工具
  • java2019面试题北京
  • JavaScript的使用你知道几种?(上)
  • Javascript设计模式学习之Observer(观察者)模式
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JS基础之数据类型、对象、原型、原型链、继承
  • leetcode388. Longest Absolute File Path
  • Mysql优化
  • nodejs实现webservice问题总结
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • quasar-framework cnodejs社区
  • react-native 安卓真机环境搭建
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 基于游标的分页接口实现
  • 今年的LC3大会没了?
  • 聊聊directory traversal attack
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 如何合理的规划jvm性能调优
  • 深度学习在携程攻略社区的应用
  • 数组的操作
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 2017年360最后一道编程题
  • ​configparser --- 配置文件解析器​
  • #每日一题合集#牛客JZ23-JZ33
  • $L^p$ 调和函数恒为零
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (06)金属布线——为半导体注入生命的连接
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (万字长文)Spring的核心知识尽揽其中
  • (转)Linq学习笔记
  • **CI中自动类加载的用法总结
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .net core使用RPC方式进行高效的HTTP服务访问