DDR5和DDR4之区别(The Difference between DDR5 and DDR4)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
DDR是什么意思? DDR5和DDR4的区别是什么?
内存(DRAM-Random Access Memory)作为当代数字系统最主要的核心部件之一,从各种终端设备到核心层数据处理 和存储设备,从各种消费类电子设备到社会各行业专用设备,是各种级别的 CPU 进行数据处理运算和缓存的不可或缺的周转“仓库”,一个强大的核心处理单元也必须配备一个高速运转的宽通路的数据访问和存储单元。近 20 多年来,DRAM也快速地从 20 世纪末期的 SDRAM 发展到 21 世纪 DDR RAM。在 21 世纪的前10 年,DDR标准主要是个人信息处理终端的代表设备----PC 和个人工作站类驱动,快速从 DDR1 演进到 DDR3。而近 10 年来,进入移动互联时代后海量数据爆发,AI 和深度学习以及 5G驱动,在个人信息终端上基本可以胜任的 DDR4标准,明显显得力不从心。今天 DDR5正在昂首阔步地配合以 PCIE5.0 32Gbps 为代表的第5代高速 I/O 数据传输走向最终的市场化。
一. DDR标准发展和DDR5简介
下图展示的是内存 RAM 20多年来的发展和信号特点以及设计演进。
图 1 DDR标准发展和信号特点演进
一些DDR基本概念
DDR是什么意思?
DDR的全拼是Double Data Rate SDRAM双倍数据速率同步动态随机存取内存, 主要用在电脑的内存。DDR的特点就是走线数量多,速度快,操作复杂,给测试和分析带来了很大的挑战。
目前DDR技术已经发展到了DDR5,性能更高,功耗更低,存储密度更高,芯片容量大幅提升,他的数据速率在3200-6400MT/s。
DDR本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟的上升沿和下降沿读出数据,因而其速度是标准SDRAM的两倍,至于地址与控制信号则与传统SDRAM相同,仍在时钟上升沿进行数据判断。
DDR核心技术点就在于双沿传输和预取Prefetch.
DDR的频率包括核心频率,时钟频率和数据传输频率。核心频率就是内存的工作频率;DDR1内存的核心频率是和时钟频率相同的,到了DDR2和DDR3时才有了时钟频率的概念,就是将核心频率通过倍频技术得到的一个频率。数据传输频率就是传输数据的频率。
请扫描二维码, 下载是德科技应用文章:
DDR存储器概述、开发周期和挑战
“由于改进的制造工艺降低了成本,现在选择的技术是 DDR SDRAM,是双倍数据速率同步动态随机存取存储器的缩写。”
计算机组成
计算机組成结构 (Computer Architecture)是计算机系統的核心,它定义了计算机的基本工作原理和设计模式。计算机的组成可以分成以下3大类:中央处理器(CPU)、存储器和输入/输出子系统。
中央处理器 (CPU)
CPU用于数据的运算,在大部分的体系结合中,它有3个组成部分:算数运算单元 (ALU)、控制单元、奇存器组。
-
控制单元 (Control Unit):负责指挥整个计算机系统的操作,解释并执行指令,控制其他硬件的工作。
-
算术逻辑单元 (ALU):执行所有算术运算(如加减乘除)和逻辑运算(如与、或、非等),是计算机执行指令的核心部分。
-
寄存器 (Registers):这是CPU中用于存储数据的高速行储器,用来临时存放指令、数据和操作结果。
半导体存储器
随着科技的发展,半导体存储器成为了现代计算机存储器的主流,分为两类主要类型:
静态随机存储器 (SRAM):SRAN利用晶体管存储数据,速度非常快,但每个比特需要更多的晶体管,导致成本高,密度低。主要应用在需要高速绥存的场景,如CPU的缓存 (L1、 L2、 L3)
动态随机存储器 (DRAM):DRAM利用电容存储数据,电容逐渐放电,因此需要不断刷新来维持数据存储。相对于SRAM,DRAM的存储密度更高,成本较低,因此广泛用于主内存 (RAM)。随看集成电路制造技术的进步,DRAN容量和性能持续提升。
现代内存技术
DDR(双倍数据速率)内存:从DDR到如今的DDR5,随看数据传输速度和功耗的改进,DDR系列内存成为计算机和服务器的主流内存。DDR技术从2000年开始引入,持续更新,DDR5的带完和容量比早期版本有了大幅提升。
闪存 (Flash Memory):闪存 (Flash Memory)是一种长寿命的非易失性的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位。闪存是电子可擦除只读存储器(EEPROM) 的变种,闪存与EEPROM不同的是,EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的B1OS(基本程序)、PDA(个人数字助理)、数码相机中保存资料等。
LPDDR(低功耗DDR):随看移动设备的普及,低功耗内存技术成为了关键,LPDDR(低功耗双倍数据速率)内存在手机、平板等设备上应用广泛,从LPDDR1发展到LPDDR5,强调功耗和性能之间的平衡。
HBM (High Bandwidth Memory,高带亮内存): HBM是一种高性能DRAM,具有更高的带完和更低的功耗,主要用于图形处理器(GPU) 和高性能计算 (HPC)领域。HBM通过垂直堆愛的方式来提升存储密度和传输速度,减少了延迟和能耗。
DDR内存原理
基本DDR subsystem架构图:DDRC +DDRphy +SDRAM颗粒,DDR IP一般包括DDR Controller和DDR PHY,内部涉及的内容包括但不限于以下几个方面:数据保序、仲裁、最优调度、协议状态机设计、防饿死机制、bypass通路、快速切频、DDR training。
基本DDR subsystem架构图
DDR工作原理
当时钟脉冲达到一定频率时,DDR存储器才开始工作,此后发生的就是“读-存-读”的过程。在此过程中,器件芯片会从主在取数据,然后与入数据在储区。当写入操作完成后,再从存储区中取出数据,並将其传输到处理器中,然后根据需要将数据处理,再把最终结果返回到主存。
DDR 的双倍数据传输率其实就是每个时钟周期内读写一次数据,即DDR芯片可以在每个时钟周期内分别完成“读-存”和“存-读”操作,从而提高存储器的传输效率。
DDR内存通过双倍数据速率的传输方式,结合多通道传输和数据校验等技术,提高了数据传输效率和可靠性。这使得 DDR 成为了计算机内存的主流技术。
内存芯片 - DDR内存模块中包含多个内存芯片,每个芯片有自己的存储单元。每个存储单元都有一个地址,用于在读取或写入数据时进行寻址。
数据总线 - DDR内存模块连接到计算机的内存控制器,通过数据总线进行数据传输。数据总线可以同时传输多个数据位,例如 64 位或 128位。
时钟信号 - DDR内存模块通过时钟信号进行同步操作。时钟信号用来控制数据的传输速率,每个时钟周期内有一个上升沿和一个下降沿。上升沿时,数据从内存芯片传输到数据总线;下降沿时,数据从数据总线传输到内存芯片。
预充电 - 在开始传输数据之前,DDR内存模块会先进行预充电操作。预充电是将存储单元中的电荷恢复到初始状态,以确保接下来的数据传输是准确的。
数据传输 - DDR 采用了多通道的数据传输方式,即同时传输多个数据位。这样可以在每个时钟周期内传输更多的数据。
存储器分类
存储器分为内部存储器(内存),外部存储器(外存),缓冲存储器(缓存)以及闪存这几个大类。
内存也称为主存储器,位于系统主机板上,可以同CPU直接进行信息交换。其主要特点是:运行速度快,容量小。
外存也称为辅助存储器,不能与CPU之间直接进行信息交换。其主要特点是:存取速度相对内存要慢得多,存储容量大。
内存与外存本质区别
内存与外存本质区别是,一个是内部运行提供缓存和处理的功能,也可以理解为协同处理的通道;而外存主要是针对储存文件、图片、视频、文字等信息的载体,也可以理解为储存空间。缓存就是数据交换的缓冲区 (称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。
如何计算DDR带宽?
内存带宽计算公式1:
带宽=内存核心频率×倍增系数×(内存总线位数/8)
内存带宽计算公式2:
带宽=标称频率×线宽÷8
SDRAM和DDR区别是什么?
DDR=双倍速率同步动态随机存储器,是内存的其中一种。DDR取消了主板与内存两个存储周期之间的时间间隔,每隔2个时钟脉冲周期传输一次数据,大大地缩短了存取时间,使存取速度提高百分之三十。
SDRAM是 "Synchronous Dynamic random access memory”的缩写,意思是“同步动态随机存储器”,就是我们平时所说的“同步内存”。从理论上说,SDRAM与CPU频率同步,共享一个时钟周期。SDRAM内含两个交错的存储阵列,当CPU从一个存储阵列访问数据的同时,另一个已准备好读写数据,通过两个存储阵列的紧密切换,读取效率得到成倍提高。
DDR是SDRAM的更新换代产品,采用5伏工作电压,允许在时钟脉冲的上升沿和下降沿传输数据,这样不需要提高时钟的频率就能加倍提高SDRAM的速度,并具有比SDRAM多一倍的传输速率和内存带宽。
请扫描二维码, 下载文章:DDR误码率测量
从历史上看,DDR(双倍数据速率)以零误码率 (BER) 为信念来定义其时序规范。虽然从统计上讲不可能实现零误码率,但时序预算有足够的余量来证明规范和测量方法的合理性。随着每一代 DDR 同步动态随机存取存储器 (SDRAM) 的出现,速度都在提高,封装尺寸在减小,功耗也在降低。(见表 1)。随着设计余量、信号完整性和互操作性的降低,这些改进带来了额外的挑战。最新的 DDR 技术提供 3.2Gb/s 或更高的数据速率。现在每一皮秒都很重要,可能是通过和失败位的差异。
DDR5和DDR4的区别
DDR发展历程
DDR(DDR1)-DDR SDRAM 于 2000 年推出,与其前身 SDR SDRAM(单速率 SDRAM)相比有了显著的改进。与 SDR SDRAM 相比,DDR1 的数据传输速率提高了一倍,从而实现了更快的内存访问速度并提高了系统性能。DDR1 模块最初提供的数据传输速率范围为 200 MT/s 至 400 MT/s(每秒兆次传输)。DDR1 内存通常用于台式计算机、笔记本电脑和早期的服务器系统。
DDR2 - DDR2 SDRAM 于 2003 年推出,在 DDR1 的基础上进一步提高了速度和效率。与 DDR1 相比,DDR2 的预取缓冲区大小增加了一倍,从而可以提高数据吞吐量。DDR2 模块最初提供的数据传输速率范围为 400 MT/s 至 800 MT/s。DDR2 内存在中端到高端计算系统中得到广泛应用,与 DDR1 相比,其性能和能效更高。
DDR3 - 2007 年发布的 DDR3 SDRAM 代表着内存技术的又一次重大进步。与 DDR2 相比,DDR3 进一步提高了数据传输速率,同时降低了功耗。DDR3 模块最初支持的数据传输速率从 800 MT/s 到 1600 MT/s,后来的速度最高可达 2133 MT/s。DDR3 内存成为主流计算系统的标准,在性能、能效和价格之间实现了平衡。
作为当前市场主流的 DDR4标准和业界正在集中攻关的 DDR5标准,对比有何差异呢?
如下表所列,从芯片开发到电路系统设计角度来看相比,DDR5 为了实现更高带宽和吞吐量进一步提升读写速率和改变通道架构以及猝发读写长度,目前规划的最高速率达 8400M T/s。
为了实现更低功耗和电源管理 I/O 电压降到 1.1V,并在 DIMM 条上完成电源管理工作以实现更高 的电源效率(主要是缩短电源传输路径以降低损耗和减小潜在的干扰)。为了提高数据带宽,不仅 提升速率同时采用双通道架构,提升读写效率,采用双通道 32 data + 8 ECC,Burst Length 也从 4/8 提高到 8/16,最后还支持更高容量的 DRAM 器件,从 DDR4 16 Gb 加倍到 32 Gb。总之,DDR5 作为业界备受期望的第 5 代 I/O 的内部数据共享和传输标准将与 PCI Express 5.0 乃至 6.0 等高速接口标准一起重塑 iABC 时代的大数据流的高速公路。
表 1 DDR4 和 DDR5 比较(源自 Rambus)
2.1.1 速率的提升
近年来,内存与CPU性能发展之间的剪刀差越来越大,对内存带宽的需求日益迫切。DDR4在1.6GHz的时钟频率下最高可达 3.2 GT/s的传输速率,最初的 DDR5则将带宽提高了 50%,达到 4.8 GT/s传输速率。DDR5 内存的数据传输速率最终将会达到 8.4 GT/s。
2.1.2 电压的降低
降低工作电压(VDD),有助于抵消高速运行带来的功耗增加。在 DDR5 DRAM 中,寄存时钟驱动器 (RCD) 电压从 1.2 V 降至 1.1 V。命令/地址 (CA) 信号从 SSTL 变为 PODL,其优点是当引脚处于高电平状态时不会消耗静态功率。
2.1.3 DIMM新电源架构
使用 DDR5 DIMM 时,电源管理将从主板转移到 DIMM 本身。DDR5 DIMM 将在 DIMM 上安装一个 12 V 电源管理集成电路(PMIC),使系统电源负载的颗粒度更细。PMIC 分配1.1 V VDD 电源,通过更好地在 DIMM 上控制电源,有助于改善信号完整性和噪音。
2.1.4 DIMM通道架构
DDR4 DIMM 具有 72 位总线,由 64 个数据位和 8 个 ECC 位组成。在 DDR5 中,每个 DIMM 都有两个通道。每个通道宽 40 位,32 个数据位和 8 个 ECC 位。虽然数据宽度相同(共 64 位),但两个较小的独立通道提高了内存访问效率。因此,使用 DDR5 不仅能提高速度,还能通过更高的效率放大更高的传输速率。
图 2 DDR5总线架构和标准DDR5 RDIMM 内存条
2.1.5 更长的突发长度
DDR4 的突发长度为4或者8。对于 DDR5,突发长度将扩展到8和16,以增加突发有效载荷。突发长度为16(BL16),允许单个突发访问 64 字节的数据,这是典型的 CPU 高速缓存行大小。它只需使用两个独立通道中的一个通道即可实现这一功能。这极大地提高了并发性,并且通过两个通道提高了内存效率。
2.1.6 更大容量的 DRAM
DDR4 在单芯片封装(SDP)中的最大容量为16 Gb DRAM。而DDR5的单芯片封装最大容量可达64 Gb,组建的DIMM 容量则翻了两番,达到惊人的 256 GB。
相关文章:
DDR5和DDR4之区别(The Difference between DDR5 and DDR4)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 DDR是什么意思? DDR5和D…...
分层架构 IM 系统之 Router 架构分析
通过前面文章的分析,我们已经明确,Router 的核心职责是作为中央存储记录在线客户端的连接状态,Router 在本质上是一个内存数据库。 内存是一种易失性的存储,既如此,Router 的可用性如何保障呢? 副本是分布…...
用函数实现模块化程序设计(七)--数组作为函数参数(排序算法)
调用有参函数时,需要实参,实参可以是常量,变量,表达式,数组元素的作用与变量相当,凡是变量出现的地方都可用数组代替,数组元素可以用作函数实参,数组名可以作实参和形参,…...
M31系列LoRa分布式IO模块功能简介
M31系列LoRa 分布式 IO 模块简介 M31系列LoRa分布式IO主机模块是一款强大的无线远程控制与采集设备,该设备采用 LoRa 无线技术(内置了无线模块),可通过串口或远程 LoRa 组网设备发送 Modbus RTU 指令进行控制,可搭配E…...
Dockerfile 安装echarts插件给java提供服务
java调用echarts插件,生成图片保存到磁盘然后插入到pptx中报表。 Dockerfile文件内容: #基础镜像,如果本地仓库没有,会从远程仓库拉取 openjdk:8 FROM docker.io/centos:centos7 #暴露端口 EXPOSE 9311 # 避免centos 日志输出 …...
学习threejs,使用VideoTexture实现视频Video更新纹理
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️VideoTexture 视频纹理 二、…...
【二分查找】Leetcode例题
【1】69. x 的平方根 - 力扣(LeetCode) 🍡解题思路:首先想到的是暴力查找,从1开始依次比较x与num*num的大小,然后找出满足num*num<x且(num1)*(num1)>x的num值;再来看看能不能优化一下&…...
稳定运行的以MySQL数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
在ETL(Extract, Transform, Load)过程中,数据源和目标都为MySQL数据库时,性能变差可能由多种原因引起。提高以MySQL为数据源和目标的ETL性能需要综合考虑数据库性能、ETL任务的处理方式、硬件资源和工具的选择。通过批量处理、并行…...
Springboot(四十九)SpringBoot3整合jetcache缓存
上文中我们学习了springboot中缓存的基本使用。缓存分为本地caffeine缓存和远程redis缓存。现在有一个小小的问题,我想使用本地caffeine缓存和远程redis缓存组成二级缓存。还想保证他们的一致性,这个事情该怎么办呢? Jetcache框架为我们解决了这个问题。 JetCache是一个…...
JVM 参数前缀 -XX: 含义 详解
在 Java 虚拟机(JVM)中,参数前缀 -XX: 表示的是 JVM 的非标准(实验性)选项。这些参数用于调整和优化 JVM 的性能、垃圾回收行为、内存分配策略等。 1. 参数分类 -XX: 参数大致分为三类,根据其格式区分&…...
【Mac】安装Gradle
1、说明 Gradle 运行依赖 JVM,需要先安装JDK,Gradle 与 JDK的版本对应参见:Java Compatibility IDEA的版本也是有要求Gradle版本的,二者版本对应关系参见:Third-Party Software and Licenses 本次 Gradle 安装版本为…...
证明切平面过定点的曲面是锥面
目录 证明:切平面过定点的曲面是锥面. 证明:切平面过定点的曲面是锥面. 证明: 方法一: 设曲面 S : r r ( u , v ) S:\mathbf{r}\mathbf{r}(u,v) S:rr(u,v)的切平面过定点 P 0 P_0 P0,其位置向量为 p 0 . \mathbf{p}_0. p0…...
【WPS】【EXCEL】将单元格中字符按照分隔符拆分按行填充到其他单元格
问题:实现如下图的效果 解答: 一、函数 IFERROR(TRIM(MID(SUBSTITUTE($A$2,",",REPT(" ",LEN($A$2))),(ROW(A1)-1)*LEN($A$2)1,LEN($A$2))),"") 二、在单元格C2中填写如下函数 三、全选要填充的单元格并且按CTRLD 函数…...
工作:三菱PLC防止程序存储器爆满方法
工作:三菱PLC防止程序存储器爆满方法 一、防止程序存储器爆满方法1、编程时,添加行注释时,记得要选“外围”,这样不会占用PLC程序存储器内存;2、选择“外围”的注释,前面会有个*星号,方便检查 二…...
【计算机组成原理】1位预测机制与2位预测机制详解
1位预测机制与2位预测机制详解 在计算机体系结构中,分支预测是为了提高流水线效率而对分支指令执行结果进行预测的技术。1位预测机制和2位预测机制是两种常见的分支预测策略,它们通过预测分支是否发生来决定是否跳转。 一、1位预测机制 1位预测机制是…...
基于SpringBoot+Vue的靓车汽车销售网站-无偿分享 (附源码+LW+调试)
目录 1. 项目技术 2. 功能菜单 3. 部分功能截图 4. 研究背景 5. 研究目的 6. 可行性分析 6.1 技术可行性 6.2 经济可行性 6.3 操作可行性 7. 系统设计 7.1 概述 7.2 系统流程和逻辑 7.3 系统结构 8. 数据库设计 8.1 数据库ER图 (1)材料分…...
ESP32-S3模组上跑通ES8388(13)
接前一篇文章:ESP32-S3模组上跑通ES8388(12) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析了es8388_init函数中的第6段代码,本回继续往下解析。为了便于理解和回顾,再次贴出es8388_init函数源码,在…...
洛谷 P1651 塔(DP)
题目传送门https://www.luogu.com.cn/problem/P1651 解题思路 设 表示前 个积木,两塔高度差为 (第一个比第二个高多少),的最大高度。 易得: 首先,不选当前的积木: 其次,选当前…...
去哪儿Java开发面试题及参考答案
怎么设置缓存能更快让用户收到数据? 要设置缓存以更快让用户收到数据,可从以下几方面着手。首先,选择合适的缓存位置很关键。将缓存放置在离用户近的地方,如 CDN 缓存,能极大缩短数据传输距离与时间。对于动态内容,可在应用服务器本地设置内存缓存,像使用 Ehcache 等库,…...
DDOS分布式拒绝服务攻击
DDOS分布式拒绝服务攻击 简单来说 传统的DOS就是一台或者多台服务对一个受害目标(服务器,路由,ip,国家)进行攻击,当范围过大时就是DDOS。目的就是通过大规模的网络流量使得正常流量不能访问受害目标&…...
AI后端工程师面试题的内容
AI后端工程师面试题主要包括以下几个方面的内容: 一、技术基础和项目经验: 1. 微服务架构的理解和应用:请描述你对微服务架构的理解,并举例说明一个你参与过的微服务项目,阐述你在该项目中扮演的角色和所承…...
使用go语言写一个脚本 实现WebSockt连接 用户发送a 得到返回b
在Go语言中实现一个简单的WebSocket服务器,该服务器能够接收客户端发送的“a”并返回“b”,可以按照以下步骤进行。首先,确保你的环境中已经安装了Go语言环境。接下来,你需要安装一个WebSocket库来处理WebSocket连接。这里我们使用…...
浏览器中输入一个URL后,按下回车后发生了什么
URL ,统一资源定位符, 简单点就是网址 ip 或域名 端口号 资源位置 参数 锚点 大致流程 URL 解析DNS 查询TCP 连接处理请求接受响应渲染页面 1 .输入一个网址之后,首先浏览器通过查询 DNS ,查找这个 URL 的 IP …...
ISO26262-(Timing Monitoring)在多核MCU的TPU上功能安全ASILB与ASILD有什么区别
在多核微控制器(MCU)的时间保护方面,针对功能安全ASIL B与ASILD等级的设计和实施存在显著差异,这些差异主要体现在系统对时间关键性操作的保障程度、故障检测能力、以及系统响应的严格性上。 ASIL B 级别: 时间关键性:在ASIL B等级,系统设计注重于识别并处理大部分可能…...
【大数据学习 | 面经】Spark 3.x 中的AQE(自适应查询执行)
Spark 3.x 中的自适应查询执行(Adaptive Query Execution,简称 AQE)通过多种方式提升性能,主要包括以下几个方面: 动态合并 Shuffle 分区(Coalescing Post Shuffle Partitions): 当 …...
mdcsoft服务器网络安全解决方案-SQL注入解决
mdcsoft服务器网络安全解决方案 最近几周,很多站被SQL注入攻击频繁,很多服务器被入侵,网站被攻击,为解决以上问题,我们开发了 以下系列软件及制定了系列解决方案.追究原因,全部都是认为引起的,由…...
防火墙之自定义链
自定义链的概念 自定义链(Custom Chain)通常是指在计算机网络中,根据特定需求创建的自定义规则链。这些规则链可以用于处理网络数据包,例如防火墙规则、路由规则等。自定义链的主要目的是为了提高网络管理的灵活性和可定制性。 …...
【Go底层】time包中Timer定时器原理
目录 1、背景2、go版本3、源码解释【1】Timer结构【2】NewTimer函数解释【3】After和AfterFunc函数解释 4、Timer定时间隔执行任务5、总结 1、背景 之前讲过Ticker定时器,每隔一段时间往通道写入当前时间。time包中还提供了另一种定时器:Timerÿ…...
Python毕业设计选题:基于Flask的医疗预约与诊断系统
开发语言:Python框架:flaskPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 系统首页 疾病信息 就诊信息 个人中心 管理员登录界面 管理员功能界面 用户界面 医生…...
Ajax基础总结(思维导图+二维表)
一些话 刚开始学习Ajax的时候,感觉很模糊,但是好像学什么都是这样的,很正常,但是当你学习的时候要持续性敲代码,边敲代码其实就可以理解很多了。然后在最后的总结,其实做二维表之后,就可以区分…...
Leetcode62. 不同路径(HOT100)
链接 我的代码: class Solution { public:int uniquePaths(int m, int n) {if(m<1||n<1)return 1;vector<vector<int>> dp(m,vector<int>(n));for(int i 0;i<m;i){for(int j 0;j<n;j){if(!i&&!j)dp[i][j] 0;else if(!i|…...
使用go实现一个简单的rpc
什么是rpc, rpc是干什么的?几种协议的压测数据对比:tcphttp 使用tcp实现一个简单的rpc服务 什么是rpc, rpc是干什么的? rpc的作用就是实现远程的服务调用 工作流程: 客户端携带服务信息(服务名,方法名)数据 去请求服务端,服务端拿到数据,解析后执行对应的方法,将结果返回给客…...
基于STM32的智能工业温度监测与控制系统设计
目录 引言系统设计 硬件设计软件设计系统功能模块 温度采集模块温控模块实时监控与报警模块数据记录与上传模块代码实现 4.1 温度采集模块4.2 温控模块4.3 实时监控与报警模块4.4 数据记录与上传模块系统调试与优化结论与展望 1. 引言 工业领域对温度的监控和控制至关重要&am…...
机器学习概述,特征工程简述2.1——2.3
机器学习概述: 1.1人工智能概述 达特茅斯会议—人工智能的起点 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 1.1.2 机器学习和深度学习能做什么 传统预测 图像识别 自然语言处理 1.2什么是机器学习 数据 模型 预测 从历史数…...
蓝桥杯准备训练(lesson1,c++方向)
前言 报名参加了蓝桥杯(c)方向的宝子们,今天我将与大家一起努力参赛,后序会与大家分享我的学习情况,我将从最基础的内容开始学习,带大家打好基础,在每节课后都会有练习题,刚开始的练…...
【导航查询】.NET开源 ORM 框架 SqlSugar 系列
.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...
k8s的数据库etcd报 etcdserver: mvcc: database space exceeded的处理办法
一.问题现象 公司的k8s集群的etcd配置是默认配置,其磁盘配置为2GB的配额,目前出现了数据写入失败的情况,报错Error: etcdserver: mvcc: database space exceeded。 二.处理思路 当etcd的磁盘使用达到2G后,可能会触发维护模式&am…...
【系统架构设计师】高分论文:论信息系统的安全与保密设计
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 摘要正文摘要 本人所在工作单位承担了我市城乡智慧建设工程综合管理平台项目的开发工作。我有幸参与了本项目,并担任架构师一职,全面负责项目的需求分析和系统设计等工作。城乡智慧建设工程综合管理平台项目包括…...
二分查找!
问题描述 小明在图书馆借阅书籍,图书馆的书籍在系统中按序号顺次排列,小明在借阅后,需在系统中从“在馆书籍列表”中将该书删除。请帮助小明编写一个函数,在现有列表{1, 3, 5, 6, 7, 10, 12, 14, 26, 32, 35, 39, 42, 45, 54, 56…...
学习方法的进一步迭代————4
今天又在怀疑第二大脑的可靠程度 为什么呢? 还是因为自己没记住东西,感觉没学到东西。 其实自己知道大脑本就不应该用来存放知识而是用来思考知识,但是自己还是陷在里面了,我觉得其本质不是因为认知还不够,也不是因为还有点不适…...
java将word docx pdf转换为图片(不需要额外下载压缩包,直接导入maven坐标)
(本代码实现的是将第1页转为图片,主要用于制作文件缩略图) pdf转图片容易 docx转图片麻烦,看其他博客可以直接导入maven坐标,但我知道那是需要付费且有时限的包 本着简单实用的心,我找到法子了 pdf转图片:有库直接转…...
Oracle 12c Data Guard 环境中的 GAP 修复方法
概述 上文中提到Oracle 12c 引入了多项新技术来简化 Data Guard 环境中的 GAP 修复过程,如(RECOVER … FROM SERVICE)。这些新特性不仅减少了操作步骤,还提高了效率和准确性。本文档将详细说明如何利用这些新特性进行 GAP 修复。…...
C语言:指针与数组
一、. 数组名的理解 int arr[5] { 0,1,2,3,4 }; int* p &arr[0]; 在之前我们知道要取一个数组的首元素地址就可以使用&arr[0],但其实数组名本身就是地址,而且是数组首元素的地址。在下图中我们就通过测试看出,结果确实如此。 可是…...
【Linux】理解文件系统
目录 理解磁盘物理结构存储结构 磁盘的逻辑结构逻辑抽象CHS && LBA地址的转化 文件系统块概念分区概念inode Ext2文件系统宏观认识Boot BlockBlock Group超级块(Super Block)块组描述符表(Group Descriptor Table)块位图&…...
Python爬虫——城市数据分析与市场潜能计算(Pandas库)
使用Python进行城市市场潜能分析 简介 本教程将指导您如何使用Python和Pandas库来处理城市数据,包括GDP、面积和城市间距离。我们将计算每个城市的市场潜能,这有助于了解各城市的经济影响力。 步骤 1: 准备环境 确保您的环境中安装了Python和以下库&…...
面向对象(二)——类和对象(上)
1 类的定义 做了关于对象的很多介绍,终于进入代码编写阶段。 本节中重点介绍类和对象的基本定义,属性和方法的基本使用方式。 【示例】类的定义方式 // 每一个源文件必须有且只有一个public class,并且类名和文件名保持一致! …...
嵌入式开发之ARM(一)
目录 1、认识RAM 1.2、ARM全球分布 1.3、ARM产品线 1.4、授权的厂商 1.5、ARM体系架构 1.6、ARM系统硬件组成和运行原理 2、搭建开发环境 3、ARM的工作模式及寄存器 3.1、ARM工作模式 3.2、ARM工作模式及寄存器框图 3.2.1、CPSR寄存器 1、认识RAM 成立于1990年11月,前…...
Ai编程cursor + sealos + devBox实现登录以及用户管理增删改查(十三)
一、什么是 Sealos? Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。 二、适用场景 业务运…...
手机镜头组如此突出,考虑恢复以前设计
现在手头看重照相。结果导致的问题就是,在背部要突出很高,以容纳镜头组件。这种设计真的好吗?并不见得。真实照片: VIVO X200系列镜头组照片-CSDN博客 考虑到现在镜头的情形,我建议恢复以前的设计,就是把镜…...
debian ubuntu armbian部署asp.net core 项目 开机自启动
我本地的环境是 rk3399机器,安装armbian系统。 1.安装.net core 组件 sudo apt-get update && \sudo apt-get install -y dotnet-sdk-8.0或者安装运行库,但无法生成编译项目 sudo apt-get update && \sudo apt-get install -y aspnet…...