64
CPS计算机体系结构

CPS计算机体系结构 - hnu.edu.cn

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CPS计算机体系结构 - hnu.edu.cn

CPS计算机体系结构

Page 2: CPS计算机体系结构 - hnu.edu.cn

目录

一、计算机体系结构概述

二、CPS中的处理器

三、ARM、GPU、FPGA

四、并行

Page 3: CPS计算机体系结构 - hnu.edu.cn

一、计算机系统结构概述

Page 4: CPS计算机体系结构 - hnu.edu.cn

1、计算机系统模型

4

应用

实体的机器

两者间巨大的鸿沟,如何填平?

广义地说,计算机系统结构,是一种抽象层次的设计,这种设计的目标是:如何用一种最为有效的技术,实现信息处理的应用。计算机科学的范围,正从运算(Arithmetic)和程序逐渐向计算(Computer)和系统(System)转移。

Page 5: CPS计算机体系结构 - hnu.edu.cn

5

现代计算机系统的抽象层次(透明性原理)

算法

逻辑门/寄存器-传输层 (RTL)

应用

指令集体系结构 (ISA)

操作系统/虚拟机

微体系结构

器件

编程语言

电路

物理层

电路电子数字逻辑

操作系统

数据结构、算法编译、程序设计语言

微电子

计算机组成与结构

课程设置

半导体材料

Page 6: CPS计算机体系结构 - hnu.edu.cn

通用计算机模型——硬件搭台,软件唱戏

存储器 运算器

控制器

一套硬件,通过软件,来控制实现不同的运算。以时间换空间。

通用计算模型

Page 7: CPS计算机体系结构 - hnu.edu.cn

7

计算机系统层次结构

应用语言级

高级语言级

汇编语言级

操作系统级

传统机器级

微程序机器级

电子线路

L5虚拟机

L4虚拟机

L3虚拟机

L2虚拟机

翻译(应用程序包)

翻译(编译程序)

翻译(汇编程序)

软硬件交界面

物理机器解释

硬件直接执行

硬件

固件

系统软件

虚拟机器

实际机器

应用软件

部分解释

Page 8: CPS计算机体系结构 - hnu.edu.cn

8

2、系统设计的定量原理1)大概率事件优先原则(对嵌入式计算不适用)

基本思想:对大概率事件赋予它优先的处理权和资源使用权,以获得全局的最优

结果。

该原则是系统设计中最重要和最常用的原则。

嵌入式计算往往有“WCET”要求。

2)Amdahl定律基本思想:系统中对某部件采用某种更快执行方式,所获得的系统性能的改变程

度,取决于这种方式被使用的频率,或所占总执行时间的比例。

eref

ee fT

T

pS+−

==)1(

10

应用:使用该定律可改善“系统瓶颈”性能。广义Amdahl定律。

Page 9: CPS计算机体系结构 - hnu.edu.cn

3)经典的CPU性能公式(Hennessy公式)

Time

Program

Instructions × Cycles × Time Program Instructions Cycle

=程序执行的指令数(编译)×每条指令所花费的时钟数(CPI)(结构)×时钟周期(工艺)

Page 10: CPS计算机体系结构 - hnu.edu.cn

10

4)程序访问的局部性原理

基本思想:程序执行中呈现出频繁重复使用那些最

近已使用过的数据和指令的规律,规律指时间局部性

和空间局部性。

时间局部性:近期被访问的信息,可能马上被访问;

空间局部性:与被访问地址相邻的地址上的信息可能会一起被访问。

应用:层次存储体系设计。

Page 11: CPS计算机体系结构 - hnu.edu.cn

3、如何理解计算机系统

Page 12: CPS计算机体系结构 - hnu.edu.cn

1)计算机的运算——结构设计者的视角

核心问题:如何设计出高性能的运算电路

32-bitMultiplier

Page 13: CPS计算机体系结构 - hnu.edu.cn

计算机运算——程序设计者的视角

核心问题:

1)数字的表示用有限字长

2)当数值太大时,运算将溢出

void show_squares()

{

int x;

for (x = 5; x <= 5000000; x*=10)

printf("x = %d x^2 = %d\n", x, x*x);

}

x = 5 x2 = 25

x = 50 x2 = 2500

x = 500 x2 = 250000

x = 5000 x2 = 25000000

x = 50000 x2 = -1794967296

x = 500000 x2 = 891896832

x = 5000000 x2 = -1004630016

程序设计

系统实现

Page 14: CPS计算机体系结构 - hnu.edu.cn

2)存储系统——结构设计者的视角

核心问题:1)要做很多艰难的设计决策;

2)部件之间的复杂的权衡和相互作用。

Main

memory DiskL1 i-cache

L1 d-cacheRegs L2

unified

cacheCPU

Write through or write back?

Direct mapped or set indexed?

How many lines?

Virtual or physical

indexing?

Synchronousor

asynchronous?

Page 15: CPS计算机体系结构 - hnu.edu.cn

存储系统——程序员的视角

核心问题:

1)分层的存储器组织结构

2)性能取决于访问模式

3)包括如何单步调试多维数组(针对具体算法)

void copyji(int src[2048][2048],

int dst[2048][2048])

{

int i,j;

for (j = 0; j < 2048; j++)

for (i = 0; i < 2048; i++)

dst[i][j] = src[i][j];

}

void copyij(int src[2048][2048],

int dst[2048][2048])

{

int i,j;

for (i = 0; i < 2048; i++)

for (j = 0; j < 2048; j++)

dst[i][j] = src[i][j];

}

5.2 ms 162 ms

30 times slower!

(Measured on 2.7 GHzIntel Core i7)

Page 16: CPS计算机体系结构 - hnu.edu.cn

存储墙(山)问题

Core i7

2.67 GHz

32 KB L1 d-cache

256 KB L2 cache

8 MB L3 cache

Page 17: CPS计算机体系结构 - hnu.edu.cn

二、CPS中的处理器

Page 18: CPS计算机体系结构 - hnu.edu.cn

嵌入式系统中的处理器

嵌入式系统的核心部件

◼ 品种总量已经超过1000多种每个月都有新产品出现

◼ 流行体系结构有三十几个系列

◼ 8051体系的占有多半

◼ 32,64位微处理器是目前嵌入式系统的核心

主要硬件厂商包括Intel,Motorola,Philip,AMD等

PC的数量只占CPU 总耗量的0.1%。

数字化产品

上 游 嵌入式系统软件平台 下 游

芯片、硬件嵌入式

操作系统嵌入式

应用组件嵌入式

开发环境

Page 19: CPS计算机体系结构 - hnu.edu.cn

嵌入式计算机内核分类与特点

分类:1)嵌入式微处理器(Embedded Microprocessor Unit, EMPU)

2)嵌入式微控制器(Microcontroller Unit, MCU)

3)嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)

4)嵌入式片上系统(System On Chip)

特点:

1)处理速度快或者相当

2)I/O功能强

3)功率损耗低

4)实时响应快

Page 20: CPS计算机体系结构 - hnu.edu.cn

嵌入式微处理器(EMPU)

通用计算机中的CPU

专门设计的电路板

◼ 只保留和嵌入式应用有关的母板功能

增强工作温度、抗电磁干扰、可靠性等方面

功能和工业控制计算机相似

嵌入式处理器主要类型

◼ Am186/88

◼ 386EX

◼ SC-400

◼ Power PC

◼ 68000

◼ MIPS

◼ ARM系列

Page 21: CPS计算机体系结构 - hnu.edu.cn

嵌入式微控制器(MCU)又称单片机以某一种微处理器内核为核心芯片内部集成

◼ ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设

特点◼ 单片化,体积大大减小,从而使功耗和成本下降、可靠性提高

代表性的通用系列◼ 8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、

68300等。半通用系列

◼ 支持USB接口的MCU 8XC930/931、C540、C541;支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列

占嵌入式系统约70%的市场份额

Page 22: CPS计算机体系结构 - hnu.edu.cn

嵌入式DSP处理器(EDSP)

DSP应用

◼ 数字信号处理

◼ 限时完成

DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。

在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。

代表性的产品

◼ Texas Instruments的TMS320系列

◼ TMS320系列处理器包括用于控制的C2000系列,移动通信的C5000系列,以及性能更高的C6000和C8000系列。

◼ Motorola的DSP56000系列

◼ DSP56000目前已经发展成为DSP56000,DSP56100,DSP56200和DSP56300等几个不同系列的处理器

Page 23: CPS计算机体系结构 - hnu.edu.cn

嵌入式片上系统(SOC)

在一个硅片上实现一个复杂的系统

整个嵌入式系统大部分均可集成到一块或几块芯片中去

应用系统电路板将变得很简洁

SOC可以分为通用和专用两类。

◼ 通用系列

◼ Infineon(Siemens)的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。

◼ 专用SOC一般专用于某个或某类系统中

◼ 代表性的产品:Philips的Smart XA

Page 24: CPS计算机体系结构 - hnu.edu.cn

嵌入式处理器位数

4位 8位 16 32 64

单片机型

TMS1000

COPS

8048/49/50

8051/52

6801/04/05 Z8

8096/97

68200

ARM RISC CORE

MIPS 32 CORE

MIPS 64 CORE

一般用途型

4004

4040

8085 6809

Z80 6502 6802

8086 80286

80186

Z8000

80386 80486 68000/10/20/30/40

Pentium

II/III/IV/ ?/Core2duo

嵌入式处理器 应用产品

4位 遥控器 相机 防盗器 玩具 简易计量表等

8位 电视游戏机 空调 传真机 电话录音

16位 手机 摄象机 录象机 各种多媒体应用

32位 MODEM 掌上电脑 路由器 数码相机 GPRS 网络家庭

64位 高级工作站 新型电脑游戏机 各种多媒体应用

Page 25: CPS计算机体系结构 - hnu.edu.cn

特点比较分析:单片机功能太简单, 性能太差;DSP太专用, 可以看成一个外设;通

用处理器、SOC、FPGA、异构是主要发展方向。不再分“嵌入式”与“非嵌入式”

嵌入式微处理器 嵌入式微控制器 嵌入式DSP处理器 嵌入式片上系统

硬件尺寸(含外围) 大 小 小 最小

功耗 大 小 中 中

开发难度 小 大 大 大

软件移植性 好 坏 坏 坏

成本 高 最低 低 中

性能 强 弱 较强 较强

应用领域 通用 较通用低端 专用 较通用高端

网络能力 强 弱 较弱 强

实时性 好 好 好 一般

Page 26: CPS计算机体系结构 - hnu.edu.cn

微处理器发展前沿

微处理器研究热点◼ 进一步提高单个微处理器的性能

◼ 全面提高计算机的系统性能:可用性,可维护性,可缩放性。◼ 基于微处理器的多处理器体系结构。

◼ 多核◼ 三维器件

◼ 背包SOC◼ 三维VLSI

◼ 光速极限问题◼ IC电路有极限:◼ 线宽不能无限缩小;◼ 性能价格 + 低功耗

◼ 新型器件◼ 光计算机◼ 分子计算机◼ DNA计算机

Page 27: CPS计算机体系结构 - hnu.edu.cn

主流处理器迅速在嵌入式领域得到使用

◼ CISC

◼ EIA: Embedded IA, 工业控制

◼ Multicore: ViiV欢跃双核,用于数字电视

◼ RISC

◼ ARM

◼ MIPS

◼ PPC

◼ PA-RISC等

◼ 嵌入式中的主流

◼ 数字信号处理器(DSP)

◼ 乘法与加法运算

◼ 离散傅立叶变换(DFT)

◼ 离散余弦变换(DCT)

◼ Finite Impluse Response

◼ Filter

◼ RISC主流的理由

◼ 指令使用频度较均衡

◼ 控制逻辑规整,适于VLSI工艺

◼ 软硬功能分配合理

◼ 利于指令级并行技术

◼ 芯片代码公开

◼ 可定制性强

◼ 桌面市场被CISC积压, 需要寻找出路

◼ 性能强

◼ IA架构的挑战

◼ EIA通用性太强

◼ 开放环境成熟度高

Page 28: CPS计算机体系结构 - hnu.edu.cn

嵌入式处理器六大类体系结构

◼ ARM

◼ MIPS

◼ POWER PC

◼ X86

◼ SH(HP—SUN)系列

◼ DSP

◼ 网络处理器

◼ 媒体处理器

EMBEDDED MICROPROCESSOR UNIT

(EMPU)

MIPS RISC SH/HP RISCARM RISC X86POWER PC

AR

Mx

AR

Mx

x

Str

on

gA

RM

XS

ca

le

AR

M7

AR

M9

AR

M9

EA

RM

10

E

AR

M1

1

32

Bit

64

Bit

M4

K

4K

x

Pro

24

K

5K

x

20

Kc

SH

1

SH

2

SH

3

SH

4

SH

5

18

6/3

86

/

48

6

Mo

toro

la

IBM

60

3e

e3

00

e5

00

PP

C4

05

PP

C4

40

32

Bit

64

Bit

Inte

l

AM

D

VIA

Tra

ns

me

ta

Ge

od

e

Ne

he

mia

h

Eff

ice

on

Page 29: CPS计算机体系结构 - hnu.edu.cn

网络处理器

Page 30: CPS计算机体系结构 - hnu.edu.cn

DSP处理器

Page 31: CPS计算机体系结构 - hnu.edu.cn

CPS对微处理器结构的需求

七个关键特征:

智能,

异构性,

复杂性,

规模(尺度),

实时约束,

空间约束,

节点间支持(通信约束,资源共享)

Page 32: CPS计算机体系结构 - hnu.edu.cn

七个关键特征

1)智能:能否自主收集和处理原始数据以创建可操作的信息?微处理器必须能够动态适应不同的运行时执行方案和适应数据特征。

2)异构性:CPS的关键特征之一,它涉及高度的异构性,系统包含不同类型的设备,应用和环境。异构核或网络级别的单个芯片,其中不同的设备具有不同类型的核。尽管存在这种异构性,但设备必须能够彼此无缝通信并共享资源有效的数据解释和使用。

3)复杂性:CPS的组织和管理将非常复杂。除了大量的异构体系结构之外,体系结构必须能够执行各种各样的应用程序,这可能是存储和计算密集型的。不同设备之间的交互将是动态变化。

4)规模(尺度):到2020年,CPS(IOT)将包含超过500亿台设备,预计这些设备将持续增长。除了设备数量的增加之外,它们之间的相互作用也将增加。为了支持这种规模,物联网微处理器必须具有高效的成本,能源和面积效率,并且对物联网设备的开销最小。此外,微处理器必须能够可移植地执行不同类型的应用程序。

Page 33: CPS计算机体系结构 - hnu.edu.cn

七个关键特征(续)

5)实时约束:一些最重要的应用 - 例如,患者监控,医疗诊断,飞机监控 - 涉及实时约束,执行必须遵守严格的期限。微处理器必须能够根据各种输入动态确定并遵守最后期限,例如用户输入,应用特性,服务质量。

6)空间限制:基于位置的设备,位置可能会在整个设备的生命周期内发生变化。此外,该装置可能暴露于可变的,并且可能是非理想的环境条件。例如,跟踪设备可能在不同时间或在不同位置暴露于极端高温,极冷和/或下雨。因此,微处理器必须具有容错性和适应性,使其能够遵循可变的操作条件。

7)节点间协同与支持:物联网将包含多个可以相互共享执行资源的设备/节点。由于可能在设备上执行的各种IoT应用程序以及严格的资源限制,为每个设备配备在其整个生命周期内将需要的所有执行资源可能是不切实际的。因此,为了保持有效的执行,IoT设备必须能够在必要时彼此共享执行资源。

Page 34: CPS计算机体系结构 - hnu.edu.cn

六个关键应用功能

1)感知

2)交互

3)图像处理

4)压缩(有损/无损)

5)安全

6)容错

Page 35: CPS计算机体系结构 - hnu.edu.cn

五个关键特性

•效率:由于典型严格资源限制,微处理器必须针对能源,成本,性能和区域效率进行优化。

•可配置性:运行资源需求的这种可变性将进一步提高。需要具有自适应/可配置微架构的配置,这些配置可以自主地专用于不同的应用,以实现最佳执行,特别是在能效方面。

•安全性:安全性必须是微处理器的主要设计目标之一,尤其是因为物联网设备本身更容易受到攻击。

•可升级:随着新应用的快速出现以及应用程序不断增长的内存和计算要求,微处理器必须能够执行未来的应用程序,而不会过度配置当前的应用程序。

•可扩展性:通过扩展具有附加功能的微处理器(例如,专用指令,安全监视器,新的片上外设),可以实现面向未来的微处理器。因此,微处理器的设计必须考虑到易于集成,定制和扩展。这种可扩展性将实现新的性能水平和能源效率。

Page 36: CPS计算机体系结构 - hnu.edu.cn

分布异构、可重构、自适应的体系结构

六个节点,六种不同的微处理器单核微处理器(1-CPU),72核通用GPU(72-GPU),DSP,FPGA,四通道核心乱序处理器(OoO 4-CPU)四核有序处理器(按顺序4-CPU)。必须解决几个研究挑战:1)负载均衡;2)通信复杂度;3)节点开销与节能;4)应用程序并标准化5)节点之间的通信协议。

Page 37: CPS计算机体系结构 - hnu.edu.cn
Page 38: CPS计算机体系结构 - hnu.edu.cn
Page 39: CPS计算机体系结构 - hnu.edu.cn
Page 40: CPS计算机体系结构 - hnu.edu.cn
Page 41: CPS计算机体系结构 - hnu.edu.cn

三、ARM、GPU、FPGA

Page 42: CPS计算机体系结构 - hnu.edu.cn

主流嵌入式处理器ARM1)属于RISC体系2)工业标准3)ARM: Advanced RISC Machines

◼ 只设计内核的英国公司

◼ 85年英国剑桥ARM原型

◼ 90年成立ARM ltd.◼ 不制造VLSI设备,只提供授权(IP)◼ 2001年,市场占有率75%

4)ARM内核被授权给数百家厂商◼ ARM主要应用于无线局域网、3G、手机、手持设备、有线网络通讯◼ 应用形式:集成到专用芯片中作控制器◼ 集成ARM内核的芯片

◼ 英特尔、德洲仪器、三星半导体、摩托罗拉、飞利浦半导体、意法半导体、亿恒半导体、科胜讯、ADI公司、安捷伦、高通公司、Atmel、Intersil、Alcatel、Altera、Cirrus Logic、Linkup、Parthus、LSI Logic、Micronas,Silicon Wave、Virata、Portalplayer inc.、NetSilicon,Parthus

Page 43: CPS计算机体系结构 - hnu.edu.cn

ARM体系结构

ARM7采用冯.诺依曼体系

ARM9采用哈佛体系

对汇编程序员透明

ARM架构

◼ V1版架构

◼ V2版架构

◼ V3版架构

◼ V4版架构

◼ V5版架构

ARM流水线

◼ ARM7的三级流水线

◼ ARM9的五级流水线

Page 44: CPS计算机体系结构 - hnu.edu.cn

GPU

GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。

GPU 加速器于 2007 年由 NVIDIA® 率先推出,现已在世界各地为政府实验室、高校、公司以及中小型企业的高能效数据中心提供支持。

GPU 能够使从汽车、手机和平板电脑到无人机和机器人等平台的应用程序加速运行.

GPU 加快软件应用程序的运行速度:

1)GPU 加速计算可以提供非凡的应用程序性能,能将应用程序计算密集部分的工作负载转移到 GPU,同时仍由 CPU 运行其余程序代码。

2)从用户的角度来看,应用程序的运行速度明显加快.

Page 45: CPS计算机体系结构 - hnu.edu.cn

GPU 与 CPU 性能比较

理解 GPU 和 CPU 之间区别的一种简单方式是比较它们如何处理任务。CPU 由专为顺序串行处理而优化的几个核心组成,而 GPU 则拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构。

Page 46: CPS计算机体系结构 - hnu.edu.cn

CPU vs.GPU

延迟优化几个执行线程每个线程都快速执行串行码很多缓存

吞吐量优化大量的执行线程每个线程执行较慢并行代码大量的内存带宽

Page 47: CPS计算机体系结构 - hnu.edu.cn

FPGA

◼ Field Programmable Gate Array◼ 现场可编程门阵列◼ FPGA与CPLD(复杂可编程逻辑器件)

◼ 可编程逻辑器件◼ CPLD是基于与或阵列的◼ FPGA是基于查找表(Look-up-Table )

◼ 可重构的计算◼ 嵌入式处理器,片内可编程

◼ FPGA特点◼ 静态可重复编程◼ 动态在系统重构

◼ 硬件的功能可以像软件一样通过编程来修改◼ 极大地提高了电子系统设计的灵活性和通用性◼ 缩短了产品的上市时间◼ 降低了电子系统的开发成本

Page 48: CPS计算机体系结构 - hnu.edu.cn

FPGA的架构

◼ 基于SRAM结构的FPGA(Xilinx)

◼ PLD结构(Altera)

◼ 基于多路选择器结构(Actel)

◼ 其他

◼ 目前主流是SRAM和PLD结构

◼ 各个公司都有自己的专利技术

◼ 结构和CAD技术密切相关

S S

S S

L

L L

LL

L

L LL

CLB可配置逻辑块

Switch Box交换布线盒

Page 49: CPS计算机体系结构 - hnu.edu.cn

FPGA:高性能、低能耗、可编程

与其它计算载体如CPU与GPU相比,FPGA具有:

1)高性能;

2)低能耗;

3)硬件可编程的特点。

右图介绍了FPGA的硬件架构,每个FPGA主要由三个部分组成:

1)输入输出逻辑,主要用于FPGA与外部其他部件,比如传感器的通信;

2)计算逻辑部件,主要用于建造计算模块;

3)以及可编程连接网络,主要用于连接不同的计算逻辑部件去组成一个计算器。

Page 50: CPS计算机体系结构 - hnu.edu.cn

FPGA的编程模式

在编程时,我们可以把计算逻辑映射到硬件上,通过调整网络连接把不同的逻辑部件连通在一起去完成一个计算任务。

如:要完成一个图像特征提取的任务,我们会连接FPGA的输入逻辑与照相机的输出逻辑,让图片可以进入FPGA。然后,连接FPGA的输入逻辑与多个计算逻辑部件,让这些计算逻辑部件并行提取每个图片区域的特征点。

最后,我们可以连接计算逻辑部件与FPGA的输出逻辑,把特征点汇总后输出。

由此可见,FPGA通常把算法的数据流以及执行指令写死在硬件逻辑中,从而避免了CPU的Instruction Fetch与Instruction Decode 工作。

速度不是一般的高!

Page 51: CPS计算机体系结构 - hnu.edu.cn

高性能

一般CPU每次只能处理4到8个指令,在FPGA上使用数据并行的方法可以每次处理256个或者更多的指令,让FPGA可以处理比CPU多很多的数据量。在FPGA中一般不需要Instruction Fetch

与Instruction Decode, 减少了这些流水线工序后也节省了不少计算时间。微软的研究人员分析了CPU、GPU以及FPGA

对BLAS的加速以及能耗。右图对比了FPGA以及CPU、GPU执行GaxPy算法每次迭代的时间,相对于CPU,GPU与FPGA都达到了60%的加速。图中显示的是小矩阵运算,随着矩阵的增大,GPU与FPGA相对与CPU的加速比会越来越明显。

Page 52: CPS计算机体系结构 - hnu.edu.cn

低能耗

FPGA相对于CPU与GPU有明显的能耗优势,主要有两个原因:1)FPGA中没有Instruction Fetch与Instruction Decode,在Intel的CPU里面,由于使用的是CISC架构,仅仅Decoder就占整个芯片能耗的50%;在GPU里面,Fetch与Decode也消耗了10%~20%的能源。2)FPGA的主频比CPU与GPU低很多,通常CPU与GPU都在1GHz到3GHz之间,而FPGA的主频一般在500MHz以下。如此大的频率差使得FPGA消耗的能源远低于CPU与GPU。右图对比了FPGA以及CPU、GPU执行GaxPy算法每

次迭代的能源消耗。可以发现CPU与GPU的能耗是相仿的,而FPGA的能耗只是CPU与GPU的8%左右。由此可见,FPGA计算比CPU快60%,而能耗只是CPU的1/12,有相当大的优势,特别在能源受限的情况下,使用FPGA会使电池寿命延长不少。

Page 53: CPS计算机体系结构 - hnu.edu.cn

硬件可编程

相对于ASIC而言,FPGA是可硬件编程的。如图显示了传统FPGA开发流程与C-to-

FPGA开发流程的对比。在传统的FPGA开发流程中,我们需要把C/C++写成的算法逐行翻译成基于Verilog的硬件语言,然后再编译Verilog,把逻辑写入硬件。

FPGA编程新模式:从C直接编译到FPGA,已在百度广泛被使用。在C-to-FPGA开发流程中,我们可以在C\C++的代码中加Pragma, 指出哪个计算Kernel应该被加速,然后C-to-FPGA引擎会自动把代码编译成硬件。效率提升了10倍以上。

Page 54: CPS计算机体系结构 - hnu.edu.cn

典型计算结构

ARM922T

+Cache

+MMUSDRAM

ControllerEBI UART

Config-

uration

Logic

Master

FPGA

Master(s)

AHB1-2

Bridge

Master

Slave

FPGA

-To-

Stripe

Bridge

Dual-

Port

SRAM0

Single-

Port

SRAM0

Slave

Master

AHB1

Slave

Master

Stripe-

To-

FPGA

Bridge

AHB2

嵌入式处理器部分

SDR/DDR

SDRAMFlash

User Module

Requiring Direct

Access Dual-

Port SRAMs User’s Slave Module in tne FPGA

FPGA部分

AHB

Slave

Port

Port A Port B AHB

Master

Port

Page 55: CPS计算机体系结构 - hnu.edu.cn

四、并行

Page 56: CPS计算机体系结构 - hnu.edu.cn

并行与并发

嵌入式计算应用程序通常“一次”执行多项操作

如果任务在概念上同时执行,则称其为“并发”

如果任务在物理上同时执行,则称其为“并行”

Page 57: CPS计算机体系结构 - hnu.edu.cn

并行

时间并行 —— 流水线空间并行

——CISC(复杂指令集计算机)指令

——RISC——字节并行——超标量——VLIW(超长指令字)——多核

Page 58: CPS计算机体系结构 - hnu.edu.cn

并行

并行处理——同时对多个任务或多条指令、或同时对多个数据项进行处理

并行处理计算机系统——完成并行处理的计算机系统。

指令级并行

循环级并行

过程级并行

子程序级并行

作业级并行

Page 59: CPS计算机体系结构 - hnu.edu.cn

并行

指令级——ILP:并行运行来自一个流的多个指令(流水线操作)

线程级——TLP:同时运行多个指令流

数据级——DLP:同时对多个数据运行相同的操作

算法?例如排序问题

Page 60: CPS计算机体系结构 - hnu.edu.cn

多核

什么是核?

独立的指令执行和控制单元,独立的功能部件,独立的控制器。完整的指令流水线。

为什么要采用多核技术?

Page 62: CPS计算机体系结构 - hnu.edu.cn

Inter-Core Bus Interface

Pentium D with 975X Chipset

Memory

Controller

Hub

I/O Controller

Hub

DD

R2 M

em

ory

PCI Express x16

6 PCI

4 Serial ATA Ports

6 PCI Express x1

High-Definition Audio

2 PCI Express x8

or

DMI (2 GB/s)

1066 / 800 MHz FSB

Core 1

L2 Cache

(for Core 1)

Core 0

L2 Cache

(for Core 0)

6 USB 2.0

Intel Matrix StorageBIOS SupportIntel Pro 1000 LAN

Page 63: CPS计算机体系结构 - hnu.edu.cn

多核的并行运行

Page 64: CPS计算机体系结构 - hnu.edu.cn

异构计算

◼ 异构计算近年来得到了业界的普遍关注,主要是因为通过提升CPU时钟频率和内核数量来提高计算能力的传统方式遇到了散热和能耗瓶颈。

◼ 而GPU的单个处理单元(比如流处理器)虽然性能不及CPU的一个内核,但它具备大量的处理单元,所以并行运算能力是相当强的。