「V30(μPD70116)」の外観 出所:Konstantin Lanzet - CPU collection Konstantin Lanzet, CC 表示-継承 3.0, https://commons.wikimedia.org/w/index.php?curid=6188036によるさて問題がμCOM-86/88である。μCOM-86(μPD8086)/88(μPD8088)は名前の通りIntel 8086/8088のセカンドソースで仕様も完全に同一だったから別に問題はなかった。ただNECはこれの性能向上を図り、それぞれ「V30(μPD70116)/V20(μPD70108)」として1983年/1984年にリリースした。改良点としてはCMOS化による高速化と省電力化、独自命令の追加(18個の新規命令を追加)、さらに8080エミュレーションモードなども搭載した。そしてこのV20・V30を核に周辺回路を集積した、ちょうどIntelの80186/80188に相当する(互換性は無い)ものが「V40・V50」である。
ただこのV30をリリースしたあたりから、米国では「IntelはVシリーズが8086/8088のMicrocodeの著作権を侵害しているため訴訟を起こす」といううわさが広がった。そこでNECは先手を打ち、V20〜V50のMicrocodeがIntelの著作権を侵害していないという確認訴訟をカリフォルニア州連邦裁判所に提訴した。この裁判は5年にもわたり、最終的にNECはIntelの著作権を侵害していない事が認められたが、この理由は8086/8088のMicrocodeに著作権表示が無く、それ故、著作権が認められないというものだった。逆に言えば著作権表示のあるMicrocodeにはきちんと著作権が認められるという事がはっきり示された裁判でもあった。それもあり、NECはV30のMicrocodeを全部ハードワイヤード(hard wired)に置き換えたV33(μPD70136)を開発、またそのV33コアを利用したV53(μPD70236)もリリースする。
このV33コアはハードワイヤードのおかげで、オリジナルのV30の2.3倍程度の高速化が可能になった。ただしV33ではAddress空間を16MBに拡張した関係でAddress Busも24bitになっており、なのでV30とのPin Compatibilityは無い。
ところで先にV30では18個の新規命令を追加したと書いたが、同じOpCodeが80286で別の命令として使われた事もあり、この非互換性が問題になった。この非互換性を修正したのがV33A(μPD70136A)やV53A(μPD70236A)となる。
このV30シリーズはさまざまな派生型が製造された。ノートPCなどモバイル向けのV20HL(μPD70108H)/V30HL(μPD70116H)、組み込み向けのIPコアであるV30MT/MX/MZ/MZC、V30に周辺回路を組み合わせたやはり組み込み向けのV35(μPD70330/μPD70332)とこれのDMAを強化したV35+(μPD70335)、V30のサブセットにZ80上位互換モードを持つμPD9002(PC-88VA向け)などが有名なところだ。同様にV50シリーズもやはり省電力モードを追加したV41(μPD70270)/V51(μPD70280)、80186相当の命令セットと周辺回路を搭載した(互換性がある訳ではない)V55PI(μPD70433)などのラインアップが用意された(図5)
これに続いたのが1986年のISSCCで発表されたV60(μPD70616)である(図6)。1980年代に入ると32bit CPUが主流になり始めておりこれに対応する必要があったこと、UNIXの興隆を受けてUNIXが動くCPUがNECとしても必要だった事などが理由として挙げられている。1982年から開発がスタートしたが、当時同社はRISCに関する知見はそれほどなく、ごく自然にCISCでの開発となった。面白いのは内部構造こそ完全に32bitだが、アドレスバスは24bit、データバスは16bitに制限されていることだ。半導体事始 46の「32 ビット・マイコン『V60』開発物語」によれば、外付けDRAMの個数を制限するためにこの仕様になったのだという。
さてこのV60であるが、理論性能は3.5MIPS、実効性能は0.8MIPS程度だったとされる。性能が伸びなかった理由はパイプライン構成になってなかったことや、Microcodeを多用したためらしい。1987年にはProcessこそV60と同じ1.5μm CMOSながら20/25MHzまで動作周波数を上げる(V60は16MHz)とともに、外部データバスを32bit化したV70(μPD70632)を発表。さらにこれに7段Pipelineの搭載や予測分岐、1KBのInst/Data Cacheの搭載などを行ったV80(μPD70832)が発表され、25MHz版と33MHz版は少量出荷されたが、45MHz版は計画こそあったものの実現せずに終わっている。
V60、V70ともに本格的なUNIXワークステーション向けに設計されたものの、そうした用途で使われる事はあまりなかった。なにせNEC自身のUNIXワークステーションであるEWS4800シリーズですら、当初シリーズはMotorolaのMC68020/30/40、その後はMIPS R3000/R4000やその後継製品が使われている状況で、V60/V70を採用した製品は聞いた事が無いというありさまである。それでもV60はセガのSystem32とかModel1といった業務用ゲーム基板などに採用されたし、V70はNTTの交換機や、やはり業務用基板、変わったところではH-IIAロケットの制御誘導用に採用されたりはしたが、その数量は多いとはいえなかった。このあたりがV80の出荷がごく少量にとどまった理由ではないかと思う。
Copyright © ITmedia, Inc. All Rights Reserved.
記事ランキング