计算机体系结构量化研究方法学习笔记(一)——第一章 量化设计与分析基础

第一章 量化设计与分析基础

  • 1、引言
  • 2、计算机的分类
  • 3、计算机体系结构的定义
  • 4、技术趋势
  • 5、集成电路中的功率和能耗
  • 6、成本趋势
  • 7、可信任度
  • 8、性能的测量、报告和汇总
  • 9、计算机设计的量化原理
  • 10、融会贯通:性能、价格和功耗

1、引言

发展过程:
20世纪80年代早期,开发出新体系结构——RISC(精简指令集计算机)。主要关注两点:指令级并行的开发、缓存的使用。
基于RISC的计算机抬高了性能指标。促使了1986-2003,计算机性能以超过50%的年增长率持续增长17年。
然而,由于风冷芯片最大功耗和无法有效地开发更多指令级并行这两大孪生瓶颈,单处理器性能受限了。
2004年,Intel取消了高性能单核处理器项目,这是标志着历史性转折的里程碑信号。处理器性能从单纯依赖指令级并行(ILP)转向了数据级并行(DLP)和线程级并行(TLP)。

2、计算机的分类

一、5种计算机分类
个人移动设备(PMD)、桌面计算、服务器、集群、仓库级计算机、嵌入式计算机

二、并行度与并行体系结构的分类
多级别的并行度是计算机设计的推动力量,能耗和成本是主要约束条件。
1、应用程序的两种并行方式:
数据级并行(DLP): 可以同时操作许多数据项
任务级并行(TLP): 创建了一些能够单独处理但大量采用并行方式执行的工作任务。
2、计算机硬件以4种方式实现这两种应用并行:
指令级并行
向量体系结构和图形处理器(GPU)
线程级并行
请求级并行
3、根据多处理器最受约束组件中指令流及数据流的并行,将所有计算机分为以下4类:
单指令流、单数据流(SISD):单处理器,但是可以利用指令级并行。
单指令流、多数据流(SIMD):同一指令由多个使用不同数据流的处理器执行。SIMD计算机开发数据及并行。
多指令流、单数据流(MISD):还没有
多指令流、多数据流(MIMD):每个处理器都提取自己的指令,对自己的数据进行操作,他针对的是任务机并行。

3、计算机体系结构的定义

一、指令集体系结构(ISA)
本书用ISA代指程序员可以看到的实际指令集。ISA的作用相当于区分软件和硬件的界限。
1、ISA分类
寄存器-存储器ISA:可以在许多指令中访问存储器。如80x86。
载入-存储ISA:只能用载入或存储指令来访问存储器。如ARM和MIPS。
补:
上述两个词没见过,但是学计组的时候,学过RISC和CISC的区别,其中之一就有:RISC只有load/store指令可以访存,CISC不加限制。想必是和这两类ISA是对应的。
2、存储器寻址
几乎所有计算机都用字节寻址来访问存储器操作数。ARM和MIPS要求对齐,80x86不用对齐。
二、真正的计算机体系结构:组成和硬件
组成:有时也称微体系结构。包含了计算机设计的高阶内容,如存储器系统、存储器互联等。
硬件:指的是具体实现。
本书中,体系结构 = 指令集体系结构、组成、硬件。
设计计算机必须要满足功能需求,同时达到价格、功耗、性能、可用性指标。

4、技术趋势

一、五大重要技术:
1、集成电路逻辑技术。即晶体管技术的进步,摩尔定律。
2、半导体DRAM。
3、半导体闪存。
4、磁盘技术。
5、网络技术。
二、晶体管性能与连线的发展
随着特征尺寸下降,晶体管性能线性提升,晶体管密度(数目)却以平方曲线提升,计算机架构就变得重要。

5、集成电路中的功率和能耗

一方面,必须将功率分配给芯片,另一方面功率以热的形式耗散,必须消除。
一、功率和能耗:系统观点
系统架构师要考虑三个方面:
1、处理器需要的最大功耗。保证性能。
2、持续功耗。普遍称为热设计功耗(TDP),决定了冷却需求。
3、能耗和能耗效率。
二、微处理器内部的能耗和功率
对CMOS芯片,一次(0->1或1->0)的能耗:

动态能耗 = 1/2 * 容性负载 * 电压²

每个晶体管的功率:

动态功率 = 1/2 * 容性负载 * 电压² * 开关频率

目前处理器已经达到了风冷散热极限。
根据上述公式,如果不能降低电压或者提高每个芯片的功率,那就要减缓时钟频率的增长速度(从2003年起)。

6、成本趋势

集成电路的成本成为PMD成本的主体部分。
基本的硅制造工艺没有变:对晶圆(wafer)进行测试,切割成晶片(die)进行封装。
注:晶圆上面有几百个晶片。
制造工艺决定了晶圆成本、晶圆成品率和单位面积上的缺陷数。设计人员唯一能控制的是晶片面积。

晶片成本 = 晶圆成本 / (每个晶圆上的晶片数 * 晶片成品率)
每个晶圆上的晶片数 ≈ 晶圆面积 / 晶片面积
				= (π *(晶圆直径/2)²)/ 晶圆面积 -(π *晶圆直径)/   √(2 *晶圆面积)
晶片正品率 = 晶圆正品率 * 1 / (1 + 单位面积上的缺陷 * 晶片面积)ⁿ

7、可信任度

供应商提供服务等级协议(SLA)或服务等级目标(SLO)保证他们的网络或者电源服务可靠。
SLA规定两种服务状态:
(1)服务实现
(2)服务中断
模块可靠性:
平均无故障时间(MTTF)是一种可靠性度量。MTTF的倒数就是故障率,成为FIT。
服务中断以平均修复时间(MTTR)度量。
模块可用性:
模块可用性=MTTF/(MTTF+MTTR)

8、性能的测量、报告和汇总

基准测试
1、桌面基准测试
主要分为:处理器密集型基准测试和图形密集型基准测试。
2、服务器基准测试
最简单的是面向处理器吞吐量的肌醇测试

9、计算机设计的量化原理

一、充分利用并行
三个简单例子:
1、在系统级别开发并行。可以使用多个处理器和多个磁盘。随后在处理器和磁盘之间分散处理请求的工作负载,从而提高吞吐量。
2、单独的处理器级别,充分利用指令间的并行实现高性能。最简单方法之一为流水线。
3、在具体的数字设计级别也可以开发并行。例如组相连缓存使用多组存储器,通常可以对他们进行并行查询。
总结:
我理解的,上述三个,分别就是从组成、指令体系结构、硬件三个方面的体系结构的设计。
二、局部性原理
计算机中最重要的原理之一。
三、重点关注常见情形
这一原则适用于资源的分配方式。
四、Amdahl定律
根据Amdahl定律,可以计算出通过改进计算机某一部分而获得的性能增益。Amdahl定律表明:使用某种快速执行模式获得的性能改进受限于可使用此种快速执行方式的时间比例。
五、处理器性能公式
处理器性能取决于三个特性:
时钟周期(或时钟频率)、每条指令的时钟周期、指令数。
CPU时间同等取决于这三个特性。任一特性改进10%,CPU时间改进10%。(因为乘法)

CPU时间 = 程序的CPU时钟周期数 * 时钟周期时间
CPU时间 = 程序的CPU时间周期 / 时间频率
指令数(IC)
每条指令时钟周期数(CPI)
CPI = 程序的CPU时钟周期数 / 指令数
CPU时间 = 指令数 * CPI * 时钟周期时间

10、融会贯通:性能、价格和功耗

在这一节对三个服务器进行了综合比较,我们除了性价比因素,还要考虑能耗,大多服务器实际上很少运行在峰值负载状态,最终ssj_ops和ssj_ops/$最低的PowerEdge R710荣获价格-功率-性能的奖杯。

你可能感兴趣的:(读书笔记篇)