電子計算機実習用ソフトウェアシ■テムの開発
一 1. ln core FORTRAN 一
岸 本 俊 祐*
(昭和49年9月30日受理)
New softwear systems for computer practice 工. In core FORTRAN一
Shunsuke KlsHIMoTO
(Received Seqtember 30, 1974)
A new compile & go system (#SYSTEM−22) was developed for processing the FORTRAN jobs in the computer practice by NEAC−3200/30 (16KW system).
in this new system, the user s run−program is generated into the user s area by the compiler and the loader directly.
It save much trouble and the core memory to deal with the object prograrns. Therefore, it is possible to process the FORTRAN source prograrn which is consisted of a few hundred steps.
1 緒 言
小型電子計算機を,プログラミング実習等の言語教育用 として利用するためには,コンパイラ言語を処理するコア 常駐のソフ5ウェアシステムが備わっていることが望まし い。しかし本校において,小型電子計算機により実習が開 始された当初は常駐のソフトウェアがなく,コンパイラ,
m一ダ等のシステムモジュールを紙テープからコアにローー ドしてはジョブステップを進めていくという手間と時間が かかる方法で処理がなされていた。そのため,実習初期の 初歩的で小容量のプログラムでさえ,1時間当り数ジョブ 処理できれば上等であった。そこで,実習時におけるオペ
レータの手作業を軽減し,処理効率をあげるため,コア常 駐のFORTRAN処理システムが開発され,過去2年間に わたり改良が加えられてきた。その間,試作システムの段 階から実習で積極的に使用され,十分な実績をあげた。1・2)
しかし,利用頻度が増加し,利用形態も多様化するにつれ 最終システムにも,2〜3の弱点があることがわかり,十 分なシステムとはいえなくなった。そこで今回は,ソース プログラムのコンパイル毅階で,コンパイルと同時にラン プログラムを作るという新しい方法を試み,弱点をすべて
除くことに成功した。その結果,実用上満足できるシステ ムを成功させることができたので報告する。
*応用物理
2 新システムの仕様
実習時における多量のジョブを効率よくさばかねばなら ないので,バッチ処理向きシステムとした。したがって.
複雑な操作の必要な1/0機器を除き,新システムで使用 するハードの構成を,NEAC−3200/30(16KW).コンソ_
ルタイプライタ(1/OTYPと略記),高速紙テープ読取 装置(PTRと略記)と決めた。一連の実習システム1,2)と の関連から今回のシステムに対し#SYSTEM−22と名付 け,FORTRAN処理能力はJIS−5000レベル,ユーザーズ エリアは3KW程度で, compile & goとすることを目標と
した。
同じcompile&goで既に実用されている.#SYSTEM−
21では,ユーザーズ手リアの一部をさいて設けたファイル 領域にオブジェクトを格納しておき,コンパイル終了後ロ ーダによりリンクロードを行なってランプログラムを作っ ていた。2)すなわち,コンパイラ,ローダはシーケンシャ ルに糊御が渡りしかも独立に働いていた。しかし今回は,コ
ンパイラのオブジェクト出力ルーチンでローダを制御し,
コンパイルと同時に直接ランプログラムを作ってゆく方 式,つまり,コンパイラとn一ダに並列処理を行なわせる
津山高専紀要 第12号(1974)
ことにした。
基本システムで蓄積されたユーザーライ.ブラリ等も扱え るよう基本システムと互換性を持たせるため,コンパイラ,
ローダ,ライブラリ等のシステムプログラムはNEAC−3200 基本ソフトウェア3)(以下基本システムと略記)のもの に部分的改良を加えてそっくり利用することにした。しか し,基本システムの各モジュールはそれぞれが独立してラ ンニングできるように設計されており,特にコンパイラは コアメモリで占有するロケーションも決っている。したが って,これらのモジュールを同時にコア上に存在させ,お 互に関係を保ちながらランニングさせるためには,コント m・一一ルモニタで各モジ=、.一ルを本来占めるべきロケーショ ンに移した上で,パラメータをセットし,制御を渡さねば ならない。そこ.で,今回のシステムには下記3つのモード を設定し,おのおののモードで働く各システムモジュール の仕様を次のように決めた。
2.1 シスデムのモード
i.コンパイル&ロードモード($Cモード):上記コ ンパイラとそれに制御されtc m一ダに制御が渡ってい るモード。ソースプログラムのコンパイルと同時に,
FORTRANライブラリ等とリンクをとりながらランフ。
nグラムをユーザーズエリアに作り出す。
ii. n一ドモード($Rモード):ローダのみに制御が 渡っているモードで,iでリンクが完了しなかった場 合,すなわち,ユーザーズプログラムが常駐ライブラ リにないユーザーライブラリ等をコールしている場 合,これらのライブラリが含まれているオブジェクト テープをPTRから読み込み,ひき続きリンクロード を行なう。
iii.実行モード($Xモード):ユーザーズプPグラム の実行を行なう。
2.2 コンパイラ関係
コンパイル時におけるソースプログラム入力はpTR,
コンパイルリスト出力は1/OTYPとする。ソースプロ グラムを一行分コンパイルし,そのオブジェクトをローダ 内のバッファに出力,n一ダのパラメータをセットして強 制m・・一ド4)を行なわせる。コンパイルエラーインデックス
(IE)を設けて,エラーがある場合はそれをセットし,オ ブジェクトの出力およびm一ダの制御をやめる。また,ソ ースプログラムのターミネータ5)は $0 ,tt$* 両方が 使用可能にする。センススイッチMlのON/OFFでリス
トコンパイル,ノーリストコンパイルを選択することにす
る。
2.3 ローダ関係
コンパイラから強制ロードの指令をもらったら,まずシ ステムをリンクロード状態に切り換える。次のバッファ内 のオブジェクトをユ・一N一ザーズエリアにラン形式で展開し,
同時に常駐ライブラリとのリンクをとる。オブジェクトの ブロックが最終ブロックでない場合は,コントロールモニ・
タを経由,システムをコンパイルモードにセットしてコン パイラに制御を帰す。最終ブロックをロードしても,リン クできてないサブプmグラム名がある場合はオブジェクト 入力をPTRに切り換えて,外部ライブラリのオブジェク
トテープが読めるようにする。リンクロードが完了した場 合はコントm一ルモニタに制御をもどす。最終ブロックか どうかを示すインデックス,リンクが完了したかどうかを 示すインデックスとしてそれぞれIB, ILを設けておく。
2.4 FORTRANライブラリ
FORTRANで使用される基本関数はすべてコアに常駐さ せることが望ましいが,それだけユーザーズエリアが圧迫 される。そこで数百例の実習ジョブについて調べてみて,
コールされる頻度の多いもののうちSQRT, SIN/COS,
ATAN/ATAN 2, ALOG/ALOGI O. EXP, ABS/IABS.
AMOD/MOD, AINT/INT, FLOAT/IFIXおよびこれらの ルーチンがコールする下位の実数演算ルーチン等をコア常 駐とする。
他の標準関数TANH, SIGN/ISIGN, DIM/IDIM, AMAX l/AMAXO, MAXI/MAXO. AMINI/AMINO, MINI/MINO,
ISHF, URNDは外部ライブラリとしてオブジェクトテープ で用意しておく。ただし,ISHF, URNDはおのおのビット
シフト関数,一様乱数発生関数で,このシステム独自のラ イブラリである。
2.5 1/0ライブラリ
ユーザーズプログラム実行時はPTR入力,1/O TYP出 力を標準として常駐にする。なお工/0機器の門番は,教科 書等で最も多く使用されている入力5,出力6を使用する が,基本システムとの互換性も考えて下記のように決めた。
入力: 1/OTYP…・一一 1
PTR ・……・…・ 5又は2
出力:1/OTYP…・一…・6又は1
PTP ・一・・一・・・・… 2
1/OTYPからのキーボード入力, PTPへの出力は使用 される回数が少ないので,オブジェクトテープを用意して
おく。
2.6 コントロールモニタ
今回のシステムではコンパイラおよびローダにシステム
制御機能のかなりの部分を持たせねばならない。したがっ て,コントm一ルモニタ本体は比較的簡単で次の機能を持 てばよい。
i・システムパラメータの初期値をセットする。初期化 の必要なパラメータは,システムのモードインデック ス(IM),コンパイルエラーインデックス(IE),ユ ーザーズプログラムのロード開始番地,間接アドレス テーブル6)の始点,コモンエリアの始点,シンボルテ
START
1
一ブルの始点,1/OTYPのページカウンタ,実行開始 番地等である。
ii・処理の進度にしたがってシステムのモードを切り換 える。そしてその状態をメッセージとして出力する。
iii・ジョブステップに応じて必要なシステムプログラム に制御を渡す。
iv.連続処理を中断して,強制的に所定のモードにセッ トする。
以上#SYSTEM−22のシステムフローチャートをFig.1 に示す。このシステムには終了がなく,一度起動されれば オペレータストップまでくりかえし処理が進んでゆく。
INTI
1M : O.〉;i
2
MCHG
iM ・e−O
MCHG
COMPiLER
INPUT
1E:Q キ
OBJ
IM et
3) (2
IL:0 キ
LOADER
lB二〇
PTR $x
3 システムジェネレーション(SG)
$R
PAUSE
3
PAUSE
USER S P
$c
PAUSE
l
Fig.1 The flow chart of #SYSTEM−22.
INTI :Initial routine MCHG : Mode change routine
コンパイラ,ローダ,ライブラリ等のシステムプログラ ムは基本システムのモジュールに部分的改良を加えて利用 することにしたが,これらはもちろんオブジェクトレベル のものしか提供されておらず,内容変更はコアイメージで しか扱うことができない。すなわち,これらのプログラム をコアにm一ドしラン形式にした上で,マニュアルオペレ ーションによりコンソールパネルから直接メモリ内容変更 するか,アブソリュート形式4)でアセンブルした変:更用プ ログラムを変更カ所にオーバーレイしてn・一一ドするかの2 通りの方法しかない。いずれの場合もロケーション,メモ
リ範囲が決まっていて自由度がなく変更は困難であるが,
後者の方法は手作業の部分が少ないので,この方法を用い ることにした。
今回のシステムではコンパイラとローダが並行して働く ため,.コンパイラとユーザーズランプログラム(ライブラ
リも含めて)の間接アドレステーブルがコンパイル&ロー ド申完全に保存されねばならない。このため,システムの SGにあたっては,ジョブの進行によって乱されないエリ アを設けて,そこへ間接アドレステーブルを交互に待避さ せ得るよう配慮しておく必要がある。システムのモードチ ェンジでメモリ内容の移動が少なくてすむよう,各システ ムモジュールの配置をFig.2のように決めた。
まず8K以降のメモリ領域(Fig. 2で200008番地以降)
を作業用にしてコンパイラ部のSGを行ない,間援アドレ ステーブルを待避エリアに逃がした形でSLST(セルフn 一ディングシステムテープ)3)にしておく。次にコンパイ ラ部が占めていたエリアを作業用として,8K以降のエリ アで常駐ライブラリ及びu一ダのSGを行なう。これには 2.4で示したライブラリ名をダミールーチンでコールし,
最高のロケーションにロードされたローダで所定のエリア にロードし常駐ライブラリを作る。最後にコントロールモ ニタ及びn一ダ変更用ルーチンをロードし,先にSLSTに
津山高専紀要 第12号(1974)
0 630
15064 15550 16000
1 7777
I A
COMP
R A
bOMP−1/0
W A■
20000
26770
34640
37624 37777
LIB
UA
LDR
Fig.2 The memory map of #SYSTEM−22.
m
: lndirect address table area
COMP: FORTRAN Compiler
WA踏
LIB
UALDR cp
: Retreat of the indirect address table
: Compiler working area
: FORTRAN & 1/O Library
: User s area
; Object Loader
:Control皿onitor
The side figures are described in the octal notation.
したコンパイラ部を再ロードすれば,コア中に$Cモード のシステムが完成する。これをPLA−P2)ルーチンで一巻 のSLSTにしておく。 S Gの結果,各システムモジュール の占有メモリは,コンパイラ本体6.3KW,コンパイラ入 力カルーチン0,15KW,ライブラリ部3.6KW,ローダ 1.5KW,コントn一ルモニタO.1KW,間接アドレス0.4 KW,ワー一一キングエリア1KW,ユーザーズエリア3K:W となった。
4 使用方法・結 果
今年度5月中旬に試作システム,下旬に実用システムの 1号が開発されて以来,6月に入ってから実習で積極的に 利用され始めた。最近の1カ月間(7月)の利用状況をみ
ると,本校の小型システム(モデル30システム)でさばか れた343のジョブの70%余り245のジョブが#SYSTEM−22 でさばかれている。残りはほぼアセンブラジョブなので,
FORTRANジョブにはほとんどこのシステムが利用されて いるとみてよい。この期間にモデル50システムで処理され たジョブ数は1035件であり,モデル30システムで処理さ れたものと合計すると1396件,そのうち約18%を#SYS−
TEM−22が受け持っていることになる。
SYSTEMlPL
@ LOAD #SYSTEM−22
2 DATE
SYSTEM#22
@ START START lSSAGE
3 SOURCE P.
零‡22
COMPILE
@ & LOAD COMPILE
@ LlST
4
#22 DATA
EXECUTE
R∈SULT
Fig.3 The process flow of #SYSTEM−22.
Fig・3にこのシステムのプnセス・フm一示す。まず,
システムをコアにロードすると(第1ステップ),ロード終 了時に,日付けを入力するようメッle・一一ジが出力される。
日付けをコンソールから入力すると,スタートメッセージ が出力され,$Cモードとなり一時停止する(第2ステッ プ)。ここでソースプログラムのコンパイルを行なう(第
3ステップ)。コンパイルが終了すると$Xモードとなり 一時停止,続いてユーザーズプログラムの実行を行なう
(第4ステップ)。次のソースプmグラムの処理は第3ス テップ目からで,3〜4ステップがくりかえされることに なる。この手順で実際にソースプログラムを処理した結果 をFig.4に示す。これらの例題は実習に用いられたものの 申から適当に選んだものである。最初の例は連立一次方程 式を掃出し法で解く問題で,adjastable formatを使用し,
掃出しの過程も合わせ,出力させるよう指示したものであ る。$*はソースプmグラムのターミネータである。$X に続いて出力されている数字はユーザーのランプログラム
が占有したコアメモリ数を8進で示したものである。
場合は4442(8進)すなわち,
TYPE 工N:
74!06!聖O 幽す寧
YY/MM/DD
この 2338Wのコアメモリを使用
SYSτE醒一22 MA閣U良し OPεしAT:ON 寧毒奪 UOB STEP
CeMP a LOAD(LIST)
CeMP a LOADCNO LIST)
EXEeVTE
$c
t$YSTEM−22 FOHTRAN
c 寧孝零
500
5C)1
i
23
4
pc.
2e T2120
ssw:
OFFON
DATE t97nXO6/le GAUSS−JeRDAN *#
D:MENS工eN A(30,3卍),IFOPN1(35),:FOR卜!2(35)
READC5.5rJe) N FeRMAT(12)
Nt=Nウ1 K富o
nEAD(5.5el) IFORMI FORMAT(35A2}
REACC5.SOt) !FORM2
READ(5.IFORMI} ((A(1.J).J=1.Nl).1=±.N)
WRITE(6.IFePM2) H.C{ACI.J).J=t.Ni).1=1.N)
DO 7 K=歪3N MAX昌K De s rtK.N
IF(ABSCA(!.K)).GT.ABScA(MAX.X))〉 MA)C=I IECNAX.Eg.K) GO Te 3
De 2 JtK.Nl v昌A〔K,」》
A(K.J)4ACMAXJJ)
A(MAX.J)=V A}{K=ACK.K]
DO 4 J=X.Nl ACK.J)=A(K.J)/AKK DO 6 1冨夏,N rF(r.Ee.K) GO TO 6 AJK=A .K)
DO S J=K.Nl
A(1,」)昌直(1,J)一A=K寧A(K,」)
ceNT工NUE
VRITE(6.IFeRM2) K. ccA(1.J).J=1.Nl).r#1.N)
VRrTEC6.6eO) {!.ACIJNI)jl±bN)
FORMATCIHOI H ,2HX{.12.2H)=.IPEI3.S))
STOPEND
tSYSTEM−22 FORTRAN DATE i97ale6Xle
567
60e
sl eSX Olt442
0 2.eeoee
−1陰ooooe 4.oeeoe s.eoeoo
t
1.aeeoe
−e.eouerJ o.eeeee e.oeeeo 2 レOOOOO
−e.eoeoe o.eeoee o.eeoee
3・
1.eeeoe
−e.oeeee e.oeeoe e−oooeo
自
t.oooee
−e・oeeee e.eeeoo e.oeeee x( D冨 X( 2)露 x(3》童 xc 4)冨 sTep
3.r)oeeo t.oeeea 2.oeoee 2.eaeeo 1.eeeoe 一3.eeeos 4.DりOO臼 一4.OOOOO
曾or80000 孟.20000 4.2eooe n.6eeee
一e.seoeo s.2eeof)
o.2eeeo ?.60eea
一〇.ooeoo 一e.34T83 且oOOOOO O.56522 e幽00000 胃2●17391 0.eoooo o.s2n4
一e.eoeeo 一〇.ooeoo l.eooeo o.oeooo e.oeooo 1.ooeoe e.eeoeo e.ooooo
一e.oooee 一〇.eeeee t.oeoeo e.eoooe u.oeeoe 1.eeeee o.eeeeo o.ouoeo
2.eeoeaE eo
−1.oeooeE oe 3.oeooeE oo i.ooeooE oe
一3.rJeeee a.eeeee s.ooeoo l.rJeeee
o.20eee q.20eoe 4.2eeee
−3.40eoe
一〇.3913e
−O.73913 7.3043S 5.eS696
冒量r56000 1.16eoo 曹3936000 6.saoee
一e.eooets e.ooeoe
−e.eeeoe 1.00000
竃.00000 6.of)oee 3.ooeee 3曾OOOOO
o.6eoae 6.60eoe e.6eeee 冒。.2000e
O.56522 冒。.0434s e.7S261 6.6521T
e.440eo O.且6000 幽O.36000 6.s4eeo
2.eeeee 一塵goooeo 3.eoeoo 1.oeeee
CijMONTE C乱RO NO●2 S工Zε四 HO−5{AΣ申奪 IN了E6ER?,R工RDN,L(5監》
DATA KK.T. INTe.RAIaDA.L )10. e. 5. e.eS. IHII READC5.5eO) NO
see Fon)sAT(rq)
DO 3 LL=2.Si 3 L(LL)=IH一
曽R夏TE【6,600) T,NO,τ」燭0,(L(LL〕,LL言且,5L)
6ee EORMAT(iHO.4HTIMEJ 2X. IHNJ3X. IHM.2X.5HRtRON/
llHe.13.15.14.16.2X.51Al)
N=四〇 INT=tNTO DO 2 T=1.50 M=e DD 1 1=1.N K=UR肘D(【NT)零IOO,
κK轟KKウ1
1FくKK冒し三,BOO◎) GO TO l.
KK=e INTO=INTe+2 1四τ置ΣNTO
■ IFK,GE・15巳創ND.K,L.ε●19》 M昌PIやi N=N幽M
R工RONロFLOAT(NO)零EXP(一FLOAT(T》喰RハMDA,
DO 4 LL=2.51 4 L(LL)昌1罧 LN=四!Iooウ且 DO 5 LLt2.LN S LtLL)=IHt
2 VRITE(S.601) T.N.M.HIRON.{LCLL).LLThSl)
6el EOnMAT(IH . r3.15.14. r6.eXj5)Al)
5TOP END s* eVRND Oe344#
SR sx ees66 T二門E N M RIRON
STOP
soeo e seee a733 267 h7s6 4517 216 4524 q312 205 43e3 4067 24S ltO93 3S6S 199 3S94 3657 2ユ監 3704 3475 182 3523 3324 t51 33Sl SIS9 165 31gS 2985 174 3e32 2SIO 175 28SA 2685 125 2744 255S 127 2610 2428 13e 2482 23e2 126 2361 2202 10e 2246 2ege 112 2137 1997 93 Ee32
!867 監且O L933
LTg5 92 IS39 1Ti6 79 17a9
塞633 6」 藍664 茎536 97 158ユ 且455 9崖 1505
13TS 77 1432
且3且7 6聖 1362
1259 SS 1296 i19T 62 1232 t139 5e 1172 1061 7S 111S leO9 S2 ie61 9S2 57 ]eO9 91L 4艮 960
SsS 53 g13 S2e 38 86S 7Tl 49 B26 735 36 786
704 3呈 74?
675 29 ツ11
641 34 676 ee4 37 643 S7S 26 612 549 29 5S2
531 L8 55幽
501 3e 52T 473 26 SO:
a4S 2e 476 423 22 453 ael 22 43i
380 2且 410
1一一冒−響冒一早檜,r冒r,, r,一騨冒一曹曹一一一一一一冒一冒一曹曹一曹一一一一冒一曹ロ冒一一r 1山山寧掌喰事寧傘寧寧家寧率*孝零**宰零ネ寧傘喉**卓幸事串事寧車率寧寧*率寧索亭率家噛寧串寧
:傘寧虚血歳事西山零寧寧寧率串串寧寧寧宰宰寧零寧率車串串寧寧率寧率寧窄噛準率零*零率亀事率掌
【山車血色山事寧寧寧寧‡零率寧寧串寧零率寧零零車傘車串取零零零噛宰零寧●率噛寧寧寧寧辱串 1掌窄寧ホ虚血廓虚血**寧窄*窒寧寧零寧寧寧聯掌卓寧ネ零ホホ窒喉寮*寧寧掌寧車傘喰 1直直自虐白血串白血寧零零*寧寧零率寧寧寧串寧*串寧亭宰寧串寧.寧寧零事寧準寧窄 工事幽幽康一白幽幽幽幽癖率率*零*零孝事率寧*零寧零率寧串串寧零寧率車寧傘 1寧歯車虚心改血寧率由串掌寧串掌導廓翠皐寧*購申幸禦象寧廓掌掌掌取寧寧 1喰藍色寧重出*山事寧零*寧寧喰率吻率寧零寧零寧零零*率率零零率零寧 1血色歯車血止*亭虚血率寧寧寧寧宰寧寧ゆ*噸串唯串寧廓串廓虞寧電
【白歯寧串白白**ホ寧幽幽寧寧零率車寧ホ寧事掌零*寧寧寧率寧 1寧歳寧虚血寧虚血血色串歯止寧寧廓寧事*零寧承串寧寧寧嘱率 1*寧申零寧寧ホ零率直寧一家率寧率寧*零‡寧寧寧寧零率 1零歳準準止血白血白血ゆ血止廓寧寧窟事零ホ亀電*掌寧 1喫喰止血電白血率由申事率直率直寧‡寧寧*寧寧串事 1率歳歳寧率直重畳虚血傘傘寧零寧寧車寧幽事事廓寧 二重寧率串寧寧*率*血止直直血止止血寧率率車零
:率直寧零零止血止血*喀血古事掌ネ享廓零事
:取虚血取止血止寧寧虚血*寧*直直重重車 工串白血古事幽幽亭寧白血率串率由白白
:止血*止血幽幽直直止血止血止血串率
:直直点出■■***寧車山自白止血噛 1立山虚血虫喰虚血止血寧亭白血*寧
【ホ率単寧窒傘血止寧*虚血寧掌寧
【ホ喰喰歯止*白山曲直串奪一白
=血止車寧串率牢一白專止血宰
:一曲止血富忠*寧率事由率寧 Σ血止寧白血ホ自己亭寧廓壌 1一色血止寧**寧止血車
:串地白幽趣宰*零*‡#
【*躍率*止血ヰ窟寧寧 1幽幽串零寧止血寧率 工寧血止白油奉亭一壷 1止血寧*寧***零
【山止寧幽幽山山*
:率幽幽寧幽幽地盛 z自治*出歯酒池 エホ寧*事零亭寧 1零寧寧寧寧零零 1ホ寧串零寧黙 1串寧寧零率宰 1寧寧寧寧車奪 1串寧寧寧寧 工寧串曜寧零 1牢零零串牢 1寧寧寧寧寧 三寧零事庸
【寧寧丁寧
【章零串申 1寧掌*事 工寧取曜
sc $c
Fig.4 Examples of the output results by # SYSTEM−22.
(a) A program for solving a system of simultaneous equations by the Gauss−Jordan method. (Using
object−time formats.) .
(b) A simulation of a single type of radio−active disintegration. (Using the function library URNDt,.)
していることがわかる。そのうち,
x2=1930W使用しているので,
配列で30x31×2十35 実質のステートメントが
.占めるコアメモリは408Wである。 ソースプログラムの1
リに入っていないたぬ $Rモードとなっている。
URNDを含むオブジェクトテープを入力すれば,
完了した時点で$Xモードとなり,
ここ.で
リンクが 実行に移ることができ スアー トメント当り単純平均で13Wとなっている。次の例 る。このプログラムの場合の占有メモリ数は10進で374W
.は単 核種の原子核の自然崩壊をシミュレーションしたも であり, URNDも含め, 1ステーFメント当り12ステッ のである。一様乱数発生関数URNDはコア常駐ライブラ プである。
津山高専紀要 第12号.(1974)
t// 5 結 言
新しい実習システム (#SYSTEM−22)を開発し,2カ
ズ
月間電子計算機実習におけるジョブを処理してみて,次の ことがわかった。
1) FORTRANソースプログラムの処理レベルはJIS−
5000+α,すなわち,倍精度および複素数関係の演算 ライブラリを含んでいないが,他のステートメントは ほぼすべて処理可能である。
2) ユーザーズエリア3KWの範囲内で,配列はいくら でもとれる。又,処理できるソースプログラム容量は 大きい配列をとらねば3K:W/(12〜13ステップ)=230 〜250ステートメントであり,旧システム(#21)の 3倍程度となっている。
3) 旧システムのようにユーザーズプログラムの実行で システムが破壊されることがほとんどなくなった。
文 献
1)岸本,小坂富田:津山高専紀要3(1973)309.
2)岸本,宮地:津山高専紀要11(1973)47.
3)NEACシリーズ3200ソフトウェアマニュアル ソフトウェア概説書(昭46)5,45
4)NEACシリーズ3200ソフトウェアマニュアル アセンブラ説明書(昭46)22,119
5)NEACシリーズ3200ソフトウェアマニュアル FORTRAN説明書(昭46)117,138
6)NEACシリーズ3200ソフトウェアマニュアル システム説明書(昭46)13.
以上マニュアルは日本電気KK発行。
小型電子計算機の処理効率は,周辺装置のスピードによ って決ってしまうのが現状であり,本校の場合もその例に もれない。我々の開発した一連の実習システムも出力機器 として1/OTYPを標準としており,処理時間の90%以上 は1/OTYPの出力待ちとなっている。
さいわい,本校のシステムはCRTディスプレイ装置が 増設され,これを用いることにより出力のスピード化,無 騒音化を計ることが可能となった。しかし一方ではハード コピーがとれない等の問題点もあり,いかに実習システム にとり入れていくかが今後の課題である。
おわりに,新システムの開発にあたり,御協力いただい た本校機械工学科 宮地 功氏,電子計算機室の赤堀登美 子氏に感謝致します。