JPH02173858A - マルチプロセツサ・システムに於いて多数のメモリ位置にアドレスを指定するための方法及び装置 - Google Patents

マルチプロセツサ・システムに於いて多数のメモリ位置にアドレスを指定するための方法及び装置

Info

Publication number
JPH02173858A
JPH02173858A JP1275095A JP27509589A JPH02173858A JP H02173858 A JPH02173858 A JP H02173858A JP 1275095 A JP1275095 A JP 1275095A JP 27509589 A JP27509589 A JP 27509589A JP H02173858 A JPH02173858 A JP H02173858A
Authority
JP
Japan
Prior art keywords
memory
processors
output
address
random
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.)
Pending
Application number
JP1275095A
Other languages
English (en)
Inventor
Mark Leather
マーク・レザー
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.)
Pixar
Original Assignee
Pixar
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 Pixar filed Critical Pixar
Publication of JPH02173858A publication Critical patent/JPH02173858A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing

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)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はメモリシステムの分野に係わシ、特に、データ
の書込みおよび読出しのための経路指定方式に係わる。
〔従来の技術〕
コンピュータの応用に於いては、高速処理の能力を得る
ためにしばしば複数のプロセッサを使用することが必要
となる。こうした必要性は、コンピュータ・グラフィッ
クス等、データ密度の大きい用途に於いて一層顕著に現
れる。従来技術によるマルチプロセッサ・システムの一
例として、本発明の譲受人に譲渡された係属中の米国特
許出願Na 175 、621に述べられている単一命
令マルチデータストリーム・コンピュータ(SIMD)
がある。
マルチプロセッサ拳コンピュータ・システムの1つの特
定的用途は、3次元の立体的イメージを表現することで
ある。3次元空間に於ける点の分布に対応する立体的イ
メージ表現データは、メモリアレイの中に記憶される。
このデータは、通常、行(X軸)と列(y軸)とシャフ
ト(2軸)とによシ表わされる。メモリシステムからデ
ータを読出す様式は、「アクセスモード」と呼ばれる。
例えば成る立体的イメージ表現に於いて、データは、X
軸方向またはy軸方向または2軸方向に直線的に並んで
いるか、もしくは%Xy平面またはxz平面またはyz
XJf−面に並んでいるものとしてアクセスされる。ア
クセスモードが判っているならば、メモリ経路指定方式
は、多数のプロセッサとメモリユニットとの間の数多い
衝突を削減もしくは除去すべく最適化され得る。
コンピュータシステムの大容量記憶装置は普通、比較的
小規模なメモリユニットのアレイとして形成される。こ
れらの小規模メモリユニットは、多数の随時読出し書込
みメモ’) (RAM)、消去可能なPROM(EPR
OM)、電気的に消去可能なPROM(EEPROM)
などのような物理的メモリであってもよく、また、単一
の大きな記憶装置の一部分であってもよい。従って、コ
ンピュータシステムの大容量記憶装置は、直接的に並べ
られたメモリの列、またはメモリ平面の集積とみなすこ
とが出来る。
従来技術による1つのメモリ方式として、「非共通メモ
リ」並列処理アーキテクチャがある。この方式に於ける
各プロセッサは、他のアクセスt−1)1アクセスする
ことは不可能な、組合わせられた独自のメモリを有する
。これは、プロセッサ間の衝突を防ぐ。しかしながら、
この方式は、データセットを通る2つのパス(1つは垂
直方向、他は水平方向)を必要とされる画像処理用とし
ては有用ではない。
従来技術によるもう1つのメモリ経路指定方式は、複数
のプロセッサを1つまたは複数のメモリへと結合してい
る単一のバスを使用する。このような方式に於いては衝
突が避けられず、また、複数のプロセッサを同時に使用
することは不可能である。大規模なデータブロック自サ
イズを設ければ、十分なバンド幅を実現することは可能
である。
しかしながら、大規模なブロックサイズは待ち時間を長
くし、小さなデータブロックで運転する際の効″4?低
下させる。
従来技術によるもう1つの方式はデュアルボ)RAMを
使用するものであり、それによって、双方のプロセッサ
がメモリ内の同一アドレスをアクセスしないことを条件
として2つのプロセッサが1つのRAMをアクセスし得
る。しかしながら、この従来技術によるデュアルポート
方式は、現時点の技術で使用可能なものは「デュアルポ
ート」のRAMのみであるという事情により制約を受け
る。
多数のプロセッサをコンピュータシステムに使用したい
と思っても、実際に使用し得るプロセッサは2つにすぎ
ない。
M個のプロセッサとN個のメモリとを有し且つスイッチ
ングネットワークを介して結合されている従来技術によ
るもう1つのマルチプロセッサ・コンピュータ・システ
ムについて考察する。もしN≧Mであるならば、個々の
プロセッサは、メモリオペレーション中に異なるメモリ
にアクセスし得る。2つ以上のプロセッサが同じメモリ
にアクセスしようとする場合には「衝突」が起こり、ど
ちらのプロセッサからどのような順序でメモリにアクセ
スするかを決定する方法が準備されなければならない。
優れたアクセスモード、すなわち、ここに提出するアク
セスモードが知られるならば、メモリ選定方式すなわち
論理−物理アドレス・マツピング方式は、プロセッサ間
の衝突を減少させもしくは除去すべく最適化され得る。
しかし、アクセスモードを知ることが出来ない場合、も
しくはアクセスモードが予見不可能な変化をする場合に
は、最大の能力を発揮させるためにメモリ選定方式すな
わち論理−物理アドレス・マツピング方式を最適化する
ことは困難となる。
従来技術によるもう1つのメモリ経路指定方式が、本発
明の譲受人に譲渡されて1988年10月13日に出願
された「3次元のデータアレイに記憶させ且つアクセス
するための方法および装置」と題する係属中の米国特許
出願Na257,936に述べられている。この方式は
、nXnXnエレメントからなる立方体に対応するデー
タ・ブロックがそれぞれn個のメモリに記憶され、それ
によυ、X軸方向またはy軸方向または2軸方向に並ん
でいるn個のエレメントに同時にアクセスし得る方法を
含んでいる。メモリエレメントは、行アクセスモードお
よび列アクセスモードおよびシャフトアクセスモードの
ために最適化された循環的シフト方式を使用して書込ま
れ且つアクセスされる。
従来技術によるメモリ経路指定方式に伴う1つの問題点
は、それらの、アクセスモードへの依存性である。もし
、アクセスモードを知ることが出来ないか又は予期した
アクセスモードから逸脱するならば、受入れ難いほど多
数の衝突が起こるであろう。
〔発明が解決しようとする課題〕
従って、本発明の1つの目的は、アクセスモードから独
立しており且つ受容し得るレベル迄衝突を減少させ得る
メモリ経路指定方式を提供することである。
本発明のもう1つの目的は、システムの能力を低下させ
ることなく2ンダム・アクセス・モードを使用し得るメ
モリ経路指定方式を提供することである。
添付図面を参照しつつ以下の詳細な説明を読むならば、
本発明の他の目的及びそれに付随する利益が明らかとな
ろう。尚、添付図面全体を通じて、同様の参照数字は同
様の部品を指し示す。
〔発明の概要〕
M個のプロセッサとN個のメモリとを有するコンピュー
タシステムのためのメモリ経路指定方式について説明す
る。本発明に於けるメモリ経路指定方式はアクセスモー
ドから独立しており、それ故、衝突の平均的発生回数は
アクセスモードの如何に拘らず最少限となる。提示され
る実施態様に於いては、M個のプロセッサが、アドレス
ーランダマイザを介してクロスバ−等の経路指定ネット
ワークへと結合される。クロスバ−は、N個のメモリへ
と接続される。プロセッサによシ指定されたメモリアド
レスは、ランダマイザにより処理されたのちクロスバー
によシ経路指定され、その経路指定されたアドレスがメ
モリに与えられる。経路指定されたアドレスを有するメ
モリは、アクセスされるべくプロセッサに結合される。
ランダム経路指定方式を使用することによってメモリが
個々のアクセスモードのいずれに対しても必ず最適化さ
れるとは限らないけれども、本発明のランダム経路指定
はアクセスモードの如何に拘らずプロセッサに買献し得
る。
本発明の提示実施例に於いて、各プロセッサは、経路指
定ネットワーク向けの1つのボートを有する。高速動作
を必要とされる場合には、ボートが付加されてよい。本
発明の方式に於ける衝突の平均的発生回数は、メモリの
数とアクセスボートの数との関数である。1つの実施態
様に於いては、経路指定アドレスを選定するため、クロ
スバーに於いてハツシング表が使用される。
本発明に於いては、プロセッサとランダマイザとの組合
せの各々が、アドレスから独立に且つランダムにメモリ
リクエストを出す。提出する実施例に於いては、個々の
ルックアップテーブルを反復的に適用することによシ、
ハツシング表が実行される。本発明に於いては、個々の
ルックアップテーブルが入力アドレスと出力アドレスと
の1対1の対応をつけておシ、かくて、ハツシング表全
体として、論理アドレスと物理メモリ位置との間に1対
1の対応をつけている。1つの実施態様に於いては、ビ
ット位置を配分するための十分にプログラマブルなハツ
シング表が使用され、前記のハツシングには、ルックア
ップテーブル用ROMと互換ネットワークとの反復的適
用を含む。衝突が発生したならば、本発明は、各メモリ
サイクルの後に増分を与えるようにした優先権循環スケ
ールを選定することが出来る。
〔実施例〕
マルチプロセッサ拳システムに於けるプロセッサ間の衝
突を最少限にするためのメモリ経路指定方式について説
明する。本発明について十分に説明するため、アクセス
方向等の数々の特定的詳細が以下に述べられる。しかし
ながら、これらの特定的詳細を使用せずとも本発明を実
施し得ることは、当業者には明らかであろう。他方、本
発明を不必要に曖昧にすることのないよう、良く知られ
た事柄については詳細な説明を省略する。
従来技術についての説明 第1A図には、従来技術によるメモリ方式が例示されて
いる。この例では、4つのプロセッサP1、P2、P3
、P4が、経路指定回路10を介して4つのメモリ11
〜14に接続されている。経路指定回路10はクロスバ
ーであってよく、プロセッサP1〜P4の入力ライン1
5〜18のいずれもがクロスバ−出力ライン19〜22
のいずれへも接続され得る。従って、プロセンサの各々
は、4つのメモリのどれにでも1メモリアクセスの間に
アクセスすることが出来る。
この例に於けるプロセッサは、立体表示用エレメント(
マO1@l)によって3次元のデータを表示する図形表
示システムの一部であってよく、前記立体表示用ニレメ
ン)voxslは、着色部分及び不透明部として現れる
その特性を利用した情報によって認識され得る。着色部
分は赤(R)の色価と緑(G)の色価と青(B)の色価
とにより与えられ、一方、不透明部はアルファ(A)の
値によって与えられる。こうしたシステムは、本発明の
譲受人に譲渡された「立体的データを表示する為の方法
及び装置」と題する係属中の米国特許比!1Na851
゜776に述べられている。
メモリ11〜14は、立体表示用エレメントマOX@1
の各要素を記憶するために使用される。例えばメモリ1
1は、赤の色価RO〜R(n)を格納する。メモリ12
ないしメモリ14はそれぞれ、緑GO〜G(n)と、青
BO〜B(n)と、不透明部AO〜A(n)とを格納す
る。この方式は、1つのvoxe 1からその4つの要
素を入手するためのメモリアクセスを最適化し得るよう
に設計されている。しかしながら、別々の4つのマox
@lの中のそれぞれ1つずつの要素にアクセスすること
が必要な場合、例えばvows l O、〜voze1
3の4つの赤の色価をアクセスすることを求められるよ
うな場合には、第1図に示されている方式は4メモリサ
イクルを必要とする。これは、プロセッサP1〜P4の
うちのただ1つのものしか一時にメモリ11をアクセス
することが出来ないからである。4つのプロセッサ全て
がメモリ11にアクセスしようとすれば衝突が起こるの
で、−時にアクセスするのは1つのプロセッサのみに制
限されねばならない。
上記に概説した衝突の問題を解決しようと試みた従来技
術の1つは、メモリ11〜14へのデータの格納及び検
索に際し循環的シフト方式を適用するものである。従来
技術のこの方式は、第1B図に示されている。個々のメ
モリに格納される要素が成る様式の要素のみに偏ること
のないよう、各マoxer lの要素の色価が次々にメ
モリ11〜14に与えられる際に、経路指定回路によっ
て各要素が循環的にシフトされる。それによシ、1つの
メモリが、例えば赤の要素のみを含むというようなこと
はなくなる。立体表示用エレメントvoxe lOの各
要素RO1GO1BO1AOが−メモリ11ないしメモ
リ14の中にそれぞれ見出される。マaxe 11につ
いては、要素R1と要素G1と要素B1とがメモリ12
ないしメモリ14の中にそれぞれ見出され、さらに、要
素A1はメモリ11の中に見出される。このように、成
るvoxel  の赤の要素を格納しているメモリはそ
の前のvoxa 1  の赤の要素を格納しているメモ
リとは異なシ且つ後続のvoxalの赤の要素を格納し
ているメモリとも異なるように、第1B図の方式に於い
ては各voxelが1つずつ次々にシフトされる。
第1B図に示されている従来技術の方式を使用すること
によシ、4つのvoxe lの例えば赤の要素が、衝突
を起こすことなしに4つのプロセッサP1〜P4によっ
てアクセスされ得る。同様に1いずれか1つのvoxe
 1の4つの要素全てが、衝突をおこすことなしにプロ
セッサP1〜P4によって同時にアクセスされ得る。
第1B図に示されている従来技術の方式は、第1A図の
方式に於けるアクセスの制限に対する1つの解決法を与
えるものである。しかしながら、この方式は、3次元グ
ラフィック表示の分野で使用されるような3次元データ
ベース用としては良好に動作することが出来ない。例え
ば、第1B図の方式は行と列との同時アクセスを可能に
するけれども、3次元データセットに於ける「シャフト
」方向の同時アクセスをも可能とすることは出来ない。
その上、第1A図および第1B図に示されている従来技
術による方式は、アクセスモード数が限られている場合
に於ける最適化をはかるために構想されたものである。
従来技術によるこれらの方式が、アクセスモード数が限
られている場合以外の、例えばランダムなアクセスモー
ドを有するような状況に於いて使用され友ならば、発生
する衝突の数は劇的に増大する。
例えば、使用者がもしもマox*IQとマOX・14と
voxel 9とマoxel 12とにアクセスするこ
とを望んだならば、第1B図の方式は、4つの衝突を引
起こす結果となる。なぜならば、それらのマOX@ 1
の赤の要素はいずれも皆、メモリ11に格納されている
からである。その特定のアクセスモードに合わせて最適
化したメモリ経路指定方式を準備することは可能であろ
うけれども、そのような方式は、それ以外のアクセスモ
ードに於いては最適ではないであろう。多くの応用分野
に於いて、アクセスモードはしばしば変化するものであ
り、また、前もってそれを予知することは出来ないもの
である。
同じ数NだけのメモリとプロセッサとがNXNクロスバ
−によって結合されておシ、各プロセッサは各メモリへ
接続可能であり且つその逆に各メモリから各プロセッサ
へも接続可能であるようにした例に於ける、従来技術の
方式のための衝突分析について次に述べる。そのような
システムの最大能力は、プロセッサの各々が、N個のメ
モリのうちのそれぞれ別々のメモリにアクセスする場合
に発揮される。例えば、プロセッサ口ないしプロセッサ
Nが、メモリ口ないしメモリNのうちの、それぞれに対
応するものにアクセスするようを場合である。こうした
状況に於いてはプロセッサ間の衝突は発生せず、よって
、100%の処理能力が発揮される。
しかしながら、この従来技術によるシステムの処理能力
は、プロセッサの各々が同一のメモリにアクセスしよう
としたならば最低のレベルへと低下する。例えば、プロ
セッサ0〜Nの全てがメモリ0にアクセスしようとした
場合に、−時にメモリ0にアクセスすることをクロスバ
−によって許されるのはただ1つのプロセッサのみであ
る。このように、能力は、最大能力の1/Nに低下する
この従来技術に於いては、メモリ経路指定方式は特定の
アクセスモードのために最適化される。
例えば、図形処理に於けるメモリアドレスは普通、a 
、 a+b 、 a+2b 、 a+3b・−・のよう
な−次的な数列に従う。もしも、順序通りのアドレスが
順序よくメモ1.I K格納され、且つ、プロセッサの
全てが順序よくアドレスをアクセスするならば、Nメそ
リサイクル以内の能力は100%になるであろう。これ
は、下記の表1から明らかであシ、表1は、直線的に増
加するアドレスをアクセスする8つのプロセッサが、式 メモリの番号=アドレスを8で除算した剰余にて表現さ
れるアドレス選定方式を使用する8つのメモリに接続さ
れる状況を表現している。
(表1の1) (表1の2) PG  PI  P2  P3  P4  P5  P
G  P7MOMI  M2  M3  M4  M5
  M6  M7表1に関連して述べられた従来技術の
方式は、メモリアドレスの増分すを知ることを必要とす
る。
この値は使用されるコード次第で変化するものであシ、
特に2バス・アルゴリズムに於いては異なった値をとる
こともあシ得る。第1B図の切シ嵌め方式は、1つの値
または2つの異なる値を有するbにて動作するように構
成されてよいけれども、ランダムな値およびランダムな
アクセスモードを対象とする場合には制約を受ける。
本発明についての説明 本発明の方式に於いては、プロセッサが、アドレスから
独立に且つランダムにメモリ・リクエストを出す。言い
換えれば、このアドレス指定方式は、上述した例のよう
に直線的な順序に従うことはしない。本発明の提示実施
例の経路指定方式は、アクセスモードの如何に拘らず一
定の処理能力を発揮し得る。確認された処理能力(歩留
シ)は、N=Mである場合の論理的最大値の63%に達
する。
第2図に本発明の提示実施例を示す。多数のプロセッサ
poS−psが、多数のランダマイザ(ランダム化手段
)23を介して経路指定回路10へ接続されている。経
路指定回路10の出力は、メモIJ MEM O〜ME
MSへ接続される。ランダマイザ23は、ルックアップ
テーブルとともに使用されてよい。ランダマイザ23の
機能は、全くの行き当たりばったりではなく、入力と出
力との間に1対1の対応を有することを必要とされる。
もし、ランダマイザへの入力が例えば4つ有ったとすれ
ば、出力も4つなければならない。入力データのストア
をランダム化することにより、ランダムアクセスモード
に於けるプロセッサ間の衝突の平均的発生回数は最少限
となる。
動作に際し、メモリアドレスはランダマイザを通過させ
られ、ルックアップテーブルからの結果に基づいてラン
ダムなメモリアドレスが決定される。そこで、ランダム
なメモリアドレス位置にデータが記憶される。データを
検索する際には、これと逆の操作が行われて正しいデー
タがアクセスされる。
8つのプロセッサと8つのメモリとを有する場合の本発
明の動作を表2に示す。アドレスの発生はランダム化さ
れている。衝突は太字で示されている。
(表2の2) (表2の1) POPI  P2  P3  P4  P5  P6 
 P7MOMI  M2  M3  M4  M5  
M6  M74B   −−43−373083 ここに示されている例では、メモリサイクル数は64で
ある。メモリのうちの39個は(衝突を起こすことなく
)好結果を得、25個は衝突する。
これは、はぼ61チの歩留シをもたらす。サイクル数が
大きい場合には、本発明は、最高63%にも達する平均
歩留りを実現し得る。これとは対照的に、従来技術の経
路指定方式に於ける歩留シは0〜100チのどこかであ
って気まぐれに変化する。
メモリ・チャネル(バンク)の数をmとし、プロセッサ
、ビデオ機器、工10等からの同時メモリ・リクエスト
数をrとする。バンクの衝突によって拒絶されるであろ
うリクエストの数を算出することを要望されており、ま
た、この予想される値からの標準偏差を算出することを
も要望されている。リクエストの各々が、メモリのラン
ダムなバンクに対してなされることを前提とする。
次々にメモリ・リクエストが出される場合の、前回迄に
既に許諾されたリクエストの数をgr−tとし、その次
のリクエストによって到達するものと予想される許諾リ
クエスト数をgrとする。次回のリクエストが、既に許
諾したリクエストへ割当済みのバンクgr−xのうちの
1つに対して重複してなされたならばそのリクエストは
拒絶され、その他のバンクm −g r−1のうちの1
つに対してなされたならば許諾される。従って、次回の
リクエストが許諾される可能性は(m−gr−1)/r
nである。そこで、最終的に到達するものと予想される
許諾リクエスト数grを、プログラム風に表現すれば次
式のようKなる。
g、=gr−1+IX c(m−g、−1)/m )+
QX(gr−x/m) = g r−t + (m −Hr−1)/ m=1+
gr−1×(1−1/m) この式を用いて算出した歩留シ(処理能力)を、表にし
て以下に示す。
r m=1 m=2 m=3 rn=4 m=5 m=
6 m==7 m=8・・・m=256i  i、o。
2 .50 3 .33 4 .25 5 .20 6 .17 7 .14 8 .13 100 1.00 1.00 .75  .83  .88 .58  .70  .77 .47  .60  .68 .39  .52  .61 .33  .46  .55 .2B   、40  .50 .25  .36  .45 1.00 1.00 1.00 .90  .90  .93 .81  .84 .86 .74  .78  .81 .67  .72  .75 .61  .67  .70 .56 .62 .66 .52 .58 .62 上表から判るように、 ・・・0.63 メモリが多数ある場合に は、メモリ・リクエスト数rがメモリ数mに等L・い場
合ですら、容認し得るレベル(63%)に歩留シが保た
れる。例えば256個のメモリが有り、各メモリサイク
ルに於けるメモリ・リクエスト数が256である場合に
、歩留シは63幅に保たれる。これは、メモリアクセス
の有するランダム性のおかげで達成されるものである。
プロセッサレベルに於ける処理能力は、アクセスするメ
モリアドレスのランダム化によυ影響を受ける他、衝突
が起こった場合にクロスバ−が優先権を選定する方法の
如何によっても影響を受ける。例えば、もし、より低い
番号のプロセッサが優先権を与えられるという取決めが
採用されるならば、低い番号のプロセッサは高い番号の
プロセッサよシも高度な処理能力を持つことになる。そ
こで、本発明の提示実施例に於いては、優先権循環スケ
ールが使用される。この優先権スケールは、各メモリサ
イクルの後に増分を与えられる。
本発明の、選択可能な1つの実施例に於いては、各プロ
セッサの待ち時間の長さに基づいて各プロセッサに優先
権が与えられる。2つ以上のプロセッサが等しい待ち時
間を有する場合には、優先権循環スケールが適用される
ランダム化の実行 本発明の実施例に於けるメモリアドレスのランダム化は
、ルックアンプテーブルを使用して実行される。ルック
アンプテーブルは、論理アドレスと物理メモリ・アドレ
スとの間に、1対1の対応を有していなければならない
。さらに、ルックアップテーブルは、成る程度の不規則
性を与え得るように選定する機能を有していなければな
らない。
小規模なハツシングテーブルには、ROMを使用するこ
とが可能である。しかし、多くの応用分野に於いては、
ROMを用いたハツシングテーブルの使用は非実用的で
あろう。
本発明の1つの実施例に於いては、小さなルックアップ
テーブルを反復的に適用することによって、大規模なハ
ツシングテーブルが実現される。
小さなルックアップテーブルもまた1対1の対応を有し
ていなければならず、それ故、・・ツシングテーブル全
体としても1対1の対応を有する。第4図に、そのよう
なハツシングテーブルのハードウェアの具体例を示す。
本発明のこの実施例は、複数の16×4ルツクアツプテ
ーブル25〜36を使用する。小さなルックアップテー
ブルは互いに1対1の対応を有しておシ、それ故、小さ
なルックアップテーブルが幾つか集まって実現されてい
るハツシングテーブル全体としても、同様に1対1の対
応を有する。
図面を見れば判るように、小さなルックアップテーブル
25〜36の各々がそれぞれ4つの入力と4つの出力と
を有している。ハツシングテーブル全体としては、16
個の入力と16個の出力とを有している。
本発明のハツシングテーブルの入力は、ルックアンプテ
ーブル25〜28のそれぞれの入力Al〜DIによシ構
成される。テーブル25の出力AO〜DOは、ルックア
ップテーブル29〜32の入力層へそれぞれ接続される
。すなわち、テーブル25の、出力AOはテーブル29
の入力AIへ接続され、出力BOはテーブル30の入力
AIへ接続され、出力COはテーブル31の入力AI 
へ接続され、出力DOはテーブル32の入力AI  へ
接続される。
第2のルックアンプテーブル26の出力AO〜DOは、
テーブル29〜32の入力BIへそれぞれ接続される。
ルックアップテーブル27の出力AO−Doはテーブル
29〜32の入力CIへそれぞれ接続され、また、テー
ブル28の出力AO〜Doはテーブル29〜32の入力
DIへそれぞれ接続される。
ルックアップテーブル33の入力AI−DIは、ルック
アップテーブル29〜32の出力AOへそれぞれ接続さ
れる。すなわち、テーブル33の、入力AIはルックア
ップテーブル29の出力AOへ接続され、入力Blはル
ックアップテーブル30の出力AOへ接続され、入力C
Iはルックアップテーブル31の出力AOへ接続され、
入力DI はルックアンプテーブル32の出力AOへ接
続される。
ルックアンプテーブル34の入力AI〜DIは、ルック
アップテーブル29〜32の出力BOへそれぞれ接続さ
れる。ルックアップテーブル35の入力AI〜DIはル
ックアップテーブル29〜32の出力COへそれぞれ接
続され、また、ルックアップテーブル36の入力AI−
DIはルックアップテーブル29〜32の出力Doへそ
れぞれ接続される。
ルックアンプテーブルが適用されるビット位置の配分は
、本発明の方式に於ける処理能力を低下させかねないの
で、ランダム化機能に於けるパターンを回避せねばなら
ない。
第3図は、16クロツク・サイクルで動作する32ビツ
ト・ランダマイザ回路を示す。ランダマイザは、ランダ
ム化機能を果たし得る6ビツトROMの反復使用によシ
動作し、次いで、32ビット互換回路(ビット位置を入
シ乱れさせる回路)へと引継がれる。1対1の対応は維
持される。
マルチプレクサ41への入力の値はXで表される。マル
チプレクサ41の出力42は、レジスタ43へ入力され
る。レジスタ43ヘスドアされた32ビツトの数は、2
つの出力44.47へと分割される。出力44は、レジ
スタ43の出力のうちの成る一定数のビット、例えば6
ビツト、に対応する。この6ビツトの出力44は、RO
M構成のルックアップテーブル45へ接続される。RO
M 45の出力のビット数は、入力のビット数に等しい
すなわち、もしROM45が6ビツト入力ROMである
ならば、その出力も同様に6ビツトである。レジスタ4
3の出力のうちの残りのビット4Tは、ROM45を迂
回したのちに、ROM45の出力46と組み合わせられ
て出力49を形成する。出力49は、レジスタ43の出
力に関数f (x)を乗じたものに相当する。この出力
49は、レジスタ43の出力のランダム化されたバージ
ョンであり、レジスタ43の出力のうちの成る一定数の
ビットがROM45の処理を受けることによシ得られた
ものである。この出力49は互換ネットワーク4Bへ接
続され、そこでは、出力49に対するビット入替え処理
がなされる。このビット入替え(互換)は、関数g(x
)で表される。もし、互換ネットワーク48への入力が
32ビツトならば出力も32ビツトであり、入力値と出
力値との間には1対1の対応が維持される。互換ネット
ワーク48の出力5゜の値はX′であムこれは、関数f
 (、)と関数gCx)との組合せを入力値Xに適用し
たものに相当する。
本発明のこの実施例に於いては、これらの関数が16回
にわたり反復して適用されるので、出力50の値X′は
、 x =x −Ct (x)−g (X) 〕16となる
。互換ネットワーク48の出力50は、フィードバンク
されてマルチプレクサ41へ接続される。
関数f (X)および関数g (x)の双方とも1対1
の対応を有しているので、この回路の全体としての変換
関数も、同様に1対1の対応を有している。
全体としての関数のランダム化の程度は、6ビツト・マ
ツピング関数f(x)と互換関数g (x)との双方に
因る。6ビツトールツクアツプテーブル用の値および互
換ネットワークのビットマツピング用の値として、コン
ピュータにて発生させた非重複性の乱数を使用すること
により、容易に好ましい結果が得られた。
アドレスレンジが2nの様式をなしている場合には、第
3図の回路は修正されてよい。この場合には、データ経
路をnビット幅とし、そのうちの6ビツトはROMへ行
き、n−6ビツトハ、ビット互換ネットワークへ直接行
くようにしてよい。変換機能を実施するのに要するクロ
ックサイクル数は、ビット数に比例しているのがよい。
第3図の回路をさらに修正することにより、アドレスレ
ンジが3×2nまたは5×2nまたは7X2nの様式で
ある場合のための変換機能を提供することも出来る。こ
のような場合には、ROMは、40または48または5
2サイズの乱数表を内菫する。また、互換ネットワーク
は、上位3ビツトは互換処理を受けてはならないという
付加的な制本発明のこの実施例に於けるROM ルック
アップ・テーブル45の内容は以下の通りである。
00:30 01:25 02:3F 03:IE 04:2B 05 :06 06:27 07:31 08:23 09:18 0A:28 0B:29 0C:3D OD:09 0jE:24 0F : 2F 10:17 11 :10 12:14 13:16 14:20 15:11 16:ID 17:12 18:3E 19:35 1A:3B IB:02 1C:08 10:03 1E:IA IF:38 20:2A 21:01 22:22 23:21 24:2E 25:3A 26:2D 27:lB 28:34 29:00 2A:13 2B:0A 2C:lF 2O:07 2E:37 2F:32 30:15 31:IC 32:0D 33:04 34:2C 35:0F 36:36 37:39 38:0E 39:3C 3A:0B 3B:0C 3C:33 3D:05 3g:26 3F:19 本発明のこの実施例に於ける、互換ネットワーク48の
互換アルゴリズムは以下の通シである。
bltO→bit18 bltl→bit17 bit2→btts bit3→blt14 btt4→bit7 bit5→blt20 blt6→bit19 bit7→bl tB btts →bit9 blt9 →bltl bitlo→bit23 bltll→blt3 bit12→btt13 bit13→bit16 bit14→blt12 bit15→bit29 bit16→blt4 bit17→btt。
bit18→bit30 blt19→blt24 btt20→btt25 blt21→blti。
bit22→blt15 bit23→bit31 bit24→bit21 blt25→b l t 22 blt26→blt5 blt27→bit26 blt28→bttz blt29→bitll bit30→blt28 bit31→bit27 関数f (、)および関数f (X)・g (x)を適
用した各段階に於ける効果を示せば、以下の通シである
ooooooo。
ooooooos ooooooo人 0000000B oooooooc 0000000D 0000000E 0000000F 0000003F  0O1640CO0000001
E  000240CO0000002B  0016
40000000003D  001440CO000
0002F  0016404002508382 5
2D2FODC 027083845B97028E 42798286 75F6CA60 42790282 02C92COC 427802808AA3547C 42788284CCEDD4E4 02508386 0CF9A271 02510382  A660835B0251838
0  BF72CIDE02518384  DDC8
54D602718386 1DBC2DD1 02510384 4606B9CO 02708380A7AO5D34 42798284 6F385D19 以上、並列プロセッサ・アーキテクチャに於けるメモリ
経路指定方式のための改良された方法と装置とについて
説明した。
【図面の簡単な説明】
第1A図は、従来技術によるデータエレメントのnXn
アレイを示すブロック図、第1B図は、従来技術による
もう1つのデータアレイを示すブロック図、第2図は、
本発明の提示実施例を示すブロック図、第3図は、ルッ
クアップテーブル用ROMと互換ネットワークとを示す
ブロック図、第4図は、16ビツ)ROM用プログラマ
ブル・ハツシング・テーブルのハードウェア実施例を示
すブロック図である。 10・・・・経路指定回路、 11〜1411 ・ 自 魯メモリ、 15〜18・・−・プロセッサの入力ライン、19〜2
2・・・・クロスパーの出力ライン、23・−・・ラン
ダマイザ、 25〜36・・・・ルックアップ・テーブル、41、*
*eマルチプレクサ、 42・・・・マルチプレクサの出力、 43・・I・レジスタ、 44.47・・・・レジスタの出力、 45・・・・ROMルックアップ・テーブル、46−・
・・ROMルックアンプ・テーブルの出力、48−・・
−互換ネットワーク、 49・・・・組合せられた出力、 50−・・−互換ネットワークの出力、MEMO〜ME
M 5・中・・メモリ、PO〜P5・・場・プロセッサ

Claims (2)

    【特許請求の範囲】
  1. (1)複数のプロセッサの各々に於いてメモリアドレス
    を作り出す工程と、 前記メモリアドレスをランダム化手段へ与える工程と、 前記メモリアドレスをランダムアドレスへと変換する工
    程と、 前記ランダムアドレスを経路指定手段へ与える工程と、 前記プロセッサの各々を、前記経路指定手段を介して、
    前記ランダムアドレスに対応するメモリへと接続する工
    程と、 を含むことを特徴とするマルチプロセッサ・システムに
    於いて多数のメモリ位置にアドレスを指定するための方
    法。
  2. (2)複数のプロセッサと、 各々、複数の前記プロセッサのうちの1つに接続されて
    いる複数のランダム化手段と、 各々、複数の前記ランダム化手段のどれにでも接続され
    得るようにして経路指定回路を介して複数の前記ランダ
    ム化手段に接続されている複数のメモリと、 前記プロセッサの各々が、前記ランダム化手段のうちの
    対応する1つへメモリアドレスを与えることと、 前記ランダム化手段が、前記メモリアドレスをランダム
    アドレスへと変換することと、 前記プロセッサの各々が複数の前記メモリのうちの前記
    ランダムアドレスに対応する1つへと前記経路指定手段
    を介して接続され得るよう、前記ランダム化手段が前記
    経路指定手段へ前記ランダムアドレスを与えることと、 を含むことを特徴とするマルチプロセッサ・システムに
    於いて多数のメモリ位置にアドレスを指定するための回
    路。
JP1275095A 1988-12-15 1989-10-24 マルチプロセツサ・システムに於いて多数のメモリ位置にアドレスを指定するための方法及び装置 Pending JPH02173858A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28494888A 1988-12-15 1988-12-15
US284,948 1988-12-15

Publications (1)

Publication Number Publication Date
JPH02173858A true JPH02173858A (ja) 1990-07-05

Family

ID=23092142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1275095A Pending JPH02173858A (ja) 1988-12-15 1989-10-24 マルチプロセツサ・システムに於いて多数のメモリ位置にアドレスを指定するための方法及び装置

Country Status (5)

Country Link
EP (1) EP0373299A3 (ja)
JP (1) JPH02173858A (ja)
KR (1) KR900010562A (ja)
AU (1) AU615084B2 (ja)
IL (1) IL91629A0 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250644A (ja) * 2012-05-30 2013-12-12 Honda Elesys Co Ltd メモリアクセス装置、メモリアクセス方法、及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504743A (en) * 1993-12-23 1996-04-02 British Telecommunications Public Limited Company Message routing
RU2110089C1 (ru) * 1995-12-22 1998-04-27 Бурцев Всеволод Сергеевич Вычислительная система
CA2409042A1 (en) * 2000-05-19 2001-11-22 Neale Bremner Smith Distributed processing multi-processor computer
US6826645B2 (en) 2000-12-13 2004-11-30 Intel Corporation Apparatus and a method to provide higher bandwidth or processing power on a bus
US6907490B2 (en) 2000-12-13 2005-06-14 Intel Corporation Method and an apparatus for a re-configurable processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250644A (ja) * 2012-05-30 2013-12-12 Honda Elesys Co Ltd メモリアクセス装置、メモリアクセス方法、及びプログラム

Also Published As

Publication number Publication date
IL91629A0 (en) 1990-04-29
EP0373299A2 (en) 1990-06-20
KR900010562A (ko) 1990-07-07
AU615084B2 (en) 1991-09-19
AU3810789A (en) 1990-06-21
EP0373299A3 (en) 1991-07-03

Similar Documents

Publication Publication Date Title
US5812147A (en) Instruction methods for performing data formatting while moving data between memory and a vector register file
KR100319768B1 (ko) 영상화및그래픽처리시스템내에서의다차원주소발생방법
US7979672B2 (en) Multi-core processors for 3D array transposition by logically retrieving in-place physically transposed sub-array data
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
US5606650A (en) Method and apparatus for storage and retrieval of a texture map in a graphics display system
JP3309253B2 (ja) マルチバンクフレームバッファランダムアクセスポートへ書込み、およびそれから読出すための装置および画素をマルチバンクフレームバッファへ書込む速度を向上させる方法
JP2683564B2 (ja) 図形処理機能を有するデータ処理システム用のソフトウェア形成可能なメモリ構成
US4983958A (en) Vector selectable coordinate-addressable DRAM array
CN103365631B (zh) 用于存储器访问的动态库模式寻址
JPS63204595A (ja) マルチプレ−ンビデオram構成方式
EP2618301B1 (en) 3D rendering engine with embedded memory
JPH02173858A (ja) マルチプロセツサ・システムに於いて多数のメモリ位置にアドレスを指定するための方法及び装置
KR20110121641A (ko) 다중-모드 액세스가능 저장 시설
US20030084081A1 (en) Method and apparatus for transposing a two dimensional array
JPH0792790B2 (ja) ベクトル並列計算機
US20230251903A1 (en) High bandwidth memory system with dynamically programmable distribution scheme
US6640296B2 (en) Data processing method and device for parallel stride access
EP0456394A2 (en) Video memory array having random and serial ports
JPS61186991A (ja) メモリシステム
EP0295186B1 (en) Boundary-free semiconductor memory device having a plurality of slide access memories
KR20040048051A (ko) 범위선택 가능한 어드레스 디코더와 이를 이용한 고속그래픽 처리용 프레임 메모리 장치
JPH02148237A (ja) データのブロツクを記憶させ且つ操作を加えるための方法
KR101154286B1 (ko) 동시 다중 접근이 가능한 메모리 제어장치
JP3465975B2 (ja) 画像合成装置
JP2708841B2 (ja) ビットマップメモリの書き込み方法