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

文章目录

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

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

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

多任务

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

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

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

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

缓存命中

顺利找到相应变量

缓存与主存的问题

数据不一致

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

具体例子

缓存和程序

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

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

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

转译后备缓冲区

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

流水线

多发射

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

静态多发射

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

多发射预测

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

细粒度的

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

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

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

SIMD

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

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

缺陷

优点

显卡上图形处理单元GPU

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

时间上是不同步的。

共享内存系统和

分布式内存系统

课堂作业

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

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

相关推荐