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

计算机组成原理知识总结(九)并行组织与结构

计算机组成原理知识总结

计算机组成原理知识总结(一)计算机概论
计算机组成原理知识总结(二)运算方法和运算器
计算机组成原理知识总结(三)存储系统
计算机组成原理知识总结(四)指令系统
计算机组成原理知识总结(五)中央处理器
计算机组成原理知识总结(六)总线系统
计算机组成原理知识总结(七)外围设备
计算机组成原理知识总结(八)输入/输出系统


并行组织与结构

  • 计算机组成原理知识总结
  • 9.1 体系结构中的并行性
    • 9.1.1 并行性的概念
    • 9.1.2 提高并行性的技术途径
    • 9.1.3 单处理机系统中的并行性
    • 9.1.4 多处理机系统中的并行性
    • 9.1.5 并行处理机的体系结构类型
    • 9.1.6 并行处理机的组织和结构
  • 9.2 多线程与超线程处理机
    • 9.2.1 从指令级并行到线程级并行
    • 9.2.2 同时多线程结构
    • 9.2.3 超线程处理机结构
  • 9.3 多 处 理 机
    • 9.3.1 多处理机系统的分类
    • 9.3.2 SMP的基本概念
    • 9.3.3 SMP的结构
  • 9.4 多核处理机
    • 9.4.1 多核处理机的优势
    • 9.4.2 多核处理机的组织结构
    • 9.4.3 多核处理机的关键技术
  • 9.5 多核处理机实例
    • 9.5.1 ARM多核处理机
    • 9.5.2 英特尔酷睿多核处理机
    • 9.5.3 英特尔至强融核众核处理机
    • 9.5.4 龙芯多核处理机
  • 总结

9.1 体系结构中的并行性

9.1.1 并行性的概念

计算机系统中的并行性有不同的等级。
所谓并行性,是指计算机系统具有可以同时进行运算或操作的特性,它包括同时性与并发性两种含义。

  • 同时性 两个或两个以上的事件在同一时刻发生。
  • 并发性 两个或两个以上的事件在同一时间间隔内发生。

9.1.2 提高并行性的技术途径

  1. 时间重叠。
    时间重叠即时间并行。
  2. 资源重复。
    资源重复即空间并行。
  3. 时间重叠+资源重复。
    在计算机系统中同时运用时间并行和空间并行技术,这种方式在计算机系统中得到广泛应用,成为并行性主流技术。
  4. 资源共享。
    资源共享是一种软件方法的并行,它使多个任务按一定时间顺序轮流使用同一套硬件设备。

9.1.3 单处理机系统中的并行性

早期单处理机的发展过程中,起着主导作用的是时间并行(流水线)技术。
在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。

9.1.4 多处理机系统中的并行性

多处理机系统也遵循时间重叠、资源重复、资源共享原理,向着不同体系结构的多处理机方向发展。
紧耦合系统又称直接耦合系统,指处理机之间物理连接的频带较高,一般是通过总线或高速开关实现互连,可以共享主存。
松耦合系统又称间接耦合系统,一般是通过通道或通信线路实现处理机之间的互连,可以共享外存设备(磁盘、磁带等)。

9.1.5 并行处理机的体系结构类型

· 单指令流单数据流(SISD),其代表机型是单处理机。
· 单指令流多数据流(SIMD),其代表机型是向量处理机。
· 多指令流单数据流(MISD),这种结构从来没有实现过。
· 多指令流多数据流(MIMD),其代表机型是多处理机和机群系统。
在这里插入图片描述
在这里插入图片描述

9.1.6 并行处理机的组织和结构

  1. 超标量处理机和超长指令字处理机
    在计算机系统的最底层,流水线技术将时间并行性引入处理机,而多发射处理机则把空间并行性引入处理机。
  2. 多处理机和多计算机
    在单个处理机的性能一定的情况下,进一步提高计算机系统处理能力的简单方法就是让多个处理机协同工作,共同完成任务。
  3. 多线程处理机
    当通过简单提高处理机主频从而提升单处理机的性能的传统方法受到制约时,处理机厂商被迫转向处理机片内并行技术。
  4. 多核处理机(片上多处理机)
    多线程技术能够屏蔽线程的存储器访问延迟,增加系统吞吐率,但并未提高每个单线程的执行速度。

9.2 多线程与超线程处理机

9.2.1 从指令级并行到线程级并行

  1. 超标量处理机的水平浪费和垂直浪费
    超标量技术和超长指令字技术都是针对单一的指令流中的若干指令来提高并行处理能力的,当单一的指令流出现cache缺失等现象时,指令流水线就会断流;而指令之间的相关性也会严重影响执行单元的利用率。
  2. 硬件线程的概念
    多任务系统必须解决的首要问题就是如何分配宝贵的处理机时间,这通常是由操作系统负责的。
  3. 细粒度多线程和粗粒度多线程
    根据多线程处理机的具体实现方法差异,又可以分为细粒度多线程(交错多线程)处理机和粗粒度多线程(阻塞多线程)处理机。

9.2.2 同时多线程结构

同时多线程技术结合了超标量技术和细粒度多线程技术的优点,允许在一个时钟周期内发射来自不同线程的多条指令,因而可以同时减少水平浪费和垂直浪费。

9.2.3 超线程处理机结构

超线程技术是同时多线程技术在英特尔系列处理机产品中的具体实现。

9.3 多 处 理 机

9.3.1 多处理机系统的分类

多处理机系统由多个独立的处理机组成,每个处理机能够独立执行自己的程序。
现有的多处理机系统分为如下四种类型:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储器多处理机(DSM)。
在这里插入图片描述

9.3.2 SMP的基本概念

SMP定义为具有如下特征的独立计算机系统。
(1)有两个以上功能相似的处理机。
(2)这些处理机共享同一主存和I/O设施,以总线或其他内部连接机制互连在一起;这样,存储器存取时间对每个处理机都是大致相同的。
(3)所有处理机共享对I/O设备的访问,或通过同一通道,或通过提供到同一设备路径的不同通道。
(4)所有处理机能完成同样的功能。
(5)系统被一个集中式操作系统(OS)控制。OS提供各处理机及其程序之间的作业级、任务级、文件级和数据元素级的交互。

9.3.3 SMP的结构

在这里插入图片描述

9.4 多核处理机

9.4.1 多核处理机的优势

与传统的单核技术相比,多核技术是应对芯片物理规律限制的相对简单的办法。

  1. 高并行性
  2. 高通信效率
  3. 高资源利用率
  4. 低功耗
  5. 低设计复杂度
  6. 较低的成本

9.4.2 多核处理机的组织结构

  1. 同构多核处理机与异构多核处理机
    与多处理机的分类方法类似,按多核处理机内的计算内核的地位对等与否划分,多核处理机可以分为同构多核和异构多核两种类型。
    同构多核(homogenous multi-core)处理机
    异构多核(heterogeneous multi-core)处理机
  2. 多核处理机的对称性
    同构多核和异构多核是对处理机内核硬件结构和地位一致性的划分。
  3. 多核处理机的cache组织
    在设计多核处理机时,除了处理机的结构和数量,cache的级数和大小也是需要考虑的重要问题。

9.4.3 多核处理机的关键技术

尽管多核技术与单核技术相比存在性能高、集成度高、并行度高、结构简单和设计验证方便等诸多优势,但从单核到多核的转变并不是直接把多个芯片上的多个处理机集成到单一芯片之中这么简单。

  1. 多核处理机架构
    多核处理机的体系结构直接影响着多核的性能。
  2. 多核系统存储结构设计
    为了使处理机的处理能力得到充分发挥,存储系统必须能够提供与处理机性能相匹配的存储器带宽。
  3. 多核处理机的cache一致性
    cache一致性问题产生的原因是:在一个处理机系统中,不同的 cache 和主存空间中可能存放着同一个数据的多个副本,在写操作时,这些副本存在着潜在的不一致。
  4. 多核处理机的核间通信与同步技术
    多核处理机片内的多个核心虽然各自执行自己的代码,但是不同核心间需要进行数据的共享和同步,因此多核处理机硬件结构必须支持高效的核间通信,片上通信结构的性能也将直接影响处理机的性能。
  5. 低功耗设计
    随着环保理念的普及和移动计算应用的推广,对处理机和整个计算机系统的功耗的关注度越来越高。
  6. 多核软件设计
    虽然多核技术与多处理机有许多相似之处,但二者之间的差别导致在许多情况下多处理机系统中的软件并不能直接拿到多核系统中运行。
  7. 平衡设计原则
    与单处理机系统相比,多核计算机系统的设计复杂度大幅度提高。因为在解决某个方面问题的同时往往会带来其他方面的问题,所以多核处理机结构设计的重点不在于其中某一个细节采用什么复杂或性能表现较好的设计,而是在于整体设计目标。

9.5 多核处理机实例

9.5.1 ARM多核处理机

  1. ARM Cortex-A15处理机的整体结构
    在这里插入图片描述
  2. ARM Cortex-A15的多核支持功能
    Cortex-A15处理机利用被广泛认可的 ARM MPCore多核技术,支持性能可扩展性和动态功耗控制功能。

9.5.2 英特尔酷睿多核处理机

9.5.3 英特尔至强融核众核处理机

9.5.4 龙芯多核处理机


总结

并行性是指计算机系统具有同时进行运算或操作的特性,它包括同时性(两个以上事件在同一时刻发生)与并发性(两个以上事件在同一时间间隔内发生)两种含义。并行性的4 种技术是:①时间并行(时间重叠);②空间并行(资源重复);③时间并行+空间并行;④资源共享(软件方法)。

相关文章:

  • 带内全双工水声通信系统自干扰抵消技术研究框架与思路
  • 关于在使用elementui的tabs组件进行切换组件时会闪屏的解决方案
  • 网站被劫持了怎么办?
  • 二、字符串 String
  • Python数据类型转换
  • Protobuf 和JSON 性能分析
  • DCA培训心得笔记(二)
  • TB-RK1808M0最新固件烧录和驱动更新
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • C语言被创造出来的基础是什么?它的主要结构是什么?
  • error: Unexpected console statement (no-console) 解决办法
  • 神经系统分类和组成图表,神经系统的组成概念图
  • [Swift学习] 访问控制 Access Control, private、public、filePrivate等修饰符
  • [SQL]数据库语言学习
  • 软考高频考点——项目中标了以后该怎么做?
  • JavaScript-如何实现克隆(clone)函数
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【React系列】如何构建React应用程序
  • 10个最佳ES6特性 ES7与ES8的特性
  • Android Volley源码解析
  • Android单元测试 - 几个重要问题
  • CAP 一致性协议及应用解析
  • classpath对获取配置文件的影响
  • ECMAScript入门(七)--Module语法
  • java8-模拟hadoop
  • Mithril.js 入门介绍
  • mysql_config not found
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 如何进阶一名有竞争力的程序员?
  • 使用common-codec进行md5加密
  • 微信公众号开发小记——5.python微信红包
  • nb
  • 1.Ext JS 建立web开发工程
  • k8s使用glusterfs实现动态持久化存储
  • raise 与 raise ... from 的区别
  • "无招胜有招"nbsp;史上最全的互…
  • #1014 : Trie树
  • #宝哥教你#查看jquery绑定的事件函数
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (AngularJS)Angular 控制器之间通信初探
  • (二)fiber的基本认识
  • (二)JAVA使用POI操作excel
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (强烈推荐)移动端音视频从零到上手(上)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)jQuery 基础
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .Net中的设计模式——Factory Method模式
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?