AMBA三种总线详解并比较
AMBA三种总线详解并比较
AMBA(Advanced Microcontroller Bus Architecture)是 ARM 公司推出的片上总线标准,旨在为 SoC(片上系统)提供高效、灵活的通信架构。
一、总线详解
1. AHB(Advanced High-performance Bus)
- 技术特性:
- 高性能设计:支持流水线操作和突发传输(Burst Transfer),可连续传输多笔数据(如 INCR、WRAP 等模式),显著提升总线利用率。
- 多主设备仲裁:支持多个主设备(如 CPU、DMA)共享总线,通过仲裁机制分配总线控制权,确保高带宽需求。
- 信号定义:包含 32 位地址总线(HADDR)、数据总线(HWDATA/HRDATA)及控制信号(如 HBURST、HREADY),支持 32/64/128/256 位数据宽度。
- 应用场景:
- 连接处理器、片内外存控制器、高速外设(如 GPU、DSP)等对带宽要求高的模块。
- 作为系统主干总线,通过桥接器连接低速 APB 总线。
2. APB(Advanced Peripheral Bus)
- 技术特性:
- 低功耗与简化设计:非流水线架构,每笔传输固定 2 个时钟周期完成,无需复杂控制信号(仅 PADDR、PWDATA 等 4-6 个信号),降低功耗和设计复杂度。
- 单主设备架构:唯一主设备为 APB 桥(连接 AHB/AXI),无需仲裁逻辑,适合低速外设。
- 协议演进:APB3.0 引入 PREADY 信号支持传输延时,APB4.0 增加 PSTRB 信号实现稀疏数据传输。
- 应用场景:
- 连接 UART、I2C、GPIO 等低速外设,满足低带宽、低功耗需求。
- 作为二级总线,通过 APB 桥与 AHB/AXI 实现通信。
3. AXI(Advanced eXtensible Interface)
- 技术特性:
- 高带宽与灵活性:支持 1024 位数据宽度,独立读写通道(地址、数据、控制分离),允许读写并行操作,显著提升吞吐量。
- 乱序传输与多事务处理:支持未完成事务(Outstanding Transactions)和乱序完成,有效利用总线带宽,尤其适合高初始延迟设备(如 DDR 内存)。
- 协议分层:
- AXI4:完整协议,支持突发传输(最多 256 笔)和非对齐访问,用于高性能的存储器映射需求。
- 注:存储器映射:主机在对从机进行读写操作时,指定一个目标地址,这个地址对应系统存储空间的地址,表示对该空间进行读写操作。
- AXI4-Lite:简化版,仅支持单数据传输,用于寄存器访问。
- AXI4-Stream:单向数据流传输(突发笔数不受限制),适用于视频、音频等流数据场景。
- 应用场景:
- 替代 AHB 成为新一代 SoC 主干总线,连接 CPU、高速缓存、PCIe 等高性能模块。
- 通过桥接器兼容 AHB 和 APB 设备,提升系统扩展性。
二、性能对比
维度 | AHB | APB | AXI |
数据宽度 | 32/64/128/256位 | 8/16/32位 | 2-1024位 |
传输类型 | 突发传输 | 单周期传输 | 突发传输,乱序传输,多事务并行 |
仲裁机制 | 多主设备仲裁 | 单主设备(桥) | 多主设备仲裁,支持优先级配置 |
功耗 | 较高(高性能设计) | 极低(设计简单) | 中高(灵活性带来复杂度) |
设计复杂度 | 中等(需仲裁和流水线逻辑) | 低(无仲裁,简单协议) | 高(多通道,乱序控制) |
典型延迟 | 低(流水线优化) | 高(固定两周期) | 低(乱序和并行优化) |
兼容性 | 向后兼容ASB | 兼容AMBA 2+版本 | 需桥接兼容AHB/APB |
注:ASB 即高级系统总线(Advanced System Bus),是 AMBA片上总线协议中的第一代系统总线
三、总结与应用
- AHB:适合需要高带宽但复杂度适中的场景,如传统 SoC 中的高速模块互联。
- APB:专为低速外设设计,以低功耗和低成本为核心优势,是 UART 等设备的首选。
- AXI:代表 AMBA 总线的未来方向,通过高度灵活的架构满足高性能计算、异构计算等复杂需求,成为现代 SoC 的主流选择。
在实际设计中,通常采用 AXI 为主总线,AHB/APB 为子总线 的混合架构:AXI 连接 CPU、内存等高性能模块,AHB 作为过渡层,APB 连接低速外设,通过桥接器实现无缝通信136。这种分层设计在性能、功耗和成本之间取得了平衡,广泛应用于智能手机、汽车电子、工业控制等领域56。
四、AXI总线详解
AXI(Advanced eXtensible Interface)是 ARM 公司推出的AMBA 4.0 及以上版本的核心总线协议,专为高性能、高带宽、低延迟的片上系统(SoC)设计。作为 AMBA 总线的第三代标准(前两代是 ASB 和 AHB),AXI 通过多通道并行架构、灵活的事务处理机制和可扩展的数据宽度,成为现代 SoC 中连接 CPU、内存控制器、高速外设等模块的主流选择。
一、AXI 技术架构与核心特性
1. 五通道独立设计(关键)
AXI 将地址、数据和控制信号分离为5 个独立通道,支持并行操作,显著提升总线利用率:
- 读地址通道(Read Address Channel)
- 主设备发送读地址和控制信号,从设备响应读数据。
- 写地址通道(Write Address Channel)
- 主设备发送写地址和控制信号,从设备接收写数据后返回写响应。
- 写数据通道(Write Data Channel)
- 主设备传输写数据和字节选通信号。
- 写响应通道(Write Response Channel)
- 从设备向主设备反馈写操作状态。
- 读数据通道(Read Data Channel)
- 从设备向主设备返回读数据和响应信号。
优势:独立通道允许读写操作并行进行,未完成的事务可缓存(Outstanding Transactions),避免总线等待,尤其适合高延迟设备(如 DDR 内存)。
2. 突发传输(Burst Transfer)与灵活寻址
- 突发类型:支持固定长度(FIXED)、递增地址(INCR)、回环地址(WRAP,用于 Cache 行填充)三种突发模式,单次突发可传输 1~256 笔数据。
- 非对齐访问:允许数据传输起始地址不按数据宽度对齐(如 32 位数据从地址 1 开始传输),传统总线(如 AHB)需软件拆分,AXI 硬件直接支持。
3. 乱序完成与事务标识
- 乱序机制:从设备可按任意顺序完成多个未完成的事务(需主设备支持乱序),例如先处理后发起的读事务,提升总线效率。
- ID 标签:每个通道包含唯一标识符(ARID/AWID 等),用于关联请求与响应,确保乱序传输时数据不混淆。
二、AXI 协议版本与功能差异
AXI4 标准包含三种子协议,针对不同应用场景优化:
1. AXI4(Full Feature)
- 定位:高性能内存映射(Memory-Mapped)总线,替代 AHB 成为 SoC 主干。
- 特性:
- 支持突发传输(最大 256 笔)、非对齐访问、乱序完成。
- 64 位地址空间,适合连接 CPU、DMA 控制器、DDR 内存控制器等。
- 典型应用:处理器与片外内存、高速缓存(Cache)、PCIe 控制器的通信。
2. AXI4-Lite
- 定位:轻量级内存映射总线,用于寄存器访问。
- 特性:
- 仅支持单数据传输(突发长度固定为 1),无乱序和突发功能。
- 简化控制信号,适合低带宽场景(如 APB 桥、外设寄存器配置)。
- 优势:降低设计复杂度,功耗低于 AXI4,替代传统 APB 用于高速寄存器访问。
3. AXI4-Stream
- 定位:单向数据流总线,无地址通道,用于流数据传输。
- 特性:
- 支持连续数据传输(如视频像素、音频采样),通过 VALID/READY 握手信号控制流量。
- 数据可包含用户自定义标签(USER 字段),用于元数据传递(如数据流起始 / 结束标识)。
- 典型应用:FPGA 加速器、图像处理单元(ISP)、USB / 以太网控制器的数据通路。
三、AXI 设计挑战与最佳实践
1. 设计复杂度
- 挑战:多通道同步、乱序控制逻辑增加 RTL 设计与验证难度。
- 解决方案:
- 使用成熟的 IP 核(如 ARM CoreLink AXI Interconnect)减少底层开发。
- 采用断言(Assertion)和覆盖分析(Coverage Analysis)确保协议合规性。
2. 功耗优化
- 挑战:并行架构可能导致动态功耗增加。
- 解决方案:
- 对非活跃通道进行时钟门控(Clock Gating)。
- 利用 AXI 的低功耗扩展(如 AXI5 的 LPAUX 信号)实现电源状态管理。
3. 系统集成
- 挑战:多主设备仲裁与延迟均衡。
- 解决方案:
- 通过 QoS 机制为关键设备(如 CPU)分配更高仲裁优先级。
- 使用缓冲器(Buffer)和流水线寄存器(Pipeline Register)优化路径延迟。
注:握手信号通俗讲解(好多人问)
具体流程
-
发送方发起请求
- 发送方将数据放到总线上,置 REQ 为高(“我要发数据了”)。
-
接收方响应应答
- 接收方检测到 REQ 高后,读取数据,置 ACK 为高(“数据收到了”)。
-
双方复位信号
- 发送方检测到 ACK 高后,拉低 REQ(“知道你收到了”)。
- 接收方检测到 REQ 低后,拉低 ACK(“准备好下一次”)。
相关文章:
AMBA三种总线详解并比较
AMBA三种总线详解并比较 AMBA(Advanced Microcontroller Bus Architecture)是 ARM 公司推出的片上总线标准,旨在为 SoC(片上系统)提供高效、灵活的通信架构。 一、总线详解 1. AHB(Advanced High-perform…...
国产视频转换LT6211UX:HDMI2.0转LVDS/MIPI芯片简介,支持4K60Hz
1. LT6211UX HDMI2.0信号输入 支持HDMI2.0b, HDMI1.4和DVI1.0 支持HDCP2.2和HDCP1.4 数据速率高达6Gbps 自适应接收机均衡 支持4k60Hz 支持的3D格式: 对于HDMI -> LVDS: 直接3D输出 2路2D L/R输出 对于HDMI -> MIPI: 框架包装&#x…...
在nextjs项目当中使用wagmi连接MetaMask SDK
Wagmi 是一个为以太坊和 EVM 兼容链构建的 React Hooks 库,专为简化 Web3 应用开发而设计。它提供了一组强大且类型安全的工具,使开发者能够更方便地与钱包(如 MetaMask、WalletConnect 等)和智能合约进行交互。 Wagmi 的全称其实并不是一个传统意义上的缩写,它源自加密社…...
SAP-ABAP:SAP的`TRY...CATCH` 异常处理机制详解
一、异常处理架构与核心机制 1. 异常分类与层次结构 异常类型触发机制处理要求典型子类CX_STATIC_CHECK编译器强制检查(必须声明或捕获)必须显式处理CX_SY_ZERODIVIDE(除零错误)CX_DYNAMIC_CHECK运行时检查(若未处理则触发运行时错误RESUMABLE_FAILURE)推荐显式处理CX_S…...
HarmonyOS NEXT~鸿蒙系统与Uniapp跨平台开发实践指南
HarmonyOS NEXT~鸿蒙系统与Uniapp跨平台开发实践指南 引言:鸿蒙与Uniapp的融合价值 华为鸿蒙系统(HarmonyOS)作为新一代智能终端操作系统,其分布式能力与跨设备协同特性为开发者带来了全新机遇。而Uniapp作为流行的跨平台应用开发框架&…...
python 提交命令 到远程windows中
在Python中,你可以使用多种方式来提交命令到远程Windows机器上。最常见的方法是通过SSH协议(使用paramiko库)或者通过Windows远程管理工具如WinRM(使用python-winrm库)。 使用Paramiko进行SSH连接 Paramiko是一个Pyth…...
【520 特辑】用 HTML/CSS/JavaScript 打造浪漫炫酷的表白网页
一、前言 在 520 这个充满爱意的日子里,程序员该如何用代码表达浪漫?本文将分享一个结合动画特效与交互设计的 520 表白网页案例,通过 HTML/CSS/JavaScript 实现动态爱心、渐变背景、浮动文字等炫酷效果,手把手教你用技术传递心意…...
【QT】QTableWidget获取width为100,与真实值不符问题解决
背景 用stackedWidget内嵌2个QTableWidget页面,实现切换。在进行stackedWidget.width()的获取时候,可以正常获得ui界面设置的宽度值,但是在QTableWidget页面用同样的方式无法成功获取真实值,即使采用获取内容区域宽度(…...
Hive drop column 的解决方法
示例: 创建 text 格式的表 create table t1(c1 int, c2 int) stored as textfile;增加一个字段 alter table t1 add columns (c3 int);使用 replace columns 删除新加的字段 alter table t1 replace columns (c1 int, c2 int);对于 ORC 类型的表,使用…...
Python虚拟环境再PyCharm中自由切换使用方法
Python开发中的环境隔离是必不可少的步骤,通过使用虚拟环境可以有效地管理不同项目间的依赖,避免包冲突和环境污染。虚拟环境是Python官方提供的一种独立运行环境,每个项目可以拥有自己单独的环境,不同项目之间的环境互不影响。在日常开发中,结合PyCharm这样强大的IDE进行…...
Spark大数据分析案例(pycharm)
所需文件(将文件放在路径下,自己记住后面要用): 通过百度网盘分享的文件:beauty_p....csv等4个文件 链接:https://pan.baidu.com/s/1pBAus1yRgefveOc7NXRD-g?pwd22dj 提取码:22dj 复制这段内…...
【QT】ModbusTCP读写寄存器类封装
背景 在编写ModbusTCP时候,连接、寄存器读写属于通用的功能,为了便于后续直接复用,选择封装到一个类。本博文在封装展示该类过程中,会提及到编写该类过程中,出现的连接未成功的问题,以及该问题的解决方式。…...
SQLMesh 内置宏详解:@PIVOT等常用宏的核心用法与示例
本文系统解析 SQLMesh 的四个核心内置宏,涵盖行列转换的 PIVOT、精准去重的 DEDUPLICATE、灵活生成日期范围的 DATE_SPINE,以及动态表路径解析的 RESOLVE_TEMPLATE。通过真实案例演示参数配置与 SQL 渲染逻辑,并对比宏调用与传统 SQL 的差异&…...
ajax post请求 解决自动再get请求一次
ajax post请求 解决自动再get请求一次 HTMLjavascriptFlask第一种方法:第二种方法: HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录</title></head> &l…...
当前主流的传输技术(如OTN、IP-RAN、FlexE等)
好的!当前主流的传输技术(如OTN、IP-RAN、FlexE等)各有其独特的应用场景,下面我会逐一展开讲解,并结合实际案例说明它们如何在不同领域发挥作用。 一、OTN(光传送网) 1. 核心特点 大容量&…...
利用 SQL Server 作业实现异步任务处理,简化系统架构
在现代企业系统中,异步任务是不可或缺的组成部分,例如: 电商系统中的订单超时取消; 报表系统中的异步数据导出; CRM 系统中的客户积分计算。 传统的实现方式通常涉及引入消息队列(如 RabbitMQ、Kafka&a…...
【Java高阶面经】3.熔断机制深度优化:从抖动治理到微服务高可用架构实战
一、熔断抖动的本质剖析与核心成因 1.1 熔断机制的核心价值与抖动危害 熔断机制作为微服务弹性架构的核心组件,通过模拟电路断路器逻辑,在服务出现异常时自动阻断请求链,防止故障扩散引发雪崩。但频繁的“熔断-恢复-熔断”抖动会导致: 用户体验恶化:请求成功率波动大,响…...
如何删除 HP 笔记本电脑中的所有数据:3 种解决方案说明
当您准备删除 HP 笔记本电脑中的所有数据时,无论是为了保护您的隐私还是为设备重新启动做好准备,使用正确的方法非常重要。在本文中,您可以获得 3 个有效的解决方案,帮助您轻松删除计算机中的所有内容。之后,您可以安全…...
以太联 - Intellinet 闪耀台北 SecuTech 国际安全科技应用博览会
2025 年 5 月 7 日至 9 日,台北 SecuTech 国际安全科技应用博览会现场热闹非凡,以太联 - Intellinet 携旗下前沿产品与解决方案精彩亮相,成为展会上一道亮丽的风景线,吸引了众多业内人士的目光,收获了广泛关注与高度认…...
JavaScript性能优化实战(13):性能测试与持续优化
在前面的系列文章中,我们探讨了各种JavaScript性能优化的方法和实战案例。然而,优化工作不应仅是一次性的努力,而应当成为开发流程中的常态。本篇将聚焦于如何建立系统化的性能测试体系,并实现持续的性能优化机制,确保应用长期保持出色的性能表现。 前端性能测试体系构建…...
nbufxz动态规划1
草药题 dp[i][j],考虑i个草药,j个时间,能获得的最大价值。这i个草药中,你不一定全部都采集了。你可能有的采了,有的没采。然后你最终得到了一个最优的结果。 状态转移方程无非就是: dp[i][j] max(dp[i …...
PostgreSQL 初体验
目录 一、PostgreSQL 1. 简介 2. 特点 (1) 开源免费(Open Source) (2)标准兼容(SQL Compliance) (3) 丰富的数据类型(Data Types)…...
北斗导航 | 基于matlab的多波束技术的卫星通信系统性能仿真
基于多波束技术的低轨(LEO)卫星通信系统 **1. 仿真场景建模**1.1 LEO卫星轨道参数设置1.2 地面终端分布**2. 多波束天线模型**2.1 波束方向图生成2.2 频率复用方案**3. 链路预算与干扰分析**3.1 自由空间路径损耗3.2 信噪比(SNR)计算**4. 动态资源调度算法**4.1 基于流量需…...
数据结构与算法学习笔记(Acwing 提高课)----动态规划·状态机模型
数据结构与算法学习笔记----动态规划状态机模型 author: 明月清了个风 first publish time: 2025.5.20 ps⭐️背包终于结束了,状态机模型题目不多。状态机其实是一种另类的状态表示方法,将某一个点扩展为一个状态进行保存并在多个状态之间转移…...
Vue 3.0 中 Teleport 详解
Teleport 是 Vue 3.0 引入的一个非常有用的特性,它允许你将组件的一部分模板"传送"到 DOM 中的其他位置,而不改变组件的逻辑层次结构。 1. 基本概念 Teleport 的主要用途是将某些 DOM 元素渲染到 Vue 应用之外的 DOM 节点中,这在…...
Linux在防火墙中添加开放端口
例如:安装docker时启动报错: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 此时开放对应端口号就可以咯 在防…...
day24:零基础学嵌入式之系统编程
一、系统编程包含 文件的读写、和常用操作,操作系统已经进入多任务时代,在同一时刻同时运行多个程序。 二、标准io;stdio.h(以计算机为中心) 1.头文件路径:/usr/include/stdio.h so动态库:st…...
2.10 财务分析
10.1 财务报告构成及列报基本要求 10.1.1 财务报告 1.财务报告的构成 资产负债表、利润表、现金流量表、所有者权益变动表和附注小型企业可不编现金流量表。 2.财务报表及其作用 1.资产负债表的内容及其作用 内容 资产类、流动性大小顺序排序。流动资产、非流动资产负债和…...
docker容器知识
一、docker与docker compose区别: 1、docker是创建和管理单个容器的工具,适合简单的应用或服务; 2、docker compose是管理多容器应用的工具,适合复杂的、多服务的应用程序; 3、docker与docker compose对比ÿ…...
国标GB28181视频EasyGBS视频监控平台搭建城市交通道路可视化管理/道路视频巡检/应急监控指挥
一、方案背景 随着城市人口与车辆激增,交通管理面临严峻挑战:高峰期道路拥堵、事故处理滞后、违法取证低效,传统管理模式难以为继。智慧交通依托信息技术,成为破局关键,其中视频监控是实现精细化管理的核心。国标GB…...
【LeetCode 热题 100】有效的括号 / 最小栈 / 字符串解码 / 柱状图中最大的矩形
⭐️个人主页:小羊 ⭐️所属专栏:LeetCode 热题 100 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 栈有效的括号最小栈字符串解码每日温度柱状图中最大的矩形 堆数组中的第K个最大元素 栈 有效的括号 有效的括号 cl…...
Oracle中如何解决BUFFER BUSY WAITS
和BUFFER CACHE相关的常见等待事件还有BUFFER BUSY WAITS。顾名思义,BUFFER BUSY WAITS等待事件指的是多个会话不能共享缓冲区中的数据块而引发的等待事件。 发生BUFFER BUSY WAITS事件时,P1值代表数据文件号,P2值代表数据块号,P3…...
LeetCode 93.复原IP地址 LeetCode 78.子集 LeetCode 90.子集II
LeetCode 93.复原IP地址 其实思想跟回文字符串那道题是类似的,但难点在于这道题的终止条件和判断是否IP地址进行划分后是否合理? 思路: 通过一个int类型的全局变量来记载 " . " 的数目 / 记录你当前所获得的小数组的数目&#x…...
Java转Go日记(四十一):Gorm删除
1.1.1. 删除/软删除 警告删除记录时,需要确保其主要字段具有值,GORM将使用主键删除记录,如果主要字段为空,GORM将删除模型的所有记录 // 删除存在的记录db.Delete(&email)DELETE from emails where id10;// 为Delete语句添加…...
Java基于SpringBoot的公交智能化系统,附源码+文档说明
博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...
电子电器架构 --- 汽车高性能计算
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...
Journal of Real-Time Image Processing 投稿过程
投稿要求双栏12页以内(包括参考文献),这个排版要求感觉不是很严格,我当时就是用普通的双栏的格式去拍的版,然后就提交了,也没单独去下载模版。 投稿过程 12.12 Submission received 12.12 Submission is under technical check 1…...
利用basee64特性 -- BYUCTF 2025 JWTF
题目信息: Unfortunately one of our JWTs was compromised by attackers, so we created a JWT Revocation List to ensure they can’t use it anymore. 代码量很少 # 导入必要的模块 # 从 flask 模块导入 Flask, request, redirect, make_response, jsonify 类和函数 from f…...
湖北理元理律师事务所:科学债务规划如何平衡还款与生活
在债务压力普遍加剧的背景下,如何通过专业规划实现“还款不停生活”,成为许多债务人关注的核心问题。湖北理元理律师事务所基于多年实务经验,总结出一套兼顾法律合规性与人性化需求的债务管理方案,其核心逻辑在于通过法律工具优化…...
1.1HarmonyOS NEXT技术架构深度解析:微内核架构与系统分层
HarmonyOS NEXT技术架构深度解析:微内核架构与系统分层 摘要 作为面向万物互联时代的全场景操作系统,HarmonyOS NEXT通过革命性的星核架构(Star Kernel)重构了系统底层架构。本文将深入解析HarmonyOS NEXT的微内核设计原理、系统…...
考研系列-408真题计算机组成原理篇(2015-2019)
写在前面 此文章是本人在备考过程中408真题计算机组成原理部分(2015年-2019年)的易错题及相应的知识点整理,后期复习也常常用到,对于知识提炼归纳理解起到了很大的作用,分享出来希望帮助到大家~ # 2015年 1.IO端口 接口电路中可以被CPU直接访问的寄存器 IO控制方式-中断…...
HarmonyOS Next 关键资产的解释
关键资产的安全存储与管理:HarmonyOS Asset Store Kit 深度解析 一、关键资产的定义与重要性 关键资产(Critical Asset)是指应用运行过程中涉及的短敏感数据,包括但不限于用户密码、身份令牌(Token)、银行…...
Awesome ChatGPT Prompts:释放AI对话潜力的开源利器
项目概览 Awesome ChatGPT Prompts 是由土耳其开发者 Fatih Kadir Akın 发起的开源项目,托管于 GitHub,旨在通过精心设计的提示词模板(Prompts)优化用户与 ChatGPT 的交互体验。项目以 Markdown 和 CSV 格式管理模板,无需复杂编程语言,但需文本处理能力,目前已在 GitH…...
第6章 C控制语句:循环
目录 6.1 再探while 循环6.2 while语句6.3 比较大小:使用关系运算符和表达式6.4 不确定的循环与计数循环6.5 for循环6.6 更多赋值运算符:、-、*、/和%6.7 逗号运算符6.8 退出条件循环:do while6.9 选择哪种循环6.10 嵌套循环6.11 数组6.12 使…...
海盗王客户端更换横版任务面板的实现
海盗王的任务面板,采用的是竖长设计,上半部分显示任务列表,下半部分显示任务详情。 这样的设计会带来一个问题:就是任务多的时候,不能完整显示,只能显示前面几个,后面的会隐藏到滚动条里面&…...
【git】在Windows上搭建git服务器
1、简述 常用的搭建git服务器的工具有:Gogs、Gitblit、Gitea、GitLab 它们的区别如下: 功能GogsGitblitGiteaGitLab界面语言中文、英文等多语言英文为主中文、英文等多语言英文为主权限管理基础分支权限详细分支权限基础 详细分支权限非常完善代码审查…...
leetcode hot100刷题日记——6.和为 K 的子数组
解答:前缀和思想,见灵茶山艾府大大题解。 (1)前缀和思想: 前缀和数组prefix_sum的定义是prefix_sum[i] nums[0] nums[1] … nums[i]。如果存在两个前缀和prefix_sum[j]和prefix_sum[i]满足prefix_sum[i] - prefi…...
人工智能的“歧视”:“她数据”在算法运行中隐形
纵观人类的发展史,每一次科技进步都将对性别平等产生深刻影响。尤其是当下,人们对于借助人工智能技术快速发展来弥合性别不平等寄予厚望。 但很多人没想过,人工智能技术本身是客观中立、不存在“算法歧视”“性别偏见的吗? 弗吉…...
Java数组列表 - ArrayList
在Java中,ArrayList是一种非常实用的数据结构,它允许开发者动态地管理数组大小。通过ArrayList,可以轻松地添加、删除和修改元素,以及获取元素和列表的大小。例如,创建一个ArrayList来存储字符串,然后通过a…...
跨境外贸电商供应链一体化ERP管理系统
项目介绍: 跨境外贸电商供应链一体化ERP管理系统 高清视频演示: 跨境外贸电商供应链一体化ERP管理系统_哔哩哔哩_bilibili 系统说明: 外贸电商产品ERP系统包含多个角色(客户、客服、工厂、供应商)和多个功能模块,以下是系统功能的详细说明…...