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

26-计组-多处理器

多处理器的基本概念

1. 计算机体系结构

  • 分类依据:根据指令流和数据流的数量关系,计算机体系结构可分为四种类型:SISD、SIMD、MISD、MIMD。

(1)SISD 单指令流单数据流

  • 定义:任意时刻计算机只能执行单一指令操作单一数据。
  • 特点
    • 传统桌面计算机处理文本编辑或简单图形操作时采用。
    • 指令执行过程是串行的。
  • 类比:如同单个厨师按食谱单独完成整个菜肴的制作过程。

(2)SIMD 单指令流多数据流

  • 定义:一条指令同时操作多个数据
  • 适用场景
    • 重复相同操作(如图像处理中的像素操作)
    • 现代 GPU 渲染 3D 图形时处理顶点和像素
  • 实现方式:通过指令控制部件指挥多个处理单元并行操作
  • 类比:单个厨师指挥多个助手同时完成食谱不同部分的食材处理

(3)MISD 多指令流单数据流

  • 定义:多条指令流同时操作同一数据
  • 现状
    • 难以实现且不必要
    • 实际中不存在此类架构
  • 类比:多个厨师对同一份食材进行不同处理(如一个切菜一个腌制)

(4)MIMD 多指令流多数据流

  • 定义:多个处理器同时执行不同指令序列处理不同数据
  • 应用场景
    • 大型服务器处理多用户请求
    • Web 服务器和数据库服务器
  • 特点:各处理器独立执行指令流处理各自数据流
  • 类比:多个厨师各自独立按不同食谱做不同的菜

(5)总结

  • 核心区别
    • SISD:单指令单数据(串行处理)
    • SIMD:单指令多数据(向量化处理)
    • MISD:多指令单数据(理论存在)
    • MIMD:多指令多数据(完全并行)
  • 效率对比:SIMD 相比 SISD 可并行处理相同指令,效率更高

(6)向量处理器

  • 本质:SIMD 的变体,专为复杂数学运算设计
  • 特点
    • 处理数据量级远大于普通 SIMD
    • 使用向量寄存器同时处理大量数据
  • 工作方式:一次性对向量中所有元素执行相同操作
  • 类比:厨师用超大炒锅同时翻炒所有食材

2. 线程

  • 定义:操作系统中的基本执行单位
  • 与进程关系
    • 进程包含多个线程
    • 每个线程可执行多条指令
  • 注意:详细区别将在操作系统课程中讲解

3. 细粒度多线程

  • 实现方式:处理器每个时钟周期轮换不同线程
  • 优势:避免因单个线程阻塞导致资源闲置
  • 调度机制:按固定时间片轮转执行各线程指令

4. 粗粒度多线程

  • 实现方式:当前线程阻塞完成后才切换
  • 切换条件:等待 I/O 操作、长时间计算等资源延迟
  • 特点:相比细粒度切换频率低,上下文切换开销小

5. 同时多线程

  • 实现基础:多核处理器
  • 特点:多个线程指令在同一时间内并行执行
  • 资源利用:通过处理器内部资源共享和复用实现

6. 多核处理器

  • 定义:单个 CPU 中集成多个处理单元(核)
  • 特点
    • 各核有独立执行单元和 cache
    • 共享主存资源
  • 现代应用:当前计算机普遍采用多核架构

7. 共享内存多处理器

  • 别名:对称多处理器 (SMP)
  • 基本特征
    • 多个相同处理器共享主存和 I/O 设备
    • 通过高速总线互联
    • 共享单一操作系统

(1)统一存储访问 UMA 多处理器

  • 内存访问
    • 所有处理器平等访问全部内存单元
    • 访问时间基本一致
  • 缓存问题:需特别注意各处理器中的 cache 的一致性

(2)非统一存储访问 NUMA 多处理器

  • 内存分配主存分割给不同处理器
  • 访问特点
    • 访问本地内存更快(自身附近)
    • 访问远程内存较慢(远程内存)
  • 适用场景:需要大规模并行处理的系统
http://www.dtcms.com/a/279042.html

相关文章:

  • HCIA认证核心知识体系全解析
  • OpenCV计算机视觉实战(15)——霍夫变换详解
  • Mars3d的走廊只能在一个平面的无法折叠的解决方案
  • UNet 改进(36):引入ELAN-FR模块(通道注意力+空间注意力)
  • 华为OD 消消乐游戏
  • 机器学习/深度学习训练day1
  • 第十五节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - vue前端 生产部署
  • Java 中的类加载机制:从 Class 文件到内存中的类
  • 11、鸿蒙Harmony Next开发:列表布局 (List)
  • Mysql用户管理及在windows下安装Mysql5.7(压缩包方式)远程连接云服务器(linux)上的Mysql数据库
  • spring bean初始化异步执行
  • Java字符串、时间、数字知识点
  • dify 原生mcp应用案例
  • 美丽田园发布盈喜公告,预计净利增长超35%该咋看?
  • 【Linux-云原生-笔记】Rsyslog日志相关
  • AI进化论13:生成式AI的浪潮——AI不光能“说”,还能“画”和“拍”
  • 编译器 VS 解释器
  • YOLOv11开发流程
  • Linux 基础操作:vim 编辑器、网络配置与远程登录全解析
  • 学习笔记(36):用概率密度方式来了解:正态分布拟合曲线
  • sqlserver迁移日志文件和数据文件
  • java学习 day4 分布式锁
  • 《Librosa :一个专为音频信号处理和音乐分析设计的Python库》
  • 阿里云可观测 2025 年 3 月产品动态
  • APK安装器(安卓端)一键解除VX限制!轻松安装各种手机应用
  • VScode设计平台demo&前端开发中的常见问题
  • 中级统计师-经济学基础知识-第五章 国民收入决定的总收入-总支出模型
  • RK3568/3588 Android 12 源码默认使用蓝牙mic录音
  • 【安卓笔记】进程和线程的基础知识
  • Educational Codeforces Round 170 (Rated for Div. 2)