计算机组成原理中常见的题(一)

1.存储器分层体系结构包括寄存器,主存,辅存,Cache,其中速度最快的是( 寄存器 ),容量最大的是( 辅存 )。


2.某计算机的指令流水线由4个功能段组成,指令流经各功能段的时间(忽略各功能段之间流水段寄存器的缓存时间)分别为100ns、120ns、90ns、80ns,则该计算机的CPU时钟周期至少是( 120ns )。
一条指令取出阶段(通常为取指)需要一个CPU周期时间。
指令周期常常有若干个时钟周期。


3.对于容量16M的存储器,所需最少的地址线位数为( 24 )
如何求所需最少的地址线位数:16M=161024KB=161024*1024字节=2^24字节,所以,该题目中所需最少的地址线位数是24


4.数据01000101逻辑左移1位后为( 10001010 ),循环右移2位后为( 01010001 )
首先要知道什么是循环右移:就是低位循环又移动到了高位


5.对于SRAM和DRAM,需要定期刷新及采用行列地址引脚复用的是( DRAM )
【解析】SRAM和DRAM都是随机存储器,机器掉电后,两者的信息都将丢失。它们的最大区别就是:DRAM是用电容有无电荷来表示信息0和1,为防止电容漏电而导致读取信息出错,需要周期性地给电容充电,即刷新;而SRAM是利用触发器的两个稳态来表示信息0和1,所以不需要刷新。另外,SRAM的存取速度比DRAM更高,常用作高速缓冲存储器Cache


6.在计算机系统层次中,处于硬件和软件交界面的是( 指令系统


7.假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为320MHz,则总线带宽是( 640MB/秒 )
总线的性能指标:
总线带宽:可理解为总线的数据传输率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位可用 MB/s(兆字节每秒)表示。总线带宽=总线工作频率×(总线宽度/8),如总线工作频率为33MHz,总线宽度为 16 位,则总线带宽=33×(16÷8)=66MB/s。
总线工作频率:总线上各种操作的频率,等于总线周期的倒数,即总线工作频率=1/总线周期。实际上是指一秒钟内传输几次数据
总线宽度:是指数据总线的根数用 bit(位)表示,如 8 位(8 根)、16 位(16根)、32 位(32 根)、64 位(64 根)等
解:总线时钟频率为 320MHz,一个总线周期占用 2 个时钟周期,所以总线工作频率=320MHz/2=160MHz,总线的宽度=4×8 位,所以总线带宽=总线工作频率×(总线宽度/8)=160MHz×4B=640MB/s。


8.某容量为256M的存储器由若干4M8位的DRAM芯片组成,该DRAM芯片的地址引脚、数据引脚的总数是( A )
A.19 B.22 C.30 D.36
容量为 4M * 8,则需要 22 条地址线、8 条数据线。
DRAM 芯片的地址线,在芯片中,是分时复用的,仅需一半的引脚数,即够用。
因此,容量为 4M * 8 的 DRAM 芯片,地址线需要 11 个引脚、数据线需要 8 个引脚
4M=4
1024*1024B=2^22,需要22个引脚,但是,因为DRAM是分时复用的,所以只需要一半的引脚,所以需要11个地址引脚,因为是8位的,所以需要数据引脚8条,所以总共引脚为11+8=19


9.采用指令Cache和数据Cache分离的主要目的是( A )。
A.减少指令流水线资源冲突 B.提高Cache的命中率
C.降低CPU平均访存时间 D.降低Cache的缺失损失


10.float型数据通常用IEEE 754单精度浮点数格式表示。若编译器将float型变量x分配在一个32位浮点寄存器FR1中,且x = -8.25,则FR1的内容是 ( A )。
A.C1040000H B.C1120000H
C.C1000009H D.C1C20000H
明确:IEEE754标准中32位定点机=数符1位+阶码(移码表示)8位+尾码(原码表示)23位,且默认尾数小数点前为1
float共四个字节
1.符号位:最左边为符号位,0正1负
2.指数:符号位后为8位指数(对于指数位的计算有127的偏移,详细看下例)
3.尾数:剩下23位为尾数 例子: 以题目位例: -8.25:首先8.25的二进制表示为:1000.01, 先将小数点移到第一个有效数字之后,即小数点左移3位,得到1.00001
然后从小数点第一位开始,数出23位填充到尾数部分,即得到尾数位000 0100 0000 0000 0000 0000
接下来计算指数部分,将刚刚小数点移动的位数,左移为正,右移为负,再加上127的偏移,填充到指数部分。即:3+127 = 130 = 1000 0010,得到指数部分。
由于-8.25为负数,符号位填充1
则得到结果:-8.25表示为:1 1000 0010 000 0100 0000 0000 0000 0000
符号 指数 尾数
十六进制: 1100 0001 0000 0100 0000 0000 0000 0000
c 1 0 4 0 0 0 0


11.假定某程序P由一个100条指令构成的循环组成,该循环共执行50次,在某系统S中执行程序P花了20000个时钟周期,则系统S在执行程序P时的CPI是多少?
答:(单位时钟周期执行指令的条数)在20000个时钟周期中共执行100×50=5000条指令,CPI=20000/5000=4。


12.什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?
答:程序执行时对存储器的访问是不均匀的,这是由于指令和数据在主存的地址分布不是随机的,而是相对地簇聚。
存储系统的Cache—主存级和主存—辅存级都用到程序访问的局部性原理


13.RISC指令系统有哪些主要特点
答:1)选取使用频率最高的一些简单指令,指令条数少
2)指令长度固定,指令格式种类少,寻址方式种类少
3)只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行。


14.7、设某机共能完成120种操作,CPU有8个通用寄存器,主存容量为16K字,采用寄存器—存储器型指令。欲使指令可直接访问主存的任一地址,指令字长应取多少位?画出指令格式。
答:操作码:7位;寄存器编号:3位;存储器地址码:14位。
指令字长=7+3+14=24位
  7  3  14
  OP R  A
因为可以完成120种操作,所以有2^7=128>120,所以要使用7种操作码,因为CPU有8个通用寄存器,所以需要3个寄存器编号,因为主存容量为16K,有:16K=16*1024B=2的14次方,所以需要14位的地址码


15.什么是数据冒险如何解决数据冒险
答:在指令流水线中,后面指令需要用到前面指令的结果时,前面指令的结果还没产生的现象称为数据冒险。解决方法有:
方法1:硬件阻塞(stall);
方法2:软件插入“NOP”指令
方法3:合理实现寄存器堆的读/写操作(不能解决所有数据冒险),前半时钟周期写,后半时钟周期读,若同一个时钟内前面指令写入的数据正好是后面指令所读数据,则不会发生数据冒险;
方法4:转发(Forwarding或Bypassing 旁路)技术
方法5:编译优化:调整指令顺序(不能解决所有数据冒险)。


16.总线集中式裁决有哪几种方式?哪一种对电路故障最敏感?哪一种的裁决速度最快?
答:总线集中式裁决有链式查询、计数器定时查询、独立请求方式三种。其中,链式查询对电路故障最敏感独立请求方式的裁决速度最快
总线裁决:当采用非专用总线时,由于可能有多个设备或部件同时申请使用总线,就应该由总线控制机构来按照某种优先次序裁决,以保证在同一时间内只能有一个高优先级的申请者取得对总线的使用权。
总线裁决方式可分为集中式裁决和分布式裁决两种。
集中式裁决将总线的控制功能用一个专门的部件实现,这个部件可以位于连接在总线的某个设备上


你可能感兴趣的:(计算机组成原理中常见的题(一))