东南大学soc课件13 可重构计算(3学时)
课程大纲_SoC设计方法与实现
《系统级芯片(SoC)设计》课程教学大纲一、课程基本信息课程代码:课程名称:系统级芯片(SoC)设计学时/学分:32/2学时分配:授课:24 实验: 8适用专业:集成电路设计与集成系统、电子信息技术、微电子、计算机工程授课学院:微电子学院、计算机学院先修课程:电子线路基础、数字逻辑电路、超大规模集成电路设计专用语言同修课程:教材及主要参考书:教材:魏继增、郭炜等编《SoC设计方法与实现》(第4版), 电子工业出版社,2021。
参考书:(1)田泽著,《SoC设计方法学》,西北工业大学出版社,2016(2)潘中良,《系统芯片SoC的设计与测试》,科学出版社,2009二、课程简介通过该课程的学习,使同学们掌握SoC设计的概念、设计流程、IP复用方法、SoC验证与测试、SoC低功耗设计和后端设计。
通过上机实践锻炼SoC设计仿真与验证的能力,通过课程设计,培养学生进行系统级芯片设计、文献检索、综合分析、EDA软件使用、沟通交流、团队合作等能力。
三、课程目标1. 工程知识能力:掌握系统级芯片的概念、架构、设计方法和技术等专业知识,并能够正确应用这些专业知识对系统级芯片的工程问题进行表述和分析;2.设计开发能力:能够针对具体的应用需求,提出系统级芯片的设计原型方案,体现创新意识,并正确使用EDA工具软件对提出的系统级芯片设计方案进行实现、仿真和验证。
3. 沟通合作能力:能够根据系统设计需求,进行团队合作,完成团队分配的工作,撰写设计方案,能够清晰地进行陈述发言表达自己的设计思想,与他人进行沟通和交流。
4. 情感素质:让学生了解国内集成电路行业面临的挑战,激发学生的兴趣与责任感,具有投身奉献集成电路行业的热情;通过SoC设计技术的研讨,使学生意识到精益求精的重要性;通过实验和课程设计环节,使学生在设计环节中要考虑社会、健康、安全、法律、文化以及环境等因素,培养成诚实守信、严谨求真等工程伦理素养。
四、基本要求本课程涉及了数学、物理、电工电子、计算机、超大规模集成电路设计等领域相关理论基础与专业知识,与工程应用密切联系,具有很强的实用性。
东南大学信息科学与工程学院2013级课程描述
学生了解近现代中国在改革浪潮中的大事变。
26 马克思主义基本原理必修 3 48 主要介绍马克思主义及其原理,包括世界的物质性及其发展规律,事物的普遍联系与发展,客观规律性与主
41 军事地形学与野外生存选修 2 33 介绍现代战争中地形对战略和战术的影响、现代军事侦查技术对士兵技能的要求、野外生存必备的生物、物
54 大数据(卓工)限选 2 32 内容包括大数据技术基本原理和Hadoop 的基础知识,了解SQL语言。
68 系统试验(通信组)限选 1.5 48 内容包括信道的定义、分类及模型,模拟调制系统的基本原理、性能指标及分析设计方法,让学生掌握数字。
东南大学计算机结构与逻辑设计课件ppt 1
十进制数 N 0
NBCD (8421)码 0000
余 3码 0011
2421码 0000
循环码 0000
1
2 3 4 5 6 7
0001
0010 0011 0100 0101 0110 0111
0100
0101 0110 0111 1000 1001 1010
0001
0010 0011 0100 1011 1100 1101
16
4位二进制码、循环码
十六进制数h 二进制数b 循环码
0 1 2 3 4 5 6 7 8 9 A B C D E F
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000
取n-1位,将符号位添加上得1111,0011。 在2的补码系统中完成二进制数+72d与-13d的加法运。+72d的补码为01001000, -13d的2的补码是11110011,将两数相加,结果仍然是一个补码,对应数为+59d。
01001000 + 11110011 100111011 舍去
19
1.2.2.2 二进制的基数减1补码(R-1补码,反码)
10
1
计算机中的数制和码制
1.1 计算机中的数制、权的概念 1.2 计算机中的数的表示方法与格式
11
1.1 计算机中的数制、权的概念
1.1 .1 十进制
基数 di[0,1,…,9] 1.1 .2 R进制
东南大学soc课件9 SoC各种接口模块(2学时)讲解
17
USB数据传输过程
• 主机控制器首先产生令牌包( token packet),表明传输类型 、传输方向(传输方向由主机的观 点决定,输出传输表明数据由主机 发往设备,输入传输表明数据由设 备发往主机)、以及目标设备的终 端地址。 • 目标设备接收令牌包后,根据令牌 包指定的传输方向,返回数据或是 接收来及主机的数据。 • 数据传输完成后,握手包用于表明 传输完成情况。对于输出传输,响 应信号由设备产生;对于输入传输 ,响应信号由主机产生。
15
USB系统的级联星型拓扑结构
• • •
主机包含有主机控制器和根集线器(root hub),控制USB总线上的数据传输。USB系统只能有一个根集线 器,它连接在主机控制器上。主机有时也集成集线器,用于扩展主机的连接端口数量。 集线器是USB系统的特定组成,提供端口(Port)将功能设备连接到USB总线上,同时检测连接在总线上的 设备,并为这些设备提供电源管理,负责总线的故障检测和恢复。通过集线器,USB系统最多可以连接127 个功能设备。 功能设备通过端口与总线连接。集线器与功能设备可由主机通过USB总线提供能源,也可由自身提供能源( 通过自身外部电源接口)。需要注意的是,主机通过USB总线提供电源存在电流限制。USB总线可以提供 5V电源供连接的外设使用。USB总线提供的电流较低,100mA到500mA之间,对于鼠标、U盘等外设是足 够的,对于需要大电流的外设来说,需要自身供电。
SPI和触摸屏的协同工作举例
中断 信号 G P I O 中断控 制器 A/D芯片中 断服务 中断 是 发数 据 触 摸 屏 电压 采集 A/D 芯片 S P I 否 挂起或 忽略
SEP4020
目录
• 低速通信接口控制器
– UART – SPI
教学大纲东南大学计算机科学与工程学院
掌握多处理机中并行开发语言、编译程序、并行算法方面并行性开发的基本原理。
6.多处理机操作系统
掌握多处理机操作系统的类型及其实现技术。
实验内容和基本要求
内容:在给定的假设条件下,进行指令系统和存储系统的设计。
目的:掌握指令系统和存储系统设计的基本原理和方法。
要求:设计指令系统的同时,进行相关系统结构内容的设计。
第三章存储系统
1.存储系统设计基本原理
掌握存储系统的构成及其设计原则—访存局部性原理。
2.高速缓冲存储器(Cache)
掌握Cache基本结构和工作原理,研究地址映象与变换、替换策略和更新策略的工作原理和设计方法,分析影响Cache性能指标的因素及优化方法。
介绍先进的Cache结构和一致性处理方法(MESI)。
3.虚拟存储器
以Pentium为例,掌握虚拟存储器的结构与实现技术。
第四章标量流水技术
1.标量流水工作原理
介绍重叠、先行控制到流水线的发展,掌握标量流水工作原理、分类原则、性能指标及其分析、评价方法。
2.流水操作中的主要障碍
掌握流水操作中的几种相关产生原因及其解决方法,介绍Pentium系列处理器全局相关的先进处理方法—动态预测转移技术。
对学生能力培养的要求
1.掌握计算机系统结构的基本概念、组成部分及设计原则。
2.掌握计算机系统结构各组成部分的分析、设计原则和方法。
3.掌握现代微机所采用的流水技术工作原理和实现方法。
4.掌握计算机并行处理技术和并行程序设计方法。
课程学时分配表
教学内容
讲课
学时
实验
学时
上机
学时
习题课
其他
计算机系统结构含义、组成、分类、设计准则
soc课程设计
soc课程设计一、课程目标知识目标:1. 学生能够理解并掌握soc(社会学科)基本概念,如社会结构、文化差异和社会制度等;2. 学生能够描述并分析我国及世界各地的社会现象,了解不同文化背景下的社会行为规范;3. 学生能够运用所学知识,对现实生活中的社会问题进行思考,提出合理的观点和建议。
技能目标:1. 学生通过小组合作、讨论等方式,提高沟通协作能力;2. 学生能够运用批判性思维,对社会现象进行分析和评价;3. 学生掌握基本的社会调查方法,能够独立完成简单的调查报告。
情感态度价值观目标:1. 培养学生对社会学科的兴趣,激发学习热情;2. 增强学生的社会责任感和公民意识,使其关注社会问题,积极参与社会公益活动;3. 培养学生的包容性和尊重多元文化的态度,使其形成正确的价值观。
本课程针对年级特点,结合学科性质,注重培养学生的实践能力和综合素质。
课程目标具体、可衡量,旨在帮助学生掌握基础知识,提高分析问题和解决问题的能力,同时培养其情感态度价值观,使其成为具有社会责任感和创新精神的优秀学子。
二、教学内容1. 社会结构:介绍社会阶层、家庭、社会组织等基本概念,分析其功能和作用。
教材章节:第一章《社会学的基本概念》内容列举:社会阶层的形成与功能;家庭结构与功能;社会组织类型及作用。
2. 文化差异:探讨世界各地的文化现象,分析文化差异的原因及其影响。
教材章节:第二章《文化人类学》内容列举:文化概念及其分类;文化差异的表现与原因;跨文化交流的意义与挑战。
3. 社会制度:讲解社会制度的基本类型,分析其对个体和社会的影响。
教材章节:第三章《社会制度》内容列举:社会制度的定义与功能;现代社会制度类型及运作机制;社会制度的变革与影响。
4. 社会问题:探讨现实生活中的社会问题,分析其原因、影响及解决办法。
教材章节:第四章《社会问题》内容列举:社会问题的概念与分类;我国当前的主要社会问题;解决社会问题的策略与方法。
5. 社会调查方法:介绍社会调查的基本方法,培养学生实际操作能力。
东南大学信息学院-计算机结构与逻辑设计课件(MSI电路)
0 1 2 3 4 5 6 7 B0
从数据选择器的输出(F)是否
为低电平可以判断A与B是否相 1 等。——数据比较器 &
0 0
EN
0 0 1 2 3 4 5 6 7
7
BIN/OCT
A2 1 A A1 0 A0 1
4 2 1 0 1 2 3 4 5 6 7
1
0
0
&
EN
1 1 1 1 1 0 1 1
CO
CO Y1 B CI A 0 S Y2 1 1 00 01 1 1 11 10 1
4,0 4,1 4,2 4,3 5,0 5,1 5,2 5,3
S
二,思考题
译码器与数据选择器在电路结构
上有何异同? 用译码器与用数据选择器实现组 合逻辑函数的方法有何异同?各 有什么优、缺点?
学习总结
组合逻辑设计方法 用途: 非常大——接口逻辑 基本方法: 最小化——必须掌握,是计算机辅助逻 辑简化的理论支撑 标准化——方便、清楚、易修改,硬件 软化,是可编程器件的结构支撑
&
?
& EN
1
0 0
0 1 2 3 4 5 6 7
S
&
CO
CO = f(A,B,C) = Σ m ( 3, 5, 6, 7) S = f(A,B,C) = Σ m ( 1, 2, 4, 7) 0 A B C 0 0 0 1 0 1 1 1 EN MUX 2 0 1 G– 7 0 0 1 2 3 4 5 6 7 0 A B C 0 1 1 0 1 0 0 1 EN MUX 2 0 1 G– 7 0 0 1 2 3 4 5 6 7
0 B2 1 B B1 0 B0 1
嵌入式系统PPT课件
– 设计过程应该是逐步细化和逐步完善的过程
• 面向对象的方法 以类及交互模式为中心
27
系统软件结构的设计
• 结构化方法(SA/SD) • 面向对象的方法(OOA/OOD)
– UML建模
28
结构设计的验证
• 结构设计的正确性非常关键 – 详细设计和实现的基础,对开发周期、成本有很大影响
• 验证所关心的问题 – 结构设计是否满足功能、性能要求 – 能否实现
• 软硬件协同设计 • 功耗的优化设计 • 嵌入式操作系统 • 开发环境 • 成本和开发周期 • 代码优化 • 高效的输入和输出 • 测试环境
7
嵌入式系统软件技术面临的几大问题
• 嵌入式软件全生命周期开发工具链 • 硬件与软件的Co-Design: Verilog + C = ? • 驱动程序的设计和生成技术(嵌入式软件开发中
– EDA设计工具
东南大学《数据结构与算法》PPT课件 JypDs10
Binary tree with n nodes has n+1 null links and therefore will have n+1 square nodes.
• internal path length, I, of a binary tree---the sum over all internal nodes of the lengths of the paths from the root to those nodes.
JYP
8
For Fig. 10.3(a): I=0+1+1+2+3=7, E=2+2+4+4+3+2=17
• internal nodes---original nodes.
• extended binary tree---a binary tree with external nodes added.
• external path length, E, of a binary tree---the sum over all external nodes of the lengths of the paths from the root to those nodes.
If we number the nodes in a complete binary tree as before, the distance of node i from the root is
log 2i
so
I log2i O(nrn to the problem of finding an optimal binary search tree for a set of identifiers to be searched with different probabilities.
东南大学soc课件10 芯片验证(3学时)
– The design size is limited only by the computing resource. – Simulation can be started as soon as the RTL description is finished. – Set-up cost is minimal.
Design Creation
RTL
Design Implementation
Gate Gate
Physical Implementation
GDSII
4
Where are the Bugs?
• Functional specification
– system or behavior-level descriptions
25
观察仿真波形(续)
• 看arm是否正常取指令运行
– 先取0x0地址中的跳转指令(e开头的指令), 内容是否正确可参考asc文件中的第一行。 – 下一个取的地址就不是0x4,而是根据跳转指 令而跳转到其它地址去取指令
26
观察仿真波形(续)
• 观察AMBA总线的信号是否正确 • 先看HTRANS信号
• 在testbench中所加的复位和时钟信号的激 励下
– arm在复位后从0x0地址取指令运行 – 0x0地址一般为片选CSA所接的存储器
24
观察仿真波形
• 普通、简单、基础而又易被忽视的信号!
– CLK – RESET_N
• 但是无论在仿真还是测试中都是最重要的 信号!!!
•CLK •RESET_N
5
Percentage of Total Flaws
Power Race 4% 5% Clocking 5% Yield 7% Noise 12%
可重构计算
可重构计算
可重构计算基于现场可编程门阵列——— FPGA.FPGA的编程技术主要有两种:一种是反 熔丝技术,即通常所说的电可擦写技术,但是这种技 术的可重构实时性太差;另一种是基于静态存储器 ( SRAM)可编程原理的FPGA编程技术,这种硬件 包含计算单元阵列,这些计算单元的功能由可编程 的配置位来决定.当前大多数的可重构设备是基 于静态存储器的,其实现计算单元的粒度随不同的 系统要求而不同.
可重构计算
传统的计算方式有两种: 一种是采用对通用微处理器进行软件编程 的方式,软件的方式通用性好, 但运算速度不 高 一种是采用A S IC 的方式. A S IC 方式处理 速度快, 但只能针对特定的算法, 通用性不 好
可重构计算
可重构计算(Reconfigurable Computing) 是在 软件的控制下, 利用系统中的可重用资源, 根据应 用的需要重新构造一个新的计算平台, 达到接近专 用硬件设计的高性能.具有可重构计算特征的系统 称为可重构系统. 简单地说,就是利用FPGA 逻辑实现计算任 务.有的称作自适应计算(adaptive computing) , 也有的称之为FPGA 计算.
3.独立处理单元模式 独立处理单元模式 属于这类系统的可重构逻辑部分一般包含多个 FPGA .这是一种最松散的耦合形式. 4.SoPC模式 模式 处理器,存储器和可编程逻辑集成在同一个 FPGA 芯片上, 称为单芯片可重构计算系统 (SoPC) .这种系统中CPU 和FPGA仍然是紧密 耦合的结构, 同时片上存储系统和CPU 与FPGA 接口能力则进一步提高了系统的性能.以往的 SoC (System on chip) 设计依赖于固定的ASIC , 而SoPC是以可编程逻辑器件取代ASIC , 越来越 多地成为系统级芯片设计的首选.
可重构计算
当前可重构计算或系统需要解决的问题
(1) 粒度问题.细粒度的可重构电路面积的使用 效率很低. (2) 如何改进结构来减少重构时间.在数据重载 时,FPGA端口对外呈高阻状态,重载后,才恢复对 外的逻辑功能.这就是所谓的重构时隙,将影响 系统功能的连续.如何克服或减少重构时隙,是 实现动态重构系统的瓶颈问题. (3) 数据传输和存储问题.现在的可重构芯片提 供的片上存储器太少,因而,许多重构计算的应用 需要更大的外部存储器.当前设计中,最迫切需 要优化解决的问题是Memory带宽和能耗.
可重构计算
可重构计算基于现场可编程门阵列——— FPGA.FPGA的编程技术主要有两种:一种是反 熔丝技术,即通常所说的电可擦写技术,但是这种技 术的可重构实时性太差;另一种是基于静态存储器 ( SRAM)可编程原理的FPGA编程技术,这种硬件 包含计算单元阵列,这些计算单元的功能由可编程 的配置位来决定.当前大多数的可重构设备是基 于静态存储器的,其实现计算单元的粒度随不同的 系统要求而不同.
可重构计算的分类
可重构计算又可按重构发生的时间分为静态重构 和动态重构. 静态重构是指在可重构件运行之前对其进行预先 配置, 在运行过程中其功能保持不变, 即运行过程 中不能对其进行重构. 动态重构是指在可可重构件运行的过程中可根据 需要对其实时进行配置, 改变其电路结构, 实现不 同的功能.
可重构计算系统的分类
Garp 是加州大学伯克利分校提出的一种可重构体系结构, 其 结构如图2 所示. 该结构中, 可重构阵列与一个通用的MIPS 处理器构成了一个混合式计算系统, 可重构阵列与通用处理 器共享内存和数据缓冲, 二者之间形成一种主协处理器的关 系. 该结构的优点是兼具了通用处理器的灵活性和可重构部 件的高速性. 通用处理器完成通用程序的处理, 对于特定的 循环和子程序, 则由可重构阵列在通用处理器的控制下实现 加速处理. Garp 结构一般集成在一个芯片上, 形成一个片上 系统.
东南大学计算力学课件(研究生课程) 第1章 概论 计算力学基础
列向量: ae 或 a1
an T
或
a1
an
行向量: N , N 或 N1
Nn
k11
k1n
一般矩阵:K , K 或
kn1
knn
向量或矩阵出现在另一向量或矩阵中一般用 表示,例如:
Kii K ji
K K
ij jj
但是在建立这三方面条件时,采用了不同的分析方法。材料力学是对构件 的整个截面来建立这些条件的,因而要常常引用一些截面的变形状况或应力 情况的假设。
• K.J.Bathe, Finite Element Procedures in Engineering Analysis.(工程分析中的有限元法,巴斯著,傅子智译, 1991)
2 工程科学中的两个典型问题
1) 离散系统
在工程技术领域内,经常会遇到两类典型的 问题。其中的第一类问题,可以归结为有限个 已知单元体的组合。例如,材料力学中的连续 梁、建筑结构框架和桁架结构。我们把这类问 题,称为离散系统。
计算力学
东南大学土木工程学院
《计算力学》课程概况
1.基础理论部分结构工程专业 研究生必选学位课,授课学时:54(4h/w), 有中间作业,课程结束后闭卷笔试,总分 70分。
2.结构有限元基础程序部分 完成课后程序编制大作业,课时: 18(4h/w) , 总分30分,结合基础理论成绩综合考核, 确定成绩。
提出了许多近似方法。
图2
3 场问题的一般描述
---微分方程+边界条件
1) 应力场----弹性力学 2) 温度场----热传导 3) 电磁场----电磁学 4) 流速场----流体力学
东南大学信息学院-计算机结构与逻辑设计课件(门电路)
AB
00 01 11 10 CD AB 00 01
10 CD
1
1
1
00 01 11 10 1 1 1 ×
AB 00
00 01 11 10 1
01
11 10 1
1
1 ×
1 1
11
10
×
1
1
1
× ×
CD
CD 00 01 11 10 01
1 1 1 1 1 1 1 1 AB 00 01 11 11 10 10 1 1 00 01 11 10 1 1 1 1 1 1
b1100,0011,1000,0000, …… 0000
-1.0 ×21031-1023= -1.0 ×28 =-100000000
读书的方法
每个规定都有其道理,对计算机而 言,就是方便运算,
b1100,0011,1111,0000,……0000
0.9375 ×16 67-64 阶码第一位是1代表正阶,第一位是0代表 负阶;后面则是需要左移或右移的节数。 -1.0 ×21031-1023
第二章
逻辑代数与代数函数 逻辑代数是一个代数系统,包含5条公理 ( 3个基本运算)、10条定理、3个规则 和若干公式。 关键是从逻辑的角度而不是从数的角度 去思考问题,要记住那些与普通代数不 同的定理和公式,不能乱用普通代数的 方法。要能与日常生活的各个现象相联 系思考。
逻辑函数是用逻辑代数描述的逻辑命题, 首要的问题是能用逻辑代数来描述周围 的事物,注意逻辑指定与约束问题。 逻辑函数的描述方法很多 规则描述方法:真值表(完全、不完 全)、卡诺图、标准表达式(最小项之 和、最大项之和)、空间图形(点阵)、 集合图示、波形图(完全、不完全) 、 HDL 非规则描述方法:逻辑表达式(与或型、 或与型,其他复合类型)、逻辑图、空 间图形(阵列)、HDL
东南大学C++总课件
3. 逐步提高学生的编程能力和调试程序的能力。
为后面的学习打好基础。
C++ &
Object Oriented Programming
课程简介
第1章 概述 1.1计算机程序设计语言的发展(一般了解) 1.2面向对象的方法(一般了解) 1.3面向对象的软件开发(一般了解) 1.4信息的表示与存储(理解) 1.5程序的开发过程(一般了解) 1.6小结
程序结构:
按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一 模块内部均是由顺序、选择和循环三种基本结构组成。 其模块化实现的具体方法是使用子程序。
Func1 ( ) Func4 ( )
Main ( ) Func2 ( ) Func5 ( )
Func3 ( )
编 译 程 序
目 标 程 序
初
目
运
始
标
行
数
程
结
据
序
果
高级语言发展:
第一代语言是对数学表达式有很强的运算处理能力 代表是Fortran 和Algol 60
第二代语言的重点如何有效地表达算法 代表是Pascal 和C
第三代语言引入抽象数据类型的程序设计语言 代表是Ada被认为是基于对象的语言
第四代面向对象程序设计语言 代表是Smalltalk、Eiffel、c++、Java
语言的鸿沟
自然语言 自然语言
面向对象的语言 面向对象的语言 非面向对象的语言 非面向对象的语言
汇编语言 汇编语言
机器语言 机器语言
客观世界 (问题域)
对问题域的认识(人〕 对问题域的认识(人〕
语语言言的的鸿鸿沟沟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
e
2
f
路由配置
e
1
f
2
3
g
4
h
5
i
3
g h i
4
5
6
7
6
7
图即电路: 应用程序的数据流图通过compiler可 直接映射到电路上 电路即图: 配置信息可以改变电路的datapath, 互连采用点对点直接互连
26
2D运算
时间维: 时间上,数据流在阵列中逐级 传递。 空间维: 空间上,可以有多个功能单 元同时执行。
• 手工完成对可重 构阵列的功能以 及Memory进行 配置
全自动编译
半自动编译
手工映射
电路即图
图 即 电 路
PE配置 1 2
1 2
3
4
5
3
4
5
6
7
6
7
图即电路: 应用程序的数据流图通过compiler可 直接映射到电路上 电路即图: 配置信息可以改变电路的datapath, 互连采用点对点直接互连
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
t=1
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
t=2
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
互连方式
cros流水方式
可变流水
• 软件确定流水路径 • 优点 – 阵列利用率高 – 流水级数和并发数不定,调度空间大 • 缺点 – 流水技术不固定,增加硬件开销 PE – 映射过程困难
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
灵活性(适用范围)
不灵活
部分灵活
充分灵活
芯片面积成本不再制约性能目标
Cost Per Transistor Reduction
22nm之后,成本下降 已经不是追求目标, 而提升性能成为主要 任务。
可重构计算
• 可重构计算研究背景 • 可重构计算发展历史 • 关键问题
可重构计算概念的产生与定义
• 概念的产生
一次完成多个PE的配 置工作 提供大量的局部互连 资源,存储局部化 可以映射循环和分支 ,一次配置可以多次复 用。
可重构计算与通用/专用计算的比较
100-1000
通用计算
能效(单位:MOPS/mW)
可重构计算
专用计算
专用集成电路ASIC
10-100
可重构处理器
1-10
可编程DSP
0.1-1
通用处 理器GPP
矢量处 理器
从性能角度: 改变传统RISC处 理器等架构1D 的计算模式,引 入2D运算——时 间维度和空间维 度。
RISC
CISC
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
可重构 计算
东南大学
性能对比
EGRA 2009
主控核和可重构阵列的耦合程
度加深: 紧耦合:协处理器、共享寄存 器组等方式
REMARC 1998 MorphoSys 1999
Chameleon 2000 ADRES MorphICs 2003 2000 XPP 2003 Zippy 2003
可重构处理器的发展回顾
探索期
PADDI 1990
高速发展期
新起点
Matrix 1996 RaPID 1996
CHESS 1999
DReAM 2000
RAW 1997 PipeRench 1998
EGRA 2009
数据流处理流水化: 三级流水操作(装载、 执行、写回)
REMARC 1998 MorphoSys 1999
Chameleon 2000 ADRES MorphICs 2003 2000 XPP 2003 Zippy 2003
– 大规模并行计算对数据量的 高要求 – 处理器和存储器的速度差异 增大 – 存储瓶颈凸显
• 控制流处理
CONTEXT MEMORY
2013-6-4
– 面向新一代复杂的媒体应用 – 传统架构的弱项,制约性能
软件编译器的发展
• 并行编程模型 • 软硬件自动划分 • 手工软硬件划分 • 数据流部分源码 转换 • 分析算法的DFG • 对DFG进行自动 的布局布线及代 码生成工作 • 编译工具自动生 成可执行代码
硬件架构的发展
Zippy
• 混合架构 – 主控核+可重构阵列 • RPU的设计 – Buffer、FIFO等形式的局 部存储结构和DMA等 – 控制器
Morphosys
PipeRench 1998 REMARC 1998 Chameleon 2000 MorphICs 2000
ADRES 2003 XPP 2003
2013-6-4
ADRES 2003
Chameleon 2000 MorphICs 2000
XPP 2003
Zippy 2003
架构设计中的关键问题
主控核 (RISC)
• 阵列设计
– 计算的核心,长久的主题
• 存储体系
RPU
RCA
LOAD & STORE CONTROLLER
DATA MEMORY
or
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
PE PE PE PE PE PE PE PE PE PE PE PE
互连方式
8NN
设计空间探索
REMARC 1998 MorphoSys 1999
Chameleon 2000 ADRES MorphICs 2003 2000 XPP 2003 Zippy 2003
可重构处理器的发展回顾
探索期
PADDI 1990
发展期
PADDI-2 1993 DP-FPGA 1994 Garp 1997 Pleiades 1997
通信标准、媒体标准等不断演进,要求芯片有通用性,以适应市场的需求
通信标准
媒体标准
芯片通用性要求增加
东南大学
6
芯片通用性要求增加
• SoC系统为了实现多种功能,传统做法需 要增加特定程序的硬件加速器,因此对芯 片的通用性提出更高的要求。
ARM A9 2D/3D Graphic Engine ISP GPS GSM/CDMA Video WiFi Codec Baseband Baseband Baseband 可重构处理器 Engine Engine Engine Engine Bus Matrix
电路即图
a b c d
图 即 电 路
Reg配置 1
e
a
b
c
d
2
f
1
e f
2
3
g
4
h
5
i
3
g h i
4
5
6
7
6
7
图即电路: 应用程序的数据流图通过compiler可 直接映射到电路上 电路即图: 配置信息可以改变电路的datapath, 互连采用点对点直接互连
25
电路即图
a b c d
a
b
c
d
图 即 电 路
Money
Scaling-down
3
Foundry费用增高
16nm ~12-15B $ 22nm ~8-10B $ 32nm ~5-7B $ 45nm ~3.5-5B $ 65nm ~2.5-3B $
$$$$$$
Golden Moore
Money
Scaling-down
通信、媒体、导航标准不断发展
C源程序代码 传统汇编代码
if (addflag) {
} else {
for (i=0;i<8;i++) { for (j=0;j<8;j++) { rfp[i][j]=bp[i][j]+rfp[i][j]; } } for (i=0;i<8;i++) { for (j=0;j<8;j++) { rfp[i][j]=bp[i][j]+128; } }
可重构计算
1
可重构计算
• 可重构计算研究背景 • 可重构计算发展历史 • 关键问题
东南大学
MASK费用增高
Golden Moore
4000
每套掩模成本(万美元)
3500
3000
2500 2000 1500 1000 500 0 0.18um 0.13um 90nm 65nm 工艺尺寸 45nm 22nm
…
Memory
DMA
7
多种架构的出现
多核 RISC
DSP
超标量 处理器
VLIW
ASIC
CISC 矢量处 理器
东南大学
RISC+FPGA
可重构计算的出现
Regis ter Regis ter
超标量 处理器
Regis ter Regis ter
VLIW
Regis ter Regis ter
DSP
Regis ter Regis ter
细指令 每次循环都需要对每条指令进行取指、译码的操作 寄存器堆空间有限,需要大量的访问外存操作 生成大量的跳转指令,打断流水线