带指令缓冲的总线接口装置及其访问外部存储器的方法制造方法及图纸

技术编号:2880858 阅读:244 留言:0更新日期:2012-04-11 18:40
一种带指令缓冲的总线接口装置及其访问外部存储器的方法,包括设有空闲、取指和数据访问三种状态的AHB总线接口,与所述AHB总线接口连接的多路控制器,分别与所述多路控制器连接的指令缓冲单元、数据缓冲单元以及整合单元,所述整合单元包括一个有限状态自动机,用于和所述多路控制器配合,控制所述AHB总线在所述指令缓冲单元和所述数据缓冲单元之间进行切换以确保在任何时候只有其中一个缓冲单元在工作。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及处理器接口访问控制技术,具体涉及一种带指令缓冲功能的总线接口装置及其外部访问方法,尤其涉及通讯领域的基于ARM 7 TDMI核与AHB总线接口装置以及通过该接口装置访问外部存储器的方法。ARM公司(Advanced RISC Machines Ltd)设计的ARM 7 TDMI核(以下简称“核”)以及由其提出的AHB(Advanced High-performanceBus的缩写,指先进的高性能总线)高速片内总线规范已经在当前众多嵌入式微处理器系统中使用。在此类系统中,核将通过AHB总线访问存储器系统以及各种外围设备。由于核的外部存储器访问信号和时序与AHB总线规范有所不同,所以需要设计特殊的ARM 7 TDMI(指由ARM公司提供的32位嵌入式RISC微处理器)核的AHB总线接口。核的外部存储器接口具有32位地址线、32位数据线和若干控制信号。核提出的访问指令和访问数据操作都通过该接口完成。在指令序列不发生转移的情况下,连续的取指操作往往会被长时间内部操作指令(例如乘法指令)和数据访问指令所打断。另外,由于微处理器上运行程序均具有的局部性原理,访问指令和访问数据具有不同的特点访问指令的存储器访问地址具有很好的连续性,但是访问数据存储器访问地址则表现出很强的随机性。在一般的微处理器系统中,大多采用动态存储器器件作为外部存储器。这类存储器的一个重要特点就是启动一次存储器访问需要很长的时间(典型的时间是60~80ns),但是一旦启动后对连续后续地址访问的存储器请求(即突发方式)却能很快地完成(典型的时间是10ns)。所以,尽量采用突发方式访问动态存储器器件成为提高外部存储器系统带宽的重要技术。在已有的ARM 7 TDMI的AHB总线接口设计中(例如ARM公司在EASY AHB系统中所设计的Wrapper部件),都是直接将ARM 7 TDMI提出的存储器访问请求信号转化为AHB总线上的传输命令,而没有充分考虑指令访问和数据访问的不同特点。虽然程序的运行中指令序列并没有发生转移,但是由于插入了访问数据操作或长时间的指令执行操作,使得连续的访问指令操作变得不再连续。被打断后访问指令操作的地址虽然和前次指令访问的地址保持连续,但是仍然需要花费大量的时间以重新启动外部的动态存储器器件,这样无疑会延长核等待访问指令操作的时间。由于高速微处理器系统的主频可能会超过100MHZ,这个问题就显得尤其严重。本专利技术的目的是提供一种带指令缓冲的总线接口装置以及通过该装置进行外部存储器访问的方法,可以应用于ARM 7 TDMI核与AHB总线的访问接口,通过充分考虑访问指令操作和访问数据操作的不同特点,可以克服了现有技术中连续访问指令被打断的缺点,解决现有技术中存在的ARM 7 TDMI核取指访问外部存储器效率不高问题。本专利技术的目的是这样实现的,构造一种带缓冲功能的总线接口装置,包括设有空闲、取指和数据访问三种状态的AHB总线接口,与所述AHB总线接口连接的多路控制器,分别与所述多路控制器连接的指令缓冲单元、数据缓冲单元以及整合单元,所述整合单元包括一个有限状态自动机,用于和所述多路控制器配合,控制所述AHB总线在所述指令缓冲单元和所述数据缓冲单元之间进行切换以确保在任何时候只有其中一个缓冲单元在工作。在按照本专利技术提供的装置中,所述整合单元中的有限状态自动机与所述多路控制器配合实现以下状态迁移在空闲状态收到取指请求后,进入指令缓冲请求状态;在指令缓冲请求状态下,指令缓冲进行取指操作,同时禁止数据缓冲的运作,在进行取指操作的同时,如果检测到数据缓冲有操作请求,则进入指令缓冲请求保持状态;在指令缓冲请求保持状态,数据缓冲的请求将保持直到指令缓冲操作结束为止,一旦指令缓冲操作结束,立即进入数据缓冲请求状态;在数据缓冲请求状态,进行数据缓冲的读数或写数操作,同时禁止指令缓冲运作,在进行数据读写操作的同时,如果检测到指令缓冲有操作请求,状态机将进入数据缓冲请求保持状态;在数据缓冲请求保持状态下,指令缓冲的请求将保持直到数据缓冲操作结束为止,一旦数据缓冲操作结束,立即进入指令缓冲请求状态;如此循环,在没有请求后,系统自动返回初始状态。在按照本专利技术提供的装置中,所述指令缓冲单元包括用于存放指令的指令缓冲寄存器组211;可判断ARM 7 TDMI核发出的取指地址是否在所述缓冲寄存器组中的地址命中判断部件212;还包括核读指令控制部件213,用于接收ARM 7 TDMT核发出的访存请求,并根据所述地址命中判断部件212的判断结果,控制所述指令缓冲寄存器组211输出相应的指令字到所述ARM 7 TDMT核数据总线上,并产生满足ARM 7 TDMI核规范的时序信号;以及产生AHB总线访存的时序信号,并根据其响应向指令缓冲寄存器组211的相应地址写入从AHB总线读入数据的AHB读指令控制部件214。在按照本专利技术提供的装置中,其特征在于,所述指令缓冲单元21中的核读指令控制部件213根据ARM 7 TDMI核输出的取指地址,并基于所述地址命中判断部件212判断该地址是否命中,如果取指地址命中所述缓冲寄存器组211,则所述核读指令控制部件213将按照ARM 7 TDMT核的规范回应系统等待信号,并将缓冲中的指令字回送到ARM 7 TDMI核的数据线上。本专利技术的另一目的是这样实现的,一种基于带指令缓冲功能的总线接口访问外部存储器的方法,在总线接口中设置有指令缓冲单元和数据缓冲单元,还设置有控制单元,用于将可能会用到的指令事先利用突发方式通过AHB总线从外部存储器系统中取到指令缓冲单元,在随后的访问指令操作中,只要指令已经存在于缓冲单元中,即使是被访问数据或长时间操作指令所打断的访问指令操作也可以直接从缓冲单元中获得指令而无需访问外部存储器。在按照本专利技术提供的装置中,当数据缓冲单元请求进行数据访问时,如果所述指令缓冲单元正在利用突发方式进行指令预取操作,则所述数据缓冲单元将等待指令预取操作结束,其中,使数据缓冲单元等待的方法是设置该缓冲的AHB总线从设备准备好信号为低。在按照本专利技术提供的方法中,所述指令缓冲是这样进行的根据ARM 7 TDMI核产生的第一次取指地址,自动按照递增方式产生后续存储器地址,并利用8字回卷突发方式(指令缓冲容量设定为8个字)在AHB总线上获得存储器中的指令,并将其存放到缓冲中;当ARM 7TDMI核发生后续取指地址,指令缓冲将首先检测它是否处于当前缓冲中有效地址范围之内,如果要访问的指令不在缓冲之内,则将中断可能正在进行的先前指令预取操作,并刷新缓冲;随后将进行新的指令预取操作;如果取指地址在当前缓冲中的有效地址范围内,则ARM7 TDMI核将从指令缓冲器中得到相应的指令。在上述按照本专利技术提供的方法中,所述数据缓冲的读数和写数操作是这样进行的当ARM 7 TDMI核进行读操作时,数据缓冲将首先启动一次AHB单独读操作,如果不是单独读而是连续读,则随后在AHB上采用连续预读方式,在连续读结束前抛弃前2次读回的数据;当ARM 7 TDMI核进行写操作时,数据缓冲将首先接收头两次写入的地址和数据,才决定采取何种方式写入如果第二次为连续方式就采用连续突发方式写入;如果第二次为非连续方式就采用单个突发方式写入。在上本文档来自技高网...

【技术保护点】
一种带指令缓冲功能的总线接口装置,包括设有空闲、取指和数据访问三种状态的AHB总线接口,与所述AHB总线接口连接的多路控制器,分别与所述多路控制器连接的指令缓冲单元、数据缓冲单元以及整合单元,所述整合单元包括一个有限状态自动机,用于和所述多路控制器配合,控制所述AHB总线在所述指令缓冲单元和所述数据缓冲单元之间进行切换以确保在任何时候只有其中一个缓冲单元在工作。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈虎朱子宇黄海梁松海
申请(专利权)人:深圳市中兴集成电路设计有限责任公司
类型:发明
国别省市:94[中国|深圳]

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

1