国立防災科学技術センター研究速報第9ユ号

1990年3月

681．3．02

NEDIPSのシステムライブラリの開発
諸星敏一

国立防災科学技術センター

De▼e1叩mentof伽6Sys他m

Libm町forNEDIPS

By
T0811ikazll

Dlorohoshi

jMαガo〃α1Rθ8θακんCθ〃〃ノδ71）兆03加7P7θoθ〃〃o〃，∫oカσ〃For

thepurposeofAbst㎜ct
making the mostof

thedataf1ow

computer

NEDIPS，system1ibrary has been deve1oped which can be used in Fortranprogram without dropping the efficiency of NEDIPS．
The hbrary is compose（1of four routines．They are High−speed disk

I／Oroutine，Image1ibr趾y，Mathematic1ibraryandTemp1ate

exectiverOutine．
For the future prob1em of NEDIPS it is indispensab1e to deve1op
high1eve11anguage on the basis of the existing assemb1er1anguage−

Keywordsl

Dataf1ow

computer，System1ibrary，Remoteasensing，Imageprocessing．

キーワード：データフロー計算機，システムライブラリー，リモートセンシング，画像処理

1．はじめにNEDIPSを操作するには，現状ではテンブレートアセンブラと呼ばれる機械言語を使用しなければならないため一般の利用者が手軽に使用することができない．そこでNEDIPSの性能を落とさずにフォートランなどの高級言語で手軽に利用できるようなシステムライブラリを整備・開発した．

このライブラリは，HD，IMLIB，MSLIB，TEXECの4つのルーチンからなっている．HD
はACOSのアセンブラレベルで高速にディスクI／Oを行うルーチン，IMLIBはNEDIPSに接続されている画像表示機能を制御するルーチン，MSLIBはFFTやフィルタリングなど基礎的な数値計算を行うルーチン，TEXECはテンプレートの実行などNEDIPSの持つ基本的な機能を実現するためのルーチンである．

一19一

国立防災科学技術センター研究速報第91号

1990年3月

2．高速ディスク1／0ルーチン（HD）
高速ディスクI／Oルーチンは，ディスクファイル上の画像データの様な多量データを高速に入出力するためのサブルーチンである．

（1〕特徴

HDルーチンの特徴は以下の2点である．

①最大1MB（メガバイト）まで物理I／Oサイズを拡大することによりI／Oの能率を向上させていること．

②

I／Oの完了待ちを独立した機能とすることにより，I／Oと計算の並列性を向上させていること．

（2）機能

HDルーチンは，表1に示すサブルーチンをフォートランプログラム内から，CALL文で呼び出して使用する．サブルーチンの主な機能は，I／Oバッファの初期化，ファイルのオープン・クローズ，レコードの入出力，I／Oの終了待ち合わせ及び終了状態のチェック，I／Oバッファの実メモリ上への固定化及び解放などである．
13〕処理時問

HDを用いて26ユ120W（ワード）の大きさのレコードの読み書きを50回繰り返しテストを行った結果1分3，762秒の処理時問であった、これを秒単位の転送バイト数に換算するとユ．638MB／Sとなる．

また一般的なフォートランのREAD／WRITE文を用いて4096Wの大きさのレコードの読み書きを1260回繰り返しテストを行った結果1分21116秒の処理時間であった．これをHDの時と同様に秒単位の転送バイト数に換算すると0，332MB／Sとなる．

以上のテストの結果HDルーチンを用いたI／Oは一般的なフォートランのREAD／WRI−
TEを用いたI／Oの約4．9倍の処理速度があることになる．

表1
Table1

HDルーチンのサブルーチンー覧表
TableofsubroutinesinHD

routine

機能概要

サプルーチン名■㎜INIT

I■Oバッファの初期化

HDOPEN，l1D㎝〕Sファイルのオープン，クローズ
レコードの入出力

llDPUT，㎜GETHOCH㎝m舳IT

llDPFIX，HDPFRE

I／O終了状態のチェック
I／O終了の待ち合わせ
I／○バッファの実メモリ上への固定化及ぴ解放一20一

一NEDIPSのシステムライブラリの開発一諸星

3．画像表示ライプラリ（lMLlB）（1）ハードウェァ環境

図1にNEDIPSの画像表示部のハードウェア構成図を示す．画像表示部は，画像メモリ（Aメモリ及びBメモリ），表示制御回路，CRT及びコントロールボックスから構成される．Aメモリは1024＊1024＊8ビット＊4画面の大きさを持ち，主に画像データの表示に用いる．またBメモリは1080＊1024＊4ビット＊1画面の大きさを持ちグラフィック及びキャラクタの表示に用いる．コントロールボックスはトラックボールとCRTの表示機能を指定するためのスイッチで構成される．

表示機能は，Aメモリ，Bメモリ，MARKERの各表示，Aメモリの各チャンネルの色指定，MARKERの色指定，ズーム倍率の指定などである．またトラックボールの位置入力などに有効なトリガースイッチがある．

12）画像表示ライブラリの機能

本ライブラリは，フォートランのCALL文により使用できる．表2にサブルーチンの一覧表を示す．

主な機能としては，画像表示回路の初期化，Aメモリと配列問の転送，Bメモリと配列問の転送，ベクトルの表示，キャラクタの表示，表示モードの選択，バンドの選択，ルッ「□一I

Aメモリ（AM）／■ll

モl l Bメモリ
1 lr（BM）

リl1；l lバ1≡「「1 l； l lス！ 1 i一111

図1Fig．1

表示帝胸■回路；

−l

■ll
l

CRT

コントロール

ポツクス1

NEDIPSの画像表示部のハードウェア構成図
Hardwareconfiguration

of

一21一

image

disp1ay

contro1ler

国立防災科学技術センター研究速報

第91号

1990年3月

表2 IMLIBのサブルーチンー覧表

Table2

TabIeofsubroutines

in

IMLIB

「

サブルーチン名

DIMTIMPUT，㎜GET

G冊uT，㎝G㎜

αlAR㎜PuT，㎜G㎜

B㎜PuT，BNDGETLuTPUT，LUTGl≡：T

ZMPuT，ZMGETCSON，CSO町

CSMO冊，CSGET
TRIG

機能概要

画像表示回路の初期化
Aメモリと酉例間でイメージデータを転送
Bメモリと配列間でグラフィックデータを転送
Bメモリに文字列を書く
表示モードの設定及ぴ読みだし
バンドの設定及び読みだし
ルックアップテーブルの設定及ぴ読みだし
表示倍率の設定及び読みだし
カーソルの表示及び消去
カーソル移動及び位置読みだし
トリガーポタンの読みだし

クアップテーブルの設定，ズーミング倍率の指定，カーソルの使用法及びトリガーボタンの使用法などがある．

4．マスライブラリ （MSLlB）

MSLIBは，NEDIPSを用いて，大量データの数学的演算処理を高速に行うためのサブルーチンライブラリである．

MSLIBは，実数の加減乗除算，整数の加減乗算などの基礎的演算から，マトリクスの乗算，複素数の加減乗算，パワー変換等の応用的演算を行う機能を有している．また，FFT，空問フィルタリング及びアフィン変換のプログラムも作成され実用化されている．

これらのライブラリを使用することにより，NEDIPSのテンプレートアセンブラを意識せず，高速演算処理プログラムの開発が容易に可能となる1表3にサブルーチンの一覧表を示
す．

5．テンプレートエグゼクティプ（TEXEC）

TEXECは，NEDIPSの持っ機能を実現するためのサブルーチンライブラリであり，テンプレートアセンブラで作成したテンプレートを実行するには，必要不可欠なものである．

TEXECは，12個のコマンドと2個のファンクション（FMSTMP，FTMPMS）から成り，

一22一

NEDIPSのシステムライブラリの開発一諸星

表3 MSLIBのサブルーチンー覧表

Table3「Tab1eofsubroutines

inMSLIB

機能概要

サプルーチン名
VA㎜，VSuB，WUL，VDIV

ベクトル列の加減乗除算

CA㎜，CSUB，㎝uL

複素数列の加減乗算
複素数列パワー変換
マトリクス乗算
整数列の加滅乗算
実数列平方根実数列及び整数列の比較演算
整数列の最大値
フーリェ変換アフィン変換空間フィルタリング

P0冊R
舳皿
I〈㎜，ISUB，IMULVSQRTV㎝P，ICMPI舳X㎜〈FNFLT

ホストコンピュータ上のフォートランで作成されるプログラム中でCALLすることにより実行する．表4にサブルーチンの一覧表を示す．

主な機能としては，NEDIPS及びコントロールユニット（CU）の初期化，ルックアップパ
ラメータ（LUP）テーブルのセット，NEDIPS上で演算させるデータをメモリユニット（MU）にセット，テンプレートのオブジェクトファイルのNEDIPS上への転送，テンプレートの起表4 TEXECのサブルーチンー覧表

Table4Tab1eofsubroutines

1in

TEXEC

機能概要

サフルーチン名

TWAIT

テンプレートのロード及ぴ起動
テンプレートの実行終了待ち

TL㎜UN

TL0＾D，TRUNと丁舳ITを組み合わせた機能

TST㎜

テンプレートのステータステーブルの読みだし

TL0＾D，TRUN

NUCNT，MUMON

LUPの設定及び読みだし

MUGET，WPuT

MUのデータの設定及び読みだし

TMGET，TMPUT

テープルメモリの設定及び読みだし

TEXCLR

CU及びNED I PSの初期化
ACOSの実数をNED I PSの実数に変換
NED I PSの実数をACOSの実数に変換

FHSWP
町MPMS

一23一

国立防災科学技術センター研究速報

第91号

1990年3月

動、テンプレートの実行終了待ち，NEDIPSで演算した結果のMUからのREADなどである．
最後にNEDIPSシステムによるソフトウェアの構成を図2に示す．これによれば，MSLIB及びIMLIBは，アプリケーションソフトウェアに含まれ基本ソフトウェアTEXECによりN−EDIPSの稼動が可能となる．またTEXECは，フォートランなどのメインプログラムから，NEDIPSにアクセスするための基本ソフトウェアで，データをメモリにセットしたり，テンプレートの起動を行うものである．

Fortranによる処理ブログラム

アプリケーションソフトウエア

マスライプラリ
画像麦示ライプラリ

NED工PS基本ソフトウエア

τE

NED
メモリユニット■ー一
1

M

U

図2
Fig，2r

I

X

EC

PS
データフロープロセッサ
テンプレートによる漬算処理

NEDIPSのソフトウェア構成図
Softwareconfiguration

ofNEDIPS

6．おわりにNEDIPSは，大容量のデータを高速に処理する必要があるリモートセンシング画像処理及び数値シミュレーションの研究を行うために導入された．しかしNEDIPSはテンプレートア
センブラと呼ばれる機械言語によりプログラミングを行なわなければならないため利用者が手軽にアプリケーションソフトウェアを開発するのが難しい．そこでリモートセンシング画

像処理及び数値シミュレーションを行う上で重要な，画像処理機能，数値計算，データ転送機能，ディスク入出力にっいて，上述のようにフォートランのサブルーチンライブラリを整備・開発した．

これらのライブラリはすべて，適当な引数とともにフォートランのCALL文で呼ぶことにより使用できるように設計されており，フォートランなどの高級言語によるアプリケーションの開発に有効となっている．また各ライブラリはNEDIPSの機能を落とさずに実行できる

一24一

NEDIPSのシステムライブラリの開発一諸星ように設計されており，サブルーチン使用による処理時問の冗長をさけている．さらに各ライブラリにはエラー検出機能が付加されており，エラーの検出及びエラー処理が容易に行えるようになっている．

今回整備・開発したシステムライブラリによりデータフロー型プロセッサーNEDIPSをリモートセンシング画像処理，数値シミュレーションなどの分野に有効利用できるようになった．しかしNEDIPS独自の高級言語はまだ開発されておらず，今後はNEDIPSの性能をおとさずに実行可能な高級言語を開発する必要がある．
（1990年2月2日原稿受理）

一25一