RCA 1802

コスマック
RCA CDP 1802
一般情報
発売1974
物理的仕様
パッケージ
歴史
後継CDP1804、CDP1805、CDP1806
RCA CDP1802 ダイショット

COSMAC (相補対称型モノリシックアレイコンピュータ)は、RCAが発表した8ビットマイクロプロセッサフ​​ァミリーです歴史 、最初のCMOSマイクロプロセッサとして知られています。[1]最初の生産モデルは2チップのCDP1801RCDP1801Uで、後にこれらは1チップのCDP1802に統合されました。[2] 1802はCOSMACの生産の大部分を占め、今日ではシリーズ全体は単にRCA 1802として知られています。

このプロセッサ設計の歴史は、 1970年代初頭にジョセフ・ワイズベッカー自宅でTTL部品を用いて設計した実験的な家庭用コンピュータに遡ります。RCAは1973年にCMOS版プロセッサの開発を開始し、1974年にサンプル出荷を行い、すぐにシングルチップ実装に移行する計画でした。ジェリー・ヘルツォグがシングルチップ版の設計を主導し、1975年にサンプル出荷、1976年に生産開始となりました。[3] [4]

当時のほとんどの設計がNMOSプロセスで製造されていたのに対し、COSMACはCMOS形式で実装され、スタティックロジックを採用していました。これにより、低消費電力で動作し、完全に停止させることさえ可能でした。さらに、NMOSチップほど発熱量が少なく、低温で動作しました。RCAは耐放射線性を強化したバージョンも製造しており、航空宇宙分野で使用されました。[5]これらは2022年現在も生産されており、[5] 2008年時点ではルネサス(旧インターシル)によって生産が継続されていました[6] [7]

1802の後継機種はCDP1804、CDP1805、CDP1806です。これらは拡張命令セットとその他の拡張機能(オンチップRAMとROM、内蔵タイマーなど)を備えており、一部のバージョンはクロック速度が高速化されていますが、速度差はそれほど大きくありません。DMA自動ブートローダー機能など、一部の機能は廃止されています。ピン機能にも若干の変更が見られますが、このシリーズはオリジナルの40ピンDIP デュアル・インライン・パッケージ)形式で引き続き生産されています[いつ? ]

歴史

フレッド

ジョセフ・ワイズベッカーは、家庭におけるコンピュータの可能性に長年魅了され、1955年には早くも、将来的にはほぼあらゆる機器にコンピュータが組み込まれるだろうと述べていました。当時の技術では小型の組み込みコンピュータは不可能でしたが、 1960年代に集積回路(IC)が登場したことで状況は劇的に変化しました。1974年、彼はIEEE Computer誌の記事でその可能性について次のように述べています。

20年間、コンピュータのハードウェアはますます複雑になり、言語はより巧妙になり、オペレーティングシステムは効率を低下させてきました。しかし今、マイクロコンピュータは、一部の人々に、よりシンプルなシステムに戻る機会を与えています。安価なマイクロコンピュータは、広大な新市場を開拓する可能性があります。[8]

1970年初頭、[a]ワイズベッカーはRCAトランジスタ・トランジスタ・ロジック(TTL)ICを用いてプロセッサを組み立てる小型機械の設計に着手した。スイッチやランプなどのその他の部品はラジオシャックから購入する必要があり、なぜそんなに多くの部品を買っているのかと聞かれないように、意図的に4店舗に分けて購入した。[9]この設計は1971年10月に稼働を開始し、100個のチップ[1]が複数の回路基板に分散配置されていた。[1]

その結果、彼はFRED(Flexible Recreational Educational Deviceの略)と名付け、数年後のAltair 8800と似たような箱に収められました。前面パネルには入力用のトグルスイッチ、出力用のランプが付いており、後には16進パッドキーボードも追加されました。[9]ワイズベッカーは継続的に新機能を追加し、1972年までに文字ジェネレータとカセットテープへのプログラムの読み込みと保存機能が追加されました[1]

ワイズベッカーの娘、ジョイス・ワイズベッカーはすぐにこのシステムに魅了され、プログラムを書き始めました。その中にはいくつかのゲームが含まれており、それらはCOSMACをベースにした後継機に移植されました。1970年代後半にRCAがゲーム機事業に参入した際、これらのゲームはROMカートリッジの形で焼き込まれ、ジョイスは商業用ビデオゲーム開発者として初めて知られる女性となりました。[9]

リリース

ワイズベッカーはこの間ずっとRCAの経営陣にこのマシンのデモを行っていたが、当初はほとんど関心を示さなかった。これは、デビッド・サーノフが引退し、CEOの座を息子のロバート・サーノフに譲った直後のことだった。ロバートは、レコーディング・スターとの交際をしながら、会社のメディア部門の構築に熱心で、業界をリードする数々の開発が行われていたRCA研究所を無視していた。経営陣が懐疑的な態度を示したのは、RCAが最近、メインフレーム・コンピュータ事業を巨額の減損処理を伴ってスペリー・ランド売却したことが一因だったのかもしれない[9]

最終的に、同社はこのシステムに興味を持ち、新たに導入したCOS/MOS製造システムへの適応を開始しました。1973年の研究所報告書[b]には、1972年に「プロトタイプ」が納入されたと記されていますが、これはおそらくオリジナルのTTL実装を指していると思われます。さらに、プロセッサを2チップ実装に縮小する取り組みが行われ、1974年にCOS/MOSで納入されたことも記されています。ここで初めて、このプロセッサは相補対称モノリシックアレイコンピュータ(COmplementary-Symmetry-Monolithic-Array Computer)の頭文字をとってCOSMACと呼ばれています。さらに、別の研究所が8チップのシリコン・オン・サファイア基板でこのシステムを製造する予定であるとも記載されていますが、その時期はCMOS版の「すぐ後」とだけ記されており、シングルチップ版の計画も既に進行中でした。[10] [c]

COSMACデバイス

RCAは1970年代初頭にCOSMACの開発を開始しましたが、それをベースにした自社製品を発売するまでにはしばらく時間がかかりました。1975年には、コイン式ゲーム機事業向けに、交換可能なROMを搭載したアーケードゲーム機のプロトタイプが開発されましたが、最終的には中止されました。[9]

一方、ワイズベッカーは、RCA社内で当時System 00として知られていたオリジナルのFREDを改良し、新しいチップセットを用いて、当時COSMAC ELFとして知られる大幅に簡素化されたシングルボードシステムを開発しました。1976年のPopular Electronics誌の記事で構築手順が解説され、1977年の2番目の記事では、様々なアップグレードを加えた拡張版が掲載されました。ELFのユニークな特徴は、起動時に読み取り専用メモリ(ROM)を必要とせず、プロセッサのダイレクトメモリアクセス(DMA)システムを使用してフロントパネルのスイッチを直接メモリに読み取ることです。[9]

RCAは、ELFのパッケージ版を市場に投入するかどうかを検討していました。議論を重ねるうちに、さらなる開発が進み、ELFと新しいディスプレイドライバチップCDP1861を組み合わせた簡易版のゲームコンソールが完成しました。この頃、ジョイス・ワイズベッカー(ジョセフの娘)はRCAに雇われ、このプラットフォーム向けにいくつかのビデオゲームを開発しました。その中には、 RCAの買収攻勢に巻き込まれた多くの企業の一つであるランダムハウスと提携したクイズ形式の教育用製品も含まれていました。[9]

1年間の議論を経て、同社は最終的にこのプラットフォームをベースにした2つの量産製品を発売することを決定した。キットコンピュータ「COSMAC VIP」とゲームコンソール「RCA Studio II」である。これらのマシンは1975年から販売されていたが、Studio IIが発表されたのは1977年1月、フェアチャイルド・チャンネルFがカートリッジベースマシンとして初めて市場に登場してから数か月後のことだった。両機種と​​も、同年後半に発売されたAtari 2600によってすぐに影を潜め、ほとんど忘れ去られることになる。RCAは1978年2月にStudio IIの開発を中止した。[9]

RCAは、1802の発売当初からRCAの倒産に至るまで、RCA Microboardフォームファクターをベースにした一連のモジュラーコンピュータシステムをリリースしました。これらは主に産業用アプリケーションとシステム開発を対象としており、高度な構成が可能でした。[12]

埋め込み使用

COSMAC は、初期の 8 ビット プロセッサの中では、マイクロコンピュータでの使用を明確に想定して設計された点で独特でした。当時の他の設計は、必然的に組み込みプロセッサ分野を対象としていました[引用が必要] 。コンピュータ用に設計されたものは、一般的にもっと複雑なシステムで、16 ビットであることが多かったです[引用が必要]。COSMAC はコンピュータでの使用を想定して設計されていましたが、RCA の市場参入が遅れ、この市場でのサポートも不十分だったため、結局は失敗に終わり、MOS 6502Intel 8080Zilog Z80などのプロセッサがこの市場を独占するようになりました。皮肉なことに、COSMAC は CMOS 設計によって低消費電力を実現できたため、最終的には組み込み市場で大きな成功を収めることになります。1970 年代後半には、多くの産業環境で広く使用されるようになり、特に航空宇宙分野で広く使用されるようになりました。1989年には、木星探査機ガリレオで複数の 1802 が補助 IO プロセッサとして使用され、現在も同様の役割で使用されています。[9]

アプリケーション

マイクロコンピュータシステム

初期のマイクロコンピュータの多くは1802をベースにしており、COSMAC ELF(1976年)、Netronics ELF II、Quest SuperELF、COSMAC VIPComx-35、フィンランドのTelmac 1800Telmac TMC-600、Oscom Nano、ユーゴスラビアの Pecom 32および64、そして1970年代後半にMontgomery Ward社を通じて販売されたCyber​​Vision 2001システムなどが挙げられる[13] 。また、RCA Studio IIビデオゲームコンソール(ビットマップグラフィックを採用した最初のコンソールの1つ)もその1つである。拡張版COSMAC ELFに似たEdukitシングルボードコンピュータトレーナーシステムは、1980年代初頭にイギリスのModus Systems Ltd.社から提供された。[14]インフィニット社は1970年代後半に1802ベースのS-100バス拡張コンソールコンピュータトレーナーUC1800を製造し、組み立て済みまたはキットの形で入手可能でした。[15] [16]

1802年以降のレトロコンピューティング愛好家の活動の一環として、アルトイド缶に収まるMembership Cardマイクロコンピュータキット[17]やSpare Time Gizmos Elf 2000(Elf 2K)[18]など、より最近(2000年以降)にもコンピュータが製作されています。その他のシステムについては、§ エミュレータとシミュレータを参照してください。

製品統合

40ピンDIL 1802、EPROM、水晶、その他のサポートコンポーネント付き
CT34 UK公衆電話のCDP1802ACE

1802は科学機器や商用製品に使用されました。[19] [20]

1802 は Plessey 公衆電話で使用されました[引用が必要]

1980年以降のクライスラーおよび関連モデル車両では、1802を第2世代の電子式リーンバーンシステム(電子点火制御付き)に使用しており、これは車載コンピュータベースの最初の自動車制御システムの1つである。[21] [22]

1802はスペインでピンボールマシンやビデオアーケードゲームの製造に使用されました。[23]

放射線耐性強化

1802の高速バージョンは、シリコン・オン・サファイア(SOS)半導体プロセス技術で製造され、放射線および静電放電(ESD)に対するある程度の耐性を備えています[24] RCAとサンディア国立研究所が共同で開発した1802の別の耐放射線バージョンは、 C2L(クローズドCOS / MOSロジック)技術を使用してバルクシリコン上に構築されました。 [25] [26] 非常に低い電力消費能力と相まって、このチップは宇宙や軍事用途に最適です。[25](また、1802が発表された当時は、他の耐放射線マイクロプロセッサは市場にほとんどありませんでした)。

宇宙技術と科学

1802は、ガリレオ宇宙船[27] マゼラン[28] ESAのユリシーズ宇宙船のプラズマ波分析装置、さまざまな地球周回衛星[29]、アマチュア無線を運ぶ衛星[ 30]など、多くの宇宙船や宇宙科学プログラム、実験、プロジェクト、モジュールで使用されました

NASAハッブル宇宙望遠鏡のいくつかのサブシステムは、 WFPC [31]やMAT [32]など1802個のプロセッサを使用しています。

軍事利用

1980 年代から 1990 年代にかけての多くの英国軍の装備品には 1802 が使用されていました。その中には次のようなものがあります。

プログラミング言語

1802 で利用できる最初の高級言語はForthであり、Forth, Inc. によって提供され、1976 年に MicroFORTH として知られていました (Forth Inc のアーカイブを参照)。その他の利用可能なプログラミング言語 (インタープリタとコンパイラの両方) には、CHIP-8 ( Joseph Weisbeckerによって発明された) (およびその派生言語)、8th (Lee Hart によって作成された Forth のバージョン)、[34] Tom Pittman のTiny BASIC[35] C、さまざまなアセンブラとクロスアセンブラなどがあります。その他の特殊言語は、NASA やジョンソン宇宙センター、AMES、ゴダード、ラングレー、マーシャル、ジェット推進研究所 (JPL) などの連邦機関によって使用されており、HAL/Sクロスコンパイラ、[36] STOIC (Forth に似た言語)、[37]などが含まれていました。

プログラミング言語および開発環境であるInterpreter for Process Structures (IPS) は、 AMSAT衛星のリアルタイム制御用に特別に作成され、使用されました。

エミュレータとシミュレータ

1802チップと、このマイクロプロセッサを搭載したコンピュータは、愛好家によってハードウェアおよび/またはソフトウェアでエミュレーションおよびシミュレーションが行われてきました。FPGA用のVHDL設計は3つあります [ 38 ] [ 39] [40] PICマイクロコントローラを使用することで、CDP1802マイクロプロセッサチップやCDP1861ビデオチップを使わずに、バス精度でフルスピードのCOSMAC Elfクローンが作成されました[41] JavaScriptで書かれたCOSMAC Elf(拡張版)のオンラインシミュレータは、ダウンロードなしでユーザーのブラウザ上で動作します。[42]

説明

導入

RCA CDP1802 COSMAC プロセッサ DIP チップのピン配置

RCA 1802 は、最小クロック周波数のない静的コア CMOS設計を採用しているため、マイクロプロセッサの動作に影響を与えずにマイクロプロセッサを一時停止するクロック周波数ゼロを含む、非常に低速かつ低電力で動作できます。

8ピンのバスが2つあり、1つは8ビットの双方向データバス、もう1つは時分割多重アドレスバスです。16ビットアドレスの上位8ビットと下位8ビットは、クロックサイクルごとに交互にアクセスされます。これは、MOS 6502Intel 8080といった当時のほとんどの設計が16ビットアドレスバスを使用していたこととは対照的です。

1802には、1ビットのプログラムおよびテスト可能な出力ポート(Q)と、分岐命令によって直接テストされる4つの入力ピン(EF1~EF4)があります。これらのピンにより、単純な入出力(I/O)タスクを直接処理し、容易にプログラミングすることができます。

命令の実行には16~24クロックサイクルかかるため、1802は特に高速とは言えませんでした。比較すると、6502はほとんどの命令を2~4クロックサイクルで実行し、最長命令(公式命令)[43]では7クロックサイクルかかりました。[44]

部品番号の接尾辞指定

CDP1802の部品番号に付いた様々なサフィックスは、技術仕様を表しており、A、B、Cは動作速度(3.2MHz~6.4MHz)、温度範囲(-40℃~+85℃、-55℃~+125℃)、電圧範囲(4V~10.5V)、パッケージタイプ(D、E、Q)、バーンイン(X)などである。これらは、RCA、インターシル、ハリス、ヒューズ・エアクラフト、ソリッド・ステート・サイエンティフィック(SSS)といった様々なサプライヤー間である程度標準化されていた。ヒューズはHCMPを、SSSはCDPの代わりにSCP(おそらくBCPも)をプレフィックスとして採用しており、現在までに文書化されていないサフィックスもいくつか存在する(例:CDP1802A、CDP1802ACE、CDP1802BCD、HCMP1802AP、SCP1802D)。[45]

サフィックスパッケージタイプ
EPDIP =プラスチックデュアル インライン パッケージ
DSBDIP = サイドろう付けセラミックデュアルインラインパッケージ
質問PLCC = プラスチックリードチップキャリア
Xバーンイン

レジスタとI/O

登録モデル

1802は8ビットバイトマシンであり、2バイト操作を除き、16ビット演算を最小限しかサポートしていません。主要なアキュムレータは8ビットの「D」レジスタ(データレジスタ)です。1ビットのキャリーフラグはDF(データフラグ)です。算術演算や論理演算、メモリ参照のロード命令やストア命令など、ほとんどの演算はDレジスタを使用します。ほとんどの16ビット演算は、下位バイトを処理し、次にDレジスタを介して上位バイトを処理します。必要に応じてDFをキャリーやボローとして使用します。

1802の重要な特徴は、主にアドレス指定に使用される、16ビットのレジスタを16個備えていることです。SEP命令を使用すると、16個のレジスタのいずれかをプログラムカウンタとして選択できます。また、SEX命令を使用すると、16ビットのレジスタのいずれかをインデックスレジスタとして選択できます[46]レジスタR0は、内蔵DMAコントローラのメモリアドレスを保持するという特別な用途があります。レジスタR1は、割り込みハンドラのプログラムカウンタという特別な用途があります。[47]

これらのレジスタの値をDレジスタ経由で設定および読み出しできる命令があり、上位8ビットと下位8ビットを個別に操作できます。また、16ビット値全体をインクリメントおよびデクリメントする命令もあり、LDA(ロードアドバンス)やSTXD(Xレジスタ経由でストアしデクリメント)のように、自動インクリメントおよびデクリメントを実行する命令もいくつかあります。16ビットレジスタと値の比較も、Dレジスタを仲介として利用し、複数の命令を用いて操作を実行する必要があります。

プロセッサには5本の特殊I/Oラインがあります。Q出力は1本あり、SEQ命令でセット、REQ命令でリセットできます。外部には1ビットのフラグ入力(EF1、EF2、EF3、EF4)が4本あり、これらの入力ラインの状態に基づいて条件分岐を行うための専用分岐命令が8本あります。RXレジスタとDアキュムレータを使用する入力ポート命令と出力ポート命令はそれぞれ7本ずつあります。

EFラインとQラインは、扱いやすく扱いやすいことから、1802ベースの趣味用コンピュータにおいて複数のインターフェースによく使用されていました。Qラインは、ステータスLEDカセットインターフェース、RS-232インターフェース、スピーカーを駆動するのが一般的でした。つまり、ユーザーはRS-232とカセットのデータが送信される音を実際に聞くことができました(ボリュームコントロールが実装されていない場合)。伝統的に、EF4ラインはCOSMAC ElfのINPUTモーメンタリプッシュボタンに接続されています。他のシステムでは、他のラインのいずれかが使用される場合があります。

他にも、内部的に使用されるものやプログラムで使用可能なものなど、特殊な用途のレジスタとフラグがいくつかあります。4ビットのN、P、X、I、8ビットのT、そして1ビットのIEです。インターネット上には、1802命令表の様々なバージョンが掲載されています。リンクはこちらです:https://www.atarimagazines.com/computeii/issue3/page52.php 1802オンラインクラブのログインメンバー向けのフォーラム(https://groups.io/g/cosmacelf/files)には、ファイルエリアに多数の表があります。各命令は8ビットの1バイトです。左側の4ビット(上位16進数と呼ばれることもあります)は、命令の実際の性質に関係しており、Iレジスタに関係しています。右側の4ビット(下位16進数とも呼ばれる)は、データの取得や書き込みが行われるワーキングレジスタに関係しており、この4ビットはNレジスタに関係しています。プログラム実行中は、作業の様々な段階とプロセスが、Nレジスタが指すレジスタに一時的に保存されます。これは、紙の上で長い掛け算や長い割り算を行うときと似ています。もちろん、データはRAMメモリセクションとの間でやり取りされ、必要に応じてプログラムの様々な分岐が時間の流れの中で実行されます。

分岐

1802 には、無条件分岐と条件分岐、ショート分岐とロング分岐、スキップの 3 種類があります。

ショート分岐は2バイト命令であり、256バイト範囲、1バイトアドレス、0から255(16進FF)までのページ絶対アドレス指定を使用します。相対分岐はありません。ショート分岐は常に、アドレスバイトを含むページ内で分岐します。[47]

ロング分岐は、64K メモリ アドレス空間をサポートするために完全な 16 ビット アドレス指定を使用する、唯一の 3 バイト命令です。

スキップ命令は、無条件ショートスキップの場合はPCを1増加し、ロングスキップの場合はPCを2増加します。ロングスキップのみ条件分岐が可能です。

サブルーチン呼び出し

プロセッサには標準的なサブルーチンCALL命令とRET命令はありませんが、シミュレーションは可能です。16レジスタ設計により、興味深いサブルーチン呼び出しと戻りのメカニズムが可能になりますが、汎用コーディングよりも小規模なプログラムに適しています。

よく使用されるサブルーチンのいくつかは、そのアドレスを16個のレジスタのいずれかに保持することで素早く呼び出すことができます。ただし、呼び出されるサブルーチンは、「return」命令を実行するために、呼び出し元のPCレジスタを(ハードコードして)知っておく必要があります。SEP命令は、16ビットレジスタの1つが指すサブルーチンと、呼び出し元に返すための別のSEP命令を呼び出します(SEPはSet Program Counterの略で、その時点以降、16個のレジスタのうちどのレジスタをプログラムカウンタとして使用するかを選択します)。サブルーチンは戻る前に、エントリポイントの直前の位置にジャンプします。これにより、SEPの「return」命令が呼び出し元に制御を戻した後、レジスタは次に使用するために正しい値を指し示します。(プロセッサは参照と使用(次に実行する命令の取得)の後に常にPCをインクリメントするため、この手法は前述のとおり機能します。)

この方式の興味深いバリエーションとして、2つ以上のサブルーチンをリング状に配置して、ラウンドロビン方式で呼び出すというものがあります。初期のホビー用コンピュータでは、このようなトリックやテクニックが、水平リフレッシュ割り込み時にスキャンラインアドレスを再プログラムし、ビデオコントローラの各スキャンラインを4回繰り返すためによく使われていました。

よく知られ、よく使われるルーチンの一つにSCRT(Standard CALL and RETURN Technique)があります。これは、汎用サブルーチンの呼び出しと戻り(パラメータの「インライン」渡しや、スタックを用いたネストされたサブルーチンを含む)を可能にします。この手法では利用可能なレジスタのどれでも使用できますが、プログラマの好みに応じて、多くのプログラマはRCAがCDP1802ユーザーマニュアルで提供しているルーチンを使用します。このルーチンでは、推奨レジスタの使用法として、R2 = スタックポインタ、R3 = 汎用プログラムカウンタ(PC)、R4 = 呼び出し、R5 = 戻り、R6 = 引数渡しポインタ(非破壊)が挙げられます。これらの補助ルーチンは小さいですが、実行速度にオーバーヘッドが生じます(実際のCALL命令とRET命令がマイクロプロセッサの設計に組み込まれている場合と比較して)。この設定により、R0をDMAに、R1を必要に応じて割り込みに使用でき、R7からRF(16進数)までを一般的なプログラム用途に使用できます。

アドレッシングモード

16ビットのアドレスバスと8ビットのデータバスのため、16個の汎用レジスタは16ビット幅ですが、アキュムレータのDレジスタは8ビット幅しかありません。そのため、アキュムレータがボトルネックになりがちです。あるレジスタの内容を別のレジスタに転送するには、4つの命令が必要です(レジスタのHIバイトに対して1つのGet命令と1つのPut命令、そしてLOバイトに対しても同様の命令のペアが必要です:GHI R1; PHI R2; GLO R1; PLO R2)。同様に、新しい定数(サブルーチンジャンプ用の新しいアドレスやデータ変数のアドレスなど)をレジスタにロードする場合も、4つの命令が必要です(定数の各半分に対して1つずつ、合計2つのLDI命令)。これらの命令の後に、レジスタPHIとPLOへのPut命令が続きます。

間接レジスタ自動インクリメント付き間接レジスタという2つのアドレッシングモードは、アキュムレータ内のデータに対して8ビット演算を実行するのに非常に効率的です。ただし、他のアドレッシングモードはありません。したがって、直接アドレッシングモードをエミュレートするには、前述の4つの命令を使用してアドレスを予備レジスタにロードし、続いてそのレジスタをインデックスレジスタとして選択する命令を実行し、最後にそのアドレスが指すデータ変数に対して目的の演算を実行する必要があります。

DMAとロードモード

CDP1802には、DMA入出力用の2本のDMAリクエストラインを備えたシンプルなDMAコントローラが内蔵されています。CPUは、マルチステップマシンサイクルの特定のサイクル(8~16クロックサイクル)でのみメモリにアクセスします。外部ハードウェアは、これらの期間中にプロセッサを中断することなくデータの読み書きを行うことができ、これはサイクルスチールと呼ばれる一般的な概念です。

R0はDMAアドレスポインタとして使用されます。DMAデータの開始アドレスはR0に格納され、CPUの適切な読み取りまたは書き込みピンがLowレベルにプルダウンされます。CPUはDMA要求に応答してR0の値をインクリメントし、次の要求は自動的にメモリの次の位置に格納されます。このように、DMAピンを繰り返しトリガーするだけで、システムはメモリ全体を走査します。

DMAコントローラは特別な「ロードモード」も提供しており、プロセッサのCLEAR入力とWAIT入力がアクティブな状態でメモリへのロードが可能です。これにより、ROMベースのブートストラップローダを必要とせずにプログラムをロードできます。COSMAC Elfマイクロコンピュータとその後継機種では、このロードモードを使用して、トグルスイッチや16進キーパッドからソフトウェアを必要とせず、最小限のハードウェアでプログラムをロードできました。ユーザーはスイッチを次の値に設定し、読み取りをトグルするだけで、次の処理に進むことができます。アドレスを変更する必要はありません。DMAステッピングによって自動的にアドレスが変更されます。

命令タイミング

クロックサイクル効率は、ほとんどの8ビットマイクロプロセッサと比較して低いです。8クロックサイクルで1マシンサイクルが構成されます。ほとんどの命令の実行には2マシンサイクル(16クロックサイクル)かかり、残りの命令は3マシンサイクル(24クロックサイクル)かかります。比較すると、MOS Technology 6502では1命令の実行に2~7クロックサイクル、Intel 8080では4~18クロックサイクルかかります。

RCA CDP 1802 命令の16進数順
オペコード命令ニモニックマシンサイクル
00アイドル状態で、フェッチサイクルを実行している(と思う)IDL2
0NRNのアドレスからDをロードするLDN N2
1NRNの16ビットの数値をインクリメントするINC N2
2NRNの16ビット数を減算する12月N2
30ミリメートルR(P)を無条件にMMに分岐するBR2
31ミリメートルQが1の場合、R(P)からMMへ分岐するBQ2
32ミリメートルDが00の場合、R(P)からMMへ分岐するBZ2
33ミリメートルDFが1の場合、R(P)からMMへ分岐するBDF2
34ミリメートル外部フラグEF1が1の場合、分岐R(P)B12
35ミリメートル外部フラグEF2が1の場合、分岐R(P)B22
36ミリメートル外部フラグEF3が1の場合、分岐R(P)B32
37ミリメートル外部フラグEF4が1の場合、分岐R(P)B42
38R(P)を1アドレスのメモリバイト分スキップするSKP2
39ミリメートルQが0の場合、R(P)からMMへ分岐するBNQ2
3A MMDが00でない場合はR(P)からMMへ分岐するBNZ2
3B MMDFが0の場合、R(P)からMMへ分岐するBNF2
3C MM外部フラグEF1が0の場合、分岐R(P)BN12
3D MM外部フラグEF2が0の場合、分岐R(P)BN22
3E MM外部フラグEF3が0の場合、分岐R(P)BN32
3F MM外部フラグEF4が0の場合、分岐R(P)BN42
4NレジスタRNのアドレスからDをロードし、RNを1進めるLDA N2
5NレジスタRNが指すメモリにDを格納するSTR N2
60R(X)の16ビット数をインクリメントするIRX2
61R(X)のメモリバイトからBUS状態への出力アウト12
62R(X)のメモリバイトからBUS状態への出力アウト22
63R(X)のメモリバイトからBUS状態への出力アウト32
64R(X)のメモリバイトからBUS状態への出力アウト42
65R(X)のメモリバイトからBUS状態への出力アウト52
66R(X)のメモリバイトからBUS状態への出力アウト62
67R(X)のメモリバイトからBUS状態への出力アウト72
68(RCA 1802では未定義)
69BUS状態からR(X)のメモリバイトとDレジスタへの入力INP12
6ABUS状態からR(X)のメモリバイトとDレジスタへの入力INP22
6BBUS状態からR(X)のメモリバイトとDレジスタへの入力INP32
6CBUS状態からR(X)のメモリバイトとDレジスタへの入力INP 42
6DBUS状態からR(X)のメモリバイトとDレジスタへの入力INP 52
6EBUS状態からR(X)のメモリバイトとDレジスタへの入力INP 62
6階BUS状態からR(X)のメモリバイトとDレジスタへの入力INP 72
70R(x)のアドレスのメモリバイトは割り込み後にR(P)のアドレスのメモリバイトに戻され、割り込みイネーブルレジスタIEが1に設定されて有効になり、R(X)がインクリメントされます。RET2
71R(P)のアドレスのメモリバイトはR(X)のアドレスのメモリバイトに移動され、割り込みイネーブルレジスタIEは0に設定されて無効になり、R(X)がインクリメントされます。ディス2
72R(X)のメモリバイトをDレジスタにロードし、R(X)をインクリメントするLDXA2
73DレジスタをR(X)のメモリバイトに格納し、R(X)をデクリメントするSTXD2
74R(X)のメモリバイトをDレジスタとキャリーレジスタDFに加算し、答えをDレジスタとキャリーレジスタDFに転送する。ADC2
75R(X)のメモリバイトからDレジスタとキャリーレジスタDFを減算し、その答えをDレジスタとキャリーレジスタDFに移動する。SDB2
76Dレジスタを右にシフトし、キャリーレジスタDFSHRC2
77R(X)のメモリバイトをDレジスタとキャリーレジスタから減算し、その答えをDレジスタとキャリーレジスタDFに移動する。中小企業2
78レジスタTのバイトをR(x)のメモリバイトに保存するSAV2
79レジスタXの4ビットニブルとレジスタPの4ビットニブルをレジスタTのバイトに保存し、レジスタTのバイトをレジスタR(2)のバイトに移動し、XのニブルをニブルPに移動し、R(2)をデクリメントする。マーク2
7AQ出力を0にリセットリクエスト2
7BQ出力を1に設定するシーケンス2
7C KKバイトKKをキャリーレジスタDFでDレジスタに追加し、答えをDレジスタとキャリーレジスタDF即値に移動する。ADCI2
7D KKDレジスタとキャリーレジスタDFのバイトをバイトKKから減算し、その答えをDレジスタとキャリーレジスタDFに即値2で移す。SBDI2
7EDレジスタを左にシフトし、キャリーレジスタDFSHLC2
7F KKDレジスタとキャリーレジスタDFからバイトKKを減算し、その答えをDレジスタとキャリーレジスタDFの即値に移動する。SMBI2
8NRNレジスタの下位バイトをDレジスタに移動するグロN2
9NRNレジスタの上位バイトをDレジスタに移動するGHI N2
ANDレジスタのバイトをRNレジスタの下位バイトに格納するPLO N2
BNDレジスタのバイトをRNレジスタの上位バイトに格納するファイN2
C0 MMMM長枝R(P)からMMMMへの無条件分岐LBR3
C1 MMMMQが1の場合、R(P)からMMMMへの長枝LBQ3
C2 MMMMDが00の場合、R(P)からMMMMへの長枝LBZ3
C3 MMMMDFが1の場合、R(P)からMMMMへの長枝LBDF3
C4操作なしいいえ3
C5Qが0の場合、R(P)を2アドレスのメモリバイト分スキップするLSNQ3
C6Dが00でない場合は、R(P)を2アドレスのメモリバイト分スキップするLSNZ3
C7DFが0の場合、R(P)を2アドレスのメモリバイト分スキップするLSNF3
C8ロングスキップR(P)を2アドレスのメモリバイト分スキップLSKP3
C9 うーんQが0の場合、R(P)からMMMMへの長枝LBNQ3
カリフォルニア州MMMMDが00でない場合、R(P)からMMMMへの長分岐LBNZ3
CB MMMMDFが0の場合、R(P)からMMMMへの長枝LBNF3
CC割り込み有効IEが1の場合、R(P)を2アドレスのメモリバイト分スキップするLSIE3
CDQが1の場合、R(P)を2アドレスのメモリバイト分スキップするLSQ3
CEDが00の場合、R(P)を2アドレスのメモリバイト分スキップするLSZ3
CFDFが1の場合、R(P)を2アドレスのメモリバイト分スキップするLSDF3
DNPレジスタのニブルをRNレジスタを指すように設定する9月N2
英語XレジスタのニブルをRNレジスタを指すように設定するセックスN2
F0DレジスタのバイトをR(X)のメモリバイトでロードするLDX2
F1DレジスタのバイトとR(X)のメモリバイトの論理和をとり、結果をDレジスタに移動する。または2
F2DレジスタのバイトとR(X)のメモリバイトの論理積をとり、結果をDレジスタに移動する。そして2
F3DレジスタのバイトとR(X)のメモリバイトの排他的論理和をとり、結果をDレジスタに移動する。排他的論理和2
F4DレジスタのバイトをR(X)のメモリバイトに加算し、結果をDレジスタに移動する。2
F5DレジスタのバイトをR(X)のメモリバイトから減算し、結果をDレジスタに移動する。SD2
F6Dレジスタを右に2シフトするSHR2
F7DレジスタからR(X)のメモリバイトを減算し、結果をDレジスタに移動するSM2
F8 KKKKをDレジスタにロードするLDI2
F9 KKDレジスタのバイトとKKのOR演算を行い、結果をDレジスタに移動する。オリ2
FA株式会社DレジスタのバイトとKKのAND演算を行い、結果をDレジスタに移動する。アニ2
FB株式会社DレジスタのバイトとKKの排他的論理和をとり、結果をDレジスタに移動するXRI2
FC株式会社DレジスタのバイトをKKで加算し、答えをDレジスタとキャリーレジスタDFに移動する。アナログ・デバイセズ2
FD株式会社DレジスタのバイトをKKから減算し、答えをDレジスタに移動するSDI2
FEDレジスタを左にシフトするSHL2
FF KKDレジスタからバイトKKを減算し、その答えをDレジスタとキャリーレジスタDFに移動する。SMIバイト2
指示表の記号の説明
RN/RX16ビット汎用レジスタ(R0からRFまでの16個)
RN.0下位レジスタ番号
RN.1上位レジスタ番号
MN/MXRN/RXの内容によってアドレス指定されたメモリバイト位置
P4ビットプログラムカウンタレジスタ
X4ビットXレジスタ番号
D8ビット保持レジスタ
DF1ビットオーバーフローレジスタ
IE1ビット割り込みイネーブルレジスタ
質問1ビット出力レジスタ
T8ビット特殊レジスタ

サポートチップ

グラフィック

1802年初頭のマイクロコンピュータでは、コンパニオングラフィック スビデオディスプレイコントローラチップであるRCA CDP1861 ( NTSCビデオフォーマット用、 PAL用CDP1864バリアント)が内蔵DMAコントローラを使用して、標準テレビ画面に最大水平64ピクセル、垂直128ピクセルの白黒ビットマップグラフィックスを表示していました。1861はPixieグラフィックスシステムとしても知られていました。

1802 の高速版は 4~5 MHz (5 V 時、10 V ではさらに高速 (6.4 MHz)) で動作したが、通常は 1861 チップの要件に合わせて 3.58 MHz を 2 で割った値 (1.79 MHz) で動作し、1 秒あたり 100,000 命令を少し超える速度を実現していた。ただし、中にはComxの約 2.8 MHz やPecomの 5 MHzなど、他の速度で動作したものもあったCOSMAC VIPはビデオ チップとプロセッサを統合し、趣味用キットへのアドオンではなく、単一の専用コンピュータとして構築したが、1802 をはるかに低速で動作させ、Pixie の仕様書のリファレンス デザインで推奨されている非標準の 1.76064 MHz で 1861 と正確に同期させた。[d]

CDP1862カラージェネレータ回路ICは、1861コンパニオンチップであり、カラーグラフィックスを生成するために使用できました。Pecom 64Telmac TMC-600などの一部のコンピュータシステムでは、CDP1869とCDP1870コンパニオンICで構成されるVIS(ビデオインタフェースシステム)が使用されており、1980年代の他の8ビットシステムに匹敵する、はるかに高解像度のカラーグラフィックスを実現していました。

コードサンプル

この簡単なコード例は、イベントフラグ(EF4)ピンをテストし、その逆の状態をQ出力に伝播させます。EF1、EF2、またはEF3ピンをテストするには、B4をB1、B2、またはB3に変更してください。

ループ: B4 EFbranch ; EF=1 の場合に分岐します。EF ピンは反転されます。  REQ ;Q出力をリセットします。これによりコードはNOTゲートとして動作します。  BRループ EFブランチ: SEQ ;EFが1を読み取った場合、Q出力を設定する  BRループ 

大きなコード例は、ALU(算術論理演算装置)操作をテストする診断ルーチンです。[48]

このルーチンは、CDP1802 マイクロプロセッサが初期リセット状態にある(またはこのコードを実行する前にそのように設定されている)ことを前提としています。したがって、プログラム カウンタ (PC) と X 間接レジスタ「ポインタ」は両方とも 16 ビット レジスタ R0 に設定されます。PC と X は両方とも R0 を指しているので、例 'OUT 4,00' のように即値を出力できるのはそのためです。PC はオペコード命令バイトがメモリから取得された後にインクリメントされるため、OUT 4 が実行されると次のアドレスを指します。したがって、次の即値バイトである RX = R0 が指すメモリ内の値が出力されます。OUT 命令は X レジスタ (R0、つまり PC でもある) もインクリメントするため、OUT の後に即値が出力され、即値に続く次の命令アドレスでプログラム実行が継続されます。ルーチンが必要に応じて X (SEX) をレジスタ R6 と R0 に設定するのはそのためです。また、OUTオペコードはメモリの一部(「バッファ」)を簡単に出力するためにRXレジスタをインクリメントしますが、INPオペコードはそうしません。INPはRXが指すアドレスの値をDの8ビットデータバイトアキュムレータに格納しますが、RXは変更されません。

このルーチンでは、OUT 4 はCPUシステムの8ビットLEDまたは2桁の16進ディスプレイに値を表示し、IN 4 は8つのトグルスイッチ(または16進キーパッド)から値を取得することを前提としています。BN4 オペコード(ループ; * = 'このアドレス')は、「1ビット入力 EF4 ラインがローレベルの場合に分岐」し、モーメンタリ「入力」プッシュボタンが押されているかどうかをテストします。B4 オペコード('ハイレベルの場合')ループは、ボタンが放されるのを待ちます。SEQ と REQ は、通常 LED に接続されている単一の Q ラインのオン/オフを切り替えます。

1802は「バイトマシン」ですが、16個の16ビットレジスタ(R0~RF(「R」プレフィックスなしで0~Fと呼ばれることもあります))を備えています。16ビットレジスタのデータを扱うには、プログラマはDアキュムレータを介してレジスタの上位または下位の値を取得(Get)および取得(Put)する必要があります。これらのレジスタの上位バイトと下位バイトは、Rn.0(lo)およびRn.1(hi)と呼ばれることもあります。ショート分岐は、ページ絶対アドレス指定と256バイトのアドレス境界を持つ2バイトのオペコードです。ロング分岐は、完全な16ビットアドレス分岐を持つ3バイトのオペコードです。

..テストALU OPS   0000 90 GHI 0 ..セットアップR6       0001 B6ファイ6   0002 F829 LDI DOIT ..オペコード入力        0004 A6 PLO 6   0005 E0セックス0 .. ( X = 0すでに)      0006 6400 OUT 4 , 00 ..準備完了をお知らせします       0008 E6セックス6 ..X = 6      0009 3 F09 BN4 * ..待っ       000 B 6 C INP 4 .. OK ゲット       000 C 64 OUT 4 ..ディスプレイエコー        000 D 370 D B4 * ..リリース待つ       000 F F860 LDI #60 ..今すぐ準備しましょ        0011 A6 PLO 6 ..第1オペランド      0012 E0セックス0 ..そう言って      0013 6401 OUT 4 , 01   0015 3 F15 BN4 *   0017 E6セックス6 ..テイク・イット・イン・アンド・エコー         0018 6 C INP 4 .. ( TO 0060 )      0019 64 OUT 4 .. ( R6インクリメント)       001 A 371 A B4 *   001 C E0 SEX 0 .. DITTO 2番目のオペランド       001 D 6402 OUT 4 , 02   001 F E6セックス6   0020 3 F20ループ: BN4 * ..待っ        0022 6 C INP 4 ..ゲットイット(: X = 6 )        0023 64 OUT 4 ..エコー      0024 3724 B4 * ..リリース待つ       0026 12月26日6時.. R60060バックアップ         0027 1226日6   0028 46 LDA 6 ..1オペランドをD取得         0029 C4 DOIT : NOP .. DO操作      002 A C4 NOP .. (スペア)    002 B 12月26日6 .. 0060戻る       002 C 56 STR 6 ..出力結果      002 D 64 OUT 4 .. ( X = 6 STILL )      002 E 7 A要求.. Qをオフにする      002 F CA0020 LBNZループ..ゼロ場合       0032 7 B SEQ ..もう一度電源を入れてください       0033 3020 BRループ..いずれの場合繰り返し        

注記

  1. ^ COSMACに関するほとんどの日付と同様に、正確な日付は文献によって異なります。エドワーズは1969年としていますが、[9]他の多くの文献は1970年としており、ここでもその日付が使用されています。
  2. ^ これは1973年の活動の年次レビューであり、1974年に出版されました。[10]
  3. ^ 各種COSMAC装置のサンプリングと一般公開の正確な日付は不明である。ハーブ・ジョンソンは、本稿の日付の根拠となるRCA報告書の詳細なリストを作成している。[11]
  4. ^ しかし、このマシンの古さを考えると、より高速なグレードがまだ開発されていなかったため、プロセッサの定格クロックは最大3.2MHz、あるいは2.5MHzだった可能性もある。これは極端な例だが、タイミングシステムのコストと複雑さを軽減するために、CPUを定格クロックよりはるかに低い速度で動作させたのは、このマシンだけではないだろう。単純に3.52MHzで動作させるのは、リスクの高い10%、あるいは持続不可能な極端な41%のオーバークロックを意味していただろう。

参考文献

引用

  1. ^ abcd Cass 2018.
  2. ^ 「RCA COSMAC 1802」。アンティークチップコレクターのページ。AntiqueTech.com。2009年4月21日。2013年1月2日時点のオリジナルよりアーカイブ。 2010年12月27日閲覧
  3. ^ “Joseph Weisbecker”. Vintage-Computer.com. 2010年2月8日. 2012年3月16日時点のオリジナルよりアーカイブ。 2010年12月27日閲覧
  4. ^ “Joseph A. Weisbecker (1932 - 1990)”. CosmacElf.com. 2014年6月16日時点のオリジナルよりアーカイブ。 2010年12月27日閲覧
  5. ^ ab Cass, Stephen. 「Chip Hall of Fame: RCA CDP 1802 - IEEE Spectrum」. IEEE . IEEE . 2023年7月19日閲覧
  6. ^ “CDP1802A”. 2012年3月9日時点のオリジナルよりアーカイブ2010年8月23日閲覧。
  7. ^ 「CDP1802AC/3 高信頼性CMOS 8ビットマイクロプロセッサ」。Intersil Americas LLC. 2008年10月17日。
  8. ^ ワイスベッカー 1974年、41ページ。
  9. ^ abcdefghij エドワーズ 2017.
  10. ^ ab Lab 1973、152ページ。
  11. ^ ジョンソン、ハーブ(2018年12月11日)「COSMAC 1801、1802の日付」
  12. ^ 「RCA MCDS、Microboardコンピュータ開発システム」RetroTechnology.com. 2020年10月28日. 2022年5月8日閲覧
  13. ^ Ruske, Dave. 「サイバービジョン 2001、3001、4001」. COSMAC Elf . COSMACELF.COM . 2016年6月30日閲覧
  14. ^ 「Wireless World誌22ページの広告」(PDF) . American Radio History . 1981年5月. 2017年1月21日閲覧
  15. ^ 「機器レポート - Infinite UC1800マイクロコンピュータ」(PDF) . ClassicCmp.org - Classic Computing . Radio Electronics Magazine. 1977年8月. 2017年1月22日閲覧
  16. ^ ハーバーハーン、ウィリアム(1977年2月)「Kilobaud Magazine Article Pg 90」Archive.orgウェイン・グリーン2017年1月22日閲覧
  17. ^ ハート、リー. 「1802年会員カードコンピュータ」.リー・ハートのホームページ. リー・ハート. 2016年5月22日閲覧
  18. ^ 「Spare Time Gizmos Elf 2000 (Elf 2K)」.
  19. ^ 「Sinar水分計5世代」 。 2016年5月22日閲覧
  20. ^ 「Inforcel」 . 2016年5月22日閲覧
  21. ^ Johnson, Herbert R. (2016年6月22日). 「RCA/Weisbecker "System 00" aka "FRED"」. Retrotechnology . 2016年6月23日閲覧
  22. ^ 「クライスラー・リーンバーン・エンジン制御システム」All Mopar Chrysler Info . AllPar.com . 2016年6月23日閲覧
  23. ^ Donnelly, William (2016年7月7日). 「MDCCCII (1802) | 製品統合:商用および科学アプリケーション」. COSMAC 1802 CPU RetroComputing Extravaganza . William Donnelly . 2016年7月7日閲覧
  24. ^ Briggs, GR; Connor, SJ; Sinniger, JO; Stewart, RG (1978年8月). 「40MHz CMOS-on-sapphire microprocessor」. IEEE Transactions on Electron Devices . 25 (8): 952– 959. Bibcode :1978ITED...25..952B. doi :10.1109/T-ED.1978.19207.
  25. ^ ab Dingwall, A.; Stricker, R.; Sinniger, J. (1977年10月). 「高速バルクCMOS C2Lマイクロプロセッサ」. IEEE Journal of Solid-State Circuits . 12 (5). IEEE: 457– 462. doi :10.1109/ISSCC.1977.1155726.
  26. ^ 「放射線耐性強化バルクSiゲートCMOSマイクロプロセッサフ​​ァミリー」(PDF) IAEA.org 20166月4日閲覧>
  27. ^ Tomayko, James (1987年4月). 「宇宙飛行におけるコンピューター:NASAの経験」NASA . 2010年2月6日閲覧
  28. ^ http://www2.jpl.nasa.gov/magellan/guide4.html#4.11 マゼラン金星探査機ガイド、第4章 - マゼラン宇宙船 - コンピューティングとソフトウェア
  29. ^ 「RCA COSMAC VIP」。Obsolete Technology Website . 2010年1月31日閲覧
  30. ^ http://www.amsat.org/amsat-n​​ew/AboutAmsat/amsat_history.php 2006年10月5日アーカイブWayback Machine AMSATの歴史
  31. ^ Afshari, A. (1993年1月). 「ハッブル宇宙望遠鏡の広視野/惑星カメラ」(PDF) . Shutterbug . 2016年10月6日時点のオリジナル(PDF)からアーカイブ。
  32. ^ Xapsos, MA; Stauffer, C.; Jordan, T.; Poivey, C.; Haskins, DN; Lum, G.; Pergosky, AM; Smith, DC; LaBel, KA (2014年12月). 「ハッブル宇宙望遠鏡はどのくらいの期間、確実に作動するのか? 総線量の観点から」(PDF) . IEEE Transactions on Nuclear Science . 61 (6): 3356– 3362. Bibcode :2014ITNS...61.3356X. doi :10.1109/TNS.2014.2360827. hdl : 2060/20160005759 . S2CID 1792941. 2017年2月27日時点 のオリジナル(PDF)からアーカイブ2017年7月7日閲覧
  33. ^ Royal Ordnance L1A1 fuze setter teardown、2021年5月2日、 2022年10月16日閲覧。
  34. ^ 「会員カードソフトウェア」。
  35. ^ 「Itty Bitty Computers & TinyBasic」。
  36. ^ 「Modcomp Classic 7870 コンピュータ上の HAL/S コンパイラの現在の状態」(PDF)
  37. ^ MASCOT(MIT天文分光計/光学望遠鏡用カメラ)。1980年1月。
  38. ^ Baker, Scott (2016). 「1802 CPU coded in VHDL」Scott L Baker Github . Scott Baker . 2016年7月24日閲覧
  39. ^ Smith, Eric (2009). 「cosmac - RCA COSMAC CDP1802 機能的に同等なCPUコア(VHDLで記述)」Eric Smith Github . Eric Smith . 2019年7月9日閲覧
  40. ^ Teal, Steve (2016). 「Lattice MachXO2 Picoボード用TinyBASIC搭載VHDL 1802 Core」Steve Teal Github . Steve Teal . 2019年7月9日閲覧
  41. ^ テッド・ロッシン (2011). 「エルフのクローン」。テッド・ロッシンのホームページ。テッド・ロッシン2016 年7 月 24 日に取得
  42. ^ Donnelly, William (2011). 「JavaScriptで書かれたCOSMAC Elf風CDP1802シミュレータ」. Donnelly-Houseホームページ. William Donnelly . 2016年7月24日閲覧
  43. ^ Landsteiner, mass:werk, Norbert (2021年6月5日). 「(Now Go Bang!) 6502 "Illegal" Opcodes Demystified」. Now Go Bang! — mass:werk / Blog . 2024年2月2日閲覧{{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク)
  44. ^ 「6502命令セット」。mass :werk
  45. ^ Shvets, Gennadiy (2016年10月2日). 「RCA 1802 (CDP1802) マイクロプロセッサフ​​ァミリー」. CPU-World . Gennadiy Shvets . 2016年10月17日閲覧
  46. ^ 「SEXとはどういう意味か?」2013年12月26日閲覧
  47. ^ ab CDP1802 COSMACマイクロプロセッサのユーザーマニュアル
  48. ^ Pittman, Tom (1980). 「A Short Course In Programming」. cosmacelf.com . 2017年5月20日閲覧

参考文献

  • 研究報告書 1973 (PDF) (技術レポート). RCA Laboratories. 1973.
  • キャス、スティーブン(2018年7月2日)「チップ殿堂:RCA CDP 1802」IEEE Spectrum
  • エドワーズ、ベンジ (2017年10月27日). 「歴史に埋もれた初の女性ビデオゲームデザイナーの再発見」Fast Company . 2017年10月27日閲覧
  • ワイズベッカー, ジョー (1974年3月). 「簡素化されたマイクロコンピュータアーキテクチャ」. IEEE Computer . 7 (3): 41– 47. doi :10.1109/MC.1974.6323475. S2CID  30965828.
  • CDP1802A/AC/BC データシート、1997 年 ( PDF )
  • CDP1802AC/3 データシート、2008 年 ( PDF )
  • COSMAC ELFのウェブサイト
  • プログラミング短期コース(1980年版 RCA 1802 アセンブラのテキスト)
  • 高解像度のダイショット

この記事の重要な部分は、もともとGFDLライセンスのFree On -line Dictionary of Computing の資料に基づいています。

「https://en.wikipedia.org/w/index.php?title=RCA_1802&oldid=1323491015」より取得