蒼天在眼 (そうてんまなこにあり)ーベランダで星を見る

昔、昔、天文少年でした。そして、今は、ベランダから、星を見ています。
いろいろの忘備録

PiDP-11を使う その6 コンソール・オペレーションの巻

2023-12-05 20:53:16 | コンピュータ

いよいよ、コンソール・オペレーションに入ります。

正面の存在感のあるスイッチ群は左側の0から21の番号がついていて、データをセットするとために使用します。3個づつが一纏めになって、8進数の一桁を表しています。8進7桁と1ビットを入力できます。

例えば8進数4桁の1234は上のようにセットします。各スイッチは4、2、1と重みがついているので、3個づつのスイッチの上にセットされているものの重みを合計して0から7の数を表すことができます。

次にコントロールスイッチ群の説明をします。これらは、右手で操作しやすいように右端に配置されています。

左から説明すると、

白いスイッチは、ランプテストスイッチで、押し上げると、すべてのランプが点灯します。当時のCPUはインジケータに豆電球を使っていました。これが、時々切れて点灯しないことがありました。この機能を使うと、切れている電球を見つけることができます。手を離すと元の位置に戻って、普通の動作に戻ります。

LOAD ADRS スイッチは、データスイッチにセットした値をアドレスレジスタに取り込むように作用します。手を離すと本の位置に戻ります。アドレスレジスタの内容は、ADRESSインジケータのランプで表示されます。

EXAMスイッチを押し下げると、アドレスレジスタで指定される番地の1語の内容をDATAインジケータランプで確認できます。手を離すと、元の位置に戻ります。連続してEXAMスイッチを押し下げると、アドレスレジスタが2づつ増えて、次の番地の1語の内容を示すので、連続している番地のデータを確認するのに便利になっています。

DEPスイッチを押し上げると、データスイッチにセットした値をアドレスレジスタに入っている番地に1語を書き込みます。手を離すと元の位置に戻ります。書き込んだデータはデータインジケータのランプで確認できます。次の値をデータスイッチにセットして、EXAMスイッチを押し上げると、アドレスレジスタの値が2増えて、次の番地の1語のメモリに値を書き込むことができます。プログラムを、入力するのに便利です。

CONTスイッチを押し下げると、プログラムカウンターの値の番地から、プログラムの実行を再開します。手を離すと元の位置に戻ります。

ENABLE/HALTスイッチは、押し下げると、プログラムの実行を止めることができます。手を離しても、元の位置には戻りません。HALT側に倒したまま、CONTを1回押し下げると、シングルステップ(1命令ごとに、または、1サイクルごとに、CPUが止まる)モードになるので、プログラムのデバグに使うことができます。ENABLE側にセットすると、連続して、命令を実行します。これは、通常の運転モードです。

S INST/ S BUS CYCLE スイッチは、手を離しても、元の位置には戻りません。S INST側にセットされていると、シングルステップモードで、1命令ごとに停止します。S BUS CYCLE側に倒すと、シングルステップモードでは、 1 バスサイクルごとに停止して、細かいタイミングの必要なデバグに必要な機能を提供します。

一番右のSTARTスイッチは、押し下げてから、手を離すと、内部レジスターをリセットして、アドレスレジスタの番地から、プログラムを実行します。

この説明では、具体的なオペレーションのイメージが掴めないと思うので、実際にコンソールを使う動画を作ってみました。動画でRUNスイッチと言っているのは、STARTスイッチなので、脳内変換をお願いします。

プログラミングについては、今後やっていくのでオペレーションに注目して、視聴していただけると幸いです。(ターミナルを繋ぐの巻へつづく)


PiDP-11を使う その5 表の顔ーコンソールの巻

2023-12-05 13:45:20 | コンピュータ

いよいよ、オペレータコンソールです。これを操作したいために、わざわざPiDP-11を組み立てました。

フロントパネル全体はこんな感じです。見渡すと、表示部は三段に分かれて、その下に30個のスイッチと右横に二つのノブがついています。

右横の切り替えノブはメモリとバスの切り替えスイッチで、表示ランプがついていますが、Bare Metal で使う分には CONS  PHY(コンソール・物理メモリ)と DATA PATH が点灯するようにセットすれば、問題ありません。"

 

表示ランプは 三段に分かれていて、上から、CPU のステータス表示、アドレス表示、データ表示に分かれています。

CPUのステータス表示は、左から、エラー関係(メモリのパリティ不一致、アドレスエラー)で、これらは、通常点灯しません。次のRUNランプはCPUが命令実行中に点灯します。

PDPのデータバスであるUNIBUSは、CPUだけでなく、周辺機器もマスターとして、バスを制御することができます。他の機器がバスを制御しているため、CPUがバスの空くのを待っている時に、PAUSEランプが点灯、CPUがマスターになって、バスを占有している場合は、MASTER が点灯します。次のUSERからDATAまでは、Bare Metal 運用に関係ないので、省略します。ADDRESSING は Bare Metal では 16ビット固定です。

 

一番左中段に、キーを差し込む形の電源スイッチがあります。PiDP−11では、オフとオンの2段階ですが、実機では、オフ、オン、ロックの三段になっていました。マニュアルの通りそのまま作るとこのスイッチはダミーです。Balconは、ちゃんと通電するように配線してあります。キーを入れて回すと、冷却ファンが回り始めます。うーん本当に懐かしい。

パワースイッチの隣は、メモリのパリーティを表示しています。PDP-11のメモリは、byte単位ですが、8ビットにパリティービットの1ビットを追加して、1が立っている桁の数が、奇数になるように、パリティビットをセットして記憶しています(奇数パリティ)。もしも、メモリから読み出したデータにパリティが一致しないと、1ビットの誤りであれば、これを検出して、一番上段の表示にパリティエラーを点灯するようになっています。なお、PDP-11は、1語が、2 byteなので、High byte、Low  byteのパリティビットが表示されます。

ADRESS, DATAのランプとスイッチについての説明は次回にします。

より詳しく知りたい方は、 PDP-11/70 Handbook の11章をご覧ください。(コンソールオペレーションへつづく)

https://bitsavers.org/pdf/dec/pdp11/1170/PDP-11_70_Handbook_1977-78.pdf

 


PVバーナー

PVアクセスランキング にほんブログ村