1.2.1 CPU、存储设备

计算机中,CPU主要负责执行指令,存储设备则用来存储。

CPU

Learning By Reading 难度:★★★ 重要性:★★★

  • CPU有哪些部分组成?

  • 一个典型的CPU有算术逻辑单元,寄存器和控制单元,算术逻辑单元(ALU)用来执行具体的指令,比如基本的数学计算(加减乘除等)、读写数据; “知道下一条指令是什么”由控制单元(Control unit)完成(CU还有其他功能),大多数时候指令是按照从前到后的顺序执行的, 但有时候,我们会希望突然跳到某条指令上。 寄存器(Register)是一种存储设备,它们数量比较少,64位计算机中每一个寄存器可以存8字节。 每个寄存器都有自己的名字,在x86中,它们叫AXBX,……在ARM中,它们叫R0R1,……

  • 阅读了解CPU的基本组成

我们将通过实际的例子了解CPU的指令都能实现哪些功能。

不同厂商不同型号的CPU在设计和实现上差异较大。目前最常见的CPU架构是ARM和x86。

Learning By Reading 难度:★★★★ 重要性:★

  • 在看看ARM和x86之前,我们先来了解一种比较简单,因而在教学中经常使用的指令集

    MIPS

Learning By Reading 难度:★★★★ 重要性:★

  • ARM是一种指令集架构(Instruction set architexture),大多数智能手机用的都是这种架构。

    ARM指令集是精简指令集(

    RISC

    ),意思是ARM在设计上通过减少单条指令的工作量来减少单条指令执行的时间(CPI)

    浏览材料

    了解ARM指令集都可以做哪些事情。同时,也可以在维基百科中查询相应词条,了解更多关于ARM、RISC的信息。

Learning By Reading 难度:★★★★ 重要性:★

  • x86是另一种指令集架构,大多数电脑用的是这种架构。

    阅读

    材料

    ,了解x86指令集有哪些指令。

Learning By Reading 难度:★ 重要性:★

存储设备

存储设备有很多种,从经常听到的“U盘”、“硬盘”、“内存”到相对较少听讲的“高速缓存”、“寄存器”,它们都是有不同使用场景的存储设备。

Learning By Reading 难度:★ 重要性:★★

内存是CPU可以直接寻址的存储空间,用来存储数据和指令供CPU使用,完成人类大脑的“记忆”功能。 比如要计算5+6,计算机要存储:

  • 数据

    • 数字5,存放在地址A

    • 数字6,存放在地址B

    • 计算结果,数字11,存放在地址C

  • 指令

    • 指令“把地址A中存放的数字和地址B中存放的数字相加并存放在地址C中

注:这里只是举例,实际上需要用到更多的指令来完成这个任务。

需要注意的是,计算出来的结果也需要存储在某个地方。人类 用大脑进行计算的时候,其实也会存储(记住)这个结果,只是我们一般不去注意。

数据以多种多样的形式存在,它们在存储器中存储的方式可能也不同。

Learning By Reading 难度:★★★ 重要性:★★

Learning By Thinking 难度:★★★★★ 重要性:★

  • 查阅助教以及ARM、x86指令集,说一说5+6需要用到哪些指令?

衡量包括内存在内的存储器有两个重要的指标:速度和大小 。速度越快价格越高,大小越大价格也越高,这是显而易见的。 出于价格的考虑,两者之间需要权衡。 现代计算机中通常有不同速度的存储器,包括寄存器(Register)、高速缓存(Cache)、随机存取存储器(Random-access memory,RAM)。 从前到后越来越慢、越来越大。

作为一个比方,草稿纸可以看作存储设备。同样,人脑也是。人脑速度快、容量小;草稿纸速度慢、容量大。

Learning By Reading 难度:★ 重要性:★

Learning By Reading 难度:★★★ 重要性:★★

  • 当需要数据的时候,计算机会先去高速的存储器中寻找,找不到的时候再去低速的存储器中寻找, 并把这部分数据载入到高速的存储器中。在很多情况下,一段数据被使用之后在未来短时间内会再次被使用,因此, 这种方法通常能节省大量时间。而这种特性叫做“时间局部性(Temporal locality)”。 除此之外,还有空间局部性(Spatial locality)等局部性原理(Principle of locality)保证代码高效运行。

  • 阅读材料,了解空间局部性、时间局部性: 材料1材料2

  • 分支局部性:

    材料1

  • 里面牵涉到具体的代码现在可能看不懂,但学习完之后请回头再来看这部分。

Last updated