内存控制器、处理器系统及内存访问控制方法技术方案

技术编号:7083482 阅读:232 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种内存控制器,包括优先级选择模块、仲裁模块、控制模块、内存映射模块及sram;其中,所述优先级选择模块用于选择内存的访问请求中的强实时任务进行优先处理;所述仲裁模块连接于优先级选择模块及控制模块,用于根据优先级的高低对所述强实时任务的内存访问顺序进行调度;所述内存映射模块连接于优先级选择模块、仲裁模块,用于对所述内存的访问请求的逻辑内存地址映像成内存的物理地址;所述控制模块连接于仲裁模块及内存映射模块,用于根据所述仲裁模块的调度信息及内存映射模块的内存映像的物理地址读写数据。本发明专利技术还提供一种处理器系统及内存访问控制方法。本发明专利技术能在有限制的时间内完成强实时任务,保证系统的安全性。

【技术实现步骤摘要】

本专利技术涉及计算机数据存储控制
,尤其是涉及一种。
技术介绍
在计算机运行的过程中,通常会频繁地对内存进行访问,并需要设置内存控制器对内存进行控制。随着技术的发展,运行在一块单硅片上集成系统芯片越来越大,使得芯片设计变得越来越复杂。现代的多处理器SoC (System on Chip,系统级芯片)表现出了大量的IP组件,比如流媒体硬件加速器和带有cache的处理器。这样就导致了内存通讯是动态的,并且在设计的过程中无法完全获得对内存控制的访问请求的到达时间。而对于一些任务有强实时性的要求,这个要求必须被满足以确保SoC功能的正确性。由于这些系统内存容量要求在成本效益方面不能得到片内SRAM的满足。因此更大的内存必须被有效的利用起来,主要由于它们是SoC设计与应用中的瓶颈。在共享内存的时候有一个困难,那就是它的访问时间根据以前的请求会发生很大的改变,这样就导致了任务在共享资源时相互干扰,在后文中我们称访问内存的任务为请求者。因此,到内存的可用带宽的大小对访问的任务来说很有用处,这种带宽可以称为网络带宽,同样也依赖于通讯量。现有的内存控制器在解决不断复杂的SoC时不但不够灵活,而且不能支持对强实时性需求的设计,也不可配置。现有的静态的内存控制器执行预先定义的时间表,这使得它们可以预见,但是同样不能适应访问流量的改变和区别关键请求者的延迟请求。其他的控制器使用动态调度,这样非常的灵活并且能够将提供的网络带宽最大化,但是很难限定需要分析的延迟时间。故现有的内存控制器无法能够实时地检测强实时任务,以保证能够在有限制的时间内完成强实时任务,保证系统的安全性。专
技术实现思路
本专利技术所要解决的技术问题是无法能够实时地检测强实时任务,以保证能够在有限制的时间内完成强实时任务,保证系统的安全性。为解决上述技术问题,本专利技术采用如下技术方案一种内存控制器,其包括优先级选择模块、仲裁模块、控制模块、内存映射模块及 sram ;其中,所述优先级选择模块用于选择内存的访问请求中的强实时任务进行优先处理;所述仲裁模块连接于优先级选择模块及控制模块,用于根据优先级的高低对所述强实时任务的内存访问顺序进行调度;所述内存映射模块连接于优先级选择模块、仲裁模块,用于对所述内存的访问请求的逻辑内存地址映像成内存的物理地址;所述控制模块连接于仲裁模块及内存映射模块,用于根据所述仲裁模块的调度信息及内存映射模块的内存映像的物理地址读写数据。进一步,在上述的内存控制器中,所述内存控制器还包括连接于所述内存映射模块及所述sram的数据输入缓冲模块,用于根据所述强实时任务的内存访问的物理地址进行写操作缓冲;连接于所述sram的数据输出缓冲模块,用于对所述强实时任务的内存访问的物理地址进行读操作缓冲。进一步,在上述的内存控制器中,所述优先级选择器还连接于内存与外界的接口。进一步,在上述的内存控制器中,所述仲裁模块是包括多路复用器的静态优先级调度器。本专利技术还提供一种处理器系统,其包括共享内存、处理器核及上述的内存控制器, 所述内存控制器通过交叉开关矩阵分别连接于处理器核,所述共享内存连接于所述内存控制器,所述处理器核通过内存控制器和交叉开关矩阵向内存发送数据读请求,所述内存控制器访问内存中所需要的数据,并通过所述交叉开关矩阵向处理器核发送数据。本专利技术还提供一种内存访问控制方法,所述内存访问控制方法包括步骤Sl 选择内存的访问请求中的强实时任务进行优先处理;步骤S2 根据优先级的高低对所述强实时任务的内存访问顺序进行调度,并对所述内存的访问请求的逻辑内存地址映像成内存的物理地址;步骤S3 根据所述调度信息及内存映像的物理地址从sram中读写数据。进一步,在上述的内存访问控制方法中,所述步骤Sl中还包括判断内存的访问请求是否为强实时任务,若是,则所述访问请求优先对内存的读写操作;若否,则所述访问请求直接进入请求队列,按照先后顺序完成对内存的读写操作。进一步,在上述的内存访问控制方法中,所述步骤S2中所述对内存访问顺序进行调度具体包括将所述访问请求通过一多路复用器输入到访问数据队列,根据内存访问优先级的高低依次进行读/写操作。进一步,在上述的内存访问控制方法中,所述步骤S2中映射成的内存的物理地址包括块,行和列,内存映射的交错将组的阵列映射到不同的块中。进一步,在上述的内存访问控制方法中,所述步骤S3还包括对所述强实时任务内存的访问请求的读/写操作进行缓存。本专利技术通过设计了内存控制器结构保证了在请求者全为非强实时任务时,提供了尽量大的的网络传输带宽,提高性能;当请求者有强实时任务时,能够实时地检测强实时任务,以保证能够在有限制的时间内完成强实时任务,保证系统的安全性。附图说明图1为本专利技术内存控制器一实施例的结构示意图;图2为本专利技术处理器系统的一实施例的结构示意图;图3为本专利技术内存访问控制方法的流程示意图。具体实施例方式本专利技术可配置的强实时性的内存控制器基于模块化的形式实现的,并且面积和请求者的数量呈线性关系,保证了在请求者全为非强实时任务时,能提供尽量大的的网络传输带宽及提高运行性能;当请求者有强实时任务时,保证强实时任务的运行时间有最大上限的延迟,从而使得该强实时任务能在有限的时间内完成,提高了系统的安全稳定性。下面结合附图详细说明本专利技术的优选实施例。请参阅图1,图1为本专利技术内存控制器一实施例的结构示意图。本专利技术可配置的强实时性的内存控制器包括优先级选择模块10、仲裁模块20、控制模块30、内存映射模块40、数据输入缓冲模块50、数据输出缓冲模块60及sram(静态随机存取记忆体)。其中,所述优先级选择模块10用于选择内存的访问请求中的强实时任务进行优先处理,所述仲裁模块20连接于优先级选择模块10及控制模块30,用于根据优先级的高低对所述强实时任务的内存访问顺序进行调度;所述内存映射模块40,连接于优先级选择模块10、仲裁模块20及数据输入缓冲模块50,用于对所述内存的访问请求的逻辑内存地址映像成内存的物理地址;所述控制模块30连接于仲裁模块20及内存映射模块40, 用于根据所述仲裁模块20的调度信息及内存映射模块40的内存映像的物理地址读写数据;所述数据输入缓冲模块50,连接于所述内存映射模块40及所述sram,用于根据所述强实时任务的内存访问的物理地址进行写操作缓冲;所述数据输出缓冲模块60,连接于所述 sram,用于对所述强实时任务的内存访问的物理地址进行读操作缓冲。具体来说,所述优先级选择器10还连接于内存与外界的接口,即为网络接口 (Ni)。内存的访问请求到达网络接口时(Ni),内存的访问请求经过优先级选择器10选择出强实时任务,所述强实时任务根据请其优先级被映射到请求队列中。当访问内存的请求中有强实时任务与非强实时任务时,所述优先级选择模块10 从请求任务中选择强实时任务,让进行优先完成对内存的读写;当访问请求中只有强实时任务或者只有非强实时任务时,所述优先级选择模块10不工作,以降低控制器的开销,访问请求直接进入请求队列,按照先后顺序完成对内存的访问请求,保证性能的提升。所述仲裁模块20是包括多路复用器的静态优先级调度器,其保证优先级最高的请求者先访问,所挂起的请求被速率调节器确定及索引确定调度请求者,并根据读/写操作标识符返回到本文档来自技高网
...

【技术保护点】
1.一种内存控制器,其特征在于,其包括优先级选择模块、仲裁模块、控制模块、内存映射模块及sram;其中,所述优先级选择模块用于选择内存的访问请求中的强实时任务进行优先处理;所述仲裁模块连接于优先级选择模块及控制模块,用于根据优先级的高低对所述强实时任务的内存访问顺序进行调度;所述内存映射模块连接于优先级选择模块、仲裁模块,用于对所述内存的访问请求的逻辑内存地址映像成内存的物理地址;所述控制模块连接于仲裁模块及内存映射模块,用于根据所述仲裁模块的调度信息及内存映射模块的内存映像的物理地址读写数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:周学文蒋江付宇卓刘婷
申请(专利权)人:上海交通大学
类型:发明
国别省市:31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1