通用计算机系统的层次结构
一共四层,被三个界面连接起来,分别为API,ISA,工艺模型。
应用程序编程接口API层
操作系统的指令系统,介于应用程序和操作系统之间。API 是建生态的起点。
指令系统ISA层
介于操作系统和硬件系统之间。指令系统ISA是实现软件兼容的关键。
工艺模型
是芯片生产厂家提供给芯片设计者的界面。
补充(ABI层)
应用程序编程接口(API)和指令系统(ISA)之间还有一个应用程序二进制接口层(ABI),ABI是应用程序访问计算机硬件以及操作系统服务的接口,由用户态指令和系统调用组成。
计算机的基本组成
计算机中使用二进制。电路板上由许多芯片组成。
层次关系
芯片(类似一个系统)> 模块(加法器,乘法器)>逻辑门(“与”,“或”,“非”门)> 晶体管(PMOS管,NMOS管)
冯诺依曼结构
运算器、控制器、存储器、输入设备、输出设备。
冯诺依曼结构最核心的思想
存储程序和指令驱动执行,即数据和程序都放在存储器中,CPU从内存中取指令和数据进行运算,运算结果也放在内存中。
计算机的性能指标
常用指标
MIPS(Million Instruction Per Second):每秒执行多少百万条指令。(但是一条指令能干多少事情讲不清楚,数据供应不上,运算能力再强也没用)
MFLOPS(Million Floating point Operations Per Second):每秒做多少百万次浮点运算(同样数据供应不上,运算能力再强也没用)。
CPI(Cycles Per Instruction):每条指令的平均执行周期。
IPC(Instructions Per Cycle):每个时钟周期平均执行的指令数。
影响主频的因素
宏观上取决于微结构设计。
微观上取决于工艺和电路设计。
计算机的功耗
芯片功耗
由晶体管工作产生。
晶体管功耗
开关功耗:电容的放电。如从0到1,电容从不带电变为带电,有一个充电的功耗,吃饱饭1到0也是,充电和放电过程中会产生功耗。
短路功耗:P管和N管短路时产生的功耗。P管和N管在部分开启和关闭的时候,电流的变化有一定的斜率,产生了短路功耗。
漏电功耗:MOS管不能严格关闭时发生漏电的功耗。
芯片功耗的优化
一般从动态功耗优化和静态功耗优化入手。
动态功耗优化:升级工艺可以降低电容和电压,从而降低动态功耗(芯片工作频率跟电压成正比)。
静态功耗优化:选择呢低功耗工艺。
计算机体系结构的发展
发展史
20世纪五六十年代,工艺限制,结构简单,主要研究如何加减乘除。
20世纪七八十年代,精简指令集兴起,指令系统结构ISA成为研究重点。
20世纪九十年代后,要考虑的问题包括CPU,存储系统,IO系统和多处理器,研究范围更广。
21世纪,网络就是计算机,向上突破软硬件界面,向下突破逻辑设计和工艺实现的界面。
计算机体系结构发展的主要动力:工艺技术的发展,应用需求的提高。
计算机体系结构发展面临的障碍
复杂度障碍
是指芯片设计的复杂度。工艺提供的晶体管更多,导致设计周期和成本大幅度增加。
主频障碍
主频越来越难提升,主频持续增长的时代已经结束。
功耗障碍
随着晶体管数目的增加,功耗问题也越来越突出。CMOS电路的功耗与主频和规模都成正比。
带宽障碍
芯片计算所需的数据来自芯片外,冯诺依曼结构中,CPU和内存在逻辑上是分开的,指令和数据都存储在内存中,CPU要不断从内存中获取指令和数据,但芯片的引脚数目又不可能无限增加。
体系结构设计的基本原则
平衡性
一个木桶所盛的水量由最短的模板决定。一个结构最终体现出的性能受限于其瓶颈部分。一些程序中有一些部分是不能被并行化的,而这些不能并行化的部分将成为程序优化的一个瓶颈。
通常CPU设计上,有个计算性能和访存带宽的平衡经验,峰值浮点运算速度(MLOPS)和峰值访存带宽(MB/s)为1:1左右。
Amdahl定理
p:可并行的部分。
n:处理器数量。
局部性
体系结构能够利用局部性进行性能优化时,最常见的是利用事件的局部性,也就是有些事件频繁发生,有些事件不怎么发生,这种情况下就要重点优化频繁发生的事件。
最著名的案例就是在操作系统中的访存局部性的优化。访存局部性包括时间局部性和空间局部性。
时间局部性:一个数据被访问后很有可能多次被访问
空间局部性:一个数据被访问后,其邻近的数据也很有可能被访问。
并行性
计算机中一般可以开发三种层次的并行性。
第一层:指令级并行,包括时间并行(指令流水线),空间并行(多发射)。
第二层:数据级并行,主要指单指令多数据流(SIMD)的向量结构。
第三层:任务级并行,代表是多核处理器以及多线程处理器。
虚拟化
虚拟存储技术“虚拟”了内存,多线程和虚拟机“虚拟”了CPU。
标签:功耗,并行,基础,概念,指令,芯片,局部性,CPU From: https://www.cnblogs.com/RedNoseBo/p/17143866.html