【RISC-V 指令集】RISC-V DSP 扩展指令集介绍(一)
前言:
本笔记是基于对RISC-V DSP扩展指令集文档总结的,《P-ext-proposal.pdf》文档的关键内容如下:
主要介绍了RISC-V的P扩展指令集及其相关细节。
首先,对P扩展指令进行了概述,并列出了其与其他扩展重复的指令。
接着,详细描述了P扩展的子集,包括Zbpbo扩展和Zpn扩展(适用于RV32和RV64)的指令。
此外,还提供了仅适用于RV64的详细指令描述。
文档还介绍了新的用户控制和状态寄存器,并提供了指令编码表。最后,列出了因RVB重叠而被移除的指令。
这份文档为RISC-V的P扩展指令集提供了全面而详细的信息,包括指令的描述、编码、以及与其他扩展的关系。这对于理解、开发和优化基于RISC-V架构的系统非常有价值。同时,文档也提醒了开发者在使用P扩展时需要注意的兼容性和优化问题。
1. 介绍
数字信号处理(DSP)已成为现代电子系统的重要技术。广泛的现代应用利用DSP算法解决特定领域的问题,包括传感器融合、伺服电机控制、音频解码/编码、语音合成和编码、MPEG4解码、医学成像、计算机视觉、嵌入式控制、机器人、人机交互等。
提出的P指令集扩展提高了RISC-V CPU IP产品的DSP算法处理能力。通过添加RISC-V P指令集扩展,RISC-V CPU现在可以以更低的功耗和更高的性能运行这些各种DSP应用程序。
2. 缩写定义和术语
2.1 缩写定义
-
r.H == rH1: r[31:16],r.L == r.H0: r[15:0]
- r.H 表示寄存器的高 16 位(位 31 到 16),等同于 rH1。
- r.L 表示寄存器的低 16 位(位 15 到 0),等同于 r.H0。
-
r.B3: r[31:24],r.B2: r[23:16],r.B1: r[15:8],r.B0: r[7:0]
- r.B3 到 r.B0 分别表示从高位到低位的 8 位段。
-
r.B[x]: r[(x8+7):(x8+0)]
- r.B[x] 表示从第 x 个 8 位段开始的 8 位数据。
-
r.H[x]: r[(x16+15):(x16+0)]
- r.H[x] 表示从第 x 个 16 位段开始的 16 位数据。
-
r.W[x]: r[(x32+31):(x32+0)]
- r.W[x] 表示从第 x 个 32 位段开始的 32 位数据。
-
r.D[x]: r[(x64+63):(x64+0)]
- r.D[x] 表示从第 x 个 64 位段开始的 64 位数据。
-
r[xU]: 64 位数的上 32 位;xU 代表包含此上部分 32 位值的 GPR(通用寄存器)编号。
-
r[xL]: 64 位数的下 32 位;xL 代表包含此下部分 32 位值的 GPR 编号。
-
r[xU].r[xL]: 由一对 GPR 形成的 64 位数。
-
s>>: 有符号算术右移。
-
u>>: 无符号逻辑右移。
-
u<<: 逻辑左移,从右侧移入 0。
-
SAT.Qn(): 饱和至 [-2n, 2n-1] 范围内,若发生饱和,则设置 OV 标志。
-
SAT.Um(): 饱和至 [0, 2m-1] 范围内,若发生饱和,则设置 OV 标志。
-
ROUND(): 表示“四舍五入”,即向最高有效位加 1。
这些缩写定义和术语提供了对特定指令集或处理器架构中使用的寄存器和操作的简化表示。它们通常用于硬件描述语言、汇编语言或低级编程中,以简化复杂操作和提高代码可读性。
2.2. 术语
• Q格式(Qm.n):它描述了一个有符号的二进制定点数格式。“m”是包括符号位和整数位在内的位数,位于假想的二进制点之前,而“n”是跟随其后的分数位数。这种表示法代表一个在-2^(m-1)(包含)和2^(m-1)(不包含)范围内的有符号二进制定点值,该范围内有2^(m+n)个唯一值。例如,Q1.15表示一个在-1(包含)和1(不包含)范围内的数,该范围内有65536个唯一值。
• Qn:Q1.n的缩写格式。例如,Q7,Q15,Q31,Q63。
• Um:它表示一个无符号的二进制数,范围在0到(2^m)-1之间。
3. RISC-V P 扩展指令
3.1. SIMD 数据处理指令
3.1.1. 16位加法和减法指令
基于32位字元素内的两种16位算术运算类型的组合,SIMD 16位加/减指令可以分为6个主要类别:加法(两个16位加法)、减法(两个16位减法)、交叉加和减(一个加法和一个减法)、交叉减和加(一个减法和一个加法)、直接加和减(一个加法和一个减法)以及直接减和加(一个减法和一个加法)。
基于处理溢出条件的方式,SIMD 16位加/减指令可以分为5组:环绕(丢弃溢出)、有符号减半(通过丢弃最低有效位来保留溢出)、无符号减半、有符号饱和(剪裁溢出)和无符号饱和。
| 序号 | 指令 | 说明 |
| 1 | ADD16 rd, rs1, rs2 | 16-bit Addition |
| 2 | RADD16 rd, rs1, rs2 | 16-bit Signed Halving Addition |
| 3 | URADD16 rd, rs1, rs2 | 16-bit Unsigned Halving Addition |
| 4 | KADD16 rd, rs1, rs2 | 16-bit Signed Saturating Addition |
| 5 | UKADD16 rd, rs1, rs2 | 16-bit Unsigned Saturating Addition |
| 6 | SUB16 rd, rs1, rs2 | 16-bit Subtraction |
| 7 | RSUB16 rd, rs1, rs2 | 16-bit Signed Halving Subtraction |
| 8 | URSUB16 rd, rs1, rs2 | 16-bit Unsigned Halving Subtraction |
| 9 | KSUB16 rd, rs1, rs2 | 16-bit Signed Saturating Subtraction |
| 10 | UKSUB16 rd, rs1, rs2 | 16-bit Unsigned Saturating Subtraction |
| 11 | CRAS16 rd, rs1, rs2 | 16-bit Cross Add & Sub |
| 12 | RCRAS16 rd, rs1, rs2 | 16-bit Signed Halving Cross Add & Sub |
| 13 | URCRAS16 rd, rs1, rs2 | 16-bit Unsigned Halving Cross Add & Sub |
| 14 | KCRAS16 rd, rs1, rs2 | 16-bit Signed Saturating Cross Add & Sub |
| 15 | UKCRAS16 rd, rs1, rs2 | 16-bit Unsigned Saturating Cross Add & Sub |
| 16 | CRSA16 rd, rs1, rs2 | 16-bit Cross Sub & Add |
| 17 | RCRSA16 rd, rs1, rs2 | 16-bit Signed Halving Cross Sub & Add |
| 18 | URCRSA16 rd, rs1, rs2 | 16-bit Unsigned Halving Cross Sub & Add |
| 19 | KCRSA16 rd, rs1, rs2 | 16-bit Signed Saturating Cross Sub & Add |
| 20 | UKCRSA16 rd, rs1, rs2 | 16-bit Unsigned Saturating Cross Sub & Add |
| 21 | STAS16 rd, rs1, rs2 | 16-bit Straight Add & Sub |
| 22 | RSTAS16 rd, rs1, rs2 | 16-bit Signed Halving Straight Add & Sub |
| 23 | URSTAS16 rd, rs1, rs2 | 16-bit Unsigned Halving Straight Add & Sub |
| 24 | KSTAS16 rd, rs1, rs2 | 16-bit Signed Saturating Straight Add & Sub |
| 25 | UKSTAS16 rd, rs1, rs2 | 16-bit Unsigned Saturating Straight Add & Sub |
| 26 | STSA16 rd, rs1, rs2 | 16-bit Straight Sub & Add |
| 27 | RSTSA16 rd, rs1, rs2 | 16-bit Signed Halving Straight Sub & Add |
| 28 | URSTSA16 rd, rs1, rs2 | 16-bit Unsigned Halving Straight Sub & Add |
| 29 | KSTSA16 rd, rs1, rs2 | 16-bit Signed Saturating Straight Sub & Add |
| 30 | UKSTSA16 rd, rs1, rs2 | 16-bit Unsigned Saturating Straight Sub & Add |
3.1.2. 8位加法和减法指令
基于32位字元素内四个8位算术运算的类型,SIMD 8位加/减指令可以分为两大类别:加法(执行四个8位加法)和减法(执行四个8位减法)。
根据有符号或无符号运算中处理溢出条件的方式,SIMD 8位加/减指令又可以进一步分为五组:环绕(即丢弃溢出部分)、有符号减半(通过丢弃最低有效位来保留溢出)、无符号减半、有符号饱和(通过剪裁来处理溢出)和无符号饱和。
| 序号 | 指令 | 说明 |
| 1 | ADD8 rd, rs1, rs2 | 8-bit Addition |
| 2 | RADD8 rd, rs1, rs2 | 8-bit Signed Halving Addition |
| 3 | URADD8 rd, rs1, rs2 | 8-bit Unsigned Halving Addition |
| 4 | KADD8 rd, rs1, rs2 | 8-bit Signed Saturating Addition |
| 5 | UKADD8 rd, rs1, rs2 | 8-bit Unsigned Saturating Addition |
| 6 | SUB8 rd, rs1, rs2 | 8-bit Subtraction |
| 7 | RSUB8 rd, rs1, rs2 | 8-bit Signed Halving Subtraction |
| 8 | URSUB8 rd, rs1, rs2 | 8-bit Unsigned Halving Subtraction |
| 9 | KSUB8 rd, rs1, rs2 | 8-bit Signed Saturating Subtraction |
| 10 | UKSUB8 rd, rs1, rs2 | 8-bit Unsigned Saturating Subtraction |
3.1.3. 16位移位指令
Table 3. SIMD 16-bit Shift Instructions
| 序号 | 指令 | 说明 |
| 1 | SRA16 rd, rs1, rs2 | 16-bit Shift Right Arithmetic |
| 2 | SRAI16 rd, rs1, im4u | 16-bit Shift Right Arithmetic Immediate |
| 3 | SRA16.u rd, rs1, rs2 | 16-bit Rounding Shift Right Arithmetic |
| 4 | SRAI16.u rd, rs1, im4u | 16-bit Rounding Shift Right Arithmetic Immediate |
| 5 | SRL16 rd, rs1, rs2 | 16-bit Shift Right Logical |
| 6 | SRLI16 rd, rs1, im4u | 16-bit Shift Right Logical Immediate\ |
| 7 | SRL16.u rd, rs1, rs2 | 16-bit Rounding Shift Right Logical |
| 8 | SRLI16.u rd, rs1, im4u | 16-bit Rounding Shift Right Logical Immediate |
| 9 | SLL16 rd, rs1, rs2 | 16-bit Shift Left Logical |
| 10 | SLLI16 rd, rs1, im4u | 16-bit Shift Left Logical Immediate |
| 11 | KSLL16 rd, rs1, rs2 | 16-bit Saturating Shift Left Logical |
| 12 | KSLLI16 rd, rs1, im4u | 16-bit Saturating Shift Left Logical Immediate |
| 13 | KSLRA16 rd, rs1, rs2 | 16-bit Shift Left Logical with Saturation & Shift Right Arithmetic |
| 14 | KSLRA16.u rd, rs1, rs2 | 16-bit Shift Left Logical with Saturation & Rounding Shift Right Arithmetic |
3.1.4. 8位移位指令
Table 4. SIMD 8-bit Shift Instructions
| 序号 | 指令 | 说明 |
| 1 | SRA8 rd, rs1, rs2 | 8-bit Shift Right Arithmetic |
| 2 | SRAI8 rd, rs1, im4u | 8-bit Shift Right Arithmetic Immediate |
| 3 | SRA8.u rd, rs1, rs2 | 8-bit Rounding Shift Right Arithmetic |
| 4 | SRAI8.u rd, rs1, im4u | 8-bit Rounding Shift Right Arithmetic Immediate |
| 5 | SRL8 rd, rs1, rs2 | 8-bit Shift Right Logical |
| 6 | SRLI8 rd, rs1, im4u | 8-bit Shift Right Logical Immediate |
| 7 | SRL8.u rd, rs1, rs2 | 8-bit Rounding Shift Right Logical |
| 8 | SRLI8.u rd, rs1, im4u | 8-bit Rounding Shift Right Logical Immediate |
| 9 | SLL8 rd, rs1, rs2 | 8-bit Shift Left Logical |
| 10 | SLLI8 rd, rs1, im4u | 8-bit Shift Left Logical Immediate |
| 11 | KSLL8 rd, rs1, rs2 | 8-bit Saturating Shift Left Logical |
| 12 | KSLLI8 rd, rs1, im4u | 8-bit Saturating Shift Left Logical Immediate |
| 13 | KSLRA8 rd, rs1, rs2 | 8-bit Shift Left Logical with Saturation & Shift Right Arithmetic |
| 14 | KSLRA8.u rd, rs1, rs2 | 8-bit Shift Left Logical with Saturation & Rounding Shift Right Arithmetic |
3.1.5. 16位比较指令
Table 5. SIMD 16-bit Compare Instructions
| 序号 | 指令 | 说明 |
| 1 | CMPEQ16 rd, rs1, rs2 | 16-bit Compare Equal |
| 2 | SCMPLT16 rd, rs1, rs2 | 16-bit Signed Compare Less Than |
| 3 | SCMPLE16 rd, rs1, rs2 | 16-bit Signed Compare Less Than & Equal |
| 4 | UCMPLT16 rd, rs1, rs2 | 16-bit Unsigned Compare Less Than |
| 5 | UCMPLE16 rd, rs1, rs2 | 16-bit Unsigned Compare Less Than & Equal |
3.1.6. 8位比较指令
Table 6. SIMD 8-bit Compare Instructions
| 序号 | 指令 | 说明 |
| 1 | CMPEQ8 rd, rs1, rs2 | 8-bit Compare Equal |
| 2 | SCMPLT8 rd, rs1, rs2 | 8-bit Signed Compare Less Than |
| 3 | SCMPLE8 rd, rs1, rs2 | 8-bit Signed Compare Less Than & Equal |
| 4 | UCMPLT8 rd, rs1, rs2 | 8-bit Unsigned Compare Less Than |
| 5 | UCMPLE8 rd, rs1, rs2 | 8-bit Unsigned Compare Less Than & Equal |
3.1.7. 16位乘法指令
Table 7. SIMD 16-bit Multiply Instructions
| 序号 | 指令 | 说明 |
| 1 | SMUL16 rd, rs1, rs2 | 16-bit Signed Multiply |
| 2 | SMULX16 rd, rs1, rs2 | 16-bit Signed Crossed Multiply |
| 3 | UMUL16 rd, rs1, rs2 | 16-bit Unsigned Multiply |
| 4 | UMULX16 rd, rs1, rs2 | 16-bit Unsigned Crossed Multiply |
| 5 | KHM16 rd, rs1, rs2 | Q15 Signed Saturating Multiply |
| 6 | KHMX16 rd, rs1, rs2 | Q15 Signed Saturating Crossed Multiply |
3.1.8. 8位乘法指令
Table 8. SIMD 8-bit Multiply Instructions
| 序号 | 指令 | 说明 |
| 1 | SMUL8 rd, rs1, rs2 | 8-bit Signed Multiply |
| 2 | SMULX8 rd, rs1, rs2 | 8-bit Signed Crossed Multiply |
| 3 | UMUL8 rd, rs1, rs2 | 8-bit Unsigned Multiply |
| 4 | UMULX8 rd, rs1, rs2 | 8-bit Unsigned Crossed Multiply |
| 5 | KHM8 rd, rs1, rs2 | Q8 Signed Saturating Multiply |
| 6 | KHMX8 rd, rs1, rs2 | Q8 Signed Saturating Crossed Multiply |
3.1.9. 16位其他指令
Table 9. SIMD 16-bit Miscellaneous Instructions
| 序号 | 指令 | 说明 |
| 1 | SMIN16 rd, rs1, rs2 | 16-bit Signed Minimum |
| 2 | UMIN16 rd, rs1, rs2 | 16-bit Unsigned Minimum |
| 3 | SMAX16 rd, rs1, rs2 | 16-bit Signed Maximum |
| 4 | UMAX16 rd, rs1, rs2 | 16-bit Unsigned Maximum |
| 5 | SCLIP16 rd, rs1, imm4u | 16-bit Signed Clip Value |
| 6 | UCLIP16 rd, rs1, imm4u | 16-bit Unsigned Clip Value |
| 7 | KABS16 rd, rs1 | 16-bit Absolute Value |
| 8 | CLRS16 rd, rs1 | 16-bit Count Leading Redundant Sign |
| 9 | CLZ16 rd, rs1 | 16-bit Count Leading Zero |
| 10 | SWAP16 rd, rs1 | Swap Halfword within Word |
3.1.10. 8位其他指令
Table 10. SIMD 8-bit Miscellaneous Instructions
| 序号 | 指令 | 说明 |
| 1 | SMIN8 rd, rs1, rs2 | 8-bit Signed Minimum |
| 2 | UMIN8 rd, rs1, rs2 | 8-bit Unsigned Minimum |
| 3 | SMAX8 rd, rs1, rs2 | 8-bit Signed Maximum |
| 4 | UMAX8 rd, rs1, rs2 | 8-bit Unsigned Maximum |
| 5 | SCLIP8 rd, rs1, imm4u | 8-bit Signed Clip Value |
| 6 | UCLIP8 rd, rs1, imm4u | 8-bit Unsigned Clip Value |
| 7 | KABS8 rd, rs1 | 8-bit Absolute Value |
| 8 | CLRS8 rd, rs1 | 8-bit Count Leading Redundant Sign |
| 9 | CLZ8 rd, rs1 | 8-bit Count Leading Zero |
| 10 | SWAP8 rd, rs1 | Swap Halfword within Word |
3.1.11. 8位解压指令
Table 10. SIMD 8-bit Unpacking Instructions
| 序号 | 指令 | 说明 |
| 1 | SUNPKD810 rd, rs1 | Signed Unpacking Bytes 1 & 0 |
| 2 | SUNPKD820 rd, rs1 | Signed Unpacking Bytes 2 & 0 |
| 3 | SUNPKD830 rd, rs1 | Signed Unpacking Bytes 3 & 0 |
| 4 | SUNPKD831 rd, rs1 | Signed Unpacking Bytes 3 & 1 |
| 5 | SUNPKD832 rd, rs1 | Signed Unpacking Bytes 3 & 2 |
| 6 | ZUNPKD810 rd, rs1 | Unsigned Unpacking Bytes 1 & 0 |
| 7 | ZUNPKD820 rd, rs1 | Unsigned Unpacking Bytes 2 & 0 |
| 8 | ZUNPKD830 rd, rs1 | Unsigned Unpacking Bytes 3 & 0 |
| 9 | ZUNPKD831 rd, rs1 | Unsigned Unpacking Bytes 3 & 1 |
| 10 | ZUNPKD832 rd, rs1 | Unsigned Unpacking Bytes 3 & 2 |
RISC-V DSP扩展指令集文档:
https://download.csdn.net/download/u011376987/88898800
相关文章:
【RISC-V 指令集】RISC-V DSP 扩展指令集介绍(一)
前言: 本笔记是基于对RISC-V DSP扩展指令集文档总结的,《P-ext-proposal.pdf》文档的关键内容如下: 主要介绍了RISC-V的P扩展指令集及其相关细节。 首先,对P扩展指令进行了概述,并列出了其与其他扩展重复的指令。 …...
RocketMQ - CentOS 7.x 安装单机版并测试
【安装前环境准备】检查是否安装好JDK(必要):java -version查看CPU信息: # cat /proc/cpuinfo # lscpu # getconf _NPROCESSORS_ONLN # cat /sys/devices/system/cpu/online # cat /proc/interrupts | egrep -i cpu查看内存信息: # free -hm …...
[JavaWeb玩耍日记]HTML+CSS+JS快速使用
目录 一.标签 二.指定css 三.css选择器 四.超链接 五.视频与排版 六.布局测试 七.布局居中 八.表格 九.表单 十.表单项 十一.JS引入与输出 十二.JS变量,循环,函数 十三.Array与字符串方法 十四.自定义对象与JSON 十五.BOM对象 十六.获取…...
如何使用ArcGIS Pro创建最低成本路径
虽然两点之间直线最短,但是在实际运用中,还需要考虑地形、植被和土地利用类型等多种因素,需要加权计算最低成本路径,这里为大家介绍一下计算方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载…...
Neoverse CSS N3:实现市场领先能效的最快途径
区分老的架构 从云到边缘,Arm Neoverse 提供无与伦比的性能、效率、设计灵活性和 TCO 优势,正在颠覆传统基础设施芯片。 我们看到云和超大规模服务运营商正在推动更高的计算密度。随着 128 核心 CPU 设计上市(Microsoft Cobalt、阿里巴巴 Y…...
JavaScript实现的计时器效果
之前做过电商网站倒计时的效果,今天在倒计时的基础上,把代码修改了一下,改为计时器效果,实现了以下功能: 1.点击“开始”后,按秒计时且“开始”文字变为“停止”; 2.点击“停止”,计…...
仿函数(Functor(c++))
定义 仿函数(Functor)是一个可以像函数那样被调用的类对象。这意味着它实现了operator(),使得类的对象可以像函数那样被调用。 仿函数的主要特点 它是一个类。它重载了operator()。可以通过创建该类的对象,并像函数那样调用该对…...
智能汽车加速车规级存储应用DS2431P+TR 汽车级EEPROM 存储器IC
DS2431PT&R是一款1024位1-Wire EEPROM芯片,由四页存储区组成,每页256位。数据先被写入一个8字节暂存器中,经校验后复制到EEPROM存储器。该器件的特点是,四页存储区相互独立,可以单独进行写保护或进入EPROM仿真模式…...
js json转换成字符串
js中JSON数据转换成字符串,可以使用JSON.stringify()方法。 var obj {name: "张三", age: 18, gender: "男"}; var jsonString JSON.stringify(obj); console.log(jsonString); // 输出 {"name":"张三","age"…...
Linux笔记--基本操作指令
一、查看日期与日历 1.date指令 显示日期 #用法1:dateCST: China Standard Time时区,中国标准时间 #用法2: date 指定格式 [常用格式]: "%Y-%m-%d"(%F): 2022-07-25 "%H:%M:%S"(%T): 14:53:44 "%F %T" #用法3: date -d "-1 da…...
论文阅读:基于超像素的图卷积语义分割(图结构数据)
#Superpixel-based Graph Convolutional Network for Semantic Segmentation github链接 引言 GNN模型根据节点特征周围的边来训练节点特征,并获得最终的节点嵌入。通过利用具有不同滤波核的二维卷积对来自附近节点的信息进行整合,给定超像素方法生成的…...
记录踩过的坑-macOS下使用VS Code
目录 切换主题 安装插件 搭建Python开发环境 装Python插件 配置解释器 打开项目 打开终端 切换主题 安装插件 方法1 方法2 搭建Python开发环境 装Python插件 配置解释器 假设解释器已经通过Anaconda建好,只需要在VS Code中关联。 打开项目 打开终端...
30天JS挑战(第十四天)------数据的复制
第十四天挑战(数据的复制) 地址:https://javascript30.com/ 所有内容均上传至gitee,答案不唯一,仅代表本人思路 中文详解:https://github.com/soyaine/JavaScript30 该详解是Soyaine及其团队整理编撰的,是对源代码…...
【洛谷 P8682】[蓝桥杯 2019 省 B] 等差数列 题解(数学+排序+辗转相除法)
[蓝桥杯 2019 省 B] 等差数列 题目描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N N N 个整数。 现在给出这 N N N 个整数,小明想知道包含这 N N N 个整数的最短的等差数列有几项? 输…...
Linux:kubernetes(k8s)部署CNI网络插件(4)
在上一章进行了node加入master Linux:kubernetes(k8s)node节点加入master主节点(3)-CSDN博客https://blog.csdn.net/w14768855/article/details/136420447?spm1001.2014.3001.5501 但是他们显示还是没准备好 看一下…...
docker save 命令 docker load 命令 快速复制容器
docker save 命令 docker load 命令 1、docker save 命令2、docker load 命令 1、docker save 命令 docker save 命令用于在系统上把正在使用的某个容器镜像 导出成容器镜像文件保存下载,以便在其他系统上导入这个容器镜像文件 以便快速在其他服务器上启动相同的容…...
Apache Flink连载(三十七):Flink基于Kubernetes部署(7)-Kubernetes 集群搭建-3
🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录...
【机器学习】实验6,基于集成学习的 Amazon 用户评论质量预测
清华大学驭风计划课程链接 学堂在线 - 精品在线课程学习平台 (xuetangx.com) 代码和报告均为本人自己实现(实验满分),此次代码开源大家可以自行参考学习 有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟…...
【寸铁的刷题笔记】图论、bfs、dfs
【寸铁的刷题笔记】图论、bfs、dfs 大家好 我是寸铁👊 金三银四,图论基础结合bfs、dfs是必考的知识点✨ 快跟着寸铁刷起来!面试顺利上岸👋 喜欢的小伙伴可以点点关注 💝 🌞详见如下专栏🌞 &…...
vue2 + axios + mock.js封装过程,包含mock.js获取数据时报404状态的解决记录,带图文,超详细!!!
vue axios mock.js 以下是封装的过程,记录一下 1、首先先了解什么是mock.js的用途及特点 官网地址:Mock.js (mockjs.com) 作用:生成随机数据,拦截 Ajax 请求 优势: 2、了解axios的原理及使用 官网地址:…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
