【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组:环绕(丢弃溢出)、有符号减半(通过丢弃最低有效位来保留溢出)、无符号减半、有符号饱和(剪裁溢出)和无符号饱和。

Table 1. SIMD 16-bit Add/Subtract Instructions
序号指令说明
1ADD16 rd, rs1, rs216-bit Addition
2RADD16 rd, rs1, rs216-bit Signed Halving Addition
3URADD16 rd, rs1, rs216-bit Unsigned Halving Addition 
4KADD16 rd, rs1, rs216-bit Signed Saturating Addition
5UKADD16 rd, rs1, rs216-bit Unsigned Saturating Addition
6SUB16 rd, rs1, rs216-bit Subtraction
7RSUB16 rd, rs1, rs216-bit Signed Halving Subtraction
8URSUB16 rd, rs1, rs216-bit Unsigned Halving Subtraction
9KSUB16 rd, rs1, rs216-bit Signed Saturating Subtraction
10UKSUB16 rd, rs1, rs216-bit Unsigned Saturating Subtraction
11CRAS16 rd, rs1, rs216-bit Cross Add & Sub
12RCRAS16 rd, rs1, rs216-bit Signed Halving Cross Add & Sub
13URCRAS16 rd, rs1, rs216-bit Unsigned Halving Cross Add & Sub
14KCRAS16 rd, rs1, rs216-bit Signed Saturating Cross Add & Sub
15UKCRAS16 rd, rs1, rs216-bit Unsigned Saturating Cross Add & Sub
16CRSA16 rd, rs1, rs216-bit Cross Sub & Add
17RCRSA16 rd, rs1, rs216-bit Signed Halving Cross Sub & Add
18URCRSA16 rd, rs1, rs216-bit Unsigned Halving Cross Sub & Add
19KCRSA16 rd, rs1, rs216-bit Signed Saturating Cross Sub & Add
20UKCRSA16 rd, rs1, rs216-bit Unsigned Saturating Cross Sub & Add
21STAS16 rd, rs1, rs216-bit Straight Add & Sub
22RSTAS16 rd, rs1, rs216-bit Signed Halving Straight Add & Sub
23URSTAS16 rd, rs1, rs216-bit Unsigned Halving Straight Add & Sub
24KSTAS16 rd, rs1, rs216-bit Signed Saturating Straight Add & Sub
25UKSTAS16 rd, rs1, rs216-bit Unsigned Saturating Straight Add & Sub
26STSA16 rd, rs1, rs216-bit Straight Sub & Add
27RSTSA16 rd, rs1, rs216-bit Signed Halving Straight Sub & Add
28URSTSA16 rd, rs1, rs216-bit Unsigned Halving Straight Sub & Add
29KSTSA16 rd, rs1, rs216-bit Signed Saturating Straight Sub & Add
30UKSTSA16 rd, rs1, rs216-bit Unsigned Saturating Straight Sub & Add

3.1.2. 8位加法和减法指令

基于32位字元素内四个8位算术运算的类型,SIMD 8位加/减指令可以分为两大类别:加法(执行四个8位加法)和减法(执行四个8位减法)。

根据有符号或无符号运算中处理溢出条件的方式,SIMD 8位加/减指令又可以进一步分为五组:环绕(即丢弃溢出部分)、有符号减半(通过丢弃最低有效位来保留溢出)、无符号减半、有符号饱和(通过剪裁来处理溢出)和无符号饱和。

Table 2. SIMD 8-bit Add/Subtract Instructions

序号指令说明
1ADD8 rd, rs1, rs28-bit Addition
2RADD8 rd, rs1, rs28-bit Signed Halving Addition
3URADD8 rd, rs1, rs28-bit Unsigned Halving Addition
4KADD8 rd, rs1, rs28-bit Signed Saturating Addition
5UKADD8 rd, rs1, rs28-bit Unsigned Saturating Addition
6SUB8 rd, rs1, rs28-bit Subtraction
7RSUB8 rd, rs1, rs28-bit Signed Halving Subtraction
8URSUB8 rd, rs1, rs28-bit Unsigned Halving Subtraction
9KSUB8 rd, rs1, rs28-bit Signed Saturating Subtraction
10UKSUB8 rd, rs1, rs28-bit Unsigned Saturating Subtraction

3.1.3. 16位移位指令

Table 3. SIMD 16-bit Shift Instructions

序号指令说明
1SRA16 rd, rs1, rs216-bit Shift Right Arithmetic
2SRAI16 rd, rs1, im4u16-bit Shift Right Arithmetic Immediate
3SRA16.u rd, rs1, rs216-bit Rounding Shift Right Arithmetic
4SRAI16.u rd, rs1, im4u16-bit Rounding Shift Right Arithmetic Immediate
5SRL16 rd, rs1, rs216-bit Shift Right Logical
6SRLI16 rd, rs1, im4u16-bit Shift Right Logical Immediate\

7

SRL16.u rd, rs1, rs216-bit Rounding Shift Right Logical
8SRLI16.u rd, rs1, im4u16-bit Rounding Shift Right Logical Immediate
9SLL16 rd, rs1, rs216-bit Shift Left Logical
10SLLI16 rd, rs1, im4u16-bit Shift Left Logical Immediate
11KSLL16 rd, rs1, rs216-bit Saturating Shift Left Logical
12KSLLI16 rd, rs1, im4u16-bit Saturating Shift Left Logical Immediate
13KSLRA16 rd, rs1, rs216-bit Shift Left Logical with Saturation & Shift Right Arithmetic
14KSLRA16.u rd, rs1, rs216-bit Shift Left Logical with Saturation & Rounding Shift Right Arithmetic

3.1.4. 8位移位指令

Table 4. SIMD 8-bit Shift Instructions

序号指令说明
1SRA8 rd, rs1, rs28-bit Shift Right Arithmetic
2SRAI8 rd, rs1, im4u8-bit Shift Right Arithmetic Immediate
3SRA8.u rd, rs1, rs28-bit Rounding Shift Right Arithmetic
4SRAI8.u rd, rs1, im4u8-bit Rounding Shift Right Arithmetic Immediate
5SRL8 rd, rs1, rs28-bit Shift Right Logical
6SRLI8 rd, rs1, im4u8-bit Shift Right Logical Immediate

7

SRL8.u rd, rs1, rs28-bit Rounding Shift Right Logical
8SRLI8.u rd, rs1, im4u8-bit Rounding Shift Right Logical Immediate
9SLL8 rd, rs1, rs28-bit Shift Left Logical
10SLLI8 rd, rs1, im4u8-bit Shift Left Logical Immediate
11KSLL8 rd, rs1, rs28-bit Saturating Shift Left Logical
12KSLLI8 rd, rs1, im4u8-bit Saturating Shift Left Logical Immediate
13KSLRA8 rd, rs1, rs28-bit Shift Left Logical with Saturation & Shift Right Arithmetic
14KSLRA8.u rd, rs1, rs28-bit Shift Left Logical with Saturation & Rounding Shift Right Arithmetic

3.1.5. 16位比较指令

Table 5. SIMD 16-bit Compare Instructions

序号指令说明
1CMPEQ16 rd, rs1, rs216-bit Compare Equal
2SCMPLT16 rd, rs1, rs216-bit Signed Compare Less Than
3SCMPLE16 rd, rs1, rs216-bit Signed Compare Less Than & Equal
4UCMPLT16 rd, rs1, rs216-bit Unsigned Compare Less Than
5UCMPLE16 rd, rs1, rs216-bit Unsigned Compare Less Than & Equal

3.1.6. 8位比较指令

Table 6. SIMD 8-bit Compare Instructions

序号指令说明
1CMPEQ8 rd, rs1, rs28-bit Compare Equal
2SCMPLT8 rd, rs1, rs28-bit Signed Compare Less Than
3SCMPLE8 rd, rs1, rs28-bit Signed Compare Less Than & Equal
4UCMPLT8 rd, rs1, rs28-bit Unsigned Compare Less Than
5UCMPLE8 rd, rs1, rs28-bit Unsigned Compare Less Than & Equal

3.1.7. 16位乘法指令

Table 7. SIMD 16-bit Multiply Instructions

序号指令说明
1SMUL16 rd, rs1, rs216-bit Signed Multiply
2SMULX16 rd, rs1, rs216-bit Signed Crossed Multiply
3UMUL16 rd, rs1, rs216-bit Unsigned Multiply
4UMULX16 rd, rs1, rs216-bit Unsigned Crossed Multiply
5KHM16 rd, rs1, rs2Q15 Signed Saturating Multiply
6KHMX16 rd, rs1, rs2Q15 Signed Saturating Crossed Multiply

3.1.8. 8位乘法指令

Table 8. SIMD 8-bit Multiply Instructions

序号指令说明
1SMUL8 rd, rs1, rs28-bit Signed Multiply
2SMULX8 rd, rs1, rs28-bit Signed Crossed Multiply
3UMUL8 rd, rs1, rs28-bit Unsigned Multiply
4UMULX8 rd, rs1, rs28-bit Unsigned Crossed Multiply
5KHM8 rd, rs1, rs2Q8 Signed Saturating Multiply
6KHMX8 rd, rs1, rs2Q8 Signed Saturating Crossed Multiply

3.1.9. 16位其他指令

Table 9. SIMD 16-bit Miscellaneous Instructions

序号指令说明
1SMIN16 rd, rs1, rs216-bit Signed Minimum
2UMIN16 rd, rs1, rs216-bit Unsigned Minimum
3SMAX16 rd, rs1, rs216-bit Signed Maximum
4UMAX16 rd, rs1, rs216-bit Unsigned Maximum
5SCLIP16 rd, rs1, imm4u16-bit Signed Clip Value
6UCLIP16 rd, rs1, imm4u16-bit Unsigned Clip Value
7KABS16 rd, rs116-bit Absolute Value
8CLRS16 rd, rs116-bit Count Leading Redundant Sign
9CLZ16 rd, rs116-bit Count Leading Zero
10SWAP16 rd, rs1Swap Halfword within Word

3.1.10. 8位其他指令

Table 10. SIMD 8-bit Miscellaneous Instructions

序号指令说明
1SMIN8 rd, rs1, rs28-bit Signed Minimum
2UMIN8 rd, rs1, rs28-bit Unsigned Minimum
3SMAX8 rd, rs1, rs28-bit Signed Maximum
4UMAX8 rd, rs1, rs28-bit Unsigned Maximum
5SCLIP8 rd, rs1, imm4u8-bit Signed Clip Value
6UCLIP8 rd, rs1, imm4u8-bit Unsigned Clip Value
7KABS8 rd, rs18-bit Absolute Value
8CLRS8 rd, rs18-bit Count Leading Redundant Sign
9CLZ8 rd, rs18-bit Count Leading Zero
10SWAP8 rd, rs1Swap Halfword within Word

3.1.11. 8位解压指令

Table 10. SIMD 8-bit Unpacking Instructions

序号指令说明
1SUNPKD810 rd, rs1Signed Unpacking Bytes 1 & 0
2SUNPKD820 rd, rs1Signed Unpacking Bytes 2 & 0
3SUNPKD830 rd, rs1Signed Unpacking Bytes 3 & 0
4SUNPKD831 rd, rs1Signed Unpacking Bytes 3 & 1
5SUNPKD832 rd, rs1Signed Unpacking Bytes 3 & 2
6ZUNPKD810 rd, rs1Unsigned Unpacking Bytes 1 & 0
7ZUNPKD820 rd, rs1Unsigned Unpacking Bytes 2 & 0
8ZUNPKD830 rd, rs1Unsigned Unpacking Bytes 3 & 0
9ZUNPKD831 rd, rs1Unsigned Unpacking Bytes 3 & 1
10ZUNPKD832 rd, rs1Unsigned Unpacking Bytes 3 & 2

RISC-V  DSP扩展指令集文档:

https://download.csdn.net/download/u011376987/88898800

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于NAT的几种类型

NAT网络地址转换&#xff08;Network Address Translation&#xff09;主要用于解决IP地址不足而提出的&#xff0c;NAT主要有以下几类 1、S-NAT&#xff08;Source Network Address Translation&#xff09;基于源地址的NAT 2、D-NAT&#xff08;Destination Network Addres…

串及BF朴素查找算法(学习整理):

关于串的相关定义&#xff1a; 串&#xff1a;用‘ ’表示的字符序列空串&#xff1a;包含零个字符的串子串&#xff1a;包含传本身和空串的子串 eg: abc(,a,b,c,ab,bc,ac,abc)共7个&#xff1a;串的长度的阶乘1&#xff08;空串&#xff09;真子串&#xff1a;不包含自身的所…

解读OWASP应用安全验证标准ASVS

OWASP应用程序安全验证标准&#xff08;OWASP Application Security Verification Standard&#xff0c;ASVS&#xff09;为测试web应用程序技术安全控制提供了基础&#xff0c;还为开发人员提供了安全开发的要求列表。 1. 简介 OWASP应用安全验证标准&#xff0c;是一份测试应…

电子电气架构——AUTOSAR架构下EcuM唤醒源事件详解

电子电气架构——AUTOSAR架构下EcuM唤醒源事件详解 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人…

Verilog原语、Verilog保留关键字

Verilog基元 Vivado合成支持Verilog门级原语&#xff0c;下表所示除外。 Vivado合成不支持Verilog开关级原语&#xff0c;例如以下原语&#xff1a; cmos、nmos、pmos、rcmos、rnmos、rpmos rtran、rtranif0、rtranif1、tran&#xff0c; tranif0&#xff0c;tranif1 门级…

Qt/自定义控件的封装

新建文件&#xff0c;选择Qt设计师界面类 创建空界面 这是自己控件封装的文件&#xff0c;双击跳转到设计界面进行设计 跳转到其他的ui界面&#xff0c;创建一个widget 右键&#xff0c;选择提升为 在提升的类名称输入刚刚创建的类名&#xff0c;添加后选择提升&#xff0c;勾选…

政安晨【示例演绎虚拟世界开发】(五):从制作一个对战小游戏开始(Cocos Creator 《击败老大》)(第二段)

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: AI虚拟世界大讲堂 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 现在我们已经学会了如何向场景中添加图片&#xff0c;接下来继…

计算机设计大赛 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分…

怎么运行/opencv/modules/imgproc/test下的test_cvtyuv.cpp

怎么运行/opencv/modules/imgproc/test下的test_cvtyuv.cpp 要运行test_cvtyuv.cpp&#xff0c;你需要按照以下步骤操作&#xff1a; 获取OpenCV源代码&#xff0c;编译并安装opencv&#xff1a;首先&#xff0c;确保你已经下载并安装了OpenCV。如果没有&#xff0c;请前往Open…

Leetcode630. 课程表 III

Every day a Leetcode 题目来源&#xff1a;630. 课程表 III 解法1&#xff1a;反悔贪心 经验告诉我们&#xff0c;在准备期末考试的时候&#xff0c;先考的课程先准备。同理&#xff0c;lastDay 越早的课程&#xff0c;应当越早上完。但是&#xff0c;有的课程 duration 比…

2023年09月CCF-GESP编程能力等级认证Scratch图形化编程四级真题解析

一、单选题(共15题,共30分) 第1题 人们所使用的手机上安装的 App 通常指的是( )。 A:一款操作系统 B:一款应用软件 C:一种通话设备 D:以上都不对 答案:B 第2题 下列流程图的输出结果是?( ) A:9 B:7 C:5 D:11 答案:A 第3题 默认小猫角色,执行下列程序…

IO,硬盘与文件

IO与计算机存储空间 IO&#xff08;输入/输出&#xff09;是计算机领域中指的是数据在计算机与外部设备之间的传输过程。存储通常指的是计算机中用来保存数据的介质或设备&#xff0c;硬盘是存储设备的一种&#xff0c;通常是指硬盘驱动器&#xff08;Hard Disk Drive&#xf…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑时空相关性的流域水风光多能互补系统高维不确定性场景生成方法》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 这篇文章的标题涵盖了以下几个关键方…

C语言编程大题

以下总结编程大题的常考题型 1,输出 100-200 之间所有素数。 要求: (1)编写一个判断一个整数是否为素数的函数 void prime(int n),若是素数则输出,否则不输出 (2)主函数中调用 prime 函数,输出 100-200 之间所有素数 说明:素数是指除了1和该数本身之外,不能被其它任何整…

【C++】用命名空间避免命名冲突

&#x1f338;博主主页&#xff1a;釉色清风&#x1f338;文章专栏&#xff1a;C&#x1f338;今日语录&#xff1a;如果神明还不帮你&#xff0c;说明他相信你。 &#x1fab7;文章简介&#xff1a;这篇文章是结合谭浩强老师的书以及自己的理解&#xff0c;同时加入了一些例子…

NOC2023软件创意编程(学而思赛道)python小高组初赛真题

软件创意编程 一、参赛范围 1.参赛组别:小学低年级组(1-3 年级)、小学高年级组(4-6 年级)、初中组。 2.参赛人数:1 人。 3.指导教师:1 人(可空缺)。 4.每人限参加 1 个赛项。 组别确定:以地方教育行政主管部门(教委、教育厅、教育局) 认定的选手所属学段为准。 二、…

MATLAB知识点:if条件判断语句的嵌套

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自​第4章&#xff1a;MATLAB程序流程控制 我们通过一个…

基于springboot+vue的教师工作量管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Java集合-Map接口

在Java中&#xff0c;Map接口表示键值对的集合&#xff0c;其中每个键都是唯一的&#xff0c;并且每个键映射到一个值。Map接口是集合框架中的一部分&#xff0c;位于java.util包中。它定义了一系列操作来管理键值对&#xff0c;例如添加键值对、删除键值对、获取键对应的值等。…

7.1.1 selenium介绍及安装chromedriver

目录 1. Selenium的用途 2. 安装Selenium库 3. 安装chromedriver 1. 查看谷歌版本号​编辑 2. 找到最新版本及下载 3. 配置环境变量 4. 检测是否配置成功 5. 用python初始化浏览器对象检测&#xff1a; 6. 参考链接 1. Selenium的用途 在前面我们提到&#xff1a;在我…