一种内存访问仲裁装置和方法制造方法及图纸

技术编号:2843178 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种内存访问仲裁装置,包括:内存访问仲裁模块、访问打断控制模块和内存接口控制模块。本发明专利技术还公开了一种内存访问仲裁方法,包括如下步骤:A、硬件模块通过总线接口提交带有优先级信息的读/写访问请求;B、根据所述优先级信息以及优先级表,判断是否允许所述读/写访问请求访问内存,若是执行步骤C,否则使所述总线接口处于等待状态并转至步骤A;C、根据所述读/写访问请求对内存进行相应的读/写操作。本发明专利技术方案可以使具有较高优先级的任务及时访问内存,提高硬件模块的响应速度。

【技术实现步骤摘要】

本专利技术涉及内存控制
,特别涉及。
技术介绍
随着片上系统(System on Chip,SOC)芯片技术的发展,一颗芯片上集成的模块越来越多,这些模块包括中央处理器(CPU)、数字信号处理器(Digital Signal Processor,DSP)、专用硬件电路等,因此需要有大容量内存支持。当一个硬件模块访问内存的过程中,其它硬件模块也要访问内存,这种情况就称为多个硬件模块对内存同时进行访问。在这种情况下,必须采用一定的方法对这些访问任务进行调度,才能使这些硬件模块都能够正确地访问内存。目前通常采用的方法是在多个硬件模块同时访问内存的情况下,对这些访问任务按照时间顺序进行排队操作,并按照这种队列顺序依次执行这些访问操作。这种按照队列顺序访问内存的方法虽然保证了多个硬件模块都能够正确地访问内存,但是处理效率不高。例如,有任务A和任务B同时访问内存,其中任务B是具有较高优先级的紧急任务,要求尽快完成,任务A是非紧急任务,优先级较低。但如果任务A先提交,则任务B必须等待任务A对内存的访问执行完毕后才能访问内存。因此,现有技术方案存在的问题是不能很使具有较高优先级的任务及时取得内存的访问控制权限,可能影响硬件模块的响应速度,进而导致系统效率降低。
技术实现思路
有鉴于此,本专利技术的目的在于,提出一种内存访问仲裁装置,可以使具有较高优先级的任务及时访问内存,提高硬件模块的响应速度。该装置包括内存访问仲裁模块,用于接收带有优先级信息的读/写访问请求,根据所述优先级信息判断是否允许所述读/写访问请求访问内存,并将判断结果发送至所述总线接口;内存接口控制模块,用于根据来自所述总线接口的读/写控制信号对内存进行访问操作。所述内存访问仲裁模块包括2n-1个比较单元,分为n级,第1级的比较单元用于接收两个总线接口模块的读/写访问请求,将具有较高优先级的读/写访问请求发送至第2级比较单元;第i级比较单元用于接收来自两个第i-1级比较单元的读/写访问请求,将具有较高优先级的读/写访问请求发送至第i+1级比较单元,l<i<n;第n级比较单元用于接收来自两个第n-1级比较单元的读/写访问请求,将具有较高优先级的读/写访问请求发送至仲裁结果生成单元;仲裁结果生成单元,用于对所收到的读/写访问请求所对应的硬件接口生成允许访问信号,对于其它发出读/写访问请求的总线接口生成禁止访问信号。较佳地,该装置进一步包括访问打断控制模块,用于当收到来自内存访问仲裁模块的判断结果为允许访问时,根据所述总线接口的优先级以及当前内存状态,判断是否打断当前对内存的访问操作,并根据判断结果向内存接口控制模块发送打断信号;则所述内存接口控制模块进一步用于根据所述打断信号打断当前对内存的访问操作。较佳地,该装置进一步包括优先级控制模块,用于存储优先级表,接收来自内存访问仲裁模块的仲裁结果以及来自各个总线接口的读/写访问请求,对所存储的优先级表进行动态调整,并将调整后的优先级表发送至内存访问仲裁模块;则所述内存访问仲裁模块根据所述优先级信息判断是否允许所述读/写访问请求访问内存为根据所述优先级信息查询所述优先级表,根据查询结果判断是否允许所述读/写访问请求访问内存。所述优先级控制模块进一步包括等待定时器,用于设定仲裁结果为禁止访问的读/写访问请求的等待时长;则所述优先级控制模块用于当收到读/写访问请求的仲裁结果为禁止访问时,启动与所述读/写访问请求对应的等待定时器,当所述等待定时器超时则提高所述读/写访问请求的优先级。所述等待定时器的时长根据所述读/写访问请求的优先级而定,并且优先级越高则时长越短。所述内存为同步动态随机内存SDRAM。本专利技术的目的还在于,提出一种内存访问仲裁方法,可以使具有较高优先级的任务及时访问内存,提高硬件模块的响应速度。该方法包括如下步骤A、硬件模块通过总线接口提交带有优先级信息的读/写访问请求;B、根据所述优先级信息以及优先级表,判断是否允许所述读/写访问请求访问内存,若是执行步骤C,否则使所述总线接口处于等待状态并转至步骤A;C、根据所述读/写访问请求对内存进行相应的读/写操作。步骤B所述判断之后进一步包括根据各个硬件模块的读/写访问请求和/或所述判断结果,对所述优先级表进行动态调整。所述对优先级表进行动态调整包括若所述读/写访问请求与当前对内存的访问操作处于内存地址同一行内,则提高所述读/写访问请求的优先级;或者,若所述读/写访问请求在等待时长内没有得到访问权限,则提高所述读/写访问请求的优先级。所述C之前,进一步包括根据所述总线接口的优先级信息以及内存状态,判断是否允许所述读/写访问请求打断当前对内存的读/写访问操作,若是则打断当前对内存的读/写访问操作,并执行步骤C;否则直接执行步骤C。从以上技术方案可以看出,使对内存的访问请求带有优先级信息,根据优先级决定同时提交的各个访问请求的顺序,并且在必要时高优先级的访问请求可以打断当前正在访问内存的低优先级的访问操作,从而使得高优先级的访问请求及时得到响应,可以提高硬件模块的响应速度。并且,本专利技术方案控制电路简单,灵活性高。附图说明图1为本专利技术实施例内存访问仲裁装置示意图;图2为本专利技术实施例内存访问仲裁模块内部逻辑结构示意图;图3为本专利技术实施例处理流程图。具体实施例方式本专利技术提出按照优先级进行任务排队的内存仲裁方法,实现对内存进行及时地访问操作。以下以内存为同步动态随机内存(Synchronous Dynamicrandom access memory,SDRAM)为例,对本专利技术方案进行详细说明。在本专利技术的方案中,硬件模块所发出的对内存进行访问的内存访问请求对应一定级别的优先级,同时对内存进行访问的不同内存访问请求按照其相应的优先级确定访问的先后顺序;在一定条件下,具有较高优先级的访问请求可以中断当前较低优先级的访问请求而优先获得对内存的访问权。本专利技术装置的结构如图1所示,其中,总线接口模块为硬件模块的读/写通道与SDRAM之间的接口,不同的硬件模块具有相应的总线接口模块。总线接口支持访问SDRAM的总线协议,将硬件模块的读/写动作解析成SDRAM所能支持的访问请求以及读/写控制信号。具体地说,首先总线接口模块向内存访问仲裁装置发送读/写请求,若所述内存访问仲裁装置返回允许访问信号,则向所述内存访问仲裁装置发送读/写控制信号,并实现相应的对SDRAM的读/写操作;若所述内存访问仲裁装置返回禁止访问信号,则所述总线接口模块进入等待状态,直到收到允许访问信号。所述内存访问仲裁装置包括如下模块优先级控制模块101,用于存储优先级表,并根据一定的算法动态调整所存储的优先级表。具体地说,该模块可以存储一个静态优先级表,所述静态优先级表中给出不同优先级的访问请求的访问次序。该模块还可以根据各个总线接口模块当前时刻和下一时刻的请求以及各个时刻内存访问仲裁模块的仲裁结果,在所述静态优先级表的基础上,根据一定的算法动态调整优先级表,并将所述调整后的优先级表发送至内存访问仲裁模块102。所述动态调整优先级表可以包括如下方式a、提高访问地址与当前访问处于SDRAM地址同一行内的访问请求的优先级。一般来说如果地址在SDRAM同一行内的访问,可以不需要进行行关闭和预充电过程。因此可以提高对SD本文档来自技高网...

【技术保护点】
一种内存访问仲裁装置,其特征在于,该装置包括:内存访问仲裁模块,用于接收带有优先级信息的读/写访问请求,根据所述优先级信息判断是否允许所述读/写访问请求访问内存,并将判断结果发送至所述总线接口;内存接口控制模块,用于根据来自 所述总线接口的读/写控制信号对内存进行访问操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:李晓强
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1