组成原理文档格式.docx
《组成原理文档格式.docx》由会员分享,可在线阅读,更多相关《组成原理文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
ControlUnit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。
ALU:
ArithmeticLogicUnit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。
ACC:
Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
MQ:
Multiplier-QuotientRegister,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X:
此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR:
MemoryAddressRegister,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。
MDR:
MemoryDataRegister,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。
I/O:
Input/Outputequipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。
MIPS:
MillionInstructionPerSecond,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。
9.画出主机框图,分别以存数指令“STAM”和加法指令“ADDM”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。
假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。
主机框图如P13图1.11所示。
(1)STAM指令:
PC→MAR,MAR→MM,MM→MDR,MDR→IR,
OP(IR)→CU,Ad(IR)→MAR,ACC→MDR,MAR→MM,WR
(2)ADDM指令:
OP(IR)→CU,Ad(IR)→MAR,RD,MM→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR
假设主存容量256M*32位,在指令字长、存储字长、机器字长相等的条件下,ACC、X、IR、MDR寄存器均为32位,PC和MAR寄存器均为28位。
1.11
第四章
1.解释概念:
主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、FlashMemory。
主存:
主存储器,用于存放正在执行的程序和数据。
CPU可以直接进行随机读写,访问速度较高。
辅存:
辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。
Cache:
高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。
RAM:
半导体随机存取存储器,主要用作计算机中的主存。
SRAM:
静态半导体随机存取存储器。
DRAM:
动态半导体随机存取存储器。
ROM:
掩膜式半导体只读存储器。
由芯片制造商在制造时写入内容,以后只能读出而不能写入。
PROM:
可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。
EPROM:
紫外线擦写可编程只读存储器。
需要修改内容时,现将其全部内容擦除,然后再编程。
擦除依靠紫外线使浮动栅极上的电荷泄露而实现。
EEPROM:
电擦写可编程只读存储器。
CDROM:
只读型光盘。
FlashMemory:
闪速存储器。
或称快擦型存储器。
3.存储器的层次结构主要体现在什么地方?
为什么要分这些层次?
计算机如何管理这些层次?
存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与CACHE之间的信息调度功能全部由硬件自动完成。
而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。
因此,这两个层次上的调度或转换操作对于程序员来说都是透明的
4.8
25.什么是“程序访问的局部性”?
存储系统中哪一级采用了程序访问的局部性原理?
程序运行的局部性原理指:
在一小段时间内,最近被访问过的程序和数据很可能再次被访问;
在空间上,这些被访问的程序和数据往往集中在一小片存储区;
在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:
1)。
存储系统中Cache-主存层次和主存-辅存层次均采用了程序访问的局部性原理。
26.计算机中设置Cache的作用是什么?
能否将Cache的容量扩大,最后取代主存,为什么?
计算机中设置Cache的作用是解决CPU和主存速度不匹配问题。
不能将Cache的容量扩大取代主存,原因是:
(1)Cache容量越大成本越高,难以满足人们追求低价格的要求;
(2)如果取消主存,当CPU访问Cache失败时,需要将辅存的内容调入Cache再由CPU访问,造成CPU等待时间太长,损失更大。
15.设CPU共有16根地址线,8根数据线,并用
(低电平有效)作访存控制信号,
作读写命令信号(高电平为读,低电平为写)。
现有下列存储芯片:
ROM(2K×
8位,4K×
4位,8K×
8位),RAM(1K×
4位,2K×
8位),及74138译码器和其他门电路(门电路自定)。
试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。
要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区。
(2)指出选用的存储芯片类型及数量。
(3)详细画出片选逻辑。
(1)地址空间分配图:
系统程序区(ROM共4KB):
0000H-0FFFH
用户程序区(RAM共12KB):
1000H-3FFFH
(2)选片:
选择4K×
4位芯片2片,位并联
RAM:
8位芯片3片,字串联(RAM1地址范围为:
1000H-1FFFH,RAM2地址范围为2000H-2FFFH,RAM3地址范围为:
3000H-3FFFH)
(3)各芯片二进制地址分配如下:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
ROM1,2
1
RAM1
RAM2
RAM3
CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:
图(3)
28.设主存容量为256K字,Cache容量为2K字,块长为4。
(1)设计Cache地址格式,Cache中可装入多少块数据?
(2)在直接映射方式下,设计主存地址格式。
(3)在四路组相联映射方式下,设计主存地址格式。
(4)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。
(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,
Cache字地址9位,字块内地址为2位
因此,Cache地址格式设计如下:
Cache字块地址(9位)
字块内地址(2位)
(2)主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,
主存字块标记为18-9-2=7位。
直接映射方式下主存地址格式如下:
主存字块标记(7位)
(3)根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,
主存字块标记为18-7-2=9位,主存地址格式设计如下:
主存字块标记(9位)
组地址(7位)
(4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:
主存字块标记(16位)
(5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B,
Cache容量为2K*32/4=214B,块长为4*32/4=32B=25B,字块内地址为5位,
在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:
字块内地址(5位)
在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:
在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:
29.假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?
Cache被访问命中率为:
4800/(4800+200)=24/25=96%
则Cache-主存系统的平均访问时间为:
ta=0.96*30ns+(1-0.96)*150ns=34.8ns
Cache-主存系统的访问效率为:
e=tc/ta*100%=30/34.8*100%=86.2%
性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。
30.一个组相连映射的CACHE由64块组成,每组内包含4块。
主存包含4096块,每块由128字组成,访存地址为字地址。
试问主存和高速存储器的地址各为几位?
画出主存地址格式。
cache组数:
64/4=16,Cache容量为:
64*128=213字,cache地址13位
主存共分4096/16=256区,每区16块
主存容量为:
4096*128=219字,主存地址19位,地址格式如下:
主存字块标记(8位)
组地址(4位)
字块内地址(7位)
31.设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位。
试问主存地址为ABCDEH的存储单元在Cache中的什么位置?
主存和Cache按字节编址,
Cache容量16KB=214B,地址共格式为14位,分为16KB/(4*32/8B)=210块,每块4*32/8=16B=24B,Cache地址格式为:
Cache字块地址(10位)
字块内地址(4位)
主存容量1MB=220B,地址共格式为20位,分为1MB/(4*32/8B)=216块,每块24B,采用直接映射方式,主存字块标记为20-14=6位,主存地址格式为:
主存字块标记(6位)
主存地址为ABCDEH=10101011110011011110B,主存字块标记为101010,Cache字块地址为1111001101,字块内地址为1110,故该主存单元应映射到Cache的101010块的第1110字节,即第42块第14字节位置。
或者在Cache的第11110011011110=3CDEH字节位置。
32.设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织。
(1)画出主存地址字段中各段的位数。
(2)设Cache的初态为空,CPU依次从主存第0,1,2,…,89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?
(1)根据每字块有8个字,每字32位(4字节),得出主存地址字段中字块内地址为3+2=5位。
根据Cache容量为16KB=214B,字块大小为8*32/8=32=25B,得Cache地址共14位,Cache共有214-5=29块。
根据四路组相联映射,Cache共分为29/22=27组。
根据主存容量为4MB=222B,得主存地址共22位,主存字块标记为22-7-5=10位,故主存地址格式为:
主存字块标记(10位)
(2)由于每个字块中有8个字,而且初态为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读第1~7号单元时均命中。
同理,CPU读第8,16,…,88号时均未命中。
可见,CPU在连续读90个字中共有12次未命中,而后8次循环读90个字全部命中,命中率为:
(3)设Cache的周期为t,则主存周期为6t,没有Cache的访问时间为6t*90*8,有Cache的访问时间为t(90*8-12)+6t*12,则有Cache和无Cache相比,速度提高的倍数为:
38.磁盘组有6片磁盘,最外两侧盘面可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速3600转/分,问:
(1)共有多少存储面可用?
(2)共有多少柱面?
(3)盘组总存储容量是多少?
(4)数据传输率是多少?
(1)共有:
6×
2=12个存储面可用。
(2)有效存储区域=(33-22)/2=5.5cm
柱面数=40道/cm×
5.5=220道
(3)内层道周长=×
22=69.08cm
道容量=400位/cm×
69.08cm=3454B
面容量=3454B×
220道=759,880B
盘组总容量=759,880B×
12面=9,118,560B
(4)转速=3600转/60秒=60转/秒
数据传输率=3454B×
60转/秒=207,240B/S
39.某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12288字节,最小磁道直径为230mm,共有275道,求:
(1)磁盘存储器的存储容量。
(2)最高位密度(最小磁道的位密度)和最低位密度。
(3)磁盘数据传输率。
(4)平均等待时间。
(1)存储容量=275道×
12288B/道×
4面=13516800B
(2)最高位密度=12288B/(×
230)=17B/mm=136位/mm(向下取整)
最大磁道直径=230mm+2×
275道/(5道/mm)=230mm+110mm=340mm
最低位密度=12288B/(×
340)=11B/mm=92位/mm(向下取整)
(3)磁盘数据传输率=12288B×
3000转/分=12288B×
50转/秒=614400B/s
(4)平均等待时间=1s/50/2=10ms
17.写出1100、1101、1110、1111对应的汉明码。
有效信息均为n=4位,假设有效信息用b4b3b2b1表示
校验位位数k=3位,(2k>
=n+k+1)
设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:
c1c2b4c3b3b2b1
校验位在汉明码中分别处于第1、2、4位
c1=b4⊕b3⊕b1
c2=b4⊕b2⊕b1
c3=b3⊕b2⊕b1
当有效信息为1100时,c3c2c1=110,汉明码为0111100。
当有效信息为1101时,c3c2c1=001,汉明码为1010101。
当有效信息为1110时,c3c2c1=000,汉明码为0010110。
当有效信息为1111时,c3c2c1=111,汉明码为1111111。
18.已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?
第几位出错?
假设接收到的汉明码为:
c1’c2’b4’c3’b3’b2’b1’
纠错过程如下:
P1=c1’⊕b4’⊕b3’⊕b1’
P2=c2’⊕b4’⊕b2’⊕b1’
P3=c3’⊕b3’⊕b2’⊕b1’
如果收到的汉明码为1100100,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:
1100
如果收到的汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:
0110
如果收到的汉明码为1100000,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:
0010
如果收到的汉明码为1100001,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:
0001
19.已经接收到下列汉明码,分别写出它们所对应的欲传送代码。
(1)1100000(按偶性配置)
(2)1100010(按偶性配置)
(3)1101001(按偶性配置)
(4)0011001(按奇性配置)
(5)1000000(按奇性配置)
(6)1110001(按奇性配置)
(一)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按偶性配置则:
P1=C1’⊕B4’⊕B3’⊕B1’
P2=C2’⊕B4’⊕B2’⊕B1’
P3=C3’⊕B3’⊕B1’
(1)如接收到的汉明码为1100000,
P1=1⊕0⊕0⊕0=1
P2=1⊕0⊕0⊕0=1
P3=0⊕0⊕0=0
P3P2P1=011,第3位出错,可纠正为1110000,故欲传送的信息为1000。
(2)如接收到的汉明码为1100010,
P2=1⊕0⊕1⊕0=0
P3P2P1=001,第1位出错,可纠正为0100010,故欲传送的信息为0010。
(3)如接收到的汉明码为1101001,
P1=1⊕0⊕0⊕1=0
P2=1⊕0⊕0⊕1=0
P3=1⊕0⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为0001。
(二)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按奇性配置则:
P1=C1’⊕B4’⊕B3’⊕B1’⊕1
P2=C2’⊕B4’⊕B2’⊕B1’⊕1
P3=C3’⊕B3’⊕B1’⊕1
(4)如接收到的汉明码为0011001,
P1=0⊕1⊕0⊕1⊕1=1
P2=0⊕1⊕0⊕1⊕1=1
P3=1⊕0⊕1⊕1=1
P3P2P1=111,第7位出错,可纠正为0011000,故欲传送的信息为1000。
(5)如接收到的汉明码为1000000,
P1=1⊕0⊕0⊕0⊕1=0
P2=0⊕1⊕0⊕0⊕1=0
P3=0⊕0⊕0⊕1=1
P3P2P1=100,第4位出错,可纠正为1001000,故欲传送的信息为0000。
(6)如接收到的汉明码为1110001,
P1=1⊕1⊕0⊕1⊕1=0
P2=1⊕1⊕0⊕1⊕1=0
P3=0⊕0⊕1⊕1=0
P3P2P1=000,传送无错,故欲传送的信息为1001。
20.欲传送的二进制代码为1001101,用奇校验来确定其对应的汉明码,若在第6位出错,说明纠错过程。
欲传送的二进制代码为1001101,有效信息位数为n=7位,则汉明校验的校验位为k位,则:
2k>
=n+k+1,k=4,进行奇校验设校验位为C1C2C3C4,汉明码为C1C2B7C3B6B5B4C4B3B2B1,
C1=1⊕B7⊕B6⊕B4⊕B3⊕B1=1⊕1⊕0⊕1⊕1⊕1=1
C2=1⊕B7⊕B5⊕B4⊕B2⊕B1=1⊕1⊕0⊕1⊕0⊕1=0
C3=1⊕B6⊕B5⊕B4=1⊕0⊕0⊕1=0
C4=1⊕B3⊕B2⊕B1=1⊕1⊕0⊕1=1
故传送的