计算机系统结构课程介绍
( Computer Architecture 计算机系统结构 计算机体系结构
“建筑学”、“建筑物的设计或式样”,通常是指一个系统的外貌。
( 研究内容:
从外部来研究计算机系统使用者所看到的物理计算机的抽象编写出能够在机器上正确运行的程序所必须了解到的计算机的属性软硬件功能分配及分界面的确定
( 学习目的:
建立计算机系统的完整概念学习计算机系统的分析方法和设计方法掌握新型计算机系统的基本结构及其工作原理
( 学科方向:是全国重点学科一级学科一个:计算机科学与技术二级学科三个:计算机系统结构、计算机软件、计算机应用技术
( 与其他学科的交叉主要包括:计算机组成原理、计算机操作系统、汇编语言、数据结构、
微机原理、高级语言等新内容:超标量处理机、超流水线计算机、向量处理机、并行处理机、
多处理机等交叉点:提高、建立完整概念
( 课程安排课内:64学时,实验:16学时,课外:课内外比例1:2
除完成作业和实验外,还要多看参考书
( 实验 DLX处理机实验原理、实验内容及实验要求:教材第十二章
( 计算机系统结构正处于变革时期软件、系统结构、组成技术,两头发展快、中间慢非冯计算机正兴起系统结构的发展时期已经到来
( 教材:计算机系统结构,清华大学出版社,第二版
主要参考书:
Patterson D A,Hennessy J L,Computer Architecture,A Quantitative
Approach 2 Ed,San Francisco,Morgan Kaufmann Publishers,1995.
2.李学干,苏东庄,计算机系统结构,西安电子科技大学出版社,1991年。
3.李勇,刘恩林,计算机体系结构,国防科技大学出版社,1988年。
4.Kai Hwang,高等计算机系统结构 并行性 可扩展性 可编程性,
清华大学出版社
第一章 基本概念
1.1 计算机系统结构的定义
1.2 计算机系统的评价标准
1.3 计算机系统的设计方法
1.4 计算机系统结构的发展
1.5 计算机系统的分类
1.1 计算机系统结构的定义
1.1.1 两种定义
1、定义一:Amdahl于1964年在推出IBM360系列计算机时提出:
程序员所看到的计算机系统的属性,即概念性结构和功能特性
(程序员:汇编语言、机器语言、编译程序、操作系统
(看到的:编写出能够在机器上正确运行的程序所必须了解到的
(概念结构:
主存储器
主存控制器
CPU
IOP
IOP
打印机
磁盘机
(
卡片机
磁带机
终 端
(功能特性:指令系统及其执行模式
( 数据表示:硬件能够直接认别和处理的数据类型和格式;
( 寻址方式:最小寻址单位、寻址方式的种类和地址运算等;
( 寄存器组织:操作数寄存器、变址寄存器、控制寄存器及专用寄存器的定义、
数量和使用规则等;
( 指令系统:机器指令的操作类型、格式,指令间的排序和控制机制等;
( 中断系统:中断类型、中断级别和中断响应方式等;
( 存储系统:最小编址单位、编址方式、主存容量、最大寻址空间等;
( 处理机工作状态:定义和切换方式,如管态和目态等;
( 输入输出系统:连接方式、数据交换方式、数据交换过程的控制等;
( 信息保护,包括信息保护方式和硬件对信息保护的支持等。
2、透明性概念本来存在的事物或属性,从某种角度看似乎不存在例如:浮点数表示、乘法指令
对高级语言程序员、应用程序员 透明
对汇编语言程序员、机器语言程序员 不透明例如:数据总线宽度、微程序
对汇编语言程序员、机器语言程序员 透明
对硬件设计者、计算机维修人员 不透明
3、定义二:
计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定
( 计算机系统由软件、硬件和固器组成,它们在功能上是同等的。
( 同一种功能可以用硬件实现,也可以用软件或固件实现。
( 不同的组成只是性能和价格不同。
1.1.2 计算机系统的组成计算机组成是指计算机系统结构的逻辑实现,主要包括:
( 确定数据通路的宽度
( 确定各种操作对功能部件的共享程度
( 确定专用的功能部件
( 确定功能部件的并行度
( 设计缓冲和排队策略
( 设计控制机构
( 确定采用何种可靠性技术
1.1.3 计算机系统的实现计算机实现是指计算机组成的物理实现,包括:
( 处理机、主存储器等部件的物理结构
( 器件的集成度和速度
( 专用器件的设计
( 器件、模块、插件、底版的划分与连接
( 信号传输技术
( 电源、冷却及装配技术,相关制造工艺及技术等
计算机系统结构、计算机组成和计算机实现是三个不同的概念,但随着技术、器件和应用的发展,三者之间的界限越来越模糊。
1.1.4 计算机系统的层次结构
1、虚拟机概念
( 从不同角度所看到的计算机系统的属性是不同的高级语言程序员、汇编语言程序员、系统管理员、硬件设计者大部分人对计算机的认识只需要在某一个层次上
广义语言
虚拟计算机
解释或编译
作用对象
观察者
2、层次结构第0级由硬件实现,第1级由微程序实现,第2级至第6级由软件实现由软件实现的机器称为:虚拟机第2级是传统指令系统(机器语言)机器。
第3级是操作系统机器。操作系统是运行在第2级上的解释程序。
第4级是汇编语言机器。
第5级是高级语言机器。
第6级是应用语言机器。
( 从学科领域来划分:第0和第1级属于计算机组织与结构,第3至第5级
是系统软件,第6级是应用软件。
( 它们之间仍有交叉。第0级要求一定的数字逻辑基础;第2级涉及汇编语言程序设计的内容;第3级与计算机系统结构密切相关。在特殊的计算机系统中,有些级别可能不存在。

应用语言
第6级应用程序
应用程序
信息处理系统
用 户
高级语言
第5级高级语言
解释程序编译程序
可执行程序
高级语言程序员
汇编语言
第4级汇编语言
汇编程序
可执行程序
汇编语言程序员
系统原语键盘命令
第3级操作系统
操作系统
系统资源
系统操作员
指令系统
第2级机器语言
中央处理机
目标程序
机器语言程序员
指令时序
第1级微程序控制
微程序控制
寄存器逻辑
逻辑设计员
操作时序
第0级硬联逻辑
硬联逻辑
逻辑线路
硬件设计员
1.2 计算机系统的评价标准 性能和价格
1.2.1 性能评测的常用方法 以运算速度为主
1、时钟频率(主频):用于同类处理机之间
如:PentiumⅡ/450比PentiumⅡ/300快50%,…
2、指令执行速度 一种很经典的表示方法
(? MIPS(Million Instructions Per Second),KIPS、GIPS、TIPS

其中:Fz为处理机的工作主频,
CPI(Cycles Per Instruction)为每条指令所需的平均时钟周期数,
IPC为每个时钟周期平均执行的指令条数。
例1:计算PentiumII 450处理机的运算速度。
解:由于PentiumII 450处理机的IPC=2(或CPI=0.5),Fz=450MHz

(?主要缺点:
(1)不同指令的速度差别很大
(2)指令使用频度差别很大
(3)有相当多的非功能性指令
3、等效指令速度:吉普森(Gibson)法其中:Wi:指令使用频度,i:指令种类
静态指令使用频度:在程序中直接统计
动态指令使用频度:在程序执行过程中统计在计算机发展的早期,用加法指令的运算速度来衡量计算机的速度。
通常:加、减法50%,乘法15%,除法5%,程序控制15%,其他15%
例2:我国最早研制的小型计算机DJS-130,定点16位,加法速度每秒50万次,
但没有硬件乘法和除法等指令。用软件实现乘法和除法,速度降低100倍
左右,求定点等效速度为。
解:
即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。
例3:如果浮点开平方操作FPSQR的比例为2%,它的CPI为100,其他浮点操作
的比例为23%,它的CPI=4.0,其余指令的CPI=1.33,计算该处理机的
等效CPI。如果FPSQR操作的CPI也为4.0,重新计算等效CPI。
解,等效CPI1=100 ( 2% + 4 ( 23% + 1.33 ( 75%=3.92
等效CPI2=4 ( 25%+1.33 ( 75%=2.00
由于改进了仅占2%的FPSQR操作的CPI,使等效速度提高了近一倍
( 指令执行速度的几种平均方法
上述2中的指令执行速度又称为算术平均速度
上述3中的等效指令执行速度又称为加权平均速度,或调和平均速度
几何平均速度:
其中:ETR(execution time ratio),n指不同的程序
几何平均速度与机器无关,与程序的执行时间无关。
4、数据处理速率PDR(processing data rate)
PDR=L/R
其中:L=0.85G+0.15H+0.4J+0.15K;R=0.85M+0.09N+0.06P
其中:G是每条定点指令的位数 M是平均定点加法时间
H是每条浮点指令的位数 N是平均浮点加法时间
J是定点操作数的位数 P是平均浮点乘法时间
K是浮点操作数的位数
另外还规定:G > 20位,H > 30位;从主存取一条指令的时间等于取一个字的时间;指令和操作数都存放在同一个主存,无变址或间址操作;允许有先行或并行取指令功能,此时选用平均取指令时间。
PDR主要用来对CPU和主存储器的速度进行度量,它没有涉及到cache和多功能等。因此,PDR不能度量机器的整体速度。
5、核心程序法把应用程序中用得最多频繁的那部分核心程序作为评价计算机性能的标准程序。称为基准程序benchmark
( 整数测试程序:Dhrystone
用C语言编写,100条语句。包括:各种赋值语句,各种数据类型和数据区,各种控制语句,过程调用和参数传送,整数运算和逻辑操作。
VAX-11/780的测试结果为每秒1757个Dhrystones,即:
1VAX MIPS=1757Dhrystones/Second
( 浮点测试程序:Linpack
用FORTRAN语言编写,主要是浮点加法和浮点乘法操作。
用MFLOPS(Million Floating Point Operations Per Second)表示
GFLOPS、TFLOPS
( Whetstone基准测试程序
用FORTRAN语言编写的综合性测试程序,主要包括:浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数。
测试结果用Kwips表示,
( SPEC基准测试程序 System performance evaluation Cooperative
由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,包括:IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、Motolola、SGI、SUN、Unisys等;
SPEC能够全面反映机器的性能,具有很高的参考价值;
以AX-11/780的测试结果作为基数;
SPEC1.0 1989年10月宣布,包含10个测试程序,程序量超过15万行,4个定点程序,6个浮点程序;测试结果用SPECint’89和SPECfp’89表示。
1992年,又增加10个测试程序,共有6个定点程序和14个浮点程序,测试结果用SPECint’92和SPECfp’92表示。
1995年推出SPECint’95和SPECfp’95
处理机
SPECint’95
SPECfp’95
处理机
SPECint’95
SPECfp’95
PentiumII 450
18.5
13.3
Celeron 333
13.1
10.20
PentiumII 450
18.7
13.7
Celeron 366
14.1
10.70
PentiumIII 500
20.6
14.7
Celeron 400
15.1
11.20
PientiumIII 550
22.3
15.6
Celeron 433
16.1
11.60
Celeron 300A
12.0
9.66
Celeron 466
17.0
12.00
( TPC基准程序 Transaction Processing Council(事务处理委员会)
成立于1988年,已有40多个成员;用于评测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性能。
1989年10月、1990年8月和1992年7月发表了TPC-A、TPC-B和TPC-C。
6、峰值速度
( 峰值指令速度MIPS、GIPS、TIPS
例如:PentiumIII 500,有3条指令流水线,1500 MIPS,每秒15亿次一个由8台机器组成的Cluster,每台机器是4个PentiumIII 500组成的SMP;其峰值速度为48GIPS,每秒480亿次。
( 峰值浮点速度MFLOPS、GFLOPS、TFLOPS
1.2.2 其他性能
1.存储能力
( 寻址空间大小,216、224、232、264、...
( 存储容量,速度,编址单位,编址方式,寻址方式
( 存储系统,Lookahead ( Cache ( Main Memory ( Online Storage
( Off-line Storage
2.字长 1~几百位
( 关键问题:指令字长与数据字长的协调
原因:程序与数据共用同一个主存储器
( 早期:由指令字长决定
当前:由数据字长决定,8的倍数,如:32位、64位等
可变字长:任意组合
3.数据类型
( 目前常用:定点、浮点、逻辑、
( 已有类型:向量、串、栈、树、
( 发展方向:自定义
4、指令系统
( CISC:复杂指令集计算机
( RISC:精简指令集计算机
( VLIW:超长指令字
5、输入输出能力
( 输入输出方式
( 中断系统
( 输入输出接口
6、兼容性
( 共分12级:0~11,0级为完全不兼容,11级为自身
7、保护和诊断能力
( 程序与数据的保护
( 诊断能力:检错、纠错、冗余、自诊断能力
( 可靠性:RAS技术,可靠性R、可用性A、可维护性S
1.2.3 价格标准
1.价格与性能的关系:
( 根据摩尔定理:性能每10年提高100倍,但价格基本不变
( 用同样的价格,五年之后能买到性能高十倍的机器
( 计算机系统每年的折旧率为75%左右
2.硬件与软件的价格比例:
( 硬件的比例下降,软件的比例上升
( 目前软件价格已经超过硬件价格
1.3 计算机系统的设计技术软硬件取舍,软件兼容性设计方法,计算机系统设计过程。
1.3.1 软硬件取舍
1、软硬件的关系
( 理论上,有两种极端实现方法:
全硬件机器,包括操作系统、高级语言、应用程序等
硬件只有1位加法和分支操作,其他都用软件实现
( 关键问题:性能与价格的关系,软硬件实现在功能上等效
计算机系统结构设计者的主要任务就是要确定软硬件的分界,
软件、硬件和固件的功能分配。
( 软件与硬件实现的特点
硬件实现:速度快、成本高;灵活性差、占用内存少
软件实现:速度低、复制费用低;灵活性好、占用内存多
( 发展趋势:硬件实现的比例越来越高,硬件所占的成本越来越高成本
硬件
软件
年代
软硬件比例
软件
发展
硬件
最少硬件 目前计算机 不可编程
2、从价格因素考虑的软硬件取舍设硬件设计费为Dh
软件设计费为Ds
硬件拷贝费为Ch
软件拷贝费为Cs
R为软件重复出现次数(占用内存、占用介质)
当台数为V时,每台的硬件费用和软件费用之比为:
由于:Dh >> Ds,Ch >> Cs,
结论1:当R很大时,即经常使用的基本功能适宜用硬件实现
由于:Ds >> Cs
结论2:当V很大时,即生产台数很多时适宜用硬件实现
另外,还要从处理机速度和国家需要等方面来考虑。
3、从改进性能考虑的软硬件取舍
( 基本方法:加快经常性事件的执行速度
( Amdahl定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能
的提高与这种执行方式的使用频率或占总执行时间的比例有关。
在Amdahl定律中,加速比与两个因素有关:
,它总小于1。
,它总大于1。
改进后整个任务的执行时间为:
其中To为改进前的整个任务的执行时间。
改进后整个系统的加速比为:
(1-Fe)表示不可改进部分。
当,可改近极限受Fe的约束。
例4:假设将某一部件的处理速度加快到10倍,该部件的原处理时间仅为整个运
行时间的40%,则采用加快措施后能使整个系统的性能提高多少?
解,由题意可知:Fe=0.4,Se=10,根据Amdahl定律,

4、改进性能的主要途径
( 面向目标代码改进:用一条指令代替一串指令
方法:统计某条指令、某类指令或某个指令串的使用频度(动态和静态)
例如:例1中,增加硬件乘法和除法指令使等效指令速度提高25倍
例2中,改进FPSQR指令,使等效CPI提高近1倍
( 面向高级语言改进:
I>m2
方法:统计语句使用频度
例如:一般程序中赋值语句占30%以上,为此,许多处理机中设置了寄存器与寄存器、寄存器与存储器、存储器与存储器之间的成组传送指令,存储器到存储器之间的运算指令。
例如:在do循环中,循环体只有一、二条的占60%左右,造成循环控制部分所占的比例很大,因此,增加循环控制指令。
又例如:条件码对高级语言几乎无用。
( 面向操作系统改进:
方法:系统结构设计要规整,消除例外情况
寄存器定义要统一、操作要均均、所有存储部件要对称例如:IBM370中,数据寄存器兼作变址寄存器和基址寄存器,R0的使用非常特殊,双字指令只能用偶数寄存器;
指令的设置不均均,有A-B无B-A等;
存储部件不对称,运算结果只存放在寄存器中
1.3.2 软件兼容性设计方法
( 原因:软件相对于硬件的成本越来越贵,
已积累了大量成熟的系统软件和应用软件。
( 兼容种类
(1)向后兼容:在某一时间生产的机器上运行的目标软件能够直接运行于
更晚生产的机器上。
(2)向前兼容:
(3)向上兼容:在低档机器上运行的目标软件能够直接运行于高档机器上。
(4)向下兼容:
其中向后兼容最重要,必须做到。
方法1:系列机方法
( 系列机定义:具有相同的系统结构,不同组成和实现的一系列计算机系统
( 实现方法:在系统结构基本不变的基础上,根据不同性能的要求和当时的器
件发展情况,设计出各种性能、价格不同的计算机系统。
一种系统结构可以有多种组成,一种组成可以有多种物理实现。
( 如IBM370系列机:370/115、125、135、145、158、168等各种型号。
相同的系统结构,采用不同的组成和实现技术,不同的性能和价格。
相同的指令系统,分别采用顺序执行、重迭、流水和并行处理方式。
相同的32位字长,数据通道的宽度分别为8位、16位、32位、64位。
( PC系列机:8088、8086、80186、80286、80386、80484、Pentium、
PentiumII、PentiumIII
不同工作主频:
不同扩展功能:Pentium/Pentium Pro/Pentium MMX/
不同的Cache:PentoumII/Celeron/Xeon
不同的字长:8位(8088)、16位(80286)、32位、64位。
( 采用系列机的主要优点:
软件兼容,可移植性好插件、接口等兼容便于实现机间通信便于维修、培训有利于提高产量、降低成本
( 采用系列机的主要缺点:
限制了系统结构的发展方法2:模拟与仿真 Simulation Emulation
( 定义:在一台现有的计算机上实现另一台计算机的指令系统。
全部用软件实现的叫模拟
用硬件、固件或软件、硬件、固件混合实现的叫仿真
( 模拟的实现方法
在A计算机上通过解释方法实现B计算机的指令系统,即B机器的每一第指令用一段A机器的程序进行解释执行。
A机器称为宿主机,B机器称为虚拟机。
( 仿真的实现方法
直接用A机器的一段微程序解释执行B机器的每条指令。
A机器称为宿主机,B机称为目标机。
( 优缺点比较
模拟方法速度低,仿真方法速度高
仿真需要较多的硬件(包括控制存储器)
系统结构差别大的机器难于完全用仿真方法来实现
除了指令系统之外,还有存储系统、I/O系统、中断系统、控制台的操作等
除了解释方法之外,也可以通过编译方法实现
( 模拟方法用于计算机系统的设计过程
在一台已有的机器上用模拟方法实现另外一台正在设计中的机器的指令系统等。
具体过程如下:
设计方案
模拟
测试、性能评价
修改设计
投产方法3:统一高级语言
( 方法:采用同一种不依赖于任何具体机器的高级语言编写各种系统软件和
应用软件。
( 困难:至今还没有这样一种高级语言。短期内很难实现。
C、Ada、Java、……
( 三种方法比较:
采用统一高级语言最好,是努力的目标
系列机是暂时性方法,也是目前最好的方法
仿真的速度低,芯片设计的负担重,目前用于同一系列机内的兼容
1/10~1/2的芯片面积用于仿真
( 目标代码的兼容性研究:一种设想
一种机器的目标代码到另一种机器的目标代码的编译
目标代码的并行重编译
1.3.3 计算机系统设计过程方法1:由上向下(Top-Down)
( 设计过程:由上向下
面向应用的数学模型
面向应用的高级语言
面向这种应用的操作系统面向操作系统和高级语言的机器语言面向机器语言的微指令系统和硬件实现
( 应用场合:
专用计算机的设计(早期计算机的设计)
( 特点:
对于所面向的应用领域,性能(性能价格比)很高
随着通用计算机价格降低,目前已经很少采用方法2:由下向上(Bottom-Up)
( 设计过程:
根据当时的器件水平,设计微程序机器级和传统机器及。
根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等
最后设计面向应用的虚拟机器级。
( 应用场合:
在计算机早期设计中(60~70年代)广为采用
( 特点:
容易使软件和硬件脱节,整个计算机系统的效率降低。
方法3:中间开始(Middle-Out)
( 设计过程:
应用虚拟机
从中间开始
高级语言虚拟机
汇编语言虚拟机
向上
操作系统虚拟机
传统机器级
微程序级
向下
硬联逻辑级
首先定义软硬件的分界面,包括:
指令系统、存储系统、输入输出系统、中断系统、硬件对操作系统和编译
系统的支持等然后各个层次分别进行设计,包括:
软件设计人员设计操作系统、高级语言、汇编语言、应用出现等
硬件设计人员设计传统机器、微程序、硬联逻辑等
( 应用场合:
用于系列机的设计
( 特点:
软硬件的分界面在上升
硬件价格下降,软件价格上升
软硬件人员结合共同进行设计
器件设计占领硬件设计
1.4 计算机系统结构的发展
1.4.1 冯·诺依曼(Van Nenmann)结构
( 于1936年~1946年形成
冯·诺依曼等人于1946年提出
1、特点:存储程序,运算器为中心,集中控制
( 存储器是字长固定的、顺序线性编址的一维结构。
( 存储器提供可按地址访问的一级地址空间,每个地址是唯一定义的。
( 由指令形式的低级机器语言驱动。
( 指令顺序执行,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。
( 运算器为中心,输入输出设备与存储器之间的数据传送都途经运算器。运算器、存储器、输入输出设备的操作以及它们之间的联系都由控制器集中控制。
2、改进:存储程序,存储器为中心,分散控制
( 从基于串行算法变为适应并行算法,出现了向量计算机,并行计算机、多处理机等。
( 高级语言与机器语言的语义距离缩小,出现了面向高级语言机器和直接执行高级语言机器。
( 硬件子系统与操作系统和数据库管理系统软件相适应,出现了面向操作系统机器和数据库计算机等。
( 从传统的指令驱动型改变为数据驱动型和需求驱动型,出现了数据流机器和归约机。
( 为适应特定应用环境而出现了各种专用计算机,如快速傅里叶变换机器、过程控制计算机等。
( 为获得高可靠性而研制容错计算机。
( 功能分散化、专业化,出现了各种功能分布计算机,包含外围处理机、通信处理机等。
( 出现了与大规模、超大规模集成电路相适应的计算机系统结构。
( 出现了处理非数值化信息的智能计算机,例如自然语言、声音、图形和图象处理等。
3、非冯计算机的发展
1.4.2 器件发展对系统结构的影响
( 1~4代计算机以器件划分
( 在相当长一段时间内,是提高计算机速度的主要途径
1、器件发展的特点:可以用4句话概括
( 集成度迅速提高目前水平:每0.25平方英寸108个晶体管
单芯片内可以做256Mb存储器,CPU+部分Cache
每5年左右提高一个数量级
到2018年,单芯片内可以做100个处理机
( 速度已接近极限目前CPU主频已经到达1000MHz,门延迟0.1ns
极限速度30万公里/秒=3cm/0.1ns=3mm/0.01ns
器件速度发展的余地很小根据摩尔定律,处理机速度每10年要提高100倍
将来处理机速度提高主要靠系统结构、组成和实现技术
( 价格直线下降
例如:CPU芯片刚推出时1000美元,一年后降到200美元
( 可靠性越来越高芯片可靠性到达108小时,即连续使用1万年以上
2、器件种类
( 通用片:大批量生产,CPU、存储器、寄存器、逻辑门、…
( 现场片:PLD、PAL、PROM、EPROM、FPGA。…
( 用户片:各种专用芯片
( 半用户片:门阵列片等
3、器件发展对组成技术的影响
( 器件速度与处理机工作主频
1955年第一台大型计算机IBM704机
处理机主频:12us,门延迟:0.5us
1976年巨型向量计算机CRAY,采用ECL电路
处理机主频:12.5ns,门延迟:0.5ns
目前,PentiumIII 600MHz,Alpha 1000MHz
处理机主频:1.2ns,门延迟:0.1ns
( 器件速度与指令执行时间
40多年来,器件速度提高小于104;指令执行加快108。
( 系统结构和组成技术的作用器件速度的提高最慢,已经没有太大潜力处理机主频提高的速度已经减缓指令执行速度的提高,基本保持不变(摩尔定理)
4、器件发展对设计方法的影响
( 计算机组成技术下移原来只有在巨型机、大型机种采用的技术,已经用到微型机中
先行(Lookahead)、超标量、超流水线、Cache、多体交叉
( 计算机设计方法下移第1代计算机,几乎全部由硬件人员设计第2、3、4代,由应用、软件、硬件和器件人员共同设计将来:除器件设计之外,主要是软件设计
( 逻辑设计方法改变过去逻辑设计很重要,尽量节省每一个芯片,每一个门目前的设计主要考虑:
了解市场,尽量选择通用芯片、标准芯片
结构化设计,规整、医读、易诊断
1.4.3 应用对系统结构发展的影响
1、应用需求
在今后10年里,一些特殊领域要求非常高的计算速度,需要专门为这些领域设计高效率的系统结构。
( 高结构化的数值计算——气象模型、流体流动、有限元分析。
( 非结构化的数值计算——蒙特卡洛模拟、稀疏矩阵。
( 实时多因素问题——语音识别、图象处理、计算机视觉。
( 大存储器容量和输入输出密集的问题——数据库系统、事务处理系统。
( 图形学和设计系统——计算机辅助设计。
( 人工智能——面向知识的系统、推理系统。
2、三个时期
( 通用计算机:主要是通用科学计算
( 专用计算机:科学计算、事务处理、实时控制
( 高性能通用机:满足多种需求目前又开始多种专用处理机的研制
3、两个发展趋势
( 维持价格不变,利用VLSI技术等,提高性能
普通PC微处理器芯片2000元,但性能提高很快
( 性能基本不变,价格迅速下降
( 一般先推出中间机型,然后分别向高端和低端两个方向发展
例如:PentiumII,80486等
4、三种设计思想
( 最高性能价格比:商用机。主要发展方向
( 最高性能:国家安全需要,科技发展需要
银河2、神州3、…
( 最低价格:家用学习机等
1.4.4 算法对系统结构的影响
在多个层次上,算法影响着系统结构
( 快速乘法、除法、开平方等的实现:
( 记分板算法、Tomasulo算法提高指令级并行性
( 多线程系统
( 消除名字相关、数据相关、控制相关的算法
( 有些应用问题,如果算法上有突破,不需要高性能的系统结构,而在普通的系统上就能得到解决。
( 许多算法还有改进的余地,通过算法的研究能够大大提高系统的性能。
( 应用程序设计者只有了解系统结构,才能设计出高效率的程序。
( 系统结构设计者要研究算法,应该研究一类算法,设计一种系统结构,使所有这类问题在此结构上都能很好解决。
1.5 计算机系统的分类
1.5.1 常见分类方法
1、按大小划分
( 种类:巨型机、大型机、中型机、小型机、微型机等。
( 划分原则:以性能为表征,按价格来划分
( 存在问题:划分的标准是随时间而变化
Small is fast
2、按用途划分
( 种类:科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。
( 划分原则:科学计算:浮点计算速度
事务处理:字符处理、十进制运算
实时控制:中断响应速度、I/0能力
工作站:图形处理能力
( 发展方向:具备上述所有功能的通用处理机
3、按数据类型划分
( 种类:定点机、浮点机、向量机、堆栈机等。
4、按处理机个数和种类划分
( 种类:单处理机、并行处理机、多处理机、分布处理机、关联处理机、
超标量处理机、超流水线处理机、SMP(对称多处理机)、
MPP(大规模并行处理机)、机群(Cluster)系统等。
5、按所使用的器件划分
( 种类:第一代(Valve)、第二代(Transitor)、第三代(SSI和MSI)、
第四代(LSI和VLSI)、第五代(智能计算机)等。
1.5.2 三种通用分类方法
1、佛林(Flynn)分类法
1966年Michael J Flynn提出
( 按照指令流和数据流的多倍性特征对计算机系统进行分类指令流:机器执行的指令序列数据流:由指令流调用的数据序列,包括输入数据和中间结果多倍性(multiplicity):在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数
( 4种类型单指令流单数据流SISD(Single Instruction Single Datastream)
单指令流多数据流SIMD(Single Instruction Multiple Datastream)
多指令流单数据流MISD(Multiple Instruction Single Datastream)
多指令流多数据流MIMS(Multiple Instruction Multiple Datastream)
SISD 典型单处理机,包括:
单功能部件处理机:IBM1401,VAX-11
多功能部件处理机:IBM360/91,370/168,CDC6600
流水线处理机:标量流水线处理机
SIMD 并行处理机、阵列处理机、向量处理机、相联处理机、超标量处理机、超流水线处理机、…
多个PU按一定方式互连,在同一个CU控制下,多各自的数据完成同一条指令规定的操作;从CU看,指令顺序(串行)执行,从PU看,数据并行执行。
全并行:IILIAC IV、PEPE、STAR100、ASC、CRAY
字并位串:STARAN、MPP、DAP
MISD 几条指令对同一个数据进行不同处理,实际上不存在
MIMD 多处理机系统,包括:
紧密偶合:IBM3081、IBM3084、UNIVAC-1100/80
松散偶合:D-825、Cmmp、CRAP-2
( Flynn分类法得到广泛应用
SIMD、MIMD、SPMD、XIMD、…
( 主要缺点:
(1) 分类太粗
例如:在SIMD中包括有多种处理机
对流水线处理机的划分不明确,
标量流水线为SISD,向量流水线为SIMD
(2) 根本问题是把两个不同等级的功能并列对待
通常,数据流受指令流控制
从而造成MISD不存在
(3) 非冯计算机的分类?其他新型计算机的分类?

IS
DS
CU
PU
MM
SISD
IS
DS1
PU
MM
DS2
CU
PU
…
DSn
MM
PU
SIMD
DS
IS1
CU1
PU1
MM
IS2
IS2
…
CU2
PU2
ISn
…
MM
CUn
PUn
MISD
IS1
CU1
PU1
DS1
MM
IS2
IS2
…
CU2
PU2
DS2
ISn
…
…
MM
ISn
CUn
PUn
DSn
MIMD
2、库克分类法
1978年由D,J,Kuck提出
( 按控制流和执行流分类
指令流 执行流
( 四种类型
(1) 单指令流单执行流SISE(Single Instruction Single Executionstream)
典型的单处理机
(2) 单指令流多执行流SIME(Single Instruction Multiple Executionstream)
多功能部件处理机、相联处理机、向量处理机、流水线处理机、
超流水线处理机、超标量处理机、SIMD并行处理机
(3) 多指令流单执行流MISE(Multiple Instruction Single Executionstream)
多道程序系统
(4) 多指令流多执行流MIME(Multiple Instruction Multiple Executionstream)
典型的多处理机
( 主要缺点
有些系统,如分布处理机等,没有总控制器
分类级别太低,没有处理机级和机器级
分类太粗,如SIME中包含了多种类型的处理机
3、冯泽云分类法
1972年美籍华人冯泽云提出,
( 用最大并行度来对计算机系统进行分类。
最大并行度:计算机系统在单位时间内能够处理的最大二进制位数
假设同时处理的字宽为n,位宽为m,则最大并行度定义为:
Pm = m ( n
平均并行度:假设每个时钟周期ti内能同时处理的二进位数为Bi,则n个时钟周期内的平均并行度定义为:
表示方法:处理机名(m,n)
( 4种类型
(1) 字串位串WSBS(Word Serial and Bit Serial)
串行计算机; m=1,n=1;例如:EDVAC(1,1)
(2) 字并位串WPBS(Word Parallel and Bit Serial)
传统的单处理机; m=1,n > 1;例如:Pentium(32,1)
(3) 字串位并WSBP(Word Serial and Bit Parallel)
并行计算机、MPP、相联计算机;m > 1,n=1;
例如:MPP(1,16384),STARAN(1,256),DAP
字并位并WPBP(Word Parallel and Bit Parallel)
全并行计算机;m > 1,n > 1;
例如:IILIAC IV(64,64),ASC(64,32),PEPE,Cmmp
( 主要缺点:
仅考虑了数据的并行性,没有考虑指令、任务、作业的并行
4、汉德勒分类法由Wolfgan H(ndler于1977年提出又称为ESC(Erlange Classification Scheme)分类法
( 根据并行度和流水线分类,计算机的硬件结构分成三个层次,并分别考虑它们的可并行性和流水处理程度。
(1) 程序级k:程序控制部件(PCU)的个数;
(2) 操作级d:算术逻辑部件(ALU)或处理部件(PU)的个数;
(3) 逻辑级w:每个算术逻辑部件包含的逻辑线路(ELC)的套数。
( 表示方法:t(系统型号)=(k,d,w)
例如:t(EDVAC)=(1,1,1)
t(Pentium)=(1,1,32)
t(STARAN)=(1,8192,1)
t(ILLIAC Ⅳ)=(1,64,64)
t(Cmmp)=(16,1,16)
( 为了表示流水线,采用t(系统型号)=(k×k’,d×d’,w×w’)
其中:k’ 表示宏流水线中程序控制部件的个数
d’ 表示指令流水线中算术逻辑部件的个数
w’ 表示操作流水线中基本逻辑线路的套数
例如:Cray1有1个CPU,12个相当于ALU或PE的处理部件,最多8级流水线,字长为64位,可以实现1~14位流水线。表示为:
t(Cray1)=(1,12×8,64(1~14))
又例如:t(PEPE)=(1×3,288,32)
t(TI ASC)=(1,4,64×8)
本章重点:
1、计算机系统结构的定义及研究对象
2、计算机系统的层次结构
3、评价计算机系统的常用方法
4、冯 · 诺依曼结构及其发展
5、透明性、系列机、兼容性、模拟与仿真等基本概念
6、了解计算机系统的分类方法
练习题:
1.10 1.11 1.19 1.21 1.23 1.24