2006/04/28(金) [n年前の日記]
#2 [pc] _MOS Technology MCS6502 - 6502 についての紹介
「6502にはADD命令も無かった」という話をコメント欄で聞いて「マジすか!?」と思ったので検索。
しかし、単純で洗練されたハードウェアアーキテクチャーを持つことにより処理速度の速さを手に入れ、8bitで唯一の簡単ではあるが擬似的なパイプライン処理で命令のデコードと処理をパラレルに行うことで更に処理速度がアップしています。また,アドレッシングモードも、インダイレクト・インデックス、インデックスド・インダイレクトなど他のCPUには無いプログラマーの自由な発想に応えうるモードを持ち、レジスタもメモリーの最初の256バイトをレジスタやインデックスレジスタとして使うアドレッシングモードにより、128本の16bitレジスタを持つと考えることが出来ます。
つまり窮屈で不便と思われた6502も腕におぽえのある優秀なプログラマーやエンジニアにとっては当時並外れて強力なチップだったのです。登場より十数年後でも (かなりの旧型と言わざるを得ないにもかかわらず)使われていた優秀なチップと言えます。なるほど…。命令を少なくすることで処理速度を確保というのは、思想的に RISC 等と通ずるところがありそうな。
◎ _NES on FPGA CPU :
ホントだ。ADC,SBC しかない。たしかに、思い切った設計ですな…。
◎ _アセンブラが買えずハンドアセンブルした人の数→ :
Z80で勉強してた人なので、XOR A は懐かしいです。
*1
◎ _機械語プログラミング - Z80 :
元々は「乗算命令もない」というあたりから出てきた話なので、そのへんもメモ。
Z80には乗算命令はないから、乗算するにはプログラムを作成する必要がある。a * b (b>0)の最も簡単な手法は、aをb回加えることである。機械語プログラミング より
◎ そもそも線分情報でアタリをとったりするものだろうか。 :
矩形のアタリ判定だけで解決できないかな。
*1: XOR A ... 論理演算を用いて、結果的にAレジスタをクリアする。一番クロック数が少なくて済むやり方。だったかな。
[ ツッコむ ]
以上です。