您的位置 首页 方案

一文读懂异构多处理系统

一文读懂异构多处理系统-一个异构多处理系统由不同类型的多个单核心或多核心处理器构成,异构多核处理系统最简单的形式是由一个多核处理器和GPU组成。然而,现代科技让一颗芯片上的异构多处理系统包含以下模块。

前期嵌入式处理体系一般由一个微操控器和一系列外设构成。这些体系一般用来完结获取少数数据、处理数据、做出决议计划、依据决议计划成果输出信息等作业。在某些情况下会完结简略的人机交互接口如读取键盘并显现成果。处理需求、一同产生需求,以现在的规范来看好像微乎其微。现代嵌入式体系一般需求处理和剖析十亿字节级的海量数据,而且常常在确定性和低延时运算上还有一些额定要求。许多运用还要求体系在满意相关职业规范的一同牢靠契合牢靠性和安全性要求。

现在,好像还不或许在单一处理器上一同满意处理高带宽数据、履行体系运用程序、呼应实时恳求并满意职业安全规范。但是,多核异构芯片却能够完结这些功用。这样的设备具有多个处理单元,每一个单元都有才能担任处理一个或多个前述需求,咱们称这样的设备为异构处理体系。

1 什么是异构多处理呢?

一个异构多处理体系由不同类型的多个单中心或多中心处理器构成,异构多核处理体系最简略的方式是由一个多核处理器和GPU组成。但是,现代科技让一颗芯片上的异构多处理体系包含以下模块:

①多核运用处理器(MulTIcore ApplicaTIons Processors);

②多核图形处理器(MulTIcore Graphics Processors;

③多核实时处理器(MulTIcore Real-Time Processors);

④渠道办理单元(Platform Management Unit);

⑤装备和安全体系(Configuration and Security Unit);

⑥在FPGA可编程逻辑上完结特定多核处理器。

本文所引证的异构多核处理体系包含上述的多个分类。运用FPGA逻辑完结多核处理器的优势是:它能够创立自定义特别运用处理器,经过并行Pipes和多Pipeline stages来完结二维并行数据处理,使得在一个时钟周期里能够完结很多的核算。

多核处理器能够规划用来履行通用核算或许是专用核算。和通用处理器履行相同功用相比较,专用核算在减小硅片封装、进步单时钟周期吞吐率、低功耗的一同能完结数据优化处理。

2 含可编程逻辑的异构处理体系演化

Xilinx在2002年推出了榜首款带PowerPC405运用处理器的FPGA,在接下来的FPGA里,Xilinx在单片内集成了更高功用的PowerPC单核或双核处理器。不像如今产品代的器材处理体系是一个集成的ASSP(包含处理器、互联、存储操控器和外设),前期产品需求很多的FPGA资源将各部分资源衔接在一同构成一个ASSP-like的解决方案。

2011年,Xilinx推出了Zynq-7000系列高集成度的器材,它集成了ARM Cortex-A9 MPCore处理器、互联单元、内存操控器、外设以及依据Xilinx 7系列FPGA的可编程逻辑。有人肯能会以为Zynq-7000系列是榜首代“异构多处理”体系,由于片上的可编程逻辑使得创立和运用专用处理单元成为实际。

3 含可编程逻辑的最新一代异构处理体系

2015年,Xilinx发布而且开端供货新一代异构多处理器材Zynq UltraScale+ MPSoC。之前的器材集成了可编程逻辑和一个或多个运用处理器,Zynq UltraScale+ MPSoC器材集成了:

①多核运用处理器:四核ARM Cortex-A53运用处理器;

②多核图形处理器:双核ARM Mali-400图形处理器;

③多核实时处理器:双核ARM Cortex-R5实时处理器,可同步运转安全性要求严苛的运用;

④渠道办理单元:一致性三冗余处理器用于power、过错办理和功用安全办理;

⑤装备和安全单元:一致性三冗余处理器用于体系装备和安全办理;

⑥FPGA可编程逻辑:用户可编程逻辑用于定制处理器、处理单元和外设。

一文读懂异构多处理体系

多核运用处理器是传统的用于通用核算的重负载处理器。这些处理器一般作业在SMP形式,运转一个Linux或Andriod操作体系,当然也支撑虚拟办理运转多操作体系。

图形处理单元是继浮点运算单元之后最盛行的协处理器。GPU从运用处理器分管图形处理负载,完结杂乱的用户界面和杂乱的图形烘托。对Andriod或Windows CE之类的操作体系而言,这些都是有必要的根本功用。通用意图GPU(GPGPU)除了图形处理,还能够担任数据阵列通用核算。

实时处理器能够低延时呼应事情,和运用处理器比较一般也更具确定性。在大多数情况下会运转支撑低延时中止处理和确定性应对的实时操作体系。在功用安全性运用中,实时处理器一般会运转在双核锁步形式下,这样能够检测双处理器中一个处理器呈现的过错。

渠道办理单元担任办理要害的体系功用和服务。这些功用包含体系过错处理、功耗办理和功用安全使命等。作为体系的心脏,该单元不容失利。因而,这儿运用了包含表决逻辑的三冗余处理器,这使得即便有一个处理器核产生过错事情,子体系也能够继续运转。

装备和安全单元担任体系装备,包含加载处理器榜首级Bootloader、可编程逻辑的装备bit stream,程序代码和bit文件均有可选的加密认证和解密功用。装备和安全单元还可供给继续的安全监控,比方过压或欠压、低温或高温、企图提取体系信息拜访等。

片上可编程逻辑为异构处理带来了充沛的灵活性。能够经过添加额定的现成的软核来处理特别运用的核算使命,也能够在不同层级添加多pipeline和多pipeline stage自定义软核完结数据流的大规模并行处理。

4 异构多处理体系实例

机器人拾取和放置安装线是一个很常见的机器视觉和操控运用实例,这个运用一般有以下根本功用:

①高分辨率相机视频收集体系;

②包含亮度对比度调理、失真校对和消除死点等功用的视频图画处理;

③方针检测和辨认;

④符号组件在安装中正确方位的算法决议计划;

⑤机器手臂运动途径挑选;

⑥电机驱动操控;

⑦安全事情检测和关机;

⑧用于状况显现和体系操控的图形用户界面;

⑨装备和安全办理。

上述的每一个功用都或许需求特定的处理才能,比方,让通用处理器来处理实时HD图画,处理器很简单就会负载过重无法在特定时刻完结处理。

那么,就让咱们考虑运用这种异构多处理体系完结或许的解决方案。为了有助于愈加形象的了解,Xilinx将会以Zynq UltraScale+ MPSoC操控机器人体系在平板电脑上玩纸牌游戏的比如来诠释。体系的部分功用现已完结并在“Embedded World 2016”展会上展现。

4.1 视频获取和处理

1080P60视频流要求3Gbps(373MB/s)的数据率,视频流途径上需求做的处理或许包含:亮度、对比度调理,白平衡,失真校对,死点除掉等。这些bit级处理用可编程逻辑完结十分高效,无需处理器太多参加。

4.2 方针检测和辨认

初始方针检测一般需求扫描整幅图画寻觅相似细节方针概括之类的要害特征,这项功用一般由可编程逻辑完结。一旦方针被断定为疑似方针,那么就或许需求履行更为杂乱的算法对方针进行更进一步的决议计划断定。运用处理器一般担任方针辨认的下一级数据量变小但算法愈加杂乱的处理。

在这个机器人纸牌游戏事例中,一切的图画都是经过可编程逻辑扫描,辨认纸牌鸿沟和定位游戏纸牌,以及纸牌的摆放和花样。跟着数据量显着下降,纸牌摆放和鸿沟图画被递交给运用处理器经过图画辨认算法来辨认摆放和花样。

4.3 算法决议计划

算法决议计划一般是很杂乱的处理,一般通用运用处理器能够很好的完结。在咱们的比如里, 新牌打出的时分触发运用处理器核算新的关于牌的人物和运动或许的决议计划集。

4.4 运动途径挑选

两点之间,直线最短,这样的途径会导致方针在两个端点之间产生冲突。运动途径一般被分为多段,而且需求从传统的笛卡尔坐标系中翻译到机器人运转体系坐标系。在咱们的多核异构体系中,这既能够经过运用处理器完结也能够经过实时处理器完结。

机器人纸牌游戏相对而言会比较简略,由于在平板电脑上运动途径没有潜在的障碍物。咱们在运用实例里挑选了Delt机器人,Delt机器人结构一般是三个并联手臂衔接到一个和受动器相关的通用关节履行器上。因而,受动器在3D笛卡尔坐标系中的运动有必要翻译成三个独立马达的运动矢量,在这个运用中所需的x,y,z坐标参数传给实时处理器来核算三个机械手臂各自的运动途径。

4.5 电机驱动操控

电机操控算法用于操控加快、正常运转和减速,对机械束缚答应的最小运动时刻进行优化,保证在加减速的过程中不会对部件形成危害,减小能量消耗等等。上述核算和运动驱动一同,一般都是经过实时处理器来完结,实时处理器在这些方面体现出杰出的功用,在咱们的比如里也是如此。实时处理器作业在锁步形式下来添加牢靠性。

4.6 安全事情检测和关机

安全事情能够是人进入机器人视界,而机器人或许会对人类形成损伤,能够辨认这一事情而且在必定程度上快速呼应维护人类对体系而言至关重要。咱们机器人纸牌运动员在其周围构建了一个红外线墙,当某一光束中止,机器人的电源会立刻封闭,然后体系会立马中止。在这个比如里,能够运用三冗余渠道办理单元,这个高度牢靠的处理单元能够接纳来自红外线墙的输入,在事情检测时封闭机器人。

4.7 图形用户接口

图形用户接口(GUIs)一般运转在Linux操作体系上层,Linux支撑从根本的窗口办理器扩展到完好桌面环境。

这个纸牌机器人体系需求显现纸牌桌界面,实时预览HD相机图画,纸牌摆放和花样检测窗口显现以及游戏状况窗口等等。Ubuntu桌面环境供给了一个很好的渠道,在这上面前述内容都能够完结很好的显现,而且能够经过这些用户界面操控游戏。多核运用处理器是运转Linux和Ubuntu桌面的完美挑选,集成的多核GPU用于交融显现2D、3D和视频数据。

4.8 装备和安全

处理体系需求发动操作体系和运用程序,可编程逻辑也需求装备。开发者越来越期望维护他们的代码和知识产权核不被竞争对手和黑客获取,因而代码和装备数据的加密和验证对保证代码正确加载至关重要。一旦运转,体系就需求维护免受外界影响。

在这个比如里边,装备和安全单元在纸牌游戏运转之前履行验证和解密代码及装备数据。烧录的E-Fuses能够维护装备和数据不能经过JTAG之类的接口回读。

体系进犯或许会导致信息走漏或许不正常的运转。这些进犯或许包含过压/欠压或许是超高温/超低温等,这些进犯能够被检测到并按需确定体系。

5 总结

前期的嵌入式体系一般包含一个或几个微处理器来处理包含用户接口、数据收集、数据处理、外部操控和运用处理等各式各样的功用。接下来的各代产品带来更高功用的处理器、多核处理器、专用处理器和实时处理器。FPGA开始以胶合逻辑人物呈现,跟着他们逻辑量变大,现已用于完结额定的外设、状况机和大规模并行数据处理。最新一代Xilinx Zynq UltraScale+ MPSoC是一个单片异构多处理体系,它由多核运用处理器、多核图形处理器、多核实时处理器 、一个渠道办理单元、一个装备和安全办理单元以及可完结多处理组件的编程逻辑组成。这样的器材使得软件和硬件都能够依据特定运用彻底定制来充沛满意方针嵌入式运用的要求。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/341231.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部