
组成原理期末复习.ppt
61页1第一章 计算机系统概论2存储程序概念Ø第一台电子数字计算机p1946、美国、ENIAC Ø存储程序概念的提出p1945、美籍匈牙利数学家冯·诺依曼p硬件系统由五大基本部件组成;p计算机内部采用二进制来表示指令和数据 ;p将编好的程序和原始数据事先存入存储器 中,然后再启动计算机工作 Ø第一台存储程序计算机p1949 、英国剑桥大学威尔克斯、EDSAC3输入设备主存储器输出设备运算器 控制器外存储器存储器外设CPU主机数据控制地址或指令计算机的硬件组成4微程序级机器语言级操作系统级汇编语言级高级语言级硬操作时序级应用语言级实际机器虚拟机器 系统软件应用软件计算机系统的多层次结构5第二章 运算方法与运算器6数制与编码Ø 进制之间转换 Ø BCD码p8421码p2421码n各位权分别为2、4、2、1n是一种对9的自补码p余3码n在8421码的基础上加0011形成的n是一种对9的自补码7数的机器码表示 Ø无符号数、带符号数 Ø原码、反码、补码p正数的原、反、补码相等p补码和反码的符号位可参与运算p补码的零的表示形式唯一p补码负数表示范围宽 8定点数表示范围Ø原码定点数(字长n+1位)p纯小数:–(1-2-n )~(1-2-n ) n例:字长为8位,则 ü最小定点小数 -127/128 ü最大定点小数 127/128p纯整数:-( 2n -1)~(2n -1) n 例:字长为8位,则 ü最小定点整数 -127 ü最大定点整数 1271.11111110.111111111111111.01111111.9Ø补码定点数(字长n+1位)p纯小数: -1~1- 2-n n例:字长为8位,则 ü最小定点小数 - 1 ü最大定点小数 127/128p纯整数:- 2n ~ 2n -1 n 例:字长为8位,则 ü最小定点整数 -128 ü最大定点整数 1271.00000000.111111110000000.01111111.定点数表示范围10已知X为下列数值 ① +0.1010; ② +0 ; ③ -0;④ -0.1010。
Ø请写出每一个数的[X]原、[X]补、(设字长5位, 其中含1位符号位) Ø解答:当X=+0.1010时: Ø [X]原=0.1010 [X]补=0.1010 Ø当X=+0时: Ø [X]原=0.0000[X]补=0.0000 Ø当X=-0时: Ø [X]原=1.0000[X]补=0.0000 Ø当X=-0.1010时: Ø[X]原=1.1010[X]补=1.011011第n位K个0K个1n个0n个1K个1Ø若阶码数值部分为K位,尾数数值部分为n位, 均 用补码表示,则浮点数的表数范围12IEEE754标准的浮点数1823 32位短浮点数数符阶码尾数1.尾数隐含了最高位1(位权20),实际为24位2.尾数采用原码表示3.阶码采用偏置值为127的移码表示13规格化的浮点数Ø为了充分利用尾数的有效数位,规定尾数值应在 0.5~1之间 Ø补码表示时,尾数的最高位应与符号位不同p当 1/2 <= M < 1 时,应有0.1 … 的形式p当 –1 <= M < - 1/2 时,应有1.0 … 的形式为什么是<,而不是<=?为什么是<=?补码的表示范围比原 码宽,可以表示-1,[-1]补=1.0000000, 是规格化的浮点数[-1/2]原=1.1000000 [-1/2]补=1.1000000 不是规格化的浮点数14浮点Ø [X]补+[Y]补=10.10111001 Ø 表示成浮点数 Ø 设尾数和阶码各取2位符号位,于是有: Ø 阶码:00 000;尾数:10.10111001 Ø 其中阶码为3位,尾数为8位(符号位数自己确定) Ø 规格化:因为Sf1Sf2=1,需右规,得: Ø 00 001;11.010111001 Ø 舍入处理:采用“0舍1入”法 Ø 11.01011100 Ø + 1 Ø 11.01011101 Ø 判溢出:阶码的两符号位为“00”,无溢出。
故结果为: Ø [X]补+[Y]补=00 001;11.0101110115Ø用32位二进制表示浮点数据,其中阶码8位(含1 位符号位)补码表示,尾数24位(含1位符号位) 补码表示试写出其可表示的浮点规格化最小正 数 ( 参考10页学生自己填写 )和最小负数(参 考10页学生自己填写 ) Ø浮点数的规格化目的是使浮点数的尾数的最高位 为有效数位当尾数用补码表示时,符号位与小 数点后的第1位不相等则为已经规格化的数据,否 则为非规格化的数据通过规格化,可以保证运 算数据的精度 16定点加减运算[Y]原=1.0110 [Y]补=1.1010 [-Y]补=0.0110Ø补码加减法 [x]补+ [y]补= [x+y]补(mod 2n)[x-y]补=[x+(-y)]补= [x]补+ [-y]补 (mod 2n) Ø补码的溢出判断p同号相加时才可能产生溢出p双高位判别法 Cf⊕Co=1p变形补码方法 n01-正溢出 n10-负溢出 n11-负数n00-正数17定点乘除运算Ø 计算机实现乘除法的方法p纯软件n低档微机,只能用子程序来实现乘除运算 p硬件扩充n中、小、微型机,增加一些硬件设备,乘 除运算变换成累加和移位操作。
p专用硬件n中、大型机,设置专用的乘除法器18串行乘法——补码一位乘法运算Ø比较法、Booth法p参加运算的数用补码表示,符号位参加运 算p被乘数X与部分积取双符号位 p乘数Y取单符号位,末位增设附加位Yn+1, 初值0p Yn与Yn+1构成了各步运算的判断位p进行n+1步操作,但第n+1步不移位p按补码右移规则移位Yn Yn+1 操作0 0 原部分积→1 0 1 原部分积+[X]补, →11 0 原部分积+[-X]补,→1 1 1 原部分积→119串行除法——补码不恢复余数法运算Ø第一步,判断是否够除,不是简单地相减p 补码表示时n被除数、除数同号,相减n被除数、除数异号,相加 Ø中间过程中,不同情况不同处理p余数、除数同号,商1,1←,+[-Y]补p余数、除数异号,商0,1←,+Y Ø商的校正p末尾恒置1法20运算器的基本组成Ø定点运算器的基本组成pALU、寄存器组、内部总线、判别逻辑和 控制电路、多路选择器或锁存器。
Ø运算器的三种总线结构p单总线、双总线、多总线 ØALU的进位方式p串行进位的缺陷:运算时间长p并行进位方式:n单级先行进位:组内并行,组间串 行n多级先行进位:组内并行,组间并 行2174181芯片应用举例p单级先行进位:组内并行,组间串行n前片的Cn+4与下一片的Cn相连n影响运算速度 例1:由4片74181组成单级先行进位的16位ALUC1274181741817418174181F7~F4F3~F0F11~F8F15~F12C0 C4 C8 C16A15~A12 B15~B12 A11~A8 B15~B12 A7~A4 B7~B4 A3~A0 B3~B02274181芯片应用举例p多级先行进位:组内并行,组间并行n需利用74182CLA先行进位部件 例2:由4片74181组成两级先行进位的16位ALUF15~F12F11~F8F7~F4C1674181741817418174181A15~A12A11~A8A7~A4A3~A0B15~B12B11~B8B7~B4B3~B0C0F3~F0G PG P G PG P C4C8C12G* P* 74182CLAG3 P3 Cn+z G2 P2 Cn+y G1 P1 Cn+x G0 P0CLA Carry Look Ahead23Cn+x =G0+P0Cn Cn+y =G1+P1Cn+x =G1 +P1(G0+P0Cn)=G1+P1G0+P1P0Cn Cn+z=G2+P2Cn+y=G2+P2( G1+P1G0+P1P0Cn)=G2+P2 G1+ P2 P1G0+P2 P1 P0 Cn G3+P3Cn+z=G3+P3(G2+P2 G1+ P2 P1G0+P2 P1 P0 Cn )=G3+P3G2+P3P3G1+P3P2P1G0+P3P2P1P0Cn P55成组进位产生函数G* 成组进位传送函数P*74182CLA的进位逻辑24第三章 存储系统 25存储系统层次结构Ø三级存储系统pCache——内存层次p内存——外存层次中央处理器高速缓冲存储器内存储器外存储器辅助软硬件辅助硬件26半导体存储器Ø各类半导体存储器的工作原理 ØDRAM的刷新p刷新原因p刷新方式n集中式刷新n分散式刷新n异步式刷新27Ø存储器容量扩充p位扩充p字扩充p字位同时扩充 Ø存储器与CPU的连接p片选信号的产生方法n全译码法 ü可指定起始地址n部分译码法 ü地址重叠存储器与CPU的连接28全译码法例:用2K×8的SRAM构成8K×8的存储器,与CPU相连(8根 对外数据线,20根地址线)。
要求存储器起始地址为 00000Hp第一、二步略第三步:地址分配芯 片A19A18A17A16A15A14A13A12A11A10~A0地址范围0#0000000000…000000H ~007FFH 1…1 1#010…000800H~00FFFH 1…1 2#100…001000H~017FFH 1…1 3#110…001800H~01FFFH 1…1ABCG2AG2B29全译码法p第四步:连线图----------- MEMR ---------MEMWA19 A18 A17A16 A15A14 A13A12 A11VccA0~A10 D0~D7---- G2A -----G2B---- Y3C ---- Y2B ---- Y1A ---- Y0G1---- --- ----CS WE OE 0#A0~A10D0~D71# 2# 3#30多体并行内存Ø 多个存储体各自具有自己的 地址寄存器、数据线、时序 ,可以独立地并行工作p在一个存取周期中 并行存取多个字,解决 存储器系统速度与CPU 速度不匹配的问题 Ø 多个存储体模块的编址方式p顺序编址 ——顺序存 储器p交叉编址 ——交叉存 储器总线控制存 储 体 1存 储 体 2存 储 体 N…存储控制部件MARMARMAR…31交叉存储器Ø 假设存储器容量32字 Ø 分成M0~M3四个模块 Ø 每个模块存储8个字 Ø 地址在模块间线性地排 列p地址5位n低2位 :模块号n高3位 :块内地址 Ø 优点p若不考虑总线 传输时间延迟,理 论上可将带宽提高 到4倍。
DB282420161284029252117139513026221814106231272319151173M0M1M2M3010 00010 01010 10010 11块内地址 模块号3位2位 内存地址32交叉存储器[例4] 存储器容量为32字,字长64位,模块数m=4,分别采 用顺序方式和交叉方式进行组织存取周期T=200NS,数 据总线宽度为64位,总线传送周期τ=50nS Ø 问顺序存储器和交叉存储器的带宽各是多少? [解]均以传送4个字来衡量p总数据传输量=字数×字长=4 × 64位=256位p顺序存储器n传输时间=字数×存取周期=4 × 200nS=800nSn带宽=总传输量/传输时间=256位 /0.8μS=320MbPSp交叉存储器n传输时间=T+(m-1) τ=200NS+(4-1) × 。
