大学MOOC 计算机组成原理II 陈丹(南京航空航天大学)1450342419 最新慕课完整章节测试答案
第一周 计算机系统概述
文章目录
第一周小测验
1、单选题:
以下有关冯.诺依曼结构思想的叙述中,错误的是( )。
选项:
A: 计算机由运算器、存储器、控制器和I/O设备组成
B: 程序由指令构成,计算机能自动执行程序中一条一条指令
C: 指令和数据都放在存储器中,两者在形式上有差别
D: 计算机内部以二进制形式表示指令和数据
答案: 【 指令和数据都放在存储器中,两者在形式上有差别】
2、单选题:
以下有关指令以及指令执行过程的叙述中,错误的是( )。
选项:
A: 指令由操作码和操作数或操作数的地址码构成
B: CPU中的控制器对指令操作码进行译码
C: 指令中指定的操作数只能是存放在存储器中的数据
D: 将要执行的下条指令的地址总是在程序计数器PC中
答案: 【 指令中指定的操作数只能是存放在存储器中的数据】
3、单选题:
以下有关编程语言的叙述中,错误的是( )。
选项:
A: 不能直接用机器语言(机器指令)编写程序
B: 用高级编程语言编写程序比用汇编语言更方便
C: 汇编语言和机器语言都与计算机系统结构相关
D: 计算机不能直接执行高级语言程序和汇编语言程序
答案: 【 不能直接用机器语言(机器指令)编写程序】
4、单选题:
以下有关机器指令和汇编指令的叙述中,错误的是( )。
选项:
A: 机器指令和汇编指令一一对应,功能相同
B: 机器指令和汇编指令都能被计算机直接执行
C: 汇编指令中用符号表示操作码和地址码
D: 汇编指令中用十进制或十六进制表示立即数
答案: 【 机器指令和汇编指令都能被计算机直接执行】
5、单选题:
以下有关使用高级编程语言编写和开发软件的叙述中,错误的是( )。
选项:
A: 须有一个翻译或转换程序,即编译器或解释器
B: 须有一套工具软件或集成开发环境,即语言处理系统
C: 须程序员在应用程序中直接控制外设进行输入/输出
D: 须有程序员与计算机交互的用户接口,即GUI或CUI
答案: 【 须程序员在应用程序中直接控制外设进行输入/输出】
6、单选题:
一个完整的计算机系统包括硬件和软件。软件又分为( )。
选项:
A: 操作系统和语言处理程序
B: 系统软件和应用软件
C: 操作系统和高级语言
D: 低级语言程序和高级语言程序
答案: 【 系统软件和应用软件】
7、单选题:
以下给出的软件中,属于系统软件的是( )。
选项:
A: Windows XP
B: MS Word
C: 金山词霸
D: RealPlayer
答案: 【 Windows XP 】
8、单选题:
以下有关指令集体系结构的叙述中,错误的是( )。
选项:
A: 指令集体系结构位于计算机软件和硬件的交界面上
B: 指令集体系结构是指低级语言程序员所看到的概念结构和功能特性
C: 通用寄存器的长度、功能与编号不属于指令集体系结构的内容
D: 指令集体系结构的英文缩写是ISA
答案: 【 通用寄存器的长度、功能与编号不属于指令集体系结构的内容】
9、单选题:
以下有关计算机系统层次结构的叙述中,错误的是( )。
选项:
A: 最上层是提供给最终用户使用的应用程序(软件)层
B: 应用程序员工作在指令集体系结构层,需要对底层很熟悉
C: ISA是对硬件的抽象,软件通过ISA使用硬件提供的功能
D: OS是对ISA和硬件的抽象,程序员通过OS使用系统资源
答案: 【 应用程序员工作在指令集体系结构层,需要对底层很熟悉】
10、单选题:
以下术语中,不属于计算机中硬件(即物理上实际存在的部件)的是( )。
选项:
A: 算术逻辑部件
B: 指令字
C: 程序计数器(PC)
D: 数据通路
答案: 【 指令字】
第二周 数据的表示和存储
第二周小测验
1、单选题:
108对应的十六进制形式是( )。
选项:
A: 6CH
B: B4H
C: 5CH
D: 63H
答案: 【 6CH】
2、单选题:
–1029的16位补码用十六进制表示为( )。
选项:
A: 0405H
B: 7BFBH
C: 8405H
D: FBFBH
答案: 【 FBFBH】
3、单选题:
考虑以下C语言代码: short si=–8196;unsigned short usi=si;执行上述程序段后,usi的值是( )。
选项:
A: 8196
B: 34572
C: 57339
D: 57340
答案: 【 57340】
4、单选题:
考虑以下C语言代码: short si=–32768;unsigned short usi=si;执行上述程序段后,usi的值是( )。
选项:
A: –32768
B: 32768
C: 65535
D: 65536
答案: 【 32768】
5、单选题:
考虑以下C语言代码:unsigned short usi=65535;short si=usi;执行上述程序段后,si的值是( )。
选项:
A: 65535
B: –65535
C: –1
D: 1
答案: 【 –1】
6、单选题:
在ISO C90标准下执行以下关系表达式,结果为“真”的是( )。
选项:
A: –1 < 0U
B: 2147483647 > –2147483648
C: (unsigned) –1 > –2
D: 2147483647 < (int) 2147483648U
答案: 【 (unsigned) –1 > –2】
7、单选题:
–1028采用IEEE 754单精度浮点数格式表示的结果(十六进制形式)是( )。
选项:
A: 44808000H
B: C4808000H
C: 44C04000H
D: C4C04000H
答案: 【 C4808000H】
8、单选题:
假定变量i、f的数据类型分别是int、float。已知i=12345,f=1.2345e3,则在一个32位机器中执行下列表达式时,结果为“假”的是( )。
选项:
A: i==(int)(float)i
B: i==(int)(double)i
C: f==(float)(int)f
D: f==(float)(double)f
答案: 【 f==(float)(int)f】
9、单选题:
假定某计算机按字节编址,采用小端方式,有一个float型变量x的地址为0xffffc000,x=12345678H,则在内存单元0xffffc001中存放的内容是( )。
选项:
A: 0001001000110100B
B: 00110100B
C: 01010110B
D: 0101B
答案: 【 01010110B】
10、单选题:
下面是关于计算机中存储器容量单位的叙述,其中错误的是( )。
选项:
A: 最小的计量单位为位(bit),表示一位“0”或“1”
B: 最基本的计量单位是字节(Byte),一个字节等于8bit
C: 一台计算机的编址单位、指令字长和数据字长都一样,且是字节的整数倍
D: “主存容量为1KB”的含义是指主存中能存放1024个字节的二进制信息
答案: 【 一台计算机的编址单位、指令字长和数据字长都一样,且是字节的整数倍】
第三周 运算电路基础
第三周小测验
1、单选题:
ALU有一个操作控制端ALUop,ALU在ALUop的控制下执行相应的运算。以下给出的运算中,( )运算不能由ALUop直接控制完成。
选项:
A: 加法和减法
B: 乘法和除法
C: 与、或、非等逻辑运算
D: 传送(ALU输入直送为输出)
答案: 【 乘法和除法】
2、单选题:
假设变量x的位数为n(n>=8),x的最低有效字节不变,其余各位全变为0,则对应C语言表达式为( )。
选项:
A: x & 0xFF
B: x | 0xFF
C: x ^ 0xFF
D: x | ~ 0xFF
答案: 【 x & 0xFF】
3、单选题:
假设变量x的位数为n(n>=8),x的最高有效字节不变,其余各位全变为0,则对应C语言表达式为( )。
选项:
A: (x<<(n-8))>>(n-8)
B: ((x&0xFF)<<(n-8))>>(n-8)
C: (x>>(n-8))<<(n-8)
D: ((x&0xFF)>>(n-8))<<(n-8)
答案: 【 (x>>(n-8))<<(n-8)】
4、单选题:
考虑以下C语言代码:short si = –8196; int i = si;执行上述程序段后,i的机器数表示为( )。
选项:
A: 0000 DFFCH
B: FFFF 9FFCH
C: FFFF DFFCH
D: 0000 9FFCH
答案: 【 FFFF DFFCH】
5、单选题:
若在一个8位整数加/减运算器中完成x–y的运算,已知带符号整数x=–69,y=–38,则加法器的两个输入端和输入的低位进位分别为( )。
选项:
A: 1011 1011、1101 1010、0
B: 1011 1011、1101 1010、1
C: 1011 1011、0010 0101、1
D: 1011 1011、0010 0110、1
答案: 【 1011 1011、0010 0101、1】
6、单选题:
若在一个8位整数加/减运算器中完成x+y的运算,已知无符号整数x=69,y=38,则加法器的两个输入端和输入的低位进位分别为( )。
选项:
A: 0100 0101、0010 0110、0
B: 0100 0101、0010 0110、1
C: 0100 0101、1101 1010、0
D: 0100 0101、1101 1010、1
答案: 【 0100 0101、0010 0110、0】
7、单选题:
若在一个8位整数加/减运算器中完成x+y的运算,已知x=63,y= –31,则x+y的机器数及相应的溢出标志OF分别是( )。
选项:
A: 1FH、0
B: 20H、0
C: 1FH、1
D: 20H、1
答案: 【 20H、0】
8、单选题:
若在一个8位整数加/减运算器中完成x+y的运算,假定变量x和y的机器数用补码表示为[x]补=F5H,[y]补=7EH,则x+y的值及相应的溢出标志OF分别是( )。
选项:
A: 115、0
B: 119、0
C: 115、1
D: 119、1
答案: 【 115、0】
9、单选题:
若在一个8位整数加/减运算器中完成x–y的运算,假定变量x和y的机器数用补码表示为[x]补=F5H,[y]补=7EH,则x–y的值及相应的溢出标志OF分别是( )。
选项:
A: 115、0
B: 119、0
C: 115、1
D: 119、1
答案: 【 119、1】
10、单选题:
若在一个8位计算机中完成x+2y的运算,假定变量x和y的机器数用补码表示为[x]补=44H,[y]补= DCH,则x+2y的机器数及相应的溢出标志OF分别是( )。
选项:
A: 32H、0
B: 32H、1
C: FCH、0
D: FCH、1
答案: 【 FCH、0】
第六周 IA-32指令类型
第六周小测验
1、单选题:
某C语言程序中对数组变量b的声明为“int b[10][5];”,有一条for语句如下:for (i=0; i<10, i++)for (j=0; j<5; j++)sum+= b[i][j];假设执行到“sum+= b[i][j];”时,sum的值在EAX中,b[i][0]所在的地址在EDX中,j在ESI中,则“sum+= b[i][j];”所对应的指令(AT&T格式)可以是( )。
选项:
A: addl 0(%edx, %esi, 4), %eax
B: addl 0(%esi, %edx, 4), %eax
C: addl 0(%edx, %esi, 2), %eax
D: addl 0(%esi, %edx, 2), %eax
答案: 【 addl 0(%edx, %esi, 4), %eax】
2、单选题:
IA-32中指令“popl %ebp”的功能是( )。
选项:
A: R[esp]←R[esp]-4,R[ebp]←M[R[esp]]
B: R[esp]←R[esp]+4,R[ebp]←M[R[esp]]
C: R[ebp]←M[R[esp]],R[esp]←R[esp]-4
D: R[ebp]←M[R[esp]],R[esp]←R[esp]+4
答案: 【 R[ebp]←M[R[esp]],R[esp]←R[esp]+4】
3、单选题:
IA-32中指令“movl 8(%edx, %esi, 4), %edx”的功能是( )。
选项:
A: M[R[edx]+R[esi]*4+8]←R[edx]
B: M[R[esi]+R[edx]*4+8]←R[edx]
C: R[edx]←M[R[edx]+R[esi]*4+8]
D: R[edx]←M[R[esi]+R[edx]*4+8]
答案: 【 R[edx]←M[R[edx]+R[esi]*4+8]】
4、单选题:
设SignExt[x]表示对x符号扩展,ZeroExt[x]表示对x零扩展。IA-32中指令“movswl %cx, -20(%ebp)”的功能是( )。
选项:
A: M[R[ebp]-20]←SignExt[R[cx]]
B: R[cx]←SignExt [M[R[ebp]-20]]
C: M[R[ebp]-20]←ZeroExt[R[cx]]
D: R[cx]←ZeroExt [M[R[ebp]-20]]
答案: 【 M[R[ebp]-20]←SignExt[R[cx]]】
5、单选题:
假设 R[ax]=FFE8H,R[bx]=7FE6H,执行指令“subw %bx, %ax”后,寄存器的内容和各标志的变化为( )。
选项:
A: R[ax]=8002H,OF=0,SF=1,CF=0,ZF=0
B: R[bx]=8002H,OF=0,SF=1,CF=0,ZF=0
C: R[ax]=8002H,OF=1,SF=1,CF=0,ZF=0
D: R[bx]=8002H,OF=1,SF=1,CF=0,ZF=0
答案: 【 R[ax]=8002H,OF=0,SF=1,CF=0,ZF=0 】
6、单选题:
假设R[eax]=0000B160H,R[ebx]=00FF0110H,执行指令“imulw %bx”后,通用寄存器的内容变化为( )。
选项:
A: R[eax]=00007600H,R[dx]=FFACH
B: R[eax]=FFAC7600H,其余不变
C: R[eax]=00BC7600,其余不变
D: R[eax]=00007600H,R[dx]=00BCH
答案: 【 R[eax]=00007600H,R[dx]=FFACH】
7、单选题:
假设short型变量x被分配在寄存器AX中,若R[ax]=FF70H,则执行指令“salw $2, %ax”后,变量x的机器数和真值分别是( )。
选项:
A: FDC0H,-576
B: FFDCH,-36
C: FDC3H,-573
D: 3FDC,16348
答案: 【 FDC0H,-576】
8、单选题:
程序P中有两个变量i和j,被分别分配在寄存器EAX和EDX中,P中语句“if (i<j) { …}”对应的指令序列如下(左边为指令地址,中间为机器代码,右边为汇编指令):804846a 39 c2 cmpl %eax, %edx804846c 7e 0d jle xxxxxxxx 若执行到804846a处的cmpl指令时,i=105,j=100,则jle指令执行后将会转到( )处的指令执行。
选项:
A: 8048461
B: 804846e
C: 8048479
D: 804847b
答案: 【 804847b】
9、单选题:
以下关于x87 FPU浮点处理指令系统的叙述中,错误的是( )。
选项:
A: 提供8个80位浮点寄存器ST(0)~ST(7),采用栈结构,栈顶为ST(0)
B: float、double和long double三种类型数据都按80位格式存放在浮点寄存器中
C: float、double和long double型数据存入主存时,分别占32位、64位和96位
D: float和double型数据从主存装入浮点寄存器时有可能发生舍入,造成精度损失
答案: 【 float和double型数据从主存装入浮点寄存器时有可能发生舍入,造成精度损失】
10、单选题:
以下关于MMX/SSE指令集的叙述中,错误的是( )。
选项:
A: 同一个微处理器同时支持IA-32指令集与MMX/SSE指令集
B: MMX/SSE指令集和IA-32指令集共用同一套通用寄存器
C: SSE指令是一种采用SIMD(单指令多数据)技术的数据级并行指令
D: 目前SSE支持128位整数运算或同时并行处理两个64位双精度浮点数
答案: 【 MMX/SSE指令集和IA-32指令集共用同一套通用寄存器】
第七周 C语言语句的机器级表示
第七周小测验
1、单选题:
假设P为调用过程,Q为被调用过程,程序在IA-32处理器上执行,以下有关过程调用的叙述中,错误的是( )。
选项:
A: C语言程序中的函数调用就是过程调用
B: 从P传到Q的实参无需重新分配空间存放
C: 从P跳转到Q执行应使用CALL指令
D: 从Q跳回到Q执行应使用RET指令
答案: 【 从P传到Q的实参无需重新分配空间存放】
2、单选题:
以下是有关IA-32的过程调用方式的叙述,错误的是( )。
选项:
A: 入口参数使用栈(stack)传递,即所传递的实参被分配在栈中
B: 返回地址是CALL指令下一条指令的地址,被保存在栈中
C: EAX、ECX和EDX都是调用者保存寄存器
D: EBX、ESI、EDI、EBP和ESP都是被调用者保存寄存器
答案: 【 EBX、ESI、EDI、EBP和ESP都是被调用者保存寄存器】
3、单选题:
以下是有关IA-32的过程调用所使用的栈和栈帧的叙述,错误的是( )。
选项:
A: 每进行一次过程调用,用户栈从高地址向低地址增长出一个栈帧
B: 从被调用过程返回调用过程之前,被调用过程会释放自己的栈帧
C: 只能通过将栈指针ESP作为基址寄存器来访问用户栈中的数据
D: 过程嵌套调用深度越深,栈中栈帧个数越多,严重时会发生栈溢出
答案: 【 只能通过将栈指针ESP作为基址寄存器来访问用户栈中的数据】
4、单选题:
以下是有关C语言程序的变量的作用域和生存期的叙述,错误的是( )。
选项:
A: 静态(static型)变量和非静态局部(auto型)变量都分配在对应栈帧中
B: 因为非静态局部变量被分配在栈中,所以其作用域仅在过程体内
C: 非静态局部变量可以和全局变量同名,是因为它们被分配在不同存储区
D: 不同过程中的非静态局部变量可以同名,是因为它们被分配在不同栈帧中
答案: 【 静态(static型)变量和非静态局部(auto型)变量都分配在对应栈帧中】
5、单选题:
以下是一个C语言程序代码:int add(int x, int y){ return x+y;} int caller( ){ int t1=100 ; int t2=200; int sum=add(t1, t2); return sum;} 以下关于上述程序代码在IA-32上执行的叙述中,错误的是( )。
选项:
A: 变量t1和
