前导零计数

介绍:前导零计数(CLZ) 是处理器的硬件指令,不是软件算法,它能快速统计二进制数最高位开始的连续 0 的个数。这个指令是汇编指令,使用举例:CLZ r0, r1。表示将r1寄存器中的数据进行前导零计数,然后将结果放到r0中。

应用:FreeRTOS 利用前导零计数可以实现快速找到当前最高优先级的就绪任务。freertos是将内存中某个特定地址指向的32位数据放入到某个32位寄存器中,然后利用再使用前导零计数指令算出当前最高优先级的就绪任务的优先级。具体来说,freertos将那个32位数据的每一位对应一个优先级(比如 bit31 对应优先级31即最高优先级,bit0对应最低优先级,不可以反过来对应,这样优先级和位数对应关系为31-位数),然后某优先级有任务就绪就将对应位设为 1,无就绪任务将对应位设为 0,这样经过clz指令运算得到最高优先级的位数,然后再用31减去它就得到了就绪任务中的最高优先级。

相关推荐
松涛和鸣12 小时前
DAY47 FrameBuffer
c语言·数据库·单片机·sqlite·html
范纹杉想快点毕业12 小时前
《嵌入式通信与数据管理:从状态机到环形队列的完整实战指南》
单片机·嵌入式硬件
点灯小铭13 小时前
基于单片机的硫化氢、氨气、甲烷、一氧化碳气体多种有害气体检测与声光报警系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
小李做物联网13 小时前
【单片机毕设】c24基于单片机stm32蓝牙温室大棚物联网毕业设计
stm32·单片机·嵌入式硬件·物联网
电子工程师成长日记-C5114 小时前
51单片机厨房环境参数监测(温湿度、烟雾、燃气、CO、甲醛)
单片机·嵌入式硬件·51单片机
czhaii14 小时前
8H/8G,32G12K128, Ai8051U的上电延时
单片机
平凡灵感码头15 小时前
一圈铜线,也能当按键?
单片机·嵌入式硬件
清风66666615 小时前
基于单片机的智能家居门铃系统设计
单片机·嵌入式硬件·毕业设计·智能家居·课程设计·期末大作业
-曾牛1 天前
【汇编语言入门】从第一个加法程序吃透汇编核心基础
汇编·单片机·嵌入式硬件·汇编语言·病毒分析·lcx·逆向开发
三品吉他手会点灯1 天前
STM32F103 学习笔记-21-串口通信(第3节)-STM32串口初始化结构体和固件库讲解
笔记·stm32·单片机·嵌入式硬件·学习