自考问答 自考本科自考百科
自考问答 > 自考百科 > 计算机系统结构自考技巧答案

计算机系统结构自考技巧答案

发布时间:

计算机系统结构自考技巧答案

发布时间:

计算机系统结构自考技巧答案

题2.1 数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么?[解答] 数据表示是数据结构的组成元素,数据结构要通过软件映象变换成机器所具有的各种数据表示来实现。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性上不同。数据结构和数据表示是软件和硬件之间的交界面。确定和引入数据表示的基本原则:一是看系统效率有否提高,即是否减少了实现的时间和存贮的空间,实现时间有否减少又主要看在主存和处理机之间传送的信息量有否减少;二是看引入这种数据表示的通用性和利用率是否较高。题2.2 标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?[解答] 在标志符数据表示中,标志符是与每个数据相连的,并且合存在同一个存贮单元中,用于描述单个数据的类型等属性;在描述符数据表示中,数据描述符是与数据分开独立存放的,主要是用于描述成块数据的类型属性,地址及其它信息的。描述符数据表示在实现向量、阵列数据元素的索引上要比用变址方法的方便,能更快地形成元素的地址,从而可以迅速进行访问,同时,也有利于检查程序中的向量、数组在使用中是否越界。因此,它为向量、数组数据结构的实现提供了一定的支持,有利于简化编译中的代码生成。但是,描述符数据表示并没有向量、数组的运算类指令,也没有采用流水或处理单元阵列形式的高速运算硬件,没有时阵列中每个元素又是一个子阵列的相关型交叉阵列进行处理的硬件。也投有时大量元素是零的稀疏向量和数据进行压缩存贮、还原、运算等指令和硬件。因此,它对向量和数组的数据结构提供的支持不够强,所以并不是向量数据表示。题2.3 堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?[解答] 通用寄存器型机器对堆栈数据结构的实现支持较差。这表现在:堆栈操作用的机器指令数少,一般只是些简单的压入(PUSH)和弹出(POP)之类的指令,功能单一;堆栈被放置于主存中,因此每次访问堆栈都要进行访存,速度低;堆栈一般只用于保存于程序调用时的返回地址,只有少量参数经堆栈来传递,大部分参数都是通过寄存器或内存区来传递的。堆栈型机器则不同,它主要表现在:有高速寄存器型的硬件堆栈,附加有控制电路让它与主存中的堆栈区在逻辑上构成一个整体,从而使堆栈的访问速度接近于寄存器的速度,容量却是主存的;有对堆栈的栈顶元素或栈顶元素和次栈顶元素进行各种操作和运算处理的丰富的堆栈操作指令,且功能很强;有力地支持高级语言程序的编译,由逆波兰表达式作为编译的中间语言,就可直接生成堆栈指令构成的程序,进行多元素表达式的计算,有力地支持于程序的嵌套和递归调用。堆栈型机器系统结构为程序的嵌套和递归调用提供了很强的支持,表现在:在程序调用时,不仅用堆栈保存返回地址,还保存条件码等多种状态信息和某些关键寄存器的内容,如全局性参数、局部性参数,以及为被调用的程序在堆栈中建立一个存放局部变量、中间结果等现场信息的工作区。堆栈机器在程序调用时,将这些内容全部用硬件方式压入堆栈。当子程序返回时,返回地址、运算结果、返回点现场信息均通过于程序返回指令用硬件方式从堆栈中弹出。只需修改堆栈指针内容就可删去堆栈中不用的信息。堆栈机器能及时释放不用的单元,访问堆栈时大量使用零地址指令,省去了地址码字段。即使访问主存,也采用相对寻址,使访存的地址位数较少,从而使堆栈型机器上运行的程序较短,程序执行时所用的存贮单元数少,存贮效率较高。题2.4 设某机阶码6位、尾数48位。阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出 其最小阶、最大阶、阶的个数,最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。[分析] 由教材中图2.7的浮点数表示格式可知,阶码6位,就是阶码部分除去阶符外,剩下的阶码值部分为6位;尾数48位,就是尾数的二进位位数m=48位。当尾数基值为rm时,尾数每一个rm。进制数位需用 个二进位表示。尾数基值为rm的尾数位数m’=m/ 。对于rm为2、8、16时,m’分别为48、16、12位。由于是非负阶,最小阶应当是阶值部分为全“0”。所以,最小阶为0。最大阶应当是阶值部分6位为全‘l”,所以,最大阶为2 -1,即26-1(=63)。阶的个数由阶值0到2 -1l,共有2 个,即64个。所谓规格化正尾数,就是正尾数小数点后的第1个rm进制数位不是0的数。因为尾数为全“0”的数是机器零,不作为机器中可表示的数。所以,最小正尾数值应当是rm进制尾数的小数点后第1个rm进制数位为“1”,其余数位为全“0”的数值,即1 rm 。最大正尾数值当然是rm进制尾数各数位均为rm一1的数。可以设想,在小数点后,rm进制的第m’个数位上加1,即加上rm-m’,就会使整个尾数值变为1。所以。可表示的最大尾数值应当是1- rm-m’。按浮点数表示格式的含义,浮点数的值应当是r 尾数值。浮点数可表示的最小值应当是阶为非负阶的最小值0,尾数为规格化最小正尾数值,所以,可表示浮点数最小值应当为rm0• rm-1= rm-1;可表示浮点数的最大值应当是阶为正的最大值2 -1,尾数为规格化正尾数最大值,所以,可表示浮点数的最大值应为r •(1- r )。可表示的浮点数规格化数的总个数应当是可表示阶的个数与可表示尾数的个数的乘积。由于在m’个尾数rm进制数位中,每个数位均可以有0~(rm-1),共有rm个码,所以,尾数的编码总个数为r 个,但应当去掉小数点后第1个数位是0的那些非规格化的数。显然,非规格化数的个数占了全部尾数可编码总数的l/rm的比例。所以,可表示的浮点数规格化数的总个数就为2 •r •(1-1/rm) 。只要将p、m、m’、 rm的具体值代入上述各式就可以得到本题的解答。[解答] p=6、m=48时,在非负阶、规格化、正尾数情况下,rm =2、8、16时的各个参数的计算结果如表2.1所示。非负阶、正尾数、规格化 尾基rm(p=16位,m=48位)2(m’=48) 8(m’=16) 16(m’=12)最小阶值 0 0 0 0最大阶值 2 -163 63 63阶的个数 264 64 64尾数最小值 rm-1 1/2 1/8 1/16尾数最大值 1- rm-m’ 1-2-48 1-8-16 1-16-12最小值 rm-1 1/2 1/8 1/16最大值 r •(1- r )263•(1-2-48) 863•(1-8-16) 1663•(1-16-12)数的总个数 2 •r •2715题2.5 (1)浮点数系统使用的阶基rp=2。阶码位数p=2,尾数基值rm=10,以rm为基的尾数位数m’=1,按照使用的位数来说,等价于m=4。试计算在非负阶、正尾数、规格化数情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。(2)对于rp=2,p=2,rm=4,m’=2,重复以上计算。[分析] 因为尾数基值rm=10,所以,rm进制尾数的每个数位只能取0~9中的一个值,即每个数位能取的最大值为9。[解答] (1)在非负阶、正尾数、规格化数的情况下,最小尾数值为rm-1=l0-1=0.1最大尾数值为1- rm-m’=1-10-1=0.9最大阶值为2 -1=2可表示的最小值为=rm-1=10-1=0.1可表示的最大值为r •(1- r )=103 (1-10-1)=900可表示的数的个数为2 •r • =(2)最小尾数值为rm-1=4-1=0.25最大尾数值为1- rm-m’=1-4-2=15/16最大阶值为2 -1=22-1=3可表示的最小值为rm-1=4-1=0.25可表示的最大值为r •(1- r )=可表示的数的个数为2 •r • =4题2.6 由4位数(其中最低位为下溢处理之附加位)经ROM查表舍入法下溢处理成3位结果,设计使下滥处理干均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。[分析] 根据题意,ROM表应当有24个单元。其中,每个单元的地址为待下溢处理的值,该地址单元的内容应为下滥处理后的3位结果值。所以,ROM表存贮单元的字长为3位。下溢处理表的填表原则是除了待处理的4位码的最高3位为全“1”时,按截断法填成全“1”外,其它情况均按4位(地址)码的最低位按0舍1入来填处理后相应该单元的3位结果。这样,既可体现出舍入法的优点。又避免了舍入法因进位影响下滥处理的速度的缺陷。同时,让完全用舍入法处理时所产生的平均误差略偏正的值可以与截断法的平均误差为负进行抵消,从而使经过这样的下溢处理之后,能让平均误差人为地调整到接近于零。[解答] ROM下溢处理表16个单元的地址码0000~1111,它与其内容(即下溢处理后的3位结果值)的对照关系如表2.2所示。地址 1111内容 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 111题2.9 变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构。[解答] 变址寻址适合在标量计算机中,通过循环程序对变址寄存#内容修改其变址值,来对向量或数组等数据结构中的元素进行访问和处理。基址寻址则主要是对程序的逻辑地址空间到物理地址空间进行变换时使用的,以支持程序使用动态再定位的技术。设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构,意味着指令中为寻找该操作数的地址码只有6位,只好用来表示这64个地址中的某一个。那么,这64个地址之一应当是在哪个大的地址空间中的,就得使用其它办法来指明。这里可列举常见的两种做法。一种是采用隐含寻址,让标志这64个地址是相对哪个基点地址的区域,用指令隐式规定的某个专门的寄存器中所存放的基址值来给出。例如,可约定某个变址寄存器或某个基址寄存器。程序执行时,每当要访存时,就可以经硬件加法器将隐含寄存器的基址值与指令中给出的6位相对位移量相加来形成其访存单元的物理地址。另一种是规定基点地址就用程序计数器,程序计数器(PC)存放的是当前所执行指令 的下一条指令所在主存中的地址(或偏移地址),因此,可以通过使用无条件转移指令来修改PC的内容,实现在一个大的地址空间中的访问,这就是所谓的PC自相对寻址。做法是通过将PC的内容和指令中所提供的6位相对位移量相加来形成主存单元的物理地址。题2.8 指令中常用下列寻址方式来得到操作数:立即操作数、间接寻址、直接寻址、寄存器寻址、自相对寻址。请分别说明这些寻址方法的原理,井对它们在如下4个方面进行比较:可表示操作数的范围大小;除取指外,为获得操作数所需访问主存的最少次数;为指明该操作数所占用指令中的信息位数的多少;寻址复杂性程度。[解答] 指令为寻找或访问到所需操作数的某种寻址方式,其含义在不同的计算机中会有所差别。下面,我们以大多数计算机中的情况来定义。立即操作数的寻址原理是,操作数以常数形式直接存放在指令中操作码的后面。一旦指令被取出,操作数也被取得,立即可以使用。立即操作数由于受机器指令字长的限制,可表示数的范围小,一般为8位或16位的二进制常数。指令取出后,为获得操作数不需要再访存,即访存0次。操作数所占用指令中的信息位数是立即数在可表示最大值范围时所要占用的二进位位数。寻址的复杂性程度相对最低。间接寻址可以有寄存器间接寻址和存贮器间接寻址两种。其寻址原理是,在指令的操作数地址字段上只给出存放操作数在内存中物理地址的寄存器号或存贮单元地址。先由指令操作数地址字段,从寄存器或存贮单元中取出数在存贮器中的地址。再按此地址访存,才能间接取得所要的操作数。有的计算机在存贮器间接寻址时,还可以有多重间接寻址,即从存贮单元中取出的内容作为地址。再去访有时得到的并不是操作数,而只是操作数在内存中的地址,或是地址的地址。如此顺序递推。间接寻址访问到的操作数范围大,可以是主存中能访问到可表示数值范围最大的数。除取指外,获得所需操作数所需访问主存的最少次数,对于奇存器间接寻址为一次。对于存贮器间接寻址为两次。为指明该操作数所占用指令中的信息位数,对于寄存器间接寻址来说,只是为寄存器编号所占用的二进位位数,这种位数一般很短(例如,16个通用寄存器的编号只需用4位二进位);而对于存贮器间接寻址来说,需占访存逻辑地址所需的全部位数。间接寻址的复杂性一般最高。其中,寄存器间接寻址较存贮器间接寻址简单,最复杂的是存贮器多重间接寻址。直接寻址的原理是,由指令中操作数地址码字段给出存放操作数在内存中的有效地址或物理地址。直接寻址可表示操作数值的范围大,可以是主存中能访问的可表示值范围最大的数。除取指外,为获得所需操作数,需要再访问一次主存。为指明操作数所占用指令中的信息位数,是访存单元的有效地址或物理地址所需要的位数。直接寻址的复杂性较寄存器寻址的大,而它较寄存器间接寻址要简单些。寄存器寻址的原理是,指令的操作数地址码宇段给出存放操作数所用的寄存器号。可表示操作数的范围大小取决于存放操作数所用的寄存器的二进位位数。除取指外,为获得操作数不用访存,即访存0次。为指明操作数所占用指令中的信息位数,只是寄存器编号所占的二进位位数,很短。例如,16个寄存器编号只需4位二进位。寄存器寻址简单,其取数的时间要比访存的时间短很多。自相对寻址方式主要用于转移指令形成转向目标地址,有的也用于访问存贮器找操作数。以访问存贮器操作数寻址为例,指令中操作数字段给出所访问操作数存放在主存中相对于指令计数器当前值的位移地址。自相对寻址所寻址的操作数可表示值范围大,可以是主存中能访问的可表示值范围最大的数。除取指外,为获得操作数所需访存的次数为1次。为指明该操作数所占用指令中的信息位数取决于允许的最大相对位移量大小。寻址复杂性较直接寻址的略复杂些。题2.9 设计如IBM 370那样有基地址寄存器的机器的另一种办法是,每条指令不用现在的基地址寄存器地址(4位)加位移量(12位)共16位作为地址码,而是让每条指令都有一个24位的直接地址。针对下面两种情况,评价一下这个方法的优、缺点:(1)数据集中于有限几块,但这些块分布在整个存贮空间;(2)数据均匀地分布在整个地址空间中。你认为IBM 370的设计者在实际应用中考虑了这两种情况中的哪一种可能性?为什么?[解答] 采用基地址寄存器加位移量作地址码,使指令中操作数的地址码只需要16位,不必使用24位直接地址。这样,可以大大减少程序中操作数地址字段所占用的存贮空间量。但是,每次访主存找操作数需要将逻辑地址经地址加法器变换成24位的物理地址,这需要花费一些时间。这对于数据集中于有限几块,而这些块又是分布在整个地址空间来说是有利的。用基址指向某个局部区间在主存中的基点位置,用位移量表示局部区域内相对基点地址的位移。如果用24位地址直接寻址,将会使其高位地址码的变化频率很低,虽然这不需要地址变换,形成物理地址的速度有所加快,但程序中操作数地址字段所花费的存贮空间量较大。这种寻址对于数据均匀地分布在整个地址空间中是有利的。IBM 370设计者之所以采用基地址寄存器加位移量的方式,是因为在实际应用中,程序存在着局部性,数据往往集中簇聚于有限的几块中,这些块又可能分布在整个存贮空间里。考虑到地址加法器硬件形成物理地址的速度较高,利用哈夫曼压缩概念,从空间和时间上的得失比较来看,速度下降不太显著,却可使程序所占存贮空间有显著减少。题2.10 经统计,某机14条指令的使用频度分别为:0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别求出用等长二进制编码、Huffman编码、只能用两种码长的扩展操作码编码等3种方式的操作码平均码长。[分析] 等长操作码的意思是不管其指令的频度如何,都用同样长度的二进制码位数来对指令操作码编码。显然,当指令系统中的指令条数为n时,等长操作码的二进制码位数应当是 。Huffman编码是用Huffman算法构造出Huffman树来得到的。它的平均码长是用 •l 计算求得的。只有两种码长的扩展操作码编码,则需要对指令使用频度进行按大小分群。将高频的指令分在同一群中,对其用短的操作码编码,而将低频的指令分在另一群中,使用长操作码编码。每一群都各自用等长操作码编码。这时,为能唯一解码和立即解码,在短操作码中还要使用某些码来作为扩展成长操作码的扩展标志码。经过综合权衡,使平均码长尽可能短,来定好长、短码的码长组配关系。从而,再用 •l 来求得其平均码长。[解答] 14条指令的等长操作码的平均码长是 位,即4位。Huffman编码可先用Huffman算法构造出Huffman树。本题的Huffman树如图2.1所示。图中,叶子上用圆括号所括起的数字是表示该频度指令所用的二进位编码的码位数, 所以Huffman编码的操作码平均码长为 •l =3.38位。采用只有两种码长的扩展操作码,可根据14条指令所给出的使用频度值分成两群。让使用频度较高的6种指令用3位操作码编码表示。例如,用000~101分别表示使用频度为0.15、0.15、0.14、0.13、0.12、0.11的指令的操作码。留下110和111两个3位码作为长码的扩展标志,扩展出2位码。从而用5位码就可以各扩展出4条使用频度较低的指令,这样,共有8条使用频度较低的指令符合题目的要求。由此可求得操作码的平均码长为•l =3 位题2.11 若某机要求有:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位,每个地址码长为3位。问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。[分析] 无论是哈夫曼编码,还是扩展操作码编码,其中的短码都不能与长码的首都有相同的。否则,由于短码成了长码的前缀,而指令中除了操作码外,后面所跟的,或者是操作数,或者是操作数所在的寄存器编号或存贮单元的地址码,它们又都是以二进制码编码的形式出现的,所以短操作码成了长操作码的前缀,就会使指令操作码译码时,无法做到唯一译码和立即解码,这是解答本题的关键之处。[解答]根据题意,三地址指令的格式为操作码地址1 地址2 地址3操作码占了3位,用来表示4条三地址指令需用掉8个不同码中的4个码,余下有4个码可用做扩展成长操作码的扩展标志。单地址指令的格式为操作码 地址

从百度上搜索呀!应该有的.

去考试吧找吧

建议买本辅导书,后面有近几年的试题和答案

计算机系统结构自考技巧答案解析

第二节 计算机系统的组成和基本结构 我们平常所说的计算机,严格地说,都应称为计算机系统,主要由计算机的硬件系统和软件系统组成,二者缺一不可,只有相互配合,才能发挥作用。 一、计算机硬件系统 自第一台电子计算机诞生以来,尽管计算机制造技术发生了巨大变化,但就其体系而言,都基于同一个工作原理:存储程序和程序控制。这个思想是由美籍匈牙利数学家冯.诺依曼于1946年首先提出的,人们称之为冯.诺依曼计算机。其硬件部分由五大功能部件组成:1、运算器 运算器是进行算术、逻辑运算的部件。2、控制器 控制器是实现计算机各部分联系及程序自动执行的部件,其功能是从内存中依次取出命令,产生控制信号,向其他部件发出指令,指挥整个运算过程。控制器是统一指挥、协调其他部件的中枢。 注1:人们常把运算器和控制器二者制做在一起称为中央处理器,简称CPU。3、存储器 存储器是存储信息的部件,分为内存、外存。内存在控制器的指挥下,与运算器、输入/输出设备交换信息。外存是为了弥补内存的不足而设置的,在控制器的控制下,它与内存成批交换数据。 注2:把运算器、控制器、内存三者合称为主机。4、输入设备 输入设备是把数据和程序转换成电信号,并把电信号送入内存的部件。如:键盘、鼠标、扫描仪、麦克、游戏操作杆等。5、输出设备 输出设备是把计算机处理的结果送到主机外的部件。如:显示器、打印机、音箱等。 注3:外部设备包括输入和输出设备。 二、计算机软件系统 软件系统是计算机正常工作所需要的各种程序和数据的总和。根据软件用途的不同,可将其分为两大类:系统软件和应用软件。1、系统软件 系统软件是指控制和协调计算机及其外部设备以及方便用户使用的软件。如:操作系统、语言处理系统、监控管理程序、故障检查和诊断程序等。2、应用软件 应用软件是指完成某种具体任务的软件。如:辅助管理软件、教学软件、字表处理软件以及游戏软件等。三、个人计算机的组成 一套典型的计算机系统是由以下各部件组成的:电源 主机箱主板 中央处理器内存 驱动器显示器 打印机还有键盘、鼠标和微型计算机的软件系统。 试一试:你能识别计算机的五大部件功能吗?版权所有(C) 2002 洛阳机车中学电教组。保留所有权利。修订日期:2002年11月09日 。

4.3 根据需要展开下面的循环并进行指令调度,直到没有任何延迟。指令的延迟如表4.4。LOOP: L.D F0,0(R1)MUL.D F0,F0,F2L.D F4,0(R2)ADD.D F0,F0,F4S.D F0,0(R2)DSUBI R1,R1,#8DSUBI R2,R2,#8BNEZ R1,LOOP解:将循环展开两次,进行指令调度,即可以消除延迟,代码如下:LOOP: L.D F0,0(R1)L.D F10,-8(R1)MUL.D F0,F0,F2MUL.D F10,F10,F2L.D F4,0(R2)L.D F14,-8(R2)ADD.D F0,F0,F4ADD.D F10,F10,F14DSUBI R1,R1,16S.D 0(R2),F0DSUBI R2,R2,16BNEZ R1,LOOPS.D 8(R2),F104.4 假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。(1) 求程序执行的CPI。(2) 相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快?解:(1)程序执行的CPI = 没有分支的基本CPI(1) + 分支带来的额外开销分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。分支带来的额外开销= 15% * (90%命中×10%预测错误×4 + 10%没命中×3)= 0.099所以,程序执行的CPI = 1 + 0.099 = 1.099(2)采用固定的2 个时钟周期延迟的分支处理CPI = 1 + 15%×2 = 1.3由(1)(2)可知分支目标缓冲方法执行速度快。4.5 假设分支目标缓冲的命中率为90%,程序中无条件转移指令的比例为5%,没有无条件转移指令的程序CPI值为1。假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的CPI值为多少?解:设每条无条件转移指令的延迟为x,则有:1+5%×x=1.1x=2当分支目标缓冲命中时,无条件转移指令的延迟为0。所以 程序的CPI = 1 + 2 × 5% ×(1 -90%) =1.014.6 下面的一段MIPS汇编程序是计算高斯消去法中的关键一步,用于完成下面公式的计算:Y = a  X + Y其浮点指令延迟如表4.3所示,整数指令均为1个时钟周期完成,浮点和整数部件均采用流水。整数操作之间以及与其它所有浮点操作之间的延迟为0,转移指令的延迟为0。X中的最后一个元素存放在存储器中的地址为DONE。FOO: L.D F2,0(R1)MUT.D F4,F2,F0L.D F6,0(R2)ADD.D F6,F4,F6S.D F6,0[R2]DADDIU R1,R1,#8DADDIU R2,R2,#8DSUBIU R3,R1,#DONEBNEZ R3, FOO(1) 对于标准的MIPS单流水线,上述循环计算一个Y值需要多少时间?其中有多少空转周期?(2) 对于标准的MIPS单流水线,将上述循环顺序展开4次,不进行任何指令调度,计算一个Y值平均需要多少时间?加速比是多少?其加速是如何获得的?(3) 对于标准的MIPS单流水线,将上述循环顺序展开4次,优化和调度指令,使循环处理时间达到最优,计算一个Y值平均需要多少时间?加速比是多少?(1) 对于采用如图4.8前瞻执行机制的MIPS处理器(只有一个整数部件)。当循环第二次执行到BNEZ R3,FOO时,写出前面所有指令的状态,包括指令使用的保留站、指令起始节拍、执行节拍和写结果节拍,并写出处理器当前的状态。(2) 对于2路超标量的MIPS流水线,设有两个指令流出部件,可以流出任意组合的指令,系统中的功能部件数量不受限制。将上述循环展开4次,优化和调度指令,使循环处理时间达到最优。计算一个Y值平均需要多少时间?加速比是多少?(3) 对于如图4.13结构的超长指令字MIPS处理器,将上述循环展开4次,优化和调度指令,使循环处理时间达到最优。计算一个Y值平均需要多少时间?加速比是多少?解:(1)L.D F2, 0(R1) 1StallMUT.D F4, F2, F0 2L.D F6, 0(R2) 3StallStallADD.D F6, F4, F6 4StallStallS.D F6, 0[R2] 5DADDIU R1, R1, #8 6DADDIU R2, R2, #8 7DSUBIU R3, R1, #DONE 8BNEZ R3, FOO 9所以,共有14 个时钟周期,其中有5 个空转周期。(2)循环顺序展开4 次,不进行任何指令调度,则指令1~5 及其间的stall 都是必要的,只是指令6~9 只需执行一次,因此,共有 10 × 4 + 4 = 44 个时钟周期,计算出4 个Y 值,所以计算一个Y 值需要11 个时钟周期,加速比为:14/11 = 1.27 。加速主要是来自减少控制开销,即减少对R1、R2 的整数操作以及比较、分支指令而来的。(3)循环顺序展开4 次,优化和调度指令,如下:L.D F2, 0(R1)L.D F8, 8(R1)L.D F14, 16(R1)L.D F20, 24(R1)MUT.D F4, F2, F0MUT.D F10, F8, F0MUT.D F16, F14, F0MUT.D F22, F20, F0L.D F6, 0(R2)L.D F12, 8(R2)L.D F18, 16(R2)L.D F24, 24(R2)ADD.D F6, F4, F6ADD.D F12, F10, F12ADD.D F18, F16, F18ADD.D F24, F22, F24S.D F6, 0[R2]S.D F12, 8[R2]S.D F18, 16[R2]S.D F24, 24[R2]DADDIU R1, R1, #32DADDIU R2, R2, #32DSUBIU R3, R1, #DONEBNEZ R3, FOO共用了24 个时钟周期,则计算一个Y 值平均需要 24/4 = 6 个时钟周期,加速比:14/6 = 2.33(4)指令 指令执行时钟流出 执行 写结果 确认L.D F2, 0(R1) 1 2 3 4MUL.D F4, F2, F0 2 4 5 6L.D F6, 0(R2) 3 4 6 7ADD.D F6, F4, F6 4 8 9 10S.D F6, 0(R2) 5 11 12 13DADDIU R1, R1, #8 6 7 8DADDIU R2, R2, #8 7 8 9DSUBIU R3,R1,#DONE 8 9 10BNEZ R3, FOO 9 10L.D F2, 0(R1) 10 11 13 14MUL.D F4, F2, F0 11 13 14 15L.D F6, 0(R2) 12 13 15 16ADD.D F6, F4, F6 13 17 18 19S.D F6, 0(R2) 14 20 21 22DADDIU R1, R1, #8 15 16 17DADDIU R2, R2, #8 16 17 18DSUBIU R3,R1,#DONE 17 18 19BNEZ R3, FOO 18名称 保留站Busy Op Vj Vk Qj Qk Dest AAdd1 yes ADD.D Regs[F4] Regs[F6 ]Add2 noAdd3 noMult1 yesMult2 no项号 ROBBusy 指令 状态 目的 Value1 yes ADD.D F6, F4, F6 执行 F6 Regs[F4]+Regs[F6]2 yes S.D F6, 0(R2) 流出 Mem[0+Regs[R2]] #2字段 浮点寄存器状态F0 F2 F4 F6 F8 F10 … F30ROB项编号 1Busy yes …(5)整数指令 浮点指令 时钟周期数L.D F2, 0(R1) 1L.D F8, 8(R1) 2L.D F14, 16(R1) MUT.D F4, F2, F0 3L.D F20, 24(R1) MUT.D F10, F8, F0 4L.D F6, 0(R2) MUT.D F16, F14, F0 5L.D F12, 8(R2) MUT.D F22, F20, F0 6L.D F18, 16(R2) ADD.D F6, F4, F6 7L.D F24, 24(R2) ADD.D F12, F10, F12 8DADDIU R1, R1, #32 ADD.D F18, F16, F18 9S.D F6, 0(R2) ADD.D F24, F22, F24 10S.D F12, 8(R2) 11S.D F18,16(R2) 12S.D F24, 24(R2) 13DADDIU R2, R2, #32 14DSUBIU R3, R1, #DONE 15BNEZ R3, FOO 16计算一个Y值需要 16/4 = 4 个时钟周期,加速比 = 14/4 = 3.5(6)访存1 访存2 浮点指令1 浮点指令2 整数指令 时钟周期L.DF2, 0(R1) L.D F8, 8(R1) 1L.DF14, 16(R1) L.DF20, 24(R1)L.DF6, 0(R2) L.DF12, 8(R2) MUT.DF4, F2, F0 MUT.DF10, F8, F0 3L.DF18, 16(R2) L.DF24, 24(R2) MUT.DF16, F14, F0 MUT.DF22, F20, F0 4ADD.DF6, F4, F6 ADD.DF12, F10, F12 5ADD.DF18, F16, F18 ADD.DF24, F22, F24 DADDIU R1, R1, #32 6DADDIU R2, R2, #32 7DSUBIUR3, R1, #DONE 8BNEZ R3, FOO 9S.DF6, -32(R2) S.DF12, -24(R2) 10S.DF18,-16(R2) S.DF24, -8(R2) 11计算一个Y值需要 11/4 个时钟周期,加速比 = 14/(11/4) = 56/11

第三章 1、以IBM370为例说明为什么把中断分类以及分成几类。 大型多用途机器中断源多,每个中断源单独形成入口将导致硬件实现难,代价大,因此可归类,每类给中断服务程序入口由软件转入相应处理部分。IBM370中断分为6类:机器校验,访管,程序性,外部,I/O,重新启动。 2、专用和非专用线各自的优缺点 专用线:只连接一对物理部件的总线。优点:不用争总线,控制简单,系统可靠。缺点:总线数多且长,成本高,利用率低,不易扩展。 非专用线:可被多种功能与部件共享,但同一时刻只能被一个部件使用。优点:集成度高,造价低,可扩展能力强,总线利用率高,易标准化。缺点:流量小,争用总线,部件效率低,可能成为瓶颈,可靠性差。 3、减少总线线数的方法 线的组合:减少按功能和传递方向所需的线数。 编码:对少数几根功能线进行编码取代多根单功能线。 并/串-串/并:在总线两端设置转换器,经分拆移位后在目的端形成完整的字。 4、比较几种数据宽度 单字:适合低速设备,不用指明传送信息单位,缺点是速度慢总线利用率低; 定长块:高速设备,充分利用总线宽度不用指明传送信息单位,但不灵活; 可变长块:优先级速度都高的设备,灵活需充分利用总线带宽,但需指定传送信号块大小。 单字加定长块:优先级高速度低的设备,短数据可用单字传送减少带宽浪费,信息块太小时成为单字方式总线利用率低。 单字加可变长块:普遍使用,灵活有效,但复杂开销大。 5、有通道情况下的I/O过程 a目态程序中可安排I/O广义指令 b运行到广义指令后,产生访管中断 cCPU响应中断后进入管态 d管理程序根据广义指令编写通道程序,进入通道选择设备期 e选择通道和子通道,取出指令,选择控制器和设备,发启动命令,结束通道选择设备期 f进入通道数据传送期,完成数据传送 g向CPU发I/O请求,第二次转管态,调出相应管理程序,之后CPU返回目态。 6、比较通道的三种类型 字节多路:单字节,适于大量低速设备,字节交叉,多次选择设备,分时共享,满负荷时对通道要求的实际流量应是所连各设备的流量之和。 数组多路:定长块,适于大量高速设备,成组交叉,多次选择设备,分时共享,满负荷时对通道要求的实际流量应是所连各设备的流量的那个。 选择:不定长块,高优先级高速设备,独占通道,一次选择设备,独占,满负荷时对通道要求的实际流量应是所连各设备的流量的那个。 7、为什么中断优先级从高到低一般为:机器校验、程序性和管理程序调用、外部、I/O、重新启动? 机器校验若不及时处理,系统将无法正常工作。 程序中断若低于外部和I/O中断可能导致混乱。只有处理完机器故障后,才能进入访管中断。 重新启动一般时间并不紧迫,所以放在最后。 8、集中式串行链接的过程,优缺点,硬件故障时通讯的可靠性。 a经公共总线向总线控制器申请 b总线不忙时,总线控制器响应请求,送出总线可用。 c总线可用信号在部件间串行通过,直至某个部件发生总线请求。 d该部件获得总线使用权 e数据传送,维持总线忙 f传送完成,去除总线忙 g总线请求再次建立时,重复新的分配过程。 优点:简单,线数少,可扩充性好,可靠性高。 缺点:对总线可用线及电路敏感,不灵活,速度慢。 9、集中式定时查询的过程,优缺点,硬件故障时通讯的可靠性。 a每个部件发总线请求 b总线不忙时,定时查询谁发的请求 c查询到后,查询停止,该部件获得总线使用权 d数据传送,维持总线忙 e传送完成,去除总线忙 f总线请求再次建立时,重复新的分配过程。 优点:灵活,可靠性高 缺点:线数多,扩展性差,控制复杂,总线分配受限计数信号。 10、集中式独立请求的优缺点,硬件故障时通讯的可靠性。 a每个部件有总线请求和总线准许 b总线未分配时,总线分配器根据某种算法仲裁哪个申请部件使用总线。 c数据传送 d传送完毕后除去总线已分配和总线准许。 优点:速度快,灵活,方便隔离失效部件 缺点:线数多,复杂。 11、在现代计算机系统中,中断系统的软硬件功能是怎样分配的,为什么这样分配? 中断响应要求快,一般用硬件实现。 中断的处理过程一般用软件,也可用硬件支持。 中断响应过程中现场的保存和恢复用硬件实现,以保证响应速度。 另一部分现场用软件实现,提高灵活性。

你这考试大纲嘛...建议你去书店买书.....培养兴趣..才能更好的进入电脑世界.

计算机系统结构自考技巧答案详解

VC++, C 数据库概论,j2ee, 计算机网络 第四版 特南鲍姆 Tanenbaum《计算机体系结构》,张晨曦等,高等教育出版社. 《计算机系统结构》,郑纬民

全国2007年7月高等教育自学考试 计算机系统结构试题 课程代码:02325 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选或未选均无分. 1.对计算机系统结构透明的是()A.VLSI技术 B.虚拟存储器C.字符行运算指令 D.是否使用通道型I/O处理机2.下面说法中不正确的是()A.软件设计费用比软件重复生产费用高B.硬件的设计费用比软件的设计费用低C.硬件的生产费用比软件的生产费用高D.硬件功能只需实现一次,而软件功能可能要多次重复实现3.堆栈型机器比通用寄存器型机器优越的是()A.能更好地支持向量的运算B.能优化存储器的空间利用率C.支持先进先出类解题算法的求解D.支持由逆波兰表达式将高级语言多元赋值语句直接编译生成堆栈指令程序4. 尾数下溢处理平均误差可调整到零的方法是()A.截断法 B.舍入法C.恒置"1"法 D.ROM查表法5.中断响应由高到低的优先次序宜用()A.程序性→I/O→访管 B.外部→访管→程序性C.访管→程序性→机器故障 D.访管→程序性→重新启动6.不属于堆栈型替换算法的是()A.先进先出法 B.近期最久未用过法C.近期最少使用法 D.页面失效频率法7.块冲突概率最高的Cache地址映象方式是()A.直接 B.组相联C.段相联 D.全相联8.指令间"一次重叠"是指()A."取指k+1"与"分析k"重叠 B."分析k+1"与"执行k"重叠C."分析k"与"执行k+1"重叠 D."执行k"与"取指k+1"重叠9.16个处理器用单级网络互连,将9号连到13号处理器,可用()A.Cube3 B.PM2+4C.PM2+2 D.Shuffle10.多端口存储器适合于连接()A.松耦合多处理机 B.紧耦合多处理机C.机数很多的多处理机 D.机数可变的多处理机 二、填空题(本大题共10小题,每小题1分,共20分) 请在每小题的空格中填上正确答案.错填、不填均无分. 11.系列机软件兼容必须做到向______________兼容,尽可能争取向______________兼容.12.仿真和模拟的主要区别在于解释用的语言.仿真是用微程序解释,其解释程序在______________中,而模拟是用______________解释,其解释程序在主存中.13.浮点数阶码位数影响数的可表示______________大小,尾数位数影响数的可表示______________大小.14.集中式总线控制根据优先次序的不同可以有____________、定时查询和______________三种不同方式.15.程序的局部性包括______________上的局部性和______________上的局部性.16.为提高页式虚拟存储器内部地址变换的速度,可将其内部映象表又分成由____________表和______________表组成的一个二级表层次.17.异步流水线会出现顺序流动流水线不可能发生的" "相关和" "相关.18.解决重叠方式相关处理的两种基本方法有" "和设置"相关专用通路".后者是以______________为代价,使重叠效率不下降.19.N个结点的混洗交换网络中,最远的两个入、出端的二进制编号是______________和______________,其最大距离为2n-1.20.弗林(Michael J·Flynn)提出按指令流和数据流的多倍性对计算机系统分类,把计算机系统分成SISD、SIMD、______________和______________四大类. 三、简答题(本大题共5小题,每小题6分,共30分) 21.计算机系统"由中间开始"设计,其"中间"指的是什么地方?这样设计的优点是什么?22.浮点数尾数基值减少时,对机器数的表示会产生哪些影响?23.在页式虚拟存储器中,什么是页面失效?什么是页面争用?什么时候两者同时发生?什么时候两者不同时发生?24.流水机器的中断处理有哪两种方法?各有什么优缺点?25.多处理机的并行性表现在哪些方面?开发多处理机的并行性有哪些途径? 四、简单应用题(本大题共2小题,每小题10分,共20分) 26.有8台外设,各设备要求传送信息的工作速率分别如下表所示.现设计的通道,在数据传送期,每选择一次设备需2μs,每传送一个字节数据也需要2μs.(1)若用作字节多路通道,通道工作的极限流量是多少?(2)作字节多路通道用时,希望同时不少于4台设备挂在此通道上,最好多挂一些,且高速设备尽量多挂一些,请问应选哪些设备挂在此通道上?为什么? 设备标识 ABCDEFGH工作速率(kB/s)500240100755040141027.若系统要求主存实际频宽至少为8MB/s,采用模m多体交叉存取,但实际频宽只能达到最大频宽的0.55倍.(1)现设主存每个分体的存取周期为2μs,宽度为8个字节,则主存模数m(取2的整数幂)应取多少才能满足要求?(2)若主存每个分体的存储周期为2μs,宽度为2个字节,则主存模数m(取2的整数幂)应取多少才能满足需求?五、综合应用题(本大题共2小题,每小题10分,共20分) 28.文电由A—J及空格字符组成,其字符出现频度依次为0.17,0.05,0.20,0.06,0.08,0.03,0.01,0.08,0.13,0.08,0.11.(1)各字符用等长二进制码编码,传送103个字符时,共需传送多少个二进制码码位?(2)构造Huffman树,写出各字符的二进制码码位数;(3)按Huffman编码,计算字符的二进位平均码长;(4)按Huffman码传送103个字符时,与定长码编码传送相比,可减少传送的二进制码码位数是多少?29.有一个4段的单功能非线性流水线,预约表如下表所示.(1)写出延迟禁止表、冲突向量,并画出冲突向量状态转移图;(2)写出其流水线的最佳调度方案及此时的最大吞吐率.(注:t1,t2,t3,t4,t5,t6之间相隔Δt时间)全国2008年4月自学考试计算机系统结构试题 课程代码:02325 一、单项选择题(本大题共10小题,每小题1分,共10分) 在下列每小题的四个备选答案中选出一个正确答案,并将其字母标号填入题干的括号内。错选、多选或未选均无分。 1.系统程序员不透明的应当是() A.Cache存储器 B.虚拟存储器 C.指令缓冲寄存器 D.系列机各档不同的数据通路宽度 2.“从中间开始”设计的“中间”目前多数在() A.传统机器语言机器级与操作系统机器级之间 B.传统机器语言机器级与微程序机器级之间 C.微程序机器级与汇编语言机器级之间 D.操作系统机器级与汇编语言机器级之间 3.计算机中优化使用的操作码编码方法是() A.哈夫曼编码 B.ASCII码 C.BCD码 D.扩展操作码 4.指令执行结果出现异常引起的中断是() A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 5.以下不属于堆栈型替换算法的是() A.近期最少使用算法 B.近期最久未用过算法 C.先进先出算法 D.页面失效频率算法 6.以下与虚拟存储器的等效访问速度无关的是() A.页地址流 B.页面调度策略 C.主存的容量 D.辅存的容量 7.以下说法不正确的是() A.线性流水线是单功能流水线 B.动态流水线是多功能流水线 C.静态流水线是多功能流水线 D.动态流水线只能是单功能流水线 8.流水处理机对全局性相关的处理不包括() A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路 9.拓扑结构用多级立方体网络,二功能交换单元,级控制方式,这种网络称为() A.Omega网络 B.交换网络 C.间接二进制n方体网络 D.数据变换网络 10.能实现作业、任务级并行的异构型多处理机属() A.SIMD B.MISD C.MIMD D.SISD 二、填空题(本大题共10小题,每小题2分,共20分) 请在每小题的空格中填上正确答案。错填、不填均无分。 11.多机系统的耦合度可以分为最低耦合、___________耦合和___________耦合。 12.开发计算机系统结构并行性的主要技术途径有时间重叠、___________和___________。 13.自定义数据表示包括___________数据表示和___________两类。 14.系统效率是否提高是引入数据表示的一条重要原则,它表现在是否减少了实现的___________和所需的___________。 15.在满足通道设计流量不低于设备工作时的最大流量时,为使微观上不丢失设备信息,可 以加设___________或动态提高响应的___________来弥补。 16.Cache存储器若采用全相联映象规则,则主存中___________块都可映象装入到Cache中___________块的位置上。 17.流水线消除速度瓶颈的方法有瓶颈子过程___________和瓶颈子过程___________两种。 18.流水有部件级、处理机级、系统级等不同等级,多个处理机之间的流水属于___________ 级流水,也称___________流水。 19.不同的多级互连网络,在所用的___________、拓扑结构和___________上各有不同。 20.多处理机的互连形式一般有总线形式、环形互连形式、___________形式、多端口存储器形式和___________形式等几种。 三、简答题(本大题共5小题,每小题6分,共30分) 21.简述多处理机要解决的主要技术问题(至少写出6个)。 22.总线控制方式有哪三种?各需要增加几根用于总线控制的控制线?并说明每种方式优先级的灵活性。 23.实现软件移植的途径有哪些?各受什么限制? 24.什么是全排列网络?实现全排列网络有哪两种方法? 25.解决计算机主存与CPU的速度差对机器性能的影响,可采用哪

题2.1 数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么?[解答] 数据表示是数据结构的组成元素,数据结构要通过软件映象变换成机器所具有的各种数据表示来实现。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性上不同。数据结构和数据表示是软件和硬件之间的交界面。确定和引入数据表示的基本原则:一是看系统效率有否提高,即是否减少了实现的时间和存贮的空间,实现时间有否减少又主要看在主存和处理机之间传送的信息量有否减少;二是看引入这种数据表示的通用性和利用率是否较高。题2.2 标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?[解答] 在标志符数据表示中,标志符是与每个数据相连的,并且合存在同一个存贮单元中,用于描述单个数据的类型等属性;在描述符数据表示中,数据描述符是与数据分开独立存放的,主要是用于描述成块数据的类型属性,地址及其它信息的。描述符数据表示在实现向量、阵列数据元素的索引上要比用变址方法的方便,能更快地形成元素的地址,从而可以迅速进行访问,同时,也有利于检查程序中的向量、数组在使用中是否越界。因此,它为向量、数组数据结构的实现提供了一定的支持,有利于简化编译中的代码生成。但是,描述符数据表示并没有向量、数组的运算类指令,也没有采用流水或处理单元阵列形式的高速运算硬件,没有时阵列中每个元素又是一个子阵列的相关型交叉阵列进行处理的硬件。也投有时大量元素是零的稀疏向量和数据进行压缩存贮、还原、运算等指令和硬件。因此,它对向量和数组的数据结构提供的支持不够强,所以并不是向量数据表示。题2.3 堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?[解答] 通用寄存器型机器对堆栈数据结构的实现支持较差。这表现在:堆栈操作用的机器指令数少,一般只是些简单的压入(PUSH)和弹出(POP)之类的指令,功能单一;堆栈被放置于主存中,因此每次访问堆栈都要进行访存,速度低;堆栈一般只用于保存于程序调用时的返回地址,只有少量参数经堆栈来传递,大部分参数都是通过寄存器或内存区来传递的。堆栈型机器则不同,它主要表现在:有高速寄存器型的硬件堆栈,附加有控制电路让它与主存中的堆栈区在逻辑上构成一个整体,从而使堆栈的访问速度接近于寄存器的速度,容量却是主存的;有对堆栈的栈顶元素或栈顶元素和次栈顶元素进行各种操作和运算处理的丰富的堆栈操作指令,且功能很强;有力地支持高级语言程序的编译,由逆波兰表达式作为编译的中间语言,就可直接生成堆栈指令构成的程序,进行多元素表达式的计算,有力地支持于程序的嵌套和递归调用。堆栈型机器系统结构为程序的嵌套和递归调用提供了很强的支持,表现在:在程序调用时,不仅用堆栈保存返回地址,还保存条件码等多种状态信息和某些关键寄存器的内容,如全局性参数、局部性参数,以及为被调用的程序在堆栈中建立一个存放局部变量、中间结果等现场信息的工作区。堆栈机器在程序调用时,将这些内容全部用硬件方式压入堆栈。当子程序返回时,返回地址、运算结果、返回点现场信息均通过于程序返回指令用硬件方式从堆栈中弹出。只需修改堆栈指针内容就可删去堆栈中不用的信息。堆栈机器能及时释放不用的单元,访问堆栈时大量使用零地址指令,省去了地址码字段。即使访问主存,也采用相对寻址,使访存的地址位数较少,从而使堆栈型机器上运行的程序较短,程序执行时所用的存贮单元数少,存贮效率较高。题2.4 设某机阶码6位、尾数48位。阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出 其最小阶、最大阶、阶的个数,最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。[分析] 由教材中图2.7的浮点数表示格式可知,阶码6位,就是阶码部分除去阶符外,剩下的阶码值部分为6位;尾数48位,就是尾数的二进位位数m=48位。当尾数基值为rm时,尾数每一个rm。进制数位需用 个二进位表示。尾数基值为rm的尾数位数m’=m/ 。对于rm为2、8、16时,m’分别为48、16、12位。由于是非负阶,最小阶应当是阶值部分为全“0”。所以,最小阶为0。最大阶应当是阶值部分6位为全‘l”,所以,最大阶为2 -1,即26-1(=63)。阶的个数由阶值0到2 -1l,共有2 个,即64个。所谓规格化正尾数,就是正尾数小数点后的第1个rm进制数位不是0的数。因为尾数为全“0”的数是机器零,不作为机器中可表示的数。所以,最小正尾数值应当是rm进制尾数的小数点后第1个rm进制数位为“1”,其余数位为全“0”的数值,即1 rm 。最大正尾数值当然是rm进制尾数各数位均为rm一1的数。可以设想,在小数点后,rm进制的第m’个数位上加1,即加上rm-m’,就会使整个尾数值变为1。所以。可表示的最大尾数值应当是1- rm-m’。按浮点数表示格式的含义,浮点数的值应当是r 尾数值。浮点数可表示的最小值应当是阶为非负阶的最小值0,尾数为规格化最小正尾数值,所以,可表示浮点数最小值应当为rm0• rm-1= rm-1;可表示浮点数的最大值应当是阶为正的最大值2 -1,尾数为规格化正尾数最大值,所以,可表示浮点数的最大值应为r •(1- r )。可表示的浮点数规格化数的总个数应当是可表示阶的个数与可表示尾数的个数的乘积。由于在m’个尾数rm进制数位中,每个数位均可以有0~(rm-1),共有rm个码,所以,尾数的编码总个数为r 个,但应当去掉小数点后第1个数位是0的那些非规格化的数。显然,非规格化数的个数占了全部尾数可编码总数的l/rm的比例。所以,可表示的浮点数规格化数的总个数就为2 •r •(1-1/rm) 。只要将p、m、m’、 rm的具体值代入上述各式就可以得到本题的解答。[解答] p=6、m=48时,在非负阶、规格化、正尾数情况下,rm =2、8、16时的各个参数的计算结果如表2.1所示。非负阶、正尾数、规格化 尾基rm(p=16位,m=48位)2(m’=48) 8(m’=16) 16(m’=12)最小阶值 0 0 0 0最大阶值 2 -163 63 63阶的个数 264 64 64尾数最小值 rm-1 1/2 1/8 1/16尾数最大值 1- rm-m’ 1-2-48 1-8-16 1-16-12最小值 rm-1 1/2 1/8 1/16最大值 r •(1- r )263•(1-2-48) 863•(1-8-16) 1663•(1-16-12)数的总个数 2 •r •2715题2.5 (1)浮点数系统使用的阶基rp=2。阶码位数p=2,尾数基值rm=10,以rm为基的尾数位数m’=1,按照使用的位数来说,等价于m=4。试计算在非负阶、正尾数、规格化数情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。(2)对于rp=2,p=2,rm=4,m’=2,重复以上计算。[分析] 因为尾数基值rm=10,所以,rm进制尾数的每个数位只能取0~9中的一个值,即每个数位能取的最大值为9。[解答] (1)在非负阶、正尾数、规格化数的情况下,最小尾数值为rm-1=l0-1=0.1最大尾数值为1- rm-m’=1-10-1=0.9最大阶值为2 -1=2可表示的最小值为=rm-1=10-1=0.1可表示的最大值为r •(1- r )=103 (1-10-1)=900可表示的数的个数为2 •r • =(2)最小尾数值为rm-1=4-1=0.25最大尾数值为1- rm-m’=1-4-2=15/16最大阶值为2 -1=22-1=3可表示的最小值为rm-1=4-1=0.25可表示的最大值为r •(1- r )=可表示的数的个数为2 •r • =4题2.6 由4位数(其中最低位为下溢处理之附加位)经ROM查表舍入法下溢处理成3位结果,设计使下滥处理干均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。[分析] 根据题意,ROM表应当有24个单元。其中,每个单元的地址为待下溢处理的值,该地址单元的内容应为下滥处理后的3位结果值。所以,ROM表存贮单元的字长为3位。下溢处理表的填表原则是除了待处理的4位码的最高3位为全“1”时,按截断法填成全“1”外,其它情况均按4位(地址)码的最低位按0舍1入来填处理后相应该单元的3位结果。这样,既可体现出舍入法的优点。又避免了舍入法因进位影响下滥处理的速度的缺陷。同时,让完全用舍入法处理时所产生的平均误差略偏正的值可以与截断法的平均误差为负进行抵消,从而使经过这样的下溢处理之后,能让平均误差人为地调整到接近于零。[解答] ROM下溢处理表16个单元的地址码0000~1111,它与其内容(即下溢处理后的3位结果值)的对照关系如表2.2所示。地址 1111内容 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 111题2.9 变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构。[解答] 变址寻址适合在标量计算机中,通过循环程序对变址寄存#内容修改其变址值,来对向量或数组等数据结构中的元素进行访问和处理。基址寻址则主要是对程序的逻辑地址空间到物理地址空间进行变换时使用的,以支持程序使用动态再定位的技术。设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构,意味着指令中为寻找该操作数的地址码只有6位,只好用来表示这64个地址中的某一个。那么,这64个地址之一应当是在哪个大的地址空间中的,就得使用其它办法来指明。这里可列举常见的两种做法。一种是采用隐含寻址,让标志这64个地址是相对哪个基点地址的区域,用指令隐式规定的某个专门的寄存器中所存放的基址值来给出。例如,可约定某个变址寄存器或某个基址寄存器。程序执行时,每当要访存时,就可以经硬件加法器将隐含寄存器的基址值与指令中给出的6位相对位移量相加来形成其访存单元的物理地址。另一种是规定基点地址就用程序计数器,程序计数器(PC)存放的是当前所执行指令 的下一条指令所在主存中的地址(或偏移地址),因此,可以通过使用无条件转移指令来修改PC的内容,实现在一个大的地址空间中的访问,这就是所谓的PC自相对寻址。做法是通过将PC的内容和指令中所提供的6位相对位移量相加来形成主存单元的物理地址。题2.8 指令中常用下列寻址方式来得到操作数:立即操作数、间接寻址、直接寻址、寄存器寻址、自相对寻址。请分别说明这些寻址方法的原理,井对它们在如下4个方面进行比较:可表示操作数的范围大小;除取指外,为获得操作数所需访问主存的最少次数;为指明该操作数所占用指令中的信息位数的多少;寻址复杂性程度。[解答] 指令为寻找或访问到所需操作数的某种寻址方式,其含义在不同的计算机中会有所差别。下面,我们以大多数计算机中的情况来定义。立即操作数的寻址原理是,操作数以常数形式直接存放在指令中操作码的后面。一旦指令被取出,操作数也被取得,立即可以使用。立即操作数由于受机器指令字长的限制,可表示数的范围小,一般为8位或16位的二进制常数。指令取出后,为获得操作数不需要再访存,即访存0次。操作数所占用指令中的信息位数是立即数在可表示最大值范围时所要占用的二进位位数。寻址的复杂性程度相对最低。间接寻址可以有寄存器间接寻址和存贮器间接寻址两种。其寻址原理是,在指令的操作数地址字段上只给出存放操作数在内存中物理地址的寄存器号或存贮单元地址。先由指令操作数地址字段,从寄存器或存贮单元中取出数在存贮器中的地址。再按此地址访存,才能间接取得所要的操作数。有的计算机在存贮器间接寻址时,还可以有多重间接寻址,即从存贮单元中取出的内容作为地址。再去访有时得到的并不是操作数,而只是操作数在内存中的地址,或是地址的地址。如此顺序递推。间接寻址访问到的操作数范围大,可以是主存中能访问到可表示数值范围最大的数。除取指外,获得所需操作数所需访问主存的最少次数,对于奇存器间接寻址为一次。对于存贮器间接寻址为两次。为指明该操作数所占用指令中的信息位数,对于寄存器间接寻址来说,只是为寄存器编号所占用的二进位位数,这种位数一般很短(例如,16个通用寄存器的编号只需用4位二进位);而对于存贮器间接寻址来说,需占访存逻辑地址所需的全部位数。间接寻址的复杂性一般最高。其中,寄存器间接寻址较存贮器间接寻址简单,最复杂的是存贮器多重间接寻址。直接寻址的原理是,由指令中操作数地址码字段给出存放操作数在内存中的有效地址或物理地址。直接寻址可表示操作数值的范围大,可以是主存中能访问的可表示值范围最大的数。除取指外,为获得所需操作数,需要再访问一次主存。为指明操作数所占用指令中的信息位数,是访存单元的有效地址或物理地址所需要的位数。直接寻址的复杂性较寄存器寻址的大,而它较寄存器间接寻址要简单些。寄存器寻址的原理是,指令的操作数地址码宇段给出存放操作数所用的寄存器号。可表示操作数的范围大小取决于存放操作数所用的寄存器的二进位位数。除取指外,为获得操作数不用访存,即访存0次。为指明操作数所占用指令中的信息位数,只是寄存器编号所占的二进位位数,很短。例如,16个寄存器编号只需4位二进位。寄存器寻址简单,其取数的时间要比访存的时间短很多。自相对寻址方式主要用于转移指令形成转向目标地址,有的也用于访问存贮器找操作数。以访问存贮器操作数寻址为例,指令中操作数字段给出所访问操作数存放在主存中相对于指令计数器当前值的位移地址。自相对寻址所寻址的操作数可表示值范围大,可以是主存中能访问的可表示值范围最大的数。除取指外,为获得操作数所需访存的次数为1次。为指明该操作数所占用指令中的信息位数取决于允许的最大相对位移量大小。寻址复杂性较直接寻址的略复杂些。题2.9 设计如IBM 370那样有基地址寄存器的机器的另一种办法是,每条指令不用现在的基地址寄存器地址(4位)加位移量(12位)共16位作为地址码,而是让每条指令都有一个24位的直接地址。针对下面两种情况,评价一下这个方法的优、缺点:(1)数据集中于有限几块,但这些块分布在整个存贮空间;(2)数据均匀地分布在整个地址空间中。你认为IBM 370的设计者在实际应用中考虑了这两种情况中的哪一种可能性?为什么?[解答] 采用基地址寄存器加位移量作地址码,使指令中操作数的地址码只需要16位,不必使用24位直接地址。这样,可以大大减少程序中操作数地址字段所占用的存贮空间量。但是,每次访主存找操作数需要将逻辑地址经地址加法器变换成24位的物理地址,这需要花费一些时间。这对于数据集中于有限几块,而这些块又是分布在整个地址空间来说是有利的。用基址指向某个局部区间在主存中的基点位置,用位移量表示局部区域内相对基点地址的位移。如果用24位地址直接寻址,将会使其高位地址码的变化频率很低,虽然这不需要地址变换,形成物理地址的速度有所加快,但程序中操作数地址字段所花费的存贮空间量较大。这种寻址对于数据均匀地分布在整个地址空间中是有利的。IBM 370设计者之所以采用基地址寄存器加位移量的方式,是因为在实际应用中,程序存在着局部性,数据往往集中簇聚于有限的几块中,这些块又可能分布在整个存贮空间里。考虑到地址加法器硬件形成物理地址的速度较高,利用哈夫曼压缩概念,从空间和时间上的得失比较来看,速度下降不太显著,却可使程序所占存贮空间有显著减少。题2.10 经统计,某机14条指令的使用频度分别为:0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别求出用等长二进制编码、Huffman编码、只能用两种码长的扩展操作码编码等3种方式的操作码平均码长。[分析] 等长操作码的意思是不管其指令的频度如何,都用同样长度的二进制码位数来对指令操作码编码。显然,当指令系统中的指令条数为n时,等长操作码的二进制码位数应当是 。Huffman编码是用Huffman算法构造出Huffman树来得到的。它的平均码长是用 •l 计算求得的。只有两种码长的扩展操作码编码,则需要对指令使用频度进行按大小分群。将高频的指令分在同一群中,对其用短的操作码编码,而将低频的指令分在另一群中,使用长操作码编码。每一群都各自用等长操作码编码。这时,为能唯一解码和立即解码,在短操作码中还要使用某些码来作为扩展成长操作码的扩展标志码。经过综合权衡,使平均码长尽可能短,来定好长、短码的码长组配关系。从而,再用 •l 来求得其平均码长。[解答] 14条指令的等长操作码的平均码长是 位,即4位。Huffman编码可先用Huffman算法构造出Huffman树。本题的Huffman树如图2.1所示。图中,叶子上用圆括号所括起的数字是表示该频度指令所用的二进位编码的码位数, 所以Huffman编码的操作码平均码长为 •l =3.38位。采用只有两种码长的扩展操作码,可根据14条指令所给出的使用频度值分成两群。让使用频度较高的6种指令用3位操作码编码表示。例如,用000~101分别表示使用频度为0.15、0.15、0.14、0.13、0.12、0.11的指令的操作码。留下110和111两个3位码作为长码的扩展标志,扩展出2位码。从而用5位码就可以各扩展出4条使用频度较低的指令,这样,共有8条使用频度较低的指令符合题目的要求。由此可求得操作码的平均码长为•l =3 位题2.11 若某机要求有:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位,每个地址码长为3位。问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。[分析] 无论是哈夫曼编码,还是扩展操作码编码,其中的短码都不能与长码的首都有相同的。否则,由于短码成了长码的前缀,而指令中除了操作码外,后面所跟的,或者是操作数,或者是操作数所在的寄存器编号或存贮单元的地址码,它们又都是以二进制码编码的形式出现的,所以短操作码成了长操作码的前缀,就会使指令操作码译码时,无法做到唯一译码和立即解码,这是解答本题的关键之处。[解答]根据题意,三地址指令的格式为操作码地址1 地址2 地址3操作码占了3位,用来表示4条三地址指令需用掉8个不同码中的4个码,余下有4个码可用做扩展成长操作码的扩展标志。单地址指令的格式为操作码 地址

计算机系统结构自考技巧

主要还是靠理解啊。。。然后可以自己实践一下。背哪能背下来啊。

第三章 1、以IBM370为例说明为什么把中断分类以及分成几类。 大型多用途机器中断源多,每个中断源单独形成入口将导致硬件实现难,代价大,因此可归类,每类给中断服务程序入口由软件转入相应处理部分。IBM370中断分为6类:机器校验,访管,程序性,外部,I/O,重新启动。 2、专用和非专用线各自的优缺点 专用线:只连接一对物理部件的总线。优点:不用争总线,控制简单,系统可靠。缺点:总线数多且长,成本高,利用率低,不易扩展。 非专用线:可被多种功能与部件共享,但同一时刻只能被一个部件使用。优点:集成度高,造价低,可扩展能力强,总线利用率高,易标准化。缺点:流量小,争用总线,部件效率低,可能成为瓶颈,可靠性差。 3、减少总线线数的方法 线的组合:减少按功能和传递方向所需的线数。 编码:对少数几根功能线进行编码取代多根单功能线。 并/串-串/并:在总线两端设置转换器,经分拆移位后在目的端形成完整的字。 4、比较几种数据宽度 单字:适合低速设备,不用指明传送信息单位,缺点是速度慢总线利用率低; 定长块:高速设备,充分利用总线宽度不用指明传送信息单位,但不灵活; 可变长块:优先级速度都高的设备,灵活需充分利用总线带宽,但需指定传送信号块大小。 单字加定长块:优先级高速度低的设备,短数据可用单字传送减少带宽浪费,信息块太小时成为单字方式总线利用率低。 单字加可变长块:普遍使用,灵活有效,但复杂开销大。 5、有通道情况下的I/O过程 a目态程序中可安排I/O广义指令 b运行到广义指令后,产生访管中断 cCPU响应中断后进入管态 d管理程序根据广义指令编写通道程序,进入通道选择设备期 e选择通道和子通道,取出指令,选择控制器和设备,发启动命令,结束通道选择设备期 f进入通道数据传送期,完成数据传送 g向CPU发I/O请求,第二次转管态,调出相应管理程序,之后CPU返回目态。 6、比较通道的三种类型 字节多路:单字节,适于大量低速设备,字节交叉,多次选择设备,分时共享,满负荷时对通道要求的实际流量应是所连各设备的流量之和。 数组多路:定长块,适于大量高速设备,成组交叉,多次选择设备,分时共享,满负荷时对通道要求的实际流量应是所连各设备的流量的那个。 选择:不定长块,高优先级高速设备,独占通道,一次选择设备,独占,满负荷时对通道要求的实际流量应是所连各设备的流量的那个。 7、为什么中断优先级从高到低一般为:机器校验、程序性和管理程序调用、外部、I/O、重新启动? 机器校验若不及时处理,系统将无法正常工作。 程序中断若低于外部和I/O中断可能导致混乱。只有处理完机器故障后,才能进入访管中断。 重新启动一般时间并不紧迫,所以放在最后。 8、集中式串行链接的过程,优缺点,硬件故障时通讯的可靠性。 a经公共总线向总线控制器申请 b总线不忙时,总线控制器响应请求,送出总线可用。 c总线可用信号在部件间串行通过,直至某个部件发生总线请求。 d该部件获得总线使用权 e数据传送,维持总线忙 f传送完成,去除总线忙 g总线请求再次建立时,重复新的分配过程。 优点:简单,线数少,可扩充性好,可靠性高。 缺点:对总线可用线及电路敏感,不灵活,速度慢。 9、集中式定时查询的过程,优缺点,硬件故障时通讯的可靠性。 a每个部件发总线请求 b总线不忙时,定时查询谁发的请求 c查询到后,查询停止,该部件获得总线使用权 d数据传送,维持总线忙 e传送完成,去除总线忙 f总线请求再次建立时,重复新的分配过程。 优点:灵活,可靠性高 缺点:线数多,扩展性差,控制复杂,总线分配受限计数信号。 10、集中式独立请求的优缺点,硬件故障时通讯的可靠性。 a每个部件有总线请求和总线准许 b总线未分配时,总线分配器根据某种算法仲裁哪个申请部件使用总线。 c数据传送 d传送完毕后除去总线已分配和总线准许。 优点:速度快,灵活,方便隔离失效部件 缺点:线数多,复杂。 11、在现代计算机系统中,中断系统的软硬件功能是怎样分配的,为什么这样分配? 中断响应要求快,一般用硬件实现。 中断的处理过程一般用软件,也可用硬件支持。 中断响应过程中现场的保存和恢复用硬件实现,以保证响应速度。 另一部分现场用软件实现,提高灵活性。

四川自考本科计算机科学与技术专业(W080901)考试科目 02324离散数学、00023高等数学(工本)、02326操作系统、04735数据库系统原理、02325计算机系统结构、00015英语(二)、04741计算机网络原理等,具体可以登录省教育考试院官网查询。 自考复习安排 1根据自己的兴趣、工作需要等,确定要报考的专业。 2网上查询开考相关专业的院校,对照其报考条件,选择最佳报考科目。 3根据考试日程,合理安排考试顺序。 4网上报名,现场资格评审。 5在规定的时间打印考试通知书,领取准考证。 6凭有效证件入场考试。 7根据免考相关规定申请免考。 8理论课考完后,进行论文答辩。 9在所有理论课和论文都通过后,申请毕业。 10符合条件的,可以在毕业后1年内申请学士学位。 11自学考试,成本低,时间短,在学习过程中,不断积累的学习经验和研究方法,会受益终身。自考/成考有疑问、不知道如何总结自考/成考考点内容、不清楚自考/成考报名当地政策,点击底部咨询官网,免费领取复习资料:

把书上的内容尽可能看懂就好了,这些理论上不是一朝一夕就能学会的

计算机系统结构自考技巧总结

电脑的体系结构分为硬件系统和软件系统两个部分。多媒体技术个人电脑的硬件设备包括:主机:主机是整个电脑的主体,可以说用电脑来工作的时候,工作是在它内部完成的。主机外观上分为立式和卧式两种。立式机箱的结构更利于散热,更受人们欢迎一些。键盘:是电脑中不可缺少的输入设备,用户可以通过键盘输入命令和数据,并可通过它控制电脑的运行。常见的键盘大多是101或104键的,一些较为新颖的104键盘往往带有两个Windows键和一个应用程序键,以提高在Win7操作系统上操作电脑的效率。这些键可以分为大键盘区、编辑键区、功能键区和小键盘区。显示器:是电脑基本的输出设备,是整个电脑硬件系统中不可缺少的部分。我们现在常用的是液晶显示器,与传统的阴极射线管显示器相比,辐射比较低、体积小,耗电少。它利用液晶的特性,通电时排列变得有秩序,使光线容易通过,不通电时排列混乱,阻止光线通过,通过电路控制,显示图像。打印机也是一种常用的输出设备。因为显示器上显示的内容一旦关机就看不见了,也不方便把显示器搬来搬去给别人阅读,所以我们还是需要用打印机把自己的工作成果打印出来。鼠标:电脑中重要的输入设备,它能方便地把鼠标指针准确定位在我们指定的屏幕位置,很方便地完成各种操作。按其工作原理,鼠标分为机械鼠标、光电鼠标和光机鼠标。目前我们常常用的鼠标是光电鼠标。光电鼠标的下面是两个平行放置的小光源,这种鼠标只能在特定的鼠标垫上移动,光源发出的光经过鼠标垫反射后由鼠标接收为移动信号,送入电脑,使屏幕上的鼠标指针随之移动。鼠标指针和鼠标的移动方向是一致的,移动距离也成比例。光电鼠标使用时比较灵活,故障率比较低。音箱:相当于电脑的嘴巴和喉咙,有了它电脑才能发出悦耳的声音。音箱的外壳有木质和塑料两种,两只音箱一左一右摆放在电脑两侧,与显示器有一定距离,才能得到立体声效果。麦克风:相当于电脑的耳朵,有了它电脑才能把外部的声音传送到电脑中,变换成数字波形,输入到文件或多媒体图像中。摄像头:可以分为数字摄像头和模拟摄像头两大类,数字摄像头可以直接捕捉影像,通过串口、并口或USB接口传到电脑里。根据摄像头的形态,可以分为桌面底座式、高杆式和液晶挂式。摄像头还可以分为有驱动和无驱动型的摄像头。软件分为系统软件、应用软件。系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。操作系统是一管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让使用者与系统交互的操作接口。目前多媒体个人电脑的主要操作系统是Windows 7。应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。多媒体个人电脑的应用软件主要有酷狗音乐、腾讯视频、PPTV、Office 2007等。

计算机体系结构第一阶段60年代中期以前,是计算机系统发展的早期时代。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无需预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人。由于规模小,程序编写起来相当容易,也没有什么系统化的方法,对软件开发工作更没有进行任何管理。这种个体化的软件环境,使得软件设计往往只是在人们头脑中隐含进行的一个模糊过程,除了程序清单之外,根本没有其他文档资料保存下来。第二阶段从60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。实时系统能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行。在线存储技术的进步导致了第一代数据库管理系统的出现。计算机系统发展的第二代的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。随着计算机应用的日益普及,软件数量急剧膨胀。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境。上述种种软件维护工作,以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的。“软件危机”就这样开始出现了。1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机课题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了。第三阶段计算机系统发展的第三代从20世纪70年代中期开始,并且跨越了整整10年。在这10年中计算机技术又有了很大进步。分布式系统极大地增加亍计算机系统的复杂性,局域网、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求。但是,在这个时期软件仍然主要在工业界和学术界应用,个人应用还很少。这个时期的主要特点是出现了微处理器,而且微处理器获得了广泛应用。以微处理器为核心的“智能”产品随处可见,当然,最重要的智能产品是个人计算机。在不到10年的时间里,个人计算机已经成为大众化的商品。在计算机系统发展的第四代已经不再看重单台计算机和程序,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网和广域网,与先进的应用软件相配合,已经成为当前的主流。计算机体系结构已迅速地从集中的主机环境转变成分布的客户机/服务器(或浏览器/服务器)环境。世界范围的信息网为人们进行广泛交流和资源的充分共享提供了条件。软件产业在世界经济中已经占有举足轻重的地位。随着时代的前进,新的技术也不断地涌现出来。面向对象技术已经在许多领域迅速地取代了传统的软件开发方法。总结软件开发的“第四代技术”改变了软件界开发计算机程序的方式。专家系统和人工智能软件终于从实验室中走出来进入了实际应用,解决了大量实际问题。应用模糊逻辑的人工神经网络软件,展现了模式识别与拟人信息处理的美好前景。虚拟现实技术与多媒体系统,使得与用户的通信可以采用和以前完全不同的方法。遗传算法使我们有可能开发出驻留在大型并行生物计算机上的软件。5基本原理编辑计算机体系结构解决的是计算机系统在总体上、功能上需要解决的问题,它和计算机组成、计算机实现是不同的概念。一种体系结构可能有多种组成,一种组成也可能有多种物理实现。计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理地把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。一般而言,计算机组成研究的范围包括:确定数据通路的宽度、确定各种操作对功能部件的共享程度、确定专用的功能部件、确定功能部件的并行度、设计缓冲和排队策略、设计控制机构和确定采用何种可靠技术等。计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,信号传输技术,电源、冷却及装配等技术以及相关的制造工艺和技术。

一 .准备充分 (1)四级考考试笔试部分知识量较大,考试难度较高。准备四级考试一定要有一个详细且周密的复习计划,笔试部分的集中复习时间以两个月为宜,时间太长效果不一定好,主要是识记的东西可能发生遗忘。备考过程中我有一个原则是“以题为本,以纲为纲”。也就是说做练习一定要贴近考题,不要什么题都做,复习要按考试大纲制定计划,以达到大纲要求为准,不要做无用功。 (2)四级考试涉及的知识量很大(看看那厚厚的教材就知道了),对于大多数人来说,难点主要在离散数学和计算机英语 。对于离散数学,如果有机会旁听一下计算机专业的核心课程《离散数学》会很有帮助,另外要作一定数量的习题,因为仅仅通过识记是无法提高水平的。计算机英语没有有些人想象中的困难,常用的单词只有几百个,只要把近五、六年的试题中英语题过一遍就差不多了,手头最好有一本专业词典。笔试中比较灵活的是论述题,建议买一本历年试题及参考答案(每年国家考试中心都出版),仔细研究一下,掌握答题方法。论述题通常有四道,可以选择自己最有把握的。 (3)C语言上机考试,笔者的感觉难度并不比三级大。较复杂的部分,如文件读写、函数调用等,通常题目已给出,因而所考的依然是比较基本和典型的算法。虽然难度并不大,但仍然要对C语言的基础知识熟练掌握,尤其要留意基本概念和基本方法(选择法、冒泡法等)。一般来说,如果能独立做出大部分课后题就可以了。平时自己多做一些小程序会有很大帮助的,另外编程时注意要尽量符合规范,否则很容易丢分。 二 . 三遍读书法 (1)复习过程中要扣住教材,按笔者的亲身经历,看三遍书的复习效果比较好。第一遍要通读教材,不要纠缠于艰难的部分,要注重于基础知识、基本概念。结合以前的知识,建立知识网络,注意各种原理的理解,不必太注意细节。所用的时间也不宜过长,一到两周时间好。 (2)第二遍是攻坚阶段,要结合手中的辅导书进行,一本好的辅导书会给你带来巨大的帮助,由于四级考试已经举行多年,各出版社出的辅导书内容都比较翔实。我强烈推荐大连理工出版社出版的《全国计算机等级考试题典(四级)》,这本书贴近考试,解答详尽。选好辅导书之后开始一章一章地作题,遇到不懂的部分就到教材相关的地方找答案,帮助自己理解和识记相关知识。复习过一章之后要整理一下本章的知识点。 (3)最后一遍复习以辅导书为主,将辅导书从头到尾的看一遍,对辅导书中出现的知识作一下强化记忆,并开始每隔一两天作一套模拟题或以前的考题,最好是近五年以内的试题。最后一周结合教材把第二遍复习时整理的知识点看一看,主要是为论述题做准备。最后一轮复习对考试成绩影响最大,切不可掉以轻心,一定要认真对待。 三 . 临场发挥四级的笔试时间比较长,有三个小时,时间很充足,对论述题一定要深思熟虑。四级上机考试和三级一样,只有一道编程题,注意别紧张,一定要存盘,否则没有成绩。当时跟我一个考场的同学就有人因为慌乱忘记存盘,造成下午的考试没有通过。另外答案要写得简洁明了,尽量使用专业术语,一些最基本的用语一定要记住,对于自己把握不准的千万不能胡编乱造,自创词汇,弄巧成拙。四 . 四级考试大纲基本要求1.具有计算机及其应用的基础知识。2.熟悉计算机操作系统,软件工程和数据库的原理及其应用。3.熟悉计算机体系结构、系统组成和性能评价的基础和应用知识。4.具有计算机网络和通信的基础知识。5.具有计算机应用项目开发的分析设计和组织实施的基本能力。6.具有计算机应用系统安全性和保密性知识。考试内容一、计算机系统组成及工作原理1. 基本概念:⑴ 计算机系统的硬件组成。⑵ 计算机系统的层次结构。⑶ 计算机的主要性能指标。2.运算方法基础与运算器:⑴ 数值数据在计算机中的表示。⑵ 非数值数据在计算机中的表示。⑶ 数据校验码。⑷ 基本的算术运算。⑸ 基本的逻辑运算。⑹ 运算器的组成。3.指令系统及控制器:⑴ 指令格式和指令的寻址方式。⑵ 指令类型。⑶ 控制器的组成。⑷ CPU的总体结构。⑸ 中断系统。4.存储系统⑴ 存储系统原理。⑵ 半导体随机存储器和只读存储器。⑶ 主存储器的组成与读写操作。⑷ 外存储器的工作原理。5.输入/输出设备与输入/输出系统:⑴ 常用输入/输出设备。。⑵ 程序查询方式。⑶ 程序中断方式。⑷ DMA方式。⑸ 通道方式。⑹ 典型总线。 二、数据结构与算法1.基本概念:⑴ 数据结构的基本概念。⑵ 算法的定义、性质、描述与算法分析。2.线性表:⑴ 线性表的基本概念。⑵ 线性表的顺序存储结构。⑶ 线性表的链式存储结构(单链表、循环链表、双向链表。3.数组:⑴ 数组的基本概念(定义,基本操作)。⑵ 数组的存储方法。⑶ 特殊矩阵的压缩存储。4.堆栈与队列:⑴ 堆栈的基本概念与操作。⑵ 堆栈的顺序存储结构。⑶ 堆栈的链式存储结构。⑷ 队列的基本概念与操作。⑸ 队列的顺序存储结构。⑹ 队列的链式存储结构。 5.树和二叉树:⑴ 树的基本概念(定义,名词术语)和存储方法。⑵ 二叉树的基本概念及性质。⑶ 二叉树顺序存储结构与链式存储结构。⑷ 二叉树的遍历(前序遍历,中序遍历,后序遍历,按层次遍历)。⑸ 线索二叉树。⑹ 二叉排序树(建立与查找)。6.图:⑴ 图的基本概念(定义,分类,名词术语)。⑵ 图的存储方法(邻接矩阵存储方法,邻接表存储方法)。⑶ 图的遍历(深度优先搜索,广度优先搜索)。⑷ 最小生成树。⑸ 最短路径问题。⑹ 拓扑排序。7.文件及其查找:⑴ 数据文件的基本概念。⑵ 顺序文件及其查找方法(顺序查找方法,折半查找方法)。⑶ 索引文件及其查找方法。⑷ 散列文件及其查找方法。 8.内排序:⑴ 排序的基本概念(定义,功能,分类)。⑵ 插入排序方法。⑶ 选择排序方法。⑷ 起泡排序方法。⑸ 希尔排序方法。⑹ 快速排序方法。⑺ 堆排序方法。⑻ 二路归并排序方法。三、离散数学1.数理逻辑:⑴ 命题、联结词及其命题符号化。⑵ 命题公式及其分类。⑶ 命题逻辑等值演算。⑷ 析取范式与合取范式。⑸ 命题逻辑推理理论。⑹ 谓词与量词。⑺ 谓词公式与解释。⑻ 谓词公式的分类。⑼ 谓词逻辑等值演算与前束范式。⑽ 谓词逻辑推理理论。2.集合论:⑴ 集合基本概念。⑵ 集合的运算。⑶ 基本的集合恒等式。⑷ 有序对与卡氏积。⑸ 二元关系。⑹ 关系的逆、限制及象。⑺ 关系的性质。⑻ 关系的闭包。⑼ 关系的复合。⑽ 等价关系与划分。⑾ 偏序关系与哈斯图。⑿ 函数及其性质。⒀ 复合函数与反函数。⒁ 自然数与自然数集合。⒂ 集合之间的等势与优势。⒃ 集合的基数。 3.代数结构:⑴ 代数运算及其性质。⑵ 代数系统。⑶ 代数系统的同态与同构。⑷ 半群与群。⑸ 子群与陪群。⑹ 正规子群与商群。⑺ 循环群与置换群。⑻ 环与域。⑼ 格与布尔代数。 4.图论:⑴ 无向图与有向图。⑵ 路、回路与图的连通性。⑶ 图的矩阵表示。⑷ 二部图与完全二部图。⑸ 欧拉图与哈密尔顿图。⑹ 平面图。⑺ 无向树及其性质。⑻ 生成树。⑼ 根树及其应用。四、操作系统1.操作系统基本概念:⑴ 操作系统的功能。⑵ 操作系统的基本类型。⑶ 操作系统的接口。2.进程管理:⑴ 进程、线程与进程管理。⑵ 进程控制。⑶ 进程调度。⑷ 进程通信。⑸ 死锁。3.作业管理:⑴ 作业与作业管理。⑵ 作业状态与调度。4.存储管理:⑴ 存储与存储管理。⑵ 虚拟存储原理。⑶ 页式存储。⑷ 段式存储。⑸ 段页式存储。⑹ 局部性原理与工作集概念。5.文件管理:⑴ 文件与文件管理。⑵ 文件的分类。⑶ 文件结构与存取方式。⑷ 文件目录结构。⑸ 文件存储管理。⑹ 文件存取控制。⑺ 文件的使用。6.设备管理:⑴ 设备与设备分类。⑵ 输入输出控制方式。⑶ 通道技术。⑷ 缓冲技术。⑸ 设备分配技术与SPOOLing系统。⑹ 磁盘调度。7.典型操作系统的使用:⑴ UNIX的特点与使用。⑵ Linux的特点与使用。⑶ Windows的特点与使用。五、软件工程1.软件工程基本概念:⑴ 软件与软件危机。⑵ 软件工程定义。⑶ 软件生命周期。⑷ 软件过程模型。2.结构化分析与设计:⑴ 问题定义与可行性研究。⑵ 软件需求分析。⑶ 数据流程图与数据字典。⑷ 软件体系结构设计。⑸ 概要设计与详细设计。⑹ 模块结构设计与数据结构设计。⑺ 用户界面设计。3.原型化开发方法:⑴ 原型化开发的基本原理。⑵ 原型化开发模型。⑶ 原型化开发过程。⑷ 软件复用。4.面向对象分析与设计:⑴ 面向对象的基本概念。⑵ 面向对象分析。⑶ 面向对象设计。⑷ 统一建模语言(UML)。5.软件测试:⑴ 软件测试的基本概念。⑵ 软件测试方法。⑶ 测试用例设计。⑷ 软件测试过程。6.软件维护:⑴ 软件维护的基本概念。⑵ 软件维护活动。⑶ 软件可维护性。⑷ 软件维护的负作用。7.软件开发工具与环境:⑴ 软件开发工具。⑵ 软件工程环境。8.软件质量保证与软件质量度量:⑴ 软件质量概念。⑵ 软件质量保证。⑶ 软件质量度量与评价。⑷ 软件技术的评审。⑸ 软件可靠性。8.软件管理:⑴ 软件管理职能。⑵ 软件项目组织与计划。⑶ 风险分析。⑷ 项目进度与跟踪。⑸ 软件配置管理。⑹ 软件过程成熟度模型(CMM)。⑺ 软件工程标准化与软件文档。⑻ 软件产权保护。六、数据库1.数据库基本概念:⑴ 信息处理与数据库。⑵ 数据模型。⑶ 数据库系统结构。⑷ 数据库系统组成。2.关系数据库:⑴ 关系数据库的基本概念。⑵ 关系数据模型。⑶ 关系的完整性。⑷ 关系代数。⑸ 元组关系演算⑹ 域关系演算。3.关系数据库标准语言SQL:⑴ SQL语言的特点。⑵ SQL语言的基本概念。⑶ 数据定义。⑷ 数据操纵。⑸ 视图。⑹ 数据控制。 ⑺ 嵌入式SQL。4.关系数据库设计理论:⑴ 函数依赖。⑵ 多值依赖。⑶ 关系模式分解。⑷ 关系模式的规范化。5.数据库保护:⑴ 数据库恢复。⑵ 并发控制。⑶ 完整性。⑷ 安全性。6.数据库设计:⑴ 数据库设计的目标。⑵ 数据库设计的方法和步骤。⑶ 需求分析。⑷ 概念设计。⑸ 逻辑设计。⑹ 物理设计。⑺ 数据库的实施与维护。7.数据库管理系统:⑴ 数据库管理系统的组成。⑵ 数据库系统的工作过程。⑶ 数据库管理系统产品。 8.数据库新技术:⑴ 数据库技术的发展。⑵ 分布式数据库。⑶ 并行数据库。⑷ 多媒体数据库。⑸ 对象和对象-关系数据库。⑹ 数据库仓库。⑺ 数据挖掘。⑻ Web数据库。 七、计算机体系结构1.体系结构的基本概念:⑴ 计算机系统的层次结构。⑵ 体系结构的定义。⑶ 体系结构的分类。⑷ 体系结构发展的影响因素。⑸ 体系的定量分析。2.存储体系:⑴ 存储层次。⑵ Cache工作原理。⑶ 虚存工作原理。3.指令与时间并行性:⑴ 指令优化策略。⑵ 流水线技术。⑶ RISC。4.并行处理技术:⑴ 并行性概念。⑵ 超流水线与超标量技术。⑶ 向量处理机。⑷ 阵列处理机。⑸ 多处理机。⑹ 机群处理机。 5.系统性能评价:⑴ 性能评价概念。⑵ 基准测试程序。八、计算机网络与通信1.计算机网络与Internet:⑴ 网络发展与网络用户。⑵ 网络硬件。⑶ 网络软件。⑷ 参考模型。⑸ 网络实例(Internet)。2.应用层:⑴ 应用层概述。⑵ 万维网:HTTP。⑶ 文件传输:FTP。⑷ 电子邮件。⑸ 域名系统:DNS。⑹ 网络安全。3.传输层:⑴ 传输层概述。⑵ 传输协议的要素。⑶ 无连接传输:UDP。⑷ 面向连接传输:TCP。⑸ 拥塞控制。4.网络层与路由:⑴ 网络层概述。⑵ 路由原理。⑶ Internet协议。⑷ Internet路由。⑸ 服务质量。⑹ 网络互联。5.链路层与局域网:⑴ 数据链路层概述。⑵ 流量控制。⑶ 差错控制。⑷ Internet链路层与HDLC。⑸ 多路访问协议与ETHERNET。⑹ 数据链路层交换。上机测试内容1.计算机操作能力。2.C语言程序设计能力。3.项目开发能力。4.开发工具的使用能力。考试方式1.考试形式包括笔试(180分钟)和上机测试(60分钟)。2.笔试的试题包括选择题和论述题两种类型,其中在五分之一的选择题用英文书写,其余选择题和论述题用中文书写。

计算机体系结构(ComputerArchitecture)是程序员所看到的计算机的属性,即概念性结构与功能特性。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的,通常所说的计算机体系结构主要指机器语言级机器的系统结构。经典的关于“计算机体系结构(computerarchitecture)”的定义是1964年C.M.Amdahl在介绍IBM360系统时提出的,其具体描述为“计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性” 。计算机体系结构2基本概念编辑计算机体系结构就是指适当地组织在一起的一系列系统元素的集合,这些系统元素互相配合、相互协作,通过对信息的处理而完成预先定义的目标。通常包含的系统元素有:计算机软件、计算机硬件、人员、数据库、文档和过程。其中,软件是程序、数据库和相关文档的集合,用于实现所需要的逻辑方法、过程或控制;硬件是提供计算能力的电子设备和提供外部世界功能的电子机械设备(例如传感器、马达、水泵等);人员是硬件和软件的用户和操作者;数据库是通过软件访问的大型的、有组织的信息集合;文档是描述系统使用方法的手册、表格、图形及其他描述性信息;过程是一系列步骤,它们定义了每个系统元素的特定使用方法或系统驻留的过程性语境。计算机体系结构38种属性编辑1·机内数据表示:硬件能直接辨识和操作的数据类型和格式计算机体系结构2·寻址方式:最小可寻址单位、寻址方式的种类、地址运算3·寄存器组织:操作寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则4·指令系统:机器指令的操作类型、格式、指令间排序和控制机构5·存储系统:最小编址单位、编址方式、主存容量、最大可编址空间6·中断机构:中断类型、中断级别,以及中断响应方式等7·输入输出结构:输入输出的连接方式、处理机/存储器与输入输出设备间的数据交换方式、数据交换过程的控制8·信息保护:信息保护方式、硬件信息保护机制。4发展历程编辑计算机系统已经经历了四个不同的发展阶段。计算机体系结构第一阶段60年代中期以前,是计算机系统发展的早期时代。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无需预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人。由于规模小,程序编写起来相当容易,也没有什么系统化的方法,对软件开发工作更没有进行任何管理。这种个体化的软件环境,使得软件设计往往只是在人们头脑中隐含进行的一个模糊过程,除了程序清单之外,根本没有其他文档资料保存下来。第二阶段从60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。实时系统能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行。在线存储技术的进步导致了第一代数据库管理系统的出现。计算机系统发展的第二代的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。随着计算机应用的日益普及,软件数量急剧膨胀。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境。上述种种软件维护工作,以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的。“软件危机”就这样开始出现了。1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机课题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了。第三阶段计算机系统发展的第三代从20世纪70年代中期开始,并且跨越了整整10年。在这10年中计算机技术又有了很大进步。分布式系统极大地增加亍计算机系统的复杂性,局域网、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求。但是,在这个时期软件仍然主要在工业界和学术界应用,个人应用还很少。这个时期的主要特点是出现了微处理器,而且微处理器获得了广泛应用。以微处理器为核心的“智能”产品随处可见,当然,最重要的智能产品是个人计算机。在不到10年的时间里,个人计算机已经成为大众化的商品。在计算机系统发展的第四代已经不再看重单台计算机和程序,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网和广域网,与先进的应用软件相配合,已经成为当前的主流。计算机体系结构已迅速地从集中的主机环境转变成分布的客户机/服务器(或浏览器/服务器)环境。世界范围的信息网为人们进行广泛交流和资源的充分共享提供了条件。软件产业在世界经济中已经占有举足轻重的地位。随着时代的前进,新的技术也不断地涌现出来。面向对象技术已经在许多领域迅速地取代了传统的软件开发方法。总结软件开发的“第四代技术”改变了软件界开发计算机程序的方式。专家系统和人工智能软件终于从实验室中走出来进入了实际应用,解决了大量实际问题。应用模糊逻辑的人工神经网络软件,展现了模式识别与拟人信息处理的美好前景。虚拟现实技术与多媒体系统,使得与用户的通信可以采用和以前完全不同的方法。遗传算法使我们有可能开发出驻留在大型并行生物计算机上的软件。5基本原理编辑计算机体系结构解决的是计算机系统在总体上、功能上需要解决的问题,它和计算机组成、计算机实现是不同的概念。一种体系结构可能有多种组成,一种组成也可能有多种物理实现。计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理地把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。一般而言,计算机组成研究的范围包括:确定数据通路的宽度、确定各种操作对功能部件的共享程度、确定专用的功能部件、确定功能部件的并行度、设计缓冲和排队策略、设计控制机构和确定采用何种可靠技术等。计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,信号传输技术,电源、冷却及装配等技术以及相关的制造工艺和技术。6分类编辑Flynn分类法1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性(multiplicity)特征对计算机系统进行分类,定义如下。·指令流:机器执行的指令序列计算机体系结构·数据流:由指令流调用的数据序列,包括输入数据和中间结果·多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。Flynn根据不同的指令流-数据流组织方式把计算机系统分为4类。1·单指令流单数据流(SingleInstructionStreamSingleDataStream,SISD)SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。2·单指令流多数据流(SingleInstructionStreamMultipleDataStream,SIMD)SIMD以并行处理机为代表,结构如图,并行处理机包括多个重复的处理单元PU1~PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同的数据。3·多指令流单数据流(MultipleInstructionStreamSingleDataStream,MISD)MISD的结构,它具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。4·多指令流多数据流(MultipleInstructionStreamMultipleDataStream,MIMD)MIMD的结构,它是指能实现作业、任务、指令等各级全面并行的多机系统,多处理机就属于MIMD。(2)冯式分类法1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa=(∑Pi)/T(其中i为1,2,…,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为μ=Pa/Pm=(∑Pi)/(T*Pm)。用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm=N*M。由此得出四种不同的计算机结构:①字串行、位串行(简称WSBS)。其中N=1,M=1。②字并行、位串行(简称WPBS)。其中N=1,M>1。③字串行、位并行(简称WSBP)。其中N>1,M=1。④字并行、位并行(简称WPBP)。其中N>1,M>1。7技术革新编辑计算机体系结构以图灵机理论为基础,属于冯·诺依曼体系结构。本质上,图灵机理论和冯·诺依曼体系结构是一维串行的,而多核处理器则属于分布式离散的并行结构,需要解决二者的不匹配问题。首先,串行的图灵机模型和物理上分布实现的多核处理器的匹配问题。图灵机模型意味着串行的编程模型。串行程序很难利用物理上分布实现的多个处理器核获得性能加速.与此同时,并行编程模型并没有获得很好的推广,仅仅局限在科学计算等有限的领域.研究者应该寻求合适的机制来实现串行的图灵机模型和物理上分布实现的多核处理器的匹配问题或缩小二者之间的差距,解决“并行程序编程困难,串行程序加速小”的问题。计算机体系结构在支持多线程并行应用方面,未来多核处理器应该从如下两个方向加以考虑。第一是引入新的能够更好的能够表示并行性的编程模型。由于新的编程模型支持编程者明确表示程序的并行性,因此可以极大的提升性能。比如Cell处理器提供不同的编程模型用于支持不同的应用。其难点在于如何有效推广该编程模型以及如何解决兼容性的问题。第二类方向是提供更好的硬件支持以减少并行编程的复杂性。并行程序往往需要利用锁机制实现对临界资源的同步、互斥操作,编程者必须慎重确定加锁的位置,因为保守的加锁策略限制了程序的性能,而精确的加锁策略大大增加了编程的复杂度。一些研究在此方面做了有效的探索。比如,SpeculativeLockElision机制允许在没有冲突的情况下忽略程序执行的锁操作,因而在降低编程复杂度的同时兼顾了并行程序执行的性能。这样的机制使得编程者集中精力考虑程序的正确性问题,而无须过多地考虑程序的执行性能。更激进的,TransactionalCoherenceandConsistency(TCC)机制以多个访存操作(Transaction)为单位考虑数据一致性问题,进一步简化了并行编程的复杂度。主流的商业多核处理器主要针对并行应用,如何利用多核加速串行程序仍然是一个值得关注的问题。其关键技术在于利用软件或硬件自动地从串新程序中派生出能够在多核处理器上并行执行的代码或线程。多核加速串行程序主要有三种方法,包括并行编译器、推测多线程以及基于线程的预取机制等。在传统并行编译中,编译器需要花费很大的精力来保证拟划分线程之间不存在数据依赖关系。编译时存在大量模糊依赖,尤其是在允许使用指针(如C程序)的情况下,编译器不得不采用保守策略来保证程序执行的正确性。这大大限制了串行程序可以挖掘的并发程度,也决定了并行编译器只能在狭窄范围使用。为解决这些问题,人们提出推测多线程以及基于线程的预取机制等。然而,从这种概念提出到现在为止,这个方向的研究大部分局限于学术界,仅有个别商业化处理器应用了这种技术,并且仅仅局限于特殊的应用领域。我们认为动态优化技术和推测多线程(包括基于线程的预取机制)的结合是未来的可能发展趋势。冯·诺依曼体系结构的一维地址空间和多核处理器的多维访存层次的匹配问题。本质上,冯·诺依曼体系结构采用了一维地址空间。由于不均匀的数据访问延迟和同一数据在多个处理器核上的不同拷贝导致了数据一致性问题。该领域的研究分为两大类:一类研究主要是引入新的访存层次。新的访存层次可能采用一维分布式实现方式。典型的例子是增加分布式统一编址的寄存器网络。全局统一编址的特性避免了数据一致性地考虑。同时,相比于传统的大容量cache访问,寄存器又能提供更快的访问速度。TRIPS和RAW都有实现了类似得寄存器网络。另外,新的访存层次也可以是私有的形式。比如每个处理器和都有自己私有的访存空间。其好处是更好的划分了数据存储空间,已洗局部私有数据没有必要考虑数据一致性问题。比如Cell处理器为每个SPE核设置了私有的数据缓冲区。另一类研究主要涉及研制新的cache一致性协议。其重要趋势是放松正确性和性能的关系。比如推测Cache协议在数据一致性未得到确认之前就推测执行相关指令,从而减少了长迟访存操作对流水线的影响。此外,TokenCoherence和TCC也采用了类似的思想。程序的多样性和单一的体系结构的匹配问题。未来的应用展现出多样性的特点。一方面,处理器的评估不仅仅局限于性能,也包括可靠性,安全性等其他指标。另一方面,即便考虑仅仅追求性能的提高,不同的应用程序也蕴含了不同层次的并行性。应用的多样性驱使未来的处理器具有可配置、灵活的体系结构。TRIPS在这方面作了富有成效的探索,比如其处理器核和片上存储系统均有可配置的能力,从而使得TRIPS能够同时挖掘指令级并行性、数据级并行性及指令级并行性。多核和Cell等新型处理结构的出现不仅是处理器架构历史上具有里程碑式的事件,对传统以来的计算模式和计算机体系架构也是一种颠覆2005年,一系列具有深远影响的计算机体系结构被曝光,有可能为未来十年的计算机体系结构奠定根本性的基础,至少为处理器乃至整个计算机体系结构做出了象征性指引。随着计算密度的提高,处理器和计算机性能的衡量标准和方式在发生变化,从应用的角度讲,讲究移动和偏向性能两者已经找到了最令人满意的结合点,并且有可能引爆手持设备的急剧膨胀。尽管现在手持设备也相对普及,在计算能力、可扩展性以及能耗上,完全起到了一台手持设备应该具备的作用;另一方面,讲究性能的服务器端和桌面端,开始考虑减少电力消耗赶上节约型社会的大潮流。Cell本身适应这种变化,同样也是它自己创造了这种变化。因而从它开始就强调了不一样的设计风格,除了能够很好地进行多倍扩展外,处理器内部的SPU(SynergisticProcessorUnit协同处理单元)具有很好的扩展性,因而可以同时面对通用和专用的处理,实现处理资源的灵活重构。也就意味着,通过适当的软件控制,Cell能应付多种类型的处理任务,同时还能够精简设计的复杂。

  •   索引序列
  •   计算机系统结构自考技巧答案
  •   计算机系统结构自考技巧答案解析
  •   计算机系统结构自考技巧答案详解
  •   计算机系统结构自考技巧
  •   计算机系统结构自考技巧总结
  •   返回顶部

自考地区