thumb|HD64180 SDIP版 thumb|HD64180SY10 PGA版 thumb|HD64180Z QFP版 HD64180は、 日立製作所が1985年に公表・発売した、Z80を機能拡張した8ビットマイクロプロセッサである。Z80とバイナリ互換でありレジスタセットはZ80と同等のものを採用しているが、MMUやDMAコントローラなどを集積し、アドレス空間は512KB - 1MBとZ80よりも拡張され、Z80にはない乗算、除算命令も備えている。
HD64180は、公表当初はZ80互換をうたわず、カタログ等でもCP/M-80ソフトウェア互換と説明され、そうでありながらマニュアルに掲載されている命令一覧はZ80と同等であった。1命令の実行に必要なクロック数はZ80とは異なっており、制御信号やバスのタイミングは、Z80のそれを改良した非同期バスである。
Z80との互換性について ハードウェア オペコードフェッチサイクルのタイミングが改善されていたおかげで同一クロックのZ80よりもメモリアクセスタイミングに余裕があったが、その相違のためにZ80系の周辺デバイスを直接接続すると割り込み制御機能を使用することができなかった。後にこの問題を解消したHD64180Zが開発された。また、ザイログよりHD64180ZのセカンドソースとしてZ64180が、その改良版としてZ180(Z80180, Z8S180)が製造された。Z180は動作モードコントロールレジスタの機能(バス切り換え)が異なっているので、多少のソフトウェアの変更が必要である。
ソフトウェア 信頼性強化のため、仕様にない未定義命令を実行するとトラップがかかるようになっているので、Z80ユーザーの間でよく知られていた未定義命令である、IXおよびIYレジスタの8ビット分割(IXL/IXH・IYL/IYH)には対応していない(それ以外のもの、例えばビットシフトに関する未定義命令でも同じ)。そのため、これらの未定義命令を使用しているソフトウェアをそのまま実行することはできない。なお、トラップ発生後にセットされるフラグをチェックすることでリセットかトラップかを区別できるので、理屈としては、必要に応じてエミュレーションプログラムに処理を移し、スタックポインタの値から、不正命令によるトラップを起こしたコードを読み取って同等な処理を実行するサブルーチンを呼び出すことは可能である。しかしながら、それを実現するためのクロック数は、未定義命令を直接実行できる従来のZ80よりもはるかに増える。この種の、Z80においても動作保証が一切されていなかった未定義命令(後継チップでは公式に仕様化された)をあえて使用するのは、ゲームソフトなどで、IX, IYレジスタを、HLレジスタの代用として8ビット単位で流用しRAMへのアクセス頻度を減らし極限まで実行速度を稼ぐ場合であり、そのようなプログラムは、未定義命令以外の部分でも実行環境とするハードウェア(特定のゲーム機器やパソコンなど)に依存したコードになっているため、命令だけエミュレーションできても、そのままではバイナリ互換性がないことに変わりはない。移植のためにソースコードを修正するのであれば、その作業の一環として未定義命令の部分も書きなおせばよく、HD64180によるZ80未定義命令のエミュレーションは、実用的とは言えない。
採用例 ビクターのMSX2、HC-90, HC-95で、スイッチを切り替えることで2.2倍速を実現する「ターボモード」用CPUとして NTTの電話番号検索システムであるエンジェルラインの専用端末「ANGEL NOTE」 富士通のFM TOWNS HRなどでCD-ROMコントローラとして KAWAI Q-80といった電子楽器 MicroMint・SB-180 (BYTE誌の1985年9月号および10月号掲載のSteve Ciarcia執筆記事で紹介されたCP/Mコンピュータ)のCPU。DIYコンピュータであり、MicroMint社のキットとして販売された。 アメリカの自動販売機のデータ処理システム(組み込みシステム)のCPU イギリスの工業用計測・制御機器メーカーであるLee-Dickens社が開発したデータロギング・遠隔監視端末(RTU)「SITEWATCH MIDI-8R-DC」のCPU オランダのフィリップスのワープロ「VideoWriter」のCPU スロヴェニアのゴレーニェ社(スロヴェニア語版)の8ビット・マイクロコンピュータ「Gorenje Dialog」のモデルMのCPU その他 組み込みシステム
型番体系 {| border="1" class="wikitable" |- align="center" ! 型番「HITACHI THE 64180 FAMILY HD64180 FAMILY HIGH INTEGRATION CMOS MICROCONTROLLERS」より !! Memory key or Speed !! Family Name !! Type !! Mask Version !! Package(Hitachi Package Name) !! Speed !! Temperture |- |HD64=Hitachi Digital CMOS Micro||No Mark or 1=ROM Less3=Mask ROM 7=ZTAT(EPROM/UVEPROM) 8=EEPROM A=4MHz B=6MHz|| 180=180 Family || R=Interface with 63/68/80 Family Compatible S=NPU(Network Processing Unit) X=Single W=EEPROM+RAM+A/D CONVERTER Z=Interface with Z80 Family Compatible ||0=MASK 0 1=MASK 1|| Y=Ceramic PGA P=Plastic Shrink Dual Inline (Shrink DIP 64pin) (DP-64S) CP=PLCC 68pin (CP-68) or PLCC 84pin (CP-84) F=Flat Pack (FP-80,FP-80B) H=Flat Pack (FP-80A) for Type S|| 4=4MHz 6=6MHz 8=8MHz 10=9.8MHz|| NO Mark=?X=Standard Temp:-20~+75℃J=Industrial Temp:-40~+85℃
脚注 注
出典
外部リンク