JP2003271570A - データ処理方法 - Google Patents

データ処理方法

Info

Publication number
JP2003271570A
JP2003271570A JP2003039036A JP2003039036A JP2003271570A JP 2003271570 A JP2003271570 A JP 2003271570A JP 2003039036 A JP2003039036 A JP 2003039036A JP 2003039036 A JP2003039036 A JP 2003039036A JP 2003271570 A JP2003271570 A JP 2003271570A
Authority
JP
Japan
Prior art keywords
memory
data
apu
processing
processing unit
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
JP2003039036A
Other languages
English (en)
Other versions
JP4455822B2 (ja
JP2003271570A5 (ja
Inventor
Masakazu Suzuoki
雅一 鈴置
Takeshi Yamazaki
剛 山崎
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of JP2003271570A publication Critical patent/JP2003271570A/ja
Publication of JP2003271570A5 publication Critical patent/JP2003271570A5/ja
Application granted granted Critical
Publication of JP4455822B2 publication Critical patent/JP4455822B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 広帯域ネットワークを介する高速処理用コン
ピュータ・アーキテクチャとプログラミング・モデルが
提供される。 【解決手段】 上記アーキテクチャは、均一なモジュラ
ー構造と、共通のコンピューティング・モジュールと、
均一なソフトウェア・セルとを用いる。共通のコンピュ
ーティング・モジュールの中には、制御装置と、複数の
処理ユニットと、処理ユニットがプログラムを処理する
元となる複数のローカルメモリと、ダイレクト・メモリ
・アクセスと、コントローラと、共用メイン・メモリと
が含まれる。共用メイン・メモリからのデータの調整さ
れた読み出しと書き込みを処理ユニットによって行うた
めの同期システムと方法とが提供される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータ・プロ
セッサ用アーキテクチャとコンピュータ・ネットワーク
とに関し、広帯域環境におけるコンピュータ・プロセッ
サおよびコンピュータ・ネットワーク用アーキテクチャ
に関する。さらに、本発明は、このようなアーキテクチ
ャのためのプログラミング・モデルに関する。
【0002】
【従来の技術】コンピュータおよび現今のコンピュータ
・ネットワーク(オフィスのネットワークで使用される
ローカル・エリア・ネットワーク(LAN)やインターネ
ットのようなグローバルネットワークなど)の計算用装
置は、スタンド・アローン型の計算用として主として設
計されてきた。コンピュータ・ネットワークを介するデ
ータとアプリケーション・プログラム(“アプリケーシ
ョン”)の共用は、これらのコンピュータおよびコンピ
ューティング・デバイスの主要な設計目標ではなかっ
た。これらのコンピュータとコンピューティング・デバ
イスは、また、様々な異なるメーカー(モトローラ、イ
ンテル、テキサス・インスツルメント、ソニーなど)に
よって製造された広範囲の異なるタイプのプロセッサを
用いて一般に設計されたものである。これらのプロセッ
サの各々は、それ自身の特定の命令セットと命令セット
・アーキテクチャ(ISA)とを持っている。すなわち、
それ自身の特定のセットのアセンブリ言語命令と、これ
らの命令を実行する主演算装置と記憶装置のための構造
とを有する。プログラマは、各プロセッサの命令セット
とISAとを理解してこれらのプロセッサ用のアプリケ
ーションを書くことを要求される。今日のコンピュータ
・ネットワーク上でのコンピュータとコンピューティン
グ・デバイスには異なった種類が混在していることか
ら、データとアプリケーションの共用及びその処理は複
雑になっている。さらに、この複数種が混在する環境に
対する調整を行うために、多くの場合、同じアプリケー
ションであっても複数のバージョンを用意することが必
要となっている。
【0003】グローバルネットワーク、特にインターネ
ットと接続されたタイプのコンピュータやコンピューテ
ィング・デバイスは広範囲に及ぶ。パーソナル・コンピ
ュータ(PC)とサーバーに加えて、これらのコンピュー
ティング・デバイスの中にはセルラー電話、移動用コン
ピュータ、個人用情報機器(PDA)、セット・トップ・
ボックス、デジタルテレビ並びにその他の装置が含まれ
る。コンピュータやコンピューティング・デバイスにお
いて異種製品が混在する中でのデータやアプリケーショ
ンを共用することに起因して、大きな問題が生じてい
る。
【0004】これらの問題を解決するためのいくつかの
手法が試みられてきた。これらの手法の中には、特に、
優れたインターフェースと複雑なプログラミング手法が
含まれる。これらの解決方法では、処理パワーの実質的
増加の実現がしばしば要求される。また、これらの解決
方法では、アプリケーションの処理に必要な時間と、ネ
ットワークを介するデータ伝送に必要な時間とが実質的
に増加してしまうという結果がしばしば生じる。
【0005】一般に、データは、対応するアプリケーシ
ョンとは別個に、インターネットを介して伝送される。
このアプローチでは、アプリケーションに対応した各セ
ットの伝送データにアプリケーション自体をも送る必要
はなくなっている。従って、このアプローチによって、
必要とされる帯域幅の量は最少化されるものの、ユーザ
ーには不満の原因となることも多々ある。つまり、クラ
イアント側のコンピュータでは、この伝送データを利用
するための適正なアプリケーション、あるいは最新のア
プリケーションを入手できない事態も生じ得る。また、
このアプローチでは、ネットワーク上のプロセッサによ
って用いられている複数の異種ISAと命令セットに対
応して、各アプリケーション毎にバージョンの異なる複
数のアプリケーションを用意することが要求される。
【0006】Java(登録商標)モデルでは、この問
題の解決が試みられている。このモデルでは、厳しいセ
キュリティ・プロトコルに準拠する小さなアプリケーシ
ョン(“アプレット(applet)”)が用いられている。アプ
レットは、ネットワークを介してサーバー側コンピュー
タから送信されてクライアント側コンピュータ(“クラ
イアント”)によって実行される。異なるISAを使用
しているクライアント毎に、同じアプレットであっても
異なるバージョンを送信するという事態を避ける必要が
あるため、すべてのJavaアプレットは、クライアン
ト側のJava仮想マシーン上で実行される。Java
仮想マシーンとは、JavaISAと命令セットとを備
えたコンピュータをエミュレートするソフトウェアであ
る。しかし、このソフトウェアは、クライアント側のI
SAとクライアント側の命令セットにより実行される。
クライアント側ではISAと命令セットが各々異なる
が、与えられるJavaの仮想マシーンのバージョンは
一つである。したがって、複数の各アプレットごとに異
なるバージョンを用意する必要はない。各クライアント
では、当該クライアントにおけるISAと命令セットに
対応した適正なJava仮想マシーンだけをダウンロー
ドすれば、javaアプレットを実行できる。
【0007】
【発明が解決しようとする課題】各々の異なるISAと
命令セットに対して異なるバージョンのアプリケーショ
ンを書かなければならないという課題は解決されている
ものの、Javaの処理モデルでは、クライアント側の
コンピュータに対してソフトウェアの追加層が要求され
る。ソフトウェアのこの追加層のためにプロセッサの処
理速度は著しく低下する。この速度の低下は、リアルタ
イムのマルチメディア・アプリケーションについて特に
著しい。また、ダウンロードされたJavaアプレット
の中にはウィルス、処理上の誤動作などが含まれている
可能性がある。これらのウィルスと誤動作はクライアン
トのデータベースの破損やその他の損害の原因となる可
能性がある。Javaモデルで用いられているセキュリ
ティ用プロトコルでは、“サンドボックス(sandbox)”
(Javaアプレットがそれ以上はデータを書き込むこ
とができない、クライアント側のメモリ内のスペース)
というソフトウェアを設けることにより、この問題の解
決が試みられているとはいえ、このソフトウェア駆動型
セキュリティ・モデルはその実行時に頻繁に不安定にな
り、より多くの処理が必要となる。
【0008】リアルタイムの、マルチメディア・ネット
ワーク用アプリケーションがますます重要なものになり
つつある。これらのネットワーク用アプリケーションで
は非常に高速な処理が要求される。将来、そのようなア
プリケーション用として毎秒何千メガビットものデータ
が必要となるかもしれない。ネットワークの現今のアー
キテクチャ、および、特にインターネットのアーキテク
チャ、並びに、Javaモデルなどで現在実施されてい
るプログラミング・モデルでこのような処理速度に到達
することは非常に難しい。
【0009】したがって、新しいコンピュータ・アーキ
テクチャと、コンピュータ・ネットワーク用の新しいア
ーキテクチャと、新しいプログラミング・モデルとが求
められている。この新しいアーキテクチャとプログラミ
ング・モデルとによって、計算上の負担が付加されるこ
となく、ネットワークの様々なメンバー間でのデータと
アプリケーションの共用という問題が解決されることが
望ましい。また、この新しいコンピュータ・アーキテク
チャと、プログラミング・モデルとによって、ネットワ
ークのメンバー間でのアプリケーションとデータの共用
時に生じる、固有のセキュリティ上の問題も解決される
ことが望ましい。
【0010】
【課題を解決するための手段】本発明の一実施形態にお
いては、コンピュータと、コンピューティング・デバイ
スと、コンピュータ・ネットワーク(あるいはコンピュ
ータ・ネットワークに代えて、コンピュータ・ネットワ
ーク・システムや複数のコンピュータを備えたコンピュ
ータ・システムというカテゴリーや形態とすることもで
きる)とのための新しいアーキテクチャが提供される。
他の実施形態では、本発明は、これらのコンピュータ、
コンピューティング・デバイスおよびコンピュータ・ネ
ットワークのための新しいプログラミング・モデルを提
供するものである。
【0011】本発明によれば、コンピュータ・ネットワ
ークのすべてのメンバー(ネットワーク上のすべてのコ
ンピュータとコンピューティング・デバイス)は共通の
コンピューティング・モジュールから構成される。この
共通のコンピューティング・モジュールは均一な構造を
有し、好適には同じISAが使用される。ネットワーク
のメンバーとして、クライアント、サーバー、PC、移
動用コンピュータ、ゲーム用マシーン、PDA、セット
・トップ・ボックス、電気機器、デジタルテレビ、およ
び、コンピュータ・プロセッサを用いるその他の装置が
挙げられる。均一なモジュラー構造によって、ネットワ
ークのメンバーによるアプリケーションとデータの効率
的高速処理と、ネットワークを介するアプリケーション
とデータの高速伝送とが可能となる。またこの構造によ
って、様々なサイズと処理パワーを持つネットワークの
メンバーの構成が単純化され、これらのメンバーによる
処理用アプリケーションの作成が単純化される。
【0012】また、本発明によれば、コンピュータ・ネ
ットワークにおいて、前記ネットワークと接続された複
数のプロセッサを有し、前記プロセッサの各々が、同じ
命令セット・アーキテクチャを有する複数の第1の処理
ユニットと、前記第1の処理ユニットを制御するための
第2の処理ユニットとを有し、前記第1の処理ユニット
が、前記ネットワークを介して伝送されるソフトウェア
・セルを処理するために作動可能であり、前記ソフトウ
ェア・セルの各々が、前記命令セット・アーキテクチャ
と互換性のあるプログラムと、前記プログラムと関連付
けられたデータと、前記ネットワークを介して伝送され
る前記ソフトウェア・セルのすべての間で前記ソフトウ
ェア・セルを一意的に識別するための識別子(例えばセ
ルの識別番号)と、を有することを特徴とするコンピュ
ータ・ネットワークも提供される。
【0013】なお、本発明によれば、コンピュータ・ネ
ットワークと接続される複数のプロセッサを有するコン
ピュータ・システムであって、前記プロセッサの各々
が、同じ命令セット・アーキテクチャを有する複数の第
1の処理ユニットと、前記第1の処理ユニットを制御す
るための第2の処理ユニットとを有し、前記第1の処理
ユニットが、前記ネットワークを介して伝送されるソフ
トウェア・セルを処理するために作動可能であり、前記
ソフトウェア・セルの各々が、前記命令セット・アーキ
テクチャと互換性のあるプログラムと、前記プログラム
と関連付けられたデータと、前記ネットワークを介して
伝送される前記ソフトウェア・セルのすべての間で前記
ソフトウェア・セルを一意的に識別するための識別子
(例えばセルの識別番号)と、を有することを特徴とす
るコンピュータ・システムも提供される。
【0014】加えて、本発明によれば、コンピュータ・
ネットワークを介する伝送用ソフトウェア・セルのデー
タ・ストリームにおいて、前記コンピュータ・ネットワ
ークが、複数のプロセッサを有し、前記ソフトウェア・
セルの各々が、前記プロセッサの中の1以上によって処
理するためのプログラムと、前記プログラムと関連付け
られたデータと、前記ネットワークを介して伝送される
すべてのソフトウェア・セルの中で前記ソフトウェア・
セルを一意的に識別するグローバルな識別子と、を有す
ることを特徴とするデータ・ストリームも提供される。
なお、上記構成において、「データ・ストリーム」とい
う形態に代えて、「データ構造」という形態、あるいは
「上述のような構造を有するデータ」という形態で本発
明を提供することも可能である。
【0015】他の実施形態では、本発明は、ネットワー
クを介してデータとアプリケーションを伝送するため
の、また、ネットワークのメンバー間でデータとアプリ
ケーションを処理するための新しいプログラミング・モ
デルを提供する。このプログラミング・モデルでは、ネ
ットワークのいずれのメンバーでも処理できる、ネット
ワークを介して伝送されるソフトウェア・セルが使用さ
れる。各ソフトウェア・セルは同じ構造を有し、アプリ
ケーションとデータの双方を含むことが可能である。モ
ジュラー型コンピュータ・アーキテクチャによって提供
される高速処理と伝送速度の結果、これらのセルの高速
処理が可能となる。アプリケーション用コードは同じ共
通の命令セットとISAに好適に基づくものである。各
ソフトウェア・セルは、グローバルな識別子(グローバ
ルID)と、セルの処理に必要な計算用リソースの量に
ついて説明する情報とを好適に含むことが望ましい。す
べての計算用リソースは同じ基本構造を有し、同じIS
Aが用いられているので、このセルの処理を実行する特
定のリソースは、ネットワーク上のどこにでも配置が可
能となり、動的に割り当てることができる。
【0016】基本となる処理用モジュールはプロセッサ
・エレメント(PE)である。PEは、好適には、処理ユ
ニット(PU)、ダイレクト・メモリ・アクセス・コント
ローラ(DMAC)および複数の付加処理ユニット(AP
U)を具備することが望ましい。好ましい実施形態で
は、1つのPEは8つのAPUを具備する。PUとAP
Uとは、クロスバ・アーキテクチャを好適に備えている
共用ダイナミック・ランダム・アクセス・メモリ(DR
AM)を用いてリアルタイムで通信を行う。PUは、A
PUによって、データとアプリケーションの処理のスケ
ジュール管理と全般的管理とを行う。APUは並列的か
つ独立にこの処理を実行する。DMACは、共用DRA
Mに格納されているデータとアプリケーションへのアク
セス制御をPUとAPUとによって行う。
【0017】このモジュラー構造によれば、ネットワー
クのメンバーによって用いられるPEの数は、そのメン
バーが必要とする処理パワーに基づく。例えば、1台の
サーバーは4つのPEを用いることができ、1台のワー
クステーションは2つのPEを用いることができ、1つ
のPDAは1つのPEを用いることができる。特定のソ
フトウェア・セルの処理に割り当てられるPEのAPU
の数は、そのセル内のプログラムとデータの複雑さと大
きさとによって決まる。
【0018】好ましい実施形態では、複数のPEが1つ
の共用DRAMと関連付けられる。好適には、DRAM
は複数のセクションに分割され、これらのセクションの
各々は複数のメモリ・バンクに分割される。特に好まし
い実施形態では、DRAMは64個のメモリ・バンクを
有し、各バンクは1メガバイトの記憶容量を有する。D
RAMの各セクションは、好適には、バンク・コントロ
ーラによって制御されることが望ましく、PEの各DM
ACは、好適には、各バンク・コントローラにアクセス
することが望ましい。したがって、この実施形態の各P
EのDMACは、共用DRAMの任意の部分へのアクセ
スが可能となる。
【0019】別の態様では、本発明は、共用DRAMか
らのAPUのデータの読み出しと、共用DRAMへのデ
ータの書き込みのための同期システムと方法とを提供す
る。このシステムによって、DRAMを共用している複
数のAPUと複数のPEとの間のコンフリクトが防止さ
れる。このシステムと方法とによれば、DRAM領域が
指定され、複数のフル−エンプティ・ビットが格納され
る。これらのフル−エンプティ・ビットの各々は、DR
AMの指定領域に対応する。この同期システムはDRA
Mのハードウェアの中に統合化されるので、ソフトウェ
アの中で実行されるデータ同期方式の計算上のオーバー
ヘッドはこのシステムによって防止される。
【0020】また本発明によって、DRAM内にサンド
ボックスが設けられ、1つのAPUのプログラム処理用
データから生じる、別のAPUのプログラム処理用デー
タの破損に対するセキュリティが与えられる。各サンド
ボックスによって、データの読み出しや書き込みが不可
能となる共用DRAM領域が画定される。
【0021】別の態様では、本発明は、PUがAPUへ
コマンドを出して、アプリケーションとデータのAPU
による処理を開始するためのシステムと方法とを提供す
るものである。これらのコマンドは、APU遠隔処理命
令(ARPC)と呼ばれ、このコマンドによって、APU
がコプロセッサの役割を演じることなく、アプリケーシ
ョンとデータのAPUによる並列処理のPUによる全般
的管理と調整が可能となる。
【0022】他の実施形態では、本発明によって、スト
リーミング・データ処理用の専用パイプライン構造を設
定するシステムと方法とが提供される。このシステムと
方法によれば、PUによってこれらのストリーミング・
データの処理を行うために、APUの調整グループと、
これらのAPUと関連するメモリサンドボックスの調整
グループとが設定される。パイプ・ラインの専用APU
とメモリサンドボックスとは、データ処理が行われない
時間中もパイプ・ライン専用のままである。言い換えれ
ば、専用APU及びこれらの専用APUと関連するサン
ドボックスとは、この期間中は予約状態となる。
【0023】他の実施形態では、本発明はタスク処理用
の絶対タイマーを提供する。この絶対タイマーは、アプ
リケーションとデータの処理用としてAPUが使用する
クロック周波数に依存しない。アプリケーションは、絶
対タイマーによって定義される、タスク用の時間に基づ
いて書かれる。APUが使用しているクロック周波数
が、APUの機能の改善などに起因して増加しても、絶
対タイマーによって定義される所定のタスク用の時間は
そのまま同じである。この方式によれば、古いAPUに
おける遅い処理時間を前提として書かれた古いアプリケ
ーションの処理を、これらの新しいAPUでは行わせな
いこととする必要がなく、かつ、新しいバージョンのA
PUによる処理時間の向上を実現することが可能にな
る。
【0024】また本発明は、より処理速度が高速な新し
いAPUを、古いAPUにおける遅い処理速度を前提と
して書かれた古いアプリケーションの処理に用いること
を可能にする、他の方式をも提供するものである。この
方式では、速度の改善によって生じるAPUの並列処理
の調整における問題の処理の間に、これらの古いアプリ
ケーションの処理時にAPUが使用している命令(マイ
クロコード)が分析される。APUによる処理の順番が
プログラムが予期する順番どおりに維持されるよう、
“オペレーションなし”(“NOOP”)命令が、これら
のAPUのいくつかによって実行される命令の中へ挿入
される。これらの命令の中へこれらの“NOOP”を挿
入することにより、APUによるすべての命令を実行す
るための正しいタイミングが維持される。
【0025】他の実施形態では、本発明は、光導波路が
統合化される集積回路を含むチップ・パッケージを提供
するものである。なお、本発明によれば、コンピュータ
・ネットワークにおいて、前記ネットワークと接続され
た複数のプロセッサを有し、前記プロセッサの各々が、
同じ命令セット・アーキテクチャを有する複数の第1の
処理ユニットと、前記第1の処理ユニットを制御するた
めの第2の処理ユニットとを有し、前記第1の処理ユニ
ットが、前記ネットワークを介して伝送されるソフトウ
ェア・セルを処理するために作動可能であり、前記ソフ
トウェア・セルの各々が、前記命令セット・アーキテク
チャと互換性のあるプログラムと、前記プログラムと関
連付けられたデータと、前記ネットワークを介して伝送
される前記ソフトウェア・セルのすべての間で前記ソフ
トウェア・セルを一意的に識別するための識別子と、を
有することを特徴とするコンピュータ・ネットワークも
提供できる。この場合、前記第2の処理ユニットが、前
記第1の処理ユニットによって処理される前記ソフトウ
ェア・セルのプログラムを決定することにより、前記第
1の処理ユニットを制御することを特徴とするネットワ
ークも提供できる。また、前記各々の第1の処理ユニッ
トが、前記第1の処理ユニットと排他的に関連付けられ
たローカル・メモリを含み、前記ローカル・メモリから
前記プログラムを処理することを特徴とするネットワー
クも提供できる。上記ネットワークにおいて、前記各々
のプロセッサが、メイン・メモリをさらに含み、前記メ
イン・メモリが複数のバンクを含み、前記各々のバンク
が複数のブロックを含み、前記各々のブロックが、前記
メイン・メモリの最小のアドレス可能な単位であり、か
つ、前記ブロック内に格納されたデータの状態に関する
情報を格納するための、前記メイン・メモリ内の関連す
るメモリ空間と、第1の処理ユニット用の識別子と、前
記第1の処理ユニットと関連付けられたローカル・メモ
リのアドレスとを有することを特徴とするネットワーク
も提供できる。この場合、前記第1の処理ユニットが、
前記関連するメモリ空間を用いて、前記ブロックからの
前記第1の処理ユニットのデータの読み出しと、前記ブ
ロックへのデータの書き込みとを同期させる手段を有す
ることを特徴とするネットワークも提供できる。また、
上記ネットワークにおいて、前記プロセッサの各々が、
ダイレクト・メモリ・アクセス・コントローラをさらに
有することを特徴とするネットワークも提供できる。ま
た、前記各々の第1の処理ユニットが、前記メイン・メ
モリから、前記第1の処理ユニットと関連付けられたロ
ーカル・メモリへデータを読み出す同期読取りコマンド
を出し、さらに、前記ローカル・メモリから前記メイン
・メモリへデータを書き込む同期書き込みコマンドを出
すように作動可能であることを特徴とするネットワーク
も提供できる。一方、複数のプロセッサを有したコンピ
ュータ・ネットワークを介して伝送されるソフトウェア
・セルを格納するためのコンピュータ可読媒体におい
て、前記ソフトウェア・セルが、前記プロセッサの中の
1以上のプロセッサによって処理するためのプログラム
と、前記プログラムと関連付けられたデータと、前記ネ
ットワークを介して伝送されるすべてのソフトウェア・
セルの中で、前記ソフトウェア・セルを一意的に識別す
るグローバルな識別子と、を有することを特徴とするコ
ンピュータ可読媒体も提供できる。このコンピュータ可
読媒体において、前記ソフトウェア・セルが、前記ネッ
トワークを介して前記ソフトウェア・セルのルート選定
を行うための情報をさらに有することを特徴とするコン
ピュータ可読媒体も提供できる。このコンピュータ可読
媒体において、前記情報が、前記複数のプロセッサの中
の1つのための識別子を含み、前記1つのプロセッサ
が、前記ソフトウェア・セルが伝送されるべき伝送先プ
ロセッサであることを特徴とするコンピュータ可読媒体
も提供できる。また、前記識別子がインターネット・プ
ロトコル・アドレスを含むことを特徴とするコンピュー
タ可読媒体も提供できる。更に、前記情報が前記複数の
プロセッサの中の1つの識別子を含み、前記1つのプロ
セッサが前記ソフトウェア・セルの発生元プロセッサで
あることを特徴とするコンピュータ可読媒体も提供でき
る。この場合、前記情報が、前記複数のプロセッサの中
の1つの識別子を含み、前記1つのプロセッサが、前記
ソフトウェア・セルの処理に関する情報の伝送されるべ
きプロセッサであることを特徴とするコンピュータ可読
媒体も提供できる。上記コンピュータ可読媒体におい
て、前記ソフトウェア・セルが、前記プロセッサの中の
1つに対して複数のダイレクト・メモリ・アクセス・コ
マンドを与える情報をさらに有することを特徴とするコ
ンピュータ可読媒体も提供できる。この場合、前記ダイ
レクト・メモリ・アクセス・コマンドを実行するため
に、前記情報が、前記1つのプロセッサ用のバーチャル
識別子と、前記1つのプロセッサと関連付けられたメモ
リのアドレスと、を有することを特徴とするコンピュー
タ可読媒体も提供できる。また、前記グローバルな識別
子が、前記プロセッサの中の前記ソフトウェア・セルを
作成する1つのプロセッサの識別子及びその作成の時刻
と日付に基づくことを特徴とするコンピュータ可読媒体
も提供できる。また、コンピュータ可読媒体において、
前記グローバルな識別子が、前記プロセッサの中の前記
ソフトウェア・セルを伝送する1つのプロセッサの識別
子及びその伝送の時刻と日付とに基づくことを特徴とす
るコンピュータ可読媒体も提供できる。一方、複数のプ
ロセッサを有したコンピュータ・ネットワークを伝送す
るソフトウェア・セルのデータ・ストリームにおいて、
前記ソフトウェア・セルの各々が、前記プロセッサの中
の1以上によって処理するためのプログラムと、前記プ
ログラムと関連付けられたデータと、前記ネットワーク
を介して伝送されるすべてのソフトウェア・セルの中で
前記ソフトウェア・セルを一意的に識別するグローバル
な識別子と、を有することを特徴とするデータ・ストリ
ームも提供できる。このデータ・ストリームにおいて、
前記各々のソフトウェア・セルが、前記ネットワークを
介して前記ソフトウェア・セルのルート選定を行うため
の情報をさらに有することを特徴とするデータ・ストリ
ームも提供できる。このデータ・ストリームにおいて、
前記情報が、前記複数のプロセッサの中の1つのプロセ
ッサのための識別子を含み、前記1つのプロセッサが、
処理のために前記ソフトウェア・セルが伝送されるべき
伝送先プロセッサであることを特徴とするデータ・スト
リームも提供できる。上記データ・ストリームにおい
て、前記識別子がインターネット・プロトコル・アドレ
スを含むことを特徴とするデータ・ストリームも提供で
きる。上記データ・ストリームにおいて、前記情報が前
記複数のプロセッサの中の1つの識別子を含み、前記1
つのプロセッサが前記ソフトウェア・セルの発生元プロ
セッサであることを特徴とするデータ・ストリームも提
供できる。上記データ・ストリームにおいて、前記情報
が、前記複数のプロセッサの中の1つの識別子を含み、
前記1つのプロセッサが、前記ソフトウェア・セルの処
理に関する情報の伝送されるべき伝送先プロセッサであ
ることを特徴とするデータ・ストリームも提供できる。
また、上記データ・ストリームにおいて、前記各々のソ
フトウェア・セルが前記プロセッサの中の1つに対して
複数のダイレクト・メモリ・アクセス・コマンドを与え
る情報をさらに有することを特徴とするデータ・ストリ
ームも提供できる。この場合、前記ダイレクト・メモリ
・アクセス・コマンドを実行するために、前記情報が、
前記1つのプロセッサ用のバーチャル識別子と、前記1
つのプロセッサと関連付けられたメモリのアドレスと、
を有することを特徴とするデータ・ストリームも提供で
きる。また、上記データ・ストリームにおいて、前記グ
ローバルな識別子が、前記プロセッサの中の、前記ソフ
トウェア・セルを作成する1つのプロセッサのための識
別子及びその作成の時刻と日付に基づくことを特徴とす
るデータ・ストリーム。更に、上記データ・ストリーム
において、前記グローバルな識別子が、前記プロセッサ
の中の前記ソフトウェア・セルを伝送する1つのプロセ
ッサの識別子及びその伝送の時刻と日付に基づくことを
特徴とするデータ・ストリームも提供できる。
【0026】
【発明の実施の形態】図1に、本発明によるコンピュー
タ・システム101のアーキテクチャ全体を示す。
【0027】この図に例示されているように、システム
101にはネットワーク104が含まれ、複数のコンピ
ュータとコンピューティング・デバイスがこのネットワ
ークと接続されている。ネットワーク104の例とし
て、LAN、インターネットのようなグローバルネット
ワーク、あるいは他のコンピュータ・ネットワークが挙
げられる。
【0028】ネットワーク104と接続されたコンピュ
ータとコンピューティング・デバイス(ネットワークの
“メンバー”)の中には、クライアント側コンピュータ
106、サーバーコンピュータ108、個人用情報機器
(PDA)110、デジタルテレビ(DTV)112および
その他の有線または無線コンピュータとコンピューティ
ング・デバイスなどが含まれる。ネットワーク104の
メンバーによって用いられるプロセッサは、同じ共通の
コンピューティング・モジュールから構成される。また
これらのプロセッサは、好適には、ISAがすべて同じ
で、好適には同じ命令セットに従って処理を実行する。
個々のプロセッサ内に含まれるモジュールの数は、その
プロセッサが必要とする処理パワーによって決められ
る。
【0029】例えば、システム101のサーバー108
は、クライアント106より多いデータ処理およびアプ
リケーション処理を実行するので、クライアント106
より多いコンピューティング・モジュールを含むことに
なる。一方、PDA110では最低量の処理しか実行さ
れない。したがって、PDA110には最少の数のコン
ピューティング・モジュールしか含まれない。DTV1
12はクライアント106とサーバー108の間の処理
レベルを実行する。したがって、DTV112にはクラ
イアント106とサーバー108の間のいくつかのコン
ピューティング・モジュールが含まれる。以下に説明す
るように、各コンピューティング・モジュールの中に
は、処理用コントローラと、ネットワーク104を介し
て伝送されるデータおよびアプリケーションの並列処理
を実行する複数の同一処理ユニットとが含まれる。
【0030】システム101がこのように均質な構成を
有することから、アダプタビリティ、処理速度および処
理効率が改善される。システム101の各メンバーが、
同じコンピューティング・モジュールのうち1つまたは
それ以上(またはコンピューティング・モジュールの一
部) を用いて処理を実行するので、データとアプリケー
ションの実際の処理をどのコンピュータまたはコンピュ
ーティング・デバイスで実行するかは重要ではなくな
る。さらに、個々のアプリケーションとデータの処理
は、ネットワークのメンバーの間で分担することができ
る。システム全体を通じて、システム101が処理した
データとアプリケーションを含むセルを一意的に識別す
ることにより、この処理がどこで行われたかにかかわら
ず、処理を要求したコンピュータまたはコンピューティ
ング・デバイスへその処理結果を伝送することが可能と
なる。この処理を実行するモジュールが共通の構造と共
通のISAとを有するので、プロセッサ間の互換性を達
成するためのソフトウェアの追加層の計算上の負担が回
避される。このアーキテクチャとプログラミング・モデ
ルによって、リアルタイムのマルチメディア・アプリケ
ーションなどの実行に必要な処理速度が改善される。
【0031】システム101によって改善される処理速
度と効率というさらなる利点を利用するために、このシ
ステムによって処理されるデータとアプリケーションと
は、一意的に識別される、それぞれフォーマットが同じ
であるソフトウェア・セル102へとパッケージ化され
る。各ソフトウェア・セル102は、アプリケーション
とデータの双方を含むあるいは含み得る。また各ソフト
ウェア・セルには、ネットワーク104とシステム10
1全体の中でセルを識別するためのセル識別子が含ま
れ、その一例としては、ソフトウェア・セルをグローバ
ルに識別するIDが含まれる。ソフトウェア・セルのこ
の構造的均一性と、ネットワークの中でのソフトウェア
・セルの一意的識別とによって、ネットワークの任意の
コンピュータまたはコンピューティング・デバイスでの
アプリケーションとデータの処理が改善される。例え
ば、クライアント106は、ソフトウェア・セル102
の作成を行うこともできるが、クライアント106側の
処理能力は限られていることから、このソフトウェア・
セルをサーバー108へ伝送して処理してもらうことも
できる。したがって、ソフトウェア・セルは、ネットワ
ーク104全体を移動してネットワーク上での処理用リ
ソースの可用性に基づく処理を行うことが可能となる。
【0032】また、システム101のプロセッサとソフ
トウェア・セルが均質な構造を有することで、今日の異
質なネットワークの混在という問題の多くを防ぐことが
できる。例えば任意の命令セットを用いる任意のどのI
SA上でもアプリケーションの処理を許容しようとする
非効率的なプログラミング・モデル(Javaのバーチ
ャル・マシーンのような仮想マシーンなど)が回避され
る。したがって、システム101は、今日のネットワー
クよりもはるかに効率的、かつ、はるかに効果的に広帯
域処理の実現が可能となる。
【0033】ネットワーク104のすべてのメンバーの
ための基本となる処理用モジュールはプロセッサ・エレ
メント(PE)である。図2にPEの構造が例示されてい
る。この図に示すように、PE201は、処理ユニット
(PU)203、DMAC205、複数の付加処理ユニッ
ト(APU)、すなわち、APU207、APU209、
APU211、APU213、APU215、APU2
17、APU219、APU221を具備する。ローカ
ルPEバス223は、APUと、DMAC205と、P
U203との間でデータとアプリケーションとを伝送す
る。ローカルPEバス223は、従来型のアーキテクチ
ャなどを備えていてもよいし、あるいは、パケット交換
式ネットワークとして実現されてもよい。パケット交換
式ネットワークとして実現される場合、より多くのハー
ドウェアが必要となり、その一方で、利用可能な帯域幅
が増加する。
【0034】PE201は、デジタル論理回路を実現す
る様々な方法を用いて構成可能である。しかし、PE2
01は、好適には、シリコン基板上の単一の集積回路と
して構成されることが望ましい。基板用代替材料の中に
は、ガリウム砒素、ガリウム・アルミニウム砒素、砒素
および多種多様のドーパントを用いるその他のいわゆる
III−B化合物が含まれる。またPE201は、超伝導
材料(高速単一磁束量子(RSFQ)論理処理など)を用い
て実現することもできる。
【0035】PE201は、高帯域メモリ接続部227
を介してダイナミック・ランダム・アクセス・メモリ
(DRAM)225と密接に関連する。DRAM225は
PE201用メイン・メモリとして機能する。DRAM
225は好適には、ダイナミック・ランダム・アクセス
・メモリであることが望ましいとはいえ、他の手段、例
えばスタティック・ランダム・アクセス・メモリ(SR
AM)として、磁気ランダム・アクセス・メモリ(MRA
M)、光メモリまたはホログラフィ・メモリなどを用い
てDRAM225を実現することもできる。DMAC2
05によって、DRAM225と、PE201のAPU
とPUとの間のデータ転送が改善される。以下さらに説
明するように、DMAC205によって、各APUに対
するDRAM225内の排他的領域が指定されるが、こ
の排他的領域の中へはAPUだけしかデータの書き込み
ができず、また、APUだけしかこの排他的領域からの
データ読み出しを行うことができない。この排他的領域
は“サンドボックス”と呼ばれる。
【0036】PU203は、データとアプリケーション
のスタンド・アローン型処理が可能な標準的プロセッサ
などであってもよい。作動時に、PUは、APUによっ
て、データとアプリケーションの処理のスケジュール管
理と全般的管理とを行う。APUは好適には、単一命
令、複数データ(SIMD)プロセッサであることが望ま
しい。PU203の制御によって、APUは、並列的か
つ独立にこれらのデータとアプリケーションの処理を実
行する。DMAC205は、共用DRAM225に格納
されているデータとアプリケーションへのPU203と
APUによるアクセス制御を行う。PE201は、好適
には8個のAPUを含むことが望ましいとはいえ、必要
とする処理パワーに応じて、PE内でこの数より多少上
下する個数のAPUを用いてもよい。また、PE201
のようないくつかのPEを結合(まとめてパッケージ化)
して処理パワーの改善を図ることもできる。
【0037】例えば、図3に示すように、1以上のチッ
プ・パッケージなどの中に4つのPEをパッケージ化
(まとめて結合)してネットワーク104のメンバー用の
単一プロセッサを形成してもよい。この構成は広帯域エ
ンジン(BE)と呼ばれる。図3に示すように、BE30
1には4つのPE(PE303、PE305、PE30
7、PE309)が含まれる。これらのPE間の通信は
BEバス311を介して行われる。広帯域メモリ接続部
313によって共用DRAM315とこれらのPE間の
通信が行われる。BEバス311の代わりに、BE30
1のPE間の通信は、DRAM315とこのメモリ接続
部とを介して行うことができる。
【0038】入力/出力(I/O)インターフェース31
7と外部バス319とは、広帯域エンジン301とネッ
トワーク104のその他のメンバー間で通信を行う。B
E301の各PEは、PEのAPUによって行われるア
プリケーションとデータの並列的かつ独立した処理と同
様の並列的かつ独立した方法で、データとアプリケーシ
ョンの処理を実行する。
【0039】図4はAPUの構造を例示する図である。
APU402には、ローカル・メモリ406、レジスタ
410、4つの浮動小数点演算ユニット412および4
つの整数演算ユニット414が含まれる。しかし、ここ
でもまた、必要とする処理パワーに応じて、4個より多
少上下する個数の浮動小数点演算ユニット412と整数
演算ユニット414を用いてもよい。1つの好ましい実
施形態では、ローカル・メモリ406には128キロバ
イトの記憶容量が含まれ、レジスタ410の容量は12
8×128ビットである。浮動小数点演算ユニット41
2は、毎秒320億浮動小数点演算(32GLOPS)の
速度で好適に作動し、整数演算ユニット414は、毎秒
320億回の演算速度(32GOP)で好適に作動する。
【0040】ローカル・メモリ406はキャッシュ・メ
モリではない。ローカル・メモリ406は、好適にはS
RAMとして構成されることが望ましい。APUに対す
るキャッシュ・コヒーレンシー、つまりキャッシュの整
合性のサポートは不要である。PUでは、当該PUで開
始されるダイレクト・メモリー・アクセス(DMA)をサ
ポートするためにキャッシュの整合性が要求される場合
もある。しかし、APUによって開始されるDMAに対
する、あるいは、外部装置からのおよび外部装置へのア
クセスに対するキャッシュの整合性のサポートは不要で
ある。
【0041】APU402にはさらに、APUへおよび
APUからアプリケーションとデータとを伝送するため
のバス404が含まれる。1つの好ましい実施形態では
このバスは1024ビットの幅を持つ。APU402に
はさらに内部バス408、420、418が含まれる。
1つの好ましい実施形態では、バス408は256ビッ
トの幅を持ち、ローカル・メモリ406とレジスタ41
0間で通信を行う。バス420と418とは、それぞ
れ、レジスタ410と浮動小数点演算ユニット412と
の間、および、レジスタ410と整数演算ユニット41
4間で通信を行う。ある好ましい実施形態では、レジス
タ410から浮動小数点演算ユニット412または整数
演算ユニット414へのバス418と420の幅は、3
84ビットであり、浮動小数点演算ユニット412また
は整数演算ユニット414からレジスタ410へのバス
418と420の幅は128ビットである。浮動小数点
演算ユニット412または整数演算ユニット414から
レジスタ410への幅より広い、レジスタ410から浮
動小数点演算ユニットまたは整数演算ユニットへの上記
バスの広い幅によって、レジスタ410からのより広い
データ・フローが処理中に許容される。最大3ワードが
各計算には必要となる。しかし、各計算の結果は、一般
に、ただ1ワードだけである。
【0042】図5〜10は、ネットワーク104のメン
バーのプロセッサのモジュラー構造をさらに例示する図
である。例えば、図5に示すように、1つのプロセッサ
には単一のPE502を含むことができる。上述のよう
に、このPEには、一般に、PU、DMACおよび8個
のAPUが含まれる。各APUにはローカル・ストレー
ジ(LS)が含まれる。一方、プロセッサは、ビジュアラ
イザ(VS)505の構造を有する場合もある。図5に示
すように、VS505はPU512、DMAC514お
よび4つのAPU(APU516、APU518、AP
U520、APU522)を有する。PEのその他の4
つのAPUによって通常占有されるチップ・パッケージ
内のスペースは、この場合、ピクセル・エンジン50
8、画像用キャッシュ510およびブラウン管コントロ
ーラ(CRTC)504によって占有される。PE502
またはVS505に求められる通信速度に応じて、チッ
プ・パッケージの中に光インターフェース506が含ま
れる場合もある。
【0043】この標準化されたモジュラー構造を用い
て、多数の他のプロセッサの変更例を容易にかつ効率的
に構成することが可能となる。例えば、図6に示すプロ
セッサは、2つのチップ・パッケージ(BEを備えるチ
ップ・パッケージ602と、4つのVSを含むチップ・
パッケージ604)を有する。入出力部(I/O)606
によって、チップ・パッケージ602のBEとネットワ
ーク104との間にインターフェースが設けられる。バ
ス608はチップ・パッケージ602とチップ・パッケ
ージ604との間の通信を行う。入出用プロセッサ(I
OP)610によってデータ・フローが制御され、I/
O606へのまたはI/O606からの入出力が行われ
る。I/O606はASIC(Application Specific I
ntegrated Circit)として製造が可能である。VSから
の出力はビデオ信号612である。
【0044】図7は、ネットワーク104のその他のメ
ンバーへ超高速通信を行う2つの光インターフェース7
04と706とを備えたBE702用のチップ・パッケ
ージ(またはローカルに接続された他のチップ・パッケ
ージ)を例示する。BE702は、ネットワーク104
上でサーバーなどとして機能することができる。
【0045】図8のチップ・パッケージは、2つのPE
802及び804および2つのVS806及び808を
有する。I/O810は、チップ・パッケージとネット
ワーク104との間にインターフェースを与える。チッ
プ・パッケージからの出力はビデオ信号である。この構
成は画像処理用ワークステーションなどとして機能する
ことができる。
【0046】図9はさらに別の構成を例示する。この構
成は、図8に例示されている構成の処理パワーの1/2
を含む。2つのPEの代わりに1つのPE902が設け
られ、2つのVSの代わりに1つのVS904が設けら
れる。I/O906は、図8に例示されているI/Oの
帯域幅の1/2の帯域幅を有する。またこのようなプロ
セッサは、画像処理用ワークステーションとして機能す
ることができる。
【0047】最後の構成が図10に図示されている。こ
のプロセッサは、単一のVS1002とI/O1004
だけから構成される。この構成はPDAなどとして機能
することができる。
【0048】図11は、ネットワーク104のプロセッ
サのチップ・パッケージの中への光インターフェースの
統合を例示する図である。これらの光インターフェース
によって、光信号は電気信号に変換され、電気信号は光
信号に変換される。また、これらの光インターフェース
は、ガリウム砒素、アルミニウム・ガリウム砒素、ゲル
マニウムその他の元素や化合物などを含む様々な材料か
ら構成することができる。この図に示すように、光イン
ターフェース1104と1106とはBE1102のチ
ップ・パッケージの上に組み立てられる。BEバス11
08はBE1102のPE、すなわち、PE1110、
PE1112、PE1114、PE1116およびこれ
らの光インターフェースとの間での通信を行う。光イン
ターフェース1104には2つのポート(ポート111
8とポート1120)が含まれ、また光インターフェー
ス1106には2つのポート(ポート1122とポート
1124)が含まれる。ポート1118、1120、1
122、1124は、光導波路1126、1128、1
130、1132とそれぞれ接続される。光信号は、光
インターフェース1104と1106のポートを介し
て、これらの光導波路の中を通り、BE1102へおよ
びBE1102から伝送される。
【0049】このような光導波路と各BEの4つの光ポ
ートとを用いて様々な構成において複数のBEをまとめ
て接続してもよい。例えば、図12に示すように、この
ような光ポートを介して2つまたはそれ以上のBE(B
E1152、BE1154、BE1156など)を直列
に接続することができる。この例では、BE1152の
光インターフェース1166は、その光ポートを介しB
E1154の光インターフェース1160の光ポートと
接続される。同様に、BE1154の光インターフェー
ス1162の光ポートは、BE1156の光インターフ
ェース1164の光ポートと接続される。
【0050】図13にマトリクス構成が例示される。こ
の構成では、各BEの光インターフェースは2つの他の
BEと接続される。この図に示すように、BE1172
の光インターフェース1188の光ポートの中の1つ
が、BE1176の光インターフェース1182の光ポ
ートと接続される。光インターフェース1188のもう
一方の光ポートは、BE1178の光インターフェース
1184の光ポートと接続される。同様に、BE117
4の光インターフェース1190の1つの光ポートはB
E1178の光インターフェース1184のもう一方の
光ポートと接続される。光インターフェース1190の
もう一方の光ポートは、BE1180の光インターフェ
ース1186の光ポートと接続される。このマトリック
ス構成は他のBEに対しても同様に拡張することができ
る。
【0051】シリアル構成かマトリックス構成のいずれ
かを用いて、任意の所望のサイズとパワーから成るネッ
トワーク104用プロセッサの構成が可能となる。言う
までもなく、BEの光インターフェースに対して、また
は、BEよりPE数の少ないプロセッサに対して追加ポ
ートを加えて、他の構成を形成してもよい。
【0052】図14はBEのDRAMに対する制御シス
テムと構造を例示する図である。同様の制御システムと
構造が、別のサイズを持ち、多少異なる数のPEを含む
プロセッサの中で用いられる。この図に示すように、ク
ロスバ交換機によって、BE1201を備える4つのP
Eからなる各DMAC1210が8つのバンク・コント
ロール1206と接続される。各バンク・コントロール
1206によって、DRAM1204の8つのバンク1
208(4つだけしか図示されていない)が制御される。
したがって、DRAM1204は、合計64のバンクを
具備することになる。好ましい実施形態では、DRAM
1204は64メガバイトの容量を持ち、各バンクは1
メガバイトの容量を持っている。各バンク内の最小のア
ドレス指定可能単位は、この好ましい実施形態では10
24ビットのブロックである。
【0053】BE1201にはスイッチ・ユニット12
12も含まれる。スイッチ・ユニット1212によっ
て、BE1201と密接に接続されているBEの他のA
PUのDRAM1204へのアクセスが可能となる。し
たがって、第2のBEを第1のBEと密接に接続するこ
とが可能となり、さらに、各BEの各APUは、APU
が通常アクセス可能なメモリ・ロケーションの数の2倍
のアドレス指定を行うことが可能となる。スイッチ・ユ
ニット1212のようなスイッチ・ユニットを介して、
第1のBEのDRAMから第2のBEのDRAMへのデ
ータの直接読み出し、または、第2のBEのDRAMか
ら第1のBEのDRAMへのデータの直接書き込みを行
うことが可能となる。
【0054】例えば、図15に示すように、このような
書き込みを行うために、第1のBEのAPU(BE12
22のAPU1220など)によって、第2のBEのD
RAM(通常の場合のようなBE1222のDRAM1
224ではなく、BE1226のDRAM1228な
ど)のメモリ・ロケーションへの書き込みコマンドが出
される。BE1222のDMAC1230は、クロスバ
交換機1221を介して、バンク・コントロール123
4へ書き込みコマンドを送り、バンク・コントロール1
234は、バンク・コントロール1234と接続された
外部ポート1232へコマンドを伝送する。BE122
6のDMAC1238は書き込みコマンドを受け取り、
BE1226のスイッチ・ユニット1240へこのコマ
ンドを転送する。スイッチ・ユニット1240は書き込
みコマンドの中に含まれるDRAMアドレスを識別し、
BE1226のバンク・コントロール1242を介し
て、DRAM1228のバンク1244へ、DRAMア
ドレス内に格納するデータを送る。したがって、スイッ
チ・ユニット1240によって、DRAM1224とD
RAM1228の双方は、BE1222のAPU用の単
一メモリ空間として機能することが可能になる。
【0055】図16はDRAMの64個のバンク構成を
図示する。これらのバンクは、8つの行(1302、1
304、1306、1308、1310、1312、1
314、1316)と8つの列(1320、1322、1
324、1326、1328、1330、1332、1
334)とで構成されている。各行は1つのバンク・コ
ントローラによって制御される。したがって、各バンク
・コントローラは8メガバイトのメモリを制御する。
【0056】図17と18は、最小のアドレス指定可能
な格納単位(1024ビットのブロックなど) でのDR
AMの格納とアクセスを行うための異なる構成を例示す
る。図17で、DMAC1402は単一のバンク140
4の中に8つの1024ビット・ブロック1406を格
納する。図18では、DMAC1412によって、10
24ビットを含むデータ・ブロックの読み出しと書き込
みが行われるものの、これらのブロックは、2つのバン
ク(バンク1414とバンク1416)の間で分配され
る。したがって、これらのバンクの各々には16個のデ
ータ・ブロックが含まれ、データの各ブロックには51
2ビットが含まれる。この分配によって、DRAMのア
クセスをさらに高速なものに改善することが可能とな
り、ある種のアプリケーションの処理に役立つ。
【0057】図19はPE内のDMAC1506のアー
キテクチャを例示する。この図に例示されているよう
に、各APU1502がDMAC1506の構造上のノ
ード1504へ直接アクセスを行うように、DMAC1
506を含む構造上のハードウェアは全てのPEを通じ
て配設される。各ノードは、ノードが直接アクセスを行
う対象のAPUによるメモリ・アクセスに適した論理処
理を実行する。
【0058】図20はDMACの他の実施形態、すなわ
ち、非分配型アーキテクチャを図示する。この場合、D
MAC1606の構造上のハードウェアは集中型であ
る。APU1602とPU1604は、ローカルPEバ
ス1607を介してDMAC1606を用いて通信を行
う。DMAC1606はクロスバー・スイッチを介して
バス1608と接続される。バス1608はDRAM1
610と接続されている。
【0059】上述のように1つのPEの複数のAPUの
すべては、独立に、共用DRAM内のデータへのアクセ
スが可能である。その結果、第1のAPUがあるデータ
をそのローカル・ストレージで処理しているときに、第
2のAPUがこれらのデータを要求する場合もある。そ
の時点で共用DRAMから第2のAPUへ当該データが
出力された場合、データの値を変化させ得る第1のAP
Uの進行中の処理に起因して、そのデータが無効になる
場合がある。したがって、その時点で第2のプロセッサ
が共用DRAMからデータを受け取った場合、第2のプ
ロセッサでエラー結果が生じるおそれがある。例えば、
このようなデータとしては、グローバル変数用の具体的
な値が挙げられる。第1のプロセッサがその処理中その
値を変えた場合、第2のプロセッサはもう使用されてい
ない値を受け取ることになる。したがって、共用DRA
Mの範囲内でメモリ・ロケーションからのおよびメモリ
・ロケーションへのAPUによるデータの読み出しと書
き込みを同期させる何らかの方式が必要となる。この方
式では、別のAPUがそのローカル・ストレージで現在
働きかけている対象データであって、したがって最新の
ものではないデータのメモリ・ロケーションからの読み
出しと、最新のデータを格納するメモリ・ロケーション
の中へのデータの書き込みと、を行わないようにする必
要がある。
【0060】これらの問題を解決するために、DRAM
の各アドレス指定が可能なメモリ・ロケーションに対し
て、そのメモリ・ロケーションの中に格納されているデ
ータに関連する状態情報を格納するために、DRAMの
中でメモリの追加セグメントの割り振りが行われる。こ
の状態情報の中には、フル/エンプティ(F/E)ビット
と、メモリ・ロケーションからデータを要求するAPU
の識別子(APU ID)と、要求されたデータを読み出
す読み出し先となるAPUのローカル・ストレージのア
ドレス(LSアドレス)とが含まれる。DRAMのアドレ
ス指定が可能なメモリ・ロケーションは任意のサイズと
することができる。ある好ましい実施形態ではこのサイ
ズは1024ビットである。
【0061】F/Eビットの1への設定は、メモリ・ロ
ケーションに格納されているデータが最新のものである
ことを示す。一方、F/Eビットの0への設定は、関連
するメモリ・ロケーションに格納されたデータが最新の
ものではないことを示す。このビットが0に設定されて
いるとき、APUがそのデータを要求しても、APUに
よってそのデータの即時読み出しは妨げられる。この場
合、そのデータを要求しているAPUを識別するAPU
IDと、データが最新のものになっているとき、その
データを読み出す読み出し先となるこのAPUのローカ
ル・ストレージ内のメモリ・ロケーションを識別するL
Sアドレスとが、追加メモリ・セグメントの中へ入力さ
れる。
【0062】また追加メモリ・セグメントは、APUの
ローカル・ストレージ内の各メモリ・ロケーションに対
して割り振られる。この追加メモリ・セグメントは、
“ビジー・ビット”と呼ばれる1ビットを格納する。こ
のビジー・ビットは、DRAMから検索される固有デー
タの格納用として関連するLSメモリ・ロケーションの
予約を行うために使用される。ローカル・ストレージ内
の特定のメモリ・ロケーションに対してビジー・ビット
が1に設定されている場合、これらの固有データの書き
込み用としてのみAPUはこのメモリ・ロケーションを
使用することができる。一方、ビジー・ビットが、ロー
カル・ストレージ内の特定のメモリ・ロケーションに対
して0に設定されている場合、APUは、任意のデータ
の書き込み用としてこのメモリ・ロケーションを使用す
ることができる。
【0063】F/Eビット、APU ID、LSアドレ
スおよびビジー・ビットが、PEの共用DRAMから
の、および、PEの共用DRAMへのデータの読み出し
と書き込みを同期させるために使用される方法を示す例
が図21−35に例示されている。
【0064】図21に示すように、1以上のPE(PE
1720など)がDRAM1702を使用する。PE1
720にはAPU1722とAPU1740とが含まれ
る。APU1722には制御論理回路1724が含ま
れ、APU1740には制御論理回路1742が含まれ
る。APU1722にはローカル・ストレージ1726
も含まれる。このローカル・ストレージには複数のアド
レス可能なメモリ・ロケーション1728が含まれる。
APU1740にはローカル・ストレージ1744が含
まれ、このローカル・ストレージにも複数のアドレス可
能なメモリ・ロケーション1746が含まれる。これら
のアドレス可能なメモリ・ロケーションのすべては好適
にはサイズが1024ビットであることが望ましい。
【0065】メモリの追加セグメントは各LSのアドレ
ス可能なメモリ・ロケーションと関連付けられる。例え
ば、メモリ・セグメント1729と1734とはそれぞ
れ、ローカルなメモリ・ロケーション1731と173
2とに関連付けられ、メモリ・セグメント1752はロ
ーカルなメモリ・ロケーション1750と関連付けられ
る。上述のような“ビジー・ビット” はこれらの追加
メモリ・セグメントの各々の中に格納される。ローカル
なメモリ・ロケーション1732は、このメモリ・ロケ
ーションがデータを含むことを示すいくつかの×印を用
いて示されている。
【0066】DRAM1702には、メモリ・ロケーシ
ョン1706と1708とを含む複数のアドレス可能な
メモリ・ロケーション1704が含まれる。これらのメ
モリ・ロケーションは、好適にはサイズが1024ビッ
トであることが望ましい。メモリの追加セグメントはま
たこれらのメモリ・ロケーションの各々とも関連付けら
れる。例えば、追加メモリ・セグメント1760はメモ
リ・ロケーション1706と関連し、追加メモリ・セグ
メント1762はメモリ・ロケーション1708と関連
付けられる。各メモリ・ロケーションに格納されるデー
タに関連する状態情報は、メモリ・ロケーションと関連
付けられたメモリ・セグメントに格納される。この状態
情報の中には、上述のように、F/Eビット、APU
IDおよびLSアドレスが含まれる。例えば、メモリ・
ロケーション1708については、この状態情報にはF
/Eビット1712、APU ID1714およびLS
アドレス1716が含まれる。
【0067】この状態情報とビジー・ビットとを用い
て、PEのAPU、または1グループのPE間での、共
用DRAMからの、および、同期した共用DRAMから
の読み出しと、同期した共用DRAMへのデータの書き
込みを行うことができる。
【0068】図22はAPU1722のLSメモリ・ロ
ケーション1732から、DRAM1702のメモリ・
ロケーション1708へのデータの同期書き込みの開始
を例示する図である。APU1722の制御論理回路1
724によってこれらのデータの同期書き込みが開始さ
れる。メモリ・ロケーション1708がエンプティであ
るため、F/Eビット1712は0に設定される。その
結果、メモリ・ロケーション1708の中へLSメモリ
・ロケーション1732内のデータを書き込むことが可
能となる。一方、このビットが1に設定されていて、メ
モリ・ロケーション1708がフル状態であり、最新の
有効データを含むことが示されている場合、制御回路1
722はエラー・メッセージを受け取ることになり、こ
のメモリ・ロケーションへのデータの書き込みは禁止さ
れる。
【0069】メモリ・ロケーション1708への成功し
たデータの同期書き込みの結果が図23に示されてい
る。この書き込まれたデータはメモリ・ロケーション1
708の中に格納され、F/Eビット1712は1に設
定される。この設定によって、メモリ・ロケーション1
708がフル状態であること、および、このメモリ・ロ
ケーションの中のデータが最新の有効データであること
が示される。
【0070】図24は、DRAM1702のメモリ・ロ
ケーション1708からローカル・ストレージ1744
のLSメモリ・ロケーション1750へのデータの同期
読み出しの開始を例示する図である。この読み出しを開
始するために、LSメモリ・ロケーション1750のメ
モリ・セグメント1752の中のビジー・ビットが1に
設定されて、上記データ用としてこのメモリ・ロケーシ
ョンが予約される。このビジー・ビットを1に設定する
ことによって、APU1740がこのメモリ・ロケーシ
ョンに他のデータを格納することはなくなっている。
【0071】図25に示すように、制御論理回路174
2は次にDRAM1702のメモリ・ロケーション17
08に対して同期読取りコマンドを出す。このメモリ・
ロケーションと関連付けられるF/Eビット1712は
1に設定されているので、メモリ・ロケーション170
8の中に格納されたデータは最新の、有効データである
と見なされる。その結果、メモリ・ロケーション170
8からLSメモリ・ロケーション1750へのデータ転
送の準備の際に、F/Eビット1712は0に設定され
る。この設定が図26に示されている。このビットを0
に設定されているということは、これらのデータの読み
出しの後に、メモリ・ロケーション1708のデータは
無効になることを示す。
【0072】図27に示すように、メモリ・ロケーショ
ン1708内のデータは、次に、メモリ・ロケーション
1708からLSメモリ・ロケーション1750へ読み
出される。図28は最終状態を示す図である。メモリ・
ロケーション1708のデータのコピーはLSメモリ・
ロケーション1750に格納される。F/Eビット17
12は0に設定され、メモリ・ロケーション1708の
データが無効であることが示される。この無効は、AP
U1740によって行われた上記データの変更の結果で
ある。メモリ・セグメント1752内のビジー・ビット
もまた0に設定される。この設定によって、APU17
40がLSメモリ・ロケーション1750を任意の目的
に利用できること、すなわち、このLSメモリ・ロケー
ションがもはや固有データの受信を待機している予約状
態ではないことが示される。したがって、任意の目的の
ためにAPU1740によるLSメモリ・ロケーション
1750へのアクセスが可能となる。
【0073】図29〜図35には、DRAM1702の
メモリ・ロケーション用のF/Eビットが、0に設定さ
れていて、このメモリ・ロケーションのデータが最新の
ものでもなく有効なものでもないことが示されている場
合の、DRAM1702(メモリ・ロケーション170
8など)のメモリ・ロケーションから、APUのローカ
ル・ストレージ(ローカル・ストレージ1744のLS
メモリ・ロケーション1752など)のLSメモリ・ロ
ケーションへのデータの同期読み出しが例示されてい
る。図29に示すように、この転送を開始するために、
LSメモリ・ロケーション1750のメモリ・セグメン
ト1752内のビジー・ビットは1に設定され、このデ
ータ転送用としてこのLSメモリ・ロケーションが予約
される。図30に示すように、制御論理回路1742
は、次に、DRAM1702のメモリ・ロケーション1
708に対して同期読取りコマンドを出す。このメモリ
・ロケーションと関連付けられたF/Eビット(F/E
ビット1712)は0に設定されているので、メモリ・
ロケーション1708に格納されているデータは無効で
ある。その結果、信号は制御論理回路1742へ伝送さ
れ、このメモリ・ロケーションからのデータの即時読み
出しが阻止される。
【0074】図31に示すように、APU ID171
4とこの読取りコマンド用のLSアドレス1716とは
メモリ・セグメント1762の中へ書き込まれる。この
場合、APU1740用のAPU IDと、LSメモリ
・ロケーション1750用のLSメモリ・ロケーション
とはメモリ・セグメント1762の中へ書き込まれる。
したがって、メモリ・ロケーション1708の範囲内の
データが最新のものになっているとき、このAPU I
DとLSメモリ・ロケーションは、最新のデータを伝送
する伝送先のメモリ・ロケーションを決定するために使
用される。
【0075】メモリ・ロケーション1708内のデータ
は、APUがこのメモリ・ロケーションの中へデータを
書き込むと、有効で最新のデータとなる。APU172
2のメモリ・ロケーション1732などからメモリ・ロ
ケーション1708の中へのデータの同期書き込みが図
29に例示されている。このメモリ・ロケーション用の
F/Eビット1712が0に設定されているため、これ
らのデータのこの同期書き込みは許される。
【0076】図33に示すように、この書き込み後、メ
モリ・ロケーション1708の中のデータは最新の有効
データになる。したがって、メモリ・セグメント176
2から得られるAPUID1714とLSアドレス17
16とは、メモリ・セグメント1762から即座に読み
出され、次いでこの情報はこのセグメントから削除され
る。メモリ・ロケーション1708の中のデータの即時
読み出しを予期して、F/Eビット1712もまた0に
設定される。図34に示すように、APU ID171
4とLSアドレス1716とを読み出すと、APU17
40のLSメモリ・ロケーション1750へメモリ・ロ
ケーション1708内の有効データを読み出すためにこ
の情報は直ちに使用される。最終状態が図35に図示さ
れている。この図は、メモリ・ロケーション1708か
らメモリ・ロケーション1750へコピーされた有効デ
ータと、0に設定されたメモリ・セグメント1752内
のビジー・ビットと、0に設定されたメモリ・セグメン
ト1762内のF/Eビット1712とを図示する。こ
のビジー・ビットの0への設定によって、任意の目的の
ためにAPU1740がLSメモリ・ロケーション17
50のアクセスを行うことが可能になる。このF/Eビ
ットの0への設定によって、メモリ・ロケーション17
08内のデータがもはや最新のものでもなく、有効なも
のでもないことが示される。
【0077】図36は、上述のオペレーションと、DR
AMのメモリ・ロケーションの様々な状態とを要約する
図であり、この状態は、F/Eビットの状態と、APU
IDと、メモリ・ロケーションに対応するメモリ・セ
グメントの中に格納されたLSアドレスとに基づく。こ
のメモリ・ロケーションは、3つの状態を持つことが可
能である。これらの3つの状態として、F/Eビットが
0に設定され、APUIDまたはLSアドレスに対して
情報が提供されないエンプティ状態1880と、F/E
ビットが1に設定され、APU IDまたはLSアドレ
スに対して情報が提供されないフル状態1882と、F
/Eビットが0に設定され、APUIDとLSアドレス
に対して情報が提供されるブロッキング状態1884と
がある。
【0078】この図に示すように、エンプティ状態18
80では、同期書き込みオペレーションが許され、フル
状態1882への遷移という結果が得られる。しかし、
メモリ・ロケーションがエンプティ状態であるときはメ
モリ・ロケーション内のデータが最新のものではないの
で、同期読み出しオペレーションに対しては、ブロッキ
ング状態1884へ遷移するという結果となる。
【0079】フル状態1882では、同期読み出しオペ
レーションが許され、エンプティ状態1880への遷移
という結果が得られる。一方、有効データの上書きを避
けるために、フル状態1882の同期書き込みオペレー
ションは禁止される。このような書き込みオペレーショ
ンがこの状態で試みられる場合、状態の変化は生じず、
エラー・メッセージがAPUの対応する制御論理回路へ
伝送される。
【0080】ブロッキング状態1884では、メモリ・
ロケーションの中へのデータの同期書き込みが許され、
エンプティ状態1880への遷移という結果が得られ
る。一方、ブロッキング状態1884での同期読み出し
オペレーションは禁止される。このブロッキング状態を
生じさせることとなった前回同期読み出しオペレーショ
ンとのコンフリクトを阻止するためである。同期読み出
しオペレーションが、ブロッキング状態1884で試み
られた場合、状態変化は生じないでAPUの対応する制
御論理回路へエラー・メッセージが伝送される。
【0081】共用DRAMからのデータの同期読み出し
と、共用DRAMへのデータの同期書き込みを行う上述
の方式は、外部装置からのデータ読み出しと外部装置へ
のデータ書き込み用プロセッサとして通常専用の計算用
リソースを取り除くためにも利用が可能である。この入
出力(I/O)機能はPUによって行うこともできる。し
かし、この同期方式の変更を利用して、適切なプログラ
ムを実行するAPUがこの機能を実行してもよい。例え
ば、この方式を利用して、外部装置によって開始され
た、I/Oインターフェースからのデータ伝送を求める
割込み要求を受け取るPUは、このAPUにこの要求の
処理を委任してもよい。次いで、APUはI/Oインタ
ーフェースに対して同期書き込みコマンドを出す。今度
はこのインターフェースによって、現在DRAMの中へ
データを書き込むことができる旨の信号が外部装置へ送
られる。次にAPUはDRAMに対して同期読取りコマ
ンドを出し、DRAMの関連するメモリ空間をブロッキ
ング状態に設定する。APUはまた、データを受け取る
必要があるAPUのローカル・ストレージのメモリ・ロ
ケーションに対してビジー・ビットを1に設定する。ブ
ロッキング状態では、DRAMの関連するメモリ空間と
関連付けられた追加メモリ・セグメントの中に、APU
のIDとAPUのローカル・ストレージの関連するメモ
リ・ロケーションのアドレスが含まれる。次に外部装置
は同期書き込みコマンドを出し、DRAMの関連するメ
モリ空間へデータが直接書き込まれる。このメモリ空間
はブロッキング状態にあるので、データは、このスペー
スの中から、追加メモリ・セグメントの中で識別された
APUのローカル・ストレージのメモリ・ロケーション
の中へ直ちに読み出される。次いで、これらのメモリ・
ロケーション用のビジー・ビットは0に設定される。外
部装置がデータの書き込みを完了したとき、APUは、
伝送が完了した旨を示す信号をPUへ出す。
【0082】したがって、この方式を用いて、PUに対
する最小の計算上の負荷で、外部装置からのデータ転送
処理を行うことができる。しかし、この機能を委任され
たAPUはPUに対して割込み要求を出せることが望ま
しく、外部装置がDRAMに対して直接アクセスを行う
ことが望ましい。
【0083】各PEのDRAMには複数の“サンドボッ
クス”が含まれる。サンドボックスによって共用DRA
M領域が画定され、この領域を越えて、特定のAPUま
たは1組のAPUがデータの読み出しや書き込みを行う
ことはできない。これらのサンドボックスによって、1
つのAPUが処理するデータに起因する、別のAPUに
よって処理されるデータの破損に対するセキュリティが
与えられる。またこれらのサンドボックスによって、ソ
フトウェア・セルが全DRAMの中でデータの破損を生
じる可能性なく、ネットワーク104から特定のサンド
ボックスの中へソフトウェア・セルのダウンロードを行
うことが許される。本発明では、サンドボックスは、D
RAMとDMACとから成るハードウェアの中に設けら
れる。ソフトウェアの代わりに、このハードウェア内に
これらのサンドボックスを設けることにより、速度とセ
キュリティという利点が得られる。
【0084】PEのPUはAPUへ割り当てられるサン
ドボックスの制御を行う。PUは、オペレーティング・
システムのような信頼のおけるプログラムだけしか通常
作動させないので、本方式によってセキュリティが危険
にさらされることはない。本方式に従って、PUはキー
管理テーブルの構築と維持とを行う。図37にこのキー
管理テーブルが例示されている。この図に示すように、
キー管理テーブル1902内の各エントリには、APU
用の識別子 (ID)1904と、そのAPU用のAPU
キー1906と、キー・マスク1908とが含まれる。
このキー・マスクの用途について以下説明する。キー管
理テーブル1902は、スタティック・ランダム・アク
セス・メモリ(SRA)のような比較的高速のメモリに好
適に格納され,DMACと関連付けられる。キー管理テ
ーブル1902へのエントリはPUによって制御され
る。APUが、DRAMの特定の格納位置(ストレージ
ロケーション)へのデータの書き込みあるいはDRAM
の特定の格納位置からのデータの読み出しを要求する
と、DMACは、その格納位置と関連付けられたメモリ
・アクセス・キーに対して、キー管理テーブル1902
内のそのAPUへ割り当てられたAPUキー1906の
評価を行う。
【0085】図38に示すように、DRAM2002の
各アドレス可能な格納位置2006に対して専用メモリ
・セグメント2010が割り当てられる。この格納位置
用のメモリ・アクセス・キー2012はこの専用メモリ
・セグメントの中に格納される。上述のように、やはり
各アドレス可能な格納位置2006と関連付けられたさ
らなる追加専用メモリ・セグメント2008によって、
格納位置へのデータ書き込みと、格納位置からのデータ
の読み出しを行うための同期情報が格納される。
【0086】作動時に、APUはDMACへDMAコマ
ンドを出す。このコマンドには、DRAM2002の格
納位置2006のアドレスが含まれる。このコマンドを
実行する前に、DMACは、キー管理テーブル1902
におけるAPUのID1904を用いて要求を行ってい
るAPUのキー1906を調べる。次いで、DMAC
は、APUがアクセスを求める対象先であるDRAMの
格納位置と関連付けられた専用メモリ・セグメント20
10内に格納されているメモリ・アクセス・キー201
2と、要求を行っているAPUのAPUキー1906と
の比較を行う。2つのキーが一致しない場合、DMAコ
マンドは実行されない。一方、2つのキーが一致した場
合、DMAコマンドは進行し、要求されたメモリ・アク
セスが実行される。
【0087】図39に他の実施形態の一例を示す。この
例では、PUはメモリ・アクセス管理テーブル2102
の維持も行う。メモリ・アクセス管理テーブル2102
にはDRAM内にある各サンドボックス用のエントリが
含まれる。図39の特定の例では、DRAMには64個
のサンドボックスが含まれる。メモリ・アクセス管理テ
ーブル2102内の各エントリには、サンドボックス用
識別子(ID)2104と、ベース・メモリ・アドレス2
106と、サンドボックス・サイズ2108と、メモリ
・アクセス・キー2110と、アクセス・キーマスク2
110とが含まれる。ベース・メモリ・アドレス210
6によって、DRAM内にアドレスが設けられ、このア
ドレスによって特定のメモリ・サンドボックスの最初の
部分が示される。サンドボックス・サイズ2108によ
ってサンドボックスのサイズが与えられ、したがって、
このサイズによって特定のサンドボックスのエンドポイ
ントが与えられる。
【0088】図40は、キー管理テーブル1902とメ
モリ・アクセス管理テーブル2102とを用いてDMA
コマンドを実行するためのステップを示すフロー・チャ
ートである。ステップ2202では、APUによって、
サンドボックス内の特定の一つあるいは複数のメモリ・
ロケーションに対するアクセス用DMAコマンドがDM
ACへ出される。このコマンドには、アクセス要求を行
う対象先である特定のサンドボックスの識別を行うサン
ドボックスID2104が含まれる。ステップ2204
では、DMACは、APUのID1904を利用して、
キー管理テーブル1902内の要求を行っているAPU
のキー1906を調べる。ステップ2206で、DMA
Cは、メモリ・アクセス管理テーブル2102で、サン
ドボックスと関連付けられたメモリ・アクセス・キー2
110を調べるコマンドで、サンドボックスID210
4を利用する。ステップ2208で、DMACは、要求
を行っているAPUへ割り当てられているAPUキー1
906をサンドボックスと関連付けられたアクセス・キ
ー2110と比較する。ステップ2210で、この2つ
のキーが一致するかどうかの決定が行われる。この2つ
のキーが一致しない場合、処理はステップ2212へ移
行し、そこでDMAコマンドは先へ進まず、要求を行っ
ているAPUとPUのいずれかまたはその双方へエラー
・メッセージが送信される。一方、ステップ2210
で、2つのキーの一致が得られた場合、処理はステップ
2214へ進み、そこでDMACはDMAコマンドを実
行する。
【0089】APUキー用およびメモリ・アクセス・キ
ー用のキー・マスクによってこのシステムに大きな柔軟
性が与えられる。キー用のキー・マスクによって、マス
クされたビットはワイルド・カードに変換される。例え
ば、APUキー1906と関連付けられたキー・マスク
1908が、キー・マスク1908内のこれらのビット
を1に設定することなどにより、その最後の2ビットが
“マスク”に設定されている場合、APUキーは1また
は0のいずれかになることができ、そのままメモリ・ア
クセス・キーに一致することになる。例えば、APUキ
ーが1010であるとする。通常、このAPUキーによ
って1010のアクセス・キーを持つサンドボックスへ
のアクセスだけが可能になる。しかし、このAPUキー
用のAPUキー・マスクが0001に設定されている場
合、このAPUキーを用いて1010または1011の
いずれかのアクセス・キーを持つサンドボックスへのア
クセスを行うことが可能となる。同様に、1010また
は1011のいずれかのAPUキーを持つAPUによっ
て、0001に設定されたマスクを持つアクセス・キー
1010のアクセスを行うことが可能である。APUキ
ー・マスクとメモリ・キー・マスクの双方を同時に使用
することができるので、多数のバリエーションのサンド
ボックスに対するAPUによるアクセシビリティの設定
が可能となる。
【0090】また本発明はシステム101のプロセッサ
用の新しいプログラミング・モデルも提供するものであ
る。このプログラミング・モデルではソフトウェア・セ
ル102が用いられる。ネットワーク104上の任意の
プロセッサへ処理用としてこれらのセルの伝送を行うこ
とが可能である。またこの新しいプログラミング・モデ
ルでは、システム101のユニークなモジュラー形アー
キテクチャと、システム101のプロセッサとが利用さ
れる。
【0091】ソフトウェア・セルはAPUのローカル・
ストレージからAPUによって直接処理される。APU
は、DRAM内のいずれのデータまたはプログラムに対
しても直接働きかけることは行わない。DRAM内のデ
ータとプログラムは、APUがこれらのデータとプログ
ラムの処理を行う前に、APUのローカル・ストレージ
の中に読み込まれる。したがって、APUのローカル・
ストレージには、プログラム・カウンタと、スタック
と、これらのプログラムを実行するための他のソフトウ
ェア・エレメントとが含まれることになる。PUは、D
MACに対してDMAコマンドを出すことによりAPU
の制御を行う。
【0092】ソフトウェア・セル102の構造が図41
に例示されている。この図に示すように、ソフトウェア
・セル2302などのソフトウェア・セルの中には、ル
ート選定情報セクション2304と本体部分2306と
が含まれる。ルート選定情報セクション2304に含ま
れる情報は、ネットワーク104のプロトコルに依って
決められる。ルート選定情報セクション2304の中に
は、ヘッダ2308、宛先ID2310、ソースID2
312および応答ID2314が含まれる。宛先IDに
はネットワーク・アドレスが含まれる。TCP/IPプ
ロトコルの下で、例えば、ネットワーク・アドレスはイ
ンターネット・プロトコル(IP)アドレスである。さら
に宛先ID2310には、処理のためにセルを伝送すべ
き伝送先のPE及びAPUの識別子が含まれる。ソース
ID2314にはネットワーク・アドレスが含まれ、こ
のソースIDによってPEとAPUとが識別され、この
PEとAPUとからセルが起動し、必要な場合に、宛先
PEとAPUとがセルに関する追加情報を得ることが可
能となる。応答ID2314にはネットワーク・アドレ
スが含まれ、この応答ID2314によって、セルに関
するクエリとセルの処理の結果とを送る送り先のPEと
APUとが識別される。
【0093】セルの本体部分2306にはネットワーク
のプロトコルとは無関係の情報が含まれる。図41の分
解部分はセルの本体部分2306の細部を図示する。セ
ルの本体部分2306のヘッダ2320によってセル本
体の開始部が識別される。セル・インターフェース23
22にはセルの利用に必要な情報が含まれる。この情報
の中には、グローバルな一意的ID2324と、要求さ
れるAPU2326と、サンドボックス・サイズ232
8と、前回のセルのID2330とが含まれる。
【0094】グローバルな一意的ID2324によっ
て、ネットワーク104全体を通じてソフトウェア・セ
ル2302が一意的に識別される。グローバルな一意的
ID2324が、ソースID2312(ソースID23
12内のPEまたはAPUの一意的識別子など)と、ソ
フトウェア・セル2302の作成または伝送の時刻と日
付とに基づいて作成される。必要なAPU2326によ
ってセルの実行に必要な最低数のAPUが与えられる。
サンドボックス・サイズ2328によって、セルの実行
に必要なDRAMと関連する必要なAPU内に、保護さ
れたメモリ量が与えられる。前回のセルID2330に
よって、シーケンシャルな実行を要求する1グループの
セル(ストリーミング・データなど)内の前回のセルの識
別子が提供される。
【0095】実行セクション2332の中にはセルのコ
ア情報が含まれる。この情報の中にはDMAコマンド・
リスト2334と、プログラム2336と、データ23
38とが含まれる。プログラム2336には、APUプ
ログラム2360と2362などのAPUによって実行
されるプログラム(“アプレット” と呼ばれる)が含ま
れ、データ2338にはこれらのプログラムを用いて処
理されるデータが含まれる。DMAコマンド・リスト2
334には、プログラムの起動に必要な一連のDMAコ
マンドが含まれる。これらのDMAコマンドにはDMA
コマンド 2340、2350、2355、2358が
含まれる。PUはDMACへこれらのDMAコマンドを
出す。
【0096】DMAコマンド2340にはVID234
2が含まれる。VID2342は、DMAコマンドが出
されたとき物理IDに対して対応づけられるAPUのバ
ーチャルIDである。DMAコマンド2340にはロー
ド・コマンド2344とアドレス2346も含まれる。
ロード・コマンド2344は、APUにDRAMから特
定の情報を読み出しローカル・ストレージの中へ入れる
ように命令する。アドレス2346によってこの特定情
報を含むDRAM内のバーチャル・アドレスが与えられ
る。この特定情報は、プログラム・セクション2336
からのプログラムや、データ・セクション2338から
のデータや、あるいはその他のデータなどであってもよ
い。最終的に、DMAコマンド2340にはローカル・
ストレージのアドレス2348が含まれる。このアドレ
スによって、情報をロードできそうなローカル・ストレ
ージのアドレスが識別される。DMAコマンド2350
には類似の情報が含まれる。その他のDMAコマンドも
使用可能である。
【0097】DMAコマンド・リスト2334には一連
のキック・コマンド(キック・コマンド2355と23
58など)も含まれる。キック・コマンドとは、PUに
よってAPUへ出されるセルの処理を開始するコマンド
である。DMAキック・コマンド2355には、バーチ
ャルAPU ID2352と、キック・コマンド235
4と、プログラム・カウンタ2356とが含まれる。バ
ーチャルAPU ID2352はキックすべき対象AP
Uを識別し、キック・コマンド2354は関連するキッ
ク・コマンドを与え、プログラム・カウンタ2356
は、プログラムの実行用プログラム・カウンタのための
アドレスを与える。DMAキック・コマンド2358
は、同じAPUまたは別のAPUに対して同様の情報を
与える。
【0098】上述したように、PUは独立したプロセッ
サとしてAPUを扱い、コプロセッサとして扱うもので
はない。したがって、APUによる処理を制御するため
に、PUは、遠隔手順呼出しに類似したコマンドを使用
する。これらのコマンドは“APU遠隔手順呼出し(A
RPC)”と呼ばれる。PUは、一連のDMAコマンド
をDMACへ出すことによりARPCを実行する。DM
ACは、APUプログラムとそれと関連するスタック・
フレームとをAPUのローカル・ストレージの中へロー
ドする。次いで、PUはAPUへ最初のキックを出し、
APUプログラムを実行する。
【0099】図42は、アプレットを実行するためのA
RPCのステップを例示する。指定APUによるアプレ
ットの処理の開始時にPUが実行するこれらのステップ
が、図42の第1の部分2402に示され、指定APU
が実行するステップが、図42の第2の部分2404に
示されている。
【0100】ステップ2410で、PUはアプレットを
評価し、次いで、アプレットの処理用APUを指定す
る。ステップ2412で、PUは、必要な単複のサンド
ボックス用のメモリ・アクセス・キーの設定を行うDM
AコマンドをDMACへ出すことにより、アプレットの
実行用スペースをDRAM内に割り振る。ステップ24
14で、PUは、指定APUへの割込み要求による、ア
プレットの完了信号の伝送を可能にする。ステップ24
18で、PUは、DRAMからAPUのローカル・スト
レージへアプレットをロードするDMAコマンドをDM
ACへ出す。ステップ2420で、DMAコマンドが実
行され、アプレットがDRAMからローカル・ストレー
ジへ読み出される。ステップ2422で、PUは、アプ
レットと関連付けられたスタック・フレームをDRAM
からAPUのローカル・ストレージへロードするDMA
コマンドをDMACへ出す。ステップ2423で、DM
Aコマンドが実行され、スタック・フレームがDRAM
からAPUのローカル・ストレージへ読み出される。ス
テップ2424で、PUは、DMACがAPUへキーを
割り当てて、ステップ2412で指定された、一又は複
数のハードウェア・サンドボックスからのデータ読み出
しと、その一又は複数のハードウェア・サンドボックス
へのデータ書き込みを行うことをAPUに許可するDM
Aコマンドを出す。ステップ2426で、DMACは、
APUへ割り当てられたキーを用いてキー管理テーブル
(KTAB)の更新を行う。ステップ2428で、PU
は、プログラムの処理を開始するDMAコマンド“キッ
ク”をAPUへ出す。特定のアプレットに応じて、特定
のARPCの実行時にPUによって他のDMAコマンド
を出してもよい。
【0101】上記のように、図42の第2の部分240
4は、アプレットの実行時にAPUによって行われるス
テップを例示するものである。ステップ2430で、A
PUは、ステップ2428で出されるキック・コマンド
に応じてアプレットの実行を開始する。ステップ243
2で、アプレットの指示で、APUは、アプレットの関
連スタック・フレームの評価を行う。ステップ2434
で、APUは、DMACへ複数のDMAコマンドを出
し、スタック・フレームが必要に応じてDRAMからA
PUのローカル・ストレージへ指定するデータのロード
を行う。ステップ2436で、これらのDMAコマンド
が実行され、データは、DRAMからAPUのローカル
・ストレージへ読み出される。ステップ2438でAP
Uはアプレットを実行し、ある結果を出力する。ステッ
プ2440で、APUはDMACへDMAコマンドを出
し、DRAMにその結果を格納する。ステップ2442
で、DMAコマンドが実行され、アプレットの結果がA
PUのローカル・ストレージからDRAMへ書き込まれ
る。ステップ2444で、APUはPUへ割込み要求を
出し、ARPCが完了したことを示す信号伝送を行う。
【0102】PUの指示の下で独立にタスクを実行する
APUの能力によって、1グループのAPUと、1グル
ープのAPUと関連付けられたメモリ・リソースとを拡
張タスクの実行専用にすることが可能になる。例えば、
1つのPUは、1以上のAPUと、これらの1以上のA
PUと関連付けられた1グループのメモリサンドボック
スとを、拡張された時間中ネットワーク104を介して
伝送されてくるデータの受信専用とし、また、1以上の
他のAPUとそれらと関連付けられたメモリ・サンドボ
ックスへ、この時間中受信したデータのさらなる処理を
行うための送信専用とすることができる。この能力は、
ネットワーク104を介して伝送されるストリーミング
・データ(ストリーミングMPEGまたはストリーミン
グATRACオーディオまたはビデオ・データなど)の
処理にとって特に好適である。PUは、1以上のAPU
およびそれらと関連付けられたメモリ・サンドボックス
をこれらのデータの受信専用とし、1以上の他のAPU
およびそれらと関連付けられたメモリ・サンドボックス
をこれらのデータの解凍と処理専用とすることができ
る。言い換えれば、PUは、APUのグループとそれら
と関連付けられたメモリ・サンドボックスとの間でこの
ようなデータ処理を行うための専用パイプライン関係の
確立を行うことができる。
【0103】しかし、このような処理を効率的に実行す
るためには、パイプ・ラインの専用APUとメモリサン
ドボックスとが、データ・ストリームを含むアプレット
の処理が行われない時間中もパイプ・ライン専用のまま
であることが望ましい。言い換えれば、専用APUおよ
びそれらと関連するサンドボックスが、これらの時間中
予約状態のままに置かれることが望ましい。アプレット
の処理の完了時における、APUとその関連付けられた
一又は複数のメモリ・サンドボックスを予約、即ちリザ
ーブ状態としておくことは、“常駐終了”と呼ばれる。
常駐終了はPUからの命令に応じて行われる。
【0104】図43、44、45は、1グループのAP
Uおよびそれらと関連するサンドボックスを含む、スト
リーミング・データ(ストリーミングMPEGデータな
ど)を処理するための専用パイプライン構造の設定を例
示する。図43に示すように、このパイプライン構造の
構成要素にはPE2502とDRAM2518とが含ま
れる。PE2502の中には、PU2504、DMAC
2506およびAPU2508、APU2510、AP
U2512を含む複数のAPUが含まれる。PU250
4、DMAC2506およびこれらのAPU間の通信は
PEバス2514を介して行われる。広帯域幅のバス2
516によってDMAC2506はDRAM2518と
接続される。DRAM2518の中には、複数のサンド
ボックス(サンドボックス2520、サンドボックス2
522、サンドボックス2524、サンドボックス25
26など)が含まれる。
【0105】図44に、専用パイプラインを設定するた
めのステップを例示する。ステップ2610で、PU2
504は、ネットワーク・アプレットを処理するように
APU2508を割り当てる。ネットワーク・アプレッ
トは、ネットワーク104のネットワーク・プロトコル
の処理用プログラムを有する。この場合、このプロトコ
ルは 伝送制御プロトコル/インターネット用プロトコ
ル(TCP/IP)である。このプロトコルに従うTCP
/IPデータ・パケットはネットワーク104を介して
伝送される。受信時に、APU2508はこれらのパケ
ットを処理し、パケット内のデータを組み立て、ソフト
ウェア・セル102の中へ入れる。ステップ2612
で、PU2504は、ネットワーク・アプレットの処理
の完了時に常駐終了を実行するようにAPU2508に
指示する。ステップ2614で、PU2504は、AP
U2510及び2512がMPEGアプレットの処理を
行うように割り当てる。ステップ2615で、PU25
04は、MPEGアプレットの処理の完了時に常駐終了
を実行するようにAPU2510及び2512に指示す
る。ステップ2616で、PU2504は、APU25
08とAPU2510によるアクセス用ソース・サンド
ボックスとしてサンドボックス2520を指定する。ス
テップ2618で、PU2504は、APU2510に
よるアクセス用宛先サンドボックスとしてサンドボック
ス2522を指定する。ステップ2620で、PU25
04は、APU2508とAPU2512によるアクセ
ス用ソース・サンドボックスとしてサンドボックス25
24を指定する。ステップ2622で、PU2504
は、APU2512によるアクセス用宛先サンドボック
スとしてサンドボックス2526を指定する。ステップ
2624で、APU2510とAPU2512とは、そ
れぞれ、ソース・サンドボックス2520とソース・サ
ンドボックス2524の範囲内のメモリ・ブロックへ同
期読取りコマンドを送り、これらのメモリ・ブロックを
ブロッキング状態に設定する。最後に、処理はステップ
2628へ移り、そこで、専用パイプラインの設定が完
了し、パイプ・ライン専用のリソースが予約される。こ
のようにして、APU2508、2510、2512お
よびそれらと関連するサンドボックス2520、252
2、2524および2526は予約状態に入る。
【0106】図45に、この専用パイプラインによるス
トリーミングMPEGデータの処理ステップを例示す
る。ステップ2630で、APU2508は、ネットワ
ーク・アプレットを処理し、そのローカル・ストレージ
の中で、TCP/IPデータ・パケットをネットワーク
104から受信する。ステップ2632で、APU25
08は、これらのTCP/IPデータ・パケットを処理
し、これらのパケット内のデータをアセンブルし、ソフ
トウェア・セル102の中へ入れる。ステップ2634
で、APU2508はソフトウェア・セルのヘッダ23
20(図23)をチェックし、セルがMPEGデータを含
むかどうかの判定を行う。セルがMPEGデータを含ま
ない場合、ステップ2636で、APU2508は、専
用パイプライン内に含まれない他のAPUによって他の
データを処理するために、DRAM2518内に指定さ
れる汎用サンドボックスへそのセルを伝送する。またA
PU2508はこの伝送についてPU2504に通知す
る。
【0107】一方、ソフトウェア・セルがMPEGデー
タを含む場合、ステップ2638で、APU2508は
そのセルの前のセルのID2330(図23)をチェック
し、そのセルが属するMPEGデータ・ストリームを識
別する。ステップ2640で、APU2508はセルの
処理用の専用パイプラインのAPUを選択する。この場
合、APU2508は、これらのデータを処理するAP
U2510を選択する。この選択は前回のセルID23
30とロード・バランシング・ファクタ(負荷平衡係
数)とに基づく。例えば、そのソフトウェア・セルが属
するMPEGデータ・ストリームの前回のソフトウェア
・セルが処理用としてAPU2510へ送られたことが
前のセルID2330によって示されている場合、現在
のソフトウェア・セルも通常の処理用としてAPU25
10へ送られる。ステップ2642で、APU2508
は、サンドボックス2520へMPEGデータを書き込
む同期書き込みコマンドを出す。このサンドボックスは
予めブロッキング状態に設定されているので、ステップ
2644で、MPEGデータは、サンドボックス252
0からAPU2510のローカル・ストレージへ自動的
に読み出される。ステップ2646で、APU2510
はそのローカル・ストレージでMPEGデータを処理し
てビデオ・データを生成する。ステップ2648で、A
PU2510はサンドボックス2522へビデオ・デー
タを書き込む。ステップ2650で、APU2510は
サンドボックス2520へ同期読取りコマンドを出し、
このサンドボックスに追加MPEGデータの受信を準備
させる。ステップ2652で、APU2510は常駐終
了処理を行う。この処理によってこのAPUは予約状態
に入り、この予約状態の間APUは、MPEGデータ・
ストリームの中で追加MPEGデータの処理を行うべく
待機する。
【0108】他のタイプのデータ処理用として1グルー
プのAPUおよびそれらと関連するサンドボックス間で
その他の専用構造の設定が可能である。例えば、図46
に示すように、APUの専用グループ(APU270
2、2708、2714など)を設定し、3次元オブジ
ェクトに対して幾何学的変換を実行して2次元ディスプ
レイ・リストの生成を行うことが可能となる。これらの
2次元ディスプレイ・リストを他のAPUによってさら
に処理(レンダー) し画素データの生成を行うようにす
ることが可能である。この処理を実行するために、3次
元オブジェクトと、これらのオブジェクト処理から結果
として生じるディスプレイ・リストの格納用として、サ
ンドボックスが、APU2702、2708、2414
の専用となる。例えば、ソース・サンドボックス270
4、2710、2716は、それぞれ、APU270
2、APU2708、APU2714によって処理され
た3次元オブジェクトの格納専用となる。同様に、宛先
サンドボックス2706、2712、2718は、それ
ぞれ、APU2702、APU2708、APU271
4によるこれらの3次元オブジェクトの処理から結果と
して生じるディスプレイ・リストの格納専用となる。
【0109】調整用APU2720は、そのローカル・
ストレージにおける、宛先サンドボックス2706、2
712、2718からのディスプレイ・リストの受信専
用である。APU2720は、これらのディスプレイ・
リスト間での調整を行い、画素データのレンダリングの
ためにこれらのディスプレイ・リストを他のAPUへ送
る。
【0110】システム101のプロセッサは絶対タイマ
ーも使用する。この絶対タイマーはAPUとPEの他の
エレメントへクロック信号を出力する。このクロック信
号はこれらのエレメントを駆動するクロック信号に依存
せず、かつ、このクロック信号より高速である。この絶
対タイマーの利用が図47に例示されている。
【0111】この図に示すように、この絶対タイマーに
よってAPUによるタスク・パフォーマンスのためのタ
イム・バジェット(割り当て時間)が決定される。この
タイム・バジェットによって、これらのタスクの完了時
間が設定されるが、この時間はAPUによるタスク処理
に必要な時間より長い時間になる。その結果、各タスク
について、タイム・バジェットの範囲内に、ビジーな時
間とスタンバイ時間とが存在することになる。すべての
アプレットは、APUの実際の処理時間にかかわらず、
このタイム・バジェットに基づいて処理を行うように書
かれる。
【0112】例えば、PEの特定のAPU用として、タ
イム・バジェット2804のビジー時間2802中に特
定のタスクを行うことができる。ビジー時間2802が
タイム・バジェット2804未満であるため、スタンバ
イ時間2806がタイム・バジェット中に生じる。この
スタンバイ時間中、APUは、APUが消費するパワー
が少なくなるスリープモードに入る。
【0113】タイム・バジェット2804が満了するま
でまで、他のAPUまたはPEの他のエレメントがタス
ク処理の結果を予想することはない。したがって、AP
Uの実際の処理速度にかかわらず、絶対タイマーによっ
て決定されるタイム・バジェットを用いてAPUの処理
結果が常時調整される。
【0114】将来、APUによる処理速度はさらに高速
になる。しかし、絶対タイマーによって設定されるタイ
ム・バジェットは同じままである。例えば、図47に示
すように、将来のAPUは、さらに短時間でタスクを実
行することになり、したがって、スタンバイ時間はさら
に長くなるであろう。したがって、ビジー時間2808
はビジー時間2802より短くなり、スタンバイ時間2
810はスタンバイ時間2806より長くなる。しか
し、絶対タイマーによって設定された同じタイム・バジ
ェットに基づいて処理を行うようにプログラムが書かれ
ているので、APU間での処理結果の調整が維持され
る。その結果、さらに高速のAPUが、その処理の結果
が予想される時点でコンフリクトを生じることなく、低
速のAPU用として書かれたプログラムの処理を行うこ
とが可能となる。
【0115】動作速度の向上や動作速度が異なることに
起因するAPUの並列処理の調整問題に対しては、AP
U間での調整を決定する絶対タイマーに代えて、PUま
たは1以上の指定APUにおいて、APUが実行してい
る特定の命令(マイクロコード)の分析をアプレットの処
理時に行うようにすることもできる。“オペレーション
なし”(“NOOP”)命令を命令の中へ挿入し、APU
のいくつかによってこの命令を実行して、アプレットに
よって予想されるAPUによる処理を1ステップずつ適
切に行うことが可能となる。命令の中へこれらのNOO
Pを挿入することにより、すべての命令のAPUによる
実行を行うための正しいタイミングの維持が可能とな
る。
【0116】以上特定の実施形態に関して本明細書で本
発明について説明したが、これらの実施形態は本発明の
原理と適用を示す単に例示的なものであると理解すべき
である。したがって、添付の請求項によって画定されて
いるような本発明の精神と範囲から逸脱することなく、
以上の例示の実施形態に対して多数の改変を行うことが
可能であり、また、他の構成を考案することが可能であ
る。
【図面の簡単な説明】
【図1】 本発明によるコンピュータ・ネットワークの
アーキテクチャ全体を例示する。
【図2】 本発明によるプロセッサ・エレメント(PE)
の構造を例示する図である。
【図3】 本発明による広帯域エンジン(BE)の構造を
例示する図である。
【図4】 本発明による付加処理ユニット(APU)の構
造を例示する図である。
【図5】 本発明によるプロセッサ・エレメントと、ビ
ジュアライザ(VS)と、光インターフェースとの構造を
例示する図である。
【図6】 本発明によるプロセッサ・エレメントの1つ
の組合せを例示する図である。
【図7】 本発明によるプロセッサ・エレメントの別の
組合せを例示する図である。
【図8】 本発明によるプロセッサ・エレメントのさら
に別の組合せを例示する図である。
【図9】 本発明によるプロセッサ・エレメントのさら
に別の組合せを例示する図である。
【図10】 本発明によるプロセッサ・エレメントのさ
らに別の組合せを例示する図である。
【図11】 本発明によるチップ・パッケージ内での光
インターフェースの統合化を例示する図である。
【図12】 図11の光インターフェースを用いるプロ
セッサの1つの構成を示す図である。
【図13】 図11の光インターフェースを用いるプロ
セッサの別の構成を示す図である。
【図14】 本発明によるメモリ・システムの構造を例
示する図である。
【図15】 本発明による第1の広帯域エンジンから第
2の広帯域エンジンへのデータの書き込みを例示する図
である。
【図16】 本発明によるプロセッサ・エレメントため
の共用メモリの構造を示す図である。
【図17】 図16に示すメモリ・バンク用の1つの構
造を例示する図である。
【図18】 図16に示すメモリ・バンク用の別の構造
を例示する図である。
【図19】 本発明によるDMACのための構造を例示
する図である。
【図20】 本発明によるDMACのための代替の構造
を例示する図である。
【図21】 本発明によるデータ同期オペレーションを
例示する図である。
【図22】 本発明によるデータ同期オペレーションを
例示する図である。
【図23】 本発明によるデータ同期オペレーションを
例示する図である。
【図24】 本発明によるデータ同期オペレーションを
例示する図である。
【図25】 本発明によるデータ同期オペレーションを
例示する図である。
【図26】 本発明によるデータ同期オペレーションを
例示する図である。
【図27】 本発明によるデータ同期オペレーションを
例示する図である。
【図28】 本発明によるデータ同期オペレーションを
例示する図である。
【図29】 本発明によるデータ同期オペレーションを
例示する図である。
【図30】 本発明によるデータ同期オペレーションを
例示する図である。
【図31】 本発明によるデータ同期オペレーションを
例示する図である。
【図32】 本発明によるデータ同期オペレーションを
例示する図である。
【図33】 本発明によるデータ同期オペレーションを
例示する図である。
【図34】 本発明によるデータ同期オペレーションを
例示する図である。
【図35】 本発明によるデータ同期オペレーションを
例示する図である。
【図36】 本発明のデータ同期方式によるメモリ・ロ
ケーションの様々な状態を例示する3つの状態のメモリ
図である。
【図37】 本発明によるハードウェア・サンドボック
ス用のキー管理テーブルの構造を例示する図である。
【図38】 本発明によるハードウェア・サンドボック
ス用メモリ・アクセス・キーの格納方式を例示する図で
ある。
【図39】 本発明によるハードウェア・サンドボック
ス用メモリ・アクセス管理テーブルの構造を例示する図
である。
【図40】 図37のキー管理テーブルと図39のメモ
リ・アクセス管理テーブルとを用いてメモリ・サンドボ
ックスにアクセスするステップを示すフロー・チャート
である。
【図41】 本発明によるソフトウェア・セルの構造を
例示する図である。
【図42】 本発明による、APUへ遠隔処理命令を出
すステップを示すフロー・チャートである。
【図43】 本発明による、ストリーミング・データ処
理用専用パイプラインの構造を例示する図である。
【図44】 本発明によるストリーミング・データの処
理時の図43の専用パイプラインによって実行されるス
テップを示すフロー・チャートである。
【図45】 本発明によるストリーミング・データの処
理時の図43の専用パイプラインによって実行されるス
テップを示すフロー・チャートである。
【図46】 本発明によるストリーミング・データ処理
用の専用パイプラインの他の構造を例示する図である。
【図47】 本発明によるAPUによるアプリケーショ
ンとデータの並列処理を調整するための絶対タイマー方
式を例示する図である。
【符号の説明】
101 システム 1010 キー 102 セル 104 ネットワーク 106 クライアント 108 サーバーコンピュータ 1104 光インターフェース 1108 バス 1118 ポート 1122 ポート 1126 光導波路 1160 光インターフェース 1162 光インターフェース 1164 光インターフェース 1166 光インターフェース 1182 光インターフェース 1184 光インターフェース 1186 光インターフェース 1188 光インターフェース 1188 光インターフェース 1190 光インターフェース 1190 光インターフェース 1206 コントロール 1212 ユニット 1221 クロスバ交換機 1232 外部ポート 1234 コントロール 1240 ユニット 1242 コントロール 1244 バンク 1406 ブロック 1414 バンク 1416 バンク 1504 ノード 1607 バス 1608 バス 1722 制御回路 1724 制御論理回路 1726 ストレージ 1728 ロケーション 1729 セグメント 1731 ロケーション 1732 ロケーション 1742 制御論理回路 1746 ロケーション 1750 ロケーション 1752 セグメント 1760 セグメント 1762 セグメント 1880 エンプティ状態 1882 フル状態 1884 ブロッキング状態 1902 キー管理テーブル 1906 キー 1908 マスク 2006 格納位置 2008 セグメント 2010 セグメント 2012 キー 2102 アクセス管理テーブル 2106 アドレス 2110 キー 2110 キーマスク 223 バス 227 高帯域メモリ接続部 2302 セル 2308 ヘッダ 2320 ヘッダ 2322 インターフェース 2332 実行セクション 2334 リスト 2520 サンドボックス 2522 サンドボックス 2524 サンドボックス 2526 サンドボックス 2704 サンドボックス 2706 宛先サンドボックス 301 広帯域エンジン 311 バス 313 広帯域メモリ接続部 317 インターフェース 319 外部バス 406 メモリ 408 内部バス 410 レジスタ 412 浮動小数点演算ユニット 414 整数演算ユニット 420 バス 506 パッケージの中に光インターフェース 508 エンジン 510 画像用キャッシュ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山崎 剛 アメリカ合衆国、カリフォルニア州 94404−2175、フォスター シティー、セ カンド フロア、イースト ヒルスデイル ブルバード 919 ソニー コンピュー タエンタテインメント アメリカ、イン ク.内 Fターム(参考) 5B045 BB09 BB16 BB28 BB42 BB54 DD01 GG08 GG14

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 メイン・メモリと、メモリ制御装置と、
    複数の第1の処理ユニットと、第2の処理ユニットとを
    有し、前記各々の第1の処理ユニットが、前記第1の処
    理ユニットと排他的に関連づけられたローカルメモリを
    含むコンピュータプロセッサで、プログラムと、前記プ
    ログラムと関連付けられたデータとを処理する方法にお
    いて、 前記プログラムと、前記プログラムに関連付けられた前
    記データとを前記メイン・メモリに格納するステップ
    と、 前記第2の処理ユニットを用いて、前記第1の処理ユニ
    ットの中の任意の処理ユニットに命じて前記プログラム
    の中の1つを処理するようにするステップと、前記第2
    の処理ユニットを用いて、前記メモリ制御装置に命じ
    て、前記メイン・メモリから前記1つの第1の処理ユニ
    ットと排他的に関連付けられたローカル・メモリへ、前
    記1つのプログラムと、前記1つのプログラムと関連付
    けられたデータとを転送するようにするステップと、 前記1つの第1の処理ユニットのローカル・メモリから
    前記1つのプログラムの処理を開始するように、前記第
    2の処理ユニットを用いて、前記1つの第1の処理ユニ
    ットに指示するステップと、 前記指示に応じて、前記1つの第1の処理ユニットを用
    いて、前記1つの第1の処理ユニットと排他的に関連付
    けられた前記ローカル・メモリから、前記1つのプログ
    ラムと、前記1つのプログラムと関連付けられた前記デ
    ータとを処理するステップと、を有することを特徴とす
    る方法。
  2. 【請求項2】 請求項1に記載の方法において、前記メ
    イン・メモリがダイナミック・ランダム・アクセス・メ
    モリであることを特徴とする方法。
  3. 【請求項3】 請求項1に記載の方法において、前記メ
    イン・メモリが、複数のメモリ・ロケーションであっ
    て、前記各々のメモリ・ロケーションが前記メモリ・ロ
    ケーションと排他的に関連付けられたメモリ・セグメン
    トを含むように成す複数のメモリ・ロケーションを含む
    ことを特徴とする方法。
  4. 【請求項4】 請求項3に記載の方法において、前記メ
    モリ・セグメントと関連するメモリ・ロケーションの中
    に格納されたデータの状態を示す状態情報と、第1の処
    理ユニットの識別子と、メモリ・アドレスとを前記各々
    のメモリ・セグメントの中に格納するステップをさらに
    有することを特徴とする方法。
  5. 【請求項5】 請求項4に記載の方法において、前記状
    態情報が、前記メモリ・セグメントと関連するメモリ・
    ロケーションに格納された前記データの妥当性を示し、
    前記識別子が、前記第1の処理ユニットの中の特定の処
    理ユニットの識別子を示し、前記メモリ・アドレスが、
    前記特定の1つの第1の処理ユニットと排他的に関連付
    けられたローカル・メモリ内の格納位置を示すことを特
    徴とする方法。
  6. 【請求項6】 請求項1に記載の方法において、前記第
    1の処理ユニットの各々が単一命令、複数データ・プロ
    セッサであることを特徴とする方法。
  7. 【請求項7】 請求項1に記載の方法において、前記第
    1の処理ユニットの各々が、1組のレジスタと、複数の
    浮動小数点演算ユニットと、前記1組のレジスタを前記
    複数の浮動小数点演算ユニットと接続する1以上のバス
    とを含むことを特徴とする方法。
  8. 【請求項8】 請求項7に記載の方法において、前記第
    1の処理ユニットの各々が、複数の整数演算ユニット
    と、前記複数の整数演算ユニットを前記1組のレジスタ
    と接続する1以上のバスとをさらに含むことを特徴とす
    る方法。
  9. 【請求項9】 請求項1に記載の方法において、前記コ
    ンピュータ・プロセッサが、光インターフェースと、前
    記光インターフェースと接続された光導波路とを有する
    ことを特徴とし、さらに、前記光導波路を介して前記コ
    ンピュータ・プロセッサから伝送するために、前記プロ
    セッサによって生成された電気信号を、光信号に変換
    し、さらに、前記光導波路を介して前記プロセッサまで
    伝送された光信号を電気信号に変換するステップをさら
    に有することを特徴とする方法。
  10. 【請求項10】 請求項1に記載の方法において、前記
    各々のローカル・メモリがスタティック・ランダム・ア
    クセス・メモリであることを特徴とする方法。
  11. 【請求項11】 請求項1に記載の方法において、前記
    コンピュータ・プロセッサが、レンダリング・エンジン
    と、フレーム・バッファと、表示制御装置とをさらに有
    することを特徴とし、さらに、前記レンダリング・エン
    ジンを用いて画素データを生成するステップと、前記フ
    レーム・バッファに前記画素データを一時的に格納する
    ステップと、前記表示制御装置を用いて、前記画素デー
    タをビデオ信号に変換するステップと、をさらに有する
    ことを特徴とする方法。
  12. 【請求項12】 請求項1に記載の方法において、前記
    1つのプログラムと関連付けられた前記データがスタッ
    ク・フレームを含むことを特徴とする方法。
  13. 【請求項13】 請求項1に記載の方法において、前記
    1つのプログラムと、前記1つのプログラムと関連付け
    られた前記データとの前記処理中、前記メモリ制御装置
    を用いて、前記1つの第1の処理ユニットから前記メモ
    リ制御装置への命令に応じて、前記メイン・メモリか
    ら、前記1つの第1の処理ユニットと排他的に関連付け
    られたローカル・メモリへさらなるデータを転送し、次
    いで、前記1つの第1の処理ユニットと排他的に関連付
    けられた前記ローカル・メモリから、前記1つの第1の
    処理ユニットを用いて前記さらなるデータを処理するス
    テップと、をさらに有することを特徴とする方法。
  14. 【請求項14】 請求項1に記載の方法において、前記
    メイン・メモリが、複数のメモリ・バンク・コントロー
    ラと、前記第1の処理ユニットの各々と前記メイン・メ
    モリとの間で接続を行うためのクロスバ交換機とを有す
    ることを特徴とする方法。
  15. 【請求項15】 請求項1に記載の方法において、前記
    各々の第1の処理ユニットは、前記第1の処理ユニット
    が排他的に関連づけられてはいない前記ローカルメモリ
    のいずれからのデータの読み出し、あるいは、書き込み
    も行うことを前記メモリ制御装置を用いて禁止するステ
    ップをさらに有することを特徴とする方法。
  16. 【請求項16】 請求項1に記載の方法において、前記
    1つのプログラムと、前記1つのプログラムと関連付け
    られた前記データとの前記処理後に、前記1つの第1の
    処理ユニットから前記メモリ制御装置への命令に応じ
    て、前記メモリ制御装置を用いて、前記メイン・メモリ
    へ、前記1つのプログラムと、前記1つのプログラムと
    関連付けられた前記データの前記処理から結果として生
    じた処理データとを転送するステップをさらに有するこ
    とを特徴とする方法。
  17. 【請求項17】 請求項1に記載の方法において、前記
    メモリ制御装置がダイレクト・メモリ・アクセス・コン
    トローラであることを特徴とする方法。
  18. 【請求項18】 請求項1に記載の方法において、前記
    コンピュータ・プロセッサがネットワークと接続され、
    前記1つのプログラムがソフトウェア・セル内に含ま
    れ、前記ソフトウェア・セルが、前記ネットワークを介
    して伝送されるすべてのソフトウェア・セルの中で、前
    記ソフトウェア・セルを一意的に識別するグローバルな
    識別子を含むことを特徴とする方法。
JP2003039036A 2001-03-22 2003-02-17 データ処理方法 Expired - Lifetime JP4455822B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/816,004 US7233998B2 (en) 2001-03-22 2001-03-22 Computer architecture and software cells for broadband networks
US09/816,004 2001-03-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002079356A Division JP2002366533A (ja) 2001-03-22 2002-03-20 コンピュータ・ネットワーク及びコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JP2003271570A true JP2003271570A (ja) 2003-09-26
JP2003271570A5 JP2003271570A5 (ja) 2005-09-08
JP4455822B2 JP4455822B2 (ja) 2010-04-21

Family

ID=25219414

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002079356A Pending JP2002366533A (ja) 2001-03-22 2002-03-20 コンピュータ・ネットワーク及びコンピュータ可読媒体
JP2003039036A Expired - Lifetime JP4455822B2 (ja) 2001-03-22 2003-02-17 データ処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002079356A Pending JP2002366533A (ja) 2001-03-22 2002-03-20 コンピュータ・ネットワーク及びコンピュータ可読媒体

Country Status (7)

Country Link
US (11) US7233998B2 (ja)
EP (2) EP1370968B1 (ja)
JP (2) JP2002366533A (ja)
KR (2) KR100891063B1 (ja)
CN (1) CN100412848C (ja)
TW (1) TWI266200B (ja)
WO (1) WO2002077845A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004009A (ja) * 2004-06-15 2006-01-05 Sony Computer Entertainment Inc 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
JP2006004008A (ja) * 2004-06-15 2006-01-05 Sony Computer Entertainment Inc 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム

Families Citing this family (226)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
CN1656465B (zh) 2002-03-22 2010-05-26 迈克尔·F·迪林 用于由多个互连节点执行渲染计算来渲染图形的方法和系统
US8015303B2 (en) * 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US7596621B1 (en) * 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US7814218B1 (en) 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
US7225301B2 (en) * 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050071828A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation System and method for compiling source code for multi-processor environments
US7523157B2 (en) * 2003-09-25 2009-04-21 International Business Machines Corporation Managing a plurality of processors as devices
US20050071578A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation System and method for manipulating data with a plurality of processors
US7236998B2 (en) * 2003-09-25 2007-06-26 International Business Machines Corporation System and method for solving a large system of dense linear equations
US7146529B2 (en) * 2003-09-25 2006-12-05 International Business Machines Corporation System and method for processor thread acting as a system service processor
US7318218B2 (en) * 2003-09-25 2008-01-08 International Business Machines Corporation System and method for processor thread for software debugging
US7478390B2 (en) * 2003-09-25 2009-01-13 International Business Machines Corporation Task queue management of virtual devices using a plurality of processors
US7389508B2 (en) * 2003-09-25 2008-06-17 International Business Machines Corporation System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US7549145B2 (en) * 2003-09-25 2009-06-16 International Business Machines Corporation Processor dedicated code handling in a multi-processor environment
US7475257B2 (en) * 2003-09-25 2009-01-06 International Business Machines Corporation System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data
US7415703B2 (en) * 2003-09-25 2008-08-19 International Business Machines Corporation Loading software on a plurality of processors
US7496917B2 (en) * 2003-09-25 2009-02-24 International Business Machines Corporation Virtual devices using a pluarlity of processors
US7516456B2 (en) * 2003-09-25 2009-04-07 International Business Machines Corporation Asymmetric heterogeneous multi-threaded operating system
US7444632B2 (en) * 2003-09-25 2008-10-28 International Business Machines Corporation Balancing computational load across a plurality of processors
US7321958B2 (en) * 2003-10-30 2008-01-22 International Business Machines Corporation System and method for sharing memory by heterogeneous processors
US7793276B2 (en) * 2003-11-14 2010-09-07 Intel Corporation Apparatus and method for automatically parallelizing network applications through pipelining transformation
US7823161B2 (en) * 2004-01-29 2010-10-26 Klingman Edwin E Intelligent memory device with variable size task architecture
US8108870B2 (en) 2004-01-29 2012-01-31 Klingman Edwin E Intelligent memory device having ASCII-named task registers mapped to addresses of a task
US7856632B2 (en) * 2004-01-29 2010-12-21 Klingman Edwin E iMEM ASCII architecture for executing system operators and processing data operators
US7882504B2 (en) * 2004-01-29 2011-02-01 Klingman Edwin E Intelligent memory device with wakeup feature
US7984442B2 (en) * 2004-01-29 2011-07-19 Klingman Edwin E Intelligent memory device multilevel ASCII interpreter
US7908603B2 (en) * 2004-01-29 2011-03-15 Klingman Edwin E Intelligent memory with multitask controller and memory partitions storing task state information for processing tasks interfaced from host processor
TW200532466A (en) * 2004-02-03 2005-10-01 Sony Corp Information processing device, information processing method, information processing system and information processing program of accessible media
US8028292B2 (en) 2004-02-20 2011-09-27 Sony Computer Entertainment Inc. Processor task migration over a network in a multi-processor system
US20090006156A1 (en) * 2007-01-26 2009-01-01 Herbert Dennis Hunt Associating a granting matrix with an analytic platform
JP2005235019A (ja) 2004-02-20 2005-09-02 Sony Corp ネットワークシステム、分散処理方法、情報処理装置
US7614053B2 (en) 2004-02-20 2009-11-03 Sony Computer Entertainment Inc. Methods and apparatus for task management in a multi-processor system
US7565653B2 (en) 2004-02-20 2009-07-21 Sony Computer Entertainment Inc. Methods and apparatus for processor task migration in a multi-processor system
JP2005242598A (ja) * 2004-02-26 2005-09-08 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP4586526B2 (ja) 2004-02-27 2010-11-24 ソニー株式会社 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム
JP4325438B2 (ja) 2004-03-01 2009-09-02 ソニー株式会社 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
CN100418074C (zh) * 2004-03-05 2008-09-10 菲尼萨公司 光学收发机中的分级和字节可配置存储器
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP3805344B2 (ja) * 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
JP4465598B2 (ja) 2004-07-05 2010-05-19 ソニー株式会社 集積回路およびその処理制御方法、並びに、プログラム
JP4552540B2 (ja) * 2004-07-09 2010-09-29 ソニー株式会社 コンテンツ記録装置、コンテンツ再生装置、コンテンツ記録方法、コンテンツ再生方法及びプログラム
JP2006031480A (ja) * 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP4599923B2 (ja) 2004-07-16 2010-12-15 ソニー株式会社 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP2006033646A (ja) 2004-07-20 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP2006031525A (ja) 2004-07-20 2006-02-02 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム
US7363397B2 (en) * 2004-08-26 2008-04-22 International Business Machines Corporation System and method for DMA controller with multi-dimensional line-walking functionality
US7240137B2 (en) * 2004-08-26 2007-07-03 International Business Machines Corporation System and method for message delivery across a plurality of processors
WO2006025255A1 (ja) * 2004-08-30 2006-03-09 Matsushita Electric Industrial Co., Ltd. 多人数参加型アプリケーションを実行するクライアント端末装置、グループ形成方法及びグループ形成プログラム
WO2006025322A1 (ja) * 2004-08-30 2006-03-09 Matsushita Electric Industrial Co., Ltd. 記録装置
JP2006079280A (ja) 2004-09-08 2006-03-23 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
US7240182B2 (en) * 2004-09-16 2007-07-03 International Business Machines Corporation System and method for providing a persistent function server
US8001294B2 (en) * 2004-09-28 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for providing a compressed network in a multi-processing system
US7290112B2 (en) * 2004-09-30 2007-10-30 International Business Machines Corporation System and method for virtualization of processor resources
US20060070069A1 (en) * 2004-09-30 2006-03-30 International Business Machines Corporation System and method for sharing resources between real-time and virtualizing operating systems
JP2007334379A (ja) 2004-10-05 2007-12-27 Matsushita Electric Ind Co Ltd 処理装置
US20060080661A1 (en) * 2004-10-07 2006-04-13 International Business Machines Corporation System and method for hiding memory latency
US7506325B2 (en) 2004-10-07 2009-03-17 International Business Machines Corporation Partitioning processor resources based on memory usage
TWI321414B (en) * 2004-10-15 2010-03-01 Sony Computer Entertainment Inc Methods and apparatus for supporting multiple configurations in a multi-processor system
US7512699B2 (en) * 2004-11-12 2009-03-31 International Business Machines Corporation Managing position independent code using a software framework
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7512936B2 (en) * 2004-12-17 2009-03-31 Sap Aktiengesellschaft Code diversification
US7689814B2 (en) 2004-12-20 2010-03-30 Sony Computer Entertainment Inc. Methods and apparatus for disabling error countermeasures in a processing system
US7644255B2 (en) * 2005-01-13 2010-01-05 Sony Computer Entertainment Inc. Method and apparatus for enable/disable control of SIMD processor slices
US7337291B2 (en) * 2005-01-14 2008-02-26 Microsoft Corporation Software memory access control
WO2006077892A2 (en) * 2005-01-19 2006-07-27 Matsushita Electric Industrial Co., Ltd. Electronic circuit in which part of the processing of operating units thereof may be taken over by a processor unit thereof
US20060184296A1 (en) * 2005-02-17 2006-08-17 Hunter Engineering Company Machine vision vehicle wheel alignment systems
US20080162877A1 (en) * 2005-02-24 2008-07-03 Erik Richter Altman Non-Homogeneous Multi-Processor System With Shared Memory
US8239238B2 (en) * 2005-03-21 2012-08-07 Microsoft Corporation Methods and apparatus for encoding a work item type definition
US8849968B2 (en) * 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US7522168B2 (en) * 2005-09-27 2009-04-21 Sony Computer Entertainment Inc. Cell processor task and data management
US8037474B2 (en) * 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
JP4536618B2 (ja) * 2005-08-02 2010-09-01 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
US7659899B2 (en) * 2005-08-08 2010-02-09 Via Technologies, Inc. System and method to manage data processing stages of a logical graphics pipeline
US20070030277A1 (en) * 2005-08-08 2007-02-08 Via Technologies, Inc. Method for processing vertex, triangle, and pixel graphics data packets
US20070030280A1 (en) * 2005-08-08 2007-02-08 Via Technologies, Inc. Global spreader and method for a parallel graphics processor
US7659898B2 (en) * 2005-08-08 2010-02-09 Via Technologies, Inc. Multi-execution resource graphics processor
US20070038984A1 (en) * 2005-08-12 2007-02-15 Gschwind Michael K Methods for generating code for an architecture encoding an extended register specification
US7421566B2 (en) * 2005-08-12 2008-09-02 International Business Machines Corporation Implementing instruction set architectures with non-contiguous register file specifiers
US7694107B2 (en) * 2005-08-18 2010-04-06 Hewlett-Packard Development Company, L.P. Dynamic performance ratio proportionate distribution of threads with evenly divided workload by homogeneous algorithm to heterogeneous computing units
US7506123B1 (en) 2005-09-27 2009-03-17 Sony Computer Entertainment Inc. Method and system for performing memory copy function on a cell processor
US7975269B2 (en) * 2005-09-27 2011-07-05 Sony Computer Entertainment Inc. Parallel processor methods and apparatus
US8141076B2 (en) * 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
US7734827B2 (en) * 2005-09-27 2010-06-08 Sony Computer Entertainment, Inc. Operation of cell processors
US8316220B2 (en) * 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
US20070094435A1 (en) * 2005-10-25 2007-04-26 Fry Walter G Computer docking system and method
US20070094495A1 (en) * 2005-10-26 2007-04-26 Microsoft Corporation Statically Verifiable Inter-Process-Communicative Isolated Processes
US8074231B2 (en) 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
JP2007156987A (ja) * 2005-12-07 2007-06-21 Toshiba Corp ソフトウェア部品およびソフトウェア部品管理システム
US8595747B2 (en) * 2005-12-29 2013-11-26 Sony Computer Entertainment Inc. Efficient task scheduling by assigning fixed registers to scheduler
US7725682B2 (en) * 2006-01-10 2010-05-25 International Business Machines Corporation Method and apparatus for sharing storage and execution resources between architectural units in a microprocessor using a polymorphic function unit
US8622837B2 (en) 2006-03-20 2014-01-07 Sony Computer Entertainment America Llc Managing game metrics and authorizations
US8010953B2 (en) * 2006-04-04 2011-08-30 International Business Machines Corporation Method for compiling scalar code for a single instruction multiple data (SIMD) execution engine
US8904151B2 (en) 2006-05-02 2014-12-02 International Business Machines Corporation Method and apparatus for the dynamic identification and merging of instructions for execution on a wide datapath
JP4838884B2 (ja) * 2006-06-22 2011-12-14 ノルドナブ テクノロジーズ エー ビー ソフトウェアベースのスペクトル拡散信号処理
US8032898B2 (en) * 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US8132169B2 (en) * 2006-07-21 2012-03-06 International Business Machines Corporation System and method for dynamically partitioning an application across multiple processing elements in a heterogeneous processing environment
US7987464B2 (en) * 2006-07-25 2011-07-26 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture
US7529849B2 (en) * 2006-07-27 2009-05-05 International Business Machines Corporation Reduction of message flow between bus-connected consumers and producers
US8028290B2 (en) * 2006-08-30 2011-09-27 International Business Machines Corporation Multiple-core processor supporting multiple instruction set architectures
US20080126761A1 (en) * 2006-09-26 2008-05-29 Fontenot Nathan D Method and apparatus for scheduling optimization
US7620797B2 (en) * 2006-11-01 2009-11-17 Apple Inc. Instructions for efficiently accessing unaligned vectors
US7624251B2 (en) * 2006-11-01 2009-11-24 Apple Inc. Instructions for efficiently accessing unaligned partial vectors
US7934179B2 (en) * 2006-11-20 2011-04-26 Et International, Inc. Systems and methods for logic verification
US11244727B2 (en) * 2006-11-29 2022-02-08 Rambus Inc. Dynamic memory rank configuration
US20090006788A1 (en) * 2007-01-26 2009-01-01 Herbert Dennis Hunt Associating a flexible data hierarchy with an availability condition in a granting matrix
US8504598B2 (en) 2007-01-26 2013-08-06 Information Resources, Inc. Data perturbation of non-unique values
EP2111593A2 (en) * 2007-01-26 2009-10-28 Information Resources, Inc. Analytic platform
US20090006309A1 (en) 2007-01-26 2009-01-01 Herbert Dennis Hunt Cluster processing of an aggregated dataset
US8160984B2 (en) 2007-01-26 2012-04-17 Symphonyiri Group, Inc. Similarity matching of a competitor's products
US9390158B2 (en) * 2007-01-26 2016-07-12 Information Resources, Inc. Dimensional compression using an analytic platform
US9262503B2 (en) 2007-01-26 2016-02-16 Information Resources, Inc. Similarity matching of products based on multiple classification schemes
US7747634B2 (en) * 2007-03-08 2010-06-29 Microsoft Corporation Rich data tunneling
US8789063B2 (en) 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US20080244507A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Homogeneous Programming For Heterogeneous Multiprocessor Systems
JP4913685B2 (ja) * 2007-07-04 2012-04-11 株式会社リコー Simd型マイクロプロセッサおよびsimd型マイクロプロセッサの制御方法
CN101369233A (zh) * 2007-08-14 2009-02-18 国际商业机器公司 程序编译方法和编译器
US9015399B2 (en) 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
US8095735B2 (en) 2008-08-05 2012-01-10 Convey Computer Memory interleave for heterogeneous computing
US9710384B2 (en) 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US8561037B2 (en) 2007-08-29 2013-10-15 Convey Computer Compiler for generating an executable comprising instructions for a plurality of different instruction sets
US8122229B2 (en) * 2007-09-12 2012-02-21 Convey Computer Dispatch mechanism for dispatching instructions from a host processor to a co-processor
US8156307B2 (en) 2007-08-20 2012-04-10 Convey Computer Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set
CN101398803B (zh) 2007-09-28 2011-04-06 国际商业机器公司 管理数据移动的方法和使用该方法的细胞宽带引擎处理器
US8296743B2 (en) * 2007-12-17 2012-10-23 Intel Corporation Compiler and runtime for heterogeneous multiprocessor systems
US8923510B2 (en) * 2007-12-28 2014-12-30 Intel Corporation Method and apparatus for efficiently implementing the advanced encryption standard
US7916295B2 (en) * 2008-09-03 2011-03-29 Macronix International Co., Ltd. Alignment mark and method of getting position reference for wafer
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8732716B2 (en) 2008-09-30 2014-05-20 International Business Machines Corporation Virtualization across physical partitions of a multi-core processor (MCP)
US8438404B2 (en) 2008-09-30 2013-05-07 International Business Machines Corporation Main processing element for delegating virtualized control threads controlling clock speed and power consumption to groups of sub-processing elements in a system such that a group of sub-processing elements can be designated as pseudo main processing element
US20100115233A1 (en) * 2008-10-31 2010-05-06 Convey Computer Dynamically-selectable vector register partitioning
US8205066B2 (en) * 2008-10-31 2012-06-19 Convey Computer Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor
US20100153934A1 (en) * 2008-12-12 2010-06-17 Peter Lachner Prefetch for systems with heterogeneous architectures
JP5167410B2 (ja) * 2009-01-09 2013-03-21 株式会社日立製作所 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法
US8667476B1 (en) * 2009-01-20 2014-03-04 Adaptmicrosys LLC Instruction grouping and ungrouping apparatus and method for an adaptive microprocessor system
US20110066830A1 (en) * 2009-09-11 2011-03-17 Andrew Wolfe Cache prefill on thread migration
US9569270B2 (en) * 2009-04-21 2017-02-14 Empire Technology Development Llc Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts
US9189282B2 (en) * 2009-04-21 2015-11-17 Empire Technology Development Llc Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter
US8881157B2 (en) * 2009-09-11 2014-11-04 Empire Technology Development Llc Allocating threads to cores based on threads falling behind thread completion target deadline
KR101603202B1 (ko) * 2009-09-21 2016-03-14 삼성전자주식회사 이기종 멀티프로세서 시스템 온 칩에서의 rpc 데이터 배치 방법 및 장치
US8423745B1 (en) 2009-11-16 2013-04-16 Convey Computer Systems and methods for mapping a neighborhood of data to general registers of a processing element
EP2519876A1 (en) 2009-12-28 2012-11-07 Hyperion Core, Inc. Optimisation of loops and data flow sections
US8862827B2 (en) * 2009-12-29 2014-10-14 International Business Machines Corporation Efficient multi-level software cache using SIMD vector permute functionality
US20110202845A1 (en) * 2010-02-17 2011-08-18 Anthony Jon Mountjoy System and method for generating and distributing three dimensional interactive content
US9645854B2 (en) * 2010-12-15 2017-05-09 Advanced Micro Devices, Inc. Dynamic work partitioning on heterogeneous processing devices
US9235458B2 (en) 2011-01-06 2016-01-12 International Business Machines Corporation Methods and systems for delegating work objects across a mixed computer environment
US9052968B2 (en) * 2011-01-17 2015-06-09 International Business Machines Corporation Methods and systems for linking objects across a mixed computer environment
US9038088B2 (en) * 2011-03-10 2015-05-19 Nec Laboratories America, Inc. Load balancing on hetrogenous processing cluster based on exceeded load imbalance factor threshold determined by total completion time of multiple processing phases
US8914515B2 (en) 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
DE112012004926B4 (de) 2011-12-16 2023-12-07 International Business Machines Corporation Gemeinsame Speichernutzung durch Prozessoren
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
US20140068581A1 (en) * 2012-08-30 2014-03-06 International Business Machines Corporation Optimized division of work among processors in a heterogeneous processing system
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US20140189666A1 (en) * 2012-12-27 2014-07-03 Scott A. Krig Automatic pipeline composition
US9448829B2 (en) 2012-12-28 2016-09-20 Intel Corporation Hetergeneous processor apparatus and method
US9672046B2 (en) 2012-12-28 2017-06-06 Intel Corporation Apparatus and method for intelligently powering heterogeneous processor components
US9639372B2 (en) * 2012-12-28 2017-05-02 Intel Corporation Apparatus and method for heterogeneous processors mapping to virtual cores
US9329900B2 (en) 2012-12-28 2016-05-03 Intel Corporation Hetergeneous processor apparatus and method
US8909219B2 (en) 2013-01-17 2014-12-09 Qualcomm Incorporated Methods and apparatus for providing unified wireless communication through efficient memory management
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
US9600346B2 (en) 2013-07-10 2017-03-21 International Business Machines Corporation Thread scheduling across heterogeneous processing elements with resource mapping
KR101529877B1 (ko) * 2013-07-26 2015-06-18 서울시립대학교 산학협력단 원격 데이터 연산 방법 및 시스템
US9792354B2 (en) 2013-09-30 2017-10-17 Microsoft Technology Licensing, Llc Context aware user interface parts
GB2516995B (en) * 2013-12-18 2015-08-19 Imagination Tech Ltd Task execution in a SIMD processing unit
CN107408331B (zh) * 2014-04-04 2021-06-18 通用电子有限公司 用于配置便携式设备的遥控功能的系统和方法
DE102015006670A1 (de) * 2014-06-26 2015-12-31 Intel Corporation Befehle und logik zum bereitstellen von kryptographischer allzweck-gf(256)-simd- arithmetikfunktionalität
US9910721B2 (en) 2014-12-09 2018-03-06 Intel Corporation System and method for execution of application code compiled according to two instruction set architectures
CN107408035B (zh) * 2015-03-27 2021-11-09 英特尔公司 用于缕程间通信的装置和方法
CN107430521B (zh) 2015-03-27 2022-02-18 英特尔公司 高效地址转换
US9565168B1 (en) * 2015-05-05 2017-02-07 Sprint Communications Company L.P. System and method of a trusted computing operation mode
US9686240B1 (en) 2015-07-07 2017-06-20 Sprint Communications Company L.P. IPv6 to IPv4 data packet migration in a trusted security zone
US9749294B1 (en) 2015-09-08 2017-08-29 Sprint Communications Company L.P. System and method of establishing trusted operability between networks in a network functions virtualization environment
US10542115B1 (en) 2015-10-01 2020-01-21 Sprint Communications Company L.P. Securing communications in a network function virtualization (NFV) core network
US9811686B1 (en) 2015-10-09 2017-11-07 Sprint Communications Company L.P. Support systems interactions with virtual network functions in a trusted security zone
US9781016B1 (en) 2015-11-02 2017-10-03 Sprint Communications Company L.P. Dynamic addition of network function services
US9733911B2 (en) * 2015-11-11 2017-08-15 National Instruments Corporation Value transfer between program variables using dynamic memory resource mapping
WO2017125161A1 (en) * 2016-01-21 2017-07-27 Hewlett Packard Enterprise Development Lp Resource allocation
US11513805B2 (en) * 2016-08-19 2022-11-29 Wisconsin Alumni Research Foundation Computer architecture with synergistic heterogeneous processors
US10250498B1 (en) 2016-10-03 2019-04-02 Sprint Communications Company L.P. Session aggregator brokering of data stream communication
US10365824B2 (en) 2017-04-24 2019-07-30 Advanced Micro Devices, Inc. Silent active page migration faults
US10310985B2 (en) 2017-06-26 2019-06-04 Ati Technologies Ulc Systems and methods for accessing and managing a computing system memory
US10318344B2 (en) * 2017-07-13 2019-06-11 Advanced Micro Devices, Inc. Predicting page migration granularity for heterogeneous memory systems
CN111149166B (zh) 2017-07-30 2024-01-09 纽罗布拉德有限公司 基于存储器的分布式处理器架构
US10348488B1 (en) 2017-08-25 2019-07-09 Sprint Communications Company L.P. Tiered distributed ledger technology (DLT) in a network function virtualization (NFV) core network
US11526278B2 (en) 2017-12-21 2022-12-13 Advanced Micro Devices, Inc. Adaptive page close prediction
US10691658B2 (en) 2018-05-09 2020-06-23 International Business Machines Corporation Automatically optimizing resource usage on a target database management system to increase workload performance
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
CN108900639B (zh) * 2018-08-10 2021-04-06 乾元云硕科技(深圳)有限公司 集群式云计算系统
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10915370B2 (en) * 2018-11-29 2021-02-09 International Business Machines Corporation Inter-host communication without data copy in disaggregated systems
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US10691464B1 (en) * 2019-01-18 2020-06-23 quadric.io Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
EP3979248A1 (en) * 2020-09-30 2022-04-06 Imec VZW A memory macro
US11847205B1 (en) 2020-10-26 2023-12-19 T-Mobile Innovations Llc Trusted 5G network function virtualization of virtual network function elements embedded on a system-on-chip
US11467995B2 (en) * 2020-12-01 2022-10-11 Micron Technology, Inc. Pin mapping for memory devices
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11902129B1 (en) 2023-03-24 2024-02-13 T-Mobile Usa, Inc. Vendor-agnostic real-time monitoring of telecommunications networks

Family Cites Families (272)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US517972A (en) * 1894-04-10 Billiard-ball
US3576544A (en) * 1968-10-18 1971-04-27 Ibm Storage protection system
US4073005A (en) 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
JPS5412643A (en) 1977-06-30 1979-01-30 Hitachi Ltd Main memory protective device
JPS54146555A (en) 1978-05-09 1979-11-15 Nec Corp Data transfer system between processors
US4332009A (en) * 1980-01-21 1982-05-25 Mostek Corporation Memory protection system
JPS5812613B2 (ja) 1980-02-08 1983-03-09 工業技術院長 並列デ−タ処理装置
JPS5835295B2 (ja) 1980-03-03 1983-08-02 オムロン株式会社 マスタ・スレ−ブ・システムにおけるデ−タ転送方式
US4430705A (en) * 1980-05-23 1984-02-07 International Business Machines Corp. Authorization mechanism for establishing addressability to information in another address space
JPS576952A (en) 1980-06-16 1982-01-13 Nippon Telegr & Teleph Corp <Ntt> Storage protecting system
JPS57176456A (en) 1981-04-22 1982-10-29 Fanuc Ltd Data processing system
DE3171379D1 (en) * 1981-04-28 1985-08-22 Ibm Bus arrangement for interconnectiong circuit chips
US4394727A (en) 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus
JPS58134357A (ja) * 1982-02-03 1983-08-10 Hitachi Ltd ベクトルプロセッサ
AU542447B2 (en) * 1982-02-27 1985-02-21 Fujitsu Limited System for controlling key storage unit
JPS5958700A (ja) * 1982-09-29 1984-04-04 Fujitsu Ltd 記憶保護判定方式
US4545016A (en) * 1983-01-07 1985-10-01 Tandy Corporation Memory management system
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US5159700A (en) * 1984-01-16 1992-10-27 Texas Instruments Incorporated Substrate with optical communication systems between chips mounted thereon and monolithic integration of optical I/O on silicon substrates
JPS61180352A (ja) 1984-12-30 1986-08-13 Fujitsu Ltd プログラムダウンロ−ド方式
IT1184553B (it) * 1985-05-07 1987-10-28 Honeywell Inf Systems Architettura di sistema a piu' processori
US4972314A (en) 1985-05-20 1990-11-20 Hughes Aircraft Company Data flow signal processor method and apparatus
US4945479A (en) 1985-07-31 1990-07-31 Unisys Corporation Tightly coupled scientific processing system
US4732446A (en) * 1985-10-02 1988-03-22 Lamar Gipson Electrical circuit and optical data buss
CA1280829C (en) * 1985-11-13 1991-02-26 Toshio Matsumoto Main storage access control system for virtual computing function system
US4787057A (en) 1986-06-04 1988-11-22 General Electric Company Finite element analysis method using multiprocessor for matrix manipulations with special handling of diagonal elements
JPS6319058A (ja) 1986-07-11 1988-01-26 Fujitsu Ltd メモリ装置
US4823286A (en) * 1987-02-12 1989-04-18 International Business Machines Corporation Pixel data path for high performance raster displays with all-point-addressable frame buffers
JP2960415B2 (ja) * 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
JPS6412364U (ja) 1987-07-11 1989-01-23
JPH0719704Y2 (ja) 1987-07-31 1995-05-10 シャープ株式会社 生産ラインの生産管理装置
US4862407A (en) * 1987-10-05 1989-08-29 Motorola, Inc. Digital signal processing apparatus
JP2594979B2 (ja) 1987-10-23 1997-03-26 株式会社日立製作所 マルチプロセツサシステム
US5261113A (en) * 1988-01-25 1993-11-09 Digital Equipment Corporation Apparatus and method for single operand register array for vector and scalar data processing operations
JP2677589B2 (ja) 1988-02-26 1997-11-17 株式会社東芝 携帯可能電子装置およびicチップ
US5056000A (en) * 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
JPH0212361A (ja) 1988-06-29 1990-01-17 Fujitsu Ltd 階層化バスによる並列計算機システム
US4939682A (en) * 1988-07-15 1990-07-03 The Boeing Company Integrated electro-optic arithmetic/logic unit and method for making the same
US5179669A (en) * 1988-08-22 1993-01-12 At&T Bell Laboratories Multiprocessor interconnection and access arbitration arrangement
JP2837413B2 (ja) 1988-08-24 1998-12-16 株式会社日立メディコ 複数端末cpuを有するct装置
EP0369052A1 (en) * 1988-11-17 1990-05-23 International Business Machines Corporation Data base access system
JPH02210542A (ja) 1989-02-10 1990-08-21 Fujitsu Ltd 仮想計算機システムにおける実行制御方式
CA2011807C (en) 1989-03-20 1999-02-23 Katsumi Hayashi Data base processing system using multiprocessor system
EP0424618A3 (en) * 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
JPH0640324B2 (ja) 1989-10-26 1994-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプロセス同期方法
US5037173A (en) * 1989-11-22 1991-08-06 Texas Instruments Incorporated Optical interconnection network
US5179702A (en) 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
EP0509055A4 (en) * 1990-01-05 1994-07-27 Maspar Computer Corp Parallel processor memory system
EP0461926B1 (en) 1990-06-15 1998-09-02 Compaq Computer Corporation Multilevel inclusion in multilevel cache hierarchies
US5093879A (en) * 1990-06-22 1992-03-03 International Business Machines Corporation Electro-optical connectors
US5144691A (en) * 1990-07-20 1992-09-01 Cray Research, Inc. Computer signal interconnect apparatus
JPH06119299A (ja) 1990-08-31 1994-04-28 Texas Instr Inc <Ti> マルチプロセッサシステム及びデータダウンロード方法
EP0481735A3 (en) * 1990-10-19 1993-01-13 Array Technology Corporation Address protection circuit
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
KR940004404B1 (ko) * 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US5131054A (en) * 1991-01-09 1992-07-14 Thinking Machines Corporation Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity
US5978831A (en) 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
JPH04284754A (ja) * 1991-03-14 1992-10-09 Fujitsu Ltd Atm交換装置
JPH04288643A (ja) 1991-03-18 1992-10-13 Nec Corp マルチプロセッサシステムのメモリマッピング方式
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
EP0523544B1 (en) 1991-07-12 2002-02-27 Matsushita Electric Industrial Co., Ltd. Apparatus to solve a system of linear equations
US5519875A (en) * 1991-08-08 1996-05-21 Hitachi, Ltd. Distributed processing system for modules, each having modularized objects
US5630128A (en) 1991-08-09 1997-05-13 International Business Machines Corporation Controlled scheduling of program threads in a multitasking operating system
US5185861A (en) 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
JPH0554009A (ja) 1991-08-29 1993-03-05 Nec Eng Ltd プログラムロード方式
US5361370A (en) 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
JP3364937B2 (ja) 1991-11-29 2003-01-08 株式会社日立製作所 並列演算装置
US5359721A (en) 1991-12-18 1994-10-25 Sun Microsystems, Inc. Non-supervisor mode cross address space dynamic linking
US5394547A (en) 1991-12-24 1995-02-28 International Business Machines Corporation Data processing system and method having selectable scheduler
US5268973A (en) * 1992-01-21 1993-12-07 The University Of Texas System Wafer-scale optical bus
JPH05242057A (ja) 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JPH05324589A (ja) * 1992-03-25 1993-12-07 Nippon Sheet Glass Co Ltd 並列コンピュータ装置および光結合装置
JPH0612333A (ja) 1992-06-25 1994-01-21 Hitachi Ltd 情報処理装置の記憶保護方式
JPH0644110A (ja) 1992-07-23 1994-02-18 Fuji Xerox Co Ltd インストール方法
US5423051A (en) * 1992-09-24 1995-06-06 International Business Machines Corporation Execution unit with an integrated vector operation capability
US5437042A (en) * 1992-10-02 1995-07-25 Compaq Computer Corporation Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
EP0680640A1 (en) 1993-01-22 1995-11-08 University Corporation For Atmospheric Research Multipipeline multiprocessor system
JP2826028B2 (ja) * 1993-01-28 1998-11-18 富士通株式会社 分散メモリ型プロセッサシステム
EP0610583A1 (en) * 1993-02-08 1994-08-17 International Business Machines Corporation Multizone relocation facility computer memory system
US5619671A (en) * 1993-04-19 1997-04-08 International Business Machines Corporation Method and apparatus for providing token controlled access to protected pages of memory
US5438513A (en) * 1993-11-19 1995-08-01 Chrysler Corporation Automotive electronics test system
US5487146A (en) * 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5560030A (en) 1994-03-08 1996-09-24 Texas Instruments Incorporated Transfer processor with transparency
US5692193A (en) 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
JP3639323B2 (ja) 1994-03-31 2005-04-20 富士通株式会社 メモリ分散型並列計算機による連立1次方程式計算処理方法および計算機
JPH07287064A (ja) 1994-04-20 1995-10-31 Mitsubishi Electric Corp レーダ信号処理装置
EP0681236B1 (en) * 1994-05-05 2000-11-22 Conexant Systems, Inc. Space vector data path
US5513337A (en) * 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
US5535419A (en) * 1994-05-27 1996-07-09 Advanced Micro Devices Sytem and method for merging disk change data from a floppy disk controller with data relating to an IDE drive controller
DE19580738T1 (de) 1994-05-31 1996-08-22 Fujitsu Ltd System und Verfahren zur Jobausführung zwischen verschiedenen Betriebssystemen
JPH0895757A (ja) 1994-09-19 1996-04-12 Internatl Business Mach Corp <Ibm> マイクロカーネル・データ処理システム用のマスタ・サーバ・プログラム・ロード方法および装置
US5754817A (en) 1994-09-29 1998-05-19 Intel Corporation Execution in place of a file stored non-contiguously in a non-volatile memory
US5548798A (en) 1994-11-10 1996-08-20 Intel Corporation Method and apparatus for solving dense systems of linear equations with an iterative method that employs partial multiplications using rank compressed SVD basis matrices of the partitioned submatrices of the coefficient matrix
JP3493772B2 (ja) 1994-11-18 2004-02-03 富士ゼロックス株式会社 制御ソフトウェア仕様変更システム
JPH08161283A (ja) 1994-12-07 1996-06-21 Sony Corp 複数プロセツサシステム
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
JPH08180018A (ja) 1994-12-26 1996-07-12 Toshiba Corp 分散処理システム及び分散処理方法
US5537606A (en) * 1995-01-31 1996-07-16 International Business Machines Corporation Scalar pipeline replication for parallel vector element processing
JPH08212178A (ja) 1995-02-08 1996-08-20 Hitachi Ltd 並列計算機
JP2731742B2 (ja) 1995-02-28 1998-03-25 甲府日本電気株式会社 クラスタ構成の並列計算機
EP0730237A1 (en) 1995-02-28 1996-09-04 Nec Corporation Multi-processor system with virtually addressable communication registers and controlling method thereof
JPH08249261A (ja) 1995-03-08 1996-09-27 Mitsubishi Electric Corp メッセージ管理システム
DE19508723A1 (de) * 1995-03-10 1996-09-12 Siemens Ag Mehrbenutzerdatenverarbeitungsanlage mit Speicherschutz
JP3547139B2 (ja) * 1995-03-17 2004-07-28 株式会社 日立製作所 プロセッサ
US5850534A (en) * 1995-06-05 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for reducing cache snooping overhead in a multilevel cache system
US5819065A (en) * 1995-06-28 1998-10-06 Quickturn Design Systems, Inc. System and method for emulating memory
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
FR2742248B1 (fr) * 1995-12-06 1998-01-23 Thomson Multimedia Sa Procede de traitement de donnees dans des reseaux matriciels dans un systeme d'estimation de mouvement
JP3786993B2 (ja) * 1995-12-14 2006-06-21 株式会社日立製作所 データ記憶ユニット及び該ユニットを用いたデータ記憶装置
US6886167B1 (en) * 1995-12-27 2005-04-26 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
US6088783A (en) * 1996-02-16 2000-07-11 Morton; Steven G DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
JPH09198361A (ja) 1996-01-23 1997-07-31 Kofu Nippon Denki Kk マルチプロセッサシステム
US5729712A (en) * 1996-01-26 1998-03-17 Unisys Corporation Smart fill system for multiple cache network
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
JP3926866B2 (ja) 1996-05-10 2007-06-06 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、及び描画システム
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
JPH09311839A (ja) 1996-05-21 1997-12-02 Hitachi Ltd データ共用方式
US5787309A (en) * 1996-05-23 1998-07-28 International Business Machines Corporation Apparatus for protecting storage blocks from being accessed by unwanted I/O programs using I/O program keys and I/O storage keys having M number of bits
US5900019A (en) * 1996-05-23 1999-05-04 International Business Machines Corporation Apparatus for protecting memory storage blocks from I/O accesses
US5724551A (en) * 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
AT1751U1 (de) * 1996-09-30 1997-10-27 Kuehn Eva Koordinations-system
JPH10126771A (ja) 1996-10-15 1998-05-15 Toshiba Corp 画像データ転送システムにおける画像データ送出レート制御方法および画像データ転送方法
US6006315A (en) * 1996-10-18 1999-12-21 Samsung Electronics Co., Ltd. Computer methods for writing a scalar value to a vector
US5745500A (en) * 1996-10-22 1998-04-28 The United States Of America As Represented By The Secretary Of The Army Built-in self testing for the identification of faulty integrated circuit chips in a multichip module
US6513057B1 (en) * 1996-10-28 2003-01-28 Unisys Corporation Heterogeneous symmetric multi-processing system
US5835775A (en) * 1996-12-12 1998-11-10 Ncr Corporation Method and apparatus for executing a family generic processor specific application
US5961628A (en) * 1997-01-28 1999-10-05 Samsung Electronics Co., Ltd. Load and store unit for a vector processor
JP3421526B2 (ja) * 1997-02-14 2003-06-30 モトローラ株式会社 デ−タ処理装置
US6192514B1 (en) * 1997-02-19 2001-02-20 Unisys Corporation Multicomputer system
US6424988B2 (en) * 1997-02-19 2002-07-23 Unisys Corporation Multicomputer system
US6289434B1 (en) * 1997-02-28 2001-09-11 Cognigine Corporation Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
DE19710504C2 (de) * 1997-03-13 2001-06-13 Siemens Ag Optisch-elektrisches Modul
JP3681026B2 (ja) 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
JP3739888B2 (ja) * 1997-03-27 2006-01-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US6212605B1 (en) * 1997-03-31 2001-04-03 International Business Machines Corporation Eviction override for larx-reserved addresses
GB9707861D0 (en) * 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
JPH1139215A (ja) 1997-05-22 1999-02-12 Matsushita Electric Ind Co Ltd キャッシュメモリおよびキャッシュメモリを制御する方法
JPH10334055A (ja) 1997-06-03 1998-12-18 Sony Corp マルチプロセッサ・システム
JP3490256B2 (ja) 1997-06-12 2004-01-26 三菱電機株式会社 エージェント方式
US5892966A (en) * 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6360303B1 (en) * 1997-09-30 2002-03-19 Compaq Computer Corporation Partitioning memory shared by multiple processors of a distributed processing system
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6209065B1 (en) * 1997-10-24 2001-03-27 Compaq Computer Corporation Mechanism for optimizing generation of commit-signals in a distributed shared-memory system
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6542926B2 (en) * 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US6173389B1 (en) * 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
US6128724A (en) 1997-12-11 2000-10-03 Leland Stanford Junior University Computation using codes for controlling configurable computational circuit
KR100257046B1 (ko) * 1998-03-03 2000-05-15 윤종용 인터페이스 기능 전환을 위한 지능형 입/출력 제어기
US6192467B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Executing partial-width packed data instructions
US6105111A (en) 1998-03-31 2000-08-15 Intel Corporation Method and apparatus for providing a cache management technique
US6473897B1 (en) * 1998-04-13 2002-10-29 Intel Corporation Method and apparatus for generating multiple processor-specific code segments in a single executable
US6049668A (en) * 1998-04-13 2000-04-11 Intel Corporation Method and apparatus for supporting multiple processor-specific code segments in a single executable
US6167430A (en) * 1998-05-12 2000-12-26 Unisys Corporation Multicomputer with distributed directory and operating system
US6088511A (en) * 1998-05-13 2000-07-11 Microsoft Corporation Nested parallel 2D Delaunay triangulation method
US6292822B1 (en) 1998-05-13 2001-09-18 Microsoft Corporation Dynamic load balancing among processors in a parallel computer
US6292935B1 (en) 1998-05-29 2001-09-18 Intel Corporation Method for fast translation of java byte codes into efficient native processor code
US6336187B1 (en) * 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
JP3224782B2 (ja) 1998-08-03 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理分担動的変更方法及びコンピュータ
US6415353B1 (en) * 1998-10-01 2002-07-02 Monolithic System Technology, Inc. Read/write buffers for complete hiding of the refresh of a semiconductor memory and method of operating same
US6643708B1 (en) * 1998-10-29 2003-11-04 International Business Machines Corporation Systems, methods and computer program products for chaining Java servlets across networks
US6480818B1 (en) 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US6714217B2 (en) 1998-12-18 2004-03-30 Sprint Communication Company, L.P. System and method for providing a graphical user interface to, for building, and/or for monitoring a telecommunication network
US6381693B2 (en) * 1998-12-31 2002-04-30 Intel Corp. Arrangements having firmware support for different processor types
US6381659B2 (en) 1999-01-19 2002-04-30 Maxtor Corporation Method and circuit for controlling a first-in-first-out (FIFO) buffer using a bank of FIFO address registers capturing and saving beginning and ending write-pointer addresses
JP3790060B2 (ja) 1999-01-29 2006-06-28 株式会社山武 演算処理装置
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
US6308252B1 (en) * 1999-02-04 2001-10-23 Kabushiki Kaisha Toshiba Processor method and apparatus for performing single operand operation and multiple parallel operand operation
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US6480941B1 (en) * 1999-02-23 2002-11-12 International Business Machines Corporation Secure partitioning of shared memory based multiprocessor system
US6647208B1 (en) * 1999-03-18 2003-11-11 Massachusetts Institute Of Technology Hybrid electronic/optical switch system
US6728961B1 (en) 1999-03-31 2004-04-27 International Business Machines Corporation Method and system for dynamically load balancing a process over a plurality of peer machines
US6845498B1 (en) 1999-05-11 2005-01-18 Microsoft Corporation Method and apparatus for sharing data files among run time environment applets in an integrated circuit card
US6477170B1 (en) * 1999-05-21 2002-11-05 Advanced Micro Devices, Inc. Method and apparatus for interfacing between systems operating under different clock regimes with interlocking to prevent overwriting of data
US6463521B1 (en) 1999-06-23 2002-10-08 Sun Microsystems, Inc. Opcode numbering for meta-data encoding
DE60039554D1 (de) * 1999-06-25 2008-09-04 Canon Res Ct France S A Verteilte Verwaltung von Datenobjekten in einem Kommunikations-Netzwerk
US6446218B1 (en) 1999-06-30 2002-09-03 B-Hub, Inc. Techniques for maintaining fault tolerance for software programs in a clustered computer system
US6467012B1 (en) * 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US7124170B1 (en) 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6401175B1 (en) 1999-10-01 2002-06-04 Sun Microsystems, Inc. Shared write buffer for use by multiple processor units
US6530011B1 (en) * 1999-10-20 2003-03-04 Sandcraft, Inc. Method and apparatus for vector register with scalar values
JP2001167066A (ja) * 1999-12-08 2001-06-22 Nec Corp プロセッサ間通信方法及びマルチプロセッサシステム
US6577311B1 (en) 1999-12-16 2003-06-10 Picture Iq Corporation Techniques for automatically providing a high-resolution rendering of a low resolution digital image in a distributed network
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6694380B1 (en) * 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
JP2001195230A (ja) 2000-01-14 2001-07-19 Mitsubishi Electric Corp 描画処理システム、及び描画演算を行う半導体集積回路
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US7137115B2 (en) 2000-01-25 2006-11-14 Fujitsu Limited Method for controlling multithreading
JP3543942B2 (ja) 2000-03-02 2004-07-21 株式会社ソニー・コンピュータエンタテインメント 画像生成装置
TW501045B (en) 2000-03-03 2002-09-01 Sony Computer Entertainment Inc Entertainment device and computer system having exchangeability
JP2001319243A (ja) 2000-03-03 2001-11-16 Sony Computer Entertainment Inc 画像生成装置、画像生成装置におけるジオメトリ処理形態の切換方法、記録媒体、コンピュータプログラム、半導体デバイス
EP1261921A2 (en) * 2000-03-08 2002-12-04 Sun Microsystems, Inc. Vliw computer processing architecture with on-chip dynamic ram
US7080234B2 (en) * 2000-03-08 2006-07-18 Sun Microsystems, Inc. VLIW computer processing architecture having the problem counter stored in a register file register
WO2001067234A2 (en) * 2000-03-08 2001-09-13 Sun Microsystems, Inc. Vliw computer processing architecture having a scalable number of register files
US6738967B1 (en) * 2000-03-14 2004-05-18 Microsoft Corporation Compiling for multiple virtual machines targeting different processor architectures
US6578155B1 (en) * 2000-03-16 2003-06-10 International Business Machines Corporation Data processing system with adjustable clocks for partitioned synchronous interfaces
US6701424B1 (en) * 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6799207B1 (en) * 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
US20030188045A1 (en) 2000-04-13 2003-10-02 Jacobson Michael B. System and method for distributing storage controller tasks
US6684390B1 (en) 2000-04-17 2004-01-27 Koninklijke Philips Electronics N.V. Multi-processor JAVA subsystem
US6950848B1 (en) 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US7103664B1 (en) 2000-05-31 2006-09-05 International Business Machines Corporation Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment
US6791555B1 (en) * 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
JP4640880B2 (ja) 2000-07-14 2011-03-02 国立大学法人東京工業大学 マイクロプロセッサシステム
US6892298B2 (en) 2000-07-26 2005-05-10 Times N Systems, Inc. Load/store micropacket handling system
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6704926B1 (en) 2000-09-28 2004-03-09 International Business Machines Corporation Bimodal Java just-in-time complier
JP2002207685A (ja) 2000-10-12 2002-07-26 Sony Computer Entertainment Inc 仮想世界システム、サーバコンピュータおよび情報処理装置
US6895479B2 (en) 2000-11-15 2005-05-17 Texas Instruments Incorporated Multicore DSP device having shared program memory with conditional write protection
US6433043B1 (en) 2000-11-28 2002-08-13 Transitions Optical, Inc. Removable imbibition composition of photochromic compound and kinetic enhancing additive
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US6865631B2 (en) * 2000-12-14 2005-03-08 International Business Machines Corporation Reduction of interrupts in remote procedure calls
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US6748501B2 (en) * 2000-12-30 2004-06-08 International Business Machines Corporation Microprocessor reservation mechanism for a hashed address system
US6751753B2 (en) 2001-02-27 2004-06-15 Sun Microsystems, Inc. Method, system, and program for monitoring system components
US7165108B2 (en) 2001-03-19 2007-01-16 Sun Microsystems, Inc. Method and apparatus for providing application specific strategies to a JAVA platform including load balancing policies
JP3716753B2 (ja) 2001-03-21 2005-11-16 日本電気株式会社 マルチプロセッサ構成の計算機間におけるトランザクション負荷分散方法及び方式並びにプログラム
US6779045B2 (en) * 2001-03-21 2004-08-17 Intel Corporation System and apparatus for increasing the number of operations per transmission for a media management system
US6990598B2 (en) * 2001-03-21 2006-01-24 Gallitzin Allegheny Llc Low power reconfigurable systems and methods
US6966015B2 (en) 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6809734B2 (en) 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6826662B2 (en) 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7093104B2 (en) 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US6922726B2 (en) * 2001-03-23 2005-07-26 International Business Machines Corporation Web accessibility service apparatus and method
US6578128B1 (en) * 2001-03-29 2003-06-10 Emc Corporation Address management for a shared memory region on a multi-processor controller board
US6966057B2 (en) 2001-03-30 2005-11-15 Intel Corporation Static compilation of instrumentation code for debugging support
US7210022B2 (en) 2001-05-15 2007-04-24 Cloudshield Technologies, Inc. Apparatus and method for interconnecting a processor to co-processors using a shared memory as the communication interface
JP2003033576A (ja) 2001-05-18 2003-02-04 Sony Computer Entertainment Inc エンタテインメントシステム、通信システム、通信プログラム、通信プログラムを格納したコンピュータ読み取り可能な記録媒体、及び通信方法
US20030055927A1 (en) 2001-06-06 2003-03-20 Claudius Fischer Framework for a device and a computer system needing synchronization
KR100441115B1 (ko) 2001-06-27 2004-07-19 주식회사 인터와이즈 정보 단말기의 자바 프로그램 처리 속도 향상을 위한 자바컴파일 온 디멘드 서비스 시스템 및 그 방법
US7178145B2 (en) 2001-06-29 2007-02-13 Emc Corporation Queues for soft affinity code threads and hard affinity code threads for allocation of processors to execute the threads in a multi-processor system
US6862608B2 (en) 2001-07-17 2005-03-01 Storage Technology Corporation System and method for a distributed shared memory
US6839828B2 (en) * 2001-08-14 2005-01-04 International Business Machines Corporation SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode
US20030074650A1 (en) 2001-10-17 2003-04-17 Tankut Akgul Debugger operating system for embedded systems
JP2003140912A (ja) 2001-10-29 2003-05-16 Sony Corp データ処理システム及びデータ処理方法、並びに記憶媒体
JP3673245B2 (ja) * 2002-06-28 2005-07-20 株式会社東芝 情報処理装置および同装置における電源制御方法
US7093258B1 (en) 2002-07-30 2006-08-15 Unisys Corporation Method and system for managing distribution of computer-executable program threads between central processing units in a multi-central processing unit computer system
US7167916B2 (en) 2002-08-30 2007-01-23 Unisys Corporation Computer OS dispatcher operation with virtual switching queue and IP queues
JP2004103347A (ja) * 2002-09-09 2004-04-02 Sumitomo Wiring Syst Ltd コネクタ
US7127709B2 (en) 2002-09-25 2006-10-24 Microsoft Corporation System and method for jointly managing dynamically generated code and data
WO2004046950A1 (en) 2002-11-15 2004-06-03 Infineon Technologies Ag Mailbox interface between processors
US7043579B2 (en) 2002-12-05 2006-05-09 International Business Machines Corporation Ring-topology based multiprocessor data access bus
US7080242B2 (en) * 2002-12-19 2006-07-18 Hewlett-Packard Development Company, L.P. Instruction set reconciliation for heterogeneous symmetric-multiprocessor systems
US7146542B2 (en) 2002-12-20 2006-12-05 Hewlett-Packard Development Company, L.P. Method and apparatus for diagnosis and repair of computer devices and device drivers
US8423976B2 (en) 2003-03-13 2013-04-16 Northrop Grumman Corporation Extreme pipeline and optimized reordering technology
US20040193838A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney Vector instructions composed from scalar instructions
US7114042B2 (en) 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
US6981072B2 (en) 2003-06-05 2005-12-27 International Business Machines Corporation Memory management in multiprocessor system
US7133978B1 (en) 2003-06-19 2006-11-07 Xilinx, Inc. Method and apparatus for processing data stored in a memory shared among a plurality of processors
US7472112B2 (en) 2003-06-23 2008-12-30 Microsoft Corporation Distributed query engine pipeline method and system
US7134007B2 (en) * 2003-06-30 2006-11-07 Intel Corporation Method for sharing firmware across heterogeneous processor architectures
US7200689B2 (en) 2003-07-31 2007-04-03 International Business Machines Corporation Cacheable DMA
US20050028148A1 (en) 2003-08-01 2005-02-03 Sun Microsystems, Inc. Method for dynamic recompilation of a program
US7478390B2 (en) 2003-09-25 2009-01-13 International Business Machines Corporation Task queue management of virtual devices using a plurality of processors
US6981074B2 (en) 2003-10-14 2005-12-27 Broadcom Corporation Descriptor-based load balancing
US7321958B2 (en) 2003-10-30 2008-01-22 International Business Machines Corporation System and method for sharing memory by heterogeneous processors
GB2409067B (en) * 2003-12-09 2006-12-13 Advanced Risc Mach Ltd Endianess compensation within a SIMD data processing system
TWI321414B (en) * 2004-10-15 2010-03-01 Sony Computer Entertainment Inc Methods and apparatus for supporting multiple configurations in a multi-processor system
US20060179277A1 (en) * 2005-02-04 2006-08-10 Flachs Brian K System and method for instruction line buffer holding a branch target buffer
US7840954B2 (en) * 2005-11-29 2010-11-23 International Business Machines Corporation Compilation for a SIMD RISC processor
US20070174825A1 (en) * 2006-01-25 2007-07-26 Eichenberger Alexandre E Apparatus and method for optimizing scalar code executed on a SIMD engine by alignment of SIMD slots
US7809925B2 (en) * 2007-12-07 2010-10-05 International Business Machines Corporation Processing unit incorporating vectorizable execution unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004009A (ja) * 2004-06-15 2006-01-05 Sony Computer Entertainment Inc 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
JP2006004008A (ja) * 2004-06-15 2006-01-05 Sony Computer Entertainment Inc 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US7496673B2 (en) 2009-02-24
CN100412848C (zh) 2008-08-20
EP1370968B1 (en) 2011-11-16
WO2002077845A1 (en) 2002-10-03
KR20030085037A (ko) 2003-11-01
US7720982B2 (en) 2010-05-18
US20070168538A1 (en) 2007-07-19
JP4455822B2 (ja) 2010-04-21
EP1370968A4 (en) 2010-03-03
US20070288701A1 (en) 2007-12-13
EP2296090A3 (en) 2011-03-23
EP1370968A1 (en) 2003-12-17
EP2296090B1 (en) 2013-02-13
US20070186077A1 (en) 2007-08-09
US8091078B2 (en) 2012-01-03
US20050160097A1 (en) 2005-07-21
KR100959748B1 (ko) 2010-05-25
US20020138637A1 (en) 2002-09-26
US20050081181A1 (en) 2005-04-14
US20080256275A1 (en) 2008-10-16
US7392511B2 (en) 2008-06-24
US20050138325A1 (en) 2005-06-23
US20060190614A1 (en) 2006-08-24
US7233998B2 (en) 2007-06-19
EP2296090A2 (en) 2011-03-16
JP2002366533A (ja) 2002-12-20
TWI266200B (en) 2006-11-11
US7509457B2 (en) 2009-03-24
US20050268048A1 (en) 2005-12-01
KR100891063B1 (ko) 2009-03-31
CN1494690A (zh) 2004-05-05
KR20080108588A (ko) 2008-12-15
US20080250414A1 (en) 2008-10-09

Similar Documents

Publication Publication Date Title
JP3515985B2 (ja) プロセッサ装置内で一時的に専用パイプラインを設定する方法及びシステム
JP3454808B2 (ja) コンピュータ処理システム及びコンピュータで実行される処理方法
JP3411273B2 (ja) プロセッサでのデータ処理方法及びデータ処理システム
JP3696563B2 (ja) コンピュータ・プロセッサ及び処理装置
JP4455822B2 (ja) データ処理方法
JP4768386B2 (ja) 外部デバイスとデータ通信可能なインターフェイスデバイスを有するシステム及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050128

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050128

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4455822

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term