CN101739367B - 多类总线存储控制的方法与装置 - Google Patents
多类总线存储控制的方法与装置 Download PDFInfo
- Publication number
- CN101739367B CN101739367B CN 200810225799 CN200810225799A CN101739367B CN 101739367 B CN101739367 B CN 101739367B CN 200810225799 CN200810225799 CN 200810225799 CN 200810225799 A CN200810225799 A CN 200810225799A CN 101739367 B CN101739367 B CN 101739367B
- Authority
- CN
- China
- Prior art keywords
- bus
- priority
- order data
- access
- equations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
本发明公开了一种多类总线存储控制的方法与装置,包括接收来自第一类、第二类总线的命令数据,根据所述第一类、第二类总线的总线协议和系统参数分别构造第一类、第二类总线协议命令数据;为第一类、第二类总线协议命令数据分别设置访问优先权得到第一、第二等级优先权,对第一、第二等级优先权进行比较,根据比较结果确定优先等级高的总线协议命令数据,为该优先等级高的总线协议命令数据建立连接命令数据通道,并通过该命令数据通道传输优先等级高的总线协议命令数据;根据优先等级高的总线协议命令数据中的命令控制访问存储器。通过本发明实现不同架构下的计算机总线和片上总线共同访问存储器,进而实现计算机系统与嵌入式系统之间的相互访问。
Description
技术领域
本发明主要涉及计算机和集成电路领域,尤其涉及多类总线存储控制的方法与装置。
背景技术
随着计算机和片上系统的不断发展,如何实现计算机与片上系统之间的交互成为许多设计人员考虑的重点。现有技术中,计算机总线主要包括外围设备互连(PCI,Peripheral Component Interconnect)总线、工业标准体系结构(ISA,Industry Standard Architecture)总线等,片上总线主要包括高级微控制器总线规范(AMBA,Advanced Microcontroller Bus Architecture)、处理器内部总线(PLB,Processor Local Bus)等。
目前,由于不同片上系统的设计往往根据项目的具体要求而采用不同的片上总线,而现有的计算机总线并不能够直接兼容片上总线,因此当所设计的片上系统、计算机系统需要共同访问存储器时,需要针对不同的片上总线和计算机总线,分别独立开发相应的总线接口电路。
发明内容
有鉴于此,本发明的目的在于提供一种多类总线存储控制的方法与装置,达到支持不同架构下的计算机总线和片上总线共同访问存储器的目的。
根据本发明实施例的一方面,提供了一种多类总线存储控制的方法,包括:
接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造所述第一类总线的命令数据,得到第一类总线协议命令数据;
接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据;
对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权;
对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;
根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输所述优先等级高的总线协议命令数据;
根据所述优先等级高的总线协议命令数据中的命令访问存储器;其中,
所述访问优先权包括:
第一类总线访问优先权,表示所述第一类总线访问所述存储器的优先等级;
第二类总线访问优先权,表示所述第二类总线访问所述存储器的优先等级。
根据本发明实施例的另一个特征,所述方法中根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道包括:
若所述比较结果为所述第一等级优先权高于所述第二等级优先权,则为所述第一类总线协议命令数据建立连接命令数据通道;
若所述比较结果为所述第二等级优先权高于所述第一等级优先权,则为所述第二类总线协议命令数据建立连接命令数据通道。
根据本发明实施例的另一个特征,所述根据所述优先等级高的总线协议命令数据中的命令访问存储器包括:
根据所述命令判断对所述存储器的访问是读取操作或者写入操作,如果是读取操作,则从所述存储器中读取数据并将所述数据传输给所述第一类总线;如果是写入操作,则将所述第一类总线的数据写入所述存储器。
根据本发明实施例的另一个特征,所述方法还包括:
设置传输时序,根据所述传输时序控制传输所述第一类总线协议命令数据中的数据。
根据本发明实施例的另一个特征,所述传输时序为与所述存储器类型相匹配的传输时序。
根据本发明实施例的另一个特征,所述第一类、第二类总线包括计算机总线、片上总线。
根据本发明实施例的另一方面,提供了一种计算机总线和片上总线的跨总 线存储控制的装置,包括:
第一接口处理模块,用于接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造所述第一类总线的命令数据,得到第一类总线协议命令数据;
第二接口处理模块,用于接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据;
系统控制器,用于对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输优先等级高的总线协议命令数据;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权;
存储接口控制模块,用于根据优先等级高的总线协议命令数据中的命令控制访问存储器;其中,
所述访问优先权包括:第一类总线访问优先权,表示所述第一类总线访问所述存储器的优先等级;第二类总线访问优先权,表示所述第二类总线访问所述存储器的优先等级。
根据本发明实施例的一个特征,所述系统控制器包括:
访问优先权设置模块,用于对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;
判断模块,用于对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;
执行模块,用于根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输所述优先等级高的总线协议命令数据。
根据本发明实施例的另一个特征,所述装置还包括:
时序控制器,用于设置传输时序,根据所述传输时序控制传输所述第一类总线协议命令数据中的数据。通过本发明实施例提供的多类总线存储控制的方法与装置,达到的有益效果如下:
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需要根据存储器的类型设置数据传输时序,来保证传输的计算机总线协议命令数据或者片上总线协议命令数据中数据的传输时序与存储器的数据传输时序相同。
存储接口控制模块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,用于设置计算机总线访问优先权,建立命令数据通道,根据计算机总线访问优先权选择连接相应命令数据通道,通过该命令数据通道传输计算机总线协议命令数据给系统控制器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)传输。
数据对齐方式,如采用大头或者小头的数据对齐方式。
执行命令、中断控制和电源控制等。
步骤402,设置存储器访问优先权,建立命令数据通道,根据存储器访问优先权选择连接相应命令数据通道,通过该命令数据通道传输优先权最高的计算机总线协议命令数据或片上总线协议命令数据;
该步骤中,对计算机总线协议命令数据设置访问优先权,得到第一等级优 先权;对片上总线协议命令数据设置访问优先权,得到第二等级优先权;其中,第一等级优先权与第二等级优先权是属于不同等级的优先权;
对第一等级优先权与第二等级优先权进行比较,得到比较结果;
根据比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过该命令数据通道传输该优先等级高的总线协议命令数据。
例如,当PCI总线和AMBA总线都发出访问存储器的请求时,需要根据设置的存储器访问优先权,确定先由PCI总线访问该存储器,还是先由AMBA总线访问该存储器。如果PCI总线的访问优先权高于AMBA总线的访问优先权,则先由PCI总线访问该存储器,通过选择连接PCI总线与该存储器之间的命令数据通道,控制传输PCI总线协议命令数据;反之,如果AMBA总线的访问优先权高于PCI总线的访问优先权,则先由AMBA总线访问该存储器,通过选择连接AMBA总线与该存储器的命令数据通道,控制传输AMBA总线协议命令数据。
步骤403,设置数据传输时序,根据数据传输时序,控制传输存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据;
该步骤中,由于不同类型的存储器,其数据传输时序不同,因此需要根据存储器的类型设置数据传输时序,来保证传输的计算机总线协议命令数据或者片上总线协议命令数据中数据的传输时序与存储器的数据传输时序相同。
步骤404,用于接收存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的数据,根据存储器访问优先权最高的计算机总线协议命令数据或者片上总线协议命令数据中的命令判断对存储器的访问是读取操作或者写入操作,如果是读取操作则进入步骤405,如果是写入操作则进入步骤406。
步骤405,存储接口控制模块从存储器中读取数据并传输给计算机总线或片上总线。
该步骤中,对于计算机总线,该数据经过时序控制模块、总线控制器、计算机总线接口处理模块传输到计算机总线或片上总线;对于片上总线,该数据经过时序控制模块、总线控制器、片上总线接口处理模块传输到片上总线;
步骤406,存储接口控制模块将计算机总线或片上总线的数据写入存储 器。
该步骤中,对于计算机总线,计算机总线的数据经过计算机总线接口处理模块、总线控制器、时序控制模块、存储接口控制模块传输到存储器中;对于片上总线,片上总线的数据经过片上总线接口处理模块、总线控制器、时序控制模块、存储接口控制模块传输到存储器中。
图5为本发明第二实施例中多类总线存储控制方法的流程图,具体步骤如下:
步骤501,接收来自计算机总线的命令数据,根据计算机总线协议和系统参数构造计算机总线协议命令数据并将该计算机总线或片上总线协议命令数据传输。
该步骤中,计算机总线包括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总线;实现了计算机系统与嵌入式系统之间的相互访问;实现了多计算机总线设备对存储器的共同访问;并实现多片上总线设备对存储器的共同访问。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,对本发明实施例所作的任何修改、变更、组合、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种多类总线存储控制的方法,其特征在于,包括:
接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造所述第一类总线的命令数据,得到第一类总线协议命令数据;其中,所述第一类总线包括多条总线;
设置第一类总线访问优先权,建立第一命令数据通道,根据第一类总线访问优先权选择连接相应的第一命令数据通道,通过第一命令数据通道传输第一类总线协议命令数据;
接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据;其中,所述第二类总线包括多条总线;
设置第二类总线访问优先权,建立第二命令数据通道,根据第二类总线访问优先权选择连接相应的第二命令数据通道,通过第二命令数据通道传输第二类总线协议命令数据;
设置存储器访问优先权,建立命令数据通道,根据存储器访问优先权选择连接相应命令数据通道,通过命令数据通道传输存储器访问优先权最高的第一类总线或第二类总线;其中,对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权;
对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输所述优先等级高的总线协议命令数据;
根据所述优先等级高的总线协议命令数据中的命令访问存储器;其中,
所述访问优先权包括:
第一类总线访问优先权,表示所述第一类总线访问所述存储器的优先等级;
第二类总线访问优先权,表示所述第二类总线访问所述存储器的优先等级。
2.根据权利要求1所述的方法,其特征在于,所述方法中根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道包括:
若所述比较结果为所述第一等级优先权高于所述第二等级优先权,则为所述第一类总线协议命令数据建立连接命令数据通道;
若所述比较结果为所述第二等级优先权高于所述第一等级优先权,则为所述第二类总线协议命令数据建立连接命令数据通道。
3.根据权利要求1所述的方法,其特征在于,所述方法中根据所述优先等级高的总线协议命令数据中的命令访问存储器包括:
根据所述命令判断对所述存储器的访问是读取操作或者写入操作,如果是读取操作,则从所述存储器中读取数据并将所述数据传输给优先等级高的总线;如果是写入操作,则将所述优先等级高的总线的数据写入所述存储器。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设置传输时序,根据所述传输时序控制传输所述优先等级高的总线协议命令数据中的数据。
5.根据权利要求4所述的方法,其特征在于,所述传输时序为与所述存储器类型相匹配的传输时序。
6.根据权利要求1所述的方法,其特征在于,
所述第一类总线包括计算机总线;
所述第二类总线包括片上总线。
7.一种计算机总线和片上总线的跨总线存储控制的装置,其特征在于,包括:
第一接口处理模块,用于接收来自第一类总线的命令数据,并根据第一类总线的总线协议和系统参数构造所述第一类总线的命令数据,得到第一类总线协议命令数据;其中,所述第一类总线包括多条总线;
第一总线控制器,用于设置第一类总线访问优先权,建立第一命令数据通道,根据第一类总线访问优先权选择连接相应的第一命令数据通道,通过第一命令数据通道传输第一类总线协议命令数据;
第二接口处理模块,用于接收来自第二类总线的命令数据,并根据第二类总线的总线协议和系统参数构造所述第二类总线的命令数据,得到第二类总线协议命令数据;其中,所述第二类总线包括多条总线;
第二总线控制器,用于设置第二类总线访问优先权,建立第二命令数据通道,根据第二类总线访问优先权选择连接相应的第二命令数据通道,通过第二命令数据通道传输第二类总线协议命令数据;
系统控制器,用于设置存储器访问优先权,建立命令数据通道,根据存储器访问优先权选择连接相应命令数据通道,通过命令数据通道传输存储器访问优先权最高的第一类总线或第二类总线;其中,对所述第一类总线协议命令数据设置访问优先权,得到第一等级优先权;对所述第二类总线协议命令数据设置访问优先权,得到第二等级优先权;对所述第一等级优先权与所述第二等级优先权进行比较,得到比较结果;根据所述比较结果,为优先等级高的总线协议命令数据建立连接命令数据通道,并通过所述命令数据通道传输优先等级高的总线协议命令数据;其中,所述第一等级优先权与所述第二等级优先权是属于不同等级的优先权;
存储接口控制模块,用于根据优先等级高的总线协议命令数据中的命令控制访问存储器;其中,
所述访问优先权包括:
第一类总线访问优先权,表示所述第一类总线访问所述存储器的优先等级;
第二类总线访问优先权,表示所述第二类总线访问所述存储器的优先等级。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
时序控制器,用于设置传输时序,根据所述传输时序控制传输所述优先等级高的总线协议命令数据中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810225799 CN101739367B (zh) | 2008-11-13 | 2008-11-13 | 多类总线存储控制的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810225799 CN101739367B (zh) | 2008-11-13 | 2008-11-13 | 多类总线存储控制的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101739367A CN101739367A (zh) | 2010-06-16 |
CN101739367B true CN101739367B (zh) | 2013-05-01 |
Family
ID=42462871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810225799 Active CN101739367B (zh) | 2008-11-13 | 2008-11-13 | 多类总线存储控制的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101739367B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013126053A1 (en) * | 2012-02-22 | 2013-08-29 | Hewlett-Packard Development Company, L.P. | Multiplexer for signals according to different protocols |
CN110008151B (zh) * | 2019-03-27 | 2020-12-18 | 联想(北京)有限公司 | 电子设备、数据传输装置和数据传输方法 |
US11544107B2 (en) * | 2020-04-17 | 2023-01-03 | Western Digital Technologies, Inc. | Storage system and method for multiprotocol handling |
CN113268446B (zh) * | 2021-04-07 | 2023-11-17 | 中国电子科技集团公司电子科学研究院 | 用于多种机载总线接入的信息处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553496A (zh) * | 2003-06-05 | 2004-12-08 | 中兴通讯股份有限公司 | 一种用于访问系统芯片外sdram的控制器及其实现方法 |
CN101013407A (zh) * | 2007-02-05 | 2007-08-08 | 北京中星微电子有限公司 | 支持多总线多类型存储器的内存仲裁实现系统和方法 |
-
2008
- 2008-11-13 CN CN 200810225799 patent/CN101739367B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553496A (zh) * | 2003-06-05 | 2004-12-08 | 中兴通讯股份有限公司 | 一种用于访问系统芯片外sdram的控制器及其实现方法 |
CN101013407A (zh) * | 2007-02-05 | 2007-08-08 | 北京中星微电子有限公司 | 支持多总线多类型存储器的内存仲裁实现系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101739367A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7305510B2 (en) | Multiple master buses and slave buses transmitting simultaneously | |
CN101136000B (zh) | 实现sd主机/从属设备的应用处理器电路和电子设备 | |
KR100726361B1 (ko) | 메모리 장치들과의 통신을 위한 시스템 및 방법 | |
CN102696021B (zh) | 接口时钟管理 | |
CN101739367B (zh) | 多类总线存储控制的方法与装置 | |
CN101414291A (zh) | 一种主从分布式系统和应用于该系统的并行通信方法 | |
CN102193888B (zh) | 数据传输系统与可编程串行外围设备接口控制器 | |
CN114253884B (zh) | 基于fpga的多主对多从访问仲裁方法、系统及存储介质 | |
CN103049408B (zh) | 一种多接口sram读写控制电路及方法 | |
CN100573493C (zh) | Spi总线至少一管脚每半脉冲周期传输一比特的方法及装置 | |
CN101004674B (zh) | 数据处理系统和包括数据处理系统的高清晰度电视机 | |
EP2272066A2 (en) | Memory module with configurable input/output ports | |
CN102402422A (zh) | 处理器组件及该组件内存共享的方法 | |
US7802038B2 (en) | Communication steering for use in a multi-master shared resource system | |
CN103246623A (zh) | Soc计算设备扩展系统 | |
KR101202317B1 (ko) | 어드레스 채널 상에서의 보조 기록들 | |
CN1337625A (zh) | 温备用双工设备及其操作方法 | |
CN103793354A (zh) | 在多模总线的多引脚传输数据的方法及装置 | |
US20100138577A1 (en) | Apparatus and method for writing bitwise data in system on chip | |
CN101174253A (zh) | 在多模总线的多引脚传输数据的方法及装置 | |
CN101621549B (zh) | 基于神经元芯片的LonWorks节点多I/O设备 | |
CN102027424A (zh) | 用于控制从多个进程出发的对存储器的区域的访问的方法以及用于实现该方法的带有消息存储器的通信模块 | |
CN104460923A (zh) | 一种智能电池管理方法及上位机、便携式移动设备 | |
CN103699504A (zh) | Ddr物理层数据处理方法、装置及ddr物理层 | |
CN109753461A (zh) | 一种dma设备及数据传输的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |