AU596541B2 - Data processing system for processing units having different throughputs - Google Patents
Data processing system for processing units having different throughputs Download PDFInfo
- Publication number
- AU596541B2 AU596541B2 AU21042/88A AU2104288A AU596541B2 AU 596541 B2 AU596541 B2 AU 596541B2 AU 21042/88 A AU21042/88 A AU 21042/88A AU 2104288 A AU2104288 A AU 2104288A AU 596541 B2 AU596541 B2 AU 596541B2
- Authority
- AU
- Australia
- Prior art keywords
- unit
- register
- access
- main storage
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Landscapes
- Complex Calculations (AREA)
Description
COMMONWEALTH OF AUSTRALIA PATENT ACT 1952 COMPLETE SPECIFICATION 596541
(ORIGINAL)
FOR OFFICE USE CLASS INT. CLASS Application Number: Lodged: 9 'o.
ft., Ott t O 1 r t r~~t t t 4 *0 1 0t1.
4 Complete Specification Lodged: Accepted: Published: Priority: Related Art-: This document contains amendments made under Section 49.
tbc I and Is correct for prnting.
t I NAME OF APPLICANT:
I
ADDRESS OF APPLICANT: NAME(S) OF INVENTOR(S ADDRESS FOR SERVICE: FUJITSU LIMITED 1015, Kamikodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa 211,
JAPAN.
Akihiko HOSHINO Mikio ITOH Nobuhiko KURIBAYASHI DAVIES COLLISON, Patent Attorneys 1 Little Collins Street, Melbourne, 3000.
COMPLETE SPECIFICATION FOR THE INVENTION ENTITLED: "DATA PROCESSING SYSTEM FOR PROCESSING UNITS HAVING DIFFERENT THROUGHPUTS" The following statement is a full description of this invention, including the best method of performing it known to us -1- ~-~c"ct r -2e e4 The present invention relates to a data processing system including at least two processing units having different throughputs for a main storage unit.
Recently, in an effort to provide more rapid processing, vector computers have been developed.
But even in such a computer, when carrying out an ultra-large scale scientific calculation, sometimes it is not possible for all of the data to be stored at the same time in a main storage unit, thus g o increasing the overhead of the input/output processing. Accordingly, to reduce this overhead, an extended storage unit is provided in addition to the main storage unit.
Note, an extended storage control unit for the extended storage unit has a smaller throughput for the main storage unit than other units such as a r-
I
3 1 vector unit.
2 3 4 6 7 8 9 11 12 00 o 13 0 14 0 0 15 0004 o 16 17 18 19 21 22 0 23 0 24 26 27 28 29 31 32 33 34 36 37 38 In a computer system having a plurality of processing units such as the vector unit, the extended storage control unit, and the like, have different throughputs for the main storage unit, and when the processing units perform sequential access upon the main storage unit simultaneously, there may be a problem in that the throughput of one processing unit, such as the vector unit, having a large throughput becomes the same as that of another processing unit, such as the extended storage control unit having a small throughput, thereby reducing the data processing efficiency of the system. This will be later explained in more detail.
It is an object of the present invention to provide a data processing system including at least two processing units having different throughputs in which the data processing efficiency is improved.
According to the present invention there is provided a data processing system comprising: a main storage unit having elements with respective access addresses ranging from a low address to a high address; a first processing unit for performing sequential access upon said elements of said main storage unit in their ascending order; and a second processing unit for performing sequential access upon said elements of said main storage unit in their descending order; said processing unit accessing said main storage unit simultaneously or in parallel.
900202,kxlape.003. fuJits.3 i L -4- A preferred embodiment of the present invention will now be described, by way of example only, with reference to the accompanying drawings, wherein: Figure 1 is a block circuit diagram of a computer system to which the present invention is applied; Figures 2A and 2B are timing diagrams for explaining the prior art input/output access for the 6410 main storage unit; Figure 3 is a timing diagram for explaining one principle of input/output access for the main storage unit; Figure 4 is a diagram for explaining the formula Figure 5 is a diagram for explaining the 4 as a aformula 'oo Figure 6 is a detailed circuit diagram of the extended storage control unit, the vector unit, 20 and the main storage control unit of Figure 1 realising the principle of Figure 3; Figure 7 is a timing diagram for explaining r a principle of input/output access for the main storage unit according to the present invention; and Figure 8 is a detailed circuit diagram of the extended storage control unit, the vector unit, and the main storage control unit of Figure 1 for realising the principle of Figure 7.
In Figure i, which illustrates a computer system to which the present invention is applied, this system is comprised of a main storage unit (MSU) I, a main storage control unit (MCU) 2, an extended i''2 storage unit (MSU) 3, an extended storage control unit (EMU) 4, a vector unit 5, a scalar unit 6, and a channel processor 7 to which a plurality of channels (not shown) are connected.
The scalar unit 6 comprises a program status word (PSW) register, control registers, general registers, floating point registers, and the like to read and decode all instructions. As a result, if the scalar unit 6 recognizes instructions as scalar instructions, such scalar instructions are carried 00o0 n~out in the scalar unit 6. Conversely, if the scalar unit 6 recognizes instructions as load/store instructions for the extended storage unit 3, such o 15 load/store instructions including instruction codes, addresses, operands and the like are delivered to the extend storage control unit 4 which executes the load/store instructions. Further, if the scalar unit 6 recognizes instructions as vector instructions such as load/store instructions, such vector instructions including instruction codes, addresses, operands and the like are delivered to the vector unit 5 which executes the vector instructions.
#0 ioo 25 Note that the scalar unit 6, the vector unit 0*0044 0 5, and the extended storage control unit 4 can operate independently from each other. That is, after the scalar unit 6 delivers instructions to the :g vector unit 5 and the extended storage control unit 30 4, the scalar unit 6 can process a next instruction.
e3 Ebb.- -6- The extended storage control unit 4 comprises a load/store pipeline (not shown) which has an access throughput of one elemeat per one cycle for the main storage unit 1, however, in this case, one access is carried out by every four elements per four cycles, thereby improving the access efficiency.
The vector unit 5 comprises a load/store pipeline (not shown) which has an access throughput of four elements per one cycle for the main storage unit 1.
Therefore, the throughput of the vector unit 5 is r four times as large as that of the extended storage control unit 4.
at.
twat In Figs. 2A and 2B, which show the prior art access rca, state, the ordinate designates time and the abscissa 15 designates a logic storage number (LS) of the main o, storage unit 1. Also, when an access is made to a logic storage number LS, the line is extended toward the longitudinal direction by an LS busy time during which other accesses are forbidden and waited for this LS busy 20 time even when such other accesses are requested. This LS busy time is, for example, 6T. Further, an EMU a cx access is carried out by the extended storage control unit 4, and a VU access is carried out by the vector unit In Fig. 2A, the throughput of a VU access by the vector unit 5 is not reduced since there is no competition between the EMU access and the VU access.
In Fig. 2B, the VU access is delayed due to the LS busy time by the EMU access, until the LS busy time is "OFF". As a result, the access throughput of the vector unit 5 is reduced, and accordingly, it is the same as that of the extended storage control unit 4.
According to the present invention, the reduction of the access throughput of a processing unit, such as the vector unit 5, having a large throughput can be avoided.
~vy, Ii If '4 41 00090
'I
.4 9 #9 9 .1 0 4 9 *0 7-
I
90 0 t o .0 9* 0 0.
90 0 -9 o 09 09 t9U~ t 0 C Fig. 3 shows one principle of an access state wherein the EMU access is carried out for every n elements of the main storage unit 1. As a result, since the throughput of the EMU access is 4 elements/4T, when every 4n elements are accessed, the period is nt. Accordingly, there is a gap between each access of the 4n elements.
Therefore, even when the VU access compates with the EMUJ access at the same logic storage LS, the VU access passes through a gap between the EMU accesses. '-1 The value n is an integer which satisfies the condition: n ac/(a b)(1 where a (elements/fl is a throughput of a processing unit such as the vector unit 5 having a large 15 throughput; b (elements/i) is a throughput of a processing unit such as the extended storage control unit 4 having a small throughput; and c(x) is an LS busy time. In other words, the 20 ratio of number of elements simultaneously accessed by the two processing units is larger than Eb >bc a a-b The formula (or is introduced by using Fig. 4. In Fig. 4, the angle Q must be larger than the 25 angle P, so as to pass the stream of the VU access through the gap of the busy LS's of the EMU accesses.
That is, if Q PP, the stream of the VU access is always prevented by the busy LS of the EMU access.
For simplicity, when P' is used instead of P, sin~ce Q P' P), (n c)/nb 1/a, the formula (or can be obtained.
Thus, when the VU access completes with the EMU access at the same logic storaga LS of the main storage unit 1, a delay time D due thereto is within D 3c ac/nb (2) The formula can ba introduced by using Fig. -8- The delay time D is comprised of a delay time DA due to the busy LS of the EMU access and a delay time DB due to the busy LS of the vector unit The maximum of the delay time DA is the LS busy time c, and the delay time DB is determined by DB 2c ac/nb.
Thus, the formula can be obtained.
When the throughput of the EMU access is 1 element/It, the throughput of the VU access is 4 elements/lT, and the LS busy time is 6T, Fig. 3 shows an access state where n 12, and in this case, DA 3r and D 5T, and accordingly, D 8T.
r Thus, when a plurality of processing units perform sequential accesses upon the main storage unit 1 simult ail 15 taneously, the problem wherein the throughput of a processing unit having a large throughput is reduced and is the same as that of a processing unit having a small throughput, is resolved.
4t In Fig. 6, which is a detailed circuit diagram of i 20 the extended storage control unit 4, the vector unit ,and the main storage control unit 2 of Fig. 1 for realizing the principle of Fig. 3, the scalar unit 6 l comprises registers 61 to 64 for controlling the extended storage control unit 4, and registers 65 to 68 for controlling the vector unit 5. Also, the extended I storage control unit 4 comprises a control circuit 401 enabled by the valid signal from the register 61 of the scalar unit 6, an operation code (OPC) register 402, a start address (SA) register 403, a selector 404, a request address (RA) register 405, an +8n adder 406, an r element number (EL) register 407, a selector 408, a subtraction register 409, a request control circuit 410, and a -n subtractor 411. Further, the vector unit comprises a control circuit 501 enabled by the valid signal from the register 65 of the scalar unit 6, an operation code (OPC) register 502, a start address (SA) register 503, a selector 504, a request address (RA)
I
-9- 11' 4r 4 I It I Il Irt
I
register 505, a +20 adder 506, an element number (EL) register 507, a selector 508, a subtraction register 509, a request control cixruit 510, and a -4 subtractor 511.
The main storage control unit 2 comprises a priority sequence determination circuit 201, connected to a start register 202, a queue stage (stack) 203 for storing addresses, a register 204, a queue stage (stack) 205, a register 206, a busy check circuit 207, a selector 208, and eight registers 209 to 216 which are connected to the main storage unit 1 which, in this case, interleaves eight ways. Note that the main storage control unit 2 has the same configuration for each of the scalar unit 6 and the channel processor 7. The queue stage 203 stores sequential addresses ADD from the request address register 405 when the request control circuit 410 generates a request valid (REQ-VAL) signal. The queue stage 205 stores sequential addresses ADD from the request address register 505 when the request control circuit 510 generates a request valid (REQ-VAL) signal.
The priority sequence determination circuit 201 receives operation code signals from the operation code registers 402 and 502, and checks the LS busy state by the.
busy check circuit 207, the bus conflict state, the other priority sequence conditions, and the like. As a result, the priority sequence determination circuit 201 determines an actual access to the main storage unit 1 based upon the priority sequence thereof, to set addresses in the registers 209 to 216. A write/read operation of the main storage unit 1 is started by a start signal from the regi'ster 202.
If the start address (SA) of the EMU access is "10)00" (HEX), the number (EL) of elements is 256, and the operation code is "STORE", the extended storage control unit 4 operates as follows. Note that, in this case, an address is allocated for each byte, and one element is comprised of 8 bytes.
The control circuit 401 is enabled by the output of ~1 t I C V 4 4, 0 9 @4 4, 4. 4 4 44 44 44 0 4 4, .9 0* fl.
4*94i0 4 ft the register 61 of the scalar unit 6 which operates the registers 402, 403, and 407. That is, the "STORE" code of the register 62 is set in the operation code register 402, "10000" of the register 63 is set in the start address register 403, and "100" (HEX) of the register 64 is set in the element number register 407.
In this case, since the selector 404 selects a path from the start address register 403 to the request address register 405, the content of the start address register 403 is transmitted via the selector 404 to the request address register 405. Similarly, since the selector 408 selects a path from the element number register 407 to the subtraction register 409, the content of the element number registrt. 407 is transmitted via the selector 408 to the subtraction register 409.
In this case, the request control circuit 410 generates a request valid (REQ-VAL) signal, and accordingly, the request address of the request address register 405 is set in the queue stage 203.
20 Then, the control circuit 401 operates the selector 404 to switch the selector 404, so that a path from the request address register 405 via the +8n adder 406 to the request address register 405 is selected.
Thus, every 8n is added to the content of the request 25 address register 405. Simultaneously, the control circuit 401 operates the selectgr 408, to switch the selector 408, so that a path from the subtraction register 409 via the -n subtractor 411 to the subtraction register 409 is selected. Thus, every n is subtracted from the content of the subtraction register 409. This operation is repeated until the content of the subtraction register 409 reaches zero.
The vector unit 5 operates in the same way as the extended storage control unit 4, except for the adder 506 and the -4 subtractor 511.
That is, every n elements (n is, for example, 8) are accessed by the extended storage control unit 406, -ll -11while every 4 elements are accessed by the vector unit Thus, the principle of Fig. 3 is realized.
In Fig. 17, which shows a principle of an access state according to the present invention, when accessing sequential elements of the main storage unit 1, it is common to access them in an ascending order from a small logic storage LS to a large logic storage LS, however, in Fig. 7, the access sequence of one of the processing units is reversed, a descending order.
S. In Fig. 7, the VU access is carried out by an ascending order of elements, but the EMU access is carried out by a descending order of elements.
15 Thus, even when the VU access competes with the EMU access, a competition time is within the LS busy time thereby assuring the throughput.
In Fig. 8, which is also a detailed circuit diagram of the extended storage control unit 4, the vector 20 unit 5, and the main storage control unit 2 of Fig. 1 for realizing the principle of Fig. 7, the extended storage control circuit 4 is simijar to that of Fig. 6 except for a +8 adder 406' and a -1 subtractor 411'.
That is, in this case, every one element is accessed in an ascending order by the extended storage unit 4.
Also, the vector unit 5 is similar to that of Fig. 6 except for a -20 subtractor 506', and an end address calculation circuit 512. That is, in this case, every 4 elements are accessed in a descending order by the vector unit 5. Further, the main storage control unit 2 is entirely the same as that of Fig. 6.
If the start address (SA) of the VU access is "10000" (HEX), the number (EL) of elements is 256, and the operation code is "STORE", and the vector unit operates as follows.
The control circuit 501 is enabled by the output of the register 65 of the scalar unit 6 which operates the -12registers 502, 503, and 507. That is, the "STORE" code of the register 66 is set in the operation code register 502, "10000" of the register 67 is set in the start address register 503, and "100" (HEX) of the register 68 is set in the element number register 507.
In the end address calculation circuit 512, an end address "SA EL*8" is calculated from the start address (SA) of the start address register 503 and the element number (EL) of the element number register 507. In this case, since the selector 504 selects a path from the circuit 512 to the request address register 505, the t content of the end address calculation circuit register 512 is transmitted via the selector 504 to the request address register 505. Similarly, since the selector 508 selects a path from the element number register 507 to j the subtraction register 509, the content of the element number register 507 is transmitted via the selector 508 1 to the subtraction register 509. In this case, the request control circuit 510 generates a request valid I 20 (REQ-VAL) signal, and accordingly, the request address of the request address register 505 is set in the queue i~ stage 205.
l Then, the control circuit 501 operates the selector 504 to switch the selector 504, so that a path u25 from the request address register 505 via the i subtractor 506' to the request address register 505 is selected. Thus, every -20 (HEX) is subtracted from the content of the request address register 505. Simultaneously, the control circuit 501 operates the selector 508 to switch the selector 508, so that a path from the subtraction register 509 via the -4 subtracter 511 to the subtraction register 509 is selected. Thus, every 4 is subtracted from the content of the subtraction register 509. This operation is repeated until the content of the subtraction register 509 reaches zero.
Thus, the vector unit 5 accesses every 4 elements sequentially in a descending order.
-13- Note that, if the extended storage control unit 4 accesses every one element sequentially in a descending order, the vector unit accesses every 4 As explained above, according to the present invention the reduction of throughput of a processing unit having a large throughput can be avoided, and accordingly, the effect contributing to the J 10 improvement of data processing efficiency is very large.
rt
J
Claims (3)
1. A data processing system comprising: a main storage unit having elements with respective access addresses ranging from a low address to a high address; a first processing unit for performing sequential access upon said elements of said main storage unit in their ascending order; and a second processing unit for performing sequential access upon said elements of said main storage unit in their descending order; said processing unit accessing said main storage unit simultaneously or in parallel.
2. A system as claimed in claim 1, wherein said first processing unit comprises a vector unit, and said second processing unit comprises an extended storage control unit.
3. A data processing system substantially as hereinbefore described with reference to Figures 1, 7 and 8. DATED this 2nd day of February, 1990. FUJITSU LIMITED By its Patent Attorneys DAVIES COLLISON 900205,kzlspe.003 ,fujitxu.14 r- 1
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60-200966 | 1985-09-11 | ||
| JP20096685A JPS6261131A (en) | 1985-09-11 | 1985-09-11 | Main storage control system |
| JP20753785A JPS6266367A (en) | 1985-09-19 | 1985-09-19 | Main memory control system |
| JP60-207537 | 1985-09-19 | ||
| AU62501/86A AU578168B2 (en) | 1985-09-11 | 1986-09-05 | Data processing system for processing units having different throughputs |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU62501/86A Division AU578168B2 (en) | 1985-09-11 | 1986-09-05 | Data processing system for processing units having different throughputs |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| AU2104288A AU2104288A (en) | 1988-11-17 |
| AU596541B2 true AU596541B2 (en) | 1990-05-03 |
Family
ID=27155408
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU21042/88A Ceased AU596541B2 (en) | 1985-09-11 | 1988-08-17 | Data processing system for processing units having different throughputs |
Country Status (1)
| Country | Link |
|---|---|
| AU (1) | AU596541B2 (en) |
-
1988
- 1988-08-17 AU AU21042/88A patent/AU596541B2/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| AU2104288A (en) | 1988-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4467419A (en) | Data processing system with access to a buffer store during data block transfers | |
| EP0080062B1 (en) | Page controlled cache directory addressing | |
| US5155854A (en) | System for arbitrating communication requests using multi-pass control unit based on availability of system resources | |
| US5842038A (en) | Optimized input/output memory access request system and method | |
| EP0021399B1 (en) | A method and a machine for multiple instruction execution | |
| US4968977A (en) | Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system | |
| US5881302A (en) | Vector processing unit with reconfigurable data buffer | |
| EP0138451B1 (en) | Vector data processing system for indirect address instructions | |
| US4376976A (en) | Overlapped macro instruction control system | |
| US4725973A (en) | Vector processor | |
| EP0242882B1 (en) | Storage control method and apparatus | |
| US4677547A (en) | Vector processor | |
| US5497467A (en) | Vector data buffer and method of reading data items from a banked storage without changing the data sequence thereof | |
| EP0570164B1 (en) | Interleaved memory system | |
| AU596541B2 (en) | Data processing system for processing units having different throughputs | |
| EP0215621B1 (en) | Data processing system for processing units having different throughputs | |
| US5692136A (en) | Multi-processor system including priority arbitrator for arbitrating request issued from processors | |
| EP0232827A2 (en) | Vector processor | |
| JPH0512751B2 (en) | ||
| US5050076A (en) | Prefetching queue control system | |
| JP2503702B2 (en) | Address translation device | |
| CA1329656C (en) | Method for controlling a vector register and a vector processor applying thereof | |
| JP2812610B2 (en) | Pipeline control method | |
| JPS6398051A (en) | Address conversion system | |
| HK40066978A (en) | Processor apparatus and its instruction execution method, computing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MK14 | Patent ceased section 143(a) (annual fees not paid) or expired |