CN103034538A - 一种嵌入式操作系统中驱动程序的多级缓存处理方法 - Google Patents
一种嵌入式操作系统中驱动程序的多级缓存处理方法 Download PDFInfo
- Publication number
- CN103034538A CN103034538A CN2012105652765A CN201210565276A CN103034538A CN 103034538 A CN103034538 A CN 103034538A CN 2012105652765 A CN2012105652765 A CN 2012105652765A CN 201210565276 A CN201210565276 A CN 201210565276A CN 103034538 A CN103034538 A CN 103034538A
- Authority
- CN
- China
- Prior art keywords
- level
- cache
- cpu
- data
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Image Input (AREA)
Abstract
一种嵌入式操作系统中驱动程序的多级缓存处理方法,利用CPU的外设寄存器作为第一级硬件缓存;利用CPU的DMA存储空间来做第二级硬件缓存;当第一级硬件缓存被写满之后,产生DMA中断以将第一级硬件缓存中的数据读入第二级硬件缓存中;利用部分RAM空间作为第一级软件缓存,当第二级硬件缓存被写满之后产生一个CPU中断将第二级硬件缓存中的数据读入第一级软件缓存中等待处理;利用部分RAM空间作为第二级软件缓存,启动相应的数据处理任务进程将第一级软件缓存中的无效数据剥除并将有效数据存入第二级软件缓存中;本发明的嵌入式操作系统中驱动程序的多级缓存处理方法可有效提高嵌入式系统运行效率。
Description
技术领域
本发明涉及嵌入式操作系统,尤指一种嵌入式操作系统中驱动程序的多级缓存处理方法。
背景技术
在现有实时数据采集设备中,限于有限的CPU等硬件资源条件,嵌入式操作系统如果在驱动程序中没有经过多级缓存处理的情况下,嵌入式操作系统的多并发任务处理及实时完整的数据采集可能会导致CPU频繁的进入高优先级的数据中断采集程序,导致优先级较低的采集程序中断产生数据贻漏,且会造成已采集数据在还没有来得及处理时就被新的数据所覆盖等弊端,大大影响了运行效率。
发明内容
本发明的目的在于提供一种嵌入式操作系统中驱动程序的多级缓存处理方法,该处理方法可利用有限的硬件资源来设置多级缓存,提高运行效率。
为此,本发明提供了一种嵌入式操作系统中驱动程序的多级缓存处理方法,利用CPU的外设寄存器作为第一级硬件缓存;利用CPU的DMA存储空间来做第二级硬件缓存;当第一级硬件缓存被写满之后,产生DMA中断以将第一级硬件缓存中的数据读入第二级硬件缓存中;利用部分RAM空间作为第一级软件缓存,当第二级硬件缓存被写满之后产生一个CPU中断将第二级硬件缓存中的数据读入第一级软件缓存中等待处理;利用部分RAM空间作为第二级软件缓存,启动相应的数据处理任务进程将第一级软件缓存中的无效数据剥除并将有效数据存入第二级软件缓存中。
所述第一级硬件缓存为A/D采样CPU的外设16个字的缓存空间。
所述第二级硬件缓存的DMA存储空间为K级。
所述数据处理任务进程是在CPU不忙时启动的。
所述第二级软件缓存可以避免CPU不能及时处理第一级软件缓存中的数据而导致第一级软件缓存中的有效数据被覆盖的问题。
相对于现有技术,本发明嵌入式操作系统中驱动程序的多级缓存处理方法能在有限的CPU及硬件资源的条件下,减少CPU响应中断的次数,防止在响应等级非最高优先级的CPU中断,在采集数据时出现数据采集不完整的现象发生;以及因为任务优先级不够高,采集的数据还没有来得及处理就会被新采集数据覆盖的情况,可提高嵌入式系统的运行效率和稳定性,节约硬件资源的投入。
附图说明
图1为本发明嵌入式操作系统中驱动程序的多级缓存处理方法的示意图。
具体实施方式
请参阅图1所示,本发明嵌入式操作系统中驱动程序的多级缓存处理方法能够通过软件设置充分利用现有硬件外设资源的存储单元来提高嵌入式系统的运行效率。本发明的嵌入式操作系统中驱动程序的多级缓存处理办法如下:首先,利用CPU的外设寄存器作为第一级硬件缓存,比如:A/D采样CPU会有16个字的缓存空间;其次,利用CPU的DMA存储空间来做第二级硬件缓存,它的存储空间一般为K级;当第一级硬件缓存被写满之后,产生DMA中断以将第一级硬件缓存中的数据读入第二级硬件缓存中;随后,利用部分RAM空间作为第一级软件缓存,因为DMA的存储空间较小,且需要分给多种外设来使用有限的空间,所以用部分RAM空间作为第一级软件缓存可以增加缓存数据的数量,当第二级硬件缓存被写满之后产生一个CPU中断将第二级硬件缓存中的数据读入第一级软件缓存中等待处理,同时我们还需要建立相应的数据处理任务进程来处理第一级软件缓存中的数据,以保证第一级软件缓存有足够多的有效空间;所以,最后利用部分RAM空间作为第二级软件缓存,在CPU不忙时,启动相应的数据处理任务进程将第一级软件缓存中的无效数据剥除并将有效数据存入第二级软件缓存中,以保证第一级软件缓存中的有效数据不被覆盖。所述第二级软件缓存的主要作用是避免CPU不能及时处理第一级软件缓存中的数据而导致第一级软件缓存中的有效数据被覆盖的问题。
相较于现有技术,本发明嵌入式操作系统中驱动程序的多级缓存处理方法能在有限的CPU及硬件资源的条件下,减少CPU响应中断的次数,防止在响应等级非最高优先级的CPU中断,在采集数据时出现数据采集不完整的现象发生;以及因为任务优先级不够高,采集的数据还没有来得及处理就会被新采集数据覆盖的情况,可提高嵌入式系统的运行效率和稳定性,节约硬件资源的投入。
Claims (5)
1.一种嵌入式操作系统中驱动程序的多级缓存处理方法,其特征在于:利用CPU的外设寄存器作为第一级硬件缓存;利用CPU的DMA存储空间来做第二级硬件缓存;当第一级硬件缓存被写满之后,产生DMA中断以将第一级硬件缓存中的数据读入第二级硬件缓存中;利用部分RAM空间作为第一级软件缓存,当第二级硬件缓存被写满之后产生一个CPU中断将第二级硬件缓存中的数据读入第一级软件缓存中等待处理;利用部分RAM空间作为第二级软件缓存,启动相应的数据处理任务进程将第一级软件缓存中的无效数据剥除并将有效数据存入第二级软件缓存中。
2.如权利要求1所述的嵌入式操作系统中驱动程序的多级缓存处理方法,其特征在于:所述第一级硬件缓存为A/D采样CPU的外设16个字的缓存空间。
3.如权利要求1所述的嵌入式操作系统中驱动程序的多级缓存处理方法,其特征在于:所述第二级硬件缓存的DMA存储空间为K级。
4.如权利要求1所述的嵌入式操作系统中驱动程序的多级缓存处理方法,其特征在于:所述数据处理任务进程是在CPU不忙时启动的。
5.如权利要求1所述的嵌入式操作系统中驱动程序的多级缓存处理方法,其特征在于:所述第二级软件缓存可以避免CPU不能及时处理第一级软件缓存中的数据而导致第一级软件缓存中的有效数据被覆盖的问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210565276.5A CN103034538B (zh) | 2012-12-24 | 2012-12-24 | 一种嵌入式操作系统中驱动程序的多级缓存处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210565276.5A CN103034538B (zh) | 2012-12-24 | 2012-12-24 | 一种嵌入式操作系统中驱动程序的多级缓存处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103034538A true CN103034538A (zh) | 2013-04-10 |
CN103034538B CN103034538B (zh) | 2015-06-17 |
Family
ID=48021461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210565276.5A Active CN103034538B (zh) | 2012-12-24 | 2012-12-24 | 一种嵌入式操作系统中驱动程序的多级缓存处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103034538B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763188A (zh) * | 2014-01-22 | 2014-04-30 | 四川九洲空管科技有限责任公司 | 一种多类型报文实时处理方法及装置 |
CN104484228A (zh) * | 2014-12-30 | 2015-04-01 | 成都因纳伟盛科技股份有限公司 | 基于Intelli-DSC的分布式并行任务处理系统 |
CN105677592A (zh) * | 2015-12-31 | 2016-06-15 | 北京经纬恒润科技有限公司 | 一种总线通信方法及系统 |
CN106095696A (zh) * | 2016-07-26 | 2016-11-09 | 上海航天测控通信研究所 | 一种基于自适应路由及调度策略的高速缓存装置 |
CN107255962A (zh) * | 2017-06-15 | 2017-10-17 | 青岛大学 | 一种内嵌微处理器核和完整硬件操作系统的微控制器架构 |
CN108090529A (zh) * | 2016-11-22 | 2018-05-29 | 上海宝信软件股份有限公司 | 基于射频识别技术的现场终端作业过程数据的存储方法 |
CN108551490A (zh) * | 2018-05-14 | 2018-09-18 | 西京学院 | 一种工业流数据编码解码系统及方法 |
CN109246475A (zh) * | 2016-07-12 | 2019-01-18 | 联发科技股份有限公司 | 一种视频处理系统及视频接收系统 |
CN109783209A (zh) * | 2018-11-28 | 2019-05-21 | 四川商通实业有限公司 | 一种多级缓存提高服务器处理效率的方法及系统 |
CN113282040A (zh) * | 2021-05-26 | 2021-08-20 | 苏州智加科技有限公司 | 减少整车网关转发丢帧的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194431A1 (en) * | 2001-06-16 | 2002-12-19 | Samsung Electronics Co., Ltd. | Multi-level cache system |
CN101034375A (zh) * | 2007-02-12 | 2007-09-12 | 忆正存储技术(深圳)有限公司 | 计算机存储系统 |
US20110231593A1 (en) * | 2010-03-19 | 2011-09-22 | Kabushiki Kaisha Toshiba | Virtual address cache memory, processor and multiprocessor |
-
2012
- 2012-12-24 CN CN201210565276.5A patent/CN103034538B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194431A1 (en) * | 2001-06-16 | 2002-12-19 | Samsung Electronics Co., Ltd. | Multi-level cache system |
CN101034375A (zh) * | 2007-02-12 | 2007-09-12 | 忆正存储技术(深圳)有限公司 | 计算机存储系统 |
US20110231593A1 (en) * | 2010-03-19 | 2011-09-22 | Kabushiki Kaisha Toshiba | Virtual address cache memory, processor and multiprocessor |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763188B (zh) * | 2014-01-22 | 2016-08-31 | 四川九洲空管科技有限责任公司 | 一种多类型报文实时处理方法及装置 |
CN103763188A (zh) * | 2014-01-22 | 2014-04-30 | 四川九洲空管科技有限责任公司 | 一种多类型报文实时处理方法及装置 |
CN104484228A (zh) * | 2014-12-30 | 2015-04-01 | 成都因纳伟盛科技股份有限公司 | 基于Intelli-DSC的分布式并行任务处理系统 |
CN104484228B (zh) * | 2014-12-30 | 2017-12-29 | 成都因纳伟盛科技股份有限公司 | 基于Intelli‑DSC的分布式并行任务处理系统 |
CN105677592A (zh) * | 2015-12-31 | 2016-06-15 | 北京经纬恒润科技有限公司 | 一种总线通信方法及系统 |
CN109246475A (zh) * | 2016-07-12 | 2019-01-18 | 联发科技股份有限公司 | 一种视频处理系统及视频接收系统 |
CN106095696A (zh) * | 2016-07-26 | 2016-11-09 | 上海航天测控通信研究所 | 一种基于自适应路由及调度策略的高速缓存装置 |
CN106095696B (zh) * | 2016-07-26 | 2018-11-09 | 上海航天测控通信研究所 | 一种基于自适应路由及调度策略的高速缓存装置 |
CN108090529B (zh) * | 2016-11-22 | 2021-08-06 | 上海宝信软件股份有限公司 | 基于射频识别技术的现场终端作业过程数据的存储方法 |
CN108090529A (zh) * | 2016-11-22 | 2018-05-29 | 上海宝信软件股份有限公司 | 基于射频识别技术的现场终端作业过程数据的存储方法 |
CN107255962B (zh) * | 2017-06-15 | 2019-11-26 | 青岛大学 | 一种内嵌微处理器核和完整硬件操作系统的微控制器架构 |
CN107255962A (zh) * | 2017-06-15 | 2017-10-17 | 青岛大学 | 一种内嵌微处理器核和完整硬件操作系统的微控制器架构 |
CN108551490A (zh) * | 2018-05-14 | 2018-09-18 | 西京学院 | 一种工业流数据编码解码系统及方法 |
CN108551490B (zh) * | 2018-05-14 | 2021-06-18 | 西京学院 | 一种工业流数据编码解码系统及方法 |
CN109783209A (zh) * | 2018-11-28 | 2019-05-21 | 四川商通实业有限公司 | 一种多级缓存提高服务器处理效率的方法及系统 |
CN109783209B (zh) * | 2018-11-28 | 2023-08-22 | 四川商通实业有限公司 | 一种多级缓存提高服务器处理效率的方法及系统 |
CN113282040A (zh) * | 2021-05-26 | 2021-08-20 | 苏州智加科技有限公司 | 减少整车网关转发丢帧的方法及装置 |
CN113282040B (zh) * | 2021-05-26 | 2022-08-05 | 苏州智加科技有限公司 | 减少整车网关转发丢帧的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103034538B (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103034538B (zh) | 一种嵌入式操作系统中驱动程序的多级缓存处理方法 | |
EP2988221B1 (en) | Controller, flash memory device and method for writing data into flash memory device | |
US20210192046A1 (en) | Resource Management Unit for Capturing Operating System Configuration States and Managing Malware | |
CN102323899B (zh) | Numa体系结构下面向容错的操作系统内存管理方法 | |
CN102652313A (zh) | 闪速存储器控制器 | |
CN102521175B (zh) | 一种sdram控制器及其工作方法 | |
US20240012683A1 (en) | Resource Management Unit for Capturing Operating System Configuration States and Offloading Tasks | |
CN104239231B (zh) | 一种加速二级缓存预热的方法及装置 | |
US20200081651A1 (en) | Near-memory data-dependent gather and packing | |
US20150324293A1 (en) | Controlled cache injection of incoming data | |
CN105302485B (zh) | 一种安全擦除方法及装置 | |
WO2022188778A1 (zh) | 内存回收中页颠簸的处理方法、装置及电子设备 | |
CN103019865A (zh) | 虚拟机监控方法和系统 | |
CN102542525A (zh) | 一种信息处理设备以及信息处理方法 | |
CN109408405A (zh) | 内存页交换方法、装置、终端及存储介质 | |
US11630698B2 (en) | Resource management unit for capturing operating system configuration states and swapping memory content | |
CN109284231B (zh) | 内存访问请求的处理方法、装置及内存控制器 | |
CN104103119A (zh) | 一种高速纸币冠字号码识别系统及其实现方法 | |
CN103186474B (zh) | 对处理器的高速缓存进行清除的方法以及该处理器 | |
CN102103490A (zh) | 一种利用流水处理提高内存效率的方法 | |
KR101841547B1 (ko) | 모바일 gpu를 위한 스케일 공간 생성 최적화 방법 | |
CN102063291B (zh) | 一种前瞻线程的多级并行执行方法 | |
CN1821944A (zh) | 存储器写入方法与控制装置 | |
CN110688325B (zh) | 一种固态硬盘的垃圾回收方法、装置、设备及存储介质 | |
CN102426347B (zh) | 避免因电能表动态自检而发生错误的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |