azreallem - azreallem
type: channel
link: http://blog.azreallem.top/index.php/author/1/
description: azreallem
items: SSD Erase, Write & Read
items: SSD NAND Spec Notes
items: SSD 基础概念
items: ROS2 的基础概念
items: ROS2 hello-world
items: 计算机网络
items: 关系数据库理论的基础知识
items: 基于欧几里得距离的相似度计算和基于余弦角度的相似度计算
items: 标准差和方差的基本概念
items: GPU内存模型

SSD Erase, Write & Read
type: item
date: 2025-07-16T16:54:00+08:00
description: PROGRAM PAGE (80h-10h) 命令详解PROGRAM PAGE (80h-10h) 命令允许主机将数据输入到缓存寄存器，并将数据从缓存寄存器传输至指定的块（Block）和页（Page）地址 LUN的闪存阵列中。执行条件：仅当LUN处于就绪状态（RDY=1, ARDY=1）时，该命令才会被接受。TLC编程要求：必须严格遵循下页（Lower Page）→上页（Upper Page）→ 额外页（eXtra Page）的顺序进行编程：发送 PROGRAM PAGE (80h-10h) 输入下页数据 → 等待 tPBSY发送 PROGRAM PAGE (80h-10h) 输入上页数据 → 等待 tPBSY发送 PROGRAM PAGE (80h-10h) 输入额外页数据 → 等待 tPROGPROGRAM PAGE (80h-10h)PROGRAM PAGE MULTI-PLANE (80h-11h)PROGRAM PAGE CACHE (80h-15h)[80h-11h] → [地址/数据输入] → [80h-15h] → [数据输入] → [10h确认] READ PAGE(00h-30h) 命令详解​从NAND闪存阵列中读取​​单页数据​​至缓存寄存器，并​​启用该缓存寄存器的数据输出​​。执行条件：LUN 需处于就绪状态（RDY=1, ARDY=1）。To read a page from the NAND Flash array, issue 00h to the command register, then write the required address cycles to the address register, and conclude with 30h command. The selected die (LUN) will go busy (RDY = 0, ARDY = 0) for tR as data is transferred.可以看到分析仪上READ PAGE的信号是：00h → [6地址周期] → 30hErase Operations擦除操作是NAND闪存管理的关键环节，用于将指定块（Block）的所有存储单元重置为"1"状态，为后续编程操作做准备。擦除操作以块为最小单位执行，无法单独擦除单个页（Page）。单块擦除操作（ERASE BLOCK 60h-D0h）​可以看到分析仪上ERASE BLOCK的信号是：60h → [4地址周期] → D0hERASE BLOCK (60h-D0h)：60h:此时cle拉高，发送60h命令；00h，00h，02h，00h：接着cle拉低，ale拉高，发送4个 address (00，00，02，00)；D0h:此时cle拉高，发送D0命令，从 60h 到 D0h 表示单块擦除操作；在这个过程中，CE处于拉低的状态；多平面擦除操作（ERASE BLOCK MULTI-PLANE 60h-D1h）​[60h-D1h] → [平面A地址] → [60h-D1h] → [平面B地址] → 60h-D0h

SSD NAND Spec Notes
type: item
date: 2025-07-08T16:18:14+08:00
description: 04_20210916_b47r_fortis_512gb_nand_datasheet_Ver.L.pdfGeneral DescriptionI/Os transfer commands, address, and data: DQxfive control signals: CE#, CLE, ALE, WE#, and RE#.control hardware write protection: WP#monitor device status: R/B#bidirectional data strobe: DQSSignalTypeDescriptionALEInputAddress latch enable: Loads an address from DQx into the address register.CE#InputChip enable: Enables or disables one or more die (LUNs) in a target.CLEInputCommand latch enable: Loads a command from DQx into the command register.DQxI/OData inputs/outputs: The bidirectional I/Os transfer address, data, and command information.DQS, DQS_tI/OData strobe: Provides a synchronous reference for data input and output.DQS_cI/OData strobe complement: Provides a complementary signal to the data strobe signal optionally used for reference for data input and output.RE#, RE_tInputRead enable: RE# transfers serial data from the NAND Flash to the host system.RE_cInputRead enable complement: Provides a complementary signal to the read enable signal optionally used for reference for data output.WE#InputWrite enable: WE# transfers commands, addresses.WP#InputWrite protect: Enables or disables array PROGRAM and ERASE operations.R/B#OutputReady/busy: An open-drain, active-low output that requires an external pull-up resistor. This signal indicates target array activity.VccSupplyVcc: Core power supplyVccqSupplyVccq: I/O power supplyVppSupplyVpp: The VPP signal is an optional external high voltage power supply to the device. This high voltage power supply may be used to enhance operations (for example, improved power efficiency). If VPP will not be utilized by a host system, that VPP signal location is then defined as a DNU signal location.VssSupplyVss: Core ground connectionVssqSupplyVssq: I/O ground connectionVrefqSupplyVrefq: Reference voltageZQ-Reference pin for ZQ calibration: This is used on ZQ calibration. The ZQ signal shall be connected to Vss through RZQ resistor.NC-No connect: NCs are not …

SSD 基础概念
type: item
date: 2025-06-20T11:00:00+08:00
description: SSD 基本工作原理SSD 硬件组成部分SSD（Soild State Drive） 的硬件包括几大部分：主控、闪存、缓存芯片DRAM、PCB、接口。SSD 主要有三大功能模块组成前端接口和相关的协议模块；中间的FTL（Flash Translation Layer）模块；后端和闪存通信模块；SSD前端负责和主机直接通信，接受主机发送来的命令和数据，命令经SSD处理后（FTL模块），最终交由前端将命令状态或数据返回给主机。SSD的写和读操作主机通过接口发送写命令给SSD，SSD接收到命令后执行，并接受主机将要写入的数据。数据一般会先缓存在SSD内部的RAM中，FTL为每个逻辑数据块分配一个闪存地址，当数据凑到一定数量后，FTL（FTL主要完成逻辑数据到闪存空间的映射）发送写入闪存请求给后端，后端根据写请求，把缓存里的数据写到对应的NAND内存空间。当主机发来读命令时，SSD能根据需要读取的逻辑数据块查找映射表（逻辑地址到物理地址转换的映射表），获取这些逻辑数据在闪存空间的位置，后端便能从闪存上把对应数据读到SSD内部缓存空间，然后前端负责把这些数据返回给主机。SSD 指标工作温度范围： 0~70℃，非工作温度范围：-50~90℃性能指标：IOPS（读写性能）、吞吐量（顺序读写）、响应时间/延时Endurance：(for example: 200GB SSD)10 DWPD（Drive Writes Per Day）for 5 yearsTBW（Terabytes Written）: 10 * 200 GB * 365 * 5 ≈ 3600 TB数据可靠性：​​UBER​​：Uncorrectable Bit Error Rate，不可修复的错误比特率，在闪存应用中，指已经经过纠错码纠错，但仍无法纠正所有错误，与预期数据相较下的纠码失败率。​​RBER​​：Raw Bit Error Rate，原始的错误比特率，从闪存内读出，尚未经过纠错码纠错，与预期数据相较下的误码率。MTBF​​：Mean Time Between Failure，平均无故障工作时间，是衡量一个的可靠性指标。功耗：Max active、Active、Idle、Standby、Sleep、DevSleep最大功耗与发热控制：SSD 最大功耗是 ASIC 主控 和 闪存模块。当SSD温度传感器侦测到温度达到阈值，如70℃时，固件会启动降温算法模块，限制闪存后端并发写的个数。当温度下降到阈值70℃以下后，SSD固件会重新恢复到正常的后端写并发个数。SSD系统兼容性：BIOS和OS的兼容性（从测试角度）OS、CPU、BIOS、应用程序电信号和硬件兼容性容错处理在主机端发生错误的条件下，SSD即使不能正常和主机交互数据，也至少要保证不变砖。从设计角度考虑加入容错模块、加大系统兼容性测试的覆盖面，这些都是提高SSD系统兼容性的手段和方法。BIOS 和 SSD 交互SSD 上电加载后，主机 BIOS 开始自检，主机中的 BIOS 作为第一层软件和 SSD 进行交互的步骤如下：和SSD发生连接，SATA 和 PCIe 走不同的底层链路连接，协商（negotiate）到正确的速度上，自此主机端和 SSD 连接成功；发出识别 SSD 的命令（如 SATA Identify）来读取 SSD 的基本信息，基本信息包括产品型号（part number）、FW 版本号、产品版本号等，BIOS 会验证信息的格式和数据的正确性；读取 SSD 的其他信息，如 SMART（Self-Monitoring, Analysis, and Reporting Technology），直到 BIOS 找到硬盘上的主引导记录 MBR（Master Boot Record），加载 MBR；MBR 开始读取硬盘分区表 DPT（Disk Partition Table），找到活动分区中的分区引导记录 PBR （Partition Boot Record），并且把控制权交给PBR；SSD 通过数据读写功能来完成 OS 加载。SSD Driver 关键技术ID管理纠错算法逻辑物理映射磨损平衡（wear-Leveling）垃圾回收（Garbage Collection）缓存策略掉段保护（Sudden Power Off Recovery, SPOR）NAND 体系架构Cache Registers: 供资料暂存或测试程式用，其读取跟写入速度都很快，断电后资料会遗失。Data Registers: 用來暂存要放到page或从page取出的資料。​​NAND 闪存接口（如 ALE/CLE）​​：NAND 闪存的接口是​​并行总线​​（如 8 位 I/O），用于控制闪存芯片的操作（读/写/擦除）。​​ALE（Addre…

ROS2 的基础概念
type: item
date: 2025-04-07T21:01:00+08:00
description: ROS2 的基础概念ROS是什么？ROS： Robot Operating SystemROS本质上其实就是用于快速搭建机器人的软件库(核心是通信)和工具集。追求的是：稳定、安全和实时的通信能力！ROS2 系统架构可分为5层：操作系统层、DDS实现层、DDS接口层、ROS2客户端层、应用层。操作系统层：为 ROS2 提供了硬件驱动。DDS实现层：数据分布服务（Data Distribution Service），DDS基于实时发布订阅协议（Real-time Publish-Subscribe, RTPS）来实现数据分布。DDS接口层：定义了RMW（ROS Middleware Interface， ROS中间件接口），再由不同DDS进行实现，为ROS2客户端层提供统一的调用接口。ROS2客户端层：提供了ROS2客户端库（ROS2 Client Library，RCL），使用这些库提供的不同接口，可以完成对ROS2可信功能的调用，如话题、服务、参数和动作。应用层：所有基于RCL开发的程序都属于应用层。rclpy 是 ROS 2 中用于 Python 编程的客户端库，它是 ROS Client Library for Python 的缩写，提供了与 ROS 2 系统交互的功能，包括创建节点、发布和订阅消息、调用和提供服务等。rosidl 是 ROS Interface Definition Language 的缩写，是 ROS 2 中用于定义和生成消息（msg）、服务（srv）和动作（action）接口的工具和格式。ROS2 四大核心通信机制话题（Topic）、服务（Service）、参数（Parameter）、动作（Action）话题通信：是指一种发布——订阅通信模式，即发布者将消息发布（Publish）到某个话题上，订阅者订阅（Subscribe）话题即可获取消息，数据是单向传输的。服务通信：服务通信是双向的，可以分为服务端和客户端，客户端发送请求（Request）到服务端，服务端处理并回复结果（Response）。参数通信：用于机器人的参数（Parameter）设定和读取。动作通信：与服务通信相似，但是服务端可以反馈处理进度并可以随时取消，通常用于复杂的机器人行为。

ROS2 hello-world
type: item
date: 2025-04-07T18:02:00+08:00
description: webshttps://docs.ros.org/https://fishros.com/d2lros2/hello-worldROS2 INSTALLsource /opt/ros/rolling/setup.zshExample 1:ros2 run demo_nodes_py listenerros2 run demo_nodes_cpp talkerExample 2:ros2 run turtlesim turtlesim_noderos2 run turtlesim turtle_teleop_keyrqtsome questionshttps://raw.githubusercontent.com ping不通。sudo sed -i 's/^#DNS=/DNS=8.8.8.8 1.1.1.1/' /etc/systemd/resolved.conf sudo systemctl restart systemd-resolved echo "185.199.108.133 raw.githubusercontent.com" | sudo tee -a /etc/hosts curl -v https://raw.githubusercontent.com

计算机网络
type: item
date: 2025-01-17T14:50:00+08:00
description: 计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的，两者需要进行通信，必须要在一定的标准上进行。1. 网络层次划分为了使不同计算机厂家生产的计算机能够相互通信，以便在更大的范围内建立计算机网络，国际标准化组织（ISO）在1978年提出了"开放系统互联参考模型"，即著名的OSI/RM模型（Open System Interconnection/Reference Model）。它将计算机网络体系结构的通信协议划分为七层，自下而上依次为：物理层（Physics Layer）、数据链路层（Data Link Layer）、网络层（Network Layer）、传输层（Transport Layer）、会话层（Session Layer）、表示层（Presentation Layer）、应用层（Application Layer）。其中第四层完成数据传送服务，上面三层面向用户。除了标准的OSI七层模型以外，常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议，它们之间的对应关系如下图所示：2. OSI七层网络模型TCP/IP协议毫无疑问是互联网的基础协议，没有它就根本不可能上网，任何和互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是TCP/IP的四层、五层模型，每一层中都要自己的专属协议，完成自己相应的工作以及与上下层级之间进行沟通。由于OSI七层模型为网络的标准层次划分，所以我们以OSI七层模型为例从下向上进行一一介绍。1）物理层（Physical Layer）激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说，物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称，中继器（Repeater，也叫放大器）和集线器。2）数据链路层（Data Link Layer）数据链路层在物理层提供的服务的基础上向网络层提供服务，其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的，数据链路必须具备一系列相应的功能，主要有：如何将数据组合成数据块，在数据链路层中称这种数据块为帧（frame），帧是数据链路层的传送单位；如何控制帧在物理信道上的传输，包括如何处理传输差错，如何调节发送速率以使与接收方相匹配；以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括：物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。有关数据链路层的重要知识点：1> 数据链路层为网络层提供可靠的数据传输； 2> 基本数据单位为帧； 3> 主要的协议：以太网协议； 3> TSN协议：扩展了以太网协议，使其具备高精度的时间同步、低延迟的可靠数据传输能力、流量控制等，IEEE 802.1AS(gPTP), IEEE 802.1Qav(CBS), IEEE 802.1Qbv(TAS) 4> 两个重要设备名称：网桥和交换机。3）网络层（Network Layer）网络层的目的是实现两个端系统之间的数据透明传送，具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层，那就是"路径选择、路由及逻辑寻址"。网络层中涉及众多的协议，其中包括最重要的协议，也是TCP/IP的核心协议——IP协议。IP协议非常简单，仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有：无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结，有关网络层的重点为： 1> 网络层负责对子网间的数据包进行路由选择、转发。此外，网络层还可以实现拥塞控制、网际互连等功能； 2> 基本数据单位为IP数据报； 3> 包含的主要协议： IP协议（Internet Protocol，因特网互联协议）; ICMP协议（Internet Control Message Protocol，因特网控制报文协议）; ARP协议（Address Resolution Protocol，地址解析协议）; RARP协议（Reverse Address Resolution Protocol，逆地址解析协议）。 4> 重要的设备：路由器。1. IP协议（Internet Protocol，因特网互联协议）主要作用：IP 协议是网络层协议，用于在计算机网络中进行…

关系数据库理论的基础知识
type: item
date: 2025-01-16T10:33:00+08:00
description: 关系数据库理论的基础知识一、数据库、数据库技术、数据库系统、数据库管理系统的概念；数据库系统的体系结构二、数据模型与数据视图三、关系代数、关系演算及关系模型四、结构化查询语言 SQL五、数据库的完整性与安全性，事务管理、并发控制、故障恢复，数据库的备份与恢复六、数据库的设计，数据依赖的概念及关系模式的规范化理论七、数据库应用开发工具，常见数据库系统产品的名称、特点，Microsoft SQL Server 数据库的使用一、数据库基础概念数据库（Database） 数据库是一个有组织的、可以长期存储和管理的相关数据集合。数据以一定的结构存储，支持数据的插入、查询、更新和删除等操作。数据库技术（Database Technology） 数据库技术是指用于组织、管理和操作数据库的方法和工具，包括数据库设计、存储管理、数据处理、查询优化等。数据库系统（Database System, DBS） 数据库系统由数据库、数据库管理系统（DBMS）、硬件、软件及用户组成。它是支持数据存储、管理和访问的完整系统。数据库管理系统（Database Management System, DBMS） 数据库管理系统是用于创建、管理和操作数据库的软件。例如：MySQL、Oracle、Microsoft SQL Server 等。数据库系统的体系结构数据库系统通常采用 三层体系结构：外部模式（用户视图） 定义用户如何查看和使用数据库。概念模式（逻辑视图） 定义数据库的逻辑结构，独立于具体的存储方式。内部模式（物理视图） 定义数据在存储设备上的物理组织。二、数据模型与数据视图数据模型 数据模型是数据组织和描述的方式，主要包括：层次模型：用树形结构组织数据。网状模型：用图结构组织数据。关系模型：用二维表表示数据。面向对象模型：结合对象和数据库技术。数据视图 数据视图是用户或应用程序与数据库交互的接口，提供数据的部分或特定视角。三、关系代数、关系演算及关系模型关系模型 数据以表格形式表示，每张表称为一个关系。表由行（元组）和列（属性）组成。关系代数 提供操作关系的基本方法，包括：集合操作：并、交、差。专用操作：选择、投影、连接、分组等。关系演算 描述查询条件的逻辑公式，有两种形式：元组关系演算。域关系演算。四、结构化查询语言 SQLSQL 的组成数据定义语言（DDL）：创建和修改数据库对象，如 CREATE、ALTER、DROP。数据操作语言（DML）：插入、更新、删除数据，如 INSERT、UPDATE、DELETE。数据查询语言（DQL）：查询数据，如 SELECT。数据控制语言（DCL）：控制权限，如 GRANT、REVOKE。SQL 的特点易于学习和使用。独立于具体的 DBMS。支持复杂查询和事务处理。五、数据库的完整性与安全性完整性 确保数据库数据的准确性和一致性：实体完整性：主键不能为 NULL 或重复。参照完整性：外键引用必须合法。用户定义完整性：自定义约束，如 CHECK。安全性 保护数据不被未授权访问或篡改：认证：通过用户名和密码验证用户身份。授权：定义用户对数据库的操作权限。加密：保护敏感数据。事务管理、并发控制与故障恢复事务管理：事务是操作的逻辑单元，具有 ACID 特性（原子性、一致性、隔离性、持久性）。并发控制：使用锁机制、防止数据不一致。故障恢复：通过日志和备份恢复数据。数据库的备份与恢复备份：定期保存数据库的副本。恢复：使用备份和日志重建数据库。六、数据库设计数据库设计步骤需求分析。概念设计（如 E-R 图）。逻辑设计（如关系模式）。物理设计（如索引、存储分区）。数据依赖与规范化理论数据依赖：描述属性之间的逻辑关系。函数依赖、部分依赖、传递依赖等。规范化：消除冗余，分为 1NF、2NF、3NF、BCNF 等。七、数据库应用开发工具与常见数据库系统常见数据库系统MySQL：开源、轻量、高效。Oracle：高性能，支持复杂业务。Microsoft SQL Server：强大的集成和数据分析能力。PostgreSQL：支持高级功能和扩展性。MongoDB：NoSQL，适合非关系型数据。数据库应用开发工具图形化管理工具：MySQL Workbench。phpMyAdmin。编程语言接口：Python：pymysql、sqlalchemy。Java：JDBC。Microsoft SQL Server 使用提供强大的 T-SQL 语言支持。集成开发工具：SQL Server Management Studio（SSMS）。normalhttps://www.runoob.com/sql/sql-having.htmlselect - 从数据库中提取数据update - 更新数据库中的数据delete - 从数据库中删除数据insert int…

基于欧几里得距离的相似度计算和基于余弦角度的相似度计算
type: item
date: 2024-12-20T22:01:00+08:00
description: 基于欧几里得距离的相似度计算欧几里得距离是指在多维空间中两个点之间的直线距离。在相似度计算中，欧几里得距离可以用来衡量两个向量之间的差异。具体来说，如果我们有两个向量A和B，它们在n维空间中的坐标分别为(a1, a2,..., an)和(b1, b2,..., bn)，那么它们之间的欧几里得距离可以通过以下公式计算：$d(A, B) = \sqrt{\sum_{i=1}^{n} (a_i - b_i)^2}$欧几里得距离越小，说明两个向量越接近，即它们的相似度越高。在实际应用中，欧几里得距离常用于各种机器学习算法中，如K近邻算法（KNN）、聚类算法（如K-Means）等，以及在推荐系统中计算用户或项目之间的相似度。基于余弦角度的相似度计算余弦相似度是通过计算两个向量之间的夹角余弦值来衡量它们的相似性。具体公式为：$\cos(A, B) = \frac{A \cdot B}{\|A\| \|B\|}$其中，A·B是向量A和B的点积，||A||和||B||分别是向量A和B的欧几里得范数（即向量的长度）。余弦相似度的值范围从-1到1，其中1表示两个向量方向完全相同，0表示正交（即无相似性），-1表示两个向量方向完全相反。余弦相似度适用于文本分析和推荐系统等场景，因为它关注的是方向而不是大小，常用于评估文档或用户偏好的相似性。两种方法的比较欧几里得相似度：以目标之间的绝对距离作为衡量标准，注重目标之间的差异，与目标在空间中的位置直接相关。适用于需要关注目标之间具体差异的情况。余弦相似度：以目标之间的夹角大小作为衡量标准，更注重目标在方向趋势上的区分，对特定坐标不敏感。适用于需要关注目标整体趋势和方向的情况。在实际应用中，选择哪种方法取决于具体的应用场景和数据特点。例如，在处理文本数据时，余弦相似度可能更合适，因为文本的长度和规模可能不同，但方向上的相似性更有意义。而在处理地理坐标或物理距离等场景时，欧几里得距离可能更直观和适用。

标准差和方差的基本概念
type: item
date: 2024-12-19T22:03:00+08:00
description: 标准差和方差的定义标准差（Standard Deviation）和方差（Variance）是统计学中用来衡量一组数据离散程度的重要指标。方差是各个数据与其算术平均数的离差平方和的平均数，而标准差是方差的算术平方根。标准差和方差的计算公式总体标准差和方差：总体方差（Population Variance）的计算公式为： $\sigma^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2$ 其中，$\sigma^2$ 是总体方差，$N$ 是数据的总数，$x_i$ 是第 $i$ 个数据点，$\mu$ 是数据的平均值。总体标准差（Population Standard Deviation）的计算公式为： $\sigma = \sqrt{\frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2}$ 其中，$\sigma$ 是总体标准差。样本标准差和方差：样本方差（Sample Variance）的计算公式为： $s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2$ 其中，$s^2$ 是样本方差，$n$ 是样本数据的总数，$x_i$ 是第 $i$ 个样本数据点，$\bar{x}$ 是样本数据的平均值。样本标准差（Sample Standard Deviation）的计算公式为： $s = \sqrt{\frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2}$ 其中，$s$ 是样本标准差。计算步骤计算平均值：首先，计算数据集的平均值。对于总体数据，平均值为 $\mu$ ；对于样本数据，平均值为 $\bar{x}$ 。计算离差平方和：对于每个数据点，计算其与平均值的差，并将差平方。计算方差：将所有离差平方和相加，并除以数据点的总数（对于总体方差）或总数减1（对于样本方差）。计算标准差：对方差取算术平方根，得到标准差。示例假设有一组数据：$3, 5, 7, 9, 11$ 。计算平均值： $\bar{x} = \frac{3+5+7+9+11}{5} = 7$计算离差平方和： $(3-7)^2 + (5-7)^2 + (7-7)^2 + (9-7)^2 + (11-7)^2 = 16 + 4 + 0 + 4 + 16 = 40$计算方差： $s^2 = \frac{40}{5-1} = 10$计算标准差： $s = \sqrt{10} \approx 3.16$注意事项在计算样本方差和标准差时，使用 $n-1$ 作为除数，这是因为样本数据的自由度为 $n-1$ ，使用 $n-1$ 可以得到总体方差的无偏估计量。标准差和方差的计算可以使用统计软件或计算器来完成，以减少计算错误的可能性。import numpy as np mydata = [200, 165, 184.5, 116, 270] print(np.std(mydata)) print(np.var(mydata))总体标准差和样本标准差有什么区别？总体标准差和样本标准差是统计学中用于衡量数据离散程度的两个重要指标，它们在计算方法和应用场景上有所不同。计算方法总体标准差：当我们能够获取总体中的所有数据时，总体标准差的计算公式为： $\sigma = \sqrt{\frac{\sum_{i=1}^{N}(x_i - \mu)^2}{N}}$ 其中，$\sigma$ 是总体标准差，$x_i$ 是总体中的每个数据点，$\mu$ 是总体的均值，$N$ 是总体的数据个数。样本标准差：在实际应用中，我们往往只能获取总体的一个样本，样本标准差的计算公式为： $s = \sqrt{\frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n-1}}$ 其中，$s$ 是样本标准差，$x_i$ 是样本中的每个数据点，$\bar{x}$ 是样本的均值，$n$ 是样本的数据个数。应用场景总体标准差：适用于总体数据已知的情况，例如在对一个班级的所有学生成绩进行分析时，如果能够获取到所有学生的成绩，就可以计算总体标准差来衡量成绩的离散程度。样本标准差：适用于总体数据未知，需要通过抽样来估计总体情况的场景。例如，要了解一个大型城市居民的收入水平，由于无法获取所有居民的收入数据，只能抽取一部分居民作为样本，计算样本标准差来估计总体居民收入的离散程度。区别总结计算方法：总体标准差在计算时使用总体均值和总体数据个数 $N$ 作为分母。样本标准差在计算时使用样本均值和样本数据个数减1（即 $n-1$ ）作为分母。应用场景：总体标准差用于描述总体数据的离散程度。样本标准差用于通过样本数据来估计总体数据的离散程度。在实际应用中，样本标准差更为常用，因为在大…

GPU内存模型
type: item
date: 2023-10-29T11:51:00+08:00
description: CUDA-F-4-1-内存模型概述CUDA GPU上的内存设备有：寄存器 (Registers)共享内存 (Shared Memory)本地内存 (Local Memory)常量内存 (Constant Memory)纹理内存 (Texture Memory)全局内存 (Global Memory)OpenCL的内存模型：Global MemoryConstant MemoryLocal MemoryPrivate MemoryCUDA中每个线程都有自己的私有的本地内存；线程块有自己的共享内存，对线程块内所有线程可见；所有线程都能访问读取常量内存和纹理内存，但是不能写，因为他们是只读的；全局内存，常量内存和纹理内存空间有不同的用途。对于一个应用来说，全局内存，常量内存和纹理内存有相同的生命周期。存储器片上/片外缓存存取范围生命周期寄存器片上n/aR/W一个线程线程本地片外1.0以上有R/W一个线程线程共享片上n/aR/W块内所有线程块常量片外YesR所有线程+主机主机配置纹理片外YesR所有线程+主机主机配置全局片外1.0以上有R/W所有线程+主机主机配置