【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,一经查实,立即删除!

相关文章

IDEA创建项目常见问题

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

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

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

Spring BeanPostProcessor 接口的作用和使用

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

AI 降临!!!

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

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

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

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

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

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…

基于Tars高并发IM系统的设计与实现-实战篇5

基于Tars高并发IM系统的设计与实现-实战篇5 群聊服务 GroupChatServer 群聊服务既可以接受来自BrokerServer的用户请求,也需要接收来自其他服务的RPC请求;所以本服务提供两套RPC接口:通用RPC接口和专用RPC接口。 通用RPC接口 通用RPC接口主要处理如下…

编写第一个 React Native 程序

React Native 目录 使用React Native CLI命令创建的目录如下图所示: 重要目录说明 目录说明__tests__存放测试用例的目录.bundle / config配置文件(一般不会用到)android 和 IOS 文件夹这两个文件夹主要是存放安卓和 ios 相关的配置文件和…

380. O(1) 时间插入、删除和获取随机元素 -------------Map类型在O(1)复杂度内实现插入删除

380. O(1 时间插入、删除和获取随机元素 原题链接:完成情况:解题思路:参考代码: 原题链接: 380. O(1) 时间插入、删除和获取随机元素 https://leetcode.cn/problems/insert-delete-getrandom-o1/description/ 完成…

【Spring】如果你需要使用重试机制,请使用Spring官方的Spring Retry

文章目录 前言Spring Retry的基本使用第一步,引入Spring Retry的jar包第二步,构建一个RetryTemplate类第三步,使用RETRY_TEMPLATE注意事项 拓展方法降级操作重试策略:时间策略重试策略:指定异常策略 前言 Spring Retr…

SpringBootWeb案例-准备工作

目录 前言 准备工作 需求&环境搭建 需求 环境搭建 开发规范 Restful开发规范 统一的响应结果 开发流程 前言 根据过往的文章可以知道目前我已经学习完了前端、后端、数据库的基础知识,接下来通过一个基于SpringBoot工程开发的web项目案例。 准备工作 …

视频监控汇聚EasyCVR平台WebRTC流地址无法播放的原因排查

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多…

【Java并发】什么是AQS?

文章目录 什么是AQS?AQS与Synchronized的区别AQS-基本工作机制AQS是公平锁与非公平锁 什么是AQS? 全称是 AbstractQueuedSynchronizer,即抽象队列同步器。它是构建锁或者其他同步组件的基础框架 所谓抽象,其实目的就是把具体的逻辑交给子类去实现&…

【计算机视觉】关于图像处理的一些基本操作

目录 图像平滑滤波处理均值滤波计算过程python实现 高斯滤波计算过程python实现 中值滤波计算过程python实现 图像的边缘检测Robert算子计算过程python实现 图像处理腐蚀算子计算过程python实现 Hog(梯度方向直方图)特征计算流程:Hog的特征维…

什么是自定义表单和工作流?看完这篇文章就懂了

在很多中大型企业中,低代码技术平台的应用价值是较高的,也深得广大用户朋友的青睐和喜爱。其中的自定义表单和工作流是该平台的主要功能,可以解决当前工作效率低下、解放程序员时间和精力等各种现实问题,可以说是实现办公流程化、…

Pytorch量化之Post Train Static Quantization(训练后静态量化)

使用Pytorch训练出的模型权重为fp32,部署时,为了加快速度,一般会将模型量化至int8。与fp32相比,int8模型的大小为原来的1/4, 速度为2~4倍。 Pytorch支持三种量化方式: 动态量化(Dynamic Quantization&…

nvm安装以及使用

注意事项: 安装前需要卸载原有的node,卸载干净后cmd输入node -v查看; 一,下载nvm 下载:https://github.com/coreybutler/nvm-windows/releases 选择第四个 “nvm-setup.zip”; 二,安装 1&…