系统分析师真题笔记

系统分析师真题笔记

真题 1

题目

某4级流水线各阶段耗时分别为:取指 \(2\Delta t\)、分析 \(1\Delta t\)、取操作数 \(3\Delta t\)、运算并保存 \(2\Delta t\)。请计算该流水线的最大吞吐率,以及执行5条指令时的流水线加速比。

答案

  1. 最大吞吐率:\(\boldsymbol{\dfrac{1}{3\Delta t}}\)
  2. 5条指令加速比:\(\boldsymbol{\dfrac{5}{3}}\)(或 1.67)

解析

步骤1:确定流水线周期(瓶颈原理)

流水线时钟周期由执行速度最慢的子阶段(瓶颈阶段)决定,保障所有阶段同步完成操作。

  • 各阶段耗时:取指 \(2\Delta t\)、分析 \(1\Delta t\)、取操作数 \(3\Delta t\)、运算并保存 \(2\Delta t\)
  • 瓶颈阶段:取操作数(耗时最长 \(3\Delta t\)
  • 流水线周期:\(T = 3\Delta t\)

步骤2:计算最大吞吐率

吞吐率定义:单位时间内流水线完成并输出的指令数量。流水线稳定运行后,每1个时钟周期输出1条指令。

  • 最大吞吐率公式:\(TP = \dfrac{1}{T}\)
  • 计算结果:\(TP = \dfrac{1}{3\Delta t}\)

步骤3:计算流水线加速比

加速比定义:无流水线串行执行总时间 / 流水线并行执行总时间

  1. 串行执行总时间
  • 单条指令完整耗时:\(2\Delta t+1\Delta t+3\Delta t+2\Delta t = 8\Delta t\)
  • 5条指令串行总时间:\(T_1 = 5 \times 8\Delta t = 40\Delta t\)
  1. 流水线执行总时间
  • 通用公式:\(T_{pipe} = (k + n - 1) \times T\)
  • 参数说明:\(k\)=流水线级数(4级),\(n\)=指令条数(5条),\(T\)=流水线周期(\(3\Delta t\)
  • 计算结果:\(T_2 = (4+5-1) \times 3\Delta t = 24\Delta t\)
  1. 加速比计算
  • 加速比 \(S = \dfrac{T_1}{T_2} = \dfrac{40\Delta t}{24\Delta t} = \dfrac{5}{3} \approx 1.67\)

核心考点

  1. 流水线周期规则:瓶颈决定节拍,等于流水线最慢阶段执行时间
  2. 最大吞吐率:稳定状态下 \(TP = \dfrac{1}{流水线周期}\)
  3. 流水线指令总耗时:\((流水线级数 + 指令条数 - 1) \times 流水线周期\)
  4. 加速比核心公式:串行执行总时间 ÷ 流水线执行总时间

真题 2

题目

对关系模式 \(R<U,F>\),Armstrong公理A1自反律:若 \(Y \subseteq X \subseteq U\),则 \(X \to Y\) 成立,请解释该规则如何理解。

答案

自反律:属性集X的子集Y,一定可以由X函数决定Y。
简单说:知道X全部属性的值,就一定能确定它任意子集Y的值,该函数依赖是必然成立,和F中的函数依赖无关。

解析

  1. 符号含义
  • \(U\):关系模式全部属性集合
  • \(X、Y\):都是属性的子集
  • \(Y \subseteq X\):Y是X的一部分(Y里面所有属性,全部都在X里面)
  • \(X \to Y\):函数依赖,X可以决定Y;同一个X值,一定对应唯一Y值。
  1. 通俗举例
    假设 \(X=\{学号,姓名\}\)\(Y=\{学号\}\),满足 \(Y \subseteq X\)

已知【学号+姓名】,那学号必然是确定的。
所以:\(\{学号,姓名\} \to \{学号\}\) 一定成立。

再举:\(X=\{a,b,c\}\)\(Y=\{a,b\}\)\(Y\subseteq X\),则 \(abc \to ab\)

  1. 关键点
  • 自反律推出来的函数依赖叫平凡函数依赖\(Y \subseteq X\)\(X\to Y\)
  • 不需要依赖F集合,永远成立,不是由现实业务语义得来,是集合属性自带。
  • 反过来:如果 \(Y \nsubseteq X\),就不能使用自反律。

核心考点

  1. A1自反律条件:\(\boldsymbol{Y \subseteq X \subseteq U} \implies X \to Y\)
  2. 推导出的是平凡函数依赖,恒成立,与F无关。
  3. 含义:属性全集可以决定自己的任意子集。
  4. Armstrong公理三大基础推理规则:A1自反律、A2增广律、A3传递律。

对关系模式R <U,F >来说有以下的推理规则:

  • A1.自反律(Reflexivity):若Y⊆X⊆U,则X →Y成立。
  • A2.增广律(Augmentation):若Z⊆U且X→Y,则XZ→YZ成立。
  • A3.传递律(Transitivity):若X→Y且Y→Z,则X→Z成立。

根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:

  • 合并规则:由X→Y,X→Z,有X→YZ。 (A2, A3)
  • 伪传递规则:由X→Y,WY→Z,有XW→Z。 (A2, A3)
  • 分解规则:由X→Y及 Z ⊆ Y,有X→Z。 (A1, A3)

真题 3

题目

在 UML 的顺序图和协作图中,顺序图可(1),其消息(2);协作图用于(3)。
A. 展示对象关系和协作,不强调时间
B. 展示用例行为顺序与对象交互,强调时间顺序
C. 仅显示对象链接,无交互体现
D. 侧重单个对象生命周期,忽略交互

答案

(1) B
(2) 有时间先后顺序
(3) A

解析

  1. 顺序图(时序图)
  • 核心特点:强调时间顺序,垂直方向代表时间流逝,展示对象之间交互消息的先后执行次序,体现用例行为过程。所以(1)选B。
  • 消息:按照从上到下代表时间先后,消息具备明确的时间顺序。
  1. 协作图(通信图)
  • 重点表达对象之间的链接关系、对象间的协作交互;不侧重时间轴,时间顺序依靠消息编号体现。所以(3)选A。
  • C错误:协作图是有交互消息的,不是无交互。
  • D错误:状态图才侧重单个对象生命周期,不是顺序/协作图。

补充:UML中,顺序图、协作图都属于交互图,都描述对象之间交互;区别在于侧重点:

  • 顺序图:重时间顺序
  • 协作(通信)图:重对象结构与连接关系

核心考点

  1. 顺序图:强调时间顺序,纵向表示时间,展示对象交互时序。
  2. 协作图(通信图):强调对象之间链接与协作关系,不强调时间轴,依靠消息序号表达时序。
  3. 二者同属交互图;对象生命周期由状态图表达。

真题 4

题目

UML 2.0所包含的图中,(1)强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序;(2)描述计算机中一个系统的物理结构;(3)描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。

答案

(1) 定时图(时间图 / Timing Diagram)
(2) 制品图
(3) 构件图

解析

  1. 定时图(时间图)
    顺序图只表达消息的相对先后顺序;定时图重点刻画实际时间、时间约束,展示对象状态随真实时间的变化,消息会体现真实时间维度。

  2. 制品图
    制品图用来描述系统物理结构,表达制品(文件、可执行程序、库等物理产物)以及制品之间的关系。

易错辨析:

  • 制品图:描述软件制品本身的物理结构
  • 部署图:描述制品部署到硬件节点上,是软硬件结合的部署物理架构。
    本题题干“描述计算机中一个系统的物理结构”标准答案为制品图。
  1. 构件图
    构件图描述封装构件,包含构件的接口、端口,构件内部嵌套子构件、连接件,展示构件内部组成结构。

易混辨析:复合结构图侧重类的内部结构;构件图侧重构件及其内部端口、内嵌构件、连接件。

核心考点

  1. 定时图:关注实际时间,区别于顺序图的仅相对消息顺序。
  2. 制品图:描述系统软件制品层面的物理结构;部署图:制品部署在硬件节点。
  3. 构件图:封装构件、接口、端口、内嵌构件、连接件的内部结构。

真题 5

题目

在我国商用密码算法体系中:( )属于摘要算法。请介绍国密各主要算法。

答案

SM3 属于摘要(哈希)算法。

解析

国密商用密码主要算法分类:

  1. SM3:密码杂凑(摘要/Hash)算法
  • 作用:对任意长度输入,输出256比特哈希摘要;用于数据完整性校验、数字签名、消息认证。
  • 类似国际算法:SHA‑256。
  1. SM2:非对称公钥密码算法(椭圆曲线ECC)
  • 作用:密钥交换、数字签名、公钥加密。
  • 基于椭圆曲线密码,替代RSA;支持签名、加密、密钥协商。
  1. SM4:对称加密算法(分组密码)
  • 作用:数据加解密,分组长度128位。
  • 用于大量业务数据加密,类似AES。
  1. SM9:标识密码算法(IBC)
  • 作用:基于标识的非对称密码,不需要数字证书,可直接用手机号、邮箱作为公钥标识,完成签名、加密。

快速区分记忆

  • 摘要(哈希):SM3
  • 对称加密:SM4
  • 椭圆曲线非对称:SM2
  • 标识密码:SM9

核心考点

  1. SM3:国密摘要算法,输出256bit杂凑值,完整性校验。
  2. SM2:ECC椭圆曲线,签名、加密、密钥协商。
  3. SM4:分组对称加密,业务数据加密。
  4. SM9:标识密码算法,无需证书。

真题 6

题目

在关系\(R(A_1,A_2,A_3)\)\(S(A_2,A_3,A_4)\)上进行关系运算的4个等价的表达式\(E_1、E_2、E_3\)\(E_4\)

\[\begin{align*} E_1 &= \pi_{A_1,A_4}(\sigma_{A_2<'2022' \land A_4='95'}(R \bowtie S)) \\ E_2 &= \pi_{A_1,A_4}(\sigma_{A_2<'2022'}(R) \bowtie \sigma_{A_4='95'}(S)) \\ E_3 &= \pi_{A_1,A_4}(\sigma_{A_2<'2022' \land R.A_3=S.A_3 \land A_4='95'}(R \times S)) \\ E_4 &= \pi_{A_1,A_4}(\sigma_{R.A_3=S.A_3}(\sigma_{A_2<'2022'}(R) \times \sigma_{A_4='95'}(S))) \end{align*} \]

如果严格按照表达式运算顺序,则查询效率最高的是(1),将该查询转换为等价的SQL 语句为:SELECT A1, A4 FROM R,S WHERE (2)

答案

(1) \(\boldsymbol{E_2}\)
(2) \(\boldsymbol{R.A_3=S.A_3\ AND\ A_2<'2022'\ AND\ A_4='95'}\)

解析

关系代数优化核心原则:选择运算应尽可能早执行(先选后连接),减少参与连接的元组数量,降低计算开销。

  1. \(E_1\):先做\(R\bowtie S\)连接,连接完成后再执行筛选。连接操作处理全部元组,中间结果集大,效率低。
  2. \(E_2\)先分别对R、S做选择过滤\(\sigma_{A_2<'2022'}(R)\)先过滤R;\(\sigma_{A_4='95'}(S)\)先过滤S;再把过滤后的小结果集做自然连接。参与连接的数据量最小,开销最小,效率最高。
  3. \(E_3\):先执行笛卡尔积\(R\times S\),笛卡尔积会产生海量元组,之后再筛选,性能极差。
  4. \(E_4\):先做选择得到R、S子集,但依然执行笛卡尔积,再做等值筛选。笛卡尔积开销远大于连接,效率低于E2。

补充概念:

  • \(\bowtie\):自然连接,自动按同名属性等值匹配,本题\(R.A_3=S.A_3\)为连接条件。
  • \(\times\):笛卡尔积,两个表所有元组全部两两组合,代价很高,优化中尽量避免。

SQL转换

FROM R,S代表笛卡尔积,where子句同时写连接条件和筛选条件。
条件包含三部分:

  • 连接条件:R.A3 = S.A3
  • R筛选条件:A2 < '2022'
  • S筛选条件:A4 = '95'

完整SQL:

SELECT A1, A4 
FROM R, S 
WHERE R.A3=S.A3 AND A2<'2022' AND A4='95';
posted on 2026-08-16 16:02  中年二班  阅读(20)  评论(0)    收藏  举报