メディア

ARM台頭にルネサス誕生……時代に翻弄され続けた日立「SuperH」マイクロプロセッサ懐古録(16)(1/4 ページ)

今回は日立製作所の「SuperH」を取り上げる。Motorolaとの訴訟で苦渋をなめた経験から生まれた、32ビットの独自CPUコアだ。前回紹介した「H8」とともにルネサス エレクトロニクスに引き継がれ、現在も一部のシリーズでは供給が続いている。

» 2026年05月11日 11時00分 公開
[大原雄介EDN Japan]

⇒「マイクロプロセッサ懐古録」連載バックナンバー一覧

Motorolaとの訴訟で32ビット独自コアに焦点

 前回、日立製作所の「H8」に触れたので、その後継である「SuperH」に触れない訳にはいかないだろう。

 前回説明したように、H8はMotorolaとの訴訟に巻き込まれることになり、最終的に和解に漕ぎつけたものの、日立のロードマップには大きな影響を与えることになった。それもあって、既存のアーキテクチャと全く異なる新しいCPUコアが必要である、という判断は恐らく1989年中に下されたようで、1990年には実際に設計作業がスタートする。ここで8/16bitに関してはH8が既にある以上、32bitにフォーカスするのが妥当、という見方があったのは当然だろう。

 余談だが、H8シリーズと並行して日立はTRONプロジェクト向けのプロセッサの開発も行っていた。MONOistの記事でもちょっと触れたが、日立はGmicro/200とGmicro/500の2つのチップを開発している。日立社内での名称はH32/200とH32/300である。このうちH32/200に関しては"Realization of Gmicro/200"というPaperがIEEE MIcroのVolume 8, Issue 2(1988年4月)に掲載されているが、Simulationによれば20MHz駆動のH32/200はEDN Benchmarkで20MHz駆動時に7MIPSという、当時のCISCとしてはまずまずの性能を発揮していたとされる。ちなみにこのダイ写真は潰れてしまって分からないが、恐らく同じと思われるものが日立評論にも掲載されていた(図1)。

図1:説明によればGmicro/200は"64bit拡張を念頭に置いた32bit"との事。In-Orderで6段パイプライン構成である。

 Gmicro/500というかH32/500はさらに高性能(SuperScalar構成で、66MHz駆動でピーク130MIPS)を発揮する予定であったが、これを利用する予定だったBTRONのマーケットが立ち上がらなかった事もあり、チップこそ1992年12月に完成したものの、それで終わりであった。こうした事もあって、新しいCPUコアが必要、という判断になったものと思われる。そしてMotorolaとの訴訟騒ぎの轍を踏まないためにも全く新しいアーキテクチャが必要となる。加えて言えばこの頃はRISCが新しいプロセッサアーキテクチャとして大きくFeatureされていた時期でもある。この新プロセッサがRISCベースと決定したのはごく自然な流れであった。

SH-1ベースの「SH7030」が登場

 最初に世間に登場したのは「SH-1」ベースの「SH7030」シリーズである(図2)。コアそのものは5段のPipelineを持つIn-Order・Single Issueの割とすっきりした構造である。命令数は56種133命令と、多くないというかかなり少ない部類に属するが、シリーズ最初のプロセッサとしてはこんなところだろう。特徴的なのは32bitプロセッサでありながら命令長は16bitに収められている事だ。この仕組みは後にMIPS16eやArmのThumb/Thumb2が追従する事になったが、プログラムのメモリフットプリントを削減しながら性能を確保できる良いテクニックであった。その代償というわけではないが、32bit汎用レジスタは16本に抑えられ、命令は2オペランドのものに制限された。さすがに16bitで3オペランドは無理があるためだ。もっともこれは昨今のリソースが豊かなCPUを見ているからの感想であって、当時としては自然な流れだったと言えよう。

図2:日立評論 1988年12月号より

 そのSH-1を搭載したSH7032の構造がこちら(図3)である。内部バスはAddress 24bit/Data 32bit(ただし16bit×2の構造)であるが、外部バスはAddress/Data共に16bitだった。これはSH-1がController用途を想定したためで、実際PROMないしMask ROMとSRAMを搭載している訳で、高速なMCUという扱いであった。

図3:SH7032, SH7034 Hardware Manualより

 といってもまだ当時のMCUのマーケットは8/16bitが主流で、外部に接続する回路も8/16bitを想定したものが多かったから、これはパッケージサイズとコストを抑える良い選択肢だったと思う。余談だが、このSH-1の外部バスが16bit幅だったことからSH-1を16bit CPUと分類する記事を大昔に見かけた事があるのだが、外部バスはともかく内部は完全に32bitであり、分類としては32bit CPUとするのが正しいと思う。性能は20MHzで20MIPSとされ、MCU向けとしては十分に高性能だった。アプリケーションで言えば、CASIOのQV-10に採用された事でも有名である。こちらの写真を見ると、SH7034(SRAM 4KB版)が搭載されているのがお分かりかと思う。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.