计算机系统基础(一):程序的表示、转换与链接(南京大学) 中国大学mooc慕课答案2024版 m40666


第一周 计算机系统概述 第一周小测验

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、 CPU中能进行算术运算和逻辑运算的最基本运算部件是( )。

A:多路选择器
B:移位器
C:加法器
D:ALU
答案: ALU

2、 ALU有一个操作控制端ALUop,ALU在ALUop的控制下执行相应的运算。以下给出的运算中,( )运算不能由ALUop直接控制完成。

A:加法和减法
B:乘法和除法‍
C:与、或、非等逻辑运算
D:传送(ALU输入直送为输出)
答案: 乘法和除法‍

3、 假设变量x的位数为n(n>=8),x的最低有效字节不变,其余各位全变为0,则对应C语言表达式为( )。

A: x & 0xFF

B:x | 0xFF

C:x ^ 0xFF

D:x | ~ 0xFF

答案:  x & 0xFF

4、 假设变量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)

5、 考虑以下C语言代码:short si = –8196; int i = si;执行上述程序段后,i的机器数表示为( )。

A:0000 DFFCH
B:FFFF 9FFCH
C:FFFF DFFCH
D:0000 9FFCH
答案: FFFF DFFCH

6、 若在一个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

7、 若在一个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

8、 若在一个8位整数加/减运算器中完成x+y的运算,已知x=63,y= –31,则x+y的机器数及相应的溢出标志OF分别是( )。

A:1FH、0
B: 20H、0
C:1FH、1
D:20H、1
答案:  20H、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‍
答案: 115、0‍

10、 若在一个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

第四周 乘除运算及浮点数运算 第四周小测验

1、 若在一个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

2、 若在一个8位计算机中完成x–2y,假定变量x和y的机器数用补码表示为[x]补=44H,[y]补= DCH,则x–2y的机器数及相应的溢出标志OF分别是( ‍)。

A:68H、0
B:68H、1
C:8CH、0
D:8CH、1
答案: 8CH、1

3、 若在一个8位计算机中完成x/2+2y,假定变量x和y的机器数用补码表示为[x]补=44H,[y]补= DCH,则x/2+2y的机器数及相应的溢出标志OF分别是( )。

A:CAH、0
B:CAH、1
C: DAH、0
D:DAH、1
答案:  DAH、0

4、 假定变量r1 和r2的机器数用8位补码表示为[r1]补=F5H,[r2]补=EEH。若将运算结果存放在一个8位寄存器中,则下列运算中会发生溢出的是( )。

A:r1+ r2
B:r1– r2
C:r1× r2
D:r1/r2
答案: r1× r2

5、 假定整数加法指令、整数减法指令和移位指令所需时钟周期(CPI)都为1,整数乘法指令所需时钟周期为10。若x为整型变量,为了使计算64*x所用时钟周期数最少,编译器应选用的最佳指令序列为( )。

A:1条乘法指令
B:1条左移指令
C:1条左移指令和1条加法指令
D:两条左移指令和两条加法指令
答案: 1条左移指令

6、 假定整数加法指令、整数减法指令和移位指令所需时钟周期(CPI)都为1,整数乘法指令所需时钟周期为10。若x为整型变量,为了使计算54*x所用时钟周期数最少,编译器应选用的最佳指令序列为( )。

A:1条乘法指令
B:4条左移指令和3条加法指令
C:3条左移指令和两条减法指令
D:两条左移指令和两条减法指令
答案: 3条左移指令和两条减法指令

7、 假定整数加法指令、逻辑运算指令和移位指令所需时钟周期(CPI)都为1,整数除法指令所需时钟周期为32。若x为整型变量,为了使计算x/64所用时钟周期数最少,编译器应选用的最佳指令序列为( )。

A:1条除法指令
B:1条右移指令
C:1条加法指令、1条右移指令
D:两条右移指令、1条与操作指令、1条加法指令
答案: 两条右移指令、1条与操作指令、1条加法指令

8、 已知float型变量用IEEE 754单精度浮点格式表示,float型变量x和y的机器数分别表示为x=40E8 0000H,y=C204 0000H,则在计算x+y时,第一步对阶操作的结果[Ex-Ey]补为( )。

A:0000 0111
B:0000 0011
C:1111 1011
D:1111 1101
答案: 1111 1101

9、 对于IEEE 754单精度浮点数加减运算,只要对阶时得到的两个阶之差的绝对值|ΔE|大于等于( ),就无需继续进行后续处理,此时,运算结果直接取阶大的那个数。

A:23
B:25
C:127
D:128
答案: 25

10、 变量dx、dy和dz的声明和初始化如下:double dx = (double) x; double dy = (double) y; double dz = (double) z;若float和double分别采用IEEE 754单精度和双精度浮点数格式,sizeof(int)=4,则对于任意int型变量x、y和z,以下哪个关系表达式是永真的?

A:dxdx >= 0
B:(double)(float) x == dx
C:dx+dy == (double) (x+y)
D: (dx+dy)+dz == dx+(dy+dz)
E:dx
dydz == dzdydx
F:dx/dx == dy/dy
答案: dx
dx >= 0 ;
(dx+dy)+dz == dx+(dy+dz)

第五周 IA-32指令系统概述 第五周小测验

1、 以下有关指令的叙述中,错误的是( )。

A:机器指令是用二进制表示的一个0/1序列,CPU能直接执行
B:汇编指令是机器指令的符号表示,CPU能直接执行
C:伪指令是由若干条机器指令构成的一个指令序列,属于软件范畴
D:微指令是一条机器指令所包含的控制信号的组合,CPU能直接执行
答案: 汇编指令是机器指令的符号表示,CPU能直接执行

2、 一条机器指令通常由多个字段构成。以下选项中,通常( ‍)不显式地包含在机器指令中。

A:操作码
B:寻址方式
C:下条指令地址
D:寄存器编号
答案: 下条指令地址

3、 对于运算类指令或传送类指令,需要在指令中指出操作数或操作数所在的位置。通常,指令中指出的操作数不可能出现在( )中。

A:指令
B:通用寄存器
C:存储单元
D:程序计数器
答案: 程序计数器

4、 令集体系结构(ISA)是计算机系统中必不可少的一个抽象层,它是对硬件的抽象,软件通过它所规定的指令系统规范来使用硬件。以下有关ISA的叙述中,错误的是( )。

A: ISA规定了所有指令的集合,包括指令格式和操作类型
B: ISA规定了执行每条指令时所包含的控制信号
C: ISA规定了指令获取操作数的方式,即寻址方式
D: ISA规定了指令的操作数类型、寄存器结构、存储空间大小、编址方式和大端/小端方式
答案:  ISA规定了执行每条指令时所包含的控制信号

5、 以下选项中,不属于指令集体系结构名称的是( )。

A:UNIX
B:IA-32
C:ARM
D:MIPS
答案: UNIX

6、 以下Intel微处理器中,不兼容IA-32指令集体系结构的是( )。

A:80386和80486
B:Pentium (II、III、4)
C:Core(i3、i5、i7)
D:Itanium和Itanium 2
答案: Itanium和Itanium 2

7、 以下关于IA-32指令格式的叙述中,错误的是( )。

A:采用变长指令字格式,指令长度从一个字节到十几个字节不等
B:采用变长操作码,操作码位数可能是5位到十几位不等
C:指令中指出的位移量和立即数的长度可以是0、1、2或4个字节
D:指令中给出的操作数所在的通用寄存器的宽度总是32位
答案: 指令中给出的操作数所在的通用寄存器的宽度总是32位

8、 以下关于IA-32指令寻址方式的叙述中,错误的是( )。

A:操作数可以是指令中的立即数、也可以是通用寄存器或存储单元中的内容
B:对于寄存器操作数,必须在指令中给出通用寄存器的3位编号
C:存储器操作数中最复杂的寻址方式是“基址加比例变址加位移”
D:相对寻址的目标地址为“PC内容加位移”,PC内容指当前正在执行指令的地址
答案: 相对寻址的目标地址为“PC内容加位移”,PC内容指当前正在执行指令的地址

9、 以下关于IA-32中整数运算指令所支持的操作数的叙述中,错误的是( )。

A:对于加减运算指令,操作数不区分是无符号整数还是带符号整数
B:对于乘除运算指令,操作数一定区分是无符号整数还是带符号整数
C:除乘法指令外,其他运算指令的源操作数和目的操作数的位数相等
D:参加运算的操作数可以是一个字节(8b)、一个字(16b)或双字(32b)
答案: 除乘法指令外,其他运算指令的源操作数和目的操作数的位数相等

10、 以下关于IA-32的定点寄存器组织的叙述中,错误的是( )。

A:每个通用寄存器都可作为32位、16位或8位寄存器使用
B:寄存器EAX/AX/AL称为累加器,ECX/CX/CL称为计数寄存器
C:寄存器ESP/SP称为栈指针寄存器,EBP/BP称为基址指针寄存器
D:EIP/IP为指令指针寄存器,即PC;EFLAGS/FLAGS为标志寄存器
答案: 每个通用寄存器都可作为32位、16位或8位寄存器使用

第六周 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=”” 答案:=”” <span=””> 804847b</j)>

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指令集共用同一套通用寄存器


下方是付费阅读内容:本平台商品均为虚拟商品,无法用作二次销售,不支持退换货,请在购买前确认您需要购买的资料准确无误后再购买,望知悉!

暂无优惠



完整答案需点击上方按钮支付5元购买,所有答案均为章节测试答案,购买后上方矩形框将出现已付费的隐藏内容。



不知道怎么购买?点此查看购买教程!


点关注,不迷路,微信扫一扫下方二维码

关注我们的公众号:阿布查查  随时查看答案,网课轻松过


为了方便下次阅读,建议在浏览器添加书签收藏本网页

电脑浏览器添加/查看书签方法

1.按键盘的ctrl键+D键,收藏本页面

2.下次如何查看收藏的网页?

点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页


手机浏览器添加/查看书签方法

一、百度APP添加/查看书签方法

1.点击底部五角星收藏本网页

2.下次如何查看收藏的网页?

点击右上角【┇】-再点击【收藏中心】查看

二、其他手机浏览器添加/查看书签方法

1.点击【设置】-【添加书签】收藏本网页

2.下次如何查看收藏的网页?

点击【设置】-【书签/历史】查看收藏的网页

阿布查查 » 计算机系统基础(一):程序的表示、转换与链接(南京大学) 中国大学mooc慕课答案2024版 m40666
+
账户
更新
搜索
帮助
主页