ARM体系结构与编程 阅读笔记P207

ARM中采用的是组相连的地址影响方式。如果cache块大小为,则同一块中的各地址中的位[31:L], 就是   

31---------------------------------- 0

31往右数的L

如果cache组大小是(每组包含的块数),则虚拟地址位[L+S-1:L]用于选择cache中的某个组。

 

Cache的分类:

独立cache  统一cache 

独立是 指令和数据读写时时不同一cache

 

 

写通cache和写回cache

 

写回只写入cache不入主存。

写通,cache,主存都有。

 

读操纵分配cache和写操作分配cache

 

读操作分配: 如果cache不命中,只是简单写入主存,要读取时才进行cache预取。

写操作分配:  如果cache不命中,cache预取,

 

缓冲技术:

ARM中 I/O操作经常被映射为存储器读取操作实现。Cache技术要求两次读要有同样的结果,但是I/O操作就不满足上述条件。

写缓冲技术,(buffer),如果I/O操作被缓冲了,等到一个时间再把结果写回到I/O端,就好像又中断了一样。

 

所以MMUPU 会将某些地址空间设置成非缓冲的。(uncachable,unbufferable

 

存储系统的一致性问题。

地址映射关系造成的数据不一致

比如虚拟地址到物理地址的映射关系发生变化前,虚拟地址A1所在的数据块已经预取到cache,当虚拟地址和物理地址映射关系发生变化后,CPU访问A1,再用cache中数据块将发生错误。

 

6指令cache的数据一致性问题

 

Cache内容锁定,让关键代码和数据所在的块不会被替换。

CP15中 C7用于控制cache和写缓冲区

C9cache内容锁定寄存器。

 

快速上下文切换技术 fast context switch extension , fcse. 

一般情况下,两个进程占用的虚拟地址空间有重叠,系统在这两个进程间进行切换时,必须进行虚拟地址到物理地址的重映射。这就涉及到很多东西。MMU中页表,cacheTLB

Fcse将各进程的虚拟空间切换成不同的虚拟空间。这样进行进程间切换时就不需要进行虚拟地址到物理地址的重映射。

 

 

ACS510变频器的多泵控制功能可以通过编程实现。以下是控制三台水泵的简单编程示例: ``` P201 = 1 ;设置为多泵控制模式 P202 = 3 ;设置泵的数量为3 P203 = 50 ;设置泵1的最小频率为50Hz P204 = 60 ;设置泵1的最大频率为60Hz P205 = 50 ;设置泵1的起始频率为50Hz P206 = 10 ;设置泵1的启动延迟为10秒 P207 = 1 ;设置泵1的工作模式为自动(1为自动,0为手动) P208 = 2 ;设置泵1的优先级为2 P209 = 2 ;设置泵1到泵2的切换条件为流量(1为时间,2为流量,3为压力) P210 = 25 ;设置泵1到泵2的切换流量为25m3/h P211 = 50 ;设置泵2的最小频率为50Hz P212 = 60 ;设置泵2的最大频率为60Hz P213 = 50 ;设置泵2的起始频率为50Hz P214 = 10 ;设置泵2的启动延迟为10秒 P215 = 1 ;设置泵2的工作模式为自动 P216 = 1 ;设置泵2的优先级为1 P217 = 2 ;设置泵2到泵3的切换条件为流量 P218 = 25 ;设置泵2到泵3的切换流量为25m3/h P219 = 50 ;设置泵3的最小频率为50Hz P220 = 60 ;设置泵3的最大频率为60Hz P221 = 50 ;设置泵3的起始频率为50Hz P222 = 10 ;设置泵3的启动延迟为10秒 P223 = 1 ;设置泵3的工作模式为自动 P224 = 3 ;设置泵3的优先级为3 P225 = 2 ;设置泵3到泵1的切换条件为流量 P226 = 25 ;设置泵3到泵1的切换流量为25m3/h ``` 以上是一个简单的ACS510变频器控制三台水泵的编程示例,具体的参数设置可以根据实际情况进行调整。通过编程,可以实现更加精细化的控制,提高水泵系统的效率和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值