计算机系统结构复习笔记(一)
第一章 计算机系统结构的基本概念
1.1引言
计算机技术飞速发展的原因:
计算机制造技术的发展,计算机系统结构的创新
1.2计算机系统结构的概念
1.2.1计算机系统的层次结构:
虚拟机:由软件实现的机器
语言实现的两种基本技术:解释和翻译
通常L1~L3级是用解释方法,L4~L6是用翻译方法
解释执行比编译后再执行所花的时间多,但占用的存储空间较少
共同点:
都是以执行一串L级指令来实现高一级的L+1指令
不同点:
解释是每当一条L+1级指令被译码后马上执行一串等效L级指令
翻译是将L+1级程序全部变换为L级程序后再去执行新产生的L级程序
1.2.2计算机系统结构的定义
计算机系统结构的经典定义:
程序员所看到的计算机属性,即概念性结构与功能特性
透明性:
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
1.2.3计算机组成和计算机实现
计算机系统结构:计算机系统中软、硬件的界面
计算机组成:计算机系统结构的逻辑实现
- 具有相同系统结构的计算机可以采用不同的计算机组成
计算机实现:计算机组成的物理实现
- 同一计算机组成又可以采用多种不同的计算机实现
1.2.4计算机系统结构的分类
1. Flynn分类法
按照指令流和数据流的多倍性进行分类
单指令流单数据流(SISD)
单指令流多数据流(SIMD)
多指令流单数据流(MISD)
多指令流多数据流(MIMD)
2. 冯氏分类法
用系统的最大并行度对计算机进行分类
1.3定量分析计数(重点)
1.3.1计算机系统设计的定量原理
4个常用定量原理:
1.以经常性事件为重点
对经常发生的情况采用优化方法的原则,以得到更多的总体上的改进。
优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。
最常用的优化策略。
2.Amdahl定律
加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。
Amdahl定律重要推论:如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过1/(1-可改进比例)
3.CPU性能公式
程序执行的CPU时间可以写成:
CPU时间 = IC ×CPI ×时钟周期时间
IC:所执行的指令条数
CPI(Cycles Per Instruction,即每条指令的平均时钟周期数)
CPU的性能取决于三个参数(相互制约):
时钟周期时间:取决于硬件实现技术和计算机组成。
CPI:取决于计算机组成和指令集结构。
IC:取决于指令集结构和编译技术。
4.程序的局部性原理
是指程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚
时间局部性:
程序即将用到的信息很可能就是目前正在使用的信息。
空间局部性:
程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。
1.3.2计算机系统的性能评测
1.执行时间和吞吐率
如何评测一台计算机的性能,与测试者看问题的角度有关。
用户关心的是:单个程序的执行时间(执行单个程序所花的时间少)
数据处理中心的管理员关心的是:吞吐率(在单位时间里能够完成的任务多 )
2.基准测试程序
3.性能比较
1.4计算机系统结构的发展
1.4.1冯·诺依曼结构
最早的存储程序式计算机
存储程序原理的基本点:指令驱动
程序预先存放在计算机存储器中,计算机一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
对系统结构进行的改进:
1.对输入/输出方式的改进:
2.采用并行处理技术
在不同的级别采用并行技术。例如,微操作级、指令级、线程级、进程级、任务级等。
3.存储器组织结构的发展
通用寄存器组
高速缓冲存储器Cache
4.指令集的发展
两个发展方向: (第2章详细介绍)
复杂指令集计算机(CISC)
精减指令集计算机(RISC)
1.4.2软件对系统结构的影响
可移植性:
一个软件不经修改或者只需要少量修改就可以由一台计算机一直到另一台计算机上运行。
实现可移植性的3种常用方法:
1.采用系列机 (相同系统结构):
由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。
系列机的软件兼容:
向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。
向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。
向后兼容是系列机的根本特征。
思想与系列及一致:兼容机:由不同公司厂家生产的具有相同系统结构的计算机 。
2.模拟和仿真
对于使用频度低和难以用仿真实现的指令使用模拟:用软件的方法在一台现有的机器(称为宿主机)上实现另一台机器(称为虚拟机)的指令集。
对于使用频度较高的指令用仿真:用一台现有机器(宿主机)上的微程序去解释实现另一台机器(目标机)的指令集。
3.统一高级语言
实现软件移植的一种理想的方法
较难实现
1.4.3器件发展对系统结构的影响
1.4.4应用对系统结构的影响
1.5 计算机系统结构中并行性的发展
1.5.1并行性的概念
同时性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
包括同时性和并发性两种含义
并行性:两个或两个以上的事件在同一时刻发生。
并发性:两个或两个以上的事件在同一时间间隔内发生。
从处理数据的角度来看,并行性等级从低到高可分为:
字串位串:每次只对一个字的一位进行处理。
最基本的串行处理方式,不存在并行性。
字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。
字并位串:同时对许多字的同一位(称为位片)进行处理。
全并行:同时对许多字的全部位或部分位进行处理。
从执行程序的角度来看,并行性等级从低到高可分为:
指令内部(微指令级)并行:单条指令中各微操作之间的并行。
指令级并行(ILP):并行执行两条或两条以上的指令。
线程级并行(TLP):并行执行两个或两个以上的线程。
任务级或进程级并行:并行执行两个或两个以上的过程或任务(程序段)
作业或程序级并行:并行执行两个或两个以上的作业或程序。
1.5.2提高并行性的技术途径
三种途径:
1.时间重叠
引入时间因素,让多个处理过程在时间上相互错开轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。(如流水线技术)
2.资源重复
引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。(如超线程、多核、多处理器技术)
3.资源共享
这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。(如分时系统)
1.5.3单机系统中并行性的发展
1.在发展高性能单处理机过程中,起主导作用的是时间重叠原理。
实现时间重叠的基础:部件功能专用化
2.在单处理机中,资源重复原理的运用也已经十分普遍
3.在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。
1.5.4多机系统中并行性的发展
多机系统也遵循时间重叠、资源重复、资源共享原理,发展为3种不同的多处理机:异构型多处理机、同构型多处理机、分布式系统
耦合度:
反映多机系统中各机器之间物理连接的紧密程度和交互作用能力的强弱。
紧密耦合系统(直接耦合系统):
在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互连,可以共享主存。
松散耦合系统(间接耦合系统):
一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。机器之间的相互作用是在文件或数据集一级上进行的。
功能专用化(实现时间重叠 ):
异构型多处理机系统:
由多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。
机间互连:
同构型多处理机系统:
由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。