← Back to Patent Explorer
US5392443A Expired / Lapsed US ⏱️ 0.0 years remaining

Vector processor with a memory assigned with skewed addresses adapted for concurrent fetching of a number of vector elements belonging to the same vector data

Assignee: Hitachi Ltd
•
Filing: 1992-03-19
•
Granted: 1995-02-21
•
Expires: 2012-03-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A plurality of storage control units are employed in the storage control unit section; moreover, two requester modules are adopted in association with these storage control units. Each memory module is constituted with as many access bank groups as there are storage control units. The access bank groups operate in concurrent fashion and are accessible from any one of the storage control units. In the element assignment, a plurality of request control units in each requester module and a plurality of vector data controllers in each vector register unit are respectively assigned with serial numbers beginning from zero. For a vector data controller, a number assigned thereto is divided by the request module count to attain a remainder such that the vector data controller is assigned to a request module having a number identical to the value of the remainder. Furthermore, a request queue is disposed at a stage preceding each priority unit and a request send-out unit is arranged to store therein a state of the request queue and to control a request transmission from each request control unit. Addresses are assigned to the respective memory modules, bank groups, and banks according to skew schemes respectively suitable therefor.

Inventors

  • 👤 Tadayuki Sakakibara
  • 👤 Katsuyoshi Kitai
  • 👤 Yasuhiro Inagami
  • 👤 Yoshiko Tamaki
  • 👤 Teruo Tanaka
  • 👤 Tadaaki Isobe
  • 👤 Shigeko Yazawa
  • 👤 Masanao Ito

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 13:21
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/76; G06F15/80; G06F15/8053; G06F15/8076; G06F12/00; G06F12/02; G06F12/06; G06F12/0607

Claims Analysis

Total Claims: 47
Claim 1
Independent Claim 284 words
A vector processor comprising: a storage for storing vector data therein including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage, the value N being n times the value M, n being an integer greater than one, said requesters being divided into n requester groups; a plurality of (n) storage control units each disposed in correspondence to one of said requester groups, each storage control unit being connected to said memory modules and to plural requesters belonging to a corresponding one of said requester groups, each storage control unit transferring a plurality of access requests concurrently supplied from plural requesters belonging to said corresponding requester group to one or plural ones of said memory modules to which addresses contained in the access requests belong, each storage control unit concurrently transferring plural ones among a plurality of access requests supplied thereto, which plural ones contain addresses respectively belonging to mutually different ones of said memory modules, to said different memory modules and sequentially transferring plural ones of a plurality of access requests supplied thereto, which plural ones contain addresses belonging to an identical one of said memory modules, to said identical memory module; each memory module including plural memory bank groups and a plurality of access circuits each provided in correspondence to one of said memory bank groups, said memory bank groups including memory banks assigned with mutually different addresses, a total number of the memory bank groups being not less than the number (n) of said plurality of storage control units.
Claim 2
Dependent Claim 284 words
A vector processor comprising: a storage for storing vector data therein including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage, the value N being n times the value M, n being an integer greater than one, said requesters being divided into n requester groups; a plurality of (n) storage control units each disposed in correspondence to one of said requester groups, each storage control unit being connected to said memory modules and to plural requesters belonging to a corresponding one of said requester groups, each storage control unit transferring a plurality of access requests concurrently supplied from plural requesters belonging to said corresponding requester group to one or plural ones of said memory modules to which addresses contained in the access requests belong, each storage control unit concurrently transferring plural ones among a plurality of access requests supplied thereto, which plural ones contain addresses respectively belonging to mutually different ones of said memory modules, to said different memory modules and sequentially transferring plural ones of a plurality of access requests supplied thereto, which plural ones contain addresses belonging to an identical one of said memory modules, to said identical memory module; each memory module including plural memory bank groups and a plurality of access circuits each provided in correspondence to one of said memory bank groups, said memory bank groups including memory banks assigned with mutually different addresses, a total number of the memory bank groups being not less than the number (n) of said plurality of storage control units.
Claim 3
Dependent Claim 130 words
A vector processor according to claim 1, wherein: each memory module further includes a plurality of request queue groups each corresponding to one of said plural memory bank groups included in said each memory module, each request queue group including a plurality of request queues respectively connected to said plural storage control units and to one of said access circuits disposed in association with one of said memory bank groups corresponding to said each request queue group, said request queues being disposed respectively in association with said plural storage control units, each request queue in each said request queue group temporarily retaining an access request supplied from one of said storage control units associated with each request queue until the supplied access request is accepted by said associated access circuit.
Claim 4
Dependent Claim 392 words
A vector processor comprising: a storage for storing vector data therein including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage, the value N being n times the value M, n being an integer greater than one, said requesters being divided into n requester groups; a plurality of (n) storage control units each disposed in correspondence to one of said requester groups each storage control unit being connected to said memory modules and to plural requesters belonging to a corresponding one of said requester groups, each storage control unit transferring a plurality of access requests concurrently supplied from plural requesters belonging to said corresponding requester group to one or plural ones of said memory modules to which addresses contained in the access requests belong, each storage control unit concurrently transferring plural ones among a plurality of access requests supplied thereto, which plural ones contain addresses respectively belonging to mutually different ones of said memory modules, to said different memory modules and sequentially transferring plural ones of a plurality of access requests supplied thereto, which plural ones contain addresses belonging to an identical one of said memory modules to said identical memory module, each memory module including plural memory bank groups and an access circuit connected to said plural storage control units and to said memory bank groups within said each memory module, said memory bank groups respectively assigned with mutually different addresses, a total number of the memory bank groups being not less than a number (n) of said plurality of storage control units, said access circuit transferring each of a plurality of access requests concurrently supplied thereto from said plurality of storage control units to one of said memory bank groups to which an address included in said each access request belongs; wherein said plural memory modules are assigned with addresses in such a manner that successive addresses are sequentially assigned to different ones of said memory modules in accordance with a predetermined sequence of memory modules, and are assigned, for every first predetermined number of addresses, to one of said memory modules different from one of said memory modules determined according to the sequence of memory modules.
Claim 5
Dependent Claim 392 words
A vector processor comprising: a storage for storing vector data therein including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage, the value N being n times the value M, n being an integer greater than one, said requesters being divided into n requester groups; a plurality of (n) storage control units each disposed in correspondence to one of said requester groups each storage control unit being connected to said memory modules and to plural requesters belonging to a corresponding one of said requester groups, each storage control unit transferring a plurality of access requests concurrently supplied from plural requesters belonging to said corresponding requester group to one or plural ones of said memory modules to which addresses contained in the access requests belong, each storage control unit concurrently transferring plural ones among a plurality of access requests supplied thereto, which plural ones contain addresses respectively belonging to mutually different ones of said memory modules, to said different memory modules and sequentially transferring plural ones of a plurality of access requests supplied thereto, which plural ones contain addresses belonging to an identical one of said memory modules to said identical memory module, each memory module including plural memory bank groups and an access circuit connected to said plural storage control units and to said memory bank groups within said each memory module, said memory bank groups respectively assigned with mutually different addresses, a total number of the memory bank groups being not less than a number (n) of said plurality of storage control units, said access circuit transferring each of a plurality of access requests concurrently supplied thereto from said plurality of storage control units to one of said memory bank groups to which an address included in said each access request belongs; wherein said plural memory modules are assigned with addresses in such a manner that successive addresses are sequentially assigned to different ones of said memory modules in accordance with a predetermined sequence of memory modules, and are assigned, for every first predetermined number of addresses, to one of said memory modules different from one of said memory modules determined according to the sequence of memory modules.
Claim 6
Dependent Claim 296 words
A vector processor according to claim 3, wherein: each storage control unit includes: a plurality of priority units each disposed in association with and connected to one of said plural memory modules, each priority unit selecting one of a plurality of access requests supplied thereto and transmitting the selected access request to a memory module corresponding thereto; and a plurality of request send-out units each disposed in association with and connected to one of said requesters belonging to a requester group corresponding to said each storage control unit for judging one of the memory modules to which addresses respectively contained in the access requests respectively supplied from said requesters associated therewith respectively belong and for transmitting the access requests to said priority units respectively disposed in association with said memory modules, each of said priority units including: a plurality of request queues each disposed in association with and connected to one of said plural request send-out units for temporarily holding access requests transmitted from said request send-out units respectively associated therewith to each of said priority units; and a priority logic for selecting one of the plural access requests held in said plural request queues and transferring the selected access request to one of said memory modules corresponding to each priority, unit; each request send-out unit including: means for judging a memory module to which an address contained in the access request supplied from said associated requester belongs; and means connected to said judging means for controlling, in accordance with whether or not an empty area exists in a request queue disposed in one of said priority units related to said judged memory module, whether or not the access request is to be transmitted to said priority units disposed in association with said judged memory module.
Claim 7
Dependent Claim 30 words
A vector processor according to claim 4, wherein: the first predetermined number is not less than a total number of said memory bank groups included in said plural memory modules.
Claim 8
Dependent Claim 86 words
A vector processor according to claim 5, wherein: said plural bank groups within each memory module is assigned with a plurality of addresses assigned to said each memory module in such a manner that the plurality of addresses are sequentially assigned to different ones of said bank groups in a predetermined sequence of bank groups, and are assigned for every second predetermined number of addresses, to one of said bank groups different from one of said bank groups determined according to the sequence of bank groups.
Claim 9
Dependent Claim 68 words
A vector processor according to claim 6, wherein: the second predetermined number is identical to a value obtained as a quotient by dividing by a total number of said memory modules a result attained by multiplying the total number of said memory bank groups included in said plural memory modules by a quotient attained by dividing the first predetermined number by the number of said storage control units.
Claim 10
Dependent Claim 84 words
A vector processor according to claim 7, wherein: said plural banks belonging to each bank group within each memory module are assigned with a plurality of addresses assigned to said plural banks in such a manner that the plurality of addresses are sequentially assigned to different ones of said banks in a predetermined sequence of banks, and are assigned for every third predetermined number of addresses, to one of said banks different from one of said banks determined according to the sequence of banks.
Claim 11
Dependent Claim 36 words
A vector processor according to claim 8, wherein: the third predetermined number is identical to a value of a quotient attained by dividing the first predetermined number by the number of said plural storage control units.
Claim 12
Dependent Claim 255 words
A vector processor according to claim 3, wherein: each storage control unit includes: a plurality of priority units each disposed in association with and connected to one of said plural memory modules, each priority unit selecting one of a plurality of access requests supplied thereto for transmitting the selected access request to one of said memory modules corresponding thereto; and a plurality of request send-out units each disposed in association with and connected to one of said requesters belonging to one of said requester groups corresponding to each storage control unit for judging memory modules to which addresses respectively contained in the access requests respectively supplied from said requesters associated therewith respectively belong and for transmitting the access requests to said priority units respectively disposed in association with said memory modules, each priority unit selecting one of the plural access requests sent from said plural request send-out units thereto and transferring the selected access request to one of said memory modules corresponding to each priority unit, each request send-out unit judging one of said memory modules to which an address contained in the access request supplied from said associated requester belongs and transmitting the access request to one of said priority units disposed in association with said judged memory module, and each request send-out unit further controlling, in accordance with whether or not the transmitted access request is selected by said one priority unit, whether or not an access request subsequently supplied from said associated requester is to be transmitted to said one priority unit.
Claim 13
Dependent Claim 22 words
A vector processor according to claim 10, wherein: the first predetermined number is identical to the number of said plural memory modules.
Claim 14
Dependent Claim 86 words
A vector processor according to claim 11, wherein: said plural bank groups within each memory module is assigned with a plurality of addresses assigned to said each memory module in such a manner that the plurality of addresses are sequentially assigned to different ones of said bank groups in a predetermined sequence of bank groups, and are assigned for every second predetermined number of addresses, to one of said bank groups different from one of said bank groups determined according to the sequence of bank groups.
Claim 15
Dependent Claim 68 words
A vector processor according to claim 12, wherein: the second predetermined number is identical to a value obtained as a quotient by dividing by a total number of said memory modules a result attained by multiplying the total number of said memory bank groups included in said plural memory modules by a quotient attained by dividing the first predetermined number by the number of said storage control units.
Claim 16
Dependent Claim 84 words
A vector processor according to claim 13, wherein: said plural banks belonging to each bank group within each memory module are assigned with a plurality of addresses assigned to said plural banks in such a manner that the plurality of addresses are sequentially assigned to different ones of said banks in a predetermined sequence of banks, and are assigned for every third predetermined number of addresses, to one of said banks different from one of said banks determined according to the sequence of banks.
Claim 17
Dependent Claim 36 words
A vector processor according to claim 14, wherein: the third predetermined number is identical to a value of a quotient attained by dividing the first predetermined number by the number of said plural storage control units.
Claim 18
Dependent Claim 30 words
A vector processor according to claim 3, wherein: the first predetermined number is not less than a total number of said memory bank groups included in said plural memory modules.
Claim 19
Dependent Claim 86 words
A vector processor according to claim 16, wherein: said plural bank groups within each memory module is assigned with a plurality of addresses assigned to said each memory module in such a manner that the plurality of addresses are sequentially assigned to different ones of said bank groups in a predetermined sequence of bank groups, and are assigned for every second predetermined number of addresses, to one of said bank groups different from one of said bank groups determined according to the sequence of bank groups.
Claim 20
Dependent Claim 68 words
A vector processor according to claim 17, wherein: the second predetermined number is identical to a value obtained as a quotient by dividing by a total number of said memory modules a result attained by multiplying the total number of said memory bank groups included in said plural memory modules by a quotient attained by dividing the first predetermined number by the number of said storage control units.
Claim 21
Dependent Claim 84 words
A vector processor according to claim 18, wherein: said plural banks belonging to each bank group within each memory module are assigned with a plurality of addresses assigned to said plural banks in such a manner that the plurality of addresses are sequentially assigned to different ones of said banks in a predetermined sequence of banks, and are assigned for every third predetermined number of addresses, to one of said banks different from one of said banks determined according to the sequence of banks.
Claim 22
Dependent Claim 36 words
A vector processor according to claim 19, wherein: the third predetermined number is identical to a value of a quotient attained by dividing the first predetermined number by the number of said plural storage control units.
Claim 23
Dependent Claim 22 words
A vector processor according to claim 3, wherein: the first predetermined number is identical to the number of said plural memory modules.
Claim 24
Dependent Claim 86 words
A vector processor according to claim 21, wherein: said plural bank groups within each memory module is assigned with a plurality of addresses assigned to said each memory module in such a manner that the plurality of addresses are sequentially assigned to different ones of said bank groups in a predetermined sequence of bank groups, and are assigned for every second predetermined number of addresses, to one of said bank groups different from one of said bank groups determined according to the sequence of bank groups.
Claim 25
Dependent Claim 68 words
A vector processor according to claim 22, wherein: the second predetermined number is identical to a value obtained as a quotient by dividing by a total number of said memory modules a result attained by multiplying the total number of said memory bank groups included in said plural memory modules by a quotient attained by dividing the first predetermined number by the number of said storage control units.
Claim 26
Dependent Claim 84 words
A vector processor according to claim 23, wherein: said plural banks belonging to each bank group within each memory module are assigned with a plurality of addresses assigned to said plural banks in such a manner that the plurality of addresses are sequentially assigned to different ones of said banks in a predetermined sequence of banks, and are assigned for every third predetermined number of addresses, to one of said banks different from one of said banks determined according to the sequence of banks.
Claim 27
Dependent Claim 36 words
A vector processor according to claim 24, wherein: the third predetermined number is identical to a value of a quotient attained by dividing the first predetermined number by the number of said plural storage control units.
Claim 28
Dependent Claim 381 words
A vector processor comprising: a storage for storing vector data therein including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage, the value N being n times the value M, n being an integer greater than one, said requesters being divided into n requester groups; a plurality of (n) storage control units each disposed in correspondence to one of said requester groups, each storage control unit being connected to said memory modules and to plural requesters belonging to a corresponding one of said requester groups, each storage control unit transferring a plurality of access requests concurrently supplied from plural requesters belonging to said corresponding requester group to one or plural ones of said memory modules to which addresses contained in the access requests belong; each storage control unit concurrently transferring plural ones among a plurality of access requests supplied thereto, which plural ones contain addresses respectively belonging to mutually different ones of said memory modules to said different memory modules and sequentially transferring plural ones of a plurality of access requests supplied thereto, which plural ones contain addresses belonging to an identical one of said memory modules, to said identical memory module, each memory module including: plural memory bank groups, and an access circuit connected to said plurality of storage control units and to said memory bank groups within said each memory module, said memory bank groups being assigned with mutually different addresses, a total number of the memory bank groups being not less than a number (n) of said plurality of storage control units, said access circuit transferring each of a plurality of access requests concurrently supplied thereto from said plurality of storage control units to one of said memory bank groups to which an address included in said each access request belongs, wherein: each requester belongs to a requester group having a serial number equal to a value of a remainder attained by dividing an element number (a) within a concurrent element group, assigned to an element for which said each requester is to issue a request, by a total number (n) of said requester groups.
Claim 29
Dependent Claim 381 words
A vector processor comprising: a storage for storing vector data therein including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage, the value N being n times the value M, n being an integer greater than one, said requesters being divided into n requester groups; a plurality of (n) storage control units each disposed in correspondence to one of said requester groups, each storage control unit being connected to said memory modules and to plural requesters belonging to a corresponding one of said requester groups, each storage control unit transferring a plurality of access requests concurrently supplied from plural requesters belonging to said corresponding requester group to one or plural ones of said memory modules to which addresses contained in the access requests belong; each storage control unit concurrently transferring plural ones among a plurality of access requests supplied thereto, which plural ones contain addresses respectively belonging to mutually different ones of said memory modules to said different memory modules and sequentially transferring plural ones of a plurality of access requests supplied thereto, which plural ones contain addresses belonging to an identical one of said memory modules, to said identical memory module, each memory module including: plural memory bank groups, and an access circuit connected to said plurality of storage control units and to said memory bank groups within said each memory module, said memory bank groups being assigned with mutually different addresses, a total number of the memory bank groups being not less than a number (n) of said plurality of storage control units, said access circuit transferring each of a plurality of access requests concurrently supplied thereto from said plurality of storage control units to one of said memory bank groups to which an address included in said each access request belongs, wherein: each requester belongs to a requester group having a serial number equal to a value of a remainder attained by dividing an element number (a) within a concurrent element group, assigned to an element for which said each requester is to issue a request, by a total number (n) of said requester groups.
Claim 30
Dependent Claim 71 words
A vector processor according to claim 26, wherein: said plural memory modules are assigned with addresses in such a manner that successive addresses are sequentially assigned to different ones of said memory modules in accordance with a predetermined sequence of memory modules, and are assigned, for every first predetermined number of addresses, to one of said memory modules different from a memory module determined according to the sequence of memory modules.
Claim 31
Dependent Claim 30 words
A vector processor according to claim 27, wherein: the first predetermined number is not less than a total number of said memory bank groups included in said plural memory modules.
Claim 32
Dependent Claim 86 words
A vector processor according to claim 28, wherein: said plural bank groups within each memory module is assigned with a plurality of addresses assigned to said each memory module in such a manner that the plurality of addresses are sequentially assigned to different ones of said bank groups in a predetermined sequence of bank groups, and are assigned, for every second predetermined number of addresses, to one of said bank groups different from one of said bank groups determined according to the sequence of bank groups.
Claim 33
Dependent Claim 68 words
A vector processor according to claim 29, wherein: the second predetermined number is identical to a value obtained as a quotient by dividing by a total number of said memory modules a result attained by multiplying the total number of said memory bank groups included in said plural memory modules by a quotient attained by dividing the first predetermined number by the number of said storage control units.
Claim 34
Dependent Claim 84 words
A vector processor according to claim 30, wherein: said plural banks belonging to each bank group within each memory module are assigned with a plurality of addresses assigned to said plural banks in such a manner that the plurality of addresses are sequentially assigned to different ones of said banks in a predetermined sequence of banks, and are assigned, for every third predetermined number of addresses, to one of said banks different from one of said banks determined according to the sequence of banks.
Claim 35
Dependent Claim 36 words
A vector processor according to claim 31, wherein: the third predetermined number is identical to a value of a quotient attained by dividing the first predetermined number by the number of said plural storage control units.
Claim 36
Dependent Claim 22 words
A vector processor according to claim 27, wherein: the first predetermined number is identical to the number of said plural memory modules.
Claim 37
Dependent Claim 84 words
A vector processor according to claim 33, wherein: said plural bank groups within each memory module are assigned with a plurality of addresses assigned to said each memory module in such a manner that the addresses are sequentially assigned to different ones of said bank groups in a predetermined sequence of bank groups, and are assigned, for every second predetermined number of addresses, to one of said bank groups different from one of said bank groups determined according to the sequence of bank groups.
Claim 38
Dependent Claim 68 words
A vector processor according to claim 34, wherein: the second predetermined number is identical to a value obtained as a quotient by dividing by a total number of said memory modules a result attained by multiplying the total number of said memory bank groups included in said plural memory modules by a quotient attained by dividing the first predetermined number by the number of said storage control units.
Claim 39
Dependent Claim 79 words
A vector processor according to claim 35, wherein: said plural banks belonging to each said bank group are assigned with a plurality of addresses assigned to said each memory module in such a manner that the addresses are sequentially assigned to different ones of said banks in a predetermined sequence of banks, and are assigned, for every third predetermined number of, to one of said banks different from one of said banks determined according to the sequence of banks.
Claim 40
Dependent Claim 36 words
A vector processor according to claim 36, wherein: the third predetermined number is identical to a value of a quotient attained by dividing the first predetermined number by the number of said plural storage control units.
Claim 41
Dependent Claim 439 words
A vector processor comprising: a storage for storing vector data therein, including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage; a storage control unit connected to the requesters for transferring a plurality of access requests concurrently supplied from said plural requesters to one or ones of said memory modules to which addresses respectively contained in the access requests belong, said plural memory modules being sequentially assigned with addresses in such a manner that successive addresses are assigned to different ones of said memory modules, determined according to a first predetermined sequence of memory modules and are assigned, for every first predetermined number of addresses, to one of said memory modules different from one of said memory modules determined according to the sequence of memory modules, said storage control unit including: a plurality of priority units each disposed in association with and connected to one of said plural memory modules, each priority unit selecting one of a plurality of access requests supplied to said each priority unit and transmitting the selected access request to a corresponding one of the memory modules; and a plurality of request send-out units each disposed in association with and connected to one of said requesters belonging to one of said requester groups corresponding to each storage control unit for judging ones of said memory modules to which addresses respectively contained in the access requests respectively supplied from said requesters associated therewith respectively belong and for transmitting the access requests to said priority units respectively disposed in association with said judged memory modules, each priority unit including: a plurality of request queues each disposed in association with and connected to one of said plural request send-out units for temporarily holding access requests transmitted from said request send-out units respectively associated therewith to each priority unit; and means for selecting one of the plural access requests held in said plural request queues and transferring the access request to a memory module corresponding to each priority unit, each request send-out unit including: means for judging a memory module to which an address contained in the access request supplied from said associated requester belongs; and means for controlling, in accordance with whether or not an empty area exists in a request queue disposed in a priority unit related to said judged memory module, whether or not the access request is to be transmitted to said priority unit disposed in association with said judged memory module.
Claim 42
Dependent Claim 439 words
A vector processor comprising: a storage for storing vector data therein, including a plurality (M) of memory modules; a plurality (N) of requesters for concurrently issuing access requests for a plurality (N) of vector elements belonging to each of a plurality of concurrent element groups obtained by subdividing vector data stored in said storage; a storage control unit connected to the requesters for transferring a plurality of access requests concurrently supplied from said plural requesters to one or ones of said memory modules to which addresses respectively contained in the access requests belong, said plural memory modules being sequentially assigned with addresses in such a manner that successive addresses are assigned to different ones of said memory modules, determined according to a first predetermined sequence of memory modules and are assigned, for every first predetermined number of addresses, to one of said memory modules different from one of said memory modules determined according to the sequence of memory modules, said storage control unit including: a plurality of priority units each disposed in association with and connected to one of said plural memory modules, each priority unit selecting one of a plurality of access requests supplied to said each priority unit and transmitting the selected access request to a corresponding one of the memory modules; and a plurality of request send-out units each disposed in association with and connected to one of said requesters belonging to one of said requester groups corresponding to each storage control unit for judging ones of said memory modules to which addresses respectively contained in the access requests respectively supplied from said requesters associated therewith respectively belong and for transmitting the access requests to said priority units respectively disposed in association with said judged memory modules, each priority unit including: a plurality of request queues each disposed in association with and connected to one of said plural request send-out units for temporarily holding access requests transmitted from said request send-out units respectively associated therewith to each priority unit; and means for selecting one of the plural access requests held in said plural request queues and transferring the access request to a memory module corresponding to each priority unit, each request send-out unit including: means for judging a memory module to which an address contained in the access request supplied from said associated requester belongs; and means for controlling, in accordance with whether or not an empty area exists in a request queue disposed in a priority unit related to said judged memory module, whether or not the access request is to be transmitted to said priority unit disposed in association with said judged memory module.
Claim 43
Dependent Claim 30 words
A vector processor according to claim 38, wherein: the first predetermined number is not less than a total number of said memory bank groups included in said plural memory modules.
Claim 44
Dependent Claim 86 words
A vector processor according to claim 39, wherein: said plural bank groups within each memory module is assigned with a plurality of addresses assigned to said each memory module in such a manner that the plurality of addresses are sequentially assigned to different ones of said bank groups in a predetermined sequence of bank groups, and are assigned for every second predetermined number of addresses, to one of said bank groups different from one of said bank groups determined according to the sequence of bank groups.
Claim 45
Dependent Claim 68 words
A vector processor according to claim 40, wherein: the second predetermined number is identical to a value obtained as a quotient by dividing by a total number of said memory modules a result attained by multiplying the total number of said memory bank groups included in said plural memory modules by a quotient attained by dividing the first predetermined number by the number of said storage control unit.
Claim 46
Dependent Claim 84 words
A vector processor according to claim 41, wherein: said plural banks belonging to each bank group within each memory module are assigned with a plurality of addresses assigned to said plural banks in such a manner that the plurality of addresses are sequentially assigned to different ones of said banks in a predetermined sequence of banks, and are assigned for every third predetermined number of addresses, to one of said banks different from one of said banks determined according to the sequence of banks.
Claim 47
Dependent Claim 36 words
A vector processor according to claim 42, wherein: the third predetermined number is identical to a value of a quotient attained by dividing the first predetermined number by the number of said plural storage control unit.

References Cited (Backward Citations)

US4777593A Cited
US4875161A Cited
US4827407A Cited
US4843543A Cited
US5214769A Cited
US5276902A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-02-20 1998-08-22 1999-02-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-02-20 2002-08-22 2003-02-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-02-20 2006-08-22 2007-02-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag