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

网络品牌前十大排名/搜索引擎广告优化

网络品牌前十大排名,搜索引擎广告优化,wordpress move导入数据,指定目录调用最新文章wordpress目录 1.MMU的基本介绍 1.1 特点梳理 2.功能 DVM interface PTW interface 2.1 操作流程 2.1.1 StreamID 2.1.2 安全状态: 2.1.3 HUM 2.1.4 可配置的操作特性 Outstanding transactions per TBU QoS 仲裁 2.2 Cache结构 2.2.1 Micro TLB 2.2.2 Macro…

目录

1.MMU的基本介绍

1.1 特点梳理

2.功能

DVM interface 

PTW interface

2.1 操作流程

2.1.1 StreamID

2.1.2 安全状态:

2.1.3 HUM

2.1.4 可配置的操作特性

Outstanding transactions per TBU

QoS 仲裁

2.2 Cache结构

2.2.1 Micro TLB

2.2.2 Macro TLB


1.MMU的基本介绍

内部文档整理

MMU-500 是一个系统级的内存管理单元(Memory Management Unit, MMU),它负责将输入地址转换为输出地址,这一过程基于 MMU-500 内部寄存器和转换表中的地址映射和内存属性信息。MMU-500使用的是ARM SMMU架构v2,以下是 MMU-500 的主要功能和组件的详细解释:

  1. 地址转换阶段

    • 地址从输入地址转换到输出地址的过程被称为地址转换的一个阶段。
  2. 支持 ARM 架构

    • MMU-500 支持 ARMv7 和 ARMv8 架构定义的转换表格式。
  3. 转换类型

    • 第一阶段转换:将输入的虚拟地址(Virtual Address, VA)转换为输出的物理地址(Physical Address, PA)或中间物理地址(Intermediate Physical Address, IPA)。
    • 第二阶段转换:将输入的 IPA 转换为输出的 PA。
    • 组合阶段转换:将输入的 VA 转换为输出的 IPA,然后将该 IPA 转换为 PA。MMU-500 为每个转换阶段执行转换表遍历。
  4. 多级地址查找

    • 地址转换可以跨越两个阶段,即第一阶段和第二阶段。地址转换可能需要多次转换表查找,每次转换表查找被描述为地址查找的一个级别。每个第一阶段转换的级别可能需要额外的第二阶段转换。
  5. 内存属性定义

    • 除了将输入地址转换为输出地址外,地址转换的每个阶段还定义了输出地址的内存属性。在两阶段转换中,第二阶段转换可以修改第一阶段转换定义的属性。
  6. 转换阶段的禁用或旁路

    • 地址转换的一个阶段可以被禁用或旁路,MMU-500 可以为禁用和旁路的转换阶段定义内存属性。
  7. 上下文识别

    • MMU-500 使用请求主设备(requesting master)的输入来识别上下文。这个上下文告诉 MMU-500 用于转换的资源,包括要使用的转换表。
  8. 第一阶段转换

    • 通常与应用程序和操作系统级别的操作相关联,VA 范围可以被分割成两个子范围,由转换表基寄存器(Translation Table Base registers)TTBR0 和 TTBR1 转换,每个都有相关的转换表和控制寄存器。
  9. 支持的页面大小

    • ARMv7 架构:MMU-500 支持所有页面大小。
    • ARMv8 架构:除了 16KB 页面粒度外,MMU-500 支持所有页面大小。
  10. 安全和非安全转换上下文

    • 第一阶段转换支持安全和非安全转换上下文。通常,适当的操作系统:
      • 定义内存中的第一阶段转换的转换表,用于其安全状态。
      • 配置 MMU-500 以配置第一阶段转换,然后启用转换。
  11. 第二阶段转换

    • 仅支持非安全(Non-secure)转换上下文。典型的两级地址转换使用模型如下:
      • 非安全操作系统定义第一阶段地址转换,用于应用程序级和操作系统级操作。它假设自己是从处理器使用的 VAs 映射到物理内存系统中的 PAs,但实际上它将 VAs 映射到 IPAs。这个mapping的含义是 OS使用的translation table中的address是处于IPA address空间的,然后需要stage2来将IPA转换成PA。
      • 管理程序(hypervisor)定义第二阶段地址转换,将 IPAs 映射到 PAs。这是其虚拟化一个或多个非安全客户操作系统的一部分。
  12. 转换后备缓冲器(TLB)

    • MMU-500 可以在 TLB 中缓存转换表查找的结果,这意味着 MMU-500 也支持 TLB 维护操作。
  13. 参考文档

    • 有关 MMU-500 支持的架构特性的更多信息,请参阅 ARM® 系统内存管理架构规范。
    • 有关地址转换(包括转换表格式和 TLB 维护操作)的更多信息,请参阅:
      • ARM® 架构参考手册,ARMv7-A 和 ARMv7-R 版。
      • ARM® 架构参考手册,ARMv8,针对 ARMv8-A 架构配置。
  14. MMU-500 的关键组件

    • 转换缓冲单元(Translation Buffer Unit, TBU):包含一个 TLB,用于缓存页表。MMU-500 为每个连接的主设备实现一个 TBU,设计为靠近主设备本地。
    • 转换控制单元(Translation Control Unit, TCU):控制和管理地址转换。MMU-500 实现一个单一的 TCU。
    • 互连:将多个 TBU 连接到 TCU。

下图给出一个系统中SMMU集成的例子:

1.1 特点梳理
  1. 地址虚拟化

    • 为基于 ARM 处理器的系统和其他总线主设备提供地址虚拟化。
  2. 支持的转换

    • 第一阶段转换(Stage 1)。
    • 第二阶段转换(Stage 2)。
    • 第一阶段后跟第二阶段转换(Stage 1 followed by Stage 2)。
  3. 可编程服务质量(QoS)

    • 允许根据服务质量对请求进行仲裁。
  4. 分布式转换支持

    • 支持多达 32 个 TBUs(Translation Buffer Units)的分布式转换。
  5. 转换支持的地址范围

    • 支持 32 位到 49 位的虚拟地址范围和 48 位的物理地址范围。
  6. 多事务上下文

    • 支持多达 128 个可配置的上下文和可编程页面大小。MMU-500 使用主设备输入流 ID 来映射每个上下文。
  7. 转换支持

    • 支持 ARMv7 VMSA 的第一阶段转换。
    • 支持 ARMv8 AArch32 的第一阶段和第二阶段转换。
    • 支持 ARMv8 AArch64 的第一阶段和第二阶段转换,包括 4KB 和 64KB 粒度。
    • 支持第一阶段后跟第二阶段的转换。
  8. 页面大小限制

    • 除了 ARMv8 架构定义的 16KB 页面粒度外,支持所有页面大小。
  9. PTW 请求的仲裁

    • 使用已编程的 QoS 值对来自不同 TBUs 的 PTW(Page Table Walk)请求进行仲裁。
  10. 页面表遍历的缓存

    • 存储中间页面表遍历数据。
  11. TLB 中的页面表项缓存

    • 在 TLB 中缓存页面表项,以提高地址转换的效率。
  12. TLB 命中下未命中(HUM)支持

    • 支持在 TLB 命中时处理未命中的情况。
  13. 可配置的 PTW 深度

    • 使用并行 PTWs 配置 PTW 深度。
  14. TLB 失效

    • 通过 AMBA 4 DVM 信号或寄存器编程进行 TLB 失效。
  15. 转换和保护检查支持

    • 包括 TrustZone® 扩展支持。
  16. 故障处理、记录和信号

    • 包括需求分页和对暂停模型的支持。
  17. AMBA 从属接口

    • 每个 TBU 支持一个 ACE-Lite 从属接口,用于连接需要地址转换的总线主设备。
  18. AMBA 主接口

    • 支持 ACE-Lite 和 DVM 的主设备事务或 PTWs。
  19. AXI4 接口

    • 用于编程的 AXI4 接口。
  20. TLB 缓存的两个级别

    • 宏 TLB(Macro TLB)。
    • 微 TLB(Micro TLB)。
  21. 错误检测和失效

    • TLB 和遍历缓存 RAM 支持单比特错误检测和错误检测后的失效。上下文消歧多 FIFO(MFIFO)RAM 支持单比特错误检测和校正。
  22. 调试和性能监控事件

    • 提供调试和性能监控功能。
  23. TCU 核心时钟速度

    • TCU 核心可以在 TCU 外部接口时钟速度的一半运行。
  24. 预取缓冲器

    • 预取下一个 4K 或 64K leaf page entry,以减少延迟。
  25. IPA2PA 缓存

    • 加速第一阶段后跟第二阶段的转换。
  26. 支持每个 TBU 主接口的未完成事务

    • 支持每个 TBU 主接口多达 256 个未完成事务。
  27. 服务质量方案中优先级提升支持

    • 作为 QoS 方案的一部分,支持优先级提升。

2.功能

DVM interface 

MMU-500 的 ACE-Lite 接口的 AC 信道连接到由 CCI 驱动的 AC 信道或支持 DVM 消息的 ACE 兼容的从属接口。ARM 建议使用 DVM 信道进行 TLB 维护操作。如果系统无法访问 DVM 信道,则必须将 acvalid 信号连接到低电平,并且可以使用编程接口进行 TLB 维护操作。

当您将 MMU-500 配置为提供专用的 AXI 信道以执行 PTW 时,AC 信道必须是 PTW 信道的一部分。

注意:

  • 如果没有配置专用信道,请使用 TBU0 AXI 接口后缀,并确保它连接到 TCU。
  • 此接口支持以下内容:
    • AC 信道(地址信道)
      • 44 位宽的 AC 信道连接到 TCU。
    • 注意:CD 信道(数据信道)没有连接到 MMU-500。
PTW interface

在 MMU-500 中,可以有一个专用接口提供对内存的访问以进行页表遍历(PTWs)。

如果 MMU-500 配置为支持 PTWs 的专用接口,您必须将与 PTWs 相关联的从属接口的读地址和读数据信道连接到 MMU-500 PTW 信道。在这种配置中,PTW 信道包含 "_ptw" 后缀。例如,araddr_ptw 和 acaddr_ptw。

注意:

  • 专用 PTW 接口上的写接口不使用。
  • 如果 MMU-500 配置为不支持 PTWs 的专用接口,PTWs 将在连接到 TBU0 的 ACE-Lite 接口上执行。

MMU-500的Clock和power domain

        当TBU0与TCU sharing相同的clock或power domain时。

2.1 操作流程

MMU-500 通过以下逻辑处理步骤路由每个地址转换:

  1. 安全状态确定。
  2. 上下文确定。
  3. 如果转换未缓存在 TLB 中,则进行页表遍历。
  4. 保护检查。
  5. 根据编程生成或合并属性。

您可以配置 MMU-500 绕过事务处理过程的事务,或者无论转换状态如何都使事务发生故障。

MMU-500 的主要功能是根据存储在转换表中的地址映射和内存属性信息,提供地址和内存属性转换。MMU-500 执行以下步骤以实现此目的:

  1. 接收地址事务,以及安全和流信息。
  2. 使用接收到的安全信息以及事务来确定事务的附加处理步骤。接收到的安全信息是事务发起者的安全状态。根据发起者的安全状态是安全还是非安全,MMU-500 分别使用安全或非安全的寄存器集合进行事务的附加处理。见第 2-14 页上的“安全确定”。
  3. 使用 (S)CR0.CLIENTPD 确定是否需要流匹配。如果 CLIENTPD 被禁用,则绕过事务。
  4. 使用接收到的流信息以及事务来确定要应用于事务的转换机制。转换机制可以是绕过、第一阶段转换、第二阶段转换,或第一阶段后跟第二阶段转换。
  5. 如果在上下文映射之前转换过程中识别出故障,则将故障信息添加到全局故障状态寄存器。如果故障是在上下文映射之后识别出的,则 MMU-500 将故障信息添加到上下文银行的故障状态寄存器中。 当启用中断报告时,故障会触发中断。您可以通过清除故障状态寄存器来清除中断。

注意: MMU-500 不支持配置错误。它将全局故障状态寄存器中的 CAF 位视为 RAZ(保留未用)。

2.1.1 StreamID

2.1.2 安全状态:

在确定了 SSD 索引之后,SSD 表包含从 0 到 2^SSD 索引信号宽度 - 1 的位。 您必须按照以下方式确定位的状态:

  • SSD 索引可以是可编程的或不可编程的,并且可以处于安全或非安全状态。默认情况下,SSD 索引处于不可编程的非安全状态。
  • 非可编程索引列表
    • 对于这些索引,主设备的安全状态是定义好的,不会改变。
    • 您必须指定那些安全状态始终为安全的主设备的索引。
  • 可编程索引列表
    • 您可以编程可编程索引的安全状态。
    • 您必须确定那些安全状态可编程的每个主设备的默认状态。

注意:

  • 一个条目不能在多个列表中重复。
  • 您必须为每个配置至少指定一个可编程或固定的非安全条目。
  • 索引的数量由配置的 SSD 索引信号宽度决定。例如,如果 SSD 索引信号宽度为 6 位,则有 64 个索引,范围是 0-63。您必须将索引编程为以下之一:
    • 可编程安全。
    • 可编程非安全。
    • 非可编程安全。
  • 未编程的索引默认为不可编程非安全。

MMU-500 支持可以访问安全和非安全 TLB 的安全调试 TLB 访问。 SSD 表最多有 32Kb 的空间,该空间被分成 32 个部分,每个 TBU 分配 1Kb。 例如,TBU0 空间是从 0-1Kb,TBU1 空间是从 1-2Kb,TBU2 空间是从 2-3Kb。 每个 TBU 生成的 SSD 索引最多为 10 位,被索引到分配给 TBU 的 1Kb 空间中。 您必须使用这些信息来编程 SSD 表。

注意:

  • 当 integ_sec_override 信号被设置为零时,安全确定描述才有效。
  • 所有实现和集成寄存器都可以通过非安全访问来访问。这包括以下全局空间 0 寄存器:
    • 辅助配置寄存器(ACR)。
    • 调试寄存器。
  • 您不能访问任何安全寄存器。
  • 所有事务都被视为来自非安全主设备
2.1.3 HUM

Hit-Under-Miss (HUM) 是一种特性,它可以翻译 TLB 失效事务,并将事务传递给下游从属设备,如果翻译后的 TLB 失效事务结果为 TLB 命中。HUM 允许在 MMU-500 为先前发生 TLB 失效的事务执行翻译时,对于随后的事务如果出现 TLB 命中,可以响应主设备。以下是 HUM 对读写事务的特性:

  • 如果事务是读访问,HUM 将自动启用。
  • 如果事务是写操作,HUM 的启用或禁用基于写缓冲区的深度。您可以在配置期间指定写缓冲区的深度。
    • 如果写缓冲区的深度为零,则 HUM 自动禁用。
    • 如果写缓冲区的深度非零,只有当来自失效事务的写数据可以适应写缓冲区时,写命中事务才会被翻译。
  • 未完成的失效事务的数量由写缓冲区的深度决定。例如,如果缓冲区的深度为四,则它可以容纳两个长度为二的事务。每个缓冲区条目仅保存事务的一个节拍,即使它是窄宽度的。

HUM 特性提高了系统处理连续内存访问的效率,尤其是在有大量 TLB 失效和命中混合的情况下。

2.1.4 可配置的操作特性
Outstanding transactions per TBU

未完成事务定义为:

  • 生成物理地址访问并被从属设备接受的事务。
  • 写入或读取响应被暂停的事务。 对于每个 TBU,MMU-500 支持每个写入和读取访问各 256 个未完成事务。

MMU-500 在主设备的访问导致 TLB 失效时生成 PTW。然而,根据配置,MMU-500 支持每个 TBU 同时进行 8 或 16 个这样的并行 PTW。如果有超过 8 或 16 个 PTW 挂起,通道上的 TLB 失效表明 MMU-500 不能在接受写入或读取通道上的额外事务。

QoS 仲裁

PTW 由 TCU 为多个 TBU 发起。因此,当 TCU 中有多个未完成事务时,最高质量的 TBU 会被赋予优先权。MMU-500 重用为 PTWs 编程的 QoS 值。

arqosarb 信号,从 MMU-500 到 CCI 的边带信号,在 TCU 中所有 PTW 读取事务中具有最高的 QoS 值。

在地址转换中,MMU-500 使用已编程的服务质量(Quality of Service, QoS)值。

对于个别的预取访问,MMU-500 使用命中事务的 QoS 值。

对于具有相同 QoS 值的事务,MMU-500 采用先到先服务(First-Come, First-Served, FCFS)模型进行处理。这意味着在相同优先级级别上,事务将按照它们到达的顺序被处理。

地址宽度

进入的地址宽度固定为49位,其中 A[48] 指定虚拟地址子范围。您必须将所有未使用的位连接到零。输出地址宽度为48位,AC地址总线的宽度为48位。

注意 MMU-500不支持地址宽度大于49位的外设。

2.2 Cache结构
2.2.1 Micro TLB

2.2.2 Macro TLB

预取缓冲区 MMU-500

会提前提取 4KB 和 64KB 大小的页面到预取缓冲区中。这减少了未来 PTWs(页表步进走)的延迟。您可以配置预取缓冲区的深度。 预取缓冲区是一个单一的四路组相联缓存,您可以根据上下文启用或禁用它。预取缓冲区与宏观 TLB 缓存共享 RAM。

Page walk缓存

MMU-500 缓存部分 PTWs 以减少 TLB 失效时的 PTW 数量。PTW 缓存存在于 TCU 中,第一阶段和第二阶段的第二级 PTWs 被缓存在 PTW 缓存中。

IPA 到 PA 缓存

MMU-500 实现了一个从 IPA(中间物理地址)到 PA(物理地址)的缓存,用于第一阶段后跟第二阶段的转换。 IPA 到 PA 缓存是一个单一的四路组相联缓存,您可以根据上下文启用或禁用它。IPA 到 PA 缓存与 PTW 缓存共享 RAM。

来个赞兄弟姐妹们~

下期预告:SMMU集成指导

相关文章:

【ARM】SMMU系统虚拟化整理

目录 1.MMU的基本介绍 1.1 特点梳理 2.功能 DVM interface PTW interface 2.1 操作流程 2.1.1 StreamID 2.1.2 安全状态: 2.1.3 HUM 2.1.4 可配置的操作特性 Outstanding transactions per TBU QoS 仲裁 2.2 Cache结构 2.2.1 Micro TLB 2.2.2 Macro…...

PYQT按键长按机制

长按按键不松开也会触发 keyReleaseEvent 事件,是由于操作系统的键盘事件处理机制。大多数操作系统在检测到键盘按键被长按时,会重复生成按键按下 (keyPressEvent) 和按键释放 (keyReleaseEvent) 事件。这种行为通常被称为“键盘自动重复”。 通过检测 …...

SAPUI5基础知识15 - 理解控件的本质

1. 背景 经过一系列的练习,通过不同的SAPUI5控件,我们完成了对应用程序界面的初步设计,在本篇博客中,让我们一起总结下SAPUI5控件的相关知识点,更深入地理解SAPUI5控件的本质。 通常而言,一个典型UI5应用…...

十七、【机器学习】【非监督学习】- K-均值 (K-Means)

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…...

算法力扣刷题记录 五十六【501.二叉搜索树中的众数】

前言 二叉搜索树操作,继续。 记录 五十六【501.二叉搜索树中的众数】 一、题目阅读 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)…...

分布式搜索引擎ES-Elasticsearch进阶

1.head与postman基于索引的操作 引入概念: 集群健康: green 所有的主分片和副本分片都正常运行。你的集群是100%可用 yellow 所有的主分片都正常运行,但不是所有的副本分片都正常运行。 red 有主分片没能正常运行。 查询es集群健康状态&…...

低代码与传统编程:快速高质量构建系统的比较与方法

在信息技术飞速发展的今天,企业对软件系统的需求不断增加。然而,如何在保证高质量的前提下快速构建系统成为了一个关键问题。本文将深入探讨低代码(Low-Code)开发与传统代码编程的区别,并探讨如何利用这两种方法快速高…...

WebRTC音视频-环境搭建

目录 期望效果 1:虚拟机和系统安装 2:WebRTC客户端环境搭建 2.1:VScode安装 2.2:MobaXterm安装 3:WebRTC服务器环境搭建 3.1:安装openssh服务器 3.2:安装Node.js 3.3:coturn穿透和转发服务器 3.3.1&a…...

Memcached开发(八):使用PHP进行操作

目录 1. 安装与配置 1.1 安装Memcached服务器 1.2 安装PHP的Memcached扩展 2. 基本操作 2.1 连接Memcached服务器 2.2 设置与获取数据 2.3 删除数据 2.4 检查数据是否存在 2.5 添加和替换数据 3. 高级操作 3.1 批量操作 3.2 数据计数器 3.3 CAS(Check …...

[Spring Boot]Protobuf解析MQTT消息体

简述 本文主要针对在MQTT场景下,使用Protobuf协议解析MQTT的消息体 Protobuf下载 官方下载 https://github.com/protocolbuffers/protobuf/releases网盘下载 链接:https://pan.baidu.com/s/1Uz7CZuOSwa8VCDl-6r2xzw?pwdanan 提取码:an…...

什么是Mappers?Mappers的作用是什么?

在软件开发中,“mappers” 通常指的是数据映射器(Data Mappers),它们的主要作用是在应用程序的数据持久化层(通常是数据库或其他持久化存储)与应用程序的业务逻辑之间建立一个映射层。 具体来说&#xff0…...

python-多任务编程

2. 多任务编程 2.1 多任务概述 多任务 即操作系统中可以同时运行多个任务。比如我们可以同时挂着qq,听音乐,同时上网浏览网页。这是我们看得到的任务,在系统中还有很多系统任务在执行,现在的操作系统基本都是多任务操作系统,具备…...

IDEA创建Java工程、Maven安装与建立工程、Web工程、Tomcat配置

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …...

使用工作流产生高质量翻译内容的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…...

笔记:Few-Shot Learning小样本分类问题 + 孪生网络 + 预训练与微调

内容摘自王老师的B站视频,大家还是尽量去看视频,老师讲的特别好,不到一小时的时间就缕清了小样本学习的基础知识点~Few-Shot Learning (1/3): 基本概念_哔哩哔哩_bilibili Few-Shot Learning(小样本分类) 假设现在每类…...

初学Mybatis之 CRUD 增删改查

namespace 中的包名要和 Dao/Mapper 接口的包名一致 select:选择,查询语句 同理,还有 insert、update、delete 标签 id:对应的 namespace 中的方法名 resultType:sql 语句执行的返回值 parameterType:…...

Kali Linux APT 设置指南:如何控制软件包更新行为

在我浏览 CSDN 的问答社区时,我发现一篇求助内容是一位用户对于如何在使用 APT 更新时避免更新 Arduino 这个问题感到困惑。这激发了我写这篇博客的灵感。我希望通过这篇文章,帮助那些在 Kali Linux 上使用 APT 管理软件包更新的朋友们,特别是…...

Android 10.0 Settings 加载流程

一、系统设置首页 代码路径&#xff1a;packages/app/Settings/ 1 主界面加载&#xff1a; <!-- Alias for launcher activity only, as this belongs to each profile. --><activity-alias android:name"Settings"android:label"string/settings_la…...

mysql的索引、事务和存储引擎

目录 索引 索引的概念 索引的作用 作用 索引的副作用 创建索引 创建索引的原则和依据 索引的类型 创建索引 查看索引 删除索引 drop 主键索引 普通索引 添加普通索引 唯一索引 添加唯一索引 组合索引 添加组合索引 查询组合索引 全文索引 添加全文索引 …...

基于trace_id实现SpringCloudGateway网关的链路追踪

之前写的两篇关于基于 trace_id 的链路追踪的文章&#xff1a; 基于trace_id的链路追踪&#xff08;含Feign、Hystrix、线程池等场景&#xff09;基于trace_id的链路追踪&#xff08;ForkJoinPool场景&#xff09; 一、引言 在之前的文章中&#xff0c;我们讨论了基于 trace…...

Windows 11 version 22H2 中文版、英文版 (x64、ARM64) 下载 (updated Jul 2024)

Windows 11 version 22H2 中文版、英文版 (x64、ARM64) 下载 (updated Jul 2024) Windows 11, version 22H2&#xff0c;企业版 arm64 x64 请访问原文链接&#xff1a;https://sysin.org/blog/windows-11/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者…...

【C语言】动态内存管理(上)

文章目录 前言1.为什么要存在动态内存2. malloc和free2.1 malloc2.2 free2.3 使用实例&#xff08;malloc和free&#xff09; 3. calloc3.1 calloc例子 前言 本文开始将开始学习C语言中一个比较重要的知识点或者是操作——动态内存管理。由于本次的知识比较重要&#xff0c;为…...

【BUG】已解决:ModuleNotFoundError: No module named‘ pip‘

已解决&#xff1a;ModuleNotFoundError: No module named‘ pip‘ 目录 已解决&#xff1a;ModuleNotFoundError: No module named‘ pip‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰…...

网络安全-网络安全及其防护措施11

51.网络容量规划 网络容量规划的概念和重要性 网络容量规划&#xff1a; 是指根据业务需求和预期增长&#xff0c;合理规划和设计网络的带宽、设备和资源&#xff0c;以满足未来网络流量和服务质量的需求。通过有效的网络容量规划&#xff0c;确保网络性能稳定和用户体验良好…...

使用IDEA编写lua脚本并运行

下载lua https://github.com/rjpcomputing/luaforwindows/releases 是否创建桌面快捷方式&#xff1a;我们的目标是使用IDEA编写lua脚本&#xff0c;所以不需要勾选。后面需要的话&#xff0c;可以到安装目录下手动创建快捷方式 环境变量自动配置 安装后会自动配置好环境变量…...

CentOS 7 安装MySQL 5.7.30

CentOS 7 安装MySQL卸载&#xff08;离线安装&#xff09; 安装配置MySQL之前先查询是否存在&#xff0c;如存在先卸载再安装 rpm -qa|grep -i mysql rpm -qa|grep -i mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64如下命令找到直接 rm -rf 删除&#xff08;删除…...

Bash 学习摘录

文章目录 1、变量和参数的介绍&#xff08;1&#xff09;变量替换$(...) &#xff08;2&#xff09;特殊的变量类型export位置参数shift 2、引用&#xff08;1&#xff09;引用变量&#xff08;2&#xff09;转义 3、条件判断&#xff08;1&#xff09;条件测试结构&#xff08…...

GD32 MCU是如何进入中断函数的

用过GD32 MCU的小伙伴们都知道&#xff0c;程序是顺序执行的&#xff0c;但当有中断来的时候程序会跳转到中断函数&#xff0c;执行完中断函数后程序又继续回到原来的位置继续执行&#xff0c;那么你们知道MCU是如何找到中断函数入口的吗&#xff1f; 今天我们就以GD32F303系列…...

Ruby 循环

Ruby 循环 在编程中&#xff0c;循环是一种常用的控制结构&#xff0c;它允许我们重复执行一段代码多次。Ruby 作为一种灵活的编程语言&#xff0c;提供了多种循环方法&#xff0c;包括 while、until、for、each 和 loop 等。本文将详细介绍 Ruby 中的循环机制&#xff0c;并通…...

三字棋游戏(C语言详细解释)

hello&#xff0c;小伙伴们大家好&#xff0c;算是失踪人口回归了哈&#xff0c;主要原因是期末考试完学校组织实训&#xff0c;做了俄罗斯方块&#xff0c;后续也会更新&#xff0c;不过今天先从简单的三字棋说起 话不多说&#xff0c;开始今天的内容 一、大体思路 我们都知…...