第一章 计算机系统概述
-
冯·诺依曼结构的基本思想是采用 ______ 工作方式,计算机由运算器、控制器、存储器、输入设备和 ______ 五大基本部件组成。
答案:存储程序;输出设备 -
CPU中用于存放即将执行指令地址的寄存器是 ______,在执行当前指令的过程中会自动计算出 ______ 的地址并保存其中。
答案:程序计数器(PC);下一条指令 -
指令由 ______ 和地址码两部分组成,其中地址码指出 ______ 的地址。
答案:操作码;操作数 -
将高级语言程序转换为机器语言程序的软件统称为 ______,其中将汇编语言源程序翻译成机器语言程序的称为 ______。
答案:翻译程序;汇编程序 -
可执行文件的生成通常经过预处理、编译、汇编和 ______ 四个阶段,其中预处理阶段主要处理源程序中以 ______ 开头的命令。
答案:链接;# -
在模型机中,R型指令的op为0000和0001时分别定义为 ______ 和 ______ 操作。
答案:传送(mov);加(add) -
模型机中,M型指令的op为1110和1111时分别定义为 ______ 和 ______ 操作。
答案:取数(load);存数(store) -
CPU访问主存时,需先将主存地址和 ______ 命令分别送到总线的地址线和 ______ 线。
答案:读/写;控制 -
CPU送到地址线的主存地址应先存放在 ______ 寄存器中,发送到或从数据线取来的信息存放在 ______ 寄存器中。
答案:MAR;MDR -
通常把控制部件、运算部件和各类寄存器互连组成的电路称为 ______,简称 ______。
答案:中央处理器;CPU -
ALU运算的结果会产生标志信息,例如结果是否为0的标志称为 ______,结果是否为负数的标志称为 ______。
答案:零标志(ZF);符号标志(SF) -
从主存取来的指令需要临时保存在 ______ 寄存器中,CPU为了自动按序读取主存中的指令,需要有一个 ______ 寄存器。
答案:指令寄存器(IR);程序计数器(PC) -
连接不同部件进行信息传输的介质称为 ______,其中包含了用于传输地址信息、数据信息和 ______ 信息的线路。
答案:总线;控制 -
汇编指令和机器指令一一对应,它们都与特定的 ______ 结构相关,因此统称为 ______ 语言。
答案:机器;机器级 -
翻译程序中的解释程序将源程序中的语句按其执行顺序逐条翻译成 ______ 并立即执行,而编译程序则将高级语言源程序翻译成 ______ 语言或机器语言程序。
答案:机器指令;汇编 -
在程序执行前,需将程序的 ______ 地址存放在PC中,取指令时,将PC的内容作为 ______ 访问主存。
答案:起始;地址 -
若当前指令为顺序型指令,则下条指令地址为PC的内容加上 ______ 的长度;若当前指令为跳转型指令,则下条指令地址为指令中指定的 ______ 地址。
答案:当前指令;目标 -
计算机系统的性能评价中,吞吐率表示单位时间内完成的 ______,响应时间表示从作业提交开始到 ______ 所用的时间。
答案:工作量;作业完成 -
CPU时间包括用户CPU时间和 ______ CPU时间,前者指真正用于运行 ______ 代码的时间。
答案:系统;用户程序 -
MIPS的含义是平均每秒钟执行多少 ______ 条指令,而MFLOPS表示每秒所执行的 ______ 运算有多少百万次。
答案:百万;浮点
第二章 数据的表示和运算
-
在计算机内部,所有信息都用 ______ 表示,这是因为二进制只有 ______ 种基本状态。
答案:二进制;两 -
二进制、八进制、十六进制中,八进制的基本符号有 ______ 个,十六进制的基本符号有 ______ 个。
答案:8;16 -
十进制整数转换为R进制整数的方法是 ______,小数部分的转换方法是 ______。
答案:除基取余;乘基取整 -
二进制转换为八进制时,采用 ______ 合一的方法,二进制转换为十六进制时,采用 ______ 合一的方法。
答案:三;四 -
原码表示法中,正数的符号位为 ______,负数的符号位为 ______。
答案:0;1 -
补码表示法中,正数的补码等于其 ______,负数的补码等于其 ______ 加1。
答案:原码;反码 -
反码表示法中,正数的反码等于其 ______,负数的反码是符号位不变,其余位 ______。
答案:原码;取反 -
补码表示法中,0的表示是 ______ 的,n位补码能表示的最小负数是 ______。
答案:唯一;-2^(n-1) -
浮点数通常由数符、 ______ 和尾数三部分组成,其中阶通常用 ______ 码表示。
答案:阶码;移 -
IEEE 754标准中,单精度浮点数用 ______ 位表示阶码,偏置常数为 ______。
答案:8;127 -
IEEE 754标准中,双精度浮点数用 ______ 位表示阶码,偏置常数为 ______。
答案:11;1023 -
浮点数规格化操作分为 ______ 和 ______ 两种,前者用于尾数溢出时调整。
答案:右规;左规 -
IEEE 754中,阶码全0且尾数全0表示 ______,阶码全1且尾数全0表示 ______。
答案:±0;±∞ -
在C语言中,将int类型转换为float类型时,可能会发生 ______,而将double转换为int时,数据会向 ______ 方向被截断。
答案:舍入;0 -
ASCII字符编码共占 ______ 位,可表示 ______ 个不同的字符。
答案:7;128 -
汉字系统中,输入码又称 ______,用于将汉字输入计算机;机内码用于在计算机内部 ______ 汉字。
答案:外码;存储和处理 -
汉字国标码等于区位码加上 ______H,机内码等于国标码加上 ______H。
答案:2020;8080 -
计算机中,二进制信息的最小单位是 ______,一个字节等于 ______ 个比特。
答案:比特(bit);8 -
大端方式将数据的最高有效字节存放在 ______ 地址单元中,小端方式将数据的最高有效字节存放在 ______ 地址中。
答案:最小;高 -
全加器的两个加数为A和B,低位进位为Cin,相加的和为 ______,向高位的进位为 ______。
答案:F;Cout -
补码加减运算器中,控制端Sub为 ______ 时做加法,为 ______ 时做减法。
答案:0;1 -
溢出标志OF的逻辑表达式为 ______,进位/借位标志CF的逻辑表达式为 ______。
答案:Cn ⊕ Cn-1;Sub ⊕ Cout
第三章 程序的转换及机器级表示
-
机器语言和汇编语言统称为 ______ 语言,用机器指令表示的机器语言程序和用汇编指令表示的汇编语言程序统称为 ______ 程序。
答案:机器级;机器级 -
在IA-32指令系统中,movl指令中的后缀“l”表示操作数长度为 ______ 位,pushl指令的功能是将一个 ______ 压入栈中。
答案:32;双字 -
IA-32中,ESP寄存器称为 ______ 指针寄存器,EBP寄存器称为 ______ 指针寄存器。
答案:栈;帧 -
过程调用时,返回地址由 ______ 指令压入栈中,由 ______ 指令从栈中弹出。
答案:CALL;RET -
条件跳转指令jle用于 ______ 整数的“小于等于”比较,对应的无符号整数比较指令是 ______。
答案:带符号;jbe -
在x86-64架构中,传递整型参数的寄存器依次为 ______、RSI、RDX、RCX、R8和 ______。
答案:RDI;R9 -
LEA指令用于将 ______ 地址加载到寄存器中,相当于C语言中的 ______ 操作符。
答案:有效;& -
在AT&T格式汇编中,立即数前加 ______ 符号,寄存器前加 ______ 符号。
答案:$;% -
EFLAGS寄存器中,ZF标志表示运算结果是否为 ______,CF标志表示无符号整数加/减运算时的 ______ 情况。
答案:0;进/借位 -
IA-32中,定点通用寄存器共有 ______ 个,每个长度为 ______ 位。
答案:8;32 -
栈是一种采用 ______ 方式进行访问的存储区,在IA-32中,栈从 ______ 地址向低地址增长。
答案:先进后出;高 -
PUSH指令执行时,先执行R[esp]←R[esp]- ______,然后将数据送到ESP指示的 ______ 单元中。
答案:4;栈 -
条件设置指令SETcc用于将条件标志组合得到的条件值设置到一个 ______ 位通用寄存器中,其设置的条件值与 ______ 指令的跳转条件值完全一样。
答案:8;条件跳转 -
TEST指令根据两个操作数相“与”的结果来设置条件标志,执行后OF和CF都被清为 ______,若结果为全0则ZF= ______。
答案:0;1 -
在IA-32中,调用指令CALL执行时,首先将 ______ 地址入栈,然后跳转到 ______ 地址处执行。
答案:返回;调用目标 -
陷阱指令的重要作用之一是在用户程序和 ______ 之间提供一个类似过程调用的接口,称为 ______。
答案:操作系统内核;系统调用 -
在x86-64中,RAX寄存器用于存放 ______ 参数,RSP寄存器用于指向 ______ 元素。
答案:返回;栈顶 -
x86-64中,movl指令在传送32位寄存器内容的同时,还会将目的寄存器的 ______ 位自动清0,因此其功能相当于 ______ 指令。
答案:高32;movzlq -
在x86-64中,调用指令call将一个 ______ 位返回地址保存在栈中,返回指令ret从栈中取出 ______ 位返回地址。
答案:64;64 -
符号扩展传送指令movsbl用于将一个字节进行 ______ 扩展后送到一个 ______ 位寄存器中。
答案:符号;32 -
对于带符号整数乘法,若乘积的高n位每一位都与低n位的 ______ 位相同,则不溢出;否则 ______。
答案:最高;溢出
第四章 可执行文件的生成与加载执行
-
将多个可重定位目标文件合并为一个可执行文件的过程称为 ______,由专门的 ______ 程序完成。
答案:链接;链接器 -
ELF目标文件中,已初始化全局变量存放在 ______ 节,未初始化全局变量存放在 ______ 节。
答案:.data;.bss -
可执行文件中,程序头表用于描述 ______ 与 ______ 之间的映射关系。
答案:段;存储空间 -
动态链接时,负责加载共享库的程序称为 ______,共享库文件在Linux中的扩展名为 ______。
答案:动态链接器;.so -
在Linux中,用于加载并执行可执行文件的系统调用是 ______,它会在当前进程的上下文中启动 ______ 程序。
答案:execve;加载器 -
链接器的主要任务包括 ______ 和 ______,前者将符号引用与符号定义建立关联。
答案:符号解析;重定位 -
ELF头中,e_ident字段最开始的4字节称为 ______,用于标识是否为ELF文件,第一字节为 ______。
答案:魔数;0x7F -
可重定位目标文件中,.rel.text节包含与 ______ 节相关的可重定位信息,.rel.data节包含与 ______ 节相关的可重定位信息。
答案:.text;.data -
静态库文件在类UNIX系统中的扩展名为 ______,在Windows系统中的扩展名为 ______。
答案:.a;.lib -
共享库的动态链接有“共享性”和“ ______ ”两个特点,其中“共享性”指内存中只有 ______ 个副本。
答案:动态性;一 -
重定位类型R_386_PC32采用 ______ 地址方式,重定位值等于跳转目标地址减去 ______。
答案:PC相对;PC -
重定位类型R_386_32采用 ______ 地址方式,重定位值等于初始值加所引用符号的 ______。
答案:绝对;地址 -
可执行文件中,.init节用于程序开始执行时的 ______ 工作,.fini节用于进程 ______ 时执行的指令代码。
答案:初始化;终止 -
程序头表中,p_type字段为PT_LOAD表示该段是 ______ 段,p_vaddr字段给出该段首字节的 ______ 地址。
答案:可装入;虚拟 -
在IA-32+Linux系统中,只读代码段总是映射到虚拟地址 ______ 开始的一段区域,可读/写数据段映射到其后面按 ______ 对齐的高地址上。
答案:0x8048000;4KB -
符号解析规则中,不允许出现多个 ______ 符号定义,若出现多个COMMON符号定义,则以其中占空间 ______ 的为准。
答案:强;最大 -
使用编译选项 ______ 可以将COMMON符号作为强符号处理,使用选项 ______ 可以将所有警告变为错误。
答案:-fno-common;-Werror -
符号表中,st_value字段在可重定位文件中给出符号所在位置相对于所在节起始位置的 ______ 偏移量,在可执行文件中给出符号所在的 ______ 地址。
答案:字节;虚拟 -
符号表中,绑定属性为LOCAL的符号是 ______ 符号,绑定属性为GLOBAL的符号是 ______ 符号。
答案:本地;全局 -
链接器进行符号解析时,若在静态库中找到了未定义符号的定义,则将该目标模块 ______ 到可执行文件中,并继续扫描 ______ 的输入文件。
答案:合并;后续
第五章 程序的存储访问
-
程序访问的局部性包括 ______ 局部性和 ______ 局部性。
答案:时间;空间 -
主存与cache之间的信息交换单位是 ______,cache与CPU之间的交换单位通常是 ______。
答案:块;字 -
cache的写策略中,写命中时同时写cache和主存的方式称为 ______,写命中时只写cache的方式称为 ______。
答案:全写法;回写法 -
虚拟地址到物理地址的转换由 ______ 完成,其中用于加速地址转换的高速缓存称为 ______。
答案:MMU;TLB(快表) -
页表中用于表示页面是否在主存中的标志位是 ______,用于表示页面是否被修改过的标志位是 ______。
答案:有效位(存在位);脏位(修改位) -
Linux中,每个进程的虚拟地址空间分为 ______ 空间和 ______ 空间两部分。
答案:用户;内核 -
动态RAM主要用作 ______,静态RAM主要用作 ______。
答案:主存;cache -
SDRAM支持 ______ 传输方式,只要在第一次存取时给出 ______ 地址,以后按地址顺序读/写即可。
答案:突发;首 -
DDR SDRAM利用存储器总线上时钟信号的 ______ 沿与下降沿,实现一个时钟内传送 ______ 个存储字的功能。
答案:上升;两 -
磁盘的存取时间包括寻道时间、 ______ 时间和 ______ 时间。
答案:旋转等待;数据传输 -
固态硬盘(SSD)中,写某一页信息之前必须先 ______ 该页所在的整个 ______。
答案:擦除;区块 -
直接映射方式下,主存地址被分成标记、 ______ 和块内地址三个字段,其中cache行号占 ______ 位。
答案:cache行号;c -
全相联映射方式下,主存地址只分成 ______ 和块内地址两个字段,访问时需要比较 ______ 个cache行的标记。
答案:标记;所有 -
组相联映射方式下,cache组号 = 主存块号 ______ cache ______。
答案:mod;组数 -
cache的替换算法中,LRU算法的全称是 ______,FIFO算法的全称是 ______。
答案:最近最少用;先进先出 -
回写法中,每个cache行设置一个 ______ 位,用于判断替换时是否需要写回主存,该位为1表示对应主存块被 ______ 过。
答案:修改(脏);修改 -
虚拟存储器中,虚拟地址空间中的页称为 ______,主存空间中的页称为 ______。
答案:虚拟页;物理页框 -
缺页异常由 ______ 处理程序处理,TLB缺失可由 ______ 处理,也可由软件处理。
答案:操作系统;硬件 -
快表(TLB)通常采用 ______ 或组相联方式,其命中时间约为 ______ 个时钟周期。
答案:全相联;0.5~1 -
段页式虚拟存储器中,程序按模块 ______,段内再 ______,用段表和页表进行两级定位管理。
答案:分段;分页
第六章 程序中I/O操作的实现
-
在UNIX/Linux系统中,所有I/O操作都通过读写 ______ 实现,键盘和显示器被抽象为 ______ 文件。
答案:文件;标准输入/输出 -
系统调用封装函数中,用于从用户态陷入内核态的指令称为 ______ 指令,在IA-32中通常使用 ______。
答案:陷阱;int $0x80 -
DMA控制方式下,数据在 ______ 和 ______ 之间直接交换,不经过CPU。
答案:外设;主存 -
中断服务程序通常分为准备阶段、处理阶段和 ______ 阶段,其中准备阶段需要保存 ______。
答案:恢复;现场 -
I/O端口的编址方式有 ______ 编址和 ______ 编址两种。
答案:统一;独立 -
在程序直接控制I/O方式中,CPU通过不断查询 ______ 来判断外设是否就绪,这种方式也称为 ______ 方式。
答案:状态寄存器;轮询 -
字符设备以 ______ 为单位与主机交换信息,块设备以 ______ 为单位与主机交换信息。
答案:字符;固定大小的数据块 -
在IA-32+Linux系统中,write系统调用的系统调用号为 ______,存放在 ______ 寄存器中。
答案:4;EAX -
C标准I/O库函数中,stdin、stdout、stderr对应的文件描述符fd分别是 ______、 ______ 和2。
答案:0;1 -
输入流缓冲区的工作原理是:先从文件读入一批数据到缓冲区,再从缓冲区中 ______ 数据给用户,这样可以减少 ______ 调用的次数。
答案:分次读出;系统 -
输出缓冲区的属性有三种:全缓冲、行缓冲和 ______,其中普通文件的缓冲区属性为 ______。
答案:非缓冲;全缓冲 -
Linux的VFS提供了超级块、目录项和 ______ 等内存数据结构,其中 ______ 用于保存文件的元数据信息。
答案:inode;inode -
文件系统中,每个打开的文件对应一个系统文件表项,其中包含当前 ______ 位置、打开模式和指向 ______ 表的指针。
答案:读/写;inode -
磁盘高速缓存采用 ______ 策略,操作系统每隔一段时间将缓存内容真正写入 ______ 中。
答案:回写;设备 -
通用块设备I/O层为所有块设备设置统一的 ______ 块大小,并提供I/O请求 ______ 功能。
答案:逻辑;调度 -
设备驱动程序初始化时向操作系统注册相应的 ______ 程序,同时将 ______ 号作为参数进行绑定。
答案:中断服务;中断 -
DMA控制器中包含主存地址寄存器、设备地址寄存器、 ______ 寄存器和 ______ 寄存器等。
答案:字计数器;控制 -
DMA方式下,CPU只需在最初的DMA初始化和最后的 ______ 中断时介入,而无须参与整个 ______ 过程。
答案:DMA结束;数据传送 -
中断系统中,中断响应优先级由中断判优电路决定,中断处理优先级则由 ______ 来动态设定,其中每一位对应一个 ______ 源。
答案:中断屏蔽字;中断 -
在IA-32+Linux系统中,fopen函数最终调用 ______ 系统调用,fread函数最终调用 ______ 系统调用。
答案:open;read