计 算 机 系 统 结 构
COMPUTER ARCHITECTURE
东北师范大学计算机科学系孙铁利 主讲
2004年第 1章 计算机系统结构的基本概念
1.1 计算机系统的多级层次结构
1,层次结构划分的角度 使用语言
2,层次结构划分的目的
3,多级层次结构的划分 操作系统的位置
4,几个术语解释 翻译 机器 虚拟机器第 1章 计算机系统结构的基本概念机器,能存储和执行相应语言程序的算法和数据结构的集合体虚拟机器,以软件为主实现的机器称为虚拟机器翻译,先用转换程序将高一级机器上的程序全部变换成低一级机器上可运行的等效程序,然后再在低一级机器上去实现的技术,
解释,在低一级机器上用它的一串语句或指令来仿真高一级机器级上的一条语句或指令的功能,通过对高一级机器语言程序中的每条语句或指令逐条解释来实现的技术,
第 1章 计算机系统结构的基本概念
5,软件与硬件逻辑功能的等效性软 件硬 件功能分配比例必需的硬件 目前的计算机系统 程序不可编第 1章 计算机系统结构的基本概念
5,多级层次结构划分的好处
有利于正确理解软件、硬件、固件在计算机系统中的地位和作用
推动了计算机系统结构的发展第 1章 计算机系统结构的基本概念
1.2 计算机系统结构、计算机组成与计算机实现
1.2.1 定义与内涵
1.计算机系统结构( Computer Architecture)
定义的提出,Amdahl,IBM,1964
定义,是对计算机系统中各机器级之间的界面的划分和定义,以及对各级界面上、下的功能进行分配。
特定含义,层次结构中传统机器级的系统结构,界面之上为软件,界面之下为硬件 /固件透明性,本来存在的事物或属性,从某个角度看却好象不存在一样,我们称之为透明性。
研究内容,软、硬件之间的功能分配以及对传统机器级界面的确定。
第 1章 计算机系统结构的基本概念计算机系统结构的属性范围
数据表示
寻址方式
寄存器组织
指令系统
存储系统组织
中断结构
机器状态的定义和切换
I/O结构
信息保护第 1章 计算机系统结构的基本概念
2.计算机组成 (Computer Organization)
定义,指计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成以及逻辑设计等。
着眼点,机器级内各事件的排序方法与控制结构、
各部件的功能及个部件间的联系。
计算机组成设计考虑的主要方面
数据通路宽度
专用部件的设置
部件的共享程度
功能部件的并行度第 1章 计算机系统结构的基本概念计算机组成设计考虑的主要方面
控制结构的组成方式
缓冲和排队技术
预估、预判技术
可靠性技术第 1章 计算机系统结构的基本概念
3.计算机实现( Computer Implementation)
定义,指的是计算机组成的物理实现。
着眼点,器件技术和微组装技术。
涉及范围:
处理机、主存等部件的物理结构
器件的集成度和速度
器件、模块、插件、底板的划分与连接
专用器件的设计
微组装技术
信号传输
电源、冷却及整机装配技术第 1章 计算机系统结构的基本概念
4.举例,具体问题中系统结构、组成、实现的任务举 例 系统结构 组成 实现指令系统 确 定 实现:操作安排 电路、器件的设计与排序 及装配技术乘法指令 是否设置 硬件实现还是 乘法、加法器的加法移位 物理实现:集成度、微组装技术主存系统 容量与编址 速度 器件、逻辑电路逻辑结构 设计、微组装具体机器的举例,IBM 370 DEC PDP-11
1.2.2 计算机系统结构、组成和实现的三者关系
一种计算机系统结构可以有多种计算机组成
不同计算机系统结构可以使采用的组成技术产生差异
计算机组成对系统结构的反作用
一种计算机组成可以有多种计算机实现
计算机实现对系统结构和组成的反作用
三者的相互转化
程序设计者看到的计算机系统结构,软硬件功能的分配和确定机器级界面的系统结构
计算机设计者看到的计算机系统结构,着眼于如何最佳最合理地实现分配给硬件的功能的计算机组成欲计算,A:=B+C
D:=E*F
采用面向寄存器的 采用面向三地址寻址方式系统结构,其程序为,的系统结构,其程序为,
LOAD R1,B ADD B,C,A
ADD R1,C MPY E,F,D
STORE R1,A
LOAD R2,E
MPY R2,F
STORE R2,D
共同要求,若加乘并行,则均需要并行加法器和乘法器不同的需求,
同时访问 R1和 R2 能同时形成多个操作数的地址和并行访问存储器
1.3 软硬取舍与计算机系统的设计思路
1.3.1软硬取舍的基本原则
在现有硬件和器件条件下,系统要有高的性能价格比
采用和拟采用的组成技术不应该过多或不合理地限制各种组成和实现技术的采用
确定软硬件界面时,把为编译和操作系统的实现、高级语言程序的设计更强的硬件支持放在首位语义差距,指不同语言之间语义的不同或差异,如高级语言和机器语言之间,不同的高级语言之间等
1.3 软硬取舍与计算机系统的设计思路
1.3.2 计算机系统的设计思路
由上向下的设计方法过程:从系统最高层次开始设计,向下进行问题:机器用途单一,机器成为专用计算机
由下向上的设计方法过程:从系统最低层开始设计,向上进行问题:软硬脱节,对软 件缺乏足够的支持
由中间开始的设计方法过程:从中间开始,向两个方向推进起点的选择:软硬件界面
1.4 软件、应用、器件对系统结构的影响
1.4.1 软件的可移植性定义,指软件不加修改或只需经少量就能由一台机器搬到另一台机器上运行,
必要性,充分利用已有的系统软件和应用软件,
实现 软件的可移植的基本技术
统一高级语言
采用系列机思想
模拟与仿真
1.统一高级语言可能性目前存在的实际问题
用途不同,要求语言具有不同的语法结构和语义结构
人们对语言基本结构的认识和看法不同
不同厂家的机器使同一种高级语言存在差异
习惯势力的影响方向 Ada语言
2,采用系列机思想系列机,在一个厂家生产的具有相同系统结构的各档机器构成的系列 (Family Machine).
兼容机,不同厂家生产的具有同一系统结构计算机被称为兼容机 (Compatible Machine).
系列机思想的产生,IBM System/360
Amdahl,IBM,1964
重要意义,计算机发展史上的一个重要里程碑世界主要的系列机,
IBM 360/370 303X 4300 308X 309X IBM 390
DEC PDP-11 VAX-11 VAX9000 CDC 6600 7600 CYBER
CRAY的巨型计算机系列等
2,采用系列机思想软件兼容,按照系列机的相同的机器属性编制的机器语言程序和编译程序都能不加修改地通用于各档机器,我们称这种情况下的各档机器是软件兼容的
( Software Compatibility)
软件兼容的分类向上兼容 ☆,所谓向上兼容,是指按某档机器编制的软件,不加修改就能运行于比它高档的机器上。
向下 兼容 向前兼容向后兼容 ☆ ☆,最基本的要求和特征系列机最优化的性能价格比的含义
3,模拟与仿真用途,解决系统结构不同机器的软件移植模拟,用机器语言程序解释实现软件移植的方法称为模拟( Simulation)。
宿主机 ( Host Machine):进行模拟的机器叫宿主机虚拟机 ( Virtual Machine):被模拟的机器叫虚拟机模拟程序,所有为各种模拟所编制的程序。
模拟对象,机器语言(指令系统) 存储体系 I/O系统控制台的操作 操作系统缺点,运行速度显著降低,实时性差应用场合:运行时间短,使用次数少,时间关系上没有约束和限制的软件。
3,模拟与仿真仿真,用微程序直接解释另一种机器指令系统的方法称为 仿真 ( Emulation)。
宿主机 ( Host Machine):进行仿真的机器叫宿主机目标机 ( Target Machine):被仿真的机器叫目标机仿真程序,为仿真所编写的解释微程序。
仿真对象,机器语言(指令系统) 存储体系 I/O系统控制台的操作特点,速度快,结构差异过大的机器难以仿真。
为了仿真而增加的新指令:装入仿真微程序 写回主存进入仿真 退出仿真模拟与仿真的区别,解释的语言不同,模拟用机器 语言解释,存储在主存,仿真用微程序解释,存储在控制存储器。
模拟与仿真的过程,建立映象,实施操作仿真过程举例实际应用的方式,二者结合
1.4.2 应用对系统结构的影响奇偶预测 海明纠错 指令复指 程序卷回 N模冗余
1.4.3 器件发展对系统结构的影响
MPP MFLOPS RISC GFLOPS TIPS TFLOPS
1.5 系统结构中的并行性发展及计算机系统 的分类
1.5.1 并行性概念
1,并行性的含义与并行性级别并行性,问题中具有可以同时进行运算或操作的特性,
并行性的二重含义同时性,两个或多个事件在同一时刻发生,
并发性,两个或多个事件在同一时间间隔内发生,
并行性的等级分类
执行程序的并行性
处理数据的并行性
计算机信息加工的并行性执行程序的并行性 处理数据的并行性指令内部 位串字串指令之间 位并字串任务或进程之间 位片串字并作业或程序之间 全并行计算机信息加工的并行性存储器操作并行处理器操作步骤并行指令、任务、作业并行
2,并行性开发的途径
时间重叠 (Time Interleaving),引入时间因素,如流水线
资源重复 (Resource Replication):引入空间因素,如并行处理机
资源共享 (Resource Sharing)由软件控制定期轮流使用同一套资源,
并行处理的方法和到达的目的并行性的开发和并行处理技术的研究,硬件、软件、
语言、算法、性能评价等方面的研究的综合。
1.5.2 计算机系统的并行性发展各年代计算机系统并行性的发展
1950年代存储程序 1949
中断 1954
DMA 1958
多道程序 OS 1963
1960年代并行运算 1964
流水线 1969
1.5.2 计算机系统的并行性发展各年代计算机系统并行性的发展
1970年代并行处理系统结构:向量机 阵列机 相联机
1980年代
RISC 多处理机 数据流计算机 智能计算机
1990年代
MPP 智能计算机
1.5.2 计算机系统的并行性发展
3T目标,1 TFLOPS 的计算能力
1 TBYTE 的主存容量
1 TBYTE/S 的 I/O带宽
1.5.3 并行处理系统的结构与多机系统的耦合度
1、并行处理系统的结构并行处理计算机:是强调并行处理的系统。
分布处理系统流水线计算机,时间重叠阵列处理机,资源重复多处理机系统,资源共享,松耦合 /紧耦合数据流计算机,数据驱动数据集,软件中一些有关数据项的集合,
数据库中,一个数据文件。
1.5.3 并行处理系统的结构与多机系统的耦合度
2、多机系统的耦合度多处理机系统:多台处理机组成的单一计算机系统统一的操作系统本地存储器处理机之间的交互并行程度:作业、任务、指令、数据多计算机系统:多台独立的计算机组成的系统。
逻辑上独立的操作系统
1.5.3 并行处理系统的结构与多机系统的耦合度
2、多机系统的耦合度耦合度:反映各机器之间的物理连接紧密程度和交叉作用能力的强弱程度
最低耦合系统中间存储介质联系
松散耦合系统通道、通信线路实现互连
紧密耦合系统总线、高速开关术语:可重构系统 异构 同构
1.5.4 计算机系统的分类
Flynn分类法,Michael Flynn,1966
指令流( Instruction Stream),指机器执行的指令序列。
数据流( Data Stream),指由指令流调用的数据序列。
多倍性,指在系统性能瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数。
分类,单指令流单数据流( SISD)
单指令流多数据流( SIMD)
多指令流单数据流( MISD)
多指令流多数据流( MIMD)