快乐学习 一个网站喵查铺子(catpuzi.com)全搞定~

中国大学MOOC 计算机系统基础(一):程序的表示、转换与链接-南京大学 测验与作业答案

文章目录[隐藏]

第一周 计算机系统概述

1 以下术语中,不属于计算机中硬件(即物理上实际存在的部件)的是(   )。
算术逻辑部件
喵查答案:指令字
程序计数器(PC
数据通路

2

以下有关计算机系统层次结构的叙述中,错误的是(  )。
最上层是提供给最终用户使用的应用程序(软件)层
喵查答案:应用程序员工作在指令集体系结构层,需要对底层很熟悉
ISA是对硬件的抽象,软件通过ISA使用硬件提供的功能
 OS是对ISA和硬件的抽象,程序员通过OS使用系统资源

3 以下有关指令集体系结构的叙述中,错误的是(   )。
指令集体系结构位于计算机软件和硬件的交界面上
指令集体系结构是指低级语言程序员所看到的概念结构和功能特性
喵查答案:通用寄存器的长度、功能与编号不属于指令集体系结构的内容
指令集体系结构的英文缩写是ISA

4 以下给出的软件中,属于系统软件的是(   )。
喵查答案:Windows XP  
MS Word
金山词霸
RealPlayer

5 一个完整的计算机系统包括硬件和软件。软件又分为(   )。
操作系统和语言处理程序
喵查答案:系统软件和应用软件
操作系统和高级语言
低级语言程序和高级语言程序

6 以下有关使用高级编程语言编写和开发软件的叙述中,错误的是(    )。
须有一个翻译或转换程序,即编译器或解释器
须有一套工具软件或集成开发环境,即语言处理系统
喵查答案:须程序员在应用程序中直接控制外设进行输入/输出
须有程序员与计算机交互的用户接口,即GUICUI

7 以下有关机器指令和汇编指令的叙述中,错误的是(   )。
机器指令和汇编指令一一对应,功能相同
喵查答案:机器指令和汇编指令都能被计算机直接执行
汇编指令中用符号表示操作码和地址码
汇编指令中用十进制或十六进制表示立即数

8 以下有关编程语言的叙述中,错误的是(  )。
喵查答案:不能直接用机器语言(机器指令)编写程序
用高级编程语言编写程序比用汇编语言更方便
汇编语言和机器语言都与计算机系统结构相关
计算机不能直接执行高级语言程序和汇编语言程序

9 以下有关指令以及指令执行过程的叙述中,错误的是(   )。
指令由操作码和操作数或操作数的地址码构成
CPU中的控制器对指令操作码进行译码
喵查答案:指令中指定的操作数只能是存放在存储器中的数据
将要执行的下条指令的地址总是在程序计数器PC

10

以下有关冯.诺依曼结构思想的叙述中,错误的是(  )。 
计算机由运算器、存储器、控制器和I/O设备组成
程序由指令构成,计算机能自动执行程序中一条一条指令
喵查答案:指令和数据都放在存储器中,两者在形式上有差别
计算机内部以二进制形式表示指令和数据

第四周 乘除运算及浮点数运算

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

2

已知float型变量用IEEE 754单精度浮点格式表示,float型变量xy的机器数分别表示为x=40E8 0000Hy=C204 0000H,则在计算x+y时,第一步对阶操作的结果[ExEy]为(   )。
0000 0111
0000 0011
1111 1011
喵查答案:1111 1101

3

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

4

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

5

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

6

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

7

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

8

若在一个8位计算机中完成x–2y,假定变量xy的机器数用补码表示为[x]=44H[y]= DCH,则x–2y的机器数及相应的溢出标志OF分别是(   )。
68H0
68H1
8CH0
喵查答案:8CH1

9

若在一个8位计算机中完成x+2y的运算,假定变量xy的机器数用补码表示为[x]=44H[y]= DCH,则x+2y的机器数及相应的溢出标志OF分别是(    )。
32H0
 32H1
喵查答案:FCH0
FCH1

10

变量dxdydz的声明和初始化如下:

double dx = (double) x;

                       double dy = (double) y;

                       double dz = (double) z;

floatdouble分别采用IEEE 754单精度和双精度浮点数格式,sizeof(int)=4,则对于任意int型变量xyz,以下哪个关系表达式是永真的?
喵查答案:dx*dx >= 0    
(double)(float) x == dx
dx+dy == (double) (x+y)
喵查答案: (dx+dy)+dz == dx+(dy+dz)
dx*dy*dz == dz*dy*dx
dx/dx == dy/dy

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

1

以下关于IA-32指令格式的叙述中,错误的是(   )。
采用变长指令字格式,指令长度从一个字节到十几个字节不等
采用变长操作码,操作码位数可能是5位到十几位不等
指令中指出的位移量和立即数的长度可以是0124个字节
喵查答案:指令中给出的操作数所在的通用寄存器的宽度总是32

2

以下Intel微处理器中,不兼容IA-32指令集体系结构的是(    )。
8038680486
Pentium (IIIII4)    
Core(i3i5i7)
喵查答案:ItaniumItanium 2

3 以下选项中,不属于指令集体系结构名称的是(    )。
喵查答案:UNIX
IA-32
ARM
MIPS

4 令集体系结构(ISA)是计算机系统中必不可少的一个抽象层,它是对硬件的抽象,软件通过它所规定的指令系统规范来使用硬件。以下有关ISA的叙述中,错误的是(    )。
 ISA规定了所有指令的集合,包括指令格式和操作类型
喵查答案: ISA规定了执行每条指令时所包含的控制信号
 ISA规定了指令获取操作数的方式,即寻址方式
 ISA规定了指令的操作数类型、寄存器结构、存储空间大小、编址方式和大端/小端方式

5

对于运算类指令或传送类指令,需要在指令中指出操作数或操作数所在的位置。通常,指令中指出的操作数不可能出现在(   )中。
指令
通用寄存器
存储单元
喵查答案:程序计数器

6 一条机器指令通常由多个字段构成。以下选项中,通常(    )不显式地包含在机器指令中。
操作码
寻址方式
喵查答案:下条指令地址
寄存器编号

7

以下有关指令的叙述中,错误的是(   )。
机器指令是用二进制表示的一个0/1序列,CPU能直接执行
喵查答案:汇编指令是机器指令的符号表示,CPU能直接执行
伪指令是由若干条机器指令构成的一个指令序列,属于软件范畴
微指令是一条机器指令所包含的控制信号的组合,CPU能直接执行

8

以下关于IA-32的定点寄存器组织的叙述中,错误的是(   )。
喵查答案:每个通用寄存器都可作为32位、16位或8位寄存器使用
寄存器EAX/AX/AL称为累加器,ECX/CX/CL称为计数寄存器
寄存器ESP/SP称为栈指针寄存器,EBP/BP称为基址指针寄存器
EIP/IP为指令指针寄存器,即PCEFLAGS/FLAGS为标志寄存器

9 以下关于IA-32中整数运算指令所支持的操作数的叙述中,错误的是(    )。
对于加减运算指令,操作数不区分是无符号整数还是带符号整数
对于乘除运算指令,操作数一定区分是无符号整数还是带符号整数
喵查答案:除乘法指令外,其他运算指令的源操作数和目的操作数的位数相等
参加运算的操作数可以是一个字节(8b)、一个字(16b)或双字(32b

10

以下关于IA-32指令寻址方式的叙述中,错误的是(    )。
操作数可以是指令中的立即数、也可以是通用寄存器或存储单元中的内容
对于寄存器操作数,必须在指令中给出通用寄存器的3位编号
存储器操作数中最复杂的寻址方式是“基址加比例变址加位移”
喵查答案:相对寻址的目标地址为“PC内容加位移”,PC内容指当前正在执行指令的地址

第六周 IA-32指令类型

1

假设 R[ax]=FFE8HR[bx]=7FE6H,执行指令“subw %bx, %ax”后,寄存器的内容和各标志的变化为(   )。
喵查答案: R[ax]=8002HOF=0SF=1CF=0ZF=0
R[bx]=8002HOF=0SF=1CF=0ZF=0
R[ax]=8002HOF=1SF=1CF=0ZF=0  
R[bx]=8002HOF=1SF=1CF=0ZF=0

2 SignExt[x]表示对x符号扩展,ZeroExt[x]表示对x零扩展。IA-32中指令“movswl %cx, 20(%ebp)”的功能是(    )。
喵查答案:M[R[ebp]20]SignExt[R[cx]]
R[cx]SignExt [M[R[ebp]20]]
M[R[ebp]20]ZeroExt[R[cx]]
R[cx]ZeroExt [M[R[ebp]20]]

3

IA-32中指令“movl 8(%edx, %esi, 4), %edx”的功能是(   )。
M[R[edx]+R[esi]*4+8]R[edx]
M[R[esi]+R[edx]*4+8]R[edx]
喵查答案:R[edx]M[R[edx]+R[esi]*4+8]
R[edx]M[R[esi]+R[edx]*4+8]

4

IA-32中指令“popl %ebp”的功能是(   )。
R[esp]R[esp]4R[ebp]M[R[esp]]
R[esp]R[esp]+4R[ebp]M[R[esp]]
 R[ebp]M[R[esp]]R[esp]R[esp]4
喵查答案:R[ebp]M[R[esp]]R[esp]R[esp]+4

5

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中,jESI中,则“sum+= b[i][j];”所对应的指令(AT&T格式)可以是(     )。
喵查答案:addl 0(%edx, %esi, 4), %eax
addl 0(%esi, %edx, 4), %eax
addl 0(%edx, %esi, 2), %eax
addl 0(%esi, %edx, 2), %eax

6

以下关于MMX/SSE指令集的叙述中,错误的是(   )。
同一个微处理器同时支持IA-32指令集与MMX/SSE指令集
喵查答案:MMX/SSE指令集和IA-32指令集共用同一套通用寄存器
SSE指令是一种采用SIMD(单指令多数据)技术的数据级并行指令
目前SSE支持128位整数运算或同时并行处理两个64位双精度浮点数

7

以下关于x87 FPU浮点处理指令系统的叙述中,错误的是(   )。
提供880位浮点寄存器ST(0)~ST(7),采用栈结构,栈顶为ST(0)
floatdoublelong double三种类型数据都按80位格式存放在浮点寄存器中
 floatdoublelong double型数据存入主存时,分别占32位、64位和96
喵查答案: floatdouble型数据从主存装入浮点寄存器时有可能发生舍入,造成精度损失

8

程序P中有两个变量ij,被分别分配在寄存器EAXEDX中,P中语句“if (i<j) { …}”对应的指令序列如下(左边为指令地址,中间为机器代码,右边为汇编指令):

804846a    39 c2       cmpl  %eax, %edx

804846c    7e 0d    jle     xxxxxxxx          若执行到804846a处的cmpl指令时,i=105j=100,则jle指令执行后将会转到(      )处的指令执行。
8048461
804846e
8048479
喵查答案: 804847b

9 假设short型变量x被分配在寄存器AX中,若R[ax]=FF70H,则执行指令“salw $2, %ax”后,变量x的机器数和真值分别是(    )。
喵查答案:FDC0H576
 FFDCH36
FDC3H573
 3FDC16348

10 假设R[eax]=0000B160HR[ebx]=00FF0110H,执行指令“imulw %bx”后,通用寄存器的内容变化为(    )。
喵查答案:R[eax]=00007600HR[dx]=FFACH
R[eax]=FFAC7600H,其余不变
 R[eax]=00BC7600,其余不变
R[eax]=00007600HR[dx]=00BCH

关注工众号

喵查

查看更多答案
喜欢 (0)
关于作者: