计算机系统结构课件.docx

上传人:b****2 文档编号:895443 上传时间:2023-04-30 格式:DOCX 页数:14 大小:81.18KB
下载 相关 举报
计算机系统结构课件.docx_第1页
第1页 / 共14页
计算机系统结构课件.docx_第2页
第2页 / 共14页
计算机系统结构课件.docx_第3页
第3页 / 共14页
计算机系统结构课件.docx_第4页
第4页 / 共14页
计算机系统结构课件.docx_第5页
第5页 / 共14页
计算机系统结构课件.docx_第6页
第6页 / 共14页
计算机系统结构课件.docx_第7页
第7页 / 共14页
计算机系统结构课件.docx_第8页
第8页 / 共14页
计算机系统结构课件.docx_第9页
第9页 / 共14页
计算机系统结构课件.docx_第10页
第10页 / 共14页
计算机系统结构课件.docx_第11页
第11页 / 共14页
计算机系统结构课件.docx_第12页
第12页 / 共14页
计算机系统结构课件.docx_第13页
第13页 / 共14页
计算机系统结构课件.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机系统结构课件.docx

《计算机系统结构课件.docx》由会员分享,可在线阅读,更多相关《计算机系统结构课件.docx(14页珍藏版)》请在冰点文库上搜索。

计算机系统结构课件.docx

计算机系统结构课件

目录

第一章计算机体系结构的相关概念

第二章时间并行技术

第三章指令并行技术

第四章向量处理机

第五章互连网络

第六章阵列处理机

第七章多处理机

第八章机群系统

 

第一章

层次结构使得对于使用某一层的用户只需要根据下一层提供的接口(语言)来了解和使用机器,不必关心其内部的是如何工作的。

有利于正确的理解计算机系统的工作,明确软件、硬件和固件在系统中的地位和作用。

固件(Firmware):

就是写入EROM或EPROM(可编程只读存储器)中的程序,通俗的理解就是“固化的软件”,即固件就是BIOS的软件,但又与普通软件完全不同,它是固化在集成电路内部的程序代码,负责控制和协调集成电路的功能。

透明性概念:

本来存在的事物或属性,从某种角度看似乎不存在的概念称为透明性。

•例如:

CPU类型、型号、主存储器容量等

对应用程序员透明

对系统程序员、硬件设计人员等不透明

•例如:

浮点数表示、乘法指令

对高级语言程序员、应用程序员透明

对汇编语言程序员、机器语言程序员不透明

•例如:

数据总线宽度、微程序

对汇编语言程序员、机器语言程序员透明

对硬件设计人员、计算机维修人员不透明

计算机系统结构定义:

程序员看到的计算机的属性。

即程序员为编写能在机器上运行的程序时必须了解的机器概念性结构和功能性特征。

计算机系统结构的内容:

1、数据表示:

硬件能识别的数据

2、寻址方式:

种类、地址表示、地址计算

3、寄存器组织:

多少寄存器、其作用

4、指令系统:

机器指令的操作类型和格式、指令间的排序和控制机构

5、存储系统:

编址方式

6、中断机构:

中断类型、中断响应硬件的功能等

7、机器工作状态的定义和切换:

如管态和目态等

8、机器级I/O结构:

(I/O连接方式、处理机、存储器与I/O设备间数据传送的方式和格式、I/O操作的状态等

9、信息保护

系统结构和组成原理的关系:

组成原理的概念:

计算机系统结构的逻辑实现,包括物理机器级内的数据流和控制流的组成以及逻辑设计等.

组成原理的目的:

用最好的性能价格比完成系统结构提出的功能

组成原理的标志:

各功能部件的性能参数相互匹配是组成合理的重要标志.

组成原理的主要研究内容:

(1数据通路的宽度;(2确定各种操作对功能部件的共享程度;(3定专用的功能部件;(4确定功能部件的并行度;(5设计缓冲和排队策略;(6设计控制机构;(7确定采用何种可靠性技术。

系统结构,计算机组成,计算机实现三者关系:

1.系统结构是进行软、硬件的功能分配,如何最合理、最佳的实现分配给硬件的功能。

2.计算机组成是其逻辑实现。

为系统结构的实现提供具体方案。

3.计算机实现:

具体实现

4.三者之间相互联系

•例题:

例1:

–指令集的确定属于计算机系统结构

–指令的实现如:

取指令、取操作数、运算等具体操作属于计算机组成

–实现指令功能的具体电路、器件的设计、装配属于计算机实现

例2:

–确定是否有乘法指令属于计算机系统结构

–乘法指令用专门的乘法器实现还是经过加法器用重复的相加和右移操作实现属于计算机组成

–加法器和乘法器的物理实现如器件的选定(器件集成度、类型、数量)以及所用微组装技术等属于计算机实现

例3:

–主存容量与编址方式(按位、按字节、按字访问)的确定属于计算机系统结构

–为达到所定的性价比,主存速度应多快,在逻辑结构上采用什么措施(如多体交叉存储等)属于计算机组成

–主存系统的物理实现如:

存储器器件的选定、逻辑电路的设计、微组装技术的选定属于计算机实现

总结:

–具有相同的计算机系统结构可以采用不同的计算机组成

–一种计算机组成可以采用多种不同的计算机实现

系统结构的分类

1、按照性能和价格的综合指标分:

巨型机、大型机、中型机、小型机、微型机

2、按用途分:

学计算、事务处理、实时控制、家用

3、按处理机个数分:

处理机、多处理机

4、按处理机种类分:

标量处理机、超标量处理机、超流水处理机、向量处理机等

系统结构的分类

•Flynn分类法

根据指令流和数据流的多倍性对计算机系统进行分类:

–单指令流单数据流系统结构(SISD)

–单指令流多数据流(SIMD)

–多指令流单数据流(MISD)

–多指令流多数据流(MIMD)

•指令流:

机器执行的指令序列

•数据流:

指令流调用的数据序列,包括输入的数据和中间结果。

•多倍性:

在系统最受限制的部件上,同时处于同一执行阶段的指令或数据的最大可能个数

单指令流单数据流(SISD):

指令顺序执行,在指令执行阶段可采用流水线结构(指令部件一次只对一条指令译码,只对一个执行部件分配数据)

 

CU控制部件,PU处理部件,MM存储器模块,IS指令流,DS数据流

 

单指令流多数据流(SIMD)

在同一个控制部件(CU)管理下,有多个处理单元(PU),均收到CU的同一条指令,但操作对象却来自不同数据流的数据。

多个PU按一定方式互连,在同一个CU控制下,对各自的数据完成同一条指令规定的操作;从CU看指令顺序执行,从PU看数据并行执行。

例如:

并行处理机、阵列处理机、向量处理机、相联处理机、超标量处理机、超流水线处理机

单指令流多数据流(SIMD):

 

多指令流单数据流(MISD):

条指令对同一个数据进行不同的处理,实际上不存在。

 

多指令流多数据流(MIMD):

处理机系统。

 

多指令流多数据流(MIMD)系统分为:

紧密偶合系统:

每个处理机之间存在相互作用,所有数据流来源全体处理机共享的一个数据空间。

如:

IBM3081、IBM3084、UNIVAC-1100/80

松散偶合系统:

n个数据流来源于共享存储器的不相邻子空间,可视为多SISD(MSISD)操作。

如:

D-825,Cmmp,CRAY-2

Flynn分类主要缺点:

1、分类太粗,在SIMD中包括有多种处理机,对流水线处理机的划分不明确,

标量流水线为SISD,向量流水线为SIMD

2、根本问题是把两个不同等级的功能并列对待,数据流受指令流控制,造成MISD不存在

3、不能对非冯计算机分类

•冯泽云分类法由1972年美籍华人冯泽云提出。

用最大并行度对计算机系统进行分类。

 

冯氏分类法—直角坐标表示

横坐标:

一个字中同时处理的二进制位数

纵坐标:

一个位片中同时处理的字数

 

•冯氏分类法将计算机系统分为四类:

1、字串位串

串行计算机;m=1,n=1;如:

EDVAC(1,1)

2、字并位串

传统单处理机;m=1,n>1;如:

Pentium(32,1)

3、字串位并

并行计算机、MPP、相联计算机;m>1,n=1;如:

MPP(1,16384),STARAN(1,256),DAP

4、字并位并

全并行计算机;m>1,n>1;如:

ASC(64,32),

IILIACIV(64,64),PEPE(32,288),Cmmp(16,16)

主要缺点:

仅考虑数据并行,没有考虑指令,任务,作业的并行。

冯、诺伊曼型计算机

(一)特点:

1、机器以运算器为中心

2、采用存储程序的思想,指令和数据同等对待

3、存储器按地址访问

4、指令计数器指明要执行的指令在存储器中的地址

5、指令由操作码、操作数地址码组成

6、数据以二进制编码,采用二进制运算

7、软件和硬件完全分开

(二)存在的问题及发展:

1、以运算器为中心,使得低速的输入和高速的运算不得不相互等待、串行进行(改进了I/O系统的结构和访问方式)

2、存储程序的思想,难以最大限度的提高并行处理能力(数据流计算机)

3、指令和数据混存于存储器,指令可以被修改,难以实现流水线(不允许修改代码,指令和数据独立编址)

4、存储器按地址访问,组成一维的线性空间,很难实现数、图等结构

5、为了提高并行性,将CPU的顺序执行改为先行控制、重叠、流水线的方式。

6、由操作码表示数据类型和寻址方式,导致每增加一种类型会使指令以“乘N”的速度增长,使指令系统日益庞大(RISC)

7、软、硬分开无法再合理的进行软硬功能分配,当求解问题变化时,会导致性能下降。

(根据问题特性设计相应的系统结构:

标量处理机和向量处理机)

软件对体系结构的影响

1、系列机方法:

系列机的概念:

在一个厂家内生产的具有相同的体系结构,但具有不同组成和实现的一系列不同型号的机器。

例如:

IBM370系列机就有115,125,135,145,158,168等。

优点:

使用共同系统软件解决程序兼容问题、在同一数据结构和指令系统基础上,便于组成多机系统和网络,便于计算机应用领域为用户提供多种选择的可能。

有利于计算机的使用、维护和人员培训。

系列机的兼容:

向上(下)兼容:

按某档机器编写的程序,不加修改就能运行于比他高(低)档的机器。

向前(后)兼容:

按某时期投入到市场的某种型号机器编写的程序,不加修改就能运行于在它之前(后)投入市场的机器。

兼容机:

不同厂家生产的具有相同体系结构的计算机。

兼容机设计思想与系列机设计思想一致。

兼容机可以对原有的体系结构进行某种扩充。

2、模拟和仿真方法

为了解决软件在不同系统结构的机器之间的移植,必须要做到在一种机器的系统上实现另一种机器的系统结构。

即在一种机器上实现另一种机器的指令系统。

模拟的概念:

在A机机器语言级上,用虚拟机的概念实现B机指令系统;即B机的每一条指令由A机的机器语言程序去解释执行如同A机器上也有B机器的指令系统一样,从实现B机的程序能在A机上运行。

A机称为宿主机,被模拟的B机器称为虚拟机。

仿真的概念:

直接使用A机的微程序解释B机的机器指令

仿真和模拟的联系:

(1)主要是解释语言的不同。

(2)模拟除了模拟虚拟机的机器语言外,还得模拟其存储系统、I/O系统、控制台,以及形成虚拟机的操作系统,非常复杂和费时。

(3)仿真可以提高速度,但是由于微程序依赖机器的系统结构,当二者差别比较大时很难实现仿真

加速比

加速比=采用改进措施后的性能/没有采用改进措施前的性能

=没有采用改进措施前的执行某任务的时间/采用改进措施后执行某任务的时间

影响加速比的因素

1、计算机执行某个任务的总时间中可被改进部分的时间所占的百分比,即(可改进部分占用时间)/(改进前整个任务的执行时间)。

记为Fe。

2、改进部分采用改进措施后比没有采用改进措施前性能提高的倍数,即(改进前改进部分的执行时间)/(改进后改进部分的执行时间),记为Se。

加速比计算:

改进后整个任务的执行时间:

Tn=T0(1-Fe)+T0*Fe/Se(公式1)

Tn=T0(1-Fe+Fe/Se)(公式2)

改进后整个系统的加速比:

Sn=Tn/T0=1/((1-Fe)+Fe/Se)(公式3)

例题:

1、设有一指令AddX,C。

假设访问存储器是4个周期,执行加法运算是2个周期。

如今有两个方案对计算机系统进行改进:

方案1、提高累加器的速度,使加法运算执行时间为1个时钟周期。

求指令执行时间。

方案2、提高存储器速度,使访问存储器的时间为2个周期。

比较两种方案的对该指令执行时间。

解:

执行指令需四步:

取X,取C,执行加法,保存X的值。

改进前指令执行时间:

4+4+4+2=14

方案1、4+4+4+1=14*(12/14)+14*(2/14)/2=13

方案2、2+2+2+2=14*(12/14)/2+14*(2/14)=8

2、假定将某一执行部件改进后速度提高10倍,改进后被改进部件执行时间占系统总运行时间的50%,问改进后加速比是多少?

该部件在改进前占系统运行时间的百分比是多少?

解:

Tn=[(1-Fe)+Fe/10]*T0

(1)(Se=10)

根据题意:

50%*Tn=Fe*T0/10

(2)

(1)、

(2)得

50%*Tn=(1-Fe)*T0(3)

Fe=(10*Tn)/(2*T0)(4)

由(3)、(4)得:

Sp=T0/Tn=5.5

Sp=1/(1-Fe+Fe/10)=5.5

Fe=91%

3、采用某种技术求浮点数平方根FPSQR的操作对系统的性能影响较大。

(假设FPSQR操作占整个测试程序执行时间的20%)。

一种实现方式采用FPSQR硬件,使FPSQR操作的速度加快到10倍。

另一种实现是使所有浮点数据指令的速度加快,使FP指令的速度加快到2倍(假设FP指令占整个执行时间的50%),请比较这两种方案。

解:

方案1:

Sfpsqr=1/((1-0.2)+0.2/10)=1.22

方案2:

Sfp=1/((1-0.5)+0.5/2)=1.33

所以方案2好一些。

CPU性能公式

1、CPU时间:

CPU执行某个程序所花费的时间。

CPU时间=CPU时钟周期数*时钟周期=CPU时钟周期数/时钟频率

假设程序使用的指令条数用IC表示,则每条指令的平均时钟周期数CPI

CPI=CPU时钟周期数/IC

CPU时间=(IC*CPI)/时钟频率

2、决定CPU性能的因素:

(1)时钟频率:

决定于硬件技术和组织

(2)机器指令的平均时钟周期数:

决定于系统结构和指令集的设计和实现

(3)程序使用的指令条数IC。

决定于系统结构的指令集和编译技术

3、CPU时间公式:

在一个程序中,一条指令会在程序中多次使用,若指令i在程序中执行的次数为Ii,指令i所需的时钟周期数为CPIi。

则:

CPU时间周期数=∑(CPIi*Ii)

(i=1----n,n为使用的指令种类数)

CPU时间=∑(CPIi*Ii)*时钟周期

每条指令的平均时钟周期数

CPI=∑(CPIi*Ii)/IC=∑(CPIi*Ii/IC)

(Ii/IC指令I在程序中占的比例)

例题

例1:

有一个程序,如果FP操作的比例为25%,其中FPSQR占全部指令的比例为2%,FP操作的平均CPI为4,FPSQR操作的CPI为20,其他指令的平均CPI为1.33。

现有两种方案,第一种为把FPSQR操作的CPI减至2,另一种是把所有的FP操作的CPI减至2,试比较两种方案

解:

在没有改进之前:

CPI=∑(CPIi*Ii/IC)=4*25%+1.33*75%=2

方案A:

CPIA=CPI-(CPIfpsqr-CPIfpsqr’)*2%

=2-(20-2)*2%=1.64

方案B:

CPIB=CPI-(CPIfp-CPIfp’)*25%

=2-(4-2)*25%=1.5

例2:

有两台机器,他们对条件转移指令的处理采用各不相同的设计方案:

1、CPUA采用一条比较指令设置相应的条件码,由紧随后的一条转移指令对此条件进行测试,以确定是否进行转移,因此实现一次条件转移要执行比较和测试两条指令。

2、CPUB采用比较和测试两种功能在一条指令的方法,这样实现条件转移只需一条指令。

假设执行条件转移指令需2个时钟周期,其他指令只需一个时钟周期,又假设CPUA中,条件转移指令占20%,比较指令也占20%。

由于CPUB在转移指令中包含了比较功能,其时钟周期比CPUA要慢25%。

问谁的工作速度更快。

解:

设CPUA的时钟周期为tA,CPUB的时钟周期为tB

CPIA=0.2*2+0.8*1=1.2

TCPUA=INA*1.2*TA

由于B中没有比较指令,转移指令由原来占20%变为20%÷80%=25%

CPIB=0.25*2+0.75*1=1.25

由于没有比较指令,因此INB=0.8*INA,又TB=1.25TA

TCPUB=INB*1.25*TB

=0.8*INA*1.25*1.25*TA

=1.25*INA*TA

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2