2.1 缓存子系统(Memory Subsystem)一家规模比较大点的企业,完整的账本很厚。我们做整年的财务报告,通常只需要每个科目的汇总数就可以了,为了方便,我们把每个科目汇总的那几页复印出来放在一起。完整的财务报告制作指南也很厚,但一个企业可能只有其中很少一部业务。例如一家软件公司,就不涉及原材料进货、仓库存储之类的业务;很多公司也没有贷款、投资之类的业务。所以我们也只把跟公司有相关业务的部分复印出来。同样的,内存中的数据很多,CPU只需要把计算用到的指令、数据放到缓存中——也就是图中的紫色块的缓存子系统。2.2 前端(Front End)CPU的前端其实就是我们上篇文章中的控制单元,负责对指令进行预处理。
指令预处理大体上分为取指、预解码、融合、解码、分支预测、重排等操作。取指(Fetch)我们制作财务报表,第一步就是把制作指南拿出来。CPU也一样,先把指令载入进来。预解码(PreDecode)制作指南是一整页的,我们要分解出第一步算哪个数据,第二步又是算哪个数据,在小纸条上把公式列出来,一张小纸条一个公式。CPU也一样,要把程序中一整批的指令数据,拆分出来第一条是什么指令,第二条是什么指令;可能还需要对指令进行分类标志。预解码后的指令放在指令队列(Instruction
Queue)里面。解码(Decode),又称为译码小纸条上的公式写着:利润=收入-支出,查帐本的同事就需要先把收入和支出数据从账本中找出来,抄到小纸条上。同样的,CPU碰到类似把内存中两个数加起来这样的指令,需要分解成:从内存载入第一个数字;从内存载入第二个数字;两个数字相加这样三个指令。一般来说,我们把原始的指令称为宏操作(Macro-Operations),分解后的指令称为微操作(Micro-Operations,
μops)。
电脑常见英文词汇
joystick操纵杆
K
keyword search关键字搜索
L
laser printer激光打印机
Layout files版式文件
Light pen光笔
Locate定位
Logical operations逻辑运算
Lands凸面
Line of sight communication视影通信
Low bandwidth低带宽
lurking潜伏