
_START_ARTICLE_
آر سي إيه 1802
_START_PARAGRAPH_
معالج RCA CDP 1802   والمعروف أيضاً بـ COSMAC (كمبيوتر المصفوفة المتآلفة المتماثلة التكميلية) وهو معالج دقيق CMOS (µP) 8 بت أنتجته شركة RCA في أوائل عام 1976. ويتم تصنيعه حاليا بواسطة شركة انترسيل كمعالج دقيق عالية الثقة. ويختلف هيكل معالج 1802 عن معظم المعالجات الدقيقة 8 بت الأخرى._NEWLINE_في 1970 و1971 قام جوزيف ويسبكر نظام كمبيوتر جديد بهيكل 8 بت،  وأصدرت شركة RCA عمل ويسبكر باسم COSMAC 1801R و1801 Uفي أوائل عام 1975 باستخدام عمليتها CMOS (باسم COSMOS اختصار سيليكون تكميلية/ أشباه موصلات أكسيد فلزي Complementary Silicon/Metal-oxide Semiconductor). وفي 1976 قام فريقي بقيادة جيري هرزوج بتكامل الرقيقتين في رقاقة واحدة، وهي رقاقة 1802.
_START_SECTION_
مقدمة
_START_PARAGRAPH_
يتمتع RCA 1802 بتصميم CMOS ثابت مع عدم وجود الحد الأدنى من التردد على مدار الساعة بحيث يمكن تشغيله بسعة منخفضة جدا وبطاقة منخفضة أيضا. فلديه ناقل متوازي 8 بت وناقل بيانات ثنائي الاتجاه وناقل عنوان مضاعف (أي بايت نظام عالي لعنوان 16 بت وبايت نظام منخفض للعنوان الذي يتناوب في استخدام خطو ناقل العنوان المادي 8 بت عن طريق الوصول إلى خطوط الناقل في دورات مختلفة على مدار الساعة)._NEWLINE_و RCA 1802 بها بت واحدة، منفذ مخرجات قابل للبرمجة أربعة دبابيس مخرجات يتم اختبارها مباشرة بواسطة تعليمات الفرع._NEWLINE_ونموذج I/O مرن وقابل للبرمجة وبه ساعة أحادية المرحلة مع جهاز تذبذب سريعة على رقية رقاقة. وجموعة سجلة تتكون من ستة عشر سجلات 16 بت. ويمكن وضع وعداد البرنامج (PC) في أي من هذه الأماكن الأمر الذي يوفر طريقا سهلا لتنفيذ عدادات برامج أو مؤشرات أو سجلات.
_START_SECTION_
التطبيقات
_START_PARAGRAPH_
بالإضافة إلى تقنية CMOS المعيارية أصبح 1802 أيضاً متوفرا ومصنوع بتقنية عملية أشباه موصلات من السليكون على الياقوت Silicon on Sapphire، الأمر الذي يعطيه درجة من المقاومة الإشعاع وتفرغ كهربي (ESD)، وإلى جانب قدراته البالغة في خفض الطاقة فإن هذا يجعل الرقاقة مناسبة تماما في تطبيقات الفضاء (وأيضاً في الوقت الذي تم فيه إنتاج معالج 1802 توافر عدد قليل من المعالجات الدقيقة الإشعاعية في الأسواق)._NEWLINE_استخدمت المركبة الفضائية جاليليو معالجات 1802. كما زُعم على نحو غير صحيح غالبا أن المعالج 1802 استخدم في المركبات الفضائية الأولي فيكينج Viking وفوياجر Voyager لكنه لم يكن متوفر في وقت تصميم هذا المركبات الفضائية، وتصف المصادر الرئيسية أجهزة كميوتر فيكينج Viking وفوياجر Voyager على أن لها هيكل يختلف تماما عن المعالج 1802 وليست قائمة على معالج دقيق. واستخدم معالج 1802 بشكل واسع في الأقمار الصناعية التي تدور في مدار الأرض بشك أساسي في كمبيوترها الرئيسي لكن منذ التسعينات حيث انتشر استخدام جهاز كمبيوتر نظم الاتصالات عن بعد التحكم في الطائرات قليلة التعقيد._NEWLINE_اُستخدم معالج 1802 أيضاً في ACAL، نظام قائم على معالج دقيق لتحديد الغازات في الحرب الكيماوية. وقد تم تصميم ACAL  بواسطة وسائل Oldelft / DelftK، شركة هولندية متخصصة في أعمال الدفاع والعسكرية. وقد حصل ACAL فقط على مرحلة النموذج الأولي ولم تحقق إنتاج أبدا._NEWLINE_من بين التطبيقات التجارية نظام التحكم في دخول بناء رئيسي MIL، صُنع في أستراليا، وتم وسُوق في أوروبا في الثمانينات. _NEWLINE_كان الكثير من المعالجات الدقيقة تقوم على معالج 1802 ومن بينها COMX-35 وCOSMAC ELF (1976 وCOSMAC VIP وNetronics ELF II وQUEST SuperELF وFinnish Telmac 1800 وOscom Nano وYugoslave Peccom 32 و64 بالإضافة إلى لوحة مفاتيح RCA Sudio II video game console (واحدة من أول لوح المفاتيح المستخدمة في الرسومات النقطية)_NEWLINE_أول لغة عالية المستوى كانت متوفرة لدى معالج 1802 كانت فورث Forth من إنتاج شركة فورث Forth في 1976.
_START_SECTION_
السجلات وI/O
_START_PARAGRAPH_
من الخصائص الهامة في معالج 1802 هي ملف السجلات والذي يتكون من 16 ملف كل ملف 16 بت. ويمكنك اختيار أي من هذه السجلات الستة عشر على أن يكون حاسب البرنامج من خلال استخدام تعيمات SEX. للسجل R0 استخدام خاص في الاحتفاظ بعنوان الذاكر لجهاز التحكم المثبت DMA._NEWLINE_للمعالج خمسة خطوت I/O خاصة، ويجود مخرج Q واحد يمكن ضبطه باستخدام تعليما SEQ وإعادة ضبطة باستخدام REQ. ويوجد ثلاثة مدخلات خارجية: EF1 وEF2 وEF3  وEF4 ويوجد 8 تعليمات فرعية مخصصة للتفريع المشروط حسب حالة خطوت المدخلات هذه._NEWLINE_خطوط EF وQ مُبالغ في استخدامهم بصورة نموذجية في أجهزة الكمبيوتر الهواة القائمة على RCA معالج 1802 بسبب المعالجة المناسبة للخطوط. وهي نموذجية بالنسبة لخط Q لتوجيه واجهة حالة كاسيت CASSETTE وLED وواجهة RS-232 والسماعات. وهذا يعني أن المستخدم يمكنه بالفعل سماع بيانات الكاسيت أو RS-232 التي يتم نقلها.
_START_SECTION_
مكالمات فرعية subroutine call
_START_PARAGRAPH_
لا يحتوي المعالج على مكالمة فرعية فورية وتعليمات RET على الرغم من إمكانية محاكاتهما. وملف السجلات يجعل من الممكن بعض آليات العودة والمكالمة الفرعية المهمة على الرغم من أنها مناسبة للبرامج الصغيرة بصورة أفضل من التشفير بغرض عام. كما يمكن إجراء المكالمات الفرعية المستخدمة بصفة عامة بسرعة عن طريق الاحتفاظ بعناوينها في أحد السجلات الستة عشر؛ ويمكن استخدام تعليمات SEP لاتصال مكالمة فرعية يوجهها أحد سجلات البت الستة عشر وتعليمات SEP أخرى للإعادة إلى المتصل (SEP اختصار Set Program Counter، وتحدد أي السجلات الستة عشر سيتم استخدامها لعداد البرنامج من هذه النقطة فصاعدا). وقبل أن تعود المكالمة الفرعية تقفز إلى الموقع الذي يسبق نقطة إدخالها حتى يتم توجه السجل بعد إعادة التعليمات التحكم للمتصل إلى القيمة الصحيحة للمرة القادمة. والاختلاف الكبر في هذا البرنامج هو تلقي مكالمتين فرعيتين أو أكثر في رنة واحدة فيتم اتصالهما بترتيب جولة روبين. ففي أجهزة كمبيوتر الهواة الأولى كانت الخدع الشبيهة بذلك تستخدم بصورة عامة في اختراق أفقي لإعادة برمجة عنوان خط الفحص لتكرار كل خط فحص أربع مرات لجهاز التحكم في الفيديو. ولم تكن المكالمات الفرعية مشكلة لأن كافة تعليمات المكالمات CALL مفهرسة (بعض المعالجات لها مكالمات مباشرة فقط)
_START_SECTION_
نماذج المعالجة
_START_PARAGRAPH_
نظرا لأن ناقل العنوان 16 بت وناقل البيانات 8 بت وسجلات الغرض العام الستة عشر جميعها عرضها 16 بت، لكن المتراكم accumulator (ما يُسمى بسجل البيانات أو D-register) هو الوحيد الذي اتساعه 8 بت. ولذلك فإن المتراكم يميل إلى أن يكون عنق زجاجة. وتحويل محتويات أحد السجلات إلى سجل آخر يشمل أربعة تعليمات (أحدهم Get وآخر Put على HI بايت للسجل، وزوج مشابه بالنسبة لـ LO بايت: GHI R1 وPHI R2 وGLO R1 وPLO R2). وبشكل مشابه فإن تحميل ثابت جديد في أحد السجلات (مثل عنوان جديد لقفزة فرعية أو عنوان متغير بيانات) يشمل أيضاً أربعة تعليمات (اثنان بتحميل مباشرة، تعليمات LDI، وواحد لكل نصف ثابت، وكل واحد يعقبه أمر PUT للسجل، PHI وPLO)._NEWLINE_نموذجا المعالجة، السجل غير المباشر Indirect register والسجل غير المباشر بزيادة غير تلقائية Indirect register with auto-increment  فعالان إلى حد ما للقيام بعمليات 8 بت على البيانات الموجودة في المتراكم. وهناك نماذج معالجة أخرى وهكذا فإن نموذج المعالجة المباشرة direct addressing  يحتاج إلى محاكاته باستخدام الأربعة تعليمات المذكورة آنفا لتحميل العنوان في شريط السجل؛ ثم يعقبها تعليمات لاختيار هذا السجل كسجل فهرس؛ ثم يعقبها أخيرا العملية المقصودة على متغير البيانات الذي يُشير إليه العنوان.
_START_SECTION_
نموذج التحميل وDMA
_START_PARAGRAPH_
يحتوي معالج CDP 1802 على جهاز تحكم ثابت DMA، وبه خطان طلب DMA لعمليات مدخلات ومخرجات DMA، ويُستخدم R0 كمؤشر عنوان DMA._NEWLINE_كما يقدم جهاز تحكم DMA أيضاً "نموذج تحميل" خاص يسمح بتحميل الذاكرة تكون مدخلات المعالج، CLEAR وWAIT، نشطة. الأمر الذي يسمح بتحميل البرنامج دون الحاجة إلى برنامج تحميل تمهيدي قائم على ROM. وقد استخدم هذا جهاز الكمبيوتر الدقيق COSMAC E1F وملحقاته لتحميل البرنامج من مفاتيح التبديل أو لوحة مفاتيح عشرية.
_START_SECTION_
توقيت التعليمات
_START_PARAGRAPH_
كفاءة دورة الساعة ضعيفة بالمقارنة بمعظم المعالجات الدقيقة 8 بت. فثمان دورات ساعة تمثل دائرة آلة، ومعظم التعليمات تستغرق في تنفيذها دورتان آلة (16 دورة ساعة)، والتعليمات المتبقية تستغرق ثلاث دورات آلة (24 دورة ساعة). وبالمقارنة نجد أن MOS Technology 6502 يستغقر من 2 إلى 7 دورات ساعة لتنفيذ أمرا واحدا، وIntel 8080 يستغرق من4 إلى 8 دورات ساعة.
_START_SECTION_
الفيديو
_START_PARAGRAPH_
في المعالجات الدقيقة الأولى كانت رقاقة جهاز التحكم في عرض الفيديو Video Display Controller  للرسومات المصاحبة، CDP1861 لصيغة الفيديو NTSC، (تختلف CDP1864 بالنسبة لـ PAL، تستخدم جهاز التحكم DMA الثابت لعرض الرسومات النقطية._NEWLINE_رقاقة 1861 يمكنها عرض 64 بيكسل بصورة أفقيا و128 بيكسل رأسيا، وعلى الرغم من أن ذلك يتم عن طريق إعادة تحميل سجل R0 إلا أن الدقة قد تقل إلى 46 × 64 أو 64 × 32 لاستخدام مساحة أقل من الذاكرة أو لعرض بيكسلات مربعة. ونظراً لان إطار الحاجز مشابه في من حيث الحجم للذاكرة فإنه من المعتاد أن عرض بياناتك أو برنامجك على الشاشة سيسمح لك بمشاهدة "فكر" الكمبيوتر (أي معالجة بياناته)._NEWLINE_البرامج التي تتصرف بجنون وتقوم بشكل عارض بالكتابة فوق بعضها البعض يمكن أن تكون رائعة، فعلى الرغمن من أن النسخة الأسرع لمعالج 1802 يمكن أن تعمل عن د سرعة 5 ميجا هرتز (عند 5 فولت، تبدو أسرع من عند 10 فولت)، إلا أنها عادة ما تعمل عند سرعة 3.58 ميجا هرتز/2 للتناسب مع متطلبات رقائق 1861 التي تعطي سرعة تزيد زيادة طفيفة عن 100,000 أمر في الثانية.
_START_SECTION_
أمثلة للكود
_START_PARAGRAPH_
هذا الكود يقتطف اختبار ALU OPS، فهو روتين تشخيصي:_NEWLINE_..  TEST ALU OPS_NEWLINE_0000 90         GHI 0   .. SET UP R6_NEWLINE_0001 B6         PHI 6_NEWLINE_0002 F829       LDI DOIT.. FOR INPUT OF OPCODE_NEWLINE_0004 A6         PLO 6_NEWLINE_0005 E0         SEX 0   .. (X=0 ALREADY)_NEWLINE_0006 6400       OUT 4,00.. ANNOUNCE US READY_NEWLINE_0008 E6         SEX 6   .. NOW X=6_NEWLINE_0009 3F09       BN4 *   .. WAIT FOR IT_NEWLINE_000B 6C         INP 4   .. OK, GET IT_NEWLINE_000C 64         OUT 4   .. AND ECHO TO DISPLAY_NEWLINE_000D 370D       B4 *    .. WAIT FOR RELEASE_NEWLINE_000F F860       LDI #60 .. NOW GET READY FOR_NEWLINE_0011 A6         PLO 6   .. FIRST OPERAND_NEWLINE_0012 E0         SEX 0   .. SAY SO_NEWLINE_0013 6401       OUT 4,01_NEWLINE_0015 3F15       BN4 *_NEWLINE_0017 E6         SEX 6   .. TAKE IT IN AND ECHO_NEWLINE_0018 6C         INP 4   .. (TO 0060)_NEWLINE_0019 64         OUT 4   .. (ALSO INCREMENT R6)_NEWLINE_001A 371A       B4 *_NEWLINE_001C E0         SEX 0   .. DITTO SECOND OPERAND_NEWLINE_001D 6402       OUT 4,02_NEWLINE_001F E6         SEX 6_NEWLINE_0020 3F20 LOOP: BN4 *   .. WAIT FOR IT_NEWLINE_0022 6C         INP 4   .. GET IT (NOTE: X=6)_NEWLINE_0023 64         OUT 4   .. ECHO IT_NEWLINE_0024 3724       B4 *    .. WAIT FOR RELEASE_NEWLINE_0026 26         DEC 6   .. BACK UP R6 TO 0060_NEWLINE_0027 26         DEC 6_NEWLINE_0028 46         LDA 6   .. GET 1ST OPERAND TO D_NEWLINE_0029 C4   DOIT: NOP     .. DO OPERATION_NEWLINE_002A C4         NOP     .. (SPARE)_NEWLINE_002B 26         DEC 6   .. BACK TO 0060_NEWLINE_002C 56         STR 6   .. OUTPUT RESULT_NEWLINE_002D 64         OUT 4   .. (X=6 STILL)_NEWLINE_002E 7A         REQ     .. TURN OFF Q_NEWLINE_002F CA0020     LBNZ LOOP.. THEN IF ZERO,_NEWLINE_0032 7B         SEQ     .. TURN IT ON AGAIN_NEWLINE_0033 3020       BR LOOP .. REPEAT IN ANY CASE