计算机组成原理三章
- 格式:doc
- 大小:522.50 KB
- 文档页数:12
第三章运算方法与运算器3.1定点数运算及溢出检测随堂测验1、定点运算器可直接进行的运算是() (单选)A、十进制数加法运算B、定点数运算C、浮点数运算D、定点数和浮点数运算2、设计计算机字长为8位,两个十进制数X = -97 ,Y = 63, [x]补- [y]补的结果为()(单选)A、01100000B、11011110C、负溢出D、正溢出3、下列关于定点运算溢出的描述中,正确的是( ) (多选)A、补码数据表时,同号数相加可能发生溢出B、补码数据表时,异号数相减可能发生溢出C、参加运算的两个数,当作为有符号数和无符号数进行加法运算时,不可能两者都溢出D、溢出检测既可用硬件实现,也可用软件实现4、设X为被加(减)数,Y为加(减)数,S为运算结果,均采用补码数据表示,下列关于溢出电路设计的描述中,正确的是()(多选)A、采用单符号位时,直接用X、Y和S的符号位就可设计溢出监测电路B、采用双符号位时,可直接用S的双符号位设计溢出检测电路C、采用单符号位时,可直接用X、Y最高有效数据位运算后的进位位和S的进位设计溢出监测电路D、对无符号数的加/减运算,可利用运算器的进位信号设计溢出检测电路3.2 定点数补码加、减运算器设计随堂测验1、如图所示为基于FA的运算器:为了利用一位全加器FA并配合使用控制信号P,当P= 0/1时实现A、B两个数的加法/减法运算,图中空白方框处电路的逻辑功能应该是()(单选)A、与门B、或门C、异或门D、非门2、如图所示为带溢出检测功能的运算器该电路完成的溢出检测功能是()(多选)A、带符号数的加法溢出检测B、带符号数的加法溢出检测C、无符号数的加法溢出检测D、无符号数减法的溢出检测3、下列关于并行进位的描述中,正确的是()(多选)A、并行进位可以提高运算速度B、并行进位模式下,各进位位采用不同电路各自产生,相互间不再有依存关系C、采用先行进位部件和ALU模块可构建长度可变的并行进位运算器D、并行进位只对加法有效,而对减法无效4、四位并行ALU中有两个特殊的输出端,分别是:G =A3B3+(A3+B3)(A2B2+(A2+B2)(A1B 1+ (A1+B1) A 0B0)) 为进位产生函数,P=(B3+A3) (B2+A2)( A1+B1 ) (A0+B0)为进位传递函数下列关于P、G的描述中,正确的是()(多选)A、设计P和G的目的是为了构建位数更长的并行ALUB、P和G对算术运算和逻辑运算都有意义C、P的作用是将本片ALU的最低进位输入位传递到本片ALU的最高进位输出端D、G的作用是根据参与运算的两个数据产生本片ALU的最高进位输出3.3 原码一位乘法随堂测验1、设计算机字长为8位,X = - 19,对该分别执行算术左移和逻辑左移一位后的结果分别为()(单选)A、11011010 ,11011010B、11110010 ,11110010C、11011000 ,11011000D、11110000 ,111100002、设计算机字长为8位,X = - 19,对该分别执行算术右移和逻辑右移一位后的结果分别为()(单选)A、11111001,11111001B、11111001,01111001C、11110110,01110110D、11110110,111101103、关于原码一位乘法的下列描述中,正确的是()(多选)A、数据取绝对值参加运算B、符号位单独处理C、乘法执行过程中的所有移位都是算术移位D、最后的结果由部分积寄存器和乘数寄存器共同保存4、计算机字长为n位, 下列关于原码一位乘法操作过程的描述中,正确的是() (多选)A、乘法过程中共执行n 次算术右移和n 次加法运算B、乘法过程中共执行n -1次算术右移和n-1 次加法运算C、乘法过程中,部分积加0 还是加x的绝对值,取决于此时的YnD、乘法过程中右移部分积是为了使部分积与下次的加数按位对齐3.4 补码一位乘法随堂测验1、16位补码0X 8FA0扩展为32位的结果是() (单选)A、0X 0000 8FA0B、0X FFFF 8FA0C、0X FFFF FFA0D、0X8000 8FA02、计算机字长为n位, 下列关于补码一位乘法操作过程的描述中,正确的是() (多选)A、乘法过程中共执行n 次加法和n-1 部分积右移B、乘法过程中共执行n -1次算术右移和n-1 次加法运算C、乘法过程中,部分积加0 、[x]补还是[-x]补,取决于此时的Yn+1 与Yn的差D、乘法过程中右移部分积的目的是为了使部分积与下次的加数对齐3、关于补码码一位乘法的下列描述中,正确的是()(多选)A、符号位和数据位一起参加运算B、运算开始前,需要在乘数寄存器Y后面补上Yn+1且其初值为0C、乘法执行过程中的对部分积的移位是算术右移D、最后的结果由部分积寄存器和乘数寄存器共同保存3.5 乘法运算器设计随堂测验1、下图为原码一位乘法器原理图正确的是()(单选)A、A: 部分积寄存器B:乘数寄存器C: |X| D: YnB、A: 部分积寄存器B:乘数寄存器C: |X| D: Yn+1C、A: 被乘数寄存器B:乘数寄存器C: |X| D: YnD、A: 被乘数寄存器B:乘数寄存器C: |X| D: Yn+12、下图为补码一位乘法原理图正确的是() (单选)。
计算机组成原理——第三章系统总线3.1 总线的基本概念1. 为什么要⽤总线计算机系统五⼤部件之间的互连⽅式有两种:分散连接——各部件之间使⽤单独的连线总线连接——各部件连到⼀组公共信息传输线上早期的计算机⼤多采⽤分散连接⽅式,内部连线⼗分复杂,尤其当I/O与存储器交换信息时都需要经过运算器,使运算器停⽌运算,严重影响CPU的⼯作效率。
2. 什么是总线总线是连接各个部件的信息传输线,是各个部件共享的传输介质3. 总线上的信息传送串⾏并⾏3.2 总线的分类1. ⽚内总线芯⽚内部的总线CPU芯⽚内部寄存器之间寄存器与算逻单元ALU之间2. 系统总线计算机各部件(CPU、主存、I/O设备)之间的信息传输线按系统总线传输信息不同分为:数据总线——传输各功能部件之间的数据信息双向与机器字长、存储字长有关数据总线宽度——数据总线的位数地址总线——⽤来指出数据总线上的源数据或⽬的数据在主存单元的地址或I/O设备的地址单向(由CPU输出)与存储地址、I/O地址有关地址线位数(2n)与存储单元的个数(n)有关控制总线——⽤来发出各种控制信号的传输线出——中断请求、总线请求⼊——存储器读/写、总线允许、中断确认常见控制信号:时钟:⽤来同步各种操作复位:初始化所有部件总线请求:表⽰某部件需获得总线使⽤权总线允许:表⽰需要获得总线使⽤权的部件已获得了控制权中断请求:表⽰某部件提出中断申请中断响应:表⽰中断请求已被接收存储器写:将数据总线上的数据写⾄存储器的指定地址单元内存储器读:将指定存储单元中的数据读到数据总线上I/O读:从指定的I/O端⼝将数据读到数据总线上I/O写:将数据总线上的数据输出到指定的I/O端⼝内传输响应:表⽰数据已被接收,或已将数据送⾄数据总线上3. 通信总线⽤于计算机系统之间或计算机系统与其它系统(控制仪器、移动通信等)之间的通信通信⽅式:串⾏通信数据在单条1位宽的传输线上,⼀位⼀位地按顺序分时传送。
第三章课后习题参考答案1.有一个具有20位地址和32位字长的存储器,问:(1)该存储器能存储多少个字节的信息?(2)如果存储器由512K×8位SRAM芯片组成,需要多少芯片?(3)需要多少位地址作芯片选择?解:(1)∵ 220= 1M,∴该存储器能存储的信息为:1M×32/8=4MB (2)(1024K/512K)×(32/8)= 8(片)(3)需要1位地址作为芯片选择。
3.用16K×8位的DRAM芯片组成64K×32位存储器,要求:(1) 画出该存储器的组成逻辑框图。
(2) 设DRAM芯片存储体结构为128行,每行为128×8个存储元。
如单元刷新间隔不超过2ms,存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。
试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?解:(1)组成64K×32位存储器需存储芯片数为N=(64K/16K)×(32位/8位)=16(片)每4片组成16K×32位的存储区,有A13-A0作为片内地址,用A15 A14经2:4译码器产生片选信号,逻辑框图如下所示:(2)根据已知条件,CPU在1us内至少访存一次,而整个存储器的平均读/写周期为0.5us,如果采用集中刷新,有64us的死时间,肯定不行;所以采用分散式刷新方式:设16K×8位存储芯片的阵列结构为128行×128列,按行刷新,刷新周期T=2ms,则分散式刷新的间隔时间为:t=2ms/128=15.6(s) 取存储周期的整数倍15.5s(0.5的整数倍)则两次刷新的最大时间间隔发生的示意图如下可见,两次刷新的最大时间间隔为tMAXt MAX=15.5×2-0.5=30.5 (μS)对全部存储单元刷新一遍所需时间为tRt R=0.5×128=64 (μS)4.有一个1024K×32位的存储器,由128K×8位DRAM芯片构成。
第三章运算方法和运算器3.1补码的移位运算1、左移运算:各位依次左移,末位补0对于算术左移,若没有改变符号位,左移相当于乘以2。
2、右移运算:算术右移:符号位不变,各位(包括符号位)依次右移。
(相当于除以2)逻辑右移:最高位补0,其余各位依次右移例1:已知X=0.1011 ,Y=-0.0101 求 [0.5X]补;[0.25X]补;[-X]补;2[-X]补;[0.5Y]补;[0.25Y]补; [-Y]补;2[-Y]补[X]补=0.1011 [Y]补=1.1011[0.5X]补=0.01011 [0.5Y]补=1.11011[0.25X]补=0.001011 [0.25Y]补=1.111011[-X]补=1.0101 [-Y]补=0.01012[-X]补=0.1010 (溢出) 2[-Y]补=0.10103.2定点加减法运算及其实现3.2.1 补码加减法运算方法由于计算机中的进行定点数的加减运算大都是采用补码。
(1)公式:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补(证明过程见教材P38)例1 X=0.001010 Y=-0.100011 求[X-Y]补,[X+Y]补解:[X]补=0.001010 [-Y]补=0.100011则 [X-Y]补=[X]补+[-Y]补=0.001010 + 0.100011=0.101101 [X]补=0.001010 [Y]补=1.011101则 [X+Y]补=[X]补+[Y]补=0.001010 + 1.011101=1.100111例2:已知X=+0.25,Y=-0.625,求X+Y; X-Y写出计算的过程.例3:已知X=25,Y=-9,求X+Y; X-Y写出计算的过程.例4:已知X=-25,Y=-9,求X+Y; X-Y写出计算的过程.解: (8位二进制表示)例2: X=0.0100000 Y=-0.1010000[X]补=0.0100000 [Y]补=1.0110000则 [X+Y]补=[X]补+[Y]补=0.0100000 + 1.0110000=1.1010000[X+Y]原=-0.0110000=(-0.375)D[X]补=0.0100000 ,[-Y]补=0.1010000则 [X-Y]补 = [X]补+[-Y]补 = 0.0100000+0.1010000=0.1110000[X+Y]原 = 0.1110000 =(0.875)D例3: X=+0011001 Y=-0001001[X]补=00011001,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 00011001 + 11110111= 00010000[X+Y]原 =+0010000=(+16)D[X]补= 00011001 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 00011001 + 00001001= 00100010[X+Y]原 = +0100010 =(34)D例4: X=-0011001 Y=-0001001[X]补=11100111,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 11100111 + 11110111[X+Y]原 =-00100010=(-34)D[X]补= 11100111 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 11100111 + 00001001= 11110000[X+Y]原 = -0010000 =(-16)D3.2.2 定点加减法运算中的溢出问题溢出:运算结果大于机器所能表示的最大正数或者小于机器所能表示的最小负数.溢出只是针对带符号数的运算.比如:[X]补=0.1010,[Y]补=0.1001,那么[X]补+[Y]补=1.0011(溢出)溢出是一种错误,计算机中运算时必须能够发现这个现象,并加以处理判断溢出的方法:1、采用变形补码法[X+Y] 变补=[X] 变补+[Y] 变补[X-Y] 变补=[X] 变补+[-Y] 变补例1 X=0.1011 Y=0.0011 求[X+Y]补解: [X]变补 = 00.1011, [Y]变补 = 00.0011[X+Y]变补 = 00.1011 + 00.0011 = 00.1110所以 [X+Y]补 = 0.1110例2 X=0.1011 Y=0.1001 求[X+Y]补解: [X]变补 = 00.1011 [Y]变补 = 00.1001[X+Y]变补 = 00.1011 + 00.1001 = 01.0100运算结果的两符号位是01,不相同,发生溢出,因第一符号位是0,代表正数,所以称这种溢出为“正溢出”。
计算机组成原理(蒋本珊)第三第三章1.指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表示什么意思?解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。
通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。
2.零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。
解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。
双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。
例如,前述零地址和一地址的加法指令。
3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。
若双操作数指令已有K种,无操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各自允许的最大指令条数是多少?取操作数抬令的最大捋令数0 —匚单操作数指停的最大指令JKzlsx?-丄(假设取操作刼指令仅1条’为无操作数插令留出1亍扩展窗仃人无操作敢捐令的最大摘令数0一旷一营a栽中屮为表示某条二地址搭令占用的嬪码数0人衷爪真张驻他计箱令占出的编码数“此时取操作数和单操作数描令各仅有1条口4.设某机为定长指令字结构,指令长度12位,每个地址码占3 位,试提出一种分配8 0条单地址指令。
朗;1条三地hk招令ooo兀芸耳T y v zzz■ « >F。
丄丄XXX \ \ \ ZZZS条二Hk刚:描令100 000 XXX Y Y V100 111 XXX Y V VISO级甲虺如;指令1O1 OOO OOO XXXIll丄丄0。
丄丄XXX5.指令格式同上题,能否构成:三地址指令4 条,单地址指令2 5 5条,零地址指令6 4 条?为什么?解匸二地址描令4条000 XXX YYY ZZZ4 « A011 XXX YYY ZZZ单地址捋令255荼100 000 000 XXX111 111 110 YYY只能再扩展岀零地址搐令S条”所以不能购成这样的描令系统“6.指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?66解:主存容量越大,所需的地址码位数就越长。
第三章 存储器及存储系统3.1 存储器概述3.1.1存储器分类半导体存储器 集成度高 体积小 价格便宜 易维护 速度快 容量大 体积大 速度慢 比半导体容量大 数据不易丢失按照 存储 介质 分类磁表面存储器激光存储器随机存储器 主要为高速缓冲存储器和主存储器 存取时间与存储元的物理位置无关 (RAM)按照 存取 方式 分类串行访问存 储器 SAS 只读存储器 (ROM)存取时间与存储元的物理位置有关 顺序存取器 磁带 直接存储器 磁盘 只能读 不能写 掩模ROM: 生产厂家写可编程ROM(PROM): 用户自己写 可擦除可编程ROM EPROM :易失性半导体读/写存储器按照 可保 存性 分类存储器非易失性 存储器包括磁性材料半导体ROM半导体EEPROM主存储器按照 作用 分类辅助存储器缓冲存储器 控制存储器3.1.23级结构存储器的分级结构Cache 高速缓冲 存储器 主 存 主机 外 存1 高速缓 冲存储器 2 主存 3 外存CPU 寄 存 器3.2主存储器3.2.1 主存储器的技术指标1 存储容量 字存储单元 字节存储单元 2 存取时间 字地址 字节地址访问 写操作/读操作从存储器接收到访问命令后到从存 储器读出/写 入所需的时间 用TA表示 取决于介质的物理特性 和访问类型 3 存取周期 完成一次完整的存取所需要的时间用TM表示 TM > TA, 控制线路的稳定需要时间 有时还需要重写3.2.2 主存储器的基本结构地 址 译 码 器地址 CPUn位2n位存储体 主存 m位 数据寄存器 m位 CPUR/W CPU 控制线路3.2.3 主存储器的基本操作地址总线k位MAR数据总线n位主存容量 2K字 字长n位MDRCPUread write MAC 控制总线主存3.3半导体存储芯片工 艺速度很快 功耗大 容量小 PMOS 功耗小 容量大 电路结构 NMOS 静态MOS除外 MOS型 CMOS 静态MOS 工作方式 动态MOS 静态存储器SRAM 双极型 静态MOS型 双极型依靠双稳态电路内部交叉反馈的机制存储信息TTL型 ECL型存储 信息 原理动态存储器DRAM 动态MOS型功耗较小,容量大,速度较快,作主存3.3.1 静态MOS存储单元与存储芯片1.六管单元 1 组成T1 T2 工作管 T2 T4 负载管 T5 T6 T7 T8 控制管 XY字线 选择存储单元 T7 WY地址译码线 X地址 译码线Vcc T3 T4 A T1 T2 T8 W B T6T5WW 位线完成读/写操作2 定义 “0” T1导通 T2截止“1” T1截止 T2导通X地址 译码线Vcc T3 T4 A T1 T7 T2 T8Y地址译码线3 工作 XY 加高电平 T5 T6 T7 T8 导通 选中该 单元T5T6 BWW写入 在W W上分别读出 根据W W上有 加高 低电平 写1/0 无电流 读1/04保持XY 加低电平 只要电源正常 保证向导通管提供电流 便能维 持一管导通 另一管截止的状态不变 称静态2.静态MOS存储器的组成1 存储体 2 地址译码器 3 驱动器 4 片选/读写控制电路存储器外部信号引线D0 A0传送存储单元内容 根数与单元数据位数相同 9地址线 选择芯片内部一个存储单元 根数由存储器容量决定7数据线CS片选线 选择存储器芯片 当CS信号无效 其他信号线不起作用 R/W(OE/WE)读写允许线 打开数据通道 决定数据的传送方向和传 送时刻例.SRAM芯片2114 1K 4位Vcc A7 A8 A9 D0 D1 D2 D3 WE1外特性18 12114 1K 410 9地址端 数据端A9 A0 入 D3 D0 入/出 片选CS = 0 选中芯片 控制端 = 1 未选中芯片 写使能WE = 0 写 = 1 读 电源 地线A6 A5 A4 A3 A0 A1 A2 CS GND2内部寻址逻辑寻址空间1K 存储矩阵分为4个位平面 每面1K 1位 每面矩阵排成64行 16列 64 16 64 16 6 行 位 行 译 X0 地 1K 1K 码址 X63 X63 Y0 Y1564 161K64 161K列译码 4位列地址两 级 译 码一级 地址译码 选择字线 位线 二级 一根字线和一组位线交叉 选 择一位单元W W W WXi读/写线路 Yi存储器内部为双向地址译码 以节省内部 引线和驱动器 如 1K容量存储器 有10根地址线 单向译码需要1024根译码输出线和驱动器双向译码 X Y方向各为32根译码输出线和 驱动器 总共需要64根译码线和64个驱动器3.3.2 动态MOS存储单元与存储芯片1.四管单元 1 组成T1 T2 记忆管 C1 C2 柵极电容 T3 T4 控制门管W T3 T1C1 C2W A B T2 T4字线 W W 位线 Z 2 定义 “0” T1导通 T2截止 C1有电荷 C2无电荷 “1” T1截止 T2导通 C1无电荷 C2有电荷 3 工作 Z 加高电平 T3 T4导通 选中该单元Z写入 在W W上分别加高 低电平 写1/0 读出 W W先预 充电至高电平 断开充电回路 再根据W W上有 无电流 读1/0 W T3 T1C1 C2T4 T2W4保持Z 加低电平 需定期向电容补充电荷 动态刷新 称动态 四管单元是非破坏性读出 读出过程即实现刷新Z2.单管单元 C 记忆单元 T 控制门管 1 组成Z 字线 W 位线 W T Z C2定义“0” C无电荷 电平V0 低 “1” C有电荷 电平V1 高3工作写入 Z加高电平 T导通 读出 W先预充电 断开充电回路 Z加高电平 T导通 根据W线电位的变化 读1/0 4 保持 Z 加低电平 单管单元是破坏性读出 读出后需重写3.存储芯片例.DRAM芯片2164 64K 1位 外特性GND CAS Do A6 16 1 A3 A4 A5 A7 9 82164 64K 1空闲/刷新 Di WE RAS A0 A2 A1 VccA7—A0 入 分时复用 提供16位地址 数据端 Di 入 Do 出 = 0 写 写使能WE 高8位地址 = 1 读 控制端 行地址选通RAS =0时A7—A0为行地址 片选 列地址选通CAS =0时A7—A0为列地址 电源 地线 低8位地址 1脚未用 或在新型号中用于片内自动刷新 地址端动态存储器的刷新1.刷新定义和原因 定期向电容补充电荷 刷新动态存储器依靠电容电荷存储信息 平时无电源 供电 时间一长电容电荷会泄放 需定期向电容 补充电荷 以保持信息不变 注意刷新与重写的区别 破坏性读出后重写 以恢复原来的信息 非破坏性读出的动态M 需补充电荷以保持原来的 信息2.最大刷新间隔 2ms 3.刷新方法各动态芯片可同时刷新 片内按行刷新 刷新一行所用的时间 刷新周期 存取周期4.刷新周期的安排方式 1 集中刷新 2ms内集中安排所有刷新周期R/W R/W50ns刷新 刷新 2ms 死区用在实时要 求不高的场 合2分散刷新用在低速系 统中各刷新周期分散安排在存取周期中 R/W 刷新 R/W 刷新100ns3异步刷新 各刷新周期分散安排在2ms内 每隔一段时间刷新一行每隔15.6微秒提一次刷新请求 刷新一行 2毫秒内刷新完所有 15.6 微秒 行例. 2ms 128行R/W R/W 刷新 R/W R/W 刷新 R/W 15.6 微秒 15.6 微秒 15.6 微秒 刷新请求 刷新请求 DMA请求 DMA请求用在大多数计算机中3.3 只读存储器1掩模式只读存储器 MROM采用MOS管的1024 8位的结构图 UDDA0 A1 A90 地 址 译 1 码 驱 动 1023 器读出放大器读出放大器cs D7D0D12可编程读存储器 PROM用户可进行一次编程 存储单元电路由熔丝 相连 当加入写脉冲 某些存储单元熔丝熔 断 信息永久写入 不可再次改写3.EPROM 可擦除PROM用户可以多次编程 编程加写脉冲后 某些存 储单元的PN结表面形成浮动栅 阻挡通路 实 现信息写入 用紫外线照射可驱散浮动栅 原 有信息全部擦除 便可再次改写4.EEPROM 可电擦除PROM 既可全片擦除也可字节擦除 可在线擦除信息 又能失电保存信息 具备RAM ROM的优点 但写 入时间较长 .NOVRAM 不挥发随机存取存储器 实时性好 可以组成固态大容量存储装置 Flash Memor 闪存 集成度和价格接近EPROM,按块进行擦除 比普 通硬盘快的多3.4 主存储器组织存储器与微型机三总线的连接 1 数据线D0 2 地址线A0 3.片选线CS 连接地址总线高位ABN+1 4 读写线OE WE(R/W) 连接读写控制线RD WR微型机n nDB0 AB0Nn连接数据总线DB0ND0 A0 CSnNN连接地址总线低位AB0ABN+1 R/ WR/ W 存储器1存储器芯片的扩充用多片存储器芯片组成微型计算机系统所要求的存储器系统 要求扩充后的存储器系统引出线符合微型计算机 机的总线结构要求 一.扩充存储器位数 例1用2K 1位存储器芯片组成 2K 8位存储器系统 例2用2K 8位存储器芯片组成2K 16位存储器系统例1用2K 1位存储器芯片组成 2K 8位存储器系统当地址片选和读写信号有效 可并行存取8位信息例2用2K 8位存储器芯片组成2K 16位存储器系统D0D8715D0 R/W CE A0107R/W CE A010D0 R/W CE A0107地址片选和读写引线并联后引出 数据线并列引出二.扩充存储器容量字扩展法例用1K 4位存储器芯片组成4K 8位存储器系统存储器与单片机的连接存储器与微型机三总线 的一般连接方法和存储器 读写时序 1.数据总线与地址总线 为两组独立总线AB0 DB0NDB0 AB0n ND0 A0 CSn NABN+1 R/ W 微型机 地址输出 数据有效采 样 数 据R/ W 存储器nR/W2.微型机复用总线结构 数据与地址分时共用一 组总线AD0nD0Di Qi G 地址 锁存器nA0nALE R/W 单片机R/W 存储器ALE锁 存地 址 数据 有效 采 样 数 据 地址 输出 存锁 址地AD0n地址 输出数据 有效 采 样数 据R/W半导体存储器逻辑设计需解决 芯片的选用 地址分配与片选逻辑 信号线的连接例1.用2114 1K 4 SRAM芯片组成容量为4K 8的存储 器 地址总线A15 A0 低 ,双向数据总线D7 D0 低 ,读/写信号线R/W 1.计算芯片数 1 先扩展位数 再扩展单元数 2片1K 4 1K 8 8片 4组1K 8 4K 82 先扩展单元数 再扩展位数4片1K 4 4K 4 4K 8 2组4K 4 2.地址分配与片选逻辑存储器寻址逻辑8片芯片内的寻址系统(二级译码) 芯片外的地址分配与片选逻辑 由哪几位地址形成芯 片选择逻辑 以便寻 找芯片为芯片分配哪几位地址 以便寻找片内的存储单元 存储空间分配4KB存储器在16位地址空间 64KB 中占据 任意连续区间芯片地址 任意值 片选 A15…A12A11A10A9……A0 0 0 0 …… 0 0 0 1 …… 1 0 1 0 …… 0 0 1 1 …… 1 1 0 0 …… 0 1 0 1 …… 1 1 1 0 …… 0 1 1 1 …… 164KB1K 1K 1K 1K 4 4 4 4 1K 1K 1K 1K 4 4 4 44KB需12位地址 寻址 A11— A0低位地址分配给芯片 高位地址形成片选逻辑 芯片 芯片地址 片选信号 片选逻辑 1K A9 A0 CS0 A11A10 A11A10 1K A9 A0 CS1 A11A10 1K A9 A0 CS2 1K A9 A0 CS3 A11A103.连接方式1 扩展位数 2 扩展单元数 4 形成片选逻辑电路D7~D4 D3~D0 4 4 4 1K 4 4 R/W 1K 4 4 4 1K 4 4 4 1K 4 43 连接控制线1K 4 A9~A0 CS0 10 CS11K 4 10 CS21K 4 10 CS31K 4 10A11A10A11A10A11A10A11A10例2.某半导体存储器 按字节编址 其中 0000H 07FFH为ROM区 选用EPROM芯片 2KB/片 0800H 13FFH为RAM区 选用RAM芯片 2KB/片和1KB/片 地址总线A1 A0 低 给出地址分配和片选逻辑1.计算容量和芯片数ROM区 2KBRAM区 3KB2.地址分配与片选逻辑 存储空间分配 先安排大容量芯片 放地址低端 再安排小容量芯片便于拟定片选逻辑64KBA15A14A13A12A11A10A9…A00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 …… 0 …… 1 …… 0 …… 1 0 … 0 1 … 12K 2K 1KROM 5KB 需13 位地 RAM 址寻 址低位地址分配给芯片 高位地址形成片选逻辑 芯片 芯片地址 片选信号 片选逻辑 2K A10 A0 CS0 A12A11 2K A10 A0 CS1 A12A11 1K A9 A0 CS2 A12A11 A10 A15A14A13为全03.4.2 高速缓冲存储器。
第3章习题参考答案1、设有一个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息?(2) 如果存储器由512K ×8位SRAM 芯片组成,需要多少片? (3) 需要多少位地址作芯片选择? 解:(1) 该存储器能存储:字节4M 832220=⨯(2) 需要片8823228512322192020=⨯⨯=⨯⨯K (3) 用512K ?8位的芯片构成字长为32位的存储器,则需要每4片为一组进行字长的位数扩展,然后再由2组进行存储器容量的扩展。
所以只需一位最高位地址进行芯片选择。
2、已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M ×8位的DRAM 芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问; (1) 若每个内存条为16M ×64位,共需几个内存条? (2) 每个内存条内共有多少DRAM 芯片?(3) 主存共需多少DRAM 芯片? CPU 如何选择各内存条? 解:(1) 共需条4641664226=⨯⨯M 内存条 (2) 每个内存条内共有32846416=⨯⨯M M 个芯片(3) 主存共需多少1288464648464226=⨯⨯=⨯⨯M M M 个RAM 芯片, 共有4个内存条,故CPU 选择内存条用最高两位地址A 24和A 25通过2:4译码器实现;其余的24根地址线用于内存条内部单元的选择。
3、用16K ×8位的DRAM 芯片构成64K ×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为μS ,CPU 在1μS 内至少要访问一次。
试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少? 解:(1) 用16K ×8位的DRAM 芯片构成64K ×32位存储器,需要用16448163264=⨯=⨯⨯K K 个芯片,其中每4片为一组构成16K ×32位——进行字长位数扩展(一组内的4个芯片只有数据信号线不互连——分别接D 0?D 7、D 8?D 15、D 16?D 23和D 24?D 31,其余同名引脚互连),需要低14位地址(A 0?A 13)作为模块内各个芯片的内部单元地址——分成行、列地址两次由A 0?A 6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A 14、A 15通过2:4译码器实现4组中选择一组。
画出逻辑框图如下。
(1) (2) (3) (4)(5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) CPUD 0~D 31RAS 0RAS 1RAS 2RAS 3A 0~A 13A 14 A 15A 0~A 6A 0~A 6 A 0~A 6 A 0~A 6 WE WE2-4 译码RASD 0~7 D 8~15 D 16~23 D 24~31D 0~7 D 8~15 D 16~23 D 24~31D 0~7 D 8~15 D 16~23 D 24~31D 0~7 D 8~15 D 16~23 D 24~31WEWEWERASRASRAS(2) 设刷新周期为2ms ,并设16K ?8位的DRAM 结构是128?128?8存储阵列,则对所有单元全部刷新一遍需要128次(每次刷新一行,共128行)若采用集中式刷新,则每2ms 中的最后128??s=64?s 为集中刷新时间,不能进行正常读写,即存在64?s 的死时间若采用分散式刷新,则每1?s 只能访问一次主存,而题目要求CPU 在1μS 内至少要访问一次,也就是说访问主存的时间间隔越短越好,故此方法也不是最适合的比较适合采用异步式刷新:采用异步刷新方式,则两次刷新操作的最大时间间隔为s msμ625.151282=,可取?s ;对全部存储单元刷新一遍所需的实际刷新时间为:?s ?128=;采用这种方式,每?s 中有?s 用于刷新,其余的时间用于访存(大部分时间中1?s 可以访问两次内存)。
4、有一个1024K ×32位的存储器,由128K ×8位的DRAM 芯片构成。
问: (1) 总共需要多少DRAM 芯片? (2) 设计此存储体组成框图。
(3) 采用异步刷新方式,如单元刷新间隔不超过8ms ,则刷新信号周期是多少? 解:(1) 需要32488128321024=⨯=⨯⨯K K 片,每4片为一组,共需8组(2) 设计此存储体组成框图如下所示。
(3) 设该128K ?8位的DRAM 芯片的存储阵列为512?256?8结构,则如果选择一个行地址进行刷新,刷新地址为A 0?A 8,那么该行上的2048个存储元同时进行刷新,要求单元刷新间隔不超过8ms ,即要在8ms 内进行512次刷新操作。
采用异步刷新方式时需要每隔s msμ625.155128=进行一次,可取刷新信号周期为?s 。
5、要求用256K×l6位SRAM 芯片设计1024K×32位的存储器。
SRAM 芯片有两个控制端:当CS 有效时,该片选中。
当W/R =1时执行读操作,当W/R=0时执行写操作。
解:片82416256321024=⨯=⨯⨯K K ,共需8片,分为4组,每组2片即所设计的存储器单元数为1M ,字长为32,故地址长度为20位(A 19~A 0),所用芯片存储单元数为256K ,字长为16位,故占用的地址长度为18位(A 17~A 0)。
由此可用字长位数扩展与字单元数扩展相结合的方法组成组成整个存储器字长位数扩展:同一组中2个芯片的数据线,一个与数据总线的D 15~D 0相连,一个与D 31~D 16相连;其余信号线公用(地址线、片选信号、读写信号同名引脚互连)字单元数扩展:4组RAM 芯片,使用一片2:4译码器,各组除片选信号外,其余信号线公用。
其存储器结构如图所示6、用32K ×8位的E 2PROM 芯片组成128K ×16位的只读存储器,试问: (1) 数据寄存器多少位? (2) 地址寄存器多少位?(3) 共需多少个E 2PROM 芯片? (4) 画出此存储器组成框图。
解:(1) 系统16位数据,所以数据寄存器16位(2) 系统地址128K =217,所以地址寄存器17位(3)共需片82483216128=⨯=⨯⨯K K ,分为4组,每组2片(4) 组成框图如下~A 147.某机器中,已知配有一个地址空间为0000H ?3FFFH 的ROM 区域。
现在再用一个RAM 芯片(8K ×8)形成40K ×l6位的RAM 区域,起始地为6000H 。
假设RAM 芯片有CS 和WE 信号控制端。
CPU 的地址总线为A 15?A 0,数据总线为D 15?D 0,控制信号为W R / (读/写),MREQ (访存),要求:(1) 画出地址译码方案。
(2) 将ROM 与RAM 同CPU 连接。
解:(1) 由于RAM 芯片的容量是8K ×8,要构成40K ×16的RAM 区域,共需要 片1025881640=⨯=⨯⨯K K ,分为5组,每组2片;8K=213,故低位地址为13位:A 12~A 0每组的2片位并联,进行字长的位扩展有5组RAM 芯片,故用于组间选择的译码器使用3:8译码器,用高3位地址A 15~A 13作译码器的选择输入信号 地址分配情况:(2) ROM、RAM与CPU的连接如图:8、设存储器容量为64M ,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。
存储周期T =100ns ,数据总线宽度为64位,总线传送周期,?=50ns 。
求:顺序存储器和交叉存储器的带宽各是多少? 解:顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:q = 64位×8 = 512位顺序存储器和交叉存储器连续读出8个字所需的时间分别是:t 1 = mT = 8×100ns = 8×10-7st 2 = T+(m-1)τ = 100ns+7×50ns = 450 ns = ×10-7 s顺序存储器和交叉存储器的带宽分别是: W 1=q/t 1=512/(8×10-7)=64×107[位/s] W 2=q/t 2=512/×10-7)=×107 [位/s]9、CPU 执行一段程序时,cache 完成存取的次数为2420次,主存完成存取的次数为80次,已知cache 存储周期为40ns ,主存存储周期为240ns ,求cache /主存系统的效率和平均访问时间。
解:cache 的命中率:%8.968024202420=+=+=m c c N N N h主存慢于Cache 的倍率:640240===c m t t r Cache/主存系统的效率:%2.86968.0561)1(1=⨯-=-+=h r r e平均访问时间:ns e t t c a 4.46862.040===10、已知cache 存储周期40ns ,主存存储周期200ns ,cache/主存系统平均访问时间为50ns ,求cache 的命中率是多少?解:已知cache /主存系统平均访问时间t a =50ns 由于m c a t h t h t )1(-+*= 所以有%75.934020050200=--=--=c m a m t t t t h11、某计算机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等。
(1) 循环程序由6条指令组成,重复执行80次。
(2) 循环程序由8条指令组成,重复执行60次。
解:设取指周期为T ,总线传送周期为τ,每条指令的执行时间相等,并设为t 0,存储器采用四体交叉存储器,且程序存放在连续的存储单元中,故取指令操作采用流水线存取方式,两种情况程序运行的总的时间分别为: (1) t = (T+5τ+6t 0)*80 = 80T+400τ+480 t 0 (2) t = (T+7τ+8t 0)*60 = 60T+420τ+480 t 0 所以不相等12、一个由主存和Cache 组成的二级存储系统,参数定义如下:T a 为系统平均存取时间,T 1为Cache 的存取时间,T 2为主存的存取时间,H 为Cache 命中率,请写出T a 与T 1、T 2、H 参数之间的函数关系式。
解:21)1(T H T H T a *-+*=13、一个组相联cache 由64个行组成,每组4行。