【计算机基础Ep17】黑皮书:《计算机组成与设计——硬件/软件接口》内容梳理(八)

第一章 计算机抽象及相关技术
1.8沧海巨变:从单处理器向多处理器转变
原因:功耗的极限迫使微处理器的设计发生了巨变——到2006年,所有桌面和服务器公司都在单个微处理器芯片中加入了多个处理器,以求更大的吞吐率,而不再继续追求降低单个程序运行在单个处理器上的响应时间。
概念:
为了减少处理器(processor)和微处理器(microprocessor)这两个词语之间的混淆,一些公司将处理器作为“核”(core)的代称,这种语境下的微处理器就是多核处理器了;
“四核”微处理器是一个包含了4个处理器或者4个核的芯片。
程序员表编写显示并行程序:
必要性:在过去,程序员可以依赖于硬件、体系结构和编译器的创新,无须修改一行代码,而今天,程序员要想显著改进响应时间,必须重写程序以充分利用多处理器的优势;
难度:并行性对计算机性能一直十分重要,但它往往时隐蔽的,通过指令重叠执行使程序运行得更快,这是指令级并行的一个例子,很多采用此种方式进行革新的公司都失败了;
原因:
编程的难度:正确,解决重要问题,速度快,提供接口以便使用;
程序员必须将应用划分为每个核上有大致相同数量的任务:任务分配必须平衡才能得到预期的加速,必须尽量减少通信和同步的开销。