《计算机组成原理》习题答案 (秦磊华)
表4.12 某页式虚拟存储器的页表
虚页号 实页号 装入位 0 1 2 3 4 5 6 7 3 2 1 2 3 1 0 0 1 1 0 0 1 0 1 0 (1)失效的页有哪几页?
(2)虚地址(用十进制数表示)0,3028,1023,2048,4096,8000的实地址分别是多少? 解:(1)失效的页为:2、3、5、7
(2)虚存空间大小为8*1KB= 8KB,故虚地址为13位,其中虚页号为3位 0: 虚页号为:0
所对应的实页号为:3 页内偏移为:0
故其实地址为(二进制表示):0110000000000 ,对应的十进制实地址为: 3*1K+0=3072 3028:(3028)10= (010 1111000100)2
虚页号为:2
所对应的实页号为:1 故其实地址为:(001 1111000100)2= 1988 1023:(000 1111111111)
虚页号为:0
所对应的实页号为:3 故其实地址为:(011 1111111111)2= 3*1K+1023=4095 2048: (010 0000000000)2
虚页号为:2
所对应的实页号为:1 但由于装入位为零,故该页不在虚存中。 页内偏移地址为:0
故其实地址为:1*1K+0=1024
本题后面部分略 ,请参照完成!
4.18某计算机系统中有一个TLB和L1级数据Cache,存储系统按字节编址,虚拟存储容量为2GB, 主存容量为4MB,页大小为128KB,TLB采用四路组相联方式,共有16个页表项.Cache容量为16KB,每块包含8个字,每字32位,采用四路组相联,块大小为4B,共32行.参照图4.51所描述的页式虚拟存储系统中TLB和Cache命中时详细的存储访问过程,回答下列问题:
(1)虚拟地址中哪几位表示虚页号?哪几位表示页内偏移地址?虚页号中哪几位表示TLB标记?哪几位表示TLB索引?
(2)物理地址中哪几位表示物理页号?哪几位表示偏移地址?
(3)为实现主存与数据Cache之间的组相联映射,对该地址又进行怎样的划分? 解:(1)虚拟存储的页面数为:2GB/128KB=16K,故虚页号的位数为:14位 由于页大小为128KB,故页内偏移地址的位数为17位
所以虚拟地址的高14位表示的是虚页号,低17位表示的是页内偏移地址
TLB采用四路组相联方式,共有16个页表项,所以索引需要2位,故虚拟页号的高12位为TLB标记,低2位为TLB索引
(2)物理内存中包含的页数为:4MB/128KB=32,故物理页号占5位,页内偏移地址的位数为17位
第 37 页 共 70 页
《计算机组成原理》习题答案 (秦磊华)
所以物理地址中高5位表示物理页号,低17位表示页内偏移地址
(3)主存容量为4MB,访问该主存需要22根地址线,块大小为32B,故块内字节偏移地址为5位, Cache采用四路组相联,Cache共分成16KB/32B = 512个组,故索引字段需要9位,剩下的22-5-9 = 8位为标记。 则主存地址划分如下:
17 主存组号(标记) 组内块号(索引) 块内地址 8 9 5
4.19某磁盘存储器共有6个记录面,盘面内圈直径为1英寸,外圈直径为5英寸,道密度为50TPI,位密度为 2000BPI,转速为 3000r/min,平均找道时间为 10ms。试问: (l)该存储器的存储容量是多少? (2)平均存取时间是多少? (3)共有多少个圆柱面? (4)数据传输率是多少?
(5)如果某文件的长度超过了一个磁道的容量,其超过部分应记录在同一记录面上,还是记录在同一回柱面上?
解:(l)该磁盘存储器6个记录面,最外两个记录面不记录内容,则该磁盘驱动器的总磁道数为:[(5-1)/2]*50TPI*4=400
由于位密度一般指磁盘内圈上的信息记录密度,故每个磁道的存储位数为: 3.14*2000BPI=6280位
则该磁盘存储器的存储容量为:400*6280/8=306KB (2)磁盘转半圈用时:60s*0.5/3000r/min=10ms 平均存取时间是:10ms+10ms=20ms
(3)圆柱面的个数为:[(5-1)/2]*50TPI=100
(4)该磁盘的最大数据传输率:3000*6280/(60*8) =38KB/s (5)记录在同一柱面上,这样可以省掉一次寻道时间.
第 38 页 共 70 页
《计算机组成原理》习题答案 (秦磊华)
4.20 写入代码为011001,画出RZ,NRZ,PE和FM制记录方式的写电流波形。 解:
0 1 1 0 0 1 RZ NRZ PEFM
3.1 存储系统中多级存储器各有哪些特点?
3.2 说明六管静态存储位的记忆原理和读/写操作原理。
3.3 动态MOS存储器与静态MOS存储器各有哪些特点?主要不同点是什么? 3.4 叙述静态随机存储器的组成特征和工作原理。
3.5 用4片32K×8位存储芯片可设计哪几种不同容量和字长的存储器?画出相应设计图并完成与CPU连接。
3.6 用32K×8位RAM芯片和64×4位ROM芯片,设计256K×8位存储器。其中,从30000H到3FFFFH地址空间为只读存储区,其它为可读、可写存储区。完成存储器与CPU连接。 3.7 对128K×8位的DRAM芯片采用异步刷新方式,并且刷新按行进行,行刷新的间隔时间20μs,芯片的存储体为1024×1024矩阵,刷新周期是多少?若采用集中式刷新方式死时间率是多少?
3.8 用16K×8位RAM芯片组织成128K×16位存储器,试问: (1) 数据寄存器为多少位? (2) 地址寄存器为多少位? (3) 共需多少存储芯片?
(4) 片内地址为多少位,片选地址为多少位? (5) 画出存储器组成框图。
3.9 试述CPU对含Cache的内存储器进行操作的读/写操作原理。
3.10 若主存容量为4MB,若按字编址,当字长为32位时,CPU按字访问主存时地址应为多少位?数据应为多少位?
3.11 试述多体交叉存储器的设计思想和实现方法。 3.12 试述多模块交叉存储器提高工作速度的一般原理。 3.13 主存容量为8MB,虚存容量为2GB,分页管理时若页面大小为4KB,则页表长度是多少? 3.14 试述磁表面存储器的记忆原理和读/写操作过程。 3.15 激光存储器有哪几种类型? 3.16 解释下列术语:
存储周期 存储位 存储介质 命中 相联存储器 直接映射方式
第 39 页 共 70 页
《计算机组成原理》习题答案 (秦磊华)
第五章 指令系统 习 题 五
5.1解释下列名词
指令 指令系统 操作码 地址码 寻址方式 程序计数器PC 有效地址 地址码扩展 CISC RISC 存储器堆栈 寄存器堆栈 基址寄存器 变址寄存器
解:(1)指令:控制计算机执行某种操作(如加、减、传送、转移等操作)的命令称为指令。 (2)指令系统:一台计算机中所有指令的集合称为该计算机的指令系统。
(3)操作码:指令中用于控制指令操作性质的字段称为操作码。不同功能的指令其操作码编码不同,如可用0001表示加法操作,0010表示减法操作。
(4)地址码:指令中用于定参与指令操作的操作数的地址或偏移量地址的字段。 (5)寻址方式:寻找指令或操作数有效地址的方法。
(6)程序计数器PC:程序计数器是用于存放下一条指令所在单元的地址的寄存器。 (7)有效地址:表示操作数所在主存单元的物理地址。
(8)地址码扩展:将指令的操作码字段向不用的地址码字段扩展,从而在指令长度不变的情况下支持更多的指令。
(9)CISC:CISC是复杂指令系统计算机(ComplexInstructionSetComputer)的简称,这类计算机指令系统复杂,寻址方式种类较多,指令执行效率低。
(10)RISC:RISC是精简指令集计算机(reduced instruction set computer,)的简称,这类计算机指令系统简单,寻址方式种类少,指令执行效率高。
(11)存储器堆栈:以先进后出的方式存储数据,在内存空间开辟堆栈区,该类堆栈容量大,速度慢,栈顶移动而堆栈中的数据不动。 (12)寄存器堆栈:以先进后出的方式存储数据,利用寄存器开辟的堆栈区,该类堆栈容量小,速度块,栈顶不动,出栈和入栈操作设计栈内所有数据的移动。 (13)基址寄存器:基址寻址方式下用于存放基地址的寄存器。
(14)变址寄存器:变址寻址方式下,用于存放变化的地址的寄存器。
5.2 简要回答下列问题
(1)什么叫指令?什么叫指令系统?
(2)计算机中为什么要设置多种操作数寻址方式? (3)操作数寻址方式在指令中如何表示?
(4)基址寻址和变址寻址的作用是什么?分析它们的异同点. (5)RISC处理器有何特点?
(6)比较定长指令与变长指令的优缺点。
(7)指令的地址码与指令中的地址码含义有何不同?
解:(1) 指令是指控制计算机执行某种操作(如加、减、传送、转移等操作)的命令,而一台计算机中所有指令的集合称为该计算机的指令系统。
(2) 这是为了在效率和方便性以及寻址空间大小保持平衡。 用于快速访问的寻址方式:立即数寻址、寄存器寻址等
扩大寻址范围的寻址方式:间接寻址、寄存器间接寻址、基址寻址等 便于程序设计灵活性的寻址方式:变址寻址、相对寻址、直接寻址等
既扩大寻址范围,又由利于指令执行速度提高的寻址方式:寄存器间接寻址 另外,多种复合寻址寻址方式使得寻址更加灵活。
(3)由于不同指令可能采用不同的寻址方式获得操作数,因此,一般情况下,指令的格式会进一步细分出寻址方式字段。下图所示的为包含寻址方式字段的单地址指令结构。
第 40 页 共 70 页