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

Versal - 基础3(AXI NoC 专题+仿真+QoS)

目录

1. 简介

2. 示例

2.1 示例说明

2.2 创建项目

2.2.1 平台信息

2.2.2 AXI NoC Automation

2.2.3 创建时钟和复位

2.3 配置 NoC

2.4 配置 AXI Traffic

2.5 配置 Memory Size

2.6 Validate BD

2.7 添加观察信号

2.8 运行仿真

2.9 查看结果

2.9.1 整体波形

2.9.2 事务详情

2.9.3 事务全过程解读

3. IP 介绍

3.1 AXI Traffic Generator

3.1.1 IP 简介

3.1.2 Config Tab

3.1.3 可综合配置

3.1.4 不可综合配置

3.2 AXI BRAM Controller

3.2.1 IP 简介

3.2.2 IP 配置

3.3 Embedded Memory Gen

3.3.1 IP 简介

3.3.2 单端口 RAM

3.3.3 简单双端口 RAM

3.3.4 真双端口 RAM

3.3.5 单端口 ROM

3.3.6 双端口 ROM

3.3.7 工作模式

4. 总结


1. 简介

Basic NoC Designhttps://github.com/Xilinx/Vivado-Design-Tutorials/tree/2024.2/Versal/Memory_and_NoC/NoC_Design_Flows/IPI/Module_01_Basic_NoC_Designhttps://github.com/Xilinx/Vivado-Design-Tutorials/tree/2024.2/Versal/Memory_and_NoC/NoC_Design_Flows/IPI/Module_01_Basic_NoC_Designhttps://github.com/Xilinx/Vivado-Design-Tutorials/tree/2024.2/Versal/Memory_and_NoC/NoC_Design_Flows/IPI/Module_01_Basic_NoC_Designhttps://github.com/Xilinx/Vivado-Design-Tutorials/tree/2024.2/Versal/Memory_and_NoC/NoC_Design_Flows/IPI/Module_01_Basic_NoC_Designhttps://github.com/Xilinx/Vivado-Design-Tutorials/tree/2024.2/Versal/Memory_and_NoC/NoC_Design_Flows/IPI/Module_01_Basic_NoC_Designhttps://github.com/Xilinx/Vivado-Design-Tutorials/tree/2024.2/Versal/Memory_and_NoC/NoC_Design_Flows/IPI/Module_01_Basic_NoC_DesignAXI NoC 和 AXIS NoC

  • AXI NoC 支持 AXI 内存映射协议
  • AXIS NoC 支持 AXI4-Stream 协议

每实例指定了一组连接,这些连接将映射到物理 NoC 上,并为每条连接指定了 QoS 要求。

一个 Block Design 可以包含任意数量的这两种类型的实例。

IP 集成器自动汇总所有逻辑 NoC 实例的连接性和 QoS 信息,形成 NoC 编译器的统一流量规范。

MCs 被集成到 AXI NoC 核心中。一个AXI NoC IP实例可以配置为包含一个、两个或四个集成MC实例。

如果选择了两个或四个MC实例,它们将被配置为形成单一的交错内存。在这种情况下,内存控制器被配置得相同,并映射到相同的地址。

Interleaving 由 NoC 控制。

2. 示例

2.1 示例说明

该设计使用 AXI4 流量发生器读写块 RAM。具体步骤为:

  • 使用模拟时钟生成器、AXI4 流量生成器、AXI NoC、AXI4 Block RAM 控制器和内存生成器创建块 RAM 实例。
  • 采用自顶向下设计流程,在模块设计画布中实例化 AXI NoC IP。
  • 借助 IP 集成器推断 NoC、时钟发生器和互连。
  • 创建设计后进行仿真,以验证是否满足带宽要求。

2.2 创建项目

2.2.1 平台信息

1)软件版本为:Vivado 2024.2

2)Versal 器件为:XCVE2302-SFVA784-1LP-E-S

3)创建项目,新建 Block Design

4)添加 IP:AXI NoC IP

2.2.2 AXI NoC Automation

对 AXI NoC IP 进行自动化设计:

  • 去掉 CIPS 勾选框
  • AXI Tranffic Generator:1
  • AXI BRAM Controller:1
  • MC Type:None

(注意:Sources 和 Destinations,各选了一个)

得到如下结果:

生成了一些新的 IP:

  • Source 端:
    • Simulation Trigger For NoC AXI TG
    • Performance AXI Traffic Generator
  • Destination 端:
    • AXI BRAM Controller
    • Embeded Memory Generator
  • 时钟:
    • Simulation Clock and Reset Generator

2.2.3 创建时钟和复位

上一个步骤中生成的 Block Design,没有时钟和复位,执行 Run Connection Automation 可以自动生成。全部使用保持默认设置即可:

结果如下图所示:

生成了两个新的 IP:

  • Clock Wizard
  • Processor System Reset

Clock Wizard 的输出时钟驱动 Simulation Clock and Reset Generator 的输入时钟。

这有两个目的:

  • 在仿真阶段,时钟由 Simulation Clock and Reset Generator 驱动。
  • 在 Impl 阶段,时钟由 Clock Wizard 驱动,Simulation Clock and Reset Generator 将直通。

由于 Clock Wizard 的输入时钟和复位源尚未连接,运行连接自动化链接再次变为活动状态继续执行 Run Connection Automation。保持默认即可:

最终的 Block Design 如下:

2.3 配置 NoC

1)NoC 配置决定了设计要使用一组参数:

  • 入口和出口端口的数量和类型
  • 输入时钟与每个端口的关联
  • 入口和出口端口之间的路由连接
  • 每个连接所需的 QoS

2)Inputs / Outputs Tab 可查看输入输出端口的配置

在本例中,定义了一个输入和一个输出,均连接到 PL 域,关联时钟为 aclk0。

偶校验:启用从 AXI 主设备到 NMU 连接的偶校验。可用的校验选项有:

  • 无:不进行奇偶校验
  • 地址:启用 AXI 地址奇偶校验
  • 数据:启用 AXI 数据奇偶校验
  • 地址和数据:启用 AXI 地址和数据奇偶校验

3)Connectivity Tab

显示哪些 NoC 入口接口(例如 S00_AXI )将路由到哪些出口接口(例如 M00_AXI )。

4)QoS Tab

QoS 选项卡允许您为每个 NoC 连接选择服务质量 (QoS) 设置。第一行显示入口端口 ( S00_AXI ) 的 QoS 设置。请注意,默认的读取和写入流量类别是 BEST_EFFORT。

显示了来自所选入口端口的每个输出连接的 QoS 属性集。在此设计中,只有一个输出连接 ( M00_AXI ) 对应于块 RAM 控制器的 AXI4 端口。这里可以指定所需的读写带宽。默认值 1720 MB/s 就足够了。

2.4 配置 AXI Traffic

Performance AXI Traffic Generator v1.0

1)Non-systhesizable TG Options

2)Number of Write Transactions

执行 100 次传输操作。

2.5 配置 Memory Size

1)更改 BRAM 大小

无法在 Embedded Memory Generator 中直接修改,即使修改后,Validate 之后又会恢复修改之前的值。应当在 Address Editor 中修改。

此页面中, Memory Size(存储器大小)为 4K bytes。

当 validate_bd_design 运行时,该值将传播到:

  • AXI BRAM Controller
  • Embeded Memory Generator

2)查看 AXI BRAM Controller IP 中的结果

Memory Size = Data_Width × Memory_Depth =  32 bit × 1024 = 4K bytes。

3)查看 Embeded Memory Generator IP 中的结果

Write Width = Read Width = 32 bit。

Memory Size = Width × Memory_Depth =  32 bit × 1024 = 4K bytes。

2.6 Validate BD

NoC Validate the Block Design 会调用 NoC Compiler 来查找 NoC 的最佳配置。

NoC Compiler 执行以下功能:

  • 完成逻辑入口和出口端口到物理 NMU 和 NSU 资源的映射
  • 在 QoS 约束下,为所有指定连接找到 NoC 的最优路径
  • 配置 NoC 内部资源,使其能够实现路由方案

通过单击工具栏上的 Validate Design 图标(F6)来执行验证。

验证后,NoC 查看器显示编译结果,QoS 标签显示达成的服务质量。

2.7 添加观察信号

Vivado 仿真器有一个事务视图功能,可以更清晰地查看 AXI 总线事务的波形。

仿真时,使用事务视图观察流量发生器和 NoC 之间的接口。

在 Block Design 中,选中下图所示的红线部分,右键单击并标记 Mark Simulation。

这会指示仿真器捕获并显示这条线上的 AXI-MM 事务。

仿真前,需要创建一个顶层 HDL wrapper。

2.8 运行仿真

1)仿真设置

注意仿真设置的顶层(design_1_wrapper_sim_wrapper): 

2)生成行为 RTL 模型并启动模拟器

进入仿真 GUI: 

包含两个 

3)运行仿真

4)复位仿真

2.9 查看结果

2.9.1 整体波形

  • Outstanding Reads:未完成的读取过程
  • Outstanding Writes:未完成的写入过程

2.9.2 事务详情

1)鼠标悬停在某个事务上会弹出一个窗口,显示该事务的详细信息。

2)高亮显示事务流:点击事务的某个部分(比如 “Write Data”)会高亮显示相关的部分。

2.9.3 事务全过程解读

  • 红色序号1:Performance AXI Traffic Generator 发起读写事务,数据位宽 512 bit
  • 红色序号2:数据通过 AXI NoC 到达 AXI BRAM 控制器,数据位宽是 32 bit

整个写事务,耗时 103.354ns,103.354ns/3.334=31clks 个时钟周期。

写事务过程详细图示:

3. IP 介绍

3.1 AXI Traffic Generator

3.1.1 IP 简介

Performance AXI Traffic Generator,高性能 AXI 流量发生器。

它有两个版本:

  • 仅用于仿真的不可综合版本
  • 可用于仿真和在硬件中运行的可综合版本

Vivado 中包含两种 AXI 流量发生器:

《AXI Traffic Generator LogiCORE IP Product Guide (PG125)》

《Performance AXI Traffic Generator LogiCORE IP Product Guide (PG381)》

后者提供更多的特性:

  • 更精细的流量控制: 可以更精确地控制流量的类型、数量、时序等
  • 更灵活的配置选项: 可以根据不同的测试场景进行更灵活的配置
  • 对 Versal 器件的: 评估基于 NoC 的解决方案的性能

参考:

Performance AXI Traffic Generator - IP Release Notes and Known Issueshttps://adaptivesupport.amd.com/s/article/75781?language=zh_CNhttps://adaptivesupport.amd.com/s/article/75781?language=zh_CNhttps://adaptivesupport.amd.com/s/article/75781?language=zh_CN

3.1.2 Config Tab

3.1.3 可综合配置

3.1.4 不可综合配置

3.2 AXI BRAM Controller

3.2.1 IP 简介

参考:《AXI Block RAM (BRAM) Controller v4.1 Product Guide(PG078)》

1)AXI4 BRAM Controller 框图

2)Features

  • 支持 32 位、64 位、128 位、256 位、512 位和 1024 位 BRAM 数据宽度。
  • 特殊的突发处理: 它将一种叫做“FIXED”的传输方式特殊处理为“INCR”方式,并且不支持“FIFO”方式。这是一种为了简化自身设计而采取的折衷方案。
  • 特定的传输长度: 对于不同的传输方式(WRAP、FIXED、INCR),它有预设的连续传输次数(分别为 16、16 和 256 次)。这就像预先设定好每次搬运多少箱货物。
  • 支持窄突发: 即使需要传输的数据量小于存储器一次能处理的数据量,它也能有效地进行处理。
  • 简单直接: 它只使用基本的通信信号,没有使用一些高级的优化技术(如用户信号、重排序、缓存或缓冲)。

3)Supported Memory Size

| Data Width (Bits) | Memory Depths (Words)                          |
|-------------------|------------------------------------------------|
| 32                | 512, 1k, 2k, 4k, 8k, 16k, 32k, 64k, 128k, 256k |
| 64                | 512, 1k, 2k, 4k, 8k, 16k, 32k, 64k, 128k, 256k |
| 128               | 512, 1k, 2k, 4k, 8k, 16k, 32k, 64k, 128k       |
| 256               | 512, 1k, 2k, 4k, 8k, 16k, 32k, 64k             |
| 512               | 512, 1k, 2k, 4k, 8k, 16k, 32k                  |
| 1024              | 512, 1k, 2k, 4k, 8k, 16k                       |
| 2048              | 512, 1k, 2k, 4k, 8k                            |

3.2.2 IP 配置

3.3 Embedded Memory Gen

参考:《Embedded Memory Generator LogiCORE IP Product Guide (PG326)》

3.3.1 IP 简介

Embedded Memory Generator IP 是一个高级存储器构造器,它使用 AMD 器件中的 Block RAM、UltraRAM 和 Distributed RAM 资源生成 Area and Performance-optimized 的存储器。

典型应用包括一下内容:

3.3.2 单端口 RAM

1)定义: 就像一条单行道,只有一个入口/出口。数据只能按顺序写入和读取,不能同时进行读写操作。

2)应用场景:

  • 处理器暂存 RAM(Scratch RAM): 用于处理器执行运算时的临时数据存储,速度快,但容量通常不大。例如,在进行复杂的数学计算时,中间结果可以先存放在暂存 RAM 中,运算完成后再取出。
  • 查找表(Look-Up Table, LUT): 用于存储预先计算好的数据,通过输入地址直接查找对应的值,提高运算速度。例如,在图像处理中,可以使用 LUT 来快速进行颜色转换。

3.3.3 简单双端口 RAM

1)定义: 像一条有两条独立的入口/出口的通道,可以同时进行读写操作,但通常有一些限制。例如,可能只允许一个端口读,另一个端口写,或者读写操作不能在同一地址进行。

2)应用场景:

  • 内容可寻址存储器(Content Addressable Memory, CAM): 与普通 RAM 通过地址查找数据不同,CAM 通过内容查找数据。输入一个数据,CAM 会返回该数据所在的地址。简单双端口 CAM 可以实现快速查找,但写入操作可能需要一些额外的控制。
  • FIFO(First-In, First-Out): 是一种先进先出的数据结构,数据从一个端口写入,从另一个端口按相同的顺序读出,就像排队一样。简单双端口 RAM 可以方便地实现 FIFO 功能,用于数据缓冲和传输。

3.3.4 真双端口 RAM

1)定义: 像一条有两条完全独立的双向车道,两个端口可以完全独立地同时进行读写操作,互不干扰。
2)应用场景:

  • 多处理器存储: 允许多个处理器同时访问同一块存储空间,实现数据的共享和交换。例如,在一个多核处理器系统中,不同的核心可以通过真双端口 RAM 共享数据,提高系统的并行处理能力。

3.3.5 单端口 ROM

1)定义: 只能读取数据,不能写入数据,数据在出厂前或烧录时就已经确定。类似于一张只读光盘。
2)应用场景:

  • 程序代码存储: 用于存储程序的指令代码,处理器从 ROM 中读取指令并执行。
  • 初始化 ROM: 用于存储系统的初始化代码和配置信息,在系统启动时加载。

3.3.6 双端口 ROM

1)定义: 有两个独立的读取端口,可以同时被两个不同的设备读取,但数据仍然是只读的。

2)应用场景:

  • 在两个处理器/系统之间共享的单个 ROM: 允许多个处理器或系统共享同一份只读数据,例如共享同一份固件代码或查找表,节省存储空间。

3.3.7 工作模式

该 IP 核在 Block Design 中使用的模式。

使用 IP 集成器时有两种模式可用,默认模式是 Memory Controller。

1)存储器控制器模式

  • 如果使用 AXI BRAM Controller 或 LMB BRAM Controller,请选择此模式。
  • 所有端口参数都将灰显,因为它们是从主设备生成的。

2)独立模式

  • 如果您使用自定义接口控制器,请选择此模式。可以选择和更新所有可用的参数。

4. 总结

本示例,使用 AXI4 流量发生器,通过 NoC 读写块 RAM。

  • IP 包括:模拟时钟生成器、AXI4 流量生成器、AXI NoC、AXI4 Block RAM 控制器和内存生成器创建块 RAM。
  • 通过 IP 集成器推断 NoC、时钟发生器和互连。
  • 创建设计后进行仿真,详细分析传输流程和时延。

相关文章:

Versal - 基础3(AXI NoC 专题+仿真+QoS)

目录 1. 简介 2. 示例 2.1 示例说明 2.2 创建项目 2.2.1 平台信息 2.2.2 AXI NoC Automation 2.2.3 创建时钟和复位 2.3 配置 NoC 2.4 配置 AXI Traffic 2.5 配置 Memory Size 2.6 Validate BD 2.7 添加观察信号 2.8 运行仿真 2.9 查看结果 2.9.1 整体波形 2.9…...

知识库建设对提升团队协作与创新能力的影响分析

内容概要 在当今快速变革的商业环境中,知识库建设的重要性愈发凸显。它不仅是信息存储的载体,更是推动组织内部沟通与协作的基石。通过系统整理与管理企业知识,团队成员能够便捷地访问相关信息,使得协作过程更为流畅,…...

Java 实现Excel转HTML、或HTML转Excel

Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,以便更好地利用和展示数据。本文将介绍如何通过 Java 实现 E…...

stack 和 queue容器的介绍和使用

1.stack的介绍 1.1stack容器的介绍 stack容器的基本特征和功能我们在数据结构篇就已经详细介绍了,还不了解的uu, 可以移步去看这篇博客哟: 数据结构-栈数据结构-队列 简单回顾一下,重要的概念其实就是后进先出,栈在…...

云计算与虚拟化技术讲解视频分享

互联网各领域资料分享专区(不定期更新): Sheet 前言 由于内容较多,且不便于排版,为避免资源失效,请用手机点击链接进行保存,若链接生效请及时反馈,谢谢~ 正文 链接如下(为避免资源失效&#x…...

python flask 使用 redis写一个例子

下面是一个使用Flask和Redis的简单例子: from flask import Flask from redis import Redisapp Flask(__name__) redis Redis(hostlocalhost, port6379)app.route(/) def hello():# 写入到Redisredis.set(name, Flask Redis Example)# 从Redis中读取数据name re…...

深入解析 Linux 内核内存管理核心:mm/memory.c

在 Linux 内核的众多组件中,内存管理模块是系统性能和稳定性的关键。mm/memory.c 文件作为内存管理的核心实现,承载着页面故障处理、页面表管理、内存区域映射与取消映射等重要功能。本文将深入探讨 mm/memory.c 的设计思想、关键机制以及其在内核中的作用,帮助读者更好地理…...

跟我学C++中级篇——64位的处理

一、计算机的发展 计算机从二进制为基础开始描述整个世界,但正如现实世界一样,十进制为主的世界也会有万千百概念。所以在实际的应用中,会出现32位和64位的计算机系统。当然,前面还有过16位、8位和4位等,以后还可以会…...

指针的介绍2后

1.二级指针 1.1二级指针的介绍 二级指针是指向指针的指针 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>int main() {int a 100;int* pa &a;int** ppa &pa;printf("a %d\n", a);printf("&a(pa) %p\n", pa);prin…...

Linux 学习笔记__Day3

十八、设置虚拟机的静态IP 1、VMware的三种网络模式 安装VMware Workstation Pro之后&#xff0c;会在Windows系统中虚拟出两个虚拟网卡&#xff0c;如下&#xff1a; VMware提供了三种网络模式&#xff0c;分别是&#xff1a;桥接模式&#xff08;Bridged&#xff09;、NAT…...

Ubuntu x64下交叉编译ffmpeg、sdl2到目标架构为aarch64架构的系统(生成ffmpeg、ffprobe、ffplay)

一、编译SDL2-2.0.9 &#xff08;1&#xff09;&#xff0c; ./configure --prefix/home/z/Desktop/sdl2 --enable-sharedyes --enable-nasmno --enable-audiono --enable-ossno --enable-alsano --enable-alsa-sharedno --enable-pulseaudiono --enable-pulseaudio-sharedno …...

【时时三省】(C语言基础)文件的随机读写

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 fseek 根据文件指针的位置和偏移量来定位文件指针 示例&#xff1a; 这个输出的就是ade seek&#xff3f;cur的意思是从当前偏移量 2就是从a往后偏移两个就是d 偏移量 SEEK&#xff3f;CUR…...

HPO3:提升模型性能的高效超参数优化工具

引言 在当今快速发展的数据科学和机器学习领域中&#xff0c;超参数优化&#xff08;Hyperparameter Optimization, HPO&#xff09;是构建高性能模型不可或缺的一环。为了简化这一复杂过程&#xff0c;恒通网络科技团队推出了HPO3模块——一个专为Python开发者设计的强大库&a…...

【Docker】Docker入门了解

文章目录 Docker 的核心概念Docker 常用命令示例&#xff1a;构建一个简单的 C 应用容器1. 创建 C 应用2. 创建 Dockerfile3. 构建镜像4. 运行容器 Docker 优势学习 Docker 的下一步 **一、Docker 是什么&#xff1f;****为什么 C 开发者需要 Docker&#xff1f;** **二、核心概…...

AIGC(生成式AI)试用 19 -- AI Agent

AI Agent&#xff1a;自主完成特定目标任务。 AI Agent&#xff1a;以大语言模型为大脑驱动的系统&#xff0c;具备自主理解、感知、规划、记忆和使用工具的能力&#xff0c;能够自动化执行完成复杂任务的系统。AI Agent不同于传统的人工智能&#xff0c;它具备通过独立思考、调…...

LeetCode:70. 爬楼梯

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的…...

《Trustzone/TEE/安全从入门到精通-标准版》

CSDN学院课程连接:https://edu.csdn.net/course/detail/39573 讲师介绍 拥有 12 年手机安全、汽车安全、芯片安全开发经验,擅长 Trustzone/TEE/ 安全的设计与开发,对 ARM 架构的安全领域有着深入的研究和丰富的实践经验,能够将复杂的安全知识和处理器架构知识进行系统整…...

2025神奇的数字—新年快乐

2025年&#xff0c;一个神奇的数字&#xff0c;承载着数学的奥秘与无限可能。它是45的平方&#xff08;45&#xff09;&#xff0c;上一个这样的年份是1936年&#xff08;44&#xff09;&#xff0c;下一个则是2116年&#xff08;46&#xff09;&#xff0c;一生仅此一次。2025…...

第一个3D程序!

运行效果 CPP #include <iostream> #include <fstream> #include <string> #include <cmath>#include <GL/glew.h> #include <GLFW/glfw3.h> #include <glm/glm.hpp> #include <glm/gtc/type_ptr.hpp> #include <glm/gtc/…...

Hive:内部表和外部表,内外转换

内部表和外部表 内部表示例 给表添加数据 外部表示例 给表添加数据 外部表示例 用location指定表目录位置,那么表的位置在实际指定的位置,但是可以被映射 外部表和内部表的区别 删除表后使用show tables in shao; 已经没有被删除的表,说明元数据已经被删除(mysql里面存放),但是…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...