WO1987002488A1 - Multi-port memory system - Google Patents
Multi-port memory system Download PDFInfo
- Publication number
- WO1987002488A1 WO1987002488A1 PCT/JP1986/000136 JP8600136W WO8702488A1 WO 1987002488 A1 WO1987002488 A1 WO 1987002488A1 JP 8600136 W JP8600136 W JP 8600136W WO 8702488 A1 WO8702488 A1 WO 8702488A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- address
- page
- port
- switching
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Definitions
- the present invention relates to a multi-port memory system that is simultaneously accessed at the page level from a large number of the same or different types of processors or disk systems (including a disk unit and a disk controller).
- the access unit is a page, and it is possible to access from anywhere within the page, so that a multi-port memory system that can be accessed simultaneously by many processors without waiting time is used.
- was announced Yamazuru Tanaka.
- an object of the present invention is to solve the drawbacks of a conventional memory system that can be accessed by a plurality of processors and the like, and to prevent simultaneous access from a certain number (several tens) of input / output boards.
- the connection bus is composed of an input data bus, an output data bus, and a number of control lines, and each page first uses the input data bus to store the page address to be accessed first.
- the address of the page ⁇ is incremented on the memory side and the link side, and the data is input and output synchronously, so that it can be continuously connected from multiple boards. Read and write data to the same page I am trying to.
- connection bus is bit-sliced and the PLA (Programmable Logic) Ar ray) and a counter can be used.
- a shift register is used for setting and transferring the page address, and a latch for fixing the page address during the shift so that the shift and the memory access can be performed simultaneously, and a latch for the memory access. It is preferable that each memory link has a power counter for incrementing the address in the page one by one.
- one page is divided into several blocks and, for example, one block of memory is accessed in one round of memory link switching.
- the reason for introducing the block unit will be explained in detail in the next section.
- the present invention provides a buffer between the switching network and each of the boats, and provides a buffer between the switching network and the switching network.
- the address in the matching page is switched.
- Each buffer has an adder for address calculation so that it is calculated from the sum of the switching counter value of the network and the number of each port. Independently of the connection relationship between each memory bank and each board, access can be started and a multi-port memory system is provided.
- the maximum waiting time for a port is the memory bank at the start of access; if it can be recognized on the port side, it is the switching interval of the switching network, and if no block is considered, the L node It is necessary to wait for N minutes of data tilling time. Pages to reduce latency Shortening the memory length increases the page address and complicates memory management. Therefore, the port is specified on a page-by-page basis, and one page is divided into multiple blocks, so that one block of memory is accessed when the memory bank is switched once. That is, the unit A click Seth during interval switching Note Nbanku is L s / N, by the L p / L B circumferential child, to A click Seth the data of one page. If L s N N is too small, the page address transfer time between each memory link becomes short, so L s is B / N ⁇ “.g 2 f ⁇ +“ og2 iV ”1
- the beginning of the block must be ⁇ ⁇ ⁇ , independent of the memory bank that started the access. Since the memory bank in which port P i is read at time j is MB ⁇ ⁇ ⁇ ,
- connection bus width can be narrower than the conventional method, and there is little difficulty in mounting. It is also economical.
- FIG. 1 is a block diagram showing an outline of a multi-port memory system according to the present invention
- FIG. 2 is a block diagram of a main part of an embodiment of the present invention
- FIG. 3 is FIGS. 1 and 2.
- 4 is a more detailed block diagram of one memory link in Fig. 4
- Fig. 4 is a diagram showing the division of memory of the entire system in Figs. 1, 2 and Table 1
- Fig. 5 is Timing charts of the processing of the system in Figs. 2 and 3
- Figure 8 shows the state of access from each port at +1
- Figures 8 and 9 show one bit of the 44 switching network from the port, respectively.
- FIG. 2 is a block diagram of a main part of an embodiment of the present invention.
- P Q, ... P 15 is 16 de one data input and for Kabo preparative, PB Q, PB 1 ... PB 5 is ⁇ Mu the controller C and the buffer memory B m at baud up side buffer.
- MB 0 ⁇ MB 15 is 16 Note re Roh, 'link, SN is 16 x l6 Sui etching - network, CNT is a hexadecimal mosquito window pointer. Connection bus B and B 2 1 by Bok and parity bit 1 bit nine bit for writing data, similarly 9 bits for readout, a total of 24 bits wide of 6 pit for control It is. The switching of the switching network SN is performed in a clockwise direction in synchronization with the system clock ⁇ , and therefore, a hexadecimal counter CNT is used.
- Table 1 shows the value of the hexadecimal counter CNT and the connection relationship between each port and each memory link. ' ⁇
- P monument ... l ⁇ 5 is boat number
- MB 0 ... MB 5 represents the number of the main Moribanku.
- the address is transferred to the memory bank on the right (in the case of the rightmost end, the leftmost memory bank) in synchronization with the switching of the switching network SN. . Therefore, 'shift register (memory Roh tank side of ⁇ de Les calculation unit CS to ⁇ Mu) and using the data line B 5 of each Note Li Roh 1 bit connecting the link MBQ ⁇ MB 5.
- FIG. 4 shows how the whole memory of the system in this embodiment is divided.
- the total storage capacity of this memory system is 256 megabytes
- the size of one page is 4 kilobytes
- the size of one block is 512 bytes. I decided to do it.
- block size per memory Roh link in the case where the memory Roh number of links and 1 6, from the transfer and the boat P 0 ⁇ P 5 of ⁇ dress by the shift register Since the access time overlaps with the time required to set the address, the block of one bank is set to 32 bytes, so that 32 ⁇ 16 and 512 knots.
- the total storage capacity is 64 kilopages, and two bytes are required to specify the page address. The storage capacity during one memory link is divided by 16 to 256 megabytes, resulting in 16 megabytes.
- Micromax is 8 bit X 1-6 mega 1 6 megabytes worth of Note Li, S 8, S g _ 2 and below 8 bi of each page Asia de Les ⁇ )
- SJ is 3-bit shift register fights c printer to counter a block of one page 8 block
- C 5 is a 32-ary counter for force ⁇ down bets one block 32 bytes.
- Shift register saponification U printer S 8 -, S 8 - 2 of page address and shift register and count block address of pointer S 5 is the right in synchronism with the switching of the Sui etching-nets Wa over click because that must be ⁇ in
- S3 must also have a 3-bit parallel output and 1-bit serial input / output. ⁇ Addresses specified from the port side are page units. —Because it is assumed that it is accessed from the beginning of the page, S3 must be reset when the basic address is set. Et al is, Note for the encircling re Roh link shall enter a next block, a six blocks providing a count down Tosuru 4 bit shift register and counter S 4, the calibration Li over the input to the S 3. In addition, the buffer between each port and the switching-network is removed, and MB is always required. Can and this bypass this S 4 when it is assumed that starts accessing from. Thereof so as to increase one always S 3 in MB 0 if.
- Et al is, in order to be accessible contiguous space beyond the pages one by one set of teeth, such as Naosuko pages, the calibration rie of S 5 S g - to, S 8 - 2 of calibration rie the S 8 - is desired arbitrary to enter into 1.
- Page address and block address to the next memory link In order to allow to O bar one lap and a memory access to transfer to, for your Ku secure the Pejia dress and Burokkua dress, L 8 _! , L 8 - using a 3 bit Bok of latches for Burokkua dresses of 2 and 8 bits Bok latch for Pejia de Les that L 3. Also, providing a 5-bit Totsuma Ri 32 binary counter C 5 for one by one increases the add-less in one block. The base and block addresses must be flushed to the next memory bank during the access to this 32 bytes, or another page and block address must be set from the boat. .
- Data and address can be transferred between boats using two unidirectional buses 21 and 22 each consisting of 8 bits + validity bits. As shown in Fig. 3, PC and ⁇ ⁇ , the checking of the resource and the addition of the validity bit are performed at the entrance and exit of each memory link.
- the timing of writing and reading is enabled by the memory bank controller MBC shown in Fig. 3 using control signals from the system clock and the board, and each counter and Control signals are sent to latches and memory.
- Fig. 5 is a timing chart of the multi-port memory system in Figs. 2 and 3.
- Each Note Li Roh link of ⁇ dress A 0, A 1, A 2 , A 3, A 4 in FIG. 5, ... are finger 'constant as, from the boat in synchronism with the system clock ⁇ Accessed.
- the latches L 8 —, L 8 _ 2, and L 3 are used at the timing of the latch set L s prior to tillage.
- both Kakuboichi door as before mentioned from the bank Note Li MB 0 if it is to start the access is, 4 bits worth of Roh link mosquito window down door is not necessary. If it otherwise, it is necessary to one mound window down up the mosquito window pointer for Roh 'link mosquito window down door in Thailand Mi ring of S 4 count up. In this case, the S 4 counter must be re-set at the time of setting the page address.
- Fig. 8 shows an example in which one bit of the data line to be written from the 4x4 switching network's port to the memory link side is configured using PLA. ing. I P n to I are input
- Fig. 9 shows the data read from the memory bank side from the board of the 4x4 switching network, where one bit of the line is also used for PLA (Programmable L ogic Array).
- I MB, MB is the input side, that is, memory, and the output is 0 O P, is the output side, that is, the boat side, A
- FIG. 10 is a block diagram showing one of the port buffers in FIG. 2 in detail.
- This boat buffer is intended to improve the overall efficiency of writing and reading.
- the beginning of the page is a specific memory link, for example, a memory link. It is desirable to decide that it is. However, it is inefficient as a whole to wait for the port to be switched to memory or ' 0 ' by the switching network S 'during writing.
- two 4-kilobyte buffers (11 and 12) are used.
- one buffer 11 (or 12) is accessed from the port ⁇
- the other buffer 12 (or 12) is accessed.
- a double buffer is configured so that 11) can be used for data transfer with the memory bank.
- the selection of which of the buffers 11 and 12 to use for access from the -board side and data transfer with the memory link is made by selecting the selector 11 AS on the address side of each buffer 11 and 12.
- the address for data transfer with the memory link is the lower 5 bits A. ⁇ A 4 to make a system clock ⁇ by dividing by counter DI, the upper four bits A 3 ⁇ A S a sweep rate pitch PBS in the set the port one Bok number and Sui etching-nets a go-between making the sum by the adder aDD of the output of the work of switching mosquito window pointer (CNT), division said the top three bits a 9 ⁇ a "a system clock?> in the mosquito c te ⁇ I 2
- PBC is the controller on the port side
- pBPA is the parity addition part for the write data from the board side
- PBPC is the memory cell
- the data read part from the link side is the data adder. Liity check,.
- the boat buffer (11 or 12) shown in Fig. 10 calculates the address of where to send in one page to be written: the write start address. ing-. -As explained earlier-one page (4 knots) is vertically divided into 8 blocks as shown in Fig. 4, and each block is divided into 32 bytes. They are stored clockwise in the next memory bank in order. For example, when writing from port 4 when the value of the hexadecimal counter in Table 1 is 0, writing starts from the memory link MB 4 in FIG.
- the value of the counter is When writing is started from port 4 when the bit is 1, writing starts from memory bank MB5. That is, the boat is switched to the value of the hexadecimal counter plus the memory MB of the boat number. Therefore, the data of the page to be stored is transferred from an appropriate part to the memory bank where writing is started from the board side, and is written to the writing start memory bank from the middle of the block of one page, and then in order. When writing to the next memory bank in the above manner and reaching the end of the page, and returning to the head of the block of the page, it is just at the head of the memory bank (MB if it is clear). Just do it.
- the difficulty in mounting in a multi-port memory system is achieved by arranging the page address using the data line and calculating the address in the memory and the memory.
- the incoming bus width can be reduced, and the entire system can be made compact and economical.
- a simple switching network with less delay can be constructed by bit-slicing the switching 'network itself and using P L ⁇ .
- ⁇ --Also by switching the switching of the connection of the 'network' one by one to the next one, the address is transferred to each memory bank using the shift register. This eliminates the need to reset the address each time the bank is switched, and a system that can efficiently access a continuous area can be configured.
- the transfer to the memory bank next to the address and the address from the port to the memory can be performed independently and simultaneously, a contiguous area is accessed. Reading and writing are possible without delay.
- a buffer is provided between the switching network and each of the boats, and the switching is performed so that the address in the page which is fed to the network is switched.
- Each memory bank and each port are provided by having an adder for address calculation in each buffer so as to calculate from the sum of the value of the switching counter of the network and the number of each port. Access is independent of the connection relationship 9)
- the multiport memory system of the present invention having such features can be frequently used as a shared memory in a parallel processing system.
- a relational database machine or knowledge based on page-based access is used. Very useful for base machine configuration.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Dram (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
明 細 書 多ポ一 トメモリ システム 技 術 分 野
本発明は多数の同種または異種のプロセッサまたはディ スク システム (ディ スクュニッ トおよびディ スク コ ン ト ローラから なる) 等からページ萆位で同時にアクセスされるような多ポー トメ モリ システムに関するものである。
- , '背 景 技 術
従来の複数のプロセッサ等からアクセス可能なメモリ システ ムは、 各プロセッサ間で時分割を行なうか、 アービタ等を用い て各プロセッサからのアクセスの競合に対処するかしていた。
時分割を行なう場合には、 メ モリ のアクセスタイ ムの制限か ら、 プロセッサの数は高々数個であり、 一方アービタを用いた 場合には競合をおこした他のプロセッサの処理が終了するまで 待たされることになり、 プロセッサ数が増えると待ち時間が非 常に县く なるという欠点があった。
これに対して、 最近、 アクセス単位をページとし、 ページ内 であればどこからアクセスしてもよいとすることにより、 多数 のプロセッサから待ち時間なしで同時にアクセスすることが可 能な多ボー トメ モリ システムが発表された ( Yuzuru Tanaka.
^ M u 1 f l o r t Page - Meaory Architecture and A Mu 11 i por t Disk - Cache System New Generation Computing, Vol.2, o.
3, PP.241-260 ,1984.) 。
しかし、 上記論文にはァ ドレズの指定方法については記述が ない。 また、 プロセッサ数が増大した場合に接繞バス幅が広く なり実装上困難になること、 多段スイ ッチ ング ' ネッ トワーク を用いることによる遅延を力バーするためのバイ プライ ン化処 理が複雑になり、 経済性が悪いこと等の欠点がある。
そこで本発明の目的は従来の複数のプロセッサ等からァクセ ス可能なメ モ リ システムの持つ欠点を解決し、 或る程度の数( 数十) の入出力用ボー トからの同時アクセスに対して、 十分短 い待ち時間でぺ—ジ単位で同一べ一ジの読み出しおよび害込み が可能な簡略かつ経済的な多ポー ト メ モ リ システムを提供する とにめる o 発 明 の 開 示
本発明ば、 第 1図に示すように M個のデータ入出力用のポー ト pQ 〜 Ρ Αί-ι と、 Μの整数倍の Ν個のメ モ リバンク Μ Β0 〜 M B jV_1 と、 各ボー ト と各メ モ リ バンク とを接続するスィ ッチ ング ' ネッ トワーク S Nと、 スイ ッチ ング ' ネッ ト ワ ーク のコ ン トローラ C NTとから構成され、 ページ (P A G E) を全メ モリバンクへまたがるように格納する。 そして、 接続バスは入 力用、 出力用データバスおよび数 -のコン ト ロ ールライ ンから なり、 各々のボー トから入力用データバスを用いてまずァクセ スすべきペー ジァ ド レスをメ モ リ バンク側へ耘送し、 ページ內 のァ ド レスのィ ンク リ メ ン トをメ モ リ ノ、'ンク側で行ない、 同期 してデータを入出力することにより、 複数のボー 卜から連続し たデータの読出しおよび書込みを同一ページに対しても行なえ
るようにしている。
スイ ッチング ' ネッ トワーク S Nは、システム全体を簡略かつ 経済的にするために、遅延が少な く構成しやすいものが好まし く、 例えば、接続バスをビッ トスライ ス化して、 P L A ( Programma b l e Lo g i c Ar ray ) とカウ ンタを用いて構成するこ とができる。
メ モリ ノ、'ンク M B 0 〜 M B — 側ではスイ ッチング ' ネ ッ ト ワーク S Nによるポー トの切換に伴い、 ページァ ドレスをその 都度ポー ト側から設定し直すのを避けるため、 各メ モ.リバンク B σ 〜 M B ν _ がそれぞれ持つポ― ト対応のページァ ドレス を切換えられたメ モリ バンクへ耘送する必要がある。 このため. スィ ツチング · ネッ トワーク S Nの切換の方法を、 一つずつ右 または左へずらすようにし、 これと同期して各メモリ バンクの 持つページァ ドレスをスイ ッチング . ネッ ト ワーク S Nの切換 の方向の隣のメ モリバンクへ転送する。 この場合ページァ ドレ スの設定と転送用にシフ ト レジスタを用い、 シフ ト とメ モリ ア クセスを同時に行なう ことが可能なようにシフ ト中ページァ ド レスを固定しておく ラッチと、 メ モリ アクセス用にページ内の ァ ドレスを一つずつ増加させるための力 ゥ ンタ とを各メモリ ノヾ ンクに持つことが好ましい。
さらに上記本発明の構成において、 一つのページをい くつか のブロックに分け、 例えばメモリノ Nンク切換の一周で一ブロッ ク分のメ モリをアクセスするようにする構成をその態様に舍む < このブロック という単位を導入する理由は次の作用の項で詳し く説明する。
さらに、 本発明はスイ ッチング - ネッ トワーク と各ボ一 卜 と の間にバッファを設け、 スィ ツチング . ネッ トワークと耘送し
合うページ内のァ ド レスをスィ ツチング · ネッ トワークの切換 用カウンタの値と各ポー 卜の番号との和から計算するようにァ ドレス計算用加算器を各バッファに持たせるこ とによ り 、 各メ モリバンク と各ボー トの接続関係と独立に、 アクセスが開始で き多ポ一 トメモ リ シスチムを提供する。
第 1図において、 メ モ リ バンクおよびボ一 卜の数を Nと し、 時刻 t = 0の時左から i 番目のメ モ リ バンク M B i と i 番百の ボー ト P i が接続されていて、 t = j の時 (つまり j番目の切 換の時) M B i l+j) modN と P 1 が接続されるようにスィ ッチ ング · ネッ トワークを切換るようにすると、 メモリ ノ ンクは右 隣のメモ リバンクへページァ ドレスを耘送すればよい。 ただし 最右端のメ モ リバンクについては、 ベ ージァ ド レスを最左嬙の メ モ リ ノ ンクへ送るよ う にする。 転送すべきビッ ト数は、 メ モ リバンクへ格納できる最大ページ数を K , ページ县を LP , ブ ロック县 L s とすると、
「 og2 K l - 「 og2jV + 「 0g2( LP/LB ) 1 となる。 ただし、 「 X Ί は X以上の最小の整数とする。 「 og2 Z 1 はページア ド レス分、 「 0 g 2 ( Lp / L 5 ) 1 はページ 内のブロ ック ァ ド レス分、 「 og2JVl はァク セスを開始したメ モリバンクを示すため-のビッ ト-数である。 ここで、 ページの他 にブロックという単位を導入した理由を以下に述べる。
1 ポー トの最大待ち時簡はァクセス開始のメ モ リ バン.ク ボ ― ト側で認識できるとすればスイ ッチ ング · ネッ トワークの切 換間隔であり、 ブロックを考えないとすると L ノ N分のデー タ耘送時間待つ必要がある。 待ち時間を短くするためにページ
县を短く すると、 ページア ドレスが县く なる上メ モ リ管理が繁 雑になる。 そこで、 ポー トから指定するのはページ単位と し、 1 ページを複数のブロックに分割し、 メ モ リ バンクの切換が 1 周すると 1 ブロック分のメ モリ がアクセスされるようにする。 つま り、 メ モ ンバンク の切換の間隔中にア ク セスする単位は Ls / Nであり、 Lp / LB 周するこ とにより、 1 ページ分のデー タをア ク セスする。 Ls ノ Nがあまり小さいと各メ モ リ ノ ンク 間でのページア ド レス転送の時間がな く なるため、 L s は、 B/N ^ 「 。 g 2 f Ί + 「 og2iV "1
+ 「 O g2 ( L P / LB )Ί + を満足する必要がある 9 こ こで、 αはポー トからページァ ドレ スを設定するのに要する間隔である。
各ボー ト側では、 アクセスを開始したメ モ リ バンク とは独立 に、 ブロックの先頭を Μ Β η にする必要がある。 ポー ト P i が 時刻 j に接読されているメ モ リ バンクは M Bぃ丄 ^^ であ るから、 そのブロックの、
C ( Ls / N ) { ( i + j ) mod N } + 1 ]
番目のデータから、
( L β / Ν ) { ( i + j ) mod Ν + 1 }
番目のデータをアクセスすればよい。 このため、 スイ ッチング - ネッ トワーク と各ボー トの間にバッファを持ち、 スィ ッチン グ - ネッ ト ワーク側からア ク セスするバッファ内のァ ド レスを、 切換用のカ ウ ンタ の値と各ボー トの番号の値との和から計算す るよう にするこ とが望ま しい。 ブロック内のア ド レスは、 メ モ リ バンク側とバッファ側で同期する必要がある。
次に、 本発明の多ポー 卜メ モ リ システムの実装上の問題につ いて説明する。 接続バス幅が広いと実装上困難を来すが、 本発 明においては、 ぺ 一ジァ ド レスをスィ ツチング - ネッ ドワーク のデータ線を用いて!^送, 設定し、 ページ内のァ ド レ.スのィ ン ク リ メ ン ト をメ モ リ バンク衝で行なう ので接続バス幅が従来方 式より狭く でき、 実装上の困難性が少ない。 また経済的である. 以下さ らに詳細に本発明を説明するために、 実施例を用いて 説明する。 図面の簡単な説明
第 1図は本発明による多ボ一 トメモリ システムの概要を示す 構成図、 第 2図は本発明の実施例の要部ブ c?ッグ構成図、 第 3 図は第 1図および第 2図における 1 メモリ ノ ンク中のさらに詳 細なブロック図、 第 4図は第 1図, 第 2図および表 1 における システムの全体のメ モ リ の分割の様子を示した図、 第 5図は第 2図および第 3図におけるシステムの処理のタイ ミ ングチヤ一 ト、 第 6図は時刻 t = j における各ポー トからのアク セスの様 子を示した図、 第 7図は時刻 t == j + 1 における各ポー トから のア ク セスの様子を示した図、 第 8図および第 9図は 4 4 の スイ ッチング · ネッ トワークの 1 ビッ ト分をそれぞれボー トか らメ モ リ ノ ング方向へとメ モ リ ノ ンクからポー ト方向へ接繞す るために P L Aを用いて構成した場合の実施例の P L A内の配 線図、 第 1 0図は第 2図における 1 ボー トバッファ中めさ らに詳 細なブロック図である。 発明を実施するための最良の形態
第 2図は本発明の一実施例の要部ブロック構成図である。 PQ , … P15 は、 16本のデ一タ入出用カボー ト、 P B Q , P B 1 … P B 5はボ一 ト側バッファで制御部 Cとバッファメ モリ B mを舍む。 M B 0 〜 M B15 は 16個のメ モ リ ノ、'ンク、 S Nは 16 x l6スイ ッチング - ネッ ト ワーク、 C N Tは 16進のカ ウ ンタで ある。 接続バス B および B 2 は書込みデータ用に 1バイ 卜 と パリ ティ ビッ ト 1 ビッ トの計 9 ビッ ト、 読出し用も同様に 9 ビ ッ ト、 制御用に 6 ピッ トの合計 24ビッ ト幅である。 スィ ッチン グ . ネッ ト ワーク S Nの切換は、 システムク ロック øと同期し て右回りで一周するよう になっており、 このため 16進カ ウ ンタ C N Tを用いている。
次の表 1 に 16進力 ゥ ンタ C N Tの値と各ポー ト と各メモリ ノ ンクの接続関係を示す。 ' ·
1 ό進カ ウ ンタ の値と各ボ— 卜 と各メ モ リ バン ク の接 $売 m係
0 ΜΒ、 MB2 MB, MB MB7 M¾ MB9 MB,0 MB
1 ΜΒ、 ΜΒ2 MB5 MB6 M 7 MBQ MB9 ΜΒ 0 MBN MB M 15 MBQ
2 ΜΗ2 Mお 4 M 5 MB6 MB7 MBQ M U MB M MBQ MB、
14 MB Mお 0 MB、 MB2 Ml M MB6 MB7 MBB M 9 M 2 MB
15 15 MB MB2 も MB5 MB6. MB7 M 8 M 9 M MB、2 應
表 1 において、 P ひ … l^ 5 はボー トの番号、 M B 0 … M B 5 はメ モリバンクの番号を表す。 各メ モリ バンクでは、 上記スィ ツチング . ネッ ト ワーク S Nの切換に同期してァ ド レスを右隣 のメ モ リ バンク (最右端の場合は、 最左嬙のメ モ リ バンク) へ 転送する。 そのために、' シフ ト レジスタ (メ モリ ノ ンク側のァ ド レス計算部 C Sに舍む) と各メ モ リ ノ ンク M B Q 〜 M B 5間 を結ぶ 1 ビッ ト のデータ線 B 5 を用いる。
以下に各メ モリ ノ ンクの構成について更に詳し く 説明する。 第 3図は第 2図におけるメ モ リ ノ、'ンク M B Q 〜 M B 1 5の一つ を詳細に表したブロック図である。 また、 第 4図に本実施例に おけるシステムの全体のメ モ リ の分割の様子を示している。
この実施例においては、 第 4図に示すよ う に、 本メ モリ シス テムの全記憶容量を 256 メ ガバイ ト とし、 1 ページのサイ ズを 4 キロバイ ト、 1 ブロックのサイ ズを 51 2 バ イ ト とするこ とに した。 1 ブロックのサイ ズについては、 メ モリ ノ ンク数を 1 6と した場合に 1 メ モリ ノ ンク当り のブロックサイ ズが、 シフ ト レ ジスタによるァ ドレスの転送およびボー ト P 0 〜 P 5からのァ ド レスの設定に要する時間とオーバラップしてアク セス可能な 程度であるため、 1 バンクのブロックを 32バイ ト としたので 32 < 1 6で51 2 ノ ィ 卜 となった。 また、 1 ページのサイ ズを 4 キ σ バイ ト と したことにより、 全記憶容量は 64キロページ分となり , ページア ド レス指定に 2バイ ト必要になる。 1 メ モ リ ノ、'ンク中 の記憶容量は 256 メ ガバイ ト 1 6で割って、 1 6メ ガバイ ト とな る。
第 3図において、 Μは 8 ビッ ト X 1 6メ ガの 1 6メ ガバイ ト分の メ モ リ 、 S 8 , S g_2 はそれぞれペー ジア ド レスの上下 8 ビ
αο)
ッ トずつを持つシフ ト レジスタ兼カウ ンタである。 また、 S J は 1 ページ 8 ブロックのブロックをカウ ンタするための 3 ビッ ト シフ ト レジスタ兼カ ウ ンタ、 C 5 は 1 ブロック 32バイ トを力 ゥ ン トするための 32進カウ ンタである。 シフ ト レジスタ兼カ ウ ンタ S 8 - , S 8 - 2 のページア ドレスおよびシフ ト レジスタ兼 カウ ンタ S 5 のブロックア ドレスは、 スイ ッチング · ネッ ト ヮ ークの切換と同期して右隣のメ モ リ バンクに耘送されなければ ならないため、 シフ ト レジスタ兼カウ ンタ S 8 - 1 , S 8 - 2 はぺ ージァ ド レス設定のため 8 ビッ ト ノ、 'ラ レル入力と、 メ モ リ ヘ ア ド レスを示すため 8 ビッ トパラ レル出力の他に 1 ビッ ト の シ リ アル入出力を持つ必要がある。 また、 同様に、 S 3 も 3 ビッ ト のバラ レル出力と 1 ビッ ト のシ リ アル入出力を持つ必要がある < ポ一 ト側から指定されるァ ド レスはページ単位であり、. ぺ —ジ の先頭からアクセスされるこ とを前提とするため、 S 3 はべ一 ジァ ド レスが設定された時点でリ セッ ト される必要がある。 さ らに、 メ モ リ ノ ンクを一周すると次のブロックに移らなければ ならないため、 1 6ブロック分をカウ ン トする 4 ビッ トのシフ ト レジスタ兼カウ ンタ S 4 を用意し、 そのキャ リ ーを S 3 へ入力 する。 なお、 各ポー ト とス イ ッチ ング - ネッ ト ワーク間のバッ ファを取り除き、 必ず M B。 からアクセスを開始すると仮定し た場合にはこの S 4 を省略するこ とができる。 その場合には M B 0 で必ず S 3 を一つ増加させるよう にする。 さ らに、 ページ を越えて連続した領域をページをいちいち設定しなおすこ とな しにアクセス可能とするために、 S 5 のキャ リ ーを S g - へ 、 S 8 - 2 のキャ リ ーを S 8 - 1 へ入力することが望ま しい。
ページァ ドレスおよびブロックァ ドレスを隣のメ モリ ノ ンク
へ転送するのとメ モリ アクセスをオー バ 一ラップして可能とす るために、 ページァ ドレスおよびブロックァ ドレスを固定して お く ために、 L8_! , L 8 — 2 というページア ド レス用の 8 ビッ 卜のラッチと L 3 という ブロックァ ドレス用の 3 ビッ 卜のラッ チを用いる。 また、 1 ブロック内でア ド レスを一つずつ増加さ せるための 5 ビッ トつま り 32進カウ ンタ C 5 を用意する。 ベ 一 ジア ドレスおよびブロックア ドレスは、 この 32バイ トをァクセ ス中に隣のメ モリ バンクへ耘送するか、 またはボー トから別の ページァ ドレスおよびブロックァ ド レスが設定されなければな らない。
データおよびァ ド レスは、 8 ビッ ト +バリ ティ ビッ トの計 9 ビッ 卜の単方向性バス 2 本 21 , 22 を用いて.ボー ト間を転送きれ る。 ノ、 'リ.ティ のチェック並びにバリ ティ ビッ トの付加は第 3図 の P Cおよび Ρ Αのよう に各メ モリ ノ ンクの出入口で行なわれ る。
書込み、 読出しのタ イ ミ ングゃイ ネ一ブル等はシステムク ロ ック およびボー トからの制御信号を用いて第 3図のメ モリ バ ンク制御部 M B Cで解折され、 各カウ ンタやラッチおよびメ モ リ に制御信号が送られる。
第 5図は第 2図および第 3図における多ボー トメ モ リ システ ムのタイ ミ ングチヤ一 トである。 各メ モ リ ノ ンクのァ ドレスは 第 5 図における A 0 , A 1 , A 2 , A 3 , A 4 , …のよう に指 '定され、 システムク ロック ø と同期して各ボー トからア ク セス される。 これと同時にペー ジァ ド レスおよびブロックァ ド レス を隣のメ モリ バンクに転送させるために、 耘送に先立ちラッチ セッ ト L s のタイ ミ ングでラッチ L 8— , L 8 _ 2 および L 3 に
02)
シフ ト レジスタ兼カ ウ ンタ S 8— , , S 8— 2 および S 3 のァ ド レ スをセッ ト し、 ページア ドレス 1 6ビッ ト, ブロックア ドレス 3 ビッ トおよびバンク カ ウ ン ト 4 ビッ 卜 の計 23ビッ トをシフ ト ク ロック Φ s に従って右隣へ 1 ビッ トずつ転送する。 ここで、 前 述したように各ボ一 ト ともバンク メ モ リ M B 0 からアク セスを 開始するとした場合には、 ノ ンク カ ウ ン トの 4 ビッ ト分は不要 となる。 もしそうでないとすると、 S 4 カウン トアップのタイ ミ ングでノ'ンク カ ウ ン ト用のカ ウ ンタを一 つカ ウ ン トアップす る必要がある。 この場合、 この S 4 カウ ンタはページア ドレス を設定する時点でリ セッ ト しなければならない。 ページァ ドレ スがボー トから設定可能な期間は、 S 4 のカ ウ ン トアップが終 了してからァ ド レスのシフ トを開始する'までの間で、 第 5図.の ァ ドレスセッ トイネーブル A Eのタイ ミ ングはその区間を示し ている。 また、 スイ ッチング · ネッ ト ワークの切換も、 このシ ステムク ロック に同期して行なわれる必要があり、 ラッチに ァ ド レスが設定されると同時に切換られるのが好ましい。 第 5 図のネッ トワーク切換 N S Wのタ イ ミ ングは、 この切換時期を 示している。
第 6図は本発明の多ポー トメモ リ システムにおいて、 入岀カ ボー トを 4 とした時のある時点 ( t = j ) の各ボー トからのァ クセス状況を.示し、 また-第 7図は次に-スイ ッチング- ' ネットヮ ークの切換を行なった時点 ( t = j + 1 ) の各ボー トからのァ クセス状況を示したものである。
第 8図は 4 X 4のスイ ッチ ング ' ネッ トワークのボ一 卜から メ モ リ ノ ンク側へ書込むデータ ラ イ ンの 1 ビッ ト分を P L Aを 用いて構成した場合の例を示している。 I P n 〜 I が入力
0 *J
側、 つまりボー ト側で、 0 ,tfs。 〜 0.VB3 が出力側つまり メ モ リ バンク側、 また 。 , A t が接続切換用の 4進カ ウ ンタ の出力 である。 I佘理式でこ のカ ウ ンタ の出力 A0 , A i 、 I p . 〜
I P および O 0 の関係を表すと次式 (1)のよ う になる
また、 第 9図は 4 x 4 ス ィ ツチ' ング · ネ ッ ト ワ ー ク のボー ト からメ モ リ バンク側を読出すデータ.ライ ンの 1 ビッ ト分を同様 こ P L A ( P rogrammable L ogic Array) を用しヽて構成し た場合の洌を示している。 I MB, MB, が入力側つまり メ モ リ ノ、'ンク倒で、 0 O P, が出力側つまりボー ト側、 A
, A , は第 8図と同様に接続切換用の 4進カ ウ ンタの出力であ S冊 ¾ x で A 0 , A! 、 I }fBQ 〜 I .WS 3 » 0 pQ 0 の 関係を表すと次の式 (2)のよ う になる。
i
0 P P2
O P3
上記 (1)式および )式を入力 16ビツ ト 岀カ 16ビッ ト、 接読切 換用の 16進カ ウ ンタの出力 4 ビッ 卜にそのまま拡張するこ とに より、 第 2図のて'示したボー ト とメ モ リ バンクの接铙関係を双 方で実現することができ、 その拡張レた下記の式 : (3)式, (4)式 を 16 X 16の P L Aに適用し、 その P L Aをバズ幅の個数分つ まり 24個並列に用いることにより、 第 2図に示した多ボ一 トメ モ リ システム用の小型で経済的なス ィ ツチ ング - ネッ ト ワー ク を作ることができる。
. 第 10図は第 2図におけるポー トバッファ Ρ Β , の一つを詳細 に表したブロック図である。
このボー トバッファは書込み及び読出しの全体と しての効率 を向上させるためのものである。
或.る 1 ページの.書'込みの時、 書込みをその時スィ ツチング ' ネッ トワーク S Ν で'接続した任意のメ モリ ノ ンク Μ Β にべ一 ジの先頭から行なう と、 読出し時にはどこがページの始めかが わかり難く 、 ア ク セスに因難性が生じる。 そ こで、 ペー ジの始 めは特定のメ モリ ノ ンク、 例えばメ モ リ ノ 'ンク Μ Β。 であると 決めてお く こ とが望ま しい。 ところが書込み時に当該ポー トが ス イ ッチ ング · ネ ッ ト ワ ーク S Νによ り メ モ リ ノ、'ンク Μ Β 0 に 切換られるまで待つのでは全体として効率が悪い。
この第 10図の実施例においては、 4 キロバイ トのバッファを 2 面持ち (11及び 12) 、 ·一方のバッファ 11 ( または 12) がポー ト Μからアクセスされている時、 もう一方のバッファ 12 (また は 11 ) をメ モリ バンク とのデータ転送に利用できるよう にダブ ルバッファを構成している。 その際バッファ 11, 12 のいずれを- ボー ト側からのアクセス,メモ リ ノ ンク とのデータ転送に用いる かの選択は、 各バッファ 11 , 12 のア ドレス側のセ レクタ 11 A S
tt6)
及び 12A S とデータ倒のセ レク タ 11 S D及び 12S Dで切換制御 される。 例えばメ モ リ バッファ 11がボー トの上方からアクセス されるようにセ レク タ 11 A S , 11 S Dで切換接続されている時 セ レク タ 12 A S及び 12 S Dはメ モ リ ノ、'ッファ 12をメ モ リ ノ ンク 側に切換接続する。
メ モリ ノ N ンク側とデータ転送し合うためのァ ド レスは、 下位 5 ビッ ト A。 〜 A 4 をシステムクロック øをカウ ンタ D I で 分周して作り、 その上の 4 ビッ ト A3 〜 AS をスィ ッチ P B S でセッ ト されたポ一 卜の番号とスイ ッチング · ネッ ト ワークの 切換用カ ウ ンタ ( C N T) の出力を加算器 A D Dで和をとつて 作り、 上位 3 ビッ ト A9 〜 A" をシステムク ロック ? >をカ ウ ン タ Ώ I 2で分周し-て作っている。 なお、 P B Cはポー ト側のコ ン ト ローラ、 p B P Aはボー ト側からの書込みデータのパリ テ ィ付加部、 P B P Cはメモリ ノ、'ンク側から読出したデータのパ リ ティ チェック 、 。
このボー ト ノ -ッファを用いるこ とにより、 スイ ッチング . ネ ッ ト ワーク C Ν Τの接続関係と独立して、 ボ― ト側からページ 単位でァクセスするこ とができる。 例えばボ一 トの上方からの 書込みを考えると、 第 10図のボー トバッファ (11又は 12) では、 書込む 1 ページ内のどこから送るかというア ド レス: 書込み開 始ァ ド レスを計算-している-。 -先に-説明-したように一つのベージ ( 4 Κノ ィ ト) という のは第 4図のよう に縦に 8ブロックに分 れており 、 さ らにその 1 ブロック は 32バィ トずつ分けて右回り で隣のメ モ リ バンクに順に格納されている。 例えば表 1 の 16進 カ ウ ンタ の値が 0 の時にボー ト 4から書込む時は第 2図のメ モ リ ノ ンク M B 4 から書込みが開始される。 またカウ ンタの値が
1 の時にポー ト 4から書込みを関始する時にはメ モ リバンク M B 5 から書込みが開始される。 即ち、 16進カウンタの値プラス ボ一 卜の番号のメモ ンク M B に当該ボー トは切換られて いる。 従って、 ボー ト側から書込みを開始するメ モ リ バンク へ 格納するページのデータを適当な部分から転送し、 1 ペー ジの ブロ ック の途中から当該書込み開始メ モ リ バンク に書込み、 順 に前記の態様で隣のメ モ リバンクに書込みそのページの一番最 後まできて、 そのページのブロックの頭までもどった時、 丁度 メ モ リ バンク の頭 (冽えば M B。 ) に来るようにすれば良い。 本実施例ではその、 書込むペー ジの書込み開始ア ドレスの計算 は 16進のカウ ンタ C N Tの値と書込みを行なうボ— 卜が持って いるァ ド レス : ボー P 5 なら 5 という値を加算してやると丁 度そのペー ジの書込み開始ァ ド レスの値がでて く る。 従って、 それぞれのボー トでこの計算を行なうようにすれば良.い。
以上は書込みの場合であるが、 読出しの場合も同様であり、 ボー 卜の上からのア ク セス時に、 当該ポー トが接続しているメ モ リ バンク M B ¾ から読出しを開始し、 その読出したデータを 1 1 , 12 の一方例えば 1 1のバッファに書込む時、 やはり加算器 A D Dで当該ボー トの持つ番号と 16進カ ウ ンタ C N Tの値の和を 計算し、 それを書込むバッファ 1 1をア ク セスするァ ド レス 〜 A 8 に用いることにより、 書込み完了時には該バツファ 1 1に はペー ジの始めからメ モ リ バンク側から読出したデータが格納 される。 従って、 当該ポー ト の上方からこ のメ モ ンク 1 1を ア ク セス して読出すこ とが容易になる。
以上本発明について実施例を示したが、 本発明に係る多ポー トメモ リ システムはこれに限らず、 請求の範囲内で種々変更可
能なこと勿論である。 産業上の利用可能性
本発明によれば、 ページァ ドレスをデータ線を用いて耘送し メ モリノ、'ンク内でア ド レスの計算を行なう ようにすることによ り、 多ボ— トメモ リ システムにおいて実装上困難を来すバス幅 をせま くすることができ、 システム全体を小型で経済的に構成 することができる。
さ らに.、 スイ ッチング ' ネッ ドワーク自体をビッ トスライス 化して P L Αを用いて構成することにより、 遅廷の少ない簡略 なスイ ッチング · ネッ トワークを構成することができる。 ·- - また、 スイ ッチ ング ' ネッ トワーク'の接続の'切換を一つずづ 隣へ移すよ'うにすることにより、 ア ド レスをシフ ト レジスタを 用いて各メモリバンクの隣へ転送するだけで、 バンクの切換毎 にァ ド レスを設定しなおす必要がな く なり、 連続した領域を効 率よ く アクセスすることが可能なシステムを構成することがで き る。 その上、 ア ド レスの隣のメ モリ バンクへの転送と、 ポー トからのメモリへのァ ド レスを独立して同時に行なう ことが可 能になるため、 連続した領域をア ク セスタ イ ムのよどみな く 、 読出し、 書込みが可能となる。
さらに、 本発明によればスイ ッチ ング · ネッ トワーク と各ボ 一 卜との間にバッファを設け、 スィ ツチング - ネッ トワーク と 耘送し合うページ内のァ ド レスをス イ ッチ ング - ネッ ト ワ ーク の切換用カウ ンタの値と各ボ一 トの番号との和から計算するよ うにア ドレス計算用加算器を各バッファに持たせることにより、 各メ モ リバンクと各ボー トの接続関係と独立に、 ァクセスが開
な9)
始できる。
このよう な特長を有する本発明の多ポー トメモ リ システムは 並列処理システムにおける共有メ モ リ として多用するこ とが可 能であり、 特にページ単位のアクセスを基本とする関係データ ベースマ シ ンや知識ベースマ シ ンの構成に極めて有用である。
Claims
1. 複数のデータ入出力用のボ一 ト と、 複数のメモリ バンク と 各ボ一 ト と各メ モ リ バンク とを接続するスイ ッチ ング ' ネッ ト ワーク とを有し、 ページを全メモリ ノ、'ンクへまたがるよう に格納し、 ページ単位で各入出力用ボー トからァ ドレスが指 定される多ボー トメモリ システムにおいて、 ページァ ド レス を前記スィ ツチング · ネ-ッ トワークのデータ镍を用いて耘送 , 設定し、 ア ド レスの計算を各メ モ リ バンク側で行なう よう に構成したこ とを特徴とする多ボー ト メ モ リ システム。
2. 請求の範囲第 1 項記載の多ポー トメ モ リ システムにおいて 前記スイ ッチング ' ネッ ト ワーク は、 データ転送バス.を 2方 向^持ち、 該バスはビッ トス ライ ス化され、 P L Aとカウ ン タを用いて構成されるこ とを特徵とする多ポ一 トメ モリ シス テム。
3. 請求の範囲第 1 項または第 2 項記載の多ポ— トメ モ リ シス テムにおいて、 前記各メ モリ バンク間でポー トの切換と同期 してべ一ジァ ドレスを耘送し合うためにスィ ツチング · ネッ ト ワークの切換をロ ーテー トさせると共に、 ア ド レスを隣接 メ モリ ノ ンクへ耘送するためのシフ ト レジスタ と、 シフ ト中 ページァ ド レスを固定させてお く ラッチと、 該耘送の間ぺ一 ジァ ドレスを一つずつ増加させるための力力 ンタと-、 切換が 1 周した時にブロックのァ ド レスを一つ増加させるための力 ゥ ンタ とを各メ モリ バンクに持つこ とを特徴とする多ボー ト メ モ リ システム。
4. 各々からページ単位でア ドレスが措定される複数のデータ 入出力用のポー ト と、 複数のメモリ バンク と、 該各ボー ト と
各メモリ ノ ンク との接読の切換をローテ一 ト させるスィ ツチ ング . ネッ トワーク と、 ァ ドレスを隣接メ モリ バンクへ耘送 するためのシフ ト レジスタ と、 そのシフ トの間ページァ ドレ スを固定させてお く ラッチと、 そのシフ トの間ページァ ド レ スを一つずつ増加させるためのカウ ンタ と、 該各ポ一 ト と各 メ モ リ バンク との接続の切換が 1 周した時にブロックのア ド レスを一 つ増加させるためのカウ ンタ とを各メ モリ ノ ンクに 有し、 前記各メ モ リ バンク間でポー トの切換と同期してベー ジァ ド レスを耘送し合う ようになし、 ページを全メ モ リ バン クへまたがるよう に格納し、 ページア ド レスを上記スィ ッチ ング · ネッ ト ワークのデータ線を用いて転送, 設定し、 ア ド レスの計算を各メ モ リ バンク側で行ない、 複数のボー 卜から の連続したデ—タの読出しおよび書込みを! ^一べ一ジに対し ても行なえるよう にした多ポ一 トメ モリ システムにおいて、 さ らに、 前記スイ ッチング · ネッ ト ワーク と各ポ一 ト との 間にそれぞれバッ ファを持ち、 該各バッファはス ィ ッチ ング . ネッ ト ワーク と耘送し合う ページ内のァ ド レスを前記スィ ツチング . ネッ ドワークの切換用カウ ンタの値と各ボ一 卜の 番号との和から計算するァ ドレス計算用加算器を持ち、 各メ モ リ バンク と各ボー トの接続関係と独立に、 アクセスが開始 されるようになすこ とを特徴とする多ポー トメ モリ システム <
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE8686902020T DE3688505T2 (de) | 1985-10-15 | 1986-03-24 | Multiportspeichersystem. |
KR1019870700030A KR880700354A (ko) | 1985-10-15 | 1987-01-16 | 다포오트 메모리 시스템 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60/229537 | 1985-10-15 | ||
JP60229537A JPS6289149A (ja) | 1985-10-15 | 1985-10-15 | 多ポ−トメモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1987002488A1 true WO1987002488A1 (en) | 1987-04-23 |
Family
ID=16893724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP1986/000136 WO1987002488A1 (en) | 1985-10-15 | 1986-03-24 | Multi-port memory system |
Country Status (7)
Country | Link |
---|---|
US (1) | US4930066A (ja) |
EP (1) | EP0248906B1 (ja) |
JP (1) | JPS6289149A (ja) |
KR (1) | KR880700354A (ja) |
DE (1) | DE3688505T2 (ja) |
SU (1) | SU1561834A3 (ja) |
WO (1) | WO1987002488A1 (ja) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692139A (en) * | 1988-01-11 | 1997-11-25 | North American Philips Corporation, Signetics Div. | VLIW processing device including improved memory for avoiding collisions without an excessive number of ports |
JPH07107792B2 (ja) * | 1988-01-19 | 1995-11-15 | 株式会社東芝 | マルチポートメモリ |
US5146581A (en) * | 1988-02-24 | 1992-09-08 | Sanyo Electric Co., Ltd. | Subprogram executing data processing system having bank switching control storing in the same address area in each of memory banks |
US5247649A (en) * | 1988-05-06 | 1993-09-21 | Hitachi, Ltd. | Multi-processor system having a multi-port cache memory |
JP2872251B2 (ja) * | 1988-10-12 | 1999-03-17 | 株式会社日立製作所 | 情報処理システム |
US5043874A (en) * | 1989-02-03 | 1991-08-27 | Digital Equipment Corporation | Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory |
JP2673390B2 (ja) * | 1991-03-13 | 1997-11-05 | 三菱電機株式会社 | マルチポートメモリ |
WO1994007200A1 (en) * | 1992-09-21 | 1994-03-31 | Unisys Corporation | Multiported buffer memory system for disk drive complex |
US5337414A (en) * | 1992-09-22 | 1994-08-09 | Unisys Corporation | Mass data storage and retrieval system |
AU3412295A (en) * | 1994-09-01 | 1996-03-22 | Gary L. Mcalpine | A multi-port memory system including read and write buffer interfaces |
KR960042372A (ko) * | 1995-05-10 | 1996-12-21 | 가나이 쯔또무 | 멀티채널 메모리시스템, 전송정보 동기화방법 및 신호전송회로 |
WO1997011419A2 (en) * | 1995-09-08 | 1997-03-27 | Shablamm Computer, Inc. | Synchronous multi-port random access memory |
US5717646A (en) * | 1996-12-05 | 1998-02-10 | Kyi; Ben-I | Random access multiport memory capable of simultaneously accessing memory cells from a plurality of interface ports |
US6212607B1 (en) | 1997-01-17 | 2001-04-03 | Integrated Device Technology, Inc. | Multi-ported memory architecture using single-ported RAM |
US6108756A (en) * | 1997-01-17 | 2000-08-22 | Integrated Device Technology, Inc. | Semaphore enhancement to allow bank selection of a shared resource memory device |
US5978889A (en) * | 1997-11-05 | 1999-11-02 | Timeplex, Inc. | Multiple device data transfer utilizing a multiport memory with opposite oriented memory page rotation for transmission and reception |
US6874013B2 (en) | 1999-05-24 | 2005-03-29 | Koninklijke Philips Electronics N.V. | Data processing arrangement and memory system |
DE19937176A1 (de) * | 1999-08-06 | 2001-02-15 | Siemens Ag | Multiprozessor-System |
JP2002007201A (ja) * | 2000-06-21 | 2002-01-11 | Nec Corp | メモリシステム、メモリインターフェース及びメモリチップ |
US7143185B1 (en) * | 2000-08-29 | 2006-11-28 | Advanced Micro Devices, Inc. | Method and apparatus for accessing external memories |
JP2002109885A (ja) * | 2000-09-28 | 2002-04-12 | Toshiba Corp | 半導体記憶装置 |
US7380085B2 (en) * | 2001-11-14 | 2008-05-27 | Intel Corporation | Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor |
US6895488B2 (en) * | 2002-05-22 | 2005-05-17 | Lsi Logic Corporation | DSP memory bank rotation |
US7747833B2 (en) * | 2005-09-30 | 2010-06-29 | Mosaid Technologies Incorporated | Independent link and bank selection |
KR101293365B1 (ko) | 2005-09-30 | 2013-08-05 | 모사이드 테크놀로지스 인코퍼레이티드 | 출력 제어 메모리 |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US20070130374A1 (en) * | 2005-11-15 | 2007-06-07 | Intel Corporation | Multiported memory with configurable ports |
US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
US8059128B1 (en) * | 2006-04-19 | 2011-11-15 | Nvidia Corporation | Apparatus and method for performing blit operations across parallel processors |
JP2010505158A (ja) * | 2006-09-26 | 2010-02-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複数のメモリーバンクを有するデータ処理 |
EP2527972A3 (en) | 2006-11-14 | 2014-08-06 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
US20080170571A1 (en) * | 2007-01-12 | 2008-07-17 | Utstarcom, Inc. | Method and System for Synchronous Page Addressing in a Data Packet Switch |
US8250312B2 (en) * | 2009-04-29 | 2012-08-21 | Micron Technology, Inc. | Configurable multi-port memory devices and methods |
KR101685247B1 (ko) | 2010-09-17 | 2016-12-09 | 소프트 머신즈, 인크. | 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측 |
EP2689326B1 (en) | 2011-03-25 | 2022-11-16 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
CN103547993B (zh) | 2011-03-25 | 2018-06-26 | 英特尔公司 | 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块 |
CN108376097B (zh) | 2011-03-25 | 2022-04-15 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
TWI603198B (zh) | 2011-05-20 | 2017-10-21 | 英特爾股份有限公司 | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 |
WO2012162189A1 (en) | 2011-05-20 | 2012-11-29 | Soft Machines, Inc. | An interconnect structure to support the execution of instruction sequences by a plurality of engines |
US9596222B2 (en) * | 2011-08-02 | 2017-03-14 | Cavium, Inc. | Method and apparatus encoding a rule for a lookup request in a processor |
EP2783280B1 (en) | 2011-11-22 | 2019-09-11 | Intel Corporation | An accelerated code optimizer for a multiengine microprocessor |
WO2013077876A1 (en) | 2011-11-22 | 2013-05-30 | Soft Machines, Inc. | A microprocessor accelerated code optimizer |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
EP2972845B1 (en) | 2013-03-15 | 2021-07-07 | Intel Corporation | A method for executing multithreaded instructions grouped onto blocks |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
CN105247484B (zh) | 2013-03-15 | 2021-02-23 | 英特尔公司 | 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法 |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9760481B2 (en) | 2014-06-13 | 2017-09-12 | Sandisk Technologies Llc | Multiport memory |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5128450B2 (ja) * | 1971-10-06 | 1976-08-19 | ||
US3883854A (en) * | 1973-11-30 | 1975-05-13 | Ibm | Interleaved memory control signal and data handling apparatus using pipelining techniques |
JPS5148937A (en) * | 1974-10-25 | 1976-04-27 | Fujitsu Ltd | Kiokusochi niokeru junjoseigyohoshiki |
US4158227A (en) * | 1977-10-12 | 1979-06-12 | Bunker Ramo Corporation | Paged memory mapping with elimination of recurrent decoding |
US4285039A (en) * | 1978-03-28 | 1981-08-18 | Motorola, Inc. | Memory array selection mechanism |
US4254463A (en) * | 1978-12-14 | 1981-03-03 | Rockwell International Corporation | Data processing system with address translation |
US4707781A (en) * | 1979-01-09 | 1987-11-17 | Chopp Computer Corp. | Shared memory computer method and apparatus |
US4652993A (en) * | 1984-04-02 | 1987-03-24 | Sperry Corporation | Multiple output port memory storage module |
US4710868A (en) * | 1984-06-29 | 1987-12-01 | International Business Machines Corporation | Interconnect scheme for shared memory local networks |
-
1985
- 1985-10-15 JP JP60229537A patent/JPS6289149A/ja active Granted
-
1986
- 1986-03-24 EP EP86902020A patent/EP0248906B1/en not_active Expired - Lifetime
- 1986-03-24 DE DE8686902020T patent/DE3688505T2/de not_active Expired - Fee Related
- 1986-03-24 WO PCT/JP1986/000136 patent/WO1987002488A1/ja active IP Right Grant
-
1987
- 1987-01-16 KR KR1019870700030A patent/KR880700354A/ko not_active Application Discontinuation
- 1987-06-12 SU SU874202747A patent/SU1561834A3/ru active
-
1989
- 1989-04-26 US US07/344,507 patent/US4930066A/en not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
No relevant documents disclosed * |
See also references of EP0248906A4 * |
YUZURU TANAKA: "A Multiport Page-Memory Architecture and a Multiport Disk-Cache System", NEW GENERATION COMPUTING, vol. 2, no. 3, 1984, pages 241 - 260 |
Also Published As
Publication number | Publication date |
---|---|
EP0248906A4 (en) | 1989-08-22 |
EP0248906B1 (en) | 1993-05-26 |
SU1561834A3 (ru) | 1990-04-30 |
EP0248906A1 (en) | 1987-12-16 |
US4930066A (en) | 1990-05-29 |
DE3688505D1 (de) | 1993-07-01 |
JPS6289149A (ja) | 1987-04-23 |
DE3688505T2 (de) | 1993-09-09 |
KR880700354A (ko) | 1988-02-22 |
JPH042976B2 (ja) | 1992-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1987002488A1 (en) | Multi-port memory system | |
US5410727A (en) | Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices | |
US4928234A (en) | Data processor system and method | |
US6456628B1 (en) | DSP intercommunication network | |
US6185654B1 (en) | Phantom resource memory address mapping system | |
US4412286A (en) | Tightly coupled multiple instruction multiple data computer system | |
US4841435A (en) | Data alignment system for random and block transfers of embedded subarrays of an array onto a system bus | |
EP0229932B1 (en) | High-capacity memory for multiprocessor systems | |
US6092136A (en) | Multi-processor central processing unit | |
US4800535A (en) | Interleaved memory addressing system and method using a parity signal | |
US5280620A (en) | Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos | |
US5825788A (en) | Data ordering for cache data transfer | |
WO1981002798A1 (en) | Computer system and interface therefor | |
CA1183275A (en) | Byte addressable memory for variable length instructions and data | |
EP0067519B1 (en) | Telecommunications system | |
JP2781550B2 (ja) | 並列処理計算機 | |
JPH063589B2 (ja) | アドレス置換装置 | |
Gilbert et al. | A programmable dynamic memory allocation system for input/output of digital data into standard computer memories at 40 megasamples/s | |
EP0373714A1 (en) | Coupling network for a data processor, comprising a series connection of at least one crossbar switch and at least one array of silos, and data processor comprising such a coupling network | |
JPH0544698B2 (ja) | ||
JP2610500B2 (ja) | 並列ベクトル計算機 | |
JPS59218690A (ja) | バツフア記憶装置 | |
Wijshoff et al. | Data Communication and Data Organization in Parallel Computations: Classification and Overview | |
JPS61150060A (ja) | デ−タ処理装置 | |
JPS6347856A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 1986902020 Country of ref document: EP |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): KR SU US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): DE FR GB IT NL |
|
WWP | Wipo information: published in national office |
Ref document number: 1986902020 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1986902020 Country of ref document: EP |