موتورولا 6809
معالج موتورولا 6809 ( يُشار إليه اختصارًا بـ "6809 ") هو معالج دقيق 8 بت مزود ببعض ميزات معالجات 16 بت . صممه تيري ريتر وجويل بوني من شركة موتورولا ، وطُرح في الأسواق عام 1978. على الرغم من توافقه مع معالج موتورولا 6800 السابق من حيث المصدر ، إلا أن معالج 6809 قدم تحسينات كبيرة عليه وعلى معالجات 8 بت المعاصرة له، مثل معالج MOS Technology 6502 ، بما في ذلك تعليمة ضرب مدمجة، وعمليات حسابية 16 بت، وسجلات مكدس النظام والمستخدم التي تسمح بإعادة إدخال التعليمات البرمجية، ومقاطعات محسّنة ، وتعليمات برمجية مستقلة عن الموقع، وبنية مجموعة تعليمات متعامدة مع مجموعة شاملة من أنماط العنونة.
كان معالج 6809 من بين أقوى معالجات 8 بت في عصره، ولكنه كان أيضًا من بين أغلى المعالجات؛ ففي عام 1981، بلغ سعر الوحدة الواحدة 37 دولارًا أمريكيًا، مقارنةً بـ 9 دولارات لمعالج Zilog Z80 و 6 دولارات لمعالج 6502. [ 1 ] وقد طُرح في الأسواق بالتزامن مع ظهور جيل جديد من معالجات 16 بت، مثل معالج Intel 8086 ، وظهور معالجات 32 بت، بما في ذلك معالج Motorola 68000. لم يكن معالج 6809 منافسًا من حيث الميزات للمعالجات الأحدث، ولا من حيث السعر للمعالجات الأقدم.
الاستخدام
يُستخدم معالج 6809 في أجهزة الكمبيوتر الملونة TRS-80 ، و Dragon 32/64 ، وSuperPET ، و ENER 1000 ، و Fujitsu FM-7 ، و Cybernex LC3، [ 2 ] وأجهزة الكمبيوتر المنزلية Thomson MO/TO ، وجهاز ألعاب Vectrex ، وألعاب الفيديو في صالات الألعاب في أوائل الثمانينيات مثل Star Wars و Gyruss . كما استخدمت شركة Williams Electronics معالج 6809 في ألعاب صالات الألعاب مثل Defender وRobotron : 2084 و Joust . في التسعينيات، قدمت Williams منصة WPC (المبنية على معالج 68B09) لأجهزة البينبول التي كانت تنتجها الشركة آنذاك. [ 3 ] يستخدم كل من الجيل الثاني من محطة العمل الصوتية الرقمية Fairlight CMI ولعبة صالات الألعاب Time Pilot '84 من Konami معالجين من طراز 6809. [ 4 ] كانت شركة هيتاشي مستخدمًا رئيسيًا للطراز 6809، وقامت لاحقًا بإنتاج نسخة محدثة باسم هيتاشي 6309 .
تاريخ
6800 و 6502
بدأ تصميم معالج موتورولا 6800 في عام 1971، وطُرح في الأسواق عام 1974. ويتشابه تصميمه العام إلى حد كبير مع معالجات أخرى صُممت منذ البداية كمعالجات 8 بت، مثل معالج إنتل 8080. [ أ ] صُنع في البداية باستخدام منطق NMOS المبكر ، الذي كان يتطلب عادةً عدة فولتيات مختلفة لمصدر الطاقة . ومن أبرز ميزاته مُضاعِف الجهد المدمج الذي سمح له بالعمل على فولتية واحدة.مصدر طاقة +5 فولت ، وهي ميزة رئيسية مقارنة بمنافسيها مثل 8080 الذي كان يتطلب-5 فولت ،+5 فولت ، و+12 فولت . [ 5 ]
صُنعت شريحة 6800 في البداية باستخدام عملية الطباعة الحجرية التلامسية الشائعة آنذاك . في هذه العملية، تُوضع قناع الطباعة الضوئية مباشرةً على الرقاقة ، ثم تُعرّض للضوء، ثم تُرفع. كان هناك احتمال ضئيل لبقاء بعض مواد الحفر على قناع الطباعة الضوئية عند رفعه، مما قد يتسبب في فشل الشرائح اللاحقة التي تُصنع باستخدام هذا القناع. بالنسبة للتصاميم المعقدة متعددة الأنماط، مثل وحدة المعالجة المركزية، أدى ذلك إلى فشل حوالي 90% من الشرائح عند اختبارها. ولتحقيق الربح من العدد القليل من الشرائح التي نجحت، كان لا بد من رفع أسعار النماذج العاملة إلى مستويات مرتفعة نسبيًا، تصل إلى مئات الدولارات بكميات صغيرة. [ 6 ]
كان بعض مصممي معالج 6800 مقتنعين بأن نظامًا أقل تكلفة سيكون مفتاحًا لانتشاره على نطاق واسع. وكان من أبرزهم تشاك بيدل ، الذي أُرسل في رحلات مبيعات وشاهد العملاء المحتملين يرفضون التصميم مرارًا وتكرارًا لكونه باهظ الثمن بالنسبة لاستخداماتهم المقصودة. فبدأ مشروعًا لإنتاج تصميم أقل تكلفة بكثير، لكن إدارة موتورولا لم تُبدِ اهتمامًا به، وفي النهاية طلبت منه التوقف عن العمل عليه. غادر بيدل وبعض أعضاء فريق 6800 شركة موتورولا وانضموا إلى شركة MOS Technology ، وقدموا هذا التصميم في عام 1975 تحت اسم MOS Technology 6502. [ 7 ]
كان سعر جهاز 6800 في البداية 360 دولارًا للوحدة الواحدة، [ 8 ] ثم خُفِّض إلى 295 دولارًا . أما جهاز 6502، فقد طُرح بسعر 25 دولارًا ، [ 9 ] فسارعت موتورولا إلى تخفيض سعر 6800 إلى 125 دولارًا. وبقي الجهاز غير قادر على المنافسة، وتضاءلت فرص مبيعاته. ومع طرح جهاز Micralign ضمن منتجات موتورولا، انخفضت الأسعار أكثر، وبحلول عام 1981، أصبح سعر جهاز 6800P آنذاك أقل بقليل من سعر جهاز 6502 المكافئ، على الأقل بالنسبة للوحدات الفردية. [ 1 ] لكن بحلول ذلك الوقت، كان جهاز 6502 قد بيع منه عشرات الملايين من الوحدات، بينما طُوي نسيان جهاز 6800 إلى حد كبير.
6809
بينما بدأ معالج 6502 بالسيطرة على سوق معالجات 6800، واجهت إنتل المشكلة نفسها عندما بدأ معالج Zilog Z80 الصاعد في اقتطاع جزء من مبيعات معالج Intel 8080. لم تعتبر إنتل هذا تهديدًا كبيرًا، إذ لطالما اعتُبر معالج 8080 بمثابة "حل مؤقت"، وكانت الشركة تستثمر بكثافة في تصميم جديد 32 بت، وهو Intel iAPX 432. ولكن مع بدء Z80 في التأثير بشكل كبير على المبيعات، ومع بقاء 432 بعيدًا عن السوق، استجابت إنتل سريعًا بتقديم ترقية صغيرة ولكنها عملية لمعالج 8080، وهي 8085 ، مما جعله أقل تكلفة وأكثر قدرة على المنافسة مع Z80. كما بدأوا في تصميم سلسلة من المعالجات ذات 16 بت التي وسعت نطاق 8085 - مع الحفاظ على دقة التسجيل الأصلية كمجموعة فرعية - وقاموا أيضًا بتوسيع أوضاع العنونة المتاحة بشكل كبير، لتخفيف الضغط على التسجيل، والتي ظهرت باسم Intel 8086 في عام 1978. [ 10 ]
بدأت موتورولا أيضًا بتصميم نظام متطور ضمن مشروع MACSS، وهو نظام مختلط 16/32 بت. [ 11 ] لم تفكر الشركة في البداية بتصميم مُحسّن 8 بت مثل 8085، ولكن عندما استطلعت آراء عملائها الحاليين من مستخدمي معالج 6800، وجدت أن الكثيرين منهم غير مستعدين لدفع ثمن تصميم 16 بت لتلبية احتياجاتهم البسيطة. أدى ذلك إلى قرار إنتاج تصميمها المؤقت الخاص 8 بت، والذي يُقدم تحسينات كبيرة مع الحفاظ على التوافق مع الإصدارات السابقة. [ 12 ] : 20، 26
أظهر تحليل شيفرة المعالج 6800 أن عمليات التحميل والتخزين تُشكّل الغالبية العظمى من وقت المعالجة، حيث بلغت 39% من إجمالي العمليات في الشيفرة المُفحوصة. في المقابل، كانت العمليات الحسابية نادرة نسبيًا، إذ لم تتجاوز 2.8% من الشيفرة. مع ذلك، كشف فحص دقيق لعمليات التحميل والتخزين أن العديد منها يُدمج مع عمليات الجمع والطرح، مما يُشير إلى أن جزءًا كبيرًا من هذه العمليات الحسابية يُجرى على قيم 16 بت. دفع هذا إلى تضمين العمليات الحسابية الأساسية على 16 بت في التصميم الجديد: التحميل، والتخزين، والجمع، والطرح. وبالمثل، لم تتجاوز عمليات الزيادة والنقصان 6.1% من الشيفرة، ولكنها كانت تحدث دائمًا تقريبًا داخل حلقات تكرارية، حيث تُنفّذ كل عملية منها عدة مرات. أدى هذا إلى إضافة نمطي الزيادة والنقصان اللاحقين باستخدام سجلات الفهرسة ، مما ألغى الحاجة إلى تعليمات INC أو DEC الصريحة، ووفر الذاكرة والوقت اللازم لقراءتها. [ 12 ] : 26
كان من الأهداف الرئيسية الأخرى للتصميم الجديد دعم كتابة التعليمات البرمجية المستقلة عن الموقع . كانت سوق موتورولا في الغالب أنظمة مضمنة وأنظمة مماثلة ذات غرض واحد، والتي غالبًا ما كانت تُشغّل برامج مشابهة جدًا لتلك الموجودة على منصات أخرى. كان تطوير هذه الأنظمة يتم عادةً عن طريق تجميع سلسلة من الإجراءات الفرعية المُعدّة مسبقًا ودمجها معًا. ومع ذلك، نظرًا لأن لغة التجميع تُكتب عمومًا بدءًا من عنوان أساسي ، فإن دمج الوحدات المكتوبة مسبقًا كان يتطلب عادةً عملية مطولة لتغيير الثوابت (أو المعادلات) التي تُشير إلى مواقع رئيسية في التعليمات البرمجية. [ 12 ] : 20، 24
كانت فكرة موتورولا هي إلغاء هذه المهمة وجعل مفهوم الوحدات البنائية أكثر عملية. سيقوم مُكاملُو الأنظمة ببساطة بدمج التعليمات البرمجية الجاهزة في ذاكرة القراءة فقط (ROM) للتعامل مع المهام الشائعة. ستكون مكتبات الإجراءات الشائعة، مثل العمليات الحسابية ذات الفاصلة العائمة ، وعناصر الرسومات الأساسية، وضغط ليمبل-زيف ، وما إلى ذلك، متاحة للترخيص، ودمجها مع التعليمات البرمجية المخصصة، وحرقها على ذاكرة القراءة فقط. [ 12 ] : 20، 24 [ ب ]
في تصميمات المعالجات السابقة، بما في ذلك معالج 6800، كانت هناك طرق متعددة للإشارة إلى مواقع الذاكرة. بعضها نسبي إلى الموقع الحالي في الذاكرة أو إلى قيمة في سجل الفهرس، بينما كان البعض الآخر مطلقًا، أي قيمة 16 بت تشير إلى موقع فعلي في الذاكرة. يسمح النمط الأول بنقل التعليمات البرمجية لأن العنوان الذي تشير إليه ينتقل معها. أما المواقع المطلقة فلا تنتقل؛ إذ يجب إعادة ترجمة التعليمات البرمجية التي تستخدم هذا النمط من العنونة إذا تم نقلها. ولمعالجة هذه المشكلة، قام معالج 6809 بتوسيع رموز عمليات التعليمات الخاصة به بحيث زادت حالات العنونة النسبية كلما أمكن ذلك. [ 13 ] : 1.2
على سبيل المثال، يتضمن معالج 6800 نمط عنونة مباشرة 8 بت يُستخدم لتقليل حجم الكود وتسريعه؛ فبدلاً من أن يكون عنوان الذاكرة 16 بتًا، وبالتالي يتطلب بايتين لتحديده، يمكن وضع المتغيرات شائعة الاستخدام ضمن نافذة 256 بايت (تُسمى "الصفحة المباشرة" في معالج 6800 أو " الصفحة الصفرية " في معالج 6502 نظرًا لموقعها في أسفل الذاكرة) والوصول إليها باستخدام عنوان 8 بت. لكن الجانب السلبي كان التنافس على عناوين الصفحات المباشرة القيّمة. أضاف معالج 6809 مسجل DP جديدًا 8 بت، مما يسمح بعنونة الصفحات المباشرة بالإشارة إلى أي جزء من الذاكرة طالما تم تغيير مسجل DP للإشارة إلى موقعه الجديد. [ 13 ] : 1.2
كانت الفئة الثانية من البيانات هي البيانات الثابتة المخزنة في ذاكرة القراءة فقط (ROM)، مثل السلاسل النصية وجداول البحث. ولحل مشكلة سهولة الوصول إلى هذه البيانات مع الحفاظ على استقلاليتها عن الموقع، أضاف المعالج 6809 مجموعة متنوعة من أنماط العنونة الجديدة. من بينها نمط العنونة النسبية لعداد البرنامج، والذي يسمح بالإشارة إلى أي موقع في الذاكرة من خلال موقعه بالنسبة للتعليمات. ولن يؤثر نقل هذا الكود إلى موقع جديد في الذاكرة على العناوين. بالإضافة إلى ذلك، أصبح استخدام المكدس أكثر شيوعًا، بحيث يمكن لبرنامج في ذاكرة القراءة فقط (ROM) تخصيص كتلة من الذاكرة في ذاكرة الوصول العشوائي (RAM)، وتعيين مؤشر المكدس (SP) ليكون أساس الكتلة، ثم الإشارة إلى البيانات داخلها باستخدام قيم نسبية. [ 13 ] : 2.1–2.4
لتسهيل هذا النوع من الوصول، أعاد المعالج 6809 تسمية مؤشر المكدس SP إلى U اختصارًا لـ "المستخدم"، وأضاف مؤشر مكدس ثانيًا، S، اختصارًا لـ "النظام". [ 13 ] : 1.3 كانت الفكرة هي أن تستخدم برامج المستخدم المؤشر U، بينما يستخدم المعالج نفسه المؤشر S لتخزين البيانات أثناء استدعاءات البرامج الفرعية . سمح هذا باستدعاء كود النظام بسهولة عن طريق تغيير S دون التأثير على أي برنامج آخر قيد التشغيل. على سبيل المثال، يقوم برنامج يستدعي روتينًا لحساب الفاصلة العائمة في ذاكرة القراءة فقط (ROM) بوضع بياناته على مكدس U، ثم يستدعي الروتين، الذي يمكنه بعد ذلك إجراء العمليات الحسابية باستخدام البيانات الموجودة على مكدسه الخاص الذي يشير إليه المؤشر S، ثم يعود، تاركًا مكدس U دون تغيير. [ 13 ] : 1.3
كان من الأسباب الأخرى لتوسيع نطاق الوصول إلى المكدس دعم التعليمات البرمجية القابلة لإعادة الدخول ، وهي التعليمات البرمجية التي يمكن استدعاؤها من برامج مختلفة في وقت واحد دون الحاجة إلى التنسيق بينها، أو التي يمكنها استدعاء نفسها بشكل متكرر. [ 12 ] : 30 هذا يُسهّل بناء أنظمة التشغيل بشكل كبير؛ إذ يمتلك نظام التشغيل مكدسه الخاص، ويمكن للمعالج التبديل بسرعة بين تطبيق المستخدم ونظام التشغيل بمجرد تغيير مؤشر المكدس الذي يستخدمه. كما يُسهّل هذا التعامل مع المقاطعات لنفس السبب. [ 13 ] : 4 يُضيف المعالج 6809 مقاطعة طلب مقاطعة سريعة (FIRQ) تحفظ فقط عداد البرنامج وسجل رمز الحالة قبل استدعاء رمز المقاطعة، بينما تحفظ مقاطعة IRQ جميع السجلات، مما يستغرق دورات إضافية، ثم دورات أخرى لفك المكدس عند الخروج. [ 13 ] : 1.9
تضمنت وحدة المعالجة المركزية 6809 واحدة من أوائل وحدات الضرب المخصصة للأجهزة. [ 12 ] : 36 تأخذ هذه الوحدة أرقامًا من 8 بت في المُراكمين A وB وتُنتج نتيجة من 16 بت في A:B، والمعروفة مجتمعة باسم D. [ 13 ] : 1.1
قبول السوق
استند جزء كبير من التصميم إلى مفهوم السوق القائم على وحدات البرمجة الأساسية. إلا أن سوق وحدات ذاكرة القراءة فقط (ROM) الجاهزة لم يظهر قط، إذ كان المثال الوحيد الذي طرحته موتورولا هو ذاكرة القراءة فقط MC6839 ذات الفاصلة العائمة. وقد حلّت الصناعة ككل مشكلة دمج وحدات البرمجة من مصادر منفصلة باستخدام روابط ومحملات إعادة التموضع التلقائي ، وهو الحل المستخدم حتى اليوم. [ 14 ] ومع ذلك، فقد مكّنت القرارات التي اتخذها فريق التصميم من ظهور أنظمة تشغيل متعددة المستخدمين والمهام مثل OS-9 و UniFlex .
كانت الميزات الإضافية للمعالج 6809 مكلفة؛ إذ احتوى على ما يقارب 9000 ترانزستور مقارنةً بـ 4100 في المعالج 6800 أو 3500 في المعالج 6502. ورغم أن تحسينات عملية التصنيع سمحت بتصنيعه بتكلفة أقل من المعالج 6800 الأصلي، إلا أن هذه التحسينات نفسها طُبقت على التصاميم الأخرى، وبالتالي بقيت التكلفة النسبية ثابتة. وقد كان هذا هو الحال عمليًا؛ ففي عام 1981، بيع المعالج 6809 بكميات فردية بسعر يعادل ستة أضعاف سعر المعالج 6502 تقريبًا. [ 1 ] بالنسبة للأنظمة التي احتاجت إلى بعض ميزاته الخاصة، مثل مضاعف الأجهزة، كان النظام يبرر سعره، ولكن في معظم الاستخدامات، لم يُلتفت إليه.
من العوامل الأخرى التي ساهمت في انخفاض استخدامه وجود تصميمات أحدث ذات أداء أعلى بكثير. من بين هذه التصميمات معالج إنتل 8086 ، الذي صدر في نفس العام، ونسخته الأقل تكلفة، إنتل 8088، الذي صدر عام 1979. ويمكن ملاحظة بعض جوانب المشكلة في نتائج لغة التجميع Byte Sieve مقارنةً بتصميمات أخرى من تلك الحقبة (مأخوذة من عامي 1981 [ 15 ] و1983 [ 16 ] ).
| المعالج | ثوانٍ | إجمالي الساعات (بالملايين) |
|---|---|---|
| 6502 1 ميجاهرتز | 13.9 | 13.9 |
| Z80 4 ميجاهرتز | 6.8 | 27.2 |
| 6809 2 ميجاهرتز | 5.1 | 10.2 |
| 8086 8 ميجاهرتز | 1.9 | 15.2 |
| 68000 8 ميجاهرتز | 0.49 | 3.92 |
على الرغم من أن معالج 6809 قدّم أداءً أفضل من معالجات مثل 6502 و Z80، إلا أن هذا التحسن لم يكن متناسبًا مع الزيادة في السعر. بالنسبة لمن لم يكن السعر هو الشاغل الرئيسي، بل الأداء المطلق، فقد تفوقت التصاميم الجديدة عليه بفارق يصل إلى عشرة أضعاف .
حتى قبل إطلاق معالج 6809، أطلقت موتورولا عام 1976 مشروعها الخاص بمعالجات متطورة، والذي عُرف آنذاك باسم مشروع نظام الكمبيوتر المتقدم على السيليكون من موتورولا (MACSS). ورغم تأخر اختياره لمشروع IBM PC ، إلا أن MACSS، عندما ظهر باسم موتورولا 68000 عام 1979، استحوذ على ما تبقى من اهتمام بمعالج 6809. وسرعان ما أعلنت موتورولا أن أنظمتها المستقبلية ذات 8 بت ستعتمد على نسخ مُصغّرة من معالج 68000 بدلاً من نسخ مُحسّنة من معالج 6809.
الاستخدامات الرئيسية

كان أول استخدام رئيسي له في جهاز الكمبيوتر الملون TRS-80 ، والذي جاء بشكل غير متوقع إلى حد كبير. طُلب من شركة موتورولا تصميم طرفية كمبيوتر ملونة لمشروع دعم زراعي عبر الإنترنت، وهو نظام يُعرف باسم "AgVision". انضمت شركة تاندي ( راديو شاك ) كشريك تجزئة وباعت الأجهزة تحت اسم "VideoTex"، ولكن تم إلغاء المشروع في نهاية المطاف بعد فترة وجيزة من طرحه في عام 1980. [ 17 ] ثم أعادت تاندي تصميم الجهاز لإنتاج كمبيوتر منزلي ، والذي أصبح أحد أبرز إنجازات تصميم معالج 6809. [ 18 ]

بحثًا عن منصة برمجة منخفضة التكلفة لطلاب علوم الحاسوب ، طورت جامعة واترلو نظامًا يجمع بين حاسوب صغير على بطاقة، يعمل بمعالج 6809، وجهاز كومودور PET موجود مسبقًا، ويتضمن عددًا من لغات البرمجة ومحررات البرامج في ذاكرة القراءة فقط (ROM). لاحقًا، تبنت شركة كومودور هذا النظام، وباعته تحت اسم SuperPET ، أو MicroMainframe في أوروبا. حظيت هذه الأجهزة بشعبية نسبية في منتصف ثمانينيات القرن الماضي، قبل أن يهيمن سوق أجهزة الكمبيوتر الشخصية المقلدة على دور البرمجة لمعظم المستخدمين.
تشمل الاستخدامات الشائعة الأخرى لأجهزة الكمبيوتر المنزلية معالج 6809 ، مثل Fujitsu FM-7 وCanon CX-1 و Dragon 32/64 وسلسلة Thomson TO7 . كما كان متاحًا كخيار إضافي في أجهزة Acorn System 2 و3 و4. معظم تصميمات ناقل SS-50 التي بُنيت حول معالج 6800 كانت تتضمن خيارات لمعالج 6809 أو اعتمدت عليه حصريًا. ومن الأمثلة على ذلك أجهزة من شركات SWTPC و Gimix و Smoke Signal Broadcasting وغيرها. كما قامت موتورولا بتصنيع سلسلة من أنظمة تطوير EXORmacs وEXORset.
أنتجت هيتاشي أجهزتها الخاصة القائمة على معالج 6809، وهما MB-6890 ولاحقًا S1. كانت هذه الأجهزة مخصصة في المقام الأول للسوق اليابانية، ولكن تم تصدير بعضها إلى أستراليا وبيعها هناك ، حيث أُطلق على MB-6890 اسم "Peach"، ربما في إشارة إلى جهاز Apple II . تميز جهاز S1 باحتوائه على وحدة ترحيل صفحات توسع نطاق عنونة معالج 6809 الأصلي من 64 كيلوبايت إلى 1 ميجابايت كامل في صفحات بحجم 4 كيلوبايت. كان مشابهًا في ذلك للأجهزة التي أنتجتها شركات SWTPC وGimix والعديد من الموردين الآخرين. أنتجت شركة TSC نظام تشغيل شبيه بنظام Unix يُدعى uniFlex، والذي كان يعمل حصريًا على هذه الأجهزة. كما استفاد نظام التشغيل OS-9 Level II من إمكانيات إدارة الذاكرة هذه. كانت معظم أجهزة الكمبيوتر الأخرى في ذلك الوقت التي تحتوي على أكثر من 64 كيلوبايت من عناوين الذاكرة محدودة بتبديل البنوك حيث يتم استبدال جزء كبير، إن لم يكن كل، الـ 64 كيلوبايت بقسم آخر من الذاكرة، على الرغم من أنه في حالة 6809، قدمت موتورولا تصميمها الخاص لوحدة إدارة الذاكرة MC6829 التي تقوم برسم 2 ميجابايت في صفحات 2 كيلوبايت. [ 19 ]

استُخدم المعالج 6809 أيضًا في أنظمة ألعاب فيديو متنوعة . ومن أبرزها، في نسخته 68A09، جهاز ألعاب الفيديو المنزلي Vectrex الفريد من نوعه ، والذي يعتمد على الرسومات المتجهة . كما استُخدم في نظام Milton Bradley Expansion (MBX) (وحدة تحكم ألعاب أركيد لجهاز الكمبيوتر المنزلي TI-99/4A )، وسلسلة من ألعاب الأركيد التي صدرت خلال أوائل ومنتصف ثمانينيات القرن العشرين. وكانت شركة Williams Electronics من أكثر الشركات استخدامًا لهذا المعالج، حيث تم توظيفه في ألعاب مثل Defender و Stargate و Joust و Robotron: 2084 و Sinistar وغيرها. ويُشكّل المعالج 6809 نواة جهاز Williams Pinball Controller الناجح . أما جهاز KONAMI-1 فهو نسخة مُعدّلة من المعالج 6809 استخدمتها شركة Konami في ألعاب Roc'n Rope و Gyruss و The Simpsons . [ 20 ]
استخدمت السلسلة الثانية من جهاز Fairlight CMI (آلة موسيقية حاسوبية) معالجين من طراز 6809 يعملان بنظام التشغيل OS-9 ، كما استخدمت معالجًا واحدًا من طراز 6809 لكل بطاقة صوت. وكان معالج 6809 شائع الاستخدام في أجهزة توليف الموسيقى من شركات مصنعة أخرى مثل Oberheim ( Xpander ، Matrix 6/12/1000 )، وPPG (Wave 2/2.2/2.3، Waveterm A)، و Ensoniq ( Mirage sampler، SDP-1، ESQ-1 ، SQ-80 ). واستخدمت الأخيرة معالج 6809E كمعالج رئيسي. استُخدم الإصدار (E) لمزامنة ساعة المعالج مع شريحة الصوت (Ensoniq 5503 DOC) في تلك الأجهزة؛ ففي جهازي ESQ-1 وSQ-80، استُخدم المعالج 68B09E، مما استلزم وجود وحدة تحكم منطقية مخصصة لضمان توقيت ناقل بيانات بتردد 1 ميجاهرتز عند الوصول إلى شريحة DOC.
على عكس منتجات موتورولا السابقة، لم يشهد المعالج 6809 استخدامًا واسع النطاق في مجال المتحكمات الدقيقة . فقد استُخدم في وحدات التحكم بإشارات المرور التي صُنعت في ثمانينيات القرن الماضي من قِبل عدة شركات مصنعة مختلفة، [ 21 ] بالإضافة إلى وحدات التحكم المركزية SMARTNET وSMARTZONE من موتورولا (والتي أُطلق عليها اسم "وحدة التحكم 6809"). استُخدمت وحدات التحكم هذه كمعالجات مركزية في العديد من أنظمة الاتصالات اللاسلكية ثنائية الاتجاه من موتورولا. [ 22 ]
استخدمت شركة Mitel المعالج 6809 كمعالج رئيسي في نظام الهاتف المكتبي SX20 الخاص بها.
الإصدارات
أُنتج معالج موتورولا 6809 في الأصل بسرعات 1 ميجاهرتز، و1.5 ميجاهرتز (68A09)، و2 ميجاهرتز (68B09). ثم أنتجت شركة هيتاشي نسخًا أسرع منه لاحقًا. ونظرًا لقلة التحسينات الممكنة، مثّل معالج 6809 نهاية مسيرة تطور معالجات موتورولا ذات 8 بت؛ إذ كانت موتورولا تنوي أن تُبنى منتجاتها المستقبلية ذات 8 بت على نسخة ناقل بيانات 8 بت من معالج 68000 (معالج 68008 ). أما نسخة المتحكم الدقيق 6811 ، ذات مجموعة تعليمات مُعدّلة قليلاً ، فقد توقف إنتاجها في أواخر العقد الثاني من القرن الحادي والعشرين.
يُعد جهاز Hitachi 6309 نسخة محسنة من جهاز 6809 مع سجلات إضافية وتعليمات إضافية، بما في ذلك نقل الكتلة وتعليمات الضرب الإضافية والقسمة.
إرث
قامت شركة موتورولا بفصل قسم المعالجات الدقيقة في عام 2004. وغير القسم اسمه إلى فري سكيل، ثم استحوذت عليه شركة إن إكس بي .
لم تعد شركتا موتورولا وهيتاشي تُنتجان معالجات 6809 أو مشتقاتها. تتوفر أنوية 6809 بلغة VHDL ، ويمكن برمجتها في مصفوفة البوابات المنطقية القابلة للبرمجة (FPGA) واستخدامها كمعالج مُدمج بسرعات تصل إلى 40 ميجاهرتز. كما لا تزال بعض رموز عمليات 6809 مستخدمة في معالجات فريسكيل المُدمجة. في عام 2015، منحت فريسكيل شركة روتشستر إلكترونيكس ترخيصًا لبدء تصنيع MC6809 مرة أخرى كبديل مباشر ونسخة طبق الأصل من جهاز NMOS الأصلي. وقد زودت فريسكيل شركة روتشستر بقاعدة بيانات التصميم المادي GDSII الأصلية . وبحلول نهاية عام 2016، أصبح معالج MC6809 من روتشستر (بما في ذلك MC68A09 وMC68B09) مؤهلًا بالكامل ومتاحًا للإنتاج.
قام المطور الأسترالي جون كينت بتوليف معالج موتورولا 6809 باستخدام لغة وصف الأجهزة (HDL). [ 23 ] وقد أتاح ذلك استخدام نواة 6809 بترددات أعلى بكثير من تلك المتاحة مع معالج 6809 الأصلي. يعمل برنامج CoCo3FPGA الخاص بغاري بيكر بنواة كينت 6809 بتردد 25 ميجاهرتز . [ 24 ] ويعمل برنامج Matchbox CoCo الخاص بروجر تايلور بتردد 7.16 ميجاهرتز. أما برنامج CoCoDEV الخاص بديف فيليبسن فيعمل بتردد 25 ميجاهرتز. [ 25 ]
وصف
يُشبه التصميم الداخلي للمعالج 6809 تصميمات وحدات المعالجة المركزية الأبسط التي لا تعتمد على البرمجة الدقيقة . وكما هو الحال في معظم المعالجات الدقيقة ذات 8 بت، فإن تنفيذ 6809 يعتمد على نقل البيانات بين المسجلات، حيث يستخدم مصفوفة منطقية قابلة للبرمجة (PLA) مركزية لتنفيذ جزء كبير من فك تشفير التعليمات، بالإضافة إلى أجزاء من عملية التسلسل.
يستخدم المعالج 6809، مثل المعالجين 6800 و6502، ساعة ثنائية الطور لتشغيل الدوائر المنطقية. تُستخدم دورة الساعة ثنائية الطور هذه كدورة معالجة كاملة في هذه المعالجات. يمكن تنفيذ التعليمات البسيطة في دورتين أو ثلاث دورات فقط. يحتوي المعالج 6809 على مولد ساعة ثنائي الطور داخلي (لا يحتاج إلا إلى بلورة خارجية)، بينما يحتاج المعالج 6809E إلى مولد ساعة خارجي. توجد إصدارات مختلفة مثل 68A09(E) و68B09(E)؛ يشير الحرف الداخلي إلى سرعة الساعة المقدرة للمعالج.
تختلف أنظمة الساعة في معالجات 6800 و6502 و6809 عن غيرها من المعالجات في تلك الحقبة. فعلى سبيل المثال، يستخدم معالج Z80 ساعة خارجية واحدة، وتستمر الخطوات الداخلية لعملية تنفيذ التعليمات في كل انتقال. هذا يعني أن الساعة الخارجية تعمل عادةً بسرعة أكبر بكثير؛ إذ كانت معالجات 680x تعمل عادةً بتردد 1 أو 2 ميجاهرتز، بينما كان معالج Z80 يعمل عادةً بتردد 2 أو 4 ميجاهرتز. داخليًا، كانت معالجات 680x تقسم تردد الساعة الخارجية على أربعة لإنشاء ساعة النظام؛ لذا فإن معالج 6809 بتردد 1 ميجاهرتز سيحتوي على بلورة أو إشارة ساعة بتردد 4 ميجاهرتز. عادةً، عند مقارنة سرعة تنفيذ التعليمات، كانت هذه المعالجات تعمل بسرعة مضاعفة تقريبًا، عند مقارنة الساعات الخارجية بمعالجات دقيقة أخرى.
كانت ميزة الوصول إلى الذاكرة في معالجات 680x تكمن في أن رقائق ذاكرة الوصول العشوائي الديناميكية (DRAM) في ذلك الوقت كانت تعمل عادةً بتردد 2 ميجاهرتز. وبفضل توقيت الدورة، كانت هناك فترات من الساعة الداخلية تضمن خلو ناقل الذاكرة. سمح هذا لمصمم الحاسوب بدمج الوصول إلى الذاكرة بين وحدة المعالجة المركزية (CPU) وجهاز خارجي، مثل وحدة تحكم الوصول المباشر إلى الذاكرة ، أو، وهو الأكثر شيوعًا، شريحة الرسومات . من خلال تشغيل كلتا الشريحتين بتردد 1 ميجاهرتز وتفعيلهما بالتتابع، يمكنهما مشاركة الوصول إلى الذاكرة دون أي تعقيد أو دوائر إضافية. اعتمادًا على الإصدار وسرعة المعالج، يتوفر عادةً ما يقارب 40-60% من دورة الساعة الواحدة للوصول إلى الذاكرة في معالجات 6800 أو 6502 أو 6809.
السجلات والتعليمات

احتوى المعالج 6800 الأصلي على مُراكمين من 8 بت ، A وB، ومسجل فهرس واحد من 16 بت ، X، وعداد برنامج من 16 بت ، PC، ومؤشر مكدس من 16 بت ، SP، ومسجل حالة من 8 بت. أضاف المعالج 6809 مسجل فهرس ثانيًا، Y، ومؤشر مكدس ثانيًا، U (مع إعادة تسمية المؤشر الأصلي S)، وسمح بمعاملة المسجلين A وB كمُراكم واحد من 16 بت، D. كما أضاف مسجلًا آخر من 8 بت، DP، لتعيين عنوان الصفحة المباشرة. لم تكن هذه الإضافات ظاهرة في كود المعالج 6800، وكان المعالج 6809 متوافقًا تمامًا مع الكود السابق. [ 13 ] : 1.1
كانت إضافة مهمة أخرى هي استخدام العنونة النسبية لعداد البرنامج لجميع تعليمات معالجة البيانات. مثّلت هذه الإضافة عنصرًا أساسيًا للتعليمات البرمجية المستقلة عن الموقع ، إذ تسمح بالإشارة إلى البيانات نسبةً إلى التعليمات، وطالما أن موقع الذاكرة الناتج موجود، يمكن نقل التعليمات في الذاكرة بحرية. احتفظ النظام أيضًا بأنماط العنونة السابقة، مع أن لغة التجميع الجديدة جعلت ما كان يُعتبر سابقًا تعليمات منفصلة يُعتبر الآن أنماط عنونة مختلفة ضمن تعليمات أخرى. أدى ذلك إلى تقليل عدد التعليمات من 78 تعليمة في معالج 6800 إلى 59 تعليمة في معالج 6809. كانت لهذه الأنماط الجديدة نفس رموز العمليات (opcodes) للتعليمات المنفصلة سابقًا، لذا لم تكن هذه التغييرات مرئية إلا للمبرمج الذي يعمل على التعليمات البرمجية الجديدة. [ 13 ] : 1.2
تتميز مجموعة التعليمات ومكملات السجلات بتعامدها العالي ، مما يجعل برمجة المعالج 6809 أسهل من المعالجات المعاصرة له. ومثل المعالج 6800، يتضمن المعالج 6809 تعليمة اختبار ناقل العناوين غير الموثقة، والتي عُرفت باسم " التوقف والإشعال" (HCF) . [ 26 ] [ 27 ]
مثال على التعليمات البرمجية
يُمثل كود التجميع التالي روتينًا فرعيًا يُسمى memcpy، يقوم بنسخ كتلة صغيرة من بايتات البيانات من موقع إلى آخر. تُنسخ كتلة البيانات بايتًا واحدًا في كل مرة. من الممكن أيضًا كتابة روتين لنقل كلمات مكونة من 16 بت. [ 28 ]
|
ملحوظات
- ↑ على عكس تصميمات وحدة المعالجة المركزية المبكرة الأخرى التي حاولت محاكاة مجموعات تعليمات الحواسيب الصغيرة وكانت أكثر تعقيدًا بكثير.
- ↑ من الأمثلة الأخرى: العمليات الحسابية على المصفوفات، وتشفير/فك تشفير هوفمان، والدوال الإحصائية، والبحث عن السلاسل النصية (مثلًا باستخدام خوارزمية بوير-مور )، وإدارة بنية الشجرة. يوجد مثال أوسع في دليل برمجة موتورولا 6809، الذي يحتوي على القائمة الكاملة لبرنامج assist09 ، وهو ما يُسمى بالمراقب ، وهو نظام تشغيل مصغر مُصمم ليتم تثبيته على ذاكرة القراءة فقط (ROM). [ 13 ] : B.1
- ↑ والتي كانت متاحة على نطاق واسع في ذلك الوقت أيضًا بإصدارات 2 ميجاهرتز، كما هو مستخدم في أجهزة كمبيوتر أتاري 8 بت .
مراجع
- 1 2 3 أنكرونا (1981) .
- ↑ "محطة عرض فيديو Cybernex XL" . متحف الحاسوب بجامعة يورك، كندا .
- ↑ "Williams WPC - PinWiki" . pinwiki.com . مؤرشف من الأصل بتاريخ 30-07-2022 . تم الاطلاع عليه بتاريخ 30-07-2022 .
- ↑ "أجهزة كونامي ثنائية المعالج 6809" . النظام 16. مؤرشف من الأصل بتاريخ 8 مايو 2006. تم الاطلاع عليه بتاريخ 23 أبريل 2020 .
- ↑ "معالج دقيق 8080A - حزمة DIP 40" . عالم المعالجات . مؤرشف من الأصل بتاريخ 12 يناير 2021. تم الاطلاع عليه بتاريخ 30 يناير 2021 .
- ↑ "معالم قانون مور" . معهد مهندسي الكهرباء والإلكترونيات . 30 أبريل 2015. مؤرشف من الأصل في 24 فبراير 2020. تم الاطلاع عليه في 30 يناير 2021 .
- ↑ بيدل، تشاك (12 يونيو 2014). "التاريخ الشفوي لتشاك بيدل" (مقابلة). أجراها دوغ فيربيرن وستيفن دايموند. مؤرشفة من الأصل بتاريخ 11 ديسمبر 2021.
- ↑ "مجموعة معالجات موتورولا الدقيقة هي n-MOS بتردد 1 ميجاهرتز". هندسة التحكم . 21 (11): 11 نوفمبر 1974.كان سعر المعالج الدقيق MC6800 هو 360 دولارًا. وكان من المقرر طرح محول واجهة الاتصالات غير المتزامنة MC6850 (ACIA) في الربع الأول من عام 1975.
- ↑ "MOS 6502: ثاني معالج من عائلة معالجات دقيقة منخفضة التكلفة وعالية الأداء" . مجلة الكمبيوتر . 8 (9). جمعية مهندسي الكهرباء والإلكترونيات: 38-39 . سبتمبر 1975. doi : 10.1109/CM.1975.219074 . مؤرشف من الأصل بتاريخ 24 فبراير 2021. تم الاطلاع عليه بتاريخ 30 يناير 2021 .
- ↑ إدواردز، بنج (16 يونيو 2008). "ميلاد معيار: المعالج الدقيق إنتل 8086" . عالم الكمبيوتر الشخصي .
- ↑ "موتورولا 68000" . جمعية التكنولوجيا القديمة . 17 مايو 2007. مؤرشف من الأصل في 3 أغسطس 2020. تم الاطلاع عليه في 2 فبراير 2021 .
- 1 2 3 4 5 6 ريتر، تيري؛ بوني، جويل (يناير 1979). "المعالج 6809، الجزء الأول: فلسفة التصميم" . بايت . المجلد 4، العدد 1. الصفحات 14-42 .
- 1 2 3 4 5 6 7 8 9 10 11 دليل برمجة المعالج الدقيق MC6809-MC6809E . موتورولا. مايو 1983. تم الاطلاع عليه بتاريخ 13 مايو 2024 .
- ↑ ليفين، جون ر. (2000) [أكتوبر 1999]. "الفصل 1: الربط والتحميل والفصل 3: ملفات الكائنات". الروابط والمحملات . سلسلة مورغان كوفمان في هندسة البرمجيات والبرمجة ( الطبعة الأولى). مورغان كوفمان . ISBN 1-55860-496-0تم الاطلاع عليه بتاريخ 22-06-2021 .
{{cite book}}: CS1 maint: deprecated archiveal service ( link ) - ↑ جيلبريث، جيم (سبتمبر 1981). "معيار لغة عالية المستوى" . بايت . ص 180-198 .
- ↑ جيلبريث، جيم؛ جيلبريث، غاري (يناير 1983). "إعادة النظر في إراتوستينس: مرة أخرى من خلال الغربال" . بايت . المجلد 8، العدد 1. الصفحات 283-325 .
- ↑ "محطة AgVision Videotex الطرفية" . مجلة Vintage Computer . 22 ديسمبر 2016. مؤرشفة من الأصل بتاريخ 17 أبريل 2018. تم الاطلاع عليها بتاريخ 16 أبريل 2018 .
- ↑ جي. بيتر، بويزي؛ لوغوديس، بيل (2013). كوكو: التاريخ الملون لحاسوب تاندي المتواضع . أوروبا: سي آر برس. ص 19. ISBN 9781466592483أُرشف من المصدر الأصلي في 9 فبراير 2023. تم الاطلاع عليه في 16 فبراير 2018 .
- ↑ "دليل بيانات معالجات موتورولا الدقيقة لعام 1981" . 1981. تم الاطلاع عليه في 2 أبريل 2018 .
- ↑ نيكولا سالموريا وفريق MAME. "كونامي: محاكي كونامي المحمول لوحدة المعالجة المركزية" . مؤرشف من الأصل بتاريخ 4 أكتوبر 2012. تم الاطلاع عليه بتاريخ 21 أكتوبر 2012 .
- ↑ روبرت ج. سيمبسون؛ رافيندران باراميسران (1998). المعالج الدقيق المتقدم ذو 8 بت، MC6809: برمجياته، ومكوناته المادية، وبنيته، وتقنيات الربط البيني . سبرينغر. ISBN 978-981-3083-09-7.
- ↑ "Motorola Type II SmartZone" . موسوعة راديو ريفرنس ويكي . مؤرشف من الأصل بتاريخ 2021-02-06 . تم الاطلاع عليه بتاريخ 2021-02-02 .
- ↑ "الصفحة الرئيسية لجون كينت" . مؤرشفة من الأصل بتاريخ 10 مايو 2001. تم الاطلاع عليها بتاريخ 11 يونيو 2019 .
- ↑ "CoCo3FPGA - Davebiz Wiki" . مؤرشف من الأصل بتاريخ 15 سبتمبر 2020. تم الاطلاع عليه بتاريخ 11 يونيو 2019 .
- ↑ "CoCoDEV - Davebiz Wiki" . مؤرشف من الأصل بتاريخ 15 سبتمبر 2020. تم الاطلاع عليه بتاريخ 11 يونيو 2019 .
- ↑ ديفيد بانكس. "سلوكيات 6809 غير الموثقة" . مؤرشف من الأصل بتاريخ 22-01-2023 . تم الاطلاع عليه بتاريخ 22-01-2023 .
- ↑ جون بايكو. "المعالجات الدقيقة العظيمة في الحاضر والماضي" . تم الاطلاع عليه بتاريخ 1 يوليو 2013 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ كاثي، جيم. "حواشي عام 1802" . تم الاطلاع عليه بتاريخ 6 مارس 2026 .
فهرس
- "أنكرونا أفضل" (ملف PDF) . راديو إلكترونيكس (إعلان). المجلد 54، العدد 4. أبريل 1981. ص 111.
للمزيد من القراءة
- أوراق البيانات والكتيبات
- ورقة بيانات MC6809 ؛ موتورولا؛ 36 صفحة؛ 1983.
- ورقة بيانات MC6809E ؛ موتورولا؛ 34 صفحة.
- كتاب بيانات المعالجات الدقيقة موتورولا 8 بت ؛ موتورولا؛ 1182 صفحة؛ 1981.
- الكتب
- برمجة لغة التجميع 6809 ؛ الطبعة الأولى؛ لانس ليفينثال؛ 579 صفحة؛ 1981؛ رقم ISBN 0-931988-35-7. (أرشيف)
- كتاب الطبخ MC6809 ؛ الطبعة الأولى؛ كارل وارين؛ 180 صفحة؛ 1980؛ رقم ISBN 0-8306-9683-0. (أرشيف)
- المعالج الدقيق المتقدم ذو 8 بت: MC6809: برمجياته، ومكوناته المادية، وبنيته، وتقنيات الربط البيني ؛ الطبعة الأولى؛ روبرت سيمبسون؛ 274 صفحة؛ 1998؛ رقم ISBN 978-9813083097
- برمجة 6809 ; الطبعة الأولى؛ رودناي زاكس وويليام لابياك؛ 362 صفحة؛ 1982؛ رقم ISBN 978-0895880789
- المجلات
- معالج دقيق للثورة: 6809 ؛ تيري ريتر وجويل بوني (مصمما 6809)؛ مجلة بايت؛ يناير-فبراير 1979. (أرشيف) أُرشف في 15 فبراير 2010 على موقع Wayback Machine
- المعالج الدقيق MC6809 ؛ إيان باورز؛ المعالجات الدقيقة، المجلد 2، العدد 3؛ يوليو 1978؛ الصفحة 162؛ ISSN 0308-5953 ، doi : 10.1016/0308-5953(78)90010-7 .
- بطاقات مرجعية
- بطاقة مرجعية MC6809 ؛ موتورولا؛ 16 صفحة؛ 1981. (أرشيف)
- بطاقة مرجعية 6809/6309 ؛ كريس لومونت؛ 10 صفحات؛ 2007. (أرشيف)
روابط خارجية
- المحاكيات / أجهزة المحاكاة
- صفحة محاكاة 6809 – مجموعة من تعليمات 6809، والمحاكيات، والأدوات، ومصححات الأخطاء، ومفككات التجميع، ومجمعات التجميع
- محاكي 6809 مبني على نظام SWTPC 6809
- المجالس
- حاسوب غرانت ذو الست رقائق 6809
- لوحة تدريب المعالج الدقيق 6809
- FPGA
- نواة المعالج System09 6809 - شفرة المصدر VHDL - OpenCores - موقع المشروع
- معالجات موتورولا الدقيقة
- معالجات دقيقة 8 بت
- معالجات دقيقة 16 بت
