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

软考-系统架构设计师 计算机系统基础知识详细讲解

个人博客:blogs.wurp.top

一、计算机系统组成与多级层次结构

1. 冯·诺依曼体系结构 (核心考点)

这是所有现代计算机的理论基础。核心思想是 “存储程序”

  • 五大部件:运算器、控制器、存储器、输入设备、输出设备。
  • 工作流程指令驱动。CPU从存储器中取指译码执行,周而复始。
  • 关键特征:以运算器为中心;指令和数据以二进制形式并存于存储器中,按地址寻址。
  • 软考深化
    • 哈佛结构:一种改进结构,将指令存储数据存储在物理上分开,使用独立的总线。这提高了并行性,常用于CPU内部缓存设计(L1 Cache分I-Cache和D-Cache)和DSP、嵌入式系统中。
    • 现代计算机的实际结构:以存储器为中心,通过系统总线(数据、地址、控制) 连接CPU、内存和I/O设备。

2. 计算机的多级层次结构

计算机系统通过分层来管理复杂性,下层是上层的实现基础,上层是下层的抽象。

  • 典型层次 (从下到上):
    • 微程序/硬逻辑层 -> 机器语言层 -> 操作系统层 -> 汇编语言层 -> 高级语言层 -> 应用层
  • 软考视角:架构师工作在高级语言层和应用层,但必须理解下层(尤其是操作系统和机器语言层)的机制和性能特征,才能做出最优设计。

二、硬件系统核心组件 (重点中的重点)

1. 中央处理器 (CPU)

  • 核心组件
    • 运算器 (ALU):执行算数和逻辑运算。
    • 控制器 (CU):取指、译码、发出控制信号。
    • 寄存器组:CPU内部的高速存储单元。
      • 关键寄存器PC (程序计数器)IR (指令寄存器)ACC (累加器)MAR (内存地址寄存器)MDR (内存数据寄存器)PSW (程序状态字)
  • 指令系统
    • CISC (复杂指令集) vs RISC (精简指令集)必考对比点
      特性CISC (e.g., x86)RISC (e.g., ARM, MIPS)
      指令数目多,复杂少,精简
      指令长度可变长定长
      寻址方式复杂多样简单
      实现方式微程序控制硬布线控制为主
      设计哲学硬件完成复杂功能编译器优化生成高效代码
      寄存器较少大量通用寄存器
      代表Intel, AMD CPUsApple M系列, 手机芯片
    • 指令执行过程:取指 -> 译码 -> 取操作数 -> 执行 -> 写回结果。流水线技术 是为了让这些阶段并行,提高吞吐率。
  • 流水线 (Pipeline)
    • 概念:将指令处理过程分解为多个阶段,重叠执行。
    • 主要风险
      • 资源冲突:解决方法:增加资源、流水线调度。
      • 数据相关写后读(RAW) 是最常见的数据相关。解决方法:转发/旁路 (Forwarding/Bypassing)流水线暂停(冒泡)
      • 控制相关:由转移指令(分支、跳转) 引起。解决方法:分支预测(静态预测、动态预测)延迟槽
    • 性能计算
      • 执行n条指令所需时间:建立时间 + (指令数 - 1) * 时钟周期
      • 吞吐率:指令条数 / 执行时间
  • 多处理器系统 (Flynn分类法):
    • SISD:单指令流单数据流(传统单核CPU)。
    • SIMD:单指令流多数据流(向量处理器、GPU核心思想)。
    • MISD:多指令流单数据流(不常见)。
    • MIMD:多指令流多数据流(现代多核CPU、分布式系统)。

2. 存储系统

核心矛盾:速度、容量、价格无法同时满足。解决方案:多级存储体系

  • 层次结构:CPU寄存器 -> Cache (SRAM) -> 主存 (DRAM) -> 外存 (磁盘/SSD)
    • 速度从快到慢,容量从小到大,价格从高到低。
  • 局部性原理:是缓存技术的理论基础。
    • 时间局部性:刚被访问的内容很可能再次被访问。(循环、栈)
    • 空间局部性:刚被访问的内容的相邻内容很可能被访问。(顺序执行、数组遍历)
  • 高速缓存 (Cache)
    • 工作过程:CPU先访问Cache,若找到数据则为“命中”,否则为“缺失”,需从主存调入。
    • 命中率命中次数 / 总访问次数。是衡量Cache性能的关键指标。
    • 映射机制必考
      • 直接相联:主存块只能放入Cache的唯一位置。冲突率高,速度快。
      • 全相联:主存块可放入Cache的任意位置。冲突率低,查找慢(成本高)。
      • 组相联折中方案。将Cache分组,主存块映射到特定组,但可放入该组内任意行。是当前最主流的方式(如n路组相联)。
    • 写策略
      • 写直达 (Write-through):同时写Cache和主存。简单,一致性好,但速度慢。
      • 写回 (Write-back):只写Cache,仅当该块被替换时才写回主存。速度快,但一致性控制复杂。
  • 虚拟存储器
    • 目的:给用户提供比实际物理内存大得多的地址空间。
    • 实现方式分页系统。由MMU (内存管理单元) 负责虚拟地址物理地址的转换。
    • 页表:存储映射关系。快表 (TLB) 是页表的Cache,用于加速地址转换。
    • 缺页中断:当访问的页面不在物理内存中时,由操作系统将其从外存(交换区)调入。

3. 输入/输出技术 (I/O)

  • I/O控制方式 (CPU参与度从高到低):
    1. 程序查询方式:CPU轮询I/O设备状态,效率极低。
    2. 中断方式:I/O完成后主动通知CPU,CPU中断当前程序进行处理。提高了CPU利用率。
    3. DMA方式必考。由DMA控制器主存和I/O设备之间直接建立数据通路,无需CPU干预。仅在传输开始和结束时需要CPU参与。极大解放了CPU。
    4. 通道方式:功能更强的DMA,可执行通道程序,管理多个I/O设备。
  • 总线系统
    • 数据总线:宽度决定了一次能传输的数据量(位宽)。
    • 地址总线:宽度决定了CPU的寻址能力(如32位总线最大寻址4GB)。
    • 控制总线:传送控制信号(读、写、中断等)。

三、操作系统核心机制 (架构师必须理解)

1. 进程与线程

  • 进程资源分配的基本单位。拥有独立的地址空间、文件描述符等。
  • 线程CPU调度的基本单位。共享进程的资源,但有自己的栈和寄存器。
  • 软考重点
    • 对比:多线程共享数据简单,但同步复杂,一个线程崩溃可能导致整个进程崩溃;多进程更安全稳定,但通信(IPC)开销大。
    • 状态转换:运行、就绪、阻塞(等待)。要能画出状态转换图。
    • 进程调度算法先来先服务(FCFS)短作业优先(SJF)时间片轮转(RR)优先级调度多级反馈队列。要理解各自的特点和适用场景。

2. 存储管理

  • 分区管理:固定分区、可变分区(会产生外部碎片)。
  • 分页管理:解决外部碎片问题。可能产生内部碎片(最后一页未用满)。
  • 分段管理:按逻辑单元(代码段、数据段、堆栈段)划分,利于共享和保护。可能产生外部碎片
  • 段页式管理:分段和分页的结合,综合两者优点。是现代操作系统的通用方案。

3. 设备与文件管理

  • SPOOLing技术假脱机技术,将独占设备改造为共享设备(如打印池)。
  • 磁盘调度算法先来先服务(FCFS)最短寻道时间优先(SSTF)扫描算法(SCAN/电梯算法)循环扫描算法(C-SCAN)。目的是减少磁头移动距离,提高I/O效率。

四、系统性能评估与可靠性 (高频考点)

1. 性能指标

  • 时钟频率 (主频):基本指标,但并非唯一。
  • CPI:执行一条指令所需的平均时钟周期数。CPU执行时间 = 指令数 * CPI * 时钟周期
  • MIPS:每秒百万条指令。MIPS=指令数/(执行时间∗106)=主频/(CPI∗106)MIPS = 指令数 / (执行时间 * 10^6) = 主频 / (CPI * 10^6)MIPS=指令数/(执行时间106)=主频/(CPI106)
  • MFLOPS:每秒百万次浮点操作。
  • 吞吐率与响应时间:吞吐率是单位时间内完成的任务数;响应时间是单个任务从提交到完成的时间。通常两者相互影响。

2. 可靠性

  • 平均无故障时间 (MTBF):系统平均能正常运行多长时间。
  • 平均修复时间 (MTTR):出故障后平均需要多长时间修复。
  • 可用性A=MTBF/(MTBF+MTTR)A = MTBF / (MTBF + MTTR)A=MTBF/(MTBF+MTTR)
  • 系统可靠性模型
    • 串联系统:可靠性 R=R1∗R2∗...∗RnR = R1 * R2 * ... * RnR=R1R2...Rn。一个失效,全部失效。
    • 并联系统:可靠性 R=1−(1−R1)(1−R2)...(1−Rn)R = 1 - (1-R1)(1-R2)...(1-Rn)R=1(1R1)(1R2)...(1Rn)。所有部件都失效,系统才失效。
    • N模冗余系统:由N个(通常为奇数)相同的子系统进行多数表决。

3. 阿姆达尔定律 (Amdahl’s Law)

必考公式。用于计算对系统某部分性能进行优化后,整体系统性能的提升倍数。
S=1/[(1−F)+F/k]S = 1 / [(1 - F) + F / k]S=1/[(1F)+F/k]

  • SSS:系统加速比
  • FFF:可改进部分所占比例(0 < F < 1)
  • kkk:可改进部分的性能提升倍数

应用:此定律揭示了优化系统瓶颈的重要性。即使对非瓶颈部分做巨大优化(k很大),整体效果(S)也微乎其微。


总结与应试技巧

  1. 抓住核心Cache、指令系统(CISC/RISC)、流水线、存储层次、I/O方式(DMA)、可靠性计算、阿姆达尔定律是绝对的重中之重,必须彻底理解并能进行计算和分析。
  2. 理解对比:软考偏爱考查对比,如CISC vs RISC,各种映射算法、调度算法的优缺点对比。
  3. 联系实际:将理论知识与现代计算机架构(如多核、GPU、SSD)联系起来思考,这在案例分析题中至关重要。
  4. 刷题巩固:务必找到历年真题中的相关题目进行练习,深刻体会出题思路和考查方式。
http://www.dtcms.com/a/351853.html

相关文章:

  • 今日科技热点 | AI加速变革,量子计算商用化,5G应用新机遇
  • IDEA插件推荐
  • 【prism】Prism 弹窗在 ViewModel 中控制大小的实践总结
  • 工业自动化系统架构-(规划调度执行与协调)
  • 《Java反射与动态代理详解:从原理到实践》
  • 如何让Windows桌面井井有条?
  • 模型解释性:使用 SHAPASH 在贷款被拒原因的解释性(三)
  • Java大厂面试实战:从Spring Boot到微服务架构的深度剖析
  • 【公告】模式更改
  • 县域创新升级:直面瓶颈,重塑成果转化路径
  • 缺少fuser导致oracle自动补丁失败
  • 【第三章】软件测试缺陷管理:从判断到回归的全流程实践指南​
  • 【Erdas实验教程】030:遥感图像光谱增强(彩色IHS变换)
  • 【内网渗透】CVE-2025-21420 利用cleanmgr本地提权
  • Tesseract OCR之基线拟合和单词检测
  • 从0到1详解requests接口自动化测试
  • 遥感专业快速转行 GIS 开发的指南
  • esp32_hid_device 调试遇到的一些问题
  • Python爬虫实战:爬取链家/贝壳数据预测房价走势
  • 【大模型实战篇】基于开源视觉大模型封装多模态信息提取工具
  • 第1节: 微服务架构设计篇
  • WhisperLiveKit:实时语音转文本
  • 面试总结(1)
  • 2. LangChain4J 中的 Hello World
  • 未来几年哪些行业有潜力
  • ICBC_TDR_UShield2_Install.exe [ICBC UKEY]
  • ARP地址解析协议
  • 【AI算力平台】算力高效调度策略——GPU调度
  • mysql 执行sql流程概述
  • FreeRTOS学习笔记(四):任务执行与切换