选择题:1'*10=10
填空题:2'*10=20
名词解释:3'*2=6
简答题:6'*4=24
综合计算题:10'*4=40

共六章

一、计算机系统概述

一/1 计算机基本工作原理

一/2 程序的开发与运行

一/3 计算机系统的层次结构

一/4 计算机系统性能评价

大纲知识点

  1. 名词解释
    (1)中央处理器(CPU):控制部件、运算部件和各类寄存器互连组成的电路。
    (2)算术逻辑部件(ALU):用来进行算术逻辑运算的部件。
    运算器的核心部件是算术逻辑运算单元(2024-10TK 1')
    (3)通用寄存器:用于临时存放从主存取来的数据或运算的结果。
    (4)程序计数器(PC):CPU 为了自动按序读取主存中的指令,需要程序计数器 , 在执行当前指令的过程中,自动计算出下一条指令的地址并送到PC中保存。
    (5)指令寄存器(IR):用于临时保存从主存取来的指令。
    (6)控制器:用于自动逐条取出指令并进行译码的部件。
    (7)主存储器:用来存放指令和数据的部件。
    (8)总线:连接不同部件进行信息传输的介质。
    (9)主存地址寄存器(MAR):CPU送到地址线的主存地址先存放的位置。
    (10)主存数据寄存器(MDR):发送到或从数据线取来的信息存放的位置。
    (11)机器指令:计算机能理解和执行的,用0和1表示的一串0/1序列。
    (12)指令操作码:计算机指令中用于指示CPU执行特定操作的部分。
    (13)高级程序设计语言:是指面向算法设计的、较接近于日常英语书面语言的程序设计语言,如C、Java等。
    (14)汇编语言:通过用简短的英文符号和机器指令建立对应关系,以方便程序员编写和阅读程序。
    (15)机器语言:使用特定计算机规定的指令格式而形成的0/1序列。
    (16)机器级语言:是计算机硬件能够直接理解和执行的低级语言,它是计算机指令的最底层表示形式,由一系列二进制代码组成,这些代码直接对应计算机硬件的操作指令。
    (17)源程序:把一种编程语言表示的程序转换为功能等价的另一种编程语言程序时,被翻译的程序为源程序。
    (18)目标程序:把一种编程语言表示的程序转换为功能等价的另一种编程语言程序时,翻译生成的程序为目标程序。
    (19)编译程序:也称编译器。用于将高级语言源程序翻译成汇编语言或机器语言目标程序。
    (20)解释程序:也称解释器。用于将源程序中的语句按其执行顺序逐条翻译成机器指令并立即执行。
    (21)汇编程序:也称汇编器。用于将汇编语言源程序翻译成机器语言目标程序。
    (22)语言处理系统:提供程序编辑器和各类翻译转换软件的工具包。
    (23)设备控制器:I/0控制器或I/0适配器统称为设备控制器,用于连接外设到主机。
    (24)最终用户:使用应用软件完成特定任务的计算机用户。
    (25)系统管理员:是指利用操作系统、数据库管理系统等软件提供的功能对系统进行配置、管理和维护,以建立高效合理的系统环境供计算机用户使用的操作人员。
    (26)应用程序员:是指使用高级编程语言编制应用软件的程序员。
    (27)系统程序员:指设计和开发系统软件的程序员。
    (28)指令集体系结构(ISA):是软件和硬件之间接口的一个完整定义。
    (29)微体系结构:实现ISA的电路逻辑结构。
    (30)透明:在计算机技术中,一个存在的事物或概念从某个角度看似乎不存在,即对实际存在的事物或概念感觉不到。
    (31)响应时间:指从作业提交开始到作业完成所用的时间。
    (32)吞吐率:在单位时间内所完成的工作量。
    (33)用户CPU时间:指真正用于运行用户程序代码的时间。
    (34)时钟周期:CPU主脉冲信号(计算机产生的同步的时钟定时信号)的宽度。
    (35)主频:CPU主脉冲信号的时钟频率,是CPU时钟周期的倒数。 (2024-10MCJS 3')
    (36)CPI:执行一条指令所需的时钟周期数。
    (37)基准程序:是专门用来进行性能评价的一组程序,能够很好地反映机器在运行实际负载时的性能,可以通过在不同机器上运行相同的基准程序来比较在不同机器上的运行时间,从而评测其性能。
    (38)MIPS:指令速度所用的计量单位,含义是平均每秒钟执行多少百万条指令。
    (39)峰值MIPS:选取一组指令组合,使 得 得 到 的 平 均 C P I最小,由此得到的MIPS是峰值MIPS。
    (40)相对MIPS:根据某个公认的参考机型来定义的相应MIPS值,是被测机型相对于参考机型MIPS的倍数。
    (41)MFLOPS:每秒所执行的浮点运算有多少百万次。
    (42)GFLOPS:每秒所执行的浮点运算有多少$10^9$次。
    (43)TFLOPS:每秒所执行的浮点运算有多少$10^{12}$次。
    (44)PFLOPS:每秒所执行的浮点运算有多少$10^{15}$次。
    (44)EFLOPS:每秒所执行的浮点运算有多少$10^{18}$次。
  2. 简答
    (1)冯・ 诺依曼计算机由哪几部分组成?各部分的功能是什么?

    计算机由运算器、控制器、存储器、输入设备和输出设备五大基本部件组成。
    运算器能进行基本算术和逻辑运算。
    控制器应能自动执行指令。
    存储器能存放数据和指令。
    操作人员可以通过输入输出设备使用计算机。

(2)什么 是 “存储程序”工作方式?

必须将事先编好的程序和原始数据送入主存后才能执行程序,一旦程序被启动执行,计算机不需要操作人员干预就能自动完成逐条指令取出和执行的任务。

(3)一条指令的执行过程包含哪几个阶段?

从主存取指令→对指令进行译码→PC增量→取操作数并执行→将结果送至主存或寄存器保存。

(4)计算机系统的层次结构如何划分?

计算机系统由硬件和软件两大部分所构成。
硬件是物理装置的总称。
软件包括操作系统、编程语言、算法和应用。
指令体系结构ISA作为软件与硬件之间的桥梁,提供软件与硬件接口的完整定义。
计算机系统的层次结构共分为五级:
第1级:微程序设计级,这是一个实际存在的硬件级,由硬件直接执行微指令。
第2级:机器语言级,它由微程序解释机器指令系统,该级也属于硬件级。
第3级:操作系统级,该级采用机器语言解释执行,既涉及软件资源,也涉及硬件资源,即在操作系统的控制之下调用系统的硬件与软件资源。
第4级:汇编语言级,这一级用汇编程序支持和执行。
第5级:高级语言级,这一级由各种高级语言编译程序支持和执行,它是面向用户的,所编写的程序称之为用户程序,这一级属于软件级。

(5)计算机系统的用户可分为哪几类?每类用户工作在哪个层次?

按照在计算机上完成任务的不同,可以把使用计算机的用户分成以下4 类 :最终用户、
系统管理员、应用程序员和系统程序员。
① 最终用户:使用应用软件完成特定任务。
② 系统管理员:利用操作系统、数据库管理系统等软件提供的功能对系统进行配置、管理和维护。
③ 应用程序员:使用高级编程语言编制应用软件的程序员。
④ 系统程序员:设计和开发系统软件的程序员,工作在机器语言级。

(6)程序的CPI与哪些因素有关?

CPI:表示执行一条指令所需的时钟周期数。
影响 CPI 的因素主要包括:硬件设计(CPU 架构、缓存机制),指令集架构(ISA),程序特性,系统软件。

(7)为什么说性能指标MIPS不能很好地反映计算机的性能?

MIPS:其含义是平均每秒钟执行多少百万条指令。反映了机器执行定点指令的速度。
① 有些制造商经常将峰值MIPS直接当作MIPS , 而实际上的性能要比标称的性能差。
② 不同机器的指令集不同,指令的功能也不同,因此,同样的指令条数所完成的功能可能不同。
③ 不同机器的 CPI 和时钟周期也不同,因而同一条指令在不同机器上所用的时间也不同。

  1. 应用题
    (1)假定你的朋友不太懂计算机,请用简单通俗的语言给你的朋友介绍计算机系统是如何工作的。

    计算机系统主要由两部分组成:硬件和软件。
    硬件:就是计算机的实体部分,如机箱、处理器。
    软件:就是各种程序和指令,如操作系统、游戏软件。
    计算机的工作可以简单地分为三个步骤:输入、处理和输出。
    输入就是用键盘等输入设备把信息传递给计算机,这些信息就像是你给计算机的“指令”。
    处理:计算机接收到输入的信息后,它会用“大脑”来处理这些信息,计算机的“大脑”主要是CPU(中央处理器)。CPU会从内存中读取需要处理的数据,按照软件的指令进行计算。
    输出:处理完之后,计算机就会把结果输出给你,比如显示在屏幕上的文字、播放音乐。
    软件是计算机的灵魂,它告诉硬件该做什么。
    计算机通过硬件和软件的配合,能够快速、高效地完成各种复杂的任务。

真题

  1. 冯·诺依曼计算机工作方式的基本特点:
    (1)“存储程序”工作方式 (2024-10XZ 1')
    (2)计算机由五大部件组成:运算器控制器存储器输入设备输出设备
    (3)存储器能存放数据和指令;
    控制器能自动执行指令;
    运算器能进行基本算术和逻辑运算;
    操作人员可以通过I/O设备使用计算机
    (4)计算机内部以二进制形式表示指令和数据;
    每条指令=操作码+地址码+…,操作码指出操作类型,地址码指出操作数的地址;
    由一串指令组成程序。

二、数据的表示和运算

书本知识点

  1. 整数用定点数 表示,实数用浮点数 表示。
    机器数:计算机内部编码表示的数。一定是一个0/1序列(常缩写为16进制形式)。(X)
    真值:机器数真正的值。($X_T$)
    定点数有四种编码表示方法:原码、补码、反码、移码。它们都是机器数。
    (其中移码既可以表示整数,也可以表示小数)
    它们的值都由符号位(最高位)和数值位组成。原码、补码、反码的符号位正数由0表示,负数由1表示。

(1)原码
符号位:最高位为符号位,0表示正数,1表示负数。
数值位:其余位表示数值的绝对值。
(2)反码
符号位:最高位为符号位,0表示正数,1表示负数。符号位独立于数值的绝对值,仅表示正负。
数值位:正数的反码与原码相同;负数的反码是原码的数值位取反。
缺点:0的表示不唯一;比补码少表示一个最小负数
(3)补码
符号位:最高位为符号位,0表示正数,1表示负数。符号位既表示正负,也和数值位共同构成补码的值。补码的设计使得加法和减法运算更加高效,因为可以使用相同的加法电路来处理正数和负数的加法。
数值位:正数的补码与原码相同;负数的补码是反码加1。
补码反求真值:数值位取反加一,再加符号。
已知补码,求真值反向符号的补码(已知,求):符号位和数值位一起,各位取反,末位加1。(最小负数1000 0000的补码不存在,因为溢出)
(4)移码
符号位:最高位为符号位,但移码的符号位表示方式与原码、补码、反码不同。移码通过偏移量将数值映射到一个无符号数范围内,符号位的作用是区分正负。
数值位:移码的值等于原码的值加上偏移量 $2^{n−1}$,其中 n 是位数。
(数值位加上偏移量,使得首位表示符号,1为正数,0为负数;小数部分称为浮点数的尾数,整数部分称为浮点数的阶)

现代计算机中带符号整数都用补码表示。

  1. 补码的运算表达什
    加法公式:
    减法公式:

真题

  1. 简述计算机内部和外部需要进行数制转换的原因: (2024-10JD 6')

    计算机内部所有信息都采用二进制编码表示。(2分)
    但在计算机外部,大都采用八、十或十六进制表示形式。(2分)
    因此,计算机在数据输入后或输出前都必须实现这些进制数和二进制数之间的转换。(2分)

  2. 二进制、八进制、十六进制转十进制: (2024-10XZ 1')

    十六进制:A=10,B=11,C=12,D=13,E=14,F=15

  3. 浮点运算器可以用阶码部件和尾数部件来实现。 (2024-10XZ 1')

三、程序的转换 及 机器级表示

  1. 指令系统中采用不同寻址方式的目的主要是:缩短指令长度,扩大寻址空间,提高编程灵活性。 (2024-10XZ 1')

四、可执行文件的生成 与 加载执行

  1. 从源程序变为可执行文件的步骤:预处理编译汇编链接(2024-10XZ 1')

  2. 在父进程中创建一个子进程,使用fork函数。 (2024-10XZ 1')

五、程序的存储访问

  1. 重定位:重新确定代码和数据的地址,并更新指令中被引用符号地址的操作。 (2024-10MCJS 3')

  2. 简述在递归深度较深时,递归调用的时间开销和空间开销都会较大的原因: (2024-10JD 6')

    每个过程包含准备阶段和结束阶段,并在栈中新增一个栈帧,(2分)
    因而,每增加一次过程调用,就要增加许多条包含在准备阶段和结束阶段的额外指令,并增加一个栈帧的空间,(2分)
    当递归调用深度较深时,这些额外指令的执行时间开销和栈帧的空间开销就会很大,有些情况下甚至发生栈溢出。(2分)

  3. 简述动态链接的共享性和动态性: (2024-10JD 6')

    共享性是指共享库中的代码段在内存只有一个副本,当应用程序在其代码中需要引用共享库中的符号时,在引用处通过某种方式确定指向共享库中对应定义符号的地址即可;(3分)
    动态性是指共享库只有使用它的程序被加载或执行时才加载到内存。(3 分)

  4. 非易失性存储器:ROM,次表面存储器,光存储器。
    易失性存储器:主存,高速缓冲存储。 (2024-10XZ 1')

六、程序中I/O操作的实现

  1. 简述中断控制I/0方式的基本思想: (2024-10JD 6')

    当需要进行I /O 操作时,首先启动外设进行第一个数据的 I /O 操作,然后阻塞请求I /O的用户进程,并调度其他进程到 CPU上执行,期间外设在设备控制器的控制下工作。(2 分)
    外设完成 I /O 操作后,向 CPU 发送一个中断请求信号,CPU 检测到该信号后,则进行上下文切换,调出相应的中断服务程序执行。(2分)
    中断服务程序将启动后续数据的 I /O操作,然后返回到被打断的进程继续执行。(2分)

  2. 子系统层次结构(图) (2024-10XZ 1')