侵权投诉

手机行业的跑分软件是噱头还是实力

FPGA干货 2021-08-16 15:24 次阅读

一、背景:性能之战

“不服跑个分”已经沦为手机行业的调侃用语,但是实话实说,在操作系统领域“跑分”确实是最重要的评价方式之一。比如 Linux 内核社区常常以跑分软件得分,来评价一个优化补丁的价值。甚至还有 phoronix 这样专注于 Linux 跑分的媒体。而且今天我还想说一点,让软件跑分高,这是实力的体现,是建立在对内核的深刻理解基础上的。本文的故事就源于一次日常的性能优化分析。我们在评估自动化性能调优软件 tuned 的时候,发现它在服务器场景,对 Linux 内核调度器相关的参数做了一些微小的修改,但是这些修改却很大程度改善了 hackbench 这款跑分软件的性能。是不是很有意思?让我们一起来一探究竟。

本文将从几个方面展开,并重点介绍黑体字部分:

相关知识简介

hackbench 工作模式简介

hackbench 性能受损之源

双参数优化

思考与拓展

二、相关知识简介

2.1 CFS调度器

Linux 中大部分(可以粗略认为是实时任务之外的所有)线程/进程,都由一个叫 CFS(完全公平调度器)的调度器进行调度,它是 Linux 最核心的组件之一。(在Linux中,线程和进程只有细微差别,下文统一用进程表述)

CFS 的核心是红黑树,用于管理系统中进程的运行时间,作为选择下一个将要运行的进程的依据。此外,它还支持优先级、组调度(基于我们熟知的 cgroup 实现)、限流等功能,满足各种高级需求。CFS 的详细介绍。

2.2 hackbench

hackbench 是一个针对 Linux 内核调度器的压力测试工具,它的主要工作是创建指定数量的调度实体对(线程/进程),并让它们通过 sockets/pipe 进行数据传输,最后统计整个运行过程的时间开销。

2.3 CFS 调度器参数

本文重点关注以下两个参数,这两个参数也是影响 hackbench 跑分性能的重要因素。系统管理员可以使用 sysctl 命令来进行设置。

最小粒度时间:kernel.sched_min_granularity_ns

通过修改 kernel.sched_min_granularity_ns,可以影响 CFS 调度周期(sched period)的时间长短。例如:设置kernel.sched_min_granularity_ns = m,当系统中存在大量可运行进程时,m 越大,CFS 调度周期就越长。

如图 1 所示,每个进程都能够在 CPU 上运行且时间各有长短,sched_min_granularity_ns 保证了每个进程的最小运行时间(优先级相同的情况下),sched_min_granularity_ns 越大每个进程单次可运行的时间就越长。

d17d5954-fe4e-11eb-9bcf-12bb97331649.png

图 1:sched_min_granularity_ns 示意图

唤醒抢占粒度:kernel.sched_wakeup_granularity_ns

kernel.sched_wakeup_granularity_ns 保证了重新唤醒的进程不会频繁抢占正在运行的进程,kernel.sched_wakeup_granularity_ns 越大,唤醒进程进行抢占的频率就越小。
如图 2 所示,有 process-{1,2,3} 三个进程被唤醒,因为 process-3 的运行时间大于 curr(正在 CPU 上运行的进程)无法抢占运行,而 process-2 运行时间小于 curr 但其差值小于 sched_wakeup_granularity_ns 也无法抢占运行,只有 process-1 能够抢占 curr 运行,因此 sched_wakeup_granularity_ns 越小,进程被唤醒后的响应时间就越快(等待运行时间越短)。

d1aae216-fe4e-11eb-9bcf-12bb97331649.png

图 2:sched_wakeup_granularity_ns 示意图

三、hackbench 工作模式简介

hackbench 工作模式分为 process mode 和 thread mode,主要区别就是以创建 process 还是 thread 为基础来进行测试,下面以 thread 来进行介绍。

hackbench 会创建若干线程(偶数),均分为两类线程:sender 和 receiver

并将其划分为 n 个 group,每个 group 包含 m 对 sender 和 receiver。

每个 sender 的任务就是给其所在 group 的所有 receiver 轮流发送 loop 次大小为 datasize 的数据包

receiver 则只负责接收数据包即可。

同一个 group 中的sender 和 receiver 有两种方式进行通信:pipe 和 local socket(一次测试中只能都是 pipe 或者 socket),不同 group 之间的线程没有交互关系。

d1eaa090-fe4e-11eb-9bcf-12bb97331649.png

图 3: hackbench 工作模式主动上下文切换:

对于 receiver,当 buffer 中没有数据时,receiver 会被阻塞并主动让出 CPU 进入睡眠。

对于 sender,如果 buffer 中没有足够空间写入数据时, sender 也会被阻塞且主动让出 CPU。

因此,系统中"主动上下文切换"是很多的,但同时也存在“被动上下文切换”。后者会受到接下来我们将要介绍的参数影响。

四、hackbench性能影响之源

在hackbench-socket 测试中,tuned修改了 CFS 的 sched_min_granularity_ns 和 sched_wakeup_granularity_ns 两个参数,导致了性能的显著区别。具体如下:

开关/参数和性能 sched_min_granularity_ns sched_wakeup_granularity_ns 性能
关 tuned 2.25ms 3ms
开 tuned 10ms 15ms

接下来我们调整这两个调度参数来进行进一步的深入分析。

五、双参数优化

注:为了简介表达下面会以 m 表示 kernel.sched_min_granularity_ns,w 表示 kernel.sched_wakeup_granularity_ns

为了探索双参数对于调度器的影响,我们选择每次固定一个参数,研究另一个参数变化对于性能的影响,并使用系统知识来解释这种现象背后的原理。

5.1 固定sched_wakeup_granularity_ns

d21f7842-fe4e-11eb-9bcf-12bb97331649.png

图 4: 固定 w,调整m

在上图中我们固定了参数 w 并根据参数 m 变化趋势其划分为三个部分:区域A(1ms~4ms),区域B(4ms~17ms),区域C(17ms~30ms)。在区域A中四条曲线均呈现一个极速下降的趋势,而在区域B中四条曲线都处于一种震荡状态,波动较大,最后在区域C中四条曲线都趋于稳定。

在第二节相关知识中可以知道 m 影响着进程的运行时间,同时也意味着它影响着进程的“被动上下文切换”。

对于区域A而言,抢占过于频繁,而大部分抢占都是无意义的,因为对端无数据可写/无缓冲区可用,导致大量冗余的“主动上下文切换“。此时较大的 w 能让 sender/receiver 有更多的时间来写入数据/消耗数据来减少对端进程无意义的“主动上下文切换“。

对于区域B而言,随着 m 的增加渐渐满足 sender/receiver 执行任务的时间需求能够在缓冲区写入/读出足够的数据,因此需要较小的 w 来增加唤醒进程的抢占几率,让对端进程能够更快的响应处理数据,减少下一轮调度时的“主动上下文切换”。

对于区域C而言,m已经足够大,已经几乎不会有“被动上下文切换”发生,进程会在执行完任务之后进行“主动上下文切换”等待对端进程进行处理,此时 m 对性能的影响就很小了。

5.2 固定sched_min_granularity_ns

d22d184e-fe4e-11eb-9bcf-12bb97331649.png

图 5: 固定 m,调整w

在上图中我们固定了参数 m,同样划分了三个区域:

在区域A中,同样存在图 4 中的现象,较大 m 受 w 的影响较小,而较小的 m 随着 w 的增大性能会越来越好。

在区域B中,中等大小的 m(8ms/12ms)进程还是存在较多“被动上下文切换”,并且其中的进程已经处理了相当一部分数据期望对端进程能够尽快的响应处理,因此较大 w 会严重影响中等大小 m 的性能。

在区域C中图5和图4表现一致都是趋于稳定,因为 w 过大时几乎不会发生唤醒抢占,因此这时单纯 w 值的变化对性能的影响并不大,但是过大的 w 对于中等大小的 m 则会造成性能问题(原因同上条)。

5.4 最优双参数(对于 hackbench )

从上面两节的分析可知对于 hackbench 这样带有“主动上下文切换”的场景可以选择较大的 m(例如:15~20ms)。

在pipe/socket 双向通信的场景中,对端的响应时间会对影响进程的下一次处理,为了让对端进程能够及时响应可以选择一个中等大小的 w(例如:6~8ms)来获取较高的性能。

六、思考与扩展

在桌面场景中,应用更偏向于交互型,应用的服务质量也更多的体现在应用对于用户操作的响应时间,因此可以选择较小的 sched_wakeup_granularity_ns 来提高应用的交互性。

在服务器场景中,应用更偏向于计算处理,应用需要更多的运行时间来进行密集计算,因此可以选择较大的 sched_min_granularity_ns,但是为了防止单个进程独占 CPU 过久同时也为了能够及时处理客户端请求响应,应该选择一个中等大小的 sched_wakeup_granularity_ns。

在 Linux 原生内核中 m 和 w 的默认参数被设置为适配桌面场景,Anolis OS的用户,需要根据自己部署的应用的场景,属于桌面型还是服务器型,来选择内核参数,或者使用tuned的推荐配置。而 hackbench 作为一个介于桌面和服务器间的应用,也可以作为配置的参考。

责任编辑:haq

原文标题:“不服跑个分?” 是噱头还是实力?

文章出处:【微信号:gh_6fde77c41971,微信公众号:FPGA干货】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

STM32 Linux开发板推荐 ,入门进阶必备!

推荐一款适合入门进阶学习的Linux开发板:华清远见FS-MP1A开发板(STM32MP157开发板....
发表于 10-22 18:51 4次 阅读

【视频】华清远见stm32mp157开发入门指导(7讲)

关于FS-MP1A开发板(stm32mp157): FS-MP1A开发板是华清远见最新自主研发的一....
发表于 10-22 18:50 1次 阅读

一图了解华清远见STM32MP157开发板学习资源优势

一图了解华清远见STM32MP157开发板学习资源优势(教程+视频+项目): 资料说明及更新情....
发表于 10-22 18:49 3次 阅读

linux spi应用层驱动以及回环测试代码

linux spi应用层驱动以及回环测试代码
发表于 10-22 15:47 9次 阅读

给树莓派添加一个开、关机按键(原创)

给树莓派添加一个开、关机按键(原创)声明关键词问题起因解决方案一、实现方式二、实现原理三、改进方案声....
发表于 10-22 10:06 12次 阅读
给树莓派添加一个开、关机按键(原创)

分享!基于Zynq-7010/7020的多路千兆网口实现方案

前 言:本文基于以太网接口在工业场合的大量使用,特别是工业控制、仪器仪表等领域,结合Xilinx Zynq-7000所具备的丰富设计资源...
发表于 10-22 09:43 101次 阅读

基于ARM Linux的WiFi智能终端门禁系统

引言 随着社会经济的快速发展,人们对室内人身财产安全要求越来越高,门禁系统作为智能建筑安防自动化体系中必不可少的一部分[1...
发表于 10-22 09:27 505次 阅读

一文读懂什么是Linux驱动呢

什么是Linux驱动? Linux驱动程序需要掌握哪些内容呢? ARM处理器体系架构是由哪些部分组成的? ...
发表于 10-22 08:43 0次 阅读

香橙派全志芯片开发板下载交叉编译工具链说明

香橙派开发板以处理器分类,包含全志H2、全志H3、全志H5、全志H6等系列,下文以全志H3芯片的开发板为例,对交叉编译工具链的...
发表于 10-21 17:35 101次 阅读
香橙派全志芯片开发板下载交叉编译工具链说明

嵌入式linux开发视频下载

嵌入式Linux视频教程:ed2k://|file|Tiny6410%E5%9B%BD%E5%B5%....
发表于 10-21 13:21 7次 阅读
嵌入式linux开发视频下载

嵌入式linux开发视频下载

嵌入式Linux视频教程:ed2k://|file|Tiny6410%E5%9B%BD%E5%B5%....
发表于 10-21 13:21 7次 阅读
嵌入式linux开发视频下载

嵌入式软件未来发展趋势

虽说嵌入式未来发展一片大好,但也会有一些人很想多了解一下嵌入式,毕竟之后要学习嵌入式的话,也要多了解....
发表于 10-21 13:06 15次 阅读
嵌入式软件未来发展趋势

【嵌入式实验】《嵌入式开发工具使用》

嵌入式开发工具使用一.实验目的二.实验内容三.预备知识四.实验设备及工具(包括软件调试工具)五.实验....
发表于 10-21 13:06 8次 阅读
【嵌入式实验】《嵌入式开发工具使用》

嵌入式Linux NFS

文章目录前言服务器配置嵌入式设备挂载微信公众号前言网络文件系统(英语:Network File Sy....
发表于 10-21 12:51 5次 阅读
嵌入式Linux NFS

小白找工作:嵌入式工程师(从单片机到嵌入式,我该投哪个岗位)

小白找工作:嵌入式工程师前言从单片机到嵌入式,我该投哪个岗位前言好久没有写博客了,这段时间主要是去做....
发表于 10-21 12:51 19次 阅读
小白找工作:嵌入式工程师(从单片机到嵌入式,我该投哪个岗位)

嵌入式软件工程师成长方向的思考

最近有点空闲,总结下嵌入式工程师所需要掌握的技能,及成长方向。主体知识:C语言、数据结构 + 算法、....
发表于 10-21 12:36 8次 阅读
嵌入式软件工程师成长方向的思考

嵌入式linux根文件系统损坏恢复方法

昨晚在对开发板的文件进行复制操作时遇到卡死,强制重启之后发现进不了命令行模式,输入回车键一直提示:c....
发表于 10-21 12:36 6次 阅读
嵌入式linux根文件系统损坏恢复方法

嵌入式linux的开发流程以及linux应用层内容

嵌入式linux开发流程:1.搭建前期的开发环境,例如搭建linux主机环境,交叉编译器的安装,还有....
发表于 10-21 12:36 7次 阅读
嵌入式linux的开发流程以及linux应用层内容

树莓派1:嵌入式开发概述

嵌入式开发概述1.嵌入式硬件选型:嵌入式即嵌入式系统,IEEE对其定义是用于控制,监视或者辅助操作机....
发表于 10-21 12:06 12次 阅读
树莓派1:嵌入式开发概述

嵌入式开发中常用的几种通信接口总结

关注、星标公众号,直达精彩内容在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连....
发表于 10-21 11:21 7次 阅读
嵌入式开发中常用的几种通信接口总结

嵌入式系统移植之TFTP配置方法(自己学习总结)

TFTP服务TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的t....
发表于 10-21 11:08 4次 阅读
嵌入式系统移植之TFTP配置方法(自己学习总结)

Linux嵌入式学习过程

Linux嵌入式学习过程循序渐进学习嵌入式开发技术一、练好基本功二、嵌入式Linux应用开发误区一、....
发表于 10-21 11:07 8次 阅读
Linux嵌入式学习过程

嵌入式Linux开发环境搭建之安装Ubuntu

最近打算重新自学 linux 嵌入式,既然要重来,那就得从头开始,linux 开发第一件事就是搭建 ....
发表于 10-21 11:06 11次 阅读
嵌入式Linux开发环境搭建之安装Ubuntu

嵌入式分层概括总结

最近重新进入嵌入式领域,有必要对嵌入式分层架构有一个清晰的理解。经过多方查阅以及个人的理解,本人对嵌....
发表于 10-21 10:51 8次 阅读
嵌入式分层概括总结

嵌入式软件开发学习资料

黑发不知勤学早,白首方悔读书迟。适合学习嵌入式软件开发的资料,除了粤嵌的,其他的我都看过。非嵌入式方....
发表于 10-21 10:51 7次 阅读
嵌入式软件开发学习资料

嵌入式学习之线程

线程概述一个程序中的多个执行路线叫做线程,线程是一个进程内部的控制序列。所有的进程都至少有一个执行线....
发表于 10-21 10:51 4次 阅读
嵌入式学习之线程

【嵌入式实验】《嵌入式数据库 sqlite 移植及使用》

嵌入式数据库 sqlite 移植及使用一、实验目的二.实验内容三.预备知识四.实验设备及工具(包括软....
发表于 10-21 10:51 6次 阅读
【嵌入式实验】《嵌入式数据库 sqlite 移植及使用》

【嵌入式技能树】

嵌入式工程师需要哪些技能书/技能加点? 学习程度:熟悉 < 有过经验 < 熟练 < 精通文章目录通用....
发表于 10-21 10:21 8次 阅读
【嵌入式技能树】

嵌入式Linux开发学习如何入门、如何深入?

嵌入式Linux开发学习如何入门、如何深入?学习步骤如下:1、Linux 基础安装Linux操作系统....
发表于 10-21 10:21 8次 阅读
嵌入式Linux开发学习如何入门、如何深入?

嵌入式搭建ftp服务器

嵌入式ftp下载源码git clone git@github.com:gamman/stupid-F....
发表于 10-21 10:06 9次 阅读
嵌入式搭建ftp服务器

为什么嵌入式开发中一般都使用Linux系统?

Linux系统与其它操作系统相比具有轻量化、易裁剪、稳定性高、免费开源等优势,且Linux系统能很好....
发表于 10-21 09:51 6次 阅读
为什么嵌入式开发中一般都使用Linux系统?

LCD屏幕操作原理_嵌入式Linux

5.1 LCD 操作原理在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。....
发表于 10-21 09:51 8次 阅读
LCD屏幕操作原理_嵌入式Linux

嵌入式Linux怎么搭建开发环境?

全文下载地址:嵌入式Linux系统开发完全手册 第二版2.1 安装Windows软件2.1.1 这么....
发表于 10-21 09:36 7次 阅读
嵌入式Linux怎么搭建开发环境?

嵌入式开发版如何通过网线连接电脑,SecureCRT连接嵌入式板子

1.与开发版相连的网口修改为静态IP2.关闭电脑防火墙3.打开TFTP服务器创建工具,创建TFTP服....
发表于 10-21 09:36 6次 阅读
嵌入式开发版如何通过网线连接电脑,SecureCRT连接嵌入式板子

嵌入式Linux开发的流程是怎样的呢

单片机和Linux的区别在哪? 嵌入式Linux开发的流程是怎样的呢? ...
发表于 10-21 09:30 0次 阅读

嵌入式的初步了解

2020年2月25日,我第一次接触到了这门课程——嵌入式设计。在没有了解这门课之前,就连“嵌入式”这....
发表于 10-20 21:21 18次 阅读
嵌入式的初步了解

嵌入式 Linux 开发基本概念

1.2.1 嵌入式 Linux 开发有哪些内容?嵌入式 Linux 系统,就相当于一套完整的 PC ....
发表于 10-20 21:21 18次 阅读
嵌入式 Linux 开发基本概念

嵌入式 Linux 的学习新路线

很多人喜欢从系统启动流程开始学习:先学习裸机,裸机集合起来就是 u-boot,再学习内核移植、驱动开....
发表于 10-20 21:06 7次 阅读
嵌入式 Linux 的学习新路线

嵌入式系统开发者需要掌握什么技术?

大家好,我是小嵌,在知乎上看到这个问题,其中有一个答主的答案很经典,特此分享给大家。说实话,问题中嵌....
发表于 10-20 20:20 6次 阅读
嵌入式系统开发者需要掌握什么技术?

嵌入式Linux容器技术

嵌入式Linux容器技术一、Linux容器技术Linux Container容器是一种内核虚拟化技术....
发表于 10-20 20:06 8次 阅读
嵌入式Linux容器技术

嵌入式内存分布详解

前言硬件程序调试比较看重内存的分布情况,可以通过编译输出文件来分析运行时的数据结构如有疑问,欢迎指正....
发表于 10-20 20:06 8次 阅读
嵌入式内存分布详解

嵌入式Lua开发环境的搭建

背景作为一个嵌入式软件从业者,近几年的工作经历渐渐感觉到了从事嵌入式软件开发,工作投入高而产出低。提....
发表于 10-20 19:51 10次 阅读
嵌入式Lua开发环境的搭建

肝了半个月,我整理出了这篇嵌入式开发学习学习路线+知识点梳理)

不好意思久等了这篇文章让小伙伴们久等了。一年多以来,关于嵌入式开发学习路线、规划、看什么书等问题,被....
发表于 10-20 19:36 4次 阅读
肝了半个月,我整理出了这篇嵌入式开发学习学习路线+知识点梳理)

嵌入式LinuxQT操作自定义按键

嵌入式Linux系统中,用QT做的应用层程序,需要检测自定义的按键状态。使用的QT的按键事件,驱动层....
发表于 10-20 19:21 6次 阅读
嵌入式LinuxQT操作自定义按键

嵌入式常用的开源库

阅读目录linux/嵌入式常用开源库列表其他资料参考资料linux下/嵌入式常用的开源库名字及简介,....
发表于 10-20 19:20 8次 阅读
嵌入式常用的开源库

1-嵌入式Linux系统软件组成

1 Windows PC:BIOS——>(启动)windows内核——>(挂载硬盘)系统盘/应用盘—....
发表于 10-20 18:51 8次 阅读
1-嵌入式Linux系统软件组成

20分钟轻松搭建一个嵌入式web服务器

嵌入式Linux,boa,web服务器
发表于 10-20 18:50 9次 阅读
20分钟轻松搭建一个嵌入式web服务器

使用WSL搭建嵌入式开发环境

这里介绍使用WSL安装交叉编译环境
发表于 10-20 18:36 4次 阅读
使用WSL搭建嵌入式开发环境

嵌入式设备NFS挂载目录(基于iTop 4412)

嵌入式设备NFS挂载目录文章目录嵌入式设备NFS挂载目录1. 背景2. 工作量分析3. 上位机搭建N....
发表于 10-20 18:36 6次 阅读
嵌入式设备NFS挂载目录(基于iTop 4412)

分享一些嵌入式相关的开源项目

关注+星标公众号,不错过精彩内容来源 | 人人都是极客大家平时学习的资源可能来自不同地方,对于程序员....
发表于 10-20 18:35 7次 阅读
分享一些嵌入式相关的开源项目

嵌入式驱动工程师开发学习路线

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处....
发表于 10-20 18:21 13次 阅读
嵌入式驱动工程师开发学习路线

【嵌入式】构建嵌入式Linux系统(uboot、内核、文件系统)

嵌入式Linux系统知识架构及层次嵌入式Linux系统构成及启动略析嵌入式Linux三剑客之uboo....
发表于 10-20 18:20 23次 阅读
【嵌入式】构建嵌入式Linux系统(uboot、内核、文件系统)

嵌入式行业是个坑吗?

在知乎上看到一篇写当下嵌入式行业的文章,感觉很接地气,想入行或者想了解嵌入式行业的可以看下:嵌入式就....
发表于 10-20 17:51 15次 阅读
嵌入式行业是个坑吗?

linux及嵌入式学习必备神器-树莓派4b

假期来了,想学习linux,学习嵌入式开发的小伙伴需要一款神器树莓派4b树莓派4b树莓派4b的核心处....
发表于 10-20 17:50 11次 阅读
linux及嵌入式学习必备神器-树莓派4b

初级嵌入式软件工程师学习路线(在校本科或者硕士)

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1)掌握主流嵌....
发表于 10-20 17:36 6次 阅读
初级嵌入式软件工程师学习路线(在校本科或者硕士)

如何学习嵌入式linux?学习嵌入式linux有什么技术门槛吗?

如何学习嵌入式linux?学习嵌入式linux有什么技术门槛吗?...
发表于 10-20 07:23 0次 阅读

怎样去移植通用嵌入式系统呢

怎样去移植通用嵌入式系统呢? Linux在嵌入式中有何应用? ...
发表于 10-20 06:57 0次 阅读

Linux软件系统的层次关系

1、Linux软件系统的层次关系 软件系统可分为:应用程序、库、操作系统(内核)、驱动程序 以点亮LED为例,分析各层间的...
发表于 10-19 17:17 101次 阅读

输入子系统的作用与框架

一、输入子系统的作用与框架 1、输入设备 按键、鼠标、触摸屏:gt811,ft56xx  有多个输入设备需要驱动的时候,假如不考虑输...
发表于 10-19 17:13 101次 阅读

驱动程序开发步骤

驱动程序开发步骤   编写一个驱动程序的大致流程如下: 1)查看原理图,数据手册,了解设备的操作方法; 2)在内核中找到相...
发表于 10-19 17:11 101次 阅读

AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
发表于 09-25 11:51 364次 阅读
AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)