晶体管
早期是加快晶体管切换速度,来提升CPU速度
增加电路
给CPU专门的除法电路+其他电路来做复杂操作
缓存(cache)
给CPU加缓存(cache),提高数据存取速度,更快送给CPU,因为处理器里空间不大所以缓存一般只有KB或MB。
CPU从RAM中取数据时,RAM不用传一个,可以传一批。虽然花的时间会有所增加,但数据可以存在缓存,由于缓存离CPU近,一个时钟周期就能传数据,CPU不用空等,比反复去RAM取数据快的多。如果想要的数据已经在缓存中叫缓存命中。缓存也可以当临时空间,存一些中间值,适合复杂运算。
脏位-Dirty bit
CPU存入RAM的数据线存在cache中的相应地址,这样不仅存着快,而且如果之后还需要这个数据则更方便取出。但是当CPU向cache中存入数据后,cache与RAM对应地址的数据便发生变化,因此需要记录下来便于同步。
同步
同步发生在缓存满了,而CPU还需要将数据存入缓存。在清理缓存之前,需要检查缓存中的脏位,同时将脏位的数据重新写入到RAM中对应地址,实现同步。
指令流水线设计
用1个洗表机和1个干燥机举例
并行处理-paralleize
乱序执行推测执行分支预测
一个CPU中多个ALU
一个时钟周期完成多个指令
多核(Core)处理器
同时运行多个指令流,并且可以相互合作运算
多个独立CPU
超级计算机,中国的"神威太湖之光”