【高性能计算】【2】并行硬件和并行软件

文章目录

  • 进程
  • 多任务
  • 线程
  • 冯诺依曼架构的改进
    • 缓存结构
      • 缓存命中
      • 缓存缺失
      • 缓存与主存的问题
        • 数据不一致
        • cache和主存之间的映射机制
          • 具体例子
        • 最近最少使用原则
      • 缓存和程序
    • 虚拟存储技术
    • 转译后备缓冲区
    • 指令集并行
      • 流水线
      • 多发射
        • 静态多发射
        • 动态多发射(超标量处理器)
      • 多发射预测
      • 硬件多线程
        • 细粒度的
        • 粗粒度的
        • 同步多线程(细粒度的一种变种)
    • 并行硬件
      • SIMD
        • 缺陷
        • 向量处理器
          • 优点
          • 缺点
        • 显卡上图形处理单元GPU
      • MIMD
        • 共享内存系统和
        • 分布式内存系统
  • 课堂作业

最初计算机都是一次只能运行一个程序。
冯诺依曼架构:其主要特点就是内存和CPU的分离,但是这也造成了冯诺依曼瓶颈:CPU执行指令比从内存中读取指令要快得多

【高性能计算】【2】并行硬件和并行软件

sRAM主要使用于作为寄存器或者作为cache,价格比较昂贵。

【高性能计算】【2】并行硬件和并行软件
一些操作系统分配给程序的资源描述符

多任务

会让人产生一种错觉,单核处理器也可以同时运行多个程序

每个进程排队等待被执行,时间到了就需要停止

【高性能计算】【2】并行硬件和并行软件
【高性能计算】【2】并行硬件和并行软件

现代计算机的体系架构是一种层式架构,与CPU数据交互最快的是寄存器和缓存,接下来是主存。

【高性能计算】【2】并行硬件和并行软件
内存行或者内存块指的是内存中的一整块数据,把它放在缓存中。

低级别缓存可以看做是缓存的缓存,高级别缓存的组成部分中中有低级别缓存

缓存命中

顺利找到相应变量

【高性能计算】【2】并行硬件和并行软件

缓存与主存的问题

数据不一致

当CPU向缓存中写入数据时,缓存中数据可能和主存有所不同。

【高性能计算】【2】并行硬件和并行软件
具体例子

【高性能计算】【2】并行硬件和并行软件

缓存和程序

【高性能计算】【2】并行硬件和并行软件

虚存是将主存看做缓存来使用,虚存和主存相当于形成了主存和缓存的关系

【高性能计算】【2】并行硬件和并行软件

有可能导致虚存中的页指向主存中的同一块地址。

  • 在程序运行时,需要转换虚拟地址到实际地址。页表(page table)用于进行这样一种翻译映射操作

转译后备缓冲区

为了减少加载页表的时间,CPU中有一个专门的转译后备缓冲区用于存放页表

【高性能计算】【2】并行硬件和并行软件

流水线

【高性能计算】【2】并行硬件和并行软件

多发射

算术逻辑单元ALU中部分相同功能单元是不止一个的,可以同时执行不同任务。

【高性能计算】【2】并行硬件和并行软件

静态多发射

动态多发射(超标量处理器)

多发射预测

为了充分利用多任务问题,系统必须认识到那些任务可以同时执行。

【高性能计算】【2】并行硬件和并行软件

细粒度的

在执行一个指令之后,编译器都允许切换至别的线程指令来执行

【高性能计算】【2】并行硬件和并行软件

同步多线程(细粒度的一种变种)

允许充分利用超标量处理器的潜能

【高性能计算】【2】并行硬件和并行软件

SIMD

对多个数据执行相同的指令来实现并行计算,适合数据并行的任务方式。

如果ALU和数组长度相等,那么每个ALU将执行相同的操作。

【高性能计算】【2】并行硬件和并行软件

缺陷

【高性能计算】【2】并行硬件和并行软件

【高性能计算】【2】并行硬件和并行软件
优点

【高性能计算】【2】并行硬件和并行软件

显卡上图形处理单元GPU

也借鉴了了SIMD的架构,衍生出不同于CPU的结构

【高性能计算】【2】并行硬件和并行软件

时间上是不同步的。

共享内存系统和

分布式内存系统

课堂作业

【高性能计算】【2】并行硬件和并行软件

来源:戎码关山

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年2月4日
下一篇 2020年2月4日

相关推荐