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

Slides:



Advertisements
Similar presentations
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
Advertisements

2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
高级服务器设计和实现 1 —— 基础与进阶 余锋
Welcome to the world of Computer Organization 计算机组成原理
四川大学计算机学院 主讲:倪云竹 计算机系统结构 四川大学计算机学院  主讲:倪云竹
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Chapter 10 效能測量與分析.
2017年3月5日 单片机原理与应用 背景知识调查.
初级会计电算化 (用友T3) 制作人:张爱红.
电子数字计算机 计算机性能 计算机硬件 计算机软件 多级层次结构
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
计算机系统结构教程 武汉理工大学.
计算机体系结构 Computer Architecture
信息科学与工程学院计算机科学系 2006年9月—2007年1月
计算机组成原理第一章 知识点二:计算机系统性能评价指标 主讲教师: 秦磊华.
实验四 利用中规模芯片设计时序电路(二).
第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
实用操作系统概念 张惠娟 副教授 1.
第三章 计算机核心部件及其 工作原理.
计算机组成原理 第二十一讲 计算机科学与技术学院 舒燕君.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
1.1 计算机系统简介 1.2 计算机的基本组成 1.3 计算机硬件的主要技术指标 1.4 本书结构.
计算机系统结构 —嵌入式系统 闵华松 主讲 2008年春季 武汉科技大学计算机学院.
计算机系统结构 西南林业大学计信学院 邢丽伟.
计算机系统结构 南京航空航天大学 计算机科学与技术学院 主讲:刘佳
计算机基础知识 丁家营镇九年制学校 徐中先.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
CPU資料處理 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS 轉
Hadoop I/O By ShiChaojie.
Ch1: Computer Abstractions 计算机系统概述
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
总 复 习.
第三章 流水线技术.
存储系统.
数 控 技 术 华中科技大学机械科学与工程学院.
微机系统导论 主要内容 微机系统组成 微机硬件系统结构 微处理器组成 存储器概述 微机工作过程 微机系统的主要性能指标.
逆向工程-汇编语言
CPU结构和功能.
第二章 计算机指令集结构 指令集结构是系统结构的主要内容之一,其功能设计实际上就是确定软/硬件功能分配。
第3章 流水线技术 曲冠南
《编译原理与技术》 期末复习 计算机科学与技术学院 郑启龙 李 诚 25/12/2018.
計算機概論 第3章 計算機組織與結構概觀.
Instructions: Language of the Machine
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
微机系统的组成.
第四章 向量处理机 银河-I巨型计算机 银河-II巨型计算机
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
计算机组成与系统结构 陈泽宇 副教授.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2005年5月
基于列存储的RDF数据管理 朱敏
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
周学海 中国科学技术大学 2019/7/8 计算机体系结构 周学海 中国科学技术大学.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

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

第二篇 计算机系统结构

教材 胡越明 《计算机系统结构》 北京航空航天大学出版社 2007年6月第一版 http://www.phei.com.cn/bookshop/bookinfo.asp?bookcode=TP77040%20%20&booktype=main

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

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

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

相互关系

系统结构的例子

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例:计算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为向量存指令

Cray-1的结构

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

阵列机的两种组织结构

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

ILLIAC-IV

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

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

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

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

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

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

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

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

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

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

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

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

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

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

简单的分析方法

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

解 (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%

MIPS指标 Million instructions per second

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

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

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

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

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

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

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

统计结果

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

加权平均

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

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

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

习题 11 12 14 29