前导零计数

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

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

相关推荐
碧海银沙音频科技研究院4 小时前
基于炬芯ATS308X 设计的上位机usb 串口音乐EQ调节工具
stm32·单片机·嵌入式硬件
三佛科技-134163842127 小时前
过认证72W碳化硅方案(12V6A)主控HN1562+HN36228V 典型应用电路、变压器参数分享
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
Zwawa8 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
Brilliantwxx9 小时前
【STM32】 内部 Flash 详解:寄存器逐位拆解 + 工作流程顺序全讲 + EEPROM再实现
stm32·单片机·嵌入式硬件·1024程序员节
木子单片机9 小时前
基于单片机的DS18B20温度传感器测温系统设计
单片机·嵌入式硬件·51单片机·keil
华清远见IT开放实验室9 小时前
实验室建设案例 | 安徽三联学院物联网实验室
stm32·单片机·嵌入式硬件·物联网·华清远见
深圳光特通信豆子11 小时前
TTL 光模块在工业控制与串口通信中的应用指南(10M BIDI 单模系列)
单片机·嵌入式硬件
桀人11 小时前
SPI概念引入
stm32·单片机·嵌入式硬件
离凌寒12 小时前
一、基于stm32+freertos下LD2410D和R60ADB1两款雷达的使用效果
stm32·单片机·嵌入式硬件
NamoAmitabha12814 小时前
嵌入式开发中的定时器---deepseek
单片机·嵌入式硬件