信息工程学院_第1页
信息工程学院_第2页
信息工程学院_第3页
信息工程学院_第4页
信息工程学院_第5页
已阅读5页,还剩611页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、概论运算方法主存储器及存储系统指令系统中央处理器辅助存储器输入输出设备输入输出系统计算机组成与结构1、课程特点 课程内容多 承上启下 理论性强 难度大计算机组成与结构2、主要内容: 计算机组成角度: 计算机由几部分组成 各部分的组成功能及原理 各部分间的关系 整机如何工作 信息流的角度: 数据流 控制流计算机组成与结构3、学习目的 为培养同学们在分析、设计计算机系统方 面的能力打下基础4、考核形式主要内容: 计算机的语言 计算机的特点 计算机的基本结构与硬件组成 第一章 概论 机器语言:用二进制代码表示的计算机语言,可直 接执行。特点:可读性差,不易编程和维护计算机的语言汇编语言:用助记符号编

2、写的语言。特点:可读性较好,适合编写与硬件打交道的系统软件高级语言 特点:接近自然语言,描述问题强,易维护可移植 翻译高级语言(汇编语言)机器语言解释方式:边解释边执行,不会生成目标程序编译方式:将高级语言编写的程序(源程序)翻译成机器语言程序(目标程序),以文件形式储存然后执行。计算机的特点运算速度快 高速的电子元器件 先进的计算技巧计算精度高 字长加长 浮点运算记忆和逻辑判断能力 内外存 布尔代数4. 通用性强自动连续计算 存储程序原理一、 存储程序原理 1. 概念: 指令: OP AD 程序: 指令的有序集合 指令系统 :一台机器所拥有的全部指令 2. 存储程序原理(冯 诺依曼思想)1.

3、 程序和数据都以二进制的形式顺序存放在存储器中2. 机器自动顺序取出每条指令进行分析,执行其规定的操作3. 计算机硬件由存储器、运算器、控制 器、输入设备和输出设备组成。第一台存储程序机器 EDSAC:1949年,英国剑桥大M.WILKES取得了1967年度计算机世界最高奖图林奖计算机的简单工作过程计算21?1. 从存储器取数2,暂存 取数22. 从存储器取数1,暂存 取数13. 计算21,结果暂存 计算214. 结果3送存储器保存 45. 打印结果打印结果 56. 停机 停机 数2 数1 程序计数器PC1计算机的基本结构输入设备存储器运算器控制器输出设备数据结果数据数据指令结果地址计算机的硬

4、件组成运 算 器控 制 器主存储器输入设备输出设备 总线 和输入输出接口高速缓存虚拟存储器(磁盘设备)第一单元第二单元第三单元第四单元第五单元 1. 运算器 功能:完成算术运算和逻辑运算的装置 组成:由ALU,移位器,通用寄存器组等构成移位器ALU选择器通用寄存器组选择器运算器结构框图移位器ALU选择器通用寄存器组选择器 ALU: 通过加法器实现运算操作(由全加器求和、由进位链传递进位信号)。移位器ALU选择器通用寄存器组选择器 通用寄存器组:提供操作数,存放运算结果。移位器ALU选择器通用寄存器组选择器 选择器:选择操作数;选择控制条件,实现各种算法。移位器ALU选择器通用寄存器组选择器 移

5、位器:直接或者移位送出运算结果。 讨论: ALU组成和原理 几种主要的运算方法(定、浮) 2. 控制器 功能:产生控制命令(微命令), 控制指挥全机操作。 执行方式: 1)按规定的操作去执行 2)自动地执行 3)有秩序地执行 讨论: 控制器组成原理与控制机制和指令执行过程。 运算器及控制器构成中央处理机(CPU)存储体大楼存储单元 存放一串二进制代码存储字长 存储单元中二进制代码的位数每个存储单元赋予一个地址号按地址寻访 存储单元 存储字长(0/1) 房间 床位(无人/ 有人)3.存储器功能: 存放程序和数据的装置,并满足计算机在执行过程中能随机访问这些程序和数据。1.2主存储器存储体MARM

6、DRMARMDR 存储单元个数 16存储字长 8 设 MAR = 4 位 MDR = 8 位存储器地址寄存器反映存储单元的个数存储器数据寄存器反映存储字长主存储器存储体MARMDR存储器的基本组成 数据总线讨论 存储单元读/写原理、存储器逻辑设计cpu读写控制数据寄存器存储体地址寄存器地址总线控制总线ARDR 4. 输入/输出设备 功能:转换信息输入:原始信息 代码,送入主机 输出:处理结果 人所能接受的形式,并输出(代码) 输入设备:键盘,鼠标,扫描仪 输出设备:CRT,打印机,绘图仪 计算机硬件的性能指标机器字长CPU一次能处理数据的位数寄存器、ALU、总线、存储器等字长越长,数的表示范围

7、越大,精度越高4位、8位、16位、32位、64位存储容量存储器可存储的二进制数据总数容量存储单元个数存储字长MAR16位,则有64K个存储单元;MDR32位,则共可存储64K322Mb华硕P4S533-MX主板内存条插槽CPU风扇支架PCI扩展槽IDE硬盘接口各种外设接口,包括:键盘、鼠标、显示器、USB、声卡、网卡、并行口等CPU插槽第章运算方法和运算部件3.1 数据的表示 方法和转换3.2 机器数在计算机中的表示方法及加减法运算3.3 定点乘法运算3.4 定点除法运算3.5 浮点数运算方法3.6 数据校验码 3.1.1 数值型数据的表示和转换在计算机系统中,常用的几种数制有下列几种:二进制

8、 R=2, 基本符号为 0和1八进制 R=8, 基本符号为 0,1,2,3,4,5,6,7十六进制 R=16, 基本符号为 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F 十进制 R=10, 基本符号为 0,1,2,3,4,5,6,7,8,9 1. R进制数转换成十进制数 R进制数转换成十进制数时,只要“按权展开”即可。例1: 二进制数转换成十进制数。 (10101.01)2=(124+023+122+021+120+ 0 2-1+12-2)10=(21.25)10 例2: 八进制数转换成十进制数。 (307.6)8=(382+780+68-1) 10=(199.75) 10

9、例3: 十六进制数转换成十进制数。 (3A.C)=(3161+10160+1216-1) 10 =(58.75) 10 2. 十进制数转换成R进制数 十进制数转换成R进制数时,要将整数和小数部分分 别进行转换。(1)整数部分的转换 整数部分的转换方法是“除基取余”。 例1: 将十进制整数835分别转换成二、八进制数。01813810488358余数 低位3051(835) 10=(1503) 8 高位(835) 10=(1101000011) 2 (2)小数部分的转换 小数部分的转换方法是“乘基取整”。 例2: 将十进制小数0.6875分别转换成二、八进制数。 0.68752=1.375 1整

10、数部分0.3752=0.75 00.752=1.5 10.52=1.0 1高位低位(0.6875) 10=(0.1011) 2 整数部分高位低位0.68758=5.5 5 0.58=4.0 4(0.6875) 10=(0.54) 8 例3 :将十进制小数0.63转换成二进制数。 整数部分高位低位0.632=1.26 10.262=0.52 00.522=1.04 10.042=0.08 0(0.63) 10=(0.1010) 2 (近似值) (3)含整数、小数部分的数的转换 只要将整数、小数部分分别进行转换,得到转换后的 整数和小数部分,然后再这两部分组合起来得到一个 完整的数。 例4: 将十

11、进制数835.6875转换成二、八进制数。(835.6875) 10=(1101000011.1011) 2=(1503.54) 8 3. 二、八、十六进制数的相互转换 (1)八进制数转换成二进制数 (13.724) 8=( 001 011 . 111 010 100 )2 =(1011.1110101) 2 (2)十六进制数转换成二进制数 (2B.5E)16 = ( 0010 1011 . 0101 1110 ) 2 = (101011.0101111) 2 (3)二进制数转换成八进制数 (10011.01) 2 = ( 010 011 . 010 ) 2 = (23.2) 8 (4)二进制

12、数转换成十六进制数 (11001.11) 2 = ( 0001 1001 . 1100 ) 2 = ( 19.C ) 16 3.1.2 十进制的编码与运算 二_十进制编码(BCD码,BinaryDecimal Code) 用四位二进制码表示一位十进制数1.有权码:二进制码中每一位有确定的权2.无权码:二进制码中每一位没有确定的权 1.有权码 8421码(2) 2421码 5- 0101、1011 7-0111、1101 9- 1111 120001 0010(3) 5421码 5- 1000、0101 7-0111、1010 9- 1100 120001 0010(4)8421码2. 无权码(

13、1)余3码 51000 71010 91100 120100 0101特点:每个编码代表的值比其对应的十进制多“3”(2)格雷码 相邻的两代码之间只有一位不同。 3. 8421码加法规则 两个8421码相加时,和小于或等于9则保持不变 两个8421码相加时,和大于9,则和数应加0110修正。例1:(15)10+(21)10=(36)10 8421码加法运算: 0001 0101 15 + 0010 0001 +21 0011 0110 36 每个十进制位的8421码和均小于9,因此,对计算结果无需修正例2:(15)10+(26)10=(41)10 8421码加法: 0001 0101 15 +

14、 0010 0110 + 26 进位 0011 1011 41 修正 + 0110 0100 0001 在8421BCD码的加法运算中,低十进制位的二进制加法和是1011,大于1001; 需要在该位+6修正;修正使得本位结果正确,同时向上一位产生进位。 4. 余3码加法规则 两个余三码相加时,不产生进位时,结果减0011,产生进位时,进位送入高位,本位加0011。 5. 数字串在计算机内的表示形式十进制数串在计算机内主要有两种表示形式: 1.字符串形式:一个字节存放一个十进制的数位或符号位。2.压缩的十进制数串形式:一个字节存放两个十进制的数位。它比前一种形式节省存储空间,又便于直接完成十进制

15、数的算术运算,是广泛采用的较为理想的方法。 符号位也占半个字节并放在最低数字位之后,其值选用四位编码中的六种冗余状态中的有关值,如用12(c)表示正号,用13(d)表示负号。在这种表示中,规定数位加符号位之和必须为偶数,当和不为偶数时,应在最高数字位之前补一个0。 每个数位占用半个字节(即4个二进制位),其值可用二十编码(BCD码)或数字符的ASCII码的低4位表示。3.2 机器数在计算机中的表示方法及加减法运算 真值vs.机器数真值:正、负号加某进制数绝对值的形式称为真值。如二进制真值: X=+1011 y=-1011机器数:符号数码化的数称为机器数如 :X=01011 Y=11011 机器

16、数特点:1、数的符号数值化2、表示范围受字长限制 超出此范围_溢出3、小数点的位置要约定1.定点数是指计算机中所有数据的小数点位置是固定不变的。该位置在计算机设计时已被隐含地规定,因此勿需再用任何硬件设备状态来明显表示小数点。2浮点数在计算机中所表示的数,其小数点位置是可变的,这种数称为浮点数。 机器数,主要分成定点数与浮点数两类来加以讨论。先简要说明这两类机器数的基本定义,再详细讨论其具体编码形式 原码 补码 反码 移码正数:原码、反码和补码表示都相同负数:原码、反码和补码表示不同 定点机器数的编码表示:3.2.1 原码表示法原码表示法用“0”表示正号,用“1”表示负号,数值位用真值的绝对值

17、表示。整数的符号位与数值位之间用逗号“,”隔开;小数的符号位与数值位之间用小数点“.”隔开。 定点小数原码定义 x x原= 1-x 例1:X=-0.1011 x原10.10111.1011 (默认机器字长5位) 0的原码有两种表示方式: +0原 =0.0000000; -0原 =1-0.0000000=1.0000000设x原XsX1Xn ,其中Xs为符号位,共n+1位字长最大值 : 1-2-n 最小值:-(1-2-n)例1:若二进制原码小数的位数分别是8位,求其该数表示的最大值、最小值及所能表示数的个数?8位: 127, -(1-2-7) 2.定点小数原码的表示范围注意:最高位为符号位,有效

18、数值位分别为7。 X 1X0 X原 = 1-X 0X-1 3. 定点整数原码定义 x 当 2nx原= 2n-x 当 -2n例1: +1101原=0,1101 -1101原=1,1101(默认机器字长5位) 0的原码有两种表示方式: +0原 =0,0000000; -0原 =1,0000000结论:符号位数值化,数值位不变设x原XsX1Xn ,其中Xs为符号位,共n+1位字长8位: 127,-1274.定点整数原码的表示范围例1:若二进制的位数分别是8,其原码表示的最大值、最小值及表示数的个数为:注意:最高位为符号位,有效数值位分别为7。 最大值: 2n-1 最小值: -(2n-1) 原码特点表

19、示简单,易于同真值之间进行转换进行加减运算十分麻烦,本来是加法运算却可能要用减法器实现。当两个操作数符号不同且做加法运算时,先要判断两个数绝对值的大小,然后将绝对值大的数减去绝对值小的数,结果的符号以绝对值大的数为准。0的表示不惟一3.2.2 补码表示法以钟表对时为例说明补码的概念假设现在的标准时间是3点整,而有一只表已经6点了,为了校准时间,可以采用两种方法:(1)逆时针:将时钟退3格(2)顺时针:将时钟向前拨9格 这两种方法都能对准到3点。由此可以看出,减3和加9是等价的。就是说9是(3)对12的补码,可以用数学公式表示为: -3=+9 (mod 12) (“”为取模相等) 这里12是模数

20、。上例中63和69之所以等价,是因为表指针超过12时,将12自动丢掉,最后得到(6+9)123。重要启示:负数用补码表示时,可以把减法转化为加法。1.补码的概念模:计量器具的容量,或称为模数。 N位字长整数的模值为2N4位字长的机器表示的二进制整数为: 00001111 共16种状态,模为16=24 。一位符号位的纯小数的模值为2 补码的定义:正数的补码就是正数的本身,负数的补码是原负数加上模。2.定点小数补码的定义 x x补= 2+x 例:完成下列数的真值到补码的转换 X1 = + 0.1011011 X2 = - 0.1011011 X1补=0.1011011X2补=2-0.1011011

21、 =1.01001010的补码表示是唯一的:+0补=0.0000000 -0补= 2-0= 10.0000000-0.0000000 = 0.0000000(mod 2) 机器字长为8位,定点小数补码表示范围: -1 x 1-2-7 x 当2nx补= 2n1+x 当 -2n 3. 定点整数补码的定义例:完成下列数的真值到补码的转换 X1= +1011011 X2= -1011011 X1补= 0,1011011X2补= 27+1+x = 1,0100101 机器字长为8位,定点整数补码表示围: -27 x 27-14. -1的补码 设补码的有效数值位为n(1) 根据定义,对于整数补码有:-1补

22、2n+1-1=1,11111.1 (包括符号位一共n1个1) 根据定义,对于小数补码有:-1补2+(-1.00)=1.0.0 (n个0)由此可见, “-1”既可以在整数范围内表示,也能在小数范围内表示,在计算机中有两种不同的补码表示。(2) 再看负数-2n的补码表示-2n补2n+12n2n-11,0.0(n个0)因此,“1”的补码小数表示与“2n”的补码表示结构相同,都是:符号位为1,数值部分为n个0。 5.原码与补码之间的转换 正数的原码和补码显然一致。 对于负数:设 n = 4, x = x1x2x3x4 x补 = 2n+1+x = 10,0000 - x1x2x3x4 =11111+00

23、001 -x1x2x3x4 符号位除外,每位取反,末位加1。对小数原码也同样成立。反过来,由补码求原码也同样成立。 0,X 2nX0 x补= 2n+1+X 0X- 2n 0,X 2nX0X原 = 2n-X 0X-2n原码求补码先看整数原码和补码之间的转换原码-补码正数 X补=X原负数 符号位除外,每位取反,末位加1例:X= -1001001 求X补X原=1,1001001, X补=1,0110110+1=1,0110111X补= 27+1 +X=100000000-1001001= 1,0110111 10 0 0 0 0 0 0 0 - 1 0 0 1 0 0 1 1, 0 1 1 0 1

24、1 1 6.由y补求-y补解:以小数补码为例: 设 y补 y0y1y2yn 第一种情况, y补 0.y1y2yn 所以 y = 0.y1y2yn, 故 -y = - 0.y1y2yn 则 -y补= 第二种情况, y补1.y1y2yn 结论:连同符号一起将各位取反,末位再加1。例:X= +1001001 求-X补 X补 = 01001001 -X补= 10110111 1.定点小数反码的定义 x x反= 22-n+x 3.2.3 反码表示法例: x = -0.1011(n=4) 求x反 x反= 2 -2-4 + (-0.1011) =10.0000-0.0001-0.1011 =1.1111-0

25、.1011 =1.01002.定点整数反码的定义 X 2n X 0 X反= (2n+1 -1)+X 0 X -2n (mod (2n+1 -1)例:X1=+1011011, X1 反 =0,1011011 X2= -1011011, X2 反 =1,0100100 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 0 0的补码表示是: +0反=00000000; -0反 =11111111结论: 正数:反码与原码相同, 负数:对原码,符号位不变,其余各位取反 3. 反码相加例:0.1011 Y= -0.0100 x反=0.1011 Y反=1.1011 X+

26、Y反 =X反+Y反 =0.1011+1.1011反=10.0110 =0.0111最高位丢掉,在最低位加3.2.4. 移码(增码)表示法移码定义:X移= 2n + X 2nX -2n 引入移码的原因:当真值用补码表示时,由于符号位和数值部分一起编码,难于从补码形式上直接判断其真值的大小。例如:x=21,y=-21,X补=0,0010101, y补=1,1101011。从二进制码看, 会得出11101011 00010101的结论。证明:X移与X补的关系: 0 x 2n : X补=x X移= 2n + X补 -2nx 0时, x.y补=x补.y补2. x任意,y0,Ri+1=2Ri-Y。若Ri0

27、,Ri+1=2(Ri+Y)-Y= 2Ri+Y 。则得不恢复余数法(加减交替法)加减交替法规则:被除数减除数:结果为正,上商1,余数左移一位,减除数结果为负,上商0,余数左移一位,加除数 加减交替法(不恢复余数法)例:已知x=-0.1011,y=0.1101,求:x/y原 解:由|x| =0.1011,x原=1.1011|y| =0.1101,-y补=1.0011, y原=0.1101商值的求解过程如下:被除数(余数)商说 明 0.1011+ 1. 00110.0000+-y*补(减除数) 1.1110 1.1100+ 0.1101 00余数为负,上商0 1位+y*补 (加除数) 0.1001

28、1.0010+ 1.0011 0 1 0 1余数为正,上商1 1位+-y*补(减除数) 0.0101 0.1010+ 1.0011 0 1 1 0 1 1余数为正,上商1 1位+-y*补(减除数) 1.1101 1.1010+ 0.1101 0 1 1 0 0 1 1 0余数为负,上商0 1位+y*补 (加除数) 0.01110 1 1 0 1余数为正,上商1商的符号位为 所以x/y原=1.1101分析此例可见,n位小数的除法共上商n+1次,第一次商用来判断是否溢出。倘若比例因子选择恰当,除数结果不溢出,则第一次商肯定是0。如果省去这位商,只需上商n次即可,此时除法运算一开始应将被除数左移一位

29、减去除数,然后再根据余数上商。 3.5 浮点运算 1. 浮点数定义浮点数指小数点位置可变的数据,表示为: 其中:为尾数,是定点小数,用原码、补码表示 阶码为,用原码、补码或移码表示 为阶的基数,表示为21 ,22 ,23的形式以基数r=2为例,数N可写成下列不同形式: N=1011.1101=0.101111012100 =0.00101111012110 =10111.1012-1基本格式:阶符阶值尾值尾符阶码尾数上溢:浮点数阶码大于最大阶码时,称为“上溢”,此时机器停止运算,进行中断溢出处理。下溢:浮点数阶码小于最小阶码时,称为“下溢”,由于此时“溢出”的数绝对值很小,通常将尾数各位强制为

30、零,按机器零处理,此时机器继续运行。2.浮点数的表示范围SfS1 S2 Sn-1Sn数符数值部分小数点位置jfj1 j2 jn-1jn阶符阶码的数值部分上溢负数区正数区上溢下溢3.规格化数 尾数原码表示:最高数值位为1(0.1.或1.1.) 尾数补码表示:判别规格化数,应使尾数数值的最高位中至少有一位与符号位不同(阶的基数为2时,0.1或1.0)问题:浮点数以或为底(阶的基数为4,8)的规格化数是什么?例:写出x= -24/512的浮点表示(规格化) x = - 11000/29 = - 11000*2-9 = - 0.11000*2-4 x原=1 100 ; 1.11000 x反=1 011

31、; 1.00111 x补 =1 100; 1.01000例:浮点数阶符1位,阶值3位,尾符1位,尾值7位,写出此数所能表示的最大正数,最小正数,最大负数和最小负数。最大正数0,111 ; 0.1111111= (1-2-7)*2+7最小正数1,111; 0.0000001= 2-7 *2-7最大负数1,111; 1.0000001= - 2-7*2-7最小负数0,111; 1.1111111= - (1-2-7)*2+73.5.1 规格化浮点补码加、减法 两个浮点数加减运算,需使其阶码相等 X= 0.11011011*2010 , Y= - 0.10101100*2100 , 第1步:对阶-小

32、阶向大阶看齐 使其阶码相等,通过右移尾数来实现移动位数: E= E x- E y E补= E x- E y=00 010+11 100=11 11000 010 Mx右移两位,Mx =00 0011011011 X补=00 010 00 11011011 Y补=00 100 11 01010100 小阶码的尾数右移时应注意: 原码形式的尾数右移时,符号位不参加移位,数值位右移,空出位补0。 补码形式的尾数右移时,符号位与数值位一起右移,空出位填补符号位的值。 移出的这些位不要丢掉(警戒位),应保留,并且参加后续运算。这对运算结果的精确度有一定影响。 第2步:尾数加法 00 00110110 1

33、1+11 0101010011 10001010 11 因此x+y补=00 100 11 10001010 11 警戒位 X补=00 100 00 0011011011 Y补=00 100 11 01010100 第3步:尾数规格化 规格化形式的尾数应是如下形式: 尾数为正数时:00.1xxx 尾数为负数时:11.0 xxx 非规格化 规格化1. 右规: 尾数符号位为01或10 尾数右移一位,阶码加12. 左规 尾数为正数时:00 00-01x-x K个0符号位 数值位 尾数为负数时:00 11-10 x-x K个1符号位 数值位 采取规格化的方法: 符号位不动,数值位逐次左移,阶码逐次减1,

34、直到满足规格化形式的尾数,即最高数值位与符号位不同值为止。 M b=11 10001010 11 M b左移1位: M b =11 00010101 1第4步:尾数的舍入处理 对阶,右规时都要右移尾数,使尾数低位丢失,造 成误差,需舍入 0舍1入法 警戒位中的最高位为1时,就在尾数末尾加1; 舍入处理后需检测是否为规格化数,不是规格化数需 再次规格化(右规)。 恒置1法 不论警戒位为何值,尾数的有效最低位恒置1。 采用0舍1入法: 警戒位中的最高位为0时,舍去 得: M b =11 00010110第5步:阶码溢出判断 若阶符01,上溢,置溢出标志 若阶符10,下溢,置结果为机器零 阶码无溢出

35、,X+Y正常结束,得: 即X+Y= -0.11101010*2011例:设x=2-101(-0.101000),y=2-100(+0.111011),并假设阶符取2位,阶码取3位,数符取2位,尾数取6位,求x-y。 解:由x=2-101(-0.101000),y=2-100(+0.111011) 得x补=11,011;11.011000,y补=11,100;00.111011对阶 E补=Ex补-Ey补=11,011+00,100=11,111 即E=-1,则x的尾数向右移一位,阶码相应加1,即 x补=11,100;11.1011000求和Mx补-My补=Mx补+-My补 =11.101100+

36、11.000101 =10.1100010 即 x-y补=11,100;10.1100010 尾数符号位出现“10”,需右规。解(续) :即 x-y补=11,100;10.110001, 尾数符号位出现“10”,需右规。 规格化 右规后得 x-y补=11,101;11.01100010舍入处理 采用0舍1入法,其尾数右规时末位丢1,则 x-y补=11,101;11.011001溢出判断 经舍入处理后阶符为“11”,不溢出,故最终结果: x-y= 2-011(-0.100111)3.5.2 浮点乘除法运算设两浮点数 则 阶码运算尾数运算1. 阶码运算若阶码用补码运算,乘积的阶码为Ex补+Ey补,

37、商的阶码为Ex补-Ey补。若阶码用移码运算,则 Ex移=2n+ Ex -2nEx2n (n为整数的位数) Ey移=2n+ Ey -2nEy2n (n为整数的位数) 所以Ex移+Ey移= 2n+ Ex +2n+ Ey = 2n+ (2n +( Ex + Ey)= 2n+Ex + Ey移 可见,直接用移码求阶码和时,其最高位多加了一个2n,要得到移码形式的结果,必须减去2n。 由于同一个真值的移码和补码其数值部分完全相同,而符号位正好相反,即 Ey补=2n+1+ Ey (mod 2n+1)因此如果求阶码和可用下式完成: Ex移+Ey补= 2n+ Ex +2n+1+ Ey = 2n+1+ 2n +(

38、 Ex + Ey) = Ex + Ey移 (mod 2n+1) 则直接可得移码形式。同理,当作除法运算时,商的阶码可用下式完成: Ex移+-Ey补 = Ex - Ey移阶码运算阶码运算方法:进行移码加减运算时,只需将移码表示的加数或减数的符号位取反(即变为补码),然后进行运算,就可得阶和(或阶差)的移码。 溢出判断:在原有移码符号位的前面(即高位)再增加位符号位,并规定该位恒用“0”表示,而加数或减数的补码的两位符号位则一致。溢出的条件是运算结果移码的最高符号位为1。此时若低位符号位为0,表示上溢;低位符号位为1,表示下溢。如果运算结果移码的最高符号位为0,即表明没溢出。此时若低位符号位为1,

39、表明结果为正:低位符号位为0,表示结果为负。阶码运算溢出判断举例:设阶码取三位(不含符号位), 当Ex=+101,Ey=+110时,有Ex移=01,101, Ey补=00,110则: Ex +Ey移=Ex移+ Ey补=01,101+00,110=10,001 结果上溢 Ex -Ey移=Ex移+ -Ey补=01,101+11,100=01,001 结果+1尾数截断:尾数相乘会得到一个双倍字长的结果,若限定只取1倍字长,则乘积的若干低位将会丢失。如何处理丢失的各位值,通常有两种办法。截断处理:无条件的丢掉正常尾数最低位之后的全部数值。舍入处理:按浮点加减运算讨论的舍入原则进行舍入处理。 (1)浮点

40、乘法尾数运算舍入操作实例x补舍入前舍入后对应的真值1.011100001.011110001.011101011.011111001.0111(不舍不入)1.0111 (舍)1.0111 (舍)1.1000 (入)-0.1001-0.1001-0.1001-0.1000对负数的补码可采用如下规则进行舍入处理。当丢失的各位均为0时,不必舍入;当丢失的各位数中的最高位为0时,且以下各位不全为0;或丢失的各位数中的最高位为1,且以下各位均为0时,则舍去被丢失的各位;当丢失的各位数中的最高位为1,且以下各位又不全为0时;则在保留尾数的最末位加1修正。 x原舍入前舍入后对应的真值1.100100001.

41、100010001.100010111.100001001.1001(不舍不入)1.1001 (入)1.1001 (入)1.1000 (舍)-0.1001-0.1001-0.1001-0.1000浮点乘法运算举例 例:设机器数阶码取3位(不含阶符),尾数取7位(不舍数符),要求阶码用移码运算,尾数用补码运算,最后结果保留1倍字长。 设x=2-101(0.0110011),y=2011(-0.1110010) 求: x y。解:x补=11,011;00.0110011 y补=00,011;11.0001110阶码运算Ex移=00,011, Ey补=00,011 Ex+Ey移=Ex移+Ey补=00

42、,011+00,011=00,110 对应真值-2浮点乘法运算举例(续)尾数相乘(采用Booth算法)其过程如下表所示。部分积乘 数yn+1说 明 00.0000000 00.0000000 + 11.10011011.00011100 1000111001位+-Mx补 11.1001101 11.1100110 11.1110011 11.1111001 + 00.0110011 10100011 01010001 101010001111位1位1位+Mx补 00.0101100 00.0010110 00.0001011 00.0000101 + 11.1001101 01010100 0

43、0101010 100101010001位1位1位+ -Mx补 11.10100101001010相乘的结果为:MxMy补=11.10100101001010 浮点乘法运算举例(续) 即xy补=00,110;11.10100101001010 规格化。左规后xy补=00,101;11.01001010010100 舍入处理。尾数为负,按负数的补码的舍入规则,取1倍字长,丢失的7位为0010100,应“舍”。 故最终的结果为:xy补=00,101;11.0100101 即:xy= 2-011(-0.1011011) 3.7 数据校验码计算机在数据传送过程中(比如读写主存),由于传送数据容易产生错

44、误,则可通过数据编码的办法找出出错位置,实现自动改错数据校验码定义:是一种常用的具有发现某些错误或自动改错能力的数据编码方法码距是由任意两个合法码之间至少有几个二进制位不同而确立的3.1 奇偶校验码定义: 在有效信息位的最高或最低补充一个校验位使得的个数为奇数,称奇校验码,的个数为偶数称偶校验码。校验位形成条件: 奇校验位=D1 D2 D3.D8=P奇 偶校验位= D1 D2 D3.D8=P偶校验原理:偶校验在接收端求D8 D7 .D2 D1 D0 P偶当时则无错当时则有错特点:只能发现奇数个错不能纠错。3.2 海明校验码基本思想: 在有效信息位中加入几个校验位,并将有效信息位的每个二进制位分

45、配几个校验位。海明校验码的编码过程:、根据有效信息位的个数确立校验位的个数个有效信息位,r个校验位应满足: K+r+12r发现两位错,应满足K+r2r-12、确立校验位的位置 海明码由有效信息位和校验位组成设海明码是1,H2.Hn,则校验位的位置是在20-i-1(i为校验位位数)如:有效信息位8位则海明码13位 、校验位的形成(P1,P2,P3,P4,P5)、校验原理3.7.2 CRC码第四章 主存储器存储器是计算机系统的重要组成部分,用它来存放程序和数据。存储器的分类按功能分类主存储器:和CPU直接交换信息。辅助存储器:外存储器。主存速度快、容量小、每位的价格高;辅存速度慢、容量大、每位价格

46、低。缓冲存储器:用于两个速度不同的部件之间,起到缓冲作用。存储器的分类按存取方式分随机存储器RAM(Random Access Memory)只读存储器ROM(Read Access Memory) 主存RAM(易失性)ROM(非易失性,只能读出而不能写入)静态存储器SRAM依靠双稳态电路内部交叉反馈的机制存储信息。速度快,容量小,功耗大,作CACHE动态存储器DRAM依靠电容存储电荷的原理存储信息。功耗较小,容量大,速度较快,作内存。掩膜式ROMPROMEPROME2PROMFLASH MEMORY(快擦除)存储器应用表存储器目前主要应用SRAMDRAMROMPROMEPROME2PROMF

47、lash MemoryCache计算机主存储器(内存)固定程序,微程序控制器存储器用户自编程序,用于工业控制机或电器中用户编写并修改程序或产品试制阶段编程序IC卡存储器固态盘(优盘)、IC卡主要技术指标速度指标: 存取时间和存储周期、存储器的带宽。存取时间:指从启动一次存储器操作到完成该操作所需的全部时间。读出时间:从存储器接收到有效地址开始,到产生有效输出所需的全部时间。写入时间:从存储器接收到有效地址开始,到数据写入被选中单元所需的全部时间。存储周期:指连续启动两次独立的操作(如两次读操作)所需间隔的最小时间。通常大于存取时间。存储器的带宽:是单位时间里存储器所存取的最大信息量。单位:以位

48、/秒、字节/秒。例:存取周期为500ns,每个存取周期可访问16位,则它的带宽为半导体存储芯片的基本结构现代计算机的主存储器都由半导体集成电路构成。存储矩阵译码驱动读写电路地址线片选线数据线读/写控制线计算机系统中的存储器有许多芯片组成片选信号用来选择这些存储芯片。半导体存储芯片的译码驱动方式线选法特点:用一根字选择线(字线)直接选中一个存储单元的各位(如一个字节)。这种方式结构简单,但适于容量不大的存储芯片。半导体存储芯片的译码驱动方式重合法特点:被选单元有X、Y两个方向的地址决定,因此叫重合法。当要构成1KX1字节的存储器时,只需用8片上图所示的芯片即可。4. 4 主存的基本操作DRARC

49、PU主 存读数据总线地址总线写读操作:CPU将AR中地址通过AB送入MAR,W/R=0,MDR 通过DB送入DR写操作: CPU将AR中地址通过AB送入MAR,W/R=1,DR 通过DB送入MDR4.5 静态随机存储器1.六管静态基本单元(1)组成T1T4组成双稳态触发器T1 ,T2为放大管,T3,T4为负载管,T5,T6为开关控制管VccT3T1T4T2T5T6字线字线,选择存储单元位线,完成读/写操作位线2(2)定义“0”:T1导通,T2截止;“1”:T1截止,T2导通。位线1(3)工作T5、T6字线加高电平,高、低电平,写1/0。(4)保持VccT3T1T4T2T5T6字线位线1位线2导

50、通,选中该单元。写入:在位线1 、位线2上分别加读出:根据位线1 、位线2上有无高、低电平,读1/0。字线:加低电平T5、T6截止,该基本单元未选中,保持原状态。2.存储芯片例.SRAM芯片2114(1K4位)外特性:特点:集成度低,容量小,速度快地址端:2114(1K4)191018A6 A5 A4 A3 A0 A1 A2 CS GNDVcc A7 A8 A9 D0 D1 D2 D3 WEA9A0(入)数据端:D3D0(入/出)控制端:片选CS= 0 选中芯片= 1 未选中芯片写使能WE= 0 写= 1 读电源、地2114(SRAM)时序读周期:地址有效CS有效数据输出CS复位地址撤销只有当

51、地址有效经tA后,且当片选有效经tCO后,数据才能稳定输出。DOUTtRCtAtCOtCX数据有效数据稳定片选失效地址有效地址失效tOTDtOHAACS高阻2114(SRAM)时序写周期:地址有效CS有效WE有效数据有效 WE撤销 CS复位地址撤销动态RAM(DRAM)单管MOS动态RAM读出时,字线上的高电平使T导通,若电容Cs上有电荷,经T管在位线上产生电流,可视为读出“1”。若Cs无电荷,则位线上无电流,可视为读出“0”。读操作结束时, Cs的电荷已泄放完毕,故是破坏性读出,必须再生。位线字线TCs写入时,字线为高电平使T导通,若位线上为高电平,则经T管对Cs充电,使其存“1”;若位线为

52、低电平,则Cs经T放点,使其无电荷而存“0”。DRAM靠电容存储电荷的原理寄存信息。电容上有足够多的电荷表示存“1”,电容上无电荷表示存“0”。电容上的电荷一般只能维持12ms。再生或刷新:必须在2ms内对其所有存储单元恢复一次原状态。地址端:2164(64K1)18916GND CAS Do A6 A3 A4 A5 A7A7A0(入)数据端:Di(入)控制端:片选写使能WE= 0 写= 1 读电源、地空闲/刷新 Di WE RAS A0 A2 A1 Vcc分时复用,提供16位地址。Do(出)行地址选通RAS列地址选通CAS:=0时A7A0为行地址高8位地址:=0时A7A0为列地址低8位地址1

53、脚未用,或在新型号中用于片内自动刷新。优点:结构简单,管子少,功耗小,集成度高;缺点:电路状态不稳定,由于漏电流存在,Cs上的电荷经一段时间后会泄放掉(约为几毫秒)读出信息时也会使Cs上电荷泄放,所以需加刷新电路,使Cs上信息再生。单管动态RAM的优缺点单管动态RAM芯片4116芯片结构16KX1位存储芯片;行列地址分开送;128X128存储矩阵。动态RAM时序 读周期: 实现读操作,各信号的时间关系应符合下面的要求。 行地址必须在RAS信号有效之前送到芯片的地址输入端。 CAS信号应滞后RAS一段时间,并滞后于列地址送到芯片地址输入端的时间。 RAS、CAS应有足够的宽度。 WE信号为高,并

54、在CAS有效之前建立。动态RAM读时序 写周期: RAS与CAS之间的关系,以及它们与地址 信息之间的关系和读周期相同。 WE信号为低,并在CAS信号有效之前建立。 写数据必须在CAS有效之前出现在Din端。动态RAM写时序动态RAM读写时序动态RAM页面读时序动态RAM与静态RAM的比较目前,动态RAM的应用比静态RAM要广泛得多(主存),其原因是:DRAM集成度高DRAM的功耗仅为SRAM的1/6DRAM的价格仅为SRAM的1/4DRAM的缺点DRAM由于使用动态元件(电容),速度比SRAM低。DRAM内容需要再生,故需配置再生电路因此,容量不大的高速存储器大多用静态RAM实现,如高速缓存

55、(Cache)。4.8 半导体存储器组成与控制存储容量的扩展: 当一片RAM存储芯片不能满足存储容量需要时,就需要将若干片RAM存储芯片组合起来,构成满足存储容量要求的存储器。三种扩展方法:位扩展:增加存储字长字扩展:增加存储字的数量字位扩展存储芯片的连接,主要完成三种线的连接地址线A0An的连接数据线I/O0I/O n 或D0Dn的连接控制线的连接,如片选CS、读/写WE1、 存储容量的扩展仅在字长(位数)扩展,字数不做扩展。字数满足要求,而位数不够时,应采用位扩展。位扩展法例:使用8K*1位的RAM构成8K*8位的存储器。分三步:(1)使用8片8K*1的RAM芯片,每片有13根(A0A12

56、)地址线,1根(I/O)数据线(2)每片RAM的1位数据线分别接置数据总线的相应位(D0D7)(3)将8片地址线的相应位(A0A12)并联后接至地址总线的相应位上。由8K*1位的RAM构成8K*8位的存储器连接图 8 I/O 7 I/O 6 I/O 5 I/O 4 I/O 3 I/O 2 I/O 18k*1 I/O地址总线A0A12A0A12数据总线D0D7D0D7位扩展的原则实现位扩展的原则是:多个单片RAM的I/O端并行输出。多个RAM的 端接到一起,作为RAM的片选端(同时被选中);地址端对应接到一起,作为RAM的地址输入端。多个单片RAM的 端接到一起,作为RAM的读/写控制端(读/写

57、控制端只能有一个); CSWE用4片2561位的RAM扩展成2564位的RAM的接线图 例如:用16K*8的存储芯片组成64K*8位的存储器,并给出片选线CS和读写控制线WE的连接方法。连接方法:使用字扩展法(1)使用4片16K*8的存储芯片来组成(2)每片有地址端14根(A0A13),数据端8根D0D7,及片选CS,写允许WE等引脚(3)芯片数据端与数据总线D0D7相连(4)地址总线的低位地址A0A13与各芯片的14位地址端相连,两位高位地址A14,A15经2-4译码器译码,4个输出分别与4个片选端CS相连(5)系统总线的 WE与各芯片的WE相连字扩展法只在字向扩充,而位数不变。在RAM的数

58、据位的位数足够,而字数达不到要求时,需要进行字扩展。字数增加,地址线数就得相应增加。如2568位RAM的地址线数为8条,而10248位RAM的地址线数为10条CS16K*8WE、CS16K*8WE、CS16K*8WE、CS16K*8WE、A0A13WED0D72:4译码器A15A143210用16K*8存储芯片组成64K*8位存储器连接图各芯片地址分配见下表地址空间分配表 地址片号A15A14A13A12A11A1A0说明100000000011111最低地址 0000H最高地址 3FFFH201010000011111最低地址 40000H最高地址 7FFFH31010000.0011111

59、最低地址 8000H最高地址 0BFFFH411110000011111最低地址 0C000H最高地址 0FFFFH字扩展的原则实现字扩展的原则是:多个单片RAM的I/O端并接,作为RAM的I/O端 多片构成字扩展之后,每次访问只能选中一片,选中哪一片,由字扩展后多出的地址线决定。多出的地址线经输出低有效的译码器译码,接至各片RAM的 端;低位地址端对应接到一起,作为低位地址输入端。 端接到一起作为RAM的读/写控制端(读写控制端只能有一个);CSWE字扩展法示意图假定存储器的容量为M*N位,若使用L*K芯片(LM,KBCD,现要求将中断处理次序改为CADB。 表8.2(a)中各级中断程序的屏

60、蔽位应如何设置(设“0”为允许,“1”为屏蔽)?解:(1)中断程序的屏蔽位设置见表 请按图所示时间轴给出的设备中断请求时刻,画出CPU执行程序的轨迹。设A、B、C、D中断服务程序的时间宽度均为20us。(2)CPU执行程序的轨迹如图所示DMA传输 前面二种I/O方式都需要CPU作为中介: 外设 CPU 内存 两个含义:1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的;2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。 缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)解决:DMA传输 DMA传输:直接内存访问(DMA)方式,是一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论