共性总线接口结构及其实现方法

文档序号:6391673阅读:112来源:国知局
专利名称:共性总线接口结构及其实现方法
技术领域
本发明涉及总线接口结构及其实现方法,更具体地说,涉及一种共性总线接口结构及其实现方法。
背景技术
在SOC设计领域中,目前使用多种总线标准,其中包括ARM公司的AMBA、IBM公司的CoreConnect以及开放标准的Wishbone。由于者三种总线标准之间不能实现直接的兼容,因此对于使用者来说,对于不同的总线标准需要采用不同的设计,由此而造成了不便。
为了增加通用性,就需要一种能够适用于多种总线标准的共性总线接口。

发明内容
针对现有技术中的上述缺陷,本发明的目的是提供一种共性总线接口结构及其实现方法。以使该种总线接口能够应用于各种不同的总线标准。
本发明的基本技术方案是在处理器和采用特定总线标准的总线以及总线设备之间增加一协议层,该协议层将来自采用特定总线标准的总线以及总线设备的数据转换成一般的、与具体的总线标准无关的数据后再交由处理器处理。由此,对于处理器来说,其处理的数据将不再与具体的总线标准相关,从而实现了对于多种总线标准的通用性。
本发明具体采用如下的技术方案一种共性总线接口结构,可适用于多种总线标准,包括如下结构一处理器核心;一数据总线接口和一指令总线接口,所述数据总线接口和所述指令总线接口具有相同的结构,并与所述处理器核心相连;采用特定标准的总线及数个总线设备,与所述处理器核心通过所述数据总线接口和所述指令总线接口相连。
所述的总线接口结构中的所述数据总线接口和指令总线接口包括用于地址转换的存储器管理单元、用于保存最近最常用数据或者指令的缓存和用于转换时钟域的接口部件,其中,所述的三个部件实现所述处理器核心和所述采用特定标准的总线及数个总线设备之间的访存通道。
按照本发明的设计方案,所述存储器管理单元连接至一外部存储器,所述外部存储器中保存有地址映射表,所述地址映射表至少包括物理地址、访问许可标志位和缓存许可标志位;所述存储器管理单元使用所述地址映射表进行地址变换。所述缓存包括两个独立的缓存,每一个的大小与定义的页面大小一样;所述缓存的行的大小为16个字。而所述接口部件实现存储器时钟域和微处理器时钟域之间的转换。
一种共性总线接口结构的实现方法,所述共性总线接口可适用于多种总线标准,其中,该方法在一处理器核心和采用特定标准的总线及数个总线设备之间实现具有相同结构的一数据总线接口和一指令总线接口作为访存通道,以使所述处理器核心和所述采用特定标准的总线及数个总线设备通过所述的两个接口可通信地相连。
所述的实现方法中,实现数据总线接口和指令总线接口作为访存通道包括实现用于地址转换的存储器管理单元、用于保存最近最常用数据或者指令的缓存和用于转换时钟域的接口部件。
按照本发明的设计方案,实现存储器管理单元包括利用一存储于外部存储器中的地址映射表进行地址的变换;其中,所述地址映射表至少包括物理地址、访问许可标志位和缓存许可标志位。实现缓存包括实现两个独立的缓存,每一个的大小与定义的页面大小一样;所述实现的缓存的行的大小为16个字。而实现接口部件包括在存储器时钟域和微处理器时钟域之间进行转换。
由于采用了上述的技术方案,本发明的共性总线接口结构及其实现方法可适用于多种标准的总线及总线设备,增加了通用性,使SOC设计更为方便。


本发明的特征、本质和优势将在下面结合附图和实施例的描述之后变得更加明显,其中图1是本发明的共性总线接口结构的框图;图2是按照本发明的一个实施例的共性总线接口的详细框图;图3是按照本发明的共性总线接口的访问周期的实例。
具体实施例方式
下面结合附图进一步描述本发明的技术方案。
本发明的主要设计思想是将处理器核心首先连接到两个与具体的总线标准无关的总结接口,即数据总线接口和指令总线接口,由这两个接口再进一步地连接到采用具体总线标准的总线及总线设备。由此,在处理器核心和总线及总线设备之间形成一层中间协议层,该层用于将来自总线的符合特定总线标准的数据转化成对于处理器核心来说统一形式的数据,这样,从处理器核心的角度,就不必要考虑总线标准的不同,这样,通过这宗接口实现了将各种不同标准的总线“抽象”为共性总线。
按照本发明的一个实施例,采用本发明的共性总线接口之后,对于处理器核心来说,其与两个接口(数据总线接口和指令总线接口)之间的通信变得十分的简单,以数据总线接口为例,只需定义用于输出信号request访问请求address访问地址dataout数据输出bw 访问粒度(1=字节,0=字)rw 读写标志(1=读,0=写)用于输入信号wait 等待(1=数据尚未就绪,0=数据就绪)datain 数据输入就能实现数据通信,对于处理器核心来说,其不再需要考虑数据是否符合总线的标准,因此操作将大大地得到简化,对于SOC设计来说,使用者直接操作的是处理器核心,因此,现在使用者同样不再需要考虑各种总线标准的匹配问题,图3是该总线接口的一个访问周期的实例,除了上述的各种信号之外,clock是时钟信号,access request表示访问请求,而acknowledge表示确认信号。
下面说明一下该总线接口的结构和实现方法。图1所示的是按照本发明的一个实施例的共性总线接口结构100的框图,包括如下的结构一处理器核心102;一数据总线接口104和一指令总线接口106,数据总线接口104和指令总线接口106具有相同的结构,并与处理器核心102相连;采用特定标准的总线108及数个总线设备110,与处理器核心102通过数据总线接口104和指令总线接口106相连;其中,指令总线接口104和总线108之间的数据交换是单向的,而数据总线接口104和总线108之间的数据交换是双向的。
在该实施例中,上述所有设备之间采用Wishbone互联结构实现相互连接。
图2进一步说明了上述结构的详细结构框图,数据总线接口104和指令总线接口106包括用于地址转换的存储器管理单元、用于保存最近最常用数据或者指令的缓存和用于转换时钟域的接口部件,这三个部件实现处理器核心和采用特定标准的总线及数个总线设备之间的访存通道。如图2所示的实施例中,其中的处理器核心102为EStarl Core,其连接数据存储器管理单元(MMU)和缓存302(此处MMU和缓存被示为放置在同一个设备中,它们也可以分开放置在不同的设备中的),还连接指令MMU和缓存304。通过302和304,处理器核心EStarl Core连接到总线310(在该实施例中,为Wishbone总线),如图2所示,总线310连接启动ROM306和存控存储器(可以是SRAM、SDRAM或者是FLASH)308,启动ROM 306和存控存储器308中保存有启动时或之后的操作过程中需要使用的指令。需要注意的是,指令MMU和缓存304与总线310的连接是单向的。而数据MMU和缓存302和总线310的连接是双向的。如图2所示的实施例中,总线310和连接到DMA控制器312。总线310还通过Wishbone桥314连接到总线316,总线316连接多个设备,包括中断控制器318、串口320、LCD 322和时钟324,它们都能够通过中断控制器318向处理器核心EStarl Core 102请求中断。
在图2所示的结构中,存储器管理单元(MMU)、缓存和接口部件共同构成了存放通道。其中,存储器管理单元(MMU)进行地址的转换,将逻辑地址变换到物理地址,同时还检查访问许可和特权属性,如果当前的请求无权访问该地址,则会产生ABT异常,出错的逻辑地址和出错的原因会被保存以供ABT异常处理程序进行进一步的查询。缓存存放最近最常用的数据,以减小处理器访问速度较慢的外存时的等待时间,控制缓存的控制寄存器可以被设置在协处理器中。接口部件用于进行时钟域的转换,使外部存储器和内部的处理器能够使用相同的时钟。
在本发明中,MMU提供对于存储器的地址映射和保护机制。该种机制依赖于存放在外部存储器中的地址映射表工作,因此MMU连接至一外部存储器。在地址映射表中,每个表项给出了对应的地址区间的属性,包括物理地址,给出了该表项对应的实地址区间的物理基地址。
访问许可标志位,其指出应用程序需要有什么样的特权级才能访问本表项对应的地址区间。
缓存许可标志位,其指出当前地址区间是否可以使用缓存(cache)以及是否可以使用写缓冲(write buffer)。
通过协处理器的协助,存储器管理单元可使用包括上述信息的地址映射表进行地址变换。一次完整的地址翻译至少需要访问一次地址映射表,如果是二级表项中的地址,还需要额外访问一次二级表项。为了减小访问开销,必须将最常使用的表项缓存在本地,这就产生了TLB机制。当地址映射发生变化后,TLB中的一部分,甚至是全部表项都将失效,此时,必须通过表项清空机制将失效的表项清楚出TLB。另一方面,为了确保关键的,对实时性要求很高的代码和数据能始终保存在TLB中,必须通过表项机制将表项锁定在TLB中,防止其被替换。
本发明中,使用两个独立的缓存,其包含在处理器核心EStarl中,它们具有如下的特性每一个缓存的大小与定义的页面大小一样,为4KB,可以并行地访问缓存和TLB,而不必等待地址映射的结果。
使用直接影射模式,从而减小访问缓存的延时和缓存的复杂性。
使用物理地址作为Cache Tag,以防止由于地址映射的变化而造成不必要的缓存的刷新。
缓存的行的大小为16个字,相对较大的缓存的行减小了缓存控制器的延时和复杂性。同时可以最大限度的利用外部SDRAM存储器的高延迟高带宽的传输方式。
使用write back组织方式,只有当发生行替换时在将被修改的数据回写到外部存储器。
本发明中的接口部件实现存储器时钟域和微处理器时钟域之间的转换。由于外部存储器的运行频率较低,远远低于微处理器的设计主频。而在使用时存储控制器必须使用与外部存储器相同的时钟,所以就需要在两个时钟域之间实现转换。在图2中,接口部件并没有以一个单独器件的方式出现。熟悉本领域的技术人员应该能够理解,接口部件的关键是其提供一种在时钟域之间进行转换的机制。
通过上面的描述可知,本发明的共性接口结构其实是在处理器核心和采用某种特定标准的总线及总线设备之间增加一个协议层,该层的作用是将各种不同标准的总线上的数据“翻译”成一个统一的标准之后再提供给处理器核心,由此使处理器核心不必考虑总线的标准问题,从而达到通用的目的。按照本发明,上述的协议层是采用一个数据总线接口和一个指令接口总线来实现的。
本发明还提供一种共性总线接口结构的实现方法,该共性总线接口即是上述的可适用于多种总线标准的总线接口,该方法在一处理器核心和采用特定标准的总线及数个总线设备之间实现具有相同结构的一数据总线接口和一指令总线接口作为访存通道,以使处理器核心和采用特定标准的总线及数个总线设备通过两个接口可通信地相连;其中,上述所有设备之间采用Wishbone互联结构相互连接。
需要理解的是,按照本发明的方法所实现的共性总线接口可以是符合前面结合图2所描述的实施例的结构,也可以上述实施例结构的多种变化,只要所实现的总线接口符合下述的基本规范即可该方法中实现数据总线接口和指令总线接口作为访存通道,包括实现用于地址转换的存储器管理单元、实现用于保存最近最常用数据或者指令的缓存和实现用于转换时钟域的接口部件。
该方法中的实现存储器管理单元包括利用一存储于外部存储器中的地址映射表进行地址的变换;其中,地址映射表至少包括物理地址、访问许可标志位和缓存许可标志位。
实现缓存包括实现两个独立的缓存,每一个的大小与定义的页面大小一样;所述实现的缓存的行的大小为16个字。
实现接口部件包括在存储器时钟域和微处理器时钟域之间进行转换。
至于实现的具体手段,既可以采用完全的专用硬件电路实现,也可以是由可编程电路来实现,如果使用可编程电路,所述电路应该按照前面所描述的规则进行配置,以使其符合本发明的原理。
由于采用了上述的技术方案,本发明的共性总线接口结构及其实现方法可适用于多种标准的总线及总线设备,增加了通用性,使SOC设计更为方便。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的,熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
权利要求
1.一种共性总线接口结构,可适用于多种总线标准,其特征在于,包括如下结构一处理器核心;一数据总线接口和一指令总线接口,所述数据总线接口和所述指令总线接口具有相同的结构,并与所述处理器核心相连;采用特定标准的总线及数个总线设备,与所述处理器核心通过所述数据总线接口和所述指令总线接口相连。
2.如权利要求1所述的总线接口结构,其特征在于,所述数据总线接口和指令总线接口包括用于地址转换的存储器管理单元、用于保存最近最常用数据或者指令的缓存和用于转换时钟域的接口部件,其中,所述的三个部件实现所述处理器核心和所述采用特定标准的总线及数个总线设备之间的访存通道。
3.如权利要求2所述的总线接口结构,其特征在于,所述存储器管理单元连接至一外部存储器,所述外部存储器中保存有地址映射表,所述地址映射表至少包括物理地址、访问许可标志位和缓存许可标志位;所述存储器管理单元使用所述地址映射表进行地址变换。
4.如权利要求2所述的总线接口结构,其特征在于,所述缓存包括两个独立的缓存,每一个的大小与定义的页面大小一样;所述缓存的行的大小为16个字。
5.如权利要求2所述的总线接口结构,其特征在于,所述接口部件实现存储器时钟域和微处理器时钟域之间的转换。
6.一种共性总线接口结构的实现方法,所述共性总线接口可适用于多种总线标准,其中,该方法在一处理器核心和采用特定标准的总线及数个总线设备之间实现具有相同结构的一数据总线接口和一指令总线接口作为访存通道,以使所述处理器核心和所述采用特定标准的总线及数个总线设备通过所述的两个接口可通信地相连。
7.如权利要求6所述的实现方法,其特征在于,实现数据总线接口和指令总线接口作为访存通道包括实现用于地址转换的存储器管理单元、用于保存最近最常用数据或者指令的缓存和用于转换时钟域的接口部件。
8.如权利要求7所述的实现方法,其特征在于,实现存储器管理单元包括利用一存储于外部存储器中的地址映射表进行地址的变换;其中,所述地址映射表至少包括物理地址、访问许可标志位和缓存许可标志位。
9.如权利要求7所述的实现方法,其特征在于,实现缓存包括实现两个独立的缓存,每一个的大小与定义的页面大小一样;所述实现的缓存的行的大小为16个字。
10.如权利要求7所述的实现方法,其特征在于,实现接口部件包括在存储器时钟域和微处理器时钟域之间进行转换。
全文摘要
本发明公开了一种共性总线接口结构及其实现方法,可适用于多种总线标准,包括如下结构一处理器核心;一数据总线接口和一指令总线接口,数据总线接口和指令总线接口具有相同的结构,并与处理器核心相连;采用特定标准的总线及数个总线设备,与处理器核心通过数据总线接口和指令总线接口相连。由于采用了上述的技术方案,本发明的共性总线接口结构及其实现方法可适用于多种标准的总线及总线设备,增加了通用性,使SOC设计更为方便。
文档编号G06F3/00GK1707404SQ200410025009
公开日2005年12月14日 申请日期2004年6月9日 优先权日2004年6月9日
发明者沈胜宇, 李思昆, 周军明, 张谊, 黎铁军, 薛德贤, 张建民, 黄勇, 曾亮 申请人:上海华博科技(集团)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1