制作静态网站wordpress 后台攻击
文章目录
- 第一章 计算机系统结构基本概念
 - 1.1 计算机系统结构的概念
 - 1.2 计算机体系结构的发展
 - 1.3 系统结构中并行性的发展
 - 1.4 系统结构的设计
 - 1.5 定量分析技术基础
 
第一章 计算机系统结构基本概念
课程内容 A I P S N
工业革命
1.1 计算机系统结构的概念
引言
- 第一台通用计算机 1946
 - 两个方面:制造技术、体系结构
 - 计算机系统结构:architecture 
- 程序员所看到的计算机属性,即概念性结构与功能特性
 - 指令系统结构、组成、硬件
 - 计算机系统结构是程序员所看到的计算机属性,即(硬件子系统的)概念结构及其功能特性,是计算机软硬件的交界面
 - 计算机系统的软、硬件的界面,即机器语言程序员所看到的传统机器级所具有的属性
 - 实质:确定软硬件界面
 
 - 计算机组成:计算机系统结构的逻辑实现
 - 研究任务:软硬件功能分配、软硬件界面的确定
 - 系列机:相同系统结构,不同组成和实现
 
层次结构
- 计算机系统 = 硬件/固件 + 软件 
- 固件:具有软件功能的硬件
 
 - 计算机语言角度:把计算机系统按功能划分成多级层次结构,每一层以一种语言为特征 
- 物理机: 由硬件/固件实现
 - 虚拟机:由软件实现,某些操作可以由硬件或固件实现
 - 低层机器属性对高层机器程序员透明
 
 - 机器级的实现:翻译、解释(慢,占用内存少)
 
分类
- Flynn分类法 
- 分类标准:指令流和数据流的多倍性 
- 多倍性:在系统最受限的部件上,同时处于同一执行阶段的指令或数据的最大数目
 
 - SISD
 - SIMD
 - MISD
 - MIMD
 - 基本结构 
- IS:指令流
 - DS:数据流
 - CS:控制流
 - CU:控制部件
 - PU:处理部件
 - MM、SM:存储器
 
 
 - 分类标准:指令流和数据流的多倍性 
 

-  
冯氏分类法
- 分类标准:最大并行度 
- 最大并行度:计算机系统在单位时间内能够处理的最大的二进制位数(字宽*字数)
 - 平均并行度:取决于系统的运用程度,与应用程序有关 
- 每个时钟周期同时处理的二进制位数为 Pi,T 个时钟周期 
- 平均并行度 Pa=∑i=1TPiTP_{a}=\frac{\sum_{i=1}^{T} P_{i}}{T}Pa=T∑i=1TPi
 - 平均利用率 μ=PaPm=∑i=1TPiTPm\mu=\frac{P_{a}}{P_{m}}=\frac{\sum_{i=1}^{T} P_{i}}{T P_{m}}μ=PmPa=TPm∑i=1TPi
 
 
 - 每个时钟周期同时处理的二进制位数为 Pi,T 个时钟周期 
 
 - 字串位串:n=1,m=1 每次只对一个字的一位进行处理,第一代计算机
 - 字串位并:n>1,m=1 同时处理单个字的多个位,单处理机,如16位、32位等
 - 字并位串:n=1,m>1 同时处理多个字的同一位(位片)
 - 字并位并:n>1,m>1 同时处理多个字的多个位
 
 - 分类标准:最大并行度 
 -  
Handler分类法
- 分类标准:并行度和流水线
 - t(系统型号) = (k,d,w) 
- k:程序控制部件(PCU)的个数
 - d:算术逻辑部件(ALU)或处理部件(PE)的个数
 - w:每个算术逻辑部件包含基本逻辑线路(ELC)的套数
 
 - t(系统型号) = (kk’,dd’,w*w’) 
- k’:宏流水线中程序控制部件的个数
 - d’:指令流水线中算术逻辑部件的个数
 - w’:操作流水线中基本逻辑线路的套数
 
 
 
1.2 计算机体系结构的发展
存储程序计算机体系结构及其发展
- 存储程序原理基本点:指令驱动
 - 冯·诺依曼结构 
- 运算器为中心
 - 指令和数据同等对待
 - 存储器是按地址访问
 - 指令的执行是顺序的
 - 指令由操作码和地址码组成
 - 指令和数据均以二进制编码表示,采用二进制运算
 
 - 非诺依曼体系结构 
- 数据驱动
 - 诺依曼瓶颈:中央处理器( CPU )和主存之间只有一条每次只能交换一个字的数据通路
 - 优点 
- 支持高度的并行操作
 - VLSI技术
 - 提高软件生产能力
 
 - 缺点 
- 操作开销过大
 - 不能有效地利用传统诺依曼体系结构计算机已积累起来的丰富的软件资源
 
 
 - 系统结构改进 
- 输入/输出方式 
- 程序控制:等待、中断
 - DMA:成组传递、周期挪用
 - I/O处理机:通道、外围处理机
 
 - 并行处理技术
 - 存储器组织结构的发展
 - 指令系统的发展 
- 复杂指令集计算机CISC
 - 精减指令集计算机RISC
 
 
 - 输入/输出方式 
 
软件影响:可移植性
- 统一高级语言
 - 系列机:同一厂家、相同系统结构、不同组成和实现 
- 向上(下)兼容
 - 向前(后)兼容: 
- 向后兼容:系列机的根本特征
 
 - 兼容机:不同厂家、相同系统结构
 
 - 模拟和仿真 
- 在一种系统结构上实现另一种系统结构
 - 在一种机器上实现另一种机器的指令集
 - 模拟:虚拟机 
- 解释实现,速度较慢
 
 - 仿真:目标机 
- 比模拟快,系统结构差距不大
 
 
 

器件影响
- 系统结构发展的最活跃因素:
 - 摩尔定律:集成电路芯片上所集成的晶体管数目每隔18个月就翻一番
 
应用影响
- 系统结构发展的最根本的动力:应用需求
 - 特殊领域需要高性能的系统结构
 
1.3 系统结构中并行性的发展
并行性
- 概念:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作 
- 同时性:同一时刻
 - 并发性:同一时间间隔
 
 - 并行性等级,由低到高 
- 数据处理 
- 字串位串:每次只对一个字的一位进行处理
 - 字串位并:同时处理单个字的多个位
 - 字并位串:同时处理多个字的同一位(位片)
 - 字并位并(全并行):同时处理多个字的多个位
 
 - 执行程序 
- 指令内部并行:单条指令中各微操作之间的并行
 - 指令级并行:并行执行两条或两条以上的指令
 - 线程级并行:并行执行两个或两个以上的线程
 - 任务级或过程级并行:并行执行两个或两个以上的过程或任务(子程序/进程)
 - 作业或程序级并行:并行执行两个或两个以上的作业或程序
 
 
 - 数据处理 
 - 提高并行性技术途径 
- 时间重叠:处理过程错开,加快硬件周转
 - 资源重复:重复设置硬件资源
 - 资源共享:软件方法,顺序轮流使用同一套硬件设备
 
 - 单机系统的并行性 
- 时间重叠:主导作用,部件功能专用化
 - 资源重复:多体存储器,多操作部件(指令级并行),阵列处理机
 - 资源共享:虚拟机,分时系统
 
 - 多机系统的并行性 
- 分类:同构型多处理机、异构型多处理机、分布式系统
 - 耦合度:多机系统中各机器之间物理连接的紧密程度和交互作用能力的强弱 
- 紧密耦合系统(直接耦合系统):总线或高速开关互连,共享主存
 - 松散耦合系统(间接耦合系统):通道或通信线路互连,共享外存
 - 最低耦合:除某种中间介质外,无连接无共享
 
 - 功能专用化(时间重叠、异构型多处理机)
 - 机间互连(同构型多处理机系统)
 
 - 并行机的发展 
- 并行机的萌芽阶段(1964年~1975年)
 - 向量机的发展和鼎盛阶段(1976年~1990年)
 - MPP出现和蓬勃发展阶段(1990年~1995年)
 - 各种体系结构并存阶段(1995年~2000年)
 - 机群蓬勃发展阶段(2000年以后)
 
 
1.4 系统结构的设计
任务
- 指令系统的设计、数据表示的设计、功能的组织、逻辑设计以及其物理实现等
 - 三个方面 
- 确定用户对计算机系统的功能、价格和性能的要求
 - 软硬件功能分配(平衡)
 - 设计出生命周期长的系统结构(符合发展方向)
 
 
主要方法
- “由上往下”(top-down)设计 
- 适合于专用机的设计,而不适合通用机的设计
 
 - “由下往上”(bottom-up)设计 
- 软件技术为被动状态,软硬件脱节,系统效率降低
 - 现在很少使用
 
 - “从中间开始”(middle-out)设计 
- 中间:软硬件的交界面
 
 
程序局部性原理
- 时间局部性:即将用到的信息很可能就是目前正在使用的信息
 - 空间局部性:即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近
 
设计准则
- 以经常性事件为重点(大概率事件优先原则) 
- 优化:分配更多资源
 
 
Amdahl 定律
- 系统加速比 SnS_nSn :> 1;改进前与改进后总执行时间之比 Sn=T0Tn=11−Fe+FeSeS_n=\frac{T_0}{T_n}=\frac{1}{1-F_e+\frac{F_e}{S_e}}Sn=TnT0=1−Fe+SeFe1 
- 可改进比例 FeF_eFe :< 1;改进前,可改进部分执行时间在总执行时间中的占比
 - 部件加速比 SeS_eSe :> 1;可改进部分改进后性能提高的倍数。改进前执行时间与改进后执行时间的比
 - 改进后程序的总执行时间 TnT_nTn :T0=(1−Fe+FeSe)T_0=(1-F_e+\frac{F_e}{S_e})T0=(1−Fe+SeFe) 
- T0T_0T0 改进前总执行时间
 
 
 - 如果只对整个任务的一部分做改进,则改进得越多,所得到的总体性能提升就越有限 
- 如果只对整个任务的一部分做改进,则加速比不超过 11−Fe\frac{1}{1-F_e}1−Fe1
 
 


1.5 定量分析技术基础
性能评测
- 执行时间、吞吐率
 - 用户:执行时间(单个程序所花的时间)
 - 数据中心管理员:吞吐率(单位时间里能够完成的任务)
 - CPU时间 
- CPU执行所给定的程序所花费的时间,不包含I/O等待时间以及运行其它程序的时间
 - 用户CPU时间:用户程序所耗费的CPU时间
 - 系统CPU时间:用户程序运行期间操作系统耗费的CPU时间
 
 
基准测试程序
- 最佳选择:真实应用程序
 - 简化程序:不可靠 
- 核心测试程序:真实程序的关键代码段
 - 小测试程序:100行以内的小程序
 - 合成的测试程序:按比例合成
 
 - 基准测试程序套件:真实应用程序构成 
- 分类:处理器性能测试程序,图形性能测试程序
 - SPEC系列
 
 
评价标准
- 主要性能指标 
- MIPS:每秒百万指令数 
- MIPS=CI执行时间×106=1CPI×T×106=fCPI×106MIPS = \frac{CI}{执行时间 \times 10^6} =\frac{1}{CPI \times T \times 10^6} = \frac{f}{CPI \times 10^6}MIPS=执行时间×106CI=CPI×T×1061=CPI×106f
 
 - MFLOPS:每秒百万浮点指令数 
- MFLOPS=浮点操作次数执行时间×106MFLOPS = \frac{浮点操作次数}{执行时间 \times 10^6}MFLOPS=执行时间×106浮点操作次数
 
 - 执行时间 
- 总执行时间:执行所有程序时间的加和
 - (加权)平均执行时间:各个测试程序的算术/加权平均值
 - 调和平均值法 
- 加权调和平均值公式
 
 - 几何平均值法 
- 加权几何平均值
 
 
 
 - MIPS:每秒百万指令数 
 
CPU性能
- CPU时间:执行一个程序所需的CPU时间 
- CPU时间 = 执行程序所需的时钟周期数 × 时钟周期时间(系统时钟频率的倒数)
 - CPU时间 = IC × CPI × 时钟周期时间
 - 时钟周期时间:硬件实现、计算机组成
 - CPI:计算机组成、指令系统结构
 - IC:指令系统结构、编译技术
 - 计算机系统有 n 种指令 
- 时钟周期数 = ∑i=1n(CPIi×ICi)\sum_{i=1}^{n}(CPI_i \times IC_i)∑i=1n(CPIi×ICi)
 - CPU时间 = ∑i=1n(CPIi×ICi)\sum_{i=1}^{n}(CPI_i \times IC_i)∑i=1n(CPIi×ICi) × 时钟周期时间
 - CPI=∑i=1n(CPIi×ICi)IC=∑i=1n(CPIi×ICiIC)CPI = \frac{\sum_{i=1}^{n}(CPI_i \times IC_i)}{IC} = \sum_{i=1}^{n}(CPI_i \times \frac{IC_i}{IC})CPI=IC∑i=1n(CPIi×ICi)=∑i=1n(CPIi×ICICi)
 
 
 - CPI:指令执行的平均时钟周期数 
- CPI = 执行程序所需的时钟周期数 / IC
 
 - IC:执行的指令条数
 
