NEC Vシリーズ

NEC Vシリーズの最新ニュースをまとめて検索!

NEC Vシリーズは、日本電気 (NEC)(現NECエレクトロニクス) が製造したCPUのシリーズである。インテル製の80868088互換のCPUのシリーズ、独自開発の32ビットCPUのシリーズ。なお、後年にV800シリーズの名を冠したRISC CPU系列が開発されているが、マーケティング的な理由からVの名が付けられているだけで、技術的な繋がりは無い。実質的には独立した別系列のCPUである。名称のVVLSIの頭文字を取ったものだが、Victoryの意味も込められている[1]

目次

[編集] 概要

インテルCPU製品展開を追いかけるように日本電気は主にインテル系(ザイログZ80も含む)のCPUの互換製品や類似製品(μCOMシリーズ)を開発・展開してきた。 1980年代前半よりインテル製80868088の互換製品を開発・販売していたが、これをCMOS化すると共に内部バスの本数を増やして能力を向上させたV20,V30を開発した。また、これらのCPUをコアとして周辺回路を集積したV40,V50や、より高性能化を図ったV33等へと展開した。しかし、V30は提訴により、充分な商機を得る事が出来なかった。

その一方で、より高性能を目指して、独自アーキテクチャの32ビットCPU、V60,V70,V80を開発した。 後に、RISCアーキテクチャのV800シリーズへ移行した。

V10が欠番となっているが、これは当初CMOS版Z80コード互換CPUであるμPD70008にV10の呼称を与えて販売を計画したものの、訴訟問題への影響を考えて、Vシリーズから除外する方針としたため、結局用いられなかったためである[1]

尚、VRシリーズと呼ばれる製品群もあるが、これらはMIPSアーキテクチャであり、Vシリーズとは異なる。

[編集] 16ビットCPU

[編集] V30

V30(μPD70116) は、NECが製造した、インテル8086の(正確にはNECのμPD8086(μCOM-86)の)上位互換CPUである。外部バス8ビットのV20 (μPD70108) がある。またV30、V20のセカンドソース製品がソニーシャープからも出ていた。

ハードウェア面では、オリジナルの8086に対してピン配置が互換であり、信号のタイミングは多少異なっていた(8086のクロックのデューティ比が1:2であったのに対してV30は1:1である。これに付随して他のタイミングの定義も異なる)が、実際にはそのまま差し替えても問題なく動く事が多かった[2]

ソフトウェア面では、バイナリコードレベルで80186上位互換であり、オリジナルの8086に対しても上位互換であった。

また、8086に不足していたいくつかの命令が補完され、これを使用することで、8086より制限が少なく、より直交性の高い命令を利用可能であった。その他に、ビットストリングを操作する命令なども追加されていた。V30専用のアセンブリニーモニックは、8080からの流れを汲んだ8086のニーモニックに比べ、洗練された構文でプログラムを記述する事が可能なものであったが、実際はV30のニーモニックに対応したアセンブラはほとんど存在しなかった。また80286とは異なる拡張をした命令群は80286以後のインテル系CPUではサポートされないため積極的に用いられず、市場では主に「高速な8086」と見なされて利用されていた。一方で、一部のソフトウェアはV30固有の拡張命令を使用していたため、PC-9801ではソフトウェア資産継承の視点から暫くの間はV30とインテル系CPUを両方実装し、切り替えて使用する方式をとった[3]

CPU内部のバスを増強してデータ転送効率を上げるとともに、所要クロック数の多い乗算、除算命令をハードワイヤード化し、命令実行に要するクロック数を削減したため、多くの命令を8086の約2/3のクロック数で実行可能となり、単純にCPUを差し替えただけで、同一の動作クロックで数%から数10%高速で演算処理を行うことが出来た。

マイクロコードの著作権がセカンドソース契約で問題となり、NECは先手を打って1984年、Vシリーズがインテルの著作権を侵害していないことを確認する訴訟を起こした。これに対してインテルが反訴したため裁判は長引いたが、1989年にV30はi8086の著作権を侵害していないとの判決を得た。ただし、その直接の理由は8086に著作権表示が無く、当該製品に対して著作権が認められないからであった。一方でマイクロコードにも著作権があることが判示され、互換プロセッサの製造が困難となった。86系のマイクロコードの著作権への抵触を回避するために、完全にハードワイヤード化されたV33系へ移行した。

またμPD8080AF(μCOM-80F)を元にした、8080エミュレーション機能を実装していたのも特徴の一つである。1980年代後半においては、一部工業高校などでは、V30搭載型PC-9800シリーズCP/Mエミュレータを搭載し8ビットCPUによるアセンブラ実習に使用されていた(CP/MのBDOSに相当する部分をMS-DOSのデバイスドライバとして実装していた)。

80186とはバイナリ上位互換が保たれていたが、インテルの方針転換によってセカンドソースが許可されなくなったため、80286以降のCPUではV30で拡張された命令との互換性が保てなくなった。

[編集] 用語・レジスタ表記

V30と8086とは用語やレジスタの表記も異なる。相違点は以下の通り(同一名称のレジスタは省略)。

レジスタ表記
8086 V30
AX,BX,CX,DX AW,BW,CW,DW
CS PS
DS DS0
ES DS1
IP PC
SI IX
DI IY

マニュアルの表記はV30のニーモニックとレジスタであるが、実際に用いるにはV30のニーモニックに対応したアセンブラでないと意味がない。

動作モード
8086 V30
ミニマムモード
Minimum mode
小規模モード
Small mode
マキシマムモード
Maximum mode
大規模モード
Large mode

[編集] V33,V33A

V30がマイクロコード著作権で訴えられたことを受けて、内部論理のハードワイヤー化を行い、マイクロコードの違法使用をしていないことを明確にすると共に、マイクロコード実行にかかるオーバーヘッドを削減して実行処理速度の向上、アドレス空間の拡張を図ったものである。PLCCによる製品のみが提供され、40pin-DIPパッケージの8086と差し替えて高速化を図ることは出来なかった。後に、V50のCPUコアを、このコアに置き換えたV53も開発されている。 V33AはV33に存在した80286との非互換部分を修正したもの。 尚、V33系は8080エミュレーションが省かれている[4]

[編集] V40, V50

V20、V30をコアに、8086用周辺チップを集積したもの。既存の8086応用機器にて、複数のチップをまとめて置き換える用途向け。PC-98LTやPC-98HAで使用されている。内蔵されている周辺回路は以下の通り。

クロックジェネレータ
入力されたクロックの周波数を2分周し、CPU内部と外部それぞれへ供給する。
プログラマブル・ウェイト制御ユニット
速度の遅いI/Oメモリを使用する際に読み書きのバスタイミングを延長するためのもの。
リフレッシュ制御ユニット
DRAMを使用する際、自動的にリフレッシュを行ってくれるもの。
タイマ/カウンタユニット(μPD71054サブセット)
タイマ及びカウンタ。16ビットのカウンタを3本内蔵している。
シリアル制御ユニット(μPD71051サブセット)
調歩同期方式のシリアル通信を行う。
割り込み制御ユニット(μPD71059サブセット)
8本までのハードウェア割り込みを調停し、一つずつCPUに伝える。さらにμPD71059を接続してカスケード接続とすることもできる。
DMA制御ユニット(μPD71071サブセット)
4チャンネルのDMAユニット。これにより高速にI/O-メモリ間の転送を実現できる。

なおV40、V50をベースとしたカスタムCPUもいくつか存在しており、PC-88VAに搭載されたμPD9002(V51 V50にZ80エミュレーション機能を追加したもの)などが代表的な存在である。

[編集] V25

V20をコアに、独自周辺回路を集積したもの。また、レジスタセットが複数バンクあり、コンテキストスイッチを高速に切り替える事が出来る。組み込み機器向けを意図して設計されている。


[編集] 32ビットCPU

[編集] V60, V70, V80

V70 (μPD70632GD-20) ジャレコ メガシステム32実装例

独自のアーキテクチャを持つ32ビットCPUとして開発された。32ビットレジスタを32本持ち、全く独自の命令セットであり、非常に豊富なアドレッシングモードを持った直交性の高いアーキテクチャが特徴である。また、複数のCPUを並列接続して相互に監視することで、フォールトトレラントシステムを構成する事が出来た。初めて浮動小数点演算ユニットを1チップに内蔵した。内部32ビット構成、外部16ビットバスのV60と、内部構成・外部バス共に32ビット構成のV70、V80がある。高信頼性システムを構成できる利点を活かしてNTTの交換機に使用された。一部、業務用ゲーム基板のCPUとしても採用されていたが、その採用理由は「市場にほとんど出回っていないCPUのため、逆アセンブルや違法コピーの対策になる」という、いささか後ろ向きな物だった。またV60、V70にはV30エミュレーションモードがあり、旧来のソフトウェア資産も活用できる様になっている。


[編集] RISC CPU

RISCCPUが注目されるのに併せて、V800シリーズが開発された。マーケティング上の理由からVシリーズの一員とされたが、技術的なつながりは無く全く別のアーキテクチャに基づく新規設計CPUである。Hennessy-Patterson本に見られる様な典型的な5段パイプライン構成を取る。

既存組み込み用CPUシリーズの代替あるいは後継機種として組み込み用途に使用されている。また、V810は日本電気ホームエレクトロニクス製の家庭用ゲーム機PC-FX任天堂製のバーチャルボーイにも用いられている。

なお、このシリーズの内、組み込み用途向けのV850はNECエレクトロニクス製記録型DVD/HD DVD/BDドライブ向けチップセットであるSCOMBOシリーズのCPU、あるいはSCOMBOシリーズに属するワンチップコントローラの内蔵CPUコアとして提供されており、これらはソニーオプティアークパイオニアといったメーカーによる光学ドライブ各種に人知れず大量採用されている。


[編集] CISC V20-V80シリーズ

V20(μPD70108)
  • V10 (μPD70008) ※実際にはその名称で正式に発売されていないためVシリーズではない(前述)。Z80コード互換NMOS-CPUであるμPD780(μCOM-82)のCMOS版。

  • V20 (μPD70108) - データバス8bit版、8088ピン互換。
  • V25 (μPD70320,μPD70322) - V20に周辺I/Fを追加した組み込み用途向けプロセッサ。μPD70322はμPD70320からROMを取り除いたもの。
  • V25+ (μPD70325) - V25のDMA転送速度を改善し、高速化したもの。
V30(μPD70116)
  • V30 (μPD70116) - 8086ピン互換。最低クロック周波数は2MHzで、クロックを停止すると復帰時の動作が保証されない
  • V30HL (μPD70116H) - 5Vで16MHz動作可能(または3Vで8MHz)な、V30の高速・省電力版。省電力機能に優れ、周辺チップの消費コントロール機能を持つ。その特長を生かし、コンパクト型デスクトップのPC-9801UFPC-9801UR、ノート型のPC-9801NVPC-9801NLに搭載された。クロックを停止・再開することにより、動作を停止・復帰できる
  • V30MZ - 組み込み用のIPコア。66MHz動作で35MIPSの性能。携帯ゲーム機ワンダースワンにも、カスタムされたものが搭載された。機能が異なるV30MX(33MHz動作で4.3MIPS)もある。両者ともV33系同様、8080エミュレーションはない[5]
  • V33 (μPD70136) - V30に16M迄のメモリを扱えるよう機能を拡張し、さらにオールワイヤード化したプロセッサ。プログラマブルなI/Oウェイト追加機能等、8086のソフトウェアをそのまま動作させる為の機能が豊富に実装されているが、V30とはピン互換では無い。8086互換プロセッサとしては、当時の80286とほぼ同等の処理速度を持つ。
  • V33A (μPD70136A) - 未定義命令割り込みベクタ等、V33に存在していた80286との非互換部分を修正したもの。PC-98DO+やワープロ専用機文豪ミニ5SCに搭載された。[1]
  • V35 (μPD70330) - V30に周辺I/Fを追加した組み込み用途向けプロセッサ。
  • V35+ (μPD70335) - V35のDMA転送速度を改善し、高速化したもの。
  • μPD9002 - V30モードとZ80上位互換の動作モードを持つ。PC-88VAに搭載された。
V40(μPD70208)
  • V40 (μPD70208) - V20に8086ファミリ互換の周辺I/Fを追加した組み込み用途向けプロセッサ。
  • V50 (μPD70216) - V30に8086ファミリ互換の周辺I/Fを追加した組み込み用途向けプロセッサ。コアをV30HLにしたV50HL (μPD70216H)もある。
  • V53 (μPD70236) - V50のコアをV33に変更したもの。
V53A(μPD70236A)
  • V53A (μPD70236A) - V53のコアをV33Aに変更したもの。
  • V55PI (μPD70433) - 80186相当の命令セットとペリフェラルを集積したプロセッサ。
  • V20,V30用数値データプロセッサ (μPD71091 V30NDP) - 数値演算コプロセッサ。Intel 80188,80186を接続した際の動作は考慮はされていないため、これらを接続した際には8087数値演算コプロセッサとは一部の動作が異なる。これを回避するには別途補助回路が必要である[1](NECにて対応するゲートアレイが販売されている)。なお、V30を搭載したPC-9800シリーズにおいては本コプロセッサは採用されず、タイミング等を調整した上で8087を接続する手法が取られていた(そのため、PC-9800シリーズではV30を理想的なタイミングで動作させておらず、パフォーマンスは理想条件より劣る)。

  • V60 (μPD70616) - 内部32ビット、外部バス16ビットの32ビットCPU。全く独自の命令セットであり、非常に豊富なアドレッシングモードを持った直交性の高いアーキテクチャが特徴である。また、初めて浮動小数点演算ユニットを1チップに内蔵した。V30をエミュレートするモードも持ち、ソフトウェア資産の継承も考慮している。また、監視モードを持ち、2基のV60を組み合わせてエラー検出システムを、3基以上を組み合わせて多数決によるフォールトトレラントシステムを構成することが可能であり、高信頼性システムへの応用も目指した。NECからは、PC-9801専用の拡張ボードとセットでUNIXが販売されていた。セガの業務用基板System32やModel1で使用された。他のメーカーでも海賊版ゲーム基板対策で使用された。TRONCHIPの原型にもなった。文豪ミニ5SCではアウトラインフォント展開プロセッサとして採用されている[1]
  • V70 (μPD70632) - V60を完全32ビット化したCPU。TRONCHIPの開発の影響を受けており、ITRON等のRTOSに対応している。NTTの交換機に組み込まれたほか、業務用ゲーム基板に搭載されたり、パーソナルコンピュータX68000用の拡張CPUボードに搭載されると言った応用例がある。H-IIAロケットの誘導制御用コンピュータにも使われている[1]
  • V80 - CISC系としては最後のVシリーズ。V30エミュレーションを削除。一般にはほとんど出回らず。これ以降のNECの32ビット以上のCPUはRISCの、MIPSアーキテクチャのVRシリーズと、後述のV800シリーズに移行。

[編集] RISC V800シリーズ

  • V800 - 新規設計されたRISC。V810/V830/V850などがある。PC-FXや組み込み向け。一部アセンブラの書式がV60~V80に似せてあり、V60~V80のプログラマがプログラムを学習しやすいように配慮されていた。

[編集] 脚注

[ヘルプ]
  1. ^ 月刊アスキー別冊 蘇るPC-9801伝説 永久保存版 第2弾 2007年4月9日初版 「NEC V30開発秘話」 (ISBN 978-4-7561-4883-4)
  2. ^ なお、8086の中には沖電気のMSM80C86A-10(10MHzバージョン)のように、メーカやクロック周波数によってはデューティ比が1:1のものもあり、これらからの交換の場合はさらに有利だった
  3. ^ EPSON PCシリーズでは、ほとんどのPC-286・すべてのPC-386/486/586にはV30を搭載しておらず、このようなソフトウェアの中には正常に動作しないものもあった(PC-286Uや初期のPC-286NOTEのように、PC-286シリーズのごく一部の機種にはV30のみ搭載)。後年(1990年~'91年頃)ではPC-9800シリーズにおいてもV30を省いたため、同様の問題を抱える事になるが、その頃にはそのようなソフトが少なくなったため、あまり表面化しなかった
  4. ^ 16-BIT V SERIES USER'S MANUAL(ドキュメントNo. U11301EJ5V0UMJ1 英文) 1ページおよびFigure 1-1
  5. ^ V30MZユーザーズ・マニュアル(暫定) (ドキュメントNo. A13761JJ1V2UM00)

最終更新 2009年10月25日 (日) 01:43 (日時は個人設定で未設定ならばUTC)。
【NEC Vシリーズ】変更履歴

ご利用上の注意