计算机组成和原理课堂例题附答案.docx
《计算机组成和原理课堂例题附答案.docx》由会员分享,可在线阅读,更多相关《计算机组成和原理课堂例题附答案.docx(16页珍藏版)》请在冰点文库上搜索。
计算机组成和原理课堂例题附答案
计算机组成和原理-课堂例题(附答案)
(1a)题1:
简单说明冯.诺依曼计算机体系的特点.
—计算机由运算器、控制器、存储器、输入设备和输出设备五部分组成。
—采用存储程序的方式。
—数据以2进制表示。
题2:
什么是摩尔定律?
—摩尔定律一般表述为“集成电路的集成度每18个月翻一番”。
题3:
给出IEEE、ACM的中英文名称
—IEEE(InstituteofElectricalandElectronicsEngineers,电气电子工程师协会)
—ACM(AssociationforComputingMachinery,美国计算机学会)
(1b)题1:
将计算机系统中某一功能的处理速度提高到原来的20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少?
解由题可知,可改进比例=40%=0.4,
部件加速比=20
根据Amdahl定律可知:
采用此提高性能的方法后,能使整个系统的性能提高到原来的1.613倍。
题2:
某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点操作所占的比例。
解:
由题可知,部件加速比=20,系统加速比=5
根据Amdahl定律可知
由此可得:
可改进比例=84.2%
即程序中浮点操作所占的比例为84.2%。
(2a)题1:
(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,则:
总线带宽是多少?
;
(2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,则总线带宽是多少?
解:
(1)设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示。
根据定义可得
Dr=D/T=D×1/T=D×f=4B×33×1000000/s=132MB/s
(2)64位=8B,
Dr=D×f=8B×66×1000000/s=528MB/s
简答题2:
高速串行传输为什么替代了并行传输
–并行传输在高频时代出现了两个问题:
●1:
同步
●2:
信号之间的电磁干扰
●(另外还有制造成本问题)
(4a)题1:
根据给出的图,能指出记录方式(04a)
(3)管理系统总线、控制数据传送
(4)确定数据传送的首地址和长度;修正传送过程中的数据地址和长度
(5)DMA传送结束时,给出操作完成信号
(5a)综合题2:
假定硬盘传输数据以32位的字为单位,传输速度为1MB/S,CPU的时钟频率为50MHZ.
(1)采用程序查询的输入输出方式,一个查询操作需要100个时钟周期,求CPU为I/O查询所花费的时间比率,假定进行足够的查询以避免数据丢失。
(2)采用中断方法进行控制,每次传输的开销(包括中断处理)为100个时钟周期,求CPU为传输硬盘数据花费的时间比重。
(3)采用DMA控制器进行输入输出操作,假定DMA的启动操作需要1000个时钟周期,DMA完成时处理中断需要500个时钟周期,如果平均传输的数据长度为4KB,问在硬盘工作时处理器将用多少时间比率进行输入输出操作,忽略DMA申请使用总线的影响。
(6a)题1:
以IEEE32位浮点格式表示如下的数:
(a)-5
(b)-6
(d)384
(e)1/16
(f)-1/32
题2:
下面IEEE32位浮点数,相等的十进制数是什么?
(a)11000001111000000000000000000000
(b)00111111010100000000000000000000
(c)01000000000000000000000000000000
(7a)题1:
,,按照Booth算法求[X·Y]补(需掌握标准的和紧凑两种方法)
解:
(8b)题1:
一个计算机系统采用32位单字长指令,地址码为12位。
如果定义了250种二地址指令,那么还可以有多少条单地址指令?
(参考答案:
(28-250)*212=6*212)
题2:
某计算机的指令系统字长为16位,采用扩展操作码,操作数地址需要4位。
该指令系统已有14(M)条三地址指令、14(N)条二地址指令、没有零地址指令,问系统最多还有多少条一地址指令?
参考答案:
((24-M)*24-N)*24=288
题3:
题4:
解:
简答题5:
相对CISC来说,RISC主要特点有哪些
–指令条数少
–指令长度固定,指令格式和寻址种类少
–只有取指和存数指令访问存储器,其余的指令操作均在寄存器之间进行
.
(10a)题1:
解释CPU的具体功能
–指令控制:
控制程序的顺序执行
–操作控制:
产生完成每条指令所需的控制命令
–时间控制:
对各种操作加以时间上的控制
–数据加工:
对数据进行算术运算和逻辑运算
–中断处理:
处理运行过程中出现的异常情况和特殊请求
题2:
中断系统需解决的问题
(1)各中断源如何向CPU提出请求?
(2)各中断源同时提出请求怎么办?
(3)CPU什么条件、什么时间、以什么方式响应中断?
(4)如何保护现场?
(5)如何寻找入口地址?
(6)如何恢复现场,如何返回?
(7)处理中断的过程中又出现新的中断怎么办?
(11a)题1:
判断以下三组指令中各存在哪种类型的数据相关?
(1)I1LADR1,A;M(A)->R1,M(A)是存储器单元
I2ADDR2,Rl;(R2)+(R1)->R2
(2)I1ADDR3,R4;(R3)+(R4)->R3
I2MULR4,R5;(R4)*(R5)->R4
(3)I1LADR6,B;M(B)->R6,M(B)是存储器单元
I2MULR6,R7;(R6)*(R7)->R6
参考答案:
(1)写后读RAW
(2)读后写WAR(3)写后写WAW
题2判断以下三组指令各存在哪种类型的数据相关
(1)I1ADDR1,R2,R3;(R2+R3)→R1
I2SUBR4,R1,R5;(R1-R5)→R4
(2)I3MULR3,R1,R2;(R1)×(R2)→R3
I4ADDR3,R4,R5;(R4+R5)→R3
(3)I5STAM(X),R3;(R3)→M(X),M(X)是存储器单元
I6ADDR3,R4,R5;(R4+R5)→R
参考答案:
(1)RAW
(2)WAW(3)WAR
题3:
流水线冲突有哪几种(给出简单描述)?
流水线冲突有以下3种类型:
(1)结构冲突:
因硬件资源满足不了指令重叠执行的要求而发生的冲突。
(2)数据冲突:
当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。
(3)控制冲突:
流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。
题4:
什么叫名相关?
名相关有哪两种?
如果两条指令使用相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。
指令j与指令i之间的名相关有以下两种:
(1)反相关。
如果指令j写的名与指令i读的名相同,则称指令i和j发生了反相关。
反相关指令之间的执行顺序是必须严格遵守的,以保证i读的值是正确的。
(2)输出相关。
如果指令j和指令i写相同的名,则称指令i和j发生了输出相关。
输出相关指令的执行顺序是不能颠倒的,以保证最后的结果是指令j写进去的。
题5:
解决流水线数据冲突的方法有哪些?
(1)定向技术:
在某条指令产生一个结果之前,其他指令并不真正需要该计算结果,如果将该计结果从其产生的地方直接送到其他指令需要它的地方,就可以避免暂停。
(2)暂停技术:
设置一个“流水线互锁”的功能部件,一旦流水线互锁检测到数据相关,流水线暂停执行发生数据相关指令后续的所有指令,直到该数据相关解决为止。
(3)采用编译器调度。
(4)重新组织代码顺序。
(11b)题1:
有哪几种向量处理方式?
它们对向量处理机的结构要求有何不同?
(1)水平处理方式:
不适合对向量进行流水处理。
(2)垂直处理方式:
适合对向量进行流水处理,向量运算指令的源/目向量都放在存储器内,使得流水线运算部件的输入、输出端直接与存储器相联,构成MM型的运算流水线。
(3)分组处理方式:
适合流水处理。
可设长度为n的向量寄存器,使每组向量运算的源/目向量都在向量寄存器中,流水线的运算部件输入、输出端与向量寄存器相联,构成RR型运算流水线。
题2:
衡量向量处理机性能的主要参数有哪些?
(1)向量指令的处理时间。
(2)峰值性能:
向量长度为无穷大时,向量处理机的最高性能。
(3)半性能向量长度:
向量处理机的性能为其峰值性能一半时所需的向量长度。
(4)向量长度临界值:
对同一段程序代码而言,向量方式的处理速度优于标量串行方式处理速度时所需的最小向量长度。
(12a)题1:
说明IA-64指令束属性字段的作用
IA-64指令束属性字段(template字段)给出了可以并行执行的指令信息。
题2:
IA-64指令流中的休止含义是什么?
说明休止(astop)符号前面的一个或多个指令可能与休止符号后面的一个或多个指令有某种资源相关。
题3:
硬件流水和软件流水有何不同?
硬件流水(Hardwarepipelining)指的是硬件上使用物理流水线。
软件流水(Softwarepipelining)指的是:
通过将来自不同重复的指令一起分组来实现循环程序的并行性。
(12b)题1:
(13a)题1:
设某机主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有2.5个机器周期,试问该机的平均指令执行速度为多少MIPS?
若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有5个机器周期,则该机的平均指令执行速度又是多少MIPS?
μsμsμs。
1.平均指令执行速度为1/0.625=1.6MIPS。
μs,故平均指令执行速度为1/2.5=0.4MIPS。
3.可见机器的运行速度并不完全取决于主频。
此外,机器的运行速度还和其他很多因素有关,如主存的运行速度、机器是否配有Cache、总线的数据传输率、硬盘的运行速度以及机器是否采用流水技术等。
机器速度还可以用MIPS(执行百万条指令数每秒)和CPI(执行一条指令所需的时钟周期数)来衡量。
题2:
某CPU的主频为8MHz,若已知每个机器周期平均包含4个节拍,该机的平均指令执行速度为,
(1):
试求该机的平均指令周期及每个指令周期含有多少个机器周期?
(2)若改用时钟周期为μs的CPU芯片,则该机的平均指令执行速度又是多少MIPS?
(3)若想得到40万次/s的指令执行速度,则应采用主频为多少MHz的CPU芯片?
●
(1)由CPU的主频为8MHz,可得时钟周期c为μs,故机器周期μs,又由于指令执行速度为0.8MIPS,故执行一条指令的时间为μs,即指令周期为μs所以平均每条指令周期含有个机器周期。
●
(2)若改用μs的CPU芯片,即主频为,则根据平均指令速度与机器主频有关,得平均指令执行速度为(0.8MIPS*2.5MHz)/8MHz=0.25MIPS.
●(3)若要得到平均每秒40万次的指令执行速度,即,则CPU芯片的主频应为(8MHz*0.4MIPS)/0.8MIPS=4MHz
题3:
什么是指令周期、机器周期和时钟周期?
–指令周期是CPU取出并执行一条指令所需的全部时间,即完成一条指令的时间。
–机器周期是所有指令执行过程中的一个基准时间,通常以存取周期作为机器周期。
–时钟周期是机器主频的倒数,也可称为节拍,它是控制计算机操作的最小单位时间。
–一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期,每个指令周期内的机器周期数可以不等,每个机器周期内的时钟周期数也可以不等。
13b
解:
1.采用直接编码方式,微指令的操作控制字段的总位数等于控制信号数,即
5+8+3+16+1+7+25+5=69
2.采用字段直接编码方式,需要的控制位少。
根据题目给出的10个控制字段及各段可激活的控制信号数,再加上每个控制字段至少要留一个码字表示不激活任何一条控制线,即微指令的8个控制字段分别需给出6、9、4、17、2、8、26、5种状态,对应3、4、2、5、1、3、5、3位,故微指令的操作控制字段的总位数为
3+4+2+5+1+3+5+3=26
解:
水平型微指令由操作控制字段、判别测试字段和下地址字段三部分构成。
因为微指令采用直接控制(编码)方式,所以其操作控制字段的位数等于微命令数,为28位。
又由于后续微指令地址由下地址字段给出,故其下地址字段的位数可根据控制存储器的容量(512*40位)定为9位。
当微程序出现分支时后续微指令地址的形成取决于状态条件,6个互斥的可判定外部条件,可以编码成3位状态位。
非分支时的后续微指令地址由微指令的下地址字段直接给出。
微指令的格式如图所示:
解:
1.根据5个相斥类的微命令组,各组分别包含5、8、2、15、22个微命令,考虑到每组必须增加一种不发命令的情况,条件测试字段应包含一种不转移的情况,则5个控制字段分别需给出6、9、3、16、23种状态,对应3、4、2、4、5位(共18位),条件测试字段取2位。
根据微指令字长为28位,则下地址字段取28—18—2=8位,其微指令格式如图所示:
(14a.)题1:
假设想用100个处理器达到80的加速比,求原计算程序中串行部分最多可占多大的比例?
解Amdahl定律为
题2:
假设有一台32个处理器的多处理机,对远程存储器访问时间为400ns。
除了通信以外,假设所有其他访问均命中局部存储器。
当发出一个远程请求时,本处理器挂起。
处理器的时钟频率为1GHz,如果指令基本的IPC为2(设所有访存均命中Cache),求在没有远程访问的情况下和有0.2%的指令需要远程访问的情况下,前者比后者快多少?
有0.2%远程访问的机器的实际CPI为
CPI=基本CPI+远程访问率×远程访问开销
=0.5+0.2%×远程访问开销
远程访问开销为
远程访问时间/时钟周期时间=400ns/1ns=400个时钟周期
∴CPI=0.5+0.2%×
因此在没有远程访问的情况下的计算机速度是有0.2%远程访问的计算机速度的1.3/0.5=2.6倍。
题3:
给出SMP、UMA、CC-NUMA的中英文完整描述
SMP(Symmetricshared-memoryMultiProcessor)对称式共享存储器多处理机
UMA(UniformMemoryAccess)对称式共享存储器
题4:
简单描述SMP和NUMA,它们之间的相同点和不同点。
SMP和NUMA的相同点:
具有统一地址采用load/store访问存储资源的多处理机结构。
SMP和NUMA的不同点:
SMP拥有一个单独的物理存储器,各处理器访问存储器所花费的时间均相同;NUMA的存储资源是分步到各各处理器上的,各处理器访问不同地址的存储资源所花费的时间可能不相同。
(14b)题1:
多处理机系统目录协议中,Cache块有哪三种状态?
(1)共享:
在一个或多个处理器上具有这个块的副本,且主存中的值是最新值(所有Cache均相同)。
(2)未缓冲:
所有处理器的Cache都没有此块的副本。
(3)专有:
仅有一个处理器上有此块的副本,且已对此块进行了写操作,而主存的副本仍是旧的。
这个处理器称为此块的拥有者。
题2:
实现多线程有哪两种主要的方法?
(1)第一种方法是细粒度多线程技术,它在每条指令之间都能进行线程的切换,从而导致多个线程的交替执行。
(2)第二种方法是粗粒度多线程技术,它是针对细粒度多线程的缺点而提出的。
粗粒度多线程之间的切换只发生在时间较长的停顿出现时。
题3:
在分布式存储器结构的机器中,目前有哪两种存储器地址空间的组织方案?
(1)第一种方案:
物理上分离的多个存储器作为一个逻辑上共享的存储空间进行编址,NUMA的存储器结构即如此。
(2)第二种方案:
整个地址空间由多个独立的地址空间构成,它们在逻辑上也是独立的,远程的处理器不能对其直接寻址,机群即如此。
15b.题1:
什么是机群?
(1)一种价格低廉、易于构建、可扩缩性极强的并行计算机系统。
(2)由多台同构或异构的独立计算机通过高性能网络或局域网互连在一起,协同完成特定的并行计算任务。
(3)从用户的角度来看,机群就是一个单一、集中的计算资源。