美文网首页
看来,我并不是真正了解计算机总线

看来,我并不是真正了解计算机总线

作者: CPinging | 来源:发表于2021-04-14 19:53 被阅读0次

一、前言

我以为我真正了解计算机的总线原理,后来发现,通过跟实验室同学交流下,我发现我们都浮在表面,没有真正的对这问题详细思考,本文就总结一下今天的讨论结果。

本文深入解释了一下计算机体系结构中系统总线、内存总线、I/O总线、PCI-E等各种线的连接,包括南桥北桥等概念图。

二、起因

最近看到FAST21的一篇文章《FlashNeuron: SSD-Enabled Large-Batch Training of Very Deep Neural Networks》,对这篇文章的动机产生了疑虑:论文提出由于DNN在训练的过程中需要CPU进行大量的数据处理,从而占用了大量的内存带宽资源(以及CPU计算资源),从而导致GPU与CPU之间的数据转移受到影响。

(我对此表示怀疑,因为在我的印象中,GPU与CPU是通过PCIe总线,但是CPU与DRAM是通过内存总线,那怎么会受到影响呢)?

三、各种总线的概念

首先我需要给出一个宏观的总线架构图:

image.png

下面这个图更接地气:

image.png
  • 北桥

主板的北桥负责实现主存储器(RAM)、显卡及cpu的沟通,主存储器(内存DRAM)要将数据传输给cpu就是要通过北桥的啦,然后再通过北桥连往cpu的总线(前端总线),将数据传给cpu。就如上图显示的那样,北桥其实就是一个芯片,用来串联CPU、南桥、PCIE设备以及内存DRAM。

  • 系统总线

系统总线上传送的信息包括数据信息、地址信息、控制信息,因此,系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。

系统总线在微型计算机中的地位,如同人的神经中枢系统,CPU通过系统总线对存储器的内容进行读写,同样通过总线,实现将CPU内数据写入外设,或由外设读入CPU。

这里我们不准备展开讲,但这里要注意的是,经过我们的分析,系统总线在这里指代前端总线,即北桥通往cpu的总线

参考:

https://zhidao.baidu.com/question/7056955.html
https://www.techopedia.com/definition/2307/system-bus

  • 内存总线

内存总线可以说是系统中最常用的总线之一了,它主要是连接北桥和内存(注意这里是北桥,而不是CPU)。许多文章会说,CPU与DRAM是通过内存总线进行访问的,这样说虽然没问题但是并不严谨。我们要注意,根据第一个图来说,CPU与内存直接是由前端总线+内存总线相连。

  • PCI-E

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。


image.png

PCIe可拓展性强,可以支持的设备有:显卡、固态硬盘(PCIe接口形式)、无线网卡、有线网卡、声卡、视频采集卡、PCIe转接M.2接口、PCIe转接USB接口、PCIe转接Tpye-C接口等。

而这里我们需要掌握的就是GPU是通过PCIe与系统进行数据传输的,现在的NVMe SSD也通过PCIe进行传输,从而加快了传输过程。

此外,这里我们要注意,我们之前学GPU的时候总以为GPU可以通过PCIe与内存直接相连,现在来看这里有极大的误区,GPU与内存相连的话是需要经过PCIe -> 北桥 -> 内存总线 -> 内存,而不能简单的就说与内存直接相连。

  • 南桥/IO总线

南桥和北桥一样,也是用来连接计算机设备的,主要是连接低速的网卡,USB设备,音频,硬盘等设备,连接这些设备也是由一条总线牵连,我们叫做I/O总线。

image.png

四、回归问题

在总结了上面的问题后,我们可以得出结论:涉及到内存的操作,那不可避免的都需要经过内存总线,这里重点就是要针对GPU以及CPU。当CPU与内存访问非常忙碌的时候,GPU如果也在于内存做交互,那么他们两个都会对内存总线进行征用,从而降低了系统的整体性能。

相关文章

  • 看来,我并不是真正了解计算机总线

    一、前言 我以为我真正了解计算机的总线原理,后来发现,通过跟实验室同学交流下,我发现我们都浮在表面,没有真正的对这...

  • 计算机总线及外部总线汇总

    计算机总线 笔记本电脑的外部总线 计算机存储设备 计算机外部总线

  • 计算机基础知识点

    计算机的总线分为:控制总线、数据总线和地址总线。 1、控制总线:主要用来传送控制信号和时序信号。 2、数据总线:是...

  • 计算机组成原理2-系统总线

    总线的分类数据传送方式:并行传输总线、串行传输总线使用范围:计算机(包括外设)总线、测控总线、网络通信总线等1.1...

  • 计算机基础知识-计算机组成与原理之组成篇

    计算机的总线 总线:提供对外的接口 连接不同设备 设备接口统一 分类:片内总线 (芯片内部总线)系统总线(连接计算...

  • 内存,地址,分页,指针

    系统总线计算机系统总线分为数据总线,控制总线和地址总线.其中和内存相关的是数据总线和地址总线,有些cpu中,这两者...

  • 【大话存储】学习笔记(1,2,3章),磁盘

    本文为《大话存储》的读书笔记。 计算机的IO世界 总线 总线的概念 计算机中所有的IO都通过共享总线的方式来实现。...

  • 总线概述及常见总线

    一. 总线概念 所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种...

  • 软件设计师考试琐记(二)

    计算机系统的总线: 内部总线系统总线外部总线 网络攻击 口令入侵:使用某些合法用户的账号和口令登录到目的主机,然后...

  • 总线

    总线 计算机的各个功能部件通过总线连接在一起构成完整的计算机系统,总线是多个系统功能部件之间进行数据传送的公共通路...

网友评论

      本文标题:看来,我并不是真正了解计算机总线

      本文链接:https://www.haomeiwen.com/subject/jsuhlltx.html