《中层管理-考研计算机冲刺班组成原理讲义杨楠 精品.doc》由会员分享,可在线阅读,更多相关《中层管理-考研计算机冲刺班组成原理讲义杨楠 精品.doc(50页珍藏版)》请在第一文库网上搜索。
1、计算机组成原理部分【考查目标】1. 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。2. 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。一、 计算机系统概述 本章属于计算机组成原理概述部分,内容比较简单,也容易掌握,在考研中没有太难的题目。下面就本章内容,主要部分作以下归纳:(一)计算机的类型 电子计算机分为两大类:电子模拟计算机和电子数字计算机。 电子数
2、字计算机的主要特点是:按位运算。 数字计算机又可分为专用计算机和通用计算机。 通用计算机又分巨型机、大型机、中型机、小型机、微型机和单片机。 它们的区别在于体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等。 计算机的应用范围:社会的各个领域。(二)计算机发展历程 计算机系统的发展历史如下: 第1代计算机(1946年1957年):电子管时代; 第2代计算机(1958年1964年):晶体管时代; 第3代计算机(1965年1971年):中小规模集成电路时代; 第4代计算机(1972年1985年):超大规模集成电路时代; 第5代计算机(1986年至今):巨大规模集成电路时代。(
3、三)计算机系统层次结构1. 计算机硬件的基本组成硬件分为5大部分:控制器、运算器、存储器、输入设备和输出设备。 早期运算器和控制器构成计算机的CPU,现在一般还加上CPU内部的Cache共同构 成CPU,加入的是第一级Cache,也是存储器中速度最快,容量最小的存储器。 对冯诺依曼计算机体系结构的特点要有深刻的理解:使用二进制(为何用二进制?) 存储程序,并且按照地址顺序执行。存储程序并按照地址顺序执行是冯诺依曼计算机设计的关键思想。2. 计算机软件的分类计算机软件按照面向对象的不同可分两类:系统软件和应用软件。系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类
4、软件面向系统。应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求。3. 计算机的工作过程 冯诺依曼计算机特点基本上指出了计算机的工作过程。冯诺依曼体系结构的基本思想是:存储程址顺序自动执行。首先将指令和数据存储到计算机中,计算机启动后,就能够序取出指令并依次执行,直到程序执行完毕,得到计算结果为止。 冯诺依曼体系结构计算机包含5个基本部件:输入设备、运算器、控制器和输出设备。运算器进行数据运算和数据变换;控制器为计算机的工作提供统一的时钟,对程序的各基本操作进行时序分相应的控制信号,驱动计算机的各部件有序地完成程序规定的操作内容; 存储器用来存放程序、数据和运
5、算结果;输入瑜出设备则完成相应的输入输出转换。4计算机系统的层次结构(1)层次结构。计算机系统是一个复杂的软、硬件结合体,它包含硬件系统和软件系统两部分。它通常由5个不同的级组成,在每一级都能够进行程序设计。由微程序设计级、一般机器级、操作系统级、汇编语言级和高级语言级组成,如图所示:(2)软件和硬件逻辑上的等价性,任何操作可以由软件来实现也可以由硬件来实现。早期主要由软件来实现较复杂的逻辑(硬件软化),现在存在软件硬化的趋势。 尤其注意计算机是一个软件和硬件结合的整体系统。固件:把软件刻入ROM,使软件固化,这样得到的一个实体就是固件。(3)兼容性。兼容性的设计思想实际上就是系列机的概念。在
6、系列机中,新机型要求支持老机型上开发的软件;而且还有硬件上的兼容要求。兼容要求软件和硬件设备能够直接在不同的机型上使用。计算机系统的层次结构(四)计算机性能指标(1)基本字长。基本字长是指参与运算的数的基本长度,它由加法器、寄存器和数据总线的位数决定。字长标志着精度,字长越长,运算精度越高。(2)主存容量。计算机主存储器所能够存储的信息的全部总量,称为主存容量。以字节数来表示存储容量的计算机称为字节编码计算机;而以字为单位编址的计算机,存储容量等于字数乘以字长。(3)主频。每台计算机的内部,都有一个不断地产生固定频率时钟脉冲的装置,称为主时钟。主时钟的频率通常是机器的主频率,主频率是衡量一台,
7、-c,蹲机速度的重要参数。(4)运算速度。运算速度通常反映计算机运算的快慢。对运算速度的衡量有以下几种方法:根据不同类型指令在计算过程中出现的频率乘上不同的系数,求得统计平均值,这时所指的运算速度是平均运算速度。直接给出每条指令的实际执行时间。以MIPS和MFLOPS作为计量单位来衡量运算速度。MIPS表示每秒百万条指令,MFLOPS表示每秒百万次浮点运算。1. 吞吐量、响应时间(1) 吞吐量:单位时间内可执行程序的个数。(2) 响应时间:从事件开始到事件结束的时间,也称执行时间。2. CPU时钟周期、主频、CPI、CPU执行时间(1) CPU时钟周期:机器主频的倒数,Tc(2)主频:CPU工
8、作主时钟的频率,机器主频Rc(3)CPI:执行一条指令所需要的平均时钟周期(4)CPU执行时间:TCPU=InCPITCIn执行程序中指令的总数,CPI执行每条指令所需的平均时钟周期数,TC时钟周期时间的长度。3. MIPS、MFLOPS(1)MIPS(Million Instructions Per Second) MIPS = In/(Te106) = In/(InCPITc106) = Rc/(CPI106)Te:执行该程序的总时间,In:执行该程序的总指令数,Rc:时钟周期Tc的到数 MIPS只适合评价标量机,不适合评价向量机。标量机执行一条指令,得到一个运行结果。而向量机执行一条指令
9、,可以得到多个运算结果。(2) MFLOPS(Million Floating Point Operations Per Second) MFLOPS=Ifn/(Te106)Ifn:程序中浮点数的运算次数 MFLOPS测量单位比较适合于衡量向量机的性能。一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的。二、 数据的表示和运算(一) 数制与编码 1. 进位计数制及其相互转换 (1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权。任意一个R进制数X,设整数部分为n位,小数部分为m位,则X可表示为:Xan-1
10、rn-1 + an-2rn-2 + + a0r0 + a-1r-1 + a-2r-2 + + a-mr-m(X)r = (2)不同数制间的数据转换1)二、八、十六进制数转换成十进制数利用上面讲到的公式: (N)2=Di2i 、(N)8=Di8i、 (N)16=Di16i、进行计算。2)十进制数转换成二进制数对整数部分,一般采用除2取余数法,对小数部分,一般用乘2取整数法。3)二进制数、八进制数和十六进制数之间的转换3位二进制数组成1位八进制数,4位二进制数组成1位十六进制数。对于一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足。对整数部分将0补在数的左
11、侧,对小数部分将0补在数的右侧。这样数值不会发生差错。2. 真值和机器数 真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值”。机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号。把符号数字化的数成为机器数。3. BCD码 在计算机中采用4位二进制码对每个十进制数位进行编码。4位二进制码有16种不同的组合,从中选出10种来表示十进制数位的09,用0000,0001,1001分别表示0,1,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decima1,简称BCD)码”。加法运算的修正规
12、则是: 如果两个一位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
13、Decimal Interchange Code的简称,它采用8位来表示一个字符。3)字符串的存放向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的。串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址。5. 校验码 码距: 码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为1。(1)奇偶校验码它的实现原理,是使码距由1增加到2。若编码中有1位二进制数出错了,即由1变成0,或者由0变成1。这样出错的编码就成为非法编码,就可以知道出现了错误。在原有的编码之上再增加一位校验位,原编码n位,形成新的编码为n+1 位。增加的
14、方法有2种: 奇校验:增加位的0或1要保证整个编码中1的个数为奇数个。 偶校验:增加位的0或1要保证整个编码中1的个数为偶数个。 (2)海明校验码它的实现原理,是在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系:2r=k+r+1 (3)C
15、RC校验码CRC校验码一般是指k位信息之后拼接r位校验码。关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r信息码判断是否出错。 将带编码的k位有效信息位组表达为多项式: M(x)=Ck-1xk-1+ Ck-2xk-2 + + Cixi + C1x + C0式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)表示的数码除尽。