微控制器架构及架构内数据读取方法与流程

文档序号:25038307发布日期:2021-05-11 17:11阅读:115来源:国知局
微控制器架构及架构内数据读取方法与流程

本发明涉及微控制器,尤其涉及一种微控制器架构及架构内数据读取方法。



背景技术:

目前,微控制器架构通常将指令线、数据线、系统线及直接存储器访问控制器(directmemoryaccess,缩写为dma)等主程序直接通过总线与存储器及外部设备做数据的收送;这种做法会因为从端口连接过多的主端口造成微控制器无法在第一时间发送和接收数据,造成了系统不必要的延迟与仲裁优先级的问题。

请参阅图1,图示为本发明技术领域现有技术的微控制器架构系统框图。其中,微控制器、dma、指令存储器、数据存储器、系统存储器及外部设备均连接一条总线,一条总线承载了系统内全部的数据收送。

传统的微控制器架构通常是将数据堆栈与指令堆栈存储在系统存储器内,而系统存储器又同时支援多个主端口的数据收送,这时系统存储器会出现性能瓶颈,这样的架构方式会存在仲裁优先权与长延迟的问题。

另一方面,在实现dma传输时,是由dma直接掌管总线,因此,存在着一个总线控制权转移问题,即dma传输前,微控制器要把总线控制权交给dma,而在结束dma传输后,dma应把总线控制权再交回给微控制器,dma传输期间微控制器无法通过总线与其它单元进行数据收送,浪费了系统资源,降低了效率。



技术实现要素:

鉴于上述情况,有必要提供一种微控制器架构及架构内数据读取方法,以解决上述问题。

本发明提供一种微控制器架构,包括微控制器、系统存储器、指令存储器及数据存储器,还包括相连接的第一总线及第二总线;

所述微控制器连接所述第一总线及所述第二总线,所述指令存储器及所述数据存储器连接所述第一总线,所述系统存储器连接所述第二总线;

所述微控制器通过所述第一总线与所述指令存储器及所述数据存储器进行数据收送,所述微控制器通过所述第二总线与所述系统存储器进行数据收送,所述指令存储器及所述数据存储器通过所述第一总线连接的所述第二总线与所述系统存储器进行数据收送。

进一步地,所述微控制器架构还包括缓冲存储器及缓存控制器;

所述缓冲存储器连接所述缓存控制器,所述缓存控制器连接所述第一总线及所述第二总线;

所述缓存控制器控制所述缓冲存储器内的数据写入或读取,所述缓存控制器通过所述第一总线与所述微控制器进行数据收送,所述缓存控制器通过所述第二总线与所述系统存储器进行数据收送。

进一步地,当所述微控制器需读取所述系统存储器内的数据时,会先通过与所述第一总线连接的所述缓存控制器检查所述缓冲存储器内是否有相同的数据;

若所述缓冲存储器内有相同的数据,则所述微控制器直接通过所述缓存控制器与所述第一总线读取所述缓冲存储器内的数据,反之则所述微控制器通过所述第二总线读取所述系统存储器内的数据。

进一步地,所述微控制器架构还包括dma;

所述dma连接所述第二总线;

所述dma通过所述第二总线与所述系统存储器进行数据收送;所述dma通过所述第一总线与所述指令存储器及所述数据存储器进行数据收送。

进一步地,所述系统存储器内的指令堆栈通过所述第二总线连接的所述dma或所述微控制器转移到所述指令存储器内,所述系统存储器内的数据堆栈通过所述第二总线连接的所述dma或所述微控制器转移到所述数据存储器内。

进一步地,所述微控制器架构内的应用程序均存储在所述系统存储器内,常用的子程序存储在所述指令存储器与所述数据存储器内。

进一步地,所述微控制器架构还包括外部设备;

所述外部设备连接所述第二总线,通过所述第二总线与所述微控制器进行数据及收送。

本发明同时提供一种微控制器架构内数据读取方法,所述微控制器架构包括微控制器、系统存储器、数据存储器、指令存储器、缓冲存储器、与所述缓冲存储器连接的缓存控制器,以及与所述微控制器相连接的第一总线和第二总线;

所述系统存储器连接所述第二总线,所述缓存控制器连接所述第一总线与所述第二总线,所述数据存储器与所述指令存储器均连接所述第一总线;

所述方法包括:

所述微控制器接收读取所述系统存储器内的数据与指令;

所述微控制器通过所述第一总线连接的所述缓存控制器检查所述缓冲存储器内是否有与所述系统存储器相同的数据;

若所述缓冲存储器内有相同的数据,则所述微控制器直接通过所述缓存控制器与所述第一总线读取所述缓冲存储器内的数据;

若所述缓冲存储器内没有相同的数据,则所述微控制器通过所述第二总线读取所述系统存储器内的数据。

进一步地,所述微控制器架构还包括与所述第二总线连接的dma;

所述方法还包括:

所述dma通过所述第二总线与所述系统存储器进行数据收送;

所述dma通过所述第二总线连接的所述第一总线与指令存储器及数据存储器进行数据收送。

进一步地,所述方法还包括:

所述系统存储器内的指令堆栈通过所述第二总线连接的所述dma或所述微控制器转移到所述指令存储器内;

所述系统存储器内的数据堆栈通过所述第二总线连接的所述dma或所述微控制器转移到所述数据存储器内。

上述发明提出的微控制器架构及架构内数据读取方法,通过将传统的单总线分为第一总线与第二总线并分别连接不同的元件,解决了传统架构中存在的仲裁优先权、数据读取延迟及效率低下等弊病,改善了微控制器架构的整体性能。

附图说明

附图中:

图1是本发明技术领域现有技术的微控制器架构的模块示意图。

图2是本发明一实施例的微控制器架构的模块示意图。

图3是本发明一实施例的微控制器架构内数据读取方法的流程示意图。

主要元件符号说明

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其他有益效果显而易见。可以理解,附图仅提供参考与说明用,并非用来对本发明加以限制。附图中显示的尺寸仅仅是为便于清晰描述,而并不限定比例关系。

请参阅图2,图示为本发明提出的微控制器架构一实施例的模块示意图,微控制器架构100内包括微控制器10、系统存储器20、指令存储器30、数据存储器40、第一总线50、第二总线60、缓存控制器70、缓冲存储器71、dma80及外部设备90。

在本实施例中,微控制器10连接第一总线50及第二总线60;缓冲存储器71连接缓存控制器70,缓存控制器70连接第一总线50及第二总线60;指令存储器30连接第一总线50;数据存储器40连接第一总线50;系统存储器20连接第二总线60;dma80连接第二总线60;外部设备90连接第二总线60;第一总线50连接第二总线60。

微控制器10通过第一总线50分别与指令存储器30及数据存储器40进行数据收送,通过第二总线60与系统存储器20及外部设备90进行数据收送,指令存储器30及数据存储器40通过第一总线50连接的第二总线60与系统存储器20进行数据收送。

缓存控制器70控制缓冲存储器71内的数据写入或读取,缓存控制器70通过第一总线50与微控制器10进行数据收送,缓存控制器70通过第二总线60与系统存储器20进行数据收送。

当微控制器10需读取系统存储器20内的数据时,会先通过第一总线50连接的缓存控制器70检查缓冲存储器71内是否有相同的数据;若缓冲存储器71内有相同的数据则微控制器10直接通过缓存控制器70与第一总线50读取缓冲存储器71内的数据,反之则微控制器10通过第二总线60读取系统存储器20内的数据。

dma80通过第二总线60与系统存储器20进行数据收送,通过第二总线60连接的第一总线50与指令存储器30及数据存储器40进行数据收送。

系统存储器20内的指令堆栈可通过第二总线60连接的dma80或微控制器10转移到指令存储器30内,系统存储器20内的数据堆栈可通过第二总线60连接的dma80或微控制器10转移到数据存储器40内。

微控制器架构100内的应用程序均存储在系统存储器20内,常用的子程序存储在指令存储器30与数据存储器40内。

请参阅图3,本发明同时提出一种微控制器架构内数据读取方法,数据读取方法应用于上述微控制器架构100。数据读取方法的步骤如下:

s101:微控制器10接收系统存储器20内的数据与指令。

s102:微控制器10通过第一总线50连接的缓存控制器70检查缓冲存储器71内是否有与系统存储器20相同的数据;

若缓冲存储器71内有相同的数据,则进入步骤s103:微控制器10直接通过缓存控制器70与第一总线50读取缓冲存储器71内的数据;

若缓冲存储器71内没有相同的数据,则进入步骤s104:微控制器10通过第二总线60读取系统存储器20内的数据。

在一实施方式中,数据读取方法还包括:

dma80通过第二总线60与系统存储器20进行数据收送;

dma80通过第二总线60连接的第一总线50与指令存储器30及数据存储器40进行数据收送。

在一实施方式中,数据读取方法还包括:

系统存储器20内的指令堆栈通过第二总线60连接的dma80或微控制器10转移到指令存储器30内;

系统存储器20内的数据堆栈通过第二总线60连接的dma80或微控制器10转移到数据存储器40内。

本发明提出的微控制器架构100及架构内数据读取方法,微控制器10可通过第一总线50直接读取指令存储器30与数据存储器40中的指令与数据,还可以直接与缓存控制器70做数据收送,这时都不会有其它端口争抢第一总线50的使用权;dma80也可以通过第二总线60完成直接存储器访问而无需微控制器10转让总线控制权;通过将常用的子程序存储在指令存储器30与数据存储器40内,增加了子程序在系统存储器20内存储的弹性并改善了系统存储器20的效能。

使用本发明提出的微控制器架构100及架构内数据读取方法,通过将传统的单总线分为第一总线50与第二总线60并分别连接不同的元件,解决了传统架构方法中存在的仲裁优先权、数据读取延迟及效率低下等弊病,改善了微控制器架构的整体性能。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1