MC68020
従来 じゅうらい の同 どう 系統 けいとう のプロセッサはデータバス16ビットでアドレスバス23ビットだったのに対 たい して、68020はアドレスバス もデータバス もプロセッサ内外 ないがい 含 ふく めて完全 かんぜん に32ビット 化 か されていた。新 あら たなパッケージング技法 ぎほう により、従来 じゅうらい のDIP に対 たい してサイズを大 おお きくすることなく多 おお くのピンを出力 しゅつりょく できるようになっている。68EC020はアドレスバスを24ビットにしてコストを低減 ていげん させている。68020は12MHzから33MHzの速度 そくど の製品 せいひん が出荷 しゅっか された。
68020は、演算 えんざん 論理 ろんり ユニットALU と外部 がいぶ データバスと外部 がいぶ アドレスバスの32ビット化 か 、新 あら たな命令 めいれい とアドレッシングモード の追加 ついか 、プリフェッチ の強化 きょうか など、68010に様々 さまざま な改良 かいりょう を施 ほどこ している。また3ステージのパイプライン を導入 どうにゅう 。それによってより高 たか いクロック周波数 しゅうはすう が実現 じつげん でき、命令 めいれい の実行 じっこう 速度 そくど が向上 こうじょう した。68010には「ループモード」があり小 ちい さなループを小 ちい さな命令 めいれい キャッシュの保持 ほじ して高速 こうそく 化 か することができたが、あまり効果 こうか はなかった。68020ではそれを普通 ふつう の256バイトの命令 めいれい キャッシュに置 お き換 か え、68kシリーズで初 はじ めてキャッシュメモリ を内蔵 ないぞう することとなった。
68000と68010では、ワード(16ビット)とロングワード(32ビット)がワード境界 きょうかい (アドレスが偶数 ぐうすう の位置 いち )にあるときのみ、ワードまたはロングワードとしてアクセスできるという制限 せいげん があった。68020ではこのデータ配置 はいち 制限 せいげん も取 と り除 のぞ かれた。ただし整列 せいれつ されていないロングワードへのアクセスは、整列 せいれつ されたロングワードへのアクセスよりも遅 おそ い。
リアルタイムオペレーティングシステム を考慮 こうりょ し、従来 じゅうらい のユーザーモード/スーパーバイザモードそれぞれのスタックポインタに加 くわ えて、割 わ り込 こ み用 よう スタックポインタが追加 ついか された。割 わ り込 こ みの受 う け入 い れとその処理 しょり を分離 ぶんり できるようになり、従来 じゅうらい のように割 わ り込 こ み処理 しょり 中 ちゅう に処理 しょり を完結 かんけつ させる必要 ひつよう 性 せい が軽減 けいげん された。
MC68020 には、新 あら たにコプロセッサ インターフェースが搭載 とうさい された。これにより、最大 さいだい 8個 こ のコプロセッサを接続 せつぞく できる。メインCPUは「Fライン命令 めいれい 」(オペコード の先頭 せんとう 4ビットが全 すべ て1の命令 めいれい )を認識 にんしき すると、特別 とくべつ なバスサイクルでコプロセッサとやり取 と りし、その命令 めいれい をコプロセッサに実行 じっこう させる。コプロセッサとしては、メモリ管理 かんり ユニット(MMU )MC68841/MC68851 や浮動 ふどう 小数点 しょうすうてん 数 すう 演算 えんざん 装置 そうち (FPU )MC68881 /MC68882 が用意 ようい された。MMUはCPU1つに対 たい して1つだけ接続 せつぞく 可能 かのう 。FPUは原理 げんり 的 てき には複数個 ふくすうこ 接続 せつぞく 可能 かのう だが、通常 つうじょう は1つだけ接続 せつぞく した。コプロセッサとの接続 せつぞく は非同期 ひどうき バスで行 おこな われるため、メインプロセッサと同 おな じ周波数 しゅうはすう のコプロセッサでなくても動作 どうさ した。
マルチプロセッシング は、RMCピン[1] で外部 がいぶ にリード・モディファイ・ライト (英語 えいご 版 ばん ) サイクル実行 じっこう 中 ちゅう であることを示 しめ す信号 しんごう を供給 きょうきゅう することで実装 じっそう されている。他 た のプロセッサはその間 あいだ メモリアクセスを控 ひか える[1] 。ソフトウェアサポートとしては、TAS 命令 めいれい 、CAS 命令 めいれい 、CAS2命令 めいれい などがある。
マルチプロセッサシステムでは、CPU間 あいだ でコプロセッサを共有 きょうゆう できない。コプロセッサからの復帰 ふっき 、バスエラーやアドレスエラー例外 れいがい からの復帰 ふっき に関 かか わる問題 もんだい を防 ふせ ぐため、一般 いっぱん にマルチプロセッサシステム内 ない の全 ぜん CPUが同 どう 一 いち モデルでなければならず、全 ぜん FPUも同 どう 一 いち モデルでなければならない。
新 あら たな命令 めいれい としては、スーパーバイザモードについてのいくつかの改善 かいぜん と拡張 かくちょう 、マルチプロセッシングシステムのソフトウェア制御 せいぎょ のためのいくつかの命令 めいれい (68060では削除 さくじょ された)、高級 こうきゅう 言語 げんご サポートのためのいくつかの命令 めいれい (あまり使 つか われず、以降 いこう の68kプロセッサでは削除 さくじょ された)、32ビット整数 せいすう 同士 どうし の掛 か け算 ざん (結果 けっか は64ビット)、64ビット数値 すうち を32ビット数値 すうち で割 わ る割 わ り算 ざん (結果 けっか は32ビットの商 しょう と余 あま り)、ビットフィールド 操作 そうさ 命令 めいれい がある。
68000にも「スーパーバイザモード」があったが、特権 とっけん モードで保護 ほご しなければならない 'MOVE from SR' という命令 めいれい が非 ひ 特権 とっけん モードで実行 じっこう 可能 かのう だったためPopekとGoldbergの仮想 かそう 化 か 要件 ようけん を満 み たしていなかった。68010以降 いこう 、これが特権 とっけん 保護 ほご されるようになり、仮想 かそう 化 か ソフトウェアをサポートしやすくなった。
なお、F(1111)ラインエミュレータにおいて、メモリを参照 さんしょう するオペコードを実行 じっこう した場合 ばあい 、メモリーへの投機 とうき 実行 じっこう が行 おこな われる。この為 ため 、1111ラインエミュレータにシステムコールを配置 はいち したOS(例 たと えばシャープ /ハドソン Human68k のVer.2.0以前 いぜん )では予期 よき せぬメモリアクセスによってバスエラー が発生 はっせい するという問題 もんだい が生 しょう じた。この問題 もんだい はA(1010)ラインエミュレータでは発生 はっせい しない。
新 あたら しいアドレッシングモードとしては新 あら たな間接 かんせつ モードが既存 きそん のモードに追加 ついか され、インデックスの使 つか い方 かた が柔軟 じゅうなん になった。
あまり触 ふ れられることはないが、これらの新 あたら しいアドレッシングモードによって68020はページプリンティングに最適 さいてき となり、90年代 ねんだい 初頭 しょとう の多 おお くのレーザープリンター が68EC020コアを使用 しよう した。
68020の命令 めいれい バッファ(命令 めいれい キャッシュ)は256バイトで、1エントリ4バイトの64エントリがダイレクトマップで配置 はいち された。小 ちい さなキャッシュではあるが、アプリケーションの性能 せいのう 向上 こうじょう に大変 たいへん 効果 こうか があった。またそれによってバストラフィックが低減 ていげん され、特 とく にDMA を多用 たよう するシステムに有利 ゆうり となった。
XC68020の底面 ていめん
正式 せいしき 名称 めいしょう
MC68020[2]
動作 どうさ 周波数 しゅうはすう
12.5 , 16.67 , 20 , 25 , 33 MHz (最低 さいてい 周波数 しゅうはすう は 8 MHz。クロックは外部 がいぶ から供給 きょうきゅう )[2]
供給 きょうきゅう 電圧 でんあつ
5 V
最大 さいだい 消費 しょうひ 電力 でんりょく
1.75 W [2]
製造 せいぞう プロセス
HCMOS, 3/8" シリコンピース[2]
パッケージ
PGA 169 (114ピンを使用 しよう ) 34.16 x 34.16 mm [2] (ヒートシンク無 む で 53 °C/W)[3]
アドレスバス
32ビット(4GBのフラットなアドレス空間 くうかん に直接 ちょくせつ アクセス可能 かのう )[2]
データバス
32ビット
命令 めいれい セット
101命令 めいれい CISC
キャッシュ
256バイト 命令 めいれい キャッシュ[4] [2]
レジスタ
アドレスレジスタ7本 ほん (32ビット)[2]
データレジスタ8本 ほん (32ビット)[2]
トランジスタ数 すう
~200 000 [2]
性能 せいのう
10 MIPS @ 33MHz [4]