当前位置: 首页 > news >正文

12.3【hardware][day3]

  1. 关于使用硬件 DSP 资源实现乘法的含义

    • 在 Xilinx 7 Series FPGA(现场可编程门阵列)中,乘法运算可以通过专门的数字信号处理(DSP)硬件资源来完成。当使用 Verilog 语言编写代码进行乘法运算时,直接使用乘号(如a * b,其中ab是操作数),综合工具在处理代码时会自动将乘法操作映射到 FPGA 内部的 DSP 模块。
    • 自己实现乘法逻辑是指不依赖 FPGA 内部的 DSP 资源,而是通过基本的逻辑门(如与门、加法器等)组合来构建乘法电路。例如,使用移位相加的方法来实现乘法:对于两个二进制数相乘,可以将一个数按位与另一个数相乘,然后根据位权相加。然而,这种方法构建的乘法电路在时序方面往往存在问题。
    • 时序问题主要体现在信号的延迟上。自己构建的乘法逻辑可能会包含多个逻辑门的级联,每个逻辑门都会引入一定的延迟。当信号经过多个逻辑门时,延迟会累积,导致输出信号不能及时跟上输入信号的变化,从而可能出现时序违规的情况。例如,在高速数字系统中,信号需要在特定的时钟周期内完成处理,如果由于乘法逻辑的延迟导致数据不能在规定时间内准备好,就会产生错误。

DSP 资源的定义和作用

  • 定义:DSP 资源是 FPGA 内部专门用于数字信号处理的硬件模块。在 Xilinx 7 Series FPGA 中,这些 DSP 模块是高度优化的电路结构,专门用于高效地执行乘法、加法、滤波等数字信号处理操作。
  • 作用
    • 高效乘法运算:DSP 模块能够以很高的速度和较低的功耗执行乘法操作。它们内部包含了高速乘法器、加法器以及一些用于数据存储和流水线处理的寄存器等。例如,在实现一个高速数字滤波器时,需要大量的乘法和加法运算,DSP 资源可以快速地完成这些操作,满足系统对速度的要求。
    • 支持复杂运算:除了乘法,DSP 模块还可以支持其他复杂的数字信号处理运算,如乘累加(MAC)操作。MAC 操作在数字信号处理算法(如离散傅里叶变换、卷积等)中广泛应用。DSP 模块通过将乘法和加法操作集成在一个单元中,可以在一个时钟周期或几个时钟周期内高效地完成 MAC 操作,大大提高了数字信号处理的效率。
    • 流水线处理和资源复用:DSP 资源通常采用流水线结构,使得数据能够在多个阶段中依次处理,从而提高了数据吞吐量。同时,这些资源可以在不同的时间复用,例如,在一个多通道数字信号处理系统中,同一个 DSP 模块可以在不同的时钟周期处理不同通道的数据,提高了 FPGA 内部资源的利用率

 

通用寄存器组(GPR - General - Purpose Registers)

  • 功能
    • 用于存储操作数和运算结果。MIPS 通常有 32 个通用寄存器($0 - $31),不同的指令可以对这些寄存器进行读写操作。例如,算术指令(如addsub等)从通用寄存器中读取操作数,并将结果写回通用寄存器;加载 / 存储指令(如lwsw)则用于在通用寄存器和内存之间传输数据。
  • 运行规则
    • 每个通用寄存器都可以通过指令中的寄存器编号来指定。在指令译码阶段读取寄存器编号对应的寄存器值,在执行和写回阶段根据指令操作对寄存器进行写入操作。需要注意的是,$0寄存器通常被硬连线为0值,写入$0 寄存器的值会被忽略。

4. 数据存储器地址寄存器(MAR - Memory Address Register)

  • 功能
    • 在执行加载 / 存储指令时,用于存储要访问的内存地址。对于lw指令,MAR 存储从基地址寄存器和偏移量计算得到的内存读取地址;对于sw指令,MAR 存储从基地址寄存器和偏移量计算得到的内存写入地址。
  • 运行规则
    • 在执行阶段计算出内存访问地址后,将地址存入 MAR,访存阶段根据 MAR 中的地址进行内存读写操作。

5. 数据存储器缓冲寄存器(MBR - Memory Buffer Register)

  • 功能
    • 在加载指令(lw)时,用于暂存从内存中读取的数据,在写回阶段将数据从 MBR 写入目的寄存器;在存储指令(sw)时,用于暂存要写入内存的数据。
  • 运行规则
    • 在访存阶段,对于lw指令,将从内存读取的数据存入 MBR;对于sw指令,将源寄存器中的数据存入 MBR,然后将 MBR 中的数据写入内存。

6. 条件码寄存器(CCR - Condition Code Register)

  • 功能
    • 用于存储算术和逻辑运算结果的相关状态信息,如零标志(Z - 结果是否为 0)、符号标志(N - 结果的符号位)、溢出标志(V - 运算是否溢出)等。这些标志可以被条件分支指令(如beq根据零标志判断是否跳转,blt根据符号标志和溢出标志判断是否跳转等)所使用。
  • 运行规则
    • 在执行算术或逻辑运算指令后,根据运算结果更新 CCR 中的相应标志位。例如,执行add指令后,如果结果为 0,则 Z 标志被置 1;如果结果的第 31 位为 1,则 N 标志被置 1;如果加法运算发生溢出,则 V 标志被置 1。

这些寄存器在 MIPS 五级流水线中相互协作,确保指令的正确执行。程序计数器用于获取指令,指令寄存器用于暂存和译码指令,通用寄存器用于操作数和结果存储,数据存储器相关寄存器用于内存访问操作,条件码寄存器用于存储运算状态供条件分支指令使用

  1. 地址最低有效位(LSB)的作用

    • 在 MIPS 指令集中,内存是按字节编址的。对于 32 位的字,地址的最低 2 位(addr[1:0])用于确定在一个 32 位字中的具体位置。
    • 例如,当进行半字(16 位)访问时,addr[1:0]的值就很关键。如果addr[1:0] = 0010,表示访问的半字是字中的低半字(地址对齐到半字边界);如果addr[1:0] = 0111,表示访问的是字中的高半字。
    • 对于字节访问,addr[1:0]的四种可能取值(00011011)分别对应 32 位字中的四个字节,从最低有效字节开始编号为 0 - 3。
  2. 访存指令中的选择信号(sel)

    • 在代码中,通过sel信号来选择要操作 32 位数据中的哪部分。
    • 以存储字节(SB)指令为例,根据addr[1:0]的值来设置sel。如addr[1:0] = 00时,sel <= 4'b0001,表示选择 32 位数据中的最低字节进行存储;当addr[1:0] = 01时,sel <= 4'b0010,选择第二个字节进行存储,以此类推。
    • 对于存储半字(SH)指令,同样根据addr[1:0]来确定seladdr[1:0] = 00时,sel <= 4'b0011,表示选择 32 位数据中的低半字(两个字节)进行存储;addr[1:0] = 10时,sel <= 4'b1100,选择高半字进行存储。

  • 字节加载(LB)
    • 在 MIPS 架构中,字节(Byte)的长度是 8 位。由于内存是按字节编址的,所以字节加载指令(LB)无论从哪个字节地址进行加载操作都是自然对齐的。也就是说,每个字节都有自己独立的地址,字节加载指令可以从任何字节地址获取一个完整的 8 位字节数据,不会出现跨越字边界或者半字边界导致数据错误的情况。

  • 半字加载(LH)
    • 半字(Half - Word)的长度是 16 位。半字数据在内存中的存储应该是按照半字边界对齐的,即半字的起始地址应该是 2 的倍数(在字节编址的情况下,地址最低位为 0)。这样规定是为了方便硬件实现高效的访问。如果半字加载指令(LH)的地址最低位不为 0,就意味着这个半字跨越了字(32 位)中的两个半字部分,硬件在读取数据时可能会出现错误或者需要更复杂的操作来拼接数据。

  • 符号扩展:当把一个有符号数从较小的位宽转换为较大的位宽时,为了保持数值不变,需要进行符号扩展。其原则是用原数的符号位(最高位)填充扩展后的高位部分。例如,对于一个 8 位有符号数10001010(最高位为 1,表示负数),将其扩展为 16 位时,应该扩展为1111111110001010,即使用原数的符号位 1 填充高 8 位。符号扩展的目的是确保在不同位宽下,有符号数的数学表示和运算结果是一致的。
  • 零扩展:当把一个无符号数从较小的位宽转换为较大的位宽时,使用零扩展。其操作是用 0 填充扩展后的高位部分。例如,对于一个 8 位无符号数00001010,将其扩展为 16 位时,扩展为0000000000001010,简单地在高位添加 0,因为无符号数没有符号位的概念,高位添 0 不会改变其数值。

b,h,w

相关文章:

12.3【hardware][day3]

关于使用硬件 DSP 资源实现乘法的含义 在 Xilinx 7 Series FPGA&#xff08;现场可编程门阵列&#xff09;中&#xff0c;乘法运算可以通过专门的数字信号处理&#xff08;DSP&#xff09;硬件资源来完成。当使用 Verilog 语言编写代码进行乘法运算时&#xff0c;直接使用乘号&…...

降维算法之PCA(PrincipalComponent Analysis,主成分分析)

降维是指在保留数据特征的前提下&#xff0c;以少量的变量表示有许多变量的数据&#xff0c;这有助于降低多变量数据分析的复杂度。比如在分析有 100 个变量的数据时&#xff0c;与其直接分析数据&#xff0c;不如使用 5 个变量表示数据&#xff0c;这样可以使后续分析比较容易…...

【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析

文章目录 类的加载器ClassLoader自定义类加载器双亲委派机制概念源码分析优势劣势如何打破Tomcat 沙箱安全机制JDK9 双亲委派机制变化 类的加载器 获得当前类的ClassLoader clazz.getClassLoader() 获得当前线程上下文的ClassLoader Thread.currentThread().getContextClassLoa…...

Android:文件管理:打开文件意图

三步走&#xff1a; 一、先在AndroidManifest.xml声明provider&#xff1a; <providerandroid:name"androidx.core.content.FileProvider"android:authorities"${applicationId}.FileProvider"android:exported"false"android:grantUriPermi…...

《计算机网络A》单选题(详解)

《计算机网络A》单选题-复习题库 1、计算机网络最突出的优点是&#xff08; D &#xff09; A、存储容量大 B、将计算机技术与通信技术相结合 C、集中计算 D、资源共享 解析&#xff1a;算机网络最突出的优点是 D、资源共享。通过计算机网络&…...

【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus

在Spring Boot 3.0中&#xff0c;你可以使用MyBatis Plus来简化数据库操作。以下是一个基本的集成示例&#xff1a; 1.添加依赖到你的pom.xml&#xff1a; <dependencies> <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.…...

第147场双周赛:子字符串匹配模式、设计任务管理器、最长相邻绝对差递减子序列、删除所有值为某个元素后的最大子数组和

Q1、子字符串匹配模式 1、题目描述 给你一个字符串 s 和一个模式字符串 p &#xff0c;其中 p 恰好 包含 一个 * 符号。 p 中的 * 符号可以被替换为零个或多个字符组成的任意字符序列。 如果 p 可以变成 s 的子字符串&#xff0c;那么返回 true &#xff0c;否则返回 false…...

数据结构C语言描述9(图文结合)--二叉树和特殊书的概念,二叉树“最傻瓜式创建”与前中后序的“递归”与“非递归遍历”

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…...

开源存储详解-分布式存储与ceph

ceph体系结构 rados&#xff1a;reliable, autonomous, distributed object storage, rados rados采用c开发 对象存储 ceph严格意义讲只提供对象存储能力&#xff0c;ceph的块存储能力实际是基于对象存储库librados的rbd 对象存储特点 对象存储采用put/get/delete&#xf…...

Vue 快速入门:开启前端新征程

在当今的 Web 开发领域&#xff0c;Vue.js 作为一款极具人气的 JavaScript 前端框架&#xff0c;正被广泛应用于各类项目之中。它以简洁的语法、高效的数据绑定机制以及强大的组件化开发模式&#xff0c;为开发者们带来了前所未有的开发体验。如果你渴望踏入前端开发的精彩世界…...

GPT系统重大升级,开创国内先河:o1支持图片识别功能正式上线

文章目录 零、前言一、授权码登录体验优化&#xff1a;一步直达聊天界面二、全新“项目”功能&#xff1a;让工作更有条理三、语音功能升级&#xff1a;全新交互体验四、o1支持图片识别五、总结 零、前言 我是虚竹哥&#xff0c;目标是带十万人玩转ChatGPT。 亲爱的用户&…...

常用的数据结构API概览

List ArrayList 1、在初始化一个ArrayList的时候&#xff0c;如果我想同时set一些值 比如存放int[ ] List<int[]> list new ArrayList(Arrays.asList(new int[]{intervals[0][0],intervals[0][1]}));//或者int[] temp new int[]{intervals[0][0],intervals[0][1]}…...

《探秘计算机视觉与深度学习:开启智能视觉新时代》

《探秘计算机视觉与深度学习&#xff1a;开启智能视觉新时代》 一、追溯起源&#xff1a;从萌芽到崭露头角二、核心技术&#xff1a;解锁智能视觉的密码&#xff08;一&#xff09;卷积神经网络&#xff08;CNN&#xff09;&#xff1a;图像识别的利器&#xff08;二&#xff0…...

Linux:操作系统不朽的传说

操作系统是计算机的灵魂&#xff0c;它掌控着计算机的硬件和软件资源&#xff0c;为用户和应用程序提供了一个稳定、高效、安全的运行环境。 在众多操作系统中&#xff0c;Linux 的地位举足轻重。它被广泛应用于服务器、云计算、物联网、嵌入式设备等领域。Linux 的成功离不开…...

Excel重新踩坑5:二级下拉列表制作;★数据透视表;

0、在excel中函数公式不仅可以写在单元格里面&#xff0c;还可以写在公式里面。 1、二级下拉列表制作&#xff1a; 2、数据透视表&#xff1a; 概念&#xff1a;通过拖拉就能实现复杂函数才能实现的数据统计问题。 概览&#xff1a;在插入选项中有个数据透视表&#xff0c;数…...

containerd配置镜像加速(含新旧版本)

文章目录 镜像加速使用文档containerd配置说明文档host.toml配置步骤&#xff08;containerd2.x新版功能&#xff0c;与config.toml解耦&#xff0c;无需重启containerd&#xff09;传统配置&#xff08;需要重启containerd&#xff09; 镜像加速使用文档 关于镜像加速的使用可…...

国产编辑器EverEdit - 常用资源汇总

1 国产编辑器EverEdit-常用资源汇总 EverEdit是一款国产文本编辑器&#xff0c;历经超过15年的更新和维护&#xff0c;拥有不输业界顶级商业文本编辑器(EmEditor、UltraEdit)的实力&#xff0c;甚至在某些方面的功能更强(当然&#xff0c;各有千秋)&#xff0c;开发者对文本编辑…...

应急指挥系统总体架构方案

引言 应急指挥系统总体架构方案旨在构建一个高效、智能的应急管理体系&#xff0c;以应对自然灾害、事故灾难等突发事件&#xff0c;保障人民生命财产安全。 背景与挑战 近年来&#xff0c;安全生产形势严峻&#xff0c;自然灾害事故频发&#xff0c;对应急指挥系统的要求越…...

Edge Scdn的应用场景有哪些?

酷盾安全Edge Scdn 具备强大的安全防护能力&#xff0c;通过多层防御机制&#xff0c;如防火墙、DDoS 攻击防护、入侵检测和防御、数据加密等&#xff0c;有效抵御各种网络攻击&#xff0c;包括 DDoS 攻击、CC 攻击、SQL 注入攻击、XSS 跨站脚本攻击等&#xff0c;保障网站和应…...

LeetCode:98.验证二叉搜索树

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;98.验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 …...

mysql报错2059

客户端连接mysql服务时提示2059错误&#xff0c;通常与身份验证插件有关&#xff0c;具体表现为客户端无法加载指定的身份验证插件。这个错误在MySQL 8.0及更高版本中较为常见&#xff0c;因为从MySQL 8.0开始&#xff0c;默认的加密规则从mysql_native_password变为了caching_…...

2025/1/4期末复习 密码学 按老师指点大纲复习

我们都要坚信&#xff0c;道路越是曲折&#xff0c;前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…...

【数据仓库金典面试题】—— 包含详细解答

大家好&#xff0c;我是摇光~&#xff0c;用大白话讲解所有你难懂的知识点 该篇面试题主要针对面试涉及到数据仓库的数据岗位。 以下都是经典的关于数据仓库的问题&#xff0c;希望对大家面试有用~ 1、什么是数据仓库&#xff1f;它与传统数据库有何区别&#xff1f; 数据仓库…...

deepFM模型pytorch实现

deepFM deepfm包含两个部分&#xff1a;因子分解机FM和神经网络DNN&#xff0c;分别负责低阶特征和高阶特征的提取。可以处理全是分类特征的数据&#xff0c;或者分类与数值型结合的数据。 FM部分是对一阶特征和二阶特征&#xff08;一阶特征之间的交互&#xff09;的处理。 …...

【Linux】传输层协议UDP

目录 再谈端口号 端口号范围划分 UDP协议 UDP协议端格式 UDP的特点 UDP的缓冲区 UDP注意事项 进一步深刻理解 再谈端口号 在上图中&#xff0c;有两个客户端A和B&#xff0c;客户端A打开了两个浏览器&#xff0c;这两个客户端都访问同一个服务器&#xff0c;都访问服务…...

MOE怎样划分不同专家:K-Means聚类算法来实现将神经元特征聚类划分

MOE怎样划分不同专家:K-Means聚类算法来实现将神经元特征聚类划分 目录 MOE怎样划分不同专家:K-Means聚类算法来实现将神经元特征聚类划分MOE划分不同专家的方法K-Means聚类算法来实现将神经元特征聚类划分成不同专家(行或者列聚类)举例说明怎么聚类,最后神经网络怎么保存M…...

Redis两种主要的持久化方式是什么?

Redis支持两种主要的持久化方式&#xff0c;它们分别是RDB&#xff08;Redis Database Snapshotting&#xff09;和AOF&#xff08;Append Only File&#xff09;。以下是这两种持久化方式的详细介绍&#xff1a; 一、RDB&#xff08;Redis Database Snapshotting&#xff09; …...

【生活】冬天如何选口罩(医用口罩,N95, KN95还是KP95?带不带呼吸阀门?带不带活性炭?)

&#x1f4a1;总结一下就是&#xff1a; 日常防护的话&#xff0c;医用口罩就可以啦。要是想长时间佩戴N95&#xff08;KN95&#xff09;口罩的话也可以. 在高风险环境&#xff08;像医院、疫情防控期间&#xff09;&#xff0c;一定要选不带呼吸阀门的N95口罩KN95&#xff09…...

机器学习基础-卷积的计算

1 掌握卷积计算的基本过程 1.1 单通道单卷积核 如图3所示&#xff0c;现在有一张形状为[5,5,1]的灰度图&#xff0c;我们需要用图3右边的卷积核对其进行卷积处理&#xff0c;同时再考虑到偏置的作用。计算过程如下&#xff1a; 1.2 单通道多卷积核 如下图所示&#xff0c;左…...

使用LINUX的dd命令制作自己的img镜像

为了避免重复安装同一镜像&#xff0c;配置环境&#xff0c;首先我准备一个正常使用的完整系统。 使用Gparted软件先将母盘&#xff08;如U盘&#xff0c;TF卡&#xff09;分区调整为只有数据的大小。如&#xff1a;60G的TF卡&#xff0c;只用了3.5G&#xff0c;将未使用的空间…...

pdf预览兼容问题- chrome浏览器105及一下预览不了

使用的"tato30/vue-pdf": "^1.11.2"预览插件&#xff0c;发现chrome浏览器105及一下预览不了 pdfPreview预览组件&#xff1a; <template><div id"vue_pdf_view"><div class"tool_tip"><template v-if"pa…...

SpringBoot中实现拦截器和过滤器

【SpringBoot中实现过滤器和拦截器】 1.过滤器和拦截器简述 过滤器Filter和拦截器Interceptor&#xff0c;在功能方面很类似&#xff0c;但在具体实现方面差距还是比较大的。 2.过滤器的配置 2.1 自定义过滤器&#xff0c;实现Filter接口(SpringBoot 3.0 开始&#xff0c;jak…...

基于深度学习的视觉检测小项目(六) 项目的信号和变量的规划

• 关于前后端分离 当前流行的一种常见的前后端分离模式是vueflask&#xff0c;vueflask模式的前端和后端之间进行数据的传递通常是借助 API&#xff08;应用程序编程接口&#xff09;来完成的。vue通过调用后端提供的 API 来获取或提交数据。例如&#xff0c;前端可能通过发送…...

GitHub的简单操作

引言 今天开始就要开始做项目了&#xff0c;上午是要把git搭好。搭的过程中遇到好多好多的问题。下面就说一下git的简单操作流程。我们是使用的GitHub,下面也就以这个为例了 一、GitHub账号的登录注册 https://github.com/ 通过这个网址可以来到GitHub首页 点击中间绿色的S…...

LLM大语言模型自动化测试(ROUGE和RAGAS)及优化方案

1. 模型自动化测试 模型的测试中&#xff0c;不同类型的任务评测指标有显著差异&#xff0c;比如&#xff1a; 分类任务&#xff1a; 准确率&#xff08;Accuracy&#xff09;&#xff1a;正确预测的比例。 精确度&#xff08;Precision&#xff09;、召回率&#xff08;Recal…...

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗?

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗&#xff1f; 一. JVM、JDK与JRE的关系二. JVM、JDK与JRE的作用2.1 什么是JVM&#xff1f;2.2 什么是JDK&#xff1f;2.3 什么是JRE&#xff1f; 前言 点个免费的赞和关注&#xff0c;有错误的地方请指出&#xff0c;看个人主页有…...

实际开发中,常见pdf|word|excel等文件的预览和下载

实际开发中,常见pdf|word|excel等文件的预览和下载 背景相关类型数据之间的转换1、File转Blob2、File转ArrayBuffer3、Blob转ArrayBuffer4、Blob转File5、ArrayBuffer转Blob6、ArrayBuffer转File 根据Blob/File类型生成可预览的Base64地址基于Blob类型的各种文件的下载各种类型…...

Elasticsearch:Lucene 2024 年回顾

作者&#xff1a;来自 Elastic Chris Hegarty 2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中&#xff0c;我们将探讨主要亮点。 Apache Lucene 在 2024 年表现出色&#xff0c;发布了许多版本&#xff0c;包括三年来的首次重大更新&#xff0c;其中包含令人兴奋…...

springboot实战纪实-课程介绍

教程介绍 Spring Boot是由Pivotal团队提供的一套开源框架&#xff0c;可以简化spring应用的创建及部署。它提供了丰富的Spring模块化支持&#xff0c;可以帮助开发者更轻松快捷地构建出企业级应用。 Spring Boot通过自动配置功能&#xff0c;降低了复杂性&#xff0c;同时支持…...

什么是TDD测试驱动开发(Test Driven Development)?

什么是测试驱动开发&#xff1f; 软件开发团队通常会编写自动化测试套件来防止回归。这些测试通常是在编写应用程序功能代码之后编写的。我们将采用另一种方法&#xff1a;在实现应用程序代码之前编写测试。这称为测试驱动开发 (TDD)。 为什么要应用 TDD&#xff1f;通过在实…...

学习随记:word2vec的distance程序源码注释、输入输出文件格式说明

word2vec中有5个程序&#xff0c;其中demo-word.sh中涉及两个&#xff1a;word2vec、distance。考虑到distance比较简单&#xff0c;所以我从这个入手&#xff0c;希望通过简单代码理解如何在一个高维数据空间计算距离&#xff08;查找&#xff09;。一维数据的查找&#xff0c…...

CSS 之 position 定位属性详解

CSS系列文章目录 CSS 之 display 布局属性详解 CSS 之 position 定位属性详解一文搞懂flex布局 【弹性盒布局】 文章目录 CSS系列文章目录一、前言二、静态定位&#xff1a;position:static&#xff1b;二、相对定位&#xff1a;position:relative三、绝对定位&#xff1a;pos…...

初学STM32 --- USMART

目录 USMART简介 USMART主要特点&#xff1a; USMART原理 USMART组成&#xff1a; USMART 的实现流程简单概括 USMART扫描函数&#xff1a; USMART系统命令 USMART移植 USMART简介 USMART是一个串口调试组件&#xff0c;可以大大提高代码调试效率&#xff01; USMART主…...

MySQL叶子节点为啥使用双向链表?不使用单向呢?

文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ MySQL 中的 B 树索引&#x…...

4_TypeScript 条件语句 --[深入浅出 TypeScript 测试]

在 TypeScript 中&#xff0c;条件语句用于根据不同的条件执行不同的代码块。这些语句包括 if 语句、else if 语句、else 语句和 switch 语句。通过使用条件语句&#xff0c;你可以编写出能够根据特定逻辑分支的代码&#xff0c;从而实现更加动态和灵活的功能。 1. if 语句 i…...

vue elementUI Plus实现拖拽流程图,不引入插件,纯手写实现。

vue elementUI Plus实现拖拽流程图&#xff0c;不引入插件&#xff0c;纯手写实现。 1.设计思路&#xff1a;2.设计细节3.详细代码实现 1.设计思路&#xff1a; 左侧button列表是要拖拽的组件。中间是拖拽后的流程图。右侧是拖拽后的数据列表。 我们拖动左侧组件放入中间的流…...

图漾相机基础操作

1.客户端概述 1.1 简介 PercipioViewer是图漾基于Percipio Camport SDK开发的一款看图软件&#xff0c;可实时预览相机输出的深度图、彩色图、IR红外图和点云图,并保存对应数据&#xff0c;还支持查看设备基础信息&#xff0c;在线修改gain、曝光等各种调节相机成像的参数功能…...

【阅读笔记】基于FPGA的红外图像二阶牛顿插值算法的实现

图像缩放技术在图像显示、传输、分析等多个领域中扮演着重要角色。随着数字图像处理技术的发展&#xff0c;对图像缩放质量的要求也越来越高。二阶牛顿插值因其在处理图像时能够较好地保持边缘特征和减少细节模糊&#xff0c;成为了图像缩放中的一个研究热点。 一、 二阶牛顿插…...

K210识别技术简介与基础使用方法

目录 一、K210芯片概述 二、K210的硬件配置与开发环境 1. 硬件配置 2. 开发环境 三、K210的识别技术基础 1. 图像识别 2. 语音识别 四、K210识别技术的基础使用方法 1. 图像识别基础使用 2. 语音识别基础使用 五、K210识别技术的应用场景 六、总结与展望 一、K210芯…...

【Android学习】Adapter中使用Context

参考文章 文章目录 1. 通过 Adapter 构造函数传入 Context2. 通过 Parent.context 获取3. 通过 onAttachedToRecyclerView() 方法获取4. 通过 ImageView 获取 context (局限于本例子中)5. 四种方法对比分析6. 作者推荐的方法 需求&#xff1a; Glide加载图片需要用到Context 1…...