计算机组织与结构思考题答案.docx
- 文档编号:3880743
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:46
- 大小:193.79KB
计算机组织与结构思考题答案.docx
《计算机组织与结构思考题答案.docx》由会员分享,可在线阅读,更多相关《计算机组织与结构思考题答案.docx(46页珍藏版)》请在冰点文库上搜索。
计算机组织与结构思考题答案
2.1什么是程序存储式计算机?
答:
计算机的程序能够以某种形式与数据一同存于存储器中,可以简化编程的过程。
计算机可以通过在存储器中自动读取程序来获取指令并执行,而且通过设置一部分存储器的值就可以编写和修改程序。
存储程序原理的基本点是指令驱动,即程序由指令组成,并和数据一起存放在计算机存储器中。
机器一经启动,就能按照程序指定的逻辑顺序把指令从存储器中读出来逐条执行,自动完成由程序所描述的处理工作。
这是计算机与一切手算工具的根本区别。
2.2任何通用计算机的4个主要(功能)部件是什么?
答:
中央处理单元(CPU)(算术逻辑单元ALU,控制单元),主存储器,I/O设备
2.3以集成电路级别而言,计算机系统的3个主要组成部分是什么?
答:
逻辑门,内存位元,和它们之间的互连结构。
2.4阐述摩尔定律答:
计算机芯片上的晶体管密度每一年半翻一番,并且这样的态势会持续几十年。
2.5列出并说明计算机系列(family)的主要特征。
答:
向上兼容的ISA(指令集体系结构),一般有相似或相同的操作系统。
同一系列中的不同计算机型的差别在于:
基本速度、存储容量、I/O能力、并行程度以及成本。
2.6区分微处理器(与其它微处理器出现之前的传统处理器)的关键特征是什么?
单芯片CPU。
微处理器是把ALU和CU集成在单芯片的CPU。
2.6在IBM360的Model65和Model75中,地址交错放在两个独立的内存单元中(例如,所有的奇数字放在一个单元中,所有的偶数字放在另一个单元中),采用这一技术的目的是什么?
答:
在IBM360型号中的65和75型电脑将奇偶地址存储单元交叉存放于两个分离的主存储单元,并让它们并行工作,从而能一次读写多个地址只有最后一位不同的2个存储单元的内容,提高了内存数据的整体访问速度。
一般化:
多体交叉(编址)存储器:
CPU--存储器控制部件—多个存储体。
一个存取周期内,同时访问n个存储体,由存储器控制部件控制它们分时使用总线进行信息传递。
或一个存取周期内分时(1/n存取周期)访问一个存储体。
重叠
1计算机指令指定的功能通常分为哪几类?
答:
CPU存储器:
数据可从CPU传送到存储器或从存储器传送到CPU。
CPU-I/O:
通过CPU和I/O模块之间的传输,数据可传送到或来自外部设备。
数据处理:
CPU可执行对数据的一些算术或逻辑操作。
控制:
指令可用来改变执行顺序。
3.2列出并简要定义指令执行的7种可能状态答:
7种可能状态如下:
指令地址计算:
决定下一条要执行的指令的地址。
通常是将一个固定的值与前一条指令的地址相加。
读取指令:
将指令从内存单元读到CPU中.指令操作译码:
分析指令,以决定执行何种操作及其所用的操作数。
操作数地址计算:
如果操作包含对存储器或通过I/O的操作数的访问,那么需决定操作数的地址。
取操作数:
从存储器或从I/O中的读取操作数.数据操作:
完成指令所给出的操作。
存储操作数:
将结果写入存储器或输出到I/O。
3.3列出并简要说明多重中断的2种办理办法答:
第1种是在中断处理过程中禁止其他的中断。
禁止中断仅仅意味着处理器可以,实际也就是不理会中断请求信号。
如果中断在此时发生,一般会保持在未决状态,在处理器允许中断后就会检测到这种未决状态。
第2种是定义中断的优先级,且允许优先级高的中断引起低级中断处理例程本身被中断。
3.4计算机互连机构例如总线必须支持何种类型的传送?
答:
存储器到CPU:
CPU从存储器中读指令或一个单元的数据。
CPU到存储器:
CPU向存储器写一个单元的数据。
I/O到CPU:
CPU通过I/O模块从I/O设备中读数据。
CPU到I/O:
CPU向I/O设备发送数据。
I/O和存储器之间:
对于这种情况,I/O模块允许与存储器直接交换数据,使用直接存储器存取控制器DMAC等部件,而不通过CPU。
3.5与单总线相比使用多总线有什么好处?
答:
1、单总线连接设备多的话,传输延迟越大。
而这个延迟决定了设备协调总线使用所花费的时间。
当总线控制频繁地由一个设备传递到另一个设备时,传输延迟明显的影响性能。
而多总线传输延迟短。
2、当聚集的传输请求接近总线容量,总线成为瓶颈。
通过提高总线的数据传输率或使用更宽的总线,虽然可以能够缓解。
但是挂接设备产生的数据传输率增加更快,这是单一总线的失败,而多总线可以缓冲这些传输。
3、同时允许系统支持更广泛更多的I/O设备(总线与I/O设备的速度容易匹配)。
3.1Memory(contentsinhex):
300:
3005;301:
5940;302:
7006
Step1:
0x3005→IR;Step2:
3→AC(假设从设备5中读出的数据为3)Step3:
0x5176(5*2^12+940)→IR;
Step4:
3+2=5→ACStep5:
0x7006→IR;Step6:
AC→Device6
3.3一个假想的32位微处理器采用32位指令格式,这种指令有两个部分,第1个字节包含操作码,其余部分是立即操作数或操作数的地址。
(a)最大可直接寻址的存储器容量是多少?
(b)讨论下面的微处理器总线对系统的影响:
(1)32位局部地址总线和16位局部数据总线。
(2)16位局部地址总线和16位局部数据总线。
(c)程序计数器和指令寄存器需要多少位?
解:
a、24位的操作数地址,共有2^24=16M个字节可以直接寻址。
b、在
(1)中,32位地址总线可以寻址4G的物理内存空间,浪费8根地址线,16位数据总线导致取1条指令需要2次内存访问,会降低系统的性能。
在
(2)中,16位地址总线只能寻址64K的物理内存空间,不能支持16M内存空间,16位数据总线导致取1条指令需要2次内存访问,会降低系统的性能。
c、操作数地址共有24位,因此程序计数器需要至少24位,由于采用32位指令格式,故指令寄存器为32位。
3.4Considerahypotheticalmicroprocessorgeneratinga16-bitaddress(forexample,assumethattheprogramcounterandtheaddressregistersare16bitswide)andhavinga16-bitdatabus.a….b…c…
Incases(a)and(b),themicroprocessorwillbeabletoaccess2^16=64Kbytes;theonlydifferenceisthatwithan8-bitmemoryeachaccesswilltransferabyte,whilewitha16-bitmemoryanaccessmaytransferabyteora16-bitword.Forcase(c),separateinputandoutputinstructionsareneeded,whoseexecutionwillgenerateseparate"I/Osignals"(differentfromthe"memorysignals"generatedwiththeexecutionofmemory-typeinstructions);ataminimum,oneadditionaloutputpinwillberequiredtocarrythisnewsignal.Forcase(d),itcansupport2^8=256inputand2^8=256outputbyteportsandthesamenumberofinputandoutput16-bitports;ineithercase,thedistinctionbetweenaninputandanoutputportisdefinedbythedifferentsignalthattheexecutedinputoroutputinstructiongenerated.
4.1顺序存取,直接存取、关联存取和随机存取4者何不同?
答:
顺序存取:
存储器组织成许多称为记录的数据单位,它们以特定的线性顺序方式存取。
存储的地址信息用于分隔记录和帮助检索。
采用共享读写机构,经过一个个的中间记录,从当前的存储位置移动到所要求的位置,因此存取不同数据之间相差很大(依赖于前面存取的序列)。
直接存取:
同顺序存取一样,直接存取也采用共享读写机构。
但是,单个的数据块或记录有基于物理存储位置的惟一地址。
通过采用直接存取到达所需块处,然后在块中顺序搜索,计数或等待,最终到达所需的存储位置来完成存取,同样,存取时间也是可变的(依赖于前面存取的序列)。
随机存取:
存储器中每一个可寻址的存储位置有惟一的物理编排的寻址机制。
存取给定存储位置的时间是固定的,不依赖于前面存取的序列。
因此任何存储位置可以随机选取,直接寻址和存取。
主存储器系统和某些cache系统采用随机存取。
关联存取:
例如cache先直接定位数据集set,集内并行比较标签tag查找。
存取时间是固定的,不依赖于前面存取的序列。
4.2存取时间,存储器成本和容量之间的通常关系是什么?
答:
存取时间越短,每位的价格就越高。
容量越大,每位的价格就越低。
容量越大,存取时间就越长。
4.3局部性原理如何涉及多级存储器的使用?
答:
多级存储器体系可行的依据程序运行的局部性原理,即在一小段时间内,运行的程序只使用少量的指令和少量的数据,而这少量的指令和少量的数据往往又集中在存储器的一小片存储区域中,指令顺序执行比转移执行的比例要大,故可以按对所使用的指令和数据的急迫和频繁程度,将其存入容量、速度、价格不同的存储器中,从而取得更高的性能价格比。
4.4直接映射,全关联映射,组关联映射之间的区别是什么?
答:
直接映射把主存储器的每块到一个固定可用的cache行中。
技术实现简单,花费少。
缺点是对于给定的块,有固定的cache位置。
全关联映射通过允许每个主存储器装入到cache的任何一行中老克服直接映射的缺点。
对于关联映射,当新的一块读入到行中时,替换旧的一块具有灵活性。
缺点是需要复杂的电路来并行检查所有cache行的标记。
组关联映射是一种既体现直接映射法和关联映射法的优点而又避免起缺点的折中方法。
提高了命中率。
4.5对于一个直接映射式cache主存地址可看成3段组成。
请列出并定义他们。
答:
为了实现cache存取,每个主存储器地址定义为3个域.最低的w位标识主存储器中某个块中唯一的字或字节.剩余的s位指定了主存储器2^s块中的一个.Cache逻辑将这s位解释为t=s-r位(高位部分)的标记域及r位的行字段,后者标识了cachec=2^r行中的一个。
4.6对于一个(全)关联映射式cache,主存地址可看成由2段组成。
请列出并定义他们。
答:
关联映射的cache控制逻辑简单地把存储器地址解释为标记(tag)域和字(word)域,标记域唯一标识主存储块,字(word)域用于块内寻址。
[为了确定某块是否在cache中,cache控制逻辑必须同时对每个行中的标记位进行检查,看其是否匹配。
地址长度=(s+w)位,寻址单元数=2^(s+w)个字或字节,块大小=行大小=2^w个字或字节,主存的块数=2^(s+w)/2^w=2^s,cache的行数(容量)不能确定,实际行数和组数由cache实际大小确定实际行数=C/2^w;标记大小=s位。
]
4.7对于一个组关联映射式cache,主存地址可看成由3段组成。
请列出并定义他们。
答:
采用组关联映射,块Bj能够映射到组i的任意一行中,这样,cache控制逻辑把存储器地址简单地解释为3个域:
标记、组和字。
d为指定了v=2^d组中的一个,标记和组域的s位指定了主存储器中2^s块中的一块。
地址长度=(s+w)位,寻址单元数=2^(s+w)个字或字节,块大小=行大小=2^w个字或字节,主存的块数=2^(s+w)/2^w=2^s,每组的行数=k,组数v=2^d,cache的行数=k*v=k*2^d,标记大小t=(s-d)位。
4.8空间局部性和时间局部性的区别何在?
答:
时间局部性指程序中的某一指令一旦执行,则不久以后这条指令可能再次执行,空间局部性指一旦程序访问了某个存贮单元,在不久之后,其附近的存贮单元可能再次被执行。
4.9通常,开发空间局部性和时间局部性的策略是什么?
答:
开发空间局部性的策略:
采取较大的cache块和预取机制。
软件中多使用局部变量,依次访问数组,减少转移指令的使用。
开发时间局部性的策略:
把最近使用过的指令和数据放到cache中,建立多级存储器体系。
软件中多使用循环和公共库函数。
4.1Thecacheisdividedinto16setsof4lineseach.Therefore,4bitsareneededtoidentifythesetnumber.Mainmemoryconsistsof4K=2^12blocks.Therefore,thesetplustaglengthsmustbe12bitsandthereforethetaglengthis8bits.Eachblockcontains128words.Therefore,7bitsareneededtospecifytheword.
Mainmemoryaddress=8TAG4SET7WORD
v7cn4.3:
cache容量64KiB每行4Byte,16进制主存地址111111、666666、BBBBBB,用16进制表示信息。
1.直接映射cache的标记,行和字的值。
1=0001,6=0110,B=1011
标记
行
字
8位
14位
2位
111111
11
0444
1
666666
66
1999
2
BBBBBB
BB
2EEE
3
2.全关联映射cache标记和字的值
标记
字
22
2
111111
044444
1
666666
199999
2
BBBBBB
2EEEEE
3
3.两路组关联cache的标记,行和字的值
标记
行
字
9
13
2
111111
022
0444
1
666666
0CC
1999
2
BBBBBB
177
0EEE
3
或:
Address
111111
666666
BBBBBB
a.直接Tag8/Line14/Word2
11/444/1
66/1999/2
BB/2EEE/3
b.全关联Tag22/Word2
44444/1
199999/2
2EEEEE/3
c.组关联Tag9/Set13/Word2
22/444/1
CC/1999/2
177/EEE/3
4.7(V7cn4.8)考虑一个机器带有字节可寻址的主存,其(主存)容量为2的16次方字节,块的大小是8字节,假设它使用直接映射式cahce(划分成32行)
a.16位存储器地址如何划分标记行号和字节号。
(3分)字节号:
2^3=8,行号:
2^5=32,标记16-5-3=8。
b.如下地址将存入cache的哪些行(4分)
00010001000110113
11000011001101006
11010000000111013
101010101010101021
c.假设地址0001101000011010的字节内容存入cache那么与它同存一行的其他的字节的地址各是什么?
0001101000011000,0001101000011001,…,0001101000011110,0001101000011111d.存储器总共有多少字节能保存于cache中?
32*8=256字节e.为何标记保存在cache中?
多个内存块可以装载到同一个cache行中,结合标记可以识别一个cache行中装载的是哪一个内存块的数据。
4.11考虑一个由32位地址字节级寻址的贮存和行大小为64B的cache组成的存储器子系统
a.假定cache是直接映射式并且地址中的标记字段为20位。
给出地址格式并确定参数:
可寻址单元数,主存的块数,cache的行数。
t标记20位
l行6位
w字6位
可寻址单元数2^32=4GB,最大主存的块数:
4G/64=2^26=64M,cache的行数2^(32-20-6)=2^6=64
b.假定cache是关联映射式给出地址格式并确定参数可寻址单元数,主存的块数,cache的行数,标记的长度。
t标记26位
w字6位
可寻址单元数2^(s+w)=2^32字节,最大主存的块数=2^s=2^26,cache的行数(容量)不能确定,实际行数和组数由cache实际大小确定实际行数=C/2^w,标记的长度26位。
c.假定cache是4路组关联映射式并且地址中的标记字段为9位给出地址格式并确定参数可寻址单元数,主存的块数,组中的行数,cache的行数,cache的组数,标记的长度。
t标记9位
v组17位
w字6位
可寻址单元数2^(s+w)=2^32字节,主存的块数=2^s=2^26,组中的行数=k=4,cache的组数=2^v=2^17,cache的行数=k2^d=2^19,实际组数=实际行数/k;标记的长度=9位。
4.15考虑以下代码:
for(i=0;I<20;i++)for(j=0;j<10;j++)a[i]=a[i]*j
a.给出这段代码中一个空间局部性的例子。
b.给出这段代码中一个时间局部性的例子。
解:
空间局部性:
相邻访问a[i]a[i+1],局部变量的访问,顺序执行程序结构。
时间局部性:
重复访问a[i],i,j,循环执行。
4.19考虑有以下参数的存储系统:
Cache访问时间Tc=100nsCache单位价格Cc=0.01cents/bit(CostofCache)美分/位内存访问时间Tm=1,200ns内存单位价格Cm=0.001cents/bit(Costofmemory)美分/位Tc=100ns,Cc=0.01美分/位Tm=1200ns,Cm=0.001美分/位
a.1MB主存的价格是多少Cost=Cm×8×10^6=8×10^3=$80
b.采用cache技术的1MB主存的价格是多少Cost=Cc×8×10^6=8×10^4=$800
c.用1MB主存的设计主存高速缓存系统,它的有效存取时间比cache存取时间大10%命中率多少?
按1m=10^6或1m=2^20计算都可以。
FromEquation(4.1):
1.1×T1=T1+(1–H)T2(0.1)(100)=(1–H)(1200)H=1190/1200
5.1半导体存储器的主要性质是什么?
答:
半导体存储器的基本元件的存储位元.半导体存储器都具有某些相似的性质1.呈现2种稳态,分别代表2进制的1和0。
2.能够通过(至少一次)写入来设置状态。
能够读写状态。
5.2术语随机存取存储器用上有哪2种意思?
答:
1、(支持)能被随机存取的存储器,用各自的地址标识位置(完全按地址访问),存取一个字的时间与该字所处位置和上次访问都无关的存储器。
2、易失的易读易写半导体存储器,(用作主存的)易失的易读易写半导体存储器。
由存储器读取数据和向存储器写入新数据都是方便和快速的,通过使用电信号来完成读写操作。
5.3DRAM和SRAM应用上有何不同?
答:
SRAM主要用作cache(片内/片外),andDRAM主要用作主存。
5.4在速度、容量和成本特性方面,DRAM和SRAM有何区别?
静态和动态RAM都是易失的,2者都要求电源持续供电才能保存位值。
与静态存储器位元相比,动态存储器位元要小而且电路简单。
于是与SRAM相比相应的DRAM密度要高价格要低。
另一方面,DRAM要求有支持刷新的电路。
但是,对于较大容量的存储器DRAM位元的低的可变成本远可补偿刷新电路的固定成本,因此,DRAM将使大容量存储器的需求者受惠。
最后,通常,SRAM要比DRAM快,由于这些相对特征,SRAM一般用与CACHE存储器,而DRAM用于主存储器。
5.5说明为何一种类型的RAM被认为是模拟设备,而一种类型的RAM被认为是数字设备?
答:
虽然DRAM位元能存储单一位值,但其本质上是一个模拟设备。
因为电容能存储一定范围的任何电荷值,所以必须使用一个门阀值来确定电荷值代表的是1还是0。
SRAM是数字设备,使用与处理器相同的逻辑元件。
静态RAM采用传统的触发器,逻辑们配置来存储2进制只要电源不断,SRAM将一直保持它所存储的数据。
1传统的RAM组织成每芯片只有一位,而ROM通常组织成每芯片多位,说明原因答:
主存需要大容量RAM,一位RAM芯片只需要一根数据线,一个输出驱动更可靠,芯片封装引脚也少,从而还能提高位密度。
而ROM总容量需要一般很小,让单芯片多位,一片ROM芯片就够,可以节省成本。
2,考虑动态RAM每毫秒必须刷新64次,每次刷新操作需要150NS,一个存储器周期需要250NS问存储器总操作时间的百分之多少必须用于刷新?
答:
刷新时不能进行动态RAM存取,其它时间都可以存取动态RAM。
1毫秒中储存周期中刷新的时间为64⋅150ns=9600ns.
刷新占总储存周期的时间百分比为(9.6⋅10^–6s)/10^–3s=0.0096=0.96%.
参考:
毫秒:
1Millisecond=10^-3s,微秒1μs=10^-6s,纳秒:
1nanosecond=1ns=10^-9s
5.3a.Memorycycletime=60+40=100ns.Themaximumdatarateis1bitevery100ns,whichis10Mbps.
b.320Mbps=40MB/s.
5.9Totalmemoryis1megabyte=8megabits.Itwilltake32DRAMstoconstructthememory(32×256Kb=8Mb).Thecompositefailurerateis2000×32=64,000FITS.
Fromthis,wegetaMTBF=109/64,000=15625hours=22months.Source:
[PROT88].
5.13若使用汉明纠错码来确定1024位数据字中的单个错误,则需要多少位校验码位?
答:
因为2的10次方是1024所以需要[log2(N)]+1=11位校验码位。
6.1磁盘使用玻璃衬底有什么好处?
1改善瓷层表面的均匀性,从而提高了磁盘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组织 结构 思考题 答案