一种计算机系统中地址空间的扩展方法

文档序号:10594001阅读:412来源:国知局
一种计算机系统中地址空间的扩展方法
【专利摘要】本发明公开了一种计算机系统中地址空间的扩展方法,所述方法通过在计算机系统中加入一个地址转换器,CPU将大于4G地址的访问报文发送给地址转换器,地址转换器将高32位地址去掉后,再将报文发送给目标CPU,以此实现64位地址对32位地址的模拟,实现对报文处理并转发的功能。本发明方法在计算机系统中加入一个地址转换器,用64位地址空间模拟32位地址空间,解决了32位资源不足问题。
【专利说明】
一种计算机系统中地址空间的扩展方法
技术领域
[0001]本发明涉及计算机技术领域,具体涉及一种计算机系统中地址空间的扩展方法。
【背景技术】
[0002]在一个计算机系统中,多个处理器共享同一个地址空间。在这个地址空间中,32位地址空间是有限的(4G)。而对一些1设备来说,其必须要使用32位空间来映射其自身的1资源。所以当一个计算机系统内相应的1设备达到一定数量时,必然会出现资源不足的情况。而随着计算机技术的快速发展,很多计算机系统的规模已然出现了上述32位地址空间不足的情况。

【发明内容】

[0003]本发明要解决的技术问题是:本发明提出一种计算机系统中地址空间的扩展方法,在计算机系统中加入一个地址转换器,用64位地址空间模拟32位地址空间,解决了 32位资源不足问题。
[0004]本发明所采用的技术方案为:
一种计算机系统中地址空间的扩展方法,所述方法通过在计算机系统中加入一个地址转换器,CPU将大于4G地址的访问报文发送给地址转换器,地址转换器将高32位地址去掉后,再将报文发送给目标CPU,以此实现64位地址对32位地址的模拟,实现对报文处理并转发的功能。
[0005]所述地址转换器包含4个功能模块:
地址映射表,定义各个地址段到CPU的映射关系;
接收模块,用来接收CHJ发出的1访问请求报文;
地址转换模块,解析报文中的地址,通过地址映射表,找出对应的CPU,替换原报文中的目标CPU,同时将报文中的64位地址的高32位清除;完成这些操作后,将修改后的报文发给发送模块;
发送模块将报文发送到目标CPU;
其中,计算机系统中各个(PU和所述地址转换器相连,在高于4G的地址空间中选取一段地址空间用来模拟32位地址,将其映射到地址转换器。
[0006]所述方法操作步骤如下:
接收模块接收从CHJ发出的请求报文,然后发给地址转换模块;
地址转换模块收到报文后,解析出报文中的地址,通过地址映射表,找出对应的CPU,替换原报文中的目标CPU,同时将报文中的64位地址的高32位清除;
完成这些操作后,将修改后的报文发给发送模块;
发送模块将报文发送到目标CPU;
当计算机系统需要访问CPU2下的必须使用32位地址的1设备时,首先根据映射规则,将访问报文发送给地址转换器; 地址转换器的接接收到报文后,根据其内地址映射表,替换原报文中的目标CPU,并将报文中的高32位地址去掉,然后发送给目标CPU ;
目标CPU接收到的报文即为32位访问,可正常访问必须使用32位地址的1设备。
[0007]本发明的有益效果为:
本发明方法在计算机系统中加入一个地址转换器,用64位地址空间模拟32位地址空间,解决了 32位资源不足问题。
【附图说明】
[0008]图1为计算机系统地址空间;
图2为64位地址空间;
图3为地址映射表。
【具体实施方式】
[0009]下面结合说明书附图,根据【具体实施方式】对本发明进一步说明:
实施例1:
一种计算机系统中地址空间的扩展方法,所述方法通过在计算机系统中加入一个地址转换器,CPU将大于4G地址的访问报文发送给地址转换器,地址转换器将高32位地址去掉后,再将报文发送给目标CPU,以此实现64位地址对32位地址的模拟,实现对报文处理并转发的功能。
[0010]实施例2
在实施例1的基础上,本实施例所述地址转换器包含4个功能模块:
地址映射表,定义各个地址段到CPU的映射关系;
接收模块,用来接收CHJ发出的1访问请求报文;
地址转换模块,解析报文中的地址,通过地址映射表,找出对应的CPU,替换原报文中的目标CPU,同时将报文中的64位地址的高32位清除;完成这些操作后,将修改后的报文发给发送模块;
发送模块将报文发送到目标CPU;
其中,计算机系统中各个(PU和所述地址转换器相连,在高于4G的地址空间中选取一段地址空间用来模拟32位地址,将其映射到地址转换器。
[0011]实施例3
在实施例2的基础上,本实施例以一个4处理器的计算机系统进行说明:
假设连接在CPUO和CPUl下的1设备已将32位4G地址空间全部使用完,CRJ2和CPU3的1设备没有32位地址可供使用,如图1示;
首先,准备一段64位地址空间,用来模拟32位空间,假设从X到Y;用X-M模拟CPU2使用的32位地址空间,用M-Y模拟CPU3的32位地址空间,如图2所示,将这段空间映射到地址转换器;
在计算机系统中增加一地址转换器,在这个转换器中,包含4个功能模块,接收模块,地址映射表,地址转换模块,发送模块;
其中,地址映射表中定义了各个处理器和地址的映射关系,可由CPU写入,如图3所示; 接收模块接收从CR]发出的请求报文,然后发给地址转换模块;
地址转换模块收到报文后,解析出报文中的地址,通过地址映射表,找出对应的CPU,替换原报文中的目标CPU,同时将报文中的64位地址的高32位清除;
完成这些操作后,将修改后的报文发给发送模块;
发送模块将报文发送到目标CPU;
当计算机系统需要访问CPU2下的必须使用32位地址的1设备时,首先根据映射规则,将访问报文发送给地址转换器;
地址转换器的接接收到报文后,根据其内地址映射表,替换原报文中的目标CPU,并将报文中的高32位地址去掉,然后发送给目标CPU ;
目标CPU接收到的报文即为32位访问,可正常访问必须使用32位地址的1设备。
[0012]上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种计算机系统中地址空间的扩展方法,其特征在于:所述方法通过在计算机系统中加入一个地址转换器,CPU将大于4G地址的访问报文发送给地址转换器,地址转换器将高32位地址去掉后,再将报文发送给目标CPU,以此实现64位地址对32位地址的模拟,实现对报文处理并转发的功能。2.根据权利要求1所述的一种计算机系统中地址空间的扩展方法,其特征在于,所述地址转换器包含4个功能模块: 地址映射表,定义各个地址段到CRJ的映射关系; 接收模块,用来接收CHJ发出的1访问请求报文; 地址转换模块,解析报文中的地址,通过地址映射表,找出对应的CPU,替换原报文中的目标CPU,同时将报文中的64位地址的高32位清除;完成这些操作后,将修改后的报文发给发送模块; 发送模块将报文发送到目标CPU; 其中,计算机系统中各个CPU和所述地址转换器相连,在高于4G的地址空间中选取一段地址空间用来模拟32位地址,将其映射到地址转换器。3.根据权利要求2所述的一种计算机系统中地址空间的扩展方法,其特征在于,所述方法操作步骤如下: 接收模块接收从CPU发出的请求报文,然后发给地址转换模块; 地址转换模块收到报文后,解析出报文中的地址,通过地址映射表,找出对应的CPU,替换原报文中的目标CPU,同时将报文中的64位地址的高32位清除; 完成这些操作后,将修改后的报文发给发送模块; 发送模块将报文发送到目标CPU; 当计算机系统需要访问CPU2下的必须使用32位地址的1设备时,首先根据映射规则,将访问报文发送给地址转换器; 地址转换器的接接收到报文后,根据其内地址映射表,替换原报文中的目标CPU,并将报文中的高32位地址去掉,然后发送给目标CPU ; 目标CRJ接收到的报文为32位访问,能够正常访问必须使用32位地址的1设备。
【文档编号】G06F12/06GK105955892SQ201610258965
【公开日】2016年9月21日
【申请日】2016年4月25日
【发明人】黄家明, 乔英良, 王建红
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1