(转)ARM协处理器CP15寄存器详解

article/2025/9/26 4:54:56

用于系统存储管理的协处理器CP15

 

MCR{cond}     coproc,opcode1,Rd,CRn,CRm,opcode2

MRC {cond}    coproc,opcode1,Rd,CRn,CRm,opcode2

coproc         指令操作的协处理器名.标准名为pn,n,为0~15 

opcode1      协处理器的特定操作码. 对于CP15寄存器来说,opcode1永远为0,不为0时,操作结果不可预知

Rd              作为源寄存器,即 ARM core register ,但是不能是r15/pc,否则,结果未知

CRd             作为目标寄存器的协处理器寄存器. 

CRn             存放第1个操作数的协处理器寄存器. 

CRm            存放第2个操作数的协处理器寄存器. (用来区分同一个编号的不同物理寄存器,当不需要提供附加信息时,指定为C0)

opcode2     可选的协处理器特定操作码.                (用来区分同一个编号的不同物理寄存器,当不需要提供附加信息时,指定为0)

 

  • 在基于ARM的嵌入式系统中,存储系统通常是通过系统控制协处理器CP15完成的。
  • CP15可以包含16个32位的寄存器,其编号为0-15。实际上对于某些编号的寄存器可能对应有多个物理寄存器。在指令中指定特定的标志位来区分这些物理寄存器。有些类似于ARM寄存器中,处于不同的处理器模式时,ARM某些寄存器可能不同。

 

CP15 的寄存器列表如表所示:

寄存器编号

基本作用

在 MMU 中的作用

在 PU 中的作用

0

ID 编码(只读)

ID 编码和 cache 类型

 

1

控制位(可读写)

各种控制位

 

2

存储保护和控制

地址转换表基地址

Cachability 的控制位

3

存储保护和控制

域访问控制位

Bufferablity 控制位

4

存储保护和控制

保留

保 留

5

存储保护和控制

内存失效状态

访问权限控制位

6

存储保护和控制

内存失效地址

保护区域控制

7

高速缓存和写缓存

高速缓存和写缓存控制

 

8

存储保护和控制

TLB 控制

保 留

9

高速缓存和写缓存

高速缓存锁定

 

10

存储保护和控制

TLB 锁定

保 留

11

保留

 

 

12

保留

 

 

13

进程标识符

进程标识符

 

14

保留

 

 

15

因不同设计而异

因不同设计而异

因不同设计而异

 

注:以下寄存器中相应位的含义在不同的处理器中可能不同,但总体功能不变

 

(一)CP15 的寄存器 C0

CP15 中寄存器 C0 对应两个标识符寄存器,由访问 CP15 中的寄存器指令中的 <opcode2> 指定要访问哪个具体物理寄存器, <opcode2> 与两个标识符寄存器的对应关系如下所示:

opcode2 编码

对应的标识符号寄存器

0b000

主标识符寄存器

0b001

cache类型标识符寄存器

其 他

保留

 

(1)主标识符寄存器

指令如下:

MRC    P15,0,R0,C0,C0,0       #将主标示符寄存器的内容读到AMR寄存器R0中

主标示符的编码格式对于不同的ARM处理器版本有所不同。

对于AMR7之后的处理器,其主标示符编码格式如下 : 

30                24

23                20

19                          16

15                 4

3                       0

由生产商确定

产品子编号

ARM 体系版本号

产品主编号

处理器版本号

各部分的编码详细含义如下表所示:

                   说     明

位 [3: 0]

生产商定义的处理器版本号

位 [15: 4]

生产商定义的产品主编号

其中最高 4 位即位 [15:12] 可能的取值为0x0~0x7 但不能是 0x0 或 0x7

因为:

0x0表示 ARM7之前的处理器

0x7 表示ARM7处理器

位 [19: 16]

ARM 体系的版本号,可能的取值如 下:

0x1   ARM 体系版本 4

0x2   ARM 体系版本 4T

0x3   ARM 体系版本 5

0x4   ARM 体系版本 5T

0x5   ARM 体系版本 5TE

其他   由 ARM 公司保留将来使用

位 [23: 20]

生产商定义的产品子编号。当产品主编号相同时,使用子编号来区分不同的产品子类,如产品中不 同的高速缓存的大小等

位 [31: 24]

生产厂商的编号,现在已经定义的有以下值:

0x41  =A  ARM 公司

0x44  =D  Digital Equipment 公司

0x69  =I   intel 公司

 

(2)cache类型标识符寄存器

指令如下:

MRC    P15,0,R0,C0,C0,1       #将cache类型标识符寄存器的内容读到AMR寄存器R0中

 

ARM 处理器中 cache 类型标识符寄存器的编码格式如下所示:

31      29

28           25

24

23                                12

11                                0

  000

  属性字段

 S

   数据 cache 相关属性

   指令cache 相关属性

 

各部分的编码详细含义如下表所示:

含义

位 [28: 25]

主要用于定义对于写回类型的cache的一些属性

位 [24]

定义系统中的数据 cache 和指令 cache 是分开的还是统一的:

0   系统的数据 cache 和指令 cache 是统一的;

1    系统的数据 cache 和指令 cache 是分开的

位 [23: 12]

定义数据 cache 的相关属性

如果位 [24] 为 0 ,本字段定义整个cache 的属性

位 [31: 24]

定义指令 cache 的相关属性

如果位 [24] 为 0 ,本字段定义整个cache 的属性

 

  •  控制字段位 [28 : 25] 的含义

主要用于定义对于写回类型的cache的一些属性

cache 类型标识符寄存器的控制字段位 [28 : 25]:

编     码

cache 类型

cache 内容清除方法

cache 内容锁定方法

0b0000

写通类型

不需要内容清除

不支持内容锁定

0b0001

写回类型

数据块读取

不支持内容锁定

0b0010

写回类型

由寄存器 C7 定义

不支持内容锁定

0b0110

写回类型

由寄存器 C7 定义

支持格式 A

0b0111

写回类型

由寄存器 C7 定义

支持格式 B

  • 控制字段位 [23 : 12] 及控制字段位 [11 : 0] 含义

[23:12]用于定义数据cache的属性,[11: 0]用于定义指令cache的属性

编码格式如下:

11      9

8                6

5                        3

2

1          0

000

cache 容量

cache 相联特性

M

块大小

其中bits[1:0]含义如下:

编     码

cache 块大小

0b00

2 个 字( 8 字节)

0b01

4 个 字( 16 字节)

0b10

8 个 字( 32 字节)

0b11

16 个 字( 64 字节)

其中bits[5:3]含义如下:

编     码

M=0 时含义

M=1 时含义

0b000

1 路 相联(直接映射)

没有 cache

0b001

2 路 相联

3 路 相联

0b010

4 路 相联

6 路 相联

0b011

8 路 相联

12 路 相联

0b100

16 路 相联

24 路 相联

0b101

32 路 相联

48 路 相联

0b110

64 路 相联

96 路 相联

0b111

128 路相联

192 路相联

其中bits[8:6]含义如下:

编     码

M=0 时含义

M=1时含义

0b000

0.5KB

0.75 KB

0b001

1 KB

1.5 KB

0b010

2 KB

3 KB

0b011

4 KB

6 KB

0b100

8 KB

12 KB

0b101

16 KB

24 KB

0b110

32 KB

48 KB

0b111

64 KB

96 KB

 

(二)CP15 的寄存器 C1

CP15中的寄存器C1是一个控制寄存器,它包括以下控制功能:

  • 禁止或使能MMU以及其他与存储系统相关的功能
  • 配置存储系统以及ARM处理器中的相关部分的工作

指令如下:

mrc p15, 0, r0, c1, c0{, 0}     ;将 CP15 的寄存器 C1 的值读到 r0 中

mcr p15, 0, r0, c1, c0{, 0}     ;将 r0 的值写到 CP15 的寄存器 C1 中

 

CP15 中的寄存器 C1 的编码格式及含义说明如下:

C1中的控制位

含义

M(bit[0])

0 :禁止 MMU 或者 PU 

1 :使能 MMU 或者 PU

如果系统中没有MMU及PU,读取时该位返回0,写入时忽略该位

A(bit[1])

0 :禁止地址对齐检查

1 :使能地址对齐检查

C(bit[2])

当数据cache和指令cache分开时,本控制位禁止/使能数据cache。当数据cache和指令cache统一时,该控制位禁止/使能整个cache。

0 :禁止数据 / 整个 cache 

1 :使能数据 / 整个 cache

如果系统中不含cache,读取时该位返回0.写入时忽略

当系统中不能禁止cache 时,读取时返回1.写入时忽略

W(bit[3])

0 :禁止写缓冲

1 :使能写缓冲

如果系统中不含写缓冲时,读取时该位返回0.写入时忽略

当系统中不能禁止写缓冲时,读取时返回1.写入时忽略

P(bit[4])

对于向前兼容26位地址的ARM处理器,本控制位控制PROG32控制信号

0 :异常中断处理程序进入 32 位地址模式

1 :异常中断处理程序进入26 位地址模式

如果本系统中不支持向前兼容26位地址,读取该位时返回1,写入时忽略

D(bit[5])

对于向前兼容26位地址的ARM处理器,本控制位控制DATA32控制信号

0 :禁止 26 位地址异常检查

1 :使能 26 位地址异常检查

如果本系统中不支持向前兼容26位地址,读取该位时返回1,写入时忽略

L(bit[6])

对于ARMv3及以前的版本,本控制位可以控制处理器的中止模型

0 :选择早期中止模型

1 :选择后期中止模型

B(bit[7])

对于存储系统同时支持big-endian和little-endian的ARM系统,本控制位配置系统的存储模式

0 : little endian  

1 : big endian

对于只支持little-endian的系统,读取时该位返回0,写入时忽略

对于只支持big-endian的系统,读取时该位返回1,写入时忽略

S(bit[8])

在基于 MMU 的存储系统中,本位用作系统保护

R(bit[9])

在基于 MMU 的存储系统中,本位用作 ROM 保护

F(bit[10])

由生产商定义

Z(bit[11])

对于支持跳转预测的ARM系统,本控制位禁止/使能跳转预测功能

0 :禁止跳转预测功能 

1 :使能跳转预测功能

对于不支持跳转预测的ARM系统,读取该位时返回0,写入时忽略

I(bit[12])

当数据cache和指令cache是分开的,本控制位禁止/使能指令cache

0 :禁止指令 cache  

1 :使能指令 cache

如果系统中使用统一的指令cache和数据cache或者系统中不含cache,读取该位时返回0,写入时忽略。当系统中的指令cache不能禁止时,读取时该位返回1,写入时忽略

V(bit[13])

对于支持高端异常向量表的系统,本控制位控制向量表的位置

0 :选择低端异常中断向量 0x0~0x1c 

1 :选择高端异常中断向量0xffff0000~ 0xffff001c

对于不支持高端异常向量表的系统,读取时该位返回0,写入时忽略

PR(bit[14])

如果系统中的cache的淘汰算法可以选择的话,本控制位选择淘汰算法

0 :常规的 cache 淘汰算法,如随机淘汰 

1 :预测性淘汰算法,如round-robin 淘汰算法

如果系统中cache的淘汰算法不可选择,写入该位时忽略。读取该位时,根据其淘汰算法是否可以比较简单地预测最坏情况返回0或者1

L4(bit[15])

对于ARM版本5及以上的版本,本控制位可以提供兼容以前的ARM版本的功能

0 :保持 ARMv5 以上版本的正常功能

1 :将 ARMv5 以上版本与以前版本处理器 兼容,不根据跳转地址的 bit[0] 进行 ARM 指令和 Thumb 状态切换: bit[0] 等于 0 表示 ARM 指令,等于 1 表示 Thumb 指令

Bits[31:16])

这些位保留将来使用,应为UNP/SBZP

  

(三)CP15 的寄存器 C2

C2寄存器的别名:Translation table base (TTB) register

 C2寄存器用来保存页表的基地址,即一级映射描述符表的基地址。其编码格如下所示:

31                                                                                                     0

                                    一级映射描述符表的基地址(物理地址)

 

(四)CP15 的寄存器 C3

CP15 中的寄存器 C3 定义了 ARM 处理器的 16 个域的访问权限。

31                                                                                                     0

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

 

在 CP15的C3寄存器中,划分了 16个域,每个区域由两位构成,这两位说明了当前内存的检查权限:

00:当前级别下,该内存区域不允许被访问,任何的访问都会引起一个domain fault,这时 AP位无效

01:当前级别下,该内存区域的访问必须配合该内存区域的段描述符中AP位进行权检查
10:保留状态(我们最好不要填写该值,以免引起不能确定的问题)
11:当前级别下,对该内存区域的访问都不进行权限检查。 这时 AP位无效 

 

所以只有当相应域的编码为 01 时,才会根据  AP位 和协处理器CP15中的C1寄存器的R,S位进行权限检查

 

(五)CP15 的寄存器 C5

CP15 中的寄存器 C5 是失效状态寄存器,分为指令状态失效和数据状态失效。

MRC p15, 0, <Rd>, c5, c0, 0   访问数据失效状态寄存器
MRC p15, 0, <Rd>, c5, c0, 1   访问指令状态失效寄存器
编码格式如下所示:

31            9

8

7    4

3      0

UNP/SBZP

0

域标识

状态标识

 

其中,域标识bit[7:4]表示存放引起存储访问失效的存储访问所属的域。

状态标识 bit[3:0] 表示放引起存储访问失效的存储访问类型,该字段含义如下表所示(优先级由上到下递减)。

引起访问失效的原因

状态标识

域标识

C6

终 端异常( Terminal Exception )

0b0010

无 效

生 产商定义

中 断向量访问异常( Vector Exception)

0b0000

无 效

有 效

地 址对齐

0b00x1

无 效

有 效

一 级页表访问失效

0b1100

无 效

有 效

二 级页表访问失效

0b1110

有 效

有 效

基 于段的地址变换失效

0b0101

无 效

有 效

基 于页的地址变换失效

0b0111

有 效

有 效

基 于段的存储访问中域控制失效

0b1001

有 效

有 效

基 于页的存储访问中域控制失效

0b1101

有 效

有 效

基 于段的存储访问中访问权限控制失效

0b1111

有 效

有 效

基 于页的存储访问中访问权限控制失效

0b0100

有 效

有 效

基 于段的 cache 预 取时外部存储系统失效

0b0110

有 效

有 效

基 于页的 cache 预 取时外部存储系统失效

0b1000

有 效

有 效

基 于段的非 cache 预 取时外部存储系统失效

0b1010

有 效

有 效

 

(六)CP15的寄存器C6

CP15 中的寄存器 C6 是失效地址寄存器,其中保存了引起存储访问失效的地址,分为数据失效地址寄存器和指令失效地址寄存器

MRC p15, 0, <Rd>, c6, c0, 0  访问数据失效地址寄存器
MRC p15, 0, <Rd>, c6, c0, 2  访问指令失效地址寄存器

编码格式如下所示:

31                                                                                                      0

                        失效地址(虚拟地址)

 

(七)CP15的寄存器C7

CP15 的 C7 寄存器用来控制 cache 和写缓存,它是一个只写寄存器,读操作将产生不可预知的后果。

访问 CP15 的 C7 寄存器的指令格式如下所示:

mcr p15, 0, <rd>, <c7>, crm, <opcode_2>               ;<rd> 、 <crm> 和 <opcode_2> 的不同取值组合,实现不同功能

 

表中的数据是指Rd中的数据:

 

(八)CP15的寄存器C8

 

指令

Rd

含义

MCR p15, 0, Rd, c8, c5, 0

0

使无效整个指令TLB

MCR p15, 0, Rd, c8, c5, 1

虚拟地址

使无效指令TLB中的单个地址变换条目

MCR p15, 0, Rd, c8, c6, 0

0

使无效整个数据TLB

MCR p15, 0, Rd, c8, c6, 1

虚拟地址

使无效数据TLB中的单个地址变换条目

MCR p15, 0, <Rd>, c8, c7, 0

0

使无效整个数据和指令TLB

MCR p15, 0, <Rd>, c8, c7, 1

虚拟地址

使无效数据和指令TLB中的单个地址变换条目

    系统协处理器CP15的寄存器C8就是清除TLB内容的相关操作。它是一个只写的寄存器。

        MCR    p15,0,Rd,c8,CRm,opcode_2

        Rd中为要写入C8寄存器的内容,CRm和opcode_2的不同组合决定指令执行的不同操作。

 

(九)CP15的寄存器C12

CP15寄存器C12用来设置异常向量基地址,其编码格式如下所示:

MCR p15, 0, <Rd>, c12, c0, 0                 ;Rd中存放要修改的异常向量基地址

31              5

4         0

异常向量基地址

Reserve

注:只有ARM11和cortex-a 可以任意修改异常向量基地址。arm7,ARM9,ARM10只可以在0地址或0xffff0000中 

 

(十)CP15的寄存器C13

CP15中的寄存器C13用于快速上下文切换。其编码格式如下所示。

访问寄存器C13的指令格式如下所示。

MCR           p15, 0,<Rd>,<c13>,c0,0

MRC           P15, 0,<Rd>,<c13>,c0,0

其中, 在读操作时,结果中位[31::25]返回PID,其他位 的数值是不可以预知的。写操作将设置PID的值。

        当PID的值为0时,MVA = VA  |  (0(PID)<<25),MVA=VA,相当于禁止了FCSE。系统复位后PID即为0.

        当PID的值不为0时,相当于使能了FCSE。

 

 

 


http://chatgpt.dhexx.cn/article/Ni8Sa7jf.shtml

相关文章

浅谈ARMv7-A协处理器CP15

协处理器&#xff0c;顾名思义就是协助型处理器&#xff0c;主要协助做一些主处理器无法执行或者执行效率不佳的事情&#xff0c;比如浮点、图像、音频处理这一类&#xff0c;随着硬件的发展&#xff0c;大多协处理器的功能都慢慢集成到主处理器中&#xff0c;但是某些特定的工…

i.MX6ULL(三) CP15协处理器

CP15 CP15协处理器是ARM处理器中一门重要的协处理器&#xff0c;主要用来控制 cache、TCM&#xff08; tiny code memory&#xff09;和存储器管理。 CP15协处理器包含16个32位的寄存器&#xff0c;其编号为0~15&#xff0c;其中CP15寄存器0是预留的&#xff0c;所以CP15实际有…

ARM汇编指令3 - CP15协处理器介绍和操作方法

一. ARM CP15协处理器寄存器简介 CP15协处理器寄存器是ARM处理器里面的一些有特殊功能的寄存器&#xff0c;CP15协处理器一般包括C0 - C15寄存器&#xff0c;它们分别控制高速缓存cache&#xff0c;MMU&#xff0c;TLB等功能&#xff0c;下面分别介绍 二. CP15寄存器访问 1. C…

【文献翻译】用于5G蜂窝的毫米波移动通信:我看行!

【标题】&#xff1a;Millimeter Wave Mobile Communications for 5G Cellular: It Will Work! 【作者】&#xff1a;T. S. Rappaport, S. Sun, R. Mayzus, H. Zhao, Y. Azar, K. Wang, G. N. Wong, J. K. Schulz, M. Samimi, and F. Gutierrez 【来源】&#xff1a;IEEE Acces…

STM32之单DAC数模转换输出(2021-07-30)

STM32之单DAC数模转换输出 1.DAC简介及框图&#xff1a; DAC功能只有STM32大容量的芯片才具有&#xff1b;中低容量的芯片没有&#xff1b; DAC有两个 8位*&#xff08;右对齐&#xff09;或者是12位&#xff08;左或右对齐&#xff09;*的转换器&#xff0c;每个转换器只有一…

pycinrad学习入门笔记,数据为雷达新旧格式基数据、pup产品数据

安装步骤 1.更改pip源为清华径向 2.pip install cinrad 3.运行上传的代码&#xff0c;在我的资料上传里 4、可以解码的基数据有&#xff1a;old 、new&#xff0c;格式可以是bz2和bin格式&#xff0c;分别使用不同的函数 file1 "Z_RADR_I_Z9552_20200711161600_O_DO…

Linux 初级 文件与目录管理(3)

文件和目录管理 在开始目录的切换之前&#xff0c;先了解一下路径&#xff0c;什么是相对路径&#xff0c;什么是绝对路径。 绝对目录 &#xff1a; 路径的写法&#xff0c;一定是由根目录写起/ 写起。例如如&#xff1a; /usr/share/dor这个目录 相对路径&#xff1a; 路径的…

bwapp通关教程

** HTML Injection - Reflected (GET) ** low: 低级漏洞中&#xff0c;输入数据没有做校验 First name: <script>alert( xss )</script> Last name: <script>alert( xss )</script> 出现xss即为成功。 medium 和low一样&#xff0c;但发现被全…

新一代天气雷达文件三维可视化

链接&#xff1a;从最新文章获取百度盘地址 支持新一代天气雷达SA SB CA&#xff0c;支持FMT&#xff0c;支持SWAN格式直接将文件拖进程序即可 支持列表样例Z_RADR_I_Z***_20200803100000_O_DOR_SA_CAP.bin.bz2Z_RADR_I_Z***_20210514000000_O_DOR_SA_CAP_FMT.bin.bz2Z_OTHE_…

激光雷达动态障碍物滤除-调研与展望

0. 简介 激光雷达作为自动驾驶中最常用的传感器之一&#xff0c;由于其深度感知特性优良&#xff0c;这也让以激光SLAM为主的SLAM方法被广泛应用。但是我们发现在人员密集&#xff0c;车辆密集的场景经常会造成点云定位效果不佳&#xff0c;而这些情况传统滤波方法是没有办法解…

DAC的简单应用

1.简介 DAC指数字/模拟转换。STM32F103RCT6具有2个12位数字输入&#xff0c;模拟输出的DAC&#xff1b;支持数字输入配置成8位右对齐、12位左对齐或12位右对齐格式&#xff1b;在双DAC通道模式下支持单通道独立转换或双通道同步转换。 2.框图 根据框图&#xff0c;将数据写入…

STM32学习笔记--DAC

目录&#xff1a; 一、DAC原理1.DAC定义2.STM32DAC简介3.STM32DAC工作原理 二、STM32DAC库函数配置参考资料 一、DAC原理 1.DAC定义 DAC是Digital-to- Analog Converter的缩写&#xff0c;数字/模拟转换模块的简称&#xff0c;它的作用就是把输入的数字编码&#xff0c;转换成…

Bwapp 04 05

文章目录 Insecure DOR (Change Secret)Insecure DOR (Reset Secret)Insecure DOR (Order Tickets)安全配置 Insecure DOR (Change Secret) 抓包的话&#xff0c;就可以实行篡位修改 Insecure DOR (Reset Secret) 同上&#xff0c;换成了xml的形式 Insecure DOR (Order Ticke…

水处理相关工艺控制程序汇总(RXXW_Dor)

水处理和化工行业流程控制类程序工艺有很多相似之处,属于过程控制,并不太关心控制实时性和控制速度,这篇博客汇总项目各种工艺写法,陆续会更新。流程控制类程序很多可以利用状态机思想进行编程,有关状态机编程的详细方法可以参看下面的文章链接: PLC面向对象编程系列之有…

整理 kanban 的 DoR 和 DoD

所谓 DoR 和 DoD 就是 Definition of Ready 和 Definition of Done。 我们的敏捷团队在需求管理上主要有两个会:需求梳理会和需求计划会议。 需求梳理会的阐述的意向用户故事会放到 Backlog,后由研发 Owner 跟进,在计划会上,将符合 DoR 放入 Sprint Todo。 「Backlog」…

人生的DoR和DoD:志向、遗产

我们要为两件事做好准备&#xff1a;太阳升起和太阳落山。前者没准备好&#xff0c;则错过了大好时光。后者没准备好&#xff0c;则坠入无边黑暗。前者让你醒的来&#xff0c;后者让你睡得着。 &#xff08;一&#xff09;立志是人生的DoR 年少的刘备与同族的孩子在树下玩耍时&…

【Scrum模式语言9】准备就绪的定义(Definition of Ready - DoR )

译者序&#xff1a;在很多敏捷项目中&#xff0c;秩序诞生的标志之一是有了成文的DoR。但是项目组和需求方的折中往往也无可奈何地始于将没有就绪的需求纳入到Sprint待办事项列表&#xff0c;并为Sprint实施阶段带来一系列的不可控因素。为什么市场和产品人员时常要求技术人员在…

敏捷开发中的 DoD 和 DoR 是什么?

在敏捷开发中&#xff0c;让所有成员保持目标统一、步调和节奏一致非常重要&#xff0c;但是在团队协作中&#xff0c;认知偏差却在所难免。需求在不同环节中流转&#xff0c;是否存在某种途径能保证所有成员的理解一致&#xff0c;将偏差最小化&#xff1f; 今天跟大家介绍敏…

传播动力学--SIR模型及其应用

王道谊 2020年3月 1. 传播动力学 “道生一&#xff0c;一生二&#xff0c;二生三&#xff0c;三生万物。” ---《道德经》 所谓“不积跬步无以至千里”&#xff0c;任何变化都是由点滴变化决定并发展起来的。知道所有的微观点滴变化&#xff0c;就能够掌握宏观变化。点滴…

SIR传播模型的科普和预测

>关注公众号&#xff1a;大数据技术派&#xff0c;回复资料&#xff0c;领取1024G资料。 注&#xff1a;本文仅是个人对于几个疾病模型做的一些概念性描述&#xff08;科普&#xff09;&#xff0c;并进行了简单的编程实现。切勿当做现实的行动指导。因为文章内容原因&#…