HK1040791B - 资源分配器和分配资源的方法 - Google Patents
资源分配器和分配资源的方法 Download PDFInfo
- Publication number
- HK1040791B HK1040791B HK02102432.0A HK02102432A HK1040791B HK 1040791 B HK1040791 B HK 1040791B HK 02102432 A HK02102432 A HK 02102432A HK 1040791 B HK1040791 B HK 1040791B
- Authority
- HK
- Hong Kong
- Prior art keywords
- hardware
- entry
- type
- allocator
- resource
- Prior art date
Links
Description
背景技术
I.发明领域
本发明涉及一种资源分配器,用于从通信系统的多种类型的硬件资源中分配预定数量硬件资源。
II.相关技术叙述
当设计一个系统支持一种类型以上预定总数用户,而其中至少一类用户要求不同硬件时,该系统至多可支持特定数的第1类用户,而遗留其它类用户。对该问题的一种解决方案是要求系统支持相同数量的各类用户。但是,这是一种昂贵的选择方案,因为每类用户需要应用独立的硬件。
例如,在一个可支持8个要求第1类硬件的第1类用户、12个要求第2类硬件的第2类用户且总数为12个用户的系统中,可配备硬件支持第1类和第2类的12个用户。该方案要求12个第1类硬件和12个第2类硬件、或24个硬件单元。但是,有时,这是不经济的,因为总有至少4个第1类用户不能支持。
发明概要
本发明的目的是提供一种对上述问题的基于硬件和软件的解决方案,该方案更有效、成本较低且软件不受映射细节影响。
为达到该目的,本发明允许高达一给定总数的用户,例如12个用户,其中,高达8个用户要求例如RSOLD类硬件,其余用户例如要求RSNEW类硬件。本发明通过下述方式完成:通过两个表,把例如12个共享资源映射到例如12个固定资源,其中,一个表具有与最大用户总数相应的12个项目,另一表具有与8个RSOLD硬件单元对应的8个项目。
附图概述
图1是把软件存取映射至硬件单元的资源分配器的例示图。
图2是把固定硬件资源映射至共享硬件资源的例示图。
图3是把共享硬件资源映射至固定硬件资源的例示图。
图4是说明分配和去分配RSOLD硬件资源处理的流程图。
较佳实施例的详细说明
本发明是一种资源或信道分配器,用于对一个通信系统中的预定数量用户分配硬件资源或信道。在该通信系统中可应用多个通信标准。但是,可能某一标准不如其它标准有效。例如,一种新标准相对于以前标准提供附加的容量。换言之,在给定带宽新标准能支持的用户数多于老标准可支持的。老标准要求支持老配套资费的硬件。对于本申请,该硬件称为RSOLD硬件。新标准要求支持新配套资费的硬件。在本申请中,该硬件称为RSNEW硬件。
在较佳实施例中,在某一时刻可分配例如总数为12的用户。因老标准不太有效,不超过8个用户可作为老标准的用户。12个用户中的每一个可分配至8个RSOLD硬件单元之一或12个RSNEW硬件单元之一。
为12用户(0至11)编程软件,但该软件不跟踪给各用户分配哪个硬件单元。硬件为各用户提供硬件资源的映射,从而硬件向软件提供透明接口。访问硬件资源时,软件在地址字段中提供信道单元号或用户号,硬件执行向合适硬件单元的要求的映射。
资源信道分配器在固定和共享资源之间执行映射。固定和共享资源定义如下:
A.RSOLD为固定资源,是仅支持老配套资费的老硬件;
B.RSNEW为固定资源,是仅支持新配套资费的新硬件;
C.RSBOTH为共享资源,是支持新、老配套资费两者的新硬件。
图1说明访问硬件单元的软件。标号1表示资源信道分配器1。在至资源信道分配器1地址总线提供地址。软件访问使用“RSNEW CS”和四条地址线,选择上述定义的资源B或C的12个硬件单元之一进行访问。软件访问使用“RSOLD CS”和表A的3个最低有效位(LSB),选择上述定义的资源A的8个硬件单元之一进行访问。
表A有12个项目,每个信道单元一个项目。表A每个项目3包含4位。最高有效经(MSB)表示项目是对应于RSOLD硬年单元(MSB值为0)还是RSNEW硬件单元(MSB值为1)。在MSB为0时,三个最低有效位包含硬件单元号。
假设对于信道单元“i”要求映射,则读表A的“i”项并传递至译码器5进行译码。若项目的MSB是表示RSNEW硬件单元的1,则译码器使RSNEW片选(CS)置位,同时在地址总线上提供地址。如果项目的MSB指示RSNEW硬件单元,则忽略表示硬件号的表A项目的三个最低有效位。如果表A项目的MSB值为0,表示RSOLD信道单元,则译码器5使RSOLD CS置位为1,输出表示硬件单元号的表A,i项的三个最低有效位。
资源分配器对RSBOTH共享硬件资源进行来回映射。这样,资源分配器必须把多达例如8个RSOLD固定硬件单元的用户与RSNEW固定硬件单元的剩余用户数映射至例如总数为12的RSBOTH共享硬件单元。映射至12个共享硬件单元的某些可能例子是,12个RSNEW用户和零RSOLD用户、8个RSOLD用户和4个RSNEW用户、2个RSOLD用户和10个RSNEW用户、或3个RSOLD用户和9个RSNEW用户。
图2表示把RSOLD型和RSNEW型固定硬件资源连至RSBOTH共享硬件资源的例子。图2显示9至1多路转换器40。虽然对于本实施例,需要12个9至1多路转换器,但为简便起见,在图2中仅显示一个(第i个)9至1多路转换器。各9至1多路转换器输出至不同的共享资源单元。图2的9至1多路转换器40输至第i个共享资源单元38。分别来自RSOLD硬件单元#0~7和来自#“i”RSNEW硬件单元的信号输入9至1多路转换器40。标号36表示表A的第i项。如果项目36的位3是表示RSNEW硬件单元的1,则允许来自RSNEW硬件单元#i的信号,经9至1多路转换器输出第i个共享硬件单元。如果表A的项目36的位3是表示RSOLD硬件单元的0,则项目36的位0~2的值确定哪一个来自RSOLD硬件单元的信号允许经9至1多路转换器40输出至共享资源硬件单元38。
各9至1多路转换器接收来自RSOLD硬件单元#0-7的输入。第1个9至1多路转换器还接收来自RSNEW硬件单元#0的输入,第2个9至1多路转换器还接收来自RSNEW硬件单元#1的输入,等等,各9至1多路转换器均有一个输出,至各RSBOTH共享资源。
图3表示RSBOTH共享资源映射至RSOLD或RSNEW固定资源的一个例子。标号41表示对于硬件单元“i”的共享资源。标号45表示其它11个共享资源。在该例子中,接收其它11个共享资源45及对硬件单元“i”的共享资源41的输出,作为给12至1多路转换器的12个输入。仅显示3个12至1多路转换器47、53、59。如果一共享资源映射至-RSNEW固定资源,则该共享资源可直接映射至该RSNEW固定资源。这样,映射至一些RSNEW硬件单元的各共享资源可直接映射至那些单元。
各12至1多路转换器47、53、59彼此相似。每个12至1多路转换器47、53、59接收来自各共享资源的输入。各12至1多路转换器47、53、59均有一个输出,直接输至8个RSOLD硬件单元51、57、63(注意,仅显示8个RSOLD硬件单元中的3个)中的唯一一个。每个12至1多路转换器47、53、59均根据表B中相应项49、55、61的4位值选择12个输入之一,表B中包含8个项目,各项可包含8个RSOLD硬件单元对应的硬件ID。例如,49表示表B中第1项,55表示表B中第2项,61表示表B中第8项(第3至第7项未显示)。
图4是说明RSOLD信道或资源分配与去分配过程的流程图。步骤S70,请求信道“i”。该请求表示请求RSOLD信道或RSNEW信道。步骤S71,确定新硬件类型是否与老硬件类型相同。例如,若对RSOLD硬件先前用信道“i”,但现在请求RSNEW硬件或反之,则执行步骤S72,否则忽略该请求。步骤S72,确定请求是对于RSOLD信道还是RSNEW作出的。若请求是对RSOLD的,则执行步骤S74,对第1未用项“j”检索表B,可例如由表B一项中的二进制1111值表示未用项。步骤S75确定寻找1111项的检索步骤S74是否成功。若检索不成功,则忽略信道请求并设置任选的状态位。反之,在步骤76,表A字“i”的低端3位设置为索引“j”值,从而表A的字“i”可用作表B字“j”的有效指针。在步骤S78,设置表A字“i”,指示一个RSOLD信道。通过例如把字“i”位3设置成0,可完成上述步骤。在步骤S80,表B字“j”设置成“1”,从而表B的字“j”可用作表A字“i”的有效指针。
如果步骤S72确定,对先前分配的RSOLD信道请求RSNEW信道,则执行步骤S90,把索引“j”设置成例如表A字“j”位0-2中所存的值。“j”表示8个RSOLD硬件单元中的哪一个与信道单元“i”关联。在步骤S92,设置表A字“i”,指示一个RSNEW信道。通过例如把表A字i的位3设置成1,完成该步骤。在步骤S94,把一个值写入表B字“j”,表示RSOLD硬件单元“j”去分配。该值例如可是二进制1111。
这样,对映射一种以上类型的共享和固定资源提供了基于灵活的硬件和软件的方案。
虽然参照较佳实施例叙述了本发明,但应理解,本发明不限于所揭示的实施例,而是相反,可覆盖所附权利要求的精神和范围中所含的各种修改和等效设置。
Claims (9)
1.一种从多种类型的硬件资源中分配使用多达预定数量硬件资源的方法,其特征在于,该方法包括下述步骤:
接收共享资源“i”的分配请求;
确定请求的硬件类型是否第1硬件类型;
当所述请求硬件类型是所述第1硬件类型时,执行下述动作:
对第1未分配项“j”查找分配器的存储器中的第1表,
把所述分配器的存储器的第2表中的第“i”项设置成与所述第1表的第1未分配项“j”相应的值,
设置所述分配器的存储器的第2表中的第“i”项,指示所述请求硬件的类型是所述第1硬件类型,和
把所述第1表中与所述第1未分配项“j”对应的项设置成与所述第2表中所述第“i”项对应的值;
利用所述第2表的相应项,选择提供至所述多个多路转换器之一的多个输入中的一个输入;
从所述多个多路转换器中的一个输出所述多个输入中的一个选定输入。
2.如权利要求1所述的方法,其特征在于,还包括下述步骤:
在所述请求硬件是所述第1硬件类型以外的其它类型时,执行下述动作:
设置所述分配器的所述存储器的第2表中的第“i”项,表示所述请求硬件类型是所述第1硬件类型以外的其它类型。
3.如权利要求2所述的方法,其特征在于,还包括下述步骤:
向所述第1硬件类型外的其它类型的硬件资源分配所述先前分配的共享硬件资源“i”的步骤包括:
确定所述硬件资源是所述第1硬件类型外的其它类型;
读取所述第2表中的第“i”项,获取“k”值;
设置所述第1表的第“k”项,表示所述第1表的所述第“k”项未分配。
4.如权利要求1所述的方法,其特征在于,还包括下述步骤:
向所述第1硬件类型外的其它类型的硬件资源分配所述先前分配的共享硬件资源“i”的步骤包括:
确定所述硬件资源是所述第1硬件类型外的其它类型;
读取所述第2表中的第“i”项,获取“k”值;
设置所述第1表的第“k”项,表示所述第1表的所述第“k”项未分配。
5.一种从多种类型的硬件资源中分配使用多达预定数量硬件资源的方法,其特征在于,该方法包括下述步骤:
接收共享资源“i”的分配请求;
确定请求的硬件类型是否第1硬件类型;
当所述请求硬件类型是所述第1硬件类型时,执行下述动作:
对第1未分配项“j”查找分配器的存储器中的第1表,
把所述分配器的存储器的第2表中的第“i”项设置成与所述第1表的第1未分配项“j”相应的值,
设置所述分配器的存储器的第2表中的第“i”项,指示所述请求硬件的类型是所述第1硬件类型,和
把所述第1表中与所述第1未分配项“j”对应的项设置成表示所述第2表中第“i”项的值;
利用所述第1表中的相应项选择提供至多个多路转换器中一个的多个输入中的一个输入,所述多个输入相应于来自所述第1硬件类型的共享硬件的信号;
输出来自所述多个多路转换器中的一个的所述多个输入中的一个选定输入。
6.一种从多种类型硬件资源中分配使用多达预定数量的硬件资源的资源分配器,其特征在于,它包括:
接收共享硬件资源“i”分配请求的装置;
确定请求的硬件类型是否第1硬件类型的装置;
对于第1未分配项“j”查找分配器的存储器中第1表的装置;
把所述分配器的存储器的第2表中的第“i”项设置成与所述第1表的第1未分配“j”项相应的值的装置;
设定所述分配器的存储器的第2表中的第“i”项,表示所述请求硬件类型是所述第1硬件类型的装置;
把所述第1表中与所述第1未分配项“j”对应的项设置成表示所述第2表中所述项的值的装置;
使用所述第2表的相应项,选择提供至多个多路转换器中一个转换器的多个输入中的一个输入的装置;
输出来自所述多个多路转换器中的一个转换器的、多个输入中选定的一个输入的装置。
7.如权利要求6所述的资源分配器,其特征在于,还包括设定所述分配器的存储器中的第“i”项,表示所述请求硬件类型是所述第1硬件类型外的其它硬件类型的装置。
8.如权利要求6所述的资源分配器,其特征在于,还包括:
向所述第1硬件类型外的其它类型硬件分配先前分配的共享硬件资源“i”的装置,该装置包括:
确定所述硬件资源是所述第1硬件类型外的其它类型的装置;
对于有表示所述第2表第“i”项的值的项,查找所述第1表的装置;
设定所述第2表的第“i”项,表示所述类型不同于所述第1硬件类型的装置;
把具有表示所述第2表第“i”项值的所述第1表的所述项设定成表示去分配的值的装置。
9.一种从多种类型硬件资源中分配使用多达预定数量的硬件资源的资源分配器,其特征在于,它包括:
接收共享硬件资源“i”分配请求的装置;
确定请求的硬件类型是否第1硬件类型的装置;
对于第1未分配项“j”查找分配器的存储器中第1表的装置;
把所述分配器的存储器的第2表中的第“i”项设置成与所述第1表的第1未分配“j”项相应的值的装置;
设定所述分配器的存储器的第2表中的第“i”项,表示所述请求硬件类型是所述第1硬件类型的装置;
把所述第1表中与所述第1未分配项“j”对应的项设置成表示所述第2表中所述项的值的装置;
使用所述第1表的相应项,选择提供给多个多路转换器中一个多路转换器的多个输入中的一个输入的装置,所述多个输入相应于来自所述第1硬件类型的共享硬件资源的信号;
输出来自所述多个多路转换器中的一个转换器的、多个输入中的一个选定输入的装置。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/189,710 | 1998-11-11 | ||
| US09/189,710 US6493354B1 (en) | 1998-11-11 | 1998-11-11 | Resource allocator |
| PCT/US1999/026786 WO2000028777A2 (en) | 1998-11-11 | 1999-11-10 | Resource allocator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1040791A1 HK1040791A1 (zh) | 2002-06-21 |
| HK1040791B true HK1040791B (zh) | 2004-12-03 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6640290B1 (en) | Easily coalesced, sub-allocating, hierarchical, multi-bit bitmap-based memory manager | |
| JP4250190B2 (ja) | ファイルシステムにおけるオブジェクトの効率的な記憶 | |
| US5454103A (en) | Method and apparatus for file storage allocation for secondary storage using large and small file blocks | |
| EP0650124B1 (en) | Virtual memory computer system address translation mechanism that supports multiple page sizes | |
| US9122592B2 (en) | Flash memory device with multi-level cells and method of writing data therein | |
| US20080189490A1 (en) | Memory mapping | |
| US6832303B2 (en) | Method and system for managing an allocation of a portion of a memory | |
| US5539697A (en) | Method and structure for using defective unrepairable semiconductor memory | |
| US5860144A (en) | Addressing method and system for providing access of a very large size physical memory buffer to a number of processes | |
| JPS5990281A (ja) | メモリ管理方式 | |
| EP0394436A1 (en) | AUTOMATICALLY VARIABLE MEMORY NESTING SYSTEM. | |
| US20040064463A1 (en) | Memory-efficient metadata organization in a storage array | |
| CA1262493A (en) | Multi processor system | |
| US5940868A (en) | Large memory allocation method and apparatus | |
| US5132927A (en) | System for cache space allocation using selective addressing | |
| JPH07210452A (ja) | スピーチメモリの管理方法およびその装置 | |
| US20010042184A1 (en) | Converting non-contiguous memory into contiguous memory for a graphics processor | |
| CN1135473C (zh) | 资源分配器和分配资源的方法 | |
| EP0403124A2 (en) | Overlay swapping | |
| CN1171577A (zh) | 可编程读/写访问信号及其方法 | |
| US6240482B1 (en) | Host adapter having a plurality of register sets and corresponding operating nodes | |
| EP1505490A1 (en) | Method and computer system for accessing thread private data | |
| HK1040791B (zh) | 资源分配器和分配资源的方法 | |
| RU2001116089A (ru) | Распределитель ресурсов | |
| MXPA01004788A (en) | Resource allocator |