第一类型的存储器事务和第二类型的存储器事务间的转译的制作方法

文档序号:9564535阅读:333来源:国知局
第一类型的存储器事务和第二类型的存储器事务间的转译的制作方法【
技术领域
】[0001]本公开涉及数据处理系统的领域。更具体地,本公开涉及数据处理系统内第一类型的存储器事务(memorytransact1n)和第二类型的存储器事务间的转译(translat1n)的领域。【
背景技术
】[0002]提供在其中存储器事务被沿主控设备(master)和受控设备(slave)间的互连结构来传输的数据处理系统是已知的。在这样的系统中提供能够针对经过互连电路的存储器事务转译存储事务地址、并且关联可编程存储器属性数据的系统存储器管理单元是已知的。这样的系统存储器管理单元可以读取存储在存储器地址空间内的页表(pagetable)数据,从而控制所做出的转译以及所应用的属性。由于对这样的页表数据的访问可能是缓慢的,因此为了提升操作速度在系统存储器管理单元内提供用于缓存转译数据和属性数据的一个或多个转译后备缓冲器(translat1nlookasidebuffer)是已知的。[0003]这种方法的一个问题是,随着事务源和事务目的地数量的增加以及事务量的增加,(一个或多个)转译后备缓冲器可能太小。解决该问题的一种方式是在与系统相关联的总线主控内提供本地转译后备缓冲器(或地址转译缓存器),从而这些总线主设备可以在无需系统存储器管理单元所支持的地址转译、无需系统存储器管理单元的转译后备缓冲器的有限资源的情况下,执行其自身的地址转译。[0004]提供这样的数据处理系统是已知的:该数据处理系统包括服务于第一类型的存储器事务和第二类型的存储器事务间的桥接器的桥电路。例如,桥电路的一侧可以利用依据PCIExpress格式的存储器事务、并且桥电路的另一侧可以利用依据AMBAAXI事务格式的存储器事务。在第一类型的存储器事务和第二类型的存储器事务间的转译中可能出现的问题是与第一类型的存储器事务相关联的属性数据可能得不到支持,并且可能在第二类型的存储器事务内不具有对应属性数据。据此,如果发布第二类型的存储器事务的总线主控希望将其转译为第一类型的存储器事务,而不调用系统存储器单元来查找存储器属性以获得第一类型的存储器事务,则第二类型的存储器事务存在这样的困难:当转译为第一类型的存储器事务时没有常规方式来指明所要使用的属性。处理该问题的一种方式是当做出这样的转译时应用属性的默认集合,但这样做缺乏灵活性,并且无法高效地处理被寄望于通过桥电路的所有期望的不同类型存储器事务。【
发明内容】[0005]本公开的至少一些示例实施例提供了用于处理数据的设备,包括:[0006]桥电路,该桥电路具有被配置为发送第一类型的存储器事务的第一端口、被配置为接收第二类型的存储器事务的第二端口、以及被配置为在所述第一类型的存储器事务和所述第二类型的存储器事务间进行转译的转译电路;其中[0007]所述第一类型的存储器事务指定X个有效位(significantbit)的地址以及A位属性数据,其中,X和A都是正整数值;[0008]所述第二类型的存储器事务指定Y个有效位的地址,其中,Y是正整数值并且Y大于X;[0009]所述转译电路被配置为将所述第一类型的存储器事务的所述A位属性数据中的至少一些映射到第二类型的所述Y个有效位的地址内的未使用位,所述未使用位未被用于表示所述第一类型的存储器事务的所述X个有效位的地址。[0010]本公开的至少一些进一步的示例实施例提供了用于处理数据的设备,包括:[0011]桥装置,该桥装置用于事务类型间的桥接,所述桥装置具有用于发送第一类型的存储器事务的第一端口装置、用于接收第二类型的存储器事务的第二端口、以及用于在所述第一类型的存储器事务和所述第二类型的存储器事务间进行转译的转译装置;其中[0012]所述第一类型的存储器事务指定X个有效位的地址以及A位属性数据,其中,X和A都是正整数值;[0013]所述第二类型的存储器事务指定Y个有效位的地址,其中,Y是正整数值并且Y大于X;[0014]所述转译装置将所述第一类型的存储器事务的所述A位属性数据中的至少一些映射到第二类型的所述Y个有效位的地址内的未使用位,所述未使用位未被用于表示所述第一类型的存储器事务的所述X个有效位的地址。[0015]本公开的至少一些其他示例实施例提供了用于处理数据的方法,该方法包括以下步骤:[0016]在桥电路的第一端口处发送第一类型的存储器事务;[0017]在所述桥电路的第二端口处接收第二类型的存储器事务;[0018]在所述第一类型的存储器事务和所述第二类型的存储器事务间进行转译,其中[0019]所述第一类型的存储器事务指定X个有效位的地址以及A位属性数据,其中,X和A都是正整数值;[0020]所述第二类型的存储器事务指定Y个有效位的地址,其中,Y是正整数值并且Y大于X;[0021]转译步骤将所述第一类型的存储器事务的所述A位属性数据中的至少一些映射到第二类型的所述Y个有效位的地址内的未使用位,所述未使用位未被用于表示所述第一类型的存储器事务的所述X个有效位的地址。[0022]本公开的上述以及其它目的、特征和优点根据下文对说明性实施例的详细描述(将结合附图对描述进行阅读)将是明显的。【附图说明】[0023]图1示意性地示出了使用第一类型的存储器事务和第二类型的存储器事务的数据处理设备;[0024]图2示意性示出了第二类型的存储器事务;[0025]图3示意性示出了第一类型的存储器事务;[0026]图4示意性示出了第一类型的存储器事务和第二类型的存储器事务间的转译;[0027]图5是示意性地示出了转译请求处理的流程图;以及[0028]图6是示意性地示出了经转译的请求处理的流程图。【具体实施方式】[0029]本技术认识到存在这样的情况:在这种情况中,第二类型的存储器事务使用比指定针对第一类型的存储器事务的存储器地址所需的位更大量的位来指定存储器地址。据此,第二类型的存储器事务的存储器地址中的、在指定第一类型的存储器事务的存储器地址的位时所不需要的那些位,能够替代地用于承载/编码第二类型的存储器事务和第一类型的存储器事务间的转译所需的属性数据。因此,第一类型的存储器事务的属性数据可以被编码于在第二类型的存储器事务的较大地址位空间内的未使用的位空间内。[0030]在一些实施例中,耦接到第二端口的事务源可以生成要发送到转译电路的第二类型的转译请求事务。转译电路随后可以向事务源返回第二类型的转译响应。在一些实施例中,这样的转译请求可以在当事务源预测其将在晚些时候需要转译时被抢先生成,或者可以在事务源试图生成经转译的事务、但随后发现其不具有执行那样的转译所必需的转译数据时被生成。[0031]事务源可以包括被配置为存储转译响应的转译缓存器。本地地存储转译响应使得更快速的转译能够被实现,产生更具具扩展性的系统,并且潜在地在包括系统存储器管理单元的系统中减轻系统存储器管理单元的负担。[0032]事务源可用来读取存储在转译缓存器内的转译响应,并且使用该转译响应来通过生成经转译的请求事务来执行其转译,其中经转译的请求事务包括对被在转译响应中返回的属性数据的映射。[0033]桥电路内的转译电路可用来接收经转译的请求事务,并且使用对属性数据的映射来生成将形成第一类型的存储器事务的一部分的属性数据,其中第一类型的存储器事务将由桥电路从第一端口发出。[0034]在一些实施例中,转译电路可以被配置为接收转译请求事务并且生成转译响应,从而其包括将至少一些属性数据映射到第二类型的存储器事务的地址的一些未使用位的映射,其中以第二类型的存储器事务的格式来返回转译响应。属性数据到这些未使用位的映射对于使用第二类型的存储器事务的系统可以是透明的,这是因为当第二类型的存储器事务要被转译为第一类型的存储器事务时,提取和利用这种对属性数据的映射以形成这些属性是转译电路的责任。[0035]将会理解,该属性数据可以采取各种不同的形式。属性数据中的一些或全部可以被映射到第二类型的存储器事务的地址的未使用位空间。映射可以是直接或间接的,例如使用经压缩的形式和/或省略与第二类型的存储器事务不相关的某些类型的属性数据。在一些示例实施例中,除经转译的地址之外,属性数据可以指定一般被包含在针对第一类型的存储器事务的转译页表中的任何信息,例如,指定第一类型的事务为以下各项中的一项:导向存储器映射设备的设备事务、不可缓存的事务、可缓存非可示的事务、或者可缓存可共享的事务。[0036]在一些实施例(虽然不是所有实施例)中,桥电路可以包括转译后备缓当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1