第一周 计算机系统概述

第一周小测验

1、以下有关计算机系统层次结构的叙述中,错误的是( )。

A、下面几层是电子工程师所关注的器件和逻辑电路等层次

B、中间几层是计算机架构师所关注的ISA和微架构等层次

C、上面几层是程序员所关注的算法、编程和系统软件等层次

D、使用机器语言编程的早期计算机系统中,没有ISA这一层次

2、以下有关高级编程语言的叙述中,错误的是( )。

A、高级编程语言与具体的计算机结构没有关系

B、一条高级语言语句可能对应很多条机器指令

C、高级语言程序必须翻译成机器语言才能被执行

D、汇编程序用于将高级语言程序转换为机器语言程序

3、以下给出的软件中,属于应用软件的是( )。

A、汇编程序

B、编译程序

C、操作系统

D、文字处理软件

4、以下有关程序的运行和指令执行的叙述中,错误的是( )。

A、运行程序的过程就是CPU执行程序中一条一条指令的过程

B、指令是计算机硬件能够理解并直接执行的基本操作

C、指令总是先被存储在内存中,执行前被取到CPU中

D、计算机中以二进制形式表示指令,以十进制形式表示数据

5、以下给出的计算机术语(英文缩写)解释中,错误的是( )。

A、ALU:算术逻辑部件。CPU中用于进行算术、逻辑运算的部件。

B、PC:程序计数器,CPU中用于存放将要读取指令所在存储单元地址的寄存器。

C、MAR:存储器地址寄存器,用于存放将要读取信息所在主存单元地址的寄存器。

D、IR:指令译码器,用于对指令中的操作码(OP)字段进行译码的部件。

6、以下关于计算机硬件组成的叙述中,错误的是( )。

A、计算机硬件结构按大的模块来分,包含中央处理器、主存储器和输入/输出组织。

B、中央处理器中主要包含运算器(ALU)、控制器和通用寄存器组(GPRs),以及各种程序状态寄存器(如标志寄存器)和控制寄存器。

C、主存储器和CPU之间通过总线互连,传送的信息包括地址、数据和控制三类。

D、键盘、鼠标等外设可以和CPU、主存直接通过总线连接。

第二周 数据的表示和存储

第二周小测验

1、-2040对应的16位补码表示为( )。

A、1111 1000 0000 1001B

B、1000 1000 0000 1000B

C、F808H

D、F008H

2、若某数x的补码表示为F000H,则x的真值为( )。

A、-8192

B、-4096

C、4096

D、8192

3、以下是C语言程序段: int i=-1; unsigned short usi=i; 执行上述程序段后,usi的真值为( )。

A、65536

B、65535

C、32768

D、32767

4、以下是C语言程序段: unsigned short usi=32769; short si= usi; 执行上述程序段后,si的真值为( )。

A、32768

B、-32768

C、32767

D、-32767

5、-15.5625用IEEE 754单精度浮点数格式表示的机器数是( )。

A、1 1000 0011 111 1001 0000 0000 0000 0000

B、1 1000 0010 111 1001 0000 0000 0000 0000

C、0 1000 0010 111 1001 0000 0000 0000 0000

D、1 1000 0011 111 1100 1000 0000 0000 0000

6、若float型变量x的机器数为C2B0 0000H,则x的真值为( )。

A、-88

B、-112

C、-44

D、-24

7、假定int型变量 i=65531,则关系表达式" i==(int) (float) i "为“真”。

8、假定int型变量 i=2147483647,则关系表达式" i==(int) (double) i "为“真”。(提示:2147483647=2^31)

9、IA-32是小端机器,若变量x的地址为8000,机器数为12345678H,则地址8001中存放的是34H。

10、已知大写字母A和小写字母a的ASCII码分别为100 0001和110 0001,字符串“Beef”在机器中用十六进制表示为42H、65H、65H、66H。

第三周 数据的运算

第三周小测验

1、ALU中最核心的运算部件是( )。

A、寄存器

B、移位器

C、加法器

D、译码器

2、在补码加/减运算部件中,为了检测结果的正确性,必须有( )电路,它一般用异或门来实现。

A、译码

B、编码

C、移位

D、溢出判断

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

A、x & 0xFF

B、x | 0xFF

C、x ^ 0xFF

D、x | ~ 0xFF

4、若x,y都为signed char型变量,已知x=-60,则执行“y=x>>1”后,变量y的机器数为( )。

A、0xe2

B、-30

C、10011110

D、01100010

5、对于以下C程序代码段: signed char sc=-128; unsigned short usi=sc; 执行上述语句后,usi的值为( )。

A、128

B、65408

C、32768

D、-128

6、若x,y是C语言程序中两个short型变量,x=-125,则分别执行语句“y=x>>1;”和“y=x/2;”后,y的机器数各为( )和( )。

A、1100 0001,1100 0010

B、1100 0001,1100 0001

C、0100 0001,1100 0010

D、0100 0001,1100 0001

7、若x,y是C语言程序中两个short型变量,x=-125,则分别执行语句“y=x<<1;”和“y=2*x;”后,y的机器数各为( )和( )。

A、0000 0110,0000 0110

B、1000 0110,1000 0110

C、0000 0111,0000 0110

D、1000 0111,1000 0110

8、若定点小数的原码表示为1.1001 0101,则扩展8位后的原码表示为( )。

A、1.0000 0000 1001 0101

B、1.1001 0101 0000 0000

C、1.1111 1111 1001 0101

D、1.1001 0101 1111 1111

9、若在一个8位整数加/减运算器中完成x–y的运算,已知无符号整数x=69,y=38,则加法器的两个输入端和输入的低位进位分别为( )。

A、0100 0101、0010 0110、0

B、0100 0101、1101 1001、1

C、0100 0101、1101 1010、0

D、0100 0101、1101 1010、1

10、若在一个8位整数加/减运算器中完成x+y的运算,已知带符号整数x=–69,y=–38,则加法器的两个输入端和输入的低位进位分别为( )。

A、1011 1011、1101 1010、0

B、1011 1011、1101 1010、1

C、1011 1011、0010 0101、0

D、1011 1011、0010 0101、1

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

A、5DH、0

B、5EH、0

C、5DH、1

D、5EH、1

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

A、00H、0

B、15H、0

C、00H、1

D、15H、1

13、无符号整数变量ux和uy定义如下: unsigned ux=x; unsigned uy=y; 若sizeof(int)=4,则对于任意int型变量x和y,以下哪些C语言关系表达式是永真的?

A、x/4+y/8==(x>>2)+(y>>3)

B、x*y==ux*uy

C、x+y==ux+uy

D、x*~y+ux*uy==–x

E、(x*x) >= 0

14、变量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,以下哪些C语言关系表达式是非永真的?

A、dx*dx >= 0

B、(double)(float) x == dx

C、dx+dy == (double) (x+y)

D、(dx+dy)+dz == dx+(dy+dz)

E、dx*dy*dz == dz*dy*dx

F、dx/dx == dy/dy

第四周 IA-32/x87指令系统

第四周小测验

1、以下给出的内容中,不属于ISA规定的是( )。

A、指令格式、操作种类以及每条指令的功能

B、通用寄存器和专用寄存器的功能、宽度(位数)、编号等

C、操作数所在的存储空间大小、编址方式和存放顺序(大端/小端)

D、加、减、乘、除等各种运算电路的实现方式

2、IA-32中指令“pushl %ebx”的功能是( )。

A、R[esp]←R[esp]-4,M[R[esp]]←R[ebx]

B、R[esp]←R[esp]+4,M[R[esp]]←R[ebx]

C、M[R[esp]]←R[ebx],R[esp]←R[esp]-4

D、M[R[esp]]←R[ebx],R[esp]←R[esp]+4

3、IA-32中指令“movb %al, 0x1( , %ecx, 4)” 的功能是( )。

A、M[R[ecx]*4+1]←R[al]

B、R[al]←M[R[ecx]*4+1]

C、M[R[ecx]*4]←R[al]

D、R[al]←M[R[ecx]*4]

4、以下选项中,无法用AT&T格式汇编器进行翻译转换的是( )。

A、movzbl %bl, 10(%ebp, , 2)

B、movl (%ebp, %esi , 4), %eax

C、leal 0xc(%ebp), %ebx

D、subl 20( , %ebx , 4), %eax

5、假设R[ax]=E3A0H,R[bx]=67ABH,则执行AT&T汇编格式指令“subw %ax, %bx”后,AX、BX寄存器的内容分别为( )和( )。

A、E3A0H、840BH

B、E3A0H、4B4BH

C、7BF5H、67ABH

D、4B4BH、67ABH

6、假设R[ax]=E3A0H,R[bx]=67ABH,则执行AT&T汇编格式指令“addw %ax, %bx”后,CF和OF分别为( )和( )。

A、1、0

B、0、0

C、0、1

D、1、1

7、假设R[ax]=E3A0H,R[bx]=67ABH,则执行AT&T汇编格式指令“subw %ax, %bx”后,CF和OF分别为( )和( )。

A、0、0

B、0、1

C、1、0

D、1、1

8、假设R[eax]=0000B016H,R[ebx]=00FF0110H,执行指令“mulw %bx”后,寄存器内容变化为( )。

A、R[eax]=000000BBH,R[dx]=1760H

B、R[eax]=00001760H,R[dx]=00BBH

C、R[eax]=00001760H,R[bx]=00BBH

D、R[eax]=00BB1760H,其余不变

9、假设R[eax]=080480B4H,R[ebx]=00000011H,M[080480F8H]=000000B0H,执行指令“imull $-16, (%eax,%ebx,4), %eax”后,寄存器内容和存储单元内容的变化为( )。

A、R[eax]=00000B00H

B、M[080480F8H]=00000B00H

C、R[eax]=FFFFF500H

D、M[080480F8H]=FFFFF500H

10、以下关于IA-32中调用指令(call)的功能的叙述中,错误的是( )。

A、call指令执行后,栈指针寄存器ESP和指令指针寄存器EIP的内容一定发生变化

B、call指令是一种无条件转移指令,CPU一定会跳转到转移目标地址去执行

C、call指令的下一条指令的地址称为返回地址,call执行后返回地址将被压栈保存

D、call指令执行时,将会从栈中取出返回地址,并将返回地址送到EIP寄存器中

11、程序P中有两个unsigned类型变量i和j,被分别分配在寄存器EAX和EDX中,P中存在以下if语句: if (i

A、cmpl %eax, %edx jbe 804847c

B、cmpl %edx, %eax jb 8048460

C、cmpl %eax, %edx ja 8048380

D、cmpl %eax, %edx jae 8048380

12、以下关于x87浮点指令集和MMX/SSE指令集的叙述中,错误的是( )。

A、这两种都属于IA-32的浮点处理指令集架构

B、x87指令集和MMX指令集共用同一套寄存器,因此,编译器生成的浮点处理目标代码只能是两者之一

C、x87指令集所用的浮点寄存器为栈结构,所有操作只能针对栈顶和次栈顶元素进行,寄存器宽度为80位

D、SSE是一种浮点运算指令集,不能针对整数进行处理,它采用SIMD技术

第五周 C语言程序的机器级表示

第五周小测验

1、假设P为调用过程,Q为被调用过程,程序在IA-32处理器上执行,以下是C语言程序中过程调用所涉及的操作: ① 过程Q保存P的现场,并为非静态局部变量分配空间 ② 过程P将实参存放到Q能访问到的地方 ③ 过程P将返回地址存放到特定处,并跳转到Q执行 ④ 过程Q取出返回地址,并跳转回到过程P执行 ⑤ 过程Q恢复P的现场,并释放局部变量所占空间 ⑥ 执行过程Q的函数体 过程调用的正确执行步骤是( )。

A、②→③→④→①→⑤→⑥

B、②→③→①→④→⑥→⑤

C、②→③→①→⑥→⑤→④

D、②→③→①→⑤→⑥→④

2、以下关于switch语句的机器级代码表示的叙述中,错误的是( )。

A、当case中出现的条件取值范围较小时,可以用跳转表的方式实现

B、每个case至少对应一条条件转移指令,因而一定会包含多条条件转移指令

C、每个带break的case对应的一段代码结束后,都会有一条无条件转移指令

D、可以用连续的if ~ else ~ if ~ else ~ if ┄ 语句对应的机器代码来实现switch语句

3、以下是一个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+Linux平台上编译(不考虑优化)执行,以下叙述中错误的是( )。

A、非静态局部变量t1、t2和sum分配在caller的栈帧中

B、传送给add过程的实参t1和t2分配在add的栈帧中

C、过程add和caller的返回值都存放在EAX寄存器中

D、实参t1所在的存储地址比实参t2所在的存储地址小

4、以下关于IA-32中循环结构语句的机器级代码表示的叙述中,错误的是( )。

A、因为需要判断是否跳出循环,因此一定有一条比较指令

B、因为需根据条件是否满足来选择继续进入循环体还是跳出循环,因此一定有一条条件转移指令

C、对应机器代码中所用的跳转指令一定采用PC相对寻址方式

D、一定有一个指令序列对应条件表达式的计算

5、假设某个C语言函数func的原型声明为“void func(int *xptr, int *yptr, int *zptr);” 。以下关于函数func()过程调用对应的机器级代码的叙述中,错误的是( )。

A、func函数采用的是按地址传送参数的方式

B、传递给func函数的参数在func的栈帧中各占4个字节

C、在func过程的AT&T格式汇编代码中,8(%ebp)是xptr所在的存储地址

D、在func过程的AT&T格式汇编代码中,16(%ebp)是zptr所在的存储地址

6、上题中函数func的过程体对应的机器级代码用AT&T汇编形式表示(第一列为行号)如下: 1 movl 8(%ebp), %eax 2 movl 12(%ebp), %ebx 3 movl 16(%ebp), %ecx 4 movl (%ebx), %edx 5 movl (%ecx), %esi 6 movl (%eax), %edi 7 movl %edi, (%ebx) 8 movl %edx, (%ecx) 9 movl %esi, (%eax) 函数func过程体对应的C语言代码是( )。

A、int tempx=*xptr; int tempy=*yptr; int tempz=*zptr; *yptr=tempx; *zptr=tempy; *xptr=tempz;

B、int tempx=*xptr; int tempy=*yptr; int tempz=*zptr; *zptr=tempx; *xptr=tempy; *yptr=tempz;

C、int tempx=xptr; int tempy=yptr; int tempz=zptr; yptr=tempx; zptr=tempy; xptr=tempz;

D、int tempx=xptr; int tempy=yptr; int tempz=zptr; zptr=tempx; xptr=tempy; yptr=tempz;

7、在IA-32+Linux平台中,随着过程的嵌套调用,程序所使用的栈空间会动态地从低地址向高地址生长,并由ESP指向栈顶位置。

第六周 复杂数据类型的机器级表示

第六周小测验

1、在IA-32中,假定静态short型二维数组b的声明如下:static short b[2][4]={ {2, 9, -1, 5}, {3, 1, -6, 2 }}; 若b的首地址为0x8049820,则按行优先存储方式下,地址0x804982c中的内容是( )。

A、FAH

B、FFH

C、00H

D、05H

2、IA-32中,假定静态short型二维数组b和指针数组pb的声明如下: static short b[2][4]={ {2, 9, -1, 5}, {3, 1, -6, 2 }}; static short *pb[2]={b[0], b[1]}; 若b的首地址为0x8049820,则&pb[1]的值可能是( )。

A、0x8049828

B、0x8049832

C、0x8049834

D、0x8049836

3、IA-32中,假定静态short型二维数组b和指针数组pb的声明如下: static short b[2][4]={ {2, 9, -1, 5}, {3, 1, -6, 2 }}; static short *pb[2]={b[0], b[1]}; 若bp的首地址为0x8049830,i在ECX中,则“*pb[i]送EAX”所对应的汇编指令序列是( )。

A、movl 0x8049830( , %ecx, 4), %edx movl (%edx), %eax

B、leal 0x8049830( , %ecx, 4), %edx movl (%edx), %eax

C、movl 0x8049830( , %ecx, 4), %edx leal (%edx), %eax

D、leal 0x8049830( , %ecx, 4), %edx leal (%edx), %eax

4、假定结构体类型cont_info的声明如下: struct cont_info { char id[8]; char name [16]; unsigned post; char address[100]; char phone[20]; }; 若变量x的数据类型为struct cont_info,x的首址在EDX中,则“unsigned xpost=x.post;”对应汇编指令为( )。

A、movl 0x24(%edx), %eax

B、movl 0x18(%edx), %eax

C、leal 0x24(%edx), %eax

D、leal 0x18(%edx), %eax

5、假定结构体类型cont_info的声明如下: struct cont_info { char id[8]; char name [16]; unsigned post; char address[125]; char phone[20]; }; 若变量x的数据类型为struct cont_info,x的首址为0x8049820,则x.phone的起始地址为( )。

A、0x80498b9

B、0x80498cd

C、0x8049973

D、0x8049993

6、以下有关缓冲区溢出以及缓冲区溢出攻击的叙述中,错误的是( )。

A、当传送到栈中局部数组中的字符的个数超过数组长度时发生缓冲区溢出

B、恶意程序可利用像strcpy等无字符串长度设定的C库函数进行缓冲区溢出攻击

C、只要发生缓冲区溢出,寄存器内容或变量或返回地址等程序信息就可能被修改

D、只要发生缓冲区溢出,CPU就会跳转到恶意程序事先设定好的程序去执行

第八周 链接概述和目标文件格式

第八周小测验

1、以下关于使用GCC进行可执行目标文件生成的叙述中,错误的是( )。

A、一个C语言程序可以由多个源程序文件(称为一个模块)组成

B、每个源程序文件经过预处理、编译、汇编后生成一个可重定位目标文件

C、链接的过程中仅需要将所有源程序文件所生成的.o文件合并即可

D、在对.o文件进行合并时,总是将相同的节(.section)合并在一起

2、以下关于ELF目标文件格式的叙述中,错误的是( )。

A、ELF指可执行和可链接格式(Executable and linkable Format),因此ELF文件既可用于链接,也可用于执行

B、每个ELF文件的开始都有一个ELF头,其中包含了文件结构说明信息

C、ELF文件包含的主要信息由若干个节(.section)构成,如.text节、.data节等

D、所有ELF文件中都包含程序头表(也称段头表),用于描述如何创建进程的存储器映像

3、以下针对可重定位目标文件和可执行目标文件比较的叙述中,错误的是( )。

A、可重定位目标文件按链接视图组织,主要描述用于链接的不同的节(section)的信息

B、可执行目标文件按执行视图组织,主要描述由不同的节组成的段如何映射到存储空间

C、可重定位目标文件中有专门的可重定位节(如.rel.text),而可执行目标文件中没有

D、可重定位目标文件中有节头表,用于描述各节的属性信息,而可执行文件中没有节头表

4、对于IA-32+Linux系统平台,可执行目标文件被加载运行时的存储器映像由i386 System V ABI规范规定。以下是关于该规范中可执行文件存储器映像的叙述,其中错误的是( )。

A、可执行文件中的只读代码段映射到0x8048000开始处

B、可执行文件中的可读可写数据段映射到0x8048900开始处

C、动态的用户栈区由高(大)地址向低(小)地址增长,而堆区则相反

D、系统中每个可执行文件采用统一的存储器映像,映射到统一的虚拟地址空间

第九周 符号解析、重定位及静态/动态链接

第九周小测验

1、以下有关链接符号类型的叙述中,错误的是( )。

A、由模块m定义并能被其他模块引用的符号称为全局符号

B、由其他模块定义并被模块m引用的全局符号称为m的外部符号

C、由模块m定义并仅在m中引用的静态变量称为m的局部符号

D、在模块m内的某个函数中定义的局部变量称为m的局部符号

2、以下有关强符号和弱符号定义的叙述中,错误的是( )。

A、局部符号没有强、弱符号的概念

B、出现的所有函数名都是强符号

C、没有初始化的全局变量名是弱符号

D、已初始化的全局变量名是强符号

3、以下有关IA-32的重定位类型的叙述中,错误的是( )。

A、基本的重定位类型有绝对地址和PC相对地址两种方式

B、函数调用时需引用被调用函数名,通常在CALL指令中采用PC相对地址方式进行引用

C、PC相对地址方式下,重定位的值是指被引用符号在定义处的起始地址与当前PC之间的相对地址

D、采用PC相对地址方式的重定位类型中所使用的当前PC值是指CALL指令的地址

4、以下有关动态链接所用共享库代码的叙述中,错误的是( )。

A、共享库代码一定是位置无关代码(PIC)

B、用GCC生成共享库文件时应使用-fPIC选项

C、链接器可将共享库代码映射到任意地址运行

D、共享库代码长度发生变化时会影响调用它的程序

第十周 主存和磁盘存储器

第十周小测验

1、下列几种存储器中,属于非易失性存储器的是( )。

A、SRAM

B、DRAM

C、Cache

D、ROM

2、以下有关主存储器组成的叙述中,错误的是( )。

A、有地址寄存器,用于存放存储器总线传送的主存地址

B、有地址译码器,用于选中要访问的主存单元

C、有存储阵列,用于存储主存中的所有数据信息

D、有通用寄存器堆,用于缓存读写的数据信息

3、以下关于存储器层次结构的叙述中,错误的是( )。

A、寄存器是速度最快的一级存储器

B、Cache是位于寄存器和主存之间的一级存储器

C、CPU可直接访问所有层次的存储器

D、越靠近CPU的存储器层次,其速度越快

4、以下关于半导体存储器分类及应用的叙述中,错误的是( )。

A、SRAM比DRAM集成度更低、价格更贵,但速度更快

B、DRAM有漏电和破坏性读出现象,需定时刷新和读后再生

C、只读存储器(ROM)和RAM一样,都采用随机存取方式访问

D、固态硬盘(SSD)由NADN闪存实现,它不属于半导体存储器

5、以下关于DRAM芯片的叙述中,错误的是( )。

A、存储体阵列采用二维地址译码方式

B、行地址和列地址分时复用地址引脚传送

C、每增加一个地址引脚,芯片容量提高到原来的2倍

D、用作主存的内存条通常由DRAM芯片级联而成

6、以下有关主存与CPU互连的叙述中,错误的是( )。

A、主存与CPU之间通过存储器总线互连,内存条插槽就是存储器总线

B、CPU与主存之间互连的信号线分为地址线、数据线和控制线三类

C、可将内存条插入内存条插槽中,以扩大主存储器的容量

D、存储器的访问过程由内存条中的存储控制器来进行控制

7、以下关于访存指令(装入指令和存储指令)执行过程的叙述中,错误的是( )。

A、访存开始时CPU总是先将主存地址送给存储控制器

B、由存储控制器将主存地址分成行地址和列地址,并分时传给DRAM芯片

C、DRAM芯片中的行译码器会对行地址译码,被选中行的信息会被送到内部行缓冲中

D、DRAM芯片中的列译码器会对列地址译码,从被选中行中指定的列将数据读出或写入

8、以下有关磁盘存储器的叙述中,错误的是( )。

A、磁盘存储器包含磁盘驱动器和磁盘控制器等组成部分

B、磁盘存储器的地址格式为磁道号、柱面号和扇区号

C、磁盘存储器按批处理方式读写,一次读写一个数据块

D、磁盘存储器采用DMA方式进行输入/输出

9、假定内存条容量为512MB,由8个64Mx8位的DRAM芯片组成,每个DRAM芯片的存储体阵列有8个位平面,则该DRAM芯片的地址引脚个数为( )。

10、假定一个磁盘驱动器的转速为7200RPM,平均寻道时间为10ms,则该磁盘驱动器的平均访问时间约为( )ms。(结果取一位小数)

第十一周 高速缓存(Cache)

第十一周小测验

1、以下关于高速缓存(Cache)的叙述中,错误的是( )。

A、Cache对于程序员来说是透明的,但程序员可利用Cache机制编写高效代码

B、Cache是主存储器的高速缓存,Cache中的数据在主存中有备份

C、在CPU和主存之间加入Cache的目的是为了扩大主存的容量

D、在主存和Cache之间交换数据以一个主存块为单位

2、假设主存按字节编址,cache共有16行,采用直接映射方式,主存块大小为64字节,所有编号都从0开始。主存第641号单元所在主存块对应的cache行号是( )。

A、1

B、2

C、10

D、11

3、假设主存按字节编址,cache共有32行,采用4路组相联映射方式,主存块大小为64字节,所有编号都从0开始。主存第641号单元所在主存块对应的cache组号是( )。

A、1

B、2

C、5

D、10

4、假定主存地址空间为256MB,按字节编址, cache共有64行,采用全相联映射方式,主存块大小为64B,不考虑替换策略和写策略的控制位,则cache容量至少为( )字节。

A、4280

B、4272

C、4232

D、4224

5、以下关于Cache映射方式特点的叙述中,错误的是( ) 。

A、直接映射方式不需要考虑替换策略

B、全相联映射方式是一种模映射方式

C、组相联映射方式比直接映射方式需要更多的比较器

D、采用什么一致性写策略通常与映射方式无关

6、以下关于Cache命中率的叙述中,错误的是( )。

A、Cache命中率与映射方式有关

B、Cache命中率与编程设计有关

C、Cache命中率与Cache容量有关

D、Cache命中率与缺失损失大小有关

7、for循环语句的循环体对应的指令序列既具有空间局部性,也具有时间局部性。

8、深度递归调用过程对应的指令序列既具有空间局部性,也具有时间局部性

9、按行优先方式对数组中各元素按序访问时,该数组既具有空间局部性,也具有时间局部性。

10、一个过程在短时间内被连续调用时,对应指令序列既具有空间局部性,也具有时间局部性。

11、现代计算机都采用多级Cache方式,L1 Cache多采用数据Cache和代码Cache分离设置,而L2 Cache和L3 Cache则为联合Cache,即数据和代码放在同一个Cache中。

12、假设主存地址空间为4GB,按字节编址, cache共有4K行,采用4路组相联映射方式,采用随机替换策略和写回(write back)策略,主存块大小为64B,则cache容量至少为( )KB。

13、假定cache的存取时间为2ns,主存的存取时间为50ns,cache命中率为98%,则Cache-主存层次的平均访问时间为( )ns。

第十二周 虚拟存储器

第十二周小测验

1、以下关于虚拟存储器基本概念的叙述中,错误的是( )。

A、采用虚拟存储器技术的系统中OS必须进行虚实地址转换

B、实时性要求高的嵌入式系统大多不采用虚拟存储器技术

C、虚拟存储器技术的实现需要系统软件和硬件两方面协作完成

D、虚拟存储器技术可以解决编程空间受物理内存大小限制的问题

2、以下关于IA-32+Linux系统虚拟地址空间的叙述中,错误的是( )。

A、内核空间在高地址区域,用户空间在低地址区域

B、内核空间是用户程序不可见区域,只能由OS访问

C、用户空间中的栈区和堆区都从高地址向低地址增长

D、用户空间中的静态区包括只读代码段和可读可写数据段

3、以下关于分页虚拟存储管理机制的叙述中,错误的是( )。

A、每个进程的虚拟地址空间被划分成若干页面

B、物理主存空间被划分成若干个页面大小的页框

C、每个进程都有一个页表,页表也被划分成页面

D、页面大小与Cache机制中的主存块大小相同

4、对于IA-32+Linux系统中的指令“movl 8(%edx, %esi, 4), %edx”,若R[edx]=0000 01B6H,R[esi]=0000 0008H,其源操作数的线性地址是( )。

A、0000 01B6H

B、0000 01DEH

C、0000 01F0H

D、0000 06E8H

5、以下是有关IA-32保护模式的叙述,其中错误的是( )。

A、采用先分段后分页的段页式存储管理方式

B、分段过程实现32位逻辑地址转换为32位线性地址

C、分段过程需要用到段描述符表(即段表)

D、分页采用二级页表方式,包括页目录表和页表

6、已知变量y和数组a都是int型,a的首地址为0x8049b00。假设编译器将a的首地址分配在ECX中,数组的下标变量i分配在EDX中,y分配在EAX中,C语言赋值语句“y=a[i];”被编译为指令“movl (%ecx, %edx, 4), %eax”。在IA-32/Linux环境下执行该指令,则当i=100时,得到的存储器操作数的线性地址是( )。

A、0x8049b00

B、0x8049c00

C、0x8049c90

D、0x8049f00

7、以下是有关IA-32中线性地址向物理地址转换过程的叙述,其中错误的是( )。

A、线性地址空间就是虚拟地址空间

B、转换前后的线性地址和物理地址位数不同

C、CR3的内容为页目录表的起始物理地址

D、地址转换时,总是先查TLB中的快表

8、以下是有关IA-32中逻辑地址向线性地址转换过程的叙述,其中错误的是( )。

A、该转换过程由存储器管理部件MMU实现

B、逻辑地址包含段选择符和段内偏移量两部分

C、线性地址等于段基址加段内偏移量

D、每次地址转换都要访问主存中的段描述符表

9、采用虚存机制的系统中,每个进程都有统一的虚拟地址空间,因而带来了很多好处。这些好处包括( )。

A、可简化程序的加载过程

B、可简化链接器的设计与实现

C、可使主存空间得到有效利用

D、有利于实现存储保护

E、可加快程序运行速度

10、在一个进程的虚拟地址空间中,在栈区和堆区中间的一些区域是没有内容的“空洞”页面,它们被称为未分配页。

11、在一个进程的虚拟地址空间中,只读代码段和可读可写数据段与可执行文件中的内容关联,它们被划分成若干页面。在程序执行过程中,这些页面有的没有从磁盘调入主存空间,有的则已经装入主存页框,前者称为未缓存页,后者称为缓存页。

12、任何时刻,一个进程中的所有页面都被划分成以下三个不相交的页面集合:已分配页集合、未缓存页集合、缓存页集合。

13、在分页虚拟存储管理系统中,某一时刻物理内存中可能同时存在多个进程的页面和页表。

14、在一个程序被加载执行的开始,一旦CPU执行指令,在第一次CPU访存过程中,一定会发生TLB缺失、缺页和Cache缺失。

计算机系统基础栈帧,2020春-计算机系统基础(一)-中国大学mooc-题库零氪相关推荐

  1. 慕课乐学python编程题_中国大学MOOC的APP(慕课)2020Python编程基础题目及答案

    中国大学MOOC的APP(慕课)2020Python编程基础题目及答案 更多相关问题 以下哪种细胞类型不是病毒性结膜炎的细胞学特点() 企业在处理非均匀需求过程中,通过那种策略来调整能力满足市场需求的 ...

  2. 学python需要什么文化基础-中国大学MOOC的APP2020Python编程基础答案

    中国大学MOOC的APP2020Python编程基础答案 更多相关问题 :某年级有4个班,不算甲班其余三个班的总人数是131人:不算丁班其余三个班的总人数是134人::24,35,48,63,(). ...

  3. python 慕课网请编写一个fib函数_中国大学MOOC(慕课)Python编程基础章节测试答案...

    中国大学MOOC(慕课)Python编程基础章节测试答案 更多相关问题 放射免疫分析法中,下列有关准确度的描述正确的是A.测得最少量的物质浓度B.重现性C.检测到单一物 社会鼎盛是唐代()的主要原因. ...

  4. 大数据python试卷_大数据分析的python基础-中国大学mooc-试题题目及答案

    大数据分析的python基础-中国大学mooc-试题题目及答案 更多相关问题 [判断题] 只有当晶闸管同时承受正向阳极电压和正向门极电压时,晶闸管才可以导通. [判断题] 换流可以通过机械开关或电子开 ...

  5. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(八)(TensorFlow基础))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(八)(TensorFlow基础)) 8 TensorFlow基础 8.1 TensorFlow2.0特性 8.1.1 Tenso ...

  6. 裁纸奔月python_中国大学MOOC的APP2020Python编程基础期末考试搜题公众号答案

    中国大学MOOC的APP2020Python编程基础期末考试搜题公众号答案 更多相关问题 [判断题]高级训练者的大肌肉群练习一般不超过10-12组. A. 对 B. 错 When customers ...

  7. python语言使用不需要付费不存在商业风险_中国大学MOOC慕课_Python语言基础与应用_答案...

    中国大学MOOC慕课_Python语言基础与应用_答案 答案: 更多相关问题 下列不属于不得再次公开发行公司债券的情形是(). A.对于公司前一次公开发行的公司债券尚未募足B 从生物电的角度而言,细胞 ...

  8. 慕课乐学python编程题_中国大学mooc慕课_Python编程基础_2020章节测试答案

    中国大学mooc慕课_Python编程基础_2020章节测试答案 更多相关问题 [单选] 双绕组变压器降压可获得(). [单选] 电炉和电烙铁是根据()制造而成的 [单选] 各种电流互感器产品技术数据 ...

  9. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(四)(Python语言基础(2))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(四)(Python语言基础(2)) 第4讲 Python语言基础(2) 4.1 内置数据结构 4.1.1 序列数据结构(sequ ...

最新文章

  1. 读懂深度迁移学习,看这文就够了 | 赠书
  2. 云上人最终产品简易代码
  3. mega_[MEGA DEAL]完整的Java编程训练营(94%折扣)
  4. 【数据库】防止SQL注入
  5. js获取url中的参数,url中传递中文的时候通过js解码的方式
  6. 是的,我不做技术经理了
  7. 借鸡生蛋,无需数据的知识蒸馏
  8. TensorFlow2.0(十一)--理解LSTM网络
  9. SpringCloud 从菜鸟到大牛之五 统一配置中心 Spring Cloud Config
  10. 更美好的未来展望:UE4 路线图更新
  11. 强化学习组队学习task06——DDPG 算法
  12. GTK、Qt和wxWidgets
  13. vscode配置代理
  14. jQuery-动画效果(图片抽奖案例)
  15. 七牛云监控摄像头直播流web端显示
  16. 努比亚z11mini 使用 移动物联卡
  17. Hyperview二次开发:模态阵型的自动排列、输出GIF、输出PPT等
  18. 记录一下手把手教您做电商网站
  19. IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法
  20. 经济学为什么不考虑沉没成本?

热门文章

  1. STP生成树详解_01
  2. Java对二维数组进行排序
  3. 嵌入式Linux驱动笔记(二十五)------Input子系统框架
  4. 今天的收获---实现excel工资单的自动发送
  5. Unity 批量修改命名(重命名)
  6. 立方数 唯一分解 开方四舍五入
  7. 【Node.js】 npm与包
  8. Redis核心技术-高可靠-集群方案(客户端分片、代理分片、Redis Cluster)
  9. 计算机网络王盛邦pdf,依据网络的技术计算机CP网络实验课程体系.pdf
  10. intellij idea中快速抽取方法(代码优化)