77范文网 - 专业文章范例文档资料分享平台

自考:计算机系统结构考前复习资料

来源:网络收集 时间:2018-10-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(2)如何最大限度开发系统的并行性,以实现多处理要各级的全面并行。

(3)如何选择任务和子任务的大小,即任务的粒度,使并行度高,辅助开销小。 (4)如何协调好多处理机中各并行执行任务和进程间的同步问题。

(5)如何将任务分配到多处理机上,解决好处理机调度、任务调度、任务调度和资源分配,防止死锁。

(6)一旦某个处理发生故障,如何对系统进行重新组织,而不使其瘫痪。

(7)多处理机机数增多后,如何能给编程者提供良好的编程环境,减轻程序的复杂性。

3.分别画出4*9的一级交叉开关以及用两级2×3的交叉开关组成的4×9的Delta网络,比较一下交叉开关设备量的多少? 解答:

4*9的一级交叉开关如下图所示:

两级2×3的交叉开关组成的4×9的Delta网络如下图所示:

46 / 56

2^2*3^3有Delta网络由5个2*3的交叉开关组成,其交叉开关的结点数由一级网络的36个减少到现在Delta网络中的2*3*5=30个。 剖析:

第一级有2个2*3的交叉开关,第2级有3个2*3的交叉开关,级间采用混洗拓扑。

4.说明4*4交叉开关组成的两级16*16交叉开关网络虽节省了设备,但它是一个阻塞式网络。 答:

16*16交叉开关网络需要256个开关结点,每个结点中选1的多路裁决和选择电路。采用4×4的交叉开关构成的二级交叉开关网络,共需要16×8=128个开关结点,每个结点只需要4中选1的多路裁决和选择电路,节省了设备。但它是一个阻塞式网络。因为第1级每4个输入端中只能有一个连到第2级的一个输入端,而第2级的这个输入端本可以对应4个输出端的某一个。这就意味着,当第1级4个输入端中的某一个连到了最终的某个输出端时,第1级同组内其它3个输入端由于有路径冲突,就不能同时将信息传送到第2级输出相应的另外3个输出端上,而采用16×16的一级交叉开关就不存在这种问题。

5.由霍纳法则给定的表达式如下:E=a(b+c(d+e(f+gh))) 利用减少树高的办法来加速运算,要求

(1)画出树形流程图;

(2)确定Tp、P、Sp、Ep诸值。 解答:

(1)对于原式,单处理机串行运算树形流程图如左下图所示,多处理机并行运算树形流程图如右下图所示。

47 / 56

(2)P台处理机运算的级数Tp=4。 所需处理机数目P=3。

加速比Sp=顺序运算的级数T1/P台处理机运算的级数Tp=7/4。 效率Ep=加速比Sp/所需处理机数目P=7/12。

6、求A1、A2 ... ... A8的累加和,有如下程序: S1 A1=A1+A2 S2 A3=A3+A4 S3 A5=A5+A6 S4 A7=A7+A8 S5 A1=A1+A3 S6 A5=A5+A7 S7 A1=A1+A5

(1)写出用FORK、JOIN语句表示其并行任务的派生和汇合关系的程序,以假想使此程序能在多处理机上运行。

(2)画出该程序在有3台处理机制系统上运行的时间关系示意图。 (3)画出该程序在有2台处理机制系统上运行的时间关系示意图。 解答:

(1)用FORK、JOIN语句表示其并行任务的派生和汇合关系的程序如下。 FORK 20 FORK 30 FORK 40 10 A1=A1+A2 JOIN 4 GOTO 80 20 A3=A3+A4 JOIN 4 GOTO 80

48 / 56

30 A5=A5+A6 JOIN 4 GOTO 80 40 A7=A7+A8 JOIN 4 80 FORK 60 50 A1=A1+A3 JOIN 2 GOTO 70 60 A5=A5+A7 JOIN 2 70 A1=A1+A5

(2)在有3台处理机制多处理机系统上运行的资源时间图如下图所示。假设标号为50和60的两个并发进程中,标号为60的进程最后完成。

(3)在有2台处理机制多处理机系统上运行的资源时间图如下图所示。假设标号为50和60的两个并发进程中,标号为50的进程最后完成。

49 / 56

剖析: GOTO 70语句的问题关键是70语句是在50语句还是60语句所在CPU上执行的。也就是说50语句和60语句谁先执行完。

7、若有如下程序: V=U/B W=A*U X=W-V Y=W*U Z=X/Y

试用FORK、JOIN语句改写成可在多处理机上并行执行的程序。假设现有两台处理机,且除法速度最慢,加、减法速度最快,请画出该程序运行时的资源时间图。 解答:

用FORK、JOIN语句改写成可在多处理机上并行执行的程序如下: S1 U=A+B FORK S3 S2 V=U/B JOIN 2 GOTO S4' S3 W=A*U JOIN 2 S4' FORK S5 S4 X=W-V JOIN 2 GOTO S6 S5 Y=W*U JOIN 2 S6 Z=X/Y

50 / 56

第一章 计算机系统结构的基本概念

从处理数据的角度看,并行级别有位串字串,位并字串,位片串字并,全并行。位串字串和位并字串基本上构成了SIMD。位片串字并的例子有:相联处理机STARAN,MPP。全并行的例子有:阵列处理机ILLIAC IV。 从加工信息的角度看,并行级别有存储器操作并行,处理器操作步骤并行,处理器操作并行,指令、任务、作业并行。

存储器操作并行是指可以在一个存储周期内并行读出多个CPU字的,采用单体多字、多体单字或多体多字的交叉访问主存系统,进而采用按内容访问方式,位片串字并或全并行方式,在一个主存周期内实现对存储器中大量字的高速并行操作。例子有并行存储器系统,以相联存储器为核心构成的相联处理机。

处理器操作步骤并行是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。例子有流水线处理机。 处理器操作并行是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。擅长对向量、数组进行处理。例子有阵列处理机。

指令、任务、作业并行是指多个独立的处理机分别执行各自的指令、任务、作业。例子有多处理机,计算机网络,分布处理系统。

并行性的开发途径有时间重叠(Time Interleaving),资源重复(Resource Replication),资源共享(Resource Sharing)。 时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。例子有流水线处理机。

资源重复是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。例子有阵列处理机,相联处理机。

资源共享是指用软件方法让多个用户按一定时间顺序轮流使用同一套资源以提高资源的利用率,从而提高系统性能。例子有多处理机,计算机网络,分布处理系统。

SISD:一个指令部件控制一个操作部件,实现一条指令对一个数据的操作。例子有传统的单处理机 SIMD:一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。例子有阵列处理机,相联处理机。 MIMD:多个独立的处理机分别执行各自的指令、任务、作业,实现指令、任务、作业并行的多机系统,是多个SISD的集合,也称多倍SISD系统(MSISD)。例子有多处理机,计算机网络,分布处理系统。 exercises:

1.有一台经解释实现的计算机,可以按功能划分成4级,每一级为了执行一条指令,需要下一级的N条指令来解释。如果执行第1级的一条指令要Kns时间,那么执行第2、第3和第4级的一条指令各需要用多少时间?

解答: 执行第2、第3和第4级的一条指令各需要KNns、KN^2ns、KN^3ns的时间。

1.有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。现若需第i级的N条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?

答: 第2级上等效程序需运行:(N/M)*Ks。第3级上等效程序需运行:(N/M)*(N/M)*Ks。第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。

note: 由题意可知:第i级的一条指令能完成第i-1级的M条指令的计算量。而现在第i级有N条指令解释第i+1级的一条指令,那么,我们就可以用N/M来表示N/M 表示第i+1级

1 / 56

需(N/M)条指令来完成第i级的计算量。所以,当有一段第1级的程序需要运行Ks时,在第2级就需要(N/M)Ks,以此类推

2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。

答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。但是实现的性能价格比,实现的难易程序不同。

在DOS操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。

3.试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。 答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。

(1)计算机的系统结构相同,但可采用不同的组成。如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。

(2)相同的组成可有多种不同的实现。如主存器件可用双极型的,也可用MOS型的;可用VLSI单片,也可用多片小规模集成电路组搭。

(3)计算机的系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。如为实现A:=B+CD:=E*F,可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的系统结构。要提高运行速度,可让相加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。但对面向寄存器的系统结构还要求寄存器能同时被访问,而对面向主存的三地址寻址方式的系统结构并无此要求,倒是要求能同时形成多个访存操作数地址和能同时访存。又如微程序控制是组成影响结构的典型。通过改变控制存储器中的微程序,就可改变系统的机器指令,改变结构。如果没有组成技术的进步,结构的进展是不可能的。

综上所述,系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持,同时要考虑可能采用和准备采用的组成技术。应避免过多地或不合理地限制各种组成、实现技术的采用和发展,尽量做到既能方便地在低档机上用简单便宜的组成实现,又能在高档机上用复杂较贵的组成实现,这样,结构才有生命力;组成设计上面决定于结构,下面受限于实现技术。然而,它可与实现折衷权衡。例如,为达到速度要求,可用简单的组成但却是复杂的实现技术,也可用复杂的组成但却是一般速度的实现技术。前者要求高性能的器件,后者可能造成组成设计复杂化和更多地采用专用芯片。

组成和实现的权衡取决于性能价格比等因素;结构、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有差异。软件的硬化和硬件的软件都反映了这一事实。VLSI的发展更使结构组成和实现融为一体,难以分开。

4.什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的?

存储器的模m交叉存取;浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存储器最小编址单位;Cache存储器。

答:透明指的是客观存在的事物或属性从某个角度看不到。

透明的有:存储器的模m交叉存取;数据总线宽度;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构串行、重叠还是流水控制方式;Cache存储器。

2 / 56

不透明的有:浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;字符行运算指令;访问方式保护;程序性中断;;堆栈指令;存储器最小编址单位。 5.从机器(汇编)语言程序员看,以下哪些是透明的?

指令地址寄存器;指令缓冲器;时标发生器;条件寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。

答:透明的有:指令缓冲器、时标发生器、乘法器、先进先出链、移位器、主存地址寄存器。 6.下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?

系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。

答:对系统程序员透明的有:系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器; 对应用程序员透明的有:系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器;虚拟存储器;程序状态字;“启动I/O”指令。

note:系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器属于计算机组成,对系统和程序员和应用程序员都是透明的。

虚拟存贮器、程序状态字、“启动I/O”指令,对系统程序员是不透明的,而对应用程序员却是透明的。 “执行”指令则对系统程序员和应用程序员都是不透明的。

7.想在系列机中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则不行的?为什么?

新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。

(2)为增强中断处理功能,将中断分级由原来的4级增加到5级,并重新调整中断响应的优先次序。 (3)在CPU和主存之间增设Cache存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。 (4)为解决计算误差较大,将机器中浮点数的下溢处理方法由原来的恒置“1”法,改为用ROM存取下溢处理结果的查表舍入法。

(5)为增加寻址灵活性和减少平均指令字长,将原等长操作码指令改为有3类不同码长的扩展操作码;将源操作数寻址方式由操作码指明改成如VAX-11那种设寻址方式位字段指明。 (6)将CPU与主存间的数据通路宽度由16位扩展成32位,以加快主机内部信息的传送。 (7)为减少公用总路线的使用冲突,将单总线改为双总线。 (8)把原0号通用寄存器改作堆栈指示器。

答:可以考虑的有:1,3,4,6,7。不可以考虑的有:2,5,8。 原则是看改进后能否保持软件的可移植性。

P.S.为了能使软件长期稳定,就要在相当长的时期里保证系统结构基本不变,因此在确定系列结构时要非常慎重。其中最主要是确定好系列机的指令系统、数据表示及概念性结构。既要考虑满足应用的各种需要和发展,又要考虑能方便地采用从低速到高速的各种组成的实现技术,即使用复杂、昂贵的组成实现时,也还能充分发挥该实现方法所带来的好处。

8.并行处理计算机除分布处理、MPP和机群系统外,有哪4种基本结构?列举它们各自要解决的主要问题。

答:除了分布处理,MPP和机群系统外,并行处理计算机按其基本结构特征可分为流水线计算机,阵列处理机,多处理机和数据流计算机四种不同的结构。 流水线计算机主要通过时间重叠,让多个部件在时间上交划重叠地并行招待运算和处理,以实现时间上的并行。它主要应解决:拥塞控制,冲突防止,流水线调度等问题。

阵列处理机主要通过资源重复实现空间上的并行。它主要应解决:处理单元灵活、规律的互

3 / 56

连模式和互连网络设计,数据在存储器中的分布算法等问题。 多处理机主要通过资源共享,让一组计算机在统一的操作系统全盘控制下,实现软件和硬件各级上的相互作用,达到时间和空间上的异 步并行。它主要应解决:处理机间互连等硬件结构,进程间的同上步和通讯,多处理机调度等问题。

数据流计算机设有共享变量的概念,指令执行顺序只受指令中数据的相关性制约。数据是以表示某一操作数或参数已准备就绪的数据令牌直接在指令之间传递。它主要应解决:研究合适的硬件组织和结构,高效执行的数据流语言等问题。 9.计算机系统的3T性能目标是什么?

答:计算机系统的3T性能目标是 1TFLOPS计算能力,1TBYTE主存容量 和 1TBYTES的I/O带宽

第二章 数据表示与指令系统

1.尾数的rm进制数位m'和尾数的二进制数位m的关系

存在m'=m/log2(rm)这种关系是因为,在机器中,一个rm进制的数位是用log2(rm)个机器数位来表示的。

假设rm=8,尾数为20,则m'=2,八进制数20转换成二进制数为10000,其二进制数位,即机器数位m=5。2=5/log2(8)。

note:这里的等号并不表示纯粹数学意义上的“等于”。 2.可表示的尾数个数公式 rm^m'(rm-1)/rm。

对于rm进制的数来说,每个数位均可以有0到rm-1,即rm个码。 m'个rm进制数位共有rm^m'种编码。但课本中讨论的是规格化数,即尾数的小数点后第一个数位不为零的数,所以,应该去掉小数点后第一个数位是0的那些非规格化的数。显然,非规格化数的个数占了全部尾数编码总数的1/rm的比例,所以可表示的浮点数规格化的尾数个数应该是:rm^m'(1-1/rm)。 exercises:

1.某模型时机共有7种指令,各指令使用频率分别为0.35,0.25,0.20,0.10,0.05,0.03,0.02,有8个通用数据寄存器和2个变址寄存器。

(1) 要求操作码的平均长最短,请设计操作码的编码,并计算所设计操作码的平均长。(4分) (2) 设计8位长度的寄存器-寄存器型指令3种,16位长度的寄存器-存储器变址寻址方式指令4条,变址范围不小于正、负127。请写出指令格式,并给出各字段的长度和操作码编码。(6分)

解答: (1)全Huffman编码的平均码长是可用的二进制位编码中平均码长最短的编码。 全Huffman编码的平均码长

=2*(0.35+0.25+0.20)+3*0.10+4*0.05+5*(0.02+0.03)=2.35

(2) 由于有8个通用数据寄存器和2个变址寄存器,所以通用寄存器用3位表示,变址寄存器用1位表示,8位的寄存器-寄存器型指令,3个操作码编码为00、01、10,16位的寄存器-存储器变址寻址方式指令, 4个操作码编码为1100、1101、1110、1111, 2位 3位 3位 OP R1 R2

操作码 寄存器1 寄存器2

4位 3位 1位 8位 OP R1 X d

操作码 寄存器1 变址寄存器 相对位移 主存逻辑地址

4 / 56

1.数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么? 答:数据表示是能由硬件直接识别和引用的数据类型。数据结构反映各种数据元素或信息单元之间的结构关系。

数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据结构是软件、硬件的交界面。

除基本数据表示不可少外,高级数据表示的引入遵循以下原则: (1)看系统的效率有否提高,是否养活了实现时间和存储空间。 (2)看引入这种数据表示后,其通用性和利用率是否高。

2.标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?

答:标志符数据表示与描述符数据表示的差别是标志符与每个数据相连,合存于同一存储单元,描述单个数据的类型特性;描述符是与数据分开存放,用于描述向量、数组等成块数据的特征。 描述符数据表示为向量、数组的的实现提供了支持,有利于简化高级语言程序编译中的代码生成,可以比变址法更快地形成数据元素的地址。但描述符数据表示并不支持向量、数组数据结构的高效实现。而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。

3.堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?

答:通用寄存器型机器对堆栈数据结构实现的支持是较差的。表现在:(1)堆栈操作的指令少,功能单一;(2)堆栈在存储器内,访问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。

而堆栈型机器则不同,表现在:(1)有高速寄存器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是寄存器的,容量是主存的;(2)丰富的堆栈指令可对堆栈中的数据进行各种运算和处理;(3)有力地支持高级语言的编译;(4)有力地支持子程序的嵌套和递归调用。

堆栈型机器系统结构有力地支持子程序的嵌套和递归调用。在程序调用时将返回地址、条件码、关键寄存器的内容等全部压入堆栈,待子程序返回时,再从堆栈中弹出。

4.设某机阶值6位、尾数48位,阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。

解: 依题意知:p=6 m=48 rm=2, 8, 16,m'=m/log2(rm),列下表:

p=6,m=48,rm=2(m'=48) p=6,m=48,rm=8(m'=16) p=6,m=48,rm=16(m'=12) 0 2^6-1 1/2 0 2^6-1 1/8 5 / 56

0 2^6-1 1/16 最小阶(非负阶,最小为0) 最大阶(2^p-1) 最小尾数值

(7、D),(6、C),(E、4),(A、0),(9、3),(5、F)。试选择所用互连网络类型、控制方式,并画出该互连网络的拓补结构和各级交换开关状态图。 解答:

采用4级立方体网络,级控制。该互连网络的拓补结构和各级交换开关状态图如下图所示:

剖析:

从处理器号的配对传送关系可以转成处理器二进制编号的配对传送关系: (B,1) (1011,0001) (8,2) (1000,0010) (7,D) (0111,1101) (6,C) (0110,1100)

41 / 56

(E,4) (1110,0100) (A,0) (1010,0000) (9,3) (1001,0011) (5,F) (0101,1111)

不难得出其一般规律是:二进制编号为P3P2P1P0的处理器与( ̄P3)P2( ̄P1)P0的处理器配对交换数据。由于实现的都是交换函数的功能,采用成本最低的级控制多级立方体互联网络就可以实现。

N=16的多级立方体网络,由n=log2(16)=4组成。每一级均使用N/2=8个二功能交换开关。多级网络各级的级号由入端到出端依次为0、1、2、3.第i级的每个交换单元的配对用的是Cubei(P3...Pi...P0)=P3...( ̄Pi)...P0函数。根据本题的要求,应当让第1、3级的各交换单元处于“交换”状态,第0、2级的各交换单元处于“直连”状态。

4.画出编号为0、1、...、F共16个处理器之间实现多级立方体互连的互连网络,采用级控制信号为1100(从右至左分别控制第0级至第3级)时,9号处理器连向哪个处理器? 解答:

多级立方体互连网络的图和第3题的图基本一致,不同之处在于,第0、1级的开关状态为直连,第2、3级的开关状态为交换。

9号处理器在经过0级和1级交换开关后,连向哪第10个处理器;在经过2级交换开关后,连向第4个处理器;在经过3级交换开关后,连向第9个处理器。

5.对于采用级控制的三级立方体网络,当第i级(0<=i<=2)为直连状态时,不能实现哪些结点之间的通信?为什么?反之,当第i级为交换状态呢? 解答:

当第i级为直连状态时,不能实现入、出两端的处理器二进制编码的编号中,第Pi位取反的处理器之间的连接。例如,第0级为直连状态时,入端号为××0的处理器仅能与出端号为××0的处理器进行数据传送,不能与出端号为××1的处理器进行数据传送。因为交换开关的直连状态被定义为i入连i出,j入连j出,所以,反映出实现互连的入、出端号的二进制码中的Pi位是不能变反的,其它的各位可以不变,也可以变反。

当第i级为交换状态时,不能实现入、出两端的处理器二进制编码的编号中,第Pi位相同的处理器之间的连接。例如,第0级为交换状态时,入端号为××0的处理器仅能与出端号为××1的处理器进行数据传送,不能与出端号为××0的处理器进行数据传送。因为交换开关的直连状态被定义为i入连j出,j入连i出,所以,反映出实现互连的入、出端号的二进制码中的Pi位必须变反,其它的各位可以不变,也可以变反。

6.假定8*8矩阵A=(aij),顺序存放在存储器的64个单元中,用什么机关报单级互连网络可实现对该矩阵的转置变换?总共需要传送多少步? 解答:

采用单级混洗互连网络可实现对8*8矩阵的转置变换,共需传送3步。 剖析:

8*8矩阵中任一元素aij,它在存储器中所占的位置是i*8+j(即i*2^3+j)。每个元素的行坐标和列坐标均用3位表示,设b5b4b3为行下标的二进制编号,b2b1b0为列下标的二进制编号,经过3次全混洗后,元素下标号b5b4b3b2b1b0就变成了b2b1b0b5b4b3,即行下标的

42 / 56

二进制编号改成了b2b1b0,列下标的二进制编号改成了b5b4b3,这样,就实现了矩阵的行列转置。

7.画出0~7号共8个处理器的三级混洗交换网络,在该图上实现将6号处理器数据播送给0~4号,同时将3号处理器数据播送给其余3个处理器时的各有关交换开关的控制状态。 解答:

8个处理器的三级混洗交换网络及其交换开关控制状态设置如下图所示:

8.并行处理机有16个处理器要实现相当于先4组4元交换,然后是2组8元交换,再次是1组16元交换的交换函数功能,请写出此时各处理器之间所实现的互连函数的一般式,画出相应多级网络的拓扑结构图,标出各组交换形状的状态。 解答:

互连函数的一般式为:Cubei(P3P2P1P0)=( ̄P3P2 ̄P1 ̄P0)。

多级立方体互连网络的拓扑结构图和第3题的图基本一致,不同之处在于,第0、1、3级的开关状态为直连,第2级的开关状态为交换。

9.具有N=2^n个输入端的Omega网络,采用单元控制。 (1)N个输入总共可有多少种不同的排列;

(2)该Omega网络通过一次可以实现的置换可有多少种是不同的; (3)若N=8,计算出一次通过能实现的置换数占全部排列数的百分比。 解答:

(1)N个输入总共可有N!种不同的排列。

(2)该Omega网络通过一次可以实现的置换可有2^((N/2)log2(N))=N^(N/2)种是不同

43 / 56

的。

(3)若N=8,通过Omega网络一次可以实现的不重复置换有8^4=4096种;8个输入总共可实现的不重复排列有8!=40320种。所以,一次通过能实现的置换数占全部排列数的百分比为4096/40320*100%≈10.16%

10.画出N=8的立方体全排列多级网络,标出采用单元控制,实现

0→3,1→7,2→4,3→0,4→2,5→6,6→1,7→5的同时传送时的各交换开关的状态;说明为什么不会发生阻塞。 解答:

实现N=8的立方体全排列多级网络及交换形状状态如下图所示

在一到的映射时,交换开关的状态组合有许多冗余,所以不会发生阻塞。

11.在16台PE的并行处理机上,要对存放在M个分体并行存储器中的16*16二维数组实现行、列、主对角线、次对角线上各元素均无冲突访问,要求M至少为多少?此时数组在存储器中应如何存放?写出其一般规则。同时,证明这样存放同时也可以无冲突访问该二维数组中任意4*4子阵的各元素。 解答:

M至少为17。

数组A中的任意一个元素Aab的存放规则:体号地址j=(4a+b)mod17,体内地址i=a, 按照对应关系将各数组元素存放到m=17的并行存储器中,如下图。由图可见,这样存放同时也可以无冲突访问该二维数组中任意4*4子阵的各元素。

16*16二维数组在并行存储器中存放的例子(m=17,n=16) 体内地址i 0 存储体号j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a00 a01 a02 a03 a04 a05 a06 a07 a08 a09 a010 a011 a012 a013 a014 a015 44 / 56

1 2 3 4 5 ... a113 a114 a115 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a110 a111 a112 a29 a210 a211 a212 a213 a214 a215 a20 a21 a22 a23 a24 a25 a26 a27 a28 a35 a36 a37 a38 a39 a310 a311 a312 a313 a314 a315 a30 a31 a32 a33 a34 a41 a42 a43 a44 a45 a46 a47 a48 a49 a410 a411 a412 a413 a414 a415 a40 a514 a515 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a510 a511 a512 a513 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 剖析:

设16*16的二维数组在并行存储器中同一列两个相邻元素地址错开的距离为δ1,同一行两个相邻元素地址错开的距离为δ2,当m取成2^2P+1时,实现无冲突访问的充分条件是δ1=2^P,δ2=1。

对于这道题来说,M=17=2^(2*2)+1,所以P=2。δ1=2^P=4,δ2=1。 数组存放的规则:体号地址j=(a*δ1+b*δ2+c)mod m(c为A00所在体号地址),i=a。第七章 多处理机 第七章 多处理机

1.多处理机在结构、程序并行性、算法、进程同步、资源分配和调试上与并行处理机有什么差别? 答:

多处理机与并行处理机的主要差别是并行性的等级不同。 (1)结构灵活性。多处理机制结构灵活性高于并行处理机。

(2)程序并行性。并行处理机是操作级并行,并行性仅存在于指令内部,识别比较容易,由程序员掌握程序并行性的开发;多处理是指令、任务、作业并行,并行性主要存在于指令外部,另外还存在于指令内部,识别比较困难,必须利用多种途径开发程序的并行性。

(3)并行任务派生。并行处理机工作能否并行工作由指令决定,多处理机必须有专门指令指明程序能否并行执行,派生的任务数是动态变化的。

(4)进程同步。并行处理机的进程同步是自然的,而多处理机必须采取同步措施。 (5)资源分配和任务调度。多处理机的资源分配和任务调度比并行处理机复杂得多。

2.多处理机有哪些基本特点?发展这种系统的主要目的可能有哪些?多处理着重解决哪些技术问题? 答:

○多处理机的基本特点:

多处理机具有两台以上的处理机,在操作系统控制下通过共享的主存或输入/输出子系统或高速通讯网络进行通讯.结构上多个处理机用多个指令部件分别控制,通过机间互连网络通讯;算法上不只限于处理向量数组,还要实现更多通用算法中的并行;系统管理上要更多地依靠软件手段,有效解决资源分配和管理,特别是任务分配,处理机调度,进程的同步和通讯等问题. ○使用多处理机的目的:

一是用多台处理进行多任务处理协同求解一个大而复杂的问题来提高速度,二是依靠冗余的处理机及其重组来提高系统的可靠性,适应性和可用性. ○多处理着重要解决的技术问题:

(1)硬件结构上,如何解决好处理机、存储器模块及I/O子系统间的互连。

45 / 56

若子过程3不能再细分,只能用并联方法改进,则则时空图如图0509所示: 图0509

这种情况下,流水线效率η=(24△t+12△t)/6*18△t=1/3 剖析:

因为是双功能静态流水线,为了能有高的吞吐率,应减少流水线的功能切换次数。因此,应将算法调整成先作一连串的乘,然后再切换成一连串的加。原式展开成

A*B+A*C*D+A*C*E*F+G*H,先进行乘法流水,为了减少因先写后读相关而等待的时间,应尽量安排对计算式子项数最多的乘法先进行操作,即先计算A*C*E*F,再计算A*C*D,...

7.现有长度为8的向量A和B,请分别画出下列4种结构的处理器上求点积A*B的时空图,并求完成全部结果的最少时钟拍数。设处理器中每个部件的输出均可直接送到任何部件的输入或存入缓冲器中去,其间的传送延时不计,指令和源操作数均能连续提供。

(1)处理器有一个乘法部件和一个加法部件,不能同时工作,部件内也只能以顺序方式工作,完成一次加法或乘法均需5拍;

(2)与(1)基本相同,只是乘法部件和加法部件可并行;

(3)处理器有一个乘、加法双功能静态流水线,乘、加法均由5个流水段构成,各段经过时间要1拍;

(4)处理器有乘、加法两条流水线,可同时工作,各由5段构成,每段经过时间为1拍。 解答:

(1)在这种结构的处理器上求点积A*B的时空图如图0510所示: 图0510

31 / 56

完成全部运算最少需要75拍。

(2)在这种结构的处理器上求点积A*B的时空图如图0511所示: 图0511

完成全部运算最少需要45拍。

(3)在这种结构的处理器上求点积A*B的时空图如图0512所示: 图0512

完成全部运算最少需要30拍。

(4)在这种结构的处理器上求点积A*B的时空图如图0513所示: 图0513

32 / 56

完成全部运算最少需要26拍。 剖析:

向量A*B的点积为

A*B=(8)∑(i=1)ai*bi=a1*b1+a2*b2+a3*b3+a4*b4+a5*b*+a6*b*+a7*b7+a8*b8,共需8次乘法和7次加法。

8.试总结IBM 360/91解决流水线控制的一般方法、途径和特点。 在流水线中设置相关直接通路解决局部相关; 用猜测法解决全局相关;

设置\向后8条\检查,加快短循环程序的处理; 对流水线的中断处理用\不精确断点法\。

9.在一个5段的流水线处理机上需经9拍才能完成一个任务,其预约表为: t0 t1 t2 t3 t4 t5 t6 t7 t8 s1 ∨ ∨ s2 ∨ ∨ s3 ∨ ∨ ∨ s4 ∨ ∨ s5 ∨ ∨ 分别写出延迟禁止表F、冲突向量C;画出流水线状态转移图;求出最小平均延迟及流水线的最大吞吐率及其高度方案。按此流水高度方案输入6个任务,求实际吞吐率。 解:

33 / 56

根据预约表,延迟禁止表F={1,3,4,8} 冲突向量为C:10001101 状态转移图如图0514所示 图0514

各种方案的平均延迟表: 调度方案 (2,5) (2,7) 5 (5,6) (6) (6,7) (7) 平均延迟 3.5 4.5 5 5.5 6 6.5 7 最小延迟为3.5拍,其调度方案为(2,5)。

按调度方案(2,5)输入6个任务时的时空图如图0515所示: 图0515

实际吞吐率TP=6/25(任务/拍)。 剖析:

求延迟禁止表F={1,3,4,8},第一行间隔8,第二行间隔1,第三行间隔1,3,4,然后间隔都为1,合并。

求冲突向量,写一个8位两进制数,根据禁止表倒着写。

由于初始冲突向量的c2,c5,c6,c7为0,所以第二个任务可以距第一个任务2,5,6或7

34 / 56

拍流入流水线。

10.求向量D=A*(B+C),各向量元素均为N,参照CRAY-1方式分解为3条向量指令: 1:V3<-存储器{访存取A送入V3寄存器组} 2:V2<-V0+V1{B+C->K} 3:V4<-V2+V3{K*A->D}

当采用下列3种方式工作时需多少拍才能得到全部结果? (1)1、2、3、串行执行;

(2)1和2并行执行完后,再执行3; (3)采用链接技术。 解:

(1)每条指令所需拍数为:

指令1:1(启动访存)+6(访存)+1(存V3)+N-1(第一个分量后每隔1拍出一个结果)=7+N

指令2:1(送浮加部件)+6(浮加)+1(存V2)+N-1=7+N 指令3:1(送浮乘部件)+7(浮乘)+1(存V4)+N-1=8+N 串行:7+N+7+N+8+N=22+3N

(2)指令1和2并行执行:1(启动访存,送浮加部件)+6(访存,浮加)+1(存V3,存V2)+N-1=7+N

1,2并行:7+N+8+N=15+2N (3)1+6+1+1++7+1+N-1=16+N

11.设向量长度为64,以CRAY-1机上所用浮点功能部件的执行时间分别为:相加6拍,相乘7拍,求倒数近似值14拍;从存储器读数6拍,打入寄存器及启动功能部件各1拍。问下列各指令组内的哪些指令可以链接?哪些指令不能链接?不能链接的原因是什么?分别计算出各指令组全部完成所需的拍数。

(1) (2) (3) (4) V0←存储器 V0←存储器 V0←存储器 V2←V0*V1 V2←V0*V1 V1←1/V0 V1←V2+V3 V3←存储器 V3←V2+V0 V3←V1*V2 V4←V5*V6 V4←V2+V3 V5←V3+V4 V5←V3+V4 解:

(1)3条向量指令之间既没有发生源Vi冲突,也没有Vi的先写后读相关,又不存在功能部件的使用冲突,所以这3条向量指令可以同时并行流水。max{(1+6(访存)+1+64-1),(1+6(浮加)+1+64-1),(1+(7浮乘)+1+64-1)}=72拍。所以向量指令组全部完成需要72(拍)。 (2)3条向量指令之间没有功能部件的使用冲突,但是在第1、2两条向量指令与第3条向量指令之间有V2及V3的先写后读相关。只要让第1条向量指令较第2条向量指令提前1拍启动,则第1,2两条向量指令的第1个结果元素就可以被同时链接到第3条向量指令中。

max{(1+(7浮乘)+1+64-1),(1+6(访存)+1+64-1)}+(1+6(浮加)+1+64-1)=80(拍)。 (3)第1条向量指令与第2条向量指令之间有V0的先写后读相关,两者可以链接。第3条

35 / 56

向量指令与第2条向量指令之间有源向量寄存器V0的冲突,它们之间只能串行。第3条向量指令与第4条向量指令之间有加法功能部件的使用冲突,它们之间也只能串行。(1+6(访

存)+1+1+(7浮乘)+1+64-1)+(1+6(访存)+1+64-1)(1+6(浮加)+1+64-1)=222(拍)。 (4)4条向量指令均依次有Vi的先写后读相关,但无源Vi冲突,也无功能部件的使用冲突,所以,这4条向量指令可以全部链接在一直,进行流水。(1+6(访存)+1)+(1+14(求倒数)+1)+(1+(7浮乘)+1)+(1+6(浮加)+1)+64-1=104拍。

12.设指令由取指、分析、执行三个子部件组成。每个子部件经过时间为△t,连续执行12条指令。请分别画出在常规标量流水处理机及度m均为4的超标量处理机、超长指令字处理机、超流水线处理机上工作的时空图,分别计算它们相对常规标量流水处理机的加速比Sp。 解:

常规标量处理机的时空图:

度m为4的超标量处理机的时空图:

36 / 56

其相对于常规标量流水处理机的加速比Sp=14△t/5△t=2.8 度m为4的超长指令字处理机的时空图:

其相对于常规标量流水处理机的加速比Sp=14△t/5△t=2.8 度m为4的超流水线处理机的时空图:

37 / 56

其相对于常规标量流水处理机的加速比Sp=14△t/5.75△t=56/23≈2.8

第六章 阵列处理机

阵列处理机(Array Processor)也叫并行处理机(Parallel Processor),指的是由单一控制单元(Control Unit)控制按一定方式互连的大量重复设置的处理单元(Processing Unit),实现同一指令对各处理机所分配的不同数据的并行操作。

ILLIAC 4中,N=sqrt(N)*sqrt(N)个处理单元组成的阵列中,任意两个处理单元之间的最短距离不大于sqrt(N)-1,即d_min≤sqrt(N)-1。

单级立方体网络中各处理机间信息传送的最大距离为n,即反复使用单级立方体网络,数据传送最多经过n个处理机,就可以实现任意入、出端之间的连接。

单级PM2I网络中各处理机间信息传送的最大距离为n/2,即反复使用单级PM2I网络,数据传送最多经过n/2个处理机,就可以实现任意入、出端之间的连接。

单级全混洗交换网络中各处理机间信息传送的最大距离为2n-1,即反复使用单级全混洗交换网络,数据传送最多经过2n-1个处理机,就可以实现任意入、出端之间的连接。

SIMD系统组成的互联网络的设计目标:结构简单,降低成本;互联灵活,算法应用;传送步数,提高速度;规整、模块,VLSI,扩展性。

设计互联网络时应考虑的问题:拓扑结构,交换方式,控制方式,操作方式。

多级立方体网络、多级PM2I网络、多级混洗交换网络可以分时实现任意一个入端与任意一个出端之间的连接,但在同时实现多对入、出端之间的连接时,可能会争用数据传送线,具有这关性质的互连网络叫做阻塞式网络(Blocking Network),不具有这类性质的互连网络叫做非阻塞式网络或全排列网络。

1.若干个处理单元的全混连接与Shuffle函数

Shuffle互联函数的意义:Shuffle(Pn-1Pn-2...P1P0) = Pn-2...P1P0Pn-1,即将二进制位最左位移到最右的位置。 8个处理单元的全混连接,如下图: 2.多级立方体网络的画法 以N=8为例

第i级交换单元处于交换状态时,实现的是cube i互连函数。 1)把3*4=12个交换单元放好

38 / 56

2)在i=0级,实现cube(0)函数,具体就是实现(01)(23)(45)(67)交换,所以A单元要把(01)输入放在一起,通过A单元的交换状态就可以实现(01)交换,同样B C D 分别实现(23)(45)(67)的交换。

3)在i=1级,我们来实现cube(1)函数,具体就是实现(02)(13)(46)(57)交换,很简单,假设前面所有交换网络处于直连状态,找出前级的输出端口编号,把(02)作为输入放在一起,(13)放在一起... ...完成第2级; 4)同理可以完成第3级。 3.部分级控制中移数函数的功能

设3级立方体网络0~7共8个端子(0 1 2 3 4 5 6 7)排列,采用部分极控制,进行模4移2变换,得到的8个端子新的排列是(2 3 0 1 6 7 4 5)。 处理过程如下: 0 1 2 3 4 4+2=6 6mod4=2 5 5+2=7 7mod4=3 6 6+2=8 8mod4=0 7 7+2=9 9mod4=1 移2 0+2=2 1+2=3 2+2=4 3+2=5 模4 2mod4=2 3mod4=3 4mod4=0 5mod4=1 notes 与第一组冲与第二组冲与第三组冲与第四组冲突, 突, 突, 突, 所以要加4, 所以要加4, 所以要加4, 所以要加4, 2+4=6 3+4=7 0+4=4 1+4=5 移2就是加2。

第六章 阵列处理机

1.画出16台处理器仿ILLIAC Ⅳ 的模式进行互连的互连结构图,列出PE0分别只经一步、二步和三步传送能将信息传送到的各处理器号。 答:

6台处理器仿ILLIAC Ⅳ 处理单元的互连结构如图所示:

39 / 56

图中第个PU中包含PE、PEM和MLU。 PE0(PU0)经一步可将信息传送至PU1、PU4、PU12、PU15。 PE0(PU0)至少需经二步才能将信息传送至PU2、PU3、PU5、PU8、PU11、PU13、PU14。 PE0(PU0)至少需经三步步才能将信息传送至PU6、PU7、PU9、PU10。

2.编号为0、1、...、15的16个处理器,用单级互连网互连。当互连函数分别为 (1)Cube3 (2)PM2+3 (3)PM2-0 (4)Shuffle

(5)Shuffle(Shuffle)

时,第13号处理器各连至哪一个处理器? 解答:

(1)5号处理器 (2)5号处理器 (3)12号处理器 (4)11号处理器 (5)7号处理器 剖析:

由题意知,有16个处理器,即N=16,n=log2(N)=log2(16)=4。 Cube3(13)=Cube3(1101)=0101=5 PM2+3(13)=(13+2^3)mod16=5 PM2-0(13)=(13-2^0)mod16=12

Shuffle(13)=Shuffle(1101)=1011=11

Shuffle(Shuffle)=Shuffle(11)=Shuffle(1011)=0111=7

3.编号分别为0、1、2、...、F的16个处理器之间要求按下列配对通信:(B、1), 40 / 56

、2),

(8

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库自考:计算机系统结构考前复习资料在线全文阅读。

自考:计算机系统结构考前复习资料.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/228842.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: