如何减少PowerPC Macintosh上的循环中的CPU使用率?

问题描述 投票:-1回答:1

我正在研究不断检查用户输入的固件级别代码:

while (1) {
    if (user_input()) {
        Handle_user_input()
    }
}

当前,此循环导致CPU使用率为100%。我希望找到一种实现sleep()函数的方法,该函数将导致CPU在指定的时间段内进入睡眠或进入某种低功耗模式,以将CPU使用率降低到令人愉悦的水平(接近0%)。

while (1) {
    if (user_input()) {
        Handle_user_input()
    }
    sleep(ONE_MILLISECOND);
}

请发送给我您认为可行的sleep()函数的实现。

谢谢。

P.S。如果您希望使用PowerPC汇编语言,请使用'asm volatile(“ your code”);'。

loops cpu sleep exit powerpc
1个回答
0
投票

我不确定您要使用哪种PowerPC芯片,但是您可以查看一些开源固件和OS代码以获取灵感。

© www.soinside.com 2019 - 2024. All rights reserved.