日本-日本語
日本HPホーム 製品 & サービス サポート & ドライバー ソリューション ご購入方法
≫  お問い合わせ

製品とサービス >  ソフトウェアとOS >  OpenVMS >  History of OpenVMS

割り込みってなに?


案の定全員が遅れましたた。彼らときたら、まっ昼間から水がわりにビール飲むから困ったもんだ、と言いながら午後の授業を始めました。

勝男

「オバタリアンという日本で有名な怪物がいますが、割り込みとはスーパーマーケットなんかで、並んでる人を無視して行列に強引にはいり、注意すると『あっらー並んでらっしゃるのぉ〜』なんて言うのがいますが、まさにあれです。

そのほかに軽四輪を運転してて右にいっぱいハンドルをきってセンターラインをはるかに越えて左に曲がったり…これも割り込みです。まったく『君の車は大型バスかと言いたくもなる、僕の新車どうしてくれる』…」

フェイカム 「勝男、どうしたんだい、軽四と割り込みと何の関係があるんだい、オバタリアンに恨みでもあるのかい?」
勝男

「すまない私情をはさんで、割り込みになると昔を思い出して。でコンピュータの割り込みとは実行中の作業を強制的に中断させ、別の作業をさせることですね。コンピュータ割り込みは別の作業をやった後は、ちゃんとすべての情報を中断した状態にまで戻すことまで責任を持ってくれるところがオバタリアンとは違いますね。 現在のシステムは非常に多くのデバイスをユーザープログラムの実行順序を意識させることなくサポートしていますが、PDP-8では割り込み処理をどのようにしてるか説明します。

なんとPDP8では、すべての割り込みはJMS0命令をハードウェアが発行して処理しています。割り込みの優先順位は、ユーザーがプログラムの中で優先順位の高い順にI/O命令を用いてデバイスのフラグ、これは終了/エラーを示すフリップフロップですが、これをチェックしています。では図8を使って割り込みについて説明しましょう」

   
  割り込みについて説明
   
 
勝男

「どうです非常に簡単な割り込み処理機能でしょう。何か質問は?」

するとアムダンが聞きました。

アムダン

「勝男、割り込み処理で、何かのノイズでフラグが立ったらどうなるのかね?」

勝男

「PDP-8の場合、フラグがDoneかErrorを代表してるのでそれらをチェックして何も無かったら、何事もなく元に戻ってきます。すなわち何もやらなかったことと同じです。

見方を変えると非常にルーズなやり方に見えますがシステムが止まるよりはいいんじゃないですか」

長い1日が終わり帰れると思った時、

アムダン

「勝男、DECではミニコンがどうのこうのと言うからには、大型コンピュータがどんなものかは知ってて言ってるんでしょうね? チョットさわりだけでも教えてくれないか? IBMがどうのこうのという話をしてくれないか?」

なっ、なんだこの男はこんな痛いところをついてくるなんて、もう時間がないし、断ろうかな?と思っていると

アムダン

「頼むよ。勝男はDECのことは教えてくれたけど、IBMの話しがあってもいいじゃないか?」

もう断れない、もうやるしかない

勝男

「じゃー、余り時間もないのでほんとに簡単にね」。

と言うことでまた話が始まった。

勝男

「IBMが他社の追随を許さぬ圧倒的な地位を築いたのは、1960年に発表した廉価版1400シリーズ(加減算約0.3ミリ秒、乗除算約2.4ミリ秒)で、爆発的な売り上げを記録してからなんだ。1964年に発表した有名な360シリーズでついにファミリシステムの幕開けを築いたのは皆さんもどこかで名前だけでも聞いたことがあるでしょう」

フェイカム 「それでここでは360の基本的な説明をします。まず名前の由来ですが、ものの本によると360度全方位カバーできるところからきてるらしいのですが、僕の考えでは、1年365日の内最低でも360日は動作を保証できる高信頼性を誇ると言うことじゃないかな。『じゃ〜、発表まじかの噂のある370はどうなんだ?』 とくるかもしれんが、僕の説では、あと5日分の保守契約費用を負担してしてくれたら1年中の動作保証があると言うことだと思うんですが」 (編注:すごい皮肉)
勝男

「で、話しを元に戻してIBM360は4バイトが基本の32ビットマシンです。24ビットアドレス、高速のチャネル、ミニコン以上に複雑な装置を介して高速な磁気ドラム、磁気ディスク、磁気テープ、ラインプリンタなどを接続しています。

チャネルはメモリとCPUを同じバスに接続して、メモリ上にチャネルが理解できるプログラムを格納しておき、CPUがSTART I/Oを発行します。

START I/Oを発行した後、CPUはほかの仕事を続け、チャネルはコマンドアドレス・ワードをもとにチャネルプログラムがあるメモリ領域を読みこんでチャネルプログラムを解読し、入出力制御装置に動作を促すと言う手順を踏んで入出力装置とメモリとの間でデータ転送が行なわれます。

バススピードは約5MB/秒と高速でかつ並列動作が可能です。

なんとマイクロコードをROMの中に格納しハードウェアのコンパクト化はかっています。レジスタは32ビットが16個でR0はアドレシングモード時はちょっと特別な使用法があります。

浮動小数点用には64ビットのレジスタが4個あります。そして五つの可変長な命令形式をもっています(図8)。

図8:IBM360の命令
図8:IBM360の命令

それから大事なことですがオペレーティングシステムはOS360と呼ばれ基本的には三つのバリエーションがあります。

  • 32Kバイト以上あれば動くと言われているもので、一つのジョブのみが実記憶上で動作する。
  • 64Kバイト以上あれば動くと言われているもので、実記憶上であらかじめ決められた固定数のジョブのみが動作する。
  • 256Kバイト以上あれば動くと言われているもので、実記憶上で可変数のジョブがディスクに対してスワップイン、スワップアウトを行いながら動作する。
勝男

「非常にすっきりした型式だと思うが僕はあんまり好きじゃないな。どうしてかって、それはソースとディスティネーションの構成が対称でないのが気にいらないんだよ。

でも、データの移動なんかはDisplaceとLenを用いてブロック単位でできるなんて素晴らしいアイデアですね。 それにマイクロプログラミングの考えがIBM360をシリーズ化するのにたいへん有効な考えではないかと思いけどどうでしょう」

アムダン

「その意見には賛成だね」

彼とはその後もIBMのマシンやいろいろなコンピュータの構造などについて意見を交換しました。

勝男

「何か質問はありますか? たいへん短いお話しでしたがこれにて終わりとします」

イブム・アムダン

「私はIBM360マシンは産みの親みたいによく知ってるんで聞いてみたんだが、まぁ〜、いつかもっと突っ込んだ議論をしたいね」

と言うことで、みんなに別れを告げたが、どこかで会ったような、聞いたような、何かひっかかる思いがこの4人にたいして残ったのは僕1人だけであろうか?

後で彼らの名前をもう少し注意深く眺めれば思い出すかも知れないと思った。

トップへ 戻る   次のページへ
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項 ウェブマスターに連絡