仲裁器、交叉开关、请求选择方法以及信息处理设备技术

技术编号:2833609 阅读:292 留言:0更新日期:2012-04-11 18:40
多个单元(处理单元)连接到交叉开关,所述多个单元分为多个组,根据所述多个组中的优先级,从为每个组选择的多个请求中选择一个请求,所述多个组中的优先级以预定时间间隔改变。这样,不管请求的状态如何,一个单元每单位时间发出的请求的次数总能够保持在一定数值之上,因为这个单元属于优先级以规定时间间隔提高的组。

【技术实现步骤摘要】

本专利技术涉及一种通过交叉开关从各个单元发出的多个请求中选择一个 请求的技术,其中有多个单元连接到所述交叉开关。
技术介绍
近年来,许多计算机(信息处理设备)安装了多个实体上分离的单元。为了这些单元,常常要设置安装有CPU和存储器的主板(SB)和安装有硬 盘设备、IO设备、PC槽等部件的IO单元。这是因为CPU资源和存储器资 源能够根据情况的不同而灵活地分派。换言之,这样就能够有效地利用这些 资源。具备这种结构的计算机安装有一个或多个主板和IO单元。而交叉开 关用于将它们相互连接起来。图1说明了通过交叉开关将多个单元连接起来的计算机结构。如图1所 示, 一个或多个主板10和IO单元20与两个总地址交叉开关30 (以下称为 地址交叉开关)分别连接,并且与四个总数据交叉开关40 (以下称为数 据交叉开关)分别连接。管理板(MB) 50是唯一的管理单元,通过SM 总线与各单元10-40分别连接。两个地址交叉开关30同时进行相同的请求控制。因此,地址交叉开关 30在硬件上制作成双份。因为常常同时要发送很多数据,所以设置了四个数 据交叉开关40。#0和#1分别分派给两个地址交叉开关30。当指定其中一个地址 交叉开关时,可以使用标记#0或者#1。这也适用于数据交叉开关40。 图2说明了主板10和IO单元20的结构实例。主板10包括四个CPU 101,两个固件中心(FWH) 102,北桥103, 四个存储器开关(在图2中记为mem.switch ) 104以及多个连接到各个 存储器开关的存储器105。 1O单元20包括南桥201,两个连接到南桥201 的存储器误码寄存器(SER) 202,连接到各个SER 202的两个ICH6 203,以及六个连接到各个ICH6的控制器211-216。作为控制器,FWH211、超级 10 (SIO)控制器212、主板管理控制器(BMC) 213、视频图形阵列(VGA) 控制器、两个局域网(LAN)适配器215和216连接到ICH6 203。 BMC213 用于与MB 50通信。ICH6 203是I/0控制器中心。在图2中示出的控制器 211-216只是一个实例,其型号和数量可以随意改变。控制器211-216也可 以根据各IO单元20来确定。1O单元20的南桥201与两个地址交叉开关30以及四个数据交叉开关40分 别连接。南桥201通过SER 202和ICH6 203控制各个控制器211-216。当控制 器211-216的其中一个传递获得的数据时,它发出这样的请求(地址请求)并 将该请求输出到地址交叉开关30。当它通过数据交叉开关40从主板10接收待 传递的数据时,它将数据发送给控制器,使得控制器能够存储、输出或者发 送该数据,其中该数据通过SER202和ICH6 203发送给该控制器。主板10上四个CPU 101的每一个都可以向存储器105、其他的主板10或者 1O单元20发出读/写命令,并将此命令输出到北桥103。北桥103暂时存储各个 CPU IOI输入的命令,按照优先级选择其中的一个命令,将该命令作为请求 (地址请求)发出,并将该请求输出到各个地址交叉开关30和四个存储器开 关104的每一个。通过数据交叉开关40传递的数据由存储器开关104接收,输出到北桥103 并通过北桥103传递给需要该数据的CPU 101。待传递给其他主板10或者IO单 元20的数据通过存储器开关104发送并传递给数据交叉开关40。这里为方便 起见,在下文中,由主板10和IO单元20向地址交叉开关发出和输出的请求分 别称为CPU请求和IO请求。当请求时,各个主板10和IO单元20向地址交叉开关输出请求。这样,这 些请求被收集到地址交叉开关30,并且容易将未经处理的请求的个数保持为 与多个单元的个数相同。因此,地址交叉开关30安装有仲裁器,用于选择不 同单元发出的多个请求中的一个。图3说明了传统的仲裁器的结构。主板10和IO单元20发出和输出的请求分别暂时存储在用于主板的模块 (这里称为SM模块)310和用于IO单元的模块(这里称为IO模块)320 中。模块310包括多个用于为各个单元存储请求的队列缓冲单元311。各个队 列缓冲单元311包括用于控制队列缓冲单元311的队列控制单元312 (在图3中用队列控制表示)和请求存储缓冲器313。缓冲器313能够存储多个请求, 在图3中示出的队列1-队列5即表示存储在缓冲器313中的多个请求。标号 'T'-5的数值越小,则队列存储得越早。例如,队列l存储得最早。在IO 模块320中也设置了队列缓冲单元311,但是在图3中没有示出。这样,那些 设置在IO模块320中的队列缓冲单元可使用与SM模块310中的队列缓冲单元 相同的附图标记。传统的仲裁器330包括优先级逻辑电路331 (在图3中用优先级表示)和 选择器332。对于各个队列缓冲单元311,请求是从SM模块310和IO模块320 输出到选择器332。各个队列缓冲单元311输出的请求最早被存储。各个队列缓冲单元311的队列控制单元312向优先级逻辑电路331输出队 列存在信号,该信号表明请求是否存储在缓冲器313中。逻辑电路331通过该 信号指定带有未经处理的请求的单元,并根据规定的规则(优先级规则)从 各单元中选择一个单元,而请求应当从该单元中选出。逻辑电路331根据选 择结果向选择器332输出选择信号,使得选择器332能够从所选择的单元选择 并输出请求。该请求被发送到应当发送的单元,或者被传播出去。当被传播 出去时,该请求被发送到其他所有单元。优先级逻辑电路331将请求的选择结果通知请求被选择单元对应的队列 缓冲单元311的队列控制单元312。按照通知,队列控制单元312删除所选择 的请求。当保持有请求时,各请求中最早存储的请求被输出到选择器332。 这样,只有未经处理的请求留在缓冲器313中。当接收到新发出的请求时, 在缓冲器313中寻找空闲区域并将该请求存储在此区域中。图4说明按照传统仲裁器采用的规则确定优先级。在图4中,请求l-请 求8的每个由不同的单元发出。初始优先级表示在发出请求的单元中初始确 定的优先级。例如,发出请求l的单元优先级最高,发出请求8的单元优 先级最低。 一个选定的请求相应于由选择器332选择并输出的请求。发出请求的单元中的优先级按照实际所选择的请求动态地调整。当选择 请求2时,将最低优先级赋给发出请求2的单元,而将最高优先级赋给发 出请求3的单元。类似地,当选择请求5时,将最低优先级赋给发出请求 5的单元,而将最高优先级赋给发出请求6的单元。当选择请求8时,将 最低优先级赋给发出请求8的单元,而将最高优先级赋给发出请求l的单元。换言之,优先级返回到初始优先级。这样,通过每次选择请求时改变优 先级,能够从发出请求的单元中均等地选择请求。当按照上述规则选择请求时,根据情况的不同,实际选择的请求顺序如下。以下参照图5A至图6B详细说明此顺序。图5A和图5B示出安装有五个主板10和五个IO单元20的传统仲裁器所选 择的请求顺序。图5A示出发出将由仲裁器330选择的请求的单元,图5B示出 请求的实际选择顺序。在图5A中,CPl^0-CPLW4分别表示不同的主板10发出的请求。本文档来自技高网...

【技术保护点】
一种仲裁器,用于从多个单元的每一个单元所发出的多个请求中选择一个请求,所述多个单元安装在交叉开关上并与交叉开关连接,所述仲裁器包括:第一请求选择部件,用于分别从属于多个组的同一个组的多个单元的每一个单元所发出的多个请求中选择一个请求 ;第二请求选择部件,用于从所述第一请求选择部件为各个组选择的多个请求中选择一个请求;选择控制部件,用于将所述第二请求选择部件置于使能状态,以根据所述多个组中的预定优先级来选择请求;以及所述多个组中的优先级能够以规定的 时间间隔改变。

【技术特征摘要】
JP 2006-8-18 2006-2236701、一种仲裁器,用于从多个单元的每一个单元所发出的多个请求中选择一个请求,所述多个单元安装在交叉开关上并与交叉开关连接,所述仲裁器包括第一请求选择部件,用于分别从属于多个组的同一个组的多个单元的每一个单元所发出的多个请求中选择一个请求;第二请求选择部件,用于从所述第一请求选择部件为各个组选择的多个请求中选择一个请求;选择控制部件,用于将所述第二请求选择部件置于使能状态,以根据所述多个组中的预定优先级来选择请求;以及所述多个组中的优先级能够以规定的时间间隔改变。2、 如权利要求1所述的仲裁器,其中当一个或多个安装有一个或多个CPU的主板以及一个或多个用于连接 外设的IO单元作为单元连接到所述交叉开关时,所述多个组分为两个组 第一组和第二组,其中仅所述主板属于第一组,仅所述IO单元属于第二组, 以及所述选择控制部件暂时使所述第一组的优先级高于所述第二组。3、 一种仲裁器,用于从多个单元的每一个单元所发出的多个请求中选 择一个请求,所述多个单元安装在交叉开关上并与交叉开关连接,所述仲裁 器包括第一请求选择部件,用于分别从属于多个组的同一个组的多个单元的每一个单元所发出的多个请求中选择一个请求;第二请求选择部件,用于从所述第一请求选择部件为各个组选择的多个 请求中选择一个请求;选择控制部件,用于将所述第二请求选择部件置于使能状态,以根据所 述多个组中的预定优先级来选择请求;以及所述多个组中的优先级能够动态地改变。4、 如权利要求3所述的仲裁器,其中所述选择控制部件包括多个计数部件,用于为各个组对发出请求的次数 进行计数,所述优先级基于所述多个计数部件为各个组计数的次数而动态地 改变。5、 如权利要求4所述的仲裁器,其中所述选择控制部件将最高优先级赋给所述多个计数部件计数的次数为 最少的组。6、 如权利要求3所述的仲裁器,其中当一个或多个安装有一个或多个CPU的主板以及一个或多个用于连接外设的10单元作为单元连接到所述交叉开关时,所述多个组分为两个组第一组和第二组,其中仅所述主板属于第一组,仅所述IO单元属于第二组。7、 一种交叉开关,连接至多个单元,所述交叉开关包括第一请求选择部件,对于多个组中的每一个组,从属于同一个组的多个 单元的每一个单元所发出的多个请求中选择一个请求,所述多个组通过将多个单元分组而得到;第二请求选择部件,从所述第一请求选择部件为各个组选择的多个请求 中选择一个请求;以及选择控制部件,用于将所述第二请求选择部件置于使能状态,以根据所 述多个组中的优先级来选择请求,所述多个组中的优先级以预定时间间隔改 变。8、 如权利要求7所述的仲裁器,其中当一个或多个安装有一个或多个CPU的主板以及一个或多个用于连接 外设的10单元作为单元连接到所述交叉开关时,所述多个组分为两个组 第一组和第二组,其中仅所述主板属...

【专利技术属性】
技术研发人员:市宫淳次木下贵行糸泽慎太郎
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利