H8

H8シリーズは日立製作所（現在はルネサス エレクトロニクスとして分離）が開発したマイクロコントローラである。ターゲットは組み込み市場であり、様々な機能を内蔵した多岐な製品をシリーズ展開していた。形態としてはマスクROM版・ROMレス版のほかに、EPROMを内蔵したZTAT版のほか、フラッシュメモリを内蔵したF-ZTAT版がある。 当初は8ビットCPUで、「H8」の名前のまま、16ビット・32ビットの後継シリーズが開発された。内部レジスタ幅は16ビットまたは32ビットで、データバスの幅によってビット数を分類している。 2013年現在、H8シリーズの生産・供給は続けられているものの、ルネサス エレクトロニクスの会社統合による製品ラインナップの整理により、今後の新製品の開発予定は無いとされる。 2023年現在、8、16、32ビットのH8/300、H8S、H8SXが、IP製品として提供されている。生産中止ということがなく、継続的に使用可能とされる。H8/3048などの汎用マイコン機能のFPGA実装用IP（FPGAマイコン）も提供されている。H8/3048FやH8/3052FのIPとして、H8S IPが利用可能とされる。 いわゆるCISCアーキテクチャで、R0～R7の16ビット汎用レジスタが8本あり、これらはR0H、R0Lなど8ビットレジスタ16本としても使用できる。なお、R7はスタックレジスタである。上位のシリーズではさらに各レジスタを32ビット幅に拡張してER0～ER7としている。 アドレッシングモードが豊富で直交性の高い命令体系を持つ。MC68000にも似ていて、同様に奇数アドレスをワードアクセスすることはできないが、エラーは発生しない。I/O空間はメモリマップドI/O。ロード命令ではソースを先にデスティネーションを後に書き、ビッグエンディアンである。 製品としてはCPUコアにROM、RAM、割り込みコントローラ、タイマ、入出力ポート、シリアルコントローラ(SCI)、A/Dコンバータ、D/Aコンバータ、DMAなどが統合されたパッケージで販売される。I2Cバス、スマートカードインターフェースや液晶コントローラなどを持つシリーズもある。また、ピン配置に互換性のない複数のシリーズに細かく分けられている。パッケージはQFPやPLCCなどの表面実装型が多く、シュリンクDIPなどの挿入型の品種も存在する。 開発環境としては純正のC/C++/アセンブラパッケージおよび統合開発環境HEW（High-performance Embedded Workshop/「Hitachi～」から改称）があるほか、各社からCコンパイラなどが発売されている。GCCでも対応している。 H8は1980年代後半に日立が開発した独自命令セットの8ビットプロセッサで、Hシリーズマイクロコンピュータの１つである。Hシリーズとして、当時の同社の類似した命名方式のプロセッサには、32ビットのTRONCHIPのH32（GMICROシリーズの日立側名称）、16ビットのH16（HD641016。68000に強く影響されているが独自の石。MC68000のセカンドソースであるHD68000とは別）があった。H32はスーパー301条適用がほのめかされた圧力によるTRONプロジェクトの失速の影響で少数の生産に止まった。H16は「日立対モトローラ事件」（H8とH16に対しモトローラが特許を侵害しているとして訴訟。日立は68000が日立の特許を侵害しているとして対抗。クロスライセンスで決着（事実上の日立勝利）。訴訟の対象になった製品はH8とMC68030であるという説明もある。）の影響もあり消滅し、H8のみが残った。日立はそれまでモトローラの、MC6800のセカンドソースHD6300シリーズ（HD6301・HD6303等）（及びMC6809を拡張したHD6309（en:Hitachi 6309））、MC68000のセカンドソースHD68000、ザイログのZ80上位互換のHD64180を製造して販売しており、その経験からか、H8はこれらの長所を取り入れたアーキテクチャとなっている。 後に同社が開発したSuperHシリーズ（特にSH1とSH2）は、H8とは別の用途、視点から開発され、当初はよりCISC的な仕様を取り入れることも検討されたが、動作クロックやパフォーマンスを考慮しRISC的なマイクロコントローラとしてデザインしたものである。このためHD64180やSuperHシリーズなどとのバイナリの互換性はない。またルネサス移行後に発売されたR8C/Tinyシリーズは元三菱電機のM16C系統のCPUであり、やはり互換性はない。 組み込み向けのマイクロプロセッサとしては世界的に大きなシェアを有する。電子工作用や教材用としてもそれまでのZ80などに代わって、中規模のマイコンとして広く使われていて、シリーズによっては秋葉原などでも容易に入手することができる。また日立が支援していた「マイコンカーラリー」には古くから使われているほか、レゴのMINDSTORMSにも使われている。 近年はTinyシリーズのようにオンチップ・デバッキングインターフェースを内蔵して、廉価なオンチップ・エミュレータを使用できるシリーズに移行しつつある。また純正開発環境の無償評価版（一定期間経過後、64KBの限定版となる）の配布もWebや雑誌などで積極的に行われている。 プログラミングマニュアルまたはソフトウェアマニュアルとして、以下が発行（いずれも第1版発行時の名称で記載）されており、命令セットアーキテクチャとしては7種類がある。 H8/500（株式会社日立製作所「H8/500シリーズプログラミングマニュアル」第1版1988年10月） H8/300（株式会社日立製作所「H8/300シリーズプログラミングマニュアル」第1版1989年7月） H8/300L（株式会社日立製作所「H8/300Lシリーズプログラミングマニュアル」第1版1991年8月） H8/300H（株式会社日立製作所「H8/300Hシリーズプログラミングマニュアル」第1版1993年6月） H8S/2600、H8S/2000（株式会社日立製作所「H8S/2600シリーズ、H8S/2000シリーズプログラミングマニュアル」第1版1995年3月） H8SX（株式会社日立製作所「H8SXプログラミングマニュアル」第1版2003年2月） H8/500を除き、H8/300L、H8/300、H8/300H、H8S/2000、H8S/2600、H8SXの命令セットはオブジェクトレベルで互換性がある。これらのアセンブラおよびコンパイラは共通である。H8/500とH8/300は、それぞれ固有の命令を持つものの、基本的にアセンブラソースレベルでコンパチブルとされている（株式会社日立製作所半導体事業部「HITACHI SEMICONDUCTOR NEWS Gain」No.73、1989年3月、p14）。 H8の初期には「RISC指向」といった説明がされていた（株式会社日立製作所半導体事業部「HITACHI SEMICONDUCTOR NEWS Gain」No.73、1989年3月、p13）。当時におけるRISC的な特徴として、H8/300では、2バイト単位可変長命令、汎用レジスタ、レジスタ‐レジスタ間演算、ワードデータ境界などがある。 最後の命令セットアーキテクチャであるH8SXは「ルネサス32ビットCISCマイクロコンピュータ」とされ、命令、サイズ、アドレッシングモードの直交性が高く、メモリ‐メモリ間の演算も可能であり、ワード（16ビット）、ロングワード（32ビット）データを奇数アドレスから配置可能である。 シリーズ名は、命令セットアーキテクチャあるいはCPUと対応しており、これに、TinyやSLP（Super Low Power）を組み合わせたシリーズもある。 Tinyシリーズには、H8/300H Tiny、H8S/Tinyが含まれている。SLPシリーズには、H8/300L SLP、H8/300H SLP、H8S SLPがある。 シリーズの上位としてファミリの名称が設けられ、H8ファミリ、H8SファミリおよびH8SXファミリが存在する。これらのファミリは、CPUと内蔵メモリ（ROM、RAM）のアクセス仕様が相違しており、H8ファミリは16ビットデータバス・2ステートアクセス、H8Sファミリは16ビットデータバス・1ステートアクセス、H8SXファミリは32ビットデータバス・1ステートアクセスである。 H8Sファミリは、プログラミングマニュアルでは、H8S/2600とH8S/2000の2つのシリーズとなっているが、製品としては「H8Sファミリ／H8S/2x00シリーズ」（x=1,2,3,4,5,6）と、細かくシリーズを分けている。H8S/2600とH8S/2400シリーズは、H8S/2600CPUを内蔵している。H8S/2200、H8S/2300とH8S/2500シリーズは、H8S/2000CPUを内蔵している。H8S/2100シリーズには、H8S/2000CPUを内蔵した製品とH8S/2600CPUを内蔵した製品がある。 H8SXファミリには、H8SX/1700、H8SX/1600、H8SX/1500シリーズがある。 8ビット版 H8/300 : メモリ空間最大64KB。ページ切り替えはない。H8/500下位互換。 H8/300L : H8/300の低電力版。 16ビット版 H8/500 : メモリ空間最大16MB（マキシマムモード）、レジスタは16ビット幅（R0～R7）。64KB以上のアドレス空間をページレジスタでページ切り替えする。（いわゆるセグメント） H8/300H : メモリ空間を最大16MB（アドバンストモード）に、レジスタを32ビット幅に拡張（ER0～ER7/16・8ビット幅としても使用可）。命令を高速化。外部データバスは8/16ビット切り替え可能。F-ZTAT版もある。H8/300上位互換。 H8S/2000 : 基本命令を1クロックに高速化。H8/300H上位互換。 H8/300H Tiny : H8/300Hを16ビットコアのままで小ピン化。ノーマルモード（メモリ空間64Kバイト）で動作するシリーズとアドバンストモード（メモリ空間16Mバイト）で動作するシリーズがあり、動作モードは固定。外部バスはない。基本的にF-ZTAT対応。 32ビット版 H8SX : H8S上位互換。最初の製品はH8SX/1650（動作周波数50MHz（ニュースリリース時には35MHz））である。H8SX/1720SはH8SX V2 CPU内蔵で、動作周波数は80MHzである。 1996年に、日立製作所が米国アナログ・デバイセズ社に対し、H8/300HのCPUコアをライセンス供与することで合意したとの発表があった。 2023年現在、ルネサスエレクトロニクス株式会社から、H8/300、H8S、H8SXが、IP製品として提供されている。CPUと周辺機能を組み合わせて、既存のマイコン製品と同等の機能仕様を実現したパッケージとして、H8S/2655、H8/3048、H8/327対応パッケージがある。H8S/2355やH8/338の機能の実現も可能である。ハードウェアとソフトウェアの設計財産を組み合わせた形で保持し、長期にわたる継続的な使用が可能になるとされている。このIP製品の1つである、H8S C200コアは、マイコン製品とは別に、2000年代から、FPGA実装可能なソフトマクロとして紹介されている（株式会社ルネサスソリューションズ「RSO技報」No.5、2007年12月、p52「H8S C200コアFPGA評価ボードとPC開発環境の整備」、CQ出版社「デザインウェーブマガジン」No.134、2009年1月号、p129「標準マイコン互換コアをFPGAで使ってみた」）。 また、2023年現在、株式会社マクニカから、H8S C200 IPが提供されている。これは2014年に株式会社アルティマ（現株式会社マクニカ アルティマカンパニー）から発表されている。