您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 1.4【计算机组成与体系结构】考点汇总(共43页).pdf
  所属分类: 电信
  开发工具:
  文件大小: 413kb
  下载次数: 0
  上传时间: 2019-09-03
  提 供 者: mada****
 详细说明:对电网应聘人员:计算机专业的笔试相关内容TCPU=In×CPI×TC In执行程序中指令的总数 CPI执行每条指令所需的平均时钟周期数 T时钟周期时间的长度 3.MIPS、 MFLOPS (1) MIPS MIPS (Million Instructions Per Second MIPS=In/(Te×106) In/(In×CPI×Tc×106) Rc/(CPI×106) Te:执行该程序的总时间 In:执行该程序的总指令数 Rc:时钟周期Tc的到数 MIPS只适合评价标量机,不适合评价向量机。标量机执行一条指令,得到一个运行结果。而向量机执行一条指令, 可以得到多个运算结果。 (2) MFLOPS MFLOPS Million Floating Point Operations Per Second) MFLOPS=Ifn/(Te×106) Ifn:程序中浮点数的运算次数 MFLOPS测量单位比较适合于衡量向量机的性能。一般而言,同一程序运行在不同的计算机上时往往会执行不同数量 的指令数,但所执行的浮点数个数常常是相同的。 考点二数据的表示和运算 (一)数制与编码 1.进位计数制及其相互转换 1)进位计数制 进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权。 基数:进位计数制中所拥有数字的个数。 权:每位数字的值等于数字乘以所在位数的相关常数,这个常数就是权。 任意一个R进制数X,设整数部分为n位,小数部分为m位,则X可表示为 X=a,n-1+an-2h-2+…+a010+a-1x1 2)不同数制间的数据转换 (1)二、八、十六进制数转换成十进制数 利用上面讲到的公式: (N)2=∑Di·21、(N)8=∑Di·81、(N)16=∑Di·161、进行计算。 (2)十进制数转换成二进制数 通常要对一个数的整数部分和小数部分分别进行处理,各自得出结果后再合并。 对整数部分,一般采用除2取余数法,其规则如下: 将十进制数除以2,所得余数(0或1)即为对应二进制数最低位的值。然后对上次所得商除以2,所得余数即为二 进制数次低位的值,如此进行下去,直到商等于0为止,最后得的余数是所求二进制数最高位的值。 对小数部分,一般用乘2取整数法,其规则如下 将十进制数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值,然后对所余数的小数部分部分乘以2, 所得乘积的整数部分为次高位的值,如此进行下去,直到乘积的小数部分为0,或结果已满足所需精度要求为止。 (3)二进制数、八进制数和十六进制数之间的转换 八进制数和十六进制数是从二进制数演变而来的: 由3位二进制数组成1位八进制数; 由4位二进制数组成1位十六进制数。 对于一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足。 对整数部分将0补在数的左侧,对小数部分将0补在数的右侧。这样数值不会发生差错。 2.真值和机器数 真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为真值。 机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号。把符号数字化的数成为机器数。 3.BCD码 在计算机中采用4位二进制码对每个十进制数位进行编码。4位二进制码有16种不同的组合,从中选出10种来表示 十进制数位的09,用000,0001,…, 1001分别表示0,1,…,9,每个数位内部满足二进制规则,而数位之间满足十 进制规则,故称这种编码为以二进制编码的十进制( binary coded decimal,简称BCD)码。 在计算机内部实现BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是: 如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正; 如相加之和大于或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位。 4.字符与字符串 在计算机中要对字符进行识别和处理,必须通过编码的方法,按照一定的规则将字符用一组二进制数编码表示。 字符的编码方式有多种,常见的编码有 ASCII码、 EBCDIC码等。 1) ASCII码 ASCII码用7位二进制表示一个字符,总共128个字符元素,包括10个十进制数字(0-9)、52个英文字母(A-Z和a-z)、 34专用符号和32控制符号。 2) EBCDIC码为 Extended Binary Coded Decimal Interchange Code的简称,它采用8位来表示一个字符。 3)字符串的存放 向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的。 串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址。 5.校验码 数据校验码是一种常用的带有发现某些错误或自动改错能力的薮据编码方法。其实现原理,是加进一些冗余码, 使合法数据编码出现某些错误时,就成为非法编码。 这样,可以通过检测编码的合法性来达到发现错误的目的。合理地安排非法编码数量和编码规则,可以提高发现错 误的能力,或达到自动改正错误的目的。 码距:码距根据仼意两个合法码之间至少有几个二进制位不相冋而确定的,仅有一位不同,称其码距为1 1)奇偶校验码 它的实现原理,是使码距由1增加到2。若编码中有1位二进制数出错了,即由1变成0,或者由0变成1。这样出错的 编码就成为非法编码,就可以知道岀现了错误。在原有的编码辶上再増加一位校验位,原编码n位,形成新的编码为η+l 位。增加的方法有2种 奇校验:增加位的0或1要保证整个编码中1的个数为奇数个。 偶校验:增加位的0或1要保证整个编码中1的个数为偶数个。 2)海明校验码 它的实现原理,是在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出 错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位岀错,为自动纠错提供了依据。 假设校验位的个数为r,则它能表示2个信息,用其中的一个信息指出没有错误,其余2r-1个信息指出错误发 生在哪一位。然而错误也可能发生在校验位,因此只有 k=2x-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 3)CRC校验码 CRC校验码一般是指k位信息之后拼接r位校验码。关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r 信息码判淅是否出错。 将带编码的k位有效信息位组表达为多项式: MG Ci x+ Clx 式Ci中为0或1. 若将信息位左移r位,则可表示为多项式M(x).xr。这样就可以空岀r位,以便拼接r位校验位 CRC码是用多项式M(x).xr除以生成多项式G(x)所得的余数作为校验码的。为了得到r位余数,G(x)必须是r+1位。 设所得的余数表达式为R(x),商为Q(x)。将余数拼接在信息位组左移r位空出的r位上,就构成了CRC码,这个码的 可用多项式表达为: M(x)·xr+R(x)=[Q(x)·G(x)+R(x)]+R(x) [Q(x)·G(x)]+[R(x)+R(x)] Q(x)·G(x) 因此,所得CRC码可被G(x)表示的数码除尽。 将收到的CRC码用约定的生成多项式G(x)去除,如果无错,余数应为0,有某一位出错,余数不为0 (二)定点数的表示和运算 1.定点数的表示 1)无符号数的表示 无符号数就是指正整数,机器字长的全部位数均用来表示数值的大小,相当于数的绝对值。 对于字长为n+1位的无符号数的表示范围为 2n+ 2)带符号数的表示 带符号薮是指在计算机中将数的符号数码化。在计算机中,一般规定二进制的最高位为符号位,最高位为表示 该数为正,为表示该数为负。这种在机器中使用符号位也被数码化的数称为机器数。 根据符号位和数值位的编码方法不同,机器数分为原码、补码和反码。 (1)原码表示法 机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出。这是与真值最接近的 种表示形式。 原码的定义: (2)补码表示法 机器数的最高位为符号位,0表示正数,1表示负数,其定义如下 (3)反码表示法 机器数的最高位为符号,0表示正数,1表示负数。反码的定义 2.定点数的运算 1)定点数的位移运算 左移,绝对值扩大;右移,绝对值缩小。 算术移位规则 符号位不变 码制 添补代码 正数 负数 原 右移添0 左移添1 反 算术移位和逻辑移位的区别: 算术移位:带符号数移位 逻辑移位:无符号数移位: 2)原码定点数的加/减运算; 对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是减,不仅取决指令中的操作码,还取决于 两个操作数的符号。而且运算结果的符号判断也较复杂。 例如,加法指令指示做(+A)十(一B)由于一操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对 值大的符号相同。同理,在减法指令中指示做(十A)一(一B)实际操作做加法(十A)十(十B),结果与被减数符号 相同。由于原码加减法比较繁琐,相应地需要由复杂的硬件逻辑才能实现,因此在计算机中很少被采用。 3)补码定点数的加/减运算; (1)加法 整数[补+[补=[AB补(mod2m+1) 小数[补+[B补=[什B补(mod2) (2)减法 整数[补一[B补一[(-B补=[补+[-团补(mod2m+1) 小数[补-[B补=[A+(-B刀补=[们补+[-B补(mod2) 无需符号判定,连同符号位一起相加,符号位产生的进位自然丢掉 4)定点数的乘/除运算 1)一位乘法 1>原码定点一位乘法 两个原码数相乘,其乘积的符号为相乘两数的异或值,数值两数绝对值之积。 设X]原=X0X1X2…Xn [Y]原=Y0Y1Y2…Yn [X·Y]原=[X]原·[Y原 =(XO⊕Y0)|(X1X2…Xn)·(Y1Y2…Yn) 符号丨表示把符号位和数值邻接起来。 2>定点补码一位乘法 有的机器为方便加减法运算,数据以补码形式存放。乘法直接用补码进行,以减少转换次数。具体规则如下: [X·Y补=[Ⅺ]补(-Y0+0.Y1Y2…Yn) 3>布斯法 布斯公式 在乘数Yn后添加Yn+1=0。按照Yn+1,Yn相邻两位的三种情况,其运算规则如下: (1)Yn+1,Yn=0(Yn+1Yn=00或1),部分积加0,右移1位; (2)Yn+1,Yn=1(Yn+1Yn=10),部分积加[Ⅺ补,右移1位; (3)Yn+1,Yn=-1(Yn+1Yn=01),部分积加[一X补,右移1位 最后一步不移位。 (2)两位乘法 <1>原码两位乘法,因此实际操作用Yi-1、Yi、C三位来控制,运算规则如下 1 Y 操作 +0,右移2位 0→C 0 00+X,右移2位 右 11 00栘移2位 0→C +2X,右移2位 011 +2X,右移2位 0→C X,右移2位 移2位 +0,右移2位 2>补码两位乘法 根据前述的布斯算法,将两步合并成一步,即可推导出补码两位乘的公式。 YYn-i-1 Yn Yn-i+l [Pi+2]礼 0 0 +0,右移2位 0 X]补,右移2位 [X补,右 0 移2位 +2[X]补,右移2位 2[Ⅺ]补,右移2位 [X]补 移2位 [X]补,右移2位 10,右移2位 求部分积的次数和右移操作的控制问题。 当乘数由1位符号位和以n(奇数)位数据位组成时,求部分积的次数为(1+n)/2,而且最后一次的右移操作只 右移一位。 若数值位本身为偶数n,可采用下述两种方法之 ①可在乘数的最后一位补一个0,乘数的数据位就成为奇数,而且其值不变,求部分积的次数为1+(n+1)/2,即n/2+1, 最后一次右移操作也只右移一位。 ②乘数增加一位符号位,使总位数仍为偶数,此时求部分积的次数为n/2+1,而且最后一次不再执行右移操作, (3)补码除法 1>定点原码一位除法 1>恢复余数法 被除数(余数)减去除数,如果为0或者为正值时,上商为1,不恢复余数;如果结果为负,上商为0,再将除数加 到余数中,恢复余数。余数左移1位。 2>加减交替法 当余数为正时,商上1,求下一位商的办法,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的 办法,余数左移一位,再加上除数 2>定点补码一位除法(加减交替法) 1〉如果被除数与除数同号,用被除数减去除数;若两数异号,被除数加上除数。如果所得余数与除数同号商上1, 否则,商上0,该商为结果的符号位 2〉求商的数值部分。如果上次商上1,将除数左移一位后减去除数;如果上次商上0,将余数左移一位后加除数。 然后判断本次操作后的余数,如果余数与除数同号商上1,如果余数与除数异号商上0。如此重复执行n-1次(设数值部 分n位)。 3〉商的最后一位一般采用恒置1的办法,并省略了最低+1的操作。此时最大的误差为2 5)溢出概念和判别方法 当运算结果超岀机器数所能表示的范围时,称为溢岀。显然,两个异号数相加或两个同号数相减,其结果是不会 溢岀的。仅当两个同号薮相加或者两个异号数相减时,才有可能发溢出的情况,一旦溢出,运算结果就不正确了,因此 必须将溢出的情况检查出来。判别方法有三种 1〉当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢出。 2〉当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位。如果C≠ Cf,则为溢出,所以溢出条件=C⊕Cf。 3)采用双符号fs2fs1。正数的双符号位为00,负数的双符号位为11。符号位参与运算,当结果的两个符号位甲和 乙不相同时,为溢出。所以溢出条件=fs2⊕fs1,或者溢出条件=fs2fs1+fs2fs1 (三)浮点数的表示和运算 1.浮点数的表示 1)浮点数的表示范围; 浮点数是指小数点位置可浮动的数据,通常以下式表示 N=M·R 其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R为一常数,一般为2、8或16。在一台计 算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。因此,浮点数的机内表示一般采用以下形式 浮点数的机内表示一般用以下形式 Ms
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: