ار سي ايه 1802
ار سي ايه سي دي بي 1802 | |
| معلومات عامة | |
|---|---|
| تم إطلاقه | 1974 |
| المواصفات المادية | |
| طَرد | |
| تاريخ | |
| خليفة | سي دي بي 1804، سي دي بي 1805، سي دي بي 1806 |
COSMAC (Complementary Symmetry Monolithic Array Computer) هي عائلة معالجات دقيقة مكونة من 8 بتات قدمتها شركة RCA . وهي معروفة تاريخيًا بأنها أول معالج دقيق CMOS . [1] كان أول طراز إنتاج هو CDP1801R و CDP1801U ثنائي الشريحة ، والذي تم دمجهما لاحقًا في CDP1802 أحادي الشريحة . [2] مثلت 1802 غالبية إنتاج COSMAC، واليوم يُعرف الخط بالكامل ببساطة باسم RCA 1802 .
يعود تاريخ تصميم المعالج إلى جهاز كمبيوتر منزلي تجريبي صممه جوزيف ويزبيكر في أوائل سبعينيات القرن العشرين، وتم بناؤه في منزله باستخدام مكونات TTL . بدأت شركة RCA في تطوير إصدار CMOS من تصميم المعالج في عام 1973، وأخذت عينات منه في عام 1974 مع خطط للانتقال إلى تنفيذ شريحة واحدة على الفور. قاد جيري هيرزوغ تصميم إصدار الشريحة الواحدة، والذي تم أخذ عينات منه في عام 1975 ودخل الإنتاج في عام 1976. [3] [4]
على النقيض من معظم تصميمات العصر، والتي تم تصنيعها باستخدام عملية NMOS ، تم تنفيذ COSMAC في شكل CMOS واستخدم المنطق الثابت . سمح له هذا بالعمل بإعدادات طاقة أقل وحتى إيقافه تمامًا؛ بالإضافة إلى أنه سيعمل بشكل أكثر برودة ولن يولد قدرًا كبيرًا من الحرارة مثل رقائق NMOS. أنتجت شركة RCA أيضًا إصدارات مقواة بالإشعاع ، والتي وجدت استخدامًا في مجال الطيران والفضاء. [5] لا تزال هذه المنتجات قيد الإنتاج اعتبارًا من عام 2022، [5] واعتبارًا من عام 2008 استمرت شركة Renesas (المعروفة سابقًا باسم Intersil ) في إنتاجها. [6] [7]
إن CDP1804 وCDP1805 وCDP1806 هي خليفة 1802، والتي تحتوي على مجموعة تعليمات موسعة وميزات محسنة أخرى (مثل ذاكرة الوصول العشوائي وذاكرة القراءة فقط على الشريحة، ومؤقت مدمج)، مع تشغيل بعض الإصدارات بسرعات ساعة أسرع، على الرغم من عدم وجود فرق كبير في السرعة. كما فقدت بعض الميزات، مثل وظيفة محمل التمهيد التلقائي DMA . هناك أيضًا بعض التغييرات الطفيفة في وظيفة الدبوس، لكن الخط لا يزال يُنتج بتنسيق الحزمة المزدوجة المضمنة (DIP) الأصلي المكون من 40 دبوسًا. [ متى؟ ]
تاريخ
فريد
كان جوزيف ويزبيكر مفتونًا منذ فترة طويلة بإمكانات أجهزة الكمبيوتر في المنزل، حيث صرح في وقت مبكر من عام 1955 أنه يتوقع أن يتم دمجها في كل جهاز تقريبًا في يوم من الأيام. جعلت تكنولوجيا العصر أجهزة الكمبيوتر المدمجة الصغيرة مستحيلة، لكن إدخال الدائرة المتكاملة (IC) في ستينيات القرن العشرين غير الأمور بشكل كبير. في عام 1974، وصف الاحتمالات في مقال كمبيوتر IEEE:
على مدى عشرين عامًا، أصبحت أجهزة الكمبيوتر أكثر تعقيدًا، وأصبحت اللغات أكثر تعقيدًا، وأصبحت أنظمة التشغيل أقل كفاءة. والآن، تتيح أجهزة الكمبيوتر الصغيرة لبعضنا الفرصة للعودة إلى أنظمة أبسط. وبتكلفة زهيدة... يمكن لأجهزة الكمبيوتر الصغيرة أن تفتح أسواقًا جديدة واسعة النطاق. [8]
بدءًا من عام 1970، بدأ [أ] ويزبيكر تصميم آلة صغيرة باستخدام دوائر متكاملة من نوع ترانزستور-منطق ترانزستور RCA (TTL) لبناء المعالج. أما الأجزاء الأخرى والمفاتيح والمصابيح وما إلى ذلك، فكان عليه شراؤها من راديو شاك ، ونشر مشترياته عمدًا في أربعة متاجر حتى لا يسأله أحد عن سبب شرائه الكثير من الأجزاء. [9] كان التصميم قيد التشغيل في أكتوبر 1971، ويحتوي على 100 شريحة [1] موزعة على لوحات دوائر متعددة . [1]
كانت النتيجة، التي أطلق عليها اسم FRED، والتي تعني في الظاهر جهاز تعليمي ترفيهي مرن، معبأة في صندوق لم يكن مختلفًا عن Altair 8800 بعد بضع سنوات، مع مفاتيح تبديل على اللوحة الأمامية للإدخال، ومصابيح للإخراج، وإضافة لوحة مفاتيح سداسية لاحقًا . [9] أضاف Weisbecker ميزات جديدة باستمرار وبحلول عام 1972 اكتسب مولدًا للأحرف والقدرة على تحميل البرامج وحفظها على أشرطة الكاسيت . [1]
انجذبت ابنة ويسبيكر، جويس ويسبيكر ، على الفور إلى النظام وبدأت في كتابة برامج له. وشمل ذلك العديد من الألعاب، التي تم نقلها إلى أجهزة لاحقة تعتمد على COSMAC. عندما دخلت شركة RCA مجال أجهزة الألعاب في أواخر السبعينيات، تم نسخ هذه الألعاب على شكل خرطوشة ROM ، وأصبحت جويس أول مطورة ألعاب فيديو تجارية معروفة. [9]
يطلق
وقد عرض فايزبيكر الآلة على إدارة شركة آر سي إيه طوال هذه الفترة، ولكن لم يكن هناك اهتمام كبير في البداية. وكان هذا بعد فترة وجيزة من تقاعد ديفيد سارنوف وتسليمه منصب الرئيس التنفيذي لابنه روبرت سارنوف . وكان روبرت أكثر اهتمامًا ببناء الجانب الإعلامي للشركة أثناء مواعدة نجوم التسجيل، متجاهلاً مختبرات آر سي إيه على الرغم من عدد من التطورات الرائدة في الصناعة التي حدثت هناك. وربما كان بعض التشكك الذي أبدته الإدارة له علاقة ببيع الشركة مؤخرًا لأعمال أجهزة الكمبيوتر المركزية إلى شركة سبيري راند مع خسارة ضخمة . [9]
في النهاية، أصبحت الشركة مهتمة بالنظام وبدأت في تكييفه مع نظام تصنيع COS/MOS الذي تم تقديمه حديثًا. يشير تقرير مختبري صدر عام 1973 [b] إلى "نموذج أولي" تم تسليمه في عام 1972، ولكن من المحتمل أن يشير هذا إلى تنفيذ TTL الأصلي. ويستمر التقرير في ملاحظة الجهود المبذولة لتقليص المعالج إلى تنفيذ مكون من شريحتين مع التسليم في COS/MOS في عام 1974. وهنا يُشار إلى المعالج لأول مرة باسم COSMAC، وهو اختصار لـ COmplementary-Symmetry-Monolithic-Array Computer. ويستمر التقرير في الإشارة إلى أن مختبرًا آخر سينتج النظام بتنسيق 8 شرائح من السيليكون على الياقوت ، على الرغم من أن التاريخ هو ببساطة "بعد فترة وجيزة" من إصدارات CMOS، وأن الخطط الخاصة بإصدار شريحة واحدة كانت قيد التخطيط بالفعل. [10] [c]
أجهزة كوزماك
على الرغم من أن شركة RCA بدأت تطوير COSMAC في أوائل سبعينيات القرن العشرين، فقد مر بعض الوقت قبل أن تقدم منتجاتها الخاصة المستندة إليه. في عام 1975، تم تجربة نموذج أولي لجهاز ألعاب أركيد مزود بذاكرة ROM قابلة للتبديل لأعمال الألعاب التي تعمل بالعملات المعدنية، ولكن تم التخلي عنها في النهاية. [9]
وفي الوقت نفسه، قام Weisbecker بتكييف FRED الأصلي، المعروف في RCA باسم System 00 بحلول هذا الوقت، باستخدام مجموعة الشرائح الجديدة لإنتاج نظام أحادي اللوحة مبسط للغاية والمعروف آنذاك باسم COSMAC ELF . تم وصف تعليمات البناء في مقال في مجلة Popular Electronics في عام 1976، وإصدار موسع مع ترقيات مختلفة في مقال ثانٍ في عام 1977. الميزة الفريدة لـ ELF هي أنها لا تتطلب أي ذاكرة للقراءة فقط (ROM) لبدء التشغيل، بدلاً من ذلك، تم استخدام نظام الوصول المباشر للذاكرة (DMA) للمعالج لقراءة مفاتيح اللوحة الأمامية مباشرة في الذاكرة. [9]
ناقشت شركة RCA ما إذا كان ينبغي طرح إصدارات معدة مسبقًا من ELF في السوق. وبينما كانوا يناقشون، أدى المزيد من التطوير إلى إنشاء آلة مبسطة تجمع بين ELF وشريحة برنامج تشغيل عرض جديدة ، CDP1861 ، لإنتاج وحدة تحكم في الألعاب . وخلال هذا الوقت، تم تعيين جويس من قبل شركة RCA لكتابة العديد من ألعاب الفيديو للمنصة، بما في ذلك منتج تعليمي على غرار الاختبارات بالشراكة مع Random House ، وهي واحدة من العديد من الشركات التي تم التقاطها من خلال عمليات الشراء التي قامت بها شركة RCA. [9]
بعد عام من المناقشة، قررت الشركة في النهاية إصدار منتجين للسوق الشامل يعتمدان على المنصة، جهاز كمبيوتر معروف باسم COSMAC VIP ، ووحدة تحكم ألعاب معروفة باسم RCA Studio II . كانت الأجهزة متوفرة منذ عام 1975، ولكن تم الإعلان عن Studio II فقط في يناير 1977، بعد شهرين من أن أصبحت Fairchild Channel F أول جهاز قائم على الخراطيش في السوق. سرعان ما تم كسوف كلاهما ونسيانهما إلى حد كبير بسبب إصدار Atari 2600 في وقت لاحق من ذلك العام. ألغت RCA Studio II في فبراير 1978. [9]
كما أصدرت شركة RCA سلسلة من أنظمة الكمبيوتر المعيارية، استنادًا إلى عامل شكل RCA Microboard من الإصدار الأولي لعام 1802، وحتى انهيار شركة RCA نفسها. كانت هذه الأنظمة موجهة بشكل أساسي إلى التطبيقات الصناعية وتطوير الأنظمة، وكانت قابلة للتكوين بدرجة كبيرة. [12]
الاستخدام المضمن
كان COSMAC فريدًا من نوعه بين معالجات 8 بت المبكرة لأنه تم تصميمه صراحةً لاستخدامه في أجهزة الكمبيوتر الصغيرة؛ كانت التصميمات الأخرى في ذلك العصر تستهدف دائمًا مساحة المعالجات المضمنة ، وكانت تلك التي تم تصميمها لاستخدام الكمبيوتر عبارة عن أنظمة أكثر تعقيدًا بشكل عام، وغالبًا ما تكون 16 بت. على الرغم من أن COSMAC تم تصميمه لاستخدام الكمبيوتر، إلا أن دخول RCA البطيء إلى السوق ومحاولاتها غير المدعومة في هذا السوق فشلت في النهاية وستهيمن معالجات أخرى مثل MOS 6502 و Zilog Z80 على هذا السوق. ومن عجيب المفارقات أن COSMAC حقق في النهاية نجاحًا كبيرًا في السوق المضمنة، لأن تصميم CMOS الخاص به سمح له بالعمل بقوة أقل. بحلول أواخر السبعينيات، تم استخدامه على نطاق واسع في العديد من البيئات الصناعية، وخاصة في مجال الطيران والفضاء. تم استخدام العديد من 1802 كمعالجات إدخال وإخراج مساعدة في مسبار جاليليو إلى كوكب المشتري في عام 1989، ولا يزال قيد الاستخدام في أدوار مماثلة حتى يومنا هذا. [9]
التطبيقات
أنظمة الحاسبات الدقيقة
استند عدد من أجهزة الكمبيوتر الصغيرة المبكرة على 1802، بما في ذلك COSMAC ELF (1976)، وNetronics ELF II ، وQuest SuperELF، و COSMAC VIP ، وComx-35 ، و Telmac 1800 الفنلندي ، و Telmac TMC-600 وOscom Nano، و Pecom 32 و 64 اليوغوسلافي ، وأنظمة CyberVision 2001 التي تم بيعها من خلال Montgomery Ward في أواخر السبعينيات، [13] بالإضافة إلى وحدة تحكم ألعاب الفيديو RCA Studio II (واحدة من أولى وحدات التحكم التي تستخدم الرسومات النقطية ). تم تقديم نظام تدريب الكمبيوتر أحادي اللوحة Edukit ، المشابه لـ COSMAC Elf الموسع ، بواسطة Modus Systems Ltd. في بريطانيا في أوائل الثمانينيات. [14] أنتجت شركة Infinite Incorporated جهاز كمبيوتر تدريبي مزود بوحدة تحكم قابلة للتوسيع ومستند إلى ناقل S-100 في أواخر سبعينيات القرن العشرين، ويُسمى UC1800، وهو متوفر مجمعًا أو في شكل مجموعة. [15] [16]
كجزء من عمل هواة الحوسبة الرجعية في عام 1802 ، تم بناء أجهزة كمبيوتر أخرى مؤخرًا (بعد عام 2000)، بما في ذلك مجموعة أجهزة الكمبيوتر الصغيرة التي تحمل بطاقة العضوية والتي تناسب علبة Altoids [17] وSpare Time Gizmos Elf 2000 (Elf 2K)، [18] وغيرها. انظر § المحاكيات والمُحاكيات للأنظمة الأخرى.
تكامل المنتج
تم استخدام 1802 أيضًا في الأجهزة العلمية والمنتجات التجارية. [19] [20]
تستخدم مركبات كرايسلر والطرازات المرتبطة بها بعد عام 1980 محرك 1802 في الجيل الثاني من نظام الاحتراق الإلكتروني Lean-Burn، مع التحكم الإلكتروني في الشرارة، وهو أحد أول أنظمة التحكم المعتمدة على الكمبيوتر في السيارات. [21] [22]
تم استخدام 1802 في تصنيع العديد من آلات البينبول وألعاب الفيديو في إسبانيا. [23]
التصلب الإشعاعي
تم تصنيع نسخة عالية السرعة من 1802 بتقنية أشباه الموصلات المصنوعة من السيليكون على الياقوت (SOS)، مما يمنحها درجة من المقاومة للإشعاع والتفريغ الكهروستاتيكي (ESD). [24] تم بناء نسخة مختلفة من 1802 مقواة بالإشعاع، تم تطويرها بشكل مشترك من قبل RCA و Sandia National Laboratories ، على السيليكون السائب باستخدام تقنية C 2 L (منطق COS/MOS المغلق). [25] [26] إلى جانب قدراتها المنخفضة للغاية على الطاقة، فإن هذا يجعل الشريحة مناسبة تمامًا للتطبيقات الفضائية والعسكرية. [25] (أيضًا، في الوقت الذي تم فيه تقديم 1802، كان عدد قليل جدًا، إن وجد، من المعالجات الدقيقة المقواة بالإشعاع متاحة في السوق).
تكنولوجيا وعلوم الفضاء
تم استخدام 1802 في العديد من برامج وتجارب ومشاريع ووحدات المركبات الفضائية وعلوم الفضاء مثل مركبة الفضاء جاليليو [27] ، وماجلان [28]، وجهاز تحليل موجة البلازما على مركبة الفضاء يوليسيس التابعة لوكالة الفضاء الأوروبية، والعديد من الأقمار الصناعية التي تدور حول الأرض [29] والأقمار الصناعية التي تحمل الراديو للهواة. [30]
تم التحقق أيضًا من أن 1802 قد تم استخدامه في تلسكوب هابل الفضائي من خلال وثائق مصدر وكالة ناسا . [31]
الاستخدامات العسكرية
تم استخدام 1802 في عدد من العناصر العسكرية البريطانية في الثمانينيات والتسعينيات، من بينها:
- L1A1 Fuze Setter [32] [ مصدر أفضل مطلوب ]
- نظام تدريب SAWES (محاكي تأثيرات الأسلحة الصغيرة) المجهز لبنادق SLR / SA80 [ بحاجة لمصدر ]
- نظام اتصالات ساحة المعركة Ptarmigan [ بحاجة لمصدر ]
لغات البرمجة
كانت أول لغة عالية المستوى متاحة لجهاز 1802 هي Forth ، التي قدمتها شركة Forth، Inc. وكانت تُعرف باسم MicroFORTH، في عام 1976 (انظر أرشيف شركة Forth Inc). لغات البرمجة الأخرى المتاحة، سواء المفسرين أو المجمِّعين، هي CHIP-8 (تم اختراعها أيضًا بواسطة جوزيف ويزبيكر ) (والمتغيرات)، والثامنة (نسخة من Forth أنشأها لي هارت)، [33] لغة Tiny BASIC الخاصة بتوم بيتمان ، [34] ولغة C، ومجمعات مختلفة ومجمعات متقاطعة، وغيرها. تم استخدام لغات متخصصة أخرى من قبل الوكالات الفيدرالية مثل وكالة ناسا ومنشآتها، بما في ذلك مركز جونسون للفضاء، وAMES، وجودارد، ولانجلي، ومارشال، ومختبر الدفع النفاث (JPL)، والتي تضمنت المجمِّع المتقاطع HAL/S، [35] ولغة STOIC ، وهي لغة شبيهة بـ Forth، [36] وغيرها.
تم كتابة لغة برمجة وبيئة تطوير ( مترجم هياكل العمليات ) IPS خصيصًا واستخدامها للتحكم في الوقت الفعلي لأقمار AMSAT الصناعية .
المحاكيات والمُحاكيات
تم محاكاة شريحة 1802 وأجهزة الكمبيوتر التي تستخدم المعالج الدقيق في الأجهزة و/أو البرامج بواسطة الهواة. هناك ثلاثة تصميمات في VHDL لـ FPGA . [37] [38] [39] تم إنشاء استنساخ COSMAC Elf بدقة ناقل وسرعة كاملة بدون شريحة معالج CDP1802 أو شريحة فيديو CDP1861 باستخدام متحكمات PIC . [40] يتم تشغيل محاكي عبر الإنترنت لـ COSMAC Elf (محسن) مكتوب بلغة JavaScript في متصفح المستخدم دون الحاجة إلى التنزيل. [41]
وصف
مقدمة

يحتوي RCA 1802 على تصميم CMOS أساسي ثابت بدون تردد ساعة أدنى ، بحيث يمكن تشغيله بسرعات منخفضة للغاية وطاقة منخفضة، بما في ذلك تردد ساعة يساوي صفرًا لتعليق المعالج الدقيق دون التأثير على تشغيله.
يحتوي على ناقلين منفصلين من 8 دبابيس: ناقل بيانات ثنائي الاتجاه من 8 بت وناقل عناوين متعدد الوقت ، مع الوصول إلى البتات ذات الترتيب العالي والترتيب المنخفض من 16 بت في دورات ساعة متناوبة. يتناقض هذا مع معظم التصميمات في ذلك العصر، مثل MOS 6502 و Intel 8080 ، والتي استخدمت ناقل عناوين من 16 بت.
يحتوي المعالج 1802 على منفذ إخراج (Q) قابل للبرمجة والاختبار، وأربعة دبابيس إدخال يتم اختبارها مباشرة من خلال تعليمات فرعية (EF1-EF4). تسمح هذه الدبابيس بمعالجة مهام الإدخال/الإخراج (I/O) البسيطة بشكل مباشر وبسهولة البرمجة.
نظرًا لأن التعليمات استغرقت 16 أو 24 دورة ساعة لإكمالها، فإن 1802 لم يكن سريعًا بشكل خاص. للمقارنة، يكمل 6502 معظم التعليمات في 2 إلى 4 دورات ساعة، مع أطول (تعليمات رسمية) [42] تستغرق 7 دورات. [43]
تسميات لاحقة رقم الجزء
تشير اللاحقات المختلفة لرقم جزء CDP1802 إلى المواصفات الفنية، بما في ذلك (A، B، & C) وسرعة التشغيل (3.2 ميجا هرتز إلى 6.4 ميجا هرتز)، ودرجة الحرارة (-40 درجة مئوية إلى +85 درجة مئوية، -55 درجة مئوية إلى +125 درجة مئوية)، ونطاقات الجهد (4 فولت إلى 10.5 فولت)، ونوع العبوة (D، E، Q)، والاحتراق (X). وقد تم توحيد هذه المواصفات إلى حد ما بين موردي المصدر المختلفين، بما في ذلك RCA وIntersil وHarris وHughes Aircraft وSolid State Scientific (SSS). استخدمت Hughes بادئة HCMP، واستخدمت SSS بادئة SCP (وربما BCP)، بدلاً من CDP، وكان لديها لاحقات إضافية لم يتم توثيقها حتى الآن. (الأمثلة: CDP1802A وCDP1802ACE وCDP1802BCD وHCMP1802AP وSCP1802D) [44]
| لاحقة | نوع الحزمة |
|---|---|
| هـ | PDIP = حزمة بلاستيكية مزدوجة في الخط |
| د | SBDIP = حزمة مزدوجة من السيراميك الملحومة جانبيًا |
| س | PLCC = حامل رقاقة بلاستيكية مملوءة بالرصاص |
| إكس | حرق في |
السجلات و الإدخال/الإخراج
إن 1802 عبارة عن جهاز مكون من 8 بايتات، مع الحد الأدنى من الدعم لعمليات 16 بت، باستثناء التلاعب بـ 2 بايت. المجمع الأساسي هو سجل "D" المكون من 8 بتات (سجل البيانات). علم الحمل الفردي هو DF (علم البيانات). تستخدم معظم العمليات سجل D، بما في ذلك الوظائف الحسابية والمنطقية، وتعليمات التحميل والتخزين التي تشير إلى الذاكرة. يجب أن تعمل معظم العمليات المكونة من 16 بت على البايت السفلي ثم البايت العلوي، عبر D، باستخدام DF كحمل واستعارة حسب الحاجة.
من أهم مميزات 1802 هي مجموعة من ستة عشر سجلاً كل منها يتكون من 16 بتًا، تستخدم في المقام الأول للعنونة. باستخدام تعليمة SEP، يمكنك تحديد أي من السجلات الستة عشر ليكون عداد البرنامج ؛ باستخدام تعليمة SEX، يمكنك تحديد أي من السجلات المكونة من 16 بتًا ليكون سجل الفهرس . [45] يتمتع السجل R0 بالاستخدام الخاص لحمل عنوان الذاكرة لوحدة التحكم DMA المدمجة . يتمتع السجل R1 بالاستخدام الخاص لكونه عداد البرنامج لمعالج المقاطعة. [46]
توجد تعليمات تسمح بتعيين القيم في هذه السجلات وقراءتها عبر D، مع العمل بشكل منفصل على البتات العلوية والسفلية الثمانية في كل مرة. توجد أيضًا تعليمات لإجراء زيادة ونقصان للقيمة الكاملة المكونة من 16 بت، وتقوم بعض التعليمات بإجراء زيادة ونقصان تلقائيين، مثل LDA (تقدم الحمل) وSTXD (التخزين عبر X والنقصان). ستحتاج مقارنات السجلات والقيم المكونة من 16 بت أيضًا إلى استخدام السجل D كوسيط، باستخدام تعليمات متعددة لإجراء العمليات.
يحتوي المعالج على خمسة خطوط إدخال/إخراج خاصة . يوجد مخرج Q واحد يمكن ضبطه باستخدام تعليمة SEQ وإعادة ضبطه باستخدام تعليمة REQ. يوجد أربعة مدخلات خارجية ذات علم أحادي البت، EF1 وEF2 وEF3 وEF4، وهناك ثمانية تعليمات فرعية مخصصة للتفرع بشكل مشروط بناءً على حالة خطوط الإدخال هذه. يوجد سبعة تعليمات منفذ إدخال وسبعة تعليمات منفذ إخراج تستخدم سجل الاستقبال ومجمع D.
كانت خطوط EF وQ تُستخدم عادةً لواجهات متعددة على أجهزة الكمبيوتر للهواة التي تعمل بنظام 1802 نظرًا لسهولة التعامل مع الخطوط وسهولة استخدامها. كان من المعتاد أن يقوم خط Q بتشغيل مصباح LED للحالة وواجهة كاسيت وواجهة RS-232 ومكبر الصوت. وهذا يعني أن المستخدم يمكنه بالفعل سماع بيانات RS-232 والكاسيت التي يتم إرسالها (ما لم يتم تنفيذ التحكم في مستوى الصوت). تقليديًا، يتم توصيل خط EF4 بزر الضغط اللحظي INPUT على COSMAC Elf. قد تستخدم أنظمة أخرى أحد الخطوط الأخرى.
هناك بعض السجلات والأعلام ذات الاستخدام الخاص الأخرى، بعضها داخلي وبعضها قابل للاستخدام برمجيًا: 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 بتات. البتات الأربعة إلى اليسار، والتي تسمى أحيانًا رقم سداسي عشري من الدرجة العالية، تتعلق بالطبيعة الفعلية للتعليمات، وتلك البتات الأربعة متضمنة في سجل I. تتعلق البتات الأربعة الموجودة على اليمين، والتي تسمى أحيانًا بالأرقام السداسية منخفضة الترتيب، بالسجل العامل، حيث تؤخذ البيانات منه أو توضع فيه، وتلك البتات الأربعة مرتبطة بالسجل N. عندما يتم تنفيذ برنامج، يتم تخزين المراحل المختلفة للعمل والعمليات مؤقتًا في السجل الذي يشير إليه السجل N، مثل ما يحدث عند إجراء الضرب الطويل أو القسمة الطويلة على قطعة من الورق. بالطبع، يتم أحيانًا نقل البيانات من وإلى قسم ذاكرة الوصول العشوائي، ويتم تنفيذ فروع مختلفة من البرنامج، حسب الحاجة، في تدفق الوقت.
التفرع
هناك ثلاثة أنواع من التفرع غير المشروط والتفرع المشروط في 1802، القصير والطويل، والتخطي.
الفروع القصيرة عبارة عن تعليمات مكونة من بايتين، وتستخدم نطاق 256 بايت، وعنوان بايت واحد، وعناوين مطلقة للصفحة في النطاق من 0 إلى 255 (نظام FF السداسي عشر). لا يوجد تفرع نسبي. يقفز الفرع القصير دائمًا داخل الصفحة التي تحتوي على بايت العنوان. [46]
تستخدم الفروع الطويلة عنونة كاملة مكونة من 16 بت لدعم مساحة عنوان الذاكرة 64 كيلو بايت، وهي التعليمات الوحيدة المكونة من 3 بايت.
تزيد تعليمات التخطي من عدد التكرارات بمقدار واحد للتخطي القصير غير المشروط، أو بمقدار اثنين للتخطي الطويل. فقط التخطي الطويل له تفرع مشروط.
مكالمات البرامج الفرعية
لا يحتوي المعالج على عناوين CALL قياسية وتعليمات RET للبرامج الفرعية، على الرغم من إمكانية محاكاتها. يتيح تصميم السجل المكون من 16 سجلاً إمكانية إنشاء بعض آليات استدعاء البرامج الفرعية وإرجاعها المثيرة للاهتمام، على الرغم من أنها أكثر ملاءمة للبرامج الصغيرة من الترميز للأغراض العامة.
يمكن استدعاء بعض البرامج الفرعية الشائعة الاستخدام بسرعة عن طريق الاحتفاظ بعنوانها في أحد السجلات الستة عشر؛ ومع ذلك، يجب أن يعرف البرنامج الفرعي المطلوب (مُبرمجًا بشكل ثابت) ما هو سجل الكمبيوتر الشخصي المستدعي لأداء تعليمة "العودة". تُستخدم تعليمة SEP لاستدعاء برنامج فرعي يشير إليه أحد السجلات المكونة من 16 بتًا وSEP آخر للعودة إلى المتصل (SEP تعني Set Program Counter ، وتحدد أيًا من السجلات الستة عشر التي سيتم استخدامها كعداد برنامج من تلك النقطة فصاعدًا). قبل عودة البرنامج الفرعي، يقفز إلى الموقع الذي يسبق نقطة دخوله مباشرةً بحيث بعد أن تعيد تعليمة "العودة" SEP التحكم إلى المتصل، سيشير السجل إلى القيمة الصحيحة للاستخدام التالي. (يقوم المعالج دائمًا بزيادة قيمة PC بعد المرجع والاستخدام (استرجاع التعليمة التالية للتنفيذ)، لذا تعمل هذه التقنية كما هو موضح)
من الاختلافات المثيرة للاهتمام في هذا المخطط هو وجود برنامجين فرعيين أو أكثر في حلقة بحيث يتم استدعاؤهم بالترتيب الدوري. في أجهزة الكمبيوتر القديمة للهواة، كانت الحيل والتقنيات مثل هذه تُستخدم بشكل شائع في مقاطعة التحديث الأفقي لإعادة برمجة عنوان خط المسح لتكرار كل خط مسح أربع مرات لوحدة التحكم بالفيديو.
هناك روتين معروف ومستخدم بشكل متكرر يُعرف باسم SCRT (تقنية الاستدعاء والإرجاع القياسية)، والذي يسمح بإجراء روتين فرعي عام الغرض مثل الاستدعاء والإرجاع، بما في ذلك تمرير المعلمات "في السطر"، والروتينات الفرعية المتداخلة باستخدام مكدس. وعلى الرغم من أنه يمكن استخدام أي من السجلات المتاحة لهذه التقنية، إلا أنه وفقًا لتفضيل المبرمج، يستخدم الكثيرون الروتين المقدم بواسطة RCA في دليل مستخدم CDP1802، حيث يكون استخدام السجل المقترح هو R2 = مؤشر المكدس، R3 = عداد البرنامج العام (PC)، R4 = استدعاء، R5 = إرجاع، R6 = مؤشر الحجج المرسلة (غير مدمر). وعلى الرغم من أن هذه الروتينات الداعمة صغيرة، إلا أن هناك تكلفة إضافية لسرعة التنفيذ عند استخدامها. (على عكس ما قد يحدث إذا كانت تعليمات الاستدعاء والإرجاع الفعلية جزءًا من تصميم المعالج الدقيق) يسمح هذا الإعداد باستخدام R0 لـ DMA واستخدام R1 للمقاطعات، إذا لزم الأمر، مما يسمح باستخدام R7 من خلال RF (سداسي عشري) للاستخدام العام للبرنامج.
طرق العنونة
بسبب ناقل العناوين المكون من 16 بت وناقل البيانات المكون من 8 بت، فإن السجلات الستة عشر للأغراض العامة يبلغ عرضها 16 بت، ولكن سجل D للمجمع يبلغ عرضه 8 بت فقط. وبالتالي، يميل المجمع إلى أن يكون عنق زجاجة. يتضمن نقل محتويات سجل إلى آخر أربع تعليمات (واحدة Get وواحدة Put على بايت HI من السجل، وزوج مماثل لبايت LO: GHI R1؛ PHI R2؛ GLO R1؛ PLO R2). وبالمثل، يتضمن تحميل ثابت جديد في سجل (مثل عنوان جديد لقفزة روتينية فرعية، أو عنوان متغير بيانات) أيضًا أربع تعليمات (تعليمات تحميل فورية، LDI، واحدة لكل نصف الثابت، وكل منها متبوعة بتعليمات Put إلى السجل، PHI وPLO).
إن وضعي التوجيه ، السجل غير المباشر والسجل غير المباشر مع الزيادة التلقائية، فعالان إلى حد ما، لإجراء عمليات 8 بت على البيانات الموجودة في المجمع. ومع ذلك، لا توجد أوضاع توجيه أخرى. وبالتالي، يجب محاكاة وضع التوجيه المباشر باستخدام التعليمات الأربع المذكورة سابقًا لتحميل العنوان في سجل احتياطي؛ متبوعًا بتعليمات لتحديد هذا السجل كسجل فهرس؛ متبوعًا أخيرًا بالعملية المقصودة على متغير البيانات الذي يشير إليه هذا العنوان.
وضع DMA والتحميل
يحتوي CDP1802 على وحدة تحكم DMA مدمجة بسيطة ، بها خطان لطلب DMA لإدخال وإخراج DMA. لا تصل وحدة المعالجة المركزية إلى الذاكرة إلا أثناء دورات معينة من دورة الآلة متعددة الخطوات، والتي تتطلب ما بين 8 و16 دورة ساعة. يمكن للأجهزة الخارجية قراءة أو كتابة البيانات أثناء هذه الفترات دون مقاطعة المعالج، وهو مفهوم عام يُعرف باسم سرقة الدورة .
يتم استخدام R0 كمؤشر لعنوان DMA. يتم وضع عنوان بدء بيانات DMA في R0 ثم سحب دبوس القراءة أو الكتابة المناسب على وحدة المعالجة المركزية. تستجيب وحدة المعالجة المركزية لطلب DMA بزيادة القيمة في R0، بحيث يتم تخزين الطلب التالي تلقائيًا في الموقع التالي في الذاكرة. وبالتالي، من خلال تشغيل دبابيس DMA بشكل متكرر، سيتنقل النظام عبر الذاكرة بالكامل.
يوفر متحكم DMA أيضًا "وضع تحميل" خاصًا، والذي يسمح بتحميل الذاكرة أثناء تنشيط مدخلات CLEAR وWAIT للمعالج. يسمح هذا بتحميل البرنامج دون الحاجة إلى محمل تمهيدي قائم على ROM. تم استخدام هذا بواسطة الكمبيوتر الصغير COSMAC Elf وخلفائه لتحميل برنامج من مفاتيح التبديل أو لوحة مفاتيح سداسية عشرية بدون الحاجة إلى برنامج أو أجهزة بسيطة. يمكن للمستخدم ببساطة تعيين المفاتيح على القيمة التالية، وتبديل القراءة، ثم الانتقال. لم تكن هناك حاجة لتغيير العناوين، فقد تم ذلك تلقائيًا من خلال خطوة DMA.
توقيت التعليمات
كفاءة دورة الساعة ضعيفة بالمقارنة مع معظم المعالجات الدقيقة ذات 8 بتات. حيث تشكل ثماني دورات ساعة دورة آلة واحدة. وتستغرق معظم التعليمات دورتين للآلة (16 دورة ساعة) للتنفيذ؛ وتستغرق التعليمات المتبقية ثلاث دورات للآلة (24 دورة ساعة). وبالمقارنة، تستغرق MOS Technology 6502 من دورتين إلى سبع دورات ساعة لتنفيذ تعليمة، وتستغرق Intel 8080 من أربع إلى 18 دورة ساعة.
| كود التشغيل | تعليمات | ذاكري | دورات الآلة |
|---|---|---|---|
| 00 | إنه خامل، ويقوم بدورات جلب (أعتقد) | اللغة الإنجليزية:IDL | 2 |
| 0ن | تحميل D من العنوان في RN | لدن ن | 2 |
| 1ن | زيادة الرقم 16 بت في RN | شركة إنك إن | 2 |
| 2ن | تقليل الرقم 16 بت في RN | ديسمبر ن | 2 |
| 30 ملم | فرع R(P) دون قيد أو شرط إلى MM | البرازيل | 2 |
| 31 ملم | قم بالتفريع R(P) إلى MM إذا كان Q يساوي 1 | بكيو | 2 |
| 32 ملم | قم بالتفريع R(P) إلى MM إذا كان D يساوي 00 | بز | 2 |
| 33 ملم | قم بالتفريع R(P) إلى MM إذا كان DF يساوي 1 | بي دي إف | 2 |
| 34 ملم | الفرع R(P) إذا كان العلم الخارجي EF1 هو 1 | ب1 | 2 |
| 35 ملم | الفرع R(P) إذا كان العلم الخارجي EF2 هو 1 | ب2 | 2 |
| 36 ملم | الفرع R(P) إذا كان العلم الخارجي EF3 هو 1 | ب3 | 2 |
| 37 ملم | الفرع R(P) إذا كان العلم الخارجي EF4 هو 1 | ب4 | 2 |
| 38 | تخطي R(P) بمقدار 1 بايت من الذاكرة الموجهة | إس كي بي | 2 |
| 39 ملم | قم بالتفريع R(P) إلى MM إذا كان Q يساوي 0 | بي إن كيو | 2 |
| 3 أمبير مم | قم بالتفريع R(P) إلى MM إذا لم يكن D هو 00 | نيوزيلندا | 2 |
| 3ب مم | قم بالتفريع R(P) إلى MM إذا كان DF يساوي 0 | ب ن ف | 2 |
| 3ج مم | قم بالتفرع R(P) إذا كان العلم الخارجي EF1 يساوي 0 | ب ن 1 | 2 |
| 3D ملم | قم بالتفرع R(P) إذا كان العلم الخارجي EF2 يساوي 0 | ب ن 2 | 2 |
| 3E مم | قم بالتفرع R(P) إذا كان العلم الخارجي EF3 يساوي 0 | ب ن 3 | 2 |
| 3F مم | قم بالتفرع R(P) إذا كان العلم الخارجي EF4 يساوي 0 | بى ان 4 | 2 |
| 4ن | قم بتحميل D من العنوان في السجل RN وقم بتقديم RN بمقدار 1 | لدا ن | 2 |
| 5ن | قم بتخزين D في الذاكرة المشار إليها بواسطة السجل RN | سترن ن | 2 |
| 60 | زيادة الرقم 16 بت في R(X) | أي آر إكس | 2 |
| 61 | الإخراج من بايت الذاكرة عند R(X) إلى حالة BUS | خارج 1 | 2 |
| 62 | الإخراج من بايت الذاكرة عند R(X) إلى حالة BUS | خارج 2 | 2 |
| 63 | الإخراج من بايت الذاكرة عند R(X) إلى حالة BUS | خارج 3 | 2 |
| 64 | الإخراج من بايت الذاكرة عند R(X) إلى حالة BUS | خارج 4 | 2 |
| 65 | الإخراج من بايت الذاكرة عند R(X) إلى حالة BUS | خارج 5 | 2 |
| 66 | الإخراج من بايت الذاكرة عند R(X) إلى حالة BUS | خارج 6 | 2 |
| 67 | الإخراج من بايت الذاكرة عند R(X) إلى حالة BUS | خارج 7 | 2 |
| 68 | (غير محدد لـ RCA 1802) | ||
| 69 | الإدخال من حالة BUS إلى بايت الذاكرة عند R(X) وسجل D أيضًا | إن بي 1 | 2 |
| 6أ | الإدخال من حالة BUS إلى بايت الذاكرة عند R(X) وسجل D أيضًا | إن بي 2 | 2 |
| 6ب | الإدخال من حالة BUS إلى بايت الذاكرة عند R(X) وسجل D أيضًا | إن بي 3 | 2 |
| 6ج | الإدخال من حالة BUS إلى بايت الذاكرة عند R(X) وسجل D أيضًا | إن بي 4 | 2 |
| 6د | الإدخال من حالة BUS إلى بايت الذاكرة عند R(X) وسجل D أيضًا | إن بي 5 | 2 |
| 6هـ | الإدخال من حالة BUS إلى بايت الذاكرة عند R(X) وسجل D أيضًا | إن بي 6 | 2 |
| 6 ف | الإدخال من حالة BUS إلى بايت الذاكرة عند R(X) وسجل D أيضًا | إن بي 7 | 2 |
| 70 | يتم إرجاع بايت الذاكرة الموجود على العنوان في R(x) إلى بايت الذاكرة الموجود على العنوان في R(P) بعد المقاطعة، ويتم تمكين سجل تمكين المقاطعة IE عن طريق التعيين على 1، ويتم زيادة R(X) | ريت | 2 |
| 71 | يتم نقل بايت الذاكرة عند العنوان الموجود في R(P) إلى بايت الذاكرة عند العنوان الموجود في R(X)، يتم تعطيل سجل تمكين المقاطعة IE عن طريق تعيينه على 0، يتم زيادة R(X) | ديس | 2 |
| 72 | قم بتحميل بايت الذاكرة عند R(X) في السجل D، ثم قم بزيادة R(X) | ال دي اكس ايه | 2 |
| 73 | قم بتخزين سجل D في بايت الذاكرة عند R(X) وقم بتقليل R(X) | إس تي إكس دي | 2 |
| 74 | أضف بايت الذاكرة عند R(X) إلى السجل D والسجل الناقل DF، ويتم نقل الإجابة إلى السجل D والسجل الناقل DF | محول تناظري رقمي | 2 |
| 75 | اطرح سجل D وسجل الحمل DF من بايت الذاكرة عند R(X)، ثم انقل الإجابة إلى سجل D وسجل الحمل DF | قاعدة بيانات SDB | 2 |
| 76 | قم بنقل السجل D إلى اليمين وسجل الحمل DF | مركز أبحاث العلوم الإنسانية | 2 |
| 77 | اطرح بايت الذاكرة عند R(X) من السجل D والسجل الحامل، ثم انقل الإجابة إلى السجل D والسجل الحامل DF | الشركات الصغيرة والمتوسطة | 2 |
| 78 | احفظ البايت في السجل T في بايت الذاكرة عند R(x) | ساف | 2 |
| 79 | احفظ النبلة ذات الأربعة بتات في السجل X والنبلة ذات الأربعة بتات في السجل P في البايت في السجل T، يتم نقل البايت في السجل T إلى البايت في السجل R(2)، يتم نقل النبلة في X إلى النبلة P، يتم تقليل R(2) | علامة | 2 |
| 7أ | إعادة تعيين خرج Q إلى 0 | مطلوب | 2 |
| 7ب | ضبط إخراج Q إلى 1 | التسلسل الزمني | 2 |
| 7ج ك ك | أضف البايت KK إلى السجل D مع السجل الناقل DF، ثم انقل الإجابة إلى السجل D والسجل الناقل DF على الفور | أدسي | 2 |
| 7د ك ك | اطرح البايت في السجل D والسجل الناقل DF من البايت KK، وانقل الإجابة إلى السجل D والسجل الناقل DF، على الفور 2 | إس بي دي آي | 2 |
| 7هـ | قم بنقل السجل D إلى اليسار وسجل الحمل DF | مركز اس اتش ال سي | 2 |
| 7F ك ك | اطرح البايت KK من السجل D والسجل الناقل DF، ثم انقل الإجابة إلى السجل D والسجل الناقل DF فورًا | إس إم بي آي | 2 |
| 8ن | نقل البايت المنخفض من السجل RN إلى السجل D | جلو ن | 2 |
| 9ن | نقل البايت الأعلى من سجل RN إلى سجل D | غي ن | 2 |
| أ.ن | ضع البايت الموجود في السجل D في البايت السفلي من السجل RN | منظمة التحرير الفلسطينية | 2 |
| ب ن | ضع البايت الموجود في السجل D في البايت الأعلى من السجل RN | في ن | 2 |
| C0 ممممم | فرع طويل R(P) إلى MMMM دون قيد أو شرط | ل ب ر | 3 |
| ج1 ممممم | الفرع الطويل R(P) إلى MMMM إذا كان Q يساوي 1 | إل بي كيو | 3 |
| C2 ممممم | فرع طويل R(P) إلى MMMM إذا كان D يساوي 00 | ال بي زد | 3 |
| C3 ممممم | الفرع الطويل R(P) إلى MMMM إذا كان DF يساوي 1 | LBDF | 3 |
| سي 4 | لا يوجد عملية | نوب | 3 |
| سي5 | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة إذا كان Q يساوي 0 | لسن كيو | 3 |
| سي6 | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة إذا لم يكن D هو 00 | لسن نيز | 3 |
| سي7 | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة إذا كان DF يساوي 0 | LSNF | 3 |
| سي 8 | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة | لسكب | 3 |
| C9 ممممم | فرع طويل R(P) إلى MMMM إذا كان Q يساوي 0 | LBNQ | 3 |
| CA MMMM | فرع طويل R(P) إلى MMMM إذا لم يكن D هو 00 | لبن نيوزيلندا | 3 |
| سي بي ممممم | فرع طويل R(P) إلى MMMM إذا كان DF يساوي 0 | ل ب ن ف | 3 |
| نسخة | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة إذا كان IE الممكّن للمقاطعات هو 1 | معهد لندن للاقتصاد والعلوم السياسية | 3 |
| قرص مضغوط | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة إذا كان Q يساوي 1 | LSQ | 3 |
| سي إي | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة إذا كان D يساوي 00 | LSZ | 3 |
| ت.ف | تخطي طويل لـ R(P) بمقدار 2 بايت ذاكرة موجهة إذا كان DF يساوي 1 | LSDF | 3 |
| DN | اضبط النبلة في السجل P للإشارة إلى السجل RN | سبتمبر ن | 2 |
| العربية | اضبط nibble في سجل X للإشارة إلى سجل RN | الجنس ن | 2 |
| ف0 | قم بتحميل البايت في السجل D باستخدام بايت الذاكرة في R(X) | ال دي اكس | 2 |
| ف1 | منطقي أو البايت في السجل D مع بايت الذاكرة في R(X)، انقل النتيجة إلى السجل D | أو | 2 |
| ف2 | منطقيًا، والبايت الموجود في السجل D مع بايت الذاكرة عند R(X)، انقل النتيجة إلى السجل D | و | 2 |
| ف3 | حصرًا أو البايت الموجود في سجل D مع بايت الذاكرة عند R(X)، انقل النتيجة إلى سجل D | إكس أو آر | 2 |
| ف4 | أضف البايت الموجود في سجل D إلى بايت الذاكرة عند R(X)، ثم انقل النتيجة إلى سجل D | 2 | |
| ف5 | اطرح البايت الموجود في سجل D من بايت الذاكرة عند R(X)، ثم انقل النتيجة إلى سجل D | SD | 2 |
| ف6 | حرك السجل D إلى اليمين 2 | إس إتش آر | 2 |
| ف7 | اطرح بايت الذاكرة عند R(X) من السجل D، ثم انقل النتيجة إلى السجل D | س م | 2 |
| ف8 كيه كيه | تحميل KK في السجل D | إل دي آي | 2 |
| ف9 ك ك | أو البايت في السجل D مع KK، انقل الإجابة إلى السجل D | أوري | 2 |
| فا كي كي | والبايت الموجود في السجل D مع KK، انقل الإجابة إلى السجل D | آني | 2 |
| فيس بوك كي كي | حصرًا أو البايت في السجل D مع KK، انقل الإجابة إلى السجل D | إكس آر آي | 2 |
| نادي كيه كيه | أضف البايت في السجل D مع KK، ثم انقل الإجابة إلى السجل D والسجل الحامل DF | أدي | 2 |
| فد ك ك | اطرح البايت الموجود في السجل D من KK، ثم انقل الإجابة إلى السجل D | إس دي آي | 2 |
| ف إ | حرك السجل D إلى اليسار | شِل | 2 |
| FF KK | اطرح البايت KK من السجل D، ثم انقل الإجابة إلى السجل D والسجل الحامل DF | بايت SMI | 2 |
| ممرضة/طبيبة | سجل الأغراض العامة المكون من 16 بتًا (16 منها تحمل علامة R0 إلى RF) |
| ر.ن.0 | رقم التسجيل منخفض الطلب |
| ر.ن.1 | رقم التسجيل عالي المستوى |
| مينيسوتا/المكسيك | موقع بايت الذاكرة الذي تمت معالجته بواسطة محتويات RN/RX |
| ص | سجل عداد البرامج المكون من 4 بتات |
| إكس | رقم تسجيل X مكون من 4 بتات |
| د | سجل الاحتفاظ بـ 8 بت |
| دي إف | سجل تجاوز سعة 1 بت |
| أي | تسجيل تمكين المقاطعة 1 بت |
| س | سجل إخراج 1 بت |
| ت | سجل خاص 8 بت |
شرائح الدعم
الرسومات
في أجهزة الكمبيوتر الصغيرة التي تم إنشاؤها في أوائل عام 1802، استخدمت شريحة وحدة تحكم عرض الفيديو الرسومية المصاحبة ، RCA CDP1861 (لتنسيق الفيديو NTSC ، متغير CDP1864 لتنسيق PAL )، وحدة تحكم DMA المدمجة لعرض رسومات نقطية بالأبيض والأسود على شاشات التلفزيون القياسية بما يصل إلى 64 بكسل أفقيًا و128 بكسل رأسيًا. كان 1861 يُعرف أيضًا باسم نظام رسومات Pixie.
على الرغم من أن الإصدارات الأسرع من 1802 يمكن أن تعمل بتردد 4-5 ميجا هرتز (عند 5 فولت؛ كانت أسرع (6.4 ميجا هرتز) عند 10 فولت)، إلا أنها كانت تعمل عادةً بتردد 3.58 ميجا هرتز، مقسومًا على 2 (1.79 ميجا هرتز) لتناسب متطلبات شريحة 1861، والتي أعطت سرعة تزيد قليلاً عن 100000 تعليمة في الثانية، على الرغم من أن بعضها كان يعمل بسرعات أخرى مثل ~2.8 ميجا هرتز من Comx أو 5 ميجا هرتز من Pecom . كان COSMAC VIP ، الذي دمج شريحة الفيديو مع المعالج كجهاز كمبيوتر واحد مخصص لهذا الغرض (بدلاً من كونه إضافة لمجموعة أدوات للهواة)، يعمل بشكل أبطأ بكثير، حيث قام بمزامنته تمامًا مع 1861 - بسرعة غير قياسية تبلغ 1.76064 ميجا هرتز، كما هو موصى به في تصميم مرجع ورقة مواصفات Pixie. [د]
يمكن استخدام دائرة مولد الألوان CDP1862، وهي شريحة مصاحبة لـ 1861، لتوليد رسومات ملونة. استخدمت بعض أنظمة الكمبيوتر، مثل Pecom 64 أو Telmac TMC-600 ، نظام واجهة الفيديو (VIS)، الذي يتكون من الدوائر المتكاملة المصاحبة CDP1869 وCDP1870، لإنتاج رسومات ملونة بدقة أعلى بشكل واضح، مقارنة بأنظمة 8 بت الأخرى في ثمانينيات القرن العشرين.
عينات التعليمات البرمجية
يختبر هذا المثال الصغير من التعليمات البرمجية دبابيس علم الحدث (EF). لاختبار الدبابيس من واحد إلى أربعة، قم بتغيير B4 إلى B2، والذي يختبر دبوس EF2.
حلقة
فرع B4 EF ؛ لأن دبابيس EF نشطة بشكل منخفض، مما يجعلها تتصرف كبوابة غير نشطة
مطلوب
حلقة BR
فرع EF
التسلسل الزمني
حلقة BR
يعد مثال مقتطف التعليمات البرمجية هذا روتينًا تشخيصيًا يختبر عمليات وحدة الحساب والمنطق ( ALU ). [47]
.. اختبار ALU OPS
0000 90 GHI 0 .. إعداد R6
0001 ب6 في إتش آي 6
0002 F829 LDI DOIT .. لإدخال رمز التشغيل
0004 أ6 PLO 6
0005 E0 الجنس 0 .. ( X = 0 بالفعل )
0006 6400 خارج 4 ، 00 .. أعلنا جاهزين
0008 E6 الجنس 6 .. الآن X = 6
0009 3 F09 BN4 * .. انتظرها
000 ب 6 ج INP 4 .. حسنًا ، احصل عليه
000 ج 64 مخرج 4 .. وصدى للعرض
000 د 370 د ب 4 * .. انتظر الإصدار
000 F F860 LDI # 60 .. استعد الآن لـ
0011 A6 PLO 6 .. المتعامل الأول
0012 E0 الجنس 0 .. قل ذلك
0013 6401 مخرج 4 ، 01
0015 3 ف15 ب ن 4 *
0017 E6 SEX 6 .. خذها وصدها
0018 6 ج INP 4 .. ( إلى 0060 )
0019 64 OUT 4 .. ( زيادة R6 أيضًا )
001 أ 371 أ ب4 *
001 C E0 SEX 0 .. DITTO المتعامل الثاني
001 د 6402 مخرج 4 ، 02
001 ف هـ 6 الجنس 6
0020 3 F20 LOOP : BN4 * .. انتظرها
0022 6 C INP 4 .. احصل عليه ( ملاحظة : X = 6 )
0023 64 خارج 4 .. صدى ذلك
0024 3724 B4 * .. انتظر الإصدار
0026 26 ديسمبر 6 .. نسخة احتياطية R6 إلى 0060
0027 26 ديسمبر 6
0028 46 LDA 6 .. احصل على المتغير الأول إلى D
0029 C4 DOIT : NOP .. DO OPERATION
002 A C4 NOP .. ( قطعة احتياطية )
002 ب 26 ديسمبر 6 .. العودة إلى 0060
002 C 56 STR 6 .. نتيجة الإخراج
002 د 64 خارج 4 .. ( X = 6 ثابت )
002 E 7 A REQ .. إيقاف تشغيل Q
002 F CA0020 حلقة LBNZ .. ثم إذا كان صفرًا ،
0032 7 B SEQ .. قم بتشغيله مرة أخرى
0033 3020 BR LOOP .. كرر في أي حال
ملاحظة: يفترض الروتين أعلاه أن المعالج الدقيق CDP1802 في حالة إعادة تعيين أولية (أو أنه تم ضبطه على هذا النحو قبل تنفيذ هذا الكود). لذلك، يتم ضبط كل من عداد البرنامج (PC) وسجل X غير المباشر "المؤشر" على سجل 16 بت R0. ولهذا السبب يمكنك إخراج قيمة فورية، كما في المثال "OUT 4,00"، لأن PC وX يشيران إلى R0. يتم زيادة قيمة PC بعد استرداد بايت تعليمات التشغيل من الذاكرة، وبالتالي يشير إلى العنوان التالي عند تنفيذ OUT 4. وبالتالي، فإنه يخرج القيمة الموجودة في الذاكرة التي يشير إليها RX = R0، وهو البايت الفوري التالي. كما تعمل تعليمة OUT على زيادة قيمة سجل X، وهو R0، وهو أيضًا PC، وبالتالي فإنه يخرج القيمة الفورية بعد OUT ويستمر في تنفيذ البرنامج عند عنوان التعليمات التالي بعد القيمة الفورية. هذا هو السبب الذي يجعلك ترى الروتين يضبط X (SEX) لتسجيل R6 وR0 حسب الحاجة. لاحظ أيضًا أنه على الرغم من أن التعليمات البرمجية OUT تزيد من سجل RX، لإخراج قسم من الذاكرة ("المخزن المؤقت") بسهولة، فإن INP لا يفعل ذلك. فهو يخزن القيمة عند العنوان الذي يشير إليه RX وفي مجمع بيانات D ذي الثمانية بتات، ولكن لا يتم تعديل RX.
تفترض الروتينية أيضًا أن OUT 4 سيعرض القيمة في شاشة LED ذات 8 بتات أو شاشة سداسية عشرية مكونة من رقمين في نظام وحدة المعالجة المركزية، ويحصل IN 4 على القيمة من مفاتيح التبديل الثمانية (أو ربما لوحة المفاتيح السداسية عشرية). يتم استخدام رمز التشغيل BN4 (حلقة؛ * = "هذا العنوان")، "التفرع إذا كان خط الإدخال EF4 أحادي البت هو lo"، لاختبار ما إذا كان زر "الإدخال" اللحظي مضغوطًا. تنتظر حلقة رمز التشغيل B4 ("إذا كان hi") تحرير الزر. يقوم SEQ وREQ بتشغيل وإيقاف تشغيل خط Q الفردي، والذي عادةً ما يكون متصلًا بـ LED.
إن 1802 عبارة عن "آلة بايت"، ولكنها تحتوي على 16 سجلًا مكونًا من 16 بتًا، R0-RF (يشار إليها أحيانًا باسم 0-F بدون البادئة "R"). للتعامل مع بيانات السجل المكونة من 16 بتًا، يجب على المبرمج الحصول على قيم Hi أو Lo ووضعها باستخدام مُراكم D كوسيط. يشار أحيانًا إلى بايتات السجلات العالية والمنخفضة هذه باسم Rn.0 (lo) وRn.1 (hi). الفروع القصيرة عبارة عن أكواد تشغيل مكونة من 2 بايت مع عنونة مطلقة للصفحة، وحدود عنوان مكونة من 256 بايتًا. الفروع الطويلة عبارة عن أكواد تشغيل مكونة من 3 بايتات مع تفرع كامل لعناوين 16 بتًا.
يجب أن تجعل هذه المعلومات الروتين أكثر قابلية للفهم لأي مبرمج كمبيوتر لديه المعرفة الكافية لقراءة "الكود الزائف" ولديه معرفة بسيطة ببرمجة التجميع ولغة الآلة.
ملحوظات
- ^ يختلف التاريخ الدقيق بين المراجع، كما هو الحال بالنسبة لمعظم التواريخ المتعلقة بـ COSMAC. يضعه إدواردز في عام 1969، [9] بينما يقول معظم الآخرين أنه عام 1970، وهو التاريخ المستخدم هنا.
- ^ كان هذا هو الاستعراض السنوي لعمليات عام 1973، ونُشر في وقت ما من عام 1974. [10]
- ^ تظل التواريخ الدقيقة لأخذ العينات والإصدار العام لأجهزة COSMAC المختلفة غير دقيقة. وقد أنتج هيرب جونسون قائمة موسعة بتقارير RCA التي تشكل أساس التواريخ في هذه المقالة. [11]
- ^ ومع ذلك، نظرًا لعمر الجهاز، فقد يكون هذا بسبب عدم تطوير درجات السرعة الأعلى بعد، مما يعني أن المعالج تم تصنيفه بحد أقصى 3.2، أو ربما حتى 2.5 ميجا هرتز فقط. وعلى الرغم من أنها حالة متطرفة، فلن تكون الآلة وحدها التي تعمل بوحدة معالجة مركزية أقل بكثير من سرعتها المقدرة من أجل توفير التكلفة والتعقيد في نظام التوقيت، وكان التشغيل بسرعة 3.52 ميجا هرتز ببساطة سيمثل 10٪ محفوفًا بالمخاطر، أو حتى 41٪ زيادة في السرعة غير مستدامة .
مراجع
الاستشهادات
- ^ أ ب ج د كاس 2018.
- ^ "RCA COSMAC 1802". صفحة جامع الرقائق العتيقة . AntiqueTech.com. 21 أبريل 2009. مؤرشف من الأصل في 2 يناير 2013. تم الاسترجاع في 27 ديسمبر 2010 .
- ^ "جوزيف ويزبيكر". Vintage-Computer.com. 2010-02-08 . تم الاسترجاع في 2010-12-27 .
- ^ "جوزيف أ. ويزبيكر (1932 - 1990)". CosmacElf.com . تم الاسترجاع في 2010-12-27 .
- ^ ab Cass, Stephen. "Chip Hall of Fame: RCA CDP 1802 - IEEE Spectrum". IEEE . IEEE . تم الاسترجاع في 19 يوليو 2023 .
- ^ "CDP1802A". مؤرشف من الأصل في 2012-03-09 . تم الاسترجاع 2010-08-23 .
- ^ "معالج CMOS 8 بت عالي الموثوقية CDP1802AC/3". Intersil Americas LLC. 17 أكتوبر 2008.
- ^ Weisbecker 1974، ص 41.
- ^ abcdefghij إدواردز 2017.
- ^ ab Lab 1973، ص 152.
- ^ جونسون، هيرب (11 ديسمبر 2018). "COSMAC 1801، 1802 "تواريخ"".
- ^ "RCA MCDS، نظام تطوير كمبيوتر Microboard". RetroTechnology.com. 2020-10-28 . تم الاسترجاع في 2022-05-08 .
- ^ Ruske, Dave. "Cybervision 2001, 3001, and 4001". COSMAC Elf . COSMACELF.COM . تم الاسترجاع في 30 يونيو 2016 .
- ^ "إعلان مجلة Wireless World في الصفحة 22" (PDF) . تاريخ الراديو الأمريكي . مايو 1981. تم الاسترجاع في 21 يناير 2017 .
- ^ "تقرير المعدات - جهاز الكمبيوتر الصغير Infinite UC1800" (PDF) . ClassicCmp.org - Classic Computing . مجلة Radio Electronics. أغسطس 1977 . تم الاسترجاع في 22 يناير 2017 .
- ^ هابرهرن، ويليام (فبراير 1977). "مقالة مجلة كيلوبود، ص 90". Archive.org . واين جرين . تم الاسترجاع في 22 يناير 2017 .
- ^ هارت، لي. "جهاز كمبيوتر بطاقة العضوية 1802". الصفحة الرئيسية لـ Lee Hart . Lee Hart . تم الاسترجاع في 22 مايو 2016 .
- ^ "أدوات وقت الفراغ Elf 2000 (Elf 2K)".
- ^ "خمسة أجيال من أجهزة قياس الرطوبة سينار" . تم الاسترجاع في 22 مايو 2016 .
- ^ "Inforcel" . تم الاسترجاع في 22 مايو 2016 .
- ^ جونسون، هربرت ر. (22 يونيو 2016). "RCA/Weisbecker "System 00" المعروف أيضًا باسم "FRED"". Retrotechnology . تم الاسترجاع في 23 يونيو 2016 .
- ^ "نظام التحكم في محرك Chrysler Lean Burn". جميع معلومات Mopar Chrysler . AllPar.com . تم الاسترجاع في 23 يونيو 2016 .
- ^ دونيلي، ويليام (7 يوليو 2016). "MDCCCII (1802) | تكامل المنتج: التطبيقات التجارية والعلمية". عرض حوسبة وحدة المعالجة المركزية COSMAC 1802 الرجعية . ويليام دونيلي . تم الاسترجاع في 7 يوليو 2016 .
- ^ Briggs, GR; Connor, SJ; Sinniger, JO; Stewart, RG (Aug 1978). "معالج دقيق CMOS-on-sapphire بتردد 40 ميجاهرتز". IEEE Transactions on Electron Devices . 25 (8): 952–959. doi :10.1109/T-ED.1978.19207.
- ^ ab Dingwall, A.; Stricker, R.; Sinniger, J. (أكتوبر 1977). "معالج دقيق عالي السرعة من نوع CMOS C2L". مجلة IEEE للدوائر ذات الحالة الصلبة . 12 (5). IEEE: 457–462. doi :10.1109/ISSCC.1977.1155726.
- ^ "عائلة المعالجات الدقيقة CMOS ذات البوابة السيليكونية المقواة بالإشعاع" (PDF) . IAEA.org . تم الاسترجاع في 4 يونيو 2016 .>
- ^ تومايكو، جيمس (أبريل 1987). "أجهزة الكمبيوتر في رحلات الفضاء: تجربة ناسا". ناسا . تم الاسترجاع في 6 فبراير 2010 .
- ^ http://www2.jpl.nasa.gov/magellan/guide4.html#4.11 دليل مستكشف كوكب الزهرة ماجلان، الفصل الرابع - مركبة الفضاء ماجلان - الحوسبة والبرمجيات
- ^ "RCA COSMAC VIP". موقع ويب للتكنولوجيا القديمة . تم استرجاعه في 31 يناير 2010 .
- ^ http://www.amsat.org/amsat-new/AboutAmsat/amsat_history.php تاريخ AMSAT
- ^ أفشاري، أ. (يناير 1993). "كاميرا تلسكوب هابل الفضائية ذات المجال الواسع/الكواكب" (PDF) . شاتر باج . مؤرشف من الأصل (PDF) في 6 أكتوبر 2016.
- ^ تفكيك جهاز ضبط الصمامات Royal Ordnance L1A1 ، تم استرجاعه في 2022-10-16
- ^ "برنامج بطاقة العضوية".
- ^ "أجهزة كمبيوتر صغيرة و TinyBasic".
- ^ "الحالة الحالية لمترجم HAL/S على جهاز الكمبيوتر Modcomp Classic 7870" (PDF) .
- ^ MASCOT (مطياف فلكي / كاميرا للتلسكوبات البصرية من معهد ماساتشوستس للتكنولوجيا). يناير 1980.
- ^ Baker, Scott (2016). "1802 CPU coded in VHDL". Scott L Baker Github . Scott Baker . تم الاسترجاع في 24 يوليو 2016 .
- ^ سميث، إريك (2009). "cosmac - نواة وحدة المعالجة المركزية المكافئة وظيفيًا لـ RCA COSMAC CDP1802 في VHDL". إريك سميث جيثب . إريك سميث . تم الاسترجاع في 9 يوليو 2019 .
- ^ Teal, Steve (2016). "VHDL 1802 Core with TinyBASIC for the Lattice MachXO2 Pico board". Steve Teal Github . Steve Teal . تم الاسترجاع في 9 يوليو 2019 .
- ^ تيد روسين (2011). "استنساخ العفريت". تيد روسين الصفحة الرئيسية . تيد روسين . تم الاسترجاع 24 يوليو 2016 .
- ^ دونيلي، ويليام (2011). "محاكي COSMAC Elf-ish CDP1802 في JavaScript". الصفحة الرئيسية لـ Donnelly-House . ويليام دونيلي . تم الاسترجاع في 24 يوليو 2016 .
- ^ Landsteiner, mass:werk, Norbert (2021-06-05). "(Now Go Bang!) 6502 "Illegal" Opcodes Demystified". Now Go Bang! — mass:werk / Blog . تم الاسترجاع في 2024-02-02 .
{{cite web}}:CS1 maint: أسماء متعددة: قائمة المؤلفين ( الرابط ) - ^ "مجموعة التعليمات 6502". mass:werk .
- ^ Shvets, Gennadiy (2 Oct 2016). "عائلة المعالجات الدقيقة RCA 1802 (CDP1802)". CPU-World . Gennadiy Shvets . تم الاسترجاع في 17 أكتوبر 2016 .
- ^ "ماذا يعني الجنس؟" . تم الاسترجاع في 26 ديسمبر 2013 .
- ^ دليل المستخدم لمعالج CDP1802 COSMAC
- ^ بيتمان، توم (1980). "دورة تدريبية قصيرة في البرمجة". cosmacelf.com . تم الاسترجاع في 20 مايو 2017 .
فهرس
- تقرير بحثي 1973 (PDF) (تقرير فني). مختبرات RCA. 1973.
- كاس، ستيفن (2 يوليو 2018). "قاعة مشاهير الرقائق: RCA CDP 1802". IEEE Spectrum .
- إدواردز، بينج (2017-10-27). "إعادة اكتشاف أول مصممة ألعاب فيديو مفقودة في التاريخ". Fast Company . تم الاسترجاع في 2017-10-27 .
- Weisbecker, Joe (مارس 1974). "هندسة حاسوبية دقيقة مبسطة". 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 .
