0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于DDMP数据驱动处理器的计算及其设计应用

电子设计 来源:郭婷 作者:电子设计 2019-09-23 08:03 次阅读

1 、数据驱动计算概述

计算机体系结构可以分为控制流计算机和数据流计算机。控制流计算机又称为冯o诺依曼计算机,其程序的运算执行顺序是预先设置好的,按照编程者的控制(程序指针)逐条执行。现在实际应用的计算机都使用控制流机制,而数据流计算机运算的执行顺序取决于数据间的互相依赖关系和操作数的有效性,指令间没有固定的顺序,不需预先设定,更符合人们的思维习惯。

数据流计算机又可以分为两类:数据驱动和需求驱动。数据驱动计算机运算执行的顺序由输入数据的有效性决定,需求驱动计算机运算执行的顺序依赖于数据的需求。目前绝大多数数据流计算机都采用数据驱动计算技术。

数据驱动是一种不同于传统冯o诺依曼结构的先进计算结构,可以简单方便地挖掘出运算的时间并行性和空间并行性,不需要程序指针和进程调度机制。使用这种非传统的计算结构将有助于提高系统的安全性和处理能力。

如图1所示,分别用冯o诺依曼计算模型和数据驱动计算模型实现下式的运算:

R=\frac{AB-CD}{AC+BD}

具体实现如图1所示:

基于DDMP数据驱动处理器的计算及其设计应用

在数据驱动概念中,运算单元(如加减乘除等运算)称为节点,连接节点之间的通道称为弧。从图1可以看出,传统的冯o诺依曼计算结构使用程序指针控制程序的顺序执行;而数据驱动计算结构的计算顺序只由数据的依赖关系决定,只要数据到达就可以进行计算,有效地挖掘了程序的时间并行性和空间并行性,非常适合于并行处理。

数据流计算的运算顺序不是预先确定的,而是在程序运行时动态确定,采用运行时的数据依赖性作为运算顺序的判定机制。所以,数据流计算机没有程序指针,而是直接编译和运行数据流图。编译器产生一组操作数;每个操作的结果有一个或多个目的地;只要操作数有效,操作将会被安排尽快进行。

2 、数据驱动处理器DDMP

数据驱动处理器是基于数据驱动计算模型设计的、内部包含多个处理单元、使用超长自定时流水线和异步电路结构的并行处理器,具有超强的计算能力和极低的功耗。

2.1 DDMP内部结构

DDMP是Sharp公司开发的一款数据驱动处理器,内部结构如图2所示,包含10个并行处理单元nPE#0~nPE#9,这些处理单元通过一个高速路由器连接起来,每个处理单元内部具有40~60级异步流水线,该流水线全部采用自定时时钟机制,该芯片是一个真正的多处理器系统。

基于DDMP数据驱动处理器的计算及其设计应用

DDMP是一款可以商用的处理器,采用0.25μm工艺,性能为8600MOPS,供电电压为2.5V。在DDMP芯片中,10个基本数据驱动处理单元以线性结构排列,组成多处理单元系统,基本处理单元通过数据包交换网络互连。

DDMP中一个处理单元Nano PE的基本结构图中,数据首先从处理器的输入端口进入处理器,接着发往合并模块(M)。到达匹配存储器(MM)后被暂时储存起来,直到另外一个操作数到达。如果匹配(另一个操作数到达),这两部分会结合成一个操作数据包(包括操作码、目的地、颜色标志和一对操作数),被分发到适当的功能处理单元(FP)或者算数逻辑单元(ALU)进行运算。指定的操作完成后,产生一个操作结果并送往缓冲存储器(CPS)。最后,分发单元(D)按目的地将操作结果分发到相应的处理器或输出,并将旧目的地址换成新目的地址。

DDMP一个处理单元的内部各个模块(例如MM、FP和CPS)都采用自定时时钟机制,进行独立工作。在数据处理过程中,不需要任何控制,只需进行数据匹配即可。需强调的是在上述实现中,主要功能(例如MM、FP和CPS)完成的任务是相互独立的。所以,在这样的处理器中,不需要使用集中控制机制来实现运算的协调,不需要定时器来保证运算的顺序,唯一需要的是各功能模块中适当的匹配数据速率。

2.2 DDMP的特点

首先,DDMP数据驱动处理器内部具有10个并行的处理单元,具有强大的处理能力,适合图像处理、网络协议处理等复杂的应用。

其次,DDMP采用异步电路实现,功耗极低。现在大部分处理器都使用同步电路实现,同步系统拥有同一个时钟驱动,在电路运行过程中,即使是暂时不工作的部分也会随着时钟的翻转一起消耗能量。而数据驱动处理器使用异步电路实现,没有统一的时钟,其中的超长流水线使用自定时机制,即保证了高性能,又降低了功耗。

另外,DDMP为非冯o诺依曼结构的处理器,其实现原理与目前广泛使用的冯·诺依曼结构完全不同,使用专用的指令集、具有独特的专用开发环境和图形化编程语言。其开发方法和过程与传统的计算机有本质的区别。因此,使用传统技术的黑客很难对数据驱动计算系统进行有效攻击,从而提高了系统的安全性。

3、 开发环境

3.1 软件开发环境

对于数据驱动计算来说,使用图形化的编程语言更直观、自然,能够充分体现出运算中的并行性和数据依赖性。DDMP处理器的程序设计就使用专用的图形化编程语言,用来编制各种算法的数据流图。软件开发界面如图3所示,不仅能够进行数据流图的编制,还可以进行程序的编译、调试和仿真

基于DDMP数据驱动处理器的计算及其设计应用

3.2 硬件开发环境

为了将编制好的数据流图真正在硬件上调试和实现,需要有相应的硬件开发平台。目前,DDMP的硬件开发平台有两种,分别基于PCI总线和基于USB接口。DDMP通过PCI接口或USB接口与计算机通信;可以从计算机给DDMP和FPGA进行初始化、下载程序和输入数据,初始化外部存储器,并得到硬件输出的计算结果。

在基于PCI总线的开发平台中,DDMP和两个FPGA组成一个单向的通信环路,DDMP可以给FPGA1发送数据,FPGA1可以给FPGA2发送数据,FPGA2可以给DDMP发送数据。DDMP、FPGA1和FPGA2分别带有外部SDRAM;为了提高外部存储器的访问速度,FPGA配有外部SRAM。

4 、基于数据驱动计算的防火墙设计

数据驱动处理器的并行处理能力强、功耗低、安全性高,适用于图像和视频等多媒体处理、网络安全与协议处理等运算复杂度和并发性较高的应用。

嵌入式防火墙用于保护主机安全,要求自身安全性高、体积小、功耗低。DDMP可满足这些要求。

嵌入式防火墙的基本结构如图4所示。首先,进入主机的数据包被储存在缓冲区中;同时,该数据包的IP头和TCP/UDP头被传送到动态包过滤功能模块中处理。在动态包过滤模块中,使用TCP头来确定该数据包是否属于一个新的连接。如果属于,则在数据表中建立一个新的连接表项;包分类模块(分类器)使用过滤规则库检查该数据包。如果该数据包属于已有连接,则数据包状态检测器(SPI)检测该数据包是否为非法状态转移。UDP是一种无连接协议,可以使用IP地址和端口号来建立一个虚拟连接。因此,对于UDP数据包,SPI会使主机更安全。对第四层数据包头部的状态检测之后,只有安全合法的数据包进入应用层过滤器(AF)中,AF检查数据包的内容,包括URL或者E-mail附件等等。最后,合法的数据包从缓冲区中提取并通过防火墙。

基于DDMP数据驱动处理器的计算及其设计应用

基于DDMP数据驱动处理器的计算及其设计应用

嵌入式防火墙中各模块的数据依赖关系如图5所示,包括进程创建、执行和删除、分类器、数据包状态监测器SPI和应用层过滤器APF、高速数据包缓冲等等。把这些数据流变成数据流图,装入DDMP处理器,就是数据驱动防火墙系统的设计要点。

通过软件仿真和硬件测试比较,基于DDMP数据驱动处理器的嵌入式防火墙的SPI模块超过千兆的包处理能力,可满足千兆以太网的需求。

5 、总结

数据驱动计算以及数据驱动处理器,具有并行性高、处理能力强、功耗低、安全性能好的优点,虽然目前还未广泛使用,但相关的研究和开发工作一直在进行和发展。本文介绍的DDMP处理器就是基于数据驱动原理、采用异步电路和自定时流水线技术的多核心处理器,已经在图像处理、网络安全等方面取得了较好的研究成果。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18622

    浏览量

    225009
  • 存储器
    +关注

    关注

    38

    文章

    7242

    浏览量

    162599
  • 计算机
    +关注

    关注

    19

    文章

    6915

    浏览量

    85896
收藏 人收藏

    评论

    相关推荐

    询问DSP和处理器的开发环境等问题

    只能完成采集工作而无法完成同步计算功能。所以我想问下ADI的DSP性能是否适合这样的工作要求?处理器的主要工作是完成采集ADC转换数据工作(尽量不丢失数据),然后同步
    发表于 11-02 09:18

    多核处理器的优点

    的设计流程相同,并且现有的单线程应用也将继续运行。得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性,此类软件包括多媒体应用(内容创建、编辑,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务
    发表于 06-20 06:47

    什么是微型计算机微处理器

    什么是微处理器两个芯片分别用于储存程序和数据,另一个芯片集成运算可控制及一些寄存。2.什么是微型
    发表于 12-08 08:21

    ARM微处理器的应用领域及其特点

    ):公司名/对一类微处理器的统称/一种技术的名字1.2 ARM微处理器的应用领域及其特点1.应用领域①工业控制领域 :基于ARM核的微控制芯片②无线通信领域 :超过85%的无线通信设
    发表于 12-14 07:38

    AMD处理器驱动下载

    AMD处理器驱动下载1.3.2.6 WHQL多语言版
    发表于 04-09 15:35 4次下载

    多核处理器及其对系统结构设计的影响

    摘要:多核技术成为当今处理器技术发展的重要方向,已经是计算机系统设计者必须直面的现实。从计算机系统结构的角度探讨了同构与异构、通用与多用等多核处理器类型,分析了典型多核
    发表于 02-27 16:03 38次下载

    DARPA眼里的未来节能计算:模拟处理器

    美国国防部高级研究计划署(DARPA)资助了UPSIDE项目,旨在调查不采用数字处理器的新计算方式,研究远比今天的数字处理器更节能的模拟处理器
    的头像 发表于 08-27 16:09 3397次阅读
    DARPA眼里的未来节能<b class='flag-5'>计算</b>:模拟<b class='flag-5'>处理器</b>

    新型处理器数据密集型计算

    针对急剧上升的大规模数据,传统的数据密集型计算已经无法再在此种场景下适用.对此,大量的学者们对算法进行不断的改进,并提出利用新型的处理器来进行复杂的
    发表于 01-10 14:08 0次下载

    服务处理器与家用处理器有什么区别

    处理器计算机作业的核心设备,它是整个机器的大管家,具有计算数据运算和命令执行的功能,但是不同设备的处理器功能也不尽相同。企业商务使用的
    发表于 06-02 09:07 1497次阅读

    npu处理器有什么用

    NPU是一种专门应用于网络应用数据包的处理器,采用了“数据驱动并行计算“的架构,可以用来处理视频
    发表于 12-04 14:33 1.1w次阅读

    AD9923A: CCD 信号处理器,内置垂直驱动器和Precision Timing发生 数据手册

    AD9923A: CCD 信号处理器,内置垂直驱动器和Precision Timing发生 数据手册
    发表于 03-19 06:53 0次下载
    AD9923A:  CCD 信号<b class='flag-5'>处理器</b>,内置垂直<b class='flag-5'>驱动器</b>和Precision Timing发生<b class='flag-5'>器</b> <b class='flag-5'>数据</b>手册

    AD9848/AD9849:集成时序驱动器的CCD信号处理器数据

    AD9848/AD9849:集成时序驱动器的CCD信号处理器数据
    发表于 04-15 21:19 14次下载
    AD9848/AD9849:集成时序<b class='flag-5'>驱动器</b>的CCD信号<b class='flag-5'>处理器</b><b class='flag-5'>数据</b>表

    DPU(数据处理器)能做什么?

    了解DPU数据处理器的基础知识:它们是什么、它们做什么、谁在制造它们以及谁在采用它们。然后决定您的数据中心是否有朝一日会使用。 数据处理器是针对数据处理和以
    的头像 发表于 04-19 15:38 2411次阅读

    边缘计算处理器有哪些

    边缘计算处理器是指用于边缘计算的特定处理器。边缘计算是一种将计算任务从传统的云
    的头像 发表于 12-27 15:19 681次阅读

    处理器的定义和种类

    处理器,作为计算机系统的核心部件,承载着执行指令、处理数据的重要任务。随着信息技术的飞速发展,处理器的种类和性能也在不断提升。本文将对
    的头像 发表于 05-12 18:12 1348次阅读