软件设计师 http://www.educity.cn/jiaocheng/zg7.html
CPU和主存的速度进行度量,因此有很大的局限性。
核心程序法:把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序,在不同机器上运行,测其执行时间,作为各类机器性能评价的依据。 (2)基准测试程序
基准程序法是目前一致承认的测试性能较好的方法,有多种不同的基准程序,用于不同的测试项目。
整数测试程序:Dhrystone是一个用来测试编译器和CPU处理整数指令和控制功能有效性的基准测试程序。
浮点测试程序:在计算机科学和工程应用领域,浮点计算工作量占很大比例,因此有许多此类基准测试程序。
理论峰值浮点速度:MELOPS,与处理器时钟周期、并行流水线功能部件数相关,是直接计算出来的理论值。
Linpack基准测试程序:主要测试向量性能和高速缓存性能。
Whetstone基准测试程序:综合性测试程序,除测试浮点操作外,还测试整数计算和功能调用等性能。
SPEC基准程序:是由几十家世界知名计算机大厂商支持的非盈利的合作组织,开发共同认可的标准基准程序。
TPC基准程序:是事务处理委员会编写的,共包括TPC-A,TPC-B,TPC-C,TPC-D和TPC-E五种,每一种都有一定的适用范围。 3.校验码
为了实现数据的自动检错与纠错,引入了校验码。而最简单的就是奇偶校验码,它分为
软件设计师 http://www.educity.cn/jiaocheng/zg7.html
奇校验和偶校验两种,均是添加1位校验位,根据信息码中1的个数来决定校验位的取值,使得填入校验位后,使得1的个数为奇数(奇校验)或偶数(偶校验)。这方面知识更深入的考察点主要包括以下几个方面: (1)海明码距
海明的冗余数据位检测和纠正代码差错的理论和方法指出:可以在数据代码上添加若干冗余位组成码字。而将一个码字变成另一个码字时必须改变的最小位数就是码字之间海明距离,简称码距。从这里将得出:没有加冗余校验码的任何编码,它们的码距就是1,即只要改一位,就可以变成另一个码字了;而奇偶校验码则添加了1位校验码,使得要变成另一个码字最少要修改两位,这就使其码距变成2了;根据定义得知,码距是不同码字的海明距离的最小值。判断码距时,可以列出一些码进行判断,找出最小的位数即可。 另外,还需要记住以下几个关键的关系:
可查出多少位错误:根据海明的研究发现,可以发现\≤码距-1\位的错误。
可以纠正多少位错误:根据海明的研究发现,可以纠正\码距/2\位的错误,因此如果要能够纠正n位错误,则所需最小的码距应该是\ (2)海明校验码
要计算海明校验码,首先要知道海明校验码是放置在2的幂次位上的,即\、2、4、8、16、32……\而对于信息位为m的原始数据,需加入k位的校验码,它满足m+k+1<2k.计算时总令人感到头痛。而有一种简单的方法,则是从第1位开始写,遇到校验位留下空格。例如:原始信息为101101100,并采用偶校验则:
图1-10 填入原始信息
软件设计师 http://www.educity.cn/jiaocheng/zg7.html
然后根据以下公式填充校验位\、2、4、8\ Bit 1=B3 B5 B7 B9 B11 B13 = 1 0 1 0 1 0 =1 Bit 2=B3 B6 B7 B10 B11 = 1 1 1 1 1 =1 Bit 4=B5 B6 B7 B12 B13 = 0 1 1 0 0 =0 Bit 8=B9 B10 B11 B12 B13 = 0 1 1 0 0=0 (注:?指的是异或运算;Bn代表位数) 然后将结果填入,得到:
图1-11 完成计算
而如果给出一个加入了校验码的信息,并说明有一位错误,要找出,则可以采用基本相同的方法,假如给出的是:
图1-12 有一位错误
可根据以下公式计算:
Bit 1=B1 B3 B5 B7 B9 B11 B13 = 1 1 0 1 0 0 0 =1 Bit 2=B2 B3 B6 B7 B10 B11 = 1 1 1 1 1 0 =1 Bit 4=B4 B5 B6 B7 B12 B13 = 0 0 1 1 0 0 =0 Bit 8=B8 B9 B10 B11 B12 B13 =0 0 1 0 0 0=1
然后从高位往下写,得到1101,即十进制的11,因此出错的位数为第11位。而剩下的
软件设计师 http://www.educity.cn/jiaocheng/zg7.html
问题就是这个公式如何来的?首先计算校验码时,1、2、4、8位都是空的,因此在公式的左边;当进行校验时,1、2、4、8位都已经有值,因此要参与计算。而这些值是根据右表得到的,也就是生成B1、B2、B4、B8四个公式,而公式中要参与计算的位,是在表格中出现\的那个位。要说明的是,右边的表格,就是对数据位的二进制描述。
由于海明码距在计算和纠错过程中,计算都过于复杂,无法很容易地使用硬件实现,因此在实际的应用中并不是应用得很广泛。 (3)CRC校验码
由于CRC的实现原理十分易于用硬件实现,因此被广泛地应用于计算机网络上的差错控制。而CRC的考察点主要有两个:计算CRC校验码;验算一个加了CRC校验的码是否有错误。
计算CRC校验码
要计算CRC校验码,需根据CRC生成多项式进行。例如:原始报文为\其生成多项式为:\在计算时,是在原始报文的后面若干个0(等于校验码的位数,而生成多项式的最高幂次就是校验位的位数,即使用该生成多项式产生的校验码为4位)作为被除数,除以生成多项式所对应的二进制数(根据其幂次的值决定,得到11011,因为生成多项式中除了没有x2之外,其他位都有)。然后使用模2除,得到的商就是校验码。
软件设计师 http://www.educity.cn/jiaocheng/zg7.html
图1-13 计算CRC校验码
然后将0011添加到原始报文的后面就是结果:110010101010011。 检查信息码是否有CRC错误
要想检查信息码是否出现了CRC错误的计算很简单,只需用待检查的信息码做被除数,除以生成多项式,如果能够整除就说明没有错误,否则就是出错了。另外要注意的是,当CRC检查出现错误时,它是不会进行纠错的,通常是让信息的发送方重发一遍。
1.2 典型试题分析 试题1
利用高速通信网络将多台高性能工作站或微型机互连构成机群系统,其系统结构形式属于 (1) 计算机。
(1)A. 单指令流单数据流(SISD)B. 多指令流单数据流(MISD)