Presentation is loading. Please wait.

Presentation is loading. Please wait.

计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构

Similar presentations


Presentation on theme: "计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构"— Presentation transcript:

1 计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构
2017/3/22 计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构 上海交通大学计算机系

2 第二篇 计算机系统结构

3 教材 胡越明 《计算机系统结构》 北京航空航天大学出版社 2007年6月第一版

4 第1章 计算机系统结构概论 1.1 概论 1.2 计算机系统分类 1.3 计算机指令集系统结构 1.4计算机的性能评价

5 1.1 计算机系统结构概论 一、概念 计算机实现Implementation 计算机组成Organization
器件选择,机械、封装、印板、机箱、电源、冷却设计 计算机组成Organization 逻辑设计 计算机系统结构Architecture 外特性设计

6 系统结构的研究范围 新型系统结构设计 外特性 性能成本评价 界面设计 并行性 指令系统 数据流 数据表示 推理机 寻址方式 神经网 寄存器集
运算速度 存储容量 I/O带宽 外特性 指令系统 数据表示 寻址方式 寄存器集 界面设计 确定硬件功能

7 相互关系

8 系统结构的例子

9 微观系统结构 microarchitecture 指令流水线的结构 既与计算机组成有关 又与计算机系统结构有关 构成了CPU的核心结构

10 影响系统结构的因素 语言 编译 器件 操作系统 应用

11 语言与系统结构的设计 语言的分类 过程式 函数式 逻辑推理式 语言的影响 计算模型 软硬件界面

12 软件与系统结构的设计 编译的影响 数据的存储结构 向量 堆栈 指令集的特征 类型 使用概率 控制结构 过程调用 指令调度

13 应用与系统结构的实现 应用领域 应用的影响 科学计算 工程计算 信息处理 数据及运算类型 算法 计算模型 性价比 数据流,归约,模式匹配
微机vs大型机 专用机vs通用机

14 软件与系统结构的设计 操作系统的影响 系统服务机制 存储管理 进程同步和切换 故障诊断 所有这些都需要硬件支持

15 器件与系统结构的实现 器件类型 器件的影响 电子管、晶体管、集成电路、大规模集成电路、超大规模集成电路 软硬件的功能分配 结构设计 开发手段
浮点数计算,多媒体数据计算 结构设计 cache 开发手段 标准芯片,可编程芯片,全用户芯片

16 1.2 计算机系统的分类 应用分类 桌上型计算机 服务器型 嵌入式计算机

17 1.2 计算机系统的分类 结构分类 冯·诺依曼结构 哈佛结构 指令和数据都以二进制数据字的方式存放在同一个存储器中 存储器分离
Cache分离

18 1.2 计算机系统的分类 结构分类 向量流水计算机 阵列机 多处理机

19 向量流水计算机 向量指令 以向量数据为操作数的指令 向量操作数 包含n个数据元素的有序集合 n称为向量的长度

20 典型的向量机基本系统结构

21 两种向量机结构 存储器-存储器结构 寄存器-寄存器结构 早期向量机的结构 向量都存放在存储器中 load-compute-store流水线
适合于长向量 CDC Star-100(1972), Cyber-205(1981) 寄存器-寄存器结构 Load/Store结构 运算的向量存放在向量寄存器中 Cray-1,Cray-2,NEC SX,Fujitsu VP

22 向量指令 存储器型 操作码 数据基址 地址偏移量 向量长度 地址增量 寄存器型 向量寄存器号

23 向量寄存器 一组寄存器 存储一个向量数据 表示为V1、V2等

24 六种向量指令 向量-向量指令 ADDV V1, V2, V3 向量-标量指令 ADDV V1, F2, V3 向量-存储器指令
LV V1, R1 向量归约指令 MAX F0, V1 收集-扩展指令(Gather-Scatter ) 屏蔽指令 SENSV F0, V1

25 向量流水的特点 部件级流水 一条指令完成大量计算,对应于一个循环 每个数据元素的计算与其他数据元素无关 适合于深度流水
访存按一定模式,一次访问大量数据

26 例:计算Y=a*X+Y LD F0,a; 标量a装入F0 LV V1,Rx; 装入向量X到V1,Rx为向量X的首址
MULTV V2,F0,V1; 向量X与标量a相乘,结果写入V2 LV V3,Ry; 装入向量Y,Ry为向量Y的首址 ADDV V4,V2,V3; 向量加,结果写入V4 SV Ry,V4; 存结果向量,SV为向量存指令

27 Cray-1的结构

28 阵列机的基本结构 运行方式 基本构成 控制单元 PE 互连网络 阵列并行指令 用一条指令同时对许多运算单元中的数据进行运算
控制器CU、处理单元PE、存储器模块、互连网络IN 控制单元 执行串行指令,并行指令广播各个PE; PE 以同步方式执行指令 互连网络 集中式控制,并行电路交换 阵列并行指令 向量运算,数据寻径,屏蔽操作

29 阵列机的两种组织结构

30 阵列机 特点 专用,应用算法相关 适合于规则数据运算,不适合于条件分支程序 发展缓慢的原因 指令广播瓶颈 数据归约相关性 存储器速度难以提高

31 ILLIAC-IV

32 BSP 16个PE 17个存储器模块 对准网络

33 CM-2 65536个1位PE 12维超立方体网络 每个结点为4×4网格

34 1.2 计算机系统的分类 并行性分类 并行性(parallelism) 并行机型 计算机 处理机 处理器 同时性(simultaneous)
并发性(concurrence) 并行机型 标量机(scalar) 向量机(vector) 阵列机(array) 多处理机(multi-processor) 计算机 处理机 处理器

35 并行性 并行性分类 操作级 流水 指令级 指令调度 推测执行 线程与处理器级 多线程 多核 多处理器

36 系统结构分类——按并行性

37 1.3 计算机指令集系统结构 指令系统设计 指令的数据访问方式 数据的存储方式和表达方式 数据的寻址方式 指令的编码 堆栈型 累加器型
通用寄存器型

38 指令的访存类型 通用寄存器型 寄存器-寄存器型 寄存器存储器型 存储器-存储器型

39 计算机指令集系统结构 CISC 指令系统复杂 绝大多数指令需要多个时钟周期才能执行完成 各种指令都可访问存储器 采用微程序控制 有专用寄存器
指令数多 寻址方式多 指令格式多 绝大多数指令需要多个时钟周期才能执行完成 各种指令都可访问存储器 采用微程序控制 有专用寄存器 难以用优化编译生成高效的目标代码程序

40 RISC的发展 IBM 801 斯坦福MIPS 伯克利SPARC DEC Alpha HP PA IBM PowerPC

41 RISC 简化的指令系统 以寄存器-寄存器方式工作 以流水方式工作 使用较多的通用寄存器以减少访存
表现在指令数较少、基本寻址方式少、指令格式少、指令字长度一致 以寄存器-寄存器方式工作 以流水方式工作 从而可在一个时钟周期内执行完毕一条指令 使用较多的通用寄存器以减少访存 不设置或少设置专用寄存器 采用由阵列逻辑实现的组合电路控制器,不用或少用微程序 采用优化编译技术,保证流水线畅通,对寄存器分配进行优化

42 RISC的设计思想 将不是最频繁使用的功能由软件实现 指令应简单 固定格式的指令和流水线操作 简化硬件,并可使其执行得更快
若增加一条使机器周期时间延长10%的指令,则该指令必须至少能减少10%的执行周期数 固定格式的指令和流水线操作 存储器日趋价廉、高速,时空关系的权衡应少计较空间容量,而应突出指令执行速度的因素。

43 问题 在通用寄存器型计算机中,寄存器的数量为多少是合适的? 寄存器数量太多有哪些问题? 如何减少函数调用时保存寄存器的开销?

44 1.4 性能评价 方式 分析 模拟 测试

45 性能指标 峰值性能及持续性能 响应时间(response time) 吞吐率(throughput) 可扩展性(scalability)
可编程性(programability) 可靠性(relability) 可用性(availability) 性价比(cost-performance ratio 性能功耗比(performance per Watt) 峰值性能及持续性能

46 简单的分析方法

47 例1-3 计算平均CPI。对于下表给出的各种指令的使用频率和CPI值, 试计算平均CPI; 指出各种指令所占的时间比例。 指令 使用频率
ALU 50% 1 Load 20% 2 Store 10% Branch

48 解 (1)CPI = 0.50×1+(0.20+0.10+0.20) =1.5 (2)ALU指令所占的时间比例为0.50/1.5 = 33%
Load指令所占的时间比例为0.20×2/1.5 = 27% Store指令所占的时间比例为0.10×2/1.5 = 13% Branch指令所占的时间比例为0.20×2/1.5 = 27%

49 MIPS指标 Million instructions per second

50 MFLOPS指标 Million floating operations per second 正则化值 局限性 折算系数 CPU的性能
而不是整体性能

51 TPS指标 每秒处理的事务数 transactions per second

52 计算机性能的测试 选择工作负载(workload) 测试运行 统计结果 指令混合(instruction mix)
核心程序(kernels) 合成程序(synthesized programs) 应用程序(applications) 测试运行 统计结果

53 基准测试程序 Benchmark 通常由核心程序、合成程序和应用测试程序构成 LINPACK Dhrystone Whestone
Lawrence Livermore循环

54 基准测试程序实例——SPEC http://www.specbench.org/ SPEC CPU2000 SPEC WEB99
The Standard Performance Evaluation Corporation founded in 1988 by a small number of workstation vendors SPEC CPU2000 SPEC WEB99 SPEC JVM98 SPEC HPC2002

55 问题: 设计算机执行程序A的时间为1秒,执行程序B的时间为2秒,程序A和程序B的执行指令数均为106条,问该计算机的平均性能。

56 统计方式 算术平均 Arithmetic mean 几何平均 Geometric mean 调和平均 Harmonic mean

57 统计结果

58 几何平均的特点 不论取哪一台作参考机,均能保持比较结果的一致性。

59 加权平均

60 阿姆达尔定律 Performance improvement from faster hardware technology is limited to the fraction of time the faster technology can be used. 习题:6、7、8、9

61 例 假定以下测试结果 浮点操作频率为25% 浮点指令平均CPI为4.0 其他指令的平均CPI为1.33 浮点平方根指令的频率为2%
假定有两种减少CPI的措施可供选择,一种是将浮点平方根指令的CPI降为2,另一种是将所有浮点指令的平均CPI降为2。试比较这两种设计方案。

62 答 首先,注意到只有CPI改变,时钟频率和指令数都不变。原来的平均CPI为 4×25% + 1.33×75% = 2.0
%×( ) = 1.64 提高浮点平方根指令的速度后的加速比为: 2.00/1.64 = 1.22 提高浮点指令的速度后,平均CPI为 (2×25%) + (1.33×75%) = 1.5 提高浮点指令的速度后的加速比为: 2.00/1.5 = 1.33

63 习题 11 12 14 29


Download ppt "计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构"

Similar presentations


Ads by Google