本发明专利技术适用于存储器领域,提供了一种外部存储器的访问控制方法及访问控制装置,该方法包括下述步骤:接收指令数据访问请求,所述指令数据访问请求包括第一指令数据访问地址;从预先读取的数据中读取与所述第一指令数据访问地址对应的数据行中的所有数据;将所述第一指令数据访问地址加上预设的步长值作为第二指令数据访问地址;从外部存储器中读取并缓存与所述第二指令数据访问地址对应的数据行中的所有数据。本发明专利技术实施例通过对指令数据进行预先读取缓存,从而在处理器的高速缓存未命中时,从预先读取缓存的指令数据中读取相应的指令数据,从而提高了处理器的工作效率。
【技术实现步骤摘要】
本专利技术属于存储器领域,尤其涉及一种外部存储器的访问控制方法及访问 控制装置。
技术介绍
处理器是系统工作的核心,它需要与外部存储器进行频繁的数据交互来进 行运算或者系统控制。但由于现有的外部存储器的运行速度远远小于处理器的 运算速度,造成处理器必须等待所需数据从外部存储器中获得才能继续进行运 算,从而降低了处理器的工作效率。为了降低低速的外部存储器对处理器工作效率的影响,现有技术提供了多 种外部存储器访问方法,如在处理器中设置高速緩存,当处理器发生数据访问 请求时,先从高速緩存中查询,如果没有,则高速緩存才艮据处理器的数据访问 请求携带的数据访问地址从外部存储器中读取该数据访问地址对应的数据行的 所有数据,这种外部存储器访问方法对于处理器重复访问同一地址区域的数据 十分有效,但如果处理器经常访问不同的地址区域,则高速緩存的命中率大大 下降,从而影响处理器的工作效率。现有技术提供另一种基于预先读取机制的外部存储器的访问方法,该方法 是基于预设的预先读取机制,将预测的处理器需要的数据提前从外部存储器中 读取至高速緩存中,当处理器需要使用时,直接从高速緩存中获取。这种方法 降低了读取数据的延时,但由于处理器所需的数据一般可分指令数据和运算数 据,其中运算数据的相关性与具体的应用有关,比较复杂,如果采用预先读取 机制预先读取运算数据,则预先读取机制设计复杂,且通用性不好,难以提高 处理器的工作效率。
技术实现思路
本专利技术实施例的目的在于提供一种外部存储器的访问控制方法,旨在解决 现有技术在处理器访问外部存储器时访问效率低下的问题。本专利技术实施例是这样实现的, 一种外部存储器的访问控制方法,所述方法包括下述步骤从预先读取的数据中读取与所述第 一指令数据访问地址对应的数据行中的 所有数据;将所述第 一指令数据访问地址加上预设的步长值作为第二指令数据访问地址;从外部存储器中读取并緩存与所述第二指令数据访问地址对应的数据行中 的所有数据。进一步的,在接收到指令数据访问请求时,从预先读取的数据中读取与所 述指令数据访问请求携带的第 一指令数据访问地址对应的数据行中的所有数据 的步骤之前,所述方法还包括下述步骤接收数据访问请求,并判断所述数据访问请求是否为指令数据访问请求, 当所述数据访问请求不是指令数据访问请求时,根据所述数据访问请求,直接 对外部存储器进行访问操作。进一步的,在将所述第一指令数据访问地址加上预设的步长值作为第二指 令数据访问地址,从外部存储器中读取并緩存与所述第二指令数据访问地址对 应的数据行中的所有数据的步骤之后,所述方法还包括下述步骤判断是否接收到非指令数据访问请求,或者接收到的指令数据访问请求携 带的指令数据访问地址是否为所述第 一指令数据访问地址后的连续地址,或者 预先读取的数据是否已达到预设的数量,如果是,结束读取;如果未接收到非指令数据访问请求,接收到的指令数据访问请求携带的指 令数据访问地址是所述第 一指令数据访问地址后的连续地址,且预先读取的数据未达到预设的数量,则将所述第二指令数据访问地址加上预设的步长值作为 第三指令数据访问地址,继续从外部存储器中读取与所述第三指令数据访问地 址对应的数据行中的所有数据,循环执行,直至接收到非指令数据访问请求, 或者接收到的指令数据访问请求携带的指令数据访问地址不是所述第 一指令数 据访问地址后的连续地址,或者预先读取的数据达到预设的数量。本专利技术实施例的另一目的在于提供一种外部存储器的访问控制装置,所述 访问控制装置包括总线接口,与所述总线接口分别连接的状态处理器、预取数据緩存,分别 与所述状态处理器、预取数据緩存连接的外部存储器接口,以及与所述状态处理器连接的预取地址緩存;所述状态处理器根据所述总线接口接收的数据访问请求控制所述外部存储 器接口从外部读取数据至所述预取数据緩存。进一步的,所述访问控制装置还包括分别与所述总线接口和外部存储器接口连接的读緩存和写緩存;此时, 所述状态处理器根据所述总线接口接收的数据访问请求,控制所述外部存储器接口从外部存储器中读取数据至所述读緩存,或者将所述写緩存中的数据写入外部存储器。进一步的,所述状态处理器包括指令判断单元,用于判断所述总线接口接收的数据访问请求是否为指令数 据访问请求;地址匹配单元,用于在所述指令判断单元的结果为是时,将所述指令数据 访问请求携带的第 一指令数据访问地址与所述预取地址緩存中预存的地址进行 匹酉己;访问控制单元,用于根据所述指令判断单元,或者地址匹配单元的判断结 果控制所述外部存储器接口从外部存储器中读取数据至所述读緩存,或者从外 部存储器中预先读取数据至所述预取数据緩存,或者将所述写緩存中的数据写入外部存储器。在本专利技术实施例中,通过设置一外部存储器的访问控制装置,对指令数据 进行预先读取緩存,从而在处理器的高速緩存未命中时,可以从外部存储器的 访问控制装置中预先读取緩存中读取相应的指令数据,从而提高了处理器的工 作效率。附图说明图1是本专利技术实施例提供的外部存储器访问控制方法的实现流程图; 图2是本专利技术实施例4是供的外部存储器的访问控制装置的结构组成图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本专利技术,并不用于限定本专利技术。在本专利技术实施例中,在接收到指令数据访问请求时,从预先读取的数据中 读取与该指令数据访问请求携带的指令数据访问地址对应的数据行中的所有数 据,同时将该指令数据访问地址加上预设的步长值作为指令数据访问地址,从 外部存储器中预先读取并緩存与该指令数据访问地址对应的数据行的所有数 据,从而在处理器使用指令数据前,预先读取指令数据,提高了处理器的工作 效率。图1示出了本专利技术实施例提供的外部存储器访问控制方法的实现流程,详 述如下在步骤SIOI中,接收携带数据访问地址的数据访问请求,并判断该数据访 问请求是否为指令数据访问请求,如果是,执行步骤S102,否则,执行步骤 S106。由于处理器所需的数据一般可分为两种, 一种是指令数据,另一种是运算数据。其中指令数据是处理器的指令代码,其相关性一般呈固定的连续性。运 算数据是处理器的运算对象,其相关性与具体的运算应用有关,且比较复杂。 因此,数据访问请求可以是指令数据访问请求或者运算数据访问请求。由于运 算数据的相关性与具体的运算应用有关,因此,需要根据具体的运算应用设计 对应的数据预先读取机制,难以设计一种通用的数据预先读取机制来预先读取 运算数据。而指令数据的相关性呈固定的连续性,因此,本专利技术实施例主要针 对指令数据设计一种指令数据的预先读取机制。所以,在接收到数据访问请求 时,需要判断该数据访问请求是否为指令数据访问请求。在本专利技术实施例中,可以通过在数据访问请求中添加标志信号,通过该标 志信号标识该数据访问请求为指令数据访问请求还是运算数据访问请求。在接 收到携带数据访问地址的数据访问请求后,根据该数据访问请求中的标志信号 判断该数据访问请求是否为指令数据访问请求。如果该数据访问请求为指令数 据访问请求,则该数据访问请求携带的数据访问地址为第 一指令数据访问地址A,如果该数据访问请求为运算数据访本文档来自技高网...
【技术保护点】
一种外部存储器的访问控制方法,其特征在于,所述方法包括下述步骤: 接收指令数据访问请求,所述指令数据访问请求包括第一指令数据访问地址; 从预先读取的数据中读取与所述第一指令数据访问地址对应的数据行中的所有数据; 将所述第一指令数据访问地址加上预设的步长值作为第二指令数据访问地址; 从外部存储器中读取并缓存与所述第二指令数据访问地址对应的数据行中的所有数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:牟刚,
申请(专利权)人:炬力集成电路设计有限公司,
类型:发明
国别省市:44[中国|广东]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。