《计算机组成原理高分笔记》

所需积分/C币:50 2013-03-30 19:40:28 1.09MB PDF
收藏 收藏
举报

《计算机组成原理高分笔记》是考研不可多得的好材料,里面总结了整本书的全部知识点,包括重点题型。。
天勤论坛:www.csbiil.com 天勤论坛—专为计算机考研学子打造的专业交流平台 期待你的加入! 么的?好像又看不懂了,别急,让我们来一一分析吧!首先我们分析一下加法器,加法器一 般都是由与或非门或者半加器构成(后讲),这些器件都是没有记忆功能的。现在问题来了, 参与运算的数和运算结果应该放在哪里?没错,放在通用寄存器里面,自然而然运算的结果 就通过数据总线传递到通用寄存器组了。OK,通用寄存器组知道是干什么的,那选择门是 仆么东西?既然是叫寄存器组,说明至少得有2个寄存器吧。大家都知道加法是二目运算(需 要2个操作数),那应该让哪2个寄存器里的数参与运算呢?没错,就需要选择门来进行选 择。反过来想想,如果通用寄仔器组只有2个,显然选择门就可以不要了;甚至如果运算 器有记忆功能,寄存器组都可以不要了。 综上:运算的组成器件为:加法器、移位门、通用寄存器组、输入选择门、数据总线。 运算器的结构讲解完毕,下面对考纲知识点一一突破! www.csdill.co 大纲要求 数制与编码 1.进位计数制及其相互转换 2.真值和机器数 3.BCD码 4.字符与字符串 5.校验码 、定点数的表示和运算 1.定点数的表示 无符号数的表示,有符号数的表示。 2定点数的运算 定点数的移位运算,原码定点数的加减运算,补码定点数的加/减运算,定点数的乘除 运算,溢出概念和判别方法。 、浮点数的表示和运算 1.浮点数的表示 浮点数的表示范围,IEEE754标准 2浮点数的加减运算 四、算术逻辑单元ALU 1.串行加法器和并行加法器 2.算术逻辑单元ALU的功能和结构 ·本章知识体系框架图 天勤论坛:www.csbllcom 天勤论坛——专为计算机考研学子打造的专业交流平台 期待你的加入! 现实世界的信息 十进制数 文子 进制数表示 小数点表示 加减号表示 进制数运算 勒论坛 (1)定点表示 算数运算 逻揖运算 (2)浮点表 (1)原码 (2)补码 sill.com (3)反码 (4)移鸸 定点运算浮点运算 (1)非 (2)与 (1)加 (2)减 (3)或 (3)乘 (2)减 (4)异或 (4)除 课本导读(成书后会继续补充该模板) 、进位计数制及其相互转换 【定位】无,请参考知识点总结与深度扩展1。 【可能疑问点】无 二、真值和机器数 【定位】课本219页6.1.2,请参考知识点总结与深度扩展2。 【可能疑问点】无 、BCD码 【定位】课木215贝附录5B,请参考知识点总结与深度扩展3。 【可能疑问点】课本215页長5-3中的8421奇校验码和8421偶效验码的转换规律简单的解 释下:如果采用8421奇校验码,需要在高位补·位,至于是补0,还是补1,就要看8421 效验码中1的个数了,如果后4位有奇数个1,那么髙位补0,以保证最终1的个数为奇数, 方便进行奇校验,其他以此类推 四、字符与字符串 【定位】无,请参考知识点总结与深度扩展4。 【可能疑问点】无 五、校验码 【定位】奇偶校验码:课本216页;循坏几余校验码:144页;海明码:课本100仄;请参 考知识点总结与深度扩展5。 【可能疑闩点】关于海眀码的编码过程和校验过程,知识点总结与深度扩展5给出了通俗易 懂的讲解,考生可不看教材的讲解 六、定点数的表示 天勤论坛:www.csbiil.com 天勤论坛—专为计算机考研学子打造的专业交流平台 期待你的加入! 【定位】课本219页61 【可能疑问点】不少考生觉得运算器这一章比较晕,很大程度上是因为该章开头的时候就先 把一些似乎很难理解的分段函数放在前面讲解,给你一个下马威。最好的解决办法就是不用 理睬这些分段函数,比如课本220页整数原码的定义、小数原码的定义,然后根据定义来求 真值的原码,这些全都直接跳过,考研根本不考,为什么要看,就是不看,我们只看要考的, 后面有更简单的方法去计算真值的原码、补码、反码、移码,都是一句话解决问题,简单易 懂。为什么要去研究这些悔涩难懂的方法?没错,以前是没有人告诉你,现在告诉你了,赶 快跳过吧!关于定点数的衣示请参考知识点扩展与深度总结6 七、定点数的运算 【定位】课本234页,定点运算必备辅助知识请参考知识点扩展与深度总结7;。 移份运第参考知识点扩展与深度总8 wW.CSDIlLC0m 运算器的加减法总结请参考知识点扩展与深度总结9 运算器的乘法请参考知识点扩展与深度总结10: 运算器的除法请参考知认点扩展与深度总结11。 【可能疑问点】乘除法的硬件配置不需要看,考研不可能会考查电路的设计。另外,乘除法 般不会考查大题,因为完全是死记硬背。但是也不能不看,万一抽出一点细节问题米出选 择题也不是不可能,所以考生还是得将算法牢记于心。笔者推荐的办法是将乘除法的所有考 查算法各举一个例子,抄写在错题本上,时不时拿出来过一遍。 八、浮点数的表示和运算 【定位】课本229页,浮点数的表示总结请参考知识点扩展与深度总结14; IEEE754标准总结请参考知识点护展与深度总结15 浮点数的加减运算总结请参考知识点扩展与深度总结16 【可能疑问点】课本231页最上面为什么后者比前者可能会多出三位精度?这里不讲解,下 面扩展知识点里面有详细讲解。 九、算术逻辑单元ALU 【定位】课本280页,串行加法器和并行加法器总结请参考知识点护展与深度总结17; 算术逻辑单元ALU的功能和结构总结请参考知识点扩展与深度总结18; 【可能疑问点】无 ·知识点扩展与深度总结 1.二进制,八进制,十进制,十六进制的简单介绍及其之间的相互转换 【解析】事实上该知识点并不局限于计算机组成原理这门课,很多的课程都会讲授相关 的知识点。在此还是按照大纲要求进行一下基本的知识梳理,已掌握的读者可以珧过该知识 点讲解 1、数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。按进位 的方法进行计数,称为进位计数制。在日常生活和计算机中采用的都是进位计数制。一般来 说,比较常用到的进位计数制包括:二进制、八进制、十进制和十六进制。下面一一对其 介绍。 天勤论坛:www.csbllcom 天勤论坛—专为计算机考研学子打造的专业交流平台 期待你的加入! 十进制( Decimalism):关于这个,似乎没必要多说什么,因为日常生活中的进位计数 制都是十进制。表示方式:(1234567890)0、1234567890 二进制( Binary):二进制是计算技术中最广泛采用的一种数制,使用0和1两个数码 来表示数。在计算机中,则是以电平的高低来表示,通常高电平代表“1”,低电平代表“0” 它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲 学大师莱布尼兹发现。二进制具有实现简单,适合计算机运算,可靠性高等优点,但也存 在着定的不足,比如衣示效率太低,书写不便。(如(255)10-1,10进制255 需要由二进制的8位来表示,当数码很大时,书写起来相当费事)。由此,便引进了八进制 和十六进制。表示方式:(10)2、10B 八进制( Octal)和十六进制( Hexadecimal):规则都是和二进制很相似的,八进制由 0~7表示数码,进位规则是“逢八进”借位规则是“借一当八”:十六进制09,4m F表示数码,A~F分别对应于十进制的10~15,进位规则是“逢十六进一”,借位规则是 “借一当十六”之所以说“引进”这两种进制,主要是为了书写的方便(只体解释见二进 制和八进制及六进制的转换),在机器内的表示并不区别,都仍为二进制。人进制表示方 式:(12345670)8、123456700(这里之所以用Q,而不是八进制 Octal的首字母O,主要 是为了书写中和0区别开);十六进制表示方式:(1234567890 ABCDEH)16、 1234567890 ABCDEFE、0x123456789 ABCDER(编程中使用十六进制的方式,比如一些内 存地址都是用这和表示方式)。 2、进制之间的相互转换 二进制、八进制、十六进制转为十进制。这里仅以二进制转十进制为例,八进制和十 六进制转十进制的方法是一样的,只需调整每一位的权即可。 以(10001.10)2为例。 每位的位权 位权 22220 -1 22 数位 0 每位的位权乘以各自的数位,得到的和相加: 24×1+23×0+22×0+21×0+20×1+21×1+22×0=17.5 至此,得到的17.5即为该二进制数对应的十进制数(八进制和十六进制,只需把位权中的 基数2换为8和16即可,其余步骤一样) 十进制转为二进制、八进制、十六进制:这里仍然以十进制转为进制为例。 【例2.1】将(17.6875)10转换为二进制。 解:在这个转换中,整数部分和小数部分应当分开来进行计算。整数计算规则可以归纳 为“除2取余,由下而上” 17/2=9余1 92=4余 4/2=2余0 0 结束的标志为相除之后的商为0) 天勤论坛:www.csbiil.com 天勤论坛—专为计算机考研学子打造的专业交流平台 期待你的加入! 然后,将所有的余数,按照从下往上的顺序写出:1001,此即为十进制数17的进制 表示。 小数部分的计算规则可以归纳为“乘2取整,由上而下”: 0.6875×2=1.375取1余0.375 0.375×2=0.75取0余0.75 0.375×2=1.5取1余0.5 0.5×2=1取1余0(结束标志为取1后余数为0) 然后,将所取的数,按照从上往下的顺序写出(整数部分是从下往上,不要搞混):0.1011 此即为十进制数06875的进制表示。 综合,转换为二进制为(10011.1011)2 二进制转为八进制、十六进制:具体方法为,从最低有效位(LSD)开始,三位一划分1 组成八进制数;四位一划分组成十六进制数。高位不足用0来补齐,参考例2.2。 【例22】将二进制码11010111101分别转换成八进制和十六进制 解 110101111001 6571Q ll010111100l D79H 八进制、十六进制转为二进制:和二进制转为八进制、十六进制的方法正好相反:每 位八进制数用其三位二进制表示来“替换”:每位十六进制数用其四位二进制表示来“替换” 6571Q 9H 110101、111001 1101 11001 11010l111001 注意:在八进制、十进制和十六进制的相互转换中,一个较为容易的方法就是以二进 制作为媒介。比如将一个八进制的数转换成十六进制,直接转换显得有点难,可以先将八 进制转换成二进制,在将二进制4位分成1组,进而转换成十六进制。 2.真值和机器数总结 【解析】我们日常生活中看到的+5,-8,-0.1,+3.6等等这些带有“+”或者“-”符 号的数称为真值。现在问题来了,如果我们要用计算机处理这些数的话,计算机不认识 或者“-”符号怎么办?我们需要具备的思维能力是,想到2种状态的事物,都应该联想 到二进制的0和1,恰好“|”、“”是2种状态,这就可以用二进制的1和0米表示了。那 就再做一个规定:0表示正号,1表示负号。这样的话就可以将一个真值完全数字化了,而 被数字化的数就称为机器数(机器数分为原码、补码、反码、移码,后面讲)。 3.BCD码总结(压缩型BCD码) 【解析】BCD码的英文为: Binary- Coded decimal(二进制编码的十进制数)。因此很 容易理鮮,这种码是以二进制数来编码表示「进制的0~9|个数码。具体的编码规则,则 根据不同的BCD码而有所不同 天勤论坛:www.csbiil.com 天勤论坛—专为计算机考研学子打造的专业交流平台 期待你的加入! 常见的BCD码分为两类:有权BCD码,如8421(最常用)、2421、5421等;无权BCD 码,如氽3码、格雷码等。在这里将上要介绍最常用的8421码,对其余的BCD码不 需要掌握 提醒:一般不加以说明都是8421BcD码,考研基本也只需要掌握8421BcD码。下 面详细介绍一下8421BcD码。 842BCD码就是使用“0”至“9”这|个数值的二进码来表示,在这个表示中,我 们称之为“替换”。意思就是,对个十进制数来说,将它的每位“替换”为相应的四位 二进制代码,再用十六进制数C衣示“+”号,用十六进制数D表示“-”号,而且均放在 数字串的最后,于是便得到该十进制的842BCD码表示。例: 1325 00l10010010l1100 -325 0011001001011101 Jiii. com 需要提醒的一点:当十进制数串为偶数时,在第一个字节的高4位补“0”,即 156 00000l0l0110100 00000l0l0l10I101 再举一个更加能够深层理解BCD码的例子 现在将10转换成8421BCD码,是不是有2种方式可以得到?第一种是将10看成是1 和0,直接转为:00010000。另外一种方式需要真正理解了8421BCD码才能想到,即可以 把10看成是9+1,也就是8421BCD码是见到1001就进一位,9的8421BCD码是1001,然 后1001+1=00010000(整体往后进一位)。由此,我们得出一个很重要的结论:8421BCD 码是遇见1001就产生进位,不像普通的二进制码,到111产生进位10000 4.字符与字符串总结 【解析】计算机中的信息包括数据信息和控制信息,数据信息又可分为数值和非数值信 息。非数值信息和控制信息包括了字母、各种控制符号、图形符号等,它们都以二进制编码 方式存入计算机并得以处理,这种对字母和符号进行编码的二进制代码称为字符代码 ( Character Code)。在计算机中,最常用的字符编码便是ASCⅡ码。 基本的 ASCII字符集共有128个字符,其中有96个可打印字符,包括常用的字母、 数字、标点符号等,另外还有32个控制字符。(ASCI表很多书上都会有,在这里我们不 再贴出)我们有必要记忆住一些本的编码,比如常用数字的ASCI码,以及大小写字母 的 ASCII码。其实字母和数字的ASC∏码的记忆是非常简单的。我们只要记住了一个字母 或数字的 ASCii码(例如记住A为65,0的ASCI码为48),知道相应的大小写字 母之间差32,就可以推算出其余字吁、数字的ASCI吗。 虽然标准 ASCII码是7位编码,但由于计算机基本处理单位为字节(1byte=8bit) 所以一般仍以一个字节米存放一个ASCI字符。每一个字节中多余出来的一位(最高位) 在计算机内部通常保持为0(在数据传输时可用作奇偶校验位)。 除ASC∏码以外,还有一些其他的常用编码:扩展ASC码(对ASC∏码的扩充,字 天勤论坛:www.csbllcom 天勤论坛—专为计算机考研学子打造的专业交流平台 期待你的加入! 节的最高为保持为1), EBCDIC编码(一些大型主机系统如MVS、OS/390等使用的编码) GB2312编码(GB代表“国标”,中国的标准化组织设计的简体汉字编码), Unicode编码(“通 用”编码,统一了很多的编码的一个大整合)等等。 在了解了字符编码的基础上,就不难理解字符串编码了。字符串简单来说,就是字符的 集合”,在计算杋的存储中,通常在存储器中占用连续的多个字节空间,每个字节存一个 字符(若是汉宇宇符肀,则是两个宇节存一个汉字)。有一个情况需要知道,当主存字由2 个或4个字节组成吋,在同个主存字中,既可按从低位字节向高位字节的顺序存放字符串 的内容,也可按从高位宇节向低位字节的次序顺序存放字符串的内容,这个取决于使用的机 器(后面章节中会更深的体会到高低字节的区别)。 5.校验码总结(了解即可) conT 【解析】校验码一般分为奇偶校验码、循环冗余效验码、海明码ε中于该3种校骀码的 实现书上讲解的比较清楚,校验原理不再赘述,在此仅做一个思路的总结 奇偶校验码:为了检验编码的正确性,在被传送的n位代码上增加一位检验位,并使其 配置后的n+1位代码中“1”的个数为奇数,则称为奇校验;若配置后“1”的个数为偶数, 则称其为偶校验。偎设现在使用奇校验,我们来模拟下检错的过程,进而从中发现奇校验 的一些特点(偶校验以此类推)。假设发送端发送1010,那么在待发送数据的前面加上1 使其1的个数为奇数,即要传送的数据为:11010;如果接收端收到的数据中1的个数为偶 数个,那么就可以百分百的判断传输过程中出错了,但是不知道是哪一位出错了,所以奇偶 校验码不具备纠错功能。另外一种特殊情况是:接收方收到的是1111,1的个数仍然是奇 数个,但是在传输中确确实实有2位岀错了却不能枍测岀来,所以一凡传输过程中岀现偶数 个错误,也无法判断是杏出错 奇偶校验码实际使用时又分为垂直奇偶校验、水平奇偶校验与水平垂直奇偶校验,上 面讲的是属于水平奇偶校验,关于垂直奇偶校验、与水平垂直奇偶校验不需要掌握,知道 有就行 循环冗余效验码:循环冗余码的原理比较简单,在此不在赘述,请参考课本144页。但 是有不少考牛对循环冗余码中的二进制除法不人理解,在此做一个详细讲解,参考例23 【例2.3】试计算1011001000011001 解:此类题的解体技巧有三 第一,0土1=1,0土0=0,1土0=1,1土1=0;(可以简化为做异或运算, 在除法过程中,计算部分余数,全部使用异或操作,相同则为0,不同则为1) 第二,上商的规则是看部分余数的首位,如果为1,商上1;如果为0,商上0; 第三,当部分余数的位数小于除数的位数时,该余数即为最后余数。 天勤论坛:www.csbiil.com 天勤论坛—专为计算机考研学子打造的专业交流平台 期待你的加入! 1101010 11001)10110010000 11001 11110 1100L 11110 11001 11100 勒论坛 11001 1010 csdil.com 步骤分析:首先将1011001000中的10110看成部分余数,首位为1,商上1;结果为 11111首位为1,商仍然上1;结果为011首位为0,商上0,图中省略了这一步,直接 到111,首位为1,商上1;然后为0111,首位为0,商上0,图中省略了这一步,又直 接到11100,首位为1,商上1,到01010,首位为0,商上0,到1010,部分余数小于除数 的位数,即最后的余数为1010。 总结:循环冗余码进行检错的重要特性 (1)具有r检测位的多项式能够检测出所有长度小于等于r的突发错误; (2)长度大于r+1的错误逃脱的概率是12r 海明码(又称汉明码)ε海明码是在信息字段中插若干位数据,用于监督码字里的哪- 位数据发生了变化,具有一位纠错能力。假设信息位有k位,整个码字的长度就是k+r;每 一位的数据只有两种状态,不是1就是0.有r位数据就应该能表示出2种状态,如果每一 种状态代表一个码元发牛了错误,有k+r位码元,就要有kr种状态来表示,另外还要有 种状态来表示数据正确的情况,所以2′-1≥k+〃才能检查一位错误,即2≥k+〃+1。例 如,信息数据有4位,由2′≥k+〃+1得r>=3,也就是至少需要3位监督数据才能发现并 改正1位错误。比如:给8个学员进行编号,可以用三位数来编码:学号为000、001…… 111;也可以用工位数来编号:学号为00000、00001、00010、……、00111但是没有必 要用五位呀,只要能满足编码的要求就可以了,所以我们只需要求出满足条件的最小的k 值即可 海明码求解具体步骤 ①确定校验码的位数k ②确定校验码的位置 ③确定数据的位置 ④求出校验位的值 下面开始实战练习。假设我们要推导D=101101这串二进制的海明码,按照步骤·步步 米 ①确定校验码的位数k 数据的位数k=6,按照上面说的公式来计算满足条件r的最小值,如下公式

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    一个资源只可评论一次,评论内容不能少于5个字
    month612 可以一看。。。
    2014-06-01
    回复
    img

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐