计算机组成基础学习知识原理唐朔飞高分记录材料.doc

收藏

编号:2649973    类型:共享资源    大小:7.63MB    格式:DOC    上传时间:2020-04-26
12
金币
关 键 词:
计算机 组成 基础 学习 知识 原理 唐朔飞 高分 记录 材料
资源描述:
-/ 试卷内容结构 数据结构 45分 计算机组成原理 45分 操作系统 35分 计算机网络 25分 试卷题型结构 单项选择题 80分(40小题,每小题2分) 综合应用题 70分 计算机体系结构(Computer Architecture)主要研究硬件和软件功能的划分,确定硬件和软件的界面,哪部分功能由硬件系统来完成,哪部分功能由软件系统来完成。 计算机组成原理(Computer Organization)是依据计算机体系结构,在确定且分配了硬件子系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,以及它们之间的连接关系,实现机器指令级的各种功能和特性,这点上说计算机组成原理是计算机体系结构的逻辑实现。 计算机实现(Computer Implementation)是计算机组成的物理实现,包括中央处理器、主存储器、输入输出接口和设备的物理结构,所选用的半导体器件的集成度和速度,器件、模块、插件、底板的划分,电源、冷却、装配等技术,生产工艺和系统调试等各种问题。总之,就是将完成逻辑设计的计算机组成方案转换成真实的计算机,也就是将满足设计、运行、价格等各项要求的计算机系统真正地制作并调试出来。 计算机组成原理 【考查目标】 1. 理解单处理器计算机系统中各部件的内部工作原理,组成结构以及相互连接方式,具有完整的计算机系统的整机概念. 2. 理解计算机系统层次化结构概念,熟悉硬件与软件间的界面,掌握指令集体系结构的基本知识和基本实现方法 3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算,分析,并能对一些基本部件进行简单设计. 一, 计算机系统概述 (一) 计算机发展历程 第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了18000电子管,1500继电器,重30吨,占地170m2,耗电140kw,每秒计算5000次加法.冯•诺依曼(VanNeumann)首次提出存储程序概念,将数据和程序一起放在存储器,使编程更加方便.50年来,虽然对冯•诺依曼机进行很多改革,但结构变化不大,仍称冯•诺依曼机. 一般把计算机的发展分为五个阶段: 发展阶段 时间 硬件技术 速度/(次/秒) 第一代 1946-1957 电子管计算机时代 40 000 第二代 1958-1964 晶体管计算机时代 200 000 第三代 1965-1971 中小规模集成电路计算机时代 1 000 000 第四代 1972-1977 大规模集成电路计算机时代 10 000 000 第五代 1978-现在 超大规模集成电路计算机时代 100 000 000 ENIAC(Electronic Numerical Integrator And Computer)电子数字积分机和计算机 EDVAC(Electronic Discrete Variable Automatic Computer)电子离散变量计算机 组成原理是讲硬件结构的 系统结构是讲结构设计的 摩尔定律 微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长一倍. 每代芯片的成本大约为前一代芯片成本的两倍 新摩尔定律 全球入网量每6个月翻一番. 数学家冯诺依曼(von Neumann)在研究EDVAC机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯诺依曼机.它有如下特点: ①计算机由运算器,控制器,存储器,输入和输出五部分组成 ②指令和数据以同等的地位存放于存储器内,并可按地址寻访 ③指令和数据均用二进制数表示 ④指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置 ⑤指令在存储器内按顺序存放 ⑥机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成 图中各部件的功能 运算器用来完成算术运算和逻辑运算并将的中间结果暂存在运算器内 存储器用来存放数据和程序 控制器用来控制,指挥程序和数据的输入,运行以及处理运行结果 输入设备用来将人们熟悉的信息转换为机器识别的信息 输出设备将机器运算结果转为人熟悉的信息形式 运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器)和一个算术逻辑单元(ALU Arithmetic Logic Unit).其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商寄存器,X为操作数寄存器,这3个寄存器在完成不同运算时,说存放的操作数类别也各不相同. 计算机的主要硬件指标 (4.a) 主机完成一条指令的过程——以取数指令为例 (4.b) 主机完成一条指令的过程——以存数指令为例 (二) 计算机系统层次结构 1. 计算机硬件的基本组成 计算机硬件主要指计算机的实体部分,通常有运算器,控制器,存储器,输入和输出五部分. CPU是指将运算器和控制器集成到一个电路芯片中. 2. 计算机软件的分类 计算机软件按照面向对象的不同可分两类: 系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统.(包括:标准程序库,语言处理程序,OS,服务程序,数据库管理系统,网络软件) 应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求. 3. 计算机的工作过程 (1)计算机的工作过程就是执行指令的过程 指令由操作码和操作数组成: 操作码 地址码 操作码指明本指令完成的操作 地址码指明本指令的操作对象 (2)指令的存储 指令按照存储器的地址顺序连续的存放在存储器中. (3)指令的读取 为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器.指令的读取就可以根据程序计数器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备. (4)执行指令的过程 在控制器的控制下,完成以下三个阶段任务: 1)取指令阶段 按照程序计数器取出指令,程序计数器加一 2)指令译码阶段 分析操作码,决定操作内容,并准备操作数 3)指令执行阶段 执行操作码所指定内容 (三) 计算机性能指标 1. 吞吐量,响应时间 (1) 吞吐量:单位时间内的数据输出数量. (2) 响应时间:从事件开始到事件结束的时间,也称执行时间. 2. CPU时钟周期,主频,CPI,CPU执行时间 (1) CPU时钟周期:机器主频的倒数,TC (2)主频:CPU工作主时钟的频率,机器主频Rc (3)CPI:执行一条指令所需要的平均时钟周期 (4)CPU执行时间: TCPU=InCPITC In执行程序中指令的总数 CPI执行每条指令所需的平均时钟周期数 TC时钟周期时间的长度 3. MIPS,MFLOPS (1)MIPS:(Million Instructions Per Second) Te:执行该程序的总时间=指令条数/(MIPS) In:执行该程序的总指令数 Rc:时钟周期Tc的到数 MIPS只适合评价标量机,不适合评价向量机.标量机执行一条指令,得到一个运行结果.而向量机执行一条指令,可以得到多个运算结果. (2) MFLOPS: (Million Floating Point Operations Per Second) MFLOPS=Ifn/(Te) Ifn:程序中浮点数的运算次数 MFLOPS测量单位比较适合于衡量向量机的性能.一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的. 特点: 1. MFLOPS取决于机器和程序两方面,不能反映整体情况,只能反映浮点运算情况 2. 同一机器的浮点运算具有一定的同类可比性,而非同类浮点操作仍无可比性 当前微处理器的发展重点 ①进一步提高复杂度来提高处理器性能 ②通过线程进程级的并发性提高处理器性能 ③将存储器集成到处理器芯片来提高处理器性能 ④发展嵌入式处理器 软件开发有以下几个特点 1) 开发周期长 2) 制作成本昂贵 3) 检测软件产品质量的特殊性 计算机的展望 一、计算机具有类似人脑的一些超级智能功能 要求计算机的速度达1015/秒 二、芯片集成度的提高受以下三方面的限制 • 芯片集成度受物理极限的制约 • 按几何级数递增的制作成本 • 芯片的功耗、散热、线延迟 计算机辅助设计CAD 计算机辅助制造CAM 计算机辅助工艺规划 Computer Aided Process Planning CAPP 计算机辅助工程 Computer Aided Engineering CAE 计算机辅助教学 Computer Assisted Instruction CAI 科学计算和数据处理 工业控制和实时控制 网络技术应用 虚拟现实 办公自动化和管理信息系统 Computer Aided Design CAD,CAM,CIMS Computer Aided Manufacturing 多媒体技术 Computer Integrated Manufacturing System 人工智能,模式识别,文字/语音识别,语言翻译,专家系统,机器人… 二, 数据的表示和运算 (一) 数制与编码 1. 进位计数制及其相互转换 1)进位计数制 进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权. 基数:进位计数制中所拥有数字的个数. 权:每位数字的值等于数字乘以所在位数的相关常数,这个常数就是权. 任意一个R进制数X,设整数部分为n位,小数部分为m位,则X可表示为: X=an-1rn-1 + an-2rn-2 + ┅ + a0r0 + a-1r-1 + a-2r-2 + ┅ + a-mr-m (X)r = 2)不同数制间的数据转换 (1)二,八,十六进制数转换成十进制数 利用上面讲到的公式: (N)2=∑Di•2i ,(N)8=∑Di•8i, (N)16=∑Di•16i,进行计算. (2)十进制数转换成二进制数 通常要对一个数的整数部分和小数部分分别进行处理,各自得出结果后再合并. u 对整数部分,一般采用除2取余数法,其规则如下: 将十进制数除以2,所得余数(0或1)即为对应二进制数最低位的值.然后对上次所得商除以2,所得余数即为二进制数次低位的值,如此进行下去,直到商等于0为止,最后得的余数是所求二进制数最高位的值. u 对小数部分,一般用乘2取整数法,其规则如下: 将十进制数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值,然后对所余数的小数部分部分乘以2,所得乘积的整数部分为次高位的值,如此进行下去,直到乘积的小数部分为0,或结果已满足所需精度要求为止. (3)二进制数,八进制数和十六进制数之间的转换 八进制数和十六进制数是从二进制数演变而来的: 由3位二进制数组成1位八进制数; 由4位二进制数组成1位十六进制数. 对一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足. 对整数部分将0补在数的左侧,对小数部分将0补在数的右侧.这样数值不会发生差错. 2. 真值和机器数 真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值”. 机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号.把符号数字化的数成为机器数. 3. BCD码(Binary Coded Decimal以二进制编码的十进制码) 在计算机中采用4位二进制码对每个十进制数位进行编码.4位二进制码有16种不同的组合,从中选出10种来表示十进制数位的0~9,用0000,0001,…,1001分别表示0,1,…,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decima1,简称BCD)码”. 在计算机内部实现BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是: 如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正; 如相加之和大于或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位. 4. 字符与字符串 在计算机中要对字符进行识别和处理,必须通过编码的方法,按照一定的规则将字符用一组二进制数编码表示.字符的编码方式有多种,常见的编码有ASCII码,EBCDIC码等. 1)ASCII码(American Standard Code for Information Interchange 美国信息交换标准码) ASCII码用7位二进制表示一个字符,总共128个字符元素,包括10个十进制数字(0-9),52个英文字母(A-Z和a-z),34专用符号和32控制符号. 2)EBCDIC码为Extended Binary Coded Decimal Interchange Code的简称,它采用8位来表示一个字符. 3)字符串的存放 向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的. 串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址. 5. 校验码Check Digit 数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法.其实现原理,是加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码. 这样,可以通过检测编码的合法性来达到发现错误的目的.合理地安排非法编码数量和编码规则,可以提高发现错误的能力,或达到自动改正错误的目的. 码距:码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为1. 1)奇偶校验码(Parity Bit)WIKI (开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查或ASCII字符或其它类型的信息传输的检查)P216 它的实现原理,是使码距由1增加到2.若编码中有1位二进制数出错了,即由1变成0,或者由0变成1.这样出错的编码就成为非法编码,就可以知道出现了错误.在原有的编码之上再增加一位校验位,原编码n位,形成新的编码为n+1 位.增加的方法有2种: 奇校验:增加位的0或1要保证整个编码中1的个数为奇数个. 偶校验:增加位的0或1要保证整个编码中1的个数为偶数个. 2)海明校验码(Hamming Code)P100 实现原理,在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中.当某一位出错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据. 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余2r-1个信息指出错误发生在哪一位.然而错误也可能发生在校验位,因此只有 k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2rk+r+1 3)CRC校验码(Cyclic Redundancy Check 循环冗余校验)P144 CRC校验码一般是指k位信息之后拼接r位校验码.关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r信息码判断是否出错. 将带编码的k位有效信息位组表达为多项式: 式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位的无符号数的表示范围为: 0-1 2)带符号数的表示 (真值范围-n-1n) 带符号数是指在计算机中将数的符号数码化.在计算机中,一般规定二进制的最高位为符号位,最高位为“0”表示该数为正,为“1”表示该数为负.这种在机器中使用符号位也被数码化的数称为机器数. 根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码. (1)原码表示法 机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出.这是与真值最接近的一种表示形式. 原码的定义: (2)补码表示法 机器数的最高位为符号位,0表示正数,1表示负数,其定义如下: (3)反码表示法 机器数的最高位为符号,0表示正数,1表示负数.反码的定义: 原码 补码 反码 整数 (mod ) (mod()) 小数 (mod 2) (mod(2-)) 0 =0.0000=1.0000 =0.0000 =0.0000=1.1111 负数原码求反+1 负数每位求反 移码 移码表示中零也是唯一的 真值的移码和补码仅差一个符号位.若将补码的符号位由0改为1或从1改为0即可得到真值的移码 乘法运算可用移码和加法来实现,两个n位数相乘,总共要进行n次加法运算和n次移位运算 三种机器数的特点可以归纳为: 三种机器数的最高位均为符号位.符号位和数值位之间可用“.”(对于小数)或“,”(对于整数)隔开 当真值为正时,原码,补码和反码的表示形式均相同,即符号位用“0”表示,数值部分与真值部分相同 当真值为负时,原码,补码和反码的表示形式不同,其它符号位都用“1”表示,而数值部分有这样的关系,即补码是原码的“求反加1”,反码是原码的“每位求反”. 2. 定点数的运算 1)定点数的位移运算 左移,绝对值扩大;右移,绝对值缩小. 算术移位规则 符号位不变 码制 添补代码 正数 0 负数 原 0 补 右移添0 左移添1 反 1 算术移位和逻辑移位的区别: 算术移位:带符号数移位; 逻辑移位:无符号数移位; 2)原码定点数的加/减运算; 对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是减,不仅取决指令中的操作码,还取决于两个操作数的符号.而且运算结果的符号判断也较复杂. 例如,加法指令指示做(+A)+(-B)由于一操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对值大的符号相同.同理,在减法指令中指示做(+A)-(-B)实际操作做加法(+A)+(+B),结果与被减数符号相同.由于原码加减法比较繁琐,相应地需要由复杂的硬件逻辑才能实现,因此在计算机中很少被采用. 3)补码定点数的加/减运算; (1) 加法 整数 [A]补 + [B]补= [A+B]补(mod 2n+1) 小数 [A]补 + [B]补= [A+B]补(mod 2) (2) 减法 整数 [A]补 - [B]补= [A+(-B)]补=[A]补 + [-B]补(mod 2n+1) 小数 [A]补 - [B]补= [A+(-B)]补=[A]补 + [-B]补(mod 2) 无需符号判定,连同符号位一起相加,符号位产生的进位自然丢掉 4)定点数的乘/除运算 (1)一位乘法 <1>原码定点一位乘法 两个原码数相乘,其乘积的符号为相乘两数的异或值,数值两数绝对值之积. 设 [X]原=X0 X1 X2 …Xn [Y]原=Y0 Y1 Y2 …Yn [XY]原=[X]原[Y]原= (X0⊕Y0)∣(X1 X2 …Xn)(Y1 Y2 …Yn) 符号∣表示把符号位和数值邻接起来. 原码两位乘和原码一位乘比较 原码一位乘 原码两位乘 符号位 操作数 绝对值 绝对值的补码 移位 逻辑右移 算术右移 移位次数 n 最多加法次数 n <2>定点补码一位乘法 有的机器为方便加减法运算,数据以补码形式存放.乘法直接用补码进行,减少转换次数.具体规则如下: [XY]补=[X]补(-Y0 + 0. Y1 Y2… Yn ) <3>布斯法 “布斯公式”: 在乘数Yn后添加Yn+1=0.按照Yn+1 ,Yn相邻两位的三种情况,其运算规则如下: (1) Yn+1 ,Yn =0( Yn+1 Yn =00或11),部分积加0,右移1位; (2) Yn+1 ,Yn =1( Yn+1 Yn =10) ,部分积加[X]补,右移1位; (3) Yn+1 ,Yn =-1( Yn+1 Yn =01) ,部分积加[-X]补,右移1位 最后一步不移位. (2)两位乘法 <1>原码两位乘法,因此实际操作用Yi-1,Yi,C三位来控制,运算规则如下 Yi-1 Yi C 操作 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 0→C +X, 右移2位 0→C +X, 右移2位 0→C +2X, 右移2位 0→C +2X, 右移2位 0→C -X, 右移2位 1→C -X, 右移2位 1→C +0, 右移2位 1→C <2>补码两位乘法 根据前述的布斯算法,将两步合并成一步,即可推导出补码两位乘的公式. Yn-i-1 Yn-i Yn-i+1 [Pi+2]补 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 +[X]补, 右移2位 +[X]补, 右移2位 +2[X]补, 右移2位 -2[X]补, 右移2位 -[X]补, 右移2位 -[X]补, 右移2位 +0, 右移2位 求部分积的次数和右移操作的控制问题. 当乘数由1位符号位和以n(奇数)位数据位组成时,求部分积的次数为(1+n)/2,而且最后一次的右移操作只右移一位. 若数值位本身为偶数n,可采用下述两种方法之一: ①可在乘数的最后一位补一个0,乘数的数据位就成为奇数,而且其值不变,求部分积的次数为1+(n+l)/2,即n/2+1,最后一次右移操作也只右移一位. ②乘数增加一位符号位,使总位数仍为偶数,此时求部分积的次数为n/2+1,而且最后一次不再执行右移操作. (3)补码除法 笔算除法和机器除法的比较 笔算除法 机器除法 商符单独处理 符号位异或形成 心算上商 余数 不动 低位补“0” 减右移一位 的除数 余数 左移一位 低位补“0” 减 除数 2 倍字长加法器 1 倍字长加法器 上商位置 不固定 在寄存器 最末位上商 <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-n. 5)溢出概念和判别方法 当运算结果超出机器数所能表示的范围时,称为溢出.显然,两个异号数相加或两个同号数相减,其结果是不会溢出的.仅当两个同号数相加或者两个异号数相减时,才有可能发溢出的情况,一旦溢出,运算结果就不正确了,因此必须将溢出的情况检查出来.判别方法有三种: 1〉当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢出. 2〉当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位.如果C≠Cf ,则为溢出,所以溢出条件=C⊕Cf . 3〉采用双符号fs2fs1.正数的双符号位为00,负数的双符号位为11.符号位参与运算,当结果的两个符号位甲和乙不相同时,为溢出.所以溢出条件= fs2⊕fs1 ,或者溢出条件= fs2fs1 + fs2fs1 (三) 浮点数的表示和运算 1. 浮点数的表示 1)浮点数的表示范围; 浮点数是指小数点位置可浮动的数据,通常以下式表示: N=MRE 其中,N为浮点数,M(Mantissa)为尾数(可正可负),E(Exponent)为阶码(可正可负),R(Radix)称为“阶的基数(底)”,而且R为一常数,一般为2,8或16.在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来.因此,浮点数的机内表示一般采用以下形式: 浮点数的机内表示一般采用以下形式: Ms E M 1位 n+1位 m位 Ms是尾数的符号位,设置在最高位上. E为阶码(移码),有n+1位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表正阶或负阶. M为尾数(原码),有m位,由Ms和M组成一个定点小数.Ms=0,表示正号,Ms=1,表示负.为了保证数据精度属数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于(0.5)10.对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求. 浮点数的表示范围以通式N=MRE设浮点数阶码的数值位取m位,尾数的数值位取n位 2)IEEE754标准(Institute of Electrical and Electronics Engineers美国电气和电子工程协会) S 阶码(含阶符) 尾 数 数符 小数点位置 根据IEEE 754国际标准,常用的浮点数有三种格式: 符号位S 阶码 尾数 总位数 短实数 1 8 23 32 长实数 1 11 52 64 临时实数 1 15 64 80 单精度格式32位,阶码为8位,尾数为23位.另有一位符号位S,处在最高位. 由于IEEE754标准约定在小数点左部有一位隐含位,从而实际有效位数为24位.这样使得尾数的有效值变为1.M . 例如,最小为x1.0…0,,最大为x1.1…1.规格化表示.故小数点左边的位横为1,可省去. 阶码部分采用移码表示,移码值127,1到254经移码为-126到+127. S(1位) E(8位) M(23位) N(共32位) 符号位 0 0 0 符号位 0 不等于0 (-1)S2-126(0.M) 为非规格化数 符号位 1到254之间 - (-1)S2E-127(1.M) 为规格化数 符号位 255 不等于0 NaN(非数值) 符号位 255 0 无穷大 0 有了精确的表示,无穷大也明确表示.对于绝对值较小的数,可以采用非规格化数表示,减少下溢精度损失.非规格化数的隐含位是0,不是1. 2. 浮点数的加/减运算 加减法执行下述五步完成运算: 1)“对阶”操作 比较两浮点数阶码的大小,求出其差ΔE,保留其大值E,E=max(Ex, Ey).当ΔE≠0时,将阶码小的尾数右移ΔE位,并将其阶码加上ΔE,使两数的阶码值相等. 2)尾数加减运算 执行对阶之后,两尾数进行加减操作. 3)规格化操作 规格化的目的是使得尾数部分的绝对值尽可能以最大值的形式出现. 4)舍入 在执行右规或者对阶时,尾数的低位会被移掉,使数值的精度受到影响,常用“0”舍“1”入法.当移掉的部分最高位为1时,在尾数的末尾加1,如果加1后又使得尾数溢 出,则要再进行一次右规. 5)检查阶码是否溢出 阶码溢出表示浮点数溢出.在规格化和舍入时都可能发生溢出,若阶码正常,加/减运算正常结束.若阶码下溢,则设置机器运算结果为机器零,若上溢,则设置溢出标志. 定点数和浮点数可从如下几个方面进行比较 ①当浮点机和定点机中的位数相同时,浮点数的表示范围比定点数大得多 ②当浮点数位规格化数时,其相对绝对远比定点数高 ③浮点数运算要分阶码部分和尾数部分,而且运算结果都要求规格化,故浮点运算步骤比定点运算的步骤多,运算速度比定点运算的低,运算线路比定点运算的复杂 ④在溢出的判断方法上,浮点数是对规格化的阶码进行判断,而定点数是对数值本身进行判断 总之,浮点数在数的表示范围,数的精度,溢出处理和程序编程方面(不取比例因子)均优于定点数.但在运算规则即硬件成本方面又不如定点数 (四) 算术逻辑单元ALU 1. 串行加法器和并行加法器 1)串行进位加法器 并行加法器可以同时对数据的各位进行相加,一般用n个全加器来实现2个操作数的各位同时向加.其操作数的各位是同时提供的,由于进位是逐位形成,低位运算所产生的进位会影响高位的运算结果. 串行进位(也称波形进位)加法器,逻辑电路比较简单,但是最高位的加法运算,一定要等到所有低位的加法完成之后才能进行,低位的进位要逐步的传递到高位,逐级产生进位,因此运算速度比较慢. 2)并行进位加法器 为了提高运算速度,减少延迟时间,可以采用并行进位法,也叫提前进位或先行进位. 全加器中,输入Ai ,Bi,Ci-1,输出: Si = Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1 Ci = Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1 = Ai Bi + (Ai+Bi)Ci-1 进位产生函数:Gi = Ai Bi 进位传递函数:Pi = Ai+Bi Ci = Gi + Pi Ci-1 C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0 并行进位加法器的运算速度很快,形成最高进位输出的延迟时间很短,但是以增加硬件逻辑线路为代价.对于长字长的加法器,往往将加法器分成若干组,在组内采用并行进位,组间则采用串行进位或并行进位,由此形成多种进位结构. (1)单级先行进位 单级先行进位方式将n位字长分为若干组,每组内采用并行进位方式,组与组之间册采用串行进位方式. (2)多级先行进位 多级先行进位在组内和组间都采用先行进位方式. 16位单级先行进位加法器 2. 算术逻辑单元ALU的功能和机构 ALU部件是运算器中的主要组成部分,又称多功能函数发生器,主要用于完成各种算术运算和逻辑运算. ALU的算术运算部件包含加法器,减法器,乘法器,除法器,增量器(+1),减量器(-1),BCD码运算器等组件. ALU的主要工作是根据CPU指令要求执行各种指定运算,如加法,减法,乘法,除法,比较,逻辑移位等操作. 通用寄存器组是一组存取速度最快的存储器,用于保存参加运算的操作数和中间结果.访问寄存器无需高速缓存,也不需要运行总线周期,因此指令的执行速度很快.几乎所有的指令都要将寄存器指定为一个操作数,有些指令还要求将操作数存放在专用的寄存器中. 专用寄存器通常用于表示CPU所处于某种系统状态,ALU中有两个重要的状态寄存器:指令指针寄存器IP(即程序计数器PC)和标志寄存器FLAGS. 三, 存储器层次机构 (一) 存储器的分类 提高存储器带宽 缩短储存周期 增加存储字长,使每个周期可读/写更多的二进制数 增加存储体 内存 地址线n,数据线数k 芯片的容量为2kk位 20位的地址可以访问1MB的存储空间,32位的地址可以访问4GB的内存空间,64位可以访问1800万TB 静态RAM和动态RAM之间的比较。目前,动态RAM的应用比静态RAM要广泛的多: ① 同样大小的芯片中,动态的RAM的集成度远高于静态RAM,DRAM的基本单元电路为一个MOS管,SRAM的基本单元电路可为4~6个MOS管 ② DRAM行、列按先后顺序输送,减少了芯片引脚,封装尺寸也减少 ③ DRAM的功耗比SRAM小 ④ DRAM的价格比SRAM的价格便宜 DRAM也有缺点 ① 由于使用动态元件(电容),因此它的速度比SRAM低 ② DRAM需再生,需配置再生电路,也消耗一部分功率.通常容量不大的Cache大多用SRAM实现存储器与CPU连接 对比项目 SRAM DRAM 储存信息 触
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:计算机组成基础学习知识原理唐朔飞高分记录材料.doc
链接地址:https://www.taowenge.com/p-2649973.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开