C++旧版课程库
C++第 1 期查看课程总览

025 计算机硬件系统

主要内容

1. 计算机的组成

今天的大师码课程中,我们来讲一下计算机。 但是,它们都有一个基本的组成:显示器、键盘、鼠标、主机。 请你想一想,手机,平板等,也符合上面的组成规律吗? 为了学好 C++ 的课程,需要大家对电脑有深刻的理解。 而“主机”就是电脑的核心,所以我们需要对“主机”,做一个更加深入的介绍。 下面,是一张“主机”的照片。 一台主机,基本都含有下面几个关键部件:
  • cpu
  • 内存
  • 硬盘
  • 显卡
  • 网卡
  • 声卡
  • 电源

1.1 CPU

CPU,中文翻译为“中央处理器”,它是主机的核心,负责“数据运算”,就相当于整个主机的大脑。 CPU 被誉为是人类科学技术的杰作之一。其地位,相当于古埃及人的金字塔、中国古代修建的赵州桥、京杭大运河。 它们都能代表那个时代的科技巅峰。 说到这里,大家肯定要问了,这个 CPU 到底有什么神奇之处呢?
1.1.1 小
CPU 的小,其实是指,芯片内部,两条导线的间隔(业内称为“制程”)。 比如目前主流CPU,比如英特尔和 AMD 的一些处理器(i5 i7 i9等),它的制程就是 14 纳米、10 纳米等,目前最高可以到达 7 纳米。 这个纳米,大约是头发丝直径的 6 万分之一。 我们再从大到小,感受一下 CPU 的小。 这是从主板上,取下一个 CPU 这是 CPU 的正反面 这是 CPU 里面的样子。中间的粉色物体,就是核心芯片。 这块核心芯片上,集成了上千万个电子元件。 这是芯片加工后的样子。经过切割,就得到每一个小芯片。
1.1.2 快
CPU 的快,主要是指它的运行速度。到底有多块呢?我们用 i++ 来举个例子。 首先,我们可以查看一下自己电脑的 CPU 信息(可以在任务管理器中查看)。 以上图为例,这个 cpu 的主频(base speed) 是 2.6 GHz。这个主频相当于 CPU 的“心跳”。 一般而言,CPU 执行一条指令(比如: i++ )时,需要若干次“心跳”的时间。这个值,我们假设为 10。 那么,我们就可以来算一算,若 i 从 0 开始,然后不断执行 i++。一秒钟后,i 的值是多少。

// 主频 除以 10
2.6 / 10.0 * 10^9
= 2.6 * 10^8 (次)
从这里可以看到,从 0 开始累加,一秒钟后,这个 CPU 可以数到 260 000 000。这是非常快的。远远超过了人类口头数数的速度。 还有那些“超级计算机”,它们的 CPU 运行速度更快!
1.1.3 难
CPU 的难,其实体现在设计和加工两个方面。 设计,主要是指把“人类的逻辑”,转化成“电路的逻辑”,这需要非常专业的技术能力。 加工,主要是指,把设计变成实际的产品,这需要非常专业的加工能力。 就设计方面来说,全球范围内,著名的 CPU 厂商,有英特尔、AMD、ARM、Apple、 等都具有非常深厚的技术积累,都具有芯片的设计能力。 但是,全球的芯片加工能力,只有少数几家公司具备。比如“台积电”、“韩国三星”等。 我们国家,目前已经具有比较强的设计能力,但是我们加工不出来我们自己设计的高级芯片。 这也说明了,我们的中国制造,其实还没有达到真正的世界一流水平。 目前,一些中国的手机厂商,受到国际上芯片巨头的断供威胁。这样的问题,最终还是需要靠你们不断地学习进步,才能解决。

1.2 硬盘

硬盘就比较简单了。 我们打开电脑,就会看到硬盘的容量显示。 这是我们用来存放文件的。比如音乐、电影、文档等。 它对应的硬件实物,就长这个样子。

1.3 内存

内存是也是用来存储文件的。不过,它和硬盘的差别在于:
  • 硬盘上的文件,断电后,依然保留。
  • 内存上的文件,断电后,会丢失。
  • 硬盘,可以直接用用户使用。
  • 内存,仅供程序使用。内存,对于编程人员而言是非常重要的。
它对应的硬件实物,就长这个样子。 下一节,我们就将深入讨论内存。

1.4 显卡

显卡上,有连接显示器的接口,主要是负责连接显示器。 如今,显卡变得很重要的一个原因,是因为 AI。 在神经网络的计算中,需要新建大量的线程用于计算。而显卡一个很重要的特点,就是可以很快速的完成多线程计算。关于“线程”,我们将在以后介绍。

1.5 网卡

就是上网的接口。电脑能够上网,就是因为主机上插有网卡。 网卡上,有网线的接口。连上网线,就可以使用网络了。

习题

课后练习