返回顶部
首页 > 资讯 > 后端开发 > Python >EDMA3浅析
  • 776
分享到

EDMA3浅析

2023-01-31 02:01:33 776人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

基于C66x的内核处理器主要具有两种DMA传输:IDMA、EDMA3。IDMA:只提供核内部(L1P、L1D、L2、CFG)的数据移动服务。EDMA3:实现器件上两个存储器映射的从终端(Slave Endpoint)之间的数据传输(如DDR

基于C66x的内核处理器主要具有两种DMA传输:IDMA、EDMA3。

IDMA:只提供核内部(L1P、L1D、L2、CFG)的数据移动服务。

EDMA3:实现器件上两个存储器映射的从终端(Slave Endpoint)之间的数据传输(如DDR3、MSM SRAM、L2)。

EDMA3控制器由用户设定,服务于器件上两个存储器映射的从终端之间的数据传输;服务于软件驱动的页传输(例如,在外部存储器和内部存储器之间),执行分解或子帧取出多种数据结构,服务事件驱动的外围设备并减轻器件CPU数据传输任务。

2.1      EDMA3构成

C6678处理器中,IDMA具有两个通道,EDMA具有三个通道控制器(CC0、CC1、CC2)和10个传输控制器(CC0TC0、CC0TC1,CC1TC0、CC1TC1、CC1TC2、CC1TC3,CC2TC0、CC2TC1、CC2TC2、CC2TC3)。

如图2-1所示,CC0有16个DMA通道,8个QDMA通道,16个中断通道,2个事件队列,2个传输控制TC;CC1有64个DMA通道,8个QDMA通道,64个中断通道,4个事件队列,4个传输控制TC;CC2有64个DMA通道,8个QDMA通道,64个中断通道,4个事件队列,4个传输控制TC。

image.png

图2-1 EDMA3 CC资源图

每个TC的资源情况如图2-2所示。

image.png

图2-2 EDMA3 TC资源图

 

2.2      功能用法

CC0被优化用于内部MSMC(Multicore Shared Memory Controller)和DDR3子系统之间的数据传输,CC1、CC2被用作系统外围设备和在系统存储器间移动数据等其他传输。

每个CC有两种通道类型:DMA通道和QDMA通道。每个通道与一个给定的事件队列、传输控制器相关,并与一个给定的PaRAM参数集相关。

DMA通道和QDMA通道的主要区别在于传输是如何被系统触发的。

DMA通道传输必需一个触发事件。QDMA通道传输只需设定好触发字即可自动触发。

每个事件队列深度是16,同一时刻最多支持16个传输事件。

每个DMA、QDMA通道分配到的事件队列是可编程的。

如果在不同的通道上,事件同时被检测,事件队列会基于一个固定优先级仲裁机制仲裁。DMA通道具有比QDMA通道更高的优先级。最小编号的通道最有最高优先级。

每个事件在事件队列中按照FIFO顺序被处理。

DMA、QDMA的channel可以统一一起连续编号,TI就是如此处理的。

  Global Region和Shadow Region的区别:当使用Global Region配置EDMA时,所有内核都会响应;当使用Shadow Region时,通过DRAE/DRAEH(对于DMA)和QRAE/QRAEH(对于QDMA)寄存器将不想触发的事件屏蔽,这样即使系统中的事件触发了,Shadow Region中对应的事件也不会触发。当使用global region配置EDMA时,所有的core都会响应,这样就存在某些core不想使用的event也会被触发,如果使用shadow region,通过DRE/DREH将不想触发的event屏蔽,这样即便系统中对应的event触发了,shadow region中的event也不会触发。


--结束END--

本文标题: EDMA3浅析

本文链接: https://lsjlt.com/news/186206.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • EDMA3浅析
    基于C66x的内核处理器主要具有两种DMA传输:IDMA、EDMA3。IDMA:只提供核内部(L1P、L1D、L2、CFG)的数据移动服务。EDMA3:实现器件上两个存储器映射的从终端(Slave Endpoint)之间的数据传输(如DDR...
    99+
    2023-01-31
  • 浅析Android.mk
     Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一...
    99+
    2022-06-06
    Android
  • 浅析HTTP3
    目录简介HTTP成长介绍不同HTTP协议解决的问题HTTP3和QUICTLS1.3解决HoL阻塞连接的迁移总结简介 很多小伙伴可能还沉浸在HTTP1.1的世界无法自拔,但是时代的洪流...
    99+
    2024-04-02
  • Spark Operator浅析
    本文作者: 林武康(花名:知瑕),阿里巴巴计算平台事业部技术专家,Apache HUE Contributor, 参与了多个开源项目的研发工作,对于分布式系统设计应用有较丰富的经验,目前主要专注于EMR数据开发相关的产品的研发工作。 ...
    99+
    2017-07-26
    Spark Operator浅析
  • 浅析MySQL - MVCC
    版本链 在InnoDB引擎表中,他们的聚簇索引记录中有两个隐藏列: trx_id:用来存储对数据进行修改时的事务id roll_pointer:每次对哪条聚簇索引记录有修改的时候,就会把老版本写入undo日...
    99+
    2022-05-15
    MySQL mvcc
  • 浅析Linux resolv.conf
    1.简介 resolv.conf是各种操作系统域名系统解析器(DNS Resolver)的配置文件。每当一个程序需要通过域名来访问Internet上面的其它主机时,需要利用Resolver库函数将域名转换成对应的IP...
    99+
    2022-06-03
    Linux resolv.conf
  • python yield浅析
    在python(本文python环境为python2.7)中,使用yield关键字的函数被称为generator(生成器)。故为了了解yield,必然先要了解generator,而了解generator之前,我们先要了解一下迭代。 递归和迭...
    99+
    2023-01-31
    python yield
  • python setup.py 浅析
    setuptools.setup() 参数说明 packages 对于所有 packages 列表里提到的纯 Python 模块做处理 需要在 setup 脚本里有一个包名到目录的映射。 默认对于 setup 脚本所在目录下同名的目...
    99+
    2023-01-31
    python setup py
  • BI浅析(3)
    五、实施商业智能的步骤如何   实施商业智能系统是一项复杂的系统工程,整个项目涉及企业管理, 运作管理, 信息系统, 数据仓库, 数据挖掘, 统计分析等众多门类的知识. 因此用户除了要选择合适的商业智能软件工具外还必须按照正确的...
    99+
    2023-01-31
    BI
  • ThreadLocal原理浅析
    ThreadLocal即线程局部变量的意思!所以什么是线程局部变量?这玩意有什么鸟用?是不是面试被问到了说不出个一二三?今天就来扒一扒这货的源码,从根本上了解这货是干啥的。Thread、ThreadLocalMap、Entry三者关系其实研...
    99+
    2014-12-05
    java教程 ThreadLocal java
  • MyBatis源码浅析
    什么是MyBatisMyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。MyBatis 使用简单的 XML...
    99+
    2024-04-02
  • Hibernate问题浅析
    1、什么是SessionFactory?什么是Session?httpsession和hibernate的session的有什么区别?    SessionFactory接口负责初始化H...
    99+
    2024-04-02
  • Java_Cloneable 接口浅析
    Java中的Cloneable接口是一个标记接口,用于指示实现了该接口的类可以进行对象的克隆(复制)操作。1. 标记接口:Clone...
    99+
    2023-09-21
    Java
  • python中Return浅析
       return 语句是Python语言中函数返回的一个值,每个函数都应该有一个返回值;其中,return返回值可以是一个数值,一个字符串,一个布尔值或者一个列表。    Python 函数返回值return ,函数中一定要有...
    99+
    2023-01-31
    python Return
  • 浅析getway网关
    目录一、网关基本概念1、API网关介绍2、Spring Cloud Gateway3、Spring Cloud Gateway核心概念二、getway网关例子1、在infrastru...
    99+
    2024-04-02
  • 深入浅析AngularSSR
    目录使用 SSR 的好处对 SEO 更加友好提高移动端的性能更快地展示首页为项目增加 SSR替换浏览器 API使用 URL 绝对地址Prerender 预渲染静态 HTML预渲染路径...
    99+
    2022-11-13
    Angular SSR Angular SSR好处 Angular SSR用法
  • JAVA泛型浅析
    本文主要列举了在使用Java泛型时应该注意的问题。Java泛型是Java5的一个重要特性,它和自动装箱、变长参数等新特性一起,提升了Java代码的健壮性和易用性,但SUN本身过分强调向前的兼容性,也引入了不少问题和麻烦。[@more@]JA...
    99+
    2023-06-03
  • 怎样浅析ButterKnife
    怎样浅析ButterKnife,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。不管是Android开发的老司机也好,新司机也罢,想必大家都对findViewById这种样板代...
    99+
    2023-06-04
  • MySQL行锁浅析
    概述 MySQL是非常流行的关系型数据库,许多系统都使用它来存储和管理数据。在高并发环境下,为了保证数据的一致性和可靠性,数据库需要实现并发控制,其中包括锁机制。MySQL提供了两种锁类型,一种是表级锁,另一种是行级锁。本文将深入探讨My...
    99+
    2023-08-19
    mysql 数据库 java
  • 深入浅析Android JSON解析
    JSON语法 首先看JSON的语法和结构,这样我们才知道怎么去解析它。JSON语法时JavaScript对象表示语法的子集。 JSON的值可以是: 数字(整数或者浮点数) 字符...
    99+
    2022-06-06
    json解析 android json解析 JSON Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作