news 2026/4/23 11:18:51

29、广义数据变换:优化嵌入式应用数据缓存性能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
29、广义数据变换:优化嵌入式应用数据缓存性能

广义数据变换:优化嵌入式应用数据缓存性能

1. 引言

在许多数组密集型嵌入式应用中,冲突缺失在总数据缓存缺失中占比显著。以7个图像和视频处理嵌入式应用为例,在8KB直接映射数据缓存的情况下,冲突缺失平均占总缓存缺失的42.2%,部分应用中冲突缺失占比超50%。冲突缺失具有重复性,且嵌入式系统数据缓存关联性小,这都导致冲突缺失数量增多。

减少冲突缺失的常用技术是数组填充,它有两种主要形式:
-数组内填充:通过增加数组的列或行来避免数组不同列(或行)在数据缓存中冲突。例如,将数组声明A(N, M)修改为A(N, M + k)。
-数组间填充:在两个连续数组声明间插入虚拟数组声明,防止数组间潜在的冲突缺失。例如,将声明序列A(N, M), B(N, M)转换为A(N, M), D(k), B(N, M)。

然而,数组填充会增加数据空间大小,这在嵌入式环境中可能无法接受。实验表明,数组填充平均可使执行时间减少10.3%,但数据空间需求平均增加15.1%。且大部分冲突缺失(平均92.1%)来自数组间冲突。因此,一种能减少数组间冲突缺失且不增加数据空间需求的技术在嵌入式环境中很有必要。

本文提出一种基于编译器的数据变换策略——广义数据变换,它将同时使用的数组映射到一个公共数组空间,使原执行中依次访问的元素在新数组空间中连续存储,从而显著减少数组间冲突缺失。

2. 假设与背景

考虑嵌套循环中具有仿射下标函数的数组引用。对于一个n层嵌套循环中对m维数组的引用,可用迭代向量表示,每个数组引用可表示为,其中m × n矩阵X为引用矩阵,

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:26:06

如何在Linux和macOS上畅玩Minecraft基岩版:免费启动器完整指南

如何在Linux和macOS上畅玩Minecraft基岩版:免费启动器完整指南 【免费下载链接】mcpelauncher-manifest The main repository for the Linux and Mac OS Bedrock edition Minecraft launcher. 项目地址: https://gitcode.com/gh_mirrors/mc/mcpelauncher-manifest…

作者头像 李华
网站建设 2026/4/23 12:22:25

33、低功耗动态功能单元分配策略解析

低功耗动态功能单元分配策略解析 1. 引言 随着计算机复杂度和时钟速度的不断提升,功耗已成为微处理器设计中的关键问题。低功耗技术不仅能提高时钟速度,还能延长电池续航时间。本文介绍了一种简单的硬件方案,通过检查操作数的少量位并相应地分配功能单元,成功将整数 ALU 操…

作者头像 李华
网站建设 2026/4/23 17:12:22

Gmail自动生成器:三步创建无限邮箱的终极解决方案

Gmail自动生成器:三步创建无限邮箱的终极解决方案 【免费下载链接】gmail-generator ✉️ Python script that generates a new Gmail account with random credentials 项目地址: https://gitcode.com/gh_mirrors/gm/gmail-generator 在数字化工作时代&…

作者头像 李华
网站建设 2026/4/23 12:54:09

Pyfolio终极指南:从零掌握投资组合分析的完整方法

Pyfolio终极指南:从零掌握投资组合分析的完整方法 【免费下载链接】pyfolio Portfolio and risk analytics in Python 项目地址: https://gitcode.com/gh_mirrors/py/pyfolio Pyfolio作为Python生态中专业的投资组合分析工具,为量化投资者提供了一…

作者头像 李华
网站建设 2026/4/23 12:54:34

终极图片批量下载方案:多引擎搜索完全指南

终极图片批量下载方案:多引擎搜索完全指南 【免费下载链接】Image-Downloader Download images from Google, Bing, Baidu. 谷歌、百度、必应图片下载. 项目地址: https://gitcode.com/gh_mirrors/im/Image-Downloader 在数字化时代,高效获取图片…

作者头像 李华
网站建设 2026/4/23 13:04:31

42、深入探索远程对象服务与数据管理服务

深入探索远程对象服务与数据管理服务 1. 远程对象服务概述 RemoteObject 组件可让我们访问服务器端 Java 对象的方法。在以下几种情况下,我们可以使用 RemoteObject 组件替代 WebService 组件:对象未作为 Web 服务发布;环境中不使用 Web 服务;更倾向于使用 Java 对象而非…

作者头像 李华