《计算机组成复习.pptx》由会员分享,可在线阅读,更多相关《计算机组成复习.pptx(41页珍藏版)》请在优知文库上搜索。
1、简答题请画出冯.诺依曼计算机的结构图。完成下列补码(补码符号位用2位)的加法运算。完成下列补码(补码符号位用2位)的减法运算。题目序号X补Y补X+Y补结果是否溢出100.010100.100100.1110不溢出200.010100.110101.0010正溢出300.011111.000111.1000不溢出411.010111.111011.0011不溢出511.010111.000110.0110负溢出题目序号X补Y补X-Y补结果是否溢出100.010100.100111.1100不溢出200.100111.000101.1000正溢出311.101000.111010.1100负溢出4
2、11.101000.001111.0111不溢出511.110111.000100.1100不溢出请对下列存储器的特点进行比较:请对下列半导体存储器的特点进行比较:存储器类型读写速度容 量大小单位比特价格断电后信息是否丢失CPU以什么为单位访问该存储器半 导 体 存 储 器(RAM)快小高丢失字节磁盘存储器(硬盘) 慢大中不丢失块光盘存储器慢大低不丢失存储器类型读 写速度容 量大小基本单元的记忆元件是什么是否是破坏性读出工作期间是否需要插入刷新周期SRAM快小触发器是是DRAM慢大电容存储电荷否否在计算机的主存中,通常设置一定的ROM区,并且ROM与RAM统一编址,请指出设置ROM区的目的。某
3、计算机字长32b,其中地址码长度22b,若主存按字编址,主存的最大容量是多少(字)?1M若主存按字节编址,主存的最大容量是多少(字节)?4M主存和CPU之间交换数据以“字”或“字节”为单位进行,主存和磁盘之间交换数据以“块”为单位进行,请指出这样做的理由。计算机为什么要采用多级结构的存储系统?提高存取速度,扩大存储容量多级存储系统的建立基于什么原理?简述这一原理。基于程序运行的局部性原理:位于被访问字附近的数据在近期被访问到的概率比较大 3级存储系统可分为2 个层次:缓存-主存和主存-辅存。请对这2个层次加以比较。已知X=-0.01111,Y=+0.11001,求X补,-X补,Y补,-Y补,X
4、+Y=?,X-Y=?11.10001 00.01111 00.11001 11.1000100.01010 10.11000(负溢出)指令和数据都存于存储器中,计算机如何区分它们?缓存-主存主存-辅存目的解决CPU和主存直接的速度匹配问题扩大主存容量依据的基本原理局部性原理局部性原理存储容量小大读写速度快慢实现方法硬件软件lCPU对DMA请求和中断请求的响应时间是否一样?为什么?什么是多重中断?实现多重中断的必要条件是什么?在一个中断处理过程中,若又有新的中断处理发生,而新中断的优先级高于正在执行的中断,则应立即终止正在执行的中断服务程序,转去处理新的中断,这种情况称为多重中断,也称中断嵌套必
5、要条件:在现行中断服务期间,中断触发器为1,即开中断 主存一般有哪两种选址方式?简述其特点。 Cache在存储器的层次结构中能起什么作用? 什么是中断优先权?中断嵌套的含义是什么? 试比较寄存器寄存器指令与存储器存储器指令的优缺点。什么是I/O接口?为什么在计算机系统中需要设置I/O接口,会起到什么样的作用? 描述中断方式输入输出控制的工作流程。 简述以下指令的执行过程:lw r24, 100(r15) 寄存器r15中的数据和立即数100相加,得到存储器地址,用这个地址访问储存器,把得到的存储器数据写入寄存器rt中MIPS有哪三种类型指令?各举一指令实例,并说明该指令的功能。1.寄存器类型 a
6、dd rd, rs, rt;add rd, rs, rt; 把寄存器rs中的数据和寄存器rt中的数据相加,结果存在寄存器rd中2.立即数类型 addi rt, rs, imm;addi rt, rs, imm; 把寄存器rs中的数据和无符号立即数imm相加,结果存放在寄存器rt中3.跳转类型 j addr; j addr; 把26位的立即数addr左移两位,再与PC+4的高四位拼接一个较完整的指令系统,应当包括那些类型的指令?(1)数据传送类指令 (2)运算类指令(3)程序控制类指令 (4)输入/输出类指令(I/O指令)试从以下5个方面比较DMA 方式与程序中断方式。程序中断方式DMA 方式数
7、据传送响应时间处理异常情况中断请求计算题计算题、应用题、应用题已知:被乘数A=+0.10101,乘数B=-0.11011。试用补码一位比较乘法(Booth乘法)规则,求AB补=?,要求写出计算步骤和运算竖式。机器字长32位,主存容量为1MB,16个通用寄存器,共32条指令,请设计双地址指令格式,要求有立即数、直接、寄存器、寄存器间接、变址、相对六种寻址方式。什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?存储器带宽表示单位时间内存储器存取的信息量 160M位/秒一个容量为16K32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储
8、芯片时,各需要多少片? 1K4位,2K8位,4K4位,16K1位,4K8位,8K8位 128 32 32 32 16 8设某机有五个中断源L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为L0L1 L2 L3 L4,现要求中断处理次序改为L1L4 L2 L0 L3,根据下面的格式,写出各中断源的屏蔽字。CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指令字长等于机器字长,试回答以下问题。 (1)如果主存可直接或间接寻址,采用“寄存器存储器”型指令,能直接寻址的最大存储空间是多少?画出指令格式并说明各字段的含义。226 (2)在满足(1)的前提下,如果
9、采用通用寄存器作基址寄存器,则上述“寄存器存储器”型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?某微机指令格式如下所示:格式中 D 为位移量,X为寻址方式特征值: X=00 , 直接寻址; X=01, 用变址寄存器R1进行变址 X=10, 用变址寄存器R2进行变址 X=11, 相对寻址 设(PC)=1234H,(R1)=0037H,(R2)=1122H,(.H代表十六进制数),请确定如下指令的有效地址: (1)4420H 00100000 (2) 2244H 0001000101100110 (3)1322H 0001001001010110 (4)3521H 00
10、00000001011000 (5)6723H 000100020101011115 10 9 8 7 0OPXD如图表示使用快表(页表)的虚实地址转换条件,快表存放在相联存贮器中,其中容量为8个存贮单元。问:当CPU 按虚拟地址1去访问主存时,主存的实地址码是多少?当CPU 按虚拟地址2去访问主存时,主存的实地址码是多少?当CPU 按虚拟地址3去访问主存时,主存的实地址码是多少? 80324 96128 失效 页号该页在主存中的起始地址虚拟地址 页号 页内地址332576415530 42000 38000 96000 60000 40000 80000 50000 70000 1 2 3
11、15 0324 7 0128 48 0516 编程题编程题regfile.v寄存器堆功能描述风格Verilog HDL代码alu.v功能描述风格的Verilog HDL代码shift.v功能描述风格的Verilog HDL代码 (答案见下页)Example: regfile.v(功能描述风格代码)module regfile(rna,rnb,d,wn,we,clk,clrn,qa,qb); input 4:0 rna,rnb,wn; input 31:0 d; input we,clk,clrn; output 31:0 qa,qb; reg 31:0 register 1:31; / r1
12、- r31 regs /2 read port assign qa = (rna=0) ? 0 : registerrna; / read port 0 assign qb = (rnb=0) ? 0 : registerrnb; / read port 1 /1 write port always (posedge clk or negedge clrn) if (clrn = 0) begin integer i; for (i = 1; i 32; i = i + 1) registeri = 0; end else / write port if (we & (wn != 0) reg
13、isterwn = d;endmoduleExample: alu.v(功能描述风格代码)module alu(a,b,aluc,r,z);module alu(a,b,aluc,r,z);input 31:0 a,b;input 31:0 a,b;input 3:0 aluc;input 3:0 aluc;output 31:0 r;output 31:0 r;output z;output z;wire 31:0 d_and=a&b;wire 31:0 d_and=a&b;wire 31:0 d_or=a|b;wire 31:0 d_or=a|b;wire 31:0 d_xor=ab;wi
14、re 31:0 d_xor=ab;wire 31:0 d_lui=b15:0,16h0;wire 31:0 d_lui=b15:0,16h0;wire 31:0 d_and_or=aluc2? d_or :d_and;wire 31:0 d_and_or=aluc2? d_or :d_and;wire 31:0 d_xor_lui=aluc2? d_lui:d_xor;wire 31:0 d_xor_lui=aluc2? d_lui:d_xor;wire 31:0 d_as,d_sh;wire 31:0 d_as,d_sh;addsub32 as32(a,b,aluc2,d_as);addsu
15、b32 as32(a,b,aluc2,d_as);shift shifter(b,a4:0,aluc2,aluc3,d_sh);shift shifter(b,a4:0,aluc2,aluc3,d_sh);mux4x32 select (d_as,d_and_or,d_xor_lui,d_sh,aluc1:0,r);mux4x32 select (d_as,d_and_or,d_xor_lui,d_sh,aluc1:0,r);assign z=|r;assign z=|r;endmoduleendmoduleExample: shift.v(功能描述风格代码)module shift (d,s
16、a,right,arith,sh);input 31:0 d;input 4:0 sa;input right,arith;output 31:0 sh; reg 31:0 sh;always * beginif (right = 0) begin / shift leftsh = d sa;end else begin / shift right arithmeticsh = $signed(d) sa;endendendmodule选择题1 某寄存器中的值有时是地址,因此只有计算机的_C_才能识别它。A.译码器 B.判别程序 C.指令 D.时序信号2 若X补=11010011,则X的十进制数真值是_- 45_。A.71 B.48 C.65 D.633.对于补码表示数的算术移位,如下描述正确的是_C_。 A符号位参于移位,右移时其左端空出的位补入“0” B符号位不参于移位,右移时其左端空出的位补入“0”C符号位参于移位,右移时其左端空出的位补入“符号位” D符号位不参于移位,右移时其左端空出的位补入“符号位”4 存贮单元是指_B_。A.存放一个二进制信息位的存贮元 B.存放一个机器字