SSブログ

特集「日本電気μPD70136(V33)」(月刊ASCII 1988年9月号11) [月刊アスキー廃棄(スクラップ)]

特集記事のスクラップ8回目は「日本電気μPD70136(V33)」
ASCII1988(09)c19V33_あおり_W520.jpg
V30を高速化してメモリ空間を16Mbytesまで拡張
 8086系の高速なCPUとしては,インテルの80286/80386がある.これらは,高速化と同時にMMUを使ってメモリ空間を拡張している.V33では,後で述べるような,非常に単純なアプローチでメモリ空間を拡張している.80286/80386といった高度なアーキテクチャは必要としないが,高速で大きなメモリ空間が欲しいというニーズが多いことに応えるものである.
 VシリーズのCPUでは,V40/V50が,チップ内に標準のペリフェラルを載せているが,V33ではチップ周囲にユーザーのニーズに応じたICを並べることで,ASIC的な使い方を想定している.こうしたカスタムのシステムでは,ユーザー側の設計による部分との間にマージンがあり,核となるCPUは高速であるにこしたことはない。
 現在,V30は(V20も合わせて),50%がパーソナルコンピュータのCPU,25%がワードプロセッサ,残りがその他に使われているという.これが,V33では,その整備された開発環境のもとで,応用範囲を広げることが可能となるだろう.

ASCII1988(09)c19V33_写真1_W520.jpg
V33のアーキテクチャー
 V30,V20では、用途に合わせて外部データバスのサイズの異なる製品を用意していたが,V33ではCPU内に外部データバスのサイズを切り替える機能(ダイナミックバスサイジング)を組み込み,8/16bitデータバスのどちらかを選択できるようになっている.
 また,V33には,専用の浮動小数点演算チップ(μPD72291)が用意される.ただし,コプロセッサとCPUの間のインタ-フェイスは,8086用のNDP(8087)とは異なっているため,V30には接続できない.
 その他,V30から拡張された機能として,未定義命令のトラップが可能になった.未定義命令が実行されると,CPUは,割り込み番号122に分岐する.そのとき,トラップの原因となった未定義命令の先頭アドレス(セグメント,オフセット)とフラグがスタックに保存されるため,未定義命令の処理後プログラムの実行を続けることができる.
 また,HALT命令の実行によって,スタンバイモードへの切り替えができるため,消費電力も低減されている.
高速化のためのアプローチ
 高速化のために,従来はマイクロコードで行われていた実行アドレスの生成回路,乗算時やシフト命令などで利用されるシフトレジスタなどがハードワイヤードロジックによって構成されている.これによって,命令の実行に必要なバスサイクル数が短縮されると同時に,メモリアクセス時のバスサイクルを2サイクル(2ステート)におさめることが可能になった.バスサイクルの短縮にともなって,命令のプリフェッチキューの大きさは6bytesから8bytesに拡張されている.
 バスサイクルが短縮された場合,問題になるのはCPUの周辺回路やメモリ素子の速度である.V30では端子数の制限と8086との互換性から,アドレスバスの下位16bitとデータバスは同じ端子(AD0~15)に割り当てられ,端子の機能は時分割されていた.そのため,AD端子の信号はCPU外部の回路でアドレスバスとデータバスに分割する必要があり,CPUの動作クロックが高速化するにつれ,オーバーヘッドとなっていた.V33では,端子数を増やし(68ピン)このような多重化を行っていない.バスのコントロールを行う信号の入出力タイミングも最適化されており,CPUの高速化をいかした,高速なシステムの設計が考えられている.
 16MHzクロックのシステムでは,メモリサイクルに1クロック分のウェイトサイクルを置くことにより,アクセスタイム80nsのDRAMで動作させることができる.
拡張アドレスモードの手法
 V33では,独自のアドレス拡張方式(アドレスリロケーション方式)によって,16Mbytesのメモリ空間を実現している.アドレスリロケーション方式とは,16Mbytesの拡張アドレス空間を,1024枚のページ(1ページあたり16Kbytes)に分割し,そのうちの64枚を物理アドレス空間(1Mbytes)に配置するものである.物理アドレス空間に配置するページの指定は,V33に内蔵されているアドレス変換テーブル(10bit長,64エントリ)にページ番号をセットすることによって行う(図1).
 いたって簡単なアドレスの拡張であり,80286/80386のようなメモリ保護機能はない.したがって,リアルモード/プロテクトモードの切り換えなどを行う必要もない.
 通常のアドレスモードと拡張アドレスモードの設定/解除のために,V33独自の命令が2つ追加されている.それは,BRKXA命令(指定された割り込みベクトルにしたがって割り込み処理ルーチンに制御を移し,XAMレジスタ内のXAフラグをリセットする),RETXA命令(指定された割り込みベクトルにしたがって割り込み処理ルーチンに制御を移し,XAMレジスタ内のXAフラグをリセットする)である.
 XAMレジスタは,V33内部のI/O空間,FF80H番地(バイト)に割り当てられている.したがって,IN命令によってこのフラグの状態を読み取ることができる.XAフラグが0のとき通常アドレスモード,1のとき拡張アドレスモードになっている.CPUがリセットされると,XAMレジスタには00Hが書き込まれる.
 アドレス変換テーブルも読み書き可能なV33内部I/O空間(FF00H~FF7EH:ワード)に割り付けられている.このテーブルは、先に述べたように物理アドレス空間に配置するページを指定するために用意されており,10bit長のページレジスタ(PGR1~64)64個から構成されている.
 アドレス変換テーブルを設定し,拡張アドレスモード設定の命令を実行すれば,拡張アドレスをアクセスできるようになり,解除の命令を実行すれば,通常のアドレスモードに戻ることになる.
 アドレス変換テーブルのページレジスタは,CPUリセットの影響を受けず,ソフトウェアによって明示的に書き替えるか,CPUの電源が切られるまで保持される.拡張アドレスモード時にページレジスタを書き替えることも可能ではあるが,避けた方がよいだろう.日電ではこのアドレッシングモードに対応した開発環境を用意している.

ASCII1988(09)c20V33_図1_W520.jpg
表1 Vシリーズ・マイクロプロセッサの構成
V20/30パーソナルコンピュータ, ワープロなどで使われている, 一般的な16bit マイクロプロセッサ.8080,8086/8088用に開発されたソフトウェアの継承, CMOS化による低消費電力など.PC-9801シリーズやIBM PC互換機で広く使われている.
V40/50V20/30をベースに,DMAコントローラ,割り込みコントローラなどを一体化したマイクロプロセッサ命令も拡張されており,80186に対応した製品と考えることができる.
V25/35V20/30の命令セットを実行可能なシングルチップ・マイクロコンピュータ.DMAコントローラ,割り込みコントローラなどの他, 16KbytesのROM, 256bytesのRAMを内蔵している. モデムやFAXなど高速処理が要求される製品への組み込み用の製品.
V60/70内部32bitのマイクロプロセッサであり,仮想記憶,浮動小数点演算のための機能を内蔵している.V60用のUNIXも用意されており, マルチタスク・オペレーティングシステム下での使用が前提とされている.
昔はV33を使った安価なPC-98が出ないかなと思っていた。80286なんてCPUは必要ないと思っていた。結果80286は高速な8086としての利用価値しかなかったし。それならV30を高速化しただけでいいと思っていた。Windowsなんて出来が悪くこの時使ってられなかった。何回か書いたがなんで使用者が我慢しなければならないのか。ストレスを溜めてパソコンを使わなければならないのかとソフトウェアに対してイライラしていた。できることをしないソフトハウスにイラついていた。Basicで書いたプログラムを売っているソフトハウスを軽蔑していた。またそれを買うお客もどうかと思っていた。
突然思い出した。Basicで書かれたソフトが動かないと相談に来た人がいた。簡単に直せたのだが、その人コピーユーザだった。記憶が定かではないが pオプションを使ってのsaveはしてなかったように思う。プロテクトを破った人からコピーをもらったのかもしれない。皆で調べたら日付を見て動作を止めていた。コピー対策に日付を利用していた。これはいい参考にすべきだなと皆で感心した。使っているのなら買ってやれよとその人に言ったが、彼は絶対金を払わなかったと思う。

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。