双核DSP芯片的内存管理

news2024/10/26 3:40:05

总体框图

在这里插入图片描述

总的来说,在这款DSP芯片上,RAM分成了四种不同的类型:
专用RAM:
CPU专用的内存,其他主机无法访问。
双核共享RAM:
CLA和CPU共享内存,双方都可以对内存地址进行访问
MSGRAM:
CLA和CPU之间传递数据的内存
全局共享RAM:
CPU和DMA共享内存

内存访问:
对于DSP芯片来说,它采用多组总线并行机制,对内存的访问存在程序读、数据读、数据写三种情况。

Dedicated RAM(Dx RAM)

这是CPU专用的内存RAM,其他主机无法对其进行访问,在这颗芯片里其他主机指CLA或者DMA。有两个子类型,M0/M1,D0/D1,其中M0和M1是和CPU紧耦合的,CPU对它们的读写及取指不受限。
所有的CPU专用RAM都带有ECC校验

Local Shared RAM(LSx RAM)

这块内存区域是CPU和CLA共享的内存块,内存块带奇偶校验。
由于是共享内存块,CLA和CPU都能对其进行访问,那么关于权限控制就会复杂一些:
在这里插入图片描述

根据配置可将其改为CPU专用或者CLA专用,在CLA专用模式下,此内存区域变成CLA的编程区域,此时CLA从此区域取指,但是在仿真模式下,权限不受控。

Messgae RAM(MSGRAM)

用于CPU和CLA之间的消息传递。有两种类型的MSGRAM:
CLA to CPU
CPU to CLA
CPU和CLA对它们有不同权限:
在这里插入图片描述

Global Shared RAM(GSxRAM)

这个内存块是DMA和CPU之间的共享内存,访问权限控制如下:
在这里插入图片描述

访问仲裁

CPU访问优先级如下:

写入访问优先级最高
数据读取优先级次之
取指优先级最低

CLA访问优先级如下:
写入优先级最高
数据读取/取指优先级次之

内存保护机制

关于内存保护,其实说白了就是限制某个模块对内存进行权限访问。前面说了,对内存的访问有三种情况,数据读,数据写,以及取指,这里的内存保护机制就是对于某个RAM来说,限制模块对其的某种访问操作,即限制读、写或者取指。

取指保护

CPU的取指保护

限制CPU对特定内存的取指保护(对于紧耦合的M0/M1无此限制),当CPU对被限制取指的内存进行取指操作后,会生成一个不可屏蔽中断ITRAM(非法指令陷阱),且在访问冲突寄存器中有相应标志位置位,发生冲突的地址会被记录。

CLA的取指保护

CLA能够进行取指的情况,只有在将LSxRAM配置为编程内存的时候,所以如果将这个内存块配置为其他选项,在CLA对其进行取指时会导致MSTOP(指令,停止当前任务),在访问冲突寄存器中会有相应标志位置位,冲突地址被记录,如果使能中断,会向CPU发起中断请求。

写保护

CPU写保护

当CPU对被限制写入的内存进行操作后,写入操作无效,冲突寄存器标志位置位,地址被记录。

CLA写保护

对于LSxRAM来说,如果不将它配置为共享内存,那么对该模块的写操作无效,在冲突寄存器中有相应标志位置位,冲突地址被记录,如果配置中断,则会向CPU发起中断请求。

读保护

CPU读保护

多数的RAM块都不限制对其进行读操作,但是对于LSxRAM来说,当它配置为CLA的编程区域,此时只允许CLA对其进行取指,当CPU尝试对其进行访问后,冲突寄存器中相应标志位置位,发生访问冲突的地址被记录,如果配置中断,则会触发中断事件。

CLA读保护

对于LSxRAM来说,如果不配置共享内存,那么对它进行读操作以后,冲突寄存器中有相应标志位置位,冲突地址被记录,如果启用中断,会向CPU发起中断请求。

内存错误检测、纠错和处理

如果内存数据在某种未知原因下变化,该模块提供错误检测,以及纠错和处理机制。

错误检测

从内存中读取数据/取指时会进行错误检测,主要检测方式是奇偶校验和ECC校验,根据是否可纠正区分错误情况:
奇偶校验错误(不可纠正)
Single-bit数据ECC校验错误(可纠正)
Double-bit数据ECC校验错误(不可纠正)
地址ECC校验错误(不可纠正)
对于可纠正的内存错误,内存错误模块会自动纠正并将正确数据写入内存。

错误处理

对于可纠正错误,有计数器对其进行计数,当计数值达到阈值(可配置),如果该中断使能则会对CPU产生一个中断,发生错误的地址将会被锁定在对应寄存器。
不可纠正的错误将会生成一个NMI中断,错误地址会被锁定在相应寄存器并生成错误状态。
错误类型 状态标志 错误通知
可纠正错误 对应模块状态标志位置位,锁定地址 NMI中断
不可纠正错误 对应模块状态标志位置位,锁定地址 达到配置计数器阈值后生成中断

错误模式

在错误模式下,用户可以直接修改数据位,不修改校验位,从而注入校验错误,此模式用于自测试。

RAM初始化

由于从内存读取数据/取指会预先对RAM数据进行校验,所以如果对未初始化的内存块进行读取数据/取指,会校验错误,该模块提供了初始化操作,将RAM区域初始化为0并填入正确的校验值。

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

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

相关文章

【自动驾驶汽车通讯协议】I2C(IIC)总线通讯技术详解

文章目录 0. 前言1. I2C简介2.I2C的工作原理2.1 硬件要求:2.2 半双工通信: 3. 通信时序4. 其他特性4.1 通信速率4.2 抗干扰措施4.3 注意事项 5. 在自动驾驶汽车中的应用5.1 I2C操作模式5.2 I2C的用途 6. 总结 0. 前言 按照国际惯例,首先声明&…

Spring Boot知识管理系统:创新与实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

【含开题报告+文档+PPT+源码】基于人脸识别的课堂考勤系统的设计与实现

开题报告 随着科技的不断发展,人脸识别技术已经逐渐渗透到各个领域,包括教育领域。传统的课堂考勤方式通常依赖于学生签到或教师手动记录,这种方式存在着许多不足之处,例如容易出现人为错误、耗费时间和资源等。为了解决这些问题…

机器学习:强化学习中的探索策略全解析

引言 在机器学习的广阔领域中,强化学习(Reinforcement Learning, RL)无疑是一个充满魅力的子领域。它通过智能体与环境的交互,学习如何在特定的任务中做出最优决策。然而,在这个过程中,探索(ex…

linux 配置ssh免密登录

一、 cd /root/.ssh/ #不存在就创建mkdir /root/.ssh ssh-keygen #连续按4个回车 ll二、将公钥发送到目标服务器下 #公钥上传到目标服务器 ssh-copy-id root192.168.31.142 #回车完也是要输入密码的 #测试一下免密登录: ssh root192.168.31.142 成功

二、后台管理系统布局菜单可拖动

前两天产品提出了一个需求,说后台管理系统的左边菜单的名称字数过多,遮挡了。希望能让客户能够看到全部的名称,给左侧菜单增加一个可拖动的功能,经过我的研究,这个功能最终也做出来了,先看效果,…

IDEA之手动添加作者信息

IDEA不能像eclipse一样,直接使用/**注释快捷键在类上带出作者信息。 解决方案: 手动添加自定义作者注释快捷键 /*** Author: TroubleBoy* Date: $DATE$* Description: TODO*/ 6.编辑日期变量,设置变量DATE的Expression为date() 7.应用Java…

Nacos的相关资料

目录 Nacos的Mysql文件: custom.env文件: 执行的Docker命令: 从 GitHub 官方仓库下载 Nacos:https://github.com/alibaba/nacos Nacos的Mysql文件: -- --------------------------------------------------------…

【工具类】hutool http请求获取S3图片流

博主介绍:✌全网粉丝20W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…

基于数字信号处理的语音数字识别器

基于数字信号处理的语音数字识别器 系统说明 该系统工作流程图如下 各部分关键参数及简要说明如下。 预处理阶段: 预录制语音为单个数字的语音,从 0 - 9 共 10 组,采样率 16 kHz计算 MFCC 特征中,Mel 滤波器组个数 40&#xff…

Journey Training:o1的一次复现尝试,极长思维链的合成

知乎:啦啦啦啦(已授权)链接:https://zhuanlan.zhihu.com/p/902522340 论文:O1 Replication Journey: A Strategic Progress Report链接:https://github.com/GAIR-NLP/O1-Journey 这篇论文记录了一次o1复现尝…

IBMS集成管理平台——推动建筑业数字化转型

随着城市发展和科技进步,智慧楼宇(IBMS)作为建筑智能化的核心系统,已经成为现代建筑中不可或缺的一部分。通过整合各种智能设备和系统,IBMS提供了对建筑内部运行状况的全面监控和管理,实现了能源节约、安全保障和舒适体验的多重目…

关于拖拽时需要注意的细节

cklick,mousedown,mouseup 当触发点击事件后三者的触发顺序 当元素放大用scalse时&#xff0c;检测鼠标的移动距离用不用/scale&#xff1f; <!doctype html> <html lang"en"><head><meta charset"UTF-8" /><link rel"ic…

【专题】智启未来:新质生产力引擎驱动下的智能制造行业革新报告合集PDF分享(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p37856 在当今全球经济格局深刻变革的大背景下&#xff0c;制造业作为国家经济的基石&#xff0c;正处在高质量发展的关键历史时期。智能决策作为一股崭新的力量&#xff0c;正逐步成为推动制造业数智化转型的强大新动能。众多制造企…

C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式

今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法&#xff0c;来回顾一些基础知识点。 01第一类、字符串方式 这类方法是通过string类型自身方法直接实现。 1、Substring方法 相信大多数人第一个想到的可能就是这个方法。Substring方法是字符串内置方法&#…

基于苔藓生长优化算法(Moss Growth Optimization, MGO)的多无人机协同三维路径规划(提供MATLAB代码)

一、苔藓生长优化算法介绍 苔藓生长优化算法&#xff08;Moss Growth Optimization, MGO&#xff09;是一种受自然界苔藓生长机制启发的元启发式优化算法。这种算法模仿了苔藓在潮湿环境中的扩散和生长方式&#xff0c;以寻找复杂问题的最优解。以下是苔藓生长优化算法的一些基…

如何清空回收站后在 Windows 11/10 中恢复已删除的文件

这篇文章将解释如何将已删除的文件、文件夹和其他项目从回收站还原或恢复到原始位置。有时&#xff0c;我们最终会删除重要的文件和文件夹&#xff0c;然后我们不知道如何将它们恢复到原来的位置。但是您不必担心&#xff0c;因为这篇针对初学者的帖子将详细指导您完成所有步骤…

JDK下载与IDEA环境配置

JDK下载与IDEA环境配置 前言 ​ 国庆过后新生也是正式进入小组学习了&#xff0c;我们组有一个学Java的&#xff0c;在使用IDEA时遇到了一些问题&#xff0c;输出会乱码&#xff0c;那这一看肯定是字符集出了问题&#xff0c;但是我看IDEA配置的字符集没有什么问题&#xff0…

第三版大气痕量分子光谱(ATMOS)2 级产品,包含垂直势温(θ)网格上的痕量气体

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATMOS L2 Trace Gases on Potential Temperature Grid, Tab Delimited Format V3 (ATMOSL2TT) at GES DISC 简介 这是第三版大气痕量分子光谱&#xff08;ATMOS&#xff09;2 级产品&#xff0c;包…

电阻分压电路:【图文讲解】

在电子电路中&#xff0c;电阻同样发挥着重要作用&#xff0c;同时也是一个最基本的元器件&#xff0c;电阻在电路中可以起到限流、分流、分压、发热的作用。 本节&#xff0c;我们重点来聊聊电阻的分压电路。如下图&#xff0c;是一个经典的电阻分压电路。 1&#xff1a;电路…