MC68040
出典: フリー百科事典『ウィキペディア(Wikipedia)』
MC68040(エムシー)は米・モトローラの開発していたマイクロプロセッサであるが実際出荷されていたのはXC68040でありMCではない。また、MC刻印の68040もこれを書いているときには発見できていない。
68030の後継であり、その系統は68060に受け継がれた(68050はプロジェクトが断念され、出荷されなかった。68050は68020に対する68030のようにダイサイズを小さくしてキャッシュを増やす予定だった)。
68040は68000ファミリで初めてFPU(浮動小数点演算ユニット)をチップに内蔵した。 これによりこれまで外付けの必要があった全ての機能が内蔵されたことになる(FPUとMMU(68030の時点で内蔵))。 また、CISCプロセッサでありながらも内部ハーバード・アーキテクチャを採用[1]し、メモリユニットは命令メモリユニットとデータメモリユニットに分離されており、命令メモリユニットに命令キャッシュ(4Kバイト)と命令MMU、キャッシュ/スヌープ・コントローラ、かつデータメモリユニットにデータキャッシュ(4Kバイト)とデータMMU、キャッシュ/スヌープ・コントローラを搭載している。 命令パイプラインは6ステージになっている。
68040では、120万トランジスタを集積している。演算性能では平均20MIPSを越す性能を有することから、MC68030の同一クロックと比較して平均2.5から3倍程度高速である。さらに68040の内蔵FPUは、ピーク性能で8MFLOPS、平均で3.5MFLOPS程度の性能があり、MC68882 FPUの同一クロックと比較して平均4から6倍程度高速である[1]。
68040は設計の早い段階でトランジスタ数が限界に達することが判明した。 MMUがトランジスタをあまり必要としなかったように(CPUとMMUを同じダイ上に置くことでインタフェース部分のトランジスタを省くことができたため)、FPUも同じと当初は思われていた。 モトローラのMC68882 FPUは非常に高性能なユニットであることで知られていて、モトローラとしては性能の高い"RC"版ではなく性能の低い"LC"版を搭載することだけは避けようとした。 68040の内蔵FPUは結果として68881や68882で使用可能だったIEEEの超越関数を使えなくしてしまった。 超越関数はフラクタル生成ソフトウェアなどで使われていた。 モトローラの提供する浮動小数点サポートパッケージ(FPSP)で超越関数をエミュレートするようになっている。 ただし、これは未実装命令を実行しようとしたときに例外が発生し、その例外ハンドラ内でエミュレートするものであるため、頻繁に使用すると性能が劇的に低下する。
68040では熱が大きな問題となった。 同一クロック周波数では68030の倍以上の性能を誇ったが、大きなダイサイズと大きなキャッシュのために消費電力が大きくなってしまった。 このために40MHzまでしかクロック周波数を上げられなかった[要出典]。 68040はi486と対抗したが、同一クロック周波数で性能を比較した場合でも負けていた[要出典]。 (i486は内部クロックのみであるが最高100MHzまでクロック周波数を上げられた)
68040のバリエーションは特定の市場向けに開発された。 68LC040はFPUを排除したバージョン、68EC040はFPUもMMUも排除したバージョンである。
目次 |
[編集] 主な使用例
[編集] 参考文献
この記述は GNU Free Documentation License のもとに公開されているコンピュータ用語辞典『 Free On-line Dictionary of Computing (FOLDOC) 』に基づいています。
[編集] 脚注
[編集] 外部リンク
- MC68040 Product Summary Page
- MC68040V Third-Generation 32-Bit Low-Power Microprocessor (PDF)
- M68040 Microprocessors User's Manual (PDF)