news 2026/4/15 18:16:16

34、能源感知参数传递:按需参数传递策略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
34、能源感知参数传递:按需参数传递策略

能源感知参数传递:按需参数传递策略

1. 引言

集成电路能耗问题日益严峻,解决该问题需多领域协同。电路、架构、操作系统、应用程序和编译器等方面虽有进展,但编程语言对低功耗的支持也至关重要。编程语言定义了应用程序与执行环境的接口,影响编译器优化和运行时系统对架构特性的利用。然而,目前从能耗角度评估不同语言特性的研究较少。

参数传递机制是参数在被调用子程序间传递的方式,每种编程语言支持的机制有限。在嵌入式系统编程常用的 C 语言中,参数在子程序执行前就会完成评估,这种早期参数评估虽便于实现,但如果子程序未使用该参数,会导致冗余计算。

为解决此问题,本文提出了一种能源感知的参数传递机制——按需参数传递。该机制仅在子程序实际使用形式参数时,才计算对应的实际参数值。其借助编译器将实际参数值的计算推迟到形式参数实际使用的位置,不仅消除实际参数值的计算,还消除所有与之相关的无用计算。

2. 参数传递机制回顾

子程序是实现控制和数据抽象的重要编程结构,其与其他代码的接口通过子程序名和参数体现。子程序头列出的参数为形式参数,调用语句中的参数为实际参数。典型实现中,子程序调用时,实际参数会被计算并通过参数访问路径传递给形式参数,执行结束后,形式参数的值可能通过参数返回路径复制回实际参数。

C 语言有两种参数传递机制:
-按值传递(CBV):默认机制,传递参数时,计算实际参数的值并复制给形式参数,增加了存储开销,且子程序执行过程中不会修改实际参数的值,可用于单向通信场景。
-按引用传递(CBR):实际参数和形式参数共享同一位置,调用时传

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

clawPDF如何帮你轻松实现文档转换与自动化处理?

clawPDF如何帮你轻松实现文档转换与自动化处理? 【免费下载链接】clawPDF Open Source Virtual (Network) Printer for Windows that allows you to create PDFs, OCR text, and print images, with advanced features usually available only in enterprise soluti…

作者头像 李华
网站建设 2026/4/16 11:11:58

作为一名撸空投用户,我目前对 GAEA 项目的真实理解

在加密行业里,“撸空投”早已不是新鲜事。从早期交互一次就能拿到回报,到现在需要长期参与、持续贡献,大多数用户的心态其实已经发生了变化。 我参与 GAEA 项目,并不是因为某一次官方公告,而是因为它呈现出了一种不太像…

作者头像 李华
网站建设 2026/4/15 5:23:33

41、深入探索Flex与LiveCycle Data Services ES集成开发

深入探索Flex与LiveCycle Data Services ES集成开发 1. WEB - INF目录介绍 在Flex Web应用中,WEB - INF目录扮演着重要角色,它包含了用于配置应用行为的目录和文件。以下是该目录下的主要内容: | 目录/文件名称 | 描述 | | — | — | | web.xml | 这是一个XML文件,作为…

作者头像 李华
网站建设 2026/4/11 0:05:53

44、构建基于 LiveCycle Data Services 的图书馆管理系统

构建基于 LiveCycle Data Services 的图书馆管理系统 1. LiveCycle Data Services 简介 LiveCycle Data Services(LCDS)提供了一系列强大的服务,可用于创建处理分布式数据的应用程序。其中,数据管理服务(Data Management Services)尤为突出,它能实现客户端和服务器端数…

作者头像 李华
网站建设 2026/4/6 0:50:26

Dify镜像支持Markdown格式输出美化展示

Dify镜像支持Markdown格式输出美化展示 在AI应用快速落地的今天,一个常见的痛点浮出水面:大模型明明“想得清楚”,但“说得乱七八糟”。用户收到一段没有结构、缺乏重点、连基本换行都没有的文本回复时,即使内容准确,体…

作者头像 李华
网站建设 2026/4/12 13:06:58

极速编程新纪元:Notepadqq如何用轻量级设计重塑代码编辑体验

在当今追求极致效率的开发时代,你是否曾因IDE的臃肿而感到窒息?那种启动时的漫长等待、运行时的高内存占用、以及复杂的配置过程,正在消耗着开发者宝贵的创造时间。而Notepadqq的出现,正是为了打破这一困局,为Linux用户…

作者头像 李华