「65816 (コンピュータ)」の版間の差分

削除された内容 追加された内容
m →‎CPUの特徴: ポインタ (プログラミング)|
m編集の要約なし
1行目:
[[ファイル:W65C816S8PG-14 lg.jpg|thumb|DIP40パッケージの'''W65C816S'''マイコン。正方形の[[LCC]]プロセッサもある。]]
 
'''W65816'''(65C816)は、[[アメリカ合衆国|アメリカ]]・[[ウェスタンデザインセンター]] (WDC) の[[16ビット]][[CPU]]で、[[モステクノロジー]][[MOS 6502|6502]]の後継にあたるCPUである。65816の''65''は6502と互換性があることからきており、''816''は8ビットモードと16ビットモードの両方で動作することを意味している。
 
== 概要 ==
8行目:
[[1980年代]]中頃から[[1990年代]]初頭にかけて、GTEとサンヨーを含む4社が65816を[[セカンドソース]]で供給していた。[[2006年]]現在でもまだWDCから販売されており、またWinbondの教育用TVのICであるW55V9xシリーズのような一部のシステムでは[[IPコア]]としてアーキテクチャが実装されている。
 
WDCの創設者でありCEOのBill Menschによってプロセッサの大半が設計された。彼は[[1982年]]に[[アップル インコーポレイテッド(企業)|アップルコンピュータ]]の顧問を務めた後でチップの開発を始めた。彼の仕事を援助した唯一の人間はレイアウトを担当した彼の妹<!--姉かも-->のキャサリンだけだった。[[1984年]][[3月]]にアップルと[[アタリ (企業)|アタリ]]へサンプルを送付し、チップの開発は完了した。
 
[[ルネサス エレクトロニクス]]の[[マイクロコンピュータ]]・7700シリーズは65816と共通した設計だが、完全な互換性はない。
 
== CPUの特徴 ==
19行目:
*16MBのメモリ空間をアクセスできる24bitの[[アドレスバス]]。
*16bitの[[演算装置#ALU|ALU]]、[[アキュムレータ (コンピュータ)|アキュムレータ]]、[[スタック]]、[[ポインタ (プログラミング)|ポインタ]]、[[インデックスレジスタ]]。
*デュアル[[キャッシュ]]およびサイクルスティールの[[Direct Memory Access|DMA]]実装のためのVDA (Valid Data Address) 出力とVPA (Valid Program Address) 出力。
*[[割り込み (コンピュータ)|割り込み]]ベクタがアドレスされるときにVPB (Vector Pull) を出力。
*プロセッサのバスエラー状態からの復帰をサポートするアボート (ABORTB) 入力とその関連ベクタ。
*プログラムのセグメンテーションまたは16MBの完全にリニアなアドレッシングを可能にするプログラムとデータバンクレジスタの分離。
*[[リエントラント]]、[[再帰]]、[[リロケータブル]]プログラミングの機能を提供する、ダイレクトレジスタとスタック相対アドレッシング。
*24のアドレッシングモード-256のopコード(WDC(WDC 65C02の一部の新しいopコードを含む)を利用した92の命令セットでの13の6502互換(アドレッシング)モード。
*さらに電力を削減し、割り込みレイテンシを減らし、外部イベントと同期できるようにするWAI (Wait-for-Interrupt) とSTP (Stop-the-Clock) 命令。
*COP (Co-Processor) 命令とそのベクタはコプロセッサの構成(例えば浮動小数点プロセッサ)をサポートする。
*ブロック移動機能。
 
== 65802 ==
'''W65802''' ('''65C802''') は6502と完全にピン互換の65816CPUである。65802は1980年代中~後期から1990年代初頭にかけてWDCとGTEで量産された。
 
このチップは[[8ビット]]の8502/65C02から新しい16ビットの65812へのアップグレードパスとして設計された。65802は6502/65C02のような(64KBのメモリ空間の)16ビットのアドレスバスがあり、65816の24ビットのアドレスバスより削減された。バンク選択レジスタ等の65816の全てのレジスタは65802CPUのコアに残っており、これらは単に動作時に作用しない。ハードウェアメーカーがプロジェクトを一から設計する場合はよりパワフルな65816が一般的に使われた。