【计组】入门篇 --《深入浅出计算机组成原理》
创始人
2024-02-10 18:35:56

 课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间 


目录

一、为什么需要学习计算机组成原理

二、冯·诺依曼体系结构:计算机组成的金字塔

1、计算机的基本硬件组成

2、冯·诺依曼体系结构

三、通过CPU主频谈性能

1、什么是性能

2、计算机的计时单位:CPU时钟

3、优化计算机性能的三条康庄大道

四、穿越功耗墙,我们该从哪些方面提升“性能”?

1、功耗:CPU的极限

2、并行优化,阿姆达尔定律

 

一、为什么需要学习计算机组成原理

计算机组成原理隔离了软件和硬件,提供了让软件无需关心硬件,就能直接操作硬件的接口。也就是说,你只需要对硬件有原理性的理解,就可以信赖硬件的可靠性,安安心心用高级语言来写程序。无论是写操作系统和编译器这样的硬核代码,还是写 Web 应用和手机 App 这样的应用层代码,你都可以做到心里有底。

二、冯·诺依曼体系结构:计算机组成的金字塔

1、计算机的基本硬件组成

首先要有三大件:CPU、内存和主板

 CPU:计算机最重要的核心配件,全名叫中央处理器(Central Processing Unit),计算机的所有“计算”都是由 CPU 来进行的

内存(Memory):撰写的程序、打开的浏览器等,都要加载到内存里才能运行。程序读取的数据、计算得到的结果,也都要放在内存里。内存越大,能加载的东西自然也就越多。

主板:一个有着各种各样,有时候多达数十乃至上百个插槽的配件。我们的 CPU 要插在主板上,内存也要插在主板上。主板的芯片组(Chipset)和总线(Bus)解决了 CPU 和内存之间通信的问题。芯片组控制了数据传输的流转,也就是数据从哪里到哪里的问题。总线则是实际数据传输的高速公路。因此,总线速度(Bus Speed)决定了数据能传输得多快。

有了三大件,只要配上电源供电,计算机差不多就可以跑起来了,加上各类I/O设备、配上硬盘进行数据持久化,还可以装一个机箱,配上风扇,解决灰尘和散热的问题。不过机箱和风扇,算不上是计算机的必备硬件。

还有一个特殊的设备——显卡。显卡之所以特殊,是因为显卡里有除了 CPU 之外的另一个“处理器”,也就是 GPU(Graphics Processing Unit,图形处理器),GPU 一样可以做各种“计算”的工作。

鼠标、键盘以及硬盘,这些都是插在主板上的。作为外部 I/O 设备,它们是通过主板上的南桥(SouthBridge)芯片组,来控制和 CPU 之间的通信的。

北桥芯片组的主要功能是控制内存,现在,北桥的工作已经移到CPU的内部,不存在于主板上了。

2、冯·诺依曼体系结构

首先要包含一个算术逻辑单元(Arithmetic Logic Unit, ALU)和处理器寄存器(Processor Register)的处理器单元(Processing Unit),用来完成各种算术和逻辑运算。

要有一个包含指令寄存器(Instruction Register)和程序计数器(Program Counter)的控制器单元,用来控制程序流程

接着是存储数据(data)和指令(Instruction)的内存,以及更大容量的外部存储(现在通常是硬盘)

最后是输入和输出设备以及对应的输入和输出机制

任何一台计算机的任何一个部件都可以回归到运算器、控制器、存储器、输入和输出设备中,而所有现代计算机也都是基于这个基础架构来设计开发的。

可以说,冯·诺依曼体系结构确立了我们现在每天使用的计算机硬件的基础架构。因此,学习计算机组成原理,其实就是学习和拆解冯·诺依曼体系结构,就是学习控制器、运算器的工作原理,也就是 CPU 是怎么工作的,以及为何这样设计;学习内存的工作原理,从最基本的电路,到上层抽象给到 CPU 乃至应用程序的接口是怎样的;学习 CPU 是怎么和输入设备、输出设备打交道的。学习组成原理,就是在理解从控制器、运算器、存储器、输入设备以及输出设备,从电路这样的硬件,到最终开放给软件的接口,是怎么运作的,为什么要设计成这样,以及在软件开发层面怎么尽可能用好它。

三、通过CPU主频谈性能

1、什么是性能

性能就是时间的倒数

性能=1/响应时间

衡量计算机性能的标准中主要有两个指标:

一是响应时间,也叫执行时间;二是吞吐率(Throughput)或者带宽(BandWidth)

2、计算机的计时单位:CPU时钟

用时间来衡量计算机的性能有两个问题:

一是时间不准。计算机可能同时运行着好多个程序,CPU实际上不停地在各个程序之间切换;而且,有的程序在运行的时候,可能要从网络、硬盘去读取数据,要等网络和硬盘把数据读出来,给到内存和CPU;所以说,要想准确统计某个程序运行时间,进而去比较两个程序的实际性能,我们得把这些时间给刨除掉。

Linux 下有一个叫 time 的命令,可以帮我们统计出来,同样的 Wall Clock Time 下,程序实际在 CPU 上到底花了多少时间。

它会返回三个值:

  • real time,也就是我们说的 Wall Clock Time,也就是运行程序整个过程中流逝掉的时间;
  • user time,也就是 CPU 在运行你的程序,在用户态运行指令的时间;
  • sys time,是 CPU 在运行你的程序,在操作系统内核里运行指令的时间。

而程序实际花费的 CPU 执行时间(CPU Time),就是 user time 加上 sys time。

 

备注:你最好在云平台上,找一台 1 CPU 的机器来跑这个命令,在多 CPU 的机器上,seq 和 wc 两个命令可能分配到不同的 CPU 上,我们拿到的 user time 和 sys time 是两个 CPU 上花费的时间之和,可能会导致 real time 可能会小于 user time+sys time。

二是即使拿到了CPU时间,也不一定可以比较出程序之间性能的差异,因为就算在同一台计算机上,CPU可能满载运行,也可能降频运行;

除CPU外,时间这个性能指标还会受到主板、内存这些其他相关硬件的影响,所以,需要对“时间”这个指标进行拆解——

程序的CPU执行时间=CPU时钟周期数(CPU Cycles)* 时钟周期时间(Clock Cycle)

对于CPU的时钟周期数还可以再做一个分解——

程序的CPU执行时间=指令数 * CPI(每条指令的平均时钟周期数)* 时钟周期时间

时钟周期时间:就是计算机的主频,取决于计算机硬件

CPI:每一条指令需要多少CPU Cycle(越少越优)

指令数:代表执行我们的程序需要多少指令

3、优化计算机性能的三条康庄大道

提升计算机主频

优化 CPU 设计使得在单个时钟周期内能够执行更多指令

通过编译器来减少需要的指令数。

四、穿越功耗墙,我们该从哪些方面提升“性能”?

1、功耗:CPU的极限

CPU一般都被叫做超大规模集成电路,这些电路实际上都是一个个晶体管组合而成的,就是让晶体管里的“开关”不断地去打开合关闭,来组合完成各种运算合功能。

想要计算得快,一方面,要在CPU里面,同样的面积里面,多放一些晶体管,也就是增加密度,另一方面,要让晶体管打开合关闭地快一点,也就是提升主频,这两者都会增加功耗,带来耗电合散热问题。因此,在 CPU 里面,能够放下的晶体管数量和晶体管的“开关”频率也都是有限的。

增加晶体管可以增加硬件能够支持的指令数量,增加数字通路的位数,以及利用好电路天然的并行性,从硬件层面更好地实现特定的指令。

一个CPU的功率,可以表示为:功耗~=1/2*负载电容*电压的平方*开关频率*晶体管数量

功耗增加太多会导致CPU散热跟不上,这时就需要降低电压。

(电压太低会导致电路无法联通,因为不管用什么作为电路材料,都是有电阻的,所以没办法无限制降低电压,另一方面,电压过低对工艺的要求也更高,成本也更贵)

2、并行优化,阿姆达尔定律

我们现在用的 2 核、4 核,乃至 8 核的 CPU就是通过并行提高性能。

能通过并行提高性能的问题,通常满足以下几个条件:

  • 第一,需要进行的计算,本身可以分解成几个可以并行的任务
  • 第二,需要能够分解好问题,并确保几个结果能够汇总到一起
  • 第三,在“汇总”这个阶段,是没有办法并行进行的,还是得顺序执行,一步一步来

阿姆达尔定律(Amdahl’s Law)说的是,对一个程序进行优化之后,处理器并行运算之后效率提升的情况,具体可以用这样一个公式来表示:

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

然而无论是简单地通过提升主频,还是增加更多的 CPU 核心数量,通过并行来提升性能,都会遇到相应的瓶颈。

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

  • 加速大概率事件
  • 通过流水线提高性能
  • 通过预测提高性能

课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间 

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...