锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

深入浅出计算机组成原理

时间:2022-08-04 02:30:00 电容屏大面积感知电容上限任务怎么做

计算机组成原理简单

基础篇

由计算机的基本硬件组成

image.png

首先,广泛。组成原理中有很多概念,每个概念的信息量也很大。例如,如果你想理解 CPU 中的算术逻辑单元(即 ALU)是怎么实现加法的,需要牵涉到如何把整数表示成二进制,还需要了解这些表示背后的电路、逻辑门、CPU 时钟、触发器等知识。

第二,深度。组成原理中的许多概念是计算机学科的另一门核心课程。例如,计算机指令是如何从你写的 C、Java 这种高级语言已经成为计算机可以执行的机器代码吗?如果我们展开并深入解释这个问题,它将成为编译原理的核心课程。

第三,学习不能应用。学习是用来使用的,但由于课程本身的属性,许多人经常沉迷于概念和理论,不能与他们的日常发展工作联系起来,以解决工作中遇到的问题,所以,学习往往没有成就感,很难有动力坚持。

早年,要自己组装一台计算机,首先要有三件,CPU、内存和主板。

在这三个部分中,我们首先要说的是 CPU,它是计算机最重要的核心配件。你必须知道全名。它被称为中央处理器(Central Processing Unit)。为什么说 CPU 是最重要的因为计算机的所有计算都是由 计算的CPU 来做的。CPU 也是整台电脑中最昂贵的部分之一。

第二个重要的配件,就是内存(Memory)。您编写的程序、打开的浏览器和操作游戏必须加载到内存中才能操作。程序读取的数据和计算结果也应放入内存中。内存越大,可以加载的东西就越多。

存储在内存中的程序和数据需要 CPU 读取,CPU 计算后,将数据写回内存。CPU 不能直接插入内存,反之亦然。因此,它带来了最后一个大块——主板(Motherboard)。

主板是一种配件,有时有几十甚至几百个插槽。我们的 CPU 插在主板上,内存也插在主板上。芯片组(Chipset)和总线(Bus)解决了 CPU 如何与内存沟通?。芯片组控制数据传输的流通,即数据从哪里到哪里。总线是实际数据传输的高速公路。因此,总线速度(Bus Speed)它决定了数据能传输多快。

有了三大件,只要配上电源供电,计算机差不多就可以跑起来了。但是现在还缺少各类输入(Input)/ 输出(Output)设备,也就是我们常说的 I/O 设备。如果你使用自己的个人电脑,显示器是必不可少的。只有有了显示器,我们才能看到计算机输出的各种图像和文本,这就是所谓的输出设备。

同样,鼠标和键盘也是必不可少的配件。这样,我就可以输入文本并写下这篇文章。它们被称为输入设备。

另一种非常特殊的设备是显卡(Graphics Card)。现在,使用图形界面操作系统的计算机,无论是 Windows、Mac OS 还是 Linux,图形卡是必不可少的。有些人可能会说,当我安装电脑时,我没有买图形卡,电脑可以正常运行啊!这是因为主板现在有了一个内置的图形卡。如果你用电脑玩游戏,做图形渲染或运行深度学习应用程序,你主要需要买一个单独的图形卡,插入主板。图形卡殊的,因为图形卡除了 CPU另一外的另一个处理器,即 GPU(Graphics Processing Unit,图形处理器),GPU 也可以做各种计算工作。

鼠标、键盘和硬盘都插在主板上。作为外部 I/O 设备通过主板上的南桥(SouthBridge)控制和 芯片组CPU 之间的通信。南桥芯片的名称非常直观。一方面,它在主板上的位置通常在主板的南面。另一方面,它的功能是连接鼠标、键盘和硬盘等外部设备CPU 之间的通信。

有了南桥,自然对应着也有“北桥”。是的,以前的主板上通常也有“北桥”芯片,用来作为“桥”,连接 CPU 与内存和显卡之间的通信。然而,随着时间的推移,主板上北桥芯片的工作已经转移到 CPU 内部,所以你在主板上看不到北桥芯片。

冯·诺依曼系统结构

手机里只有 SD 卡(Secure Digital Memory Card)这种类似硬盘功能的存储卡插槽没有内存插槽,CPU 插槽。是的,由于手机的大小,手机制造商选择了 CPU、内存、网络通信甚至相机芯片都包装在芯片上,然后嵌入到手机主板上。这种方法叫 SoC,也就是 System on a Chip(系统芯片)。

所有的计算机程序也可以抽象地从输入设备中读取输入信息,通过计算器和控制器执行存储在存储器中的程序,最终将结果输出到输出设备中。我们写的所有程序,无论是先进的还是低级的语言,都是基于这样一个抽象的框架。

image.png

  • 图灵机是一种思想模型(计算机的基本理论基础),是一个贫穷、结构性的问题。图灵认为,所有可以用算法解决的问题都可以用图灵机解决;
  • 冯诺依曼提出了存储程序的计算机设计理念,并参考图灵模型设计了历史上第一台电子计算机,即冯诺依曼机。

计算机组成原理知识地图

image.png

CPU

性能是什么?时间倒数

事实上,计算机的性能与我们的体力劳动非常相似,就像我们必须搬东西一样。我们需要有一个衡量计算机性能的标准。本标准主要有两个指标。

第一个是响应时间(Response time)或执行时间(Execution time)。想要提高响应时间的性能指标,可以理解为让计算机跑得更快。

二是吞吐率(Throughput)或者带宽(Bandwidth),想要提高这个指标,可以理解为让计算机移动更多。

在过去的几年里,流行的手机运行点软件是在手机上运行多个预设程序,然后根据运行所需的时间计算一个分数来评估手机的性能。在行业中,主要的 CPU 和服务器制造商组织了一个叫 SPEC(Standard Performance Evaluation Corporation)第三方机构专门用于指定各种跑分规则。

SPEC 提供的 CPU 基准测试程序就像 CPU 通过几十个不同的计算程序,对 届的高考进行了处理CPU 性能给出最终评分。这些程序丰富多彩,包括编译器、解释器、视频压缩、人工智能国际象棋等,涵盖了应用场景的各个方面。如果您感兴趣,请单击此链接。

其次,即使我们已经得到了 CPU 时间,我们可能无法直接比较两个程序的性能差异。即使在同一台计算机上,CPU 可能是满载运行或降频运行,降频运行自然需要更多的时间。

除了 CPU 此外,时间的性能指标还会受到其他相关硬件的影响,如主板和内存。因此,我们需要拆解我们能感知到的时间指标,并对程序进行 CPU 执行时间变成 CPU 时钟周期数(CPU Cycles)和 时钟周期时间(Clock Cycle)的乘积。

程序的 CPU 执行时间 =CPU 时钟周期数×时钟周期时间

让我们先了解什么是时钟周期时间。当你买电脑时,你必须注意 CPU 主频。例如,我手头的电脑是 Intel Core-i7-7700HQ 2.8GHz,这里的 2.8GHz 是电脑的主频(Frequency/Clock Rate)。这个 2.8GHz,我们可以先粗浅地认为,CPU 1 秒内可执行的简单指令数为 2.8G 条

2.0GHz这意味着它每秒产生20亿个时钟脉冲信号,每个时钟信号周期为0.5纳秒

如果你想更准确地描述这个 2.8GHz 代表我们 CPU 的钟表可以识别最小的时间间隔。就像我们挂在墙上的挂钟一样,它们都是滴答滴答一秒一秒地走,所以墙上挂钟能识别的最小时间单位是秒。

而在 CPU 内部类似于我们通常戴的电子石英表,有一个称为晶体振荡器(Oscillator Crystal)的东西,简称晶振。我们把晶振当作 。CPU 内部的电子表来使用。晶振带来的每一个滴答都是时钟周期时间

对于 CPU 时钟周期数,我们可以做另一个分解,把它变成指令数×每个指令的平均时钟周期(Cycles Per Instruction,简称 CPI)。不同的指令需要 Cycles 不同,加法和乘法对应一个 CPU 指令但是乘法需要 Cycles 比加法多,自然慢。这样拆分后,我们的程序 CPU 执行时间可以成为这三个部分的乘积。

**程序的 CPU 执行时间 = 指令数 × CPI × Clock Cycle Time **

  • Clock Cycle Time 晶振时间,时钟周期
  • CPI,每条指令的平均时钟周期数(Cycles Per Instruction,简称 CPI),加法和乘法都对应着一条 CPU 指令,乘法需要的 Cycles 就比加法要多

因此,如果我们想要解决性能问题,其实就是要优化这三者。

  1. 时钟周期时间,就是计算机主频,这个取决于计算机硬件。我们所熟知的摩尔定律就一直在不停地提高我们计算机的主频。比如说,我最早使用的 80386 主频只有 33MHz,现在手头的笔记本电脑就有 2.8GHz,在主频层面,就提升了将近 100 倍。
  2. 每条指令的平均时钟周期数 CPI,就是一条指令到底需要多少 CPU Cycle。在后面讲解 CPU 结构的时候,我们会看到,现代的 CPU 通过流水线技术(Pipeline),让一条指令需要的 CPU Cycle 尽可能地少。因此,对于 CPI 的优化,也是计算机组成和体系结构中的重要一环。
  3. 指令数,代表执行我们的程序到底需要多少条指令、用哪些指令。这个很多时候就把挑战交给了编译器。同样的代码,编译成计算机指令时候,就有各种不同的表示方式。

功耗:CPU 的“人体极限”

于是,从 1978 年 Intel 发布的 8086 CPU 开始,计算机的主频从 5MHz 开始,不断提升。1980 年代中期的 80386 能够跑到 40MHz,1989 年的 486 能够跑到 100MHz,直到 2000 年的奔腾 4 处理器,主频已经到达了 1.4GHz。而消费者也在这 20 年里养成了“看主频”买电脑的习惯。当时已经基本垄断了桌面 CPU 市场的 Intel 更是夸下了海口,表示奔腾 4 所使用的 CPU 结构可以做到 10GHz,颇有一点“大力出奇迹”的意思。

然而,计算机科学界从来不相信“大力出奇迹”。奔腾 4 的 CPU 主频从来没有达到过 10GHz,最终它的主频上限定格在 3.8GHz。这还不是最糟的,更糟糕的事情是,大家发现,奔腾 4 的主频虽然高,但是它的实际性能却配不上同样的主频。想要用在笔记本上的奔腾 4 2.4GHz 处理器,其性能只和基于奔腾 3 架构的奔腾 M 1.6GHz 处理器差不多。

一个 3.8GHz 的奔腾 4 处理器,满载功率是 130 瓦。这个 130 瓦是什么概念呢?机场允许带上飞机的充电宝的容量上限是 100 瓦时。如果我们把这个 CPU 安在手机里面,不考虑屏幕内存之类的耗电,这个 CPU 满载运行 45 分钟,充电宝里面就没电了。而 iPhone X 使用 ARM 架构的 CPU,功率则只有 4.5 瓦左右。

我们的 CPU,一般都被叫作超大规模集成电路(Very-Large-Scale Integration,VLSI)。这些电路,实际上都是一个个晶体管组合而成的。CPU 在计算,其实就是让晶体管里面的“开关”不断地去“打开”和“关闭”,来组合完成各种运算和功能。

想要计算得快,一方面,我们要在 CPU 里,同样的面积里面,多放一些晶体管,也就是增加密度;另一方面,我们要让晶体管“打开”和“关闭”得更快一点,也就是提升主频。而这两者,都会增加功耗,带来耗电和散热的问题。

我们会在 CPU 上面抹硅脂、装风扇,乃至用上水冷或者其他更好的散热设备,就好像在工厂里面装风扇、空调,发冷饮一样。但是同样的空间下,装上风扇空调能够带来的散热效果也是有极限的。

因此,在 CPU 里面,能够放下的晶体管数量和晶体管的“开关”频率也都是有限的。一个 CPU 的功率,可以用这样一个公式来表示:

功耗 ~= 1/2 ×负载电容×电压的平方×开关频率×晶体管数量

  • 增加晶体管可以增加硬件能够支持的指令数量,增加数字通路的位数,以及利用好电路天然的并行性,从硬件层面更快地实现特定的指令,所以增加晶体管也是常见的提升cpu性能的一种手段。
  • 电压的问题在于两个,一个是电压太低就会导致电路无法联通,因为不管用什么作为电路材料,都是有电阻的,所以没有办法无限制降低电压,另外一个是对于工艺的要求也变高了,成本也更贵啊。

那么,为了要提升性能,我们需要不断地增加晶体管数量。同样的面积下,我们想要多放一点晶体管,就要把晶体管造得小一点。这个就是平时我们所说的提升“制程”。从 28nm 到 7nm,相当于晶体管本身变成了原来的 1/4 大小。这个就相当于我们在工厂里,同样的活儿,我们要找瘦小一点的工人,这样一个工厂里面就可以多一些人。我们还要提升主频,让开关的频率变快,也就是要找手脚更快的工人。

但是,功耗增加太多,就会导致 CPU 散热跟不上,这时,我们就需要降低电压。这里有一点非常关键,在整个功耗的公式里面,功耗和电压的平方是成正比的。这意味着电压下降到原来的 1/5,整个的功耗会变成原来的 1/25。

事实上,从 5MHz 主频的 8086 到 5GHz 主频的 Intel i9,CPU 的电压已经从 5V 左右下降到了 1V 左右。这也是为什么我们 CPU 的主频提升了 1000 倍,但是功耗只增长了 40 倍。比如说,我写这篇文章用的是 Surface Go,在这样的轻薄笔记本上,微软就是选择了把电压下降到 0.25V 的低电压 CPU,使得笔记本能有更长的续航时间。

这就引出了我们在进行性能优化中,常常用到的一个经验定律,阿姆达尔定律(Amdahl’s Law)。这个定律说的就是,对于一个程序进行优化之后,处理器并行运算之后效率提升的情况。具体可以用这样一个公式来表示:

优化后的执行时间 = 受优化影响的执行时间 / 加速倍数 + 不受影响的执行时间

在“摩尔定律”和“并行计算”之外,在整个计算机组成层面,还有这样几个原则性的性能提升方法。

  1. 加速大概率事件。最典型的就是,过去几年流行的深度学习,整个计算过程中,99% 都是向量和矩阵计算,于是,工程师们通过用 GPU 替代 CPU,大幅度提升了深度学习的模型训练过程。本来一个 CPU 需要跑几小时甚至几天的程序,GPU 只需要几分钟就好了。Google 更是不满足于 GPU 的性能,进一步地推出了 TPU。后面的文章,我也会为你讲解 GPU 和 TPU 的基本构造和原理。
  2. 通过流水�
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章