JPH07509795A - Advanced large-scale parallel computer - Google Patents

Advanced large-scale parallel computer

Info

Publication number
JPH07509795A
JPH07509795A JP6505313A JP50531394A JPH07509795A JP H07509795 A JPH07509795 A JP H07509795A JP 6505313 A JP6505313 A JP 6505313A JP 50531394 A JP50531394 A JP 50531394A JP H07509795 A JPH07509795 A JP H07509795A
Authority
JP
Japan
Prior art keywords
processor
data
bit
processors
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6505313A
Other languages
Japanese (ja)
Inventor
チン,ダニー
ピータース,ジヨゼフ・エトワード・ジユニア
テイラー,ハーバート・ハドソン・ジユニア
Original Assignee
デヴイツド・サーンオフ・リサーチ・センター,インコーポレーテツド
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 デヴイツド・サーンオフ・リサーチ・センター,インコーポレーテツド filed Critical デヴイツド・サーンオフ・リサーチ・センター,インコーポレーテツド
Publication of JPH07509795A publication Critical patent/JPH07509795A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 アドバンスト大規模並列計算機 この発明は政府の援助を得て契約箱MDA−972−90−C−0022号に基 づいてなされた。政府が本発明の一定の権利を有する。[Detailed description of the invention] Advanced large-scale parallel computer This invention is based on contract box MDA-972-90-C-0022 with government support. It was done accordingly. The government has certain rights in this invention.

この発明は大規模並列計算機、特にマルチユーザ時分割オペレーションの可能な 計算機に関する。This invention is useful for large-scale parallel computers, especially those capable of multi-user time-sharing operations. Regarding computers.

本発明の背景 大きな逐次オペレーションおよび並列オペレーションをするスーパーコンピュー タの両方が当該技術分野において知られているが、大規模並列オペレーションは 、実時間で実行されるべき非常に多量のデータ計算およびデータ通信を要する計 算に強く依存する用途には好ましい。そのような用途の例には、天気モデリング と医療イメージングが含まれる。そのような用途で遭遇するそんな複雑なシナリ オの実時間分析では、非常に大きなデータセットが扱われる。Background of the invention A supercomputer that performs large sequential and parallel operations Although both methods are known in the art, massively parallel operations , calculations that require very large amounts of data computation and data communication to be performed in real time. Preferred for applications that rely heavily on calculations. Examples of such applications include weather modeling and medical imaging. Such complex scenarios encountered in such applications Real-time analysis in O's deals with very large data sets.

従来技術のプリンストンエンジン(Princeton [!ngineXPE )の構造は、単一命令多重データ(SIMD)リニアアレイプロセッサとなって いる。そのリニアアレイプロセッサは、64から2048個のプロセッサにまで 64の間隔で拡張可能であり、最大の構成では14MHzの命令クロックに対し 、28.672百万命令/秒(MIPS)の計算レートを達成する。各プロセッ サはローカルメモリを有し、隣接したものと2つの2方向チヤンネルを介して通 信できる。入力および出力データレートとして、各々14および1.8Gbps が得られる。このPRのホストは、アポロ/メンタ−グラフィックスワークステ ーション(Apollo/Mentor Graphics Workstat ion)であり、高分解能モニタが出力結果を観るために使用される。Prior art Princeton engine (Princeton [!ngineXPE ) is a single instruction multiple data (SIMD) linear array processor. There is. Its linear array processors range from 64 to 2048 processors. 64 increments, and the maximum configuration is scalable to 14MHz instruction clock. , achieving a computation rate of 28.672 million instructions per second (MIPS). Each process The server has local memory and communicates with its neighbors via two two-way channels. I can believe it. 14 and 1.8Gbps as input and output data rates, respectively is obtained. The host of this PR is Apollo/Mentor Graphics Workstation (Apollo/Mentor Graphics Workstat ion) and a high-resolution monitor is used to view the output results.

上記PEの各プロセッシング要素PEOからPEn−1は、7つの独立な内部1 6ビツトデータパス、16ビツトALU、16ビツト乗算器、64の要素を有す る3ポートレジスタスタツク、16ビツト通信ボート;および640バイトまで の外部SRAMローカルメモリを含む。レジスタファイルはそのファイルへの読 み取り専用アクセス用の1つのアドレスポート、およびそのファイルの読み取り 又は書き込み用の第2のアドレスポートを有する。プロセッサ間連絡バス(IP C)により1命令サイクルの間で隣接プロセッサ間のデータが交換できる。各命 令サイクルにおいて、6つまでの同時オペレーション(110バスを介した入力 又は出力、レジスタファイルにおける同時読み取りおよび書き込み、1つのAL Uオペレーション、およびローカルメモリアクセス)ができる。Each processing element PEO to PEn-1 of the above PE has seven independent internal 1 6-bit data path, 16-bit ALU, 16-bit multiplier, 64 elements 3-port register stack, 16-bit communication port; and up to 640 bytes Contains external SRAM local memory. The register file allows reads to the file. One address port for read-only access and reading of that file Or it has a second address port for writing. Inter-processor communication bus (IP C) allows data to be exchanged between adjacent processors within one instruction cycle. each life Up to six simultaneous operations (input via the 110 bus) or output, simultaneous read and write in register file, one AL U operations and local memory access).

入力データはビデオの各走査線0からv−1用の各プロセッサのローカルメモリ MOからMn−1内に、プロセッサにつき1つのピクセルとして記録される。従 って、フレーム周期にわたって、ビデオフレームの1つのビクセル列が各ローカ ルメモリに記録される。ローカルメモリは、1024本線のフレーム用の8ビツ トピクセルで640列まで記録するのに十分である。図1の機能図100が、ビ デオフレームがいかにしてローカルメモリにわたり分布しているかを示している 。対応するそれぞれのビデオフレーム列Oからz−1は、同じローカルメモリに 記録される。従って、一時的なアルゴリズムでは、プロセッサ間、すなわち隣接 プロセッサのローカルメモリ間の通信を要しない。水平フィルターと統計的集計 操作では、1Pc200を介してプロセッサ間のデータ通信が要求される。Input data is stored in local memory of each processor for each scan line 0 to v-1 of the video. Recorded in MO to Mn-1, one pixel per processor. subordinate So, over a frame period, one pixel column of the video frame is assigned to each local recorded in memory. The local memory is 8 bits for a frame of 1024 lines. This is sufficient to record up to 640 columns in pixels. The functional diagram 100 in FIG. shows how deoframes are distributed across local memory . Each corresponding video frame sequence O to z-1 is stored in the same local memory. recorded. Therefore, in a temporal algorithm, between processors, i.e., adjacent No communication between local memories of processors is required. Horizontal filters and statistical aggregation The operation requires data communication between processors via the 1Pc 200.

IPCは4つのモード、即ちノーマル、バイパス、同報通信(ブロードキャスト )送信および同報通信受信の内の1つに設定され得る。ノーマル通信はリニアに 接続されたアレイ内の隣接のものの間で行われる。データがIPCチャンネル上 に1命令内にロードされ、次の命令で左もしくは右にシフトされる。このモード は最も隣接したものの計算に対して非常に有効である。IPC has four modes: normal, bypass, and broadcast. ) transmission and broadcast reception. Normal communication is linear between adjacent ones in a connected array. Data is on IPC channel is loaded in one instruction and shifted to the left or right in the next instruction. This mode is very useful for computing nearest neighbors.

ある場合には、元のアレイのサブグリッド上で隣接化操作を行うのが望ましい。In some cases, it is desirable to perform the contiguity operation on a subgrid of the original array.

この間引きはより小さい連結された領域内にアレイ要素を圧縮することなく達成 され得る。むしろ、プロセッサはバイパスされ、所望の領域間の新しい隣接接続 をもたらす。左右のシフト操作がバイパスされた連結パターンを通っていく。This thinning is achieved without compressing the array elements into a smaller concatenated region. can be done. Rather, the processor is bypassed and new adjacent connections between the desired regions bring about. The left and right shift operations are passed through a connected pattern that is bypassed.

図2では、PBがアナログおよびデジタルのソースおよびデスティネーションと コントローラ200を介してインターフェースされている。並列アレイへの入力 および出力データチャンネルはそれぞれ48ビツトおよび64ビツト幅である。In Figure 2, PB represents analog and digital sources and destinations. It is interfaced via controller 200. Input to parallel array and output data channels are 48 bits and 64 bits wide, respectively.

これらのチャンネルは28MHzクロックで動作し、6つのアナログ−デジタル 変換器(ADC)と7つのデジタル−アナログ変換器(DAC)をインターフェ ースする。ホストコンピュータはシステムまたはアルゴリズムのテストのために これらのバス上のデータをロードまたは受け取るデジタルアクセスを有する。These channels are clocked at 28MHz and have six analog-to-digital interface converter (ADC) and seven digital-to-analog converters (DACs). source. The host computer is used for system or algorithm testing. It has digital access to load or receive data on these buses.

コントローラ200もまたADCやDACにユーザが選択可能なりロックを供給 する。3つの独立な入力クロックと4つの独立な出力クロックが可能である。こ のことにより、いくつかの異なったデータソースが同時に読み取られ、処理され 、表示され、比較されることが可能となる。出力は種々の表示器、例えばスペク トラムアナライザや組み込み用実時間システムハードウェアー内の背景に取り込 まれ得る。Controller 200 also provides user-selectable locks for ADCs and DACs. do. Three independent input clocks and four independent output clocks are possible. child This allows several different data sources to be read and processed simultaneously. , can be displayed and compared. The output can be displayed on various displays, e.g. Incorporate into the background within tram analyzers and embedded real-time system hardware It can be rare.

並列プロセッサ202からの出力は、特別な出力であるマルチポート、すなわち ビットスライスI10 IC内に組み込まれたランダムアクセスメモリ(RAM )構造204を介してユーザがプログラム可能である。ローカルメモリアクセス はこの特異な出力構造ゆえに軽減される。出力データストリームはさらに付加的 な処理のために並列アレイの入力に返され得る。この特徴によりレーダー処理( コーナーターン)や大きい3Dデータセツトの高速回転に有効な実時間転置を可 能にするレーダー処理やテレビシュミレーションのような先進的な問題の規模の 増大は、これらの従来技術の大規模並列スーパーコンピュータの通信および計算 の最大レートに帰するようになり、P(!はその実時間での解法を与えるには十 分でない。The output from parallel processor 202 is a special output, multiport, i.e. Bitslice I10 Random access memory (RAM) built into the IC ) structure 204 is user programmable. local memory access is reduced due to this unique output structure. The output data stream is additionally can be returned to the input of a parallel array for further processing. This feature allows radar processing ( Enables real-time transposition, which is effective for corner turns) and high-speed rotation of large 3D data sets. scale of advanced problems such as radar processing and television simulation. The growth of these prior art massively parallel supercomputer communications and computation , and P(! is insufficient to give its real-time solution. It's not a minute.

従って、そのような計算能力の問題に対する解法を与えるのに必要な帯域と計算 性能(1200MBytes/secまてのI10帯域、および9.6Tera ops/secまてのピーク計算レート)の両方を備えたより大きい大規模並列 スーパーコンピュータが必要になっている。更に、逐次スーパーコンピュータは 時分割マルチューザオペレーンヨンが可能であるが、従来技術の大規模並列スー パーコンピュータではこのことができない。Therefore, the bandwidth and computation required to provide solutions to such computational power problems Performance (I10 band up to 1200MBytes/sec and 9.6Tera Larger scale parallelism with both peak computation rates up to ops/sec Supercomputers are needed. Furthermore, sequential supercomputers Time-division Malthusa operation is possible, but the massively parallel processors of the prior art A computer cannot do this.

本発明の概略 Nブロックで構成され、その各々がM個のプロセッサを含んだ並列計算システム が記載されている。各プロセンサは算術論理演算装置(ALU)、ローカルメモ リ、および人力/出力(Ilo)インターフェースを有する。各ブロックはまた コントローラを含み、そのコントローラは同一命令のグループを与えるようにプ ロ・ツク内のM個のプロセッサの各々と接続されている。並列計算システムもま た、Nブでいる。ホストプロセッサはこれらのブロックを少なくとも第1と第2 のブロックグループに分割し、各グループはP個のブロックを含んでいる。P個 のブロックを有する各グループに対して、同一プロセッサ命令のそれぞれ異なる グループが、ホストプロセッサによりM個のP倍のプロセッサの各々に与えられ る。Outline of the invention A parallel computing system consisting of N blocks, each containing M processors. is listed. Each processor has an arithmetic logic unit (ALU), local memory and human power/output (Ilo) interface. Each block also contains a controller that is programmed to give the same group of instructions. It is connected to each of the M processors in the block. Parallel computing system also I'm N-bu. The host processor divides these blocks into at least the first and second blocks. into block groups, each group containing P blocks. P pieces For each group with blocks of A group is given by the host processor to each of M times P processors. Ru.

図面の簡単な説明 図1はビデオフレームが従来技術のプリンストンエンジン(PE)のメモリにい かに格納されているかを示している。Brief description of the drawing Figure 1 shows how a video frame is stored in the memory of a conventional Princeton engine (PE). It shows what is stored in the file.

図2はホストコンピュータがシステムまたはアルゴリズムのテストのためにコン トローラバス上のデータをロードまたは受け取るデジタルアクセスをすることが できる従来技術のPEにおける構成を示している。Figure 2 shows how a host computer can be used to test a system or algorithm. Digital access to load or receive data on the trollerbus 1 shows a configuration in a conventional PE that can be used.

図3はサーノフエンジン(Sarnoff Engine)(SE)の概略図で ある。Figure 3 is a schematic diagram of the Sarnoff Engine (SE). be.

図4はSEのホスト、コントローラ、ローカルメモリ、および170機能の接続 を示す、エンジンブロック(EB)の拡大図である。Figure 4 shows the connection of the SE host, controller, local memory, and 170 functions. It is an enlarged view of an engine block (EB) showing.

図5はシステムモジュールの物理的な配置を示している。FIG. 5 shows the physical layout of the system modules.

図6はSHのプロセッサ構成を示している。FIG. 6 shows the processor configuration of the SH.

図7はSEのストライドレジスタ(Stride Register)の使用を 示している。Figure 7 shows the use of the SE stride register. It shows.

図8はSEのセン。口演算モード(Modulo Arithmatic Mo de)の例を示している。Figure 8 shows SE Sen. Modulo Arithmatic Mo An example of de) is shown.

図9はSHのバウンデングモード(Bounding Mode)の例を示して いる。Figure 9 shows an example of the SH bounding mode. There is.

図1OはSEプロセッサリソース使用テーブルを示している。FIG. 1O shows the SE processor resource usage table.

図11は2つのバックデータワードのマツチ例を示している。FIG. 11 shows an example of matching two back data words.

図12はマツチシーケンスとそれに対応するテンプレートを示している。FIG. 12 shows a match sequence and its corresponding template.

図13はマツチおよびデータシーケンス間で見つけられたマツチを示している図 14は条件付ロッキングの例を示している。Figure 13 is a diagram showing matches and matches found between data sequences. 14 shows an example of conditional locking.

図15はプロセッサ命令ワードの4つの異なるモードを示している。FIG. 15 shows four different modes of processor instruction words.

図16はIPcオペレーションの4つの異なる例を示している。Figure 16 shows four different examples of IPc operations.

図17はSEの入力/出力メモリコントローラ(Inputloutput M emory Controller’l (IOMc)の入力スライス(4スラ イス/チツプ)を示している。Figure 17 shows the SE input/output memory controller (Inputoutput M memory Controller’l (IOMc) input slice (4 slices) chair/chip).

図18はIOMcの出力スライス(4スライス/チツプ)を示している。FIG. 18 shows the output slices (4 slices/chip) of IOMc.

図18aは好適イメージヴオールト(IV)インターフェース回路のブロック図 である。FIG. 18a is a block diagram of a preferred image vault (IV) interface circuit. It is.

図19はI10データフォーマットを示している。Figure 19 shows the I10 data format.

図20はビデオデータフォーマットを示している。FIG. 20 shows the video data format.

図21は入力FIFO(、先入れ先出し方式)により捕えられたデータ入力を示 している。Figure 21 shows the data input captured by the input FIFO (first in, first out). are doing.

図22は入力タイミングシーケンスの例を示している。FIG. 22 shows an example of an input timing sequence.

図23は多重ピクセルを扱うプロセッサの2つの図を示している。FIG. 23 shows two diagrams of a processor that handles multiple pixels.

図24は入力FIFOからローカルメモリへのデータの転送を示している。Figure 24 shows the transfer of data from the input FIFO to local memory.

図25はFIFO入力タ入力タイミングシーケンス示している。FIG. 25 shows the FIFO input timing sequence.

図26はデータ出力チャンネルから出力FIFOデータをロードするのが示され ている。Figure 26 shows loading output FIFO data from the data output channel. ing.

図27はローカルメモリから出力FIFOへのデータの転送を示している。FIG. 27 shows the transfer of data from local memory to the output FIFO.

図27aから27iまでは入力および出力FIFOのオペレーションを説明する のに役立つメモリ配置のアレイ図である。Figures 27a to 27i describe the operation of the input and output FIFOs. FIG. 2 is an array diagram of a memory arrangement useful for.

図28はローカル0R(LOR)バスを示している。Figure 28 shows the local 0R (LOR) bus.

図29はコントローラ同期スイッチを示している。Figure 29 shows a controller synchronization switch.

図30はコントローラの概念的グルービングを示している。Figure 30 shows the conceptual grooving of the controller.

図31はコントローラ用の同期スイッチの構成を示している。FIG. 31 shows the configuration of a synchronous switch for the controller.

図32はバリヤ同期の例を示している。FIG. 32 shows an example of barrier synchronization.

図33はオペレーティングシステムの要素を示している。Figure 33 shows the elements of the operating system.

好適実施例の説明 本発明の記載を容易にするために、ここで用いられているいくつかの頭字ワード のアルファベット類のリストが添付されている。DESCRIPTION OF THE PREFERRED EMBODIMENT Some acronyms are used herein to facilitate the description of the invention. A list of alphabets is attached.

SEは好ましくは32ビツトプロセツサを有し、これはl命令あたり15の独立 なプログラム可能なオベレーンヨンを行い、2倍のメモリ帯域幅(lプロセッサ あたり2つのローカルメモリポート)を有する。最大システムでのプロセッサの 総数は8192個であり、各プロセッサは819MIPSの計算データレートと 9.6x1012オペレ一シヨン/秒を実現するために、100MHzクロック (Ions命令サイクル)で動作するように設計されている。もう一つの大きな 改良は、S[!が多重命令多重データ(Multiple In5tructi on Multiple DataXMIMD)を行うことであり、64個のプ ロセッサの各々に対して1つのコントローラが存在し、各コントローラはそのプ ロセッサに対して異なる命令ストリームを同報通信できる。このアーキテクチャ −編成では、コントローラ間の同期をハードウェアーの支援で得て128MIM D命令ストリームまで供給する。SEもまたマルチユーザモードで動作でき、こ のモードではアプリケーション間で干渉することなくいくつかの実時間および非 実時間アプリケーションをサポートするために、システムはこの装置を時分割す るように構成され得る。本システムはまたアプリケーションを実行するためにい くつかのより小さいシステムに再構成され得る。図3は本装置編成の上位概略図 である。The SE preferably has a 32-bit processor, which has 15 independent processors per instruction. programmable overlay and twice the memory bandwidth (l processor (2 local memory ports per device). Processor at maximum system The total number is 8192, and each processor has a computational data rate of 819 MIPS. 100MHz clock to achieve 9.6x1012 operations/second (Ions instruction cycle). another big The improvement is S[! is multiple instruction multiple data (Multiple In5tructi on Multiple Data There is one controller for each of the processors, and each controller Different instruction streams can be broadcast to processors. This architecture -In the organization, synchronization between controllers is obtained with hardware support and 128MIM Provides up to D instruction stream. SE can also operate in multi-user mode and mode allows some real-time and non-interference between applications. To support real-time applications, the system can time-share this device. may be configured to do so. The system also uses Can be reconfigured into several smaller systems. Figure 3 is a high-level schematic diagram of this device organization. It is.

lOOMI(zシステムクロックを実現するためには、コントローラ機能は集積 化され、プロセッサに近接して配置されなければならない。コントローラ300 はプロセッシング要素302への命令を同報通信し、且つプロセスおよび信号上 の情報を維持するように応答する。各コントローラは命令メモリとプログラムコ ントロールフローを指令するマイクロシーケンサを含む。稼働中のプロセスにつ いての情報はプロセスコントロールメモリ内に維持される。いくつかのプロセッ サ3゜2、ローカルメモリ304、I10機能306、およびコントローラ機能 を含んだ冗長的スライスを使用することにより、マルチユーザに対応しMIMD を可能にするという要求がさらに満たされる。lOOMI (In order to realize the z system clock, the controller function must be integrated. processor and must be located close to the processor. controller 300 broadcasts instructions to processing elements 302 and processes and signals respond to maintain information. Each controller has instruction memory and program code. Contains a microsequencer that directs control flow. About running processes information is maintained in process control memory. some processes S3゜2, local memory 304, I10 function 306, and controller function By using redundant slices containing The requirement to enable is further fulfilled.

図3の影の部分はSE内のEBの冗長的スライスを示している。EBは64個の プロセッサ、それらの各々のローカルメモリ、170機能、およびホストワーク ステーション308とのインターフェースを含んだコントローラ機能からなる。The shaded area of FIG. 3 shows redundant slices of the EB within the SE. There are 64 EBs. Processors, their respective local memory, 170 functions, and host work It consists of a controller function including an interface with station 308.

EBは1つのコントローラIC5プログラムメモリモジユール、16個のプロセ ッサIc、16個のローカルメモリモジュール、および16個のIOMc Ic を含んだマルチチップモジュールから物理的に構成される。EB has one controller IC5 program memory module, 16 processors IOMc Ic, 16 local memory modules, and 16 IOMc Ic Physically consists of a multi-chip module containing

図3はまたプロセッサがIV320へ接続されていることを示していて、このI Vは各プロセッサのIOMCからアクセスできる、大きな第2記録アレイである 。IV320は分散ディスク記録とし、で働き、システムレベルではテラバイト の容量を、プロセッサレベルではメガバイトの容量を有している。各プロセッサ において4メガバイト/′秒のデータレートにすることにより、システムレベル では32ギガバイト/′秒までのデータ転送レートが実現される。IVは相対的 に長いイメージシーケンスまたは大きなデータベースを記録するのに使用できる 。FIG. 3 also shows the processor connected to IV320, which V is a large second storage array accessible from each processor's IOMC. . The IV320 has distributed disk recording and works with terabytes at the system level. It has a capacity of megabytes at the processor level. each processor system-level data rate of 4 MB/'s at Data transfer rates of up to 32 gigabytes/'second can be achieved. IV is relative can be used to record long image sequences or large databases .

図4はホスト、コントローラ、プロセッサ、ローカルメモリ、および128個の スライスまで用の110機能の接続を示ずl!Bの拡大図である。システムがよ り小さいシステムに再構成されるときは、各サブシステムはそれに割り当てられ たホストワークステーション400を有し、各旧0バスはサブシステムに接続さ れ、ローカルに存する。最大のSEが用いられると、最も左のホストワークステ ーション/VMEバスのみがアクティブとなり、各スライスへの旧0バスは互い にシリーズに接続される。グローバル0R(GOR)、ローカル0R(LOR) 、および隣接化0R(NOR)バスがコントローラセットの同期に用いられる。Figure 4 shows the host, controller, processor, local memory, and 128 Shows 110 functional connections for up to slicing! It is an enlarged view of B. The system is good When reconfigured into a smaller system, each subsystem has host workstation 400 with each old 0 bus connected to a subsystem. exists locally. When maximum SE is used, the leftmost host workstation Only the application/VME bus is active, and the old 0 bus to each slice is connected to each other. connected in series. Global 0R (GOR), Local 0R (LOR) , and a Neighboring 0R (NOR) bus are used to synchronize the controller sets.

プロセッサがIPCを介してリニアアレイ内で互いに接続されている。より多く のプロセッサがシステムに加えられているので、このアーキテクチャでは、オー バーヘッドが増すという弊害なしに処理能力がリニアに増加する。EB内の全て のプロセッサが、プロセッサに同報通信される128ビツト命令ワード(IW) を用いてSIMDモード−〇動作する。条件付ロッキングが可能なので、異なる 動作がこれらのプロセッサ上で実行され得る。全てのプロセッサI10がメモリ マツプされ、ローカルメモリと110ソ一ス間のデータの転送はIOMGが担当 している。各プロセッサとコントローラはまた専用のプロファイルカウンタを有 し、コントローラはデバッグ中断機構を含む。 ′ 図5では、SEが幅50c+n、厚さ20cmの6角形として表わされたモジュ ール500で構成されている。各モジュール500は電源に接続されている16 個のEB、冷却液入力、および冷却液排出を含む。各EBは64個のプロセッサ とその各々のローカルメモリおよび170機能、およびEBコントローラ機能を 含む。1つのEBはアドバンストメモリ製造技術を用いた16個のマルチチップ モジュールを使用してパッケージ化されている。各システムモジュールは自分自 身を含み1024プロセツサ機もしくは16個の64プロセツサ機として機能で きる。モジュールは最大8192プロセッサ機を実現するために垂直に(8つ) 積み上げられ得る。Processors are connected to each other in a linear array via an IPC. More processors are added to the system, this architecture Processing capacity increases linearly without the negative effect of increased bar head. Everything in EB 128-bit instruction word (IW) broadcast to the processor. Operates in SIMD mode using . Different because conditional locking is possible Operations may be performed on these processors. All processors I10 have memory IOMG is responsible for data transfer between local memory and 110 sources. are doing. Each processor and controller also has a dedicated profile counter. However, the controller includes a debug interruption mechanism. ′ In Figure 5, SE is a module represented as a hexagon with a width of 50c+n and a thickness of 20cm. It consists of 500 rules. Each module 500 is connected to a power source 16 EB, coolant input, and coolant discharge. Each EB has 64 processors and their respective local memory and 170 functions, and EB controller functions. include. One EB consists of 16 multi-chips using advanced memory manufacturing technology. Packaged using modules. Each system module has its own It can function as a 1024 processor or 16 64 processors. Wear. Modules are vertically arranged (8) to achieve up to 8192 processors Can be piled up.

図6には、プロセッサがB i CMO5技術を使った4つのプロセッサを好ま しくは含んだIC上に組み込みでき、lOナノ秒全命令サイクル有しているのが 示されている。プロセッサはコントローラから受けとった128ビツトIW上で 動作する。IWは15の独立にプログラム可能なオペレーションを規定する。プ ロセッサは32ビツトデータバスとレジスタを使用し、いくつかのデータバスと レジスタは64ビツトデータを転送し記録するために接続され得る。更に、AL U、レジスタファイル、およびローカルメモリのようないくつかのリソースが6 4ビツト入力上で動作する。In Figure 6, the processor prefers four processors using Bi CMO5 technology. It can be integrated on an integrated circuit with a 10 nanosecond full instruction cycle. It is shown. The processor uses the 128-bit IW received from the controller to Operate. IW defines 15 independently programmable operations. P The processor uses a 32-bit data bus and registers, and has several data buses and registers. Registers can be connected to transfer and record 64-bit data. Furthermore, A.L. Some resources like U, register file, and local memory are 6 Operates on 4-bit input.

各プロセッサは64ビットA!、0600.32ビツト乗算器602.32ビツ トマツチヤ604.32ビツト補助ALU606.128ワードレジスタフアイ ル608.2つのアドレス発生器(AG)610−1.610−2によりアドレ ス指定されるデュアルポートローカルメモリ、他のプロセッサと通信するための IPcボート612、条件付ロッキングハードウェア614、および専用のプロ ファイルカウンタ616を有する。Each processor is a 64-bit A! , 0600.32 bit multiplier 602.32 bit Tomatochia 604.32-bit auxiliary ALU606.128 word register file address generator (AG) 610-1.610-2. Dual-port local memory specified by processor, for communicating with other processors IPc boat 612, conditional locking hardware 614, and dedicated professional It has a file counter 616.

命令サイクルあたりのオペレーションの数を最大にするために、整数および浮動 小数点の乗算器とALIJユニットが統合されている。多くのプロセッサが整数 と浮動少数点に分離したALUを有し、整数ALUがメモリアドレッシングに使 用される間、多くの計算が浮動小数点形式で実行されることにより並列化が実現 される。SEが2つの専用ACを有し、浮動小数点と整数演算が通常同時には行 われないので、整数および浮動小数点ユニットが一緒にグループ化され、他の機 器のためにIC領域を節約している。integer and float to maximize the number of operations per instruction cycle. A decimal point multiplier and an ALIJ unit are integrated. Many processors are integer The integer ALU is used for memory addressing. Parallelization is achieved by performing many calculations in floating-point format while be done. The SE has two dedicated ACs, and floating point and integer operations are usually not performed simultaneously. The integer and floating point units are grouped together and other This saves IC area for the device.

乗算器602は2つの32ビツト値を掛は合わせ、64ビツトの計算結果を各命 令サイクルで得ることができる。結果が64ビツトPレジスタに記録され、その 積が累積され得るようにそのレジスタはALUへ入力されている。もしくは、乗 算器は2つの32ビツト入力値を64ビツト値として扱い、Pレジスタに64ビ ットワードをロードできる。このことはALUに64ビツトデータを供給するの に有効である。Multiplier 602 multiplies two 32-bit values together and applies the 64-bit calculation result to each instruction. It can be obtained in the second cycle. The result is recorded in the 64-bit P register and its That register is an input to the ALU so that products can be accumulated. Or, square The calculator treats the two 32-bit input values as 64-bit values and stores the 64-bit value in the P register. can load passwords. This means that 64-bit data is supplied to the ALU. It is effective for

マツチユニット604がプロセッサ設計に採用されている。というのは、それは データ依存の強いオペレーションにとってはもってこいのものであるからである 。プロセッサ命令ワード(PIW)を最適化するために、乗算器602とマツチ ャ604は同じ命令フィールドを共有する。マツチャ604は32ビツトバツク データ上でのマツチオペレーションを実行する特別なハードウェアー要素である 。より小さいワードサイズが1つの32ピントワードにフォーマットされるとデ ータがバックされる。A match unit 604 is employed in the processor design. Because it is This is because it is ideal for operations that are highly data-dependent. . Matched with multiplier 602 to optimize the processor instruction word (PIW). 604 share the same instruction field. Matscha 604 is 32 bit back is a special hardware element that performs match operations on data . When the smaller word size is formatted into one 32 pinto word, the data data is backed up.

図6のALU600は32ビツトと64ビツトの入力を有し、又2つの64ビツ トアキユムレータ(ACC)を有している。それはlサイクルでの整数および浮 動小数点(32ビツトと64ビツト)演算をサポートする。ACCもまたALU へ入力され、計算の中間値を記録するために使用できる。PレジスタとACCは ALU600への64ビツト入力として働き、他の全てのデータソースは32ビ ツトソースである。ALU 600 of FIG. 6 has 32-bit and 64-bit inputs, and two 64-bit inputs. It has an accumulator (ACC). It is an integer and a float in l cycles. Supports dynamic point (32-bit and 64-bit) arithmetic. ACC is also an ALU can be used to record intermediate values in calculations. P register and ACC Serves as a 64-bit input to the ALU600; all other data sources are 32-bit inputs. It's tuto sauce.

AL111+00で実行され得るオペレーションには、通常の32ビツトおよび 64ビツトの単項バイナリ算術論理演算、シフト演算、および整数/浮動小数点 変換演算が含まれる。複数サイクル整数除算演算もまた可能である。条件付減算 やゼロ/非ゼロによりACCIを更新すること(Update ACCI if  Zero/NonZero) (条件付置き込みを行うのに使用される)など がサポートされた条件付オペレーションがある。特別な目的のオペレーションと しては、より大きい値をACCIに、より小さい値をACC2に記録するMAX MINバイナリオペレーション、第1ゼロピツト認識および第1−ビット認識を する単項オペレーション、および絶対値演算がある。Operations that can be performed on the AL111+00 include the normal 32-bit and 64-bit unary binary arithmetic and logic operations, shift operations, and integer/floating point Contains conversion operations. Multi-cycle integer division operations are also possible. conditional subtraction or zero/non-zero (Update ACCI if Zero/NonZero) (used to perform conditional placement) etc. There are conditional operations supported. special purpose operations and then record the larger value in ACCI and the smaller value in ACC2. MIN binary operation, first zero pit recognition and first bit recognition There are unary operations and absolute value operations.

補助ALU(AuxALU)606 (図6)は32ビツト計数オペレーシヨン に使用される。Auxiliary ALU (AuxALU) 606 (Figure 6) is a 32-bit counting operation. used for.

計数オペレーションはイメージ処理を行うアプリケーションに大いに共通したも のであるので、AuxALU606がプロセッサ設計に含まれている。エキスト ラALUにより計数オペレーションがパイプラインされるので、ファクター6の スピードアップが条件付計数オペレーションで達成される。AuxALUはレジ スタファイルのR11ボートの近くに配置され、2つのレジスタ、即ちAuxA LUデータレジスタ(Aux ALU Data RegisterXADR) とAuxALU条件マスクレジスタ(AuxALU Condition Ma sk Register)(ACMR)を有する。ADRはAuxALIJオペ ランドを含み、ACMRは条件をモニタするためのプロセッサステータスワード (Processor 5tatus WordXPSW)vスフを含む。Counting operations are very common to applications that perform image processing. Therefore, Aux ALU 606 is included in the processor design. Ext Since the counting operations are pipelined by the ALU, the factor 6 Speedup is achieved with conditional counting operations. AuxALU is a cash register It is located near the R11 port of the star file and has two registers, namely AuxA LU data register (Aux ALU Data RegisterXADR) and AuxALU condition mask register (AuxALU Condition Ma sk Register) (ACMR). ADR is AuxALIJ operation ACMR contains a processor status word to monitor conditions. (Processor 5tatus WordXPSW) Contains vs.

AuxALUの特別な機能として、ADRの値を減少すること、およびゼロの結 果でプロセッサをロックするということがある。このオペレーションは実行時間 がデータに依存するオペレーションに使用できる。各プロセッサがそのオペレー ションを終えると、それはその値をゼロまで減少し、それ自身をロックしくNO Pの実行)、そのLOR信号をコントローラを終了させる信号にする。全てのプ ロセッサがオペレーションを終え、それらのLOR信号を送りだしたときに、コ ントローラはプロセッサ全てのロックを解除し、実行が続けられる。このオペレ ーションはSIMDプロセッサのグループ上のローカルデータ条件に依存するル ープを組み込むのに有効である。LORはプロセッサをコントローラに接続する 1ビツトワイヤであり、全てのプロセッサがハイ信号を送りだし、そしてLOR 信号をハイにするまで、LOR信号はローのままである。A special feature of AuxALU is to reduce the value of ADR and to This may cause the processor to lock up. This operation has an execution time of can be used for data-dependent operations. Each processor has its own After finishing the session, it decreases its value to zero and locks itself to NO. (execution of P), makes the LOR signal the signal that terminates the controller. All programs When the processors finish their operations and send out their LOR signals, The controller unlocks all processors and execution continues. This operator The implementation is a rule that depends on local data conditions on a group of SIMD processors. This is useful for incorporating groups. LOR connects processor to controller 1 bit wire, all processors send a high signal, and LOR The LOR signal remains low until you bring the signal high.

32ビツト専用プロフアイルカウンタ616(図6)は実時間プロファイル用に 各プロセッサ上に存在する。加えて、各コントローラは実時間プロファイルに使 用される専用プロファイルカウンタ3301 (図33)を含む。プロファイル は通常イベントの発生回数を計数するために元のプログラムに付加された命令を 加えることにより行われる。IPCを介した通信のようないくつかのプログラム セグメントは限界まで時間がかかっているので、このタイプのプロファイリング は実時間モードでは不可能である。専用プロファイルカウンタが、プロセッサの 実行を妨害することなくプロファイリングを行うのに使用される。A 32-bit dedicated profile counter 616 (Figure 6) is used for real-time profiles. Exists on each processor. In addition, each controller can be used for real-time profiling. It includes a dedicated profile counter 3301 (FIG. 33) that is used. profile is usually an instruction added to the original program to count the number of occurrences of an event. It is done by adding. Some programs like communication via IPC This type of profiling because the segment is taking a long time to reach its limit. is not possible in real-time mode. Dedicated profile counters Used for profiling without interfering with execution.

各プロセッサプロファイルカウンタ616とコントローラプロファイルカウンタ 3301は、4つの機能、即ちロードカウンタ値、スタートカウンタ、ストップ カウンタ、リセットカウンタのうちの1つを実行するように対応するコントロー ラまたはプロセッサIW内で2ビツトでコントロールされる。カウンタから計数 値を読み取る機能は、レジスタへの書き込みオペレーションとしてコントロール され、レジスタがその結果を受け取る。プロセッサIW形式である図15aから 15dには、プロファイルカウンタコントロールフィールドが2ビツトフイール ドFCCとじて示されている。Each processor profile counter 616 and controller profile counter 3301 has four functions: load counter value, start counter, stop the corresponding controller to execute one of the following: counter, reset counter It is controlled by two bits within the controller or processor IW. Count from counter The ability to read a value is controlled as a write operation to a register. and the register receives the result. From Figure 15a, which is the processor IW format: 15d, the profile counter control field is a 2-bit file. FCC.

さらに、プロファイルカウンタが増加する前に出くわした命令の数は、PSW内 の2ビツトフイールドを設定することにより変更され得る。この2ビツトフイー ルドの4つの状態は、プロファイルカウンタ616を各々の命令の度に、または 各々の4つの16または64命令の度に増加するようにするのに使用され得る。Additionally, the number of instructions encountered before the profile counter is incremented is This can be changed by setting the 2-bit field . These two bit fees The four states of the field set the profile counter 616 on each instruction or It can be used to increment each four 16 or 64 instructions.

各プロセッサは128ワード(32ビツトワード)レジスタファイル(RF)6 0B (図6)を有する。各命令サイクルでは、4つの読み取りおよび2つの書 き込みまでが実行できる。そして、チップ上の並列化を増加し、メモリアクセス のボトルネックを減じることにより、機能ユニットを動作状態に保つのに必要な 帯域幅を与える。RF608は2つの入カポ−) (R11,RI2)と4つの 出力ポートを有し、それらはレジスタROI−RO4に向けられている。各命令 サイクルで、2つの32ビツトワードがRFf308に書き込まれ得て、4つの 32ビツトワードがRF608から読み取られ得る。レジスタ対(ROI、 R O2)と(RO3,RO4)はまた他のプロセッサリソースに対する64ビツト レジスタ対として使用され得る。Each processor has a 128-word (32-bit word) register file (RF)6 0B (Figure 6). Each instruction cycle has four reads and two writes. It can be executed up to the point of writing. and increases on-chip parallelism and memory access by reducing the bottlenecks required to keep functional units operational. Give bandwidth. RF608 has two input ports (R11, RI2) and four It has output ports, which are directed to registers ROI-RO4. each instruction In a cycle, two 32-bit words can be written to RFf308 and four A 32 bit word can be read from RF608. Register pair (ROI, R O2) and (RO3, RO4) are also 64 bits for other processor resources. Can be used as a register pair.

各プロセッサは8メガワード、デュアルポートのDRAMメモリ304(図3お よび33)を有している。コントローラはプロセッサIWの1ビツトを介してロ ーカルメモリを初期化する。各プロセッサが自分自身のローカルメモリを有して いるので、メモリに対するプロセッサ間の奪い合いは起こらない。各命令サイク ルで、2つの32ビツトワードメモリアクセスが実行され得て、メモリボトルネ ックを軽減することによりプロセッサが計算するためのメモリ帯域幅を2倍にす る。64ビツト値が、上位及び下位ワードを同時に読み取り/書き込みすること によりアクセスされ得る。メモリサイズは64のプロセッサのグループが2ギガ バイトまたは64の8Kx8にイメージを記録するのに十分なほど大きい。ロー カルメモリにわたるデータの構成は図1と同様である。Each processor has an 8 megaword, dual-port DRAM memory 304 (see Figure 3). and 33). The controller is loaded via one bit of the processor IW. initialize the internal memory. Each processor has its own local memory Therefore, there is no competition between processors for memory. Each instruction cycle Two 32-bit word memory accesses can be performed in the memory bottleneck. Doubles the memory bandwidth for processor calculations by reducing Ru. 64-bit value reads/writes upper and lower words simultaneously can be accessed by Memory size is 2 gigabytes for a group of 64 processors Large enough to record an image in 8Kx8 bytes or 64. Low The structure of data across the storage memory is similar to that in FIG.

2つのAGが、このうち1つは各プロセッサの各メモリポート用であるが、アド レス算術演算を行うので、メインALUはアドレス指定オペレーションに使用さ れない。AGはチェ’7り及び/又はアレイアクセスにおける一定の条件を強化 する必要を除去する特別なアドレス指定モードを有し、これによりより効率的に なる。Two AGs, one for each memory port on each processor, Since the main ALU is used for addressing operations, Not possible. AG enforces certain conditions on checks and/or array access has a special addressing mode that eliminates the need to Become.

AGはハードウェア領域のチェックをアレイについて行い、アレイアクセスにつ いてのストライド更新を計算できる。更に、いくつかの特別な境界条件がアレイ に対し規定され得る。The AG performs hardware area checks on the array and It is possible to calculate stride updates. In addition, some special boundary conditions can be defined for.

AGは6セツトのアドレス指定レジスタを共有し、アレイアクセスに対し4つの アドレス算術モード、すなわちノーマルモード、モジュロ算術モード、バウンデ ィングモード、およびバタフライ算術モードを使用する。The AGs share six sets of addressing registers, with four sets for array accesses. Address arithmetic mode, namely normal mode, modulo arithmetic mode, bound arithmetic mode, and butterfly arithmetic mode.

各プロセッサはプロセッサに条件付ロック実行機構を与える条件付ロックハード ウェアを有し、その機構はローカルデータの条件に基づいたコードを条件付実行 することにより、プロセッサがそれら自身をロックするようにすることにより、 MIMD方式でSIMDプロセッサを実行させる。プロセッサがコントローラ上 の命令ノーケンスからそれに送られた命令の代わりにNOP (ノーオペレーシ ョン)を実行するとき、プロセッサ実行状態は「ロックされている」と定義され る。ロック解除の命令がプロセッサIW内で出会うまでプロセッサはNOPを実 行し続ける。Each processor has a conditional lock hard drive that provides the processor with a conditional lock execution mechanism. The mechanism is conditional execution of code based on local data conditions. By causing processors to lock themselves, A SIMD processor is executed using the MIMD method. processor is on the controller NOP (no operation) instead of the command sent to it from the command nocence The processor execution state is defined as ``locked'' when executing Ru. The processor executes a NOP until an unlock instruction is encountered within the processor IW. keep going.

プロセッサをロックまたはロック解除する命令は構造化されたセグメント内で発 生し、このセグメントには[ビギンJ (’begin’)と「エンドJ (’ end’)文がある。これらのセグメントは「イフーゼンーエルスJ (’ 1 f−then−else’ )構造と同様であり、入れ子が可能である。ロック とロック解除の決定は常に最も近い入れ子構造に対して関係する。条件付ロック コードはコントロールフローでの変化を伴わない。命令はコントローラから順に 同報通信され、プロセッサがロック命令およびローカルデータ条件に基づいて実 行するコードのどれかを選択する。条件付ロック情報はプロセッサステータスワ ードに記録される。コンテキストを記録および引き出す命令がサポートされ、全 てのプロセッサがロック解除されるのを要求する割り込みがかかる。Instructions that lock or unlock the processor are issued within structured segments. This segment includes [begin J ('begin') and 'end J (' end') sentence. These segments are “If f-then-else') structure, and nesting is possible. rock and unlocking decisions always concern the nearest nested structure. conditional lock The code does not involve any changes in control flow. Instructions are given in order from the controller. broadcast and executed by the processor based on lock instructions and local data conditions. Select one of the codes to run. Conditional lock information is stored in the processor status recorded in the code. Context recording and retrieval instructions are supported and all An interrupt is generated requesting that all processors be unlocked.

AGはローカルメモリにアクセスするためアドレスを計算するプロセッサ構成要 素である。それは基本的なアドレッシングモード全てと規則的なアレイアクセス を効率的に計算するための更なるオペレーションを与える。■プロセッサにつき 2つのAGがあり、各ローカルメモリボートは専用のAGををする。AGはメモ リにアクセスするのにレジスタの共通のセットを使用する。8つのユーザベース レジスタ(tlBRo−UBR7)、8つのユーザリミットレジスタ(ULRO −ULR7)、1つのバンクセレクトレジスタ(BSR)、16個のベースレジ スタ(BRO−BR15)、16個のリミットレジスタ(LRO−LR15)、 8つのオフセットレジスタ(ORO−OR7)、および8つのストライドレジス タ(SRO−3R7)がある。AG is a processor component that calculates addresses to access local memory. It is basic. It includes all basic addressing modes and regular array access We give further operations for efficiently computing . ■Per processor There are two AGs, and each local memory boat has its own dedicated AG. AG is a memo uses a common set of registers to access the memory. 8 user bases register (tlBRo-UBR7), eight user limit registers (ULRO -ULR7), 1 bank select register (BSR), 16 base registers star (BRO-BR15), 16 limit registers (LRO-LR15), 8 offset registers (ORO-OR7) and 8 stride registers There is a model (SRO-3R7).

UBRとULRはローカルメモリの8つのバンクに対してプログラムデータのリ ミットをはずすのに使用されている。プログラム用のデータは各バンクに連続し て記録されなければならない。BSRはどのメモリバンクが動作中であるかを決 めるのに使用される3ビツトレジスタである。16個のBSRとLSRはアレイ データの構造のリミットをはずすのに使用されている。全てのアレイの指定はB Rに相対的であり、LRはアレイ構造への参照が範囲をはずれているかどうかを 決めるのにAGにより使用されている。8つのORがアレイ内で規定の位置を指 定するのに使用され、8つのSRがSRの内容によりオフセット値を更新するの に使用される。The UBR and ULR provide program data readout for eight banks of local memory. Used to remove mitts. Program data is stored consecutively in each bank. shall be recorded. The BSR determines which memory bank is active. This is a 3-bit register used to store data. 16 BSRs and LSRs are an array It is used to remove limits on the structure of data. Specify all arrays as B Relative to R, LR determines whether the reference to the array structure is out of scope. Used by the AG to make decisions. Eight ORs point to specific locations within the array. The eight SRs are used to update the offset value according to the contents of the SR. used for.

アドレスワードは次の形式、(1)絶対/IJB−相対アドレス指定、(3)バ ンクセレクト、および(20)メモリバンクアドレスを有する。The address word has the following format: (1) absolute/IJB-relative addressing, (3) buffer (20) memory bank address.

ACは23ビツトアドレスで動作し、最上位3ビツトはメモリバンクを指定し、 下位20ビツトはバンクメモリのメガワード(32ビツトワード)における1ワ ードを指定する。そのアドレスが32ビツト構成で記録されるので、アドレス指 定に使用されない9つの付加ビットが存在し、そのうちのいくつかは付加的な情 報を運ぶ。1ビツトはそのアドレスが絶対値もしくはユーザベース(UB)に相 対的な08値であるかどうかを決めるのに使用される。UB相対アドレス指定は プログラムデータにアクセスするときに使用される。この使用により、プログラ ムデータを再配置可能にする。υB相対アドレスがユーザリミット(L)値より 大きいかゼロより小さいならば、アクセス違反が発生する。絶対アドレス指定モ ードでは、アドレスはUB値に加えられない。このモードは分割システム情報に アクセスするのに使用され、この情報は下位ローカルメモリに記録されている。The AC operates on a 23-bit address, with the most significant 3 bits specifying the memory bank. The lower 20 bits correspond to one word in a megaword (32-bit word) of bank memory. Specify the code. Since the address is recorded in a 32-bit configuration, the address There are nine additional bits that are not regularly used, some of which contain additional information. carry news. 1 bit indicates that the address is relative to the absolute value or user base (UB). Used to determine whether it is a 08 value or not. UB relative addressing is Used when accessing program data. This use allows the program to make system data relocatable. υB relative address is less than the user limit (L) value If it is greater than or less than zero, an access violation occurs. Absolute addressing mode In the UB code, the address is not added to the UB value. This mode is used for split system information. This information is stored in lower local memory.

AGはBRO−OR15とLRO−LR15を使用する。ベースレジスタ(BR )はアレイやテーブルやストラフチャのような集合データのスタート位置を決め 、リミットレジスタは集合データのアドレス境界を決める。このことはハードウ ェアが領域チェックを実行時各メモリアクセスにおいて行うのを可能とする。O RとLRコントロールは8RXがLRXと共に使用されなければならないように 束縛される。下位8つのIIRO−BR7とLRO−LR7のみがベース−リミ ットオフセット−ストライド(BLO3)オペレーションて使用され得る。BR は24ビツト値を含み、そのうち20ビツトはアドレス用で、■ピントは絶対/ UB相対アドレス指定用で、3ビツトフイールドはBRメモリバンクを指定する 。リミットレジスタはBRに対してオフセットを制限する20ビツトを含む。AG uses BRO-OR15 and LRO-LR15. Base register (BR ) determines the starting position of aggregate data such as arrays, tables, and stractures. , the limit register determines the address boundaries of the aggregate data. This is hard Enables the software to perform region checks at runtime on each memory access. O R and LR controls are now 8RX must be used with LRX be bound. Only the bottom eight IIRO-BR7 and LRO-LR7 are base-limited. A set offset-stride (BLO3) operation may be used. B.R. contains a 24-bit value, of which 20 bits are for address, and ■focus is absolute/ For UB relative addressing, the 3-bit field specifies the BR memory bank. . The limit register contains 20 bits that limit the offset to BR.

AGはまた8つの21ビツトオフセツトレジスタ(ORO−OR7)と8つの2 0ビツトストライドレジスタ(SRO−3R7)を含む。これらのレジスタは規 則的なストライドでアレイに繰り返しアクセスするための効果的な手段を与える 。ベース−オフセント対(BRx、 0Rx)がアクセスされるべきアレイ要素 のアドレスを計算するのに使用された後、次にアレイアクセスを設定することに より、SRxの値がオフセットレジスタを更新するのに使用される。5RO−3 R7に対して更に、ハードワイヤド定数0、+1、および−lがストライド値と して利用可能である。OR値はストライドレジスタ値により自動的に更新され、 もしオフセットが更新される必要がなければ、ゼロのストライドが指定される。The AG also has eight 21-bit offset registers (ORO-OR7) and eight 21-bit offset registers (ORO-OR7). Contains a 0-bit stride register (SRO-3R7). These registers are Provides an effective means of repeatedly accessing the array with regular strides . Array element to which base-offcent pair (BRx, 0Rx) is to be accessed is used to calculate the address of Therefore, the value of SRx is used to update the offset register. 5RO-3 Additionally for R7, the hardwired constants 0, +1, and -l are the stride values. It is available as follows. The OR value is automatically updated by the stride register value, If the offset does not need to be updated, a stride of zero is specified.

もし新しいオフセット値が境界外(OOB)であれば、OOBビットがpswに 設定される。下位の8つのBRO−BR7とLRO−LR7のみがB1.OSオ ペレーションで使用され、BRxがLRx、ORx、およびSRxと共に使用さ れなければならないように、ハードウェアコントロールが束縛される。SRは2  。If the new offset value is out of bounds (OOB), the OOB bit is set in psw. Set. Only the lower eight BRO-BR7 and LRO-LR7 are B1. OS operation, and BRx is used with LRx, ORx, and SRx. Hardware controls are bound so that they must be SR is 2 .

1ビツトの2の補数を保持し、オフセットレジスタは正の20ビツト値を保持す る。It holds a 1-bit two's complement number, and the offset register holds a positive 20-bit value. Ru.

SRの使用の例は図7に示され、図中オフセットは初め2であり、ストライド値 は3である。逐次的なアレイアクセスは影の部分で示しである。アドレスは命令 サイクル毎に発生される。6つの利用可能なアドレス指定モードがあり、これら は即値(イミーディエイト)、レジスタ直接、直接、間接、ベース相対、および ベースインデックスである。最初の2つのアドレス指定モードはAGを使用しな いAGは即値モードでは使用されない。プロセッサオペレーションでの使用のた めにPIWの即値フィールドで値が指定される。AGはまたレジスタ直接モード でも使用されない。値がレジスタファイルから読み取られたり書き込まれたりす る。レジスタ直接読み取りはPIWのRol、RO2、RO3、又はRO4フィ ールドにレジスタファイルアドレスを指定することにより実行される。指定され たレジスタファイル位置の内容が、それから適当なROXレノスタ内にロードさ れる。レジスタ直接書き込みは、PIWのR11又はR12フイールドにレジス タファイルアドレスを指定することにより実行される。R1xポートの値は指定 されたレジスタファイル位置に書き込まれる。An example of the use of SR is shown in Figure 7, where the offset is initially 2 and the stride value is 3. Sequential array accesses are shown in shaded areas. address is a command Generated every cycle. There are six addressing modes available, these is immediate, register direct, direct, indirect, base relative, and This is the base index. The first two addressing modes do not use AG. A small AG is not used in immediate mode. For use in processor operations. A value is specified in the immediate field of the PIW for this purpose. AG is also register direct mode But it's not used. When values are read from or written to the register file. Ru. Register direct reads are performed using Rol, RO2, RO3, or RO4 files in the PIW. It is executed by specifying the register file address in the field. specified The contents of the registered register file location are then loaded into the appropriate ROX renostar. It will be done. Direct register writing is done by writing a register into the R11 or R12 field of the PIW. This is executed by specifying the data file address. Specify the R1x port value is written to the registered register file location.

直接アドレス指定モードでは、ローカルメモリに記録されたスカラーデータがロ ーカルメモリにアドレスを指定することによりアクセスされる。レジスタファイ ルにスカラーデータを記録するのはより効率的であるが、ローカルメモリにスカ ラーデータを記録する必要のある場合(例えばレジスタあふれ又はスカラー値が ポインタにより指定される非間接の場合)が存在する。アドレスはU[lRから の変位をダイレクトソース(DS)を用いて指定することにより指定される。有 効アドレスの計算は、有効アドレス−DS + UBy となる。In direct addressing mode, scalar data recorded in local memory is loaded. accessed by specifying an address in local memory. register file Although it is more efficient to record scalar data in local memory, If you need to record error data (e.g. register overflow or scalar values (non-indirect case specified by a pointer) exists. The address is from U[lR is specified by specifying the displacement using a direct source (DS). Yes The calculation of the effective address is: effective address - DS + UBy.

非間接アドレス指定モードはポインタにメモリ内のデータを入れるために最もよ く使用される。BRにはローカルメモリのデータのアドレスがロードされる。オ フセットはこのモードでは必要ないので、上位8つのBR8−BRI5にはまず 間接アドレス値がロードされるべきである。このモードはゼロ変位でのベース相 対アドレス指定に等しい。有効アドレスの計算は、有効アドレス= BRX+υ By となる。The non-indirect addressing mode is most commonly used to fill pointers with data in memory. often used. The address of data in local memory is loaded into BR. O The offset is not needed in this mode, so for the top 8 BR8-BRI5 An indirect address value should be loaded. This mode is the base phase at zero displacement. Equivalent to paired addressing. Calculation of effective address is as follows: Effective address = BRX + υ By.

ベース相対アドレス指定モードは構造体メンバーのアクセスおよび規則的なパタ ーンではアクセスされない(テーブルルノクアソブのような)アレイ内のランダ ムアクセスに最もよく使用される。BRには構造体又はアレイのような集合的な データ構造体のベースアドレスがロードされる。変位がDSを介してオフセット として送られる。オフセントはこのモードでは必要ないので、上位8つのBR8 −OR15にはまずベース相対アドレス値がロードされるべきである。アドレス 算術モードがベース相対アドレス指定に使用され得る。有効アドレスの計算は、 有効アドレス−BRX + DS + UBy となる。Base-relative addressing mode is for structure member access and regular pattern addressing. Randomizers in arrays (like table nodes) that are not accessed in the most commonly used for system access. BR has a collective structure such as a structure or an array. The base address of the data structure is loaded. Displacement offset via DS sent as. Offcents are not needed in this mode, so the top 8 BR8 -OR15 should first be loaded with the base relative address value. address Arithmetic mode may be used for base-relative addressing. Calculating the effective address is The effective address will be -BRX + DS + UBy.

ベースインデックスアドレス指定モードは規則的なパターンでアクセスされるア レイのために最もよく使用される。BR,リミットレジスタ、オフセットレジス タ、およびストライドレジスタには初期値がロードされる。有効アドレスが発生 された後に、オフセント値がストライド値を加えることにより更新される。下位 8つのBRO−BR7とLRO−LR7のみがBLOSオペレーンヨンのために 使用され得る。アドレス算術モードはベースインデックスアドレス指定で使用さ れ得る。有効アドレスの計算は、有効アドレス=BRx + ORx + UB y および 0RX=ORX + SRXとなる。Base index addressing mode is for addresses that are accessed in a regular pattern. Most commonly used for lei. BR, limit register, offset register Initial values are loaded into the register and stride register. Valid address occurs After the offset value is updated, the offset value is updated by adding the stride value. subordinate Only 8 BRO-BR7 and LRO-LR7 for BLOS operation lanes can be used. Address arithmetic mode is used with base index addressing. It can be done. Calculation of effective address is as follows: Effective address = BRx + ORx + UB y and 0RX = ORX + SRX.

ベース相対およびベースインデックスアドレス指定モードに関連して使用される 4つのアドレス算術モード(AAM)がある。これらの特別な目的のモードは共 通形式でのアレイアクセスにおける計算を減じるのに使用される。これらのモー ドではハードウェア内で実行され、ローカルメモリ内の1次元アレイに操作する 。Used in conjunction with base relative and base index addressing modes There are four address arithmetic modes (AAM). These special purpose modes are Used to reduce computations in accessing arrays in standard format. These modes is executed in hardware and operates on one-dimensional arrays in local memory. .

それらは、モジュロ算術モード、バウンデングモード、バタフライ算術モード、 およびノーマルモードである。They are modulo arithmetic mode, bounding mode, butterfly arithmetic mode, and normal mode.

モジュロ算術モードは境界外のアレイアクセスをモジュロ算術を用いたアレイ内 にマツピングする。モジュロ値はリミットレジスタ値により与えられる。アレイ アクセスが境界外のときは、バウンデングモードはユーザが指定した境界条件の アドレスを与える。バタフライ算術モードは、高速フーリエ変換CFFT)の段 階のための全てのバタフライのアドレスを発生する。境界外アクセスが修正され ても、ノーマルモードは何もしない。Modulo arithmetic mode converts out-of-bounds array accesses into arrays using modulo arithmetic. Map to. The modulo value is given by the limit register value. array When the access is out of bounds, the bounding mode is set to the bounding condition specified by the user. Give address. Butterfly arithmetic mode is a fast Fourier transform (CFFT) stage. Generate all butterfly addresses for the floor. Out of bounds access fixed However, normal mode does nothing.

ベース相対アドレス指定では、モジュロ算術の有効アドレスが、I)3=D3モ ジュロ1.Rxおよび有効アドレス−BRx + DS +υBYにより計算さ れる。With base-relative addressing, the effective address of modulo arithmetic is Juro 1. Calculated by Rx and effective address - BRx + DS + υBY It will be done.

ベースインデックスアドレス指定モードでは、モジュロ算術の有効アドレスが計 算され、有効アドレスが有効アドレス=BRX + ORx + 1JBy こ こでOR1= (ORx + SRX )モジュロLRx により発生された後 に、オフセットが更新される。In base index addressing mode, the effective address of modulo arithmetic is The effective address is calculated as follows: Effective address = BRX + ORx + 1JBy Here, OR1 = (ORx + SRX) after being generated by modulo LRx , the offset is updated.

モジュロ操作は次のように計算される。The modulo operation is calculated as follows.

X=X −LRX (X>=LRX (7)とき)X=X + LRx (X< Oのとき)X=X <その他のとき) モジュロ算術モードの例では、図8を見ると、2次元アレイがプロセッサにわた り、各プロセッサに1つの列となるように分布している。アレイAの列30への データを有するプロセッサは、100の要素列に対する99の上限リミットより 大きいオフセット150を発生する。このモードの下で、境界すなわち要素50 内にある新しいオフセットを生じるのために、リミット値がオフセットから差し 引かれる。このモードはまたオフセットがゼロより小さいかどうかをチェックし 、もしそうなら、アレイ境界内にある新しいオフセットを生じるようにリミット 値にオフセットを加える。X=X −LRX (when X>=LRX (7)) X=X + LRx (X< When O) X=X <Other times) In the modulo arithmetic mode example, looking at Figure 8, a two-dimensional array is passed to the processor. They are distributed in one column for each processor. to column 30 of array A. A processor with data has an upper limit of 99 for a sequence of 100 elements. Generates a large offset of 150. Under this mode, the border or element 50 The limit value is deducted from the offset to yield a new offset within I am drawn to it. This mode also checks if the offset is less than zero. , if so, limit to yield a new offset that is within the array bounds Add an offset to the value.

バウンデングモードでは、アレイアクセスが境界外になると、オフセット値は境 界条件値のアドレス位置と置き換えられる。これは次のように行われる。即ち、 デフオールドの境界条件がすぐに最後のアレイ位置に続く位置に記録され、その 結果、それは位置(BRX + LRX)に記録される。境界外のアドレスが検 出されると、ACはアドレス(BRx + LRx)を返し、これは境界条件値 の位置である。In bounding mode, when an array access goes out of bounds, the offset value Replaced with the address location of the boundary condition value. This is done as follows. That is, A default boundary condition is recorded immediately following the last array position and its As a result, it is recorded at position (BRX + LRX). An out-of-bounds address is detected. When issued, the AC returns the address (BRx + LRx), which is the boundary condition value This is the position of

ベース相対アドレス指定モードでは、バウンデングモードの有効アドレスは、有 効アドレス= BRx÷境界(DS) + uoy として計算される。In base-relative addressing mode, the effective address in bounding mode is It is calculated as effective address=BRx÷boundary (DS)+uoy.

ベースインデックスアドレス指定モードでは、モジュロ算術の有効アドレスは、 を効アドレス−BRX + ORX + UByここで、OR1=境界(ORx  + 5Rx)として計算される。In base index addressing mode, the effective address for modulo arithmetic is The effective address - BRX + ORX + UBy where, OR1 = boundary (ORx +5Rx).

境界オフセット操作の境界(X)は、 X=X (0>=X>LRx O)場合)X=LRx (その他の場合) バウンデングモードの例では、図9を見ると、2次元アレイがプロセッサにわた り、各プロセッサに1つの列となるように分布している。アレイAの列30への データを有するプロセッサはオフセット120を発生し、これは100の要素列 に対する99の上限より大きい。従って、アレイ要素A[30,120]がアク セスされるときに、値ゼロが返される。The boundary (X) of the boundary offset operation is X=X (0>=X>LRx O)) X=LRx (other cases) In the bounding mode example, looking at Figure 9, a two-dimensional array is passed to the processor. They are distributed in one column for each processor. to column 30 of array A. A processor with data generates an offset 120, which is a 100 element sequence greater than the upper limit of 99 for . Therefore, array element A[30,120] is activated. When accessed, a value of zero is returned.

AGは2つのモード、即ちアドレス発生モードとアドレスレジスタにロードおよ び書き込みするためのセットアツプモードを有する。このモードはPIW内のア ドレス発生モードビットにより決められる。両方のAGがこのビットを共有し、 従って両方のAGは常に同じオペレーションモードにある。The AG operates in two modes: address generation mode and address register load and It has a setup mode for writing and writing. This mode is Determined by the address generation mode bit. Both AGs share this bit, Therefore both AGs are always in the same mode of operation.

セットアツプモードでは、プロセッサ命令フィールド内のlOビットAGフィー ルドは次のフォーマット、即ち(2)読み取り/書き込みイネーブル、NOP、 (2)直接ソース選択、(3)レジスタ選択(3)レジスタ番号を有する。In setup mode, the lO bit AG field in the processor instruction field is The field has the following format: (2) read/write enable, NOP; It has (2) direct source selection, (3) register selection, and (3) register number.

2ビット読み取り/書き込みイネーブルフィールドが、レジスタがAGレジスタ ファイルセットに読み取りされるかもしくはRAMに書き込みされるかを決定す る。書き込み動作がRAMになされたときに、対応するRAM命令フィールドも また書き込みを指定しなければならない。AGがレジスタ値をRAMに書き込み するときに、RAMフィールドの書き込みデータ選択フィールド選択をその書き 込み動作が上書きする。2ビットDS選択は、AGレジスタファイルセット内に データをロードするためのソース選択を決定する。2-bit read/write enable field, register is AG register Determines whether it is read into a fileset or written to RAM. Ru. When a write operation is made to RAM, the corresponding RAM instruction field is also You must also specify writing. AG writes register value to RAM When writing, select the write data selection field of the RAM field. The loading operation overwrites it. 2-bit DS selection is in the AG register file set. Determine source selection for loading data.

3ビツトレジスタ選択はロードされるべきレジスタを選ぶ。レジスタセットには 、1)tlBo−UO3,2)ULO−UL7.3)BRO−OR7,4)OR 8−OR15,5)LRO−LR7,6)LR8−LR15,7)ORO−OR 7,8)SRO−3R7がある。The 3-bit register select selects the register to be loaded. In the register set , 1) tlBo-UO3, 2) ULO-UL7.3) BRO-OR7, 4) OR 8-OR15,5)LRO-LR7,6)LR8-LR15,7)ORO-OR 7,8) There is SRO-3R7.

3ビツトレジスタ番号フィールドは8つの動作中のレジスタのセットのうちのど れかのレジスタを選ぶ。The 3-bit register number field indicates which of the set of eight active registers. Select one of the registers.

アドレス発生モードでは、PIWは以下のフォーマットを有する。In address generation mode, the PIW has the following format:

(2)アドレス指定モード 00 直接アドレス指定 01 間接アドレス指定 IOベース相対アドレス指定 II ベースインデックスアドレス指定(2)直接ソース選択 (直接、ベース相対アドレス指定モードに有効)(2)AAM選択 (ベース相対、ベースインデックスアドレス指定モードに有効)00 モジュロ 算術モード Ol バウンデングモード IOノーマルモード 11 バタフライ算術モード (2)ストライド選択 (ベースインデックスアドレス指定モードに有効)00 定数0 01 定数1 10 定数−1 11BLOSレジスタ選択で指定されるストライドレジスタを使用(3)BLO Sレジスタ選択 (ベースインデックスアドレス指定に有効)(4)ペースレノスタ選択 (間接、ベース相対アドレス指定モードに有効)アドレス発生命令フォーマット 直接アドレス 00 xxdd XXXX間接アトレア、01 xxxx bb bbベース相対アドレス 10 mmdd bbbbベースインデックス 11  mm5s 0bbbbbbb : BR選択 0bbb : BLO3選択 dd: 直接ソース選択 mm: アドレス算術モード選択 SS6 ストライド選択 xx、 未使用 AGの活用の例として、次の2つの3x3行列の掛は算を考えよう。(2) Addressing mode 00 Direct addressing 01 Indirect addressing IO-based relative addressing II Base index addressing (2) Direct source selection (Valid for direct and base relative addressing modes) (2) AAM selection (Effective for base relative and base index addressing modes) 00 modulo Arithmetic mode Ol bounding mode IO normal mode 11 Butterfly arithmetic mode (2) Stride selection (Effective for base index addressing mode) 00 Constant 0 01 constant 1 10 constant -1 11 Use the stride register specified by BLOS register selection (3) BLO S register selection (Effective for base index address specification) (4) Pace renostar selection (Valid for indirect and base relative addressing modes) Address generation instruction format Direct address 00 xxdd XXXX indirect atrea, 01 xxxxx bb bb base relative address 10 mmdd bbbb base index 11 mm5s 0bbbbbbbb: BR selection 0bbb: BLO3 selection dd: Direct source selection mm: Address arithmetic mode selection SS6 Stride selection xx, unused As an example of using AG, consider the following multiplication of two 3x3 matrices.

CI=A1xB1+A2xB4+A3xB7C4=A4XB1+A5XB4+Δ 6xB7C7=A7xBl+A8xB4+A9xB7効率を高めるために、多く の計算システムでは、アドレス計算を減らすためおよび/またはキャッシュの使 用を最大にするためにデータを行の大きい形式のIつの行列と列の大きい形式の その他の行列に記録する。しかしながら、AGはストライド更新機能を有してい るので、SE上で行列データは一貫した形式で記録され得る。特に、両方の行列 用のデータは行の大きい形式で記録され得る。2番目の行列(その列は計算に使 用されている)が、行の大きい形式に記録されている3x3アレイ用の同じ列の 要素間の距離が3のストライドを使用している間に、1番目の行列(その行は計 算に使用されている)は距離が1のストライドを使用するAGはALUをアドレ ス算術計算から解放するので、性能が増す。事実、非常にきついバイブラインル ープがプロセッサリソースにより形成される。図10はプロセッサの効率を示す リソース活用テーブルである。テーブルの行はリソースを表わし、列は命令サイ クルを表わす。影の部分は特定の命令サイクルに対するリソースの活用を表わす 。このテーブルは計算結果を示す行列の列をめるための計算を表わす。CI=A1xB1+A2xB4+A3xB7C4=A4XB1+A5XB4+Δ 6xB7C7 = A7xBl + A8xB4 + A9xB7 To increase efficiency, calculation systems, to reduce address calculations and/or use caches. To maximize usage, the data is divided into one matrix in large row format and one matrix in large column format. Record in other matrices. However, AG does not have a stride update function. Therefore, matrix data can be recorded in a consistent format on the SE. In particular, both matrices Data for can be recorded in large format in rows. the second matrix (its columns are used in the calculation) ) in the same column for a 3x3 array recorded in row large format. While using a stride with a distance of 3 between elements, the first matrix (its rows are (used in the calculation) uses a stride with a distance of 1. This improves performance by freeing you from arithmetic calculations. In fact, a very tight vibrator A group is formed by processor resources. Figure 10 shows the efficiency of the processor This is a resource utilization table. The rows of the table represent resources, and the columns represent instruction sizes. Represents Kuru. The shaded area represents resource utilization for a particular instruction cycle. . This table represents calculations for filling the columns of a matrix that represents calculation results.

バイブライン計算は次の様に進める。最初の命令サイクルで、2つの行列のアド レスが発生される。次の命令サイクルで、ローカルメモリから値が取り出される 。メモリポートは乗算器への入力であるので、これらの値はそれから次のサイク ルで掛は合わされ得る。それからその積は次のサイクルで蓄積される。それから 、その結果の行列の要素が一時的にレジスタファイルに記録される。異なるリソ ースが計算の各段階および各リソースに対して互いに独立に動作するので、詰ま ったバイブライン計算が発生する。The vibration line calculation proceeds as follows. Add two matrices in the first instruction cycle A response is generated. The value is retrieved from local memory on the next instruction cycle. . Since the memory ports are inputs to the multiplier, these values are then used for the next cycle. Multiplies can be combined in The product is then accumulated in the next cycle. after that , the elements of the resulting matrix are temporarily recorded in the register file. different litho The resources work independently for each step of the computation and each resource, eliminating blockages. Vibration line calculation will occur.

上記のバイブラインによる方法を使用すると、NxN行列の掛は算は(N2+4 N+6)回の命令を必要とする。行列の掛は算は総計で(2N3−N2)回の算 術オペレーションを必要とする。Using the Vibrine method above, the multiplication of an NxN matrix is (N2+4 It requires N+6) instructions. Matrix multiplication is a total of (2N3-N2) times. Requires surgical operation.

専用ハードウェアマツチャ604は効果的に任意の長さのデータシーケンス間の マツチナンバーを計数する。マツチャはマツチ計数が蓄積され得るようにALL Iの前に位置される。マツチャはPIW内の乗算器と命令フィールド共有する。The dedicated hardware matcher 604 effectively matches data sequences of arbitrary length. Count the match numbers. Matsucha is ALL so that Matsuchi counts can be accumulated. It is located in front of I. The matcher shares an instruction field with the multiplier in the PIW.

乗算器のように、XとYデータソースおよび結果を記録するためのPレジスタを 使用する。掛は算オペレーションはマツチオペレーションに直交している(すな わち、マツチ動作中は掛は算は必要とされなく、掛は真中はマツチ動作は必要と されない)ので、この設計が採用された。Like a multiplier, it has X and Y data sources and a P register to record the result. use. The multiplication operation is orthogonal to the match operation (i.e. In other words, during the match operation, multiplication is not required, and when the match is in the middle, the match operation is not required. ), this design was adopted.

マツチャはパックデータワードのデータシーケンスを操作する。2つ以上のより 小さい大きさのデータワードが1つの32ビツトワード内に置かれたときに、デ ータがパックされる。マツチャは各命令サイクルで2つの32ビツト値をマツチ でき、Pレジスタ内でのいくつかのパックワードマツチを記録する。Pレジスタ 内に記録された値は、それからALUへ入力され、累積され得る。Matscha operates on data sequences of packed data words. two or more twists When data words of small size are placed within one 32-bit word, data is packed. The matcher matches two 32-bit values in each instruction cycle. and records several packed word matches in the P register. P register The values recorded within can then be input to the ALU and accumulated.

32ビツト入カワードはパックデータとしてマツチャにより変換される。各32 ビツトワードはより小さいサイズの複数ワードを表わし得る。入力に対する可能 なマツチ形式としては、■ビット、32ワード:2ビツト、16ワード、3ビツ ト、IOワード;4ビツト、8ワード、5ビツト、6ワード、6ビツト、5ワー ド:7ビツト、4ワード;8ビツト、4ワード、16ビツト、2ワード、32ビ ツト、1ワードがある。A 32-bit keyword is converted by a matcher as packed data. 32 each Bitwords may represent multiple words of smaller size. Possible for input The following match formats are: ■Bit, 32 words: 2 bits, 16 words, 3 bits bit, IO word; 4 bit, 8 word, 5 bit, 6 word, 6 bit, 5 word Code: 7 bits, 4 words; 8 bits, 4 words, 16 bits, 2 words, 32 bits Tsuto, there is one word.

3.5.6.7ビツトワ一ド形式はマツチャに無視される未使用ビットを有する 。マツチ形式は(マツチャに置かれた)Bレジスタをそのマツチ形式でロードす るセットアツプ命令において決められる。例として、図11に示された2つの3 2ビツトデータワードを考えよう。もし、Bレジスタがパックワードのサイズが 4であるように初期化されるなら、5つのマツチが記録されるであろう。3.5.6.7 Bitword format has unused bits ignored by matcher . The match format loads the B register (placed in the match format) in that match format. Determined in the set-up command. As an example, the two 3 Consider a 2-bit data word. If the B register is packed word size If initialized to be 4, 5 matches will be recorded.

頭字語 Is Iの補数 2S 2の補数 八〇〇 アキュムレータ ACMR補助ALU条件マスクレジスタADR補助AL[Iデータレジスタ 届 アドレス発生器 ALIN アクティブロッキング識別子数ALU 算術論理演算装置 AuxALLl 補助ALIJ BLO3ベース−リミット−オフセット−ストライドBRベースレジスタ CID 通信識別子 CIDR通信識別子レジスタ CLC3条件付ロッキングコードセグメントDICデータ入力チャンネル DOCデータ出力チャンネル DS 直接ソース EB エンジンブロック FAG フレームアドレス発生器 FBRフレームベースレジスタ FIFO先入れ先出し方式 FITSRFIFO入力タイミングンーケノーレジスタFORフレームオフセッ トレジスタ FOTSRFIFO出力タイミングシーケンスレジスタGE ゼロ以上 GOR大域的0R GT より大きい 1110 ホスト人力/出力 +11ORホスト人力/出力レジスタ HRQ ホスト要求待ち行列 1/F 整数/浮動少数点 I10 人力/出力 IC集積回路 IMD 即値 INE 不正確な 10Mc 人力/出力メモリコントローラ10Q 入力/出力待ち行列 103 人力/出力サーバー IPc プロセッサ間連絡 マツチは、必ずしも32ビツトワードの境界で開始していないので、バックデー タシーケンスを整合させることは複雑になる。32ビツトワード内において、す べての可能性のあるバックワードの開始位置を表示する1セツトのテンプレート を定義しなければならない。本実施例においては、32ビツトワードに対して四 つのバックワードがあるので、マツチは、Dシーケンスの32ビツトワード内に おいて、第11第2、第3、又は第4のバックワードにおいて開始される。こう して、四つのマツチテンプレートがこの場合をカバーするために定義されなけれ ばならない。図12は、七つのASCIIキャラクタシーケンスに使用するマツ チテンプレートの集合を示している。テンプレートの空部骨は、Dシーケンスに 使用されないキャラクタに対して初期化されて、誤マツチが生じないことが保証 される。acronym Is Complement of I 2S 2's complement 800 accumulator ACMR auxiliary ALU condition mask register ADR auxiliary AL [I data register Notification address generator ALIN Active locking identifier number ALU Arithmetic logic unit AuxALLl Auxiliary ALIJ BLO3 base-limit-offset-stride BR base register CID communication identifier CIDR communication identifier register CLC3 conditional locking code segment DIC data input channel DOC data output channel DS direct source EB engine block FAG frame address generator FBR frame base register FIFO first-in first-out method FITSRFIFO input timing - Keno register FOR frame offset tre register FOTSRFIFO output timing sequence register GE zero or more GOR global 0R Bigger than GT 1110 Host human power/output +11OR host human power/output register HRQ host request queue 1/F integer/floating point I10 Human power/output IC integrated circuit IMD immediate value INE inaccurate 10Mc human power/output memory controller 10Q input/output queue 103 Human power/output server IPc inter-processor communication Matsushi does not necessarily start on a 32-bit word boundary, so Aligning data sequences becomes complex. Within a 32-bit word, all One set of templates showing all possible backward starting positions must be defined. In this example, for a 32-bit word, four Since there are two backward words, the match is within the 32-bit word of the D sequence. , starting at the eleventh second, third, or fourth backward. like this and four match templates must be defined to cover this case. Must be. Figure 12 shows the pine tree used for the seven ASCII character sequences. It shows a set of templates. The empty bones of the template are in the D sequence. Initialized for unused characters to ensure no false matches be done.

正確なマツチを行うために、各テンプレートは同一サイズのDシーケンスと整合 する。そのテンプレートのすべてがサブノーケンスと比較された場合、マツチシ ーケンス比較は32ビツトワードによってDシーケンスに相対的にシフトされる 。このことは、図13で説明されている。これにより、Dのすべてのキャラクタ サブノーケンスがマツチシーケンスに対して整合していることが保証される。For accurate matching, each template must be matched with a D-sequence of the same size. do. If all of its templates are compared with subnokens, sequence comparisons are shifted relative to the D sequence by 32 bit words. . This is illustrated in FIG. This allows all characters of D It is guaranteed that the subnocence is consistent with the matching sequence.

マツチナンバーはPレジスタに記憶されて、ALUにより累積される。The match number is stored in the P register and accumulated by the ALU.

Pレジスタの内容をマツチシーケンス長と比較することにより整合が正確である ことがわかる。この比較は、Pレジスタの内容をマツチシーケンス長と比較する ことによって、AL[Iにおいて実行される。本実施例においては、この整合結 果は、マツチシーケンスにおけるチャラクタ数であるナンバー7と比較されなけ ればならない。The match is accurate by comparing the contents of the P register with the match sequence length. I understand that. This comparison compares the contents of the P register with the match sequence length. is executed in AL[I. In this example, this matching connection is The result must be compared with number 7, which is the number of characters in the match sequence. Must be.

プロセッサに局所的データ条件に基づいて条件付き実行コードの性能を与える実 行メカニズムを次に説明する。条件付きロッキングを概観した後に、プロセッサ のオペレーションの説明を行い、条件付きロッキングを実行するためのハードウ ェア要件を定義して、いくつかの疑似コード例を提示する。An implementation that gives the processor the performance of conditionally executed code based on local data conditions. The row mechanism will be explained next. After reviewing conditional locking, the processor describes the operation of and describes the hardware for performing conditional locking. We define the hardware requirements and present some pseudocode examples.

制御装置の命令シーケンサから送付される命令のかわりに、プロセッサがN0P s(演算なし)を実行した場合はプロセッサ状態は’ 1ocked’である。Instead of instructions sent from the control unit's instruction sequencer, the processor When s (no operation) is executed, the processor state is '1ocked'.

逆に、制御装置が送付した命令を実行した場合はプロセッサは°unlocke d’である。プロセッサがロックの場合には、制御装置がアンロックのコマンド を与えるまでは、N0Psを実行する。プロセッサがアンロックの場合には、I PCはなお演算状態にあり、アンロックの時期を決定するために、特定のブック キーピング操作がプロセッサによってなお実行される。Conversely, if the control device executes the instructions sent, the processor unlocks the d'. If the processor is locked, the control unit issues an unlock command. N0Ps are executed until . If the processor is unlocked, I The PC is still in a computing state and requires a specific book to determine when to unlock. Keeping operations are still performed by the processor.

条件付きロッキングメカニズムは、SIMD環境における条件付きコードの実行 にむくに十分高性能である。条件付きコードは、追加の命令オーバーヘッドを受 けるほど制御フローに変更をもたらすことなく実行できる。プロセッサ状態を変 更する決定は、条件付き07キングコードセグメント(Conditional  Locking CodeSeg+oent:ClO2)内にて行われる。C lO2は、begin文とend文によって区切られたアセンブリ言語レベルコ ンストラクトである。各CLC3は、ロック10ナンバー(Lock ID N umber:LIN)と関係する。CLC3内の命令は、pswからの情報に基 づいて、プロセッサをロックしアンロックする。Conditional locking mechanisms allow conditional code execution in SIMD environments. It has sufficient performance for many purposes. Conditional code incurs additional instruction overhead. This can be done without any changes to the control flow. Change processor state The decision to change the conditional 07 King code segment (Conditional Locking CodeSeg+oent: ClO2). C lO2 is an assembly language level code separated by begin and end statements. It is a structure. Each CLC3 has a lock 10 number (Lock ID N umber:LIN). Instructions in CLC3 are based on information from psw. then lock and unlock the processor.

ClO2は、最高級レベル言語でサポートされた゛1f−theローelse’ コンストラクトに類似する形式である。’ then’文本体どelse’文本 体の開本体相互に排他的実行条件があり、いずれかの文本体は、プロセッサによ って実行されるが両者共ではない。CLC3sは入れ子にすることができるが、 オーバーラツプはできない(CLC3Iが開始して次にClO32が開始する場 合には、ClO32はCLC3Iが終了する前に終了しなければならない)。ClO2 is supported by the highest level languages. It has a format similar to a construct. 'then' body of sentence else' body of sentence There are mutually exclusive execution conditions such that either statement body cannot be executed by the processor. is executed, but not both. CLC3s can be nested, but No overlap (if CLC3I starts and then ClO32 starts) ClO32 must be terminated before CLC3I is terminated).

条件付きでプロセッサをロックしアンロックするために、下記のオペレーション がなされる。即ち、l) Begin ClO5; 2) End ClO2;  3) Conditional Lock (条件付き) ; 4 ) Co nditional Unlock ; 5 ) Conditional [ !Ise ; 6 ) In狽■窒窒浮垂■ Unlock ; 7) Interrupt Re5tore ;及び8)N OPである。To conditionally lock and unlock the processor, use the following operations: will be done. That is, l) Begin ClO5; 2) End ClO2; 3) Conditional Lock (conditional); 4) Co Conditional Unlock; 5) Conditional [ ! Ise ; 6  In狽■Nitrogen buoyancy■ Unlock; 7) Interrupt Re5tore; and 8) N It is OP.

Begin ClO2とEnd ClO2は、ClO2を区切るために使用され る。命令に与えられた条件が満たされた場合、Conditional Loc k命令はプロセッサをロックする。Conditional Unlock命令 は、カレント(高集積され入れ子された) ClO3上でロックされているすべ てのプロセッサをアンロックする。Conditional [!Ise命令は 、カレントClO3内においてコードを実行していないすべてのプロセッサをア ンロックしており、カレントClO3内においてコードを実行したすべてのプロ セッサをロックしている。Interrupt Unlock命令は、割り込み が生じるか、すべてのプロセッサをアンロックにする文脈節スイッチの間に、使 用される。Interrupt Re5toreは、Interrupt Un lock命令が実行される前にプロセッサ状態を復元するために使用される。Begin ClO2 and End ClO2 are used to separate ClO2 Ru. Conditional Loc if the condition given to the instruction is met The k instruction locks the processor. Conditional Unlock instruction is all locked on the current (highly integrated and nested) ClO3 Unlock all processors. Conditional [! The Ise command is , all processors not executing code in the current ClO3 are All programs that are locked and have executed code within the current ClO3 Sessa is locked. Interrupt Unlock instruction occurs or during a context clause switch that unlocks all processors. used. Interrupt Re5tore is Interrupt Un Used to restore processor state before the lock instruction is executed.

CLC3例は、ClO2が1f(hen−elseコンストラクトに類似させる 方法を説明するために提示されている。The CLC3 example shows that ClO2 is 1f (to resemble a hen-else construct Presented to illustrate the method.

1f(conditionl) Begin CLC3then Condit ional Lock(not conditionl)statement  1 statement 1else 1f(condijion2) Con ditional ElseConditional Lock(not co ndition2)statement 2 statement 2else  Conditional Elsestatement 3 stateme nt 3End ClO2 下記ハードウェアサポートは、条件付きロッキングをサポートするためにプロセ ッサによって使用される。1f (conditionl) Begin CLC3thenCondit ional Lock (not condition) statement 1 statement 1 else 1f (condition2) Con dional ElseConditional Lock(not co ndition2) statement 2 statement 2 else Conditional Elsestatement 3 stateme nt 3End ClO2 The following hardware supports the process to support conditional locking. used by the

ALINカウンタ アクティブLINナンバー(ALIN)は、実行されたカレ ントCLC3のLINナンバーである。ALIN counter Active LIN number (ALIN) This is the LIN number of the client CLC3.

LINレンスタ:LIN値は、プロセッサがロックされたClO2のナンバーで ある。LIN Lenster: The LIN value is the number of ClO2 that the processor is locked to. be.

プロセッサがアンロックの場合には、ALINとLINは同一である。If the processor is unlocked, ALIN and LIN are the same.

Condレジスタ: Condレジスタは、プロセッサをロックする条件付きて PSWを含んでいる。Cond register: The Cond register is a conditional register that locks the processor. Contains PSW.

C状態ビット: C(Context)状態ビットは、PSWに位置しているが 、プロセッサの状態を決定する。ビットが設定された場合には、プロセッサはロ ックされて、ビットが設定されていない場合には、プロセッサはアンロックされ る。C status bit: The C (Context) status bit is located in the PSW. , determine the state of the processor. If the bit is set, the processor will If the bit is not set, the processor is unlocked. Ru.

X状態ビット: X(Executed)状態ビットは、pswに位置している が、CLC3内において、文本体相互の排他的実行を行う。Xビットを抑制する と相互の排他性を抑制することになる。X status bit: The X (Executed) status bit is located in psw However, within CLC3, mutually exclusive execution of statement bodies is performed. suppress X bit and mutual exclusivity.

PLINレジスタ: Previous LINレジスタ(PLIN)は、割り 込みが生じた時にLINが記憶されている場所である。PLIN register: Previous LIN register (PLIN) This is where the LIN is stored when a problem occurs.

PCandレジスタ: Previous Conditionレジスタ(PC and)は、割り込みが生じた時にConditionレジスタが記憶されてい る場所である。PCand register: Previous Condition register (PC and) means that the Condition register is stored when the interrupt occurs. It is a place where you can

PC状態ビット・Previous Context(PC)状態ビットは、割 り込みが生じた時にC状態ビットが記憶されている場所である。PC status bit/Previous Context (PC) status bit This is where the C status bit is stored when a crash occurs.

PX状態ビット: Previous Executed(PX)状態ビットは 、割り込みが生した時にX状態ビットが記憶されている場所である。PX status bit: Previous Executed (PX) status bit , is where the X status bit is stored when the interrupt occurs.

一般的に、ALINカウンタ値は、ClO5がエンターされると増加し、ClO 2がイグジットされると減少する。こうして、ALIN値はClO3入れ子レベ ルと等価である。ALIN値はすべてのプロセッサにおいて同一であり、プロセ ッサがロックされても増加減少する。Generally, the ALIN counter value increases as ClO5 is entered and ClO It decreases when 2 is exited. Thus, the ALIN value is determined by the ClO3 nesting level. is equivalent to The ALIN value is the same for all processors and Increases and decreases even if the sensor is locked.

第2の値は、LIN値と呼ぶが、ClO2がプロセッサをロックさせたことを記 録する。この情報はCLC3sが入れ子とされた状態に必要であり、プロセッサ をロックしたのは外部CLC3か内部CLC5かを判定しなければならない。プ ロセッサがアンロックされた場合には、LIN値はALIN値と同一である。プ ロセッサがロックされた場合は、LIN数はALIN数以下である。The second value, called the LIN value, records that ClO2 caused the processor to lock up. Record. This information is necessary for CLC3s to be nested and the processor It must be determined whether the external CLC 3 or the internal CLC 5 has locked the external CLC 3 or internal CLC 5. P If the processor is unlocked, the LIN value is the same as the ALIN value. P If the processor is locked, the number of LINs is less than or equal to the number of ALINs.

プロセッサを条件付きにロックした場合には、PSWはCondレジスタに記憶 され、LIN値はもはやALIN値に影響されない。Cビットはプロセッサをロ ックしているPSWに設定されている。コードに条件付きアンロック命令がある 場合には、プロセッサを条件付きにアンロックするが、LIN値はALIN値と 同一である。こうして、アンロッキング命令は常に高集積され入れ子されたCl O2に適用される。プロセッサは4つの命令のうちの1つによりアンロックされ る。即ち、Conditio口aIUnlock、 Conditional  Else、 Interrupt Unlock、(条件付きコードセグメント の終了信号を送る) End#CLC3命令である。If the processor is conditionally locked, the PSW is stored in the Cond register. and the LIN value is no longer affected by the ALIN value. The C bit locks the processor. is set in the PSW being checked. Your code has a conditional unlock instruction conditionally unlocks the processor, but the LIN value is different from the ALIN value. are the same. Thus, the unlocking instruction always Applies to O2. The processor is unlocked by one of four instructions. Ru. That is, Conditional Unlock, Conditional Else, Interrupt Unlock, (conditional code segment This is the End#CLC3 command.

Xビットは、CLC3内の相互の排他的実行性に効力をもたせるために使用され る。CLC3内でコードが実行される場合には、Xビットがすべてのアンロツタ 状態のプロセッサに設定される。ClO2の°else’句が実行された場合に は、Xビットが実行していないプロセッサを決定するために使用される。プロセ ッサのXビットがまだ設定されていない場合は、CLC3内の文本体は未実行で ある。The X bit is used to effect mutual exclusivity within CLC3. Ru. If the code is executed in CLC3, the X bit is Set to state processor. If the ClO2 °else clause is executed is used to determine which processors the X bits are not running. process If the X bit of the processor is not yet set, the statement body in CLC3 is unexecuted. be.

次に、条件付きロッキングオペレーションを実行するためにハードウェアサポー トを使用する方法を説明する。提示されている各オペレーションでは、疑似コー ドが条件付きロッキングハードウェアのオペレーションを説明しており、続いて 命令の実行方法が説明される。Next, use hardware support to perform conditional locking operations. Explain how to use Each operation presented uses pseudo code. describes the operation of conditional locking hardware, followed by A method for executing instructions is explained.

Begin ClO2 ALIN=ALIN+1 1P(C=O) しIN=LIN+1 x:O NDIP (プロセッサがロックされていても、) ALINは増加する。プロセッサがア ンロックされている場合には、LIN値も増加する。Xビットがリセットされる のは、ClO5のコードが新CLC3に対して実行されていないからである。Begin ClO2 ALIN=ALIN+1 1P (C=O) IN=LIN+1 x: O NDIP ALIN increases (even if the processor is locked). processor is activated If unlocked, the LIN value also increases. X bit is reset This is because the ClO5 code has not been executed against the new CLC3.

Ens ClO2 1F(LIN=ALIN) しIN=LIN−1 X=1 NDIF A1.IN=ALIN−1 LIN=ALINの場合には、ClO2はイグジットされているのでプロセッサ のCビットは(プロセッサをアンロックするために)自動的にリセットできる。Ens ClO2 1F (LIN=ALIN) IN=LIN-1 X=1 N.D.I.F. A1. IN=ALIN-1 If LIN=ALIN, ClO2 has been exited, so the processor The C bit of can be automatically reset (to unlock the processor).

LIN値は減少する。ClO2が入れ子されている場合には、プロセッサは次の 最深部に入れ子されたClO2の文本体を実行するので、Xビットが設定される 。この関係は、Xビット情報をつぶしてClO2の深さに等しいXビット数の代 わりに、1ビツトにする。The LIN value decreases. If ClO2 is nested, the processor: The X bit is set because the statement body of the deepest nested ClO2 is executed. . This relationship collapses X bits of information and yields a number of Instead, use 1 bit.

ALINは無条件に減少しなければならないので、下記のIF文″Condit ional Lock (条件付き)”の外側に現れる。Since ALIN must decrease unconditionally, the following IF statement ``Condit'' Appears outside of "ional Lock (conditional)".

IF((C=0)AND[(condition TRUE) OR(X=1) ])C=1 Cond二PSW LSE X=1 NDIF プロセッサがアンロックされている場合には、条件は真であるか又はXビットが 設定されて、プロセッサはロックされて、PSWはCondレジスタに記憶され る。IF((C=0)AND[(condition TRUE)OR(X=1) ])C=1 Cond 2 PSW LSE X=1 N.D.I.F. If the processor is unlocked, the condition is true or the X bit is set, the processor is locked and the PSW is stored in the Cond register. Ru.

条件が偽ならば、プロセッサは依然としてアンロックである。CLC3文本体炉 本体されるので、Xビットが設定される。If the condition is false, the processor is still unlocked. CLC3 body furnace body, so the X bit is set.

次に、下記のIF文”Conditional Unlock”を考える。Next, consider the following IF statement "Conditional Unlock".

1F((C=l)AND(LIN=ALIN)AND(X=0))−O NDIF プロセッサが高集積され入れ子されたClO2でロックされて、プロセッサがな おClO5のための文本体を実行していない場合には、プロセッサはアンロック である。プロセッサがすてにアンロックであった場合には、この命令は効果はな い。1F ((C=l)AND(LIN=ALIN)AND(X=0))-O N.D.I.F. The processor is highly integrated and locked with nested ClO2 If you are not executing the statement body for ClO5, the processor will be unlocked. It is. This instruction has no effect if the processor was previously unlocked. stomach.

次に、下記のIF文”Conditional Else″を考える。Next, consider the following IF statement "Conditional Else".

IF((C!=X)AND(LIN=ALIN))C;x NDIF この命令は、カレントCLC3で実行していないすべてのプロセッサをアンロッ クし、カレントCLC3で実行しだすへてのプロセッサをロックし、°汀−th en−else’文における’else’文の機能性を提供する。IF((C!=X)AND(LIN=ALIN))C;x N.D.I.F. This instruction unlocks all processors not running on the current CLC3. lock the processor to be executed on the current CLC3, and Provides the functionality of the 'else' statement in the 'en-else' statement.

Interrupt Unlock”に対する命令は、下記の通りである。The command for "Interrupt Unlock" is as follows.

PLIN=LIN pc=c px=x PCand=Cond LIN=O この命令はすへてのレジスタの状態をセーブするので、割り込みはプログラムの 状態に影響を与えることなく LINナンバーを使用することができる。すべて のプロセッサがアンロックされているので割り込みに応答することができる。PLIN=LIN pc=c px=x PCand=Cond LIN=O This instruction saves the state of all registers, so interrupts are You can use the LIN number without affecting the status. all processor is unlocked and can respond to interrupts.

”Interrupt Re5tore”に対する命令は、下記の通りである。The command for "Interrupt Re5tore" is as follows.

LIN=PLIN c=pc x=px Cond=PCand 割り込みルーチンが終了した後に、この命令はすべてのレジスタの状態を復元す る。LIN=PLIN c=pc x=px Cond=PCand This instruction restores the state of all registers after the interrupt routine finishes. Ru.

図14は、ハイレベル言語疑似コードからローレベルコードまでの翻訳の例であ る。翻訳の大部分は一対一で、はとんど実行オーバーヘッドを有しないことに注 意しなければならない。また、図14は、異なるデータ条件を有するプロセッサ の異なる文を実行する方法について説明している。各プロセッサが入れ子された if文内で単−文Sxを実行するのは、一部分がCond#[+lse文で条件 付き文の相互排他性を有効なものとしているからである。Figure 14 is an example of translation from high-level language pseudocode to low-level code. Ru. Note that most translations are one-to-one and have little execution overhead. must be considered. In addition, FIG. 14 shows processors with different data conditions. Explains how to execute different statements. Each processor is nested Executing the simple statement Sx within the if statement is partially due to the condition in the Cond#[+lse statement. This is because the mutual exclusivity of attached statements is valid.

適宜プロセッサはデータに従属するコードを実行するので、条件が満たされるま でオペレーション上実行を繰り返す。プロセッサがその演算の実行を終えてLO R(LOR)同期化を提供した場合には、そのPSWにLORビットを設定して その計算を終了した制御装置に信号を送信する。すべてのプロセッサが制御装置 に信号を送り、ロックした場合には、制御装置はLORビットをアンロックして リセットする信号を送る。次の実行に行く。As appropriate, the processor executes code dependent on the data until the condition is met. Repeat the operational execution with . When the processor finishes executing the operation, the LO If R (LOR) synchronization is provided, set the LOR bit in the PSW. A signal is sent to the control device that has completed the calculation. All processors are controllers If it locks, the controller unlocks the LOR bit. Send a signal to reset. Go to next run.

一例として、プロセッサがXY値を計算する場合にX値とY値が各プロセッサで 異なっている場合を考える。結果を計算するには(Y−1)乗算が必要であるが 、この結果はプロセッサ毎に変化する。制御装置はコードをそのプロセッサに送 って、実行継続のためのLOR信号を受信するまで連続して部分積にXを掛ける 。このオペレーションのための疑似コードプログラムは、下記の通りである。As an example, when a processor calculates an XY value, the X and Y values are Consider the case where they are different. Although (Y-1) multiplication is required to calculate the result, , this result varies from processor to processor. The controller sends the code to its processor. Then, continuously multiply the partial products by X until receiving the LOR signal to continue execution. . The pseudocode program for this operation is as follows.

P=1 CounF=Y+1 Begin#CLC5 Repeat until LORsignal received by a ll processors[ Decrement−and−Lock−On−Zero(Count)P=P 本X コ End#CLC3 ResetLORbit Conditional Locking/LOR同期化オペレーションの疑似 コードにおいては、Decrement−and−Lock−On−Zeroは 、Auxiliary ALUにより与えられた特別の命令である。この命令に よりADHの値が減少し、その結果がゼロの場合にはプロセッサをロックする。P=1 CounF=Y+1 Begin#CLC5 Repeat until LORsignal received by a ll processors [ Decrement-and-Lock-On-Zero (Count) P=P Book X Ko End#CLC3 ResetLORbit Conditional Locking/LOR synchronization operation pseudo In the code, Decrement-and-Lock-On-Zero is , Auxiliary This is a special instruction given by the ALU. to this command If the value of ADH decreases and the result is zero, the processor is locked.

図15において、128ビツト長に定義されたPIWは制御装置からプロセッサ までその制御のもとてブロードキャストされる。命令は時分割多重化された二つ の64ビツトワードとして送られる。図15に示されたIW形式を有するPIW は複数の命令フィールドからなる。In Figure 15, a PIW defined as 128-bit length is transmitted from the control device to the processor. broadcast under its control. Two instructions are time-division multiplexed is sent as a 64-bit word. PIW with the IW format shown in Figure 15 consists of multiple instruction fields.

P lnsけuction Field (1ビツト)はエラーチェックに使用 されるパリティピントである。パリティチェックが実行されても、(パリティビ ットを含む)命令におけるlの合計数は常に偶数である。命令におけるエラーは 10制御装置からプロセッサに送信される間に生じる。1ビツトエラーは検出さ れるが、2ビツトエラーは検出されないことに注意しなければならない。P lnsuction Field (1 bit) is used for error checking parity focus. Even if a parity check is performed (parity check The total number of l's in an instruction (including cuts) is always an even number. The error in the command is 10 during transmission from the controller to the processor. 1 bit error is not detected However, it must be noted that 2-bit errors are not detected.

Mode In5truction Field (2ビツト)は、図15に示 された四つのIW形式、即ちモードO、モードl、モード2、モード3がら−っ 選択する。この異なるモードの違いはただIWにおける即位データフィールドの サイズである。即値フィールドのためのスペースは、RI2及びRO2−RO4 命令フィールドを特定している命令フィールドにオーバーラツプしている。こう して、即値を特定するとRF608へのデータ転送数が制限される。即値フィー ルドのいくつかのサイズはRF608アクセスとの衝突を最小限とするように定 義されている。The Mode In5truction Field (2 bits) is shown in Figure 15. The four IW formats, namely Mode O, Mode I, Mode 2, and Mode 3, are select. The difference between these different modes is simply that of the coronation data field in IW. It's the size. Space for immediate fields is RI2 and RO2-RO4 Overlaps the instruction field that specifies the instruction field. like this When the immediate value is specified, the number of data transferred to the RF 608 is limited. immediate fee The sizes of some of the fields are defined to minimize conflicts with RF608 access. is justified.

Mode I++++++ediate Field Rlx avail R Ox availONone 1.2 1.2.3.4 1 32bit 1 1 2 16bit 1,2 1.4 3 8bit 1,2 1,3.4 RField (1ビツト)は、ローカルメモリーを再生する信号を送る。IP c In5truction Field (8ビツト)については後記されて いる。Mode I+++++++ediate Field Rlx available R Ox availONone 1.2 1.2.3.4 1 32bit 1 1 2 16bit 1, 2 1.4 3 8bit 1, 2 1, 3.4 RField (1 bit) sends a signal to play local memory. IP c In5truction Field (8 bits) is described later. There is.

ALU In5truction Field形式(19ビツト)とは、 (M ultiplier In5tructionFieldと共通する)lビット l/F 5elect ; 8ビットALtl演算:2ビツト5ource A Select ; 2ビツト5ource B 5elect ; 1ビツトA CCI Enable ; lビ・ソトACC2Enable ; lビットA CCI H/L 5elect ; lビットACC2H/L 5elect  ;及び2ビ・ット0utput 5hiftである。ALU In5truction Field format (19 bits) is (M ultiplier l bit (common with In5tructionField) l/F 5elect; 8-bit ALtl operation: 2-bit 5source A Select; 2 bits 5 source B 5 select; 1 bit A CCI Enable; l bi-soto ACC2 Enable; l bit A CCI H/L 5elect; l bit ACC2H/L 5elect ; and 2 bits 0output 5hift.

ALU In5truction Fieldは、ALUに対する演算とデータ ソースを特定する。1ビツトl/F 5electは、ALUが演算しているの が整数モードであるか浮動小数点モードであるかを特定する。8ビツトALU  0peration Fieldは、ALU機能を実行するものを特定する。2 ビツト5ource A 5electは、四つのデータソースの一つを特定し 、2ビツト5ource B 5electは、ALUオペランドとして四つの データソースの一つを特定する。二つの1ビツトフイールドは、ACCIレジス タとACC2レジスタが更新されているかどうかを決定する。ALUが命令によ り使用されていない場合には、ACC値が保存される。二つのlビットフィール ドは、ACCIとACC2の上位又は下位の32ビツトワードがその他のいくつ かのデータソースに入力されているかどうかを判定する。2ビツト0utput  Sh汀【フィールドは、ALUの出力に対する通常シフトを特定する。ALU In5truction Field is the operation and data for ALU. Identify the source. 1 bit l/F 5 select is calculated by ALU. Determine whether is in integer or floating point mode. 8-bit ALU 0operation Field specifies what executes the ALU function. 2 Bit 5source A 5elect specifies one of the four data sources. , 2-bit 5source B 5elect is the ALU operand. Identify one of your data sources. The two 1-bit fields are in the ACCI register. Determine whether the data and ACC2 registers have been updated. ALU responds to commands If not used, the ACC value is saved. two l bit fields The upper or lower 32-bit word of ACCI and ACC2 is Determine whether the input is in a data source. 2 bit 0 output The Sh field specifies the normal shift for the output of the ALU.

5ource Aと5ource Bに対するData 5ource :5o urce A: P 5ource B: ACC2ACCI RO2 ROI IMD IPc MRI ALU600で実行できる演算として、定型の32ビツト及び64ビ・ットの1 進及び2進算術及び論理演算、シフト演算、整数/n動小数点変換演算、多重サ イクル整数除真演算がある。条件付き減算のような条件付きサポート演算と(条 件付き書き込みを実行するのに使用する) Zero/NonZeroの場合に は、Update ACCIがある。特別目的の演算は、ACCIにおける大き な数値とACC2における小さな数値を記′ 憶するMAXMINZ進演算と、 find−first−zero−bitとfind−first−one−b it l進演算と、絶対数を含む。Data 5source for 5source A and 5source B: 5o source A: P5 source B: ACC2ACCI RO2 ROI IMD IPc MRI The operations that can be executed by ALU600 include standard 32-bit and 64-bit 1 Base and binary arithmetic and logical operations, shift operations, integer/n dynamic point conversion operations, multiplexing There is an cycle integer divide operation. Conditionally supported operations like conditional subtraction and (conditional Used to execute subject writing) In case of Zero/NonZero has Update ACCI. Special purpose operations are large in ACCI. MAXMINZ arithmetic that stores large numbers and small numbers in ACC2, find-first-zero-bit and find-first-one-b It includes l-adic operations and absolute numbers.

Auxiliary ALU (AuxALU) In5truction F ield (4ビツト)は、レジスタファイルのR11ポートの付近に位置する AuxALUを使用して実行するオペレーションを特定する。AuxALUは、 ADHにあるデータを条件付きで増加するか減少するために使用される。4ビツ ト0perationフイールドにあるAuxALU 0perationsは 、下記の通りである。Auxiliary ALU (AuxALU) In5truction F ield (4 bits) is located near the R11 port of the register file. Identify operations to perform using AuxALUs. AuxALU is Used to conditionally increase or decrease data in ADH. 4 bits AuxALU 0operations in the 0operations field is , as follows.

即ち、l)条件付き増加数値、2)逆条件付き増加数値、3)無条件の増加数値 、4)条件付き減少数値、5)逆条件付き減少数値、6)無条件の減少数値、7 )条件付き減少数値と数値がゼロの場合のロック、8)逆条件付き減少数値と数 値がゼロの場合のロック、9)無条件の減少数値と数値がゼロの場合のロック、 l O) ACMRロード、11)ADRロード、12) ACMR書き込み、 13)ADH書き込み、及び14 ) NOPである。i.e.: l) conditional increase value; 2) inversely conditional increase value; 3) unconditional increase value. , 4) Conditional decreasing numerical value, 5) Inverse conditional decreasing numerical value, 6) Unconditional decreasing numerical value, 7 ) conditional decrease number and lock if number is zero, 8) inverse conditional decrease number and number Lock if value is zero, 9) Unconditional decrease number and lock if number is zero, l O) ACMR load, 11) ADR load, 12) ACMR write, 13) ADH write, and 14) NOP.

条件付きに増加減少させるために、PSWマスクはACMRにロードさせなけれ ばならない。マスクによって特定された条件が満足された場合には、ADHに記 憶された数値について演算が実行される。ACMRとADHをロードするオペレ ーションでは、R11ポートからデータを読み出す。すべての条件がPSWで明 示されているわけではないので、マスクによって特定された逆条件を使用するオ ペレーションがある。(条件の多くは、ゼロと非ゼロのように相互に排他的であ る。)減少してゼロ値でロックする上記のオペレーションは、累乗(x、y)  (xのy乗)のようなデータ従属演算を実行するために使用される。yの数値が AuxALUを介して減少するとともに、数値Xを乗じた部分積が計算される。To conditionally increase or decrease, the PSW mask must be loaded into the ACMR. Must be. If the conditions specified by the mask are met, the ADH is recorded. Arithmetic operations are performed on the stored numerical values. Operator loading ACMR and ADH In the application, data is read from the R11 port. All conditions are clear in PSW option using the inverse condition specified by the mask. There is a peration. (Many of the conditions are mutually exclusive, such as zero and non-zero. Ru. ) decreases and locks at zero value The above operation reduces to the power (x, y) It is used to perform data-dependent operations such as (x to the power of y). The value of y is The partial product multiplied by the number X is calculated while decreasing through the AuxALU.

数値yがゼロまで減少した場合には、PSWにLORビットを設定してロックす る。制御装置がLOR信号を受信した場合には、制御装置はプロセッサをアンロ ックするように命令を送る。If the value y decreases to zero, set the LOR bit in the PSW and lock it. Ru. If the controller receives the LOR signal, the controller unloads the processor. Send a command to check.

Multiplier/Match 5elect In5truction  Field (1ビツト)は、アクティブなのは乗算器かマツチャかを判定する 。両方のリソースは同時にアクティブになることがないのは、二つのリソースの 命令フィールドがオーパーラ・ノブしているからである。命令フィールドが一つ のリソースを特定する場合には、他のリソースはその命令サイクルてNOPを実 行する。両方のリソースがNOPを実行しなければならない場合には、マツチャ は特定されるNOP命令を有している。Multiplier/Match 5elect In5truction Field (1 bit) determines whether the multiplier or matcher is active . Both resources cannot be active at the same time. This is because the command field is over-knobbed. one instruction field When specifying a resource, other resources must perform a NOP in that instruction cycle. go If both resources must perform a NOP, match has a specified NOP instruction.

Multiplier In5truction Field (6ビツト)形 式とは、 (1) 0peration ; (2) 5ource X 5e lect ; (2) 5ource Y 5elect ;及び(+ ) I s/2S 5electである。Multiplier In5truction Field (6 bit) type The formula is (1) 0operation; (2) 5source X 5e select; (2) 5source Y 5elect; and (+) I s/2S 5elect.

lビット0perationフイールドは、乗算器のためのオペレーションを選 択する。2ビツトフイールド5ource X 5electと5ource  Y 5electは、乗算器にインプットするXソース及びYソースの四つのデ ータソースのうちから一つ選択する。The l bit 0 operation field selects the operation for the multiplier. Choose. 2 bit fields 5 sources x 5 select and 5 sources Y5elect is the four data of X source and Y source input to the multiplier. Select one of the data sources.

lビットIs/2S 5electフイールドは、乗算器が演算するのは一つの 相補形式においてか二つの相補形式においてかを判定する。1ビツトl/F 5 electは、乗算器が演算するのは整数モードにおいてか浮動小数点において かを特定する。このビットは、ALU Insけuction Fieldに位 置しており、ALUと乗算器はともに同じモードで演算する。1 bit Is/2S 5 select field indicates that the multiplier operates on one Determine whether in complementary form or in two complementary forms. 1 bit l/F 5 select determines whether the multiplier operates in integer mode or in floating point. to identify. This bit is located in the ALU Instruction Field. The ALU and multiplier both operate in the same mode.

乗算器は、二つの演算を実行する。(1ビツト0perationフイールドに より特定されるような)乗算、または64ビツト値を有するPレジスタの直接ロ ードである。5ource X 5electと5ource Y 5elec tは、それぞれの上位と下位の32ビツトワードの位置を特定するが、それはP レジスタにロードすることである。The multiplier performs two operations. (1 bit 0 operation field (more specific) or direct loading of the P register with a 64-bit value. It is a code. 5source X 5elect and 5source Y 5elec t specifies the position of each upper and lower 32-bit word, which is P It is to load it into a register.

5ource Xと5ource Yに対するData DourceSour ce X: IMD 5ource Y: IPcMRI MR2 RO3RO4 ACCI ACC2 Matcher In5truction Field (5ビツト)形式とは 、1ビツト0peration ; 2ビツト5ource X 5elect  ; 2ビツト5ource Y 5elect ;及び4ビツトB 5ele ctである(フィールドは5ource X、 Yフィールドに関しては相互に 排他的である)。Data SourceSour for 5sources X and 5sources Y ce X: IMD 5source Y: IPcMRI MR2 RO3RO4 ACCI ACC2 What is Matcher In5truction Field (5 bit) format? , 1 bit 0operation; 2 bits 5source X 5select ; 2 bits 5source Y 5select; and 4 bits B 5ele ct (fields are 5 sources, and the X and Y fields are mutually exclusive).

1ビ、ト0perationフィールドは、マツチャのための演算を選択する。The 1 bit, 0 operation field selects the operation for the matcher.

2ビツトフイールド5ource X 5electと5ource Y 5e lectは、X、Yソース入力のためのデータソースを選択する。4ビツトB  5electフイールドは、5ource X、 Y 5eleC【フィールド に関して相互に排他的であり、マツチセットアツプ命令において使用される。2 bit fields 5source X 5elect and 5source Y 5e lect selects the data source for the X,Y source input. 4 bit B 5elect field is 5source X, Y 5eleC [field are mutually exclusive for use in match setup instructions.

マツチャは二つの演算、即ちマツチング及びマツチセットアツプを実行する。The matcher performs two operations: matching and match setup.

マツチャがマツチオペレーションを実行する場合には、5ource X 5e lectと5ource Y 5electはマツチャのX、Yインプットのデ ータソースを特定する。各命令サイクルにおいて二つの32ビツト数値と整合す る。記録されたマツチナンバーはPレジスタに記憶される。When Matsushi executes Matsushi operation, 5source X 5e select and 5source Y 5elect are the data of the X and Y inputs of Matsucha. identify the data source. Matching two 32-bit numbers in each instruction cycle Ru. The recorded match number is stored in the P register.

マツチセットアツプオペレーションが特定された場合には、4ビツトB 5el ectフイールドはマツチャBレジスタにロードされる数値を特定する。リーガ ルB値は、l−8,16,32、及び口を含んでいる(変更しない)。B値に対 して変更がない場合には、乗算器とマツチャはともにNOPを実行していること を意味している。 5ource Xと5ource Yに対するData 5 ourcesSource X: IMD 5ource Y: IPCMRI  MR2 RO3RO4 ACCI ACC2 R11In5truction Field (11ビツト)形式とは、7ビツ トRegister File Address ; 1ビツトWrite E nable ;及び3ビツトWrite Data 5ourceである。If a match set up operation is specified, 4 bits B 5el The ect field specifies the number to be loaded into the matcher B register. liga The LeB values include l-8, 16, 32, and mouth (unchanged). For B value If there is no change, both the multiplier and matcher are performing NOPs. It means. Data 5 for 5sources X and 5sources Y sources Source X: IMD 5 sources Y: IPCMRI MR2 RO3RO4 ACCI ACC2 The R11In5truction Field (11 bit) format is a 7 bit Register File Address; 1 bit Write E and 3-bit Write Data 5source.

R11ポートは、数値を128ワードRF608に書き込むのに使用される。7 ビットRegister File Addressフィールドは、宛先RFワ ードを特定する。1ビツトWrite Enableフィールドは、特定された RFが更新されているかどうかを判定する。3ビツトWrite DaLa 5 ourceフイールドは、データ転送のソースを特定する。下記のレジスタ/フ ィールドはR11ポートのソースである。The R11 port is used to write numbers to the 128 word RF608. 7 The Bit Register File Address field specifies the destination RF address. Identify the code. The 1-bit Write Enable field specifies Determine whether the RF has been updated. 3 bit Write DaLa 5 The source field identifies the source of the data transfer. The following registers/files field is the source of the R11 port.

R11: ACCI IMD P(H) IPC MRI CR ROI PSW RI21nsけuction Field形式(10ビツト)とは、7ビットR egister File Address ; 1ビツトWrite Ena ble ;及び2ビツトWrite Data 5ourceである。R11: ACCI IMD P(H) IPC MRI CR ROI PSW RI21nsuction Field format (10 bits) is 7 bits R egister File Address; 1 bit Write Ena ble; and 2-bit Write Data 5source.

R12ポートオペレーンヨンは、R11ポートの場合と同一であるが、2ビツト Write Data 5ourceフイールドを使用しているのが異なる。下 記のレジスタはR12ポートのソースである。The R12 port operating lane is the same as for the R11 port, but with 2 bits. The difference is that the Write Data 5 source field is used. under The register shown below is the source of the R12 port.

R12: ACC2 P(L) R2 ROx In5truction Field (フィールド毎に8ビツト)形 式とは、(7) Register Fi Ie Address(1) Re ad Enableである。R12: ACC2 P(L) R2 ROx In5truction Field (8 bits per field) type The formula is (7) Register Fi Ie Address (1) Re ad Enable.

Rol−R04レジスタは、128ワードRF608がら読み出された数値を一 時的に保存するために使用される。7ビツトRegister File Ad dressフィールドは、RF608からのワードがレジスタに読み込まれるも のがどうかを判定する。1ビツトRead Enableフィールドは、そのレ ジスタが更新されているがどうかを判定する。The Rol-R04 register synchronizes the numerical value read from the 128 words RF608. Used for temporary storage. 7-bit Register File Ad The dress field is also used when the word from RF608 is read into the register. Determine whether the The 1-bit Read Enable field Determine whether the register has been updated.

レジスタROI−RO4のいずれも他のプロセ・けコンポーネントのデータソー スである。Both registers ROI-RO4 are data sources for other process components. It is

ROI: ALII(A) RO3: MPY(X)MWI MAI RI I I PCDR R RO2: ALU(B) ’RO4: MPY(Y)MW2 MA2 R121PCOR/CID SW Immediate (IMD) Field (32ビツト、16ビツト、又 は8ビツト)は、モードフィールドが非ゼロの場合に存在する。フィールドサイ ズは、モード値とともに変化して、そのフィールドはR1xフィールドとROx フィールドにオーバーラツプする。IMDフィールドは、下記のソースに入力す るように使用される。ROI: ALII(A) RO3: MPY(X)MWI MAI RI I I PCDR R RO2: ALU(B) ’RO4: MPY(Y)MW2 MA2 R121PCOR/CID SW Immediate (IMD) Field (32 bit, 16 bit, or (8 bits) is present if the mode field is non-zero. field rhinoceros The field changes with the mode value, and that field is the R1x field and the ROx field. overlap the field. The IMD fields should be entered in the source below. It is used as follows.

IMD: MPY(X) MAI A!U(B) MW2 R11lPcOR/CID Address Generator Mode Bit (1ビツト)は、A Gが演算しているのはアドレス生成モードであるのが、セットアツプモードであ るのかを判定する。セットアツプモードは、AGレジスタセットをロードして記 憶する機能がある。IMD: MPY(X) MAI A! U(B) MW2 R11lPcOR/CID Address Generator Mode Bit (1 bit) is A G is calculating in the address generation mode and in the setup mode. Determine whether the Setup mode loads and writes the AG register set. It has a memory function.

Address Generator 1.2 In5truction Fi elds (フィールド毎に10ビツト)は、二つのモード、即ちセットアツプ モードとアドレス生成モードを有している。そのモードはAddress Ge nerator Mode Bitによって決定される。Address Generator 1.2 In5truction Fi elds (10 bits per field) can be set up in two modes: mode and address generation mode. The mode is Address Ge Determined by the nerator Mode Bit.

AGモードでは、In5truction Fieldは下記の形式を有する。In AG mode, the In5traction Field has the following format:

即ち、2ビットAddressing Modes : 2ビツトDS 5el ect (Stride 5electフイールドと相互排他性がある):2ビ ツトAddress Arithmetic Mode 5elect ; 2 ビツト5tride 5elect(DS 5electフイールドと相互排他 性がある);4ビツトBa5e Register 5elect(これはBL O3Register 5electフイールドとオーバーラツプする);及び 3ビツトBLO5Register 5electである。That is, 2-bit Addressing Modes: 2-bit DS 5el ect (mutually exclusive with Stride 5 select field): 2 bits Address Arithmetic Mode 5 select; 2 Bit 5tride 5elect (mutually exclusive with DS 5elect field) 4-bit Ba5e Register 5elect (This is BL O3Register (overlaps with 5select field); and This is a 3-bit BLO5Register 5elect.

Address Generator In5truction Fieldは 、Address Generatorに関連して完全に説明されている。二つ のAGo)DS 5electは、下記の通りである。Address Generator In5truction Field is , Address Generator. two AGo) DS 5 select is as follows.

AGiDS: IMD MRI ACC2RO3AG2DS: IPCMR2A CCI RO4セットアツプモードでは、In5truction Field は下記の形式を有している。即ち、2ビツトRead/Write Enabl e 、 NOP ; 2ビツトDirect 5ource 5elect ;  3ビツトRegister 5elect ;及び3ビツトRegister  Numberである。AGiDS: IMD MRI ACC2RO3AG2DS: IPCMR2A In CCI RO4 setup mode, In5truction Field has the following format: That is, 2-bit Read/Write Enable e, NOP; 2-bit Direct 5source 5elect; 3-bit Register 5 select; and 3-bit Register It is Number.

2ビツトRead/Write Enableフィールドは、レジスタはAGレ ジスタファイルセットに読み込まれているが、RAMに書き込まれているかを判 定する。書き込みがRAMになされた場合には、対応するRAM命令フィールド は書き込みも特定しなければならない。AGがレジスタ値をRAMに書き込んだ 場合には、その書き込みはRAMフィールドにおけるWrite Data 5 electフィールド選択を取り消す。2ビツトDS 5electは、データ をAGレジスタファイルセットにロードするソースを選択する。The 2-bit Read/Write Enable field indicates that the register is read into the register file set, but it is determined whether it is written to RAM. Set. If the write was to RAM, the corresponding RAM instruction field The writing must also be specified. AG wrote register value to RAM In this case, the write is Write Data 5 in the RAM field. Cancels select field selection. 2-bit DS 5 select is data Select the source to load into the AG register file set.

3ビツトRegister 5electは、ロードされるレジスタセントを選 択する。レジスタセットは、I)LIBO−UB7.2)User Lim1t  Registers(ULO−UL7) 、3)IIRO−OR7,4)Ba se Registers(OR8−OR15)、5)Li+niL Regi sters(LRO−LR7)、6)1.1m1t@Register s(LR8−LR15) 、7.)ORO−OR7、及び8)SRO−3R7で ある。The 3-bit Register 5elect selects the register cent to be loaded. Choose. The register set is I) LIBO-UB7.2) User Lim1t Registers (ULO-UL7), 3) IIRO-OR7, 4) Ba se Registers (OR8-OR15), 5) Li+niL Regi sters (LRO-LR7), 6) 1.1m1t@Register s (LR8-LR15), 7. ) ORO-OR7, and 8) SRO-3R7 be.

3ビツトRegister Nu+nberフィールドは、8セント内のアクテ ィブレジスタを選択する。詳細なことは上記されている。The 3-bit Register Nu+nber field is the active value within 8 cents. Select live register. Details are given above.

RAM In5truction Field (フィールド毎に3ビツト)形 式は、(1)Read/Wri te、及び(2)Write Data 5e lectである。RAM Intrusion Field (3 bits per field) type The formula is (1) Read/Write, and (2) Write Data 5e It is lect.

ローカルメモリーに通しる独立したリード/ライトボートは、二つあり、そのメ モリーへのアクセスを独立して制御する3ビツト命令フイールドは二つある。There are two independent read/write ports that pass through local memory. There are two 3-bit instruction fields that independently control access to memory.

ランダムアクセスメモリー(Random Access Memory:RA M)の各々は、プロセッサに通しるローカルメモリーへのアクセスを制御する。Random Access Memory: RA Each of M) controls access to local memory through the processor.

1ビツトRead/Wri (eフィールドは、データ値はメモリーから読み出 されるべきであるが、メモリーに書き込むへきであるかを判定する。そのデータ がメモリーに書き込まれている場合には、2ビツトWrite Data 5e lectは、メモリーに書き込まれる内容を有するデータソースを決定する。こ れに対する例外は、Address GeneratorがSモードであり、R AMに書き込み動作をしている場合である。1-bit Read/Wri (e field, data value is read from memory. Determine if it should be written to memory. that data is written in memory, 2-bit Write Data 5e lect determines the data source whose content is written to memory. child The exception to this is if Address Generator is in S mode and R This is the case when a write operation is being performed to AM.

RAMI Data 5ources: IPc MRI ACCI ROIR AM2 Data 5ources: IMD MR2ACC2RO2PSWは 、各プロセッサに32ビツトレジスタであり、最終演算の実行後のプロセンサ状 態に関する情報を含んでいる。A1.Uオペレーション、AG、及びプロセッサ 状態の結果に関する情報は、PSWに見いだされる。RAMI Data 5 sources: IPc MRI ACCI ROIR AM2 Data 5 sources: IMD MR2ACC2RO2PSW , a 32-bit register in each processor, which stores the processor state after the final operation. Contains information about the status. A1. U-Operation, AG, and Processor Information regarding the outcome of the condition is found in the PSW.

下記のALU 5tatus Bits (8ビツト)は、PEと互換性をもっ て保存されている。8状態ビツトの二つのグループは相補的である。The following ALU 5 status Bits (8 bits) are compatible with PE. It has been preserved. The two groups of 8-state bits are complementary.

False(F) ビットは一定しておりゼロである。The False (F) bit is constant and zero.

Carry(C) ビットは、ALIIがキャリを生成する場合に設定される。The Carry (C) bit is set if ALII generates a carry.

>0(GT) ビットは、ALU結果がゼロより大の場合に設定される。The >0(GT) bit is set if the ALU result is greater than zero.

0(GE) ビットは、ALU結果が〉・0の場合に設定される。The 0 (GE) bit is set if the ALU result is >.0.

Valid(VAL) ビットは、ALU結果が有効の場合に設定される。The Valid (VAL) bit is set if the ALU result is valid.

Under41ow(UF)ビットは、ALU結果がアンダーフローする場合に 設定される。The Under41ow (UF) bit is set when the ALU result underflows. Set.

Over41ow(OF)ビットは、ALU結果がオーバーフローする場合に設 定される。The Over41ow (OF) bit is set when the ALU result overflows. determined.

Zero(Z) ビットは、ALU結果がゼロの場合に設定される。The Zero (Z) bit is set if the ALU result is zero.

追加の二つのビットは、浮動小数点に使用される。Two additional bits are used for floating point.

Inexact(INE)ビットは、浮動小数点結果が丸められたが、切り捨て られた場合に設定される。The Inexact (INE) bit indicates that the floating-point result is rounded but not truncated. Set if the

NotANumber(NaN)ビットは、ワードが数字でない場合に設定され る。The NotANumber (NaN) bit is set if the word is not a number. Ru.

下記のAddress Generator 5tatus Bits (2ビ ツト)は、AGsから生成される。アレーオフセットがアレーの境界の外側にあ る場合に、ビットが設定される。Address Generator 5 tatus Bits (2 bits) below ) is generated from AGs. The array offset is outside the boundaries of the array. The bit is set if

次のオフセットがBLOSアドレッシングオペレーションの境界の外にあると計 算されるか、その他のアドレッシングオベレーンヨンの現在のオフセットにある と計算された場合に、ビットが設定される(Address Generato rに関する上記の詳細な記述を参照)。The next offset is assumed to be outside the boundaries of the BLOS addressing operation. or at the current offset of the other addressing obeline. The bit is set if it is calculated that (Address Generate (see detailed description above for r).

0utOfBoundl(OOBI) アレーオフセットは、アレーの境界の外 側にある。0utOfBoundl (OOBI) Array offset is outside the bounds of the array. It's on the side.

(Address Generatorlから)Ou tof Bound2( 00B2) アレーオフセットは、アレーの境界の外側にある。(From Address Generator) Out of Bound 2 ( 00B2) Array offset is outside the boundaries of the array.

(Address Generator2から)Processor Cond itional Locking 5tatus Bits 下記のProce ssor Conditio獅■ l Locking 5tatus Bits (4ビツト)は、プロセッサの 実行状態を決定し、条件付きにプロセッサをロック、アンロックするオペレーシ ョンに使用される。詳細は上記参照。(From Address Generator 2) Processor Cond itional Locking 5 tatus Bits Process below ssor Conditionioㅍ■ l Locking 5 status Bits (4 bits) An operation that determines the execution state and conditionally locks and unlocks the processor. used for See above for details.

Context(C) この状態ビットは、プロセッサをロック、アンロックす る。Context (C) This status bit locks or unlocks the processor. Ru.

PrevContext(PC)割り込みが生じた場合に、文脈節ビットが記憶 されているので、その文脈はその後復元される。The context clause bit is stored when a PrevContext (PC) interrupt occurs. , so its context is then restored.

Executed(X) この状態ビットは、プロセッサがカレントLINナン バーで実行しているかとうかを判定するために使用される。このビットは、条件 付き実行の相互実行性を有効にするために使用される。Executed (X) This status bit indicates when the processor executes the current LIN number. Used to determine if it is running on a bar. This bit is the condition Used to enable interoperability between executions.

Px 割り込みが生じた場合に、実行ビットは記憶されるので、その後復元でき る。When a Px interrupt occurs, the execution bit is memorized and cannot be restored later. Ru.

下記の二つのビットは、シーケンサに信号を送るために使用される。The following two bits are used to signal the sequencer.

LOR(LOR) この状態ビットは、イベントがプロセッサに生じたことの信 号を送るためにプロセッサの制御装置に送られる。イベント例として、データ従 属オペレーションが完了したことの信号をプロセッサが制御装置に送る場合があ る。代わりに、LORが1ビツト通信メカニズムとして使用される。LOR (LOR) This status bit provides an indication that an event has occurred to the processor. is sent to the processor's control unit to send the signal. As an example event, data follow The processor may signal the controller that a specific operation is complete. Ru. Instead, LOR is used as a 1-bit communication mechanism.

下記のIPC5tatus Bits (2ビツト)は、プロセッサIPC0p erationsのための状態情報を表示する。The IPC5 status Bits (2 bits) below are the processor IPC0p Display status information for generations.

IPc Parity Error(IPCP) IPc Modelオペレー ションが実行された場合にIPCデータにパリティエラーがある場合、ビットが 設定される。IPc Parity Error (IPCP) IPc Model Operation If the IPC data has a parity error when the Set.

IPCReduction(IPcR) 縮小オペレーションが受信データを処 理するのに必要とされる場合にビットが設定され、演算はされない。IPCReduction (IPcR) A reduction operation processes the received data. Bits are set when needed to process and no operations are performed.

下記のImage Vault 5tatus Bit (1ビツト)は、デー タをローカルメモリーにロードすることを終了したことの信号を送るためにIm age Vault(IV)によって使用される。The following Image Vault 5 status Bit (1 bit) is the data Im to signal that it has finished loading the data into local memory. Used by Vault (IV).

IV Finished(IVF)ビットは、IVデータがロードされた場合に 設定される。The IV Finished (IVF) bit is set when IV data is loaded. Set.

32ビツトの内、12ビツトの状態ワードが現在定義されていない。Of the 32 bits, 12 bits of the status word are currently undefined.

IPcは、プロセッサ間でデータを転送する一部チャネルである。IPCは、リ ニアアレーネットワーク接続性を有している。データは、データシフト、バイパ ス、ブロードキャストなどの定型通信パターン内、又は任意の一対一もしくは一 対多の通信パターン内を移動できる。各プロセッサのIPCLogicは、su m Sm1n 。IPc is a partial channel that transfers data between processors. IPC is Has near-array network connectivity. Data is transferred via data shift, bypass within a regular communication pattern such as broadcast, broadcast, or any one-on-one or Can move within a to-many communication pattern. The IPC Logic of each processor is su m Sm1n .

max 、 and 、 or、又はxorの演算などのIPCデータに関する 縮小オペレーションを実行する性能も有する。Regarding IPC data such as max, and, or, or xor operations It also has the ability to perform reduction operations.

IPCは、プロセッサ設計に組み込まれているので、待ち時間通信は短い。相互 に離れた四つのプロセッサを接続したプロセッサは、プロセッサ命令サイクル毎 に一度データを転送することができる。IPcのリニアアレー接続性は、通信を 一次元に縮小させるが、これによりルーティングと組立を簡単にする。IPC縮 小オペレーションは、追加の機能性をプロセッサに与えて、オンチップ並列性を 増加させる。さらに、ランダムアクセスリード/ライト性能をサポートするオペ レーションモード(IPCTagged Modeという)があるので、SEに 仮想クロスバ−通信性能を与える。Because IPC is built into the processor design, latency communication is low. mutual A processor with four processors separated by data can be transferred once. IPc linear array connectivity allows communication Reduces to one dimension, which simplifies routing and assembly. IPC contraction Small operations provide additional functionality to the processor and enable on-chip parallelism. increase. In addition, there are Since there is a ration mode (called IPCTagged Mode), Provides virtual crossbar communication performance.

IPcは、幅64ビットで二つのパリティビットを有し、3.2GBytes/ see、のスルーブツトに対して400M1(Zで演算する。デュアル33ビツ トチヤネルとして実行して、プロセッサの命令クロック速度の一倍乃至四倍で演 算する。IPc has a width of 64 bits, two parity bits, and a storage capacity of 3.2 GBytes/ 400M1 (calculated by Z. Dual 33-bit Executes as a processor channel and performs at one to four times the processor's instruction clock speed. Calculate.

IPCは、二つの命令ソースから演算する。PIWからの8ビツトフイールドは 、IPcがアクティブであるかどうかを特定し、IPcレジスタのロードと記憶 を制御する。その他の命令ソースは、64ビツトIPc 0peration  Register(IPCOR)であり、これによりプロセッサによって実行さ れる特定のIPCオペレーションを決定する。この実行により、各プロセッサは ユニークIPCオペレーションを特定できる。IPCオペレーションはMIMD である。IPC operates from two sources of instructions. The 8-bit field from PIW is , determine if IPc is active, load and store IPc registers control. Other instruction sources are 64-bit IPc 0operation Register (IPCOR), which allows the Determine the specific IPC operations to be performed. This execution causes each processor to Unique IPC operations can be identified. IPC operation is MIMD It is.

IPcは、二つの基本モード、即ちIPc ModeとIPc Tagged  Modeの内の−っを演算する。チャネルモードでは、33ビツトIPcは独立 的にプログラマブルである。IPCの各々は、データをチャネル上で左右方向に にシフトさせるか、データをチャネル上で左右方向にバイパスするか、データを その他のプロセッサにブロードキャストする。図16aは、IPCの右方向シフ トを示している。バイパスオペレーションによりプロセッサはシフトオペレーシ ョンから除かれる。図16aにおいて、プロセッサ5.6.7はバイパスされて 、プロセッサ8はプロセッサ4からのデータを受信する。ブロードキャストオペ レーションでは、通信ソースであるプロセッサが隣接するプロセッサに数値を送 る。これらのプロセッサは、チャネルを介してデータを引き続いてソフトする( 図160)。図16dにおいてプロセッサ6.7のようにブロードキャストのン ンクとして定義されたプロセッサは、データを受信した場合にそれをパスし続け ない。プロセッサ7はローカルブロードキャストのソースであるとともにシンク である。IPc has two basic modes: IPc Mode and IPc Tagged Calculate - in Mode. In channel mode, 33-bit IPc is independent It is programmable. Each of the IPCs sends data left and right on the channel. , bypass the data left and right on the channel, or shift the data left and right on the channel. Broadcast to other processors. Figure 16a shows the rightward shift of the IPC. It shows the Bypass operation allows the processor to perform shift operations. removed from the section. In Figure 16a, processor 5.6.7 is bypassed. , processor 8 receives data from processor 4. broadcast operation In communication, a processor that is a communication source sends a number to an adjacent processor. Ru. These processors successively soft data through the channel ( Figure 160). In Figure 16d, the broadcast number is A processor defined as a link continues to pass data if it receives it. do not have. Processor 7 is a local broadcast source and sink. It is.

IPc Tagged Modeでは、IPCは単一66ビツトチヤネルとして 演算する。このモードは任意の一対一通信と一対多通信を提供するために使用さ れる。このモードでは、Cooununication ID(CID)フィー ルドというタグがデータと関連している。データの受信装置となるプロセッサは すべて同じCID値をそのCIDレジスタ(CIDR)でロードする。次に、I PCは最大速度(4シフト/サイクル)でシフトされて、IPc Logicの マツチングハードウェアは、CID値がCIDRID−ルドの数値と整合する場 合のタグデータを有するIPCData Register(IPCDR)をロ ードする。In IPc Tagged Mode, IPC is configured as a single 66-bit channel. calculate. This mode is used to provide arbitrary one-to-one and one-to-many communications. It will be done. In this mode, the Counciation ID (CID) field A tag called ``LD'' is associated with the data. The processor that receives the data is All load the same CID value in its CID register (CIDR). Next, I The PC is shifted at maximum speed (4 shifts/cycle) and the IPc Logic The matching hardware will match the CID value with the number in the CIDRID field. Load the IPC Data Register (IPCDR) containing the tag data for the code.

IPcオペレーションの前に、プロセッサ0、■、4はタグデータをIPcにロ ードして、下記のテーブル(a)に表示されているように、すべてのプロセッサ は受信したタグデータを特定する。IPCオペレーションの後は、下記のテーブ ル(b)に表示されているように、すべてのプロセッサはCIDRで特定された タグと関連するデータを受信する。Before the IPc operation, processors 0, 4, and 4 load the tag data into the IPc. and all processors as shown in table (a) below. identifies the received tag data. After the IPC operation, the following table As shown in Figure (b), all processors are identified by CIDR. Receive tags and associated data.

CIDタグ 5 20 10 データ AB ブロモ・け 012345 CIDR20105202020 PCDR (a) IPcオペレーション前 プロセッサ 012345 CIDR20105202020 IPcDRB CA B B B (b) IPCオペレーンヨン後 13ビツトCIDフイールドに追加して、66ビツトIPc Taggedオペ レーションワードは、50ビツトデータフイールド、2ビツトタグフイールド、 及び偶数のパリティビットを含む。2ビツトタグフイールドはユーザーが定義す るが、タグ値00が予約されているのはデータが無効であると主張するためであ る。データフィールドはユーザーがフォーマット化して、最小有効32ビツトは IPC縮小縮小オペレーションめにマスクされる。追加データフィールドビット を適切に使用する場合には復帰CIDを含むので、数値はタグデータの演算を開 始するプロセッサに復帰するか、メモリアドレス又はアレーオフセットは追加デ ータフィールドピントで特定されるので、受信プロセッサはメモリ位置を受信デ ータと関連付けることができる。CID tag 5 20 10 Data AB Bromo Ke 012345 CIDR20105202020 P.C.D.R. (a) Before IPc operation Processor 012345 CIDR20105202020 IPcDRB CA B B B (b) After IPC operation In addition to the 13-bit CID field, the 66-bit IPc Tagged operation The translation word is a 50-bit data field, a 2-bit tag field, and an even number of parity bits. The 2-bit tag field is user-defined. However, the tag value 00 is reserved to assert that the data is invalid. Ru. The data field is formatted by the user and has a minimum significant 32 bits. Masked for IPC shrink operations. Additional data field bit When used properly, it includes the return CID, so the numbers open the tag data calculations. The memory address or array offset may be returned to the starting processor, or the memory address or array offset data field focus, so the receiving processor stores the memory location in the receiving data. can be associated with data.

IPCのオペレーア:Iンは二つの命令ソースから決定される。PIWに特定さ れた8ビツトIPCIn5truction Field 、及びIPCORに ロードされる64ビツトIPCoperationがある。(IPCIn5tr uctionフイールドはPIWに表れているので、)それはすべてのプロセッ サに共通であり、一方特定されたIPC0perationはプロセッサではロ ーカルである。IPC Operator:In is determined from two instruction sources. PIW-specific 8-bit IPCIn5truction Field and IPCOR There is a 64-bit IPCooperation loaded. (IPCIn5tr Since the uction field appears in the PIW, it is visible to all processes. The specified IPC0operation is common to all processors, while the specified IPC0operation is It is Cal.

IPCIn5truction Field (8ビツト)はPIWに位置して いる。それは下記のサブフィールドを有している。IPCIn5truction Field (8 bits) is located in the PIW There is. It has the following subfields:

(1) Run/5top (2) Load IPCDR(Preserve、 Load H&L、 L oad L、 Load t()(2) IPcDR用5ource 5ele ct(1) Load lPcOR(Preserve、 Load)(1)  Load CIDR(Preserve、 Load)(1) IPCOR,C IDR用5ource 5electlビツトRun/5topフイールドは、 現命令上IPCがアクティブか否かを判定する。2ビツトLoad IPCDR は、64ビツトIPCDRがロードされているかどうか、さらにその方法を決定 する。4モードというのは、IPCDR、Load IPcDR(L) 、Lo ad IPCDR(+() 、及びLoad IPCDR(L、H)の保存内容 である。最後の例では、IPcDRの下位ワードと上位ワードが同じ32ビツト 値でロードされる。2ビツト5ource 5electは、どのソースがIP CDHにロードされるかを決定する。32ビツトソースとは、RO3、ACCI 、ACC2、及びMRIである。lビットLoad lPcORは、lPcOR の数値をロードするか保存する。1ビツトLoad IPCCIDRは、CID Rの数値をロードするか保存する。lPcORとCIDRの1ビツト5ourc e 5electは、どのソースがロードされるかを決定する。IPCORとC IDRは、IMDとMR2である共通ソースを有する。(1) Run/5top (2) Load IPCDR (Preserve, Load H&L, L oad L, Load t() (2) 5source 5ele for IPcDR ct(1) Load lPcOR(Preserve, Load)(1) Load CIDR (Preserve, Load) (1) IPCOR, C The 5source 5electl bit Run/5top field for IDR is Determine whether IPC is active on the current instruction. 2 bit Load IPCDR determines if and how a 64-bit IPCDR is loaded. do. The 4 modes are IPCDR, Load IPcDR (L), Lo Saved contents of ad IPCDR (+(), and Load IPCDR (L, H) It is. In the last example, the lower and upper words of IPcDR are the same 32 bits. Loaded by value. 2 bits 5source 5elect indicates which source is the IP Determine whether it will be loaded into CDH. 32-bit sources are RO3, ACCI , ACC2, and MRI. l bit Load lPcOR is lPcOR Load or save the numbers. 1 bit Load IPCCIDR is CID Load or save the R value. 1 bit 5ourc of lPcOR and CIDR e5elect determines which source is loaded. IPCOR and C IDR has a common source which is IMD and MR2.

オペレーションはデータとプロセッサに従属しているので、IPC0perat ion (64ビツト)は、プロセッサ内に記憶されている。+pc 0per ationは、IPCDRにロードされる64ビツト値である。各オペレーショ ンはIPcを独立的に制御するので実際は二つの32ビツトオペレーシヨンであ る。上位の32ビツトはIPCIを制御して、下位の32ビツトはIPC2を制 御する。64ビツト値がIPcを介して通信される場合には、IPCオペレーン ヨンの上位ワードと下位ワードは同一でなければならない。2種類のオペレーシ ョン、即ちIPC0perationとIPc Tagged 0perati onがある。Since the operation is dependent on data and processor, IPC0perat ion (64 bits) is stored within the processor. +pc 0per ation is a 64-bit value loaded into IPCDR. Each operation It controls IPc independently so it is actually two 32-bit operations. Ru. The upper 32 bits control IPCI, and the lower 32 bits control IPC2. control If a 64-bit value is communicated over IPc, the IPC operand The upper and lower words of Yon must be the same. Two types of operation i.e. IPC0peration and IPc Tagged 0perati There is on.

IPc 0perationは、PEでサポートされたIPCオペレーションに 類似している。IPc0operation is an IPC operation supported by PE. Similar.

このモードでは、両方のIPCとも別々にプログラマブルである。64ビツト値 は、二つのチャネルを同じようにプログラムすることによりIPCを介して送信 される。3種類のオペレーション、即ちシフテイング、パイパシング、ブロード キャスティングである。In this mode both IPCs are separately programmable. 64 bit value is transmitted via IPC by programming the two channels identically. be done. Three types of operations: shifting, pipe passing, and broad It's casting.

IPCTagged 0perationは、1セツトのプロセッサ間における 任意の通信のために設計されている。このモードにおいて、両方のIPcが64 ビットワードを送信するためにともに使用されなければならない。ワードは、メ ツセージ番号、CID、データからなっている。データの発信側はCIDに送信 するため64ビットワード割り当て、データを受信するすべてのプロセッサはC IDRにロードされた同じCIDを有しなければならない。こうして、一対一通 信と一対多通信プロトコルは、サポートされる。代わりに、そのプロセッサID をCIDとして使用し、プロセッサの範囲はデータの受信装置として特定される 。データ形式はプログラマ−に残されており、復帰CIDとしてその情報を含む ことができる。IPCTagged 0operation is a Designed for any communication. In this mode, both IPcs are 64 Must be used together to transmit a bitword. The word is It consists of a message number, CID, and data. Data originator sends to CID Allocating a 64-bit word to Must have the same CID loaded into the IDR. In this way, one-on-one correspondence communication and one-to-many communication protocols are supported. Instead, its processor ID as the CID, the range of processors is identified as the receiver of the data. . The data format is left to the programmer and includes that information as the return CID. be able to.

IPCTagged 0perationのために、データをIPcDRにロー ドした後に、IPC内容は、シーケンサによって決められた時間内に各サイクル 毎にシフトされる。シーケンサは、宛先にデータを送るのに要するサイクル数を 決定するユーザープログラマブルカウンタを有している。各プロセッサは、IP cにシフトしたデータを比較して、そのデータのCIDとCIDHの数値とを比 較する。二つのCID値が整合してワードのタッグビットが非ゼロの場合には、 64ビットワードがそのIPCDRにロードされる。Load data to IPcDR for IPCTagged 0operation. After loading, the IPC contents are updated each cycle within the time determined by the sequencer. shifted each time. The sequencer calculates the number of cycles it takes to send data to the destination. It has a user programmable counter to determine. Each processor has an IP Compare the data shifted to c and compare the CID and CIDH values of that data. Compare. If the two CID values match and the tag bit of the word is non-zero, then A 64-bit word is loaded into the IPCDR.

IPCオペレー/ヨン(27ビツト)は、IPCのシフティング、パイパシング 、ブロードギヤスティングのようなIPcオペレーションを含んでいる。これら のオペレーションは独立的にIPCを制御しているので、二つの異なるオペレー ションはただちに実行できる。(IPCI命令はIPCORの上位32ビツト内 に記憶されており、IPC2命令は32ビツト内に記憶されている。)IPCオ ペレーションは、下記の27ビツト命令フィールド形式を有している。IPC operation/yeon (27 bits) performs IPC shifting and piecing. , including IPc operations such as Broadcasting. these The operations of the two control IPC independently, so the can be executed immediately. (The IPCI instruction is within the upper 32 bits of IPCOR. The IPC2 instruction is stored within 32 bits. ) IPC O The operation has the following 27-bit instruction field format:

即ち、1ビツト(Channel Modeに設定された) Modeフィール ド、1ビットIPcDRHigh/Low 5elect ; 1ビツトII” C5peed (1シフト/サイクル、4シフト/サイクル); lビットEn able Boundary Value ; 3ビツトReduction  0peration ; 1ビットLeft/Right Direction al Bit ; 2ビツト0peration (Shift 、 Bypa ss、 ar oadcast 、 NOP ) ; 1ビツトBroadcast 5end  (Broadcast 5end N0P) ; 2ビツg Broadcast Receive (Broadcast Receive  Left Boundary 5Broadcast R■モ■奄魔■ Right Boundary、 Broadcast Receive NO P ) : 13ビツトCapture Cycles ;yび 1ビツトRepeat 0perationである。That is, 1 bit (set in Channel Mode) Mode field 1 bit IPcDR High/Low 5 select; 1 bit II” C5peed (1 shift/cycle, 4 shifts/cycle); l bit En able Boundary Value; 3-bit Reduction 0operation; 1 bit Left/Right Direction al Bit; 2 bit 0 operation (Shift, Bypa ss, ar oadcast, NOP); 1 bit Broadcast 5end (Broadcast 5end N0P); 2 bits g Broadcast Receive Left Boundary 5Broadcast R■Mo■Amama■ Right Boundary, Broadcast Receive NO P): 13-bit Capture Cycles; 1 bit Repeat 0 operations.

1ビツトモードフイールドは、IPC0perationである命令を特定する 。1ビツトIPcDR)I/L 5electは、IPcIIRの上位ワード又 は下位ワードが他のプロセッサコンポーネントにより読み込まれているかどうか を判定する。1ビツトIPc 5peedフイールドは、IPcがプロセッサと 同じスピード(1シフト/サイクル)で演算しているのか、プロセッサスピード の4倍(4シフト/サイクル)で演算しているのかを判定する。プロセッサがそ のデータ値を次のプロセッサにシフトするかどうかを特定する1ビツトEnab le Boundary Valueフィールドがある。境界値を許可すると、 同時にIPCを使用しているいくつかの独立したIPCオペレーション間におけ る干渉を妨げる。3ビツト縮小オペレーシヨンフイールドは、両方のモードに共 通である。A 1-bit mode field identifies instructions that are IPC0operation. . 1-bit IPcDR) I/L 5select is the upper word of IPcIIR or is whether the lower word is being read by another processor component. Determine. The 1-bit IPc 5peed field indicates whether the IPc is Are you calculating at the same speed (1 shift/cycle)? Processor speed It is determined whether the calculation is performed four times (4 shifts/cycle). the processor is 1-bit Enab that specifies whether to shift the data value of There is a Boundary Value field. Allowing boundary values gives us between several independent IPC operations using IPC at the same time. prevent interference. The 3-bit reduction operation field is the same for both modes. I am a connoisseur.

IPc 0perationは、IPCの方向は左右のいずれであるかを決定す るための1ビツトフイールドを有している。2ビツトオペレーシヨンフイールド は、シフト、バイパス、ブロードキャスト、又はNOPのいずれが実行されてい るのかを判定する。ブロードキャストオペレーションが実行されている場合には 、1ビツトブロードキヤストセンドフイールドが、そのプロセッサがブロードキ ャストのオリジネータであるかを判定する。2ビツトフイールドは、そのプロセ ッサがブロードキャスト受信に参加する方法を決定する。プロセッサは、データ 値を受信してIPCの隣接するプロセッサにパスするか、あるいは境界仕様の一 つが選択された場合には、ブロードキャスト値のシンクとして作動する。左側の 境界ブロードキャスト受信は、そのプロセッサがデータを受信するIPCの左端 のプロセッサであると特定する。右側の境界ブロードキャスト受信は、それが右 端のプロセッサであると特定する。IPc 0perationには32ビツト あるので、各チャネルに対して5ビツトは現在は未使用である。IPc0operation determines whether the IPC direction is left or right. It has a 1-bit field for reading. 2-bit operation field is a shift, bypass, broadcast, or NOP being performed. Determine whether the If a broadcast operation is being performed , the 1-bit broadcast send field is is the originator of the cast. The 2-bit field is Determine how the subscriber will participate in broadcast reception. Processor processes data receive the value and pass it to an adjacent processor in the IPC, or as part of a boundary specification. If selected, it acts as a sink for broadcast values. on the left Boundary broadcast reception refers to the left edge of the IPC where that processor receives data. processor. Right border broadcast reception means it is right Identify the edge processor. 32 bits for IPc 0operation 5 bits for each channel are currently unused.

図16はシフト、バイパス、及びブロードキャストのオペレーションを実行する IPcのハイレベル図である。レジスタは各プロセッサのIPCDRを表してい る。Figure 16 performs shift, bypass, and broadcast operations FIG. 2 is a high level diagram of IPc. The register represents the IPCDR of each processor. Ru.

最上図はバスの右シフトを説明している。第二図はバイパスオペレーションを説 明しており、三つのプロセッサがバイパスされている。本実施例において、(左 から数えて)第一と第五プロセッサを論理的に隣接させるバイパスパターンが特 定されている。第一プロセッサから右に一回シフトさせるとデータは第五プロセ ッサにソフトされる。(そのオペレーションは必ずしもl命令サイクルでは生じ ないことを理解しなければならない。多くのプロセッサがバイパスされた場合に は、データを論理的に接続された次のプロセッサにシフトするにはいくつかの命 令がいるかもしれない。)第三図では、左から数えて第三プロセッサがその数値 をブロードキャストされている。最下図では、いくつかのプロセッサがブロード キャストしている。左から数えて第二及び第四プロセッサはBroadcast  5end命令を実行するとともに、第三プロセッサはBroadcast R eeeive Right Boundaryを実行し、第四プロセッサはBr oadcast Receive Left Boundaryを実行している 。これはブロードキャストのためのシンクを特定し、ローカルブロードキャスト が互いに干渉するのを妨げる方法である。The top diagram illustrates the right shift of the bus. Figure 2 illustrates bypass operation. and three processors are bypassed. In this example, (left A bypass pattern that makes the first and fifth processors logically adjacent (counting from has been established. A single shift to the right from the first processor transfers the data to the fifth processor. It is softened by the sensor. (The operation does not necessarily occur in l instruction cycles.) You have to understand that there is no. If many processors are bypassed requires several instructions to shift data to the next logically connected processor. There may be an order. ) In the third figure, the third processor counting from the left is being broadcast. In the bottom diagram, some processors are Casting. The second and fourth processors counting from the left are Broadcast At the same time as executing the 5end instruction, the third processor executes the Broadcast R eeeive Right Boundary and the fourth processor executes Br oadcast Receive Left Boundary is running . This identifies the sink for broadcast and local broadcast This is a way to prevent them from interfering with each other.

IPCTagged 0peration (62ビツト)により1セツトのプ ロセッサの間で任意の通信が許可される。このオペレーションではIPCが単一 の64ビツトチヤネルとして使用される。タグオペレーションのために、シーケ ンサのカウンタが通信を完全なものとするために必要とされるサイクル数でロー ドされる。カウンタがゼロとなった場合に、IPc通信が完了し、シーケンサに その通信が完了したことを示す信号が送られる。タグオペレーションは、二つの データ形式を有しており、この形式がCIDの解釈の方法を決定する。IPCTagged 0operation (62 bits) allows one set of programs Any communication between processors is allowed. In this operation, the IPC is It is used as a 64-bit channel. For tag operations, sequence The sensor's counter is low for the number of cycles required to complete the communication. is coded. When the counter reaches zero, IPc communication is completed and the sequencer A signal is sent indicating that the communication is complete. The tag operation consists of two It has a data format, and this format determines how the CID is interpreted.

IPCTagged 0perationは、62ビツト命令フィールド形式を 有している。即ち、(Tagged Modeの設定された)lビットMode フィールド;lビットIPcDRHigh、’Low 5elect : Iビ ットIPC5peed (1/フト/サイクル、4シフト/サイクル)、1ビツ トEnable Boundary Value : 3ビツトReducti on 0peration ; 1ビツトIPCData Range形式、+ 1ビツトLe4t 5hift Cyclex 4 ; I 1ビットRigh t 5hift Cycle x 4 :及び32ビツトReduction  Maskである。IPCTagged 0operation uses 62-bit instruction field format. have. That is, l bit Mode (with Tagged Mode set) Field; l bit IPcDRHigh, 'Low 5 select: I bit Cut IPC5peed (1/ft/cycle, 4 shifts/cycle), 1 bit Enable Boundary Value: 3 bits Reducti on 0operation; 1 bit IPCData Range format, + 1 bit Le4t 5hift Cyclex 4; I 1 bit Right t 5hift Cycle x 4: and 32-bit Reduction It is Mask.

IPCTagged 0perationにおいて、1ビツトモードフイールド は命令を特定する。1ビツトIPCDRH/L 5electは、IPCDHの 上位ワード又は下位ワードがその他のプロセッサコンポーネントによって読み込 まれているかどうかを判定する。lビットIPC5peedフイールドは、その IPCがプロセッサと同じスピード(lシフト/サイクル)で演算しているか、 プロセッサスピードの4倍(4シフト/サイクル)で演算しているかどうかを判 定する。プロセッサがデータ値を次のプロセッサにシフトするべきかどうかを特 定するための1ビツトEnable Boundary Valueフィールド がある。境界値を許可すると、同時にIPcを使用するいくつかの独立したIP Cオペレーションの間で生じる干渉を妨げる。3ビツト縮小オペレーシヨンフイ ールドは、両方のモードに共通である。IPCTagged 1 bit mode field at 0operation identifies the instruction. 1 bit IPCDRH/L 5 select is IPCDH High word or low word read by other processor components Determine whether the l bit IPC5peed field Is the IPC operating at the same speed as the processor (l shifts/cycle)? Determines whether calculations are being performed at four times the processor speed (4 shifts/cycle). Set. Specifies whether a processor should shift the data value to the next processor. 1-bit Enable Boundary Value field for setting There is. Allowing boundaries allows several independent IPs to use IPc at the same time Prevent interference that occurs between C operations. 3-bit reduction operation fee The field is common to both modes.

1ビツトIPc Data Range形式は、CID値を解釈するための二つ のり一ガルデータ形式の一つを特定する。データがプロセッサの左右方向のどこ までシフトされているかを特定するために二つの11ビツトフイールドがある。The 1-bit IPc Data Range format has two formats for interpreting CID values. Specify one of the glue data formats. Where is the data left and right of the processor? There are two 11-bit fields to specify what has been shifted.

特定値は4倍して測定されているので、フィールドにおいて数値を特定すること はデータがその方向に対して4倍シフトされていることを意味している。32ビ ツト縮小マスクがIPcDRの最小有効32ビツトデータに適用されて、縮小オ ペレーションに従属するワードのビット数が特定される。二つの未定義ビットが ある。Specific values are measured by multiplying by 4, so specify the numerical value in the field. means that the data has been shifted by a factor of 4 in that direction. 32 bits The reduction mask is applied to the minimum valid 32-bit data of the IPcDR to reduce the reduction mask. The number of bits in the word that is dependent on the operation is specified. two undefined bits be.

Tagged Data形式1において、CID値は通信IDナンバーとして解 釈される。CIDRのマツチングCIDナンバーを有するプロセッサはいずれも 、そのデータを受信する。In Tagged Data format 1, the CID value is interpreted as a communication ID number. be interpreted. Any processor with a matching CID number of CIDR , and receive that data.

IPcの64ビツトデ一タワード形式は、lビットEven Parity B it ; 13ピッ1−CIDフィールド:2ピツ)Tagビットフィールド; 及び50ビツトDataフイールドである。The IPc 64-bit data word format has l-bit Even Parity B. it; 13 bits 1-CID field: 2 bits) Tag bit field; and a 50-bit Data field.

この形式では、lビットEven Parityビットはエラーを検出するため に使用される。13ビツトCIDフイールドは、宛先プロセッサによって整合し た数値を含んでいる。ユーザ一定義の2ビツトタグフイールドがある。そのフィ ールドが非ゼロである場合には、意味あるデータは64ビットワードである。( タグビットはユーザ一定義であるけれども、タグビットバターゾ00゛が予約さ れている。)50ビツトフイールドはデータ用である。データ形式を決定するの はプログラマ−の責任である。In this format, l bit Even Parity bit is used to detect errors. used for. The 13-bit CID field is aligned by the destination processor. Contains numerical values. There is a user-defined 2-bit tag field. That fee If the field is non-zero, the meaningful data is a 64-bit word. ( Although the tag bit is user-defined, the tag bit butterzo 00゛ is reserved. It is. ) 50 bit field is for data. Deciding on the data format is the responsibility of the programmer.

50ビツトに使用できる一つの適切なデータ形式は、11ビツトReturn  CIDアドレス:及び11ビツトDataである。もう一つの適切なデータ形式 は、(18)アレーに0ffset ;及び(32)(アレーに記憶し読み出す ) Dataである。One suitable data format that can be used for 50-bit is 11-bit Return. CID address: and 11-bit data. Another suitable data format (18) 0ffset to the array; and (32) (store and read in the array ) Data.

IPc Tagged Data形式1を使用して通信する方法に関する実施例 が下記のテーブル(a)及び(b)に示されている。テーブル(a)はIPc  0peration前を示してあり、すべてのプロセッサはCIDRにロードし たCID値を有している。Example of how to communicate using IPc Tagged Data format 1 are shown in tables (a) and (b) below. Table (a) is IPc The state before 0operation is shown, and all processors are loaded into CIDR. It has a CID value.

CIDタグ 5 20 10 データ AB C ブロモ・け 012345 CIDR20105202020 PcDR (a) IPC0peration前 次に、プロセッサはローカルデータをCIDタグとともにIPCDHに入力され る。CID tag 5 20 10 Data AB C Bromo Ke 012345 CIDR20105202020 PcDR (a) Before IPC0operation The processor then inputs the local data into the IPCDH along with the CID tag. Ru.

バスは高速度でシフトされて、マツチングハードウェアは、タグデータのCID 値とCIDH値との整合を試みる。整合する場合には、データはIPCDHにロ ードされる。そのため、IPC0perationの後、その結果はテーブル( b)に示される。The bus is shifted at high speed and the matching hardware Attempts to match the value with the CIDH value. If compatible, the data is loaded to IPCDH. is coded. So after IPC0operation, the result is in the table ( b).

プロセッサ 012345 CIDR20105202020 IPCDRB CA B B B (b) IPC0peration後 IPcのデータの数ワードが同じCID値を有している場合には、IPcDRに ある結果値はIPc縮小オペレータに従属している。Processor 012345 CIDR20105202020 IPCDRB CA B B B (b) After IPC0operation If several words of data in IPc have the same CID value, Certain result values are dependent on the IPc reduction operator.

IPCの64ビツトデータの形式は、(1) Even Parity Bit  ; (13) CIDフィールド;(2)Tagビットフィールド; (8)  Rangeフィールド;及び(42) Dataフィールドである。The format of IPC 64-bit data is (1) Even Parity Bit (13) CID field; (2) Tag bit field; (8) Range field; and (42) Data field.

1ビツトEven Parityビットは、エラーを検出するために使用される 。13ビツトCIDフイールドはプロセッサIDの数値を含んでいる。このモー ドにおいて、CIDフィールドはプロセッサIDでロードされる。ユーザ一定義 2ビツトタグビツトフイールドがある。そのフィールドが非ゼロである場合には 、意味のあるデータは64ビツトワードにある。(タグビットはユーザ一定義で あるけれども、タグビットパターン00′は予約されている。)8ビットRan geフィールドはプロセッサの連続範囲を特定している(Range値は、[C ID]と[CID+Rangelの間にあるプロセッサがデータを受信すること を示している)。42ビツトデータフイールドデータの場合には、プログラマ− はそのフィールドのデータ形式を決定しなければならない。1-bit Even Parity bit is used to detect errors . The 13-bit CID field contains the numeric value of the processor ID. This mode In the code, the CID field is loaded with the processor ID. User defined There is a 2-bit tag bit field. if that field is non-zero , meaningful data is in 64-bit words. (Tag bits are user-defined. However, tag bit pattern 00' is reserved. ) 8 bit Ran The ge field specifies a contiguous range of processors (Range values are [C The processor between [ID] and [CID+Range] receives data. ). In the case of 42-bit data field data, the programmer must determine the data format for that field.

下記の二つのテーブルに示された実施例は、IPCTagged Data形式 2の働く方法を説明している。この例においては、プロセッサ0はデーラダA′ をプロセッサ2−5に送る。最初に、下記の第一テーブルに示しているように、 各プロセッサは論理的プロセッサナンバーをCIDHに入力して、プロセッサ0 は3の範囲で2のCIDを特定する。The examples shown in the two tables below are in IPCTagged Data format. It explains how 2 works. In this example, processor 0 is data processor A' is sent to processor 2-5. First, as shown in the first table below, Each processor enters its logical processor number into CIDH and processes processor 0. specifies a CID of 2 in a range of 3.

始値: プロセッサ 0123456 CIDROl 2 3 4 5 6 範囲 3 ・ ・ ・ ・ ・ ・ IPc 0peration後に、下記の第二テーブルに示しているように、プ ロセッサ2−5は正しいデータ値を有している。Opening price: Processor 0123456 CIDROl 2 3 4 5 6 Range 3・・・・・・・・ After IPc 0operation, as shown in the second table below, Processors 2-5 have correct data values.

IPC0peration後: プロセッサ 0123456 受信 ・ ・ AAAA ・ Reduction 0peration Field (3ビツト)は、IP CとTaggedオペレーションの両方に共通である。それは、IPCのデータ に関して実行する縮小オペレーションを特定する。そのフィールドが縮小は生じ るものでないことを特定して、縮小が必要とされた場合には、PSWのビットが 設定される。八つの縮小オペレーションがある。 1) XOR5) Max 2) AND 6) Min 3) OR7) Sum 4) Replace 8) 5ortChannel Modeでは、データ フィールドは特定チャネル用のIPCDRの32ビツト値である(チャネル11 はIPCDRの32ビットを使用しており、チャネル12はIPCDRの下位3 2ビツトを使用する)。Tagged Modeでは、データフィールドは可変 であり、32ビツトReduction Maskにより定義されいるが、それ はデータの最小有効32ビツトに適用される。特定された縮小オペレーションは 、IPCバスとIPCDRを介して受信したワードで実行される。そのオペレー ションの結果は、信号IPCとしてプロセッサに供給される。図6では、信号I PCはAG610−1を介してローカルメモリーに書き込まれて、RF608の レジスタに記憶されて、マツチユニット604又は乗算器602のYオペランド としてが、ALU600のAオペランドとして適用される。After IPC0operation: Processor 0123456 Reception・・AAAA・ Reduction 0operation Field (3 bits) is the IP Common to both C and Tagged operations. It is IPC data Identify the reduction operation to perform on. That field will shrink If it is determined that the PSW is not Set. There are eight reduction operations. 1) XOR5) Max 2) AND 6) Min 3) OR7) Sum 4) Replace 8) In 5ortChannel Mode, the data The field is a 32-bit value of IPCDR for a particular channel (channel 11 uses 32 bits of IPCDR, and channel 12 uses the lower 3 bits of IPCDR. (use 2 bits). In Tagged Mode, data fields are variable is defined by the 32-bit Reduction Mask, but it applies to the minimum significant 32 bits of data. The identified reduction operation is , on words received via the IPC bus and IPCDR. its operation The result of the tion is provided to the processor as signal IPC. In FIG. 6, the signal I The PC is written to local memory via AG610-1 and the RF608 Y operand of match unit 604 or multiplier 602 is applied as the A operand of ALU 600.

データ縮小オペレーションは下記のように行われる。IPCバスを介してIPC ロジック612によって受信されたデータ値はlオペランドであり、IPCDH に保存された数値は別のオペランドである。一度そのオペレーションが実行され ると、その結果はIPCDRに記憶されて、初期の内容を取り替える。上記の二 つのリプレースオペレーションとソートオペレーションは、説明を加えた方がよ りよく理解できる。リプレースオペレーションにより、If’Cバスを介して受 信した数値はIPCDRの初期の内容を取り替える。ソートオペレーションによ り、大きなオペランドがIPcDRの32M5R位置を占めるとともに、小さな オペランドが32LSB位置を占める。The data reduction operation is performed as follows. IPC via IPC bus The data value received by logic 612 is the l operand and the IPCDH The number stored in is another operand. Once the operation is executed The result is then stored in the IPCDR, replacing the initial contents. above two The two replace and sort operations are best explained. I can understand it very well. Replace operation allows The received value replaces the initial contents of the IPCDR. By sort operation The large operand occupies the 32M5R position of IPcDR, and the small operand occupies the 32M5R position of IPcDR. The operand occupies the 32 LSB positions.

10MCは、SEとすべての外部ソースの間のすべてのデータ転送を行う。その SEは/リンダに編成されており、各シリンダはプロセッサ、ローカルメモリー 、及び10MCを含んている。シリンダは編成されているので、IOMCとプロ セッサの間の唯一の通信形式はローカルメモリーを介してである。こうして、プ ロセッサI10はマツプメモリーであり、外部ソースとローカルメモリーの間の データ転送が適切に実行されていることを確認するのが制御装置とIOMCの役 割である。The 10MC handles all data transfers between the SE and all external sources. the The SE is organized into /linders, with each cylinder containing a processor, local memory , and 10MC. Since the cylinders are organized, the IOMC and The only form of communication between processors is through local memory. In this way, Processor I10 is a map memory, a link between external sources and local memory. It is the role of the controller and IOMC to ensure that data transfer is performed properly. It's a discount.

10MCは、三つの主たるIlo Channel 、即ちData Inpu t Channel (DIC) ; Data 0utpu+ Channe l (DOC) :及びHo5t Ilo Channel (1+l0c)に 接続している。これは、ビデオソース、ビデオ宛先、及びホストワークステーシ ョンの間でのデータ転送をそれぞれ処理している。DICとDOCは、lnp  ut 5liceと0utput 5liceというプロセッサインターフェイ スを経由してIOMCに接続されている。10MC has three main Ilo Channels, namely Data Input t Channel (DIC); Data 0utpu+ Channel l (DOC): and Ho5t Ilo Channel (1+l0c) Connected. This includes video sources, video destinations, and host workstations. each handles data transfer between the two versions. DIC and DOC are lnp The processor interfaces are ut5lice and 0utput5lice. connected to the IOMC via the

Ho5t Ilo Bus (HIO)は、I(ost Workstatio nをIOMCに接続した32ビツト二方向チヤネルである。そのチャネルはリニ アアレーのIOMCをHIOの左端に置かれたホストに接続される。そのチャネ ルは、200MB/sec、のデータ率を有している。Ho5t Ilo Bus (HIO) is I (ost Workstation) A 32-bit bidirectional channel connects the IOMC to the IOMC. That channel is The IOMC of the array is connected to the host placed at the left end of the HIO. that channel The file has a data rate of 200MB/sec.

DICはl0IJCを最大臼つのVideo 5ourceと同時に接続した4 8ビット一方向チャネルである。DICは独立制御の四つの12ビツトシリアル チヤネルからなっており、(各チャネルは異なったVideo 5ourceを 読み出すことができるように、)各チャネルは異なったクロックから作動する。DIC connected 10IJC with maximum 5 sources at the same time 4 It is an 8-bit unidirectional channel. DIC has four independently controlled 12-bit serial It consists of channels (each channel has 5 different video sources). ) Each channel operates from a different clock so that it can be read out.

DICは、リニアアレーのIOMCをDICの左端に位置するVideo 5o urceと接続される。チャネルは、データをバスを介して左から右に伝送する 。DICは、Input 5liceを介してIOMCに接続されている。DIC has a linear array IOMC located at the left end of DIC. Connected to urce. Channels transmit data across the bus from left to right . DIC is connected to IOMC via Input 5lice.

チャネルは、最大速度86M1+Zで作動し、1.2GB/sec、のデータ率 を有している。The channel operates at a maximum speed of 86M1+Z, with a data rate of 1.2GB/sec. have.

DOCは、IOMCを最大臼つのVideo Destinationに同時に 接続した48ビット一方向チャネルである。DICと同様に、DOCは独立制御 の四つの12ビツトシリアルチヤネルからなっており、(各チャネルは異なった Video Destinationに書き込むことができるように、)各チャ ネルは異なったクロックから作動する。ビデオ人力/出力チャネルが同じ形式同 じ速度でデータを伝送する場合には、DOCがDICクロックから演算するとい うモードがある。DOCは、リニアアレーのIOMcをDICの左端に位置する Video Destinationと接続されている。バスは、それを介して 右から左にデータを伝送する。DICは、0utput 5liceを介してI OMCに接続されている。チャネルは、最大速度86MHzで作動し、1.2G B/sec、のデータ率を有している。DOC can simultaneously connect IOMC to the maximum number of Video Destinations. A connected 48-bit unidirectional channel. Similar to DIC, DOC is independently controlled consists of four 12-bit serial channels (each channel has a different ) for each channel so that it can be written to the Video Destination. The channels run from different clocks. Video input/output channel is same format When transmitting data at the same speed, the DOC calculates from the DIC clock. There is a mode. The DOC places the linear array IOMc at the left end of the DIC. Connected to Video Destination. bus through it Transmit data from right to left. DIC connects I via 0output 5lice. Connected to OMC. The channel operates at a maximum speed of 86MHz and supports 1.2G It has a data rate of B/sec.

図17において、Input 5liceはDICのための10MCインターフ ェイスであり、各DICに一つの合計口つの64x32ビツトFIFO1702 −1乃至1702−4からなるInput Controller 1700と 、DICとインターフェイスをもつハードウェアからなっている。各FIFO1 702−1乃至1702−4は、12ビツト入力を32ビツト出力に変更するフ ォーマツタ(FMT)を含んでいる。DICからのデータはFIFOを介しロー カルメモリに方向付けられるか、DICを介してリニアアレーの次のIOMCの Input 5liceにバスされる。代わりに、前のIOMCの0utput  5liceからのデータは、IOMcのInput 5liceにルートをつ けることができる。制御装置!700は、二つの機能の役割を有している。即ち 、DICからFIFO1702−1乃至1702−4にロードされるデータを制 御することと、FIFO1702−1乃至1702−4からローカルメモリーに データを転送することである。In Figure 17, Input 5lice is 10MC interface for DIC. A total of 64x32 bit FIFO 1702, one for each DIC. Input Controller 1700 consisting of -1 to 1702-4 and It consists of hardware that has an interface with the DIC. Each FIFO1 702-1 to 1702-4 are filters that change 12-bit input to 32-bit output. Contains Foma Tsuta (FMT). Data from DIC is loaded via FIFO. of the next IOMC in the linear array via the DIC. Bused to Input 5lice. Instead, the previous IOMC's 0output Data from 5lice is routed to IOMc Input 5lice. can be used. Control device! 700 has two functional roles. That is, , controls the data loaded from DIC to FIFOs 1702-1 to 1702-4. from FIFO 1702-1 to 1702-4 to local memory. It is to transfer data.

図18において、0utput 5liceはDOCのための10MCインター フェイスであり、各DIC1,m−−1(7)合計四つ(1) 64 x 32 ビツトFIFO]−802−1乃至1802−4からなる0utput Con troller 1800と、DOCとインターフェイスをもつハードウェアか らなっている。各PIF01802−1乃至1802−4は、32ビツト人カを 12ビツト出力に変更するフォーマツタ(FMT)を含んでいる。ローカルメモ リがらのデータはPIFo 1802−1乃至1802−4を介しDOCに方向 付けられるか、前のIOMCからのDOCのデータは次のIOMCにバスされる 。制御装置1800は、二つの機能の役割を有している。即ち、ローカルメモリ から0utput FIFO1802−1乃至1802−4にデータを転送する ことと、FIFO1,802−1乃至1802−4(7)出力をDOCl、m送 信することである。In Figure 18, 0output 5lice is 10MC interface for DOC. face, each DIC1, m--1 (7) total four (1) 64 x 32 bit FIFO] -802-1 to 1802-4 0output Con Troller 1800 and hardware that interfaces with DOC? It is becoming more and more. Each PIF01802-1 to 1802-4 has a 32-bit power It includes a formatter (FMT) that changes to 12-bit output. local memo The raw data is directed to DOC via PIFo 1802-1 to 1802-4. data in the DOC from the previous IOMC is bussed to the next IOMC. . Control device 1800 has two functional roles. i.e. local memory Transfer data from 0output to FIFO 1802-1 to 1802-4 In addition, the output of FIFO1, 802-1 to 1802-4 (7) is sent to DOCl, m. It is to believe.

旧Oは、ローカルメモリーとホストワークステーションとの間での非実時間デー タ転送に使用される。それは、ユーザーによるインタラクティブ制御とアルゴリ ズムの修正、及びプログラムローディング、大刀、及び出力のようなアクティビ ティをサポートする。ホストチャネルはスカシデータ転送とベクトルデータ転送 をサポートしている。Old O is a non-real-time data transfer between local memory and the host workstation. used for data transfer. It is based on user interactive control and algorithmic control. Modification of rhythms and activities such as program loading, daggers, and output Support Tee. The host channel is used for data transfer and vector data transfer. is supported.

ホストとメモリの間の転送データはバッファされる。ホストとSRは異なるクロ ック率で演算し、強く結合されていないので、データのバッファリングは必要で ある。ホストは、データをVMEバスを介してOperating Syste m (OS) Bufferに読み込み、書き込む。IOMcは、データをHI Oバスを介してO3Bufferに読み込み、書き込む。1セツトのレジスタが リニアアレーに接続されているIOMCと制御装置の各々に存在する(図3参照 )。データはHIOバスを介して200MB/sec、の率でシフトサレる。O 3Boardは、O3Bufferの使用を調整して、データがホストとローカ ルメモリとの間で正確に転送されることを保証する。O3BufferとO3B oardに関しての詳細は後述。 HIOバスは、すべてのIOMCと制御装置 に直列に接続される32ビツト二方向パスである。データがO3Bufferに 記憶されるまで、データはそれを旧ORegister (HIOR)にロード し、)110バス上左方向にシフトすることにより、O3Bufferに書き込 まれる。同様に、データが宛先HIORに届くまで、[OMCへの書き込みは、 O3Bufferを読み出し、そのデータを右方向にシフトすることにより実行 される。Transfer data between the host and memory is buffered. Host and SR are in different clones Because it operates on the read rate and is not strongly coupled, no data buffering is required. be. The host sends data to the Operating System via the VME bus. m (OS) Read and write to Buffer. IOMc sends data to HI Read and write to O3Buffer via O bus. One set of registers exists in each IOMC and control device connected to the linear array (see Figure 3). ). Data is shifted over the HIO bus at a rate of 200MB/sec. O 3Board coordinates the use of O3Buffer to ensure that data is shared between host and local ensure accurate transfers to and from memory. O3Buffer and O3B Details regarding oard will be described later. The HIO bus connects all IOMCs and control devices is a 32-bit bidirectional path connected in series with Data to O3Buffer Until stored, the data loads it into the old ORegister (HIOR) ) 110 bus to the left and write to the O3Buffer. be caught. Similarly, until the data reaches the destination HIOR, [writing to OMC is Executed by reading O3Buffer and shifting the data to the right be done.

バスを介して送信されるデータには2種類ある。即ち、ベクトルデータとスカシ データである。ベクトルデータは、プロセッサ数と同じ大きさを有する32ビツ トデータのアレーである。データは逆順序で旧0に送信されるので、第一データ ワードは最右側のプロセッサに向けられており、最後のデータワードは最左側の プロセッサに向けられている。こうして、すべてのデータが同じサイクルでプロ セッサに届く。There are two types of data sent over the bus. In other words, vector data and It is data. Vector data is 32 bits with the same size as the number of processors. This is an array of data. The data is sent in reverse order to old 0, so the first data The word is directed to the rightmost processor, and the last data word is directed to the leftmost processor. Directed to the processor. This way, all data is processed in the same cycle. It reaches Sessa.

スカシデータは、すべての10MCプロセッサに送信されたホストワードで宛先 IDナンバー(PROC#NUM)を特定して、データの単一ワードを旧OBu sに送信することにより、IOMcに送信される。スカシモードではシフトでき ないし、ポストバスはすべてのプロセッサが監視する真のバスとして作動する。The data is sent to all 10 MC processors in the destination host word. Identify the ID number (PROC#NUM) and copy a single word of data to the old OBu. s to the IOMc. You can't shift in swash mode. Otherwise, the postbus operates as a true bus monitored by all processors.

スカシデータの宛先であるかどうかを判定するために、各10MCはホストワー ドのPROC#NUMをPIDRの数値と比較する。To determine if it is the destination for the data, each 10 MC uses the host Compare the PROC#NUM of the code with the value of PIDR.

IOMcは、旧0を特定する制御装置から受信した42ビツトHo5t Com andを有している。旧OCommandは下記の命令フィールドを有している 。The IOMc receives the 42-bit Ho5tCom from the control device that identifies the old 0 It has and. The old OCommand has the following command fields. .

(1) Vector/5calar 5elect(1) )lost Re ad/Write 5hift(1) 5hift Enable (Load  HIOREnable)(13) Processor ID (1) Memory Enable (1) Memory Read/Write(23) Memory Add ress Field(1) Load PIDREnable1ビットVec tor/5calar 5electフイールドは、バスのデータはベクトルで あるのか、スカシであるのかを判定する。1ビツトHo5t Read/Wri te 5hiftは、ホストによって読み出すためにデータをパス上で左方向に シフトして、ホストにより書き込むためにデータをバス上で右方向にシフトする 。左端のIOMCは、Ho5t Readshifjを介してホストにデータを シフトして、右端のプロセッサは最後のプロセッサであるので、バスからデータ をシフトする。1ビツト5hift Enableは、バスから旧ORにデータ をシフトする。13ビツトProcessor IDフィールドは、PIDRの 数値と比較するためにスカシモードで使用される。数値が整合する場合には、そ の数値は旧ORにロードされる。1ビットMemory Enableフィール ドは、ローカルメモリーアクセスを可能にする。1ビットMemory Rea d/Writeフィールドは、メモリーアクセスが読み出しであるか書き込みで あるかを特定する。23ビツトMemory Addressフィールドは、) lost Read/Writeに参加するローカルバンクとアドレスを特定す る。(1) Vector/5calar 5elect (1)) lost Re ad/Write 5hift (1) 5hift Enable (Load HIOREnable) (13) Processor ID (1) Memory Enable (1) Memory Read/Write (23) Memory Add ress Field (1) Load PIDRenable 1 bit Vec tor/5calar 5elect field indicates that the bus data is a vector. Determine whether it is there or not. 1 bit Ho5t Read/Wri te 5hift moves data to the left on the path for reading by the host. Shift to shift data right on the bus for writing by the host . The leftmost IOMC sends data to the host via Ho5t Readshift. Shift and the rightmost processor is the last processor, so it pulls the data from the bus. shift. 1 bit 5hift Enable transfers data from the bus to the old OR shift. The 13-bit Processor ID field is Used in scat mode to compare with numbers. If the numbers match, then The value of is loaded into the old OR. 1 bit Memory Enable field allows local memory access. 1 bit Memory Rea The d/Write field indicates whether the memory access is a read or a write. Identify if there is. The 23-bit Memory Address field is lost Specify the local bank and address participating in Read/Write. Ru.

PROCRNUM値がシリンダに配線されていないので、1ビツトLoad E nableフィールドは、SE初期化の間だけ実行する必要がある。初期化中は 、ホストは、PROCIINUM値のアレーをベクトル値として伝送する。(ベ クトルデータ伝送ではPROCRNUIJ値は使用していない。)数値は旧OR によって受信されている場合には、その数値はPIDRにロードされなければな らない。Load PIDREnableは、)IIOHの内容を有するPID Rをロードする。また、PROCはPRO(jlNUMで初期化しなければなら ない。また、PROC#NUMは、ローカルメモリーに書き込まれるので、PR OCはその数値を読み出して、PROC#NUMて初期化する。Since the PROCRNUM value is not wired to the cylinder, 1 bit Load E The nable field only needs to be executed during SE initialization. During initialization , the host transmits the array of PROCIINUM values as a vector value. (Be The PROCRNUIJ value is not used in vector data transmission. ) numbers are old OR If the value has been received by the No. Load PIDREnable is a PID with contents of ) IIOH Load R. Also, PROC must be initialized with PRO(jlNUM) do not have. Also, since PROC#NUM is written to local memory, PR OC reads the value and initializes it as PROC#NUM.

Video Inputは、48ビット一方向DICを介してSEに送られる。Video Input is sent to the SE via a 48-bit unidirectional DIC.

DICは実際独立して制御される四つの12ビツトチヤネルであり、異なるVi deo Inputから各々読み込むことができる。概念上、Video In putは、DICの左端にあり、左端の10MCプロセッサに接続されている。The DIC is actually four 12-bit channels that are independently controlled and have different Vi Each can be read from deo Input. Conceptually, Video In put is at the left end of the DIC and is connected to the left end 10MC processor.

すべてのIOMcプロセッサは、DICによって直列に接続されており、右端の IOMcはバスの最後のプロセッサである。データは、DIGの左方向から右方 向に転送される。All IOMc processors are connected in series by DIC, and the rightmost IOMc is the last processor on the bus. Data is from left to right of DIG forwarded to

10MC/DICインターフェイスは、Input 5liceと呼ばれ、IO MCInput Controlle「によって制御される。Input Ca nけollerは、二つの基本的機能を実行する。データをDICからInpu t FIFOO’1deo Capture)に転送することと、データをIn putFIFOからローカルメモリー(Video to Memory Tr ansfer)に転送する。データソースによって送信された同期化信号に基づ いて、Video Captureは自律的に実行される。制御装置がVide o Interruptによって割り込まれた場合には、Video !。The 10MC/DIC interface is called Input 5lice, and the IO Controlled by MCInput Controlle. Input Ca The noker performs two basic functions. Input data from DIC t FIFOO’1deo Capture) and data In put FIFO to local memory (Video to Memory Tr (ansfer). Based on the synchronization signal sent by the data source Video Capture is executed autonomously. Control device is video o If interrupted by Interrupt, Video! .

Memory Transferが実行される。Memory Transfer is executed.

現在、ビクセルを表すためのS[!でサポートされた七つのビデオデータ形式が ある。その形式とは、Composite Video 、 Y、C(Lumi nance/Chroma) (Multiplexed)、Y、C(L+u+ +1nance/Chroma) (Dedicated Channel)、 RGB (Multiplexed) ARGB (D edicated Channel) 、及びFeedbackである。Currently, S [! There are seven video data formats supported by be. The formats are Composite Video, Y, C (Lumi nance/Chroma) (Multiplexed), Y, C (L+u+ +1nance/Chroma) (Dedicated Channel), RGB (Multiplexed) ARGB (D (Channel), and Feedback.

ローカルメモリにロードされるデータは、12ビツトシリアルチヤネルからとっ て、Input FIFOの前に位置するフォーマツタによって32ビツトワー ドにバックされる。マルチフィールドを有するデータは、時分割多重化されてフ ォーマツタにはいる。その形式はInput Controllerによって決 定される。その形式はVideo Capture 5etup In5tru ctionを介して変更される。Data loaded into local memory is retrieved from a 12-bit serial channel. The 32-bit data is stored by the formatter located in front of the Input FIFO. It will be backed up. Data with multiple fields is time-division multiplexed and It's in Omatsuta. Its format is determined by the Input Controller. determined. The format is Video Capture 5etup In5tru ction.

図19において、フォーマツタは三つのビクセル形式を有している。上記のすべ てのビデオ形式はビクセル形式の−っに一致する。ビクセル形式1は、32ビツ トワードの下位12ビツトに位置する単一の12ビツトデータフイールドである 。ビクセル形式2は二つの12ビツトデータフイールドを有しており、各16ビ ツトハーフワードの下位12ビツトを満たす。ビクセル形式3は三つのデータフ ィールドを有している。即ち、二つのlOビットフィールドと12ビツトフイー ルドで、ワードの下位12ビツトに12ビツトフイールドを有している。In FIG. 19, the formatter has three pixel formats. All of the above All video formats match the pixel format. Bixel format 1 is 32 bits is a single 12-bit data field located in the lower 12 bits of the word. . Bixel format 2 has two 12-bit data fields, each containing 16 bits. Fills the lower 12 bits of the first halfword. Bixel format 3 has three data files. It has a field. That is, two lO bit fields and a 12 bit field. The word has a 12-bit field in the lower 12 bits.

図20はSEによってサポートされた異なるビデオモードを示している。Com posite Videoモードでは、Composite Videoが12 ビツト値として12ビツトチヤネルを介して送信される。その数値は32ビツト ワードの下位12ビツトにロードされる。Input Conけofferによ って特定されるように、これはビクセル形式である。Figure 20 shows the different video modes supported by the SE. Com In composite Video mode, Composite Video is 12 Sent as a bit value over a 12-bit channel. The number is 32 bits Loaded into the lower 12 bits of the word. Input Conke offer This is in pixel format, as specified by .

Lum1nance/Chroma (Y、C)モードでは、二つの12ビツト 値としてエンコードした情報が12ビツトチヤネルを介して伝送される。その二 つの数値はフォーマツタによって32ビツトワードによって時分割多重化される 。ルミナンス値は上位16ビソトワードの下位12ビツトにロードされて、クロ マは下位16ビツトワードの下位12ビツトにロードされる。これはInput  Conけollerによって特定されたビクセル形式2である。In Luminance/Chroma (Y, C) mode, two 12-bit Information encoded as values is transmitted over a 12-bit channel. Part two The two numbers are time-multiplexed by the formatter using 32-bit words. . The luminance value is loaded into the lower 12 bits of the upper 16 bits of the clock. The master is loaded into the lower 12 bits of the lower 16 bit word. This is Input This is pixel type 2 specified by Conker.

Y、C(Luminance/Chroma、 Dedicated Chan nel)モードにおいて、二つのコンポ−ネントには専用チャネルが備わる。二 つの12ビツト値は、フォーマツタにより32ビツトワードの下位12ビツトに ロードされる。これはビクセル形式lである(Co+nposite Vide oと同じ形式)。Y, C (Luminance/Chroma, Dedicated Chan In the nel) mode, the two components are provided with dedicated channels. two The two 12-bit values are stored in the lower 12 bits of a 32-bit word by the formatter. loaded. This is in pixel format (Co+nposite Video (same format as o).

RGB (Multiplexed)モードにおいて、RGB信号は12ビツト チヤネルを介して伝送される三つの10ビツト値としてエンコードされる。三つ の数値はフォマッタによって32ビツトワードに時分割多重化される。上位20 ビツトは赤色と緑色のコンポーネントでロードされて、下位10ビツトが青色の コンポーネントでロードされる。これはInput Controllerによ って特定されたピクセル形式3で、10ビツト値が下位12ビツトフイールドに ロードされる。In RGB (Multiplexed) mode, the RGB signal is 12 bits It is encoded as three 10-bit values transmitted over the channel. three The numbers are time multiplexed into 32 bit words by the formatter. top 20 The bits are loaded with red and green components, with the lower 10 bits being the blue component. loaded by the component. This is done by Input Controller. pixel format 3, the 10-bit value is placed in the lower 12-bit field. loaded.

RGB (Dedicated Channels)モードにおいて、各色彩コ ンポーネントが専用チャネルに与えられる。三つの12ビツト値は、フォーマツ タによって32ビツトワードの下位12ビツトにロードされる。これはピクセル 形式lである(Composi te Vtdeoと同じ形式)。In RGB (Dedicated Channels) mode, each color component is given to a dedicated channel. The three 12-bit values can be formatted as is loaded into the lower 12 bits of a 32-bit word by the controller. this is pixel The format is 1 (same format as Composite Vtdeo).

フィードバック形式モードは、32ビツト値にフィードバックするために使用さ れる。ワードは二つの10ビツト値と12ビツト値に分解される。三つの数値は 、フォーマツタによって32ビツトワードに時分割多重化される。12ビツト値 は32ビツトワードの下位12ビツトを占めており、二つのlOビット値は上位 20ビツトを占めている。これはInput Controllerによって特 定されたピクセル形式3である。Feedback format mode is used to feed back 32-bit values. It will be done. The word is split into two 10-bit values and a 12-bit value. The three numbers are , time division multiplexed into 32-bit words by the formatter. 12 bit value occupies the lower 12 bits of a 32-bit word, and the two lO bit values occupy the upper It occupies 20 bits. This is specified by the Input Controller. pixel format 3.

RGB形式はR,B、Gを表すための四つの8ビツトフイールド、及びビデオ信 号のコンポーネントを有している。ワードはDICとDOCを介して伝送するた め二つのlOビット値と12ビツト値に分解される。三つの数値はフォーマツタ によって32ビツトワードに時分割多重化される。これはInput Cont rollerによって特定されるピクセル形式3である。The RGB format uses four 8-bit fields to represent R, B, and G, and a video signal. It has components of No. Words are transmitted via DIC and DOC. The second is decomposed into two lO bit values and a 12 bit value. The three numbers are formatted is time-division multiplexed into 32-bit words. This is Input Cont pixel type 3 specified by roller.

図21において、Video Capture CommandsはDICから ビデオデータを”捕捉”してInput FIFO2100にロードするプロセ スのために使用される。二次元のビデオインプットフレームデータは、5eri al DICを介して伝送される。そのフレームは、ページが読み込まれると同 じようにDECに一行毎に左から右に読み込まれる、 IOMCInput C ontroller 2102の各々の役割は、DICのどのビクセルがそのロ ーカルメモリー2104にロードされているかを判定することである。In Figure 21, Video Capture Commands are from DIC. The process of “capturing” video data and loading it into the Input FIFO 2100. used for Two-dimensional video input frame data is 5eri al Transmitted via DIC. That frame is displayed as soon as the page loads. IOMCInput C, which is read line by line from left to right in the DEC The role of each ontroller 2102 is to determine which pixel in the DIC This is to determine whether the file has been loaded into the local memory 2104.

ビデオ入力は遅延しないので、DICからビクセルを捕捉して、それをInpu t FIFO2100にロードするオペレーションは、ノーケンサ命令ストリー ムから独立してInput Controller 2102によって自動的に 実行される。Input Controllerは、DICInput Tim ing 5equencer Register 2106 (ITSR)によ って提供されるパラメータとともに、H(Horizontal 5ynchr onization Signal) 、F (Frame 5ynchron ization Signal)、及びビデオクロック信号を使用して、別のビ クセルをDICからFIFOにロードする時を決定する。各チャネルは個別セッ トの信号とITsRを有している。The video input is not delayed, so you can capture the pixels from the DIC and send them to the Inpu t The operation to load into the FIFO 2100 is a no-control instruction stream. automatically by the Input Controller 2102 independently from the system. executed. Input Controller is DICInput Tim ing 5equencer Register 2106 (ITSR) H (Horizontal 5 ynchr onization Signal), F (Frame 5ynchron ization Signal) and video clock signal to another video signal. Determine when to load the cells from the DIC into the FIFO. Each channel has its own set It has an initial signal and an ITsR.

Input Controllerは、チャネル毎に1セツトの二つのカウンタ を有している。The Input Controller has two counters, one set for each channel. have.

即ち、Pixel CounterとLine Counterである。このカ ウンタは、HSFで演算して、ビデオクロック信号はビデオ入力のフレーム内に あるビクセル位置を決定するために使用される。Pixel Counterは 、ビデオ入力のカレントラインのためにDIGのビクセルの横方向の位置を表示 する。Line Counterは、ビデオ入力のカレントラインのためのDE Cのビクセルの横方向の位置を決定する。That is, they are the Pixel Counter and the Line Counter. This card The counter operates in HSF, and the video clock signal is input within the frame of the video input. Used to determine the location of a certain pixel. Pixel Counter is , displays the horizontal position of the DIG pixels for the current line of video input do. Line Counter is the DE for the current line of video input. Determine the lateral position of the pixels of C.

DICはビデオクロック信号率で演算して、ビデオクロック信号がアサートされ る度に別の12ビツト値がDICRegister (DICR)にクロックさ れる。Pixel Counterは、lビデオクロックサイクル、2ビデオク ロツクサイクル、又は3ビデオクロツクサイクル毎に増加するかどうかは、ピク セル形式が1データフイールド、2データフイールド、又は3データフイールド を有しているかどうかにかかっている。ビデオの新ラインは開始しているので、 ■信号はLine counterを増加させ、Pixel Counterを リセットする。ビデオのフレームがDICを伝送される度にF信号が生成される 。それが生成された場合には、Pixel CounterとLine Cou nte「の両方がリセットされる。また、F信号はFrame Address  Generator (FAG)に信号を送って、フレームバッファアドレス を変更する。SEは任意のバッファリングシステムを使用し、バッファの最小数 を2とする(二重バッファ)。そして、一方のビデオフレームがプロセッサによ って処理されるとともに、他のフレームがIOMCによってロードされる。任意 のバッファリングの主たる利点は、データの前のフレームがロードした後の多く のフレームのために存続することができることである。これは、一時的データを 使用するプログラムにとって必要である。DIC calculates the video clock signal rate and determines when the video clock signal is asserted. Each time a different 12-bit value is clocked into the DIC Register (DICR). It will be done. Pixel Counter is 1 video clock cycle, 2 video clock cycles. Whether it increments every 3 video clock cycles or every 3 video clock cycles. Cell format is 1 data field, 2 data fields, or 3 data fields It depends on whether you have it. A new line of videos has started, so ■The signal increases the Line counter and increases the Pixel counter. Reset. An F signal is generated each time a frame of video is transmitted through the DIC. . If it is generated, Pixel Counter and Line Cou nte" are reset. Also, the F signal is Send a signal to the Generator (FAG) and set the frame buffer address. change. SE uses any buffering system, with a minimum number of buffers is 2 (double buffer). Then one video frame is processed by the processor. and other frames are loaded by the IOMC. Any The main advantage of buffering is that much of the data is loaded after the previous frame has been loaded. It is possible to survive for several frames. This stores temporary data Required by the program you use.

ITsRは、ビクセルをDICからInput FIFOに読み出す時を決定す るために使用される。また、それは、読み出すべき連続ビクセル数と読み出し処 理の繰り返し回数のようなパラメータを特定する。ITsR determines when to read a pixel from DIC to Input FIFO. used for It also depends on the number of consecutive pixels to be read out and the readout process. Specify parameters such as the number of repetitions of the process.

27ビソトDICITsR形式は、DICのデータがInput FIFOに読 み出される方法のパラメータを特定するために使用される。レジスタは四つのフ ィールドを有している。即ち、(2) Pixel Data形式、(13)  In1tial Pixel Po5ition、(6)Number of  Pixels、及び(6) Pixel Repea t Intervalで ある。In the 27bit DICITsR format, DIC data is read into the Input FIFO. used to specify the parameters of the method to be discovered. The register has four frames. It has a field. That is, (2) Pixel Data format, (13) In1tial Pixel Po5ition, (6) Number of Pixels, and (6) Pixel Repeat at Interval be.

2ビツトPixel Data形式フィールドは、チャネルフォーマツタによっ て使用されたピクセル形式を選択する。これは、Pixel Counterが ビデオクロック信号に比例して増加した回数を決定するために必要である。The 2-bit Pixel Data format field is set by the channel formatter. Select the pixel format used. This is the Pixel Counter It is necessary to determine the number of times the video clock signal is increased proportionally.

13ビツトIn1tial Pixel Po5itionフイールドは、第一 ビクセルがビデオ入力の各ラインのためにDICから読み出される時を決定する 。それはカレントラインのビクセルの横方向の位置を特定する。このフィールド の数値は、Pixel Counterの数値と比較される。二つの数値が整合 する場合には、ビクセルはFIFOにロードされる。The 13-bit In1tial Pixel Po5ition field is Determines when pixels are read from the DIC for each line of video input . It specifies the lateral position of the current line's pixels. this field The value of is compared with the value of Pixel Counter. Two numbers are consistent If so, the pixels are loaded into the FIFO.

6ビソトNua+ber of Pixelフィールドは、FIFOに読み込ま れる連続ビクセルの数を決定する。In1tial Pixel Po5iti onがPixel Counterと整合する場合か、Pixel Repea t Interval Counter (PRI Counter)がゼロま で減少する場合には、この数値がNumPix Counterにロードされる o Num Pix CounterはPixel Counterが減少する 毎に増加して、カウンタがゼロに減少するまて、Input Conけoffe rはビクセルをFIFOにロードする。11信号は、NumPix Count erをリセットする。6bit Nua+ber of Pixel field is read into FIFO Determine the number of consecutive pixels that will be displayed. In1tial Pixel Po5iti If on matches Pixel Counter, PixelRepea t Interval Counter (PRI Counter) is zero or , this number is loaded into the NumPix Counter. o Num Pix Counter will decrease Pixel Counter Input Conkey is incremented every time until the counter decreases to zero. r loads the pixels into the FIFO. 11 signal is NumPix Count Reset er.

6ビツトPixel Repeat Intervalフィールドは、隣接グル ープのビクセルに読み込む回数を特定する。In1tial Pixel Po 5itionフイールドがPixel Counter値により整合させられた 場合には、Pixel Repeat IntervalはPRI Count erにロードされる。Pixel Counterが増加する毎に、PRI C ounterが減少する。PRI Counterがゼロまて減少する場合には 、PRI CounterとNumPix Counterがリロードされる。The 6-bit Pixel Repeat Interval field Determines the number of times to read into a pixel in the group. In1tial Pixel Po 5ition field is aligned by Pixel Counter value In this case, Pixel Repeat Interval is PRI Count loaded into er. Every time Pixel Counter increases, PRI C outer decreases. When PRI Counter decreases to zero, , PRI Counter and NumPix Counter are reloaded.

11信号は、PRI CounterとNumPix Counterをリセッ トする。11 signal resets the PRI Counter and NumPix Counter. to

ビクセル入力の形式の実施例として、ITSRが説明される(図22参照)。こ の説明図は、In1tial Pixel Po5itionが1で、Numb er of Pixelsが3で、PRIが11である実施例である。As an example of a format for pixel input, ITSR is described (see FIG. 22). child In the explanatory diagram, In1tial Pixel Po5ition is 1 and Numb This is an example in which er of Pixels is 3 and PRI is 11.

図23は、二つの問題空間の相違について示している。連続するマルチビクセル を取得する性能は、SHに備わっている。PEの場合には、プロセッサはlビク セルを受信するだけなので、問題空間はローカルメモリを交差するプロセッサ数 を法として分配されていた。1024プロセツサシステムの場合では(図23に おける、1024プロセツサの内の同一のものが単一の斜線部分によって表示さ れて、図23における、1024プロセツサの次のものが二重斜線部分によって 表示されており)、lフレームのビデオの1024番目の列がすべて同じプロセ ッサ上に存在している。図23のスキームlに基づいて、PEの場合には、20 48ピクセルスキヤンラインの第一の1024ビクセルを処理するためには、1 024プロセツサンステムのすべてのプロセッサを使用し、次にこの2048ビ クセルスキヤンラインの第二の1024ビクセルを処理するために、再びこの同 一の1024プロセツサのすべてを使用しなければならない。また、SEがスキ ームlに従って作動する間は、図23のスキーム2に従って作動することもでき る。この場合には、システム設計にはさらに柔軟性が加えられ、最大64列のス ライスを同しプロセッサに内在させることができる。FIG. 23 shows the difference between the two problem spaces. consecutive multi-vixels The ability to obtain this is inherent in SH. In the case of PE, the processor Since we are only receiving cells, the problem space is limited to the number of processors crossing local memory. It was distributed according to the law. In the case of a 1024 processor system (see Figure 23) Identical ones of the 1024 processors in the 23, the one next to the 1024 processor is indicated by the double hatched area. ), the 1024th column of l-frame video is all processed by the same process. exists on the server. Based on scheme l in Fig. 23, in the case of PE, 20 To process the first 1024 pixels of the 48 pixel scan line, 1 024 processor system and then this 2048 bit This same sequence again to process the second 1024 pixels of the xel scan line. All of one 1024 processors must be used. Also, SE is good While operating according to Scheme 1, it is also possible to operate according to Scheme 2 of Figure 23. Ru. In this case, additional flexibility is added to the system design, with up to 64 rows of Rice can be embedded in the same processor.

図24において、Video Io Memory Transfer (FI FORead)は、Input FIFO2400の内容がローカルメモリに読 み込まれる方法が示されている。Video Captureコマンドを実行す るにつれて、FIFO2400が連続してロードされる。FIFO2400の内 容をメモリ2402に記憶するために、メモリ転送を開始する前に、制御装置2 404に割り込みプログラム2406によって割り込まなければならない。これ は、インチラブドを介して実行されるが、それは他のビデオラインがDICにク ロックされる度に呼び出される。In FIG. 24, Video Io Memory Transfer (FI FORRead) reads the contents of Input FIFO2400 to local memory. It shows how it is incorporated. Execute the Video Capture command. FIFO 2400 is successively loaded as the data progresses. Inside FIFO2400 In order to store the content in the memory 2402, the controller 2 404 must be interrupted by the interrupt program 2406. this is executed through the inch labd, but it is not possible for other video lines to be connected to the DIC. Called every time a lock is acquired.

Input FIFOにあるデータがローカルメモリに記憶される方法と場所を 決定するために、各チャネルを定義したレジスタが五つある。この四つのレジス タがFAGによって使用されアクティブフレームバッファの有効なベースアドレ スを生成する。示したように、FAGはFrame Pa1nter (FRT R) + Address Counter 2408を利用している。第五の レジスタはFIFOInput Timing 5equencer Regi ster 2410 (FTTSR)で、これはデータを(ローカルメモリに位 置する)フレームバッファに記憶する方法を記述している。Input: How and where data in the FIFO is stored in local memory There are five registers that define each channel to determine. These four Regis valid base address of the active frame buffer used by the FAG. generate a file. As shown, FAG is a Frame Painter (FRT R) + Address Counter 2408 is used. fifth The register is FIFOInput Timing 5equencer Regi ster 2410 (FTTSR), which stores data (in local memory). It describes how to store data in the frame buffer.

Video to Me+++ory Transfer In5tructi onは、マルチサイクル命令である。それが実行された場合には、ピクセルの特 定数がFIFO2400からローカルメモリ2402に転送される。その命令の パラメータはFITSR2410に記憶されている。Video to Me+++ory Transfer In5tructi on is a multicycle instruction. If it is executed, the pixel characteristics Constants are transferred from FIFO 2400 to local memory 2402. of that command The parameters are stored in FITSR2410.

FIFOInput Timing 5equence Register 2 410 (FITSR)フォーマット(32ビツト)は、Input FIFO にあるデータをローカルメモリに読み込む方法のパラメータを特定するために使 用される。レジスタは四つのフィールドを有している。第五のフィールドはIT SRから始まる。即ち、(11) In1tial Frame 0ffset  、(6) Defta 0ffset、(11) Modulo L、、(4 ) Wait Cycles 、及び(6) (ITsRがら) Number  B f Pixelsである。FIFOInput Timing 5equence Register 2 410 (FITSR) format (32 bits) is Input FIFO used to specify parameters for how to read data in local memory into local memory. used. The register has four fields. The fifth field is IT It starts with SR. That is, (11) In1tial Frame 0ffset , (6) Defta 0ffset, (11) Modulo L, (4 ) Wait Cycles, and (6) (from ITsR) Number B f Pixels.

11ビツト1n山al Frame 0ffsetは、第一要素がフレームベー ス値に比例してフレームに記憶される場所を特定する。例えば、8のオフセット が特定された場合には、ローカルメモリに表わされた画像は、ビデオソースに表 わされているように、画像より8ライン真下にシフトされている。6ビツトDe lta 0ffsetはオペレーション毎にアドレスに付加された追加の縦方向 のオフセットを特定する。11ビツトModulo 1.フィールドは、縦方向 の位置演算が回り込む時を決定する。そのフィールドは(極限)数値りを保持す る。11-bit 1n mountain al Frame 0ffset indicates that the first element is frame-based. Specifies where the frame is stored in proportion to the value of the frame. For example, an offset of 8 is specified, the image represented in local memory will be displayed on the video source. As shown, it has been shifted 8 lines directly below the image. 6 bit De lta 0ffset is an additional vertical value added to the address for each operation. Determine the offset of 11 bit Modulo 1. The field is vertical Determines when the position calculation wraps around. The field holds (in the limit) a numerical value Ru.

図25において、In1tial Frame O[fsetが2の場合には、 Delta 0ffsetは3であり、Modulo L値は16であり、連続 するデータ転送はライン2.5.8.11.14、l、4.7.10,13等に 表示される。In FIG. 25, if In1tial Frame O[fset is 2, Delta 0ffset is 3, Modulo L value is 16, continuous Data transfer to lines 2.5.8.11.14, l, 4.7.10, 13, etc. Is displayed.

4ビツトWait Cyclesフィールドは、転送が完成される前に待機する 追加のクロックサイクル数を決定するために使用される。このフィールドは低速 ローカルメモリがアクセスされる場合に使用される。The 4-bit Wait Cycles field waits before the transfer is completed. Used to determine the number of additional clock cycles. This field is slow Used when local memory is accessed.

6ビソトNumber of Pixelsフィールドは、ローカルメモリに転 送されるべきピクセル数を特定する。この数値はVideo Capture用 と常に同一であるがら、それはなおVideo to Memory Tran sfer用のパラメータであるけれども、パラメータはFITSRに明示されて いない。6 The Number of Pixels field is moved to local memory. Specify the number of pixels to be sent. This number is for Video Capture is always the same as Video to Memory Tran. Although it is a parameter for sfer, the parameter is not specified in FITSR. not present.

IOMcは、すべてのチャネルが使用する単−FAGを有する。ローカルメモリ へのポートが一つあるので、FAGが一つVideo Inputと0utpu t 5ourcesのすべてに必要とされるだけである。各チャネルは五つのレ ジスタを有している。即ち、Frame Ba5e Register (FB R) 、Frame 0ffset Register (FOR) 、Fra me 5trid■@Regis ter (FSR) 、Fra+ne Lim1t Register (FL R)、及びPixel 0ffset Register iFOR) である。 各チャネルに対するフレームバッファはローカルメモリの隣接メモリ を割り当てる。各フレームバッファは同一サイズでなければならない。FBRと FLRは、フレームバッファに割り当てられたメモリの最初と最後の位置を特定 する。FSRはフレームサイズを含んでいる。FORは、FBR値に比例するア クティブフレームバッファ用のオフセットを含んでいる。(フレームバッファが データで現在ロードされているバッファである場合は、それはアクティブである 。)データの別のフレームがロードされる度に、AGはFOR=(FOR+FS R)モジュロFLRを計算して次のバッファオフセットを生成する。アクティブ フレーム用のベースアドレスがEffective Address=FBR+ FORを計算する。IOMc has a single FAG that all channels use. local memory Since there is one port to , there is one FAG for Video Input and 0utpu It is only needed for all 5 sources. Each channel has five levels. I have dysstasis. That is, Frame Ba5e Register (FB R), Frame 0ffset Register (FOR), Fra me 5trid■@Regis ter (FSR), Fra+ne Lim1t Register (FL R), and Pixel 0ffset Register iFOR) It is. The frame buffer for each channel is located in the adjacent memory of local memory. Assign. Each frame buffer must be the same size. FBR and FLR identifies the first and last locations of memory allocated to the frame buffer do. FSR includes frame size. FOR is an α proportional to the FBR value. Contains the offset for the active frame buffer. (The frame buffer is If a buffer is currently loaded with data, it is active . ) Each time another frame of data is loaded, the AG loads FOR=(FOR+FS R) Compute modulo FLR to generate the next buffer offset. Active The base address for the frame is Effective Address=FBR+ Calculate FOR.

FORはアクティブフレームバッファ内の位置を引用するために使用される。P ORはFITSRに記述されているパラメータによって更新される。(F信号が 生成される場合には、)新フレームが開始する度に、PORはIn1tial  Frame 0ffsetに初期化される。Video to Memory  Data Transfer命令がなされた場合には、ピクセルオフセットが計 算される。FOR is used to refer to a position within the active frame buffer. P OR is updated by the parameters described in FITSR. (The F signal is If generated, POR is In1tial every time a new frame starts. Frame is initialized to 0ffset. Video to Memory If a Data Transfer command is made, the pixel offset is calculated. calculated.

FOR=Initial Frame 1Mfset (F信号直後)FOR= (POR+DelLa 5tride)モジュロしIn1tial Frame  0ffset、 Delta 5tride、及びL値は、すべてFTrSR に特定されている。また、(Number of Pixelsフィールドによ って特定されているように、) FORは転送された各ピクセルに対して一度増 加する。FOR=Initial Frame 1Mfset (immediately after F signal) FOR= (POR+DelLa 5tride) Modulo In1tial Frame 0ffset, Delta 5tride, and L value are all FTrSR is specified. Also, (by the Number of Pixels field) )FOR is incremented once for each pixel transferred. Add.

アクティブフレームバッファのある位置に対するF!ffective Loc al Memoryアドレスは、EA=FOR+FOR+FORとして計算され る。F! for a location in the active frame buffer! effective Loc al Memory address is calculated as EA=FOR+FOR+FOR Ru.

Video Input 0peration 5etupは、各チャネルに対 するITSR,FITSR、及びFAG Registerが新数値で初期化さ れる方法を簡単に説明する。これらのすべての数値はユーザー特定のもので、プ ロセッサに従属するので、アドレッシング情報はプロセッサからこなければなら ない。このレジスタの初期化と修正を簡単にするため、ローカルメモリ部は予約 されている。プロセッサはそのデータをIOMCが読み出すことができる専用メ モリ位置に書き込む。Video Input 0operation 5etup is for each channel. ITSR, FITSR, and FAG Register are initialized with new values. I will briefly explain how to do this. All these numbers are user specific and are Processor dependent, so addressing information must come from the processor. do not have. To simplify the initialization and modification of this register, the local memory portion is reserved. has been done. The processor uses a dedicated memory that allows the IOMC to read the data. Write to the memory location.

予約されたメモリ位置が初期化のために使用されるので、ビデオパラメータを変 更するための命令をシステムコールとして実行する。パラメータのなかにはユー ザーによって特定できないしそうすべきものではないものもある。例えば、その システムは、ユーザーが別のアプリケーションによって使用したチャネルにパラ メータを更新するよう試みる状況から保護するために必要とされる。こうして、 そのような状況から保護できるシステムコールは、ビデオ入力オペレーションセ ットアソブを実行する適切な方法である。Reserved memory locations are used for initialization, so you cannot change video parameters. Execute the instruction to update the system as a system call. Some parameters include user There are some things that cannot and should not be specified by the user. For example, the The system allows users to parameterize channels used by another application. Required to protect against situations where you attempt to update the meter. thus, A system call that can protect against such situations is the video input operations is the proper way to perform a setassembly.

Video 0utputは36ビツト一方向DOCを介して送信される。DO Cは、それぞれ異なるVideo 0utputに書き込む三つの独立制御の1 2ビツトチヤネルからなる。Video output is sent via a 36-bit unidirectional DOC. D.O. C is one of three independent controls that write to different Video 0 outputs. Consists of 2-bit channels.

概念上、Video 0utputはDOCの左端にあり、左端のIOMcに接 続されている。すべてのIOMcは、DOCによって直列に接続されており、右 端のIOMcは、バスの最後のプロセッサである。データはDOC上を右から左 に伝送される。Conceptually, Video 0output is at the left end of the DOC and connected to the left end IOMc. It is continued. All IOMcs are connected in series by DOC, right The edge IOMc is the last processor on the bus. Data is from right to left on the DOC transmitted to.

10Mc/DOCインタフェースは0utput 5liceといい、IOMC 0utput Controllerによって制御される。0utput Co ntrollerは二つの基本的機能を実行する。即ち、データをローカルメモ リから0utput FIFOに転送する(Memory to Video  Transfer)こととデータを0utput FIFOからDOCに転送す る(Video Display)ことである。10Mc/DOC interface is called 0output 5lice, and IOMC Controlled by the 0output Controller. 0output Co The ntroller performs two basic functions. In other words, the data can be stored as a local memo. Transfer from Memory to Video to 0output FIFO Transfer) and data from 0output FIFO to DOC. (Video Display).

ノーケンサはVideo Interrup口こよって割り込まれた場合に、M emory to Vide。If you are interrupted by a Video Interrupt message, the Nokensa will memory to video.

Transferが実行する。Video Displayは、出力データチャ ネルソースにより送信された同期化に基づいて、0utput Conけoff erにより自律的に実行される。Transfer is executed. Video Display is the output data channel. Based on the synchronization sent by the channel source, 0output It is executed autonomously by er.

ビデオ形式とピクセル形式の定義の詳細は上記されている。サポートされるビデ オデータ形式は七つある。即ち、Composite Video 、Lum1 nance/Chroma、 Lum1nance/Chroma (Dedi cated Channel)、RGB 、 RGB (Dedicated  Channels)ARGB 。Details of the definitions of video formats and pixel formats are provided above. Supported video There are seven data formats. That is, Composite Video, Lum1 nance/Chroma, Lum1nance/Chroma (Dedi rated Channel), RGB, RGB (Dedicated Channels) ARGB.

及びFeedbackである。and Feedback.

0utput FIFOに位置するVideo Dataは32ビツトワードに バックされている。0output Video Data located in FIFO is a 32-bit word It is backed up.

FIFOは信号を0utput Conけ0fferから受信してそのデータを 12ビツトシリアルDOCに送信する場合には、(Out四LCo口trol  Ierにより特定されたビクセル形式に従って、) 0utput FIFOに 位置するフォーマツタはそのデータをアンバックして、時分割でそのデータをD OCに分離する。0utput FIFOのこのピクセルフォーマツタは、In put FIFDに位置するピクセルフォーマツタの逆オペレーションを実行す る。FIFO receives the signal from 0output and 0offer and stores the data. When sending to a 12-bit serial DOC, (Out 4 LCo port trol )0output FIFO according to the pixel format specified by Ier. The located formatter unbacks the data and transfers the data to D in a time-sharing manner. Separate into OC. This pixel formatter of 0output FIFO is In put Performs the inverse operation of the pixel formatter located in the FIFD. Ru.

Video Display Commandsには、ピクセルをDOCに出力 することによってビデオデータを表示する処理を記載されている。二次元ビデオ 出力フレームはシリアルDOCを介して伝送しなければならないので複雑になる 。ページが書き込まれるのと同様に、ピクセルはDOCにライン毎に左方向から 右方向にクロックされる。0utput FIFOがDOCにクロックされる時 を決定するのは、各10MC0utput Controllerの役割である 。Video Display Commands output pixels to DOC A process for displaying video data is described. two dimensional video Complications arise as output frames must be transmitted via serial DOC . As pages are written, pixels are written to the DOC line by line starting from the left. Clocked to the right. 0output When FIFO is clocked by DOC It is the role of each 10MC0put Controller to determine .

図26において、PIFO2600の内容をDOCに書き込むオペレーションは 、ビデオ出力が遅延しないように、制御装置の命令ストリームから独立して0u tput Canけoller 2602によって自動的に実行される。0ut put Conけoller 2602は、HSF、及びビデオクロック信号を 、DOC0utput Timing 5equence Register  2604 (OTSR)に特定されたパラメータとともに使用して、0utpu t FIFO2600の別のピクセルをDOCに書き込む時を決定する。In Figure 26, the operation to write the contents of PIFO2600 to DOC is , 0u independently from the control unit's instruction stream so that the video output is not delayed. This is automatically executed by the tput canoler 2602. 0ut The put controller 2602 outputs the HSF and video clock signals. , DOC0output Timing 5equence Register 2604 (OTSR) with the specified parameters to t Determine when to write another pixel in FIFO 2600 to the DOC.

0utput Conけoller 2602は、11、Fで増加するチャネル 毎の1セツト三つのカウンタとビデオクロック信号を有している。このカウンタ がビデオの出力フレーム内のピクセル位置を決定する。Pixel Count erがビデオ出力のカレントラインのためのDOCのピクセルの横方向の位置を 表示している。Line Counterは、ビデオ出力のカレントラインのた めのDOCのピクセルの縦方向の位置を決定する。0output controller 2602 is a channel that increases with 11, F Each set has three counters and a video clock signal. This counter determines the pixel position within the output frame of the video. Pixel Count er determines the horizontal position of the DOC pixels for the current line of video output. it's shown. Line Counter is for the current line of video output. Determine the vertical position of the pixel of the DOC.

DOCは、ビデオクロック信号率を演算し、ビデオクロック信号がアサートする 度に、別の12ビツト値がDOCにクロックされるPixel Counter は、■ビデオクロックサイクル、2ビデオクロツクサイクル、又は3ビデオクロ ツクサイクルのすべてを増加して、ビクセル形式が1データフイールド、2デー タフイールド、又は3データフイールドを有しているがどうかに従属する。ビデ オの新ラインが開始しているので、11信号はLine Counterを増加 させ、Pixel Counterをリセットする。ビデオのフレームが完了す る度にF信号が生成される。信号が生じた場合には、P 1xel Count erとLine Counterはともにリセットされる。また、F信号は、F AGに信号を送ってフレームバッファアドレスを変更する。SEは、任意のバッ ファリングスキームを使用する。バッファの最小数は2であるので(二重バッフ ァリング)、−ビデオフレームがプロセッサによって処理されるとともに、別の フレームが表示される。DOC calculates the video clock signal rate and the video clock signal asserts Each time, another 12-bit value is clocked into the Pixel Counter ■Video clock cycles, 2 video clock cycles, or 3 video clock cycles The pixel format is 1 data field, 2 data fields. Depends on whether you have a tough field, or 3 data fields. bidet Since the new line of O has started, the 11th signal will increase the Line Counter. and reset the Pixel Counter. the frame of the video is completed An F signal is generated each time the If a signal occurs, P1xel Count Both er and Line Counter are reset. Also, the F signal is F Sends a signal to the AG to change the frame buffer address. SE can be used with any Use a faring scheme. Since the minimum number of buffers is 2 (double buffer processing), - the video frame is processed by the processor and another A frame is displayed.

0TSR2604は、ピクセルが0utput FIFO2600からDOCに ロードされる時を決定するために使用される。また、それは書き込むべき連続ピ クセルの数などのパラメータを特定する。0TSR2604 is pixel 0output from FIFO2600 to DOC Used to determine when to load. Also, it is necessary to write consecutive Identify parameters such as number of cells.

DOC0TSR2604(27ビツト)は、0utput FIFO2600の データをDOCに書き込む方法に関するパラメータを特定するために使用される 。それはITsRと同じ形式を有する。レジスタは四つのフィールドを有してい る。即ち、(13)Initial PixeI Po5ition、(6)N umber of Pixel、及び(6) Pixel Repeat In tervalである。DOC0TSR2604 (27 bits) is 0output FIFO2600. Used to specify parameters regarding how data is written to the DOC . It has the same format as ITsR. The register has four fields. Ru. That is, (13) Initial Pixel Po5ition, (6) N amber of Pixel, and (6) Pixel Repeat In It is terval.

2ビツトPixel Data形式フィールドは、チャネルフォーマツタによっ て使用されたビクセル形式を選択する。これは、Pixel Counterが ビデオクロック信号に比例して増加する回数を決定するために必要とされる。The 2-bit Pixel Data format field is set by the channel formatter. Select the pixel format used. This is the Pixel Counter is needed to determine the number of times that increases proportionally to the video clock signal.

13ビツトIn1tial Pixel Po5itionフイールドは、■信 号を生成した後に、0ulput FIFOの次のピクセルがDOCにロードさ れる時を決定する。それは、そのピクセルがビデオ出力フレームを有する横方向 の位置を特定する。このフィールドの数値は、Pixel Counterの数 値と比較される。二つの数値が整合する場合には、ピクセルはDOCにロードさ れる。 6ビツトNumber of Pixelフィールドは、連続ビクセル をDOCにロードする数を決定する。この数値は、In1tial Pixel  P。The 13-bit In1tial Pixel Po5ition field is After generating the signal, the next pixel in the 0ulput FIFO is loaded into the DOC. Decide when to That pixel has the video output frame horizontally Locate the location. The number in this field is the number of Pixel Counter. compared to the value. If the two numbers match, the pixel is loaded into the DOC. It will be done. The 6-bit Number of Pixel field is a continuous pixel field. Determine how many to load into the DOC. This number is In1tial Pixel P.

5cionがPixel Counterと整合する場合か、Pixel Re peat Interval Counter (PRI Counter)を ゼロまで減少させる場合には、NumPix Counterにロードされる。5cion matches Pixel Counter, or Pixel Re peat Interval Counter (PRI Counter) If it decreases to zero, it is loaded into the NumPix Counter.

NumPix Counterは、Pixel Counter命令の各々に関 して減少し、カウンタがゼロまで減少するまで、0utput Control lerはピクセルをDOCにロードする。■信号はNumPix Counte rをリセットする。NumPix Counter is associated with each Pixel Counter instruction. 0output Control ler loads pixels into the DOC. ■The signal is NumPix Count Reset r.

6ビソトPixel Repeat Intervalフィールドは、ピクセル の連続数をDOCに書き込む回数を特定する。In1tial Pixel P os山onフィールドがPixel Counter値と整合する場合には、P ixel Repeat IntervalはPRI Counterにロード される。6 bits Pixel Repeat Interval field is pixel Specify the number of consecutive times to write the number of consecutive times in the DOC. In1tial Pixel P If the os mountain on field matches the Pixel Counter value, P ixel Repeat Interval is loaded to PRI Counter be done.

Pixel Counterが増加する度に、PRI Counterは減少す る。PRI Counterがゼロまて減少した場合には、PRI Count erとNumPix Counterがリロードされる。H信号はPRI Co unterとNu+nPix Counterをリセットする。Every time Pixel Counter increases, PRI Counter decreases. Ru. When the PRI Counter decreases to zero, the PRI Count er and NumPix Counter are reloaded. H signal is PRI Co Reset counter and Nu+nPix Counter.

0TSRは、TTSRと同じタイプのピクセル出力フォーマツティングを特定す る。唯一の相違点は、逆オペレーションが実行されていることである。0TSR specifies the same type of pixel output formatting as TTSR. Ru. The only difference is that a reverse operation is being performed.

図27において、ローカルメモリ2700をMemory to Video  Transfer (FIFOWrite)における0utput FIFO2 702に書き込む方法を示している。FIFO2702は、Video Dis playコマンドが実行されるにつれて、連続して空にされる。メモリの内容を 0utput FIFO2702にロードするため、制御装置2704はインチ ラブドプログラム2706によって割り込まれなければならないし、メモリ転送 に進むことになる。In FIG. 27, the local memory 2700 is 0output FIFO2 in Transfer (FIFO Write) 702 is shown. FIFO2702 is Video Dis It is continuously emptied as play commands are executed. the contents of memory 0output In order to load to FIFO 2702, the control device 2704 Must be interrupted by rhabdo program 2706 and memory transfer will proceed to.

これは、ビデオの別のラインがDOCにクロックされる準備がなされる度に呼び 出されるインチラブドを経由して実行される。This is called every time another line of video is ready to be clocked into the DOC. Executed via Inch Loved issued.

ローカルメモリ2700内のどのデータが0utput FIFOにロードされ るか、どの順番でロードされるかを決定するために、各チャネル毎に定義された 五つのレジスタがある。この四つのレジスタはFAGによって使用されてアクテ ィブフレームバッファのために有効なペースアドレスを生成する。五つのレジス タは、FIFO0utput Timing 5equence Regist er 2708 (FOTSR)であり、これには(ローカルメモリに位置する )フレームバッファからデータを読み出す方法が記載されている。Which data in the local memory 2700 is loaded into the 0output FIFO? defined for each channel to determine which channels are loaded and in what order. There are five registers. These four registers are used by the FAG to Generates a valid pace address for the dynamic frame buffer. five regis The data is FIFO0output Timing 5equence Register er 2708 (FOTSR), which includes (located in local memory) ) describes how to read data from the frame buffer.

Memory to Video Transfer In5truction は、マルチサイクル命令である。それが実行された場合には、ピクセルの特定数 がローカルメモリ2700から0utput FIPOに転送される。その命令 のためのパラメータは、下記のように、FOTSR2708に記憶されている。Memory to Video Transfer is a multicycle instruction. A specific number of pixels if it is executed is transferred from local memory 2700 to 0output FIPO. that command The parameters for are stored in FOTSR 2708 as follows.

FOTSR形式(32ビツト)は、0utput FIFOにあるデータをロー カルメモリに読み込む方法に関するパラメータを特定するために使用される。The FOTSR format (32 bits) loads the data in the 0output FIFO. Used to specify parameters for how to read into local memory.

それは、FITSR2410と同じ形式を有している。レジスタは四つのフィー ルドを有しており、第五のフィールドは0TSR2604から読み出される。即 ち、(6) DeltaOffset、(II) Modulo L 、 (4 ) Wait Cycles 、及び(6) (OTSRから) Number  o■ Pixelである。11ビツトIn1tial Frame fMfsetは、 画像を表示する場合に、フレームに付は加えた追加の縦方向のオフセットを特定 する。例えば、8のオフセットが特定された場合には、出力画像はビデオ出力宛 先においてローカルメモリに現れるよりも8ライン下に表示される。6ビツトD elta 0ffsetは、各オペレーションのアドレスに付加された縦方向の オフセットを特定する。2のDelta 0ffsetが与えられた場合には、 第一の転送はゼロの縦方向のオフセットを有し、第二のオフセットは2の縦方向 のオフセットを有し、第三のオフセットは4の縦方向のオフセット等を有するこ とになる。11ビツトModulo Lフィールドは、縦方向の位置演算が回り 込む時を決定する。そのフィールドは(極限)数値りを保持している。例えば、 In1tial Frameオフセットがゼロである場合には、Delta 0 ffsetは4で、Modulo L値は15で、連続データ転送はライン0. 4.8、■2.1.5.9.13.2.6、等に現れている。4ビツトWait  Cyclesフィールドは、転送が完了する前に待機さぜる追加のクロックサ イクルの数を決定するために使用される。低速ローカルメモリがアクセスされる 場合に、このフィールドが使用される。6ビツトNumber of Pixe lsフィールドは、0utput FIFOに転送されるピクセル数を特定する 。この数値はVideo Displayに対するものと常に同じであるので、 パラメータはFOTSRにおいて明示されていない。しかし、それはなおMei vory lo video Transferのためのパラメータである。It has the same format as FITSR2410. The register has four fields. The fifth field is read from 0TSR2604. Immediately (6) DeltaOffset, (II) Modulo L, (4 ) Wait Cycles, and (6) (from OTSR) Number  o■ It's a Pixel. The 11-bit In1tial Frame fMfset is Specifies the additional vertical offset added to the frame when displaying the image. do. For example, if an offset of 8 is specified, the output image will be It is displayed eight lines below what it previously appeared in local memory. 6 bit D elta0ffset is the vertical value added to the address of each operation. Identify the offset. If a Delta 0ffset of 2 is given, The first transfer has a vertical offset of zero and the second has a vertical offset of 2. , the third offset may have a vertical offset of 4, etc. It becomes. The 11-bit Modulo L field is used for vertical position calculations. Decide when to enter. The field holds a (limit) numerical value. for example, If the In1tial Frame offset is zero, then Delta 0 ffset is 4, Modulo L value is 15, continuous data transfer is on line 0. 4.8, ■2.1.5.9.13.2.6, etc. 4 bit Wait The Cycles field specifies additional clock cycles to wait before the transfer is complete. used to determine the number of cycles. Slow local memory is accessed This field is used if 6 bit Number of Pixe The ls field specifies the number of pixels transferred to the 0output FIFO . This number is always the same as for Video Display, so Parameters are not specified in FOTSR. However, it is still Mei This is a parameter for vory lo video Transfer.

Video 0utput 0peration 5eLupは、チャネル毎の 0TSR,FOTSR、及びFAG Registersの折数値での初期化の 方法を簡単に説明している。この数値のすべてはユーザー特定のもので、プロセ ンサに従属するものであるので、アドレッシング情報はプロセッサから受信され なければならない。このレジスタの初期化と修正を簡単にするために、ローカル メモリ部が予約されている。プロセッサはIOMcが読み込むことのできる専用 メモリ位置にデータを書き込む。Video 0output 0operation 5eLup is for each channel. Initialization of 0TSR, FOTSR, and FAG Registers with fold values The method is briefly explained. All of these numbers are user specific and process addressing information is received from the processor. There must be. To simplify the initialization and modification of this register, a local Memory section is reserved. The processor is a dedicated device that can be read by IOMc. Write data to a memory location.

予約したメモリ位置は初期化のために使用されるので、ビデオパラメータを変更 する命令は、/ステムコールとして実行される。パラメータのなかにはユーザー によって特定することはできないし、すべきでないものがある。例えば、システ ムは、ユーザーが別のアプリケーションによって使用されたチャネルにパラメー タを更新する試みを行うような状況から保護される必要がある。こうして、その 状況から保護することができるシステムコールは、ビデオ出力オペレーションセ ットアツプを実行する適切な方法である。Reserved memory locations are used for initialization, so changing video parameters The instruction to do this is executed as a / stem call. Among the parameters is the user There are some things that cannot and should not be specified. For example, the system The system allows the user to add parameters to a channel used by another application. must be protected from situations where an attempt is made to update the data. In this way, the A system call that can be protected from the situation is the video output operation This is the proper way to perform a startup.

SHのフィードバック性能により、Out四t FIFO2600のデータはデ ータ出力チャネル(DOC)に書き込んで、Input FIFO2400に読 み出すことができるが、プロセッサの別の部分を関係させることなくSEはメモ リのデータを処理することができる。図27a乃至図27iは、二つのメモリオ ペレーション工程を説明しており、一工程は数値アレーを回転させて、他の工程 は数値アレーを置き換える。メモリ編成は、図27aで説明されている。簡素化 のために、四つのプロセッサ(0乃至3)が示されているだけであり、各々は四 つのメモリ位置をアドレスする。Due to the feedback performance of SH, the data of Out 4T FIFO2600 is Write to the data output channel (DOC) and read to the Input FIFO2400. SE can be used to extract notes without involving other parts of the processor. data can be processed. Figures 27a to 27i show two memory It explains the peration process, in which one process rotates the numerical array and the other process replaces the numeric array. The memory organization is illustrated in Figure 27a. Simplification , only four processors (0 to 3) are shown, each with four processors (0 to 3). Address one memory location.

図27aにおいて、四つのメモリ位置はO乃至3のオフセットを使用して各プロ セッサによってアドレスされる。下記の実施例は、Pプロセッサが数値のNXN マトリックスで演算する場合である。こうして、図27a乃至図27iにおいて 、NとPとも4に等しい。In Figure 27a, the four memory locations are mapped to each program using an offset of O to 3. addressed by the processor. The example below shows that the P processor is a numeric NXN This is the case when calculating with a matrix. Thus, in Figures 27a-27i , N and P are both equal to 4.

アレートランスポーズオペレーションを実行するために、FOTSR、0TSR ,FITSRl及びITSRレジスタは下記のように設定される。FOTSRレ ジスタにおいて、In1tial Frame Pa1nter 0ffset フイールドは(P+1)モジュONに設定される。Defta 0ffsetフ イールドは+1に設定される。Modul o LフィールドNに設定されるo  Wait Cyclesフィールドはlに設定される。また、Number  of Pixelsフィールドはlに設定される。0TSRレジスタにおいて、 In1tial Pixel Po5itionフイールドはPに設定される。FOTSR, 0TSR to perform array transpose operations , FITSRl and ITSR registers are set as follows. FOTSR In the register, In1tial Frame Pa1nter 0ffset The field is set to (P+1) module ON. Defta 0ffset The yield is set to +1. Module o Set in L field N The Wait Cycles field is set to l. Also, Number The of Pixels field is set to l. In the 0TSR register, The In1tial Pixel Po5ition field is set to P.

Pixel Repeat IntervalフィールドはNに設定される。N umber or Pixelフィールドはlに設定される。これらのレジスタ は、0utput FIFOを制御して、図27bに示されている順番でアレー からデータ出力チャネル(DQC)に数値を供給する。The Pixel Repeat Interval field is set to N. N The umber or Pixel field is set to l. These registers controls the 0output FIFO to load the array in the order shown in Figure 27b. supplies numerical values to the data output channel (DQC).

FITSRレンスタにおいて、In1tial Frame Po1nter  0ffsetフイールドは(P−14N)モジュロNに設定される。Delta  0ffsetフイールドは一■に設定される。Modu1oLフィールドはN に設定されている。Wait Cyclesはlに設定される。Nu+nber of Pixelsフィールドはlに設定される。 ITsRレジスタにおいて 、In1tial Pixel Po5itionフイールドは(P−1+N)  Modulo Nに設定される。Pixel Repeat Interva lフィールドはNに設定される。Number of Pixelsはlに設定 される。これらのレジスタはInput FIFOを制御して、図27bに示さ れた順番でDOCからアレーにデータ数値を記憶する。図27d及び図27eは 、アレートランスポートオペレーションの前後でメモリアレーにあるpを介して ピクセルをそれぞれ示している別の役にたつメモリオペレーションはアレー回転 オペレーションである。このオペレーションでは、あたかもアレーが90°回転 したかのようにアレーの内容が再構成されている。アレー回転オペレーションを 実行するために、FOTSRレジスタは、In1tial France Pa 1nterフイールドがPであり、Delta 0ffsetフイールドは+1 であり、Modulo LフィールドはNであり、Wait Cyclesフィ ールドはlであり、またNumber of Pixelsフィールドは1であ るように設定されている。0TSRレジスタは、In1tial Pixel  Po5itionフイールドがPであり、Pixel Repeat 1nLe rvalはNであり、またNumber of Pixelsは!であるように 設定される。これらのレジスタにより、0utput FIFO2600は、図 27fに示されている順番で、アレーからDOCに数値を供給することになる。In FITSR Lenstar, In1tial Frame Po1nter The 0ffset field is set to (P-14N) modulo N. Delta The 0ffset field is set to 1■. Modu1oL field is N is set to . Wait Cycles is set to l. Nu+nber The of Pixels field is set to l. In the ITsR register , In1tial Pixel Po5ition field is (P-1+N) Modulo Set to N. Pixel Repeat Interva The l field is set to N. Set Number of Pixels to l be done. These registers control the Input FIFO and are shown in Figure 27b. Data values are stored in the array from the DOC in the order in which they were received. Figures 27d and 27e are , via p in the memory array before and after the array transport operation. Another useful memory operation to represent each pixel is array rotation. It is an operation. In this operation, it is as if the array were rotated 90°. The contents of the array are reorganized as if it were Array rotation operation To execute, the FOTSR register is set to In1tial France Pa. 1nter field is P and Delta 0ffset field is +1 , the Modulo L field is N, and the Wait Cycles field is field is l, and the Number of Pixels field is 1. is set to 0TSR register is In1tial Pixel Po5ition field is P and Pixel Repeat 1nLe rval is N, and Number of Pixels is! as it is Set. With these registers, the 0output FIFO 2600 is The numbers will be supplied from the array to the DOC in the order shown at 27f.

オペレーションを完了するために、FITSRレジスタは、In1tial F rame Po1nter 0ffsetフイールドは(N−P−1)であり、 Delta 0(Esetフィールドは+1であり、Modulo Lフィール ドはNであり、Wait CyclesフィールドはIであり、またNumbe r of Pixel フィールドはlであるように設定される。ITSRレジ スタは、In1tial Pixel Po5itionフイールドは(N−P −1)であり、Pixel Repeat Interval フィールドはN であり、またNumber or Pixelフィールドはlであるように設定 される。この数値を使用して、Input FIFO2400は、図27gに示 された順番で、データ数値をDOCからアレーに記憶する。このオペレーション の結果は、図27hに示されているように、pを介してデータ数値を図27iに 示された回転位置に翻訳される。入出力FIFO2400/2600を制御する レジスタのその他の構成はその他のりマツピングオペレーソヨンを実行するため に使用されることが想定されている図18aは回路機構が示されている。これは プロセッサの各々を関係するIOMcを介してIVとインタフェースをとるため に使用される。1V320はディスクドライブのアレーがあり、それはSHにお いて各プロセッサに一つである。しかし、フラッシュメモリ、マグネティクバブ ル記憶装置、または偶数のランダムアクセスメモリ装置のようなその他の種類の 第二メモリが1V320として使用されることが想定されている。To complete the operation, the FITSR register is The rame Po1nter 0ffset field is (N-P-1), Delta 0 (Eset field is +1, Modulo L field The code is N, the Wait Cycles field is I, and the Number The r of Pixel field is set to l. ITSR cash register The In1tial Pixel Po5ition field is (N-P -1), and the Pixel Repeat Interval field is N and the Number or Pixel field is set to l. be done. Using this number, the Input FIFO 2400 is set as shown in Figure 27g. Data values are stored from the DOC into the array in the order in which they are stored. This operation The result is shown in Fig. 27h, and the data values are transferred to Fig. 27i via p as shown in Fig. 27h. translated into the indicated rotational position. Control input/output FIFO2400/2600 Other configurations of registers are used to perform other mapping operations. FIG. 18a shows a circuit arrangement that is envisioned to be used for. this is To interface each of the processors with the IV via the associated IOMc used for. The 1V320 has an array of disk drives, which are connected to the SH. one for each processor. However, flash memory, magnetic bub other types of memory devices, such as random access memory devices, or even random access memory devices. It is assumed that the second memory is used as 1V320.

図18aにおいて、各ディスクドライブはIVとインタフェースをとる10MC 部に接続するシリアル入出力部を有している。例えば、これらは標準R5−23 2接続部である。データは、並列回路を介してシリアル(P/S)インタフェー ス1816に接続するシリアル入力部に供給されるとともに、シリアル出力接続 部を介して伝送されるデータは直並列(S/P)インタフェース1818に送信 される。IOMc側では、データはP/31816に送信されて、39ビツトF IFOバツフアによって1キロビツトはどS/P 1818から受信される。3 9ビツトは32データビツトとエラー検出コード(EDC)の7ビツトを含んで いる。In Figure 18a, each disk drive interfaces with the 10MC It has a serial input/output section that connects to the section. For example, these are standard R5-23 2 connections. Data is transferred via parallel circuit to serial (P/S) interface. 1816 and a serial output connection. The data transmitted through the serial/parallel (S/P) interface 1818 be done. On the IOMc side, the data is sent to the P/31816 and the 39-bit F One kilobit is received from S/P 1818 by the IFO buffer. 3 The 9 bits include 32 data bits and 7 bits of error detection code (EDC). There is.

また、FIFO1810はIVのディスクドライブから制御情報(即ちデータア ドレス)を受信したり、そこに制御情報を供給する。この制御情報は制御回路1 82oを介してデータストリームに入力する。制御回路1820を介して転送さ れるアドレス値は23ビツト値であり、各数値は個別32ビツトデータワードに 対応している。The FIFO 1810 also receives control information (i.e., data access) from the IV's disk drive. address) or supply control information thereto. This control information is the control circuit 1 82o to the data stream. transferred via control circuit 1820 The address value entered is a 23-bit value, and each number is separated into a separate 32-bit data word. Compatible.

従って、典型的ディスクドライブは最高32メガビツトのデータを保持している 。 PIFo 1810を経由して転送されるデータは32ビツトEDCエンコ ーダ1812によって供給されるか、32ビツトEDCデコーダ1814に供給 されるが、データがIVに書き込まれるか、それから読み出されるがどうかに従 属している。また、EDCデコーダ1814は、エラーがデコードされたデータ で検出されたことを表示するlビットエラー信号を供給する。この信号に応答し て、プロセッサは再びデータにアクセスすることを試みるか、簡単にエラーを制 御装置又はポストに伝達する。Therefore, a typical disk drive can hold up to 32 megabits of data. . Data transferred via PIFo 1810 is 32-bit EDC encoded. 1812 or to a 32-bit EDC decoder 1814. depending on whether data is written to or read from the IV. belong to. Additionally, the EDC decoder 1814 decodes the error-decoded data. An l-bit error signal is provided to indicate that an error has been detected. respond to this signal The processor then attempts to access the data again or simply overcomes the error. control device or post.

図18aにおいて、データをIV320と送受信するために四つの32ビツト出 力チヤネルと四つの32ビツト入カチヤネルがある。図17及び図18に示され ているように、このチャネルは、入出カスライスのためにローカルメモリに多重 化される。In Figure 18a, four 32-bit outputs are used to send and receive data to and from the IV320. power channel and four 32-bit channels. As shown in Figures 17 and 18 This channel is multiplexed into local memory for input and output slices, as shown in be converted into

1vは比較的長い画像シーケンスを保持するためか、大きいデータベースを保持 するために使用できる。高い並列度から生じるハイデータ帯域幅により、画像処 理アプリケーションの急速画像取得及びデータベースアプリケーションの高速デ ータベース探索ができるようになる。1v has a large database, probably because it holds relatively long image sequences. can be used to High data bandwidth resulting from high degree of parallelism enables image processing Rapid image acquisition for administrative applications and high-speed data acquisition for database applications. You will be able to search the database.

SEは、MIMD性能を有している。64プロセツサ毎に一つの制御装置があり 、各制御装置は異なる命令ストリームをそのプロセッサにブロードキャストする ことができる。この編成により、制御装置間で同期させるハードウェアサポート により最大MIMD命令ストリームが供給される。同期化は制御装置とその制御 を受けるプロセッサの間、及び制御装置間で必要とされる。ALOR(LOR) バスは、プロセッサを制御装置に同期させるために使用され、LORバス、Gl obal OR(GOR)バス、及びNeighboring LOR(NOR )バスは、制御装置間の同期化のために使用される。SE has MIMD performance. There is one controller for every 64 processors. , each controller broadcasts a different instruction stream to its processor be able to. This organization provides hardware support for synchronizing between control devices. provides the maximum MIMD instruction stream. Synchronization is the control device and its control between the receiving processors and between the control units. ALOR(LOR) The buses are used to synchronize the processor to the control unit, LOR bus, Gl obal OR (GOR) bus, and Neighboring LOR (NOR ) bus is used for synchronization between control devices.

プロセッサ同期化は、その完了時間がローカルプロセッサデータに従属している オペレーションにとって必要である。例えば、ローカルデータ状況が誤りとなる まで、すべてのプロセッサはコード部を反復しなければならないかもしれない。Processor synchronization has its completion time dependent on local processor data Necessary for operation. For example, local data status is incorrect Until then, all processors may have to repeat the code section.

これにより、すへてのプロセッサはそのループコードの実行を終了するまで、制 御装置はループコードをブロードキャストすることがめられる。制御装置がルー プコードをブロードキャストすることを停止して、プログラム実行を続けること ができる場合の信号を送るためにLOR信号が使用される。LOR信号は、イベ ントが生したことを示す信号を制御装置に送るためプロセッサによって使用され る。LORバスは、各プロセッサからその制御装置に至る単一のラインである。This causes all processors to remain constrained until they finish executing their loop code. The control device is allowed to broadcast a loop code. If the control device is stop broadcasting program code and continue program execution The LOR signal is used to signal when it is possible. The LOR signal is used by the processor to send a signal to the controller indicating that an event has occurred. Ru. The LOR bus is a single line from each processor to its controller.

しORバス上の数値は、最初は低く、各プロセッサがLORビットをそのPSW に設定することにより、LORの上位信号をアサートする(図28参照)。すべ てのプロセッサはそのLOR信号をアサートした場合には、LORバス数値はハ イとなり、その制御装置は、すべてのプロセッサが同期化するように信号が送ら れる。The numbers on the OR bus are initially low, and each processor uses the LOR bits in its PSW. By setting this to , the upper signal of LOR is asserted (see FIG. 28). Everything If all processors assert their LOR signal, the LOR bus number will be high. The controller receives a signal to synchronize all processors. It will be done.

定義することにより、MIMDプログラムはマルチ命令ストリームを有すること となり、それは互いに非同期的で、独立して演算される。適宜、この命令ストリ ームは同期化されているので、計算結果は共用できる。SEでは、制御装置を同 期化するため使用された下記メカニズムの手段により、各制御装置は異なる命令 ストリームを実行することができる。図29において、各制御装置はスイッチを 有しており、LOR信号とNOR信号を組み合わせる。スイッチネットワークは 、接続されているので、連続する制御装置のグループだけが互いに同期化される 。各制御装置はスイッチの構成をソフトウェアで設定できる。図30は、七つの 制御装置の概念上のグルーピングを示しており、図31はスイッチネットワーク 構成のためのスイッチ構成を示している。By definition, MIMD programs have multiple instruction streams. , which are asynchronous to each other and are computed independently. If appropriate, this instruction string The systems are synchronized, so calculation results can be shared. In SE, the control device is the same. By means of the following mechanisms used to stream can be executed. In Figure 29, each control device has a switch. It has a combination of LOR and NOR signals. switch network , connected so that only groups of consecutive control devices are synchronized with each other . Each control device can configure the switch configuration using software. Figure 30 shows the seven Fig. 31 shows a conceptual grouping of control devices, and Fig. 31 shows a switch network. The switch configuration for the configuration is shown.

制御装置の間の同期化は下記の通りである。スイッチネットワークにより形成さ れたLOR/NORバスは、バスを介するすべてのシーケンサが上位信号をアサ ートする場合だけバス信号がハイとなるように実行する。制御装置は、他の制御 信号と同期化するのに必要とされるコードのポイントにきた場合において、PS wのLORビットを設定するようにプロセッサにコマンドを発信する。すべての プロセッサにはビットが設定されているので、この動作でLORバスがハイにな る。次に、制御装置は待機状態になり、ハイになるようにスイッチネットワーク によって定義されたバスを待つ。NOR信号とは、隣接する制御装置がそのLO R信号を設定した場合において、要約する信号である。すべての制御装置がLO R信号をアサートした場合には、スイッチネットワークによって定義されたバス はハイになり、その制御装置は同期化する。The synchronization between the controllers is as follows. formed by a switch network The LOR/NOR bus is configured such that all sequencers via the bus assign upper-level signals. Execute so that the bus signal goes high only when the The control device controls other When the point in the code is reached where it is needed to synchronize with the signal, the PS Issue a command to the processor to set the LOR bit of w. all Since the bit is set in the processor, this action causes the LOR bus to go high. Ru. Then the controller goes into standby state and switches network to high wait for the bus defined by . A NOR signal means that an adjacent control device This is a signal that summarizes when the R signal is set. All controls are LO If you assert the R signal, the bus defined by the switch network goes high and its controllers synchronize.

GORハスとは、すべての制御装置を接続するバスである。このバスは、制御装 置のグローバル同期化を必要とする状況において使用される。一つの実施例はS Rが時分割モードである場合のもので、新プログラムの文脈節がロードされてい る。GOR同期化が必要とされるのは、SIMOプログラムが同期化して実行を 開始することを保証するためである。別の実施例は、MIMDプログラムが終了 する場合である。−ストリームは早めに終了するかもしれないが、すべてのスト リームを待って、制御装置が終了したことの信号を送る前に終わらせるべきであ る。LOR/NORスイッチネットワークの使用例として、バリア同期というコ ンストラクトをプログラムする下位レベルMIMDを考察する。命令ストリーム がバリアに届いた場合には、バリア同期に参加するその他の命令ストリームがそ のバリアに届くまで、待機しなければならない。The GOR bus is a bus that connects all control devices. This bus is Used in situations that require global synchronization of locations. One example is S This is when R is in time-sharing mode, and the new program's context clause is loaded. Ru. GOR synchronization is required when SIMO programs are synchronized and executed. This is to ensure that it starts. Another example is when the MIMD program is finished. This is the case. - Streams may end early, but all streams should wait for the program to finish before the controller signals that it is finished. Ru. As an example of using a LOR/NOR switch network, there is a concept called barrier synchronization. Consider lower level MIMD programming constructs. instruction stream reaches the barrier, other instruction streams participating in barrier synchronization You must wait until you reach the barrier.

制御装置がその命令ノーケンスのバリアに出くわした場合には、上位信号をLO R/NORバスに送信して、ハイにするためバスを待つ。すべての制御装置がバ リア同期ポイントに届いた場合には、バスはハイになり、参加制御装置は同期化 する。実施例として、図32を考察する。本実施例において、第一シーケンスl 、2が同期化されて、シーケンス1.2.3が同期化される。If the controller encounters the barrier of its command no-ken, it will LO the upper level signal. Sends to R/NOR bus and waits for bus to go high. All controls are If the rear synchronization point is reached, the bus goes high and the participating controllers synchronize. do. As an example, consider FIG. In this example, the first sequence l , 2 are synchronized and the sequence 1.2.3 is synchronized.

時分割は、SHのためのオペレーションの通常モードである。文脈節を記憶して ロードできる二つのメモリポートがあるので、プログラム間の文脈節スイッチ時 間用の時間は短い(約250命令サイクル)。Time division is the normal mode of operation for SH. remember the context clause There are two memory ports that can be loaded, so when switching between context clauses between programs, The intermission time is short (approximately 250 instruction cycles).

また、プログラムはアーキテクチュアのサブセットで実行できる。SEはスヵラ ブルアーキテクチュアとして設計されているので、システムはいくつかの小シス テムとして作動するためEBレベルで再構成される。次に、プログラムは新構成 システムサブセットでロードし実行して、小さい問題のリソースの割付けを処理 することができる。Additionally, programs can run on a subset of the architecture. SE is scalar Because it is designed as a blue architecture, the system has several small Reconfigured at EB level to operate as a system. Next, the program has a new configuration Load and run on a system subset to handle resource allocation for small problems can do.

実時間オペレーティングシステムのハードウェアサポートはO5Boardであ り、これはSHのホストヮークステーションと制御装置からの要求に応答する。Hardware support for real-time operating systems is provided by O5Board. It responds to requests from the SH's host workstation and controller.

O3Boa「dは、ホストワークステーションと制御装置からの要求をバッファ するハードウェアキューを含んでいる。また、O3Boardはバッファメモリ を制御するので、ポスト、制御装置、及びIOMCにより読み出し、書き込みを することができる。ポストとSEはかなり異なるクロック率で作動して、ゆるく 結合しているので、O3Boardは、データを二つのシステム間で転送する方 法を調整しなければならない。O3Boa'd buffers requests from host workstations and controllers. Contains hardware queues to In addition, O3Board is a buffer memory The read and write operations are controlled by the post, control device, and IOMC. can do. The post and SE run at significantly different clock rates and are loosely Because it is coupled, O3Board is the only way to transfer data between two systems. Laws must be adjusted.

また、制御装置において、マルチユーザー環境のための追加ハードウェアサポー トがある。各制御装置は、実行をスケジュールした未定のジョブを含んだジョブ キューを有している。(O3Boardは、スケジュールジョブをすべての制御 装置にブロードキャストするが、制御装置はジョブキューにスケジュールされて いる。)制御装置はプロセステーブルメモリとポーリングハードウェアを有して いる。プロセステーブルメモリーはsl!に存在するプロセスに関する情報を含 んでいる。ポーリングハードウェアは、実時間ジョブが実行をスケジュールしな ければならない時を決定する。Additionally, the control unit offers additional hardware support for multi-user environments. There is a Each control unit has jobs, including pending jobs, scheduled for execution. Has a queue. (O3Board has full control over scheduled jobs. broadcast to the device, but the control device is not scheduled in the job queue. There is. ) The controller has process table memory and polling hardware. There is. Process table memory is sl! Contains information about the processes that exist in I'm reading. Polling hardware prevents real-time jobs from being scheduled to run. Decide when you need to do it.

O3Boardは、Motorola 68040プロセツサ又はその同等装置 を有しており、それは連続してO3Boardキューを監視するオペレーティン グシステムプログラムを実行する。それは、アクティブプログラムとホストから くる要求に待機して、一度に一つの要求に応答する。要求には優先順位がある。The O3Board is a Motorola 68040 processor or equivalent device. It has an operating system that continuously monitors the O3Board queue. run the system program. It is from the active program and host It waits for incoming requests and responds to one request at a time. Requests have priorities.

アクティビティの中には実時間プログラムの実行スケジュールのように直ちに実 行しなければならないものもあるし、他のアクティビティの中にはプログラムを ロードするように実時間で実行することに拘束されていないものもあり優先順位 は低い。待機要求は、優先順位は低いが、O3Boardがキューからエントリ を読み出す場合に実行される。直ちに処理しなければならない優先順位の高い要 求は、O3Boardプロセッサプログラムに割り込んで実行される。Some activities can be executed immediately, such as a real-time program execution schedule. Some activities have to be performed, and some other activities require Some things are not bound to run in real time like loading priorities is low. A standby request has a low priority, but the O3Board does not enter it from the queue. Executed when reading . High-priority items that need immediate attention The request is executed by interrupting the O3Board processor program.

1セツトの実時間プログラムをともに実行することを保証するために、新たに提 出された実時間プログラムが存在する実時間プログラムと互換性を持って実行で きるかどうかを決定する場合には、RAPによって下記規則が使用される。即ち 、(文脈節スイッチングのようなオーバーヘッドを含めて、)実時間プログラム 実行時間の合計は、実時間プログラムの基準(最短)フレーム時間(フレームバ ッファをロードする時間)より少なくなければならない。このことは、各プログ ラムが各基準フレームに対して一度実行することができることを保証している。In order to guarantee that a set of real-time programs can run together, a new proposal The issued real-time program can be executed in a manner compatible with existing real-time programs. The following rules are used by the RAP when deciding whether to That is, , a real-time program (including overheads like context clause switching) The total execution time is based on the standard (shortest) frame time (frame bar) of the real-time program. (time to load the buffer) should be less. This applies to each program. This guarantees that the ram can be executed once for each reference frame.

これは控え目な見積である。実時間プログラムのほとんどは、より長いフレーム 時間を使用している。そのため、その状況はプログラムが実行しなければならな い回数を過大評価している。実時間プログラムの実行時間は、プロファイリング とユーザー見積を通して決定される。This is a conservative estimate. Most real-time programs use longer frames using time. Therefore, the situation must be handled by the program. You are overestimating the number of times. Real-time program execution time is profiling and determined through user estimates.

実時間プログラムのスケジューリングは、第一優先順位の要求である。実時間ジ ョブは、別のフレームバッファをロードする度に実行できるよう用意されている 。各制御装置は、Data Input Channelsのフレーム同期化( F同期化)信号をポールするポーリングレジスタを有している。(実時間プログ ラム完了実行動作、又は非実時間ジョブスライスが終了したことにより、)ジョ ブが完成する度に、このレジスタから読み出されリセットされて、F同期化に関 連したジョブがスケジュールされる。一つのF同期化信号以上のものが読み込ま れた場合には、このジョブは最短フレーム時間第一がスケジュールされる。新F 同期化信号がなく、実行をスケジュールされたジョブが二つより少ない場合には 、O3Boardは実行のための使用可能非実時間ジョブをスケジュールする。Scheduling real-time programs is a first priority requirement. real time di The job is prepared to run every time another framebuffer is loaded. . Each control device performs frame synchronization ( It has a polling register that polls the F synchronization) signal. (Real time program (due to completion of a run or non-real-time job slice) Each time a block is completed, this register is read and reset to A series of jobs are scheduled. More than one F synchronization signal is read. If so, the job will be scheduled with the shortest frame time first. New F If there is no synchronization signal and there are fewer than two jobs scheduled to run, , the O3Board schedules available non-real-time jobs for execution.

制御装置は、オペレーティングシステムアクティビティとインクラクトするコン ポーネントを14有している。即ち、Polling Register、 P o1l Correspondence Table (PCT) 、Job  Queue (JQ)、Job Finished Signal 、Time  Quantum@Regis ter (TQ)、Time 5lice Counter (TSC)、Pr ocess Table Memory (PTM)、Pr盾モ■唐■ Base Registers (PBRs) 、Ilo Request S ignal、Ilo Ready Signal、 )IInR,In5t ruction Memory、 PCスタックメモリ、及びLoopスタック メモリである。A control device is a controller that interacts with operating system activity. It has 14 components. That is, Polling Register, P o1l Correspondence Table (PCT), Job Queue (JQ), Job Finished Signal, Time Quantum@Regis ter (TQ), Time 5lice Counter (TSC), Pr ocess Table Memory (PTM), Pr Shield Mo■Tang■ Base Registers (PBRs), Ilo Request S ignal, Ilo Ready Signal, )IInR, In5t ruction Memory, PC stack memory, and Loop stack It's memory.

Polling Registerは、四つのピットレジスタであり、各ビット はData Input Channelに対応する。そのレジスタは、最後の ポールがチェックしてからFrame 5ynchronization (F  5ync)信号が受信されているかどうかをポールするために使用される。ア トミック命令はレジスタを読み出しリセットするために使用される。Polling Register is four pit registers, each bit corresponds to Data Input Channel. That register is the last After Paul checks it, Frame 5ynchronization (F 5ync) Used to poll whether a signal is being received. a Tomic instructions are used to read and reset registers.

F同期化信号が受信された場合には、対応ビットがPolling Regis terに設定され、それはデータの別のフレームがシステムにロードされたこと と、データを使用する実時間ジョブがスケジュールできることを表示している。If the F synchronization signal is received, the corresponding bit is set to Polling Regis. ter, it indicates that another frame of data has been loaded into the system. and that real-time jobs that use the data can be scheduled.

PCTは、Polling Registerに要約されたポーリング信号をD ata Input Channelを使用する実時間プログラムに関係させる ために使用される。The PCT sends the polling signal summarized in the Polling Register to the D Related to real-time programs that use ata Input Channel used for.

JQは、実行のため次のジョブナンバーを含んだハードウェアで実行されたキュ ーである。JQは、O3Boardからのジョブを受信して、どのジョブがスケ ジュールされるかを決定する。制御装置は、実行するジョブを準備した時に、J ob Queueのヘッドを削除する。JQ selects the queue executed on the hardware containing the next job number for execution. - is. JQ receives jobs from O3Board and determines which jobs are scheduled. Determine which module is used. When the control device prepares a job to be executed, Delete the ob Queue head.

Job Finished (JF) Signalは、カレントジョブが時間 スライスの実行を完了した場合に、制御装置jfOがO3[1oardを送信す る信号である。信号は、O3Boardに送信されるので、追加ジョブをスケジ ュールすることができる。Job Finished (JF) Signal indicates that the current job When the execution of the slice is completed, the controller jfO sends O3[1oard. This is a signal that A signal is sent to the O3Board so additional jobs can be scheduled. can be

TQは、実時間ジョブを実行する場面で、非実時間ジョブが割り当てられる回数 を決定するために使用される。TQ値は、非実時間ジョブが次を実行するために スケジュールされる場合にTSCにロードされる。TQ is the number of times a non-real-time job is allocated when a real-time job is executed. used to determine. The TQ value is used for non-real-time jobs to run Loaded into the TSC when scheduled.

TSCは、プログラムが実行のために割り当てられたサイクル数を計算するため に使用される。時間スライス値は、カウンタにロードされて、命令サイクル毎に 減少していく。カウンタがゼロまで減少した場合には、プログラム実行は中断し て、制御装置は次にスケジュールされたプログラムを実行するために準備される 。実時間プログラムのためのTime 5liceはProcess Cont rol Table (PCT)から取得される。非実時間プログラムのための Time 5liceは、TQから取得される。TSC is for calculating the number of cycles a program is allocated for execution. used for. The time slice value is loaded into a counter and It will continue to decrease. If the counter decreases to zero, program execution is interrupted. the controller is then prepared to run the scheduled program. . Time 5lice for real-time programs is Process Cont It is obtained from rolTable (PCT). for non-real-time programs Time5lice is obtained from TQ.

PTMは、各プログラムのためのプログラム情報を含んでいる。それは、プログ ラム文脈節情報のような情報とIn5truction and Local  (Data) MemoryにあるプログラムのためのBa5e Addres sを含んている。The PTM contains program information for each program. It's a program Information such as Ram context clause information and In5truction and Local (Data) Ba5e Address for the program in Memory Contains s.

PBRsは、1セツトが16のレジスタからなっており、各々は表示しているジ ョブのためのPTM Entryのベースアドレスを保持している。特定時間に SEを実行できる16プログラム(実時間と非実時間)というハードウェア負担 制限がある。One set of PBRs consists of 16 registers, each of which corresponds to the page being displayed. Holds the base address of the PTM Entry for the job. at a specific time Hardware burden of 16 programs (real time and non-real time) that can run SE There is a limit.

例えば、PBR5はジョブ5のためのプロセステーブルエントリのベースアドレ スを保持している。For example, PBR5 is the base address of the process table entry for job 5. maintains a

110 Request Singleは、110を要求する制御装置からO3 Boardに位置するIOQに送信される。その要求は、Iloを必要とするプ ログラムのジョブナンバーである。O3Boardがその要求を検査する場合に は、そのジョブはIloのためにスケジュールされる。ホスト入出力に関する詳 細な情報は下記の通りである。110 Request Single is an O3 request from the control device requesting 110. It is sent to the IOQ located on the Board. The request is a program that requires Ilo. This is the job number of the program. When the O3Board examines the request , the job is scheduled for Ilo. More information about host I/O Detailed information is as follows.

Ilo Ready Signalは、制御装置で実行しているプログラムがo sバッファにある情報をロードするか読み出すことを完了したことを示す信号を O3Boardに送るために使用される。ホスト入出力に関する詳細な情報は下 記の通りである。Ilo Ready Signal indicates that the program running on the control device is s signal indicating that the information in the s buffer has been loaded or read. Used to send to O3Board. More information about host I/O can be found below. As written.

HIORは、制御装置がデータをHo5t Workstationとやりとり するのに必要とする場合にアクセスするレジスタである。それは、旧OBusの 一部である。HIOR allows the control device to exchange data with the Ho5t Workstation. This is a register that is accessed when necessary to do so. It is the old OBus Part of it.

In5truction Memoryは、プログラムのための命令がSEにあ る場所である。メモリはマルチポートを有しているので、プログラムでメモリを ロードすることができるとともに、別のプログラムが(実行のため)読み出され る。Instruction Memory is where the instructions for the program are in the SE. It is a place where you can Memory has multiple ports, so you can use the program to can be loaded and another program is read out (for execution) Ru.

Program Counter (PC)は、機能コールのための情報がプロ グラム実行中は維持される場所である。各PC5tackは、各ユーザープログ ラムに一つの、16セツトからなる三つの専用レジスタを有している。それらは PCBa5e 、 PCLim1t、及び5tack Po1nter Reg istersである。これらのレジスタはメモリ内のプログラムのデータを区切 ってアクセスするために使用される。そのメモリはマルチポートを有しているの で、プログラムでメモリをロードさせることができるとともに、別のプログラム が(実行のために)読み出される。Program Counter (PC) is where information for function calls is programmed. This location is maintained while the program is running. Each PC5tack has each user program It has three dedicated registers consisting of 16 sets, one for each RAM. They are PCBa5e, PCLimlt, and 5tack Po1nter Reg isters. These registers delimit the program's data in memory. It is used for accessing. Does that memory have multi-ports? allows a program to load memory and another program to load memory. is read (for execution).

Loop 5tack Memoryは、特別ループハードウェアとともに使用 される情報がプログラム実行中に記憶される場所である。各Loop 5tac kは、各ユーザープログラムのための16セツトからなる三つの専用レジスタを 有しており、それらはLoopBase 、 Loop Lim1t、及びLo op 5tack Pa1nter Registersである。これらのレジ スタはメモリ内のプログラムのデータを区切ってアクセスするために使用される 。そのメモリはマルチポートであるので、プログラムでメモリをロードするとと もに、別のプログラムが(実行のために)読み出される。Loop 5tack Memory is used with special loop hardware This is the location where the information that is displayed is stored during program execution. Each Loop 5tac k has three dedicated registers consisting of 16 sets for each user program. They are LoopBase, Loop Limlt, and Loop OP 5tack Painter Registers. These cash registers Stars are used to separate and access program data in memory. . That memory is multi-ported, so when you load the memory programmatically, Also, another program is loaded (for execution).

IOMGがオペレーティングシステムアクティビティに関して有するインタラク シ町ンだけが旧OBusの一部であるHIORに読み出し、書き込みがなされる 。このレジスタに読み出し、書き込みする決定は制御装置からIOMGに送信さ れる。Interactions that IOMG has with operating system activities Only the remote control can read and write to HIOR, which is part of the old OBus. . Decisions to read and write to this register are sent from the controller to the IOMG. It will be done.

ホストは、Ho5t Request Signal 、 )lost Sig nal 、及びHo5t Busなどのオペレーティングシステムアクティビテ ィとインタラクトする三つのコンポーネントを有している。これに加えて、ホス トで実行するソフトウェアは、マシーンのリソースを割り当て、HIQ Req uestsにサービスしてデータをファイル又は端末に読み出し、書き込む役割 がある。The host sends Ho5t Request Signal, )lost Sig Operating system activities such as nal and Ho5t Bus It has three components that interact with the user. In addition to this, host Software running on the machine allocates machine resources and sends HIQ requests. Role of servicing uests and reading and writing data to files or terminals There is.

Ho5t Request SignalはホストがO3Boardに送信する 信号で、ジョブを1(ost Request Queueに付は加える。要求 はプログラムのローディング、プログラムのキリング、及びプログラムのリロー デイングを含んている。Ho5t SignalはホストがO5Boardに送 信する信号で、ホストがO3Bufferの読み出しと書き込みを完了するため の実行を完了していることを表している。Ho5t Request Signal is sent by the host to O3Board At the signal, add the job to the ost Request Queue. is for program loading, program killing, and program reloading. Contains deing. Ho5t Signal is sent by the host to O5Board. In order for the host to complete the O3Buffer read and write with the signal sent to the O3Buffer. This indicates that execution has been completed.

HIOは、すべてのIOMcと制御信号を直列に接続している32ビツト二方向 のバスである。データがO3Bufferに記憶されるまで、データを旧ORに ロードして、)110バスを左方向にシフトすることにより、そのデータはO3 Bufferに書き込まれる。同様に、IOMcへの書き込みは、データが宛先 のHI[lRに届くまで、O3Bufferを読み出し、そのデータを右方向に シフトすることにより実行される。HIO is a 32-bit bidirectional connection that connects all IOMcs and control signals in series. bus. Transfer data to old OR until data is stored in O3Buffer By loading and shifting the )110 bus to the left, that data is transferred to O3 Written to Buffer. Similarly, a write to IOMc indicates that the data is Read the O3Buffer and move the data to the right until it reaches HI [lR of This is done by shifting.

RAPはホストに常駐しており、リソース割当情報を保持して、新しく提出され たプログラムが実行できるかどうか判定する。RAPは、システムのPhysi cal 5pecificationに関する情報とシステムのCurrent  5tateに関する情報を保持している。Physical 5pecifi cation情報は、Total N umber of Functioni ng Proces唐盾■ s +Physical Data Memory 5tze 、及びPhys ical In5truction Men+ory 5i嘯■■■ んでいる。The RAP resides on the host, maintains resource allocation information, and responds to new submissions. Determine whether the program can be executed. RAP is the system's Physi Cal 5specification information and system current It holds information regarding 5tate. Physical 5 specifi cation information is Total N number of Functioni ng Process Tang Shield ■ s + Physical Data Memory 5tze, and Phys ical In5truction Men+ory 5i 嘯■■■ I'm reading.

Currer+t System 5tate情報は、In5truction  Memory MapSLocal Memory Ma吹B PC5tack Map、 1.oop 5tack Map、 Ilo Re 5ource Map、及びReference Fram■@Time Mapを含んでいる。上記の第一の四つのマツプは、異なるメモリの割当に関す る情報を提供する。そのマツプは各種メモリに生じる断片化量を決定するために 使用される。リソースがプログラムのために存在するが、メモリ断片化によりそ のプログラムが連続的にロードされるのを禁止する場合には、Re5ource  A11ocatorは非実時間プログラムを再配置する要求を送信することが できる。実時間プログラムは実行を要する次の時間までに完全に再配置されると は保証されないので、それは再配置できない。Ilo Re5ource Ma pは、Ilo Re5ourcesが使用されていることを示している。最後に 、Reference Frame Time Mapは、実時間処理のための 命令バジェットを決定するか、非実時間ジョブを実行する十分な時間があるかど うかを決定する。Currer+t System 5tate information is In5truction Memory MapSLocal Memory Mabuki B PC5tack Map, 1. oop 5tack Map, Ilo Re 5source Map and Reference Fram■@Time Contains Map. The first four maps above relate to different memory allocations. Provide information on The map is used to determine the amount of fragmentation that occurs in various types of memory. used. Resources exist for the program, but memory fragmentation If you want to prevent the program from being loaded continuously, use Re5source. A11ocator may send requests to relocate non-real-time programs. can. A real-time program will be completely relocated by the next time it needs to run. is not guaranteed, so it cannot be relocated. Ilo Re5source Ma p indicates that IloRe5sources is used. lastly , Reference Frame Time Map is for real-time processing. Determine your instruction budget or whether you have enough time to run non-real-time jobs. Decide whether to use it or not.

Reference Frameは、すべてのアクティブ実時間プログラムの最 短フレーム時間として定義される。Re5ource A11ocatorは、 Reference Frame Ru1eという下記規則に従って作動する。The Reference Frame is the first frame of all active real-time programs. Defined as short frame time. Re5source A11ocator is It operates according to the following rule called Reference Frame Ru1e.

(考えられる実時間プログラムを含めて、)実時間プログラム命令カウントすべ ての合計が、Refer ence Frameのサイズ以下である場合には、 実時間プログラムの実行がスケジュールされる。この規則が表明していることは 、(各プログラムがReference Fra+ne毎に一度実行されなけれ ばならないという)最も厳密な仮定のもとで、すべてのプログラムが実行される 場合には、すべてのプログラムは緩やかな条件で実行できる(その条件として、 プログラムのなかにはReference Frame Time毎に一回未満 実際に実行するものもあることを意味するいくつかの(長い)フレーム率がある )。All real-time program instruction counts (including all possible real-time programs) If the total is less than or equal to the size of the Reference Frame, A real-time program is scheduled for execution. What this rule states is , (each program must be executed once for each Reference Fra+ne) All programs are executed under the strictest assumption that If all programs can run under relaxed conditions, the condition is Some programs have less than once per Reference Frame Time. There are some (long) frame rates that mean some actually run ).

実時間プログラムがReference Frame Rateを変更するRA Pに提出される場合には(これは提出されたプログラムが現在実行中のプログラ ムより高い頻度で実行する場合である)、命令バジェットはこの新フレーム率に 従って再計算しなければならない。実行中のプログラムと考慮中のプログラムが この命令バジェットを越えない場合には、そのプログラムをロードしてRefe rence Frameを更新しなければならない。同様に、Referenc e Frame Rateのプログラムオペレーンコンが終了した場合には、命 令バジェットを増加させる効果を有する新Reference Fratneが 決定される。RA where the real-time program changes the Reference Frame Rate (This means that the submitted program is the currently running program.) ), the instruction budget will increase at this new frame rate. Therefore, it must be recalculated. The running program and the program under consideration are If this instruction budget is not exceeded, load the program and ranceFrame must be updated. Similarly, Reference e If the Frame Rate program operation control is completed, the life The new Reference Fratne has the effect of increasing the budget. It is determined.

実時間ジョブがロードされるか、終了される場合はいつでも、制御装置に位置す るTQが更新される。そのTQ値は、非実時間ジョブが実時間ジョブを実行する 場面で実行する時間を決定する。Time Quantum値の計算の説明は下 記になされている。Whenever a real-time job is loaded or terminated, the The TQ is updated. The TQ value is the same as when a non-real-time job executes a real-time job. Determine how long the scene will run. The explanation of Time Quantum value calculation is below. It is written down.

プログラムが終了した場合には、RAPはそのプログラムによって使用されたリ ソースを解放する。典型的には、新しく使用可能となったリソースを表したマ・ ツブを更新したり、Reference Frarneをできる限り再計算した り、ホストで実行している105 Programを更新することである。If a program terminates, RAP uses the resources used by that program. Release the source. Typically, a map representing a newly available resource is I updated the knobs and recalculated the Reference Frarne as much as possible. This means updating the 105 Program running on the host.

Real−Time Job Schedulingにおいて、最後のジョブが 時間スライスの実行を終了したことを示すJF Signalを制御装置から受 信した後に、O3Boardは、O3Boardに位置し、Job Queue にあるジョブナンバーをトラ・ンクするJob Counterを減少させる。In Real-Time Job Scheduling, the last job is Receives JF Signal from the control device indicating that time slice execution has finished. After the O3Board is located on the O3Board and the Job Queue Decrease the Job Counter that tracks the job number in .

O8Boardはどの実時間ジョブが実行の準備をしているかを決定する。The O8Board determines which real-time jobs are ready to run.

このことは、制御装置OのPolling Regtsterを検査することに より達成されるが、O3Boardがレジスタを検査した最後の時より後にFr ame 5ynchronization (F 5ync)信号のいずれかが 生成されたかどうかが判定される。F同期化信号が受信された場合には、対応す るビットはPolling Registerに設定されて、データの別のフレ ームがシステムにロードされていることを示している。そのデータを使用する実 時間ジョブは、スケジュールすることができる。O3Boardは、F 5yn c信号のいずれもミスしないように、Polling Registerを読み 出し、リセ・ッ卜するためにアトミック命令を使用する。This means that when checking the Polling Regtster of the control device O, Fr If any of the ame5syncronization (F5sync) signals It is determined whether it has been generated. If an F synchronization signal is received, the corresponding The polling bits are set in the Polling Register to indicates that the system is loaded on the system. The actual entity that uses that data Time jobs can be scheduled. O3Board is F5yn Read the Polling Register so as not to miss any of the c signals. Use atomic instructions to issue and reset.

次に、O3Boardは、Po1l Registerワードのビット間の関係 とData Input Channelsを使用する実時間ジョブを決定する ためにPCTを参照する。PCTには四つのエントリがある。各エントリはジョ ブナンバーとInput ChannelのFrame Rateを含んでいる 。Next, the O3Board determines the relationship between the bits of the Po1l Register word. Determine real-time jobs that use and Data Input Channels Please refer to the PCT for this purpose. There are four entries in the PCT. Each entry is Contains the number and Input Channel Frame Rate. .

そのF 5ync信号がポールされているすべての実時間ジョブは、かく制御装 置の、IQにスケジュールされている。1以上のジョブがスケジュールされてい る場合には、優先順位がPCTによって規定されたジョブ用のFrame Ra te情報から決定される。優先順位は最高速フレーム重篤−(Fas test  Frame Rate First )である。All real-time jobs whose F5sync signal is polled will thus Scheduled for IQ at the location. One or more jobs are scheduled. If the priority is determined by the PCT, the Frame Ra for the job is specified by the PCT. It is determined from the te information. Priority is the highest speed frame (Fas test Frame Rate First).

JCTLはJQに付は加えられたジョブ数により増加する。JCTL increases with the number of jobs added to JQ.

実時間ジョブがスケジュールされていない場合には、O3Boardはスケジュ ールされる非実時間ジョブがあるかどうかを判定する。O3BoardはJob  Counterを検査する。JQに2未満のジョブがある場合には、Non− Real−Time Job Queue (NRTQ)からエントリされて、 JQに追加される。この条件は維持されるので、JQには常に実行準備されてい るジョブがある。マルチユーザーモードでシステム上実行されるジョブが一つだ けである場合には、ダミージョブの実行がスケジュールされている。システムジ ョブの実行は、プログラムをロードするホスト要求のようにスケジュールする必 要があるかもしれないので、アクティブジゴブが一つだけである場合にも、この 条件は維持される。If the real-time job is not scheduled, O3Board will Determine whether there are any non-real-time jobs to be run. O3Board is a job Check the Counter. If there are less than 2 jobs in JQ, Non- Entry is made from Real-Time Job Queue (NRTQ), Added to JQ. This condition is maintained, so JQ is always ready to execute. There are jobs available. There is only one job running on the system in multi-user mode. If so, a dummy job is scheduled to run. system Job execution must be scheduled like a host request to load a program. This can also be used if there is only one active jigob, as this may be necessary. Conditions are maintained.

O3Board Re5ident Programは、(I(RQ経由の)ホ ストからの要求、(110Queue経由の)制御装置、及び別のジョブをスケ ジュールする信号(Job Finished信号)に応答する。オペレーティ ングシステムプログラムは、しばしば要求をボールして、要求が生じた場合にそ れを実行するエンドレスループとしてモデル化される。そのモデルは、O3Bo ardプログラムにおいて使用され、絶えず新し0要求をチェックしなければな らない。O3Board Re5ident Program (I (via RQ) requests from the host, the control unit (via 110 Queue), and another job. job finished signal). Operate Operating system programs often ball requests and respond to requests as they arise. is modeled as an endless loop that executes The model is O3Bo Used in the ard program and must constantly check for new zero requests. No.

オペレーティングシステムプログラムの第一優先順位は、Job 3chedu 1ingアクティビティである。実行中の実時間ジョブと関連する時間拘束が厳 格なので、JOb Finished信号が生成された場合に直ちに別のジョブ をスケジュールする必要力くある。また、優先順位の低い要求(Iloとホスト 要求)は、フレーム時間を多くかけて実行することができるので、Job Sc hedulingはこの要求の一つの次に待機するべきではない。こうして、J ob Schedulingアクティビティはオペレーティングシステムプログ ラムに割り込むものとして実行される。The first priority of operating system programs is Job 3chedu 1ing activity. Running real-time jobs and associated time constraints are tight. Therefore, when the JOb Finished signal is generated, another job is immediately executed. There is a strong need to schedule. Also, lower priority requests (Ilo and host request) can take a long frame time to execute, so Job Sc Heduling should not wait after one of these requests. In this way, J ob Scheduling activity is an operating system program executed as interrupting RAM.

次の優先レベルが、Iloに対するホスト要求と制御装置要求に対する応答であ る。この時点て、優先順位よりさらに重要な負担はない。しかし、優先順位シス テムはソフトウェアにおいて完全に実行されているので、相対的優先順位に関す る問題は将来に延期されている。The next priority level is response to host requests and controller requests to Ilo. Ru. At this point, there are no more important burdens than priorities. However, the priority system Since the system is implemented entirely in software, there are no issues regarding relative priority. The issue is being deferred to the future.

下記の説明は、オペレーティングシステムプログラムに対する単純化されtこ疑 似コードである。The following explanations are simplified and suspicious for operating system programs. Similar code.

main program loop forever [ examine )IRQ update SSRif new job request pending if not empty、 process host requestex amine l0Q update SSRif new job request pending if not ew+pty、 process Ilo request] scheduling 1nterrupt:(11JFsignal。main program loop forever [ exam)IRQ update SSRif new job request pending if not empty, process host requestex amine l0Q update SSRif new job request pending if not ew+pty, process Ilo request] scheduling 1interrupt: (11JFsignal.

[ 5chedule a real time jobif no real t ime job available and 1ess than 2 jo bsschedule a non−real time jobif a n ew job request is on HRQ or IOQ、rese t SSRentry] 従来のデバッキング技術は、高度に並列化された実時間プログラムに対する問題 が提示されている。この技術は、デバッキングを助けるプログラムに命令を典型 的に付は加える。しかしながら、このコードはIPcオペレーションや遅延ブラ ンチングなどの時間クリティカルコードセグメントと干渉するがもじれない。S Eにおいて、制御袋5!IW(7)Debug Interrupt (DI) は、命令をマークするために使用されるが、それに関してそのプログラムは、制 御装置の命令メモリの予約領域に位置したDebug Interrupt H andierに対して中断する。本発明におけるデバッキングのためのこのハー ドウェアサポートは、そのプログラムが追加のコードを挿入することなしに実行 できる中断点ファシリティを提供する。特定ビットがプログラムIWに設定され ているのが発見された場合には、デバッグルーチンが自動的に制御される。デバ ッグルーチンの実行中、ホストワークステーション400を経由してオペレータ は、制御装置、ローカルメモリ変数、及びいずれがのプロセッサのレジスタの状 態を検査できる。デバッグルーチンをイグジットすると同時に、制御がプログラ ムに戻る。割り込みが制御装置IWの単一ビットに基づいて行われているので、 制御装置プログラムにおいて命令実行中はデバッグルーチンを呼び出すことがで きる。[ 5 chedule a real time jobif no real ime job available and 1ess than 2jo bsschedule a non-real time jobif a n ew job request is on HRQ or IOQ, rese t SSR Entry] Traditional debugging techniques have problems for highly parallelized real-time programs. is presented. This technique typifies instructions into a program to help debugging. Add the target. However, this code does not support IPc operations or delayed braking. Interferes with time-critical code segments such as pinching, but does not interfere. S In E, control bag 5! IW (7) Debug Interrupt (DI) is used to mark an instruction, about which the program is Debug Interrupt H located in the reserved area of the instruction memory of the control device Interrupt against andier. This hardware for debugging in the present invention hardware support means that the program runs without inserting any additional code. Provide breakpoint facilities that allow you to: A specific bit is set in the program IW. debugging routines are automatically controlled. Deva During execution of the programming routine, the operator The control unit, local memory variables, and the state of the processor's registers The condition can be inspected. Control is programmed as soon as you exit the debug routine. Return to mu. Since the interrupt is based on a single bit of the controller IW, Debug routines can be called during instruction execution in the controller program. Wear.

また、多量の計算とデータ通信の両方を解決する必要のある大容量データセット を含んでいるその他の多くの問題領域がある。実施例は、天気モデリング、医療 画像、コンピュータビジョン、分子モデリング、VLS Iンミュレーションだ けでなく、ニューラルネットワーク、ボリューム、ビジュアライゼーション、及 び多角形レンダリングを含んでいる。Also, large datasets that require solving both heavy calculations and data communication. There are many other problem areas including: Examples are weather modeling, medical Image, computer vision, molecular modeling, VLS I-imulation. as well as neural networks, volume, visualization, and and polygon rendering.

本明細書に記載したオペレーンヨンの装置と方法により本発明が説明されている ことが理解できる。本発明の精神と範囲を逸脱せずに当業者によって容易に修正 を加えることもできる。The invention is illustrated by the operating apparatus and method described herein. I can understand that. Easily modified by those skilled in the art without departing from the spirit and scope of the invention. You can also add

lンジ′ンブAフック FIGURE4 FIGURE5 FIGURE 8 FIGURE 9 CDABDCA マ・ソチシーケンス ABCD ABDCABAD CCBD ABCD DBCB ・・・FIGU RE 13 FIGURE 16 励スライス(4又ライス/4−ラフ0)FIGURE 17 FIGURE18 ・1νOdatum tn I FIFOwordDataFormat 1( 12bits): M−===コ]尺C・2 Ilo data to l F IFOwordData Format、2 (24bits): M由12  it 12 bits’″3 Ilo data to one FIFOwo rdDataFormat3(32bits): M、 、 コ、”FIGul ’:IE 19 Composle Video 12 bitsRGB (Multiplex ed) 10 bits 10 bus 10 bitsRGB (Dedic alecl Channels) 12 bitsF1GU自己20 Scheme 1: Scheme 2: FIGUI”lε23 [] 10MCチッフ“1:Aず3 ファ〉り謁ンFIGURE 25 ロコ XOMt’jツアl=J&f3フv>7:/3ンY ”y’r−”J−’ 411 フ1ン’)シf’ HGURE26χシ令クン−1〉ス1 4けトシー ケンス2 勅シケンス3FIGURE32 FIGURE 33 フロントページの続き (72)発明者 ビータース、ジョゼフ・エトワード・ジュニア アメリカ合衆国ニューシャーシー州 08816、イースト・ブランズウィック、オースティン・ドライヴ 7 (72)発明者 ティラー、バーバート・ハドソン・ジュニア アメリカ合衆国ニューシャーシー州 08534、ペニントン、テイムバーランド・ロード 5lnji'bu A hook FIGURE4 FIGURE5 FIGURE 8 FIGURE 9 CDABDCA Ma Sochi Sequence ABCD ABDCABAD CCBD ABCD DBCB...FIGU RE 13 FIGURE 16 Excitation slice (4-pronged rice/4-rough 0) FIGURE 17 FIGURE18 ・1νOdatum tn I FIFO word Data Format 1 ( 12 bits): M-===ko] Scale C・2 Ilo data to l F IFOwordData Format, 2 (24bits): Myu 12 it 12 bits’″3 Ilo data to one FIFOwo rdDataFormat3 (32bits): M, , ko, “FIGul ’:IE 19 Composle Video 12 bitsRGB (Multiplex ed) 10 bits 10 bus 10 bitsRGB (Dedic alecl Channels) 12 bitsF1GU self 20 Scheme 1: Scheme 2: FIGUI”lε23 [] 10MC Chiff “1: Azu3 Fa Ri Audience FIGURE 25 Rocco 411 F1n’)shif’ HGURE26χしIREKun-1〉Su1 4ketoshi Kens 2 Imperial Sequence 3 FIGURE 32 FIGURE 33 Continuation of front page (72) Inventor Beaters, Joseph Etward Jr. New Chassis, United States 7 Austin Drive, East Brunswick, 08816 (72) Inventor Tiller, Barbert Hudson Jr. New Chassis, United States 5 Tamburland Road, Pennington 08534

Claims (1)

【特許請求の範囲】 1、Nブロックであって、Nは整数であり、各ブロックは、Mプロセッサであっ て、Mは整数であり、各プロセッサは算術論理演算装置(ALU)、ローカルメ モリ、および入力/出力(1/O)インターフェースを含んでいる該Mプロセッ サ、および Mプロセッサの各々に同一命令のグループを与えるように接続されたコントロー ル手段を含む該Nブロック、および Nブロックのコントロール手段を少なくとも第1および第2ブロックグループに 選択的に結合するためのホスト手段であって、各グループはPブロックを含み、 ここでPはN以下であり、Pブロックを有する各グループに対して、同一のプロ セッサ命令のそれぞれ異なるグループがMのP倍のプロセッサ各々に与えられる 該ホスト手段 を含む並列計算システム。 2、1ブロック内のMプロセッサの各々が、プロセッサ間連絡(IPC)チャン ネルを含み、そのチャンネルによりプロセッサがデータ値をそのブロック内にあ るMプロセッサの他のプロセッサに転送でき、ブロック内のMプロセッサ間の境 界を決めるためにそのブロック内のMプロセッサをプログラミングするための手 段を、各ブロックのコントロール手段が含み、どの1境界内でもプロセッサの各 々がIPCを介してその1境界内のもう一つのプロセッサと通信でき、 Pブロックを有するグループの各々へのデータ通信バスを作るために、プロセッ サを有するNグループのIPCチャンネルを選択的に結合するための手段を、ホ スト手段が含み、 lPCチャンネルが、所定のシーケンス内のブロックの1つにあるMプロセッサ を接続し、 各ブロックのコントロール手段が、それぞれのブロックにあるMプロセッサの各 々のIPCチャンネルを選択的にプログラミングして、a)シーケンスの前のプ ロセッサから受け取ったデータ値をデータ値を受け取ることなくシーケンスの次 のプロセッサに渡し、b)データ値をシーケンス内の1以上のプロセッサに送り 、c)シーケンス内の1つのプロセッサにより、そのシーケンス内の複数のプロ セッサへ送られたデータ値を受け取る ための手段を含んだ請求項1に記載されたシステム。 3、各プロセッサが、 プロセッサ内のローカルデータ条件を示すための手段、および示されたローカル データ条件に基づいたコントロール手段により与えられた命令を条件付で実行す るための手段を含んだ請求項1に記載されたシステム。 4、複数のプロセッサであって、各々がシステムクロック信号のソース、 算術論理演算装置(ALU)、 プロセッサ内のローカルデータ条件を示すための手段、ローカルメモリ、 入力/出力(I/O)インターフェース、およびプロファイリングカウンタがイ ネーブルのとき、システムクロック信号に応答して増加されるカンウタ値を有す るプロファイリングカウウンタを含んだ該複数のプロセッサ、 コントロール命令に応答し、複数のプロセッサの各々に同一のプロセッサ命令の グループを与えるよう結合されたコントロール手段、およびコントロール命令と プロセッサ命令をコントロール手段に与えるためのホスト手段 を含む並列計算システムであって、榎数のプロセッサ内のそれぞれのプロファイ リングカウンタをイネーブルおよびディスエーブルにするのに用いられるフィー ルドを各プロセッサ命令が含んだ該並列計算システム。 5、カウンタがイネーブルのときにのみ増加されるカウント値を有する分離プロ ファイリングカウンタをコントロール手段が含み、コントロール手段のプロファ イリングカウンタを選択的にイネーブルおよびディスエーブルにするフィールド をコントロール命令の各々が含み、そして、コントロール手段が、前記コントロ ール命令の1番目のものに応答し、即値およびコントロール手段に結合したデー タレジスタから得られた値の1つをコントロール手段のプロファイリングカウン タにロードし、且つ前記コントロール命令の2番目のものに応答し、カウント値 をデータレジスタに記録し、プロセッサの各々が、1番自のプロセッサ命令に応 答し、即値およびプロセッサのローカルメモリから得られた値の1つをプロセッ サのプロファイリングカウンタにロードし、且つ2番目のプロセッサ命令に応答 し、カウント値をローカルメモリに記録する前記請求項4に記載のシステム。 6、並列計算システムでの使用に適したプロセッサであって、オペランド値を保 持するためのメモリ手段、オペランド値に算術論理演算を行う算術論理演算装置 (ALU)、第1および第2オペランド値の算術積を発生する、ALUから分離 した乗算器、ALUから分離したマッチユニットであって、メモリ手段からのビ ットパターンとビットシーケンス間のマッチナンバーをカウントし、ビットパタ ーンとビットシーケンスのサブシーケンス間の検出されたマッチナンバーを示す カウント値を発生する該マッチユニット を含んだ該プロセッサ。 7、マッチするビットパターンがビットシーケンスのビット数より小さいビット 数を有し、マッチユニットが、 ビットパターンの可能なマッチ位置の各々を表わすテンプレートのシーケンスと 、ビットシーケンスの対応するビットパターンを記録するための手段、ビットシ ーケンスとシーケンス内の全てのテンプレートを比較するための手段、および ビットシーケンスとテンプレート間のカウントマッチをマッチナンバーとして与 えるための手段を含む請求項6に記載のプロセッサ。 8、乗算器が、ALUへの入力オペランドとして算術積を発生するように結合さ れ、 マッチユニットが乗算器に並列に結合され、ビットパターンが第1オペランドに 含まれ、ビットシーケンスが第2オペランドに含まれ、乗算器により発生された カウント値及びALUにより発生された算術積のうちの1つのみがいかなる所与 の時間にもALUへの入力オペランドとして与えられ、そしてALUが第1サブ フィールドおよび第2サブフィールドを含んだ命令ワードに応答し、第1サブフ ィールドはALUが算術論理演算の1つを行うのに用いられ、第2サブフィール ドは乗算器が算術積を発生し又はマッチャがカウント値を発生するのに用いられ る 請求項6に記載のプロセッサ。 9、第1のアキュムレータ、および第2のアキュムレータを更に含んだ請求項6 に記載のプロセッサであって、 オペランド値に算術論理演算を行うことにより発生された出力値を、第1および 第2アキュムレータ両方に同時に与えるようALUが結合されている該プロセッ サ。 10、プロセッサ命令ワードを与えるための手段、オペランド値の複数アレイを 保持するためのメモリ手段、第1および第2オペランド値に算術論理演算を行う ために、それぞれの第1および第2オペランド値を受け取るよう結合された第1 および第2入力ポートを有する算術論理演算装置(ALU)、 オペランド値の複数アレイの第1のものから個別のオペランドを選択し、ALU の第1入力ポートに与えるために、メモリ手段に結合され、命令ワードの第1フ ィールドに応答する第1アドレス発生手段、オペランド値の複数アレイの第2の ものから個別のオペランドを選択し、ALUの第2入力ポートに与えるために、 メモリ手段に結合され、第1のフィールドとは異なる命令ワードの第2のフィー ルドに応答する第2アドレス発生手段を含んだ並列計算システムの使用に適した プロセッサ。 11、オペランドの各アレイが下位境界アドレスと上位境界アドレスを有し、第 1および第2アドレス発生手段の各々が、発生されたアドレス値が無効なので境 界外信号を発生するかどうかを、下位境界アドレスより小さいか、上位境界アド レスより大きいかで決めるための手段、境界外信号に応答し、無効アドレス値を 所定のアドレス値に変換するための手段であって、この所定のアドレス値はアレ イの上位境界および下位境界内にあり所定のオペランド値をアドレス指定する該 手段含む請求項10に記載のプロセッサ。 12、Pプロセッサであって、Pは並数であり、各プロセッサは、所定の周波数 を有するクロック信号のソース、クロック信号の前記ソースに結合され、クロッ ク信号の1周期の間に少なくとも1つの算術演算ができる算術論理演算装置(A LU)、およびクロック信号に同期してデータ値を取り出し、記録するよう結合 されたローカルメモリを含む該Pプロセッサ、 Pプロセッサの各々に命令を与えるように結合されたコントロール手段、Pプロ セッサ間でデータ値を転送するためにPプロセッサの各々に結合されたプロセッ サ間連絡(IPC)手段であって、Pプロセッサの各々に結合され、データクロ ック信号を転送するための手段を含んだバスであって、このデータクロック信号 によりIPC手段がデータクロック信号の各パルスの間にバス上の前記データ値 の1つを転送する該バスを含んだ該1PC手段、 コントロール手段に反応し、所定の周波数に実質的に等しい第1の周波数でデー タクロック信号を与え、所定の周波数のN倍にほとんど等しい第2の周波数でデ ータクロック信号を与えるための手段であって、Nは1より大きい整数である該 手段を含んだ並列計算システム。 13、Pプロセッサであって、Pは整数であり、各プロセッサは算術論理演算装 置(ALU)、および データ値を保持するためのローカルメモリを含んだ該Pプロセッサ、Pプロセッ サの各々に命令を与えるように結合されたコントロール手段、Pプロセッサ間で データ値を転送するため、所定のシーケンス内のPプロセッサ間で結合されたプ ロセッサ間連絡(IPC)手段であって、Pプロセッサの各々に結合され、Pプ ロセッサの各々にデータ値を転送するための手段を含んだバスであって、同時に 2Nビットを転送することができ、ここでNは整数であり、ローカルメモリに保 持されているデータ値の各々がNビットデータ値である該バス、および コントロール手段に応答し、プロセッサシーケンス間の第1と第2の反対方向の 1つにデータ値をバスが転送するようにし、第1および第2分離Nビットバスと して又は1つの2Nビットバスとしてバスが動作するようにするためのIPC論 理手段を含んだ該1PC手段、 を含んだ並列計算システム。 14、Nブロックであって、Nは整数であり、各ブロックはMプロセッサであっ て、Mは整数であり、各プロセッサはプロセッサ命令に応答し、算術論理演算装 置(ALU)、ローカルメモリ、および入力/出力インターフェースを含んだ該 Mプロセッサ、およびコントロール命令に応答し、ブロック内のMプロセッサの 各々にプロセッサ命令の同一のグループを与えるように結合されたコントロール 手段を含んだ該Nブロック、および コントロール命令とプロセッサ命令をNブロックの各々のコントロール手段に与 えるように結合されたホスト手段であって、各ブロックに与えられたコントロー ル命令およびプロセッサ命令が他の各ブロックに与えられたコントロール命令お よびプロセッサ命令と異なる、該ホスト手段を含む並列計算システム。 15、各ブロックのMプロセッサの各々が、IPC命令に応答し、ブロック内の Mプロセッサ間でデータ値を転送するためのプロセッサ間連絡(IPC)チャン ネルを含み、 プロセッサ内のローカルデータ条件を示すための手段、ローカルデータ条件を示 すための手段に応答するプロセッサ命令を条件付きで実行するための手段、およ び 各1PCチャンネルにIPC命令の個別のグループを与えるために、コントロー ル手段とMプロセッサの各々のIPCチャンネルに結合された手段を含む請求項 14に記載のシステム。 16、Pプロセッサであって、Pは1より大きい整数であり、各プロセッサは、 Nデータ値を保持するためのNメモリ位置を有するメモリ手段であって、Nは1 より大きい整数である該メモリ手段、メモリに結合され、第1の出力コントロー ル信号により決められた順序でメモリ手段のメモリ位置から前記Nデータ値を読 み込むため、および第2出力コントロール信号により決められた瞬間に読み取り データ値を与えるための出力データバツファ手段、 メモリに結合され、第1入力コントロール信号により決められた瞬間にデータ値 を受け取るため、および第2入力コントロール信号により決められたメモリ手段 の前記メモリ位置に受け取ったデータ値を与えるための入力データバッファ手段 、 出力バッファ手段により与えられたデータ値が入力バッファ手段により受け取っ たデータ値となるように、出力バッファ手段と入力バッファ手段を結合するため の手段、および 第1および第2出力コントロール信号と第1および第2入力コントロール信号を 与え、Pプロセッサのそれぞれのメモリ手段に記録されたデータ値を再配列する ためのプログラム可能コントロール手段を含んだ並列計算システム。 17、Pプロセッサの各々が唯一のプロセッサ識別子の値により同定され、各々 のプロセッサのメモリ手段が、オフセット値により示されたメモリ位置に記録さ れたNデータ値の1つへアクセスするためにオフセット値に応答し、プログラム 可能コントロール手段が、Pプロセッサの各々に第1の出力コントロール信号と 第2の入力コントロール信号を与えオフセットを指定するための手段を含み、こ のオフセットはメモリ手段に記録されたNデータ値にアクセスするのに使用され 、第1の出力コントロール信号と第2の入力コントロール信号がそれぞれPおよ びNの異なる機能である請求項16に記載のシステム。 18、Mプロセッサであって、Mは整数であり、各プロセッサが算術論理演算装 置(ALU)、ローカルメモリ、および入力/出力(I/O)インターフェース を含む該Mプロセッサ、 Mプロセッサの各々に同一のプロセッサ命令を与えるように結合されたコントロ ール手段、 コントロール命令をコントロール手段に、プロセッサ命令をMプロセッサに与え るためのコントロール手段に結合されたホスト手段であって、並列計算システム で実行される実時間および非実時間プロセス上の情報を保持するプロセステーブ ルメモリ、 いつ実時間プロセスが並列計算システムで実行されるべきかを決めるためのポー リング手段、 プロセッサを並列計算システムで実行されるプロセスに割り当てるためのリソー スアロケーション手段、 並列計算システムで実行される実時間および非実時間プロセスを待たせるための 待ち行列手段、および同期信号に応答し、プロセスを待ち行列手段から除去し、 割り当てられたプロセッサにその除去されたプロセスを実行させるためのスケジ ューリング手段を含んだ該ホスト手段を含んだ並列計算システム。 19、プロセステーブルメモリが、並列計算システムで実行される実時間プロセ スの各々に対して、予測されたプログラム実行時間と予測されたフレーム時間を 保持し、そして 待ち行列手段にある全てのプロセスの結合されたプログラムの実行時間が合計さ れた新しい実時間プロセスのプログラム実行時間が、待ち行列手段にあるどんな プロセスの最小フレーム時間より少ないときにのみ、リソースアロケーション手 段がプロセッサを新しい実時間プロセスにアロケートする請求項18に記載のシ ステム。 [Claims] 1. N blocks, where N is an integer, and each block is M processors, where M is an integer, and each processor has an arithmetic logic unit (ALU), a local memory the M processor, including memory, and input/output (1/O) interfaces. A controller connected to provide the same group of instructions to each of the M processors and M processors. host means for selectively coupling said N blocks comprising control means and control means of said N blocks into at least first and second block groups, each group comprising P blocks, where P is N blocks; For each group with P blocks, the same A parallel computing system comprising: a host means in which respective different groups of processor instructions are provided to each of M times P processors. 2. Each of the M processors in a block has an interprocessor communication (IPC) channel. channel that allows the processor to place data values within the block. can be transferred to other processors of M processors in a block, and can be transferred to other processors of M processors in a block. A method for programming the M processors within that block to determine the The control means of each block includes a stage, in which each of the processors within any one boundary Each processor can communicate with another processor within its one boundary via the IPC, creating a data communication bus to each of the groups with P blocks. means for selectively combining N groups of IPC channels with means for controlling each of the M processors in the respective block, wherein the PC channel connects the M processors in one of the blocks in the predetermined sequence; selectively programming each IPC channel to a) passing a data value received from a processor to the next processor in the sequence without receiving the data value; b) passing the data value to one or more processors in the sequence; multiple pros 2. The system of claim 1, including means for receiving data values sent to the processor. 3. Each processor conditionally executes instructions given by means for indicating local data conditions within the processor and control means based on the indicated local data conditions. 2. A system as claimed in claim 1, including means for determining. 4. a plurality of processors, each having: a source of a system clock signal; an arithmetic logic unit (ALU); a means for indicating local data conditions within the processor; local memory; and an input/output (I/O) interface; and profiling counters are installed. When enabled, has a counter value that is incremented in response to the system clock signal. a plurality of processors, the plurality of processors comprising a profiling counter; a control means responsive to the control instruction and coupled to provide the same group of processor instructions to each of the plurality of processors; and a control means for providing the control instruction and the processor instruction to the control means. A parallel computing system comprising a host means for each profile in Enoki's processors. Fields used to enable and disable ring counters The parallel computing system wherein each processor instruction includes a field. 5. Separate program with count value that is incremented only when the counter is enabled. The control means includes a filing counter, and the control means has a profile. each of the control instructions includes a field for selectively enabling and disabling a counter, and the control means is configured to control the controller. In response to the first of the command commands, the data associated with the immediate value and the control means are One of the values obtained from the data register is used as the profiling counter of the control means. and in response to the second of said control instructions, records the count value in the data register, and each of the processors responds to its first processor instruction. the immediate value and one of the values obtained from the processor's local memory. 5. The system of claim 4, wherein the system loads a profiling counter of the processor and records the count value in local memory in response to a second processor instruction. 6. A processor suitable for use in parallel computing systems that stores operand values. an arithmetic logic unit (ALU) that performs arithmetic and logic operations on operand values; a multiplier separate from the ALU that generates the arithmetic product of the first and second operand values; and a match unit separate from the ALU. and the bits from the memory means. Count the match numbers between the bit pattern and the bit sequence, and The processor includes a match unit that generates a count value indicative of a detected match number between a subsequence of a sequence of bits and a subsequence of bit sequences. 7. The matching bit pattern has a number of bits smaller than the number of bits of the bit sequence, and the match unit records a sequence of templates representing each possible match position of the bit pattern and the corresponding bit pattern of the bit sequence. The means for A means for comparing a bit sequence and all templates in a sequence, and giving the count match between a bit sequence and a template as a match number. 7. A processor as claimed in claim 6, including means for obtaining. 8. A multiplier is coupled to generate an arithmetic product as an input operand to the ALU. the match unit is coupled in parallel to the multiplier, the bit pattern is included in the first operand, the bit sequence is included in the second operand, and the count value generated by the multiplier and the arithmetic product generated by the ALU are only one of them is presented as an input operand to the ALU at any given time, and the ALU responds to an instruction word containing a first subfield and a second subfield to field is used by the ALU to perform one of the arithmetic and logic operations, and the second subfield The code is used by a multiplier to generate an arithmetic product or a matcher to generate a count value. The processor according to claim 6. 9. The processor according to claim 6, further comprising: a first accumulator; and a second accumulator; The ALU is coupled to feed both simultaneously. sa. 10. means for providing a processor instruction word; memory means for maintaining a plurality of arrays of operand values; an arithmetic logic unit (ALU) having first and second input ports coupled to receive and select a respective operand from a first of the plurality of arrays of operand values for providing to a first input port of the ALU; , coupled to the memory means, the first frame of the instruction word; first address generating means responsive to the first field, coupled to the memory means for selecting a respective operand from a second one of the plurality of arrays of operand values and providing it to a second input port of the ALU; is the second field of a different instruction word. A processor suitable for use in a parallel computing system, comprising second address generating means responsive to a field. 11. Each array of operands has a lower boundary address and an upper boundary address, and each of the first and second address generating means determines that the generated address value is invalid and therefore Specify whether to generate an out-of-bounds signal by specifying whether it is smaller than the lower boundary address or higher boundary address. means for determining whether the address value is greater than the address value, and means for responding to an out-of-bounds signal and converting an invalid address value to a predetermined address value, the predetermined address value being 11. The processor of claim 10, further comprising: means for addressing a predetermined operand value within an upper boundary and a lower boundary of a second operand. 12. P processors, P being a parallel number, each processor coupled to a source of a clock signal having a predetermined frequency; an arithmetic logic unit (ALU) capable of performing at least one arithmetic operation during one period of the clock signal; and a local memory coupled to retrieve and record data values in synchronization with the clock signal; control means coupled to provide instructions to each of the P processors; A processor coupled to each of the P processors for transferring data values between processors. an inter-processor communication (IPC) means coupled to each of the P processors and a bus comprising means for transferring a clock signal, the data clock signal causing the IPC means to transfer one of said data values on the bus during each pulse of the data clock signal; The one PC means is responsive to the control means to generate data at a first frequency substantially equal to a predetermined frequency. a clock signal and output a clock signal at a second frequency approximately equal to N times the predetermined frequency. 1. A parallel computing system comprising means for providing a computer clock signal, N being an integer greater than one. 13, P processors, where P is an integer, and each processor has an arithmetic and logic unit. The P-processor contains the local memory (ALU) and local memory for holding data values. control means coupled to provide instructions to each of the P processors; Inter-processor communication (IPC) means coupled to each of the P-processors; A bus containing means for transferring data values to each of the processors, capable of transferring 2N bits at a time, where N is an integer, stored in local memory. the bus, each of the data values held therein being an N-bit data value, and the bus being responsive to the control means for causing the bus to transfer data values in one of first and second opposite directions between the processor sequences; , first and second separated N-bit buses; IPC logic for allowing the bus to operate as a 2N-bit bus or as one 2N-bit bus 1. A parallel computing system comprising: said one PC means including a processing means. 14, N blocks, where N is an integer, each block having M processors, where M is an integer, each processor responsive to processor instructions and having an arithmetic logic unit; a control means responsive to the control instructions and coupled to provide the same group of processor instructions to each of the M processors in the block; The N blocks containing the N blocks, and the control instruction and the processor instruction are given to the control means of each of the N blocks. a host means coupled so as to control each block; control instructions and processor instructions given to each other block. A parallel computing system comprising said host means different from and processor instructions. 15. Each of the M processors in each block has an interprocessor communication (IPC) channel for responding to IPC instructions and transferring data values between the M processors in the block. a means for indicating local data conditions within a processor; means for conditionally executing processor instructions responsive to the means for and a separate group of IPC commands for each PC channel. 15. The system of claim 14, including means coupled to an IPC channel of each of the M processors. 16. P processors, where P is an integer greater than 1, each processor having: memory means having N memory locations for holding N data values, where N is an integer greater than 1; means, coupled to the memory, a first output controller; reading said N data values from memory locations in the memory means in the order determined by the signal; output data buffer means for inputting and providing read data values at instants determined by a second output control signal; and output data buffer means coupled to the memory for receiving data values at instants determined by a first input control signal. , and input data buffer means for applying the received data value to said memory location of the memory means determined by a second input control signal, wherein the data value provided by the output buffer means is the data value received by the input buffer means. means for coupling the output buffer means and the input buffer means, and providing first and second output control signals and first and second input control signals, stored in respective memory means of the P processor; A parallel computing system that includes programmable control means for reordering data values. 17. Each of the P processors is identified by a unique processor identifier value, and each processor's memory means is recorded at the memory location indicated by the offset value. responsive to the offset value for accessing one of the N data values, programmable control means provides a first output control signal and a second input control signal to each of the P processors to specify the offset; including the means of an offset of P is used to access the N data values stored in the memory means, and the first output control signal and the second input control signal are offset from P and P, respectively. 17. The system of claim 16, wherein: and N different functions. 18, M processors, where M is an integer, and each processor has an arithmetic and logic unit. a controller coupled to provide identical processor instructions to each of the M processors; control means, giving a control instruction to the control means, and giving a processor instruction to the M processor. a host means coupled to a control means for controlling a process table that maintains information on real-time and non-real-time processes executed in a parallel computing system; memory, a port for determining when a real-time process should run on a parallel computing system. resource allocation means for allocating processors to processes running in parallel computing systems. queuing means for queuing real-time and non-real-time processes executing in the parallel computing system; and queuing means responsive to a synchronization signal for removing a process from the queuing means and directing the assigned processor to do so. schedule for executing the specified process A parallel computing system comprising said host means comprising a cursoring means. 19. Process table memory is used to store real-time processes executed in parallel computing systems. For each process, the predicted program execution time and predicted frame time are maintained, and the combined program execution time of all processes in the queue is summed. The resource allocation procedure is executed only when the program execution time of the new real-time process added is less than the minimum frame time of any process in the queue. 19. The system of claim 18, wherein the stage allocates processors to new real-time processes. stem.
JP6505313A 1992-08-05 1993-07-14 Advanced large-scale parallel computer Pending JPH07509795A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US92626592A 1992-08-05 1992-08-05
US926,265 1992-08-05
PCT/US1993/006524 WO1994003852A1 (en) 1992-08-05 1993-07-14 Advanced massively-parallel computer apparatus

Publications (1)

Publication Number Publication Date
JPH07509795A true JPH07509795A (en) 1995-10-26

Family

ID=25452960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6505313A Pending JPH07509795A (en) 1992-08-05 1993-07-14 Advanced large-scale parallel computer

Country Status (4)

Country Link
EP (1) EP0654158A4 (en)
JP (1) JPH07509795A (en)
KR (1) KR100327712B1 (en)
WO (1) WO1994003852A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100422976C (en) * 1998-05-08 2008-10-01 自由度半导体公司 digital communication processor
EP1390856B2 (en) 2001-04-26 2020-07-22 The Boeing Company System and method for preloading a bus controller with command schedule

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344134A (en) * 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
US4382295A (en) * 1981-04-23 1983-05-03 Bell Telephone Laboratories, Incorporated Digital conference time slot interchanger
US4608631A (en) * 1982-09-03 1986-08-26 Sequoia Systems, Inc. Modular computer system
US4837676A (en) * 1984-11-05 1989-06-06 Hughes Aircraft Company MIMD instruction flow computer architecture
US5113523A (en) * 1985-05-06 1992-05-12 Ncube Corporation High performance computer system
US5175865A (en) * 1986-10-28 1992-12-29 Thinking Machines Corporation Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers
US4847877A (en) * 1986-11-28 1989-07-11 International Business Machines Corporation Method and apparatus for detecting a predetermined bit pattern within a serial bit stream
US4893234A (en) * 1987-01-15 1990-01-09 United States Department Of Energy Multi-processor including data flow accelerator module
EP0605401B1 (en) * 1988-09-19 1998-04-22 Fujitsu Limited Parallel computer system using a SIMD method
US4965718A (en) * 1988-09-29 1990-10-23 International Business Machines Corporation Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data
US5121502A (en) * 1989-12-20 1992-06-09 Hewlett-Packard Company System for selectively communicating instructions from memory locations simultaneously or from the same memory locations sequentially to plurality of processing
JP3260357B2 (en) * 1990-01-24 2002-02-25 株式会社日立製作所 Information processing device
IL93239A (en) * 1990-02-01 1993-03-15 Technion Res & Dev Foundation High flow-rate synchronizer/schedular apparatus for multiprocessors
US5053986A (en) * 1990-02-21 1991-10-01 Stardent Computer, Inc. Circuit for preservation of sign information in operations for comparison of the absolute value of operands
CA2043505A1 (en) * 1990-06-06 1991-12-07 Steven K. Heller Massively parallel processor including queue-based message delivery system

Also Published As

Publication number Publication date
KR100327712B1 (en) 2002-09-09
EP0654158A4 (en) 1996-03-27
KR950703177A (en) 1995-08-23
EP0654158A1 (en) 1995-05-24
WO1994003852A1 (en) 1994-02-17

Similar Documents

Publication Publication Date Title
KR100319768B1 (en) Multi-Dimensional Address Generation in Imaging and Graphics Processing Systems
US6173388B1 (en) Directly accessing local memories of array processors for improved real-time corner turning processing
US5867723A (en) Advanced massively parallel computer with a secondary storage device coupled through a secondary storage interface
US6260088B1 (en) Single integrated circuit embodying a risc processor and a digital signal processor
US6275920B1 (en) Mesh connected computed
JP3026984B2 (en) Multiprocessor system
US5239654A (en) Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
US5197140A (en) Sliced addressing multi-processor and method of operation
US5933624A (en) Synchronized MIMD multi-processing system and method inhibiting instruction fetch at other processors while one processor services an interrupt
US5371896A (en) Multi-processor having control over synchronization of processors in mind mode and method of operation
US5872987A (en) Massively parallel computer including auxiliary vector processor
US5226125A (en) Switch matrix having integrated crosspoint logic and method of operation
US5121498A (en) Translator for translating source code for selective unrolling of loops in the source code
US5613146A (en) Reconfigurable SIMD/MIMD processor using switch matrix to allow access to a parameter memory by any of the plurality of processors
US6948050B1 (en) Single integrated circuit embodying a dual heterogenous processors with separate instruction handling hardware
Diede et al. The Titan graphics supercomputer architecture
US5579527A (en) Apparatus for alternately activating a multiplier and a match unit
US20080250227A1 (en) General Purpose Multiprocessor Programming Apparatus And Method
Ronner et al. Architecture and applications of the HiPAR video signal processor
JPH07509795A (en) Advanced large-scale parallel computer
CN116775518A (en) Method and apparatus for efficient access to multidimensional data structures and/or other large data blocks
US20230289242A1 (en) Hardware accelerated synchronization with asynchronous transaction support
Zhang et al. Design and Implementation of Real-Time Processing Systems
CN116775519A (en) Method and apparatus for efficient access to multidimensional data structures and/or other large data blocks
Pinto Many-Core Architectures: Hardware-Software Optimization and Modeling Techniques