حدث البرنامج في مجمعات المعالجات المختلفة. آخر ما في القائمة هو Xilinx MicroBlaze. قررت نشر بعض ملاحظاتي حول ميزات هذه القطع الحديدية السحرية تقريبًا ، والتي ، مثل المفتاح السحري لـ Pinocchio ، فتحت أبوابًا لنا في الأرض السحرية للواقع الافتراضي والإبداع الجماعي. حول ميزات الأنظمة الحديثة x86 و x86-64 و ARM و ARM-64 وما إلى ذلك. لن أكتب ، ربما مرة أخرى - الموضوع كبير ومعقد للغاية. لذلك ، أخطط للانتهاء باستخدام Intel 80486 و Motorola 68040. وأردت أيضًا تضمين IBM / 370 التي كنت أتعامل معها. كانت هذه الأنظمة بعيدة جدًا عن جماهير المستخدمين ، ولكن في نفس الوقت كان لها تأثير كبير على تكنولوجيا الكمبيوتر. ببساطة لم يكن لديهم ما يكفي من الوقت المخصص لهذا الموضوع ، ولم يستخدموا رقائق المعالج ، ولسبب ما بدا أنهم قد اختفوا تمامًا. آمل حقًا أن تجذب موادي انتباه الخبراء الذين يمكنهم إضافة شيء لم يفكروا به أو لم يعرفوه.
بصفتي مادة توضيحية ، أرفق
حجري الصغير
من Rosetta - برامج لحساب الرقم π على المعالجات والأنظمة المختلفة باستخدام خوارزمية الغالق ، مدعيا أنها الأسرع في تنفيذها.
إنتل 8080 و 8085
أول معالج حقيقي على رقاقة ، تم صنعه في النصف الأول من عام 1974 ، لا يزال قيد التصنيع ويجد استخدامه. تم استنساخها عدة مرات حول العالم ، في الاتحاد السوفياتي كان لها تسمية KR580VM80A. لا تزال معالجات Intel الحديثة لأجهزة الكمبيوتر تكشف بسهولة عن تقاربها مع هذا المنتج المتبقي إلى حد ما. أنا شخصياً لم أكتب رموزًا لهذا المعالج ، ولكن للتعرف على بنية z80 ، أجرؤ على تقديم بعض تعليقاتي.
نظام 8080 التعليمي ، مثل معالجات Intel الأخرى لأجهزة الكمبيوتر ، بالكاد يمكن أن يطلق عليه المثالية ، ولكنه عالمي ومرنة تمامًا ولديه العديد من الميزات الجذابة للغاية. من منافسيها ، اختلف Motorola 6800 و MOS Technology 6502 ، 8080 بشكل إيجابي في عدد كبير من السجلات الخرقاء إلى حد ما ، مما يوفر للمستخدم بطارية واحدة 8 بت A ، ومركب شبه مزدوج 16 بت ومؤشر HL سريع بدوام جزئي ، 16 بت مؤشر مكدس SP. ، بالإضافة إلى تسجيلين آخرين 16 بت Sun و DE. يمكن استخدام سجلات BC و DE و HL كسجلات 6 بايت. بالإضافة إلى ذلك ، كان 8080 يدعم مجموعة كاملة تقريبًا من أعلام الحالة: الحمل ، والتوقيع ، والصفر ، وحتى التكافؤ وشبه النقل. كانت بعض التعليمات من مجموعة التعليمات 8080 طويلة أبطال السرعة. على سبيل المثال ، يتبادل أمر XCHG محتويات تسجيلات 16 بت DE و HL في 4 دورات ساعة فقط - لقد كانت سريعة بشكل استثنائي! كان هناك عدد من الفرق الأخرى ، على الرغم من أنهم لم يضعوا مثل هذه السجلات الحية ، إلا أنهم كانوا أيضًا من بين الأفضل لفترات طويلة:
- XTHL - تبادل محتويات سجل HL والبيانات الموجودة أعلى المكدس ، 18 دورة ساعة - يبدو أنه كثير ، حتى على 8086 16 بت حقيقي مثل هذا الأمر يستغرق 22 دورة ساعة ، و 6800 أو 6502 يكون من الصعب تخيل مثل هذا الأمر ؛
- DAD - أضف إلى شبه المركب HL قيمة تسجيل 16 بت آخر (BC ، DE أو حتى SP) ، 10 دورات ساعة. هذا هو إضافة 16 بت حقيقي مع وضع علامة تحمل. إذا قمت بإضافة HL مع نفسك ، فستحصل على نوبة اليسار بسرعة 16 بت أو الضرب مرتين ، وهي عملية رئيسية لكل من الضرب الكامل والقسمة ؛
- PUSH و POP - ضع المكدس وأزل من المكدس قيمة 16 بت ، على التوالي ، من السجل أو في السجل. تتم في 11 و 10 دورات. هذه هي أسرع عمليات 8080 للعمل مع الذاكرة وفي أدائها هناك زيادة تلقائية أو إنقاص لـ SP. يمكن استخدام PUSH ، على سبيل المثال ، لملء الذاكرة بسرعة بنمط بقيم من 3 تسجيلات (BC ، DE ، HL). لا توجد أوامر للعمل بكميات 8 بت مع مكدس على الإطلاق ؛
- LXI - تحميل ثابت 16 بت في السجل (HL ، DE ، BC ، SP) لمدة 10 دورات ساعة ؛
- RNZ ، RZ ، RNC ، RC ، RPO ، RPE ، RP ، RM - العوائد الشرطية من الروتين الفرعي ، مسموح بها لجعل الشفرة أكثر نظافة ، مما يلغي الحاجة إلى كتابة فروع شرطية إضافية. تم التخلي عن هذه الفرق في بنية x86 ، فمن الممكن عبثًا أن يتحول الرمز معها إلى أجمل.
تم استخدام هذا المعالج في أول كمبيوتر شخصي Altair 8800 ، والذي أصبح شائعًا جدًا بعد نشر المجلة في أوائل عام 1975. بالمناسبة ، حدث منشور مشابه في اتحاد الجمهوريات الاشتراكية السوفياتية فقط في عام 1980 ، وأهميته المقابلة فقط في عام 1986.
أول جهاز كمبيوتر تقريبًا
أصبحت Intel 8080 أساسًا لتطوير نظام التشغيل CP / M الاحترافي الشامل الذي كان أول مرة يهيمن على الحواسيب الصغيرة للعمل الاحترافي حتى منتصف الثمانينيات.
الآن عن أوجه القصور. 8080 مطلوب ثلاث فولتات 5 و 5 و 12 فولت. العمل مع المقاطعات أمر صعب وبطيء. وبشكل عام ، فإن 8080 غير مضطربة إلى حد ما ، إذا قارناها بالمنافسين الذين ظهروا قريبًا. يمكن أن يكون 6502 أسرع حتى 3 مرات عند العمل على نفس تردد 8080.
ولكن في هندسة 8080 ، تبين أنها رؤية صحيحة للمستقبل ، وهي الحقيقة غير المعروفة في السبعينيات بأن المعالجات ستكون أسرع من الذاكرة. تعد سجلات 8080 DE و BC أشبه بنموذج أولي لذاكرة التخزين المؤقت الحديثة التي تعمل يدويًا من السجلات العامة. بدأ 8080 بتردد 2 ميجاهرتز ، والمنافسين بـ 1 فقط ، مما خفف من اختلاف الأداء.
من الصعب استدعاء 8080 بمعالج 8 بت بنسبة 100٪. بالطبع ، لديه ALU 8 بت ، ولكن هناك العديد من الإرشادات ذات 16 بت التي تكون أسرع من استخدام نظائر 8 بت فقط بدلاً من ذلك. وبالنسبة لبعض الفرق ، لا توجد نظائر 8 بت على الإطلاق. فريق XCHG في الجوهر والتوقيت هو 100٪ 16 بت. هناك سجلات 16 بت حقيقية. لذلك ، أجرؤ على استدعاء 8080 جزئياً 16 بت. سيكون من المثير للاهتمام حساب مؤشر سعة المعالج من مجموع العلامات ، ولكن على حد علم المؤلف ، لم يقم أحد بمثل هذه المهمة حتى الآن.
لا يعرف المؤلف سبب رفض Intel الدعم المباشر لتطوير أجهزة كمبيوتر 8 بت مع معالجاتها. لطالما تميزت إنتل بتعقيد وغموض السياسة. يتضح ارتباطها بالسياسة ، على وجه الخصوص ، من حقيقة أنه لفترة طويلة كانت Intel تدير مصانع في إسرائيل وحتى نهاية التسعينيات كانت سرية. عمليا لم تحاول إنتل تحسين 8080 ، حيث تم رفع تردد الساعة إلى 3 فقط مع MHz صغير. في الواقع ، تم نقل سوق 8 بت إلى Zilog بمعالج 8080 z80 ذي الصلة ، والذي كان قادرًا على مواجهة المنافس الرئيسي ، "المنهي" 6502 بنجاح.
في الاتحاد السوفييتي وروسيا ، أصبح الاستنساخ المحلي 8080 أساسًا للعديد من أجهزة الكمبيوتر الجماعية التي ظلت شائعة حتى أوائل التسعينات. هذا بالطبع هو Radio-86RK و Mikrosh و Multi-color Orion-128 و Vector و Corvette. ومع ذلك ، هزمت استنساخ zX Spectrum z80 الرخيصة والمحسنة Clone Wars.
هذا جهاز كمبيوتر حقيقي.في أوائل عام 1976 ، قدمت شركة Intel المعالج 8085 ، المتوافق مع 8080 ، ولكنه متفوق بكثير عن سابقه. لقد جعلت بالفعل إمدادات الطاقة من 5 و 12 فولت غير ضرورية وتم تبسيط مخطط الاتصال ، وتم تحسين العمل مع المقاطعات ، وتم استخدام تردد الساعة من 3 إلى MHz 6 صلبة للغاية ، وتم توسيع نظام الأوامر بالعديد من الإرشادات المفيدة: الطرح 16 بت ، التحول 16 بت إلى اليمين في 7 دورات فقط (هذا سريع جدًا) ، دوران 16 بت إلى اليسار من خلال علامة النقل ، تحميل تسجيل 16 بت بإزاحة 8 بت (يمكن أيضًا استخدام هذا الأمر مع مؤشر مكدس SP) ، اكتب سجل HL إلى العنوان في سجل DE على غرار ح تدفق HL من خلال DE. يتم تنفيذ جميع التعليمات المذكورة أعلاه ، باستثناء الانتقال إلى اليمين ، في 10 دورات - وهذا في بعض الأحيان أسرع بشكل ملحوظ من نظرائهم أو مضاهاة على z80. تمت إضافة بعض التعليمات الإضافية ، وحتى علامتي علم جديدتين. من بين الأعلام الجديدة ، تجدر الإشارة إلى العلم الفائض ، على الرغم من أن العمل معها لم يكن عمليًا مدعومًا. بالإضافة إلى ذلك ، تم تسريع العديد من التعليمات للعمل مع بيانات البايت. كان هذا مهمًا جدًا ، نظرًا لأنه في العديد من الأنظمة ذات 8080 أو z80 ، تم إدخال علامات التأخير ، والتي ، نظرًا لوجود علامات إضافية على 8080 ، يمكن أن تمدد وقت التنفيذ مرتين تقريبًا. على سبيل المثال ، في جهاز كمبيوتر محلي ، تم تنفيذ تعليمات المتجه من نوع التسجيل - التسجيل لمدة 8 دورات ساعة ، وإذا كان هناك 8085 أو z80 ، فسيتم تنفيذ هذه التعليمات نفسها في 4 دورات ساعة فقط. تعليمات XTHL أسرع بخطوتين. باستخدام التعليمات الجديدة ، يمكنك كتابة رمز لنسخ كتلة الذاكرة ، وهو أسرع من أوامر LDI / LDD لمعالج Z80! ومع ذلك ، أصبحت بعض الإرشادات ، على سبيل المثال ، زيادة وإنقاص 16 بت و PUSH والإرجاع الشرطي أبطأ في الساعة.
يحتوي 8085 على دعم مدمج للعمل مع المقاطعات ، والذي يسمح لك في كثير من الحالات بالاستغناء عن وحدة تحكم منفصلة للمقاطعة في النظام ، ومنفذ إدخال / إخراج تسلسلي. كما لوحظ من قبل ، في 8085 لم يضيفوا دعمًا كاملاً لعلامة تجاوز السعة ، لذلك بقيت عملية حسابية للأرقام مع علامة غير مكتملة إلى حد ما.
ومع ذلك ، يمكنني مرة أخرى تكرار الصيغة "لأسباب غير معروفة للمؤلف" رفضت Intel الترويج لـ 8085 كمعالج رئيسي. ظهرت فقط في الثمانينيات عدة أنظمة ناجحة تعتمد على 8085. كان الأول في عام 1981 هو سلف وتقارب منافس IBM PC - IBM System / 23 Datamaster. ثم في عام 1982 تم إصدار جهاز كمبيوتر سريع للغاية مع رسومات ممتازة Zenith Z-100 ، حيث عمل 8085 بتردد 5 ميجاهرتز. في عام 1983 ، أنشأت الشركة اليابانية Kyotronic وسادة ركبة KC-85 ناجحة للغاية ، والتي تم إنتاج متغيرات منها أيضًا من قبل شركات أخرى: أنتجت Tandy نموذج TRS-80 100 ، NEC - PC-8201a ، Olivetti - M-10. في المجموع ، تم إصدار أكثر من 10 مليون نسخة من هذه الحواسيب! في اتحاد الجمهوريات الاشتراكية السوفياتية / RF في أوائل التسعينات ، استنادًا إلى الاستنساخ المحلي IM1821VM85A ، كانت هناك محاولات لتحسين بعض الأنظمة ، على سبيل المثال ، كمبيوتر Vector. والمثير للدهشة أن المعالج الرئيسي لروفر سوجورنر ، الذي وصل إلى سطح المريخ في عام 1997 ، كان 8085 بتردد 2 ميجاهرتز!
في الواقع ، أعطت Intel Z80 لونًا أخضر. بعد بضع سنوات ، في المعركة من أجل سوق 16 بت ، تصرفت Intel بشكل مختلف تمامًا ، وبدأت دعوى قضائية لحظر مبيعات معالجات v20 و v30 في الولايات المتحدة. من المثير للاهتمام ، أن المعالجات المذكورة لشركة NEC اليابانية يمكن أن تتحول إلى وضع التوافق الثنائي الكامل مع 8080 ، مما يجعلها أسرع المعالجات في بنية 8080.
سر آخر لشركة Intel هو رفض نشر نظام أوامر موسع ، بما في ذلك دعم الأعلام الجديدة. ومع ذلك ، فقد نشر أحد الشركات المصنعة الرسمية لهذه المعالجات نظام الفرق بأكمله. ما هي أسباب هذا الرفض الغريب؟ يمكن للمرء أن يخمن فقط. ربما لعب Zilog بعد ذلك دورًا مشابهًا لما كان من المحتمل أن تلعبه AMD ، وخلق مظهر المنافسة ، ويمكن أن يؤدي 8085 إلى إسقاط Zilog؟ ربما تكون النقطة في الرغبة في إبقاء نظام القيادة أقرب إلى 8086 المصمم آنذاك؟ يبدو أن هذا الأخير مشكوك فيه. تم إصدار Intel 8086 بعد أكثر من عامين من إصدار 8085 ومن الصعب تصديق أنه في عام 1975 كان نظام القيادة الخاص بها معروفًا بالفعل. وعلى أي حال ، فإن التوافق مع كل من 8080 و 8085 إلى 8086 لا يمكن تحقيقه إلا باستخدام معالج ماكرو ، وأحيانًا استبدال أمر 8080/8085 بأخرى خاصة به. علاوة على ذلك ، فإن التعليمات الجديدة المنشورة 8085 في 8086 ليست مجدية على الإطلاق. من الصعب بشكل خاص شرح لماذا لم تنشر Intel معلومات عن فرق جديدة بعد إصدار 8086. يمكننا فقط أن نفترض أنها كانت على الأرجح مسألة تسويق. تفاقم مواصفات 8085 بشكل مصطنع ، حصلنا على 8086 أكثر إثارة على هذه الخلفية.
موتورولا 6800 وأقاربهم
لطالما تميزت معالجات Motorola بوجود العديد من "النقاط البارزة" الجذابة للغاية ، وفي الوقت نفسه وجود بعض الحلول المعمارية التي تكون سخيفة في التجريد وانخفاض العملية. "تسليط الضوء" الرئيسي لجميع المعالجات المعنية هو ثاني بطارية تسجيل كاملة وسريعة جدا.
كان 6800 هو أول معالج في العالم يحتاج إلى مصدر طاقة واحد فقط (5 فولت) - كان ابتكارًا مفيدًا للغاية. نظرًا لتفرد سجل الفهرس 16 بت ، الذي يعد مرهقًا لبنية 8 بت ، تبين أن Ho 6800 غير مريح للبرمجة والاستخدام بواسطة المنتج. تم إصداره في عام 1974 ، في موعد لا يتجاوز 8080 ، ولكنه لم يصبح أساسًا لأي نظام كمبيوتر معروف. ومن المثير للاهتمام أن مطوري 6502 ، تشاك بيدل وبيل مينش ، وصفوا خطأ 6800 بأنه "كبير جدًا". ومع ذلك ، تم استخدامه هو ومتغيراته على نطاق واسع كمتحكم دقيق. ربما تجدر الإشارة إلى أن شركة Intel قامت بتصنيع المعالجات منذ عام 1971 ، والتي وضعت Motorola في موضع الالتقاط ، حيث كان 6800 هو أول معالج. وإذا قارنت 6800 ليس مع 8080 ، ولكن مع سلفه 8008 ، فإن 6800 سيكون أفضل بكثير. كادت موتورولا تتواصل مع Intel باستخدام 68000/20/30/40. قد تلاحظ أيضًا أنه في السبعينيات ، كانت شركة Motorola شركة أكبر بكثير من شركة Intel.
تم إنتاج العديد من المتغيرات 6800: 6801 ، 6802 ، 6803 ، 6805 ، ... معظمهم متحكمون مع ذاكرة مدمجة ومنافذ الإدخال / الإخراج. 6803 هو عبارة عن 6801 مبسطة وتم استخدامه في وقت متأخر جدًا (1983) لجهاز الكمبيوتر الخاص به Tandy TRS-80 MC-10 ونسخته الفرنسية Matra Alice ، والتي كانت قابلة للمقارنة مع Commodore VIC-20 (1980) أو Sinclair ZX81 (1981). تم تحسين نظام التعليمات 6801/6803 بشكل ملحوظ ، تمت إضافة تعليمات 16 بت ، الضرب ... ظهرت تعليمات غير عادية للفرع غير المشروط (BRN - الفرع مطلقًا) ، والتي لم يتم تنفيذها أبدًا! أصبحت بعض التعليمات أسرع قليلاً.
680x يدعم العمل بشكل كامل مع الأعداد الصحيحة الموقعة ، z80 و 6502 يدعمونه بشكل أسوأ ، في حين أن 8080 و 8085 ليس لديهم مثل هذا الدعم تقريبًا. ومع ذلك ، في برنامج 8 بت ، نادرًا ما كانت هناك حاجة إلى هذا الدعم.
تم إصدار 6809 في عام 1978 ، عندما بدأ عصر 16 بت بالفعل مع 8086 ، ولديه نظام أوامر متطور للغاية ، بما في ذلك ضرب بطاريتين بايت للحصول على نتيجة 16 بت في 11 دورة (للمقارنة ، 8086 يتطلب 70 دورة لمثل هذه العملية) . يمكن تجميع بطاريتين في عدة حالات في 16 بت واحدة ، مما يعطي تعليمات سريعة 16 بت. يحتوي 6809 على اثنين من سجلات الفهرس وعدد قياسي من طرق العنونة بين معالجات 8 بت - 12. من بين طرق العنونة ، هناك فريد لرقائق 8 بت ، مثل الفهرس مع الزيادة التلقائية أو النقص ، بالنسبة لعداد التعليمات ، الفهرس مع الإزاحة. يتمتع 6809 بفرصة مثيرة للاهتمام لاستخدام نوعين من المقاطعات: يمكنك استخدام المقاطعات السريعة مع الحفظ التلقائي الجزئي للتسجيل والمقاطعات مع الحفظ الكامل للتسجيل - يحتوي 6809 على ثلاثة مدخلات لإشارات المقاطعة FIRQ (إخفاء سريع) ، IRQ (قابل للإخفاء) ، NMI (عدم الإخفاء). كما أنه من المناسب أحيانًا استخدام تعليمات سريعة لقراءة جميع الأعلام ووضعها في آن واحد.
ومع ذلك ، تتطلب عمليات الذاكرة أكثر من 6502 دورة ساعة.بقيت سجلات الفهرس ديناصورات 16 بت أخرق في عالم 8 بت ، بعض العمليات صادمة ببساطة بسبب بطئها ، على سبيل المثال ، نقل بطارية بايت إلى أخرى يستغرق 6 دورات ، وتبادل محتوياتها هي 8 دورات (مقارنة مع 8080 ، حيث يتم تبادل 16 بت في 4 دورات)! لسبب ما ، يتم عرض مؤشرين من المكدس على الفور ، ربما كان تأثير بنية حالة الجمود VAX-11 - في بنية 8 بت مع ذاكرة 64 كيلوبايت تبدو محرجة للغاية. وحتى وجود تعليمات تحمل الاسم المثير SEX لا يمكن أن تحل جميع مشاكل 6809. بشكل عام ، لا يزال 6809 أسرع إلى حد ما من 6502 على نفس التردد ، ولكنه يتطلب نفس سرعة الذاكرة. تمكنت من إجراء القسمة لـ 6809 بمقسوم 32 بت ومقسم 16 بت (32/16 = 32.16) لأكثر من 520 دورة بقليل ، بالنسبة لـ 6502 لم أستطع تحقيق أقل من 650 دورة. تعتبر البطارية الثانية ميزة كبيرة ، ولكن الميزات الأخرى لـ 6502 ، على وجه الخصوص ، النقل المقلوب ، تقلل هذه الميزة فقط إلى 25 ٪ المشار إليها. ولكن اتضح أن الضرب بواسطة ثابت 16 بت يكون أبطأ من جدول واحد لـ 6502 مع جدول لـ 768 بايت. يسمح لك 6809 بكتابة رموز مضغوطة وسريعة إلى حد ما باستخدام عنونة الصفحة المثبتة (الصفحة المباشرة) ، ولكن هذا العنوان يجعل الرموز مربكة إلى حد ما. جوهر هذا العنونة هو تعيين البايت العالي لعنوان البيانات في سجل خاص وتحديد فقط البايت المنخفض للعنوان في الأوامر. يتم استخدام نفس النظام ذي القيمة الثابتة العالية فقط في 6502 ، حيث يطلق عليه عنونة صفرية. إن معالجة الصفحة المثبّتة هي تناظرية مباشرة لاستخدام تسجيل مقطع DS في x86 ليس فقط للمقاطع التي تبلغ 64 كيلوبايت ، ولكن للمقاطع التي تبلغ 256 بايت فقط. هناك بنية أخرى بعيدة المنال تبلغ 6800 وهي استخدام ترتيب البايت من الأعلى إلى الأقل (Big Endian) ، مما يبطئ عمليات 16 بت من الجمع والطرح. 6809 غير متوافق تمامًا مع أكواد التعليمات 6800. كان 6809 آخر معالج 8 بت من Motorola ؛ في التطورات الأخرى ، تقرر استخدام 68008 بدلاً من ذلك.
يمكن الافتراض أن موتورولا أنفقت الكثير من المال للترويج لـ 6809. لا يزال هذا صحيحًا عند ذكر هذا المعالج. حوالي 6809 هناك العديد من المراجعات الإيجابية ، تختلف في بعض السدم والتعميمات والغموض. تم وضع 6809 كمعالج فائق قائم على معالج دقيق 8 بت. تم صنع أنظمة التشغيل Unix و OS-9 و UniFlex تقريبًا له. Apple Macintosh , , 68000. , 6809 – , 6502 ( ) z80 ( ). , , Motorola 6809 6502.
6809 . – Tandy Color Tandy Coco, Dragon-32/64. 80- Tandy Coco , . 6809 - 80- Thomson, - . 6809 : Commodore SuperPET 9000 TUBE- BBC Micro. , , . . , Vectrex, – .
3680x « » (Halt and Catch Fire – HCF), , , . , (reset). . 6800 , , , .. !
8080, 8085 z80 6809 8-. 6309 8-, Toshiba ( , , 1982) , 6809. , , 6809 . , 1988 Usenet. , , . . , 32- 16- (32/16=16,16) 34 , . 16- 32- 28 . 6 + 3n, n – , , . . . , - . 0. - , 6309 – 8- 64 .
6309 6809, Tandy . , e 6309.
MOS Technology 6502 WDC 65816
. . . :
- - Motorola, - Intel;
- MOS Technology;
- 6502 .
بدأ كل شيء بحقيقة أن موتورولا لأسباب غير معروفة تمامًا رفضت دعم مبادرة المهندسين الشباب الذين اقترحوا تحسين المعالج المتوسط بشكل عام 6800. كان عليهم مغادرة الشركة ومواصلة عملهم في شركة MOS Technology الصغيرة والواعدة ، حيث سرعان ما أعدوا معالجين تم تصنيع 6501 و 6502 باستخدام تقنية NMOS. كان الأول متوافقًا مع 6800 ، ولكن بخلاف ذلك كانت متطابقة. تمكن فريق 6501/6502 من إدخال تكنولوجيا تصنيع الرقائق الجديدة بنجاح ، والتي خفضت بشكل جذري تكلفة المعالجات الجديدة. في عام 1975 ، يمكن أن تقدم تقنية MOS 6502 دولارًا مقابل 25 دولارًا ، في حين أن سعر البداية لـ Intel 8080 و Motorola 6800 كان في 1974 بسعر 360 دولارًا. في عام 1975 ، خفضت موتورولا وإنتل الأسعار ، لكنها كانت لا تزال قريبة من 100 دولار. زعم خبراء تكنولوجيا MOS أن معالجهم أسرع بما يصل إلى 4 مرات من 6800. وهذا يبدو مشكوكًا فيه بالنسبة لي: يمكن 6502 العمل مع الذاكرة بشكل أسرع ، ولكن البطارية 6800 الثانية تسارعت العديد من العمليات الحسابية بشكل كبير. أستطيع أن أقدر أن 6502 كان في المتوسط أسرع مما لا يزيد عن مرتين. بدأت موتورولا دعوى قضائية ضد موظفيها السابقين - زعموا أنهم استخدموا العديد من الأسرار التكنولوجية للشركة. خلال هذه العملية ، كان من الممكن إثبات أن أحد المهندسين الذين غادروا موتورولا أصدر بعض المستندات السرية على 6800 ، وهو يتعارض مع إعدادات زملائهم. سواء كان ذلك من فعله أو تقف بعض القوات الموجهة خلفه لا يزال مجهولا. لهذا السبب وغيره من الأسباب غير الواضحة تمامًا ، أجبرت موتورولا شركة MOS Technology ، التي كانت قدراتها المالية صغيرة جدًا ، على دفع مبلغ كبير قدره 200000 دولار والتخلي عن إنتاج 6501. لم تعمل Intel في وضع مماثل مع Zilog على الإطلاق. على الرغم من أنه يجب الاعتراف بأن MOS Technology كانت في بعض الأحيان محفوفة بالمخاطر للغاية عندما حاولت استخدام الأموال الكبيرة التي أنفقتها Motorola للترويج لـ 6800 لأغراضها الخاصة.
علاوة على ذلك ، تظهر شركة Commodore الأسطورية ومؤسسها الأسطوري Jack Tramiel في القصة ، والتي كان في ظلالها شخصية الممول الرئيسي للشركة التي تحدد سياستها - رجل يدعى Irving Gould. تلقى جاك قرضًا من إيرفينغ وبهذا المال ، باستخدام عدة أموال ، لوضعه بشكل معتدل ، تكتيكات عديمة الضمير ، أجبر MOS Tecchnology على أن يصبح جزءًا من العميد البحري. بعد ذلك ، على عكس رغبات Tramel ، الذين اضطروا إلى الاستسلام لهود ، توقف تطوير 6502 عمليا وكان هذا على الرغم من أنه في عام 1976 كان من الممكن إنتاج نماذج 6502 بترددات تشغيل تصل إلى 10 ميجا هرتز ، على الرغم من أن رسالة حول هذا ظهرت فقط بعد سنوات عديدة من شخص اسمه بيل مينش (كان في الفريق الذي غادر موتورولا) ، الذي أدلى مرارًا وتكرارًا بصوت عالٍ لكن فارغ إلى حد كبير ولعب دورًا غامضًا إلى حد ما في مصير 6502. تمت إزالة 6502 المطور الرئيسي Chuck Peddle إلى الأبد من تطوير المعالجات. استمر إنتاج 6502 ليس فقط في كومودور ، ولكن أيضًا في الشركة التي أنشأها بيل مينش ، مركز التصميم الغربي (WDC). من الغريب أن أياً من فريق 6502 السابق لم يعمل معه في المستقبل.
الدراما حول 6502 لم تنته عند هذا الحد. في عام 1980 ، ظهرت مقالة قصيرة مجهولة الهوية في مجلة Rockwell's AIM65 Interactive توضح أن جميع 6502 تحمل خطأ خطيرًا يسمى JMP (xxFF). تشير لهجة المقالة إلى شيء خارج عن المألوف تمامًا. في وقت لاحق ، انتقل هذا الموقف إلى موقف شركة آبل بشأن هذه القضية وأصبح نوعًا من التيار الرئيسي. على الرغم من أنه لم يكن هناك "خلل". بالطبع ، قد تبدو إحدى الميزات ، المناسبة تمامًا وحتى المفيدة بين المعالجات الدقيقة ، بمثابة خطأ مزعج لمتخصص اعتاد على المعالجات المريحة للأنظمة الكبيرة في تلك السنوات. لكن في الواقع ، تم وصف هذا السلوك ، الذي يؤذي مشاعر شخص ما ، في الوثائق الرسمية لعام 1976 وفي كتب البرمجة التي ظهرت قبل ظهور المقالة المذكورة. تم القضاء على "الخطأ" بواسطة Bill Mensch ، الذي صنع 6502 (CMOS 6502) على الأرجح بحلول عام 1983 ، أي بعد إصدار 65816. في حين أن Intel و Motorola وآخرين صنعوا معالجات 16 بت من الأجيال الجديدة ، تم تحسين 6502 فقط مجهريًا وجعله غير متوافق جزئيًا بشكل مصطنع مع نفسه. بالإضافة إلى القضاء على "الخطأ" ، تم إجراء عدد من التغييرات ، والتي أدت ، على وجه الخصوص ، إلى تغيير أثناء تنفيذ العديد من التعليمات ، والتي أصبحت أبطأ في الإيقاع ، ولكن في نفس الوقت في بعض المعنى الأكاديمي بعيد المنال ، أصبحت أكثر صحة. ولكن يجب أن أعترف بأن العديد من التعليمات الجديدة كانت متوقعة ومفيدة. من ناحية أخرى ، احتلت الغالبية العظمى من التعليمات الجديدة مساحة الرمز فقط ، ولم تضف شيئًا تقريبًا إلى إمكانات 6502 ، مما ترك عددًا أقل من الرموز الجديدة لمزيد من الترقيات المحتملة. لم يقبل كومودور وريكو الياباني (الشركة المصنعة لوحدات تحكم ألعاب NES الأكثر شعبية) هذه التغييرات. لقد واجه مؤلف هذه المادة نفسه عدة مرات مشكلة هذا "الخطأ". لا يعرف عنه شيئًا ، كتب برامج للكومودور. ثم نقل أحدها إلى أنظمة حيث تم استخدام مجموعة من الأوامر 65 درجة مئوية. نشأ عدم توافق ، واضطررت إلى تغيير الرموز ، وإنشاء تجميع شرطي. تبين أن رمز 6502 أكثر ضخامة وبطيئة. ثم أثار هذه المسألة في المنتدى 6502.org ، حيث معظم المشاركين من عالم آبل. سألت إذا كان بإمكان شخص ما أن يعطي مثالاً عندما تعطل "الخطأ" المشار إليه في البرنامج. تلقيت فقط تعليقات عاطفية وعامة ، ولم يُقترح أي مثال ملموس.

خلل !!!
تم ترخيص 65C02 للعديد من الشركات ، ولا سيما NCR و GTE و Rockwell و Synertek و Sanyo. تم استخدامه في Apple II ، بدءًا من طرازات IIe ، على الرغم من استخدام العديد من IIe NMOS 6502. كما تم استخدام البديل 65C02 6512 أيضًا في نماذج BBC Micro اللاحقة. استخدم Atari NMOS 6502. بالإضافة إلى CMOS 6502 ، أنتج Synertek و Rockwell أيضًا NMOS 6502. وبالمناسبة ، فإن NMOS 6502 لديها مجموعة خاصة بها من التعليمات غير الموثقة ، والتي تختلف طبيعتها تمامًا عن الأوامر "السرية" 8085. في 6502 ، ظهرت هذه التعليمات كأثر جانبي للتكنولوجيا المستخدمة ، وبالتالي معظمها عديم الفائدة إلى حد ما ، ولكن العديد منها ، على سبيل المثال ، تحميل أو تفريغ تسجيلين بأمر واحد في وقت واحد ويمكن للبعض الآخر أن يجعل الشفرة أسرع وأكثر ضغطًا.
كانت هناك محاولات أخرى لترقية 6502. في نفس عام 1979 ، ظهرت مقالة مفادها أن أجهزة كمبيوتر Atari كانت تستعد لإنتاج المعالج 6509 (يجب عدم الخلط بينه وبين المعالج الذي يحمل نفس الاسم لشركة Commodore الذي ظهر لاحقًا) ، والذي كان من المتوقع أن يسرع تنفيذ الأوامر بنسبة 25٪ والعديد من الجديد التعليمات. ولكن لأسباب غير معروفة في الدقة ، لم يتم إنتاج هذا المعالج. قام كومودور بترقيات مجهرية فقط. هناك ، على وجه الخصوص ، تحولوا إلى تقنية HMOS وإنتاج النوى الثابتة ، مما جعل من الممكن إبطاء المعالجات. من وجهة نظر البرمجة ، الأكثر إثارة للاهتمام هو المعالج 6509 ، والذي ، وإن كان بشكل بدائي للغاية ، بمساعدة تعليماتين فقط مخصصة لهذا الغرض ، يسمح بمعالجة ما يصل إلى 1 ميغابايت من الذاكرة. في Commodore 64 و 128 الأكثر شهرة ، كان هناك 6510/8510 معالجات ، وفي سلسلة 264 الأقل نجاحًا - 7501/8501. هذه المعالجات تحتوي فقط على 6 و 7 منافذ إدخال / إخراج بت مضمنة ، على التوالي ، في حين أن 7501/8501 لا يدعم المقاطعات غير القابلة للقناع. أنتج Rockwell متغير 65C02 مع مجموعة تعليمات عمليات 32 بت الموسعة (على غرار تعليمات z80 bit) ، ومع ذلك ، على حد علمي ، لم يتم استخدام هذه المعالجات في أجهزة الكمبيوتر وكان من المرجح استخدام تعليمات البت هذه نفسها فقط في الأنظمة المضمنة. بالمناسبة ، أنتج بيل مينش هذا التمديد.
المشهد الأخير للدراما بمشاركة 6502 تمت الإشارة إليه في منع أجهزة الكمبيوتر على أساس 6502 بتردد 2 ميجاهرتز للسوق الأمريكية في النصف الأول من الثمانينيات. أثر ذلك على الأجنبي BBC Micro الأجنبي ، حيث قامت شركة إنتاجهم Acorn بعمل مجموعة كبيرة من أجهزة الكمبيوتر للولايات المتحدة ، ولكن ، كما اتضح ، دون جدوى. عمل نوع من القفل وكان لابد من إعادة تصميم أجهزة الكمبيوتر بشكل عاجل وفقًا للمعايير الأوروبية. لا تزال أجهزة الكمبيوتر شبه الأمريكية ، ولكن الكندية رسميًا Commodore CBM II (1982) ، على الرغم من بعض المشاكل (على وجه الخصوص ، وفقًا لمعايير المعدات الكهربائية) ، مسموحًا بها. ربما يرجع ذلك إلى حقيقة أنه لم يكن لديهم أوضاع رسومية وحتى نص ملون - حتى تصميم بورش الأنيق لا يمكنه تعويض ذلك. آخر قائمة الخاسرين كانت آبل الأمريكية 100٪ (1980) - من المعروف أن ستيف جوبز ، مثل إدارة آبل بشكل عام ، قام بالكثير لمنع هذا الكمبيوتر من الحدوث. طالب جوبز بمواصفات مستحيلة بشكل واضح ، والإدارة - مواعيد نهائية غير واقعية. هل سنكتشف دوافعهم؟ تمكنت Apple III Plus ، التي تم إصدارها في عام 1983 ، من إزالة عيوب Apple III ، لكن إدارة Apple أغلقت المشروع بهدوء في عام 1984 بسبب عدم الرغبة في التنافس مع كمبيوتر Macintosh. فقط في عام 1985 ، عندما بدأ عصر تقنية 8 بت في المغادرة ، ظهر Commodore 128 ، والذي يمكن أن يستخدم 6502 في أحد أوضاعه بسرعة 2 ميجاهرتز. ولكن هنا أيضًا ، اتضح أنها أكثر نكتة ، لأن هذا الوضع لم يكن مدعومًا عمليًا ولم تكن هناك أي برامج لذلك. فقط في النصف الثاني من الثمانينيات في الولايات المتحدة ، بدأ في إنتاج وحدات تحكم مسرعات لـ Apple II ، ومنذ عام 1988 طراز Apple IIc + مع معالج 4 MHz. لماذا حدث هذا؟ ربما لأن 6502 بتردد 2 أو 3 ميجاهرتز (وقد تم إنتاجها بالفعل في بداية الثمانينيات) في عدد من المهام وخاصة الألعاب يمكن أن تنافس بنجاح أنظمة تعتمد على Intel 8088 أو Motorola 68000. في عام 1991 ، أغلقت Commodore Corporation مشروع C65 مثير للاهتمام ، وإن كان متأخراً ، يعتمد على معالج 4510 بتردد 3.54 ميجاهرتز. 4510 - هذا هو أسرع 6502 ، تم إجراؤه فقط في عام 1988 ، وقد تم إجراؤه أخيرًا للتحسين المبكر للدورات ، مما أعطى زيادة بنسبة 25 ٪ في السرعة. وبالتالي ، فإن المعالج في C65 قريب من السرعة مع أنظمة 6502 بتردد 4.5 ميجاهرتز. والمثير للدهشة ، أن أسرع 6502 مع مجموعة موسعة من التعليمات (في بعض التفاصيل تبين أن هذا التمديد أكثر نجاحًا مما كان عليه في 65816) لم يتم استخدامه في أي مكان منذ ذلك الحين.
كان لدى C128 و Apple III Plus وحدة إدارة الذاكرة (MMU) ، والتي سمحت باستخدام عدة مكدسات وصفحات صفرية ، ومعالجة أكثر من 64 كيلوبايت من الذاكرة ، وما إلى ذلك. في C128 ، تم قطع وحدة MMU بشكل مصطنع للعمل مع 128 كيلوبايت فقط من الذاكرة. بالنسبة إلى BBC Micro ، تم إنتاج وحدات تحكم ذات 6502 بتردد 3 ميجاهرتز (1984) و 4 ميجاهرتز (1986).
مكافحة الإعلانات - العديد من سيارات Porsche PETs في شقة الشرير من لؤلؤة النيل (1985) - لم يصل عصر Apple فقط في هوليوود بعدالآن بضع كلمات حول نظام التعليمات 6502. الميزة الرئيسية لهذا المعالج هي أنه تم صنعه في أسرع وقت ممكن تقريبًا ، مع عدم وجود دورات ساعة إضافية تقريبًا ، والتي تكون عديدة بشكل خاص في معالجات 8080/8085 / z80 / 8088/68000. في الواقع ، كانت أيديولوجية معالجات العمارة RISC 6502 التي ظهرت في وقت لاحق وتحت التأثير المباشر. تسيطر نفس الإيديولوجية ، بدءًا من 80486 ، وبين معالجات Intel. بالإضافة إلى ذلك ، تفاعل 6502 في أسرع وقت ممكن مع الانقطاعات ، مما جعله مفيدًا جدًا في بعض الأنظمة المضمنة. يحتوي 6502 على بطارية واحدة وسجلا فهرس ، بالإضافة إلى ذلك ، يمكن استخدام أول 256 بايت من الذاكرة في أوامر خاصة إما كذاكرة أسرع أو كمجموعة من سجلات 16 بت (والتي تتطابق تقريبًا في وظائفها مع سجلات BC و DE في 8080 / z80) طرق عنونة قوية للغاية. يمكن استخدام بعض التعليمات الحسابية (التحولات ، الدوران ، الزيادة والنقصان) مع الذاكرة مباشرة ، بدون استخدام السجلات. لا توجد تعليمات 16 بت - إنه معالج 100٪ 8 بت. يتم دعم جميع الأعلام الرئيسية باستثناء بنية علم تكافؤ Intel المميزة. هناك عدد قليل من العلم غير المعتاد للوضع العاشر عديم الفائدة. تستخدم معالجات Intel و Motorola تعليمات تصحيحية خاصة للعمل بالأرقام العشرية ، ويمكن أن يتحول 6502 إلى الوضع العاشر ، مما يجعل ميزة السرعة مع 10 أرقام أكثر أهمية من الأرقام الثنائية. من المثير للإعجاب أنه بالنسبة إلى 6502 جدول الضرب لمعاملات 8 بت مع الحصول على نتيجة 16 بت في أقل من 30 دورة ساعة ، بحجم الجدول الإضافي في 2048 بايت. ببطء ، ينتج 6502 عمليات النسخ الجماعي للذاكرة - من 14 دورة ساعة لكل بايت.
يمكن أن يعمل 6502 بالتوازي مع جهاز آخر ، على سبيل المثال ، 6502 آخر. على حد علمي ، لم يتم إنتاج أنظمة المعالج المزدوج هذه أبدًا. بدلاً من المعالج الثاني ، عادةً ما يتم استخدام وحدة تحكم فيديو ، والتي تشارك الذاكرة مع 6502.
تم إصدار 65816 بواسطة WDC في عام 1983. ومن المثير للاهتمام أن بيل مينش تلقى مواصفات المعالج الجديد من Apple. بالطبع ، كانت هذه خطوة كبيرة إلى الأمام ، ولكن من الواضح أنها متأخرة ومعها عيوب معمارية كبيرة. لم يعتبر أي شخص 65816 منافسًا لمعالجات Intel أو Motorola الرئيسية - فقد كان بالفعل شخصًا ثانويًا خارجيًا ، تمت برمجته بالفعل لإحداث خسارة أخرى في الموقع. 65816 كان له ميزتان مهمتان - كانت رخيصة نسبيًا ومتوافقة تقريبًا مع 6502 التي لا تزال تحظى بشعبية كبيرة. في السنوات اللاحقة ، لم يحاول بيل مينش حتى تحسين عقله بطريقة أو بأخرى ، وتحسين الحلقات ، واستبدال عنوان الصفحة الصفرية بالصفحة الموسعة باستخدام تسجيل Z ( تم ذلك في 4510) ، لإضافة الضرب على الأقل ، ... قام WDC فقط بزيادة الحد الأقصى لترددات الساعة ، ليصل إلى منتصف 90s إلى 14 MHz (تم استخدام هذا المعالج في المسرع الشعبي لـ C64 SuperCPU بتردد 20 MHz). ومع ذلك ، حتى الآن (2019!) ، يقدم WDC 65816 لسبب ما على نفس التردد 14 ميجا هرتز. يمكن 65816 استخدام ما يصل إلى 16 ميغابايت من الذاكرة ، ولكن طرق العنونة المستخدمة لهذا تبدو بعيدة عن المثلى. على سبيل المثال ، يمكن أن تكون تسجيلات الفهرس 8 أو 16 بت فقط ، ويمكن وضع المكدس فقط في أول 64 كيلوبايت من الذاكرة ، وهناك فقط يمكنك استخدام العنونة القصيرة الملائمة للصفحة المثبتة (الصفحة المباشرة - تعميم الصفحة الصفرية) ، والعمل مع الذاكرة التي تزيد عن 64 كيلوبايت أخرق نسبيًا ، ... 65816 يحتوي على ALU 16 بت ، ولكن ناقل بيانات 8 بت ، لذلك في العمليات الحسابية هو أسرع بحوالي 50٪ فقط من 6502. ومع ذلك ، تم إصدار 65816 بمبلغ يفوق المليار. بالطبع ، هناك عدد من التعليمات 65816 يكمل بشكل واضح الفجوات في بنية 6502 ، على سبيل المثال ، تعليمات لذاكرة النسخ الجماعي لـ 7 دورات ساعة لكل بايت. يمكنك أيضًا إضافة أن 65816 يستخدم تقريبًا جميع رموز التعليمات (255 من 256). آخر رمز غير مستخدم هو للتعليمات المستقبلية الطويلة التي لم تظهر أبدًا.
كان من المفترض أن يستخدم Apple IIx ، في تطويره الذي لعب فيه Steve Wozniak دورًا نشطًا ، 65816 ، ولكن كان من الممكن فقط إعداد إنتاج هذا المعالج في عام 1984 وكانت الدفعة الأولى من 65816 معيبة ، مما تسبب في تأخيرات مفرطة ، ونتيجة لذلك ، تم إغلاق المشروع بأكمله.
هناك أيضًا خيار 65816 65802 ، والذي يستخدم ناقل عناوين 16 بت ومتوافق مع موصلات 6502. كانت هناك ترقيات لـ Apple II استنادًا إلى هذا المعالج ، ولكن يمكنك الحصول على تسريع بسيط مع هذه الترقية فقط على البرامج المكتوبة خصيصًا له.
تم استخدام 6502 في عدد كبير من أنظمة الكمبيوتر ، وأكثرها شيوعًا هي Commodore 8 بت ، Atari ، Apple ، NES. ومن المثير للاهتمام ، تم استخدام 6502 كوحدة تحكم لوحة المفاتيح في كمبيوتر Commodore Amiga ، واستخدم 6502 بتردد 10 ميجاهرتز في Apple Macintosh IIfx عالي الأداء. هنا لا يسع المرء إلا أن يذكر لوحات مفاتيح ألعاب Atari ، التي تم تصنيعها من عام 1977 إلى عام 1996 ، - تم بيعها ما يقرب من 35 مليون! تم استخدام 65816 في كمبيوتر Apple IIgs المشهور إلى حد ما ، في وحدة تحكم ألعاب Super NES ، وأيضًا في الكمبيوتر الإنجليزي النادر Acorn Communicator.
في عام 1984 ،
ظهر مقال عن نسخة سيئة من كمبيوتر أبل] [صنع في اتحاد الجمهوريات الاشتراكية السوفياتية] في مجلة بايت على خلفية صور مع لافتات حمراء ، لينين وجنود يسيرون. ذكرت هذه المقالة سعرًا غريبًا لهذا الكمبيوتر - 17000 دولار (هذا رقم سخيف ، كان السعر الحقيقي حوالي 4000 روبل) وأشارت بسخرية إلى أن الشركات المصنعة السوفيتية ستضطر إلى خفض السعر بشكل كبير إذا أرادوا بيع منتجهم في الغرب. تم استخدام العقيق بشكل رئيسي في التعليم المدرسي. كانت طرازات العقيق الأقدم متوافقة تقريبًا مع Apple بنسبة 100٪] [وكان لديها بعض الامتدادات المفيدة جدًا.
يمكنك فقط محاولة تخيل ما يمكن أن يحدث إذا تمكن 6502 من التطور بنفس وتيرة منافسيها. يبدو لي أن النقل التدريجي لذاكرة الصفحة صفر إلى السجلات والتوسع التدريجي لنظام التعليمات مع التحسين المتزامن للدورات سيسمح لـ 6502 "فاصل" بالبقاء في الصدارة من حيث السرعة حتى أوائل التسعينات. سيسمح إدخال الوضع 16 ثم 32 بت باستخدام كميات كبيرة من الذاكرة وأوامر أسرع. هل يمكن أن يكون لدى منافسيه شيء يعارضونه؟
أود أن أختتم ببعض الاعتبارات الفلسفية العامة. لماذا تم فرملة 6502 وتخلو من مستقبل أكثر إشراقا؟ ربما يرجع ذلك إلى حقيقة أنه يمكنه حقًا الضغط على الشركات الكبيرة وخلق واقع جديد تمامًا. ولكن هل تم تشكيل فريق 6502 لذلك؟ بدلا من ذلك ، أرادوا فقط جعل معالج أفضل.
بالفعل في وقت لاحق ، في بداية القرن الحادي والعشرين ، بمساعدة الدعاوى القضائية التي فرضتها أسباب بعيدة المنال ، هُزمت شركة Lexra ، التي أنتجت العديد من المعالجات المبتكرة لمدة 5 سنوات. تذكرنا هذه القصة الحزينة إلى حد ما بما حدث مع تقنية MOS.
Zilog z80
أصبح هذا المعالج ، إلى جانب 6502 ، المعالج الرئيسي لأول أجهزة الكمبيوتر الشخصية. لا توجد أحداث دراماتيكية في تاريخ ظهوره واستخدامه. لا يوجد سوى بعض الدسائس في فشل Zilog في صنع الجيل التالي من المعالجات. بدأ إنتاج Z80 في عام 1976 وما زالت متغيراته يتم إنتاجها. - z80.
. 6502, Z80, (Federico Faggin), , Intel. z80 Z8000 80- , . , , . , , z80, Zilog Z8.
Z80 – , 8080. . , 8080 , . , Zilog 8080, , z80. Intel x86 GNU, - . Z80 , Intel 8086. , z80 , , 8086, . z80, 6502, , .. , « », « », – , 8086, 6800 PDP-11 .
z80 21 , . EXX, 48 , BC, DE, HL , 4 ! 32- ARM 6 . , . :
- 16- c 16- 15 ;
- 8 ;
- , BC, DE, SP, IX,IY, HL;
- , - 8- ;
- , ;
- (JR);
- .
, . 16- IX IY, . , IX IY Z80 6800 Z80! , Z80 - , .
8080 z80 . 16- ADD , , -.
8080. z80 , ( 8080) . 2, .
Z80 , CMOS, . , 16- I IY. Z80 , , .
, z80 , 8080 16-. z80 - , , z80 4-! z80 8080 – .
z80 6502, . , . z80 , . z80 4 , 6502 6809 1.3 . , , 6502 2.4 2.6 , z80. . , , z80 – , , . , z80 6502 2.2 . , 4- . z80 . z80, PUSH, 6502, . z80 1.5 . , 32- 16- z80 1.7 . , . , , ZX Spectrum c z80 3.5 MHz 64 6502 1 . , z80 6502 , , - Amstrad CPC/PCW 3.2 , 4. 6502 . , , , z80 25-40% , 6502. , 2 z80 6 , 6502 2 .
Z80 . Tandy TRS-80, — ZX Spectrum, Amstrad CPC PCW. , Amstrad PCW 90- 90-. MSX. C128 z80, – , 1985 , 8- z80, 2 , 1.6 . , 8080 70-. CP/M .
90-, z80 , ZX Spectrumz80 – BBC Micro c TUBE- z80B 6 , 1984. , , « ». Apple ][ 1979. Z80H 8 . , Microsoft 1980 . Amstrad PCW16, 1994, CMOS Z80 16 .
MSX TurboR (1990) R800, z80. R800 16- 32- . 16- , 768 . , R800 — Z800, , , 7.16 M. , R800 28.64 !
Zilog Z80 . Z80 2.5 , Z80A 4 – , Z80 . Z80B 1980, , , BBC Micro (1989) Sam Coupé. Z80H 80- 8 – . , Zilog , , , Z80 9 , , , .
z80 Zilog , 16- Intel. 1978, 8086 Z8000, z80. Intel , , Motorola – 68000 Z8000, Z8000 , , Unix. , IBM Z8000 IBM PC, Zilog Exxon, IBM. - Z8000 Zilog 1980 Exxon. 32- . 1986 Z80000, Z8000,
. , , Zilog , , Zilog - , Exxon.
, Zilog , Z80, Intel, . , , AMD, Cyrix, VIA.
Z80 1985, Z800. , Zilog Z80000 Z800 . 1986, z80000 Z280, Z800, , , , – Intel 486DX2 486DX4 . Z280 , . , – Z280, , ,
. , Z280 Intel 80286, , 50% 80286 . , Z280 5 , .
Hitachi, 1985 -Z80, HD64180, Intel 80186, 512 , , Z80 . HD64180 . Zilog HD64180 Z64180. Zilog , , 1 1986 . Z180 , 33 . MSX2, . , Z280 Z180 , 80286 80186 . 1994 Z180 32- Z380, z80 Intel 80386 Motorola 68020 – Zilog 10 . 21 Z180 - eZ80 6502. , , , DVD-, ,…
Texas Instruments TMS9900
. 16- . 1976 . (Big Endian). Motorola 6800 68000 IBM/370. (Little Endian).
TMS9900 16- : , . 32 16 . - 6502. , TMS9900 . Z80, . , , (), , , . RISC- . , . . , . TMS9900 , 16.
16- –. . X . , 8 , – 14, (16*16=32) 52 (32/16=16,16) 124 70-.
TMS9900 -5, 5 12 – . 1979 IBM, IBM PC. TMS9900 ( 64 , , ) Intel 8088. Texas Instruments TMS9900 8- , TMS-9980, 33% .
TMS9900 TI99/4 TI99/4A, «» Commodore VIC-20 1983. , Texas Instruments 1983 $49 ( 1979 $1150!) . Commodore+4, 1986, $49 1989 . T99/4A 1984, , - . 16-. 256 (!) 16- . - 8- . 16- -0010. , TI99/4 TI99/4A 3 – -0010.
TI-99/4 TI99/4A TMS9918, MSX, . Yamaha , , TI-99/4 TI99/4A!
TI99/4 – , .
DEC PDP-11
70- 10- DEC. DEC , IBM , IBM . . PDP-11 . PDP-11 70- 90-. . , -60/81/85, -1/2/3, -0010/0011 (0010 – , ).
, DEC VAX-11, . 70- DEC PDP-11, , 16- . PDP-11 70-.
PDP-11 , , , LSI-11, F-11, J-11. 70- DEC T-11. , , , , . Atari. T-11 , z80. 18011, 18012, 18013,… DEC, DEC. .
PDP-11 , , , . PDP-11 Motorola 68000.
PDP-11 16-. 8 ( – R7) – 16 , ( ) 16- , 1- 3- 16- . ( , , XOR) – . – . 80- , Intel x86 -. PDP-11, . , , 90- . , , - . PDP-11 , ,
MOV @(R0)+,@-(R1)
يعني نفس عامل لغة C / C ++
**–r1 = **r1++;
، حيث يتم الإعلان عن r0 و r1 كـ
signed short **r0, **r1;
مثال آخر ، أمر
MOVB @11(R2),@-20(R3)
يتوافق مع
**(r3-20) = **(r2+11);
حيث يتم تعريف r2 و r3 كـ
char **r2, **r3;
في البنيات الشعبية الحالية ، لا يمكن لفريق واحد الاستغناء عن مثل هذا الفريق ؛ ربما تكون هناك حاجة إلى 10 فرق على الأقل. يمكنك أيضًا الحصول على العنوان المتعلق بالقيمة الحالية لعداد الأوامر. سأعطي مثالا آخر مع عنونة أبسط. الفريق
ADD #16,11(R4)
في بنية Intel x86 يمكن تعيينها
ADD [BX+11],16
في مجمعات DEC ، من المعتاد كتابة المعاملات من اليسار إلى اليمين ، على عكس Intel ، حيث يكتبون من اليمين إلى اليسار. هناك سبب للاعتقاد بأن مجمع GNU لـ x86 تم تصنيعه تحت تأثير مجمع PDP-11.
أوامر الضرب والقسمة رمزية فقط ولا تتوفر في جميع المعالجات. حساب الرقم العشري اختياري أيضًا - وهذا ما يسمى الحساب التجاري لمصطلحات DEC. كفضول من التعامد الكامل ، سأعطي مثالاً للأمر
MOV #11,#22
الذي بعد أن يتحول التنفيذ
MOV #11,#11
- هذا مثال على استخدام ثابت فوري كمعامل. فريق آخر غريب هو أمر MARK الفريد ، الذي يجب دفع رمزه إلى المكدس ولا يمكن استخدامه صراحة. إجراءات الاتصال في هندسة PDP-11 هي غريبة إلى حد ما. يحفظ الأمر المقابل أولاً السجل المخصص (قد يكون موجودًا) على المكدس ، ثم يحفظ عداد التعليمات في هذا السجل ثم يكتب القيمة الجديدة إلى عداد التعليمات فقط. يجب أن يقوم أمر الإرجاع من البرنامج الفرعي بعمل عكس ذلك ومعرفة السجل الذي تم استخدامه عند استدعاء البرنامج الفرعي. يمكن الحصول على تأثيرات غريبة للغاية وغير متوقعة باستخدام عداد الأوامر كسجل عادي.
من المثير للاهتمام أنه بين مبرمجي PDP-11 ، تطورت ثقافة العمل مباشرة مع رموز الآلة. يمكن للمبرمجين ، على سبيل المثال ، العمل دون تفكيك عند تصحيح الأخطاء. أو حتى كتابة برامج صغيرة مباشرة في الذاكرة دون تجميع!
بالطبع ، لا تختلف توقيتات الفريق في الخصائص عالية السرعة. كان من المفاجئ مرة أن نكتشف أن أمر النقل من سجل إلى تسجيل على الكمبيوتر المحلي لـ BK يستغرق ما يصل إلى 12 دورة (10 دورات عند استخدام الرمز من ROM) ، ويتم تنفيذ الأوامر التي تحتوي على معاملين مع عنونة مزدوجة غير مباشرة لأكثر من 100 دورة. يقوم Z80 بنقل تسجيل 16 بت لـ 8. ومع ذلك ، فإن بطء BC لا يتسبب فيه المعالج كثيرًا ، ولكن بسبب الجودة الرديئة للذاكرة المحلية ، والتي كان من الضروري تكييف ميزات BC فيها. إذا تم استخدام ذاكرة سريعة بما فيه الكفاية ، فإن BC أرسلت 16 بت تسجيل لمدة 8 دورات ساعة أيضًا. ذات مرة كان هناك الكثير من الجدل ، أي أسرع من BC أو Spectrum؟ يجب أن يقال على الفور أن الطيف هو واحد من أسرع أجهزة الكمبيوتر الشخصية ذات 8 بت عند استخدام 32 كيلوبايت من الذاكرة. لذلك ، ليس من المستغرب أن يكون الطيف أسرع من BC ، ولكن ليس كثيرًا. وإذا عملت BC مع الذاكرة بدون مكابح ، فربما تكون أسرع قليلاً.
تعد كثافة الشفرة أيضًا نقطة ضعف في بنية PDP-11. يجب أن تكون رموز التعليمات مضاعفة لطول الكلمة الآلية - 2 بايت ، وهو أمر غير سار بشكل خاص عند العمل مع وسيطات البايت أو أوامر بسيطة مثل إعداد أو إعادة تعيين العلم.
تعتبر محاولات إنشاء جهاز كمبيوتر شخصي بناءً على بنية PDP-11 مثيرة للاهتمام. كان جهاز Terak 8510 / a ، الذي كان يحتوي على رسومات بالأبيض والأسود والقدرة على تنزيل إصدار غير مكتمل من Unix ، أحد أجهزة الكمبيوتر الأولى في العالم التي ظهرت بعد ذلك بقليل فقط من Apple] [و Commodore PET ، وقبل ذلك بقليل من Tandy TRS-80 ، والذي كان يحتوي على رسومات بالأبيض والأسود والقدرة على تنزيل إصدار غير كامل من Unix. كان هذا الكمبيوتر الشخصي مكلفًا للغاية ، وعلى حد علمي ، تم استخدامه فقط في نظام التعليم العالي في الولايات المتحدة. منذ عام 1978 ، تم إنتاج الكمبيوتر في شكل مجموعة لتجميع Heathkit H11. حاولت DEC نفسها أيضًا صنع جهاز الكمبيوتر الخاص بها ، ولكن بشكل غير متسق. على سبيل المثال ، أصدرت DEC جهاز كمبيوتر يعتمد على z80 و 8088 ، من الواضح أنه يلعب بدلاً من ذلك ضد التطورات الرئيسية. كان لدى الموظفين الذين يعتمدون على بنية PDP-11 DEC PRO-325/350/380 بعض التعارضات الاصطناعية إلى حد ما مع البنية الأساسية ، مما جعل من الصعب استخدام جزء من البرنامج. كان أفضل تخصيص لتقنيات الكمبيوتر المصغر في اتحاد الجمهوريات الاشتراكية السوفياتية ، حيث تم تصنيع BC و DVK و CC NTs ... بالمناسبة ، Electronics-85 هي نسخة دقيقة جدًا من DEC PRO-350. بالإضافة إلى ذلك ، تم استخدام معالج CP1600 ، الذي يشبه بنية PDP-11 ، في وحدات تحكم ألعاب Intellivision ، والتي كانت شائعة في أوائل الثمانينيات.
كمبيوتر منزلي محلي 16 بت (1985) - متوافق تقريبًا مع PDP-11K1802BM2 ، الذي تم استخدامه في DVK ، هو أسرع مرتين من K1801BM1 ، K1801BM3 أسرع وأقرب إلى Intel 8086.
في طرازات PDP-11 القديمة وأجهزة الكمبيوتر المحلية القريبة منها ، يمكن للمعالج معالجة ما يصل إلى 4 ميغابايت من الذاكرة ، ولكن لا يمكن تخصيص أكثر من 64 كيلوبايت لبرنامج واحد. من حيث السرعة ، تقترب هذه المعالجات أيضًا من 8086 من حيث عدد العمليات لكل ميجاهيرتز ، على الرغم من أنها لا تزال أبطأ من ذلك.
وحدة المعالجة المركزية لـ DEC VAX-11
كانت أنظمة VAX-11 شائعة جدًا في الثمانينيات ، خاصة في التعليم العالي. من الصعب الآن فهم بعض المفاهيم الموضحة في كتب تلك السنوات دون معرفة بنية هذه الأنظمة. كانت VAX-11s أكثر تكلفة من PDP-11s ، لكنها كانت أكثر توجها نحو البرمجة العالمية ولا تزال أرخص بكثير من أنظمة IBM / 370. بالنسبة لهندسة VAX ، تم تصنيع معالج V-11 في منتصف الثمانينيات ، وحتى ذلك الوقت ، تم استخدام تجميعات المعالج.
بنية VAX-11 هي 32 بت ، وتستخدم 16 تسجيلًا ، من بينها ، مثل PDP-11 ، يوجد عداد أوامر. من المفترض استخدام مكدسين ، يستخدم أحدهما لتخزين إطارات الإطارات الفرعية. بالإضافة إلى ذلك ، يتم تعيين أحد السجلات للعمل مع حجج الدالات المسماة. وبالتالي ، يتم تخصيص 3 من 16 سجل للمكدسات. لا يمكن لنظام أوامر VAX-11 أن يفاجأ بذهوله ووجود أوامر نادرة جدًا وفريدة من نوعها غالبًا ، على سبيل المثال ، للعمل مع حقول البت أو عدة أنواع من قوائم الانتظار ، لحساب CRC ، وضرب 10 أسطر ... العديد من الأوامر في إصدارات من ثلاثة عناوين (كلاهما ARM) ، وفي عنوانين (مثل x86) ، ولكن هناك أوامر من أربعة عناوين ، على سبيل المثال ، القسم الموسع من EDIV. بالطبع هناك دعم للعمل مع الأرقام الحقيقية.
لكن VAX-11 هو نظام بطيء للغاية لفئته وسعره. حتى 6502 فائقة السرعة بتردد 4 ميجاهرتز يمكنها تجاوز أبطأ عائلة VAX-11/730 ، وأسرع أنظمة VAX-11 - خزائن ضخمة و "مجموعات أثاث كاملة" ، في مستوى أداء أول أجهزة الكمبيوتر الشخصية. عندما ظهر 80286 ، أصبح من الواضح أن أيام VAX-11 كانت معدودة وحتى الكبح مع إدخال أنظمة تعتمد على 80286 لم يعد بإمكانه تغيير أي شيء بشكل أساسي. قال البريطانيون الأكثر وضوحًا من Acorn ، بعد أن صنعوا ARM في عام 1985 دون إخفاء أي شيء ، إن ARM أرخص بكثير وأسرع بشكل ملحوظ. ومع ذلك ، ظل VAX-11 ذا صلة حتى أوائل التسعينيات ، ولا يزال يتمتع ببعض المزايا على جهاز الكمبيوتر ، على وجه الخصوص ، الأنظمة الأسرع للعمل مع الأقراص.
من المحتمل أن يكون VAX-11 هو النظام الشامل الأخير الذي اعتبرت فيه راحة العمل في المجمع أكثر أهمية من السرعة. بمعنى ما ، تحول هذا النهج إلى لغات البرمجة النصية الحديثة والشائعة.
تُظهر الصورة VAX-11/785 - وهذا أيضًا جهاز كمبيوتر (1984) - وهو الأسرع بين VAX-11s ، من حيث سرعة المعالج ، وهو مماثل لـ IBM PC AT أو ARM Evaluation Systemوالمثير للدهشة أن هناك القليل جدًا من المؤلفات المتاحة على أنظمة VAX-11. كما لو كان هناك نوع من قانون غريب عن النسيان ساري المفعول. ترتبط العديد من الحلقات القريبة من السياسة والمرتبطة بتاريخ اتحاد الجمهوريات الاشتراكية السوفياتية بتاريخ هذه العمارة. من الممكن أن يكون الرفض الفعلي لتطوير بنية PDP-11 ناتجًا عن رخصها ونجاح استنساخها في الاتحاد السوفيتي. واستنساخ VAX-11 يكلف أمرًا بحجم الموارد الكبيرة ويؤدي إلى طريق مسدود. تم إنشاء الاهتمام في VAX-11 باستخدام ، على سبيل المثال ، باستخدام سحوبات مثل الكرملين Vax الشهير في 1 أبريل 1984 ، حيث عرض زعيم الاتحاد السوفييتي آنذاك كونستانتين تشيرننكو شرب الفودكا بمناسبة الاتصال بشبكة Usenet. نكتة أخرى كانت أن بعض رقائق VAX-11 تم طبعها برسالة باللغة الروسية المكسورة حول مدى جودة VAX-11. :)
تم استنساخ بعض طرازات VAX-11 في اتحاد الجمهوريات الاشتراكية السوفياتية بحلول نهاية الثمانينيات ، ولكن تم إنتاج عدد قليل جدًا من هذه المستنسخات ولم يجدوا أي استخدام تقريبًا.
تتوفر العديد من أنظمة VAX-11 للاستخدام عبر الشبكة. وهذا يقارنها بشكل إيجابي مع أنظمة IBM / 370 التي تنافسوا معها.
إنتل: 8086 إلى 80486
بالطبع ، أحد أفضل المعالجات التي تم تصنيعها في السبعينيات هو 8086 ، بالإضافة إلى 8088 التناظرية الأرخص تقريبًا. تتميز هندسة هذه المعالجات بسرور بسبب عدم الاقتراض الميكانيكي والالتزام بالنظريات المجردة ، والهندسة المدروسة جيدًا والمتوازنة ، والمتوازنة والتركيز على مزيد من التطوير. من بين أوجه القصور في بنية x86 ، يمكن أن يطلق عليه بعض الإرهاق والميل إلى النمو المكثف في عدد التعليمات.
كان أحد حلول التصميم العبقري لـ 8086 هو اختراع سجلات القطع. وقد حقق هذا ، في الوقت نفسه ، هدفين في وقت واحد: قابلية "مجانية" للبرامج التي يصل حجمها إلى 64 كيلوبايت (كان هذا قدرًا كبيرًا جدًا من ذاكرة الكمبيوتر لبرنامج واحد حتى منتصف الثمانينيات) ، وإمكانية معالجة ما يصل إلى 1 ميغابايت من مساحة العنوان. يمكنك أيضًا ملاحظة أن 8086 ، مثل 8080 أو z80 ، لديها أيضًا مساحة عنوان خاصة لمنافذ الإدخال / الإخراج 64 كيلوبايت (y 8080 و 8085 ، هذا الحجم 256 بايت). لا يوجد سوى أربعة سجلات قطع: للشفرة ، للصف ، واثنين للبيانات. وبالتالي ، تتوفر ذاكرة 64 * 4 = 256 كيلوبايت من الذاكرة للاستخدام السريع ، ولكن كان ذلك كثيرًا حتى في منتصف الثمانينيات. في الواقع ، لا توجد مشكلة في حجم الرمز ، حيث يمكنك استخدام ما يسمى المكالمات الطويلة للبرامج الفرعية مع تحميل وحفظ العنوان الكامل من تسجيلين. لا يوجد سوى حد 64 كيلوبايت على حجم البرنامج الفرعي الواحد - وهذا يكفي للعديد من التطبيقات الحديثة. إن استحالة معالجة صفائف البيانات بسرعة أكبر من 64 كيلو بايت تخلق مشكلة معينة - عند استخدام مثل هذه المصفوفات ، تحتاج إلى تحميل سجل المقطع والعنوان نفسه في كل مرة يتم الوصول إليه ، مما يقلل من سرعة العمل مع هذه المصفوفات الكبيرة عدة مرات.
يتم تنفيذ تسجيلات القطع بطريقة تجعل وجودها غير محسوس تقريبًا في رموز الماكينة ، مما جعل من السهل رفضها عندما يحين الوقت.
احتفظت بنية 8086 بقربها من بنية 8080 ، مما سمح بجهد قليل نسبيًا لنقل البرامج من 8080 (أو حتى z80) إلى 8086 ، وخاصة إذا كانت شفرة المصدر للبرامج متاحة.
لا تختلف الفرق 8086 في سرعة التنفيذ العالية ، ولكنها قابلة للمقارنة تمامًا مع المنافسين ، على سبيل المثال ، Motorola 68000 ، التي ظهرت بعد ذلك بعام. كان أحد المنتجات الجديدة ، الذي يسرع قليلاً 8086 الغير مضطربة بشكل عام ، هو دور الفرق.
يستخدم 8086 ثمانية تسجيلات 16 بت ، بعضها يمكن استخدامه كسجلين بايت ، والبعض الآخر كسجلات فهرس. وبالتالي ، فإن سجلات 8086 غير متجانسة إلى حد ما ، ولكنها متوازنة بشكل جيد والسجلات مريحة جدًا للاستخدام. بالمناسبة ، فإن عدم التجانس هذا يسمح لك بالحصول على رموز أكثر كثافة. يستخدم 8086 نفس العلامات مثل 8080 ، بالإضافة إلى بعض العلامات الجديدة. على سبيل المثال ، ظهرت علامة نموذجية لهندسة PDP-11 - التنفيذ خطوة بخطوة.
يسمح لك 8086 باستخدام أوضاع عنونة مثيرة للاهتمام للغاية ، على سبيل المثال ، يمكن أن يتكون العنوان من مجموع تسجيلين ومزيج ثابت من 16 بت ، يتم فرض قيمة أحد سجلات المقطع عليه. يمكن ترك فترتين أو حتى فصل واحد فقط من مجموع العنوان. لن يعمل هذا على PDP-11 مع أمر واحد. معظم تعليمات 8086 لا تسمح لكلا المعاملين من نوع الذاكرة ؛ يجب أن يكون أحد المعاملين تسجيلًا. ولكن هناك أوامر سلسلة تعرف فقط كيفية التعامل مع الذاكرة باستخدام عنوانين. تتيح لك أوامر السلسلة إجراء نسخ كتلة سريع (17 مقياسًا لكل بايت أو كلمة) ، والبحث ، والتعبئة ، والتحميل والمقارنة. بالإضافة إلى ذلك ، يمكن استخدام أوامر السلسلة عند العمل مع منافذ الإدخال / الإخراج. إن فكرة 8086 لاستخدام بادئات الأوامر مثيرة للاهتمام للغاية ، مما يسمح في كثير من الأحيان باستخدام وظائف إضافية مفيدة جدًا دون تعقيد كبير في أنظمة ترميز الأوامر.
8086 لديه واحد من أفضل تنظيم أنظمة الكمبيوتر للعمل مع المكدس. باستخدام سجلين فقط (BP و SP) ، يتيح لك 8086 حل جميع المشاكل عند تنظيم المكالمات إلى إجراءات مع المعلمات.
بين الفرق هناك الضرب والقسمة الرمزية وغير الموقعة. حتى أن هناك أوامر ضبط عشرية فريدة لأوامر الضرب والقسمة. من الصعب أن نقول أن هناك شيئًا مفقودًا في نظام الأوامر 8086. بل العكس. قد يتطلب تقسيم أرباح 32 بت إلى فاصل 16 بت للحصول على 32 بت خاصة وبقية 16 بت ما يصل إلى 300 دورة ساعة - ليس سريعًا بشكل خاص ، ولكن أسرع عدة مرات من هذا التقسيم على أي معالجات 8 بت (باستثناء 6309) وقابلة للمقارنة في السرعة إلى 68000. يحتوي القسمة على x86 على ميزة واحدة غير متوقعة - فهي تغير أعلام العلامات بشكل غير متوقع ...
تجدر الإشارة إلى أنه في بنية x86 ، بقي فريق XCHG الموروث من 8080 ، والذي تم تحسينه. بالإضافة إلى ذلك ، بدأت المعالجات اللاحقة في استخدام التعليمات XADD و CMPXCHG و CMPXCHG8B ، والتي يمكنها أيضًا إجراء التبادل الذري للحجج. هذه التعليمات هي واحدة من ميزات x86 ، ومن الصعب العثور عليها على معالجات الهياكل الأخرى.
يمكننا تلخيص أن 8086 هو معالج ناجح للغاية ، يجمع بين راحة البرمجة والتعلق بقيود الذاكرة التي تتميز بها وقتهم. نادرًا ما تم استخدام 8086 نسبيًا ، مما أفسح المجال لـ 8088 الأرخص مكانًا ليكون أول معالج لبنية الكمبيوتر الرئيسية في عصرنا ، وهي بنية IBM PC. استخدم 8088 ناقل بيانات 8 بت ، مما جعله أبطأ إلى حد ما ، لكنه جعل من الممكن بناء أنظمة أكثر سهولة للعملاء على أساسها.
ومن المثير للاهتمام أن Intel رفضت بشكل أساسي إدخال تحسينات على معالجاتها ، مفضلة بدلاً من ذلك تطوير أجيالها القادمة. قررت شركة NEC اليابانية ، وهي واحدة من أكبر الشركات الفرعية من الباطن من شركة إنتل (NEC) ، والتي كانت في أوائل الثمانينيات أكبر بكثير من Intel ، تحسين 8088 و 8086 ، وإطلاق معالجات V20 و V30 ، متوافقة معها على المقبس وأسرع بنسبة تصل إلى 30٪. عرضت شركة NEC على شركة Intel لتصبح مقاولها من الباطن! وبدلاً من ذلك ، أطلقت Intel دعوى قضائية ضد NEC ، والتي ، مع ذلك ، لم تستطع الفوز. لسبب ما ، تم تجاهل هذه المواجهة الكبيرة بين Intel و NEC بالكامل من قبل ويكيبيديا.
ظهر 80186 و 80286 في عام 1982. وبالتالي ، يمكن الافتراض أن لدى Intel فريقان تطوير مستقلان تقريبًا. 80186 هو عبارة عن 8086 تم تحسينه من خلال العديد من الأوامر والتوقيتات المختصرة ، بالإضافة إلى العديد من الدوائر المتكاملة النموذجية لبنية x86: مولد الساعة ، المؤقتات ، DMA / DAP ، وحدة التحكم في المقاطعة ، مولد التأخير ، إلخ. يبدو أن هذا المعالج يبسط الإنتاج بشكل كبير أجهزة الكمبيوتر المستندة إلى ذلك ، ولكن نظرًا لأن وحدة تحكم المقاطعة المضمنة تبين أنها غير متوافقة مع جهاز كمبيوتر IBM لسبب ما ، لم يتم استخدامها تقريبًا على جهاز الكمبيوتر. لا يعرف المؤلف سوى نظام BBC Master 512 المستند إلى كمبيوتر BBC Micro ، الذي لم يستخدم الدوائر المضمنة ، حتى المؤقت ، ولكن كان هناك العديد من الأنظمة الأخرى التي تستخدم 80186. ظلت الذاكرة القابلة للعنونة لـ 80186 بنفس الطريقة كما في 8086 بحجم 1 ميغابايت. أنتجت الشركة اليابانية NEC نظائرها من 80186 ، والتي كانت متوافقة مع جهاز كمبيوتر IBM.
كان 80286 توقيتًا أفضل من 80،186 ، من بينها قسم رائع فقط (32/16 = 16،16) لـ 22 مقياسًا ملحوظًا بشكل خاص - منذ ذلك الحين لم يتم تعلم التقسيم للقيام بشكل أسرع! 80286 يدعم العمل مع جميع فرق 80186 الجديدة ، بالإضافة إلى العديد من الفرق للعمل في وضع محمي جديد. 80286 هو المعالج الأول مع دعم مدمج للوضع المحمي ، والذي سمح بتنظيم حماية الذاكرة والاستخدام الصحيح للتعليمات المميزة والوصول إلى الذاكرة الافتراضية. على الرغم من أن العمل في الوضع الجديد خلق العديد من المشكلات الإشكالية (تم جعل الوضع المحمي غير ناجح إلى حد ما) وكان نادرًا ما يستخدم نسبيًا ، إلا أنه كان تقدمًا كبيرًا إلى الأمام. في هذا الوضع الجديد ، اكتسبت سجلات المقطع جودة جديدة ، مما يتيح لك استخدام ما يصل إلى 16 ميغابايت من الذاكرة القابلة للعنونة وما يصل إلى 1 جيجابايت من الذاكرة الافتراضية لكل مهمة. كانت المشكلة الكبرى مع 80286 هي عدم القدرة على التبديل من الوضع المحمي إلى الوضع الحقيقي ، حيث عملت معظم البرامج في ذلك الوقت. باستخدام تعليمات LOADALL "السرية" غير الموثقة ، كان من الممكن استخدام 16 ميغابايت في الذاكرة وفي الوضع الحقيقي.
في 80286 ، بدأ حساب العناوين في المعاملات من خلال مخططات منفصلة وتوقف عن إبطاء تنفيذ الأوامر. أضاف هذا ميزات مثيرة للاهتمام ، على سبيل المثال ، مع الفريق
LEA AX,[BX+SI+4000]
في 3 دورات فقط ، أصبح من الممكن إجراء إضافتين ونقل النتيجة إلى سجل AX!
أصبحت التسجيلات المجزأة في الوضع المحمي جزءًا من نظام كامل لإدارة الذاكرة (MMU). في الوضع الحقيقي ، تسجل هذه السجلات وظائف MMU المقدمة جزئيًا فقط.
عدد الشركات المصنعة والأنظمة المحددة التي تستخدم 80286 ضخم ، ولكن بالطبع ، كانت أجهزة كمبيوتر IBM PC AT هي الأولى بمؤشرات الأداء التي كانت رائعة تقريبًا بين أجهزة الكمبيوتر الشخصية. من هذه الحواسيب ، بدأت الذاكرة تتأخر في السرعة من المعالج ، وكانت هناك حالات تأخير ، ولكن بعد ذلك بدت شيئًا آخر مؤقتًا.
80286, 8086/8088, 100% , . , POPF 80286 , ( REP ES:MOVSB) 8086/8088 . POPF 80286.
80286 , 64 . 80386, 1985, , 4 . , 8086 8086. . 80386 , 80286. 80386 32- . , . (barrel shifter), . , - . , 80286. , , , , 80286. , 16- 80286 - , 80386 .
80386 , , . , :
- , , , z80;
- BSF BSR;
- , MOVSX MOVZX;
- SETxx;
- SHLD, SHRD.
x86 80386 , – . 80386 ( 32- ) , , ( ) , , .
4- , , , .
, 80286, . , flat- 4 , . flat-, .
80386 Intel , IBM PC, Motorola, . 80386 90-, 25 40 . C 80386 IBM IBM PC . , , , 80386 1986 Compaq.
, 80386 . , 80386 , 1970, 1980.
80386. . , . 80386 , . IBTS XBTS. 80386DX/SX, AMD, Intel ( ), , EAX, POPAD PUSHAD , BX. . , . .
ARM . , ARM . Intel 80486. Intel – .
80486 ARM . - . , , 8088! , 8 , -. , , CMPXCHG – IBTS XBTS (, 80386). – , 32- BSWAP. – . .
80486 . , 80486, VX FT, Apricot – 1989 18 40 , – 60 ! Intel ARM Acorn. IBM 80486 1990, PS/2 90 $17000.
Intel , . , 8086. , , AAD AAM , ( Pentium 15 !). AND/OR/XOR , , AND BX,7 (83 E3 07). , , , 80386. , 8086 80286 , . ADD/ADC/SBB/SUB, . , , , (?) . – . , , SAL/SHL ( D0 E0, D0 F0 D1 E0, D1 F0) . , , . , . , Intel , ? SALC 1995 20 ! ICEBP 10 1985 1995. LOADALL LOADALLD – , 80286 80386 . UD1 (0F B9), . .
8088 8086, 80286 .
Motorola: 68000 68040
Motorola – , - Intel .
68000 1979 8086. 16 32- ( 17), . 16 , , , . , 68000 , , . 1 – . 68000 , 8086 – 68000 . , 68k 2 , 86 – 1. , , 68000 , 8086. 16 – 8 , - x86. 16-, 32- , . - – 4 , 8086 – 2. 68000 80- , Intel 8088, 68000 , .
, Motorola, 68000 . , ( , ). . - , MOVE, . , , 68000, , 68010. , , CLR 0 MOVE . , , , . 8086, . , 4 8086 . 68000 PDP-11, 60-.
Motorola - 86 ARM. , 68000 8086, 20-30%. 680x0, , - , , x86. ,
eab.abime.net , 68k , x86.
, 68000 – , . : Apple Macintosh, 90-, Commodore Amiga, Atari ST. 68000 , Unix, , Tandy 16B. , IBM PC System 9000 68000, PC.
68010 , 1982, Intel 80286, -. 68010 68000, - , 68000 68010 . 68000 . 68010 , 10% 68000. , 68010 80286 80186. 80186, 68010 .
68008 1982 8088. 68000, 8- , . 68008, 68000, , 50% , 68000. , 68008 , 8088, - 20% , 8086.
Clive Sinclair Spectrum QL – , - Atari ST . , QL (Quantum leap – ) , , ( Amstrad, QL).
68000, , , 16, 24.
1984, 68020 Motorola . . , ! 32- 68020EC 24- . 32- . , 256 , , , . (64/32=32,32) (32*32=64), 80 45 . , , (32/16=16,16) 45 ( 140 68000). , ! , , – x86 80386. , , – PDP-11 .
, , 10- , , - . , . 80286, 68020 , . 68020 - 80286. . 68020 (MMU) .
68020 Apple Macintosh II, Macintosh LC Commodore Amiga 1200. Unix.
80386 MMU 32- , Motorola 2. 68030, 1987, , Motorola . 68030 , – . , 68030 , . , , 68030 80386 . , 68030 50 , 80386 40 , 68030 .
68030 Apple Macintosh II, Commodore Amiga 3000, Atari TT, Atari Falcon .
68040 Motorola Intel. 80486, . Motorola, , - . 68040 , 80486. lowendmac.com/benchmarks 68040 2.1 68030, , 68040 80486 . 68040 . – 68LC040, . , , !
Motorola . Motorola, , 68000/68010, Intel 8087 c 1980. 68020/68030 68881 - 68882. 68882 68881.
, Intel x86 – , , , 4 . , .
National Semiconductor 32016
32- , 1982. VAX-11 , - DEC National Semiconductor (NS) VAX-11.
– . , . .
NS32016 VAX-11, , . 24-, 16 . 32016 . ( ), , , ( ) L (less), – . , Motorola 680x0. - F. , (!) . , , (L) , .
32- . , , , , ( - ), ( - ), , . NS32016 68000.
32016 BBC Micro . 1984 . 6, 8 10 . . 32016 , Acorn, - Unix Panos Acorn . BBC Micro MMU – , . .
, , .
Acorn ARM
6502, , , Acorn, ARM-1, 1985, , Intel, 80386. ARM . , ARM MMU , , 80386 . ARM , . 100 .
ARM 1983 , Acorn 32016, , 6502 , , . 80286, , Intel, Acorn, . 80286 80386 , . , Intel , Acorn , ARM.
ARM , , BBC Micro. , . . 1986 BBC Micro c ARM Evaluation system, 4 ( ), ( 4000 , .. 6000 ). , , . . , Unix – Unix, MMU, Unix PDP-11, 68000, 80186 8088. , 90- Acorn Archimedes Linux. Unix ARM Acorn ARM .
ARMAcorn 1985 . Acorn ARM , , , - 32016. Acorn Communicator. , IBM PC Master 512, . , , Acorn Olivetti , Intel 8086 80286, . , Acorn, Olivetti .
Olivetti Acorn ARM2 , Archimedes, 1987. , Olivetti IBM PC Acorn.
ARM 16 32- ( , ). , R15, PDP-11 . 1 . , , , . , ARM . , , . , . , , . ARM – , 26-, . . 64 , . , , , 4- . 4- , 16- . ARM 3-. RISC - . ARM (Barrel Shifter), . , R0 65 c R1
ADD R1, R0, R0 shl 6
, 63 –
RSB R1, R0, R0 shl 6
, , , . ARM : . 16 ( ), . , , . , , . ARM . , . ARM 6809 , . , , .
ARM , x86. ARM . ARM 80386, , RSB ( ), BIC (AND , PDP-11), 4- MLA ( ), LDM STM ( , MOVEM 68k). ARM 3-, 80386 2 . ARM – , R14 R15. ARM 3-4 80386 , 80386 2-3 ARM. , IBM PC XT Acorn Archimedes 8 , PC XT. Commodore Amiga 68000 7 , 10-15% PC XT. , NeXT 25 68030 8 ARM. Apple Möbius - Apple ][, , Apple ][, 68k , !
ARM . 8 , . 32- 4 . , , , , 12-. ARM , , . , . ARM (MMU) – , , Apple 90-. ARM . ARM , x86. ARM: . ,
R1 shl 7
– R1 7 –
R1, shl 7
.
1989 ARM3 . 1990 ARM Acorn Apple VLSI ARM Holding. ARM Acorn-Olivetti. Acorn , ARM Holding . Acorn ARM Holding Apple ARM Newton .
ARM , 80486 10-20%! Intel Pentium. DEC StrongARM 1996, Intel, ARM-. , .
ARM , . , ARM Holding Apple 90- .
,
, 8- 70- 80- . 8- 6502 . Intel Motorola , .
, Amiga Atari ST 4 20- 24- , 6502, 68000. , 6502 10 .
Amstrad PCW, Commodore CBM II, z80 , , 10 .
, ARM 1982, ?
, , ?