MC68040
出典: フリー百科事典『ウィキペディア(Wikipedia)』
MC68040(えむしーろくまんはっせんよんじゅう)は モトローラの開発していたマイクロプロセッサであるが実際出荷されていたのはXC68040でありMCではない。また、MC刻印の68040もこれを書いているときには発見できていない。
68030の後継であり、その系統は68060に受け継がれた(68050はプロジェクトが断念され、出荷されなかった。68050は68020に対する68030のようにダイサイズを小さくしてキャッシュを増やす予定だった)。
68040は68000ファミリで初めてFPU(浮動小数点演算ユニット)をチップに内蔵した。 これによりこれまで外付けの必要があった全ての機能が内蔵されたことになる(FPUとMMU(68030の時点で内蔵))。 また、分離された命令キャッシュとデータキャッシュを4Kバイトずつ搭載している。 命令パイプラインは6ステージになっている。
68040は設計の早い段階でトランジスタ数が限界に達することが判明した。 MMUがトランジスタをあまり必要としなかったように(CPUとMMUを同じダイ上に置くことでインタフェース部分のトランジスタを省くことができたため)、FPUも同じと当初は思われていた。 モトローラの68882 FPUは非常に高性能なユニットであることで知られていて、モトローラとしては性能の高い"RC"版ではなく性能の低い"LC"版を搭載することだけは避けようとした。 68040の内蔵FPUは結果として68881や68882で使用可能だったIEEEの超越関数を使えなくしてしまった。 超越関数はフラクタル生成ソフトウェアなどで使われていた。 モトローラの提供する浮動小数点サポートパッケージ(FPSP)で超越関数をエミュレートするようになっている。 ただし、これは未実装命令を実行しようとしたときに例外が発生し、その例外ハンドラ内でエミュレートするものであるため、頻繁に使用すると性能が劇的に低下する。
68040では熱が大きな問題となった。 同一クロック周波数では68030の倍以上の性能を誇ったが、大きなダイサイズと大きなキャッシュのために消費電力が大きくなってしまった。 このために40MHzまでしかクロック周波数を上げられなかった。 50MHz版が計画されたが破棄された。個人的にクロックアップを試みた人々によると、then-hardcore ヒートシンクとファンを使って50MHz動作を確認したという。 68040は80486と対抗したが、同一クロック周波数で性能を比較した場合でも負けていた。 (訳注:しかも80486は最高100MHzまでクロック周波数を上げられたのである)
68040のバリエーションは特定の市場向けに開発された。 68LC040はFPUを排除したバージョン、68EC040はFPUもMMUも排除したバージョンである。
[編集] 主な使用例
- コモドール Amiga
- アップル・コンピュータ Macintosh Quadra
- NeXTコンピュータ社 NeXT
- その他のワークステーション