【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.rhkb.cn/news/89983.html

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

相关文章

在线Word怎么转换成PDF?Word无法转换成PDF文档原因分析

不同的文件格式使用方法是不一样的,而且也需要使用不同的工具才可以打开编辑内容,针对不同的场合用户们难免会用到各种各样的文件格式,要想在不修改内容的前提下提高工作效率,那就需要用到文件格式转换,那么在线Word怎…

Effective Java笔记(31)利用有限制通配符来提升 API 的灵活性

参数化类型是不变的&#xff08; invariant &#xff09; 。 换句话说&#xff0c;对于任何两个截然不同的类型 Typel 和 Type2 而言&#xff0c; List<Type1 &#xff1e;既不是 List<Type 2 &#xff1e; 的子类型&#xff0c;也不是它的超类型 。虽然 L ist<String…

Rust 编程小技巧摘选(8)

目录 Rust 编程小技巧(8) 1. 取整函数 floor() 2. 取整函数ceil() 3. 取整函数 round() 4. 保留小数位数 5. 字符串转整数 unwrap() unwrap_or() Rust 编程小技巧(8) 1. 取整函数 floor() floor函数对浮点数进行向下取整 示例代码&#xff1a; fn main() {let x: …

【爬虫】爬取旅行评论和评分

以马蜂窝“普达措国家公园”为例&#xff0c;其评论高达3000多条&#xff0c;但这3000多条并非是完全向用户展示的&#xff0c;向用户展示的只有5页&#xff0c;数了一下每页15条评论&#xff0c;也就是75条评论&#xff0c;有点太少了吧&#xff01; 因此想了个办法尽可能多爬…

3.解构赋值

解构赋值是一种快速为变量赋值的简洁语法&#xff0c;本质上仍然是为变量赋值。 3.1数组解构 数组解构是 将数组的单元值快速批量赋值给一系列变量 的简洁语法 1.基本语法: &#xff08;1&#xff09;赋值运算符左侧的[ ]用于批量声明变量&#xff0c;右侧数组的单元值将被赋…

面试热题(最大子数组和)

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a;6 解释&#xff1a;连续…

SolidUI 一句话生成任何图形,v0.2.0功能介绍

文章目录 背景聊天窗口提示词 聊天窗口生成输入数据格式柱形图曲面图散点图螺旋线饼图兔子建模地图 设计页面页面布局预览 SolidUI社区的未来规划如何成为贡献者加群 背景 随着文本生成图像的语言模型兴起&#xff0c;SolidUI想帮人们快速构建可视化工具&#xff0c;可视化内容…

【数据结构】哈希表

总结自代码随想录 哈希表的原理&#xff1a; 对象通过HashCode()函数会返回一个int值&#xff1b;将int值与HashTable的长度取余&#xff0c;该余数就是该对象在哈希表中的下标。

GCviewer分析java垃圾回收的情况

一&#xff0c;下载并打包 1.在github上下载gcviewer,并解压。 2. 运行maven命令打包。mvn clean package -DskipTests 二&#xff0c;启动GCViewer 进入target目录&#xff0c;运行 java -jar gcviewer-1.37-SNAPSHOT.jar 运行后&#xff0c;会出来界面 三&#xff0c;加参…

docker菜谱大全

记录docker常用软件安装&#xff0c;感谢小马哥和杨师傅的投稿。&#x1f60e;&#x1f60e;&#x1f60e; 相关文档&#xff1a; DockerHub&#xff1a;https://hub.docker.com/Linux手册&#xff1a;https://linuxcool.com/Docker文档&#xff1a;https://docs.docker.com/Do…

【设计模式】原型模式

原型模式&#xff08;Prototype Pattern&#xff09;是用于创建重复的对象&#xff0c;同时又能保证性能。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式之一。 这种模式是实现了一个原型接口&#xff0c;该接口用于创建当前对象的克隆。当直接…

MySQL 45讲笔记(1-10讲)

1. SQL语句如何开始执行&#xff1f; MySQL分为Server和存储引擎两部分&#xff1a; Server层包含连接器、存储缓存、分析器、执行器等&#xff0c;以及所有的内置函数&#xff08;事件、日期&#xff09;等等&#xff0c;还有视图、触发器。 存储引擎是负责数据的存储和提取&a…

Java多款线程池,总有一款适合你。

线程池的选择 一&#xff1a;故事背景二&#xff1a;线程池原理2.1 ThreadPoolExecutor的构造方法的七个参数2.1.1 必须参数2.1.2 可选参数 2.2 ThreadPoolExecutor的策略2.3 线程池主要任务处理流程2.4 ThreadPoolExecutor 如何做到线程复用 三&#xff1a;四种常见线程池3.1 …

POI处理excel,根据XLOOKUP发现部分公式格式不支持问题

poi4不支持XLOOKUP函数&#xff0c;但poi最新的5.2.3却已经对此函数做了支持 poi下载地址&#xff1a;Index of /dist/poi/release/bin 公式源码位置&#xff1a;org/apache/poi/ss/formula/atp/XLookupFunction.java 但是在使用此函数过程中&#xff0c;发现有些XLOOKUP函数会…

网络设备(防火墙、路由器、交换机)日志分析监控

外围网络设备&#xff08;如防火墙、路由器、交换机等&#xff09;是关键组件&#xff0c;因为它们控制进出公司网络的流量。因此&#xff0c;监视这些设备的活动有助于 IT 管理员解决操作问题&#xff0c;并保护网络免受攻击者的攻击。通过收集和分析这些设备的日志来监控这些…

Oracle database Linux自建环境备份至远端服务器自定义保留天数

环境准备 linux下安装oracle 请看 oracle12c单节点部署 系统版本: CentOS 7 软件版本&#xff1a; Oracle12c 备份策略与实现方法 此次备份依赖Oracle自带命令exp与linux下crontab命令&#xff08;定时任务&#xff09; exp Oracle中exp命令是一个用于导出数据库数据和对象的…

虚拟机内搭建CTFd平台搭建及CTF题库部署,局域网内机器可以访问

一、虚拟机环境搭建 1、安装docker、git、docker-compose ubuntu&#xff1a; sudo apt-get update #更新系统 sudo apt-get -y install docker.io #安装docker sudo apt-get -y install git #安装git sudo apt-get -y install python3-pip #安装pip3 sudo pip install dock…

JavaEE初阶:多线程 - 编程

1.认识线程 我们在之前认识了什么是多进程&#xff0c;今天我们来了解线程。 一个线程就是一个 "执行流". 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 "同时" 执行 着多份代码. 引入进程这个概念&#xff0c;主要是为了解决并发编程这样的…

时序预测 | MATLAB实现CNN-BiGRU-Attention时间序列预测

时序预测 | MATLAB实现CNN-BiGRU-Attention时间序列预测 目录 时序预测 | MATLAB实现CNN-BiGRU-Attention时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现CNN-BiGRU-Attention时间序列预测&#xff0c;CNN-BiGRU-Attention结合注意力机制时…

机器学习笔记之优化算法(十二)梯度下降法:凸函数VS强凸函数

机器学习笔记之优化算法——梯度下降法&#xff1a;凸函数VS强凸函数 引言凸函数&#xff1a;凸函数的定义与判定条件凸函数的一阶条件凸函数的梯度单调性凸函数的二阶条件 强凸函数强凸函数的定义强凸函数的判定条件强凸函数的一阶条件强凸函数的梯度单调性强突函数的二阶条件…