石教英 浙江大学计算机学院计算机系统研究所 2002年11月

Slides:



Advertisements
Similar presentations
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Advertisements

高级服务器设计和实现 1 —— 基础与进阶 余锋
连接器技术发展趋势及因应策略 生产&营销副总经理 王跃轩 贵州航天电器股份有限公司.
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
将向量数据表示和流水线技术结合起来,构成向量流水处理机,简称向量处理机(Vector Processor)
2017年3月5日 单片机原理与应用 背景知识调查.
电子数字计算机 计算机性能 计算机硬件 计算机软件 多级层次结构
信息科学与工程学院计算机科学系 2006年9月—2007年1月
实用操作系统概念 张惠娟 副教授 1.
第三章 计算机核心部件及其 工作原理.
计算机组成原理 第二十一讲 计算机科学与技术学院 舒燕君.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
计算机系统结构 南京航空航天大学 计算机科学与技术学院 主讲:刘佳
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
                                                                                                                                                                
第 2 章 中央處理單元.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
瑞斯康达—MSG1500 产品类型:路由器 建议零售价格:198元 上市时间:2017 年 3月
5 Computer Organization (計算機組織).
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
存储系统.
SOA – Experiment 3: Web Services Composition Challenge
大学计算机基础 典型案例之一 构建FPT服务器.
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
乐驾-车载无线终端-CARRO 产品类型:车载无线路由器 建议零售价格:¥599 江苏鸿信
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
数 控 技 术 华中科技大学机械科学与工程学院.
Windows网络操作系统管理 ——Windows Server 2008 R2.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
数据挖掘工具性能比较.
CPU结构和功能.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
Instructions: Language of the Machine
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
CISC vs. RISC 複雜指令集電腦(Complex Instruction Set Computer: CISC)
厂商—型号 荣耀-HiRouter-H1 外观设计 产品类型:无线路由器 建议零售价格:149元 上市时间:2017 年 5月
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
产品介绍 TOPOLF-T198 产品类型:4G MIFI 建议零售价格:699元 上市时间: 2015年1月 目标人群:差旅人士
EC5373u-819 产品介绍 外观设计 产品类型:MIFI 建议零售价格:499元 上市时间:14 年 12 月12日
计算机组成与系统结构 陈泽宇 副教授.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
临界区问题的硬件指令解决方案 (Synchronization Hardware)
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第二节 C语言的特点.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
Google的云计算 分布式锁服务Chubby.
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2005年5月
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
3.8 局域网应用实例 某省劳动和社会保障网络中心组网实例 会议中心的无线组网实例.
第十七讲 密码执行(1).
插入排序的正确性证明 以及各种改进方法.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

石教英 浙江大学计算机学院计算机系统研究所 2002年11月 计算机体系结构学科发展简介 石教英 浙江大学计算机学院计算机系统研究所 2002年11月

目录 一、计算机体系结构学科发展回顾 二、指令级并行性开发技术 三、指令多发射技术 1.计算机性能高速发展及其原因 2.计算机的分类 3.计算机设计的任务 4.技术发展趋向 二、指令级并行性开发技术 1.RISC与CISC 2.流水线技术 3.指令级并行性技术 三、指令多发射技术 1.指令多发射技术概述 2.超标量处理器 3.超长指令字处理器 4.多发射处理器的技术难点

四、Cache技术 五、多处理器技术 六、我国计算机体系结构研究进展 1.为什么要引入Cache 2.为什么引入Cache能提高计算机性能? 五、多处理器技术  1.  并行计算机体系结构分类 2.  集中共享存储器型多处理计算机 3.  分布式存储器型多处理器计算机 4.  并行处理的难点 六、我国计算机体系结构研究进展

一、计算机体系结构学科发展回顾 Computer Architecture定义 应用机器语言的程序员为了能正确编写时序无关的程序所必须了解的计算机的结构。 简单讲:计算机体系结构是一门设计计算机的学科,包括计算机的指令系统设计,结构设计,实现技术,以及与系统软件操作系统和编译器相关的技术。

1、计算机性能高速发展及其原因 1946年第一台通用电子计算机ENIAS诞生至今仅56年——每秒5000次运算加法 计算机技术以惊人速度发展,并将继续高速发展 1980年百万美元机器的性能比不上今年<1千美元的机器 今天最高性能的微处理器超过10年前的超级计算机 如用于高端网络交换机和最新电子游戏机的微处理器速度可达每秒10亿次运算

计算机性能高速发展原因 1.构建计算机的各种技术进步 2.计算机本身的创新设计技术的发展 技术进步—以稳定速度发展,主要指IC技术 创新设计—发展速度不稳定,有时快有时慢

各年代的性能提高速率 年代 性能的年提高率 原因 1970年代初 25%-30% 1970年代末 35% 微处理器芯片广泛应用   1970年代末 35% 微处理器芯片广泛应用 1980年代末 58% RISC体系结构、Cache等创新设计技术  

截止2001年微处理器性能增长率

RISC、Cache技术发展阶段 RISC体系结构发展又可分为两个阶段 Cache技术发展同样经历两个阶段 早期集中发展指令级并行技术 后期集中发展多指令发射技术 Cache技术发展同样经历两个阶段 早期集中发展Cache的原理性应用 后期集中发展新的Cache组织和各种Cache性能优化技术

计算机创新设计对每年58%性能提高率的贡献 ——超过技术进步贡献达15倍之多 说明:计算机体系结构学科的重要性!!

计算机性能高速提高带来的影响 用户拥有越来越高的性能和功能,今天最高性能的微处理器已经超出10年前超级计算机的性能。 基于微处理器的计算机成为计算机设计的主流 现状: PC机、工作站成为主流产品 小型机被采用微处理器的服务器所代替 大型机被采用数十个至上百个微处理器构成的多 处理器计算机所代替 超级计算机正在被成千上万个微处理器构成的 多处理器计算机所代替

体系结构发展的核心-定量方法 近年来计算机体系结构发展的核心,也是计算机创新设计技术的核心归功于 ——定量方法。 用定量方法进行计算机设计 用定量方法作为工具分析程序实际运行结果、各类实验和仿真 用定量方法寻找计算机体系结构的新思路、新技术,保证计算机性能继续按现在速率提高

2、计算机的分类 传统的计算机分类: 1980年代产生了新的机型: 1990年代产生了嵌入式系统: 大型机、小型机、巨型机(成熟超级计算机) 按机器规模指令(字长,内外存储器容量,速度等指标),价格等指标进行分类(PC)机、工作站,服务器 1980年代产生了新的机型: 个人(PC)机、工作站、服务器 主要按用途来分类 1990年代产生了嵌入式系统: 高性能家电、机顶盒、电子游戏机、手机、网络路由器、交换机等 这里微处理器成为设备的一个组件,如马达所起的作用,主要不是作计算用

计算机的新分类 台式机 服务器 嵌入式计算机 它们分别面向不同应用,具有不同要求,采用不同技术

台式机、服务器、嵌入式系统特征对比

3、计算机设计的任务 计算机设计目标: 应满足市场对功能的要求,同时也应满足成本,功耗和性能的目标

计算机设计任务 计算机体系结构学科应包含上述三方面的内容 指令集设计 计算机组织设计 硬件设计 ——这是传统计算机体系结构的任务,即程序员面对的(看得见的)指令系统的设计 计算机组织设计 ——存储器设计,CPU设计,I/O总线结构设计等高层内容,同一个指令集可以对应不同组织设计 硬件设计 ——芯片的逻辑设计、封装、冷却。 相同的指令集和组织可以对应不同的硬件实现形成一个产品系列,如PentiumⅡ和Celeron,使Celeron适用于低端产品 计算机体系结构学科应包含上述三方面的内容

Fig1。4, p10

计算机设计技术人员的任务 明确具体的功能要求,因为来自市场的功能要求往往是不明确的 明确最主要的任务是什么,最主要的功能往往是使用最频繁的部件,做好了最主要部件的设计对提高性能影响最大。 优化设计——根据不同准则来选择最优的设计方案,例如前面介绍过对于个人机、服务器和嵌入式计算机的不同优化目标

4、技术发展趋向 由于计算机技术发展十分快速,一个成功的指令集设计不应该因为技术发展而遭淘汰 计算机体系结构设计师应预见到技术发展的趋向,在设计下一代产品时,预见到产品大规模进入市场时恰好是所用的下一代技术的性价比达到最佳的时候,从而使其设计的产品生命周期得以延长

影响最大的四种关键技术 集成电路技术 半导体DRAM 磁盘技术 网络技术

集成电路技术 晶体管密度每年增加35%,即每4年增加4倍 集成电路芯片的尺寸每年提高10%-20% 综合上述两个参数,芯片的晶体管数每年提高55%

半导体DRAM(动态随机存取存储器) 芯片密度每年递增40%-60%,即每3-4年增加4倍 存取周期缩短相对较慢,每10年缩短1/3

磁盘技术 近年来磁盘的存储密度以每年100%速度递增,并将继续一段时间 (1990年以前每年以30%速度递增) 磁盘的存取周期缩短相对较慢,每10年缩短1/3

网络技术 网络性能与交换机和发射端的性能有关 衡量网络的指标有:延迟时间和带宽等,带宽是主要指标 近年来带宽提高速度较快 如以太网从10Mbps提高到100Mbps花了10年时间,而从100Mbps提高到1Gbps只用了5年

二、指令级并行性技术 (Instruction Level Parallelism-ILP) 指令级并行性技术是RISC(精减指令集计算机)(——Reduced Instruction set Computer)的主要贡献

1、RISC与CISC CISC即复杂指令集计算机(——Complex Instruction set Computer) 1980年代末大规模投入实际使用 1980年代中期以前的微处理器可统称为CISC体系结构微处理器

RISC与CISC的最主要的区别 平均执行每条指令的时钟周期数CPI(Cycles per Instruction)的不同 CPI的作用: RISC的CPI≤1 CISC的CPI<1 CPI的作用: CPI数越小,CPU速度越快 CPI数越大,CPU速度越慢

CPU性能公式 CPU fime = IC× CPI × CC CPUfime ——执行一般代码所需的中央处理站(CPU)时间 IC——代码的指令条数(Instruction Comt),与指令集设计编译器的优化有关 CPI——平均执行每条指令的时钟周期数,与指令集设计、体系结构等技术有关 CC——时钟周期(Clock Cyde)与计算机组成,IC工艺等技术有关

缩短CPI成为缩短CPUtime 的主要技术途径 RISC体系结构追求精减的指令集 数据类型、寻址主式精减,指令长度统一,格式统一,提高流水线的效率,实现了每一时钟周期能执行一条指令(CPI=1) RISC体系结构进一步提出指令多发射技术 即每一时钟周期可发射多条指令,执行多条指令,进一步实现CPI<1

CISC计算机速度提高较慢的原因 传统CISC体系结构计算机的CPI≌5-8 原因: 以DEC公司的VAX机器为例,指令系统复杂,指令集有304条指令,指令长度:1 Byte~64 Byte,操作数不足:0-6个,操作数达十几种,寻址方式达几十种;采用微程序控制 ——导致流水线结构复杂,效率低下,速度提高有困难 目前几乎所有微处理器,包括传统著名的CISC微处理器,如Intel系列和Motorola系列微处理器都采用RISC体系结构

2.流水线技术 简介:流水线是一种多条指令重叠执行的实现技术 这是理想流水线的性能:达到每一个时钟周期可以完成一条指令 与指令串行执行相比较,速度提高5倍

流水线的竞争 实际流水线不可能像上述理想流水线那样完美 存在三种流水线竞争 结构竞争:由硬件资源不足造成流水线停顿 数据竞争:由前后指令之间存在数据相关性造成流水线停顿 控制竞争:由转移指令造成流水线停顿

实际流水线的性能 实际流水线的CPI=理想流水线的CPI + 结构竞争造成的停顿周期 + 数据竞争造成的停顿周期 + 控制竞争造成的停顿周期 要提高CPU的性能就是要消除或减少三种竞争造成的停顿周期

流水线竞争的解决 结构竞争可以通过增加硬件资源来解决 数据竞争和控制竞争只有通过挖掘代码指令之间的平行性,即通过开发和发现指令之间存在的可并行(重叠)执行的可能性,然后对指令执行顺序进行调度,即用不相关的指令来填补本来应该停顿周期的方法,达到消除或减少停顿周期,提高指令执行速度

3.指令级并行性(ILP)开发技术 ILP开发技术分两大类: 基于硬件的ILP开发技术,又称动态开发ILP技术

用于解决数据竞争的ILP开发技术 静态调度技术 动态调度技术 采用改名技术的动态调度技术 编译分析数据相关性 软件流水线 路经调度

用于解决控制相关性的ILP开发技术 静态转移预测技术 动态转移预测技术 静脉投机技术 动态投机技术 循环体展开技术 延时转移技术

三、指令多发射技术 1.指令多发射技术概述 从CPUtime = IC×CPI×CC公式出发,进一步提高CPU性能的途径是令CPI<1

根据指令发射机制,即调度、组织可同时发射指令的机制,也可分为两类: 指令多发射处理器有两类: 超标量处理器(Superscalar precessors) 超长指令字处理器(VLIW-very honginstruction word) 根据指令发射机制,即调度、组织可同时发射指令的机制,也可分为两类: 动态多发射机制,即由硬件在程序执行过程中调度 静态多发射机制,即由编译器在程序编译过程中调度

2.超标量处理器 超标量处理器流水线操作

超标量处理器的特点 在一个周期里能发射可变数量的指令,通常为1-8条指令/周期 同时发射的指令按规定搭配,不能自由搭配,即有限制:如同时发射的指令必须是独立的,即无数据竞争,以及满足访存次数规定等等。 采用静态调度(compiler完成)和/或动态调度(硬件完成)方法确定可同时发射的指令

3.超长指令字处理器(VLIW) VLIW处理器特点 一次发射一条超长指令,其中包含多个操作,而不像超标量处理器那样一次发射多条指令 在超长指令当中多个操作按规定搭配顺序排列,即指令类型不能任意搭配,操作顺序不能任意颠倒

VLIW究竟有多长? 以一个拥有多个功能单元的VLIW处理器为例: 设7个功能单元可支持:2个整数操作、2个FP操作、2个存储器访问操作和1个转移操作,这样这条含7个操作的VLIW的功能相当于7条指令,为支持每一功能单元正常工作,应分配每一功能单元相应的数据域;一般每个数据域为16~24位 这一VLIW长度为:16 bits×7 = 112 bits 或为: 24 bits×7 = 168 bits 比较:一个拥有7个功能单元的超标量处理器,一次发射7条指令,总长度为32 bits×7=224 bits

超长指令字的组装由编译器完成,即由编译器作静态调度,选择无相关性指令按搭配顺序填入超长指令字 为充分发挥VLIW处理器功能单元的作用,必须要有足够多的可并行执行指令提供给VLIW,编译器必须采用功能更强的全局调度技术

4.多发射处理器的技术难点 程序固有指令级并行性有限是多发射处理器的本质困难,需要的可并行执行的指令数大致等于功能单元数乘以流水线级数。 多发射处理器硬件数量多、速度快,且复杂性高,从而成本高。

超标量处理器的特殊困难 超长指令字处理器的特殊困难 发射逻辑复杂且高速 动态调度硬件极其复杂 对编译器的要求高 VLIW系列机二进制代码兼容困难

四、Cache技术 Cache—一种小容量的高速缓冲存储器 Cache 在计算机中的位置

1、为什么要引入Cache? 首先看一下CPU芯片速度与内存储器DRAM芯片速度的差别有多大

CPU与DRAM速度差意味着什么? 说明单纯地改善CPU的设计,一味追求提高CPU的速度,并不能提高计算机整机的性能,因为高速CPU的性能被低速的存储器访问所抵销。 为了提高计算机整机性能,必须消除两者性能差,或者仅可能缩小两者性能差。

解决办法 在高速CPU与低速Memory之间引入一个小容量的高速缓冲存储器(Cache),Cache速度与CPU速度之差(不足1个数量级)远远小于CPU与DRAM速度差(3个数量级~4个数量级),通过将存储器分级的方法来缓解这一巨大的速度差,提高计算机的性能。

2、为什么引入Cache能提高计算机性能? 问: 既然用作Cache的SRAM芯片的速度远远高于用作主存储器的DRAM芯片,那么为什么主存储器不用SRAM芯片来实现? 答案: SRAM的价格远高于DRAM,而且主存储器的容量大,采用高速SRAM使成本急剧上升,因此从性能/价格综合考虑只能采用小容量的Cache。

问: 小容量的Cache能否满足程序存取指令和数据的需求? 答案: 计算机设计定量原理中有一条局部性原理告诉我们:程序总是倾向于重用那些刚刚用过的数据和指令,这是计算机程序非常重要的性质。局部性原理的另一种表述:程序90%的执行时间是花在10%的代码上。 局部性原理告诉我们:可以根据程序最近访问的数据和指令来预测程序将要调用的数据和指令,且这一预测正确度是比较高的。 所以小容量的Cache能满足程序存取数据和指令的需求

3. Cache技术的发展 采用多级Cache 增加Cache容量 采用各种优化技术来提高Cache性能,包括 1980年代的片外Cache通常只有几十KB 2001年的微处理器三级Cache的容量可达16MB 采用各种优化技术来提高Cache性能,包括 减少失配造成的代价 减少失配率 减少命中时间

五、多处理器技术 单处理器计算机性能是否已接近其极限? 然而从1985起到2000,这一段正是单处理器计算机性能突飞猛进的时代 单处理器计算机至少在未来5年仍将以目前速度发展

多处理器计算机将越来越重要的理由 微处理器已主宰单处理器计算机技术,因此为了提高单处理器计算机性能而将多个微处理器连接起来就成为很自然的选择 现在还不清楚使计算机体系结构不断创新的指令级并行技术能否继续无限地发展下去 曾经是并行机发展障碍的软件有了新的发展和进展,主要是在服务器和嵌入式系统方面为多处理器计算机发展带来曙光

1.并行计算机体系结构分类 Flynn在1966年提出的计算机分类方法,即按指令流和数据流进行计算机分类的方法仍适用至今 单指令流,单数据流(SISD)—单处理器计算机 单指令流,多数据流(SIMD)—矢量计算机 多指令流,单数据流(MISD)—市场上无此类计算机 多指令流,多数据流(MIMD)—通用多处理器并行计算机,是广泛应用的多处理器并行计算机体系结构

MIMD多处理器计算机分类 可按处理器数目,存储器组织以及互连网络的策略来分类 按存储器组织进行分类的两种多处理器计算机 : 集中共享存储器体系结构 分布式存储器体系结构

2.集中共享存储器型多处理器计算机 基本结构

此类计算机适用于处理器数目相对较少的场合,对于只有几个、十几个处理器,有可能共享一个主存储器,以及采用总线实现处理器和主存的互连 对于含有二、三十个处理器的机器需用多总线,甚至用交换器才能满足存储器带宽的要求

集中共享存储器型多处理器计算机只有一个主存储器,对所有处理器都是对称的,访问存储器的时间都是均等的,所以这种体系结构又称为对称(共享存储器)处理器(SMP) 集中共享存储器型多处理器是目前最成功的多处理器计算机

3.分布式存储器型多处理器计算机 基本结构

此类计算机适用于处理器相对较多的场合,可以是上百个、上千个、甚至数千个之多。 此类计算机要求互连网络的带宽较高,通常采用交换机或多维网格实现处理器之间的直接互连。 分布式存储器型体系结构的最大缺点是处理器之间的数据通信变得非常复杂(一致性问题),并且延时较长。

4.并行处理的难点 程序固有并行性不足,导致并行计算机很难达到理想的加速比 处理器之间通信代价高(即延时长),同样将导致加速比下降

六、我国计算机体系结构研究进展 过去重视多处理器并行计算机,即高性能计算机的研制,如银河系列超级计算机,以及不对外公布的军用超级计算机,曙光4000服务器运行速度已达千亿次/秒 前不久对外宣布的“龙芯”研制成功的消息表明我国有能力研制高性能微处理器。龙芯相当于Intel 1997推出的PentiumⅡ

谢 谢