多类总线存储控制的方法与装置的制作方法

文档序号:6471084阅读:152来源:国知局
专利名称:多类总线存储控制的方法与装置的制作方法
技术领域
本发明主要涉及计算机和集成电路领域,尤其涉及多类总线存储控制的方法与装置。
背景技术
随着计算机和片上系统的不断发展,如何实现计算机与片上系统之间的交互成为许多设计人员考虑的重点。现有技术中,计算机总线主要包括外围设备互连(PCI,Peripheral Component Interconnect)总线、工业标准体系结构(ISA, Industry StandardArchitecture)总线等,片上总线主要包括高级微控制器总线规范(AMBA, AdvancedMicrocontroller Bus Architecture)、处理器内部总线(PLB, Processor Local Bus)等。
目前,由于不同片上系统的设计往往根据项目的具体要求而采用不同的片上总线,而现有的计算机总线并不能够直接兼容片上总线,因此当所设计的片上系统、计算机系统需要共同访问存储器时,需要针对不同的片上总线和计算机总线,分别独立开发相应的总线接口电路。

发明内容
有鉴于此,本发明的目的在于提供一种多类总线存储控制的方法与装置,达到支持不同架构下的计算机总线和片上总线共同访问存储器的目的。 根据本发明实施例的一方面,提供了一种多类总线存储控制的方法,包括 接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造
所述第一类总线的命令数据,得到第一类总线协议命令数据; 接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据; 对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权; 对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果; 根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,
并通过所述命令数据通道传输所述优先等级高的总线协议命令数据; 根据所述优先等级高的总线协议命令数据中的命令访问存储器。 根据本发明实施例的一个特征,所述访问优先权包括 第一类总线访问优先权,表示所述第一类总线访问所述存储器的优先等级;
第二类总线访问优先权,表示所述第二类总线访问所述存储器的优先等级。
根据本发明实施例的另一个特征,所述方法中根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道包括 若所述比较结果为所述第一等级优先权高于所述第二等级优先权,则为所述第一类总线协议命令数据建立连接命令数据通道; 若所述比较结果为所述第二等级优先权高于所述第一等级优先权,则为所述第一类总线协议命令数据建立连接命令数据通道。 根据本发明实施例的另一个特征,所述根据所述优先等级高的总线协议命令数据中的命令访问存储器包括 根据所述命令判断对所述存储器的访问是读取操作或者写入操作,如果是读取操
作,则从所述存储器中读取数据并将所述数据传输给所述第一类总线;如果是写入操作,则
将所述第一类总线的数据写入所述存储器。 根据本发明实施例的另一个特征,所述方法还包括 设置传输时序,根据所述传输时序控制传输所述第一类总线协议命令数据中的数据。 根据本发明实施例的另一个特征,所述传输时序为与所述存储器类型相匹配的传输时序。 根据本发明实施例的另一个特征,所述第一类、第二类总线包括计算机总线、片上总线。 根据本发明实施例的另一方面,提供了一种计算机总线和片上总线的跨总线存储控制的装置,包括 第一接口处理模块,用于接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造所述第一类总线的命令数据,得到第一类总线协议命令数据;
第二接口处理模块,用于接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据;
系统控制器,用于对所述第一类、第二类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输优先等级高的总线协议命令数据;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权; 存储接口控制模块,用于根据优先等级高的总线协议命令数据中的命令控制访问存储器。 根据本发明实施例的一个特征,所述系统控制器包括 访问优先权设置模块,用于对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权; 判断模块,用于对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果; 执行模块,用于根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输所述优先等级高的总线协议命令数据。
根据本发明实施例的另一个特征,所述装置还包括 时序控制器,用于设置传输时序,根据所述传输时序控制传输所述第一类总线协
5议命令数据中的数据。通过本发明实施例提供的多类总线存储控制的方法与装置,达到的有益效果如下 1.实现不同架构下的计算机总线和片上总线对存储器的共同访问。 2.为属于同一类总线中的多条总线提供多个数据接口。例如,为属于计算机总线
的PCI总线和ISA总线分别提供数据接口,为属于片上总线的AMBA总线和PLB总线。 3.实现计算机系统与嵌入式系统之间的相互访问。 4.实现多计算机总线设备对存储器的共同访问。 5.实现多片上总线设备对存储器的共同访问。


图1为本发明实施例中多类总线存储控制器的示意 图2为本发明第一实施例中多类总线存储控制装置的结构框 图3为本发明第二实施例中多类总线存储控制装置的结构框 图4为本发明第一实施例中多类总线存储控制方法的流程 图5为本发明第二实施例中多类总线存储控制方法的流程图。
具体实施例方式
下面结合附图详细描述本发明的具体实施例。 图1为本发明实施例中多类总线存储控制器的示意图,图1中,包括ISA总线101、PCI总线102、多类总线存储控制器103、AMBA总线104、PLB总线105和存储器106。 ISA总线101、PCI总线102、AMBA总线104、PLB总线105共同通过总线存储控制器103对存储器106进行访问。 图2为本发明第一实施例中多类总线存储控制装置的结构框图,图2中,总线存储控制装置包括计算机总线接口处理模块201、片上总线接口处理模块202、系统控制器203、存储接口控制模块204和时序控制模块205。计算机总线接口处理模块1包括PCI总线接口处理模块2011、 ISA总线接口处理模块2012,片上总线接口处理模块202包括AMBA总线接口处理模块2021、PLB总线接口处理模块2022。系统控制器203包括访问优先权设置模块2031、判断模块2032和执行模块2033。其中, 计算机总线接口处理模块201,用于接收来自计算机总线的命令数据,根据计算机
总线协议和系统参数构造计算机总线协议命令数据后传输给系统控制器203。其中, 计算机总线系统参数包括 数据宽度,二进制数据所占的位数。 地址宽度,存放二进制数据的地址所占的位数。 数据传输方式,如以字/半字/双字方式进行数据传输。 事务传输方式,如单一式(single)传输、突发式(burst)传输或分段式(split)传输。 数据对齐方式,如采用大头或者小头的数据对齐方式。
执行命令、中断控制和电源控制等。 PCI总线接口处理模块2011,用于接收来自PCI总线211的命令数据,根据PCI总线协议和PCI总线系统参数构造PCI总线协议命令数据后传输给系统控制器203。 其中,PCI总线协议包括PCI总线的数据传输时序和传输控制。 ISA总线接口处理模块2012,用于接收来自ISA总线212的命令数据,根据ISA总
线协议和ISA总线系统参数构造ISA总线协议命令数据后传输给系统控制器203。 其中,ISA总线协议包括ISA总线的数据传输时序和传输控制。 片上总线接口处理模块202,用于接收来自片上总线的命令数据,根据片上总线协
议和系统参数构造片上总线协议命令数据后传输给系统控制器203。其中, 片上总线系统参数包括 数据宽度,二进制数据所占的位数。 地址宽度,存放二进制数据的地址所占的位数。 数据传输方式,如以字/半字/双字方式进行数据传输。 事务传输方式,如单一式(single)传输、突发式(burst)传输或分段式(split)传输。 数据对齐方式,如采用大头或者小头的数据对齐方式。AMBA总线接口处理模块2021,用于接收来自AMBA总线221的命令数据,根据AMBA
总线协议和AMBA总线系统参数构造AMBA总线协议命令数据后传输给系统控制器203。 其中,AMBA总线协议包括AMBA总线的数据传输时序和传输控制。 PLB总线接口处理模块2022,用于接收来自PLB总线222的命令数据,根据PLB总
线协议和PLB总线系统参数构造PLB总线协议命令数据后传输给系统控制器203。 其中,PLB总线协议包括PLB总线数据的数据传输时序和传输控制。 系统控制器203,用于设置存储器访问优先权,建立命令数据通道,根据存储器访
问优先权选择连接相应命令数据通道,通过该命令数据通道传输存储器访问优先权最高的
计算机总线协议命令数据或者片上总线协议命令数据。 访问优先权设置模块2031,用于对计算机总线协议命令数据设置访问优先权,得到第一等级优先权;对片上总线协议命令数据设置访问优先权,得到第二等级优先权;
判断模块2032,用于对第一等级优先权与第二等级优先权进行比较,得到比较结
果; 执行模块2033,用于根据比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过该命令数据通道传输该优先等级高的总线协议命令数据。
例如,当PCI总线和AMBA总线同时发出访问存储器的请求时,系统控制器203根据设置的存储器访问优先权,确定先由PCI总线访问该存储器,还是先由AMBA总线访问该存储器。如果PCI总线的访问优先权高于AMBA总线的访问优先权,则先由PCI总线访问该存储器,系统控制器203选择连接PCI总线与该存储器之间的命令数据通道,控制传输PCI总线协议命令数据;反之,如果AMBA总线的访问优先权高于PCI总线的访问优先权,则先由AMBA总线访问该存储器,系统控制器203选择连接AMBA总线与该存储器的命令数据通道,控制传输AMBA总线协议命令数据。 时序控制模块204,用于设置数据传输时序,根据数据传输时序,控制传输存储器
访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据。 由于不同类型的存储器,其数据传输时序不同,因此,时序控制模块204需要根据
7存储器的类型设置数据传输时序,来保证传输的计算机总线协议命令数据或者片上总线协议命令数据中数据的传输时序与存储器的数据传输时序相同。 存储接口控制模块205,用于控制传输存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据,根据存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的命令对存储器206进行访问。具体操作如下 存储接口控制模块205根据存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的命令判断对存储器206进行读取操作还是写入操作,如果是读取操作,存储接口控制模块205从存储器206中读取数据,对于计算机总线,该数据通过时序控制模块204调整传输时序后,经总线控制器203、计算机总线接口处理模块201或片上总线接口处理模块202传输到计算机总线或片上总线;对于片上总线,该数据经过时序控制模块204、总线控制器203、片上总线接口处理模块202传输到片上总线;
如果是写入操作,对于计算机总线,计算机总线的数据经过计算机总线接口处理模块201、系统控制器203、通过时序控制模块204调整传输时序后,由存储接口控制模块205传输到存储器206中;对于片上总线,片上总线的数据经过片上总线接口处理模块202、系统控制器203、时序控制模块204、存储接口控制模块205传输到存储器206中。
图3为本发明第二实施例中多类总线存储控制装置的结构框图,图3中,总线存储控制装置包括计算机总线接口处理模块301、计算机总线控制器302、片上总线接口处理模块303、片上总线控制器304、总线控制器305、时序控制模块306和存储接口控制模块307。计算机总线接口处理模块301包括PCI总线接口处理模块3011、ISA总线接口处理模块3012、片上总线接口处理模块303包括AMBA总线接口处理模块3031和PLB总线接口处理模块3032。其中, 计算机总线接口处理模块301,用于接收来自计算机总线的命令数据,根据计算机
总线协议和系统参数构造计算机总线协议命令数据后传输给计算机总线控制器302。其中, 计算机总线系统参数包括 数据宽度,二进制数据所占的位数。 地址宽度,存放二进制数据的地址所占的位数。 数据传输方式,如以字/半字/双字方式进行数据传输。 事务传输方式,如单一式(single)传输、突发式(burst)传输或分段式(split)传输。 数据对齐方式,如采用大头或者小头的数据对齐方式。
执行命令、中断控制和电源控制等。 PCI总线接口处理模块3011,用于接收来自PCI总线211的命令数据,根据PCI总
线协议和PCI总线系统参数构造PCI总线协议命令数据后传输给计算机总线控制器302。 其中,PCI总线协议包括PCI总线的数据传输时序和传输控制。 ISA总线接口处理模块3012,用于接收来自ISA总线212的命令数据,根据ISA总
线协议和ISA总线系统参数构造ISA总线协议命令数据后传输给计算机总线控制器302。 其中,ISA总线协议包括ISA总线的数据传输时序和传输控制。 计算机总线控制器302,用于设置计算机总线访问优先权,建立命令数据通道,根
8据计算机总线访问优先权选择连接相应命令数据通道,通过该命令数据通道传输计算机总线协议命令数据给系统控制器305。其中,计算机总线访问优先权用于设置所述计算机总线访问所述存储器的优先顺序。 例如,当PCI总线和ISA总线同时发出访问存储器的请求时,计算机总线控制器
302根据设置的计算机总线访问优先权,确定先由PCI总线访问该存储器,还是先由ISA总
线访问该存储器。如果PCI总线的访问优先权高于ISA总线的访问优先权,则先由PCI总
线访问该存储器,计算机总线控制器302选择连接PCI总线与系统控制器305之间的命令
数据通道,控制传输PCI总线协议命令数据;反之,如果ISA总线的访问优先权高于PCI总
线的访问优先权,则先由ISA总线访问该存储器,计算机总线控制器302选择连接ISA总线
与系统控制器305之间的命令数据通道,控制传输ISA总线协议命令数据。 片上总线接口处理模块303,用于接收来自片上总线的命令数据,根据片上总线协
议和系统参数构造片上总线协议命令数据后传输给片上总线控制器304。其中, 片上总线系统参数包括 数据宽度,二进制数据所占的位数。 地址宽度,存放二进制数据的地址所占的位数。 数据传输方式,如以字/半字/双字方式进行数据传输。 事务传输方式,如单一式(single)传输、突发式(burst)传输或分段式(split)传输。 数据对齐方式,如采用大头或者小头的数据对齐方式。AMBA总线接口处理模块3031,用于接收来自AMBA总线221的命令数据,根据AMBA
总线协议和AMBA总线系统参数构造AMBA总线协议命令数据后传输给片上总线控制器304。 其中,AMBA总线协议包括AMBA总线的数据传输时序和传输控制。PLB总线接口处理模块3032,用于接收来自PLB总线222的命令数据,根据PLB总
线协议和PLB总线系统参数构造PLB总线协议命令数据后传输给片上总线控制器304。 其中,PLB总线协议包括PLB总线数据的数据传输时序和传输控制。 片上总线控制器304,用于设置片上总线访问优先权,建立命令数据通道,根据片
上总线访问优先权选择连接相应命令数据通道,通过该命令数据通道传输优先权最高的片
上总线协议命令数据给系统控制器305。其中,片上总线访问优先权用于设置所述片上总线
访问存储器的优先顺序。 例如,当AMBA总线和PLB总线同时发出访问存储器的请求时,片上总线控制器304根据设置的片上总线访问优先权,确定AMBA总线和PLB总线对该存储器的访问优先权。如果AMBA总线的访问优先权最高,则先由AMBA总线访问该存储器,片上总线控制器304选择连接AMBA总线与系统控制器305之间的命令数据通道,控制传输AMBA总线协议命令数据;如果PLB总线的访问优先权最高,则先由PLB总线访问该存储器,片上总线控制器304选择连接PLB总线与系统控制器305之间的命令数据通道,控制传输PLB总线协议命令数据。
系统控制器305,用于设置存储器访问优先权,建立命令数据通道,根据存储器访问优先权选择连接相应命令数据通道,通过该命令数据通道传输存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据给存储接口控制模块307。其中,存储器访问优先权用于设置所述计算机总线和所述片上总线共同访问所述存储器的优先顺序。
例如,当PCI总线和AMBA总线都发出访问存储器的请求时,系统控制器305根据设置存储器访问优先权,确定先由PCI总线访问该存储器,还是先由AMBA总线访问该存储器。如果PCI总线的访问优先权高于AMBA总线的访问优先权,则先由PCI总线访问该存储器,系统控制器305选择连接PCI总线与该存储器的命令数据通道,控制传输PCI总线协议命令数据;反之,如果AMBA总线的访问优先权高于PCI总线的访问优先权,则先由AMBA总线访问该存储器,系统控制器305选择连接AMBA总线与该存储器的命令数据通道,控制传输AMBA总线协议命令数据。 时序控制模块306,用于设置数据传输时序,根据数据传输时序,控制传输存储器
访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据。 由于不同类型的存储器,其数据传输时序不同,时序控制模块306需要根据存储
器的类型设置数据传输时序,保证传输的计算机总线协议命令数据或者片上总线协议命令
数据的数据传输时序与存储器的数据传输时序相同。 存储接口控制模块307,用于接收存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据,根据存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的命令对存储器308进行访问。具体操作如下
存储接口控制模块307根据存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的命令判断对存储器308进行读取操作还是写入操作,如果是读取操作,存储接口控制模块307从存储器308中读取数据,对于计算机总线,该数据经过时序控制模块306、系统控制器305、计算机总线控制器302、计算机总线接口处理模块301传输到计算机总线;对于片上总线,该数据通过时序控制模块306调整传输时序后、经系统控制器305、片上总线控制器304、片上总线接口处理模块303传输到片上总线。
如果是写入操作,对于计算机总线,计算机总线的数据经过计算机总线接口处理模块301、系统控制器305、通过时序控制模块306调整传输时序后,由存储接口控制模块307传输到存储器308中;对于片上总线,片上总线的数据经过片上总线接口处理模块302、系统控制器305、通过时序控制模块306调整传输时序后,由存储接口控制模块307传输到存储器308中。 图4为本发明第一实施例中多类总线存储控制方法的流程图,具体步骤如下
步骤401 ,接收来自计算机总线或片上总线的命令数据,根据计算机总线或片上总线协议和系统参数构造计算机总线或片上总线协议命令数据并将该计算机总线或片上总线协议命令数据传输; 该步骤中,计算机总线包括ISA总线和PCI总线等,片上总线包括AMBA总线和PLB
总线等。计算机总线协议包括计算机总线的数据传输时序和传输控制,片上总线协议包括
片上总线的数据传输时序和传输控制。 计算机总线系统或片上总线的系统参数包括 数据宽度,二进制数据所占的位数。 地址宽度,存放二进制数据的地址所占的位数。 数据传输方式,如以字/半字/双字方式进行数据传输。 事务传输方式,如单一式(single)传输、突发式(burst)传输或分段式(split)传输。
10
数据对齐方式,如采用大头或者小头的数据对齐方式。
执行命令、中断控制和电源控制等。 步骤402,设置存储器访问优先权,建立命令数据通道,根据存储器访问优先权选择连接相应命令数据通道,通过该命令数据通道传输优先权最高的计算机总线协议命令数据或片上总线协议命令数据; 该步骤中,对计算机总线协议命令数据设置访问优先权,得到第一等级优先权;对片上总线协议命令数据设置访问优先权,得到第二等级优先权;其中,第一等级优先权与第二等级优先权是属于不同等级的优先权; 对第一等级优先权与第二等级优先权进行比较,得到比较结果; 根据比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通
过该命令数据通道传输该优先等级高的总线协议命令数据。 例如,当PCI总线和AMBA总线都发出访问存储器的请求时,需要根据设置的存储器访问优先权,确定先由PCI总线访问该存储器,还是先由AMBA总线访问该存储器。如果PCI总线的访问优先权高于AMBA总线的访问优先权,则先由PCI总线访问该存储器,通过选择连接PCI总线与该存储器之间的命令数据通道,控制传输PCI总线协议命令数据;反之,如果AMBA总线的访问优先权高于PCI总线的访问优先权,则先由AMBA总线访问该存储器,通过选择连接AMBA总线与该存储器的命令数据通道,控制传输AMBA总线协议命令数据。
步骤403,设置数据传输时序,根据数据传输时序,控制传输存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据; 该步骤中,由于不同类型的存储器,其数据传输时序不同,因此需要根据存储器的类型设置数据传输时序,来保证传输的计算机总线协议命令数据或者片上总线协议命令数据中数据的传输时序与存储器的数据传输时序相同。 步骤404,用于接收存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据,根据存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的命令判断对存储器的访问是读取操作或者写入操作,如果是读取操作则进入步骤405,如果是写入操作则进入步骤406。 步骤405,存储接口控制模块从存储器中读取数据并传输给计算机总线或片上总线。 该步骤中,对于计算机总线,该数据经过时序控制模块、总线控制器、计算机总线接口处理模块传输到计算机总线或片上总线;对于片上总线,该数据经过时序控制模块、总线控制器、片上总线接口处理模块传输到片上总线; 步骤406,存储接口控制模块将计算机总线或片上总线的数据写入存储器。
该步骤中,对于计算机总线,计算机总线的数据经过计算机总线接口处理模块、总线控制器、时序控制模块、存储接口控制模块传输到存储器中;对于片上总线,片上总线的数据经过片上总线接口处理模块、总线控制器、时序控制模块、存储接口控制模块传输到存储器中。
图5为本发明第二实施例中多类总线存储控制方法的流程图,具体步骤如下
步骤501,接收来自计算机总线的命令数据,根据计算机总线协议和系统参数构造计算机总线协议命令数据并将该计算机总线或片上总线协议命令数据传输。
11
该步骤中,计算机总线包括ISA总线和PCI总线等,计算机总线协议包括计算机总
线的数据传输时序和传输控制。计算机总线系统参数包括 数据宽度,二进制数据所占的位数。 地址宽度,存放二进制数据的地址所占的位数。 数据传输方式,如以字/半字/双字方式进行数据传输。 事务传输方式,如单一式(single)传输、突发式(burst)传输或分段式(split)传输。 数据对齐方式,如采用大头或者小头的数据对齐方式。
执行命令、中断控制和电源控制等。 步骤502,设置计算机总线访问优先权,建立命令数据通道,根据计算机总线访问优先权选择连接相应命令数据通道,通过该命令数据通道传输计算机总线协议命令数据。
该步骤中,当PCI总线和ISA总线同时发出访问存储器的请求时,根据设置的计算机总线访问优先权,确定先由PCI总线访问该存储器,还是先由ISA总线访问该存储器。如果PCI总线的访问优先权高于ISA总线的访问优先权,则先由PCI总线访问该存储器,通过选择连接PCI总线与系统总线控制器之间的命令数据通道,控制传输PCI总线协议命令数据;反之,如果ISA总线的访问优先权高于PCI总线的访问优先权,则先由ISA总线访问该存储器,通过选择连接ISA总线与系统总线控制器之间的命令数据通道,控制传输ISA总线协议命令数据。 步骤503,接收来自片上总线的命令数据,根据片上总线协议和系统参数构造片上总线协议命令数据。 片上总线包括AMBA总线、PLB总线等,片上总线协议包括片上总线的数据传输时
序和传输控制。片上总线系统参数包括 数据宽度,二进制数据所占的位数。 地址宽度,存放二进制数据的地址所占的位数。 数据传输方式,如以字/半字/双字方式进行数据传输。 事务传输方式,如单一式(single)传输、突发式(burst)传输或分段式(split)传输。 数据对齐方式,如采用大头或者小头的数据对齐方式。 步骤504,设置片上总线访问优先权,建立命令数据通道,根据片上总线访问优先权选择连接相应命令数据通道,通过该命令数据通道传输优先权最高的片上总线协议命令数据。 该步骤中,当AMBA总线和PLB总线同时发出访问存储器的请求时,根据设置的片上总线访问优先权,确定AMBA总线和PLB总线对该存储器的访问优先权。如果AMBA总线的访问优先权最高,则先由AMBA总线访问该存储器,通过选择连接AMBA总线与系统总线控制器之间的命令数据通道,控制传输AMBA总线协议命令数据;如果PLB总线的访问优先权最高,则先由PLB总线访问该存储器,通过选择连接PLB总线与系统总线控制器之间的命令数据通道,控制传输PLB总线协议命令数据。 上述步骤中,步骤501、502和步骤503、504的执行顺序可以不分先后,即对计算机总线数据和片上总线数据的传输控制根据实际需要进行,例如,计算机总线数据和片上总线数据的传输同时进行、先传输计算机总线数据或先传输片上总线数据。 步骤505,用于设置存储器访问优先权,建立命令数据通道,根据存储器访问优先
权选择连接相应命令数据通道,通过该命令数据通道传输存储器访问优先权最高的计算机
总线协议命令数据或者片上总线协议命令数据。 该步骤中,对计算机总线协议命令数据设置访问优先权,得到第一等级优先权;对片上总线协议命令数据设置访问优先权,得到第二等级优先权;其中,第一等级优先权与第二等级优先权是属于不同等级的优先权; 对第一等级优先权与第二等级优先权进行比较,得到比较结果; 根据比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通
过该命令数据通道传输该优先等级高的总线协议命令数据。 例如,当PCI总线和AMBA总线都发出访问存储器的请求时,根据设置存储器访问优先权,确定先由PCI总线访问该存储器,还是先由AMBA总线访问该存储器。如果PCI总线的访问优先权高于AMBA总线的访问优先权,则先由PCI总线访问该存储器,通过选择连接PCI总线与该存储器的命令数据通道,控制传输PCI总线协议命令数据;反之,如果AMBA总线的访问优先权高于PCI总线的访问优先权,则先由AMBA总线访问该存储器,通过选择连接AMBA总线与该存储器的命令数据通道,控制传输AMBA总线协议命令数据。
步骤506,设置数据传输时序,根据数据传输时序,控制传输存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据。 该步骤中,由于不同类型的存储器,其数据传输时序不同,因此需要根据存储器的类型设置数据传输时序,来保证传输的计算机总线协议命令数据或者片上总线协议命令数据中数据的传输时序与存储器的数据传输时序相同。 步骤507,用于接收存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据,根据命令数据判断对存储器的访问是读取操作或者写入操作,如果是读取操作则进入步骤508,如果是写入操作则进入步骤509。 步骤508,存储接口控制模块从存储器中读取数据并传输给计算机总线或片上总线。 该步骤中,对于计算机总线,该数据经过时序控制模块、系统总线控制器、计算机总线控制器、计算机总线接口处理模块传输到计算机总线;对于片上总线,该数据经过时序控制模块、系统总线控制器、片上总线控制器、片上总线接口处理模块传输到片上总线。
步骤509,存储接口控制模块将计算机总线或片上总线的数据写入存储器。
该步骤中,对于计算机总线,计算机总线的数据经过计算机总线接口处理模块、总线控制器、时序控制模块、存储接口控制模块传输到存储器中;对于片上总线,片上总线的数据经过片上总线接口处理模块、总线控制器、时序控制模块、存储接口控制模块传输到存储器中。 通过上述本发明实施例,实现了不同架构下的计算机总线和片上总线对存储器的共同访问;为属于同一类总线中的多条总线提供多个数据接口。例如,为属于计算机总线的PCI总线和ISA总线分别提供数据接口 ,为属于片上总线的AMBA总线和PLB总线;实现了计算机系统与嵌入式系统之间的相互访问;实现了多计算机总线设备对存储器的共同访问;并实现多片上总线设备对存储器的共同访问。
13
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,对本发明实施例所作的任何修改、变更、组合、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种多类总线存储控制的方法,其特征在于,包括接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造所述第一类总线的命令数据,得到第一类总线协议命令数据;接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据;对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权;对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输所述优先等级高的总线协议命令数据;根据所述优先等级高的总线协议命令数据中的命令访问存储器。
2. 根据权利要求1所述的方法,其特征在于,所述访问优先权包括 第一类总线访问优先权,表示所述第一类总线访问所述存储器的优先等级; 第二类总线访问优先权,表示所述第二类总线访问所述存储器的优先等级。
3. 根据权利要求1所述的方法,其特征在于,所述方法中根据所述比较结果,为优先等 级高的总线协议命令数据建立连接命令数据通道包括若所述比较结果为所述第一等级优先权高于所述第二等级优先权,则为所述第一类总 线协议命令数据建立连接命令数据通道;若所述比较结果为所述第二等级优先权高于所述第一等级优先权,则为所述第一类总 线协议命令数据建立连接命令数据通道。
4. 根据权利要求1所述的方法,其特征在于,所述方法中根据所述优先等级高的总线 协议命令数据中的命令访问存储器包括根据所述命令判断对所述存储器的访问是读取操作或者写入操作,如果是读取操作, 则从所述存储器中读取数据并将所述数据传输给优先等级高的总线;如果是写入操作,则 将所述优先等级高的总线的数据写入所述存储器。
5. 根据权利要求1所述的方法,其特征在于,所述方法还包括设置传输时序,根据所述传输时序控制传输所述优先等级高的总线协议命令数据中的 数据。
6. 根据权利要求5所述的方法,其特征在于,所述传输时序为与所述存储器类型相匹 配的传输时序。
7. 根据权利要求l所述的方法,其特征在于, 所述第一类、第二类总线包括计算机总线、片上总线。
8. —种计算机总线和片上总线的跨总线存储控制的装置,其特征在于,包括 第一接口处理模块,用于接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造所述第一类总线的命令数据,得到第一类总线协议命令数据;第二接口处理模块,用于接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据;系统控制器,用于对所述第一类、第二类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输优先等级高的总线协议命令数据;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权;存储接口控制模块,用于根据优先等级高的总线协议命令数据中的命令控制访问存储器。
9. 根据权利要求8所述的装置,其特征在于,所述系统控制器包括访问优先权设置模块,用于对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;判断模块,用于对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;执行模块,用于根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输所述优先等级高的总线协议命令数据。
10. 根据权利要求8所述的装置,其特征在于,所述装置还包括时序控制器,用于设置传输时序,根据所述传输时序控制传输所述优先等级高的总线协议命令数据中的数据。
全文摘要
本发明公开了一种多类总线存储控制的方法与装置,包括接收来自第一类、第二类总线的命令数据,根据所述第一类、第二类总线的总线协议和系统参数分别构造第一类、第二类总线协议命令数据;为第一类、第二类总线协议命令数据分别设置访问优先权得到第一、第二等级优先权,对第一、第二等级优先权进行比较,根据比较结果确定优先等级高的总线协议命令数据,为该优先等级高的总线协议命令数据建立连接命令数据通道,并通过该命令数据通道传输优先等级高的总线协议命令数据;根据优先等级高的总线协议命令数据中的命令控制访问存储器。通过本发明实现不同架构下的计算机总线和片上总线共同访问存储器,进而实现计算机系统与嵌入式系统之间的相互访问。
文档编号G06F13/18GK101739367SQ200810225799
公开日2010年6月16日 申请日期2008年11月13日 优先权日2008年11月13日
发明者彭绍平, 温天元, 颜毅强 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1