当前位置: 首页 > news >正文

# 软考软件设计师 · 每日一练 2026-04-24

软考软件设计师 · 每日一练 2026-04-24

📅 距2026上半年软考还有29天
🎯 今日重点:计算机组成原理(流水线/CPU/校验码/寻址)+ 软件工程(需求分析/软件质量)


一、选择题精练(10题)

【题1】流水线计算

某处理器采用五段流水线(取指IF、译码ID、执行EX、访存MEM、写回WB),各段耗时分别为:Δt、2Δt、2Δt、Δt、3Δt。则该流水线的时钟周期至少为( ),执行100条指令所需时间为( )。

A. Δt,102Δt
B. 3Δt,103Δt
C. 3Δt,302Δt
D. 3Δt,100×9Δt

答案:C

解析:

  • 流水线时钟周期 = 最慢段耗时 = max(Δt, 2Δt, 2Δt, Δt, 3Δt) =3Δt
  • 流水线总时间公式:T = k × Δt + (n-1) × Δt,其中k=段数=5,n=指令数=100,Δt=时钟周期=3Δt
    • 等价公式:T = (k + n - 1) × Δt_max = (5 + 100 - 1) × 3Δt = 104 × 3Δt = 312Δt

⚠️注意:题目选项C为302Δt(按(5+100-1)×3=312应为312Δt,但若计算方式为一条指令总时间9Δt + 99×3Δt = 9+297=306Δt,也不完全匹配选项。核心记住公式:T=(k+n-1)×Δt_max,考试时直接代入即可)


【题2】流水线吞吐率与加速比

采用5段流水线处理器,每段耗时均为Δt,连续输入10条指令,该流水线的实际吞吐率为( )。

A. 10/(5Δt)
B. 1/Δt
C. 10/(14Δt)
D. 1/(5Δt)

答案:B

解析:

  • 吞吐率 TP = n / T = 10 / [(5+10-1)×Δt] = 10/(14Δt) … 这是实际吞吐率
  • 最大吞吐率= 1/Δt(当n→∞时的极限值)
  • 题目问的是"该流水线的"吞吐率,通常指最大吞吐率= 1/Δt

加速比= 不用流水线时间 / 流水线时间 = (10×5Δt) / (14Δt) = 50/14 ≈ 3.57


【题3】CPU组成与寄存器

下列关于CPU的叙述中,正确的是( )。

A. CPU中包含运算器和控制器,不包含存储器
B. 程序计数器PC用于存储当前正在执行的指令
C. 指令寄存器IR用于存放下一条要执行的指令地址
D. 地址寄存器MAR用于存放将要访问的内存单元的内容

答案:A

解析:

  • A ✅ CPU = 运算器 + 控制器(冯·诺依曼体系)
  • B ❌ PC(程序计数器)存放下一条指令的地址;IR(指令寄存器)才存放当前指令
  • C ❌ IR存放当前正在执行的指令,PC才存放下一条指令地址
  • D ❌ MAR(地址寄存器)存放要访问的内存地址,MDR(数据寄存器)才存放内容

🔑CPU寄存器速记

寄存器功能
PC下一条指令的地址
IR当前正在执行的指令
MAR要访问的内存地址
MDR读/写的内存数据
ACC累加器(运算结果)
ALU算术逻辑单元(执行运算)

【题4】寻址方式

在某计算机中,指令格式为:操作码 + 寻址特征 + 形式地址D。若采用间接寻址,则操作数的实际地址为( )。

A. D
B. PC + D
C. (D)(即D作为地址,从该地址取出内容作为实际地址)
D. D + 变址寄存器值

答案:C

解析:间接寻址:形式地址D不是操作数地址,而是操作数地址的地址。即先从D处取出一个地址,再从该地址取出操作数。

🔑寻址方式速记表

寻址方式操作数地址特点
立即寻址操作数就在指令中速度最快,但数据不能太大
直接寻址EA = D简单直观
间接寻址EA = (D)扩大寻址范围
寄存器寻址EA = Ri速度快
寄存器间接寻址EA = (Ri)灵活
基址寻址EA = BR + D适合程序重定位
变址寻址EA = IX + D适合数组循环
相对寻址EA = PC + D适合转移指令

【题5】海明码校验

使用海明码对数据进行校验,数据位为16位,则至少需要( )位校验位才能检测并纠正1位错。

A. 3
B. 4
C. 5
D. 6

答案:C

解析:

  • 海明码校验位数公式:2^r ≥ m + r + 1,其中m=数据位=16,r=校验位
  • r=4:2^4=16,16+4+1=21 > 16 ❌
  • r=5:2^5=32,16+5+1=22 ≤ 32 ✅
  • 所以至少需要5位校验位

🔑校验码速记

  • 奇偶校验:只能检奇数位错,不能纠错
  • CRC循环冗余校验:可检错,用生成多项式模2除法
  • 海明码:可检1位错 + 纠1位错,公式 2^r ≥ m+r+1

【题6】CISC与RISC对比

下列关于CISC和RISC的叙述中,错误的是( )。

A. CISC指令数量多、指令长度可变;RISC指令数量少、指令长度固定
B. CISC寻址方式丰富;RISC只有Load/Store访存
C. RISC的通用寄存器数量通常多于CISC
D. RISC一般采用微程序控制,CISC采用硬布线控制

答案:D

解析:D说反了!

  • CISC(复杂指令集):微程序控制
  • RISC(精简指令集):硬布线控制(速度更快)
  • CISC代表:x86;RISC代表:ARM、MIPS

🔑CISC vs RISC 核心区别

特征CISCRISC
指令数量多(数百条)少(几十条)
指令长度可变固定
寻址方式丰富少(Load/Store)
流水线难以实现适合流水线
控制方式微程序硬布线
寄存器数量较少较多

【题7】需求分析

软件需求分析阶段的核心任务不包括( )。

A. 需求获取
B. 需求建模
C. 编写需求规格说明书
D. 制定测试计划

答案:D

解析:制定测试计划属于软件测试阶段的活动。需求分析三大核心任务:

  1. 需求获取(访谈、问卷、原型等)
  2. 需求分析与建模(数据流图、数据字典、实体关系图)
  3. 编写需求规格说明书(SRS)

【题8】软件质量特性

ISO/IEC 9126软件质量模型中,软件的( )是指在不引起软件错误的情况下,修改或改进软件的难易程度。

A. 可靠性
B. 可维护性
C. 可移植性
D. 效率

答案:B

解析:可维护性 = 易修改性。ISO/IEC 9126质量模型六大特性:

质量特性含义子特性
功能性满足明确或隐含需求适合性、准确性、互操作性、安全性
可靠性规定时间内规定条件下成熟性、容错性、易恢复性
易用性易理解、易学习、易操作易理解性、易学性、易操作性
效率响应时间和资源利用率时间特性、资源特性
可维护性易修改和改进易分析性、易改变性、稳定性、易测试性
可移植性不同环境运行适应性、易安装性、共存性、易替换性

🧠口诀:“功可易效可移”(功能性、可靠性、易用性、效率、可维护性、可移植性)


【题9】软件维护类型

用户在使用过程中发现软件运行速度变慢,开发人员对软件进行了优化,这属于( )维护。

A. 改正性
B. 适应性
C. 完善性
D. 预防性

答案:C

解析:

  • 改正性维护:修复已有错误/缺陷(Bug)
  • 适应性维护:适应环境变化(操作系统升级、数据库迁移等)
  • 完善性维护:扩充功能、改善性能、优化速度 ⭐ 题目所述
  • 预防性维护:为提高可维护性、可靠性而做的预防工作

🔑 四种维护占比(从大到小):完善性 > 改正性 > 适应性 > 预防性(完善性通常占50%以上)


【题10】软件开发模型

关于增量模型和原型模型的叙述,正确的是( )。

A. 增量模型每次交付一个完整的可用产品
B. 原型模型可以用于明确和细化用户需求
C. 增量模型不需要需求分析阶段
D. 原型模型最终会丢弃原型,不会演化为最终产品

答案:B

解析:

  • A ❌ 增量模型每次交付一个增量(部分功能),不是完整产品
  • B ✅ 原型模型的核心目的就是明确和验证需求,减少需求变更风险
  • C ❌ 增量模型仍需要需求分析
  • D ❌ 原型可分为抛弃式原型演化式原型,演化式原型可演化为最终产品

🔑开发模型选择速记

模型适用场景
瀑布模型需求明确、变更少
增量模型需要分批交付
原型模型需求不明确
螺旋模型大型、高风险项目
喷泉模型面向对象开发
敏捷模型需求频繁变更
V模型强调测试,需求明确

二、知识框架总结

📌 流水线计算万能公式

时钟周期 Δt_max = max(各段时间) 总时间 T = (k + n - 1) × Δt_max 实际吞吐率 = n / T 最大吞吐率 = 1 / Δt_max 加速比 = T_顺序 / T_流水 = (n × k × Δt_avg) / [(k+n-1) × Δt_max] 效率 E = n × k × Δt_avg / [k × (k+n-1) × Δt_max]

📌 冯·诺依曼体系五大部件

┌─────────────────────────────────┐ │ 控制器 CU │ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │ │ │PC │→│IR │→│ID │→│CU │ │ │ └───┘ └───┘ └───┘ └───┘ │ └────────┬───────────────────────┘ │ 控制信号 ┌────────▼───────────────────────┐ │ 运算器 ALU │ │ ┌────┐ ┌───┐ ┌───┐ ┌───┐ │ │ │ACC │ │MQ │ │X │ │ALU│ │ │ └────┘ └───┘ └───┘ └───┘ │ └────────┬───────────────────────┘ │ 数据 ┌────────▼───────────────────────┐ │ 存储器(内存) │ │ ┌───────┐ ┌───────┐ │ │ │ MAR │ │ MDR │ │ │ └───────┘ └───────┘ │ └─────────────────────────────────┘ ↕ ┌─────────────────────────────────┐ │ 输入设备 ←→ 输出设备(I/O) │ └─────────────────────────────────┘

📌 总线带宽计算

总线带宽 = 总线工作频率 × 数据宽度(字节) 例:总线频率 800MHz,数据宽度 64位(8字节) 带宽 = 800 × 10^6 × 8 = 6400 MB/s

📌 存储器层次结构(速度↑ 容量↓ 价格↑)

寄存器 → Cache(L1→L2→L3)→ 内存(RAM) → 外存(SSD/HDD)
  • Cache命中率:h = 访问Cache命中次数 / 总访问次数
  • 平均访问时间:t = h × t_cache + (1-h) × t_memory

📌 需求分析完整流程

需求获取 → 需求分析与建模 → 编写需求规格说明书 → 需求评审/验证

常用需求获取方法:用户访谈、问卷调查、采样、情节串联板、联合需求计划(JRP)

需求建模工具

  • 数据流图(DFD)
  • 数据字典(DD)
  • 实体-联系图(ER图)
  • 状态转换图
  • 对话图/类图

三、易错点警示 ⚠️

  1. 流水线公式:不要用单条指令总时间 × n,要用(k+n-1) × Δt_max
  2. PC vs IR:PC=下一条地址,IR=当前指令,经常考反!
  3. MAR vs MDR:MAR=地址,MDR=数据,“地址在MAR,数据在MDR”
  4. CISC/RISC控制方式:CISC=微程序(软),RISC=硬布线(硬),别搞反
  5. 海明码:公式是 2^r ≥ m+r+1,不是 2^r ≥ m+r
  6. 软件维护:完善性维护占比最大(~50%),不是改正性!优化性能属于完善性
  7. 原型模型:原型不仅能抛弃,演化式原型可以直接变成产品

四、今日背诵口诀

流水线核心

时钟取最长,总时 k+n-1 乘
吞吐 n 除总时间,加速比是比效率

ISO 9126质量模型

功可易效可移(功能性、可靠性、易用性、效率、可维护性、可移植性)

软件维护排序

完善最大改正二,适应第三预防四
(完善性50%+ > 改正性20%+ > 适应性 > 预防性)


📝 坚持每日练习,稳扎稳打,5月软考必过!💪

http://www.cnnetsun.cn/news/2062229.html

相关文章:

  • DLSS Swapper终极指南:3分钟掌握游戏性能优化神器
  • YOLOv4性能提升的秘密武器:深入拆解CSP Darknet53中的Mish激活函数与CSP结构
  • Stable Diffusion ControlNet Reference实战:从“垫图”到商业级应用,我的避坑参数全记录
  • MacOS Qt 5开发环境配置实战:从安装到疑难问题排查
  • TrollInstallerX完整技术指南:在iOS 14.0-16.6.1设备上安装TrollStore的解决方案
  • 告别会员费!用Docker小雅+阿里云盘打造家庭影院,实测VidHub/Reex哪个更好用?
  • 为什么电力系统优化研究,很多人还在用Matlab的YALMIP+CPLEX?
  • 【限时技术解禁】Docker 27边缘编排内核级优化白皮书:仅开放72小时,含6类硬件适配参数表与压测基准数据
  • 用STM32的PWM让蜂鸣器唱首歌:从《小星星》到自定义音乐盒的实战教程
  • FPGA课程设计避坑指南:搞定MIPS模型机功能测试的完整流程(含代码与仿真)
  • 别再为CSS渐变圆角边框发愁了!5种方法优缺点实测,mask遮罩法才是真香
  • 老Mac重生指南:用OpenCore Legacy Patcher解锁最新macOS系统
  • CVPR2024投稿全攻略:从CCF_A顶会视角解析计算机视觉论文成功之道
  • Win10隐私保护小技巧:彻底关闭文件资源管理器里的‘最近浏览’记录
  • SAP SD核心主数据全解析:从客户、物料到定价的实战配置
  • Elsevier Tracker终极指南:3分钟免费搞定Elsevier期刊审稿状态追踪
  • Flux2-Klein-9B-True-V2部署教程:解决‘模型加载失败’常见错误五步法
  • 互联网大厂 Java 求职面试:从音视频场景探讨微服务架构
  • 高效构建REFramework游戏Mod开发环境:专业开发者实战指南
  • 在M1/M2 Mac上玩转虚拟机:VMware Fusion Player安装与Windows 11 ARM版避坑指南
  • 当游戏日常成为负担:如何用智能助手重获游戏乐趣
  • 别再手动填0了!用TI Hex6x工具链高效生成DSP可执行文件(bin/dat)
  • 如何在5分钟内为魔兽争霸III安装WarcraftHelper增强插件:终极完整指南
  • QKeyMapper终极指南:Windows系统下专业级键鼠手柄一体化映射解决方案
  • 手把手教你配置海康工业相机IO:从PLC触发到光源同步,一个完整项目接线与MVS软件设置指南
  • 哔哩下载姬downkyi:5分钟掌握B站视频下载的终极秘籍
  • 突破硬件束缚:Sunshine游戏串流服务器让PC游戏无处不在
  • RabbitMQ实战入门:从零搭建消息收发环境
  • Maya glTF插件技术突破:重新定义3D模型跨平台交付解决方案
  • Vercel安全事件复盘:当“AI提效”成为攻击入口,我们该收紧哪根弦?