本文完全从 CSDN @闲狗 的博客 拷贝而来(CSDN广告太多了)仅供个人使用
目录
展开
目录:
1 计算机基本结构 2 指令系统体系结构 3 算术逻辑单元 4 乘法器和除法器 5 单周期处理器 6 流水线处理器 7 存储层次结构 8 中断和异常 9 输入输出设备1 计算机基本结构
1、下列哪些定律属于计算机行业的著名“定律”? A、摩尔定律 B、反摩尔定律 C、墨菲定律 D、马太效应 E、木桶定律 2、当前摩尔定律的常见表述是 A、当价格不变时,集成电路可容纳的晶体管数数量,约每隔6个月便会增加一倍,性能也将提升一倍。 B、当价格不变时,集成电路可容纳的晶体管数数量,约每隔12个月便会增加一倍,性能也将提升一倍。 C、当价格不变时,集成电路可容纳的晶体管数数量,约每隔18个月便会增加一倍,性能也将提升一倍。解析:107-冯·诺依曼结构与具体实现3、下列关于反摩尔定律的表述正确的是 A、一个IT公司如果今天和6个月前卖掉同样多,同样的产品,它的营业额就要降一半。 B、一个IT公司如果今天和12个月前卖掉同样多,同样的产品,它的营业额就要降一半。 C、一个IT公司如果今天和18个月前卖掉同样多,同样的产品,它的营业额就要降一半。 D、一个IT公司如果今天和24个月前卖掉同样多,同样的产品,它的营业额就要降一半。 4、在计算机结构的简化模型中,下列哪个寄存器是用于记录存储单元地址的? A、MAR:Memory Address Register B、MDR:Memory Data Register C、IR:Instruction Register D、PC:Program Counter E、RO:通用寄存器![]()
解析:5、在指令的取指阶段,CPU中的MAR的内容来自哪里? A、IR B、PC:存放下一条指令的存储单元地址,能自动增量![]()
![]()
解析:105 – 计算机执行指令的过程 计算机执行一条指令的主要步骤:取指(Fetch),译码(Decode),执行(Execute),回写(Write-back)6、在指令的取指阶段,CPU中的MDR的内容会送到哪里? A、R0 B、IR:存放正在执行或即将执行的指令![]()
![]()
解析:7、执行一条指令的全过程中,指令的编码会出现在CPU中的哪些部件? A、MDR B、IR![]()
解析:8、课程视频中讲解的指令是“ADD R0, [6]”,如果换成“ADD [6], R0”,则在执行该条指令的过程中,会读几次存储器? A、0次 B、2次![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
解析:取指读一次,取[6]读一次。9、课程视频中讲解的指令是“ADD R0, [6]”,如果换成“ADD [6], R0”,则在执行该条指令的过程中,会写几次存储器? A、0次 B、1次
解析:最后结果回写到存储器。10、课程视频中讲解的指令是“ADD R0, [6]”,如果换成“ADD R0, R1”,则在执行该条指令的过程中,会访问几次存储器? A、0次 B、1次
解析:取指访问一次11、哪位人物被称为“现代电子计算机之父”?冯•诺依曼 12、下列关于EDVAC的描述正确的是 A、全称为“离散变量自动电子计算机”
解析:EDVAC:Electronic Discrete(离散的) Variable Automatic ComputerB、世界上第一台通用电子计算机(ENIAC)![]()
解析:ENIAC:Electronic Numerical Integrator And ComputerC、使用十进制 D、使用![]()
解析:106 – 计算机的输入输出16、现代计算机主存储器一般是以什么单位来进行划分的?字节 17、下列哪些部件并称为计算机中的“大脑”?控制器CC + 运算器CA 18、下列各选项中,哪一项不属于课程视频中提到的计算机执行指令的步骤?![]()
![]()
解析:107 – 冯诺依曼结构与具体实现22、下列哪些设备属于输入设备? A、鼠标 B、键盘 C、麦克风 D、摄像头 E、显示器(输出设备) F、音箱(输出设备) G、打印机(输出设备) 24、CPU向存储器发起访问时,通过什么总线告知存储器当前的访问是读还是写?控制总线 25、下列哪项不属于系统总线? A、逻辑总线 B、运算总线 C、数据总线 D、地址总线 E、控制总线![]()
![]()
![]()
解析:26、对于按字节编址的存储器来说,控制器有10条地址线,对应的存储空间有多大? A、1KB (2的10次方= 1K) B、10K![]()
2 指令系统体系结构
1、下列关于CISC和RISC的描述错误的是? A、CISC指令长度是不固定的解析: RISC:Reduced Instruction Set Computer,精简指令系统计算机 减少指令的类型,降低指令复杂度 CISC:Complex Instruction Set Computer,复杂指令系统计算机2、下列关于Intel处理器及其推出时间描述错误的是? A、Intel 8086——1978年 B、Intel 80286——1982年 C、Intel 80386——
解析:5、IA-32寄存器模型中包括以下哪些寄存器?(多选题) A、通用寄存器 B、指令指针寄存器 C、页面寄存器 D、标志寄存器 E、段寄存器 6、8086系统中标志位CF的含义是? A、溢出标志 B、零标志 C、符号标志 D、进位标志 :Carry Flag 8、8086系统中标志位ZF的含义是? 零标志(Zero Flag) 9、8086系统中段寄存器DS的含义是?数据段寄存器(Data Segment) 10、8086系统中段寄存器CS的含义是?代码段寄存器(Code Segment)![]()
![]()
![]()
解析:11、设CS=2500H,DS=2400H,SS=2430H,BP=0200H,SI=0010H,DI=0206H,计算下列x86指令源操作数的物理地址: MOV AX,[2000H] 26000H![]()
![]()
![]()
解析: 物理地址 = DS:2000H = 2400H * 16(左移4位) + 2000H = 24000H + 2000H = 26000H12、设CS=2500H,DS=2400H,SS=2430H,BP=0200H,SI=0010H,DI=0206H,计算下列x86指令源操作数的物理地址: MOV AX,[BP+SI+4] 24514H
CS(CodeSegment):存放当前正在运行的程序代码所在段的段基址*16 + IP存放的偏移量 = 指令的物理地址。 扩展:CPU怎样区分指令和数据? CPU讲CS:IP所组合出来的地址所指向的内容全部当作指令。 DS(DataSegment):存放数据段的段基址,字符串的也归它。 SS(StackSegment):存放堆栈段的段基址。 ES(ExtraSegment):存放当前程序使用附加数据段的段基址,该段是串操作指令中目的串所在的段。 即数值的段基址默认存放在DS
解析: 2430H * 16 + + 0200H + 0010H + 4H = 24300H + 0214H = 24514H13、设CS=2500H,DS=2400H,SS=2430H,BP=0200H,SI=0010H,DI=0206H,计算下列x86指令源操作数的物理地址:MOV AX,[DI+100H] 24306H![]()
![]()
解析:2400H * 16 + 0206H + 100H = 24000H + 0306H = 24306H16、下列x86指令中,哪些属于算术运算指令? A、ADD B、DEC C、MOV D、IN E、LEA
解析:I、CALL:调用子程序 J、JNZ![]()
![]()
解析:K、LOOP L、MUL:无符号乘法 17、下列关于MIPS指令的主要特点说法错误的是? A、指令长度固定 B、寻址模式简单 C、只有Load和Store指令可以访问存储器 D、需要优秀的编译器支持![]()
解析:18、MIPS按照指令的基本格式可以分为三种类型,以下不属于这三种类型的是? A、R型指令 B、I型指令 C、J型指令![]()
解析:20、某MIPS指令的机器码是0x20A5FFFF,对应的汇编指令是什么? addi $a1,$a1,-1![]()
解析: 二进制数均以补码的形式存放在计算机中 正数:补码 = 原码 负数:补码 = 除符号位,原码剩余每位取反,末位+1 FFFF= 1111 1111 1111 1111 为补码形式,化为原码 1111 1111 1111 1110 1000 0000 0000 0001 = -1 0010(2) 0000(0) 1010(A) 0101(5) 1111 1111 1111 1111(FFFF)21、某MIPS指令的机器码是0x0005402A,对应的汇编指令是什么? slt $t0,$0,$a1(注意位置)可知为I型 001000(op = 8 = addi) 00101(rs = 5 = $a1) 00101(rt = 5 = $a1) 1111 1111 1111 1111(immediate = -1)
![]()
解析: 0000 0000 0000 0101(5) 0100(4) 0000 0010(2) 1010(A) 000000(R型指令) 00000(rs = 0 = $0) 00101(rt = 5 = $a1) 01000(rd = 8 = $t0) 00000 101010(可知指令类型为slt )22、阅读下面的x86汇编程序,回答问题。 设DS=1000H MOV SI, 1250H MOV DI, 1370H MOV CL, 3 MOV AX, DS MOV ES, AX MOV BX, 5 STD(DF置为1,从源串的高位开始传送) REP MOVSB 请问,在这次串传送操作中,完成了第一个元素的传送后,SI寄存器的值是什么? 124FH![]()
![]()
解析: 源串地址:DS:SI = 10000H + 1250H = 11250H 因为是从高位开始传送,传送完一个元素后,SI与DI自动减1 11250H = 112 0101 0000 (不够减向前借2)– 0001 = 112 4 F25、阅读下面的x86汇编程序,回答问题。 设DS=1000H MOV SI, 1250H MOV DI, 1370H MOV CL, 3 MOV AX, DS MOV ES, AX MOV BX, 5 CLD REP MOVSB 请问,这次串传送操作,总共传送了多少个字节的数据? 不确定
解析:26、如果想用8086 CPU把内存中某个区域的1024个字节的数据传送到另一个区域,可以选用如下三种方法: (1)只使用传送指令(MOV); (2)使用传送指令(MOV),并用条件转移指令建立循环语句的结构; (3)使用串传送指令(MOVSB)以及必要的配合指令,不使用循环语句的结构。 请比较用这三种方法编写的程序,执行时访问存储器次数最少的是:方法三 27、如果想用8086 CPU把内存中某个区域的1024个字节的数据传送到另一个区域,可以选用如下三种方法: (1)只使用传送指令(MOV); (2)使用传送指令(MOV),并用条件转移指令建立循环语句的结构; (3)使用串传送指令(MOVSB)以及必要的配合指令,不使用循环语句的结构。 请比较用这三种方法编写的程序,执行时访问存储器次数最多的是: 方法二 28、如果想用8086 CPU把内存中某个区域的1024个字节的数据传送到另一个区域,可以选用如下三种方法: (1)只使用传送指令(MOV); (2)使用传送指令(MOV),并用条件转移指令建立循环语句的结构; (3)使用串传送指令(MOVSB)以及必要的配合指令,不使用循环语句的结构。 请比较用这三种方法编写的程序,程序代码占用存储器空间最大的是:方法1 29、很多x86指令的功能比较复杂,往往一条x86指令可以完成的功能,需要多条MIPS指令才能实现。请问下列x86指令中,哪些确定能够只用一条MIPS指令完成对应的功能?(注:只需考虑这条指令本身,不用考虑对后续指令的影响) A、ADD ECX, 15H B、MOV EAX, 28H C、ADD EDX, EBX![]()
![]()
![]()
![]()
![]()
3 算术逻辑单元
1、下列哪些和时间相关的名词,是属于D触发器的特性? A、CLK-to-Q time B、Setup time C、Hold time解析:2、对于一个4输入或门,当输入信号为1010和0110,输出信号为 1110 3、对于一个4输入与门,当输入信号为1010和0110,输出信号为:0010 4、对于一个4输入异或门(不同为真),当输入信号为1010和0110,输出信号为:1100 5、要对一个有符号的立即数和某个寄存器中的值进行加法运算,应当用的MIPS指令是: A、addi rt,rs,imm B、addiu rt,rs,imm(无符号Unsigned立即数)![]()
解析:6、要对一个立即数和某个寄存器中的值进行逻辑与运算,应当用的MIPS指令是: andi rt,rs,imm 7、对于半加器和全加器,下列描述正确的是: A、半加器虽能产生进位输出,但半加器本身并不能处理进位输入![]()
解析:8、对于如图所示的全加器,当A、B和进位输入Cin分别为1、0、1时,输出端口S和进位输出Cout为:S=0,输出进位1![]()
![]()
解析:10、“溢出”的检测方法是:“最高位的进位输入”不等于“最高位的进位输出”(发生了溢出)![]()
![]()
解析:11、MIPS和x86对溢出的处理方式是: A、对于MIPS,提供两类不同的指令分别处理,分别是:将操作数看做有符号数,发生“溢出”时产生异常;将操作数看做无符号数,不处理“溢出” B、对于x86,利用程序状态字寄存器中的OF位,发生溢出,设置OF=1![]()
解析:12、为了使十进制表示的算式(8-3)能够在二进制补码加法器上运算,可以表示的形式为:1000+1101![]()
![]()
解析: 正数的原码 = 补码 -3的原码:1011 符号位不变,其余各位取反,末位加1:1100+1=110113、假设一个基本逻辑门延迟为T,对于4-bit行波进位加法器的关键路径延迟为:9T

解析:加法器 = 一个个全加器串联而成14、超前进行加法器相对于行波进位加法器的优化思路是:提前计算出“进位输出信号”![]()
解析:15、关于行波进位加法器和超前进位加法器各自的优缺点描述正确的是: A、行波进位加法器门延迟比超前进位加法器更长 B、行波进位加法器电路实现相对简单 16、对于4-bit超前进位加法器,如何用生成信号Gi和传播信号Pi表示 C2:G1+P1•G0+P1•P0•C0![]()
解析:17、假设一个基本逻辑门延迟为T,4-bit超前进位加法器产生和的门延迟为:4T![]()
解析:18、假设一个基本逻辑门延迟为T,超前进位加法器计算Ci+1产生的门延迟为:3T![]()
解析:19、以32-bit加法器为例,综合考虑性能和电路复杂度,一般会选择哪种形式实现:采用多个小规模的超前进位加法器拼接而成![]()
解析:![]()
4 乘法器和除法器
1、对于第一版乘法器,当乘数寄存器最低位为1时,在该次循环过程中,需要将乘数寄存器向哪个方向移动,需要将被乘数寄存器向哪个方向移动? 右、左解析:2、对于第一版乘法器,在每次循环的过程中,需要将被乘数寄存器的内容与乘积寄存器中的内容相加,并将结果放入乘积寄存器的条件是:乘数寄存器的最低位为1![]()
![]()
解析:3、对于32-bit的第一版乘法器,每次循环都需要判断的条件是哪几个? A、乘数寄存器的最低位是否为0 B、是否循环了32次(32bit的除法器判断是否循环了33次)![]()
参考:5、对于32-bit的第一版乘法器,需要包含以下哪些组成部分? A、64位ALU B、32位的乘数寄存器 C、64位的被乘数寄存器 D、64位的乘积寄存器被乘数寄存器初始:0000 0010,2次循环结束后,左移两次,0000 1000 乘数寄存器初始:0011,2次循环结束后,右移两次,0000 乘积寄存器:初始0000 0000,2次循环结束后
![]()
解析:6、对于第一版乘法器,下列哪些属于对其进行面积优化的措施? A、将加法运算和两个移位同时进行(???) B、将加法器和被乘数寄存器位宽减半优化面积 C、64-bit加法器缩小为32-bit D、取消乘数寄存器 E、乘积寄存器需支持右移 7、对于第一版乘法器,控制逻辑的作用是哪些? A、控制何时对被乘数寄存器进行移位 B、控制何时对乘数寄存器进行移位 C、控制何时将新值写入积寄存器![]()
解析:9、对于第一版除法器,在一次循环中当余数寄存器大于0时,需要将商寄存器向哪个方向移动,需要将除数寄存器向哪个方向移动? 左、右 10、对于第一版除法器,在每次循环的过程中,需要左移商寄存器,并将其最低位设置为1的条件是: 余数大于等于0![]()
解析:11、一个32-bit除法器,对于第一种除法算法,每次迭代时都需要判断的条件是哪几个? A、余数寄存器是否小于0 B、是否完成了重复了33次循环 12、对于32-bit的第一版除法器,需要包含以下哪些组成部分? A、64位ALU B、32位的商寄存器 C、64位的余数寄存器 D、64位的除数寄存器![]()
解析:13、以4-bit的第一版除法器为例,对于二进制数0111÷0010,当第2次循环结束时,商寄存器、除数寄存器和余数寄存器的值是? 0000(商),00001000(除数),00000111(余数)![]()
参考:(放弃) 除数寄存器初始:0010 0000 余数寄存器初始:0111 0000 商寄存器初始:0000 第一轮 0111 – 0010 = 0101>0 余数寄存器为,0101 0000 商左移1位,新的最右位置为1,0001 除数右移一位,0001 0000 第二轮 0101 – 0010 = 0011>0 余数寄存器为,0011 0000 商左移1位,新的最右位置为1,0011 除数右移一位,0000 100014、对于第二版除法器,在对除法器进行面积优化后,一个32-bit除法器需要包含以下哪些组成部分? A、32位ALU B、32除数寄存器 C、64位余数寄存器![]()
解析:15、对于第二种除法算法,在对除法器进行面积优化后,商的结果放置在哪里?余数寄存器的低32位![]()
5 单周期处理器
1、处理器设计的五个步骤如下,请正确排序。 1 连接组件建立数据通路 2 为数据通路选择合适的组件 3 集成控制信号,形成完整的控制逻辑 4 分析指令系统,得出对数据通路的需求 5 分析每条指令的实现,以确定控制信号答案: 421532、课程中提到的MIPS-lite指令子集(addu,subu,ori,lw,sw,beq)对ALU的需求有哪些? A、加法 B、减法 C、逻辑或 D、相等![]()
解析:3、下列关于MIPS-lite指令子集对数据通路的需求描述正确的是? A、add指令与ori指令对寄存器堆的写操作需求不一样 B、lw指令需要符号扩展部件 C、lw指令与sw指令都需要数据存储器 D、add指令需要零扩展部件 E、sub指令需要符号扩展部件 F、ori指令需要![]()
解析: 涉及操作立即数的都需要扩展部件4、下列关于运算指令的控制信号描述正确的是? A、add指令与ori指令的寄存器堆控制信号RegDst不同 B、add指令与ori指令的ALU源操作数控制信号ALUSrc不同 C、add指令与ori指令的ALU运算类型控制信号ALUctr不同![]()
解析:D、add指令的扩展部件控制信号ExtOp不唯一![]()
解析: 有符号数相加——符号扩展 无符号数相加——零扩展E、ori指令的扩展部件控制信号ExtOp![]()
解析:F、add指令与ori指令的数据存储器控制信号MemWr可以![]()
解析:6、下列关于beq指令的执行描述正确的是? A、beq指令的寄存器堆控制信号RegDst是不唯一的 B、beq指令与lw指令的数据存储器控制信号MemWr是相同的(都为0,不能写) C、beq指令与add指令的ALU运算类型控制信号ALUctr相同 D、beq指令的扩展部件控制信号ExtOp一定为sign E、若ALU计算结果为零,则beq指令不需要执行PC+4操作![]()
![]()
解析:7、在单周期处理器上执行beq指令,使用到了下列哪些部件? A、寄存器堆 B、ALU![]()
![]()
12、假设单周期处理器五个阶段的延迟分别为200ps(取指)、50ps(读寄存器)、200ps(ALU操作)、300ps(访存)、100ps(写寄存器),则lw指令的总延迟为多少ps?取指+读寄存器+ALU+访存 = 200 + 50 + 200 + 300 = 750
13、假设单周期处理器五个阶段的延迟分别为200ps(取指)、50ps(读寄存器)、200ps(ALU操作)、300ps(访存)、100ps(写寄存器),则add指令的总延迟为多少ps?取值 + 读寄存器 + ALU +访存 + 写寄存器 = 850
14、假设单周期处理器五个阶段的延迟分别为200ps(取指)、50ps(读寄存器)、200ps(ALU操作)、300ps(访存)、100ps(写寄存器),则beq指令的总延迟为多少ps?取值 + 读寄存器 +ALU + 写寄存器 = 200 + 50 +200 +100 = 550
答案: 45015、假设一条指令的32位编码从高到低依次为Ins<31>, Ins<30>, ……, Ins<0>,则产生ExtOp控制信号需要用到指令编码中的多少位? 6位 16、假设一条指令的32位编码从高到低依次为Ins<31>, Ins<30>, ……, Ins<0>,则产生MemWr控制信号需要用到指令编码中的多少位? 6位 17、假设一条指令的32位编码从高到低依次为Ins<31>, Ins<30>, ……, Ins<0>,则产生ALUctr[0]控制信号需要用到指令编码中的多少位? 12位 18、假设一条指令的32位编码从高到低依次为Ins<31>, Ins<30>, ……, Ins<0>,则产生RegWr控制信号需要用到指令编码中的多少位? 12位取值 + 读寄存器 + ALU = 450(注意没有访存)
解析:opcode(6bit)+funct(6bit)来表明指令执行什么样的操作,产生什么样的信号。![]()
![]()
![]()
6 流水线处理器
1、MIPS的五级流水线结构中,计算访存的地址是在哪个阶段完成的? 执行 2、MIPS的五级流水线结构中,读寄存器堆是在哪个阶段完成的? 译码解析:3、一个五级流水线的处理器,时钟频率为1GHz。指定运行一段5条指令的代码,在流水线不停顿的情况下,需要 9ns![]()
参考:4、一个五级流水线的处理器,时钟频率为2GHz。指定运行一段8条指令的代码,在流水线不停顿的情况下,需要 6ns需要5+(5-1)=9个时钟周期 每秒有1G个时钟周期 9个时钟周期需要 9 * 1/1G = 9ns 1秒=1000 000 000纳秒(ns)
解析: 需要5+(8-1)=12个时钟周期 每秒有2G个时钟周期 12个时钟周期需要 12 * 1/2G = 6ns5、以下哪些是处理器采用流水线技术带来的影响? A、提高指令的吞吐率 B、提高时钟频率 C、简化硬件电路 D、降低功耗
解析:6、在流水线处理器设计时,如果划分出五个相对独立的阶段,延迟分别为:250ps,150ps,200ps,300ps,250ps。而还需要加入的流水线寄存器延迟为50ps。那时钟周期应该为:350ps(延迟最大的那个作为时钟周期) 7、在流水线处理器设计时,如果划分出五个相对独立的阶段,延迟分别为:450ps,350ps,300ps,400ps,350ps。而还需要加入的流水线寄存器延迟为50ps。那时钟频率应该为:2GHz![]()
解析:450+50=500ps 时钟频率 = 1/500ps8、有一个五级流水线的处理器设计,每一级的延迟分别为:450ps,650ps,450ps,450ps,450ps。其中包含流水线寄存器延迟50ps。如果将第二级(650ps)均匀拆分为两级,从而形成六级流水线。那新处理器的主频应该是:2.22GHz
解析:650-50 = 600 600/2=300 300+50 = 350 < 450 1/450ps9、有一个五级流水线的处理器设计,每一级的延迟分别为:450ps,950ps,450ps,450ps,450ps。其中包含流水线寄存器延迟50ps。如果将第二级(950ps)均匀拆分为两级,从而形成六级流水线。那在新处理器上,一条指令的执行时间是:3000ps
解析:950 – 50 = 900 900/2=450 450+50 = 500 500*6=300010、以下关于超标量的说法,哪些是正确的? A、超标量和流水线是两种独立的技术 B、超标量是一种利用空间并行性的优化 C、现代的多核CPU通常都是超标量处理器(每个核都集成了超标量流水线)
解析:11、流水线的“冒险”有哪几种? A、结构冒险 B、数据冒险 C、控制冒险 12、对于典型的MIPS五级流水线处理器,如果将指令和数据放在同一个存储器中,则会直接导致哪种冒险?结构冒险![]()
![]()
![]()
解析:13、以下哪个方法,可以解决所有的冒险?让流水线停顿(产生空泡) 14、对于典型的MIPS五级流水线处理器(不前递,指令存储器和数据存储器分开),下面这段代码中,存在哪些冒险? lw $1, 40($6) beq $2, $1, Label; add $6, $6, $2 add $6, $6, $1 Label: add $2, $6, $6 A、数据冒险 B、控制冒险![]()
![]()
![]()
解析:15、对于典型的MIPS五级流水线处理器(不前递,指令存储器和数据存储器分开),下面这段代码中,存在哪些冒险? lw $1, 40($6) ( 读40($6)到$1 ) add $6, $1, $2 sw $6, 50($1)( 存$6到50($1) ) A、数据冒险 16、对于典型的MIPS五级流水线处理器(不前递),下面这段代码中,哪条指令会遇到数据冒险? instruction 1: add $1, $2, $3 instruction 2: sw $2, 0($1) instruction 3: lw $1, 4($2) instruction 4: add $2, $2, $1 A、instruction 2 B、instruction 4![]()
数据冒险17、对于典型的MIPS五级流水线处理器,即使已经对数据冒险进行了处理,下面这段代码中,哪条指令还是会导致流水线停顿? add $s0, $t0, $t1 sub $t2, $s0, $t3 lw $t3, 40($t2) or $t4, $t3, $t2 and $t3, $t4, $t2 A、lw(发生了结构冒险) 18、对于典型的MIPS五级流水线处理器,按照指令执行的正常流程,beq指令的分支条件判定会在哪个阶段完成?执行 19、如果采用延迟转移技术(延迟数为1),那么执行完下面这些指令之后,$s1的内容是什么? 4 xor $s1, $s1, $s1 addi $t1, $t3, 1 subi $t2, $t4, 2 beq $t1, $t2, Next; Assume $t1 == $t2 is True addi $s1, $s1, 1 addi $s1, $s1, 2 Next: addi $s1, $s1, 3![]()
7 存储层次结构
1、下列哪些常用的设备是基于非易失性存储器的? A、固态硬盘(SSD) B、机械硬盘 C、光盘 D、优盘(Flash) E、BIOS ROM芯片 F、SDRAM芯片(内存) G、SRAM芯片(内存) 2、按照课程中提供的SRAM结构图,在写入“0”的过程中,哪几个晶体管是处于连通状态?M3,M2,M5,M6参考3、下面是有关SRAM和DRAM的叙述正确的是哪几项? A、DRAM结构比SRAM简单 B、DRAM功耗比SRAM低 C、DRAM要刷新,SRAM不要刷新![]()
![]()
解析:4、以PC133标准的SDRAM为例,时钟频率133MHz。设tRCD=15ns,CL=2,tRP=15ns。在正常的读操作情况下,从内存控制器发出行地址到内存输出第四个数据,需要多少个时钟周期? 7 5、以PC133标准的SDRAM为例,时钟频率133MHz。设tRCD=15ns,CL=2,tRP=15ns。在正常的读操作情况下,从内存控制器发出行地址到内存输出第一个数据,需要多少个时钟周期? 4![]()
![]()
解析: SDRAM读操作的典型访问过程6、以PC133标准的SDRAM为例,时钟频率133MHz。设tRCD=22ns,CL=2,tRP=22ns。如果内存控制器需要发起两次不同行地址的读操作,每次读操作读出四个数据,那从发出第一个行地址到发出第二个行地址,最短需要多少个时钟周期? 11![]()
解析:7、64-bit数据宽度的DDR-400 SDRAM的峰值带宽为3.2GB/s,核心时钟频率为200MHz,芯片内部采用了2位数据预取技术,其接口频率是多少? 200MHz ???![]()
解析: DDR-400的等效时钟频率=400MHz8、64-bit数据宽度的DDR3-1600 SDRAM的峰值带宽为12.8GB/s,接口时钟频率为800MHz,芯片内部采用了8位数据预取技术,其核心频率是多少? 200MHz ???等效时钟频率 x * 64* / 8 = 3.2/2 x = 1.6 * 8 / 64 = 200MHz
解析:(假装是这样的) 等效时钟频率 x * 64 / 8 = 12.8/8 x = 1.6 * 8 / 64 = 200MHz9、关于程序局部性的描述,正确的是哪几项? A、数组通常具有很好的空间局部性 B、循环通常具有很好的时间局部性 C、循环通常具有很好的空间局部性
解析:10、请阅读代码片段 sum = 0; for (i = 0; i < n; i++) sum += a[i]; return sum; 在上述代码片段中,对数组a[]的使用体现了______局部性。 答案: 空间 11、请阅读代码片段 sum = 0; for (i = 0; i < n; i++) sum += a[i]; return sum; 在上述代码片段中,对变量sum的使用体现了_____局部性。 答案: 时间 12、一个容量为1GB的硬盘,如果不考虑冗余空间,那可以存储多少个二进制位的信息? 8000000000 13、一个容量为1GB的内存,如果不考虑冗余空间,那可以存储多少个二进制位的信息? 8589934592 14、一个传输率为100Mbps的以太网接口,每秒钟最多能输出多少个二进制位的信息? 100000000 15、一个传输率为100Mbps的内存接口,每秒钟最多能输出多少个二进制位的信息? 100000000 16、一个传输率为100Mbps的硬盘接口,每秒钟最多能输出多少个二进制位的信息? 100000000![]()
解析:![]()
8 中断和异常
1、x86实模式下,若中断类型码为15H,则中断向量存放在从哪个地址开始的4个字节单元中。 00054h解析:2、x86实模式下,若中断类型码为10H,则中断向量存放在从哪个地址开始的4个字节单元中。 00040h![]()
解析:10H*4=40H3、x86实模式下,若某中断向量对应的4字节内容分别是10H,24H,50H,68H(从低到高),则中断程序的入口地址为多少?
答案: 6a910h4、x86实模式下,若某中断向量对应的4字节内容分别是10H,34H,50H,78H(从低到高),则中断程序的入口地址为多少?(答案用16进制数表示,如02ABCH)![]()
![]()
答案: 7b910h CS:7850H IP:3410H5、x86实模式下,若中断类型码为20H,中断服务程序的入口地址为5670H:1350H,试指出中断向量表中存放该中断向量的第3个字节(从低到高)单元的内容是什么?(答案用16进制数表示,如12H)![]()
答案: 70h6、x86实模式下,若中断类型码为20H,中断服务程序的入口地址为5670H:1350H,试指出中断向量表中存放该中断向量的第2个字节(从低到高)单元的地址是什么?(答案用16进制数表示,如02ABCH)例题参考:
![]()
答案: 00081h 20*4+1=81H 格式参考7、8086系统中,中断标志寄存器是哪一个? A、IF(Interrupt Flag)例题参考:
![]()
解析:8、中断处理一共分为六个步骤,请按照正确处理顺序为各个步骤排序,答案直接填写数字,如123456。 1 识别中断源 2 执行中断服务程序 3 关中断 4 恢复现场并返回 5 保存断点 6 保护现场![]()
答案: 3516249、下列哪项操作是在中断处理过程中的“保护现场”步骤进行的? A、将中断服务程序中要使用的寄存器压入堆栈 B、将标志寄存器压入堆栈 10、下列哪些操作是在中断处理过程中的“恢复现场”步骤进行的? A、将中断服务程序中要使用的寄存器弹出堆栈 B、将标志寄存器弹出堆栈 C、执行中断返回指令 11、下列关于除法错中断描述错误的是?![]()
![]()
解析:12、下列关于溢出中断描述正确的是? A、溢出中断有时候会被处理器为空操作 B、溢出中断属于内部中断 C、溢出中断的中断类型号为![]()
![]()
解析:13、下列关于单步中断描述正确的是? A、单步中断服务程序一般用于显示CPU内部各寄存器的内容 B、单步工作方式下,CPU每执行完一条指令,就会自动产生一个单步中断 C、单步中断的中断类型号![]()
解析:14、下列关于断点中断描述错误的是? A、断点中断(不可以)![]()
![]()
解析:15、下列x86程序实现的是什么功能? 读取时间 MOV AH, 2CH INT 21H![]()
![]()
![]()
解析:16、下列x86程序实现的是什么功能? 设置显示方式为640×480彩色图形 MOV AH, 0 MOV AL, 12H INT 10H![]()
![]()
解析:![]()
9 输入输出设备
1、I/O接口的主要功能有哪些? A、数据缓冲 B、提供联络信息 C、信号与信息格式的转换 D、设备选择解析:2、现代个人计算机中,哪些设备可以看做是I/O接口? A、显卡 B、并口控制芯片 C、南桥 D、网卡 E、硬盘 F、SD卡 G、耳机![]()
解析:4、下列关于I/O端口和存储器分开编址的说法哪些是错误的? A、可以![]()
解析:5、下列哪条x86指令实现了把寄存器AL的内容写入端口70H? OUT 70H,AL 6、下列哪条x86指令实现了把端口70H的内容读入到寄存器AL? IN AL, 70H![]()
解析:7、下列哪些是无条件传送方式的特点? A、控制程序简单 B、只适用于简单外设的操作 C、对外设要求低 D、操作流程较为复杂 E、CPU不需要参与数据传输![]()
解析:8、下列哪些是程序查询方式的特点? A、比无条件传送方式准确可靠 B、查询外设状态占用了大量的时间 C、CPU不需要参与数据传输 D、只适用于简单外设操作![]()
解析:9、请按照正确的程序查询数据输出过程,给下列各个步骤排序。615342 6 CPU执行指令,将控制字写入接口的“控制寄存器”,从而设置接口的工 作模式 1 CPU执行指令,将数据写到接口的“输出缓冲寄存器” 5 接口将数据发到“并行数据输出”信号线上,并将“输出准备好”信号置 为有效 3 外设发现“输出准备好”信号有效后,从“并行数据输出”信号线上接收 数据,并将“输出回答”信号置为有效 4 接口发现“输出回答”信号有效后,将“状态寄存器”中的状态位“输出 缓冲空”置为有效 2 在这个过程中,CPU反复执行指令从“状态寄存器”中读出状态字,直到 发现“输出缓冲空”,然后开始下一个输出过程,继续输出新数据![]()
解析:10、请按照正确的程序查询数据输入过程,给下列各个步骤排序。 416352 4 系统初始化时,CPU执行指令,将控制字写入接口的“控制寄存器”,设 置接口的工作模式 1 外设将数据发到“并行数据输入”信号线上,并将“输入准备好”信号置 为有效 6 接口发现“输入准备好”信号有效后,从“并行数据输入”信号线上接收 数据,放入“输入缓冲寄存器”,并将“输入回答”信号置为有效,阻止 外设输入新数据 3 接口将“状态寄存器”中的状态位“输入缓冲满”置为有效 5 在上述过程中,CPU反复执行指令从“状态寄存器”中读出状态字,直到 发现“输入缓冲满”,然后执行指令从“输入缓冲寄存器”中读出数据 2 接口将“输入回答”信号置为无效,等待外设输入新数据![]()
![]()
解析:11、下列关于中断控制方式的描述哪些是正确的? A、CPU可以和外设并行工作,提高了工作效率 B、外围设备具有申请服务的主动权 C、一定程度上满足了I/O处理的实时性要求 D、CPU不再需要参与数据传输 E、需要反复检查状态位![]()
![]()
解析:12、x86 CPU的外部中断有两大类:可屏蔽中断和()中断? 答案: 非屏蔽 13、8086系统中,假设同时发生了溢出中断,单步中断和可屏蔽中断,则哪个中断会被优先处理? 溢出中断![]()
解析:14、请给下列DMA方式进行数据传输的主要步骤进行排序。 1563472 1、CPU设置DMAC内部配置寄存器 5、DMAC处于空闲等待状态 6、I/O接口向DMAC发出DMA传送申请 3、DMAC响应I/O接口的申请 4、DMAC向I/O接口发起总线读传输 7、DMAC向存储器发起总线写传输 2、重复总线读写直到本次DMA传送完成优先处理内部中断
解析:15、DMA控制器初始化时,至少要配置哪些参数? A、源地址的初始值 B、传送时的地址增减方式 C、目的地址的初始值![]()
解析:16、现代个人计算机中,哪些设备通常是自带DMA控制器的? A、显卡 B、网卡 C、声卡 D、内存 E、键盘 F、鼠标 G、打印机 17、关于I/O的各种控制方式,下列哪些说法是正确的? A、DMA方式不需要CPU干预数据传送 B、中断方式需要保护和恢复现场 C、DMA方式需要和程序控制方式或者中断方式配合使用 D、DMA方式数据需要先存入CPU中,在转到内存中 E、中断方式的效率总比程序控制的效率要高 F、程序控制方式需要反复读取状态寄存器![]()
解析:![]()