JPS6289149A - 多ポ−トメモリシステム - Google Patents

多ポ−トメモリシステム

Info

Publication number
JPS6289149A
JPS6289149A JP60229537A JP22953785A JPS6289149A JP S6289149 A JPS6289149 A JP S6289149A JP 60229537 A JP60229537 A JP 60229537A JP 22953785 A JP22953785 A JP 22953785A JP S6289149 A JPS6289149 A JP S6289149A
Authority
JP
Japan
Prior art keywords
port
address
page
memory bank
switching network
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.)
Granted
Application number
JP60229537A
Other languages
English (en)
Other versions
JPH042976B2 (ja
Inventor
Haruo Yokota
治夫 横田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP60229537A priority Critical patent/JPS6289149A/ja
Priority to DE8686902020T priority patent/DE3688505T2/de
Priority to PCT/JP1986/000136 priority patent/WO1987002488A1/ja
Priority to EP86902020A priority patent/EP0248906B1/en
Priority to KR1019870700030A priority patent/KR880700354A/ko
Publication of JPS6289149A publication Critical patent/JPS6289149A/ja
Priority to SU874202747A priority patent/SU1561834A3/ru
Priority to US07/344,507 priority patent/US4930066A/en
Publication of JPH042976B2 publication Critical patent/JPH042976B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 複数のデータ入出力用のポートと、複数のメモリバンク
と、各ポートと各メモリバンクとを接続するスイッチン
グ・ネットワークを有する多ポートメモリシステムにお
いて、ページアドレスをスイッチング・ネットワークの
データ線を用いて転送、設定し、アドレスの計算を各メ
モリバンク側で行ない、複数のポートからの連続したデ
ータの読出しおよび書込みが同一ページに対しても行な
えるようにする。
〔産業上の利用分野〕
本発明は多数の同種または異種のプロセッサまたはディ
スクシステム(ディスクユニットおよびディスクコント
ローラからなる)等からページ単位で同時にアクセスさ
れるような多ポートメモリシステムに関するものである
〔従来の技術〕
従来の複数のプロセッサ等からアクセス可能なメモリシ
ステムは、各プロセッサ間で時分割を行なうか、アービ
タ等を用いて各プロセッサからのアクセスの競合に対処
するかしていた。
時分割を行なう場合には、メモリのアクセスタイムの制
限から、プロセッサの数は高々数個であり、一方アービ
タを用いた場合には競合をおこした他のプロセッサの処
理が終了するまで待たされることになり、プロセッサ数
が増えると待ち時間が非常に長(なるという欠点があっ
た。
これに対して、最近、アクセス単位をページとし、ペー
ジ内であればどこからアクセスしてもよいとすることに
より、多数のプロセッサから待ち時間なしで同時にアク
セスすることが可能な多ポートメモリシステムが発表さ
れた(Yuzuru Tanaka。
“ ^ Multiport   Page−Memo
ry    Architectureand   A
  Multiport   Disk−Cache 
  System  ”  NewGeneratio
n  Computing+  Vol、2+No、3
+ pp、 241−260、1984.)。
しかし、上記論文にはアドレスの指定方法については記
述がない。また、プロセッサ数が増大した場合に接続バ
ス幅が広くなり実装上困難になること、多段スイッチン
グ・ネットワークを用いることによる遅延をカバーする
ためのパイプライン化処理が複雑になり、経済性が悪い
こと等の欠点がある。
〔発明が解決しようとする問題点〕
本発明は従来の複数のプロセッサ等からアクセス可能な
メモリシステムの持つ欠点を解決し、成る程度の数(数
十)の入出力用ポートからの同時アクセスに対して、十
分短い待ち時間でページ単位で同一ページの読出しおよ
び書込みが可能な簡略かつ経済的な多ポートメモリシス
テムを提供しようとするものである。
〔問題点を解決するための手段〕
本発明は、第1図に示すようにM個のデータ入出力用の
ポートP。−PM−1と、Mの整数倍のN(固のメモリ
バンクM BO−M B N−1と、各ポートと各メモ
リバンクとを接続するスイッチング・ネットワークSN
と、スイッチング・ネットワークのコントローラCNT
とから構成され、ページを全メモリバンクへまたがるよ
うに格納する。そして接続バスは入力用、出力用データ
バスおよび数本のコントロールラインからなり、各々の
ポートから入力用データバスを用いてまずアクセスすべ
きページアドレスをメモリバンク側へ転送し、ページ内
のアドレスのインクリメントをメモリバンク側で行ない
、同期してデータを入出力することにより、複数のポー
トから連続したデータの読出しおよび書込みを同一ペー
ジに対しても行なえるようにしている。
スイッチング・ネットワークは、システム全体を簡略か
つ経済的にするために、遅延が少なく構成しやすいもの
が好ましく、例えば、接続バスをビットスライス化して
、P L A (P rogrammableLogi
c  Array)とカウンタを用いて構成することが
できる。
メモリバンク側ではスイッチング・ネットワークによる
ポートの切換に伴い、ページアドレスをその都度ポート
側から設定し直すのを避けるため、各メモリバンクがそ
れぞれ持つポート対応のページアドレスを切換られたメ
モリバンクへ転送する必要がある。このため、スイッチ
ング・ネットワークの切換の方法を、一つずつ右または
左へずらすようにし、これと同期して各メモリバンクの
持つページアドレスをスイッチング・ネットワークの切
換の方向の隣のメモリバンクへ転送する。この場合ペー
ジアドレスの設定と転送用にシフトレジスタを用い、シ
フトとメモリアクセスを同時に行なうことが可能なよう
にシフト中ページアドレスを固定しておくランチと、メ
モリアクセス用にページ内のアドレスを一つずつ増加さ
せるためのカウンタとを各メモリバンクに持つことが好
ましい。
さらに上記本発明の構成において、一つのページをいく
つかのブロックに分け、例えばメモリバンク切換の一周
で−ブロック分のメモリをアクセスするようにする構成
をその態様に含む。このブロックという単位を導入する
理由は次の作用の項で詳しく説明する。
さらに、本発明はスイッチング・ネットワークと各ポー
トとの間にバッファを設け、スイッチング・ネットワー
クと転送し合うページ内のアドレスをスイッチング・ネ
ットワークの切換用カウンタの値と各ポートの番号との
和から計算するようにアドレス計算用加算器を各バッフ
ァに持たせることにより、各メモリバンクと各ポートの
接続関係と独立に、アクセスが開始できる多ポートメモ
リシステムを提供する。
〔作 用〕
第1図において、メモリバンクおよびポートの数をNと
し、時刻t=00時左からi番目のメモリバンクMB、
とi番目のポートPiが接続されていて、t=jの時(
つまりj番目の切換の時)MB<i+)’)moctN
とP、が接続されるようにスイッチング・ネットワーク
を切換るようにすると、メモリバンクは右隣のメモリバ
ンクへページアドレスを転送すればよい。ただし、最右
端のメモリバンクについては、ページアドレスを最左端
のメモリバンクへ送るようにする。転送すべきビット数
は、メモリバンクへ格納できる最大ページ数をに、ペー
ジ長をLP、ブロック長をLBとすると、r Aog2
 K l + r log2 N 1+rj2og2 
 (Lp/ LB)1となる。ただし、rXlはX以上
の最小の整数とする。rlog2に、1はページアドレ
ス分、「I!oB2(LP/LB)1 はページ内のブ
ロックアドレス分、rA!og2N1はアクセスを開始
したメモリバンクを示すためのビット数である。ここで
、ページの池にブロックという単位を導入した理由を以
下に述べる。
1ポートの最大待ち時間はアクセス開始のメモリバンク
をポート側で認識できるとすればスイッチング・ネット
ワークの切換間隔であり、ブロックを考えないとすると
LPZN分のデータ転送時間待つ必要がある。待ち時間
を短くするためにページ長を短くすると、ページアドレ
スが長くなる上メモリ管理が繁雑になる。そこで、ポー
1−から指定するのはページ単位とし、1ページを複数
のブロックに分割し、メモリバンクの切換が1周すると
1ブロツク分のメモリがアクセスされるようにする。つ
まり、メモリバンクの切換の間隔中にアクセスする単位
はLE/Nであり、L、/LB周することにより、1ペ
一ジ分のデータをアクセスする。LB/Nがあまり小さ
いと各メモリバンク間でのページアドレス転送の時間が
なくなるため、LBは、 L  /N≧rJog2 K1 + rfog2N 1
+ 「lag2 (L、/LB)1+αを満足する必要
がある。ここで、αはポートからページアドレスを設定
するのに要する間隔である。
各ポート側では、アクセスを開始したメモリバンクとは
独立に、ブロックの先頭をMBoにする必要がある。ポ
ートP、が時刻jに接続されてい番 るメモリバンクはMB(i+))rnocLNであるか
ら、そのブロックの。
((L、 /N) ((i+j) 1lIod N) 
+1)番目のデータから、 (LB/N)(i + j)nod N+ 1)番目の
データをアクセスすればよい。このため、スイッチング
・ネットワークと各ポートの間にバッファを持ち、スイ
ッチング・ネットワーク側からアクセスするバッファ内
のアドレスを、切換用のカウンタの値と各ポートの番号
の値との和から計算するようにすることが望ましい。ブ
ロック内のアドレスは、メモリバンク側とバッファ側で
同期する必要がある。
次に、本発明の多ポートメモリシステムの実装上の問題
について説明する。接続バス幅が広いと実装上困難を来
すが、本発明においては、ページアドレスをスイッチン
グ・ネットワークのデータ線を用いて転送、設定し、ペ
ージ内のアドレスのインクリメントをメモリバンク側で
行なうので接続バス幅が従来方式より狭くでき、実装上
の困雌性が少ない。また経済的である。
以下さらに詳細に本発明を説明するために、実施例を用
いて説明する。
〔実施例〕
第2図は本発明の一実施例の要部ブロック構成図である
。Po、Pl・・・P、5は、16本のデータ入出力用
ポート、PBo、PBl・・・PB15はバッファ、M
Bo−MBl5は16個のメモリバンク、SNは16X
16スイツチング・ネットワーク、CNTは16進のカ
ウンタである。接続バス■および■は書込みデータ用に
1バイトとパリティビット1ビツトの計9ビット、読出
し用も同様に9ビツト、制御用に6ビツトの合計24ビ
ット幅である。スイッチング・ネットワークの切換は、
システムクロックψと同期して右回りで一周するように
なっており、このため16進カウンタCNTを用いてい
る。
第3図に16進カウンタCNTの値と各ポートと各メモ
リバンクの接続関係を示す。第3図において、Po・・
・Pl5はポートの番号、MBo・・・MBl、はメモ
リバンクの番号を表す。各メモリバンクでは、上記スイ
ッチング・ネットワークSNの切換に同期してアドレス
を右隣のメモリバンク(最右端の場合は、最左端のメモ
リバンク)へ転送する。そのために、シフトレジスタ(
メモリバンク側のアドレス計算部C8に含む)と各メキ
リバンクMBO〜MB15間を結ぶ1ビツトのデータ線
■を用いる。
以下各メモリバンクの構成について更に詳しく説明する
第4図は第2図におけるメモリバンクの一つを詳細に表
したブロック図である。また、第5図に本実施例におけ
るシステムの全体のメモリの分割の様子を示している。
この実施例においては、第5図に示すように、本メモリ
システムの全記憶容量を256メガバイトとし、1ペー
ジのサイズを4キロバイト、1ブロツクのサイズを51
2バイトとすることにした。lブロックのサイズについ
ては、メモリバンク数を16とした場合に1メモリバン
ク当りのブロックサイズが、シフトレジスタによるアド
レスの転送およびポートP。−Pl5からのアドレスの
設定に要する時間とオーバラップしてアクセス可能な程
度であるため、1バンクのブロックを32バイトとした
ので32X16で512バイトとなった。また、1ぺ−
ジのサイズを4キロバイトとしたことにより、全記憶容
量は64キロペ一ジ分となり、ページアドレス指定に2
バイト必要になる。1メモリバンク中の記憶容量は25
6メガバイトを16で割って、16メガバイトとなる。
第4図において、Mは8ビツト×16メガの16メガバ
イト分のメモリ、58−1 ts8−2はそれぞれペー
ジアドレスの上下8ビツトずつを持つシフトレジスタ兼
カウンタである。また、S3は1ページ8ブロツクのブ
ロックをカウンタするための3ビツトシフトレジスタ兼
カウンタ、C5は1ブロツク32バイトをカウントする
ための32進カウンタである。シフトレジスタ兼カウン
タ5ll−1,58−2のページアドレスおよびシフト
レジスタ兼カウンタS3のブロックアドレスは、スイッ
チング・ネットワークの切換と同期して右隣のメモリバ
ンクに転送されなければならないため、シフトレジスタ
兼カウンタ58−1+58−2はページアドレス設定の
ため8ビツトパラレル入力と、メモリへアドレスを示す
ため8ビツトパラレル出力の他に1ピントのシリアル入
出力を持つ必要がある。また、同様に、S3も3ビツト
のパラレル出力と1ビツトのシリアル入出力を持つ必要
がある。ポート側から指定されるアドレスはページ単位
であり、ページの先頭からアクセスされることを前提と
するため、S3はページアドレスが設定された時点でリ
セットされる必要がある。さらに、メモリバンクを一周
すると次のブロックに移らなければならないため、16
ブロツク分をカウントする4ビツトのシフトレジスタ兼
カウンタS4を用意し、そのキャリーを83へ入力する
。なお、各ポートとスイッチング・ネットワーク間のバ
ッファを取り除き、必ずMBOからアクセスを開始する
と仮定した場合にはこのS4を省略することができる。
その場合にはMBoで必ずS3を一つ増加させるように
する。さらに、ページを越えて連続した領域をページを
いちいち設定しなおすことなしにアクセス可能とするた
めに、S3のキャリーを88−1へ、58−2のキャリ
ーを88−1へ入力することが望ましい。
ページアドレスおよびブロックアドレスを隣のメモリバ
ンクへ転送するのとメモリアクセスをオーバーラツプし
て可能とするために、ページアドレスおよびブロックア
ドレスを固定しておくために、L   、L8−2とい
うページアドレス用の8ビットのラッチとL3というブ
ロックアドレス用の3ビツトのラッチを用いる。また、
■ブロック内でアドレスを一つずつ増加させるための5
ビツトつまり32進カウンタC5を用意する。ページア
ドレスおよびブロックアドレスは、この32バイトをア
クセス中に隣のメモリバンクへ転送するか、またはポー
トから別のページアドレスおよびブロックアドレスが設
定されなければならない。
データおよびアドレスは、8ビツト+パリテイピツトの
計9ビットの単方向性バス2本21.22を用いてポー
ト間を転送される。パリティのチェック並びにパリティ
ビットの付加は、4図のPCおよびPAのように各メモ
リバンクの出入口で行なわれる。
書込み、読出しのタイミングやイネーブル等はシステム
クロックφおよびポートからの制御信号を用いて第4図
のメモリバンク制御部MBCで解析され、各カウンタや
ラッチおよびメモリに制御信号が送られる。
第6図は第2図および第4図における多ポートメモリシ
ステムのタイミングチャートである。各メモリバンクの
アドレスは第6図におけるAo。
A、、A2.A3 、A4.・・・のように指定され、
システムクロックφと同期して各ポートからアクセスさ
れる。これと同時にページアドレスおよびブロックアド
レスを隣のメモリバンクに転送させるために、転送に先
立ちラッチセットL5のタイミングでランチL[l=1
 、L8−2およびL3にシフトレジスタ兼カウンタ5
8−4.58−2およびS3のアドレスをセットし、ペ
ージアドレス16ビツト。
ブロックアドレス3ビツトおよびバンクカウント4ビツ
トの計23ビットをシフトクロックφ、に従って右隣へ
1ビツトずつ転送する。ここで、前述したように各ポー
トともバンクメモリMBaからアクセスを開始するとし
た場合には、バンクカウントの4ビツト分は不要となる
。もしそうでないとすると、84カウントアンプのタイ
ミングでバンクカウント用のカウンタを一つカウントア
ツプする必要がある。この場合、この84カウンタはペ
ージアドレスを設定する時点でリセットしなければなら
ない。ページアドレスがポートから設定可能な期間は、
S4のカウントアツプが終了してからアドレスのシフト
を開始するまでの間で、第6図のアドレスセットイネー
ブルAEのタイミングはその区間を示している。また、
スイッチング・ネットワークの切換も、このシステムク
ロックφに同期して行なわれる必要があり、ラッチにア
ドレスが設定されると同時に切換られるのが好ましい。
第6図のネットワーク切換NSWのタイミングは、この
切換時期を示している。
第7図は本発明の多ポートメモリシステムにおいて、入
出力ポートを4とした時のある時点(t=j)の各ポー
トからのアクセス状況と、次にスイッチング・ネットワ
ークの切換を行なった時点(t=j+1)の各ポートか
らのアクセス状況を示したものである。
第8図は4×4のスイッチング・ネットワークのポート
からメモリバンク側へ書込むデータラインの1ビツト分
をPLAを用いて構成した場合の例を示している。IP
  〜エア  が入力側、つまりポ一ト側で、OMBo
”” oME3が出力側つまりメモリバンク側、またA
。、A、が接続切換用の4進カウンタの出力である。論
理式でこのカウンタの出力A。
、 A1、I、  〜I、  およびoMB −oME
 の関係を表すと次式(1)のようになる。
また、第9図は4×4のスイッチング・ネットワークの
ポートからメモリバンク1則を読出すデータラインの1
ビツト分を同様にPLA (Programmable
Logic  Array )を用いて構成した場合の
例を示している。’MB  ””’ME  が入力側つ
まりメモリバンク側で、0P−0P3 が出力側っまり
ポート側、Ao、A1は第8図と同様に接続切換用の4
進カウンタの出力である。論理式でA。、A1、■MB
0〜IME1.0Po−oP3の関係を表すと次式(%
式% 上記(1)式および(2)式を入力16ビツト、出力1
6ビツト、接続切換用の16進カウンタの出方4ビツト
にそのまま拡張することにより、第2図で示したポート
とメモリバンクの接続関係を双方で実現することができ
、その拡張した下記の式:(3)式(4)式を16X1
6のPLAに適用し、そのPLAをバス幅の個数分つま
り24個並列に用いることにより、第2図で示した多ポ
ートメモリシステム用の小型で経済的なスイッチング・
ネットワークを作ることができる。
第1θ図は第2図におけるポートバッファPBiの一つ
を詳細に表したブロック図である。
このポートバッファは書込み及び読出しの全体としての
効率を向上させるためのものである。
成る1ページの書込みの時、書込みをその時スイツチン
グ・ネットワークSNで接続した任意のメモリバンクM
Bi  にページの先頭から行なうと読出し時にはどこ
がページの始めかがわかり難くアクセスに困難性が生じ
る。そこで、ページの始めは特定のメモリバンク、例え
ばメモリバンクMBoであると決めておくことが望まし
い。ところが書込み時に当該ポートがスイッチング・ネ
ットワークSNによりメモリバンクMBaに切換られる
まで待つのでは全体として効率が悪い。
この第10図の実施例においては、4キロバイトのバッ
ファを2面持ち(11及び12)、一方のバッファ11
(または12)がポート側からアクセスされている時、
もう一方のバッファ12(または11)をメモリバンク
とのデータ転送に利用できるようにダブルバッファを構
成している。その際バッファII、 12のいずれを、
ポート側からのアクセス、メモリバンクとのデータ転送
に用いるかの選択は、各パンツ711.12のアドレス
側のセレクタIIAS及び12ASとデータ側のセレク
タll5D及び125Dで切換制御される。例えばメモ
リバッファ11がポートの上方からアクセスされるよう
にセレクタ〜  IIAS、ll5Dで切換接続されて
いる時、セレク、  タ12AS及び12SI)はメモ
リバッファ12をメモリバンク側に切換接続する。
メモリバンク側とデータ転送し合うためのアドレスは、
下位5ビフトA。−A4をシステムクロックφをDll
で分周して作り、その上の4ビツトA8〜A5をスイッ
チPBSでセットされたポートの番号とスイッチング・
ネットワークの切換用カウンタ(CNT)の出力を加算
器ADDで和をとって作り、上位3ピントA、〜A11
をシステムクロックφをDI2で分周して作っている。
なお、PBCはポート側のコントローラ、PBPAはポ
ート側からの書込みデータのパリティ付加部、PBPC
はメモリバンク側から読出したデータのパリティチェッ
ク部を示す。このポートバッファを用いることにより、
スイッチング・ネットワークCNTの接続関係と独立し
て、ポート側からページ単位でアクセスすることができ
る。例えばポートの上方からの書込みを考えると、第1
O図のポートバッファ(1]又は12)では、書込む1
ページ内のどこから送るかというアドレス:書込み開始
アドレスを計算している。先に説明したように一つのペ
ージ(4キロバイト)というのは第5図のように縦に8
ブロツクに分れており、さらにそのlブロックは32バ
イトずつ分けて右回りで隣のメモリバンクに順に格納さ
れている。例えば第3図の16進カウンタの値がOの時
にポート4から書込む時は第2図のメモリバンクMB4
から書込みが開始される。またカウンタの値が1の時に
ポート4から書込みを開始する時にはメモリバンクMB
5から書込みが開始される。即ち、16進カウンタの値
プラスポートの番号のメモリバンクMBiに当該ポート
は切換られている。従って、ポート側から書込みを開始
するメモリバンクへ格納するページのデータを適当な部
分から転送し、1ページのブロックの途中から当該書込
み開始メモリバンクに書込み、順に前記の態様で隣のメ
モリバンクに書込みそのページの一番最後まできて、そ
のページのブロックの頭までもどった時、丁度メモリバ
ンクの頭(例えばMBo)に来るようにすれば良い。本
実施例ではその、書込むページの書込み開始アドレスの
計算は16進のカウンタCNTの値と書込みを行なうポ
ートが持っているアドレス:ポートP5なら5という値
を加算してやると丁度そのページの書込み開始アドレス
の値がでてくる。
従って、それぞれのポートでこの計算を行なうようにす
れば良い。
以上は書込みの場合であるが、読出しの場合も同様であ
り、ポートの上からのアクセス時に、当該ポートが接続
しているメモリバンクMBiから読出しを開始し、その
読出したデータをIl、 12の一方例えば11のバッ
ファに書込む時、やはり加算器ADDで当該ポートの持
つ番号と16進カウンタCNTの値の和を計算し、それ
を書込むバッファ11をアクセスするアドレスA5〜A
8に用いることにより、書込み完了時には該バッファ1
1にはページの始めからメモリバンク側から読出したデ
ータが格納される。従って、当該ポートの上方からこの
メモリバンク11をアクセスして読出すことが容易にな
る。
以上本発明について実施例を示したが、本発明に係る多
ポートメモリシステムはこれに限らず、特許請求の範囲
内で種々変更可能なこと勿論である。
〔発明の効果〕
本発明によれば、ページアドレスをデータ線を用いて転
送し、メモリバンク内でアドレスの計算を行なうように
することにより、多ポートメモリシステムにおいて実装
上困難を来すバス幅をせまくすることができ、システム
全体を小型で経済的′に構成することができる。
さらに、スイッチング・ネットワーク自体をビットスラ
イス化してPLAを用いて構成することにより、遅延の
少ない簡略なスイッチング・ネットワークを構成するこ
とができる。
また、スイッチング・ネットワークの接続の切換を一つ
ずつ隣へ移すようにすることにより、アドレスをシフト
レジスタを用いて各メモリバンクの隣−1転送するだけ
で、バンクの切換毎にアドレスを設定しなおす必要がな
くなり、連続した領域を効率よくアクセスすることが可
能なシステムを構成することができる。その上、アドレ
スの隣のメモリバンクへの転送と、ポートからのメモリ
へのアドレスを独立して同時に行なうことが可能になる
ため、連続した領域をアクゼスタイムのよどみなく、読
出し、書込みが可能となる。
さらに、本発明によればスイッチング・ネットワークと
各ポートとの間にバッファを設け、スイッチング・ネッ
トワークと転送し合うページ内のアドレスをスイッチン
グ・ネットワークの切換用カウンタの値と各ポートの番
号との和から計算するようにアドレス計算用加算器を各
バッファに持たせることにより、各メモリバンクと各ポ
ートの接続関係と独立に、アクセスが開始できる。
このような本発明の多ポートメモリシステムは、並列処
理システムにおける共有メモリとして多用することが可
能であり、特にページ単位のアクセスを基本とする関係
データベースマシンや知識ベースマシンの構成に極めて
有用である。
【図面の簡単な説明】
第1図は本発明による多ポートメモリシステムの構成図
、第2図は本発明の実施例の要部ブロック構成図、第3
図は16進カウンタの値と各ポートと各メモリバンクの
接続関係を示す図、第4図は第1図におけるlメモリバ
ンク中のさらに詳細なブロック図、第5図は第1図およ
び第4図におけるシステムの全体のメモリの分割の様子
を示した図、第6図は第1図および第4図におけるシス
テムの処理のタイミングチャート、第7図は時刻t=j
と時刻t=j+lにおける各ポートからのアクセスの様
子を示した図、第8図および第9図は4×4のスイッチ
ング・ネットワークの1ビツト分をそれぞれポートから
メモリバンク方向へとメモリバンクからポート方向へ接
続するためにPLAを用いて構成した場合の実施例のP
LA内の配線図、第10図は第2図におけるlポートバ
ッファ中のさらに詳細なブロック図である。 (主な符号) PO””PM −1”データ入出力用のポートMBo〜
MBN−1:メモリバンク SNニスイツチング・ネットワーク CNT ニスイツチング・ネットワークのコントローラ M:8ビツト×16メガの16メガバイト分のメモリ MBC:メモリバンク制御部 5s−1,56−27それぞれページアドレスの上下8
ビツトずつを持つシフト レジスタ兼カウンタ Ss:lページ8ブロツクのブロックをカウンタするた
めの3ビツトシフトレジスタ兼カウンタ C5:1ブロツク32バイトをカウントするための32
進カウンタ S4 :シフトレジスタ兼カウンタ L8−1 、L8−2 ’ページアドレス用の8ビツト
のラッチ Lニブロックアドレス用の3ビツトのラッチ11.+2
:バ・ソファ 11AS、12ΔS、ll5D、12SD :セレクタ
DIl、DT2: カウンタ ADD :加算器 PBS :スイフチ PBC:コントローラ PBPA、PA:パリティ付加部 PBPC,PC:パリティチェノク部 特許出願人 工業技術院長 等々力 達代理人 弁理士
 玉 蟲 久五部 (外2名) −頃−+J+1.3 0α耳=  二

Claims (1)

  1. 【特許請求の範囲】 1、複数のデータ入出力用のポートと、複数のメモリバ
    ンクと、各ポートと各メモリバンクとを接続するスイッ
    チング・ネットワークとを有し、ページを全メモリバン
    クへまたがるように格納し、ページ単位で各入出力用ポ
    ートからアドレスが指定される多ポートメモリシステム
    において、ページアドレスを前記スイッチング・ネット
    ワークのデータ線を用いて転送、設定し、アドレスの計
    算を各メモリバンク側で行なうように構成したことを特
    徴とする多ポートメモリシステム。 2、前記スイッチング・ネットワークは、データ転送バ
    スを2方向に持ち、該バスはビットスライス化され、P
    LAとカウンタを用いて構成されることを特徴とする特
    許請求の範囲第1項記載の多ポートメモリシステム。 3、前記各メモリバンク間でポートの切換と同期してペ
    ージアドレスを転送し合うためにスイッチング・ネット
    ワークの切換をローテートさせると共に、アドレスを隣
    接メモリバンクへ転送するためのシフトレジスタと、シ
    フト中ページアドレスを固定させておくラッチと、該転
    送の間ページアドレスを一つずつ増加させるためのカウ
    ンタと、切換が1周した時にブロックのアドレスを一つ
    増加させるためのカウンタとを各メモリバンクに持つこ
    とを特徴とする特許請求の範囲第1項または第2項記載
    の多ポートメモリシステム。 4、各々からページ単位でアドレスが指定される複数の
    データ入出力用のポートと、複数のメモリバンクと、該
    各ポートと各メモリバンクとの接続の切換をローテート
    させるスイッチング・ネットワークと、アドレスを隣接
    メモリバンクへ転送するためのシフトレジスタと、その
    シフトの間ページアドレスを固定させておくラッチと、
    そのシフトの間ページアドレスを一つずつ増加させるた
    めのカウンタと、該各ポートと各メモリバンクとの接続
    の切換が1周した時にブロックのアドレスを一つ増加さ
    せるためのカウンタとを各メモリバンクに有し、前記各
    メモリバンク間でポートの切換と同期してページアドレ
    スを転送し合うようになし、ページを全メモリバンクへ
    またがるように格納し、ページアドレスを上記スイッチ
    ング・ネットワークのデータ線を用いて転送、設定し、
    アドレスの計算を各メモリバンク側で行ない、複数のポ
    ートからの連続したデータの読出しおよび書込みを同一
    ページに対しても行なえるようにした多ポートメモリシ
    ステムにおいて、 さらに、前記スイッチング・ネットワークと各ポートと
    の間にそれぞれバッファを持ち、該各バッファはスイッ
    チング・ネットワークと転送し合うページ内のアドレス
    を前記スイッチング・ネットワークの切換用カウンタの
    値と各ポートの番号との和から計算するアドレス計算用
    加算器を持ち、各メモリバンクと各ポートの接続関係と
    独立に、アクセスが開始されるようになすことを特徴と
    する多ポートメモリシステム。
JP60229537A 1985-10-15 1985-10-15 多ポ−トメモリシステム Granted JPS6289149A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP60229537A JPS6289149A (ja) 1985-10-15 1985-10-15 多ポ−トメモリシステム
DE8686902020T DE3688505T2 (de) 1985-10-15 1986-03-24 Multiportspeichersystem.
PCT/JP1986/000136 WO1987002488A1 (fr) 1985-10-15 1986-03-24 Systeme de memoire multiport
EP86902020A EP0248906B1 (en) 1985-10-15 1986-03-24 Multi-port memory system
KR1019870700030A KR880700354A (ko) 1985-10-15 1987-01-16 다포오트 메모리 시스템
SU874202747A SU1561834A3 (ru) 1985-10-15 1987-06-12 Устройство адресации к пам ти
US07/344,507 US4930066A (en) 1985-10-15 1989-04-26 Multiport memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60229537A JPS6289149A (ja) 1985-10-15 1985-10-15 多ポ−トメモリシステム

Publications (2)

Publication Number Publication Date
JPS6289149A true JPS6289149A (ja) 1987-04-23
JPH042976B2 JPH042976B2 (ja) 1992-01-21

Family

ID=16893724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60229537A Granted JPS6289149A (ja) 1985-10-15 1985-10-15 多ポ−トメモリシステム

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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960042372A (ko) * 1995-05-10 1996-12-21 가나이 쯔또무 멀티채널 메모리시스템, 전송정보 동기화방법 및 신호전송회로

Families Citing this family (55)

* Cited by examiner, † Cited by third party
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
WO1996007139A1 (en) * 1994-09-01 1996-03-07 Mcalpine Gary L A multi-port memory system including read and write buffer interfaces
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
TWI543185B (zh) 2005-09-30 2016-07-21 考文森智財管理公司 具有輸出控制之記憶體及其系統
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
WO2007143278A2 (en) 2006-04-12 2007-12-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US8059128B1 (en) * 2006-04-19 2011-11-15 Nvidia Corporation Apparatus and method for performing blit operations across parallel processors
CN101558649A (zh) * 2006-09-26 2009-10-14 皇家飞利浦电子股份有限公司 具有多个存储体的数据处理
EP2523101B1 (en) 2006-11-14 2014-06-04 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
CN103250131B (zh) 2010-09-17 2015-12-16 索夫特机械公司 包括用于早期远分支预测的影子缓存的单周期多分支预测
CN108376097B (zh) 2011-03-25 2022-04-15 英特尔公司 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段
CN103547993B (zh) 2011-03-25 2018-06-26 英特尔公司 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块
WO2012135050A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9940134B2 (en) * 2011-05-20 2018-04-10 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
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
US9525630B2 (en) * 2011-08-02 2016-12-20 Cavium, Inc. Method and apparatus for assigning resources used to manage transport operations between clusters within a processor
KR101703401B1 (ko) 2011-11-22 2017-02-06 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
US20150039859A1 (en) 2011-11-22 2015-02-05 Soft Machines, Inc. Microprocessor accelerated code optimizer
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
KR102083390B1 (ko) 2013-03-15 2020-03-02 인텔 코포레이션 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
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
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction 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
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
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
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9760481B2 (en) 2014-06-13 2017-09-12 Sandisk Technologies Llc Multiport memory
US20260064500A1 (en) * 2024-08-30 2026-03-05 Tenstorrent USA, Inc. Time division multiplexing shared memory

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960042372A (ko) * 1995-05-10 1996-12-21 가나이 쯔또무 멀티채널 메모리시스템, 전송정보 동기화방법 및 신호전송회로

Also Published As

Publication number Publication date
JPH042976B2 (ja) 1992-01-21
EP0248906B1 (en) 1993-05-26
SU1561834A3 (ru) 1990-04-30
KR880700354A (ko) 1988-02-22
EP0248906A1 (en) 1987-12-16
DE3688505D1 (de) 1993-07-01
DE3688505T2 (de) 1993-09-09
US4930066A (en) 1990-05-29
WO1987002488A1 (fr) 1987-04-23
EP0248906A4 (en) 1989-08-22

Similar Documents

Publication Publication Date Title
JPH042976B2 (ja)
US6510510B1 (en) Digital signal processor having distributed register file
US5812147A (en) Instruction methods for performing data formatting while moving data between memory and a vector register file
EP0424618A2 (en) Input/output system
US20050204118A1 (en) Method for inter-cluster communication that employs register permutation
JPS618785A (ja) 記憶装置アクセス制御方式
JPS63501530A (ja) メモリをリンクしたウエ−ブフロント・アレイ・プロセッサ
JPH0652102A (ja) データ転送装置
US6131152A (en) Planar cache layout and instruction stream therefor
US6742058B2 (en) Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input
CN1052562A (zh) 具有单比特置位和复位功能的主存储器插板
JPS59173863A (ja) マスクメモリ方式
JP2766217B2 (ja) 並列処理装置
CN101236548B (zh) 数字信号处理器
JPH0232647B2 (ja)
JP3107595B2 (ja) メモリアクセス制御装置及びメモリアクセス制御方法
JPH0232648B2 (ja)
JPS60209873A (ja) ベクトル処理装置
JP2610500B2 (ja) 並列ベクトル計算機
JPH0456352B2 (ja)
JP2855936B2 (ja) データ入れ替え方式
JPH01241645A (ja) 演算処理装置
JPH0855093A (ja) 複合化ベクトル並列計算機
JPH0332829B2 (ja)
JPH04153750A (ja) 主記憶装置の制御システム

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term