サブページ
$CPU000

プロセッサの概要

Motorola 68000はAmigaの中央プロセッサである。7.09 MHz(PAL)または7.16 MHz(NTSC)で動作し、32ビット内部アーキテクチャを16ビット外部データバスと24ビットアドレスバスで提供し、16 MBのアドレス空間にアクセスできる。カスタムチップセットがDMA経由でグラフィックス、サウンド、I/Oを自律的に処理する一方で、68000はオペレーティングシステムとユーザープログラムを実行する。

68000は64ピンDIP(Dual Inline Package)パッケージで提供される。Amiga 500ではマザーボードの右側に配置される——基板上で最も背の高いチップだ。

主な仕様

  • クロック: 7.09 MHz(PAL)/ 7.16 MHz(NTSC)
  • データバス: 外部16ビット(D0–D15)、内部32ビット
  • アドレスバス: 23ライン(A1–A23)、UDS/LDSによるバイトアドレッシング
  • レジスタ: データ8本(D0–D7)、アドレス7本(A0–A6)、USP、SSP、PC、SR
  • 命令セット: CISC、可変長(2–10バイト)
  • モード: ユーザーとスーパバイザ
$CPU000

ピン構成

68000の64ピンは、データ転送、アドレッシング、バス制御、割り込み処理の機能グループに分類される。

データ & アドレスバス
D0–D1516ビット双方向データバス
A1–A2323ビットアドレスバス(A0はUDS/LDSでエンコード)
バス制御信号
AS̄アドレスストローブ — アクティブロー、バス上のアドレスが有効であることを示す
R/W̄リード/ライト — High=リード、Low=ライト
UDS̄アッパーデータストローブ — アクティブロー、上位バイト(D8–D15)を選択、偶数アドレス
LDS̄ロワーデータストローブ — アクティブロー、下位バイト(D0–D7)を選択、奇数アドレス
DTACK̄データ転送アクノリッジ — ペリフェラルが転送完了を通知

68000は非同期バスプロトコルを使用する。各バスサイクルは、プロセッサが有効なアドレスとともにAS̄をアサートすることで始まる。アドレス指定されたデバイスはデータの準備ができたときにDTACK̄をアサートして応答する。応答がない場合、バスサイクルは無期限に待機する——AmigaのGaryチップが内部アドレス範囲に対してDTACK̄を生成する。

ファンクションコード
FC0–FC23ビットファンクションコード、アドレス空間タイプを示す
FC2 FC1 FC0 アドレス空間
001ユーザーデータ
010ユーザープログラム
101スーパバイザデータ
110スーパバイザプログラム
111割り込みアクノリッジ
$CPU000

割り込み

68000は7段階の割り込み優先度をサポートする。3本の入力ピン(IPL0̄–IPL2̄)が保留中の割り込みレベルをエンコードする。プロセッサはこれをステータスレジスタの割り込みマスクと比較し、保留中のレベルが高い場合に割り込みを処理する(レベル7はマスク不可)。

割り込みピン
IPL0̄–IPL2̄割り込み優先度レベル — アクティブロー、エンコード(111=割り込みなし、000=レベル7 NMI)

Amigaでは、カスタムチップとCIAが割り込みを生成し、Paulaが優先度を付けて68000にルーティングする:

レベル ベクタ 優先度 ソース
1$064最低ソフトウェア割り込み、ディスク同期、シリアルTBE
2$068CIA-A(I/Oポート、タイマー、TOD)
3$06CCopper、VBL、Blitter完了
4$070オーディオチャネル0–3
5$074シリアル受信、ディスクDMA
6$078CIA-B(パラレルポート、タイマー)
7$07CNMIマスク不可(拡張ハードウェアでのみ使用)
$CPU000

バスアービトレーション

68000はカスタムチップセットのDMAコントローラ(Agnus)とバスを共有する。3つの信号がバスの所有権を管理する:

バスアービトレーション信号
BR̄バスリクエスト — DMAコントローラがバスの所有権を要求
BḠバスグラント — 68000がアクノリッジ、現在のサイクル後にバスを解放
BGACK̄バスグラントアクノリッジ — DMAコントローラがバスの引き継ぎを確認

実際には、Agnusは68000から透過的にサイクルを「盗む」。Amigaのバスタイミングは、各280 nsバスサイクルを奇数偶数のスロットに分割する。DMAチャネル(ビットプレーン、スプライト、オーディオ、ディスク、Copper、Blitter)が特定のスロットを使用し、68000は残りを使用する。

DMACONBLTPRIがセットされている場合、Blitterは68000に対して絶対的な優先権を持ち、大きなブリット操作の間プロセッサをフリーズさせることがある。

$CPU000

システム制御

システム制御ピン
HALT̄プロセッサを停止 — 双方向。ダブルバスフォルト時にプロセッサがローに駆動。
RESET̄システムリセット — 双方向。外部リセットでプロセッサを初期化、スーパバイザモードのRESET命令でCPU状態に影響せずペリフェラルをリセット。
BER̄Rバスエラー — 無効なバスサイクルを通知、例外処理を起動
VPĀ有効ペリフェラルアドレス — 6800互換同期バスサイクルを通知(CIAアクセスに使用)
Eイネーブル — CLK/10のクロック出力、6800ファミリペリフェラル(CIA)用
VMĀ有効メモリアドレス — プロセッサが同期サイクルをアクノリッジ

Eクロックは約709 kHz(CLK÷10)で動作し、2つのCIA 8520チップのタイミング基準を提供する。CIAへのアクセスは標準的な非同期プロトコル(DTACK̄)ではなく、6800互換同期バスプロトコル(VPĀ/VMĀ/E)を使用するため、CIAアクセスはカスタムチップレジスタアクセスよりも本質的に遅い。