admin管理员组

文章数量:1652191

[中英对照]学习笔记(一)量化设计与分析基础-计算机体系结构量化研究方法-Computer Architecture A Quantitative Approach

  • 学习笔记
  • 简介与资源
    • ​Refernce:
    • 资源:
    • 1.1 引言
    • 1.2.0 计算机的分类
      • 1.2.1 个人便携设备PMD
      • 1.2.2 桌面Desktop
      • 1.2.3服务器Server
      • 1.2.4 集群/仓库级计算机Cluster/Warehouse-Scale Computer
      • 1.2.5 嵌入式计算机Internet of Things/ Embeded
    • 1.2.6 并行度与并行结构的分类Classes of Parallelism and Parallel Architectures
    • 1.3 计算机体系结构的定义
      • 1.3.1 指令集体系结构:计算机体系结构的近距离审视
      • 1.3.2 真正的计算机体系结构:设计满足目标和功能需求的组成和硬件
    • 1.4 技术趋势
      • 1.4.1 性能趋势:带宽胜过延迟
    • 1.6 成本趋势
    • 1.7 可信任度(Dependability)
    • 1.8 性能的测量,报告和汇总
      • 1.8.1 基准测试
      • 1.8.2 报告性能测试结果
      • 1.8.3 性能结果汇总
    • 1.9 计算机设计的量化原理
      • 1.9.1 充分利用并行
      • 1.9.2 局域性原理
      • 1.9.3 重点关注常见情形
      • 1.9.4 Amdahl定律
      • 1.9.5 处理器性能公式
    • 1.10 性能,价格与功耗
    • 1.11 谬论与易犯错误
    • 1.12 结语

学习笔记

学习笔记:(零)简介与资源

简介与资源

本学期修Computer Architecture,老师把这本书当作reference,更新应该不快,跟着课程走(周更吧,应该)。本人能力很差,请各位见谅。有时间的话我也会附上学校的ppt和作业解答。感谢作者及译者的付出,感谢各位的阅读。

​Refernce:

John L. Hennessy, David A. Patterson (2019) Computer Architecture: A Quantitative Approach, 6th Edition. Morgan Kaufmann
量化研究方法(第5版)贾洪峰

资源:

中文第五版:https://www.jb51/books/530616.html
英文第六版:https://www.jb51/books/657416.html#downintro2
原书提供资料的网站:https://www.elsevier/books/computer-architecture/hennessy/978-0-12-811905-1,

1.1 引言

随着集成电路技术的进步,微处理器让计算机性能进入快速发展期。另外,两个重大变化:1.人们几乎不使用汇编语言编程2.出现了独立于厂商的标准化操作系统(Linux & Unix)。 这让RISC(精简指令集计算机)体系结构成为可能。

RISC的两个关键的性能技术

  1. 指令级并行的开发
  2. 缓存的使用
    体系结构与组织方式的发展一起促成了计算机性能以超过50%的年增长率持续增长17年。这一飞速发展共有四层效果。
  3. 显著增强了计算机用户使用的功能
  4. 性价比导致新型计算机的出现
  5. 根据摩尔定律的预测,半导体制造业的持续发展已经使基于微处理器的计算机在涉及领域内站住主导地位
  6. 对软件开发的积极影响。 允许程序员以性能换取效率。(编程语言的迭代)

遗憾的是,长达17年的硬件复兴结束了。这标志着处理器性能的提高从单纯的指令级并行(ILP)转向数据集并行(DLP)和线程级并行(TLP)。新版还增加了仓库及计算机和请求级并行(RLP)的内容

1.2.0 计算机的分类

1.2.1 个人便携设备PMD

Personal Mobile Device
关键特性

1.2.2 桌面Desktop

覆盖范围广

1.2.3服务器Server

关键特性

  1. 可用性 Availability
  2. 可扩展性 Scalability

1.2.4 集群/仓库级计算机Cluster/Warehouse-Scale Computer

SaaS应用(搜索,社交网络,游戏)推动了集群的发展。集群指一组桌面计算机或服务器通过局域网连接在一起,类似大型计算机一样运转,每个节点都有自己的操作系统,节点之间用网络协议来通信。最大规模的集群成为仓库级计算机(WSC:Warehouse Computer)

WSC与服务器的区别在于,WSC以很多廉价组件为构建模块,依靠软件层来捕获和隔离计算时出现的故障。

关键特性:性价比和能耗

1.2.5 嵌入式计算机Internet of Things/ Embeded

eg.微波炉,洗衣机等
不能运行第三方软件

1.2.6 并行度与并行结构的分类Classes of Parallelism and Parallel Architectures

应用程序 中主要有以下两种并行

  1. 数据级并行(Data-level Parallelism)同时操作许多数据项
  2. 任务级并行(Task-level-Parallelism)创建了一些能够单独处理但大量采用并行的方式执行的工作任务。

计算机硬件中又以以下4种主要方式来开发这两种类型的应用并行

  • 指令级并行(Instruction-level parallelism)
  • 向量体系结构和图形处理器(GPU)
  • 线程级并行 (Thread-level parallelism)
  • 请求级并行 (Request-level parallelism)

Michael Flynn提出了一种简单分类方式,他研究了多处理器最受约束组件指令中的指令流以及数据流的并行,依据此将计算机分为以下4类:

  1. 单指令流,单数据流 (SISD)
  2. 单指令流,多数据流 (SIMD)
  3. 多指令流,单数据流 (MISD)
  4. 多指令流,多数据流 (MIMD)

1.3 计算机体系结构的定义

在满足成本,功耗,可用性等约束条件的情况下,判断哪些属性对与一种新计算机来说是至关重要的,然后设计并使其性能和能耗效益达到最佳。

1.3.1 指令集体系结构:计算机体系结构的近距离审视

指令集体结构(ISA)可区分软件和硬件的界限

  1. ISA分类
  • 寄存器-寄存器 ISA(x86)
  • 载入-存储 ISA (ARM和MIPS)
  1. 存储器寻址
  2. 寻址模式
  3. 操作数的类型的大小
  4. 操作指令
  5. 控制流指令
  6. ISA编码

1.3.2 真正的计算机体系结构:设计满足目标和功能需求的组成和硬件

计算机的实现有两个组件:组成(organization)和硬件(hardware)。

  • 组成 Organization/微体系结构
    包括计算机设计的高级方面,如存储系统、内存互连和内部处理器或CPU

  • 硬件 Hardware
    硬件是指计算机的具体细节,包括详细的逻辑设计和计算机的封装技术。通常一系列计算机包含具有相同指令集架构和非常相似的组织的计算机,但它们在详细的硬件实现上有所不同。

本书中,体系结构涵盖了

  1. 指令集体系结构
  2. 组成/微体系结构
  3. 硬件

1.4 技术趋势

  • 集成电路逻辑技术
  • 半导体DRAM(动态随机访问存储器)
  • 半导体闪存
  • 磁盘技术
  • 网络技术

1.4.1 性能趋势:带宽胜过延迟

1.6 成本趋势

1.7 可信任度(Dependability)

如何判断一个系统是否运行正常是一个难题。所以,基础设施供应商开始提供服务等级协议(SLA)或服务等级目标(SLO)来保证网络和电源服务是可靠的。可以使用SLA来判断系统是在正常运行还是已经宕机。

系统在SLA规定的两种状态之间切换。

  1. 服务实现 service accomplishment
  2. 服务中断 service interruption
    两种之间转换由故障(1到2)和恢复(2到1)导致。对两种转换进行量化,可以得到可信任度的两种主要度量。
  • 模块可靠性 Module reliability 对发生故障之前的时间度量。 平均无故障时间(MTTF)。其倒数就是故障率,通常以运行1,000,000,000小时来表示,或者成为FIT(Failures In Time)。 因此,MTTF等于1,000,000小时,相当于 1 0 9 / 1 0 6 10^9/10^6 109/106=1000FTP
    服务中断以平均修复时间-MTTR来度量。平均故障间隔时间(MTBF)=MTTF+MTTR。
  • 模块可用性Module availability 在服务完成和服务中断之间切换时,对服务完成度量。对于了修复的非冗余系统,

模块可用性= M T T F M T T F + M T T R 8 \frac{MTTF}{MTTF+MTTR8} MTTF+MTTR8MTTF

对比两台计算机(X和Y)性能之间的关系:
X的速度是Y的n倍;
执行时间是性能的倒数

  • 例题 设磁盘子系统的组件以及MTTF如下;
  • 10个磁盘,各自的rated at 1,000,000小时的MTTF
  • 1个ATA控制器,500,000小时的MTTF
  • 1个电源,200,000小时的MTTF
  • 1个风扇,200,000小时的MTTF
  • 1根ATA线缆,1,000,000消失的MTTF
    (假设寿命符合指数分布(模块老化对故障率影响不大),各部相互独立,试计算整个系统的MTTF。)

故 障 率 系 统 = 10 ∗ 1 1000000 故障率_{系统}=10*\frac{1}{1000000} =1010000001+ 1 500000 \frac{1}{500000} 5000001+ 1 200000 \frac{1}{200000} 2000001+ 1 200000 \frac{1}{200000} 2000001+ 1 1000000 \frac{1}{1000000} 10000001= 23000 1000000000 \frac{23000}{1000000 000} 100000000023000=23000FTP

M T T F 系 统 = 1 故 障 率 系 统 = 1000000000 23000 MTTF_{系统}=\frac{1}{故障率_{系统}}=\frac{1000000 000}{23000} MTTF=1=230001000000000=43 500小时

1.8 性能的测量,报告和汇总

1.8.1 基准测试

1.8.2 报告性能测试结果

1.8.3 性能结果汇总

1.9 计算机设计的量化原理

1.9.1 充分利用并行

1.9.2 局域性原理

1.9.3 重点关注常见情形

1.9.4 Amdahl定律

1.9.5 处理器性能公式

1.10 性能,价格与功耗

1.11 谬论与易犯错误

1.12 结语

本文标签: 体系结构学习笔记中英对照计算机基础