并发编程基础底层原理学习(一)

计算机基本构成

计算机主要由处理器,存储器,输入/输出设备组成。

  • 处理器:控制计算机的操作,执行程序数据处理,只有一个处理器时,它通常指中央处理器 (CPU)
  • 内存:存储数据和程序,该类存储器是易失性的,即计算机关机时存储器的内容会丢失,而磁盘存储器在计算机关闭时不会丢失
  • 输入/输出模块:在计算机与外部环境之间移动数据
计算机指令

处理器执行的程序是由一组保存在存储器中的指令组成。最简单的指令处理包括两步:处理器从存储器中一次读取一条指令然后执行每条指令。程序的执行就是由不断重复的取指令和执行指令的过程组成的。处理器从存储器中读取一条指令,程序计数器(Program Counter) 保存下一次要读取的指令地址。

中断

中断通常是用于提高处理器效率的一种手段,多数IO设备远远慢于处理器,例如在使用打印机时,在每次写操作后处理器必须暂停并保持空闲,直到打印机设备完成工作,毫无疑问,暂停的这段时间对处理器来说是非常浪费的。下图展示了中断的几种分类:

image-20220416221612599

利用中断功能,处理器可以在I/O操作的执行过程中执行其他指令,中断打断了正常的执行顺序,中断处理完成后再恢复执行,用户程序不需要为中断添加任何处理的代码,处理器和操作系统负责挂起用户程序,然后在同一个地方恢复执行。

高速缓存

处理器读取指令时至少要访问一次存储器,而且通常需要多次访问存储器用于保存程序执行结果,处理器执行指令的速度显然受到存储器读写速度的影响,而处理器速度远远超过存储器,处理器与内存速度的不匹配已经成为很严重的问题。理想状态下,内存的构造技术使用与处理器中寄存器相同的构造技术,这样的话内存的速度与处理器差不多,但是成本过于昂贵。解决办法时利用局部性原理,在处理器和内存之间提供一个容量小且速度快的存储器,称为高速缓存。

image-20220417002728159

三级高速缓存结构如上图所示。2级缓存比1级缓存要慢但是2级缓存容量较大,而3级缓存比2级缓存慢而容量要比2级缓存大。