تكنولوجيا موس 6502
معالج 6502 في علبة بلاستيكية DIP-40 . يشير رمز التاريخ المكون من أربعة أرقام إلى أنه تم تصنيعه في الأسبوع الخامس والأربعين (نوفمبر) من عام 1985. | |
| معلومات عامة | |
|---|---|
| تم إطلاقه | 1975 |
| الشركة المصنعة المشتركة | |
| أداء | |
| الحد الأقصى لمعدل ساعة وحدة المعالجة المركزية | 1 ميجا هرتز إلى 3 ميجا هرتز |
| عرض البيانات | 8 بت |
| عرض العنوان | 16 بت |
| الهندسة المعمارية والتصنيف | |
| مجموعة التعليمات | موس 6502 |
| عدد التعليمات | 56 (55 في الأصل) |
| المواصفات المادية | |
| الترانزستورات |
|
| طَرد |
|
| تاريخ | |
| سلف |
|
| خلفاء | |
إن MOS Technology 6502 (ينطق عادة "sixty-five-oh-two" أو "six-five-oh-two") [3] عبارة عن معالج دقيق 8 بت تم تصميمه بواسطة فريق صغير بقيادة Chuck Peddle لشركة MOS Technology . عمل فريق التصميم سابقًا في Motorola على مشروع Motorola 6800 ؛ يعد 6502 في الأساس نسخة مبسطة وأقل تكلفة وأسرع من هذا التصميم.
عندما تم طرحه في عام 1975، كان 6502 هو المعالج الدقيق الأقل تكلفة في السوق بهامش كبير. تم بيعه في البداية بأقل من سدس تكلفة التصميمات المنافسة من الشركات الأكبر، مثل 6800 أو Intel 8080. تسبب طرحه في انخفاضات سريعة في الأسعار في سوق المعالجات بالكامل. جنبًا إلى جنب مع Zilog Z80 ، أشعل سلسلة من المشاريع التي أسفرت عن ثورة الكمبيوتر المنزلي في أوائل الثمانينيات.
تستخدم وحدات تحكم ألعاب الفيديو المنزلية وأجهزة الكمبيوتر المنزلية من السبعينيات وحتى أوائل التسعينيات، مثل Atari 2600 وأجهزة كمبيوتر Atari 8-bit و Apple II و Nintendo Entertainment System و Commodore 64 و Atari Lynx و BBC Micro وغيرها، 6502 أو أشكالًا مختلفة من التصميم الأساسي. بعد فترة وجيزة من طرح 6502، تم شراء شركة Commodore International بالكامل ، والتي استمرت في بيع المعالج الدقيق والتراخيص لمصنعين آخرين. في الأيام الأولى من 6502، تم الحصول عليه من Rockwell و Synertec ، وتم ترخيصه لاحقًا لشركات أخرى.
في عام 1981، بدأ مركز التصميم الغربي في تطوير نسخة CMOS ، 65C02 . ولا يزال هذا الإصدار مستخدمًا على نطاق واسع في الأنظمة المضمنة ، مع تقديرات حجم الإنتاج بمئات الملايين. [4]
التاريخ والاستخدام
الأصول في موتورولا

تم تصميم المعالج 6502 بواسطة العديد من المهندسين الذين صمموا عائلة المعالجات الدقيقة Motorola 6800. [5] بدأت Motorola مشروع المعالج الدقيق 6800 في عام 1971 مع توم بينيت كمهندس رئيسي. تمكن مهندسو Motorola من تشغيل المحاكاة التناظرية والرقمية على جهاز كمبيوتر IBM 370-165 الرئيسي. [6] بدأ تصميم الشريحة في أواخر عام 1972، وتم تصنيع أول شرائح 6800 في فبراير 1974 وتم إطلاق العائلة الكاملة رسميًا في نوفمبر 1974. [7] [8]
كان جون بوكانان هو مصمم شريحة 6800 [9] [10] وساعد رود أورجيل، الذي صمم لاحقًا شريحة 6501، بوكانان في تحليل الدوائر وتخطيط الشريحة. [11] انضم بيل مينش إلى موتورولا في يونيو 1971 بعد تخرجه من جامعة أريزونا (في سن 26). [12] كانت مهمته الأولى هي المساعدة في تحديد الدوائر المتكاملة الطرفية لعائلة 6800، وفي وقت لاحق كان المصمم الرئيسي لمحول الواجهة الطرفية 6820 (PIA). [13] استأجر بينيت تشاك بيدل في عام 1973 للقيام بأعمال الدعم المعماري على منتجات عائلة 6800 التي كانت قيد التنفيذ بالفعل. [14] ساهم في العديد من المجالات، بما في ذلك تصميم 6850 ACIA (واجهة تسلسلية). [15]
كان عملاء موتورولا المستهدفون شركات إلكترونيات راسخة مثل هيوليت باكارد وتكترونيكس وتي آر دبليو وكرايسلر . [16] في مايو 1972، بدأ مهندسو موتورولا في زيارة عملاء مختارين ومشاركة تفاصيل نظام المعالج الدقيق المقترح 8 بت مع ذاكرة القراءة فقط وذاكرة الوصول العشوائي والواجهات المتوازية والمتسلسلة. [ 17] في أوائل عام 1974، قدموا عينات هندسية للرقائق حتى يتمكن العملاء من إنشاء نماذج أولية لتصميماتهم. لم تركز استراتيجية "عائلة المنتج الكاملة" لشركة موتورولا على سعر المعالج الدقيق، بل على تقليل إجمالي تكلفة التصميم للعميل. لقد عرضوا برامج تطوير على كمبيوتر تقاسم الوقت، ونظام تصحيح الأخطاء "EXORciser"، والتدريب في الموقع ودعم مهندس التطبيقات الميدانية. [18] [19] أعلنت كل من إنتل وموتورولا في البداية عن سعر 360 دولارًا أمريكيًا لمعالج دقيق واحد. [20] [21] كان السعر الفعلي لكميات الإنتاج أقل بكثير. عرضت شركة موتورولا مجموعة تصميم تحتوي على 6800 مع ستة شرائح دعم مقابل 300 دولار أمريكي . [22]
وجد بيدل، الذي كان يرافق مندوبي المبيعات في زيارات العملاء، أن العملاء كانوا منزعجين من التكلفة العالية لشرائح المعالج الدقيق. [23] وفي الوقت نفسه، كانت هذه الزيارات تؤدي دائمًا إلى قيام المهندسين الذين قدمهم بإنتاج قوائم بالتعليمات المطلوبة والتي كانت أصغر بكثير من "كل هذه التعليمات الفاخرة" التي تم تضمينها في 6800. [24] بدأ بيدل وأعضاء آخرون في الفريق في وضع الخطوط العريضة لتصميم معالج دقيق محسّن يتميز بحجم أصغر. في ذلك الوقت، كان مصنع تصنيع أشباه الموصلات الجديد لشركة موتورولا في أوستن بولاية تكساس يواجه صعوبة في إنتاج شرائح MOS، وكان منتصف عام 1974 بداية ركود دام عامًا في صناعة أشباه الموصلات. أيضًا، كان العديد من موظفي ميسا بولاية أريزونا غير راضين عن الانتقال القادم إلى أوستن. [25]
لم تظهر إدارة قسم منتجات أشباه الموصلات في موتورولا أي اهتمام بمقترح بيدل بشأن المعالج الدقيق منخفض التكلفة. وفي النهاية، تلقى بيدل خطابًا رسميًا يطلب منه التوقف عن العمل على النظام. [26] استجاب بيدل للأمر بإبلاغ موتورولا بأن الخطاب يمثل إعلانًا رسميًا عن "التخلي عن المشروع"، وبالتالي، فإن الملكية الفكرية التي طورها حتى تلك النقطة أصبحت ملكه الآن. [27] في مقابلة أجريت في نوفمبر 1975، وافق رئيس موتورولا، روبرت جالفين، في النهاية على أن مفهوم بيدل كان جيدًا وأن القسم أضاع فرصة، "لم نختر القادة المناسبين في قسم منتجات أشباه الموصلات". تمت إعادة تنظيم القسم واستبدال الإدارة. قال نائب رئيس المجموعة الجديد جون ويلتي، "لقد فقدت منظمة مبيعات أشباه الموصلات حساسيتها تجاه احتياجات العملاء ولم تتمكن من اتخاذ قرارات سريعة". [28]
تكنولوجيا موس


بدأ بيدل في البحث خارج موتورولا عن مصدر تمويل لهذا المشروع الجديد. وفي البداية اتصل برئيس شركة Mostek التنفيذي إل جيه سيفين ، لكنه قوبل بالرفض. واعترف سيفين لاحقًا بأن هذا كان بسبب خوفه من أن تقاضيهم موتورولا. [29]
بينما كان بيدل يزور شركة فورد موتور في إحدى رحلاته التسويقية، ذكر بوب جونسون، الذي أصبح فيما بعد رئيس قسم أتمتة محركات فورد، أن زميلهم السابق جون بايفينين انتقل إلى شركة جنرال إنسترومنت وعلم نفسه تصميم أشباه الموصلات. [30] ثم أسس بايفينين شركة MOS Technology في فالي فورج، بنسلفانيا في عام 1969 مع اثنين من المديرين التنفيذيين الآخرين من شركة جنرال إنسترومنت، مورت جافي ودون ماكلولين. استحوذت شركة ألين برادلي ، وهي مورد للمكونات الإلكترونية وأدوات التحكم الصناعية، على حصة الأغلبية في عام 1970. [31] صممت الشركة وصنعت دوائر متكاملة مخصصة للعملاء وطورت خطًا من شرائح الآلة الحاسبة. [32]
بعد فشل جهود موستيك، اتصل بيدل ببايفينن، الذي "فهم الأمر على الفور". [33] في 19 أغسطس 1974، غادر تشاك بيدل وبيل مينش ورود أورجيل وهاري باوكوم وراي هيرت وتيري هولدت وويل ماثيس موتورولا للانضمام إلى موس. انضم مايك جينز لاحقًا. من بين مصممي الرقائق السبعة عشر ومصممي التخطيط في فريق 6800، غادر ثمانية. كان هدف الفريق هو تصميم وإنتاج معالج دقيق منخفض التكلفة للتطبيقات المضمنة واستهداف أكبر قاعدة عملاء ممكنة. لن يكون هذا ممكنًا إلا إذا كان المعالج الدقيق منخفض التكلفة، وحدد الفريق هدف السعر لعمليات الشراء بالجملة عند 5 دولارات . [34] صرح مينش لاحقًا أن الهدف لم يكن سعر المعالج نفسه، ولكن إنشاء مجموعة من الرقائق التي يمكن بيعها بسعر 20 دولارًا للتنافس مع Intel 4040 التي تم تقديمها مؤخرًا والتي بيعت مقابل 29 دولارًا في مجموعة شرائح كاملة مماثلة. [35 ]
يتم إنتاج الرقائق عن طريق طباعة نسخ متعددة من تصميم الشريحة على سطح رقاقة ، وهي عبارة عن قرص رقيق من السيليكون عالي النقاء. يمكن طباعة الرقائق الأصغر بأعداد أكبر على نفس الرقاقة، مما يقلل من سعرها النسبي. بالإضافة إلى ذلك، تتضمن الرقائق دائمًا عددًا من العيوب المادية الصغيرة المنتشرة عبر السطح. ستفشل أي شريحة مطبوعة في هذا الموقع ويجب التخلص منها. تعني الرقائق الأصغر أن أي نسخة واحدة أقل عرضة للطباعة على عيب. لهذين السببين، تعتمد تكلفة المنتج النهائي بشكل كبير على حجم تصميم الشريحة. [36]
كان من المفترض أن تكون شرائح 6800 الأصلية بحجم 180 × 180 مليمتر (4.6 مم × 4.6 مم)، ولكن تم الانتهاء من التصميم بحجم 212 × 212 مليمتر (5.4 مم × 5.4 مم)، أو مساحة29.0 مم 2. [37] بالنسبة للتصميم الجديد، طالب هدف التكلفة بحجم هدف 153 × 168 مل (3.9 مم × 4.3 مم)، أو مساحة16.6 مم 2. [38] ستكون هناك حاجة إلى العديد من التقنيات الجديدة لتحقيق هذا الهدف.
الانتقال إلى NMOS
لقد وصل تقدمان مهمان إلى السوق بمجرد تصميم 6502 مما أدى إلى تخفيضات كبيرة في التكلفة. الأول كان الانتقال إلى NMOS بحمل الاستنزاف . استخدم 6800 عملية NMOS مبكرة ، وضع التحسين، الذي يتطلب ثلاثة فولتات إمداد. كانت إحدى الميزات الرئيسية لـ 6800 هي مضاعف الجهد الموجود على اللوحة والذي يسمح باستخدام مصدر واحد +5 فولت لـ +5 و -5 و +12 فولت داخليًا، على عكس الرقائق الأخرى في ذلك العصر مثل Intel 8080 التي تتطلب ثلاثة دبابيس إمداد منفصلة. [39] في حين أن هذه الميزة قللت من تعقيد مصدر الطاقة وتخطيط الدبابيس، إلا أنها لا تزال تتطلب خط طاقة منفصلًا للبوابات المختلفة على الشريحة، مما أدى إلى زيادة التعقيد والحجم. من خلال الانتقال إلى تصميم حمل الاستنزاف الجديد، كان مصدر واحد +5 فولت هو كل ما هو مطلوب، مما يلغي كل هذا التعقيد. [40]
كانت هناك ميزة أخرى تتمثل في أن تصميمات الحمل المستنفذ كانت تستخدم طاقة أقل أثناء التبديل، وبالتالي تعمل بشكل أكثر برودة وتسمح بسرعات تشغيل أعلى. وهناك ميزة عملية أخرى تتمثل في أن إشارة الساعة لوحدات المعالجة المركزية الأقدم كان لابد أن تكون قوية بما يكفي لتحمل كل التبديد أثناء انتقالها عبر الدوائر، وهو ما كان يتطلب دائمًا شريحة خارجية منفصلة يمكنها توفير إشارة قوية. ومع انخفاض متطلبات الطاقة لتصميم الحمل المستنفذ، يمكن نقل الساعة إلى الشريحة، مما يبسط تصميم الكمبيوتر بشكل عام. وقد أدت هذه التغييرات إلى تقليل التعقيد وتكلفة تنفيذ نظام كامل بشكل كبير. [40]
كان التغيير الأوسع الذي حدث في الصناعة هو تقديم تقنية إخفاء الإسقاط . في السابق، كانت الرقائق تُطبع على سطح الرقاقة عن طريق وضع قناع على سطح الرقاقة ثم تسليط ضوء ساطع عليها. غالبًا ما تلتقط الأقنعة أجزاء صغيرة من الأوساخ أو المقاوم الضوئي أثناء رفعها عن الرقاقة، مما يتسبب في حدوث عيوب في تلك المواقع في أي إخفاء لاحق. مع التصميمات المعقدة مثل وحدات المعالجة المركزية، سيتم استخدام 5 أو 6 خطوات إخفاء من هذا القبيل، وكانت فرصة أن تؤدي إحدى هذه الخطوات على الأقل إلى حدوث خلل عالية جدًا. في معظم الحالات، كانت 90٪ من هذه التصميمات معيبة، مما أدى إلى عائد بنسبة 10٪. كان سعر الأمثلة العاملة يجب أن يغطي تكلفة إنتاج 90٪ التي تم التخلص منها. [41]
في عام 1973، قدمت شركة بيركين إلمر نظام مايكرولاين ، الذي عرض صورة للقناع على الرقاقة بدلاً من طلب الاتصال المباشر. لم تعد الأقنعة تلتقط الأوساخ من الرقاقات واستمرت في حدود 100000 استخدام بدلاً من 10. أدى هذا إلى القضاء على الفشل خطوة بخطوة ومعدلات العيوب المرتفعة التي شوهدت سابقًا في التصميمات المعقدة. قفزت العائدات على وحدات المعالجة المركزية على الفور من 10٪ إلى 60 أو 70٪. هذا يعني أن سعر وحدة المعالجة المركزية انخفض بنفس المقدار تقريبًا وأصبح المعالج الدقيق فجأة جهازًا سلعيًا. [41]
كانت خطوط التصنيع الحالية لشركة MOS Technology تعتمد على تقنية PMOS الأقدم ، ولم تكن قد بدأت العمل مع NMOS بعد عندما وصل الفريق. ووعد بايفينين بتجهيز خط إنتاج NMOS وتشغيله في الوقت المناسب لبدء إنتاج وحدة المعالجة المركزية الجديدة. وقد وفى بوعده، وكان الخط الجديد جاهزًا بحلول يونيو 1975. [42]
ملاحظات التصميم
قام تشاك بيدل ورود أورجيل وويل ماثيس بتصميم البنية الأولية للمعالجات الجديدة. وفي مقالة نشرت في سبتمبر 1975 في مجلة EDN ، تم تقديم هذا الملخص للتصميم: [43]
تمثل عائلة 650X من شركة MOS Technology محاولة واعية من جانب ثمانية موظفين سابقين في شركة Motorola عملوا على تطوير نظام 6800 لإنتاج جزء يحل محل 6800 ويتفوق عليه في الأداء، ولكن بمبيعات أقل من سعره. وبفضل الاستفادة من التجربة التي اكتسبوها من مشروع 6800، قام فريق MOS Technology برئاسة Chuck Peddle بإجراء التغييرات المعمارية التالية في وحدة المعالجة المركزية لشركة Motorola...
كان التغيير الرئيسي من حيث حجم الشريحة هو إزالة برامج التشغيل ثلاثية الحالات من مخرجات ناقل العناوين. يحتوي ناقل الحالات الثلاث على حالات لـ 1 و 0 ومقاومة عالية . تُستخدم الحالة الأخيرة للسماح للأجهزة الأخرى بالوصول إلى الناقل، وعادةً ما تُستخدم للمعالجات المتعددة ، أو بشكل أكثر شيوعًا في هذه الأدوار، للوصول المباشر إلى الذاكرة (DMA). على الرغم من فائدة هذه الميزة، إلا أنها باهظة الثمن من حيث الدوائر الموجودة على الشريحة. لقد أزال 6502 هذه الميزة ببساطة، بما يتماشى مع تصميمه كجهاز تحكم غير مكلف يستخدم لمهام محددة والتواصل مع أجهزة بسيطة. اقترح بيدل أن أي شخص يحتاج إلى هذا النمط من الوصول يمكنه تنفيذه باستخدام 74158 واحد . [44] [أ]
كان الاختلاف الرئيسي التالي هو تبسيط السجلات. في البداية، تمت إزالة أحد المتراكمين . يجب الوصول إلى السجلات العامة مثل المتراكمات من خلال العديد من أجزاء فك تشفير التعليمات، وبالتالي تتطلب كميات كبيرة من الأسلاك لنقل البيانات من وإلى التخزين. يجعل المتراكمان العديد من مهام الترميز أسهل، لكن يكلف تصميم الشريحة نفسه تعقيدًا كبيرًا. [43] تم تحقيق المزيد من التوفير من خلال تقليل سجل المكدس من 16 إلى 8 بت، مما يعني أن المكدس لا يمكن أن يبلغ طوله سوى 256 بايت، وهو ما يكفي لدوره المقصود كوحدة تحكم دقيقة. [43] [ فشل التحقق ]
تم تقسيم سجل الفهرس IX المكون من 16 بت إلى اثنين، ليصبح X وY. والأمر الأكثر أهمية هو أن أسلوب الوصول تغير. في 6800، احتوى IX على عنوان مكون من 16 بتًا تم تعويضه برقم مكون من 8 بتات مخزن مع التعليمات، وتمت إضافته معًا. في 6502 (ومعظم التصميمات المعاصرة الأخرى)، تم تخزين عنوان القاعدة المكون من 16 بتًا في التعليمات، وتمت إضافة X أو Y المكون من 8 بتات إليه. [44]
أخيرًا، تم تبسيط مجموعة التعليمات، مما أدى إلى تحرير مساحة في فك التشفير ومنطق التحكم. من بين 72 تعليمة أصلية في 6800، تم تنفيذ 56. ومن بين تلك التي تمت إزالتها كانت التعليمات التي تعمل بين المراكمتين في 6800، والعديد من تعليمات الفروع المستوحاة من PDP-11 . [44]
كان لابد من تحويل التصميم رفيع المستوى للشريحة إلى رسومات للترانزستورات والوصلات المتداخلة. في شركة MOS Technology، كان "التخطيط" عبارة عن عملية يدوية للغاية تتم باستخدام أقلام ملونة وورق رق . يتكون التخطيط من آلاف الأشكال المتعددة الأضلاع على ستة رسومات مختلفة؛ رسم واحد لكل طبقة من عملية التصنيع. ونظرًا لحدود الحجم، كان لابد من النظر باستمرار في تصميم الشريحة بالكامل. عمل مينش وبايفين على فك تشفير التعليمات [46] بينما عمل مينش وبيدل وأورجيل على وحدة الحساب والمنطق والسجلات. وكان التقدم الإضافي، الذي تم تطويره في حفلة، عبارة عن طريقة لمشاركة بعض الأسلاك الداخلية للسماح بتقليل حجم وحدة الحساب والمنطق. [47]
وعلى الرغم من بذلهم قصارى جهدهم، انتهى الأمر بالتصميم النهائي إلى أن يكون أوسع بمقدار 5 مليمتر. [48] كانت أول شرائح 6502 بحجم 168 × 183 مليمتر (4.3 مم × 4.6 مم)، لمساحة19.8 مم 2 . لم يكن الإصدار الأصلي من المعالج يحتوي على إمكانية الدوران إلى اليمين (ROR)، لذا تم حذف التعليمات من الوثائق الأصلية. قلص الإصدار التالي من التصميم حجم الشريحة وأضاف إمكانية الدوران إلى اليمين، وتم تضمين إمكانية الدوران إلى اليمين في الوثائق المنقحة. [49] [ب]
تقديم 6501 و 6502

كان من المقرر أن تقدم شركة MOS معالجين دقيقين يعتمدان على نفس التصميم الأساسي: حيث كان سيتم توصيل 6501 بنفس المقبس مثل Motorola 6800، بينما أعاد 6502 ترتيب توصيلات الدبابيس لدعم مذبذب الساعة الموجود على الشريحة. وكان كلاهما يعمل مع شرائح دعم أخرى مصممة لـ 6800. ولم يكن من المقرر أن يشغلا برنامج 6800 لأن لديهما مجموعة تعليمات مختلفة، وسجلات مختلفة، وأوضاع عنونة مختلفة في الغالب. [3] كان رود أورغيل مسؤولاً عن تصميم 6501؛ وكان قد ساعد جون بوكانان في Motorola في 6800. قام بيل مينش بتصميم 6502؛ وكان مصمم محول الواجهة الطرفية (PIA) 6820 في Motorola. وساعد هاري بواكوم ومايك جينز وسيدني آن هولت في التصميم.
كان طرح المعالج الدقيق من شركة MOS Technology مختلفًا عن طرح المنتج التقليدي الذي يستغرق شهورًا. عادةً ما يتم استخدام التشغيل الأول للدائرة المتكاملة الجديدة للاختبار الداخلي ومشاركتها مع عملاء مختارين باعتبارها "عينات هندسية". غالبًا ما تحتوي هذه الرقائق على عيب بسيط في التصميم أو اثنين سيتم تصحيحهما قبل بدء الإنتاج. كان هدف تشاك بيدل هو بيع أول تشغيل لرقائق 6501 و 6502 للحاضرين في معرض WESCON التجاري في سان فرانسيسكو بدءًا من 16 سبتمبر 1975. كان بيدل متحدثًا فعالًا للغاية وتم تغطية معالجات MOS Technology الدقيقة على نطاق واسع في الصحافة التجارية. كان أحد أقدم القصص قصة على صفحة كاملة عن معالجات MCS6501 و MCS6502 الدقيقة في عدد 24 يوليو 1975 من مجلة Electronics . [53] نُشرت القصص أيضًا في EE Times (24 أغسطس 1975)، [54] EDN (20 سبتمبر 1975)، Electronic News (3 نوفمبر 1975)، Byte (نوفمبر 1975) [55] و Microcomputer Digest (نوفمبر 1975). [56] ظهرت إعلانات عن 6501 في العديد من المنشورات في الأسبوع الأول من أغسطس 1975. كان 6501 معروضًا للبيع في Wescon مقابل 20 دولارًا لكل منهما. [57] في سبتمبر 1975، تضمنت الإعلانات كلًا من المعالجات الدقيقة 6501 و6502. سيكلف 6502 25 دولارًا فقط (ما يعادل 142 دولارًا في عام 2023). [58]
عندما وصلت شركة MOS Technology إلى Wescon، وجدوا أنه لا يُسمح للعارضين ببيع أي شيء في أرض المعرض. استأجروا جناح MacArthur في فندق St. Francis وأرشدوا العملاء هناك لشراء المعالجات. في الجناح، تم تخزين المعالجات في أوعية كبيرة للإشارة إلى أن الرقائق كانت في مرحلة الإنتاج ومتوفرة بسهولة. لم يكن العملاء يعرفون أن النصف السفلي من كل وعاء يحتوي على رقائق غير عاملة. [59] كانت الرقائق 20 دولارًا و 25 دولارًا بينما كانت حزمة الوثائق 10 دولارات إضافية . تم تشجيع المستخدمين على عمل نسخ ضوئية من المستندات، وهي طريقة غير مكلفة لشركة MOS Technology لتوزيع معلومات المنتج. أدرجت أوراق البيانات الأولية 55 تعليمة فقط باستثناء تعليمة التدوير لليمين (ROR) التي لم تكن مدعومة في هذه الرقائق المبكرة. لاحظت المراجعات في Byte و EDN عدم وجود تعليمة ROR. أصلح الإصدار التالي من التخطيط هذه المشكلة وأدرجت ورقة البيانات الصادرة في مايو 1976 56 تعليمة. أرادت شركة Peddle أن يتمكن كل مهندس وهواة مهتمين من الوصول إلى الرقائق والوثائق، في حين أرادت شركات أشباه الموصلات الأخرى التعامل فقط مع العملاء "الجادين". على سبيل المثال، كانت شركة Signetics تقدم المعالج الدقيق 2650 وطلبت من القراء في إعلاناتها أن يكتبوا للحصول على معلومات على ورق الشركة الرسمي. [60]

| دبوس | 6800 | 6501 | 6502 |
|---|---|---|---|
| 2 | وقف | مستعد | مستعد |
| 3 | ∅1 (بوصة) | ∅1 (بوصة) | ∅1 (خارج) |
| 5 | عنوان الذاكرة صالح | عنوان الذاكرة صالح | كارولينا الشمالية |
| 7 | حافلة متاحة | حافلة متاحة | المزامنة |
| 36 | تمكين ناقل البيانات | تمكين ناقل البيانات | كارولينا الشمالية |
| 37 | ∅2 (بوصة) | ∅2 (بوصة) | ∅0 (بوصة) |
| 38 | كارولينا الشمالية | كارولينا الشمالية | تعيين علم الفائض |
| 39 | سيطرة ثلاث دول | كارولينا الشمالية | ∅2 (خارج) |
دعوى موتورولا

كان طرح 6501/6502 في المطبوعات وفي Wescon نجاحًا هائلاً. كان الجانب السلبي هو أن التغطية الصحفية المكثفة لفتت انتباه موتورولا. في أكتوبر 1975، خفضت موتورولا سعر معالج 6800 الفردي من 175 دولارًا إلى 69 دولارًا . تم تخفيض مجموعة تصميم النظام التي تبلغ 300 دولار إلى 150 دولارًا وتأتي الآن مع لوحة دوائر مطبوعة. [61] في 3 نوفمبر 1975، طلبت موتورولا أمرًا قضائيًا في المحكمة الفيدرالية لمنع شركة MOS Technology من تصنيع وبيع منتجات المعالجات الدقيقة. كما رفعوا دعوى قضائية زاعمين انتهاك براءات الاختراع واختلاس الأسرار التجارية. ادعت موتورولا أن سبعة موظفين سابقين انضموا إلى شركة MOS Technology لإنشاء منتجات المعالجات الدقيقة الخاصة بهذه الشركة. [62]
كانت موتورولا شركة بمليار دولار ولديها قضية معقولة ومحامون باهظو الثمن. في 30 أكتوبر 1974، تقدمت موتورولا بالعديد من طلبات براءات الاختراع على عائلة المعالجات الدقيقة وحصلت على خمسة وعشرين براءة اختراع. كانت الأولى في يونيو 1976 والثانية كانت لبيل مينش في 6 يوليو 1976، لتخطيط شريحة 6820 PIA. غطت هذه البراءات ناقل 6800 وكيفية تفاعل الرقائق الطرفية مع المعالج الدقيق. [63] بدأت موتورولا في تصنيع الترانزستورات في عام 1950 وكان لديها مجموعة من براءات اختراع أشباه الموصلات. قرر ألين برادلي عدم محاربة هذه القضية وباع حصته في MOS Technology إلى المؤسسين. تم تسمية أربعة من مهندسي موتورولا السابقين في الدعوى: تشاك بيدل، وويل ماثيس، وبيل مينش، ورود أورجيل. تم تسمية جميعهم كمخترعين في طلبات براءات الاختراع 6800. خلال عملية الاكتشاف، وجدت موتورولا أن أحد المهندسين، مايك جينز، تجاهل تعليمات بيدل وأحضر مستندات تصميم 6800 الخاصة به إلى شركة MOS Technology. [64] في مارس 1976، نفدت أموال شركة MOS Technology المستقلة الآن واضطرت إلى تسوية القضية. وافقوا على إسقاط معالج 6501 ودفع 200000 دولار لشركة موتورولا وإعادة المستندات التي ادعت موتورولا أنها سرية. وافقت كلتا الشركتين على ترخيص براءات اختراع المعالج الدقيق. [65] في مايو من ذلك العام، خفضت موتورولا سعر معالج 6800 الدقيق الواحد إلى 35 دولارًا . بحلول نوفمبر، استحوذت شركة كومودور على شركة MOS Technology. [66] [67]
أجهزة الكمبيوتر والألعاب
مع وجود مشاكل قانونية خلفهم، لا تزال شركة MOS تعاني من مشكلة إقناع المطورين بتجربة معالجهم، مما دفع تشاك بيدل إلى تصميم الكمبيوتر أحادي اللوحة MDT-650 ("محطة تطوير الحواسيب الصغيرة") . قامت مجموعة أخرى داخل الشركة بتصميم KIM-1 ، والذي تم بيعه شبه كامل ويمكن تحويله إلى نظام قابل للاستخدام مع إضافة محطة كمبيوتر خارجية ومحرك كاسيت مضغوط . وبينما تم بيعه جيدًا في السوق المقصودة، وجدت الشركة أن KIM-1 تم بيعه جيدًا أيضًا للهواة والمصلحين. كما حقق نظام التحكم والتدريب والتطوير ذي الصلة Rockwell AIM-65 أداءً جيدًا أيضًا. كان البرنامج في AIM 65 يعتمد على البرنامج الموجود في MDT. وكان منتج آخر مشابه تقريبًا هو Synertek SYM-1 .
كان أحد أول الاستخدامات "العامة" للتصميم هو الكمبيوتر الصغير Apple I ، الذي تم تقديمه في عام 1976. تم استخدام 6502 بعد ذلك في Commodore PET و Apple II ، [68] وكلاهما تم إصدارهما في عام 1977. تم استخدامه لاحقًا في أجهزة كمبيوتر Atari 8 بت ، وAcorn Atom ، و BBC Micro ، [68] VIC-20 وتصميمات أخرى لكل من أجهزة الكمبيوتر المنزلية والتجارية، مثل أجهزة كمبيوتر Ohio Scientific و Oric . كان 6510 ، وهو خليفة مباشر لـ 6502 بمنفذ إدخال/إخراج رقمي وناقل عناوين ثلاثي الحالات ، هو وحدة المعالجة المركزية المستخدمة في الكمبيوتر المنزلي Commodore 64 الأكثر مبيعًا [69] [70] .
كان استخدام آخر مهم لعائلة 6500 في ألعاب الفيديو. كان أول من استخدم تصميم المعالج هو Atari VCS لعام 1977، والذي تمت إعادة تسميته لاحقًا باسم Atari 2600. استخدم VCS متغيرًا من 6502 يسمى 6507 ، والذي كان به عدد أقل من الدبابيس، لذلك يمكنه معالجة 8 كيلوبايت فقط من الذاكرة. سيتم بيع ملايين من وحدات تحكم Atari، كل منها مزود بمعالج MOS. كان استخدام مهم آخر من قبل Nintendo Entertainment System و Famicom. كان 6502 المستخدم في NES هو إصدار مصدر ثانٍ من Ricoh ، وهو نظام جزئي على شريحة ، يفتقر إلى الوضع العشري المشفر ثنائيًا ولكنه أضاف 22 سجلًا مخصصًا للذاكرة وأجهزة على الشريحة لتوليد الصوت وقراءة لوحة التحكم وقائمة العفاريت DMA . تم تسمية هذا المعالج باسم 2A03 في وحدات تحكم NTSC و 2A07 في وحدات تحكم PAL (الفرق هو نسبة مقسم تردد الساعة وجدول البحث لمعدلات أخذ العينات الصوتية)، وتم إنتاجه حصريًا لشركة Nintendo .
تم استخدام 6502 أو المتغيرات في جميع محركات الأقراص المرنة لشركة Commodore لجميع أجهزة الكمبيوتر ذات 8 بت، من خط PET إلى Commodore 128D، بما في ذلك Commodore 64. تحتوي محركات PET مقاس 8 بوصات على معالجين 6502. استخدمت Atari نفس 6507 المستخدم في Atari VCS لمحركات الأقراص 810 و 1050 المستخدمة لجميع خطوط أجهزة الكمبيوتر ذات 8 بت، من 400/800 إلى XEGS.
في ثمانينيات القرن العشرين، استخدمت مجلة الإلكترونيات الشهيرة Elektor/Elektuur المعالج في لوحة تطوير المعالج الدقيق الخاصة بها Junior Computer .
كما تم استخدام خليفة CMOS لـ 6502، WDC 65C02 ، في أجهزة الكمبيوتر المنزلية وأجهزة ألعاب الفيديو. استخدمته Apple في خط Apple II بدءًا من Apple IIc والمتغيرات اللاحقة لـ Apple IIe وعرضت أيضًا مجموعة لترقية أنظمة IIe الأقدم بالمعالج الجديد. [71] كانت شريحة Hudson Soft HuC6280 المستخدمة في TurboGrafx-16 تعتمد على نواة 65C02. استخدمت Atari Lynx شريحة مخصصة تسمى "Mikey" [72] صممتها Epyx والتي تضمنت خلية مرخصة VLSI VL65NC02. تم استخدام متغير G65SC12 من GTE Microcircuits (أعيدت تسميته إلى California Micro Devices) في BBC Master . تضمنت بعض طرز BBC Master أيضًا معالجًا مساعدًا إضافيًا G65SC102.
- أجهزة الكمبيوتر المنزلية وأجهزة ألعاب الفيديو التي تستخدم 6502 أو إصداراته
الوصف الفني


| 1 5 | 1 4 | 1 3 | 1 2 | 1 1 | 1 0 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | (موضع البت) |
| السجلات الرئيسية | ||||||||||||||||
| أ | مُراكم | |||||||||||||||
| سجلات الفهرس | ||||||||||||||||
| إكس | مؤشر X | |||||||||||||||
| ي | مؤشر Y | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | إس بي | مؤشر المكدس | |||||||
| عداد البرامج | ||||||||||||||||
| الكمبيوتر الشخصي | برنامج العداد | |||||||||||||||
| سجل الحالة | ||||||||||||||||
| ن | الخامس | - | ب | د | أنا | ز | ج | تأخر المعالج | ||||||||
المعالج 6502 عبارة عن معالج 8 بت صغير الحجم مع ناقل عناوين 16 بت . تم تصنيع الإصدارات الأصلية باستخدام شريحة معالجة 8 ميكرومتر [73] بحجم قالب 3.9 مم × 4.3 مم (153 × 168 مل)، بمساحة إجمالية تبلغ 16.6 مم 2 . [38]
يعمل المنطق الداخلي بنفس سرعة معدل الساعة الخارجي. ويتميز بخط أنابيب بسيط؛ ففي كل دورة، يقوم المعالج بجلب بايت واحد من الذاكرة ومعالجة بايت آخر. وهذا يعني أن أي تعليمة واحدة قد تستغرق دورتين فقط حتى تكتمل، اعتمادًا على عدد المتغيرات التي تستخدمها هذه التعليمة. وللمقارنة، يتطلب Zilog Z80 دورتين لجلب الذاكرة، وكان الحد الأدنى لوقت التعليمات أربع دورات. وبالتالي، على الرغم من سرعات الساعة المنخفضة مقارنة بالتصاميم المنافسة، والتي عادة ما تكون في حدود 1 إلى 2،2 ميجا هرتز ، كان أداء 6502 منافسًا لوحدات المعالجة المركزية التي تستخدم ساعات أسرع بشكل ملحوظ. ويرجع هذا جزئيًا إلى آلة الحالة البسيطة التي يتم تنفيذها من خلال المنطق التجميعي (بدون ساعة) إلى حد أكبر من العديد من التصميمات الأخرى؛ وبالتالي يمكن للساعة ثنائية الطور (التي توفر مزامنتين لكل دورة) التحكم في دورة الآلة بشكل مباشر.
أدى هذا التصميم أيضًا إلى ملاحظة تصميم مفيدة واحدة لـ 6502، و6800 قبله. نظرًا لأن الشريحة لا تصل إلى الذاكرة إلا أثناء جزء معين من دورة الساعة، وكانت هذه المدة محددة بواسطة دبوس الخروج المنخفض φ2، فقد تمكنت الشرائح الأخرى في النظام من الوصول إلى الذاكرة أثناء تلك الأوقات التي كانت فيها 6502 خارج الناقل. كان هذا يُعرف أحيانًا باسم "الوصول المخفي". تم استخدام هذه التقنية على نطاق واسع بواسطة أنظمة الكمبيوتر؛ حيث كانت تستخدم ذاكرة قادرة على الوصول بسرعة 2 ميجاهرتز، ثم تقوم بتشغيل وحدة المعالجة المركزية بسرعة 1 ميجاهرتز. يضمن هذا أن وحدة المعالجة المركزية وأجهزة الفيديو يمكن أن تتداخل في عمليات الوصول الخاصة بها، مع أداء إجمالي يطابق أداء جهاز الذاكرة. نظرًا لأن هذا الوصول كان كل دورة أخرى، لم تكن هناك حاجة للإشارة إلى وحدة المعالجة المركزية لتجنب استخدام الناقل، مما يجعل هذا النوع من الوصول سهل التنفيذ بدون أي منطق ناقل. [74] عندما أصبحت الذاكرة الأسرع متاحة في الثمانينيات، أصبح بإمكان الأجهزة الأحدث استخدام نفس التقنية أثناء التشغيل بمعدلات ساعة أعلى، استخدمت BBC Micro ذاكرة وصول عشوائي أحدث سمحت لوحدة المعالجة المركزية الخاصة بها بالعمل بسرعة 2 ميجا هرتز مع الاستمرار في استخدام نفس تقنيات مشاركة الناقل.
مثل معظم وحدات المعالجة المركزية البسيطة في ذلك العصر، لا يتم تسلسل شريحة NMOS 6502 الديناميكية بواسطة التعليمات البرمجية الدقيقة ولكن يتم فك تشفيرها مباشرة باستخدام PLA مخصص . يشغل جهاز فك التشفير حوالي 15% من مساحة الشريحة. وهذا يقارن بالتصميمات اللاحقة القائمة على التعليمات البرمجية الدقيقة مثل Motorola 68000 ، حيث مثل محرك ROM وفك التشفير الخاص بالرمز الدقيق حوالي ثلث البوابات في النظام.
السجلات
مثل سابقتها، 6800، تحتوي 6502 على عدد قليل جدًا من السجلات . وهي تشمل [75]
A= سجل تراكمي مكون من 8 بتاتP= سجل حالة 7 بت [76]n= سلبيv=فيضb= break (فقط في قيم المكدس، وليس في الأجهزة [77] )d= عشريi= تعطيل المقاطعةz= صفرc= حمل
PC= عداد برنامج 16 بتS= مؤشر مكدس مكون من 8 بتX= سجل الفهرس 8 بتY= سجل الفهرس 8 بت
يُقارن هذا بمنافس معاصر، وهو Intel 8080 ، والذي يحتوي أيضًا على مُراكم 8 بتات وعداد برنامج 16 بت، ولكنه يحتوي على ستة سجلات عامة أخرى 8 بتات (والتي يمكن دمجها في ثلاثة مؤشرات 16 بت) ومؤشر مكدس أكبر 16 بت. [78]
من أجل تعويض بعض الشيء عن نقص السجلات، يتضمن 6502 وضع معالجة الصفحة الصفرية الذي يستخدم بايت عنوان واحد في التعليمات بدلاً من الاثنين المطلوبين لمعالجة الصفحة بالكامل64 كيلو بايت من الذاكرة. وهذا يوفر وصولاً سريعًا إلى أول256 بايت من ذاكرة الوصول العشوائي باستخدام تعليمات أقصر. على سبيل المثال، تكون التعليمات لإضافة قيمة من الذاكرة إلى القيمة في المجمع عادةً ثلاثة بايتات، بايت واحد للتعليمات واثنان للعنوان المكون من 16 بت. يؤدي استخدام الصفحة صفر إلى تقليل هذا إلى عنوان مكون من 8 بايتات، مما يقلل الطول الإجمالي للتعليمات إلى بايتين، وبالتالي تحسين أداء التعليمات.
مساحة عنوان المكدس متصلة بصفحة الذاكرة $01، أي نطاق العنوان $0100- $01FF( 256- 511). يتم الوصول إلى المكدس بواسطة البرنامج من خلال أربع تعليمات ضمنية لوضع العنونة، والتي تتمثل وظائفها في دفع أو سحب سجل حالة المجمع أو المعالج. يتم استخدام نفس المكدس أيضًا لمكالمات البرامج الفرعية عبر تعليمات JSR (الانتقال إلى البرنامج الفرعي) وRTS (العودة من البرنامج الفرعي) ومعالجة المقاطعات .
معالجة
تستخدم الشريحة سجلات الفهرس والمكدس بشكل فعال مع العديد من أوضاع العنونة ، بما في ذلك وضع "الصفحة المباشرة" السريع أو "الصفحة الصفرية"، المشابه لذلك الموجود في PDP-8 ، والذي يصل إلى مواقع الذاكرة من العناوين من 0 إلى 255 بعنوان واحد مكون من 8 بتات (مما يوفر الدورة المطلوبة عادةً لجلب البايت ذي الترتيب الأعلى من العنوان) - يستخدم الكود الخاص بـ 6502 الصفحة الصفرية تمامًا كما يستخدم الكود الخاص بالمعالجات الأخرى السجلات. في بعض أجهزة الكمبيوتر الصغيرة المستندة إلى 6502 مع نظام تشغيل، يستخدم نظام التشغيل معظم الصفحة الصفرية، مما يترك عددًا قليلاً فقط من المواقع للمستخدم.
تتضمن أوضاع التوجيه أيضًا تعليمات ضمنية (1 بايت)؛ ومطلقة (3 بايت)؛ ومطلقة مفهرسة (3 بايت)؛ وصفحة صفر مفهرسة (2 بايت)؛ ونسبية (2 بايت)؛ ومتراكمة (1)؛ وغير مباشرة، x وغير مباشرة، y (2)؛ وفوري (2). الوضع المطلق هو وضع عام الغرض. تستخدم تعليمات الفرع إزاحة موقعة مكونة من 8 بتات بالنسبة للتعليمة بعد الفرع؛ وبالتالي فإن النطاق العددي −128..127 يترجم إلى 128 بايتًا للخلف و127 بايتًا للأمام من التعليمات التي تلي الفرع (والتي تبلغ 126 بايتًا للخلف و129 بايتًا للأمام من بداية تعليمات الفرع). يعمل وضع المتراكم على سجل المتراكم ولا يحتاج إلى أي بيانات متغيرة . يستخدم الوضع الفوري متغيرًا حرفيًا مكونًا من 8 بتات .
التوجيه غير المباشر
إن الأوضاع غير المباشرة مفيدة لمعالجة المصفوفات والتكرارات الأخرى. مع وضع "(غير مباشر)، y" ذي الدورة 5/6، يتم إضافة سجل Y ذي الثمانية بتات إلى عنوان أساسي مكون من 16 بت مقروء من الصفحة صفر، والتي توجد بواسطة بايت واحد يتبع التعليمات البرمجية. وبالتالي فإن سجل Y هو سجل فهرس بمعنى أنه يستخدم لحمل فهرس فعلي (على عكس سجل X في 6800، حيث تم تخزين عنوان أساسي بشكل مباشر ويمكن إضافة إزاحة فورية إليه). إن زيادة سجل الفهرس للتنقل في المصفوفة بايتًا تلو الآخر يستغرق دورتين إضافيتين فقط. مع وضع "(غير مباشر، x)" الأقل استخدامًا، يتم العثور على العنوان الفعال للعملية عند عنوان الصفحة صفر الذي تم تشكيله عن طريق إضافة البايت الثاني من التعليمات إلى محتويات سجل X. باستخدام الأوضاع المفهرسة، تعمل الصفحة صفر بشكل فعال كمجموعة من ما يصل إلى 128 سجل عنوان إضافي (على الرغم من بطء شديد).
إن المعالج 6502 قادر على إجراء عمليات الجمع والطرح بالنظام الثنائي أو النظام العشري المشفر ثنائيًا . SEDيؤدي وضع وحدة المعالجة المركزية في وضع BCD باستخدام تعليمة (تعيين علم D) إلى إجراء عمليات حسابية عشرية، والتي $99 + $01تؤدي إلى تعيين $00 وعلم الحمل (C). في الوضع الثنائي ( CLD، مسح علم D)، تؤدي نفس العملية إلى $9A ومسح علم الحمل. بخلاف Atari BASIC ، نادرًا ما يتم استخدام وضع BCD في تطبيقات الكمبيوتر المنزلي.
راجع مقال Hello world! للحصول على مثال بسيط ولكنه مميز للغة التجميع 6502 .
التعليمات والأكواد التشغيلية
يبلغ طول أكواد تشغيل التعليمات ( أكواد التشغيل ) 6502 8 بتات ولها الشكل العام AAABBBCC، حيث تحدد AAA وCC كود التشغيل، ويحدد BBB وضع العنونة. [79] على سبيل المثال، ORAتقوم التعليمات بإجراء عملية أو بتية على البتات الموجودة في المجمع بقيمة أخرى. يكون كود تشغيل التعليمات من الشكل 000bbb01، حيث قد يكون bbb 010 لقيمة وضع فوري (ثابت)، و001 لعنوان ثابت لصفحة صفر، و011 لعنوان مطلق، وهكذا. [79] هذا النمط ليس عالميًا، حيث توجد استثناءات، ولكنه يسمح بتحويل قيم كود التشغيل بسهولة إلى اختصارات التجميع لمعظم التعليمات، ومعالجة الحالات الهامشية باستخدام كود لأغراض خاصة. [79]
من بين 256 تعليمات تشغيلية ممكنة متاحة باستخدام نمط 8 بت، يستخدم 6502 الأصلي 151 منها، منظمة في 56 تعليمة مع (ربما) أوضاع عنونة متعددة . اعتمادًا على التعليمات ووضع العنونة، قد يتطلب الكود التشغيلي صفرًا أو بايتًا واحدًا أو بايتين إضافيين للمتعاملات. وبالتالي، تختلف تعليمات آلة 6502 في الطول من بايت واحد إلى ثلاثة بايتات. [80] [81] يتم تخزين المتعامل بتنسيق little-endian المعتاد في 6502 .
يدعم 65C816 ، وهو سليل CMOS ذو 16 بت من 6502، أيضًا عنونة 24 بت، مما يؤدي إلى تجميع التعليمات باستخدام متغيرات ثلاثية البايتات، مرتبة أيضًا بتنسيق little-endian.
إن التعليمات البرمجية المتبقية البالغ عددها 105 غير محددة. في التصميم الأصلي، لم تُستخدم التعليمات التي كانت البتات الأربعة ذات الترتيب المنخفض ( nibble ) هي 3 أو 7 أو B أو F، مما يوفر مساحة للتوسع في المستقبل. وبالمثل، كان العمود $2x يحتوي على إدخال واحد فقط، . وتم توزيع الفتحات الفارغة المتبقية البالغ عددها 25 فتحة. واستُخدمت بعض الفتحات الفارغة في 65C02 لتوفير تعليمات جديدة ومتغيرات على التعليمات الموجودة مع أوضاع عنونة جديدة. تُركت تعليمات $Fx مجانية في البداية للسماح للبائعين من جهات خارجية بإضافة تعليماتهم الخاصة، ولكن الإصدارات اللاحقة من 65C02 قامت بتوحيد مجموعة من تعليمات معالجة البتات التي طورتها شركة Rockwell Semiconductor .
LDX #constant
لغة التجميع
تتكون عبارة لغة التجميع 6502 من تعليمات مكونة من ثلاثة أحرف ، متبوعة بأي متغيرات . التعليمات التي لا تأخذ متغيرًا منفصلًا ولكنها تستهدف سجلًا واحدًا بناءً على وضع التوجيه تجمع السجل المستهدف في التعليمات، لذلك يستخدم المجمع INXبدلاً من INC Xزيادة السجل X.
جدول التعليمات
| مصفوفة التعليمات البرمجية لمجموعة التعليمات 6502 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| أوضاع التوجيه: A – تراكمي، # – فوري، zpg – صفحة صفر، abs – مطلق، ind – غير مباشر، X – مفهرس بواسطة سجل X، Y – مفهرس بواسطة سجل Y، rel – نسبي | ||||||||||||
| قضمة عالية | قضمة منخفضة | |||||||||||
| 0 | 1 | 2 | 4 | 5 | 6 | 8 | 9 | أ | ج | د | هـ | |
| 0 | بي ار كيه | أورا ( إند ، إكس) | أورا zpg | لغة الإشارة الأمريكية zpg | بي اتش بي | أورا # | لغة الإشارة الأمريكية أ | عضلات بطن أورا | عضلات البطن في لغة الإشارة الأمريكية | |||
| 1 | علاقة BPL | أورا ( إند )، ي | أورا zpg ،X | لغة الإشارة الأمريكية zpg ،X | سي ال سي | عضلات البطن ORA ،Y | عضلات البطن ORA ،X | لغة الإشارة الأمريكية ، عضلات البطن ، X | ||||
| 2 | عضلات بطن JSR | و( ind ,X) | بت zpg | و zpg | رول zpg | حزب العمال التقدمي | و # | رول أ | عضلات البطن قليلا | وعضلات البطن | عضلات البطن ROL | |
| 3 | مؤشر كتلة الجسم | و( إند )،ي | و zpg ،X | رول zpg ،X | هيئة الأوراق المالية والبورصات | و abs ،Y | و abs ،X | رول عضلات البطن ،X | ||||
| 4 | قانون الحق في الحصول على المعلومات | EOR ( ind ،X) | تحسين عملية استخراج النفط zpg | LSR zpg | هيئة الصحة العامة | # استخلاص النفط | لسر أ | عضلات بطن JMP | حساب EOR | عضلات البطن LSR | ||
| 5 | علاقة BVC | EOR ( ind )،Y | EOR zpg ،X | LSR zpg ،X | سطر الأوامر | EOR abs ،Y | EOR abs ،X | LSR abs ،X | ||||
| 6 | استراتيجية الوقت الحقيقي | محول تناظري رقمي ( ind ,X) | محول تناظري رقمي إلى رقمي zpg | رور zpg | جيش التحرير الشعبى الصينى | محول تناظري رقمي | رور أ | JMP ( إند ) | ADC ABS | عضلات بطن ROR | ||
| 7 | علاقة BVS | محول تناظري رقمي ( ind )،Y | محول تناظري رقمي zpg ،X | رور zpg ،X | معهد إس إي آي | محول تناظري رقمي ، Y | محول تناظري رقمي ، X | ROR abs ،X | ||||
| 8 | STA ( ind ،X) | ستي زي بي جي | ستا zpg | STX zpg | دي | تكساس | عضلات البطن STY | عضلات البطن STA | عضلات البطن STX | |||
| 9 | BCC rel | STA ( إند )،Y | ستي زي بي جي ، إكس | STA zpg ،X | STX zpg ،Y | تيا | STA abs ,Y | TXS | STA عضلات البطن ، X | |||
| أ | ليدي # | LDA ( ind ،X) | ال دي اكس # | LDY zpg | LDA zpg | LDX zpg | تاي | رقم LDA | ضريبة | LDY عضلات البطن | عضلات البطن LDA | عضلات البطن LDX |
| ب | علاقة BCS | LDA ( إند )،Y | LDY zpg ،X | LDA zpg ،X | LDX zpg ،Y | قيمة عمر العميل | LDA abs ،Y | بورصة تورنتو | LDY عضلات البطن ،X | LDA abs ،X | LDX abs ,Y | |
| ج | #الدولار الأمريكي | CMP ( ind ،X) | CPY zpg | سي ام بي زد بي جي | ديسمبر zpg | اي ان واي | رقم CMP | ديكس | CPY abs | عضلات البطن CMP | عضلات البطن DEC | |
| د | علاقة بي إن إي | CMP ( ind )،Y | سي ام بي زد بي جي ، اكس | ديسمبر zpg ،X | سي إل دي | CMP abs ،Y | CMP abs ،X | DEC abs ،X | ||||
| هـ | رقم سي بي اكس | SBC ( ind ،X) | CPX zpg | SBC zpg | شركة اي ان سي زد بي جي | إنكس | رقم SBC | نوب | عضلة البطن CPX | عضلات البطن SBC | عضلات البطن INC | |
| ف | BEQ rel | SBC ( إند )،Y | SBC zpg ،X | شركة INC zpg ،X | سيد | SBC abs ،Y | عضلات البطن SBC ،X | INC abs ،X | ||||
| تكون التعليمات البرمجية الفارغة (على سبيل المثال، F2 ) وجميع التعليمات البرمجية التي تكون نيبلزها المنخفضة هي 3 و 7 و B و F غير محددة في مجموعة التعليمات 6502. | ||||||||||||
مثال على الكود
الكود المصدري التالي للغة التجميع 6502 مخصص لبرنامج فرعي يسمى ، والذي ينسخ سلسلة أحرف منتهية بعلامة فارغة من موقع إلى آخر، ويحول الأحرف الكبيرة إلى أحرف صغيرة. السلسلة التي يتم نسخها هي "المصدر"، والسلسلة التي يتم تخزين المصدر المحول فيها هي "الوجهة".
TOLOWER
0080 0080 00 04 0082 00 05 0600 0600 أ0 00 0602 ب1 80 0604 ف0 11 0606 ج9 41 0608 90 06 060A C9 5B 060 ج ب0 02 060E 09 20 0610 91 82 0612 سي8 0613 د0 ED 0615 38 0616 60 0617 91 82 0619 18 061أ 60 061ب |
; TOLOWER:
;
; تحويل سلسلة أحرف منتهية بعلامة فارغة إلى أحرف صغيرة بالكامل.
; الحد الأقصى لطول السلسلة هو 255 حرفًا، بالإضافة إلى المصطلح الفارغ-
; inator.
;
; المعلمات:
;
; SRC - عنوان سلسلة المصدر
; DST - عنوان سلسلة الوجهة
;
ORG $0080 ; SRC .WORD $0400 ; مؤشر سلسلة المصدر DST .WORD $0500 ; مؤشر سلسلة الوجهة ; ORG $0600 ; عنوان بدء التنفيذ ; TOLOWER LDY # $00 ; مؤشر البداية ; LOOP LDA ( SRC ), Y ; الحصول من سلسلة المصدر BEQ DONE ; نهاية السلسلة ; CMP # 'A' ; إذا كان أقل من أبجدية UC... BCC SKIP ; النسخ دون تغيير ; CMP # 'Z' + 1 ؛ إذا كان أكبر من أبجدية UC... BCS SKIP ؛ نسخ دون تغيير ؛ ORA # %00100000 ؛ تحويل إلى أحرف صغيرة ؛ SKIP STA ( DST )، Y ؛ تخزين إلى سلسلة الوجهة INY ؛ مؤشر النتوء BNE LOOP ؛ الحرف التالي ؛؛ ملاحظة: إذا تم لف Y، فستبقى سلسلة الوجهة في حالة غير محددة؛ نضبط carry للإشارة إلى ذلك للوظيفة المستدعية.؛ SEC ؛ الإبلاغ عن خطأ في السلسلة طويلة جدًا &... RTS ؛ العودة إلى المتصل ؛ تم STA ( DST )، Y ؛ إنهاء سلسلة الوجهة CLC ؛ الإبلاغ عن اكتمال التحويل &... RTS ؛ العودة إلى المتصل ؛ .END
|
السلوك التفصيلي

إن مدخل المقاطعة غير القابلة للإخفاء (NMI) الخاص بالمعالج حساس للحافة ، مما يعني أن المقاطعة يتم تشغيلها بواسطة الحافة الهابطة للإشارة بدلاً من مستواها. والنتيجة المترتبة على هذه الميزة هي أن دائرة المقاطعة السلكية أو غير القابلة للإخفاء لا يتم دعمها بسهولة. ومع ذلك، فإن هذا يمنع أيضًا حدوث مقاطعات NMI المتداخلة حتى يجعل الجهاز مدخل NMI غير نشط مرة أخرى، وغالبًا ما يكون ذلك تحت سيطرة معالج مقاطعة NMI .
يؤدي التأكيد المتزامن لخطوط مقاطعة الأجهزة NMI و IRQ (القابلة للإخفاء) إلى تجاهل IRQ. ومع ذلك، إذا ظل خط IRQ مؤكدًا بعد صيانة NMI، فسوف يستجيب المعالج على الفور لـ IRQ، حيث أن IRQ حساس للمستوى . وبالتالي تم إنشاء نوع من أولوية المقاطعة المضمنة في تصميم 6502.
يتم تعيين العلم B من خلال أخذ عينات دورية من خرج كاشف حافة NMI الخاص بـ 6502 ومدخل IRQ الخاص به. ومع ذلك، لا يتم التعرف على إشارة IRQ التي يتم تشغيلها على المستوى المنخفض إلا إذا تم السماح بـ IRQs بواسطة العلم I. إذا تم بهذه الطريقة اكتشاف طلب NMI أو IRQ (قابل للإخفاء)، يتم تعيين العلم B على الصفر ويتسبب في قيام المعالج بتنفيذ تعليمة BRK التالية بدلاً من تنفيذ التعليمة التالية بناءً على عداد البرنامج. [82] [83]
ثم تقوم تعليمة BRK بدفع حالة المعالج إلى المكدس، مع تعيين بت العلم B على الصفر. وفي نهاية تنفيذها، تقوم تعليمة BRK بإعادة تعيين قيمة العلم B إلى واحد. وهذه هي الطريقة الوحيدة التي يمكن بها تعديل العلم B. وإذا قامت تعليمة أخرى غير تعليمة BRK بدفع العلم B إلى المكدس كجزء من حالة المعالج [84]، فإن العلم B يكون دائمًا له القيمة واحد.
إن الانتقال من مرتفع إلى منخفض على دبوس الإدخال SO سيضبط بت حالة الفائض في المعالج. ويمكن استخدام هذا للاستجابة السريعة للأجهزة الخارجية. على سبيل المثال، يمكن لبرنامج تشغيل جهاز الاستطلاع عالي السرعة استطلاع الأجهزة مرة واحدة فقط في ثلاث دورات باستخدام BVCتعليمة Branch-on-oVerflow-Clear ( ) التي تتفرع إلى نفسها حتى يتم ضبط الفائض بواسطة انتقال هابط SO. تستخدم Commodore 1541 ومحركات الأقراص المرنة الأخرى من Commodore هذه التقنية للكشف عن متى يكون المسلسل جاهزًا لنقل بايت آخر من بيانات القرص. يجب أن يضمن تصميم الأجهزة والبرامج في النظام عدم حدوث SO أثناء المعالجة الحسابية وتعطيل الحسابات.
المتغيرات والمشتقات
كان الطراز 6502 هو الطراز الأكثر إنتاجية في سلسلة 65xx من شركة MOS Technology .
تحتوي 6501 و6502 على حزم DIP مكونة من 40 سنًا ؛ أما 6503 و6504 و6505 و6507 فهي إصدارات DIP مكونة من 28 سنًا، وذلك لتقليل تكلفة الشريحة ولوحة الدائرة. وفي جميع الإصدارات المكونة من 28 سنًا، يتم تقليل عدد الدبابيس عن طريق حذف بعض دبابيس العناوين ذات الترتيب العالي والمجموعات المختلفة من دبابيس الوظائف، مما يجعل هذه الوظائف غير متاحة.
عادةً، يتم حذف 12 دبوسًا لتقليل عدد الدبابيس من 40 إلى 28 وهي الدبابيس الثلاثة غير المتصلة (NC)، وواحد من دبابيس Vss، وواحد من دبابيس الساعة، ودبوس SYNC، ودبوس تجاوز الضبط (SO)، إما المقاطعة القابلة للإخفاء أو المقاطعة غير القابلة للإخفاء (NMI)، وأربعة خطوط عناوين هي الأكثر أهمية (A12–A15). يؤدي حذف أربعة دبابيس عناوين إلى تقليل قابلية العنوان الخارجية إلى 4 كيلوبايت (من 64 كيلوبايت في 6502)، على الرغم من أن سجل الكمبيوتر الشخصي الداخلي وجميع حسابات العناوين الفعالة تظل 16 بتًا .
يحذف 6507 كلا دبوسي المقاطعة من أجل تضمين خط العنوان A12، مما يوفر 8 كيلوبايت من إمكانية العنونة الخارجية ولكن بدون إمكانية المقاطعة. تم استخدام 6507 في وحدة تحكم ألعاب الفيديو الشهيرة Atari 2600 ، والتي يقسم تصميمها مساحة الذاكرة التي تبلغ 8 كيلوبايت إلى نصفين، مع تخصيص النصف السفلي لذاكرة الوصول العشوائي الداخلية للوحدة والأجهزة الطرفية، والنصف العلوي لخرطوشة اللعبة، لذلك تحتوي خراطيش Atari 2600 على حد عنوان يبلغ 4 كيلوبايت (وحد السعة نفسه ما لم تحتوي الخرطوشة على دوائر تحويل بنكية ).
أحد أجهزة الكمبيوتر الشائعة المستندة إلى 6502، Commodore 64 ، استخدم وحدة معالجة مركزية معدلة من 6502، وهي 6510. وعلى عكس 6503-6505 و6507، فإن 6510 عبارة عن شريحة ذات 40 سنًا تضيف أجهزة داخلية: منفذ إدخال/إخراج متوازي 6 بتات مخصص للعناوين 0000 و0001. 6508 هي شريحة أخرى، مثل 6510، تضيف أجهزة داخلية: 256 بايت من ذاكرة الوصول العشوائي الساكنة ومنفذ إدخال/إخراج 8 بتات مشابه لتلك الموجودة في 6510. على الرغم من أن هذه الشرائح لا تحتوي على عدد دبابيس أقل مقارنةً بـ 6502، إلا أنها تحتاج إلى دبابيس جديدة لمنفذ الإدخال/الإخراج المتوازي المضاف. في هذه الحالة، لا توجد خطوط عناوين بين الدبابيس التي تمت إزالتها.
| شركة | نموذج | وصف |
|---|---|---|
| 6502 | شريحة 1 ميجا هرتز استخدمت في جهاز KIM-1 وأجهزة كمبيوتر أحادية اللوحة أخرى في منتصف سبعينيات القرن العشرين. | |
| 6502أ | شريحة 1.5 ميجا هرتز تستخدم في Asteroids Deluxe و2 ميجا هرتز في BBC Micro | |
| 6502ب | نسخة من المعالج 6502 قادرة على العمل بسرعة قصوى تبلغ 3 ميجا هرتز بدلاً من 2 ميجا هرتز. تم استخدام الحرف B في كل من أجهزة Apple III وأجهزة الكمبيوتر Atari 8 بت المبكرة التي تعمل بسرعة 1.8 ميجا هرتز تقريبًا. [ج] | |
| 6502 ج | كان "6502C" "الرسمي" عبارة عن نسخة من "6502" الأصلي القادر على العمل بسرعة تصل إلى 4 ميجا هرتز.
لا ينبغي الخلط بينه وبين SALLY، وهو 6502 مخصص مصمم لشركة Atari (ويشار إليه أحيانًا باسم "6502C" [85] ) ولا مع 65C02 المسمى بشكل مشابه . | |
| سالي، C014806، "6502C" | نسخة مخصصة من 6502 مصممة لشركة Atari، وتم استخدامها في أجهزة كمبيوتر Atari 8 بت اللاحقة وأجهزة التحكم Atari 5200 و Atari 7800 .
تحتوي على إشارة HALT على الدبوس 35 وإشارة R/W على الدبوس 36 (هذه الدبابيس غير متصلة (N/C) على 6502 قياسي). يؤدي سحب HALT إلى الأسفل إلى إيقاف تشغيل الساعة، مما يؤدي إلى إيقاف المعالج مؤقتًا. تم استخدام هذا للسماح لدوائر الفيديو بالوصول المباشر إلى الذاكرة (DMA). [86] على الرغم من الإشارة إليه أحيانًا باسم "6502C" في وثائق Atari، إلا أنه ليس هو نفسه 6502C "الرسمي" والشريحة نفسها لا يتم تمييزها على هذا النحو أبدًا. [85] | |
| موس | 6503 | قدرة معالجة ذاكرة منخفضة (4 كيلوبايت) وعدم وجود مدخل RDY، في حزمة DIP ذات 28 سنًا (مع حذف الطور 1 (OUT)، والمزامنة، وVss الزائدة، ودبابيس SO الخاصة بـ 6502 أيضًا). [87] |
| موس | 6504 | قدرة معالجة ذاكرة منخفضة (8 كيلو بايت)، ولا يوجد NMI، ولا مدخل RDY، في حزمة DIP ذات 28 سنًا (مع حذف الطور 1 (OUT)، والمزامنة، وVss الزائدة، ودبابيس SO الخاصة بـ 6502 أيضًا). [87] |
| موس | 6505 | انخفاض قدرة معالجة الذاكرة (4 كيلو بايت) وعدم وجود NMI، في حزمة DIP ذات 28 سنًا (مع حذف الطور 1 (OUT)، والمزامنة، وVss الزائدة، ودبابيس SO الخاصة بـ 6502 أيضًا). [87] |
| موس | 6506 | قدرة معالجة ذاكرة مخفضة (4 كيلوبايت)، لا يوجد NMI، ولا مدخل RDY، ولكن جميع دبابيس الساعة الثلاثة لـ 6502 (أي ساعة خرج ثنائية الطور)، في حزمة DIP مكونة من 28 دبوسًا (مع حذف دبابيس SYNC وVss الزائدة وSO لـ 6502 أيضًا). [87] |
| موس | 6507 | قدرة معالجة ذاكرة منخفضة (8 كيلو بايت) وعدم وجود مقاطعات، في حزمة DIP ذات 28 سنًا (مع حذف الطور 1 (OUT)، والمزامنة، وVss الزائدة، ودبابيس SO من 6502 أيضًا). [87] تم استخدام هذه الشريحة في نظام ألعاب الفيديو Atari 2600 . |
| موس | 6508 | يحتوي على منفذ إدخال/إخراج مدمج بـ 8 بت و256 بايت من ذاكرة الوصول العشوائي الثابتة الداخلية. |
| موس | 6509 | يمكن معالجة ما يصل إلى 1 ميجا بايت من ذاكرة الوصول العشوائي (RAM) على هيئة 16 بنكًا بحجم 64 كيلو بايت وتم استخدامها في سلسلة Commodore CBM-II . |
| موس | 6510 | يحتوي على منفذ إدخال/إخراج مدمج قابل للبرمجة بستة بتات، وقد تم استخدامه في Commodore 64. يعد 8500 في الواقع إصدار HMOS من 6510، وقد حل محله في الإصدارات اللاحقة من C64. |
| موس | 6512 6513 6514 6515 |
تعتمد كل من معالجات MOS Technology 6512 و6513 و6514 و6515 على ساعة خارجية، بدلاً من استخدام مولد ساعة داخلي مثل 650x (على سبيل المثال 6502). وقد تم استخدام هذا بشكل مفيد في بعض التصميمات حيث يمكن تشغيل الساعات بشكل غير متماثل، مما يزيد من الأداء العام لوحدة المعالجة المركزية.
إن 6512 عبارة عن 6502 مع مدخل ساعة ثنائي الطور لمذبذب ساعة خارجي، بدلاً من مذبذب ساعة مدمج. [87] إن 6513 و6514 و6515 مكافئة بشكل مماثل (على التوالي) لـ 6503 و6504 و6505 مع نفس مدخل الساعة ثنائي الطور. [87] تم استخدام 6512 في BBC Micro B+64 . |
| ريكو | ار بي 2 ايه 03 ار بي 2 ايه 07 |
إصدارات 6502 غير مرخصة تعمل بسرعة ~1.8 ميجا هرتز [ج] بما في ذلك وحدة معالجة صوتية ولكنها تفتقر إلى وضع BCD المستخدم في نظام Nintendo Entertainment System . |
| موس | 6591 6592 |
تصميمات الأنظمة على الشريحة التي تستخدم Atari 2600 كاملة في حزمة DIP ذات 48 سنًا. [88] [89] |
| المؤتمر العالمي للدي سي | 65C02 | إصدار CMOS من NMOS 6502 الذي صممه بيل مينش من مركز التصميم الغربي (WDC)، يتميز بانخفاض استهلاك الطاقة، ودعم سرعات ساعة أعلى بكثير، وتعليمات جديدة، وأوضاع عنونة جديدة لبعض التعليمات الموجودة، وتصحيح أخطاء NMOS، مثل الخطأ JMP ($xxFF).
|
| CSG، MOS | 65CE02 | تم تطوير نسخة CMOS بواسطة Commodore Semiconductor Group (CSG)، المعروفة سابقًا باسم MOS Technology. توفر 65CE02 مجموعة تعليمات محسّنة أخرى من 65C02، وتتميز بسجل فهرسة ثالث (Z)، وسجل صفحة أساسي، ومكدس 16 بت وتنفيذ أسرع للبرنامج مع تقليل توقيت التعليمات الأدنى من 2 إلى 1 دورة ساعة. |
| روكويل | R6511Q R6500/11، R6500/12، R6500/15 " أجهزة كمبيوتر صغيرة ذات شريحة واحدة " |
إصدارات محسنة من المعالج القائم على 6502، بما في ذلك أيضًا عمليات معالجة البت الفردية (RMB وSMB وBBR وBBS)، وذاكرة وصول عشوائي على الشريحة بحجم 192 بايت وصفحة صفرية، و UART ، وما إلى ذلك. [90] [91] |
| روكويل | ر65ف 11 ر 65ف12 |
تم تقديم Rockwell R65F11 (في عام 1983) والإصدار الأحدث R65F12، وهما إصداران محسنان من المعالج المستند إلى 6502، بما في ذلك أيضًا عمليات معالجة البت الفردية (RMB وSMB وBBR وBBS)، وذاكرة الوصول العشوائي ذات الصفحة الصفرية على الشريحة، وذاكرة القراءة فقط لنواة Forth على الشريحة ، وUART، وما إلى ذلك. [92] [93] [94] [95] [96] |
| جي تي إي | جي65اس سي12 | تم استخدام متغير CMOS 6502 بدون عمليات معالجة بت فردية (RMB وSMB وBBR وBBS). [97] تم استخدام هذا في BBC Master . |
| جي تي إي | جي65اس سي 102 | برنامج متوافق مع 6502، ولكن لديه توصيلات مختلفة قليلاً ودائرة مذبذب. يتضمن BBC Master Turbo إصدار 4 ميجا هرتز من وحدة المعالجة المركزية هذه على بطاقة معالج مساعد، والتي يمكن شراؤها أيضًا بشكل منفصل وإضافتها إلى Master 128. |
| روكويل | ر65C00 ر 65C21 ر65 C29 |
تحتوي R65C00 وR65C21 وR65C29 على شريحتي CMOS 6502 محسنتين في شريحة واحدة، وتحتوي R65C00 وR65C21 أيضًا على 2 كيلوبايت من ذاكرة القراءة فقط القابلة للبرمجة بالقناع. [98] [99] |
| سي ام 630 | نسخة طبق الأصل من 6502 تعمل على تردد 1 ميجا هرتز في الكتلة الشرقية وتم استخدامها في Pravetz 8A و8C، وهي نسخ بلغارية من Apple II . [100] | |
| موس | 7501 8501 |
تم تقديم متغيرات 6510 (6502 المحسنة) في عام 1984. [101] وقد قامت بتوسيع عدد دبابيس منفذ الإدخال/الإخراج من 6 إلى 7، ولكنها حذفت الدبابيس الخاصة بالمقاطعات غير القابلة للإخفاء وإخراج الساعة. [102] تم استخدامها في أجهزة الكمبيوتر C-16 و C-116 و Plus/4 من Commodore . الفرق الرئيسي بين وحدات المعالجة المركزية 7501 و8501 هو أن 7501 تم تصنيعها باستخدام عملية HMOS -1 و8501 باستخدام HMOS-2. [101] |
| موس | 8500 | تم طرحه في عام 1985 كإصدار HMOS من 6510 (الذي يعتمد بدوره على 6502). وبصرف النظر عن تعديل العملية، فإن 8500 مطابق تقريبًا لإصدار NMOS من 6510. وقد حل محل 6510 في الإصدارات اللاحقة من Commodore 64 . |
| موس | 8502 | تم تصميمه بواسطة MOS Technology وتم استخدامه في Commodore 128. استنادًا إلى MOS 6510 المستخدم في Commodore 64، كان 8502 قادرًا على العمل بمعدل ساعة مزدوج لـ 6510. [103] تتضمن عائلة 8502 أيضًا MOS 7501 و8500 و8501. |
| هدسون سوفت | هوك6280 | النسخة المحسنة من WDC 65C02 من شركة ألعاب الفيديو اليابانية Hudson Soft . تم تصنيعها لهم بواسطة Seiko Epson و NEC لـ SuperGrafx . المنتج الأكثر شهرة الذي يستخدم HuC6280 هو وحدة تحكم ألعاب الفيديو TurboGrafx-16 من NEC. |
| دائرة متكاملة واسعة النطاق | VL65NC02 [104] | تم تضمين متغير 65C02 المرخص من VLSI في IC النظام الرئيسي لـ Atari Lynx المسمى Mikey. |
مشتقات 16 بت
صمم مركز التصميم الغربي وينتج حاليًا معالج WDC 65C816 S، وهو خليفة 65C02 ذي النواة الثابتة 16 بت . يعد W65C816S إصدارًا أحدث من 65C816، وهو جوهر كمبيوتر Apple IIGS وهو أساس معالج Ricoh 5A22 الذي يعمل بنظام Super Nintendo Entertainment System . يتضمن W65C816S تحسينات طفيفة على 65C816 تجعل الشريحة الأحدث ليست بديلاً متوافقًا مع الأجهزة للشريحة السابقة. ومن بين هذه التحسينات التحويل إلى نواة ثابتة، مما يجعل من الممكن إيقاف الساعة في أي من المرحلتين دون أن تفقد السجلات البيانات. يتوفر W65C816S رسميًا من خلال موزعي الإلكترونيات، اعتبارًا من مارس 2020، للعمل بسرعة 14 ميجاهرتز.
كما صمم مركز التصميم الغربي وأنتج 65C802 ، وهو نواة 65C816 بمساحة عنوان 64 كيلوبايت في حزمة متوافقة مع دبوس 65(C)02. يمكن تركيب 65C802 على لوحة 6502 وسيعمل كـ 65C02 عند التشغيل، ويعمل في "وضع المحاكاة". كما هو الحال مع 65C816، فإن تسلسلًا من تعليمتين سيحول 65C802 إلى تشغيل "الوضع الأصلي"، مما يعرض تراكم 16 بت وسجلات الفهرس ، وميزات 65C816 الأخرى. لم يتم استخدام 65C802 على نطاق واسع وانتهى الإنتاج.
الأخطاء والعيوب
كان جهاز 6502 يعاني من العديد من الأخطاء والمشاكل، والتي كان لا بد من أخذها في الاعتبار عند برمجته:
- لم تحتوي أقدم المراجعات للرقاقة 6502، مثل تلك التي تم شحنها مع بعض أجهزة كمبيوتر KIM-1 ، على تعليمة ROR (تدوير الذاكرة أو المجمع إلى اليمين). إن تشغيل ROR في هذه الرقائق هو في الواقع تعليمة ASL (تحويل حسابي إلى اليسار) لا تؤثر على بت الحمل في سجل الحالة. تركت شركة MOS التعليمات خارج وثائق الشريحة تمامًا، ووعدت بأن ROR ستظهر على شرائح 6502 بدءًا من عام 1976. [49] [د] الغالبية العظمى من شرائح 6502 الموجودة اليوم لا تظهر هذه الخاصية الغريبة.
- تحتوي عائلة NMOS 6502 على مجموعة متنوعة من التعليمات غير الموثقة ، والتي تختلف من مصنع شريحة إلى آخر. يتم تنفيذ فك تشفير تعليمات 6502 في مصفوفة منطقية سلكية (مشابهة لمصفوفة منطقية قابلة للبرمجة ) محددة فقط لـ 151 من 256 تعليمات تشغيل متاحة . تؤدي التعليمات المتبقية البالغ عددها 105 إلى إجراءات غريبة ويصعب التنبؤ بها أحيانًا، مثل تعطل المعالج، أو تنفيذ تعليمتين صالحتين على التوالي، أو تنفيذ مزيج غريب من تعليمتين، أو ببساطة عدم القيام بأي شيء على الإطلاق. طورت شركة Eastern House Software "Trap65"، وهو جهاز يتم توصيله بين المعالج ومقبسه لتحويل (فخ) التعليمات التشغيلية غير المنفذة إلى تعليمات BRK (مقاطعة البرنامج). [ بحاجة لمصدر ] استخدم بعض المبرمجين هذه الميزة لتوسيع مجموعة تعليمات 6502 من خلال توفير وظائف للرموز التشغيلية غير المنفذة ببرنامج مكتوب خصيصًا يتم اعتراضه عند متجه 0xFFFE لتعليمة BRK. [105] [106] تم استبدال جميع التعليمات البرمجية غير المحددة بتعليمات NOP في 65C02 ، وهي نسخة CMOS محسنة من 6502، على الرغم من اختلاف أحجام البايتات وأوقات التنفيذ. في 65C802/65C816 ، تقوم جميع التعليمات البرمجية الـ 256 بإجراء عمليات محددة.
- إن تعليمات القفز غير المباشر للذاكرة في المعالج 6502
JMP (<address>)، معطلة جزئيًا. إذا كان <address> هو xxFF سداسي عشري (أي أي كلمة تنتهي بـ FF )، فلن يقفز المعالج إلى العنوان المخزن في xxFF وكما هو متوقع، بل سيقفز إلى العنوان المحدد بواسطة xxFF و xx00 (على سبيل المثال، سيقفز إلى العنوان المخزن في 10FF و1000، بدلاً من العنوان المخزن في 10FF و1100). استمر هذا العيب في خط NMOS بالكامل، ولكن تم تصحيحه في مشتقات CMOS.xxFF+1JMP ($10FF) - ستقوم خاصية تحديد العناوين المفهرسة في NMOS 6502 عبر حدود الصفحات بقراءة إضافية لعنوان غير صالح. قد تتسبب هذه الخاصية في حدوث مشكلات عشوائية من خلال الوصول إلى الأجهزة التي تعمل على القراءة، مثل مسح علامات المؤقت أو IRQ، أو إرسال مصافحة الإدخال/الإخراج، وما إلى ذلك. استمر هذا الخلل عبر خط NMOS بالكامل، ولكن تم تصحيحه في مشتقات CMOS، حيث يقوم المعالج بقراءة إضافية لآخر بايت من التعليمات.
- تؤدي تعليمات القراءة والتعديل والكتابة 6502 دورة قراءة ودورتين كتابة. أولاً، تتم إعادة كتابة البيانات غير المعدلة التي تمت قراءتها، ثم تتم كتابة البيانات المعدلة. قد تتسبب هذه الخاصية في حدوث مشكلات من خلال الوصول مرتين إلى الأجهزة التي تعمل على الكتابة. استمرت هذه الشذوذ عبر خط NMOS الكامل، ولكن تم إصلاحها في مشتقات CMOS، حيث يقوم المعالج بدورتين قراءة ودورة كتابة واحدة. ستتجنب ممارسة البرمجة الدفاعية هذه المشكلة بشكل عام من خلال عدم تنفيذ تعليمات القراءة/التعديل/الكتابة على سجلات الأجهزة.
- إن علامات الحالة N (نتيجة سلبية) وV (تجاوز بت الإشارة) وZ (نتيجة صفرية) لا معنى لها عمومًا عند إجراء عمليات حسابية أثناء وجود المعالج في وضع BCD ، حيث تعكس هذه العلامات النتيجة الثنائية وليس BCD. وقد تمت إزالة هذا القيد في مشتقات CMOS. لذلك، يمكن استخدام هذه الميزة للتمييز بين معالج CMOS وإصدار NMOS. [107]
- إذا حدث أن كان المعالج 6502 في وضع BCD عند حدوث انقطاع في الأجهزة، فلن يعود إلى الوضع الثنائي. قد تؤدي هذه الخاصية إلى أخطاء غامضة في روتين خدمة المقاطعة إذا فشل في مسح وضع BCD قبل إجراء أي عمليات حسابية. على سبيل المثال، لم يتعامل برنامج KERNAL الخاص بـ Commodore 64 بشكل صحيح مع هذه الخاصية الخاصة بالمعالج، مما يتطلب تعطيل طلبات المقاطعة أو إعادة توجيهها أثناء عمليات حسابية BCD. تمت معالجة هذه المشكلة في مشتقات CMOS أيضًا.
- تتضمن مجموعة التعليمات 6502 BRK (رمز التشغيل $00)، وهو من الناحية الفنية عبارة عن مقاطعة برمجية (مشابهة في روحها لاختصار SWI لمعالجات Motorola 6800 و ARM ). تُستخدم BRK غالبًا لمقاطعة تنفيذ البرنامج وبدء تشغيل مراقب لغة الآلة للاختبار وتصحيح الأخطاء أثناء تطوير البرنامج. يمكن أيضًا استخدام BRK لتوجيه تنفيذ البرنامج باستخدام جدول انتقال بسيط (على غرار الطريقة التي تتعامل بها Intel 8086 ومشتقاتها مع مقاطعات البرنامج حسب الرقم). ومع ذلك، إذا حدث انقطاع في الأجهزة أثناء قيام المعالج بجلب تعليمة BRK، فسوف تفشل نسخة NMOS من المعالج في تنفيذ BRK وتستمر بدلاً من ذلك كما لو حدث انقطاع في الأجهزة فقط. تم تصحيح هذا الخطأ في تنفيذ CMOS للمعالج.
- عند تنفيذ تعليمات JSR (الانتقال إلى البرنامج الفرعي) وRTS (العودة من البرنامج الفرعي)، يكون عنوان الإرجاع الذي يدفعه JSR إلى المكدس هو آخر بايت من متغير JSR (أي البايت الأكثر أهمية في عنوان البرنامج الفرعي)، وليس عنوان التعليمات التالية. وذلك لأن النسخ الفعلي (من عداد البرنامج إلى المكدس ثم العكس) يحدث قبل الزيادة التلقائية لعداد البرنامج التي تحدث في نهاية كل تعليمة. [108] لن يتم ملاحظة هذه الخاصية ما لم يفحص الكود عنوان الإرجاع من أجل استرداد المعلمات في مجرى الكود (وهي عبارة برمجة 6502 موثقة في دليل المرجع الفني ProDOS 8 ). وتظل سمة مميزة لمشتقات 6502 حتى يومنا هذا.
- يمكن تأخير وصول القراءة لوحدة المعالجة المركزية عن طريق ضبط دبوس RDY على مستوى منخفض مؤقتًا. ومع ذلك، أثناء وصول الكتابة، والذي قد يستغرق ما يصل إلى ثلاث دورات ساعة لتعليمة BRK، ستتوقف وحدة المعالجة المركزية فقط في دورة القراءة التالية. [109] تم تصحيح هذه المشكلة في مشتقات CMOS وأيضًا في 6510 ومتغيراتها.
انظر أيضا
- قائمة المجمعين 6502
- أجهزة كمبيوتر منزلية تعتمد على MOS Technology 6502
- عدد الترانزستورات
- مُسرِّعات Apple II
- cc65 – 6502 مجمع الماكرو ومترجم C
ملحوظات
- ^ كان أحد الأمثلة على هذا التصميم هو أجهزة الكمبيوتر Atari 8-bit ، والتي تستخدم DMA لمشاركة الذاكرة بين 6502 وشريحة الفيديو ANTIC. تم تنفيذ ذلك باستخدام شريحة واحدة، والتي تم دمجها لاحقًا في إصدارات Sally المخصصة من 6502 المستخدمة في هذه الأجهزة. [45]
- ^ نظرًا لأن كود OP لا يزال يفعل شيئًا ما في الإصدار الأصلي للمعالج، ولكنه ليس تعليمة ROR صحيحة، فقد تسبب هذا في أسطورة مستمرة مفادها أن 6502 الأصلي كان به خطأ في تعليمة ROR الخاصة به. [50] [51] [52]
- ^ ab بشكل أكثر دقة، تقوم هذه الأنظمة بتقسيم بلورة NTSC colorburst داخليًا مما ينتج عنه 315 ⁄ 176 ميجا هرتز = 1.78977 27 ميجا هرتز
- ^ يزعم إريك شلايفر، الذي بنى نسخة طبق الأصل من 6502 باستخدام الترانزستور على موقع monster6502.com، في مقطع الفيديو الخاص به على موقع يوتيوب "أسطورة دوران 6502 إلى اليمين" (بواسطة TubeTimeUS) أنه وفقًا لتشاك بيدل وبيل مينش لم يكن هناك خطأ في ROR. وبدلاً من ذلك، لم يتم تنفيذ التعليمات على الإطلاق لأنها اعتُبرت غير ضرورية. ثم يقارن شلايفر لقطات الشاشة من المراجعة المبكرة بالمراجعات اللاحقة لـ 6502 ويثبت أن تعليمات ROR لم تكن موجودة في فك تشفير التعليمات أو توصيلها أو أجزاء التنفيذ في الشريحة.
مراجع
الاستشهادات
- ^ "MOS 6502 وأفضل رجل تخطيط في العالم". swtch.com. 2011-01-03. مؤرشف من الأصل في 2014-09-08 . تم الاسترجاع في 2014-08-09 .
- ^ "MOnSter6502 نسخة طبق الأصل كاملة وعاملة من الترانزستورات المنفصلة (أي غير المدمجة جميعها على شريحة واحدة) من المعالج الدقيق الكلاسيكي MOS 6502". monster6502.com. 2017. مؤرشف من الأصل في 2017-05-12 . تم الاسترجاع في 2017-05-01 .
- ^ من تأليف ويليام مينش (9 أكتوبر 1995). "مقابلة مع ويليام مينش" (فيديو على الويب). أجرى المقابلة روب ووكر. أثيرتون، كاليفورنيا: مشروع سيليكون جينيسيس ، مكتبات جامعة ستانفورد. مؤرشف من الأصل في 4 مارس 2016. تم الاسترجاع في 22 ديسمبر 2023 .قام كل من ويليام مينش والمشرف بنطق المعالج الدقيق 6502 باسم "sixty-five-oh-two" .
- ^ "مركز التصميم الغربي (WDC) موطن تقنية المعالج الدقيق 65xx". www.westerndesigncenter.com . مؤرشف من الأصل في 2019-04-08 . تم الاسترجاع في 2019-04-08 .
- ^ "Motorola Sues MOS Technology" (PDF) . Microcomputer Digest . 2 (6). Cupertino CA: Microcomputer Associates: 11. December 1975. مؤرشف من الأصل (PDF) في 4 يوليو 2009.
- ^ جينكينز، فرانسيس؛ لين، إي؛ لاتين، دبليو؛ ريتشاردسون، دبليو (نوفمبر 1973). "نمذجة أجهزة MOS للتنفيذ الحاسوبي". معاملات معهد مهندسي الكهرباء والإلكترونيات في نظرية الدوائر . 20 (6). معهد مهندسي الكهرباء والإلكترونيات: 649-658. doi :10.1109/tct.1973.1083758. ISSN 0018-9324.كان جميع المؤلفين يعملون لدى قسم منتجات أشباه الموصلات في شركة موتورولا.
- ^ "Motorola joins microprocessor race with 8-bit entry". Electronics . 47 (5). نيويورك: ماكجرو هيل: 29-30. 7 مارس 1974.
- ^ تاريخ شفوي لموتورولا 6800 (2008)، ص 9
- ^ US3942047A، Buchanan، John K.، "دائرة تعزيز جهد التيار المستمر MOS"، صدرت في 1976-03-02 مؤرشفة في 2024-02-13 على موقع Wayback Machine
- ^ US3987418A، Buchanan، John K.، "تضاريس الشريحة لشريحة المعالج الدقيق للدوائر المتكاملة MOS"، صدر في 19 أكتوبر 1976، محفوظ في 13 فبراير 2024 على موقع Wayback Machine
- ^ تاريخ شفوي لموتورولا 6800 (2008)، ص 8
- ^ تاريخ مينش الشفوي (1995) حصل مينش على درجة الزمالة من جامعة تيمبل في عام 1966 ثم عمل في شركة فيلكو فورد كفني إلكترونيات قبل الالتحاق بجامعة أريزونا.
- ^ US3968478A, Jr, William D. Mensch, "Chip topography for MOS interface circuit", released 1976-07-06 archived 2024-02-13 at the Wayback Machine
- ^ دونوهو، جيمس ف. (27 أكتوبر 1988). "المعالج الدقيق في أول عقدين من الزمان: كيف كان". EDN . 33 (22A). Cahners Publishing: 18–32. ISSN 0012-7515.الصفحة 30. كان بينيت يعمل بالفعل على ما أصبح فيما بعد 6800. يقول بيدل عن بينيت: "لقد وظفني للقيام بأعمال الدعم المعماري للمنتج الذي بدأه بالفعل". ... يقول بيدل: "لقد حاولت موتورولا قتله عدة مرات. لولا بينيت لما ظهر 6800، ولما ظهر الكثير من الصناعة أيضًا".
- ^ US3975712A، Hepworth، Edward C.؛ Means، Rodney J. وPeddle، Charles I.، "محول واجهة الاتصال غير المتزامن"، صدر في 1976-08-17 مؤرشف في 2024-02-13 على موقع Wayback Machine
- ^ موتورولا (5 أغسطس 1976). "يظلون في المقدمة مع عائلة M6800 من موتورولا". إلكترونيات . 49 (16). ماكجرو هيل: 51. مؤرشف من الأصل في 10 يناير 2014. تم الاسترجاع في 4 يونيو 2012 .إعلان يظهر ثلاثة تطبيقات مضمنة من TRW و HP و RUSCO.
- ^ تاريخ شفوي لموتورولا 6800 (2008)، ص 89
- ^ "إنها عائلة المنتجات الكاملة". إلكترونيات . 48 (1). نيويورك: ماكجرو هيل: 37. 9 يناير 1975. مؤرشف من الأصل في 11 نوفمبر 2012. تم الاسترجاع في 4 يونيو 2012 .إعلان لشركة موتورولا يؤكد على مجموعتها الكاملة من الرقائق الطرفية وأدوات التطوير. وقد أدى هذا إلى تقصير دورة تصميم المنتج لدى العميل.
- ^ تاريخ شفوي لموتورولا 6800 (2008) ص 18
- ^ "مجموعة المعالجات الدقيقة من موتورولا هي 1 ميجا هرتز n-MOS". هندسة التحكم . 21 (11): 11. نوفمبر 1974.كان سعر المعالج الدقيق MC6800 هو 360 دولارًا. وكان من المقرر طرح محول واجهة الاتصالات غير المتزامنة MC6850 (ACIA) في الربع الأول من عام 1975.
- ^ كاي، جلينيس تومسون، محرر. (1984). ثورة في التقدم: تاريخ إنتل حتى الآن (PDF) . شركة إنتل. ص. 14. رقم الطلب:231295. مؤرشف من الأصل (PDF) في 23 أكتوبر 2012. تم الاسترجاع في 30 ديسمبر 2016 ."نفذت شركة شيما جهاز 8080 في حوالي عام وتم طرح الجهاز الجديد في أبريل 1974 بسعر 360 دولارًا أمريكيًا."
- ^ "Motorola mounts M6800 drive". Electronics . 48 (8). نيويورك: McGraw-Hill: 25. 17 أبريل 1975."يتم تزويد الموزعين بعائلة M6800، كما يقدم القسم أيضًا مجموعة تمهيدية تتضمن الأجزاء الستة الأولية للعائلة، بالإضافة إلى التطبيقات وأدلة البرمجة، مقابل 300 دولار."
- ^ مقابلة 2014، 52:30.
- ^ مقابلة 2014، 54:45.
- ^ Bagnall (2010)، ص. 11. جاء عرض Peddle الجديد في وقت مناسب لمطوري 6800. ويوضح Mensch: "لم يرغبوا في الذهاب إلى أوستن، تكساس".
- ^ مقابلة 2014، 54:40.
- ^ مقابلة 2014، 55:50.
- ^ والر، لاري (13 نوفمبر 1975). "موتورولا تسعى لإنهاء الانزلاق". إلكترونيات . 48 (23). نيويورك: ماكجرو هيل: 96-98.الملخص: انقسمت منتجات أشباه الموصلات إلى قسمين، الدوائر المتكاملة والمكونات المنفصلة. تجاوزت خسائر أشباه الموصلات خلال الأرباع الأربعة الأخيرة 30 مليون دولار. فقدت منظمة المبيعات حساسيتها تجاه احتياجات العملاء، "أدى التأخير في الاستجابة لخفض الأسعار إلى قيام العملاء بالشراء من أماكن أخرى". عانت إنتاج الدوائر المتكاملة من مشاكل فنية. المشاكل "ليست في التصميم، ولكن في إنتاج الرقائق والقوالب". تم حل المشاكل. وصل المعالج الدقيق MC6800 "في نوفمبر 1974".
- ^ مقابلة 2014، 56:30.
- ^ مقابلة 2014، 55:00.
- ^ باجنال (2010)، ص 13.
- ^ MOS Technology (14 نوفمبر 1974). "The First Single Chip Scientific Calculator Arrays". Electronics . 47 (23). McGraw-Hill: 90–91. مؤرشف من الأصل في 10 يناير 2014. تم الاسترجاع في 4 يونيو 2012 .
- ^ مقابلة 2014، 57:00.
- ^ مقابلة 2014، 58:30.
- ^ كاس، ستيفن (16 سبتمبر 2021). "أسئلة وأجوبة مع أحد المشاركين في إنشاء معالج 6502". IEEE Spectrum . مؤرشف من الأصل في 20 سبتمبر 2021 . تم الاسترجاع 20 سبتمبر 2021 .
- ^ Ho, Joshua (9 أكتوبر 2014). "مقدمة في فيزياء أشباه الموصلات والتكنولوجيا والصناعة". Anandtech . مؤرشف من الأصل في 24 فبراير 2020 . تم الاسترجاع 24 فبراير 2020 .
- ^ تاريخ شفوي لموتورولا 6800 (2008)، ص 10.
- ^ abc Cushman 1975، ص 40.
- ^ "معالج 8080A – حزمة DIP 40". عالم المعالجات المركزية . مؤرشف من الأصل في 15 سبتمبر 2020. استرجاع 24 فبراير 2020 .
- ^ ab Cushman 1975، ص 38.
- ^ ab "Moore's Law Milestones". IEEE . 30 أبريل 2015. مؤرشف من الأصل في 2020-02-24 . تم الاسترجاع 2020-02-24 .
- ^ Bagnall (2010)، ص 19: "وعد بايفينين بيدل بأنه سيكون جاهزًا لعملية القناة n. وكان صادقًا في كلمته."
- ^ abc Cushman 1975، ص 36.
- ^ abc Cushman 1975، ص 41.
- ^ Purcaru, John (2014). Games vs. Hardware. The History of PC video games: The 80's . ص 317.
- ^ مقابلة 2014، 1:01:00.
- ^ مقابلة 2014، 1:02:00.
- ^ مقابلة 2014، 1:02:30.
- ^ ملف ab :مجموعة تعليمات MCS650x.jpg
- ^ "قياس خطأ ROR في MOS 6502 المبكر – pagetable.com". مؤرشف من الأصل في 2023-03-21 . تم الاسترجاع 2023-02-25 .
- ^ "كيف يتم اختبار السيراميك 6502 بحثًا عن خلل ROR؟ | Applefritter". مؤرشف من الأصل في 2023-02-25 . تم الاسترجاع 2023-02-25 .
- ^ "أسطورة الدوران لليمين 6502". يوتيوب . مؤرشف من الأصل في 2023-02-25 . تم الاسترجاع 2023-02-25 .
- ^ "تقدم سلسلة المعالجات الدقيقة 4 و8 و16 بت". إلكترونيات . 48 (15). نيويورك: ماكجرو هيل: 118. 24 يوليو 1975.تتناول المقالة المعالجات 6501 و6502 بالإضافة إلى الإصدارات ذات 28 سنًا والتي ستعالج فقط 4 كيلو بايت من الذاكرة. كما تتناول أيضًا الأجهزة المستقبلية مثل "التصميم الذي يطلق عليه Peddle اسم 16 الزائف".
- ^ Sugarman, Robert (25 August 1975). "Does the Country Need A Good $20 Microprocessor?" (PDF) . EE Times . Manhasset, New York: CMP Publications: 25. مؤرشف من الأصل (PDF) في 3 فبراير 2007 . تم الاسترجاع في 5 فبراير 2008 .
- ^ Fylstra, Daniel (نوفمبر 1975). "Son of Motorola (or the $20 CPU Chip)". Byte . 1 (3). Peterborough, NH: Green Publishing: 56–62.مقارنة بين المعالجات الدقيقة 6502 و6800. قام المؤلف بزيارة موقع MOS Technology في أغسطس 1975.
- ^ "الجيل الثالث من المعالجات الدقيقة" (PDF) . Microcomputer Digest . 2 (2). كوبرتينو، كاليفورنيا: Microcomputer Associates : 1–3. أغسطس 1975. مؤرشف من الأصل (PDF) في 2009-07-04 . تم الاسترجاع في 2009-11-27 .
- ^ "المعالج الدقيق MOS 6501 يتفوق على الجميع". إلكترونيات . 48 (16). نيويورك: ماكجرو هيل: 60-61. 7 أغسطس 1975.
- ^ "MOS 6502 هو الثاني من عائلة المعالجات الدقيقة منخفضة التكلفة وعالية الأداء". الكمبيوتر . 8 (9). جمعية IEEE للكمبيوتر: 38-39. سبتمبر 1975. doi :10.1109/CM.1975.219074. مؤرشف من الأصل في 2021-02-24 . تم الاسترجاع في 2012-06-04 .
- ^ باجنال (2010)، ص 33-35.
- ^ Signetics (30 أكتوبر 1975). "Easiest-to-use microprocessor". Electronics . 48 (22). McGraw-Hill: 114–115. مؤرشف من الأصل في 20 نوفمبر 2015. تم الاسترجاع في 20 نوفمبر 2015 .
- ^ موتورولا (30 أكتوبر 1975). "كل هذا ومعالج دقيق غير مجمع بقيمة 69 دولارًا". إلكترونيات . 48 (22). ماكجرو هيل: 11. مؤرشف من الأصل في 15 ديسمبر 2011. تم الاسترجاع في 8 أغسطس 2010 .تم تخفيض سعر الكمية الأولى من MC6800 من 175 دولارًا إلى 69 دولارًا . وكان السعر السابق لعدد يتراوح بين 50 إلى 99 وحدة 125 دولارًا .
- ^ والر، لاري (13 نوفمبر 1975). "أخبار موجزة: موتورولا تسعى إلى وقف منافستها في مجال المعالجات الدقيقة". إلكترونيات . 48 (23). نيويورك: ماكجرو هيل: 38.قالت شركة موتورولا الأسبوع الماضي إنها ستسعى للحصول على أمر قضائي فوري لمنع شركة MOS Technology Inc.، ومقرها نورستاون بولاية بنسلفانيا، من تصنيع وبيع منتجات المعالجات الدقيقة، بما في ذلك معالجها MCS6500. (تم نشر هذا العدد في السابع من نوفمبر/تشرين الثاني).
- ^ حصلت شركة موتورولا على براءات الاختراع الأمريكية التالية على عائلة المعالجات الدقيقة 6800: 3962682، 3968478، 3975712، 3979730، 3979732، 3987418، 4003028، 4004281، 4004283، 4006457، 4010448، 4016546، 4020472، 4030079، 4032896، 4037204، 4040035، 4069510، 4071887، 4086627، 4087855، 4090236، 4145751، 4218740، 4263650.
- ^ باجنال (2010)، ص 53-54. "لقد حصل [مايك جينز] على كل أعماله الأصلية من 6800 وأخفاها عن موتورولا...
- ^ "موتورولا وMOS Technology تسوي دعوى براءات الاختراع". إلكترونيات . 49 (7). نيويورك: ماكجرو هيل: 39. 1 أبريل 1975."وافقت شركة MOS Technology Inc. في نورستاون، بنسلفانيا، على سحب المعالج الدقيق MCS6501 من السوق ودفع مبلغ 200 ألف دولار لشركة Motorola Inc ..." "لقد ردت شركة MOS Technology وثمانية موظفين سابقين في Motorola، بموجب أمر قضائي، الوثائق التي تدعي Motorola أنها سرية." "... لقد وافقت كلتا الشركتين على ترخيص متبادل يتعلق ببراءات الاختراع في مجال المعالجات الدقيقة."
- ^ باجنال (2010)، ص 55-56
- ^ "الاندماج والاستحواذ". Mini-Micro Systems . 9 (11). Cahners: 19. November 1976."تقوم شركة Commodore International بشراء شركة MOS Technology (نورستاون، بنسلفانيا). وهذا من شأنه أن ينقذ شركة أشباه الموصلات التي يبلغ عمرها ستة أعوام من كارثة وشيكة."
- ^ ab Goodwins, Rupert (4 ديسمبر 2010). "ضحايا إنتل: ثمانية قتلة عملاقين محتملين". ZDNet . مؤرشف من الأصل في 5 مايو 2013. تم الاسترجاع في 7 مارس 2012 .
- ^ Reimer, Jeremy. "Personal Computer Market Share: 1975-2004". مؤرشف من الأصل في 6 يونيو 2012. تم الاسترجاع في 2009-07-17 .
- ^ "كم عدد أجهزة كومودور 64 المباعة؟". مؤرشف من الأصل في 2016-03-06 . استرجاع 2011-02-01 .
- ^ "Apple IIe Enhancement Kit - Peripheral - Computing History". www.computinghistory.org.uk . مؤرشف من الأصل في 2020-08-08 . تم الاسترجاع في 2023-10-23 .
- ^ "4. CPU/ROM". www.monlynx.de . مؤرشف من الأصل في 2023-09-20 . تم الاسترجاع 2023-10-23 .
- ^ كوردر، مايك (ربيع 1999). "أشياء كبيرة في عبوات صغيرة". تقدم الرواد مع تقنية بيكو جافا . صن ميكروإلكترونيكس. مؤرشف من الأصل في 2006-03-12 . تم استرجاعه في 23 أبريل 2012.
تم تصنيع أول 6502 بتقنية 8 ميكرون، ويعمل بسرعة ميغا هرتز واحد وذاكرة قصوى تبلغ 64 كيلو بايت.
- ^ "كيفية تنفيذ مشاركة الحافلة / DMA على نظام 6502". مؤرشف من الأصل في 2020-08-15 . تم الاسترجاع 2020-09-30 .
- ^ "نموذج برمجة MCS650X". دليل برمجة MOS MICROCOMPUTERS . شركة MOS للتكنولوجيا، يناير 1976.
- ^ أندرسون، ج. س. (2012-08-21). تكنولوجيا المعالجات الدقيقة. روتليدج . ص. 153. ISBN 9781136078057.
- ^ "أعلام الحالة". NESdev Wiki . تم الاسترجاع في 2024-06-11 .
- ^ "8080A/8080A-1/8080A-2 8-Bit N Channel Microprocessor" (PDF) . Intel. مؤرشف من الأصل (PDF) في 15 نوفمبر 2021 . تم الاسترجاع في 16 نوفمبر 2021 .
- ^ abc Parker, Neil. "The 6502/65C02/65C816 Instruction Set Decoded". صفحة نيل باركر على موقع Apple II . مؤرشف من الأصل في 2019-07-16 . تم الاسترجاع في 2019-07-16 .
- ^ 6502 مجموعة التعليمات المؤرشفة في 2018-05-08 على موقع Wayback Machine .
- ^ NMOS 6502 Opcodes. مؤرشف من الأصل في 14 يناير 2016 على موقع Wayback Machine .
- ^ Breaking NES Book – 6502 Core (PDF) (B5 ed.). 2022-06-24. ص 61–62. مؤرشف (PDF) من الأصل في 2024-04-12 . تم الاسترجاع في 2023-12-24 .
ينعكس وصول أي مقاطعة على العلم B، حيث يجبر ناتجها (B_OUT) المعالج على تنفيذ تعليمة BRK ...
- ^ "6502 BRK وB bit". VisualChips . مؤرشف من الأصل في 2021-04-05 . تم الاسترجاع 2021-05-15 .
- ^ "FLAGS". ogamespec . تم الاسترجاع في 2021-05-15 .
B_OUT؛ ناقل البيانات الداخلي (DB)
- ^ ab "FAQ 400 800 XL XE: ما هي SALLY وANTIC وCTIA/GTIA/FGTIA وPOKEY وFREDDIE؟". مؤرشف من الأصل في 19 يوليو 2020.
أطلق مهندسو Atari على SALLY اسمًا، لكن [مستندات الدعم تسميها] "6502 (معدلة)"، "6502 معدلة"، "6502 مخصصة"، أو "6502C". [..] لا تحمل شرائح SALLY 6502 علامة "6502C" أبدًا، ولكن بخلاف UMC UM6502I، تحمل دائمًا علامة "C014806". [..] [شرائح أخرى] تحمل علامة "6502C" [..] ليست Atari "6502C" ولكنها معتمدة [قياسيًا] لتردد 4 ميجا هرتز
- ^ "6502 (معدل) معالج وحدة المعالجة المركزية". دليل الخدمة الميدانية لجهاز الكمبيوتر المنزلي ATARI 1200 XL . ATARI. فبراير 1983.
- ^ abcdefg 1982 MOS Technology Data Catalog (تم الحصول على ملف PDF من bitsavers.org)
- ^ "AtariAge: A2600 clone, 6591 chip pinout". 3 أغسطس 2015. مؤرشف من الأصل في 2020-08-05 . تم الاسترجاع 2019-07-22 .
- ^ "Hackaday: أحدث جهاز Atari 2600 على الإطلاق". 7 أبريل 2012. مؤرشف من الأصل في 2019-07-22 . تم الاسترجاع 2019-07-22 .
- ^ "Rockwell R6511Q". مؤرشف من الأصل في 15 سبتمبر 2020. اطلع عليه بتاريخ 30 أبريل 2020 .
- ^ "أجهزة كمبيوتر صغيرة ذات شريحة واحدة من طراز Rockwell R6500/11 وR6500/12 وR6500/15". 7 يونيو 1987. مؤرشف من الأصل في 4 أغسطس 2020. تم الاسترجاع في 30 أبريل 2020 .
- ^ راندي م. دومس. "أجهزة الكمبيوتر فورث أحادية الشريحة R65F11 وF68K". [1] [ رابط معطل دائم ] [2] محفوظ في 2014-12-02 على موقع واي باك مشين 1984.
- ^ إد شموخ. "نظام مراقبة التآكل المحوسب" [ رابط دائم ميت ] . 1986.
- ^ لورانس ب. فورسلي. "الأنظمة المضمنة: مؤتمر روتشستر الرابع لعام 1990: 12 – 16 يونيو 1990، جامعة روتشستر" محفوظ في 25 مارس 2015 على موقع واي باك مشين . ص. 51.
- ^ Rockwell. "RSC-Forth User's Manual" Archived 2013-12-07 at the Wayback Machine . 1983.
- ^ "Rockwell R65F11 R65F12 Forth Based Microcomputers" (PDF) . يونيو 1987. مؤرشف من الأصل (PDF) في 4 أغسطس 2020. تم الاسترجاع في 28 أبريل 2020 .
- ^ زاكس ، رودناي. برمجة 6502 . ص. 348.
- ^ "Arquivo.pt" (PDF) . مؤرشف من الأصل (PDF) في 2016-05-15 . تم استرجاعه في 2014-10-26 .
- ^ "rockwell :: dataBooks :: 1985 Rockwell Data Book" – عبر Internet Archive.
- ^ "East-European Home-Computer: Bulgaria". HCM: Home Computer Museum . مؤرشف من الأصل في 1 يوليو 2006 . تم الاسترجاع في 3 أكتوبر 2020 .
- ^ ab http://plus4world.powweb.com/hardware/MOS_75018501 محفوظ في 2020-02-20 على موقع Wayback Machine الأجهزة – MOS 7501/8501
- ^ https://ist.uwaterloo.ca/~schepers/MJK/7501.html مؤرشف في 2021-07-19 على موقع Wayback Machine وحدة المعالجة المركزية 7501 / 8501
- ^ دليل خدمة الكمبيوتر C-128/C128D ، Commodore Business Machines، PN-314001-08، نوفمبر 1987
- ^ "VL65NC02". ورقة بيانات IC: 1988 VTI ASIC. ص 225-238.
- ^ Moser, Carl W. (January 1979). "Add a Trap Vector for Unimplemented 6502 Opcodes" (PDF) . مجلة دكتور دوب لتمارين الحاسوب وتقويم الأسنان . رقم 31. مينلو بارك، كاليفورنيا. ص. 32. مؤرشف (PDF) من الأصل في 2016-06-11 . تم الاسترجاع في 2017-01-07 .
- ^ هارود، دينيت أ. (أكتوبر 1980). "الجهاز 6502 يحصل على تعليمات قابلة للبرمجة الدقيقة". BYTE . المجلد 5، العدد 10. بيتربورو، نيو هامبشاير. ص 282. تم الاسترجاع في 2017-01-07 .
- ^ دراكو (19 يونيو 1997). "65c02، 6502، 65816 ??? CPU sells but who's buying..." مؤرشف من الأصل في 2 يناير 2008.
- ^ أندروز، مارك (1984). "6". جذور أتاري – دليل إلى لغة التجميع في أتاري . شركة داتاموست. رقم ISBN 0-88190-171-7. تم أرشفة النسخة الأصلية في 2008-04-24 . تم استرجاعها في 2008-06-14 .
- ^ "1.4.1.2.8 RDY--Ready (ص. 37)". دليل الأجهزة لسلسلة 6500؛ الطبعة الثانية . MOS Technology, INC. يناير 1976.
فهرس
- بيدل، تشاك (12 يونيو 2014). "التاريخ الشفوي لتشاك بيدل" (مقابلة). أجرى المقابلة دوج فيربيرن وستيفن دايموند. مؤرشف من الأصل في 2021-11-18.
- باجنال، بريان (2010). كومودور، شركة على حافة الهاوية (الطبعة الثانية). وينيبيج، مانيتوبا: دار نشر فاريانت. رقم ISBN 978-0-9738649-6-0.
- بينيت، توماس؛ إيكيس، جون؛ لاتين، ويليام (بيل)؛ لافيل، جيف (28 مارس 2008). "Motorola 6800 Oral History Panel" (PDF) (مقابلة). أجرى المقابلة ديفيد لوز. مؤرشف من الأصل (PDF) في 2021-04-13 . تم الاسترجاع في 2021-01-30 .
- كوشمان، روبرت هـ. (20 سبتمبر 1975). "2-1/2 Generation μP's -$10 Parts That Perform Like Low-End Mini's" (PDF) . EDN . 20 (17). بوسطن: Cahners Publishing: 36–42. مؤرشف من الأصل (PDF) في 24 أبريل 2016.
- مقابلة مع ويليام مينش، جامعة ستانفورد ومشروع وادي السيليكون، 9 أكتوبر 1995. نص المقابلة
قراءة إضافية
- صحائف البيانات والأدلة
- ورقة بيانات سلسلة 6500 ؛ تكنولوجيا MOS؛ 12 صفحة؛ 1976.
- دليل الأجهزة لسلسلة 6500 محفوظ في 13 سبتمبر 2011 على موقع Wayback Machine ؛ الطبعة الثانية؛ MOS Technology؛ 182 صفحة؛ 1976.
- دليل برمجة سلسلة 6500 محفوظ في 13 سبتمبر 2011 على موقع Wayback Machine ؛ الطبعة الثانية؛ MOS Technology؛ 262 صفحة؛ 1976.
- كتب
- 6502 كتاب التطبيقات ؛ الطبعة الأولى؛ رودناي زاكس ؛ سيبيكس؛ 281 صفحة؛ 1979؛ ISBN 978-0895880154 . (أرشيف)
- 6502 برمجة لغة التجميع ؛ الطبعة الثانية؛ لانس ليفينثال؛ أوزبورن/ماكجرو هيل؛ 650 صفحة؛ 1986؛ رقم ISBN 978-0078812163 . (أرشيف)
- 6502 برامج فرعية بلغة التجميع ؛ الطبعة الأولى؛ لانس ليفينثال ووينثروب سافيل؛ أوزبورن/ماكجرو هيل؛ 550 صفحة؛ 1982؛ ISBN 978-0931988592 . (أرشيف)
- 6502 Games ؛ الطبعة الأولى؛ Rodnay Zaks؛ Sybex؛ 292 صفحة؛ 1980؛ ISBN 978-0895880222 . (أرشيف)
- 6502 دليل المستخدم ؛ الطبعة الأولى؛ جوزيف كار؛ رستون؛ 288 صفحة؛ 1984؛ ISBN 978-0835970020 . (أرشيف)
- البرمجة المتقدمة 6502 ؛ الطبعة الأولى؛ رودناي زاكس؛ جون وايلي وأولاده؛ 292 صفحة؛ 1982؛ رقم ISBN 978-0895880895 . (أرشيف)
- لغة الآلة للمبتدئين – برمجة لغة الآلة لأجهزة الكمبيوتر الشخصية من نوع Atari وVIC وApple وC64 وPET ؛ الطبعة الأولى؛ ريتشارد مانسفيلد؛ منشورات Compute!؛ 350 صفحة؛ 1983؛ ISBN 978-0942386110 . (أرشيف) محفوظ في 2016-08-10 على موقع Wayback Machine
- برمجة 6502 ؛ الطبعة الرابعة؛ رودناي زاكس؛ سايبكس؛ 408 صفحة؛ 1983؛ ISBN 978-0895881359 . (أرشيف)
- برمجة 65816 – بما في ذلك 6502، 65C02 ، 65802 ؛ الطبعة الأولى؛ ديفيد آيز ورون ليشتي؛ برنتيس هول؛ 636 صفحة؛ 1986؛ ISBN 978-0893037895 . (أرشيف)
- المعالجات الدقيقة ولغة التجميع ؛ اللغة التركية؛ الطبعة السابعة؛ نور الدين توبالوغلو؛ سككين ياينوي؛ 328 صفحة؛ 2021؛ ISBN 978-975-02-6663-8 .
- بطاقات مرجعية
- بطاقة مرجعية فورية للمعالج الدقيق 6502 ؛ جيمس لويس؛ ميكرو لوجيك؛ صفحتان؛ 1980. (أرشيف) محفوظ في 2019-09-04 على موقع واي باك مشين
روابط خارجية
- 6502.org – مورد المعالج الدقيق 6502 محفوظ في 2020-11-29 على موقع Wayback Machine – مستودع
- صعود تكنولوجيا MOS و6502 – أرشيف Commodore
- معلومات 650x أرشيف 2020-03-11 على موقع Wayback Machine – وصف موجز وصور لشرائح MOS والمصدر الثاني؛ على cpu-collection.de
- mdfs.net – مجموعة التعليمات 6502
- كليفر، إيريك. "6502 – أول RISC µP". مؤرشف من الأصل في 24 مايو 2012.
- هارود، دينيت أ. (أكتوبر 1980). "6502 يحصل على تعليمات قابلة للبرمجة الدقيقة". بايت . المجلد 5، العدد 10. ماكجرو هيل . ص 282-285. ISSN 0360-5280. مؤرشف من الأصل في 2006-05-25 . تم الاسترجاع في 2006-05-14 .
- المحاكيات، المحاكيات
- برنامج تجميع ومحاكاة متوافق مع 6502 عبر الإنترنت، مكتوب بلغة JavaScript محفوظ في 2011-02-08 على موقع Wayback Machine
- قائمة بـ 6502 محاكي برمجي محفوظ بتاريخ 2020-09-19 على موقع Wayback Machine – Zophar's Domain
- محاكي 6502 لنظام Windows محفوظ في 2004-12-04 على موقع Wayback Machine – المقر الرئيسي لشركة Atari Gaming
- محاكاة بصرية على مستوى الترانزستور لوحدة المعالجة المركزية 6502 محفوظ في 14 مارس 2011 على موقع Wayback Machine
- نواة وحدة المعالجة المركزية MCL65 6502، الكود C على GitHub – MicroCore Labs
- لوحات
- لوحة Grant's 7/8-chip 6502 مؤرشفة في 2022-06-06 على موقع Wayback Machine
- لوحة تدريب المعالج الدقيق 6502 أرشيف 2019-07-14 على موقع Wayback Machine
- قم ببناء لوحة تدريب KIM-1 الخاصة بك أرشيف 2019-07-14 على موقع Wayback Machine – انظر KIM-1
- 6502 جهاز كمبيوتر منزلي على GitHub
- تم أرشفة جهاز الكمبيوتر أحادي اللوحة PE6502 في 2020-05-03 على موقع Wayback Machine
- حاسوب أحادي اللوحة BE6502 على GitHub – استنادًا إلى مقاطع فيديو Ben Eater
- FPGA
- cpu6502_tc 6502 CPU core – كود مصدر VHDL – OpenCores
- ag_6502 6502 CPU core – Verilog source code Archived 2020-08-04 at the Wayback Machine – OpenCores
- M65C02 65C02 CPU core – Verilog source code Archived 2020-08-04 at the Wayback Machine – OpenCores
- نواة وحدة المعالجة المركزية MCL65 6502 على GitHub – Verilog – MicroCore Labs
