程序员

Python高性能编程(二)基本计算机系统

2020-07-01  本文已影响0人  ChaoesLuol

基本的计算机可以看做由三个部分组成:计算单元、存储单元和通信单元。一个基本的计算机系统硬件组成如下图:

4-计算机系统硬件组成.png

计算单元

性能指标

计算单元是计算机的核心组件,它的作用是将接收到的比特流进行处理和转换之后输出。

计算机的主要计算单元为CPU和GPU(上图中图形适配器的核心)。

计算单元的性能指标主要有两个:

通常来说IPC和时钟频率是相互竞争的关系,想要同时提高二者需要工艺的突破。相较于CPU,GPU的IPC和时钟频率都很高,但是它的计算性能受到较慢的总线传输速度的制约。

加速手段

在物理上,提高计算单元性能的方式就是提高单位面积芯片上晶体管的数量,但是目前晶体管的大小已经接近物理极限,在这个基础上再进行提高就需要直接操作原子排列的能力了,因此摩尔定律也快到了尽头。如果不考虑将来计算机系统的整体颠覆,如量子计算机体系,我们现在用来加速计算的手段主要有以下几种:

存储单元

性能指标

存储单元的主要作用就是保存比特信息。无论是程序中的变量、一张图片还是一本小说,在存储单元中都是以一系列01的形式保存的。计算机系统中的典型存储单元包括寄存器、RAM、硬盘以及远程存储。

存储单元的性能指标主要有两个:

加速手段

为了加快存储单元中的读写,很多系统都实现了层次存储:数据开始存放在本地或者远程存储中,然后其中一个子集进入主存,高速缓存则再从主存中读入一个小部分,最终将数据读入寄存器中。

下图展示了一个存储器层次结构示例:

5-计算机存储器层次结构.png

通信单元

性能指标

通信单元通常指的是各种总线。对于总线,主要的性能指标有两个:

总线带宽和频率是由物理布局决定的:芯片之间的物理链路长度较短时,传输速度就会变快。而物理链路的数量则决定了带宽。

加速手段

如前所述,总线的传输速度主要取决于物理布局,因此主要是通过精妙的复杂设计,来对总线布局进行优化。我们的CPU片内总线连接就经历了从早期的星形连接进化到环形总线到Mesh网络的过程。

上一篇 下一篇

猜你喜欢

热点阅读