【ARM Cache 系列文章 8 -- ARM DynamIQ 技术介绍

文章目录

    • DynamIQ 技术背景
      • DynamIQ技术详解
      • DynamIQ 与 big.LITTLE
      • DynamIQ cluster 分类
      • 硬件支持
    • DynamIQ为什么适合人工智能?

DynamIQ 技术背景

2017年3月21日下午,ARM在北京金隅喜来登酒店召开发布会,正式发布了全新的有针对人工智能及机器学习进行优化的DynamIQ技术,ARM 称 DynamIQ将是下一代计算革命的开始,将重新定义计算,可以覆盖覆盖从端到云的安全、通用平台。将被广泛应用于汽车、家庭以及数不胜数的各种互联设备,这些设备所产生的数据会在云端或者设备端被用于机器学习,以实现更先进的人工智能,从而带来更自然、更直观的用户体验。

DynamIQ技术详解

自 2011 年 ARM big.LITTLE 技术推出以来,它已经成为了目前运用非常广泛的多核架构技术。而 DynamIQ 技术则是big.LITTLE 技术的重要演进。

原有的 big.LITTLE 技术是将多个大核组成一个计算集群(cluster)、多个小核组成另一个cluster,然后进行协作运行。而全新的DynamIQ big.LITTLE将允许在单一cluster中进行大小核配置,可以出现比如1+3、1+7、3+5等诸多类型,将可配置性提升到了一个新的台阶。

有了DynamIQ,我们可以将不同类型的core放到一个cluster中。比如,将性能高的core,和功耗低的core放进一个cluster。如果没有DynamIQ,我们是将其放在2个不同cluster中的。最常见 4个Cortex-A72 核与4个Cortex-A53核,或者4个Cortex-A53与另外的4个Cortex-A53核配对。
在这里插入图片描述

同时,DynamIQ big.LITTLE还可以对每一个处理器进行独立的频率控制以及开、关、休眠状态的控制,可以实现高效的、无缝的在不同任务间切换最合适的处理器。

在 big.LITTLE架构中,要求 big 处理器和 LITTLE 处理器位于不同的 cluster内,big处理器 cluster 和LITTLE 处理器 cluster 通过Cache Coherent Interconnect(CCI)进行数据传输,因此会不可避免地带来传输延迟,引起整体性能下降。DynamIQ big.LITTLE 不仅可以在单一cluster上进行大小核配置,同时也可以通过结合Corelink等技术,实现多个cluseter的组合,而这也意味着,未来可能会出现一个(5+3)的大核 cluster +一个(2+6)小核cluster或者更多的四五个cluster的架构。

与 big.LITTLE 技术不同,DynamIQ技术支持了将 big 处理器、LITTLE处理器和DynamIQ Shared Unit (DSU)集成在同一个cluster中,称为DynamIQ cluster,每个芯片可以集成多个DynamIQ cluster;在同一个cluster内,big处理器和LITTLE处理器的数据传输不必依赖big.LITTLE架构中的Cache Coherent Interconnect(CCI)硬件,而是通过DSU中的L3 Cache实现,从而简化了big处理器和LITTLE处理器间任务切换的数据共享复杂度,改善了传输延迟性能,提高了能效。

ARM V8.2 开始支持DynamIQ技术。而对于芯片设计厂商来说,DynamIQ技术也并不会带来芯片设计上太大的变动。同时在IP授权模式上也将会与ARM以往的策略一样。

DynamIQ 与 big.LITTLE

与 big.LITTLE技术相比,DynamIQ技术具有以下区别及相应的优势:

  • 同1个DynamIQ cluster内支持同时集成big处理器和LITTLE处理器,最多集成8个不同种类的处理器,从而使得big处理器和LITTLE处理器的配置数量更加灵活;
  • 同1个DynamIQ cluster内不同处理器的工作电压和频率可以通过DSU进行单独配置,有利于提高能效;
  • 在保证高性能的同时,进一步提高了芯片能效。

DynamIQ cluster 分类

在DynamIQ技术中,根据包含的big处理器和LITTLE处理器种类情况,DynamIQ cluster分为3种类型:

  • 包含big处理器和LITTLE处理器;
  • 只包含LITTLE处理器;
  • 只包含big处理器。

下面是包含 big处理器和LITTLE处理器的DynamIQ big.LITTLE system以及只包含LITTLE处理器的DynamIQ system示意图。
在这里插入图片描述

硬件支持

DynamIQ技术的基本组成单元是DynamIQ cluster,DynamIQ cluster包括CPU和DSU。DSU被DynamlQ cluster内的所有CPU共享使用,其由异步桥、L3Cache、外设和接口总线、功率管理单元等部分组成。
在这里插入图片描述
在这里插入图片描述

DynamIQ为什么适合人工智能?

ARM前面强调了DynamIQ技术将会被广泛的用于人工智能和机器学习领域,那么它在这些方面到底有何优势呢?

首先,全新的DynamIQ big.LITTLE架构就非常适合人工智能和机器学习的。以语音识别为例,当需要唤醒设备时,这个时候关键词激活设备,只需要启动一个小核就可完成,而随后的语音识别就会立刻需要性能更强的核心;如果是面部识别则可能设备一开始就需要更强的性能,而当识别完成后,工作则迁移至小核。不难看出,人工智能对于大小核之间的调配、无缝切换都要求很高,显然全新的DynamIQ big.LITTLE架构是非常适合的,将会为机器学习和人工智能应用带来更快的响应速度。

其次,DynamIQ还特别加入了针对人工智能的指令集和优化库,下一代ARM V8.2版本的指令集将支持神经网路卷积运算,可以极大的提升人工智能和机器学习的效率。

推荐阅读
https://www.sohu.com/a/129661515_128469

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pyspark笔记 筛选条件 vs intersect

一个是filter提供条件时,条件的交集,一个是两个pyspark DataFrame 取交集 前者会有重复的行,后者则没有 举例说明,假设我们有如下的pyspark DataFrame d[[-1],[1],[1],[2],[3],[4]] dfspark.createDataFrame(d,[id]) df.show()-…

算法练习--数值相关

文章目录 整型数组合并质数因子 整型数组合并 将两个整型数组按照升序合并,并且过滤掉重复数组元素。 输出时相邻两数之间没有空格。 输入描述: 1 输入第一个数组的个数 2 输入第一个数组的所有数值 3 输入第二个数组的个数 4 输入第二个数组的所有数值…

IDEA创建项目常见问题

1.IDEA修改maven路径无效 创建spring项目,Maven导入报错,无法正常导入jar报,发现setting中设置的maven路径不是自己下载的路径,修改后无效。运行之后maven路径又恢复为其默认的路径 解决方案: 删除.mvn文件&#xff0…

openCV 图像对象的创建和赋值

文章目录 一、赋值二、克隆三、拷贝四、初始化 一、赋值 赋值操作是将一个cv::Mat对象的数据复制到另一个对象中。赋值操作使用的是浅拷贝(shallow copy),即两个对象共享相同的数据内存。这意味着对一个对象的修改会影响到另一个对象 cv::M…

dinput8.dll导致游戏打不开的解决方法,快速修复dinput8.dll文件

当你尝试启动某个游戏时,如果遇到dinput8.dll文件缺失或损坏的错误提示,可能会导致游戏无法正常运行。dinput8.dll是DirectInput API的一部分,它提供了游戏手柄、键盘和鼠标等输入设备的支持。本文将详细介绍dinput8.dll的作用、导致游戏无法…

Spring BeanPostProcessor 接口的作用和使用

BeanPostProcessor 接口是 Spring 框架中的一个扩展接口,用于在 Spring 容器实例化、配置和初始化 bean 的过程中提供自定义的扩展点。通过实现这个接口,您可以在 bean 实例创建的不同生命周期阶段插入自己的逻辑,从而实现对 bean 行为的定制…

AI 降临!!!

人的记忆是脆弱的。因此,个人笔记成为了我们构建第二大脑和进行知识管理的重要手段。然而,人工智能的崛起,无疑改变了我们处理信息和知识的方式。作为一名长期关注笔记方法论和 AI 软件的「效率成瘾者」和「软件发烧友」,我深感此…

MDN-HTTP

参考资料 文章目录 HTTP简介HTTP 和 HTTPSHTTP消息典型的HTTP会话HTTP响应状态HTTP安全HTTP CookieHTTP压缩 HTTP简介 HTTP(Hypertext Transfer Protocol)是一种用于在计算机网络中传输超文本和其他资源的应用层协议。他是互联网的基础协议之一&#x…

银河麒麟高级操作系统V10助力联通云建设打出组合拳

联通云基于“双引擎基座一云多芯”为不同行业场景提供可靠、高质量的应用上云服务。在核心代码进行了全面把控,定制多架构芯片应用适配模版,开发了计算、存储、网络、中间件等组件,全面适配自主化服务器和操作系统,提供云服务器、…

关于docker 在ubuntu16.04 上的安装

https://www.sohu.com/a/708313241_121368355 参考教程: https://www.runoob.com/docker/docker-image-usage.html 镜像网址 https://hub.docker.com/

用ClickHouse 文件表引擎快速查询分析文件数据

有时我们需要快速查询分析文件数据,正常流程需要在数据库中创建表,然后利用工具或编码导入数据,这时才能在数据库中查询分析。利用ClickHouse文件引擎可以快速查询文件数据。本文首先介绍ClickHouse文件引擎,然后介绍如何快速实现…

Android10.1接上usb摄像头重启设备无声音

一、问题描述 接上客户的usb摄像头,插上喇叭,重启设备,有时候有声音,有时候没有 二、问题原因 原因:插上usb设卡后又两个声卡,而重启后哪个声卡的节点先生成不确定,而hal层中只是打开第一个节点,而usb声卡是没有播放功能的,所以节点中没有播放节点,所…

TypeScript

背景: JS 的类型系统存在“先天缺陷”弱类型,JS 代码中绝大部分错误都是类型错误(Uncaught TypeError) 开发的时候,定义的变量本应该就有类型 这些经常出现的错误,导致了在使用 JS 进行项目开发时&#xf…

Python中的dataclass:简化数据类的创建

Python中的dataclass是一个装饰器,用于自动添加一些常见的方法,如构造函数、__repr__、__eq__等。它简化了创建数据类的过程,减少了样板代码,提高了代码的可读性和可维护性。有点类似java里面的Java Bean。 让我们看一个简单的例子…

任意子数组和的绝对值的最大值【力扣1749】

一、解题思路 设n表示数组的长度,Min[i]是以nums[i]为开头组成的任意连续子数组中的和最小值(若所有子数组的和都大于0,则Min[i]设为0。也就是说丢弃所有子数组);Max[i]是以nums[i]为开头组成的任意连续子数组中的和最…

Cortex-M3的双堆栈MSP和PSP(学习)

M3的栈,先进后出。 是局部变量内存的开销,函数的调用都离不开栈。 Cortex-M3内核使用了双堆栈,即MSP和PSP。 MSP:Main_Stack_Pointer,即主栈。 PSP:Process_Stack_Pointer,即任务栈。 SP&#…

【图像去噪的扩散滤波】基于线性扩散滤波、边缘增强线性和非线性各向异性滤波的图像去噪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Linux配置QT Creator环境:ubuntu中安装QT Creator环境

一、前景 目前市面上很多公司使用QT Creator进行界面开发,基本都会选择在Linux环境进行,优点不仅是市场所需,更是方便后期代码的移植,相较于Windows系统,Linux系统移植性非常好。故此篇文章,介绍如何在Linu…

CentOS 7迁移Anolis OS 8

背景:生产环境客户要求操作系统国产化 操作系统:Centos7.9 内核:5.4.108 服务器可以联网,进行在线迁移: # 下载迁移工具软件源 wget https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/y…

JAVA获取视频音频时长 文件大小 MultipartFileUtil和file转换

java 获取视频时长_java获取视频时长_似夜晓星辰的博客-CSDN博客 <dependency><groupId>ws.schild</groupId><artifactId>jave-all-deps</artifactId><version>2.5.1</version></dependency>Slf4j public class VideoTimeUtil…