26考研——输入/输出系统_I/O 方式_DMA 方式(7)
408答疑
文章目录
- 三、I/O 方式
- DMA 方式
- DMA 方式的特点
- DMA 控制器的组成
- DMA 的传送方式
- 停止 CPU 访存
- 周期挪用
- DMA 与 CPU 交替访存
- 示例分析
- DMA 的传送过程
- DMA 方式和中断方式的区别
- 四、参考资料
- 鲍鱼科技课件
- 26王道考研书
三、I/O 方式
DMA 方式
DMA 方式是一种完全由硬件进行成组信息传送的控制方式,它具有程序中断方式的优点,即在数据准备阶段,CPU 与外设并行工作。
- DMA 方式在外设与内存之间开辟了一条“直接数据通路”,信息传送不再经过 CPU,降低了 CPU 在传送数据时的开销,因此称为直接存储器存取方式。
- 由于数据传送不经过 CPU,因此不需要保护、恢复 CPU 现场等繁琐操作。
- 这种方式适用于磁盘、显卡、声卡、网卡等高速设备大批量数据的传送,它的硬件开销比较大。
- 在 DMA 方式中,中断的作用仅限于故障和正常传送结束时的处理。
DMA 方式的特点
主存和 DMA 接口之间有一条直接数据通路。由于 DMA 方式传送数据不需要经过 CPU,因此不必中断现行程序,I/O 与主机并行工作,程序和传送并行工作。
- 它使主存与 CPU 的固定联系脱钩,主存既可被 CPU 访问,又可被外设访问。
- 在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
- 主存中要开辟专用缓冲区,以及时提供和接收外设的数据。
- DMA 传送速度快,CPU 和外设并行工作,提高了系统效率。
- DMA 在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。
DMA 控制器的组成
在 DMA 方式中,对数据传送过程进行控制的硬件称为 DMA 控制器(DMA 控制口)。当 I/O 设备需要进行数据传送时,通过 DMA 控制器向 CPU 提出 DMA 传送请求,CPU 响应之后将让出系统总线,由 DMA 控制器接管总线进行数据传送。其主要功能如下:
- 接受外设发出的 DMA 请求,并向 CPU 发出总线请求。
- CPU 响应并发出总线响应信号,DMA 接管总线控制权,进入 DMA 操作周期。
- 确定传送数据的主存起始地址及长度,并自动修改主存地址计数和传送长度计数。
- 规定数据在主存和外设间的传送方向,发出读/写等控制信号,执行数据传送操作。
- 向 CPU 报告 DMA 操作结束。
下图给出了一个简单的 DMA 控制器。
- 主存地址计数器:存放要交换数据的主存地址。在传送前,其保存的是传送数据的主存起始地址;每传送一个字,地址寄存器的内容就加 1,直至该批数据传送完毕。
- 传送长度计数器:记录传送数据的总长度。在传送前,其记录的是该批数据的总字数;每传送一个字,计数器就减 1,直至计数器为 0,表示该批数据传送完毕。
- 数据缓冲寄存器:暂存每次传送的数据。通常,DMA 接口与主存之间的传送单位为字,而 DMA 与设备之间的传送单位可能为字节或位。
- DMA 请求触发器:每当 I/O 设备准备好数据后,发出一个控制信号,使 DMA 请求触发器置位。
- “控制/状态”逻辑:用于指定传送方向,修改传送参数,并对 DMA 请求信号、CPU 响应信号进行协调和同步。
- 中断机构:当一批数据传送完毕后触发中断机构,向 CPU 提出中断请求。
在 DMA 传送过程中,DMA 控制器接管系统总线。而当 DMA 传送结束后,将恢复 CPU 的一切权利并开始执行其操作。由此可见,DMA 控制器必须具有控制系统总线的能力。
DMA 的传送方式
主存和 I/O 设备之间交换信息时,不通过 CPU。但当 I/O 设备和 CPU 同时访问主存时,可能发生冲突,为了有效地使用主存,DMA 与 CPU 通常采用以下 3 种方式使用主存。
停止 CPU 访存
当 I/O 设备有 DMA 请求时,由 DMA 接口向 CPU 发送一个停止信号,使 CPU 放弃总线控制权,停止访问主存,直到 DMA 传送一块数据结束,如下图所示。
数据传送结束后,DMA 接口通知 CPU 可以使用主存,并把总线控制权交回给 CPU。
优点:控制简单,适用于数据传输速率很高的 I/O 设备实现成组数据的传送。
缺点:DMA 在访问主存时,CPU 基本上处于不工作状态。
周期挪用
由于 I/O 访存的优先级高于 CPU 访存(I/O 不立即访存就可能丢失数据),因此由 I/O 设备挪用一个存取周期,传送完一个数据字后立即释放总线,如下图所示。
它是一种单字传送方式。当 I/O 设备有 DMA 请求时,会遇到 3 种情况:
- 此时 CPU 不在访存,因此 I/O 的访存请求与 CPU 未发生冲突;
- CPU 正在访存,此时必须待存取周期结束后,CPU 再将总线占有权让出;
- I/O 和 CPU 同时请求访存,出现访存冲突,此时 CPU 要暂时放弃总线占有权。
优点:既实现了 I/O 传送,又较好地发挥了主存与 CPU 的效率。
缺点:每挪用一个主存周期,DMA 接口都要申请、建立和归还总线控制权。
DMA 与 CPU 交替访存
将 CPU 的工作周期分成两个时间片,一个给 CPU 访存,另一个给 DMA 访存,这样在每个 CPU 周期内,CPU 和 DMA 就都可以轮流访存,如下图所示。
这种方式适用于 CPU 的工作周期比主存存取周期长的情况。例如,若 CPU 的工作周期是 1.2μs,主存的存取周期小于 0.6μs,则可将一个 CPU 周期分为 C 1 C_1 C1 和 C 2 C_2 C2 两个周期,其中 C 1 C_1 C1 专供 DMA 访存, C 2 C_2 C2 专供 CPU 访存。这种方式不需要申请、建立和归还总线使用权,总线使用权是通过 C 1 C_1 C1 和 C 2 C_2 C2 分时控制的。
优点:不需要总线控制权的申请、建立和归还过程,具有很高的传送速率。
缺点:相应的硬件逻辑变得更复杂。
示例分析
假定计算机的主频为 500MHz,CPI 为 4,某外设的数据率为 40MB/s,I/O 接口中的数据端口为 32 位,采用 DMA 方式,每次 DMA 传送块大小为 1000B,且 DMA 预处理和后处理的总时钟周期数为 500,则 CPU 用于该外设 I/O 的时间占 CPU 总时间的百分比是多少?
解:
- 外设每秒的 DMA 次数为 40 M B / s ÷ 1000 B = 40000 40MB/s \div 1000B = 40000 40MB/s÷1000B=40000,在 DMA 方式中,只有预处理和后处理需要 CPU 处理,数据传送全程由 DMA 控制。
- CPU 用于外设 I/O 的总时间为 40000 × 500 = 2 × 1 0 7 40000 \times 500 = 2 \times 10^7 40000×500=2×107 个时钟周期,占 CPU 总时间的百分比为 2 × 1 0 7 500 M = 4 % \frac{2 \times 10^7}{500M} = 4\% 500M2×107=4%。
DMA 的传送过程
下图所示为 DMA 的数据传送流程,分为预处理、数据传送和后处理 3 个阶段。
-
预处理
- 由 CPU 完成一些必要的准备工作。
- 首先,初始化 DMA 控制器中的有关寄存器,设置传送方向、测试并启动设备等。
- 然后,CPU 继续执行原程序,直到 I/O 设备准备好发送的数据(输入情况)或接收的数据(输出情况)时,I/O 设备向 DMA 控制器发送 DMA 请求,再由 DMA 控制器向 CPU 发出总线请求(这两个过程也可统称 DMA 请求),用以传输数据。
-
数据传送
- DMA 以数据块为基本传送单位。
- DMA 占用总线后的数据输入/输出操作都是通过循环来实现的,这一循环也是由 DMA 控制器实现的,即数据传送阶段完全由 DMA(硬件)控制。
-
后处理
- DMA 控制器向 CPU 发送中断请求,CPU 执行中断服务程序做 DMA 结束处理,包括校验数据(出错则转诊断程序)等后处理工作。
在 DMA 方式下,整个数据块的传送过程都不需要 CPU 参与,CPU 只在最初的 DMA 控制器初始化和最后的 DMA 结束处理时才介入,因此 CPU 用于 I/O 的开销非常小。
DMA 方式和中断方式的区别
- 中断方式是程序的切换,需要保护和恢复现场;而 DMA 方式不中断现行程序,无须保护现场,除了预处理和后处理,其他时候不占用任何 CPU 资源。
- 对中断请求的响应只能发生在每条指令执行结束时(执行周期后);而对 DMA 请求的响应可以发生在任意一个机器周期结束时(取指、间址、执行周期后均可)。
- 中断传送过程需要 CPU 的干预;而 DMA 传送过程不需要 CPU 的干预,因此数据传输速率非常高,适合于高速外设的成组数据传送。
- DMA 请求的优先级高于中断请求。
- 中断方式具有处理异常事件的能力,而 DMA 方式仅局限于大批数据的传送。
- 从数据传送来看,中断方式靠程序传送,DMA 方式靠硬件传送。
四、参考资料
鲍鱼科技课件
b站免费王道课后题讲解:
网课全程班:
26王道考研书
相关文章:
26考研——输入/输出系统_I/O 方式_DMA 方式(7)
408答疑 文章目录 三、I/O 方式DMA 方式DMA 方式的特点DMA 控制器的组成DMA 的传送方式停止 CPU 访存周期挪用DMA 与 CPU 交替访存 示例分析DMA 的传送过程 DMA 方式和中断方式的区别 四、参考资料鲍鱼科技课件26王道考研书 三、I/O 方式 DMA 方式 DMA 方式是一种完全由硬件进…...
处理vue3热加载后axios的请求重复访问的问题
在请求拦截上加上判断,热加载时清空拦截器 if (import.meta.hot) { const interceptorsRe axios.interceptors.response.handlers; const interceptorsRq axios.interceptors.request.handlers; interceptorsRe .length 0; // 清空已有响应拦截器 interceptorsR…...
【教学类-102-21】蝴蝶三色图作品3——异型书蝴蝶“满格变形图”一页2图、一页4图
前期设计 将蝴蝶撑满整个单元格,满格变形图。确保蝴蝶图案最大化 【教学类-102-20】蝴蝶三色图作品2——卡纸蝴蝶“满格变形图”(滴颜料按压对称花纹、原图切边后变形放大到A4横版最大化)-CSDN博客文章浏览阅读572次,点赞7次,收藏3次。【教学类-102-20】蝴蝶三色图作品2…...
【昇腾】Benchmark
1. MindIE 服务化 1.1 环境准备 镜像传送门 参数说明: device用于挂载卡,下面的例子是挂载了8张卡 倒数第二行的镜像名称记得修改 docker run -itd --privileged --namemindie --nethost \--shm-size 500g \--device/dev/davinci0 \--device/dev/da…...
【阿里云大模型高级工程师ACP学习笔记】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)
学习目标 特别说明:由于这一章节是2025年3月官方重点更新的部分,新增内容非常多,因此我不得不整理成上、下两篇,方便大家参考。 备考阿里云大模型高级工程师ACP认证时,深入钻研《2.7通过微调增强模型能力(下篇)》,期望达成以下目标: 掌握高效微调技术:深入理解预训练与…...
【RustDesk 】中继1:压力测试 Python 版 RustDesk 中继服务器
测试 Python 版 RustDesk 中继服务器 测试我们实现的中继服务器有几种方法,从简单到复杂依次如下: 1. 基本连接测试客户端 创建一个简单的测试客户端来验证中继服务器的基本功能: 2. 用两个测试客户端测试中继功能 要测试完整的中继功能,你需要运行两个客户端实例来模拟…...
MCP 自定义python实现server服务,支持离线调用和远程接口访问形式
参考: https://blog.csdn.net/lingding_cn/article/details/147355620 其他百炼、mcp服务网址支持链接访问 server服务代码: 出行酒店查询 mcp server代码编写参考:https://blog.csdn.net/weixin_42357472/article/details/146503660 api_mcp_server.py import pickle im…...
搭建PCDN大节点,服务器该怎么配
搭建P2P大节点时,服务器要怎么配呢?需要综合考虑硬件性能、网络带宽、存储能力、系统架构以及安全性等多个方面,以确保节点能够高效、稳定地运行。 一、硬件配置 CPU:选择高性能的多核处理器,以满足高并发处理需求。核…...
JavaScript的3D库有哪些?
JavaScript的3D库有哪些? 在3D开发领域,JavaScript提供了多种库和框架,使开发者能够在浏览器中创建丰富的3D体验。以下是一些流行的3D方面的JavaScript库: Three.js:这是最著名的用于创建3D图形的JavaScript库之一。它…...
如何解决matlab/octave画图legend图例颜色一样的问题?
预期目的: 本意想用legend在画图的时候把对应线段的颜色对应起来,实际按照如下代码运行得不到预期的结果。 x [1:10;11:20]y1 x.^2;y2 0.5.*x.^3plot(x,y1,r,x,y2,b);legend(y x^2,y x^3) 代码运行结果如下: 原因 是matlab /octave默…...
[第十五章][15.3.2 shellcode注入攻击]ret2shellcode+[NewStarCTF 公开赛赛道]ret2shellcode
1、[NewStarCTF 公开赛赛道]ret2shellcode IDA 反编译看伪代码: buf mmap((void *)0x233000, 0x1000uLL, 7, 34, -1, 0LL); 这里直接给了 buf 7 的权限,即可读可写可执行,那么 shellcode 肯定写到 buf 里 buf 的映射地址:0x23…...
边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡
边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡 一、边缘计算深度解析 1.1 边缘计算的定义与架构 边缘计算(Edge Computing)是一种分布式计算范式,它将数据处理能力从传统的集中式云数据中心推向网络边缘,更…...
基于CATIA参数化球体建模的自动化插件开发实践——NX建模之球体命令的参考与移植
引言 在CATIA二次开发领域,Python因其灵活性和丰富的库支持逐渐成为高效工具开发的首选语言。本文将以笔者开发的CATIA球体自动化建模工具为例,参考NX软件中高效球体创建命令,深度解析基于PySide6 GUI框架与pycatia接口库的集成…...
ActiveMQ 可靠性保障:消息确认与重发机制(一)
引言 在当今分布式系统的架构中,消息中间件扮演着举足轻重的角色,而 ActiveMQ 作为一款广泛使用的开源消息中间件,凭借其对 JMS(Java Message Service)规范的支持、多种消息传输协议、丰富的消息模型(如点对…...
麒麟、UOS系统在线打开word文件并提取修订痕迹
麒麟、UOS系统在线打开word文件并提取修订痕迹 查看本示例演示效果(Windows版) 查看本示例演示效果(国产版)本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码 注意 本文中…...
Vue3笔记摘录
1.Vue3整体知识概览图 2.ref与reactive具体使用区别 2-1 基本类型处理 const count1 ref(0) 使用ref自动转化为数字类型const count2 reactive(0) 参数必须是对象类型 2-2 具体使用过程 // ref 处理对象(自动解包) const user ref({name: John,a…...
大力探索“AI·Life爱生活”项目峰会暨战略投资签约仪式成功举办
2025年4月26日,杭州西溪雷迪森大酒店内气氛热烈非凡,大力探索(杭州)科技有限公司主办的“大力探索项目峰会暨战略投资签约仪式”在此隆重开启。这场汇聚了数百位行业精英与企业代表的盛会,不仅是一场智慧的碰撞&#x…...
复刻低成本机械臂 SO-ARM100 材料齐活篇
视频讲解: 复刻低成本机械臂 SO-ARM100 材料齐活篇 打印件基本ok,总共12个,尴尬的是github又更新了so-101,不过看了下还好只是优化了走线和几个结构键,影响不大,大不了后面再重新打印(有3d打印机…...
解读 AI绘画工作流ComfyUI Stable Diffusion
ComfyUI 是什么?图像工作流又是什么? 认识ComfyUI 从名词术语来看: ComfyUI是一个基于节点流程的Stable Diffusion操作界面,通过自定义节点、拖拽连线实现精准的工作流定制,以完成更复杂的图像生成工作。 </...
北极星 新美团核销接口对接
美团吃相难看,东哥就应该干掉他 申请官方接口一般来说很难了 现在无非就是几种第三方开放出来的接口 按量收费,但是需要一次性充钱收首期的技术服务费 ,然后按年收费就是我们技术自己解决的方式,方便便宜 ,代码齐全,…...
理解数据库存储以及查询(集合)
理解数据库存储以及查询(集合) 基本概念定义 主键集合: 定义:主键集合是由数据库表中的主键组成的一个集合。主键是表中唯一标识每一行记录的属性(或属性组合)。 特性:主键集合包含表的主键属性…...
(Go Gin)Gin学习笔记(四)Gin的数据渲染和中间件的使用:数据渲染、返回JSON、浅.JSON()源码、中间件、Next()方法
1. 数据渲染 1.1 各种数据格式的响应 json、结构体、XML、YAML类似于java的properties、ProtoBuf 1.1.1 返回JSON package mainimport ("github.com/gin-gonic/gin""net/http" )func main() {r : gin.Default()r.POST("/demo", func(res *gi…...
机器视觉橡胶制品检测的应用
橡胶制品在生产过程中易出现划痕、气泡、缺料、毛边、杂质嵌入等多种缺陷,这些缺陷往往微小且随机分布,人工检测不仅耗时,漏检率也居高不下。尤其在汽车密封件、医疗硅胶制品等高端领域,微米级的缺陷都可能导致产品失效࿰…...
JavaScript:从JS的执行机制到location对象
一、JS执行机制 (1)JS是单线程 JavaScript语言的一大特点就是单线程,也就是同一时间只能做一件事。因为JavaScript是为了处理页面中的用户交互,以及制作DOM二诞生的。比如我们对某个DOM元素进行添加和删除操作,这个不…...
Sigmoid函数简介及其Python实现
文章目录 一、Sigmoid 函数简介1. 数学公式2. 关键特性3. 应用场景 二、Python 实现1. 使用 math 库 (适用于单个数值)2. 使用 numpy 库 (适用于数值、列表、数组、矩阵)3. 使用 scipy.special.expit (数值稳定) 三、小结 一、Sigmoid 函数简介 Sigmoid 函数(也称为…...
全局事件总线EventBus的用法
全局事件总线 EventBus 在前端开发中是一种用于实现组件间通信的机制,适用于兄弟组件或跨层级组件间的数据传递。 1. 创建全局 EventBus 实例 在前端项目中,先创建一个全局的 EventBus 实例。在 Vue 中,可以通过创建一个新的 Vue 实例来实现…...
嵌入式Linux系统中的线程信号处理:策略与实践
在嵌入式Linux系统的开发中,多线程编程是提升系统性能和响应速度的重要手段。然而,多线程环境下的信号处理却是一个复杂且需要细致处理的问题。信号,作为进程间通信的一种机制,在嵌入式系统中常用于处理外部事件或中断。但在多线程…...
CCM/TCM在STM32中的含义和用途
CCM/TCM在STM32中的含义和用途 CCM(Core Coupled Memory)和TCM(Tightly Coupled Memory)是ARM架构中的特殊内存类型,它们都表示与CPU核心紧密耦合的内存区域。这些内存具有一些特殊特性,使其在某些应用场景…...
【网络原理】 《TCP/IP 协议深度剖析:从网络基础到协议核心》
文章目录 一、网络基础1. 认识IP地址概念作用格式组成子网掩码 2、认识Mac地址一跳一跳的网络数据传输 3. 网络设备及相关技术集线器:转发所有端口交换机:MAC地址转换表转发对应端口主机:网络分层从上到下封装主机&路由器:ARP…...
Windows系统编译支持GPU的llama.cpp
Windows系统编译支持GPU的llama.cpp git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp mkdir build cd buildcmake .. -G "Visual Studio 17 2022" -DGGML_CUDAON -DCMAKE_BUILD_TYPERelease -DCMAKE_CUDA_ARCHITECTURES"86"cmake --b…...
Unity编辑器扩展之导出项目中所有预制体中文本组件文字内容
一、最后导出的Excel文件效果如下图所示: 二、在Unity的Editor目录下,新建一个名为FindChineseInPrefabs的C#脚本,Copy以下代码到你新建的名为FindChineseInPrefabs的C#脚本中去,最后一定要保存文件哈。 using UnityEditor; using UnityEngine; using UnityEngine.UI; usi…...
高效管理远程服务器Termius for Mac 保姆级教程
以下是 Termius for Mac 保姆级教程,涵盖安装配置、核心功能、实战案例及常见问题解决方案,助你高效管理远程服务器(如Vultr、AWS等)。 一、Termius 基础介绍 1. Termius 是什么? 跨平台SSH客户端:支持Ma…...
WPF框架中常用算法
WPF框架中常用算法与实现 一、排序算法 1. 快速排序 (Quick Sort) 应用场景:大数据集合排序、性能敏感场景 public static void QuickSort(IList<int> list, int left, int right) {if (left < right){int pivotIndex Partition(list, left, r…...
【Java函数式编程-58】Java函数式编程深度解析
函数式编程(Functional Programming)作为一种编程范式,近年来在Java生态中获得了越来越多的关注和应用。自Java 8引入Lambda表达式和Stream API以来,函数式编程风格在Java开发中逐渐普及。本文将深入探讨Java中函数式编程的核心概念、实践技巧以及在实际…...
解决vscode cmake提示检测到 #include 错误
一、问题 cmake已经包含了动态库文件,依然提示“检测到 #include 错误。请更新 includePath。” 二、解决方案 Ctrl Shift P进入CPP编辑配置,然后在JSON中加入下面一行: "configurationProvider": "ms-vscode.cmake-tools&…...
Microsoft .NET Framework 4.8 离线安装包 下载
简介Microsoft .NET Framework 4.8 是对 Microsoft .NET Framework 4、4.5、4.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1 和 4.7.2 的高度兼容的就地更新。 脱机程序包可用于因无法连接 Internet 而导致 Web 安装程序无法使用的情况。 此包比 Web 安装程序大,并且…...
部署若依项目到服务器遇到的问题
以下是本次部署遇到的问题及解决方法 1、问题:docker一直出现“> ERROR [internal] load metadata for docker.io/library/xxx“的问题 ERROR: failed to solve: openjdk:8-jdk-alpine: failed to resolve source metadata for docker.io/libran y/ope…...
Elasticsearch--自带“搜索引擎“的数据库
一、核心原理 1. 倒排索引(Inverted Index) 基本概念 将文档中的每个词条(term)映射到包含它的文档列表上,正如图书馆目录将关键词映射到书籍编号。工作流程 分词(Analysis):文本切…...
malloc的实现原理
malloc 是 C 语言中动态内存分配的核心函数,其实现原理涉及操作系统内存管理、数据结构和算法设计。以下是其核心实现原理的简化分析: 1. 内存池管理 基本思想:malloc 通过管理一个 内存池(堆)动态分配内存。操作系统…...
垃圾收集GC的基本理解
垃圾收集的基本理解 GC 的基本算法 标记清除 从根开始将可能被引用的对象用递归的方式进行标记(标记阶段),然后再从根开始将全部对象按顺序扫描一遍,将没有被标记的对象进行回收(清除阶段)。 大多数情况…...
JVM——Java的基本类型的实现
Java 基本类型在 JVM 中的实现 Java 作为一种广泛使用的编程语言,其在虚拟机(JVM)上的实现细节对于开发者来说至关重要。本文将详细讲解 Java 基本类型在 JVM 中的实现,去深入理解 Java 编程语言的底层工作机制。 Java 基本类型…...
临床回归分析及AI推理
在医疗保健决策越来越受数据驱动的时代,回归分析已成为临床医生和研究人员最强大的工具之一。无论是预测结果、调整混杂因素、建模生存时间还是理解诊断性能,回归模型都为将原始数据转化为临床洞察提供了统计学基础。 AI推理 然而,随着技术…...
Ubuntu 22.04 的 ROS 2 和 Carla 设置指南(其一)
重点介绍适用于 Ubuntu 22.04 的全面 ROS 2 和 Carla 设置指南。我们将首先安装 Terminator 终端,然后安装 ROS 2 依赖项,然后继续安装 ROS 2 Humble。接下来,我们将介绍如何在 Ubuntu 22.04 上安装 Carla,最后通过设置 Carla ROS…...
声明:个人从未主动把文章设置为仅vip可读
之前一直在公司忙就没看csdn这边,前几天朋友看到我的博客是仅vip可读我才发现这个 给我气笑了。。。不反馈默认同意。。。。 现在都已经改回来 写文章的初衷就是记录一下自己的学习过程,本来就是一些偏基础类的东西,还需要去买vip才能看就太…...
【大模型系列篇】Qwen3开源全新一代大语言模型来了,深入思考,更快行动
Qwen3开源模型全览 Qwen3是全球最强开源模型(MoEDense) Qwen3 采用混合专家(MoE)架构,总参数量 235B,激活仅需 22B。 Qwen3 预训练数据量达 36T,并在后训练阶段多轮强化学习,将非思…...
DeepSeek-Prover-V2-671B 简介、下载、体验、微调、数据集:专为数学定理自动证明设计的超大垂直领域语言模型(在线体验地址)
DeepSeek-Prover-V2-671B 最新发布:专为数学定理自动证明设计的超大语言模型 体验地址:Hugging Face 在线体验 推荐入口:Novita 平台直达链接(含邀请码) 一、模型简介 DeepSeek-Prover-V2-671B 是 DeepSeek 团队于 2…...
Gupta-Sproull 抗据此画线算法
本文源自于:从https://www.inf.ed.ac.uk/teaching/courses/cg/lectures/cg4_2012.pdf Gupta-Sproull是在Brensenham的画线算法基础上得到。 为了防止之前的链接失效,特地搬运一下...
idea写spark程序
使用IntelliJ IDEA编写Spark程序的完整指南 一、环境准备 安装必要软件 IntelliJ IDEA (推荐Ultimate版,Community版也可) JDK 8或11 Scala插件(在IDEA中安装) Spark最新版本(本地开发可以用embedded模式) 创建项目 打开IDEA → New Project 选择"Maven…...
视觉问答论文解析:《Skywork R1V2: Multimodal Hybrid Reinforcement Learning for Reasoning》
《Skywork R1V2: Multimodal Hybrid Reinforcement Learning for Reasoning》论文解析 一、研究背景与动机 近年来,“慢思考”多模态模型(如 OpenAI-o1、GeminiThinking、Kimi-1.5 和 Skywork-R1V)在数学和科学领域的复杂推理任务中取得了显…...
修改linux账号名
修改linux账号名 结论是步骤1.临时创建一个辅助账户执行操作2.注销当前账户,登录 tempadmin 用户。3.使用它修改 旧用户名olduser:4.(可选)删除临时用户: 结论是 不可以直接修改,要么需要创建一个临时用户来打辅助. …...