شعار زيفيرنت

كمبيوتر السبعينيات: شريحة من الحوسبة

التاريخ:

ما هو الشيء المشترك بين HP-1000 وDEC VAX 11/730 مع ألعاب الفيديو Tempest وBattlezone؟ أكثر مما تتصور. كل هذه الأجهزة، إلى جانب العديد من الأجهزة الأخرى من تلك الفترة الزمنية، استخدمت وحدات المعالجة المركزية (CPUs) من عائلة AM2900.

كانت وحدة المعالجة المركزية لشريحة البت منتجًا ناجحًا للغاية ولم يكن من الممكن أن يكون موجودًا إلا في السبعينيات. اليوم، إذا كنت بحاجة إلى نظام كمبيوتر، فهناك العديد من وحدات المعالجة المركزية وحتى الأنظمة بأكملها على الشريحة للاختيار من بينها. يمكنك أيضًا الحصول على العديد من الأنظمة الصغيرة على مستوى اللوحة والتي من المحتمل أن تفعل أي شيء تريده. في الستينيات، لم يكن لديك أي خيار على الإطلاق. لقد قمت ببناء لوحات دوائر مع بوابات باستخدام الترانزستورات، أو الأنابيب، أو المرحلات، أو - ربما - بوابات IC صغيرة الحجم. ثم قمت بتوصيل الألواح.

لم يتطلب الأمر عبقريًا لإدراك أنه سيكون أمرًا رائعًا أن تقدم للأشخاص شريحة وحدة المعالجة المركزية (CPU) كما يمكنك الحصول عليها اليوم. المشكلة هي أن تكنولوجيا أشباه الموصلات في ذلك الوقت لم تكن تسمح بذلك، على الأقل، ليس مع أي قدر كبير من الموارد. على سبيل المثال، كان جهاز Motorola MC14500B الذي تم إنتاجه في عام 1977 عبارة عن معالج دقيق ذو بت واحد، وعلى الرغم من أنه كان له استخداماته، إلا أنه لم يكن مناسبًا للجميع أو لكل شيء.

الجواب

كان الجواب هو إنتاج أكبر قدر ممكن من وحدة المعالجة المركزية في شريحة ووضع أحكام لاستخدام شرائح متعددة معًا لبناء وحدة المعالجة المركزية. وهذا بالضبط ما فعلته AMD مع عائلة AM2900. إذا فكرت في الأمر، ما هي وحدة المعالجة المركزية؟ بالتأكيد، هناك اختلافات، ولكن في الجوهر، يوجد مكان لتخزين التعليمات، ومكان لتخزين البيانات، وطريقة ما لاختيار التعليمات، وطريقة للعمل على البيانات (مثل ALU - وحدة المنطق الحسابي). تقوم التعليمات بنقل البيانات من مكان إلى آخر وتعيين حالة الأشياء مثل أجهزة الإدخال/الإخراج وعمليات ALU وما شابه.

<img decoding="async" data-attachment-id="665623" data-permalink="https://hackaday.com/2024/03/06/the-1970s-computer-a-slice-of-computing/bcpu/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png" data-orig-size="785,551" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="bcpu" data-image-description data-image-caption="

وحدة المعالجة المركزية الأساسية لشريحة البت من كتاب بيانات AMD

” data-medium-file =”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?w=400″ data- Large-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?w=785″ class=”size- الصورة المصغرة wp-image-665623″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing.png” عرض بديل =”250″ height=”175″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png 785w، https://zephyrnet .com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?resize=250,175 250w، https://zephyrnet.com/wp-content/uploads/ 2024/03/the-1970s-computer-a-slice-of-computing-2.png?resize=400,281 400w” الأحجام =”(max-width: 250px) 100vw, 250px”>

وحدة المعالجة المركزية الأساسية لشريحة البت من كتاب بيانات AMD

بالتأكيد، هذا تبسيط مبالغ فيه، ولكن يمكن توسيعه لوصف معظم وحدات المعالجة المركزية التقليدية. قدمت شرائح AMD مسار بيانات 4 بت يمكن ربطه معًا. يمكن للشرائح الأخرى في العائلة إدارة الذاكرة (بما في ذلك، اختياريًا، DMA) والعناية بمسك الدفاتر بين الشرائح. يمكنك بناء جهاز 8 بت مع شريحتين، وجهاز 24 بت مع ثلاث شرائح، وهكذا.

لم يقتصر الأمر على السماح لعدد أقل من الدوائر المتكاملة مقارنة باستخدام الرقائق التقليدية، بل سمح أيضًا بالمنطق ثنائي القطب الذي - خاصة في ذلك الوقت - كان أسرع ولكن ليس بكثافة NMOS أو CMOS. تتيح لك شرائح مثل عائلة AM2900 إنشاء وحدات معالجة مركزية مرنة. إنها تناسب تطبيقك وتعمل بسرعة مقارنة بما قد تتمكن من القيام به باستخدام طرق أخرى.

الترميز الصغير

يعد الرمز الصغير شائعًا في العديد من وحدات المعالجة المركزية (CPUs)، ولم تكن وحدات المعالجة المركزية (CPUs) ذات الشرائح الثنائية استثناءً. على سبيل المثال، قد يكون لديك تعليمات رمز صغير طويلة جدًا حيث يحتوي كل سجل على سطر منفصل للقراءة والكتابة. إذا كان لديك ثمانية سجلات، فهذا يعني 16 بت فقط في عناصر التحكم تلك. ثم قد يكون لديك أيضًا رمز وظيفة (4 بتات) وقليلًا يشير إلى ما إذا كان يجب تحديث رموز الحالة. الآن، كل "تعليمات" هي 21 بت. وهذا أطول مما تريده، على سبيل المثال، لجهاز 8 بت، لذا يمكنك تحديد التعليمات التي تنفذ التعليمات البرمجية الصغيرة.

<img decoding="async" data-attachment-id="665630" data-permalink="https://hackaday.com/2024/03/06/the-1970s-computer-a-slice-of-computing/pin2901/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png" data-orig-size="317,460" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="pin2901" data-image-description data-image-caption="

Pinout من AM2901

” data-medium-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?w=276″ data-large-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?w=317″ class=”size-thumbnail wp-image-665630″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-1.png” alt width=”172″ height=”250″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png 317w, https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?resize=172,250 172w, https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?resize=276,400 276w” sizes=”(max-width: 172px) 100vw, 172px”>

Pinout من AM2901

على سبيل المثال، قد تحتوي تعليمات إضافة السجل A للتسجيل B وترك النتيجة في B على ثلاث خطوات للرمز الصغير. الأول هو بوابة تسجيل A وB إلى ناقل البيانات وتأكيد الكود الذي يجعل وحدة ALU تضيف. بعد ذلك، تضع التعليمة الثانية النتيجة على ناقل البيانات وتطلب من السجل B قراءة ناقل البيانات. ستنتقل تعليمات الرمز الصغير النهائية إلى الجزء الرئيسي من الرمز الصغير الذي يقرأ التعليمات التالية ويواصل البرنامج.

هذه هي الطريقة التي تصمم بها عادةً وحدة المعالجة المركزية ذات شريحة البت. AM2909، AM2910، أو AM2911 (أجهزة تسلسل البرامج الدقيقة) ستتناول مخزن البرامج الصغيرة ROM، والذي من شأنه تغذية الأوامر إلى مجموعة من شرائح AM2901. يأتي AM40 ذو 2901 سنًا في عدة أشكال (على سبيل المثال، AM2901B) يحتوي كل منها على تحسينات تقنية لجعلها أصغر حجمًا وأسرع.

يقوم متجر البرامج الصغيرة بعد ذلك بتنسيق جلب التعليمات وتنفيذها. من المفترض أن البرنامج الصغير كان صغيرًا نسبيًا مقارنة بالبرنامج الحقيقي، لذلك قد يكون ROM الخاص بك الذي يحتوي على الرمز الصغير أصغر من ROM الذي يحتوي على تطبيقك الفعلي.

تعاون

بالطبع، لا يمكنك فعل كل شيء بمجرد إضافة شريحة أخرى. عليهم أن يتعاونوا. على سبيل المثال، يوجد مخرج F على كل شريحة مجمعة مفتوحة. يمكنك ربط جميع مخرجات F مع مقاوم السحب. إذا كانت نتيجة أي شريحة من شرائح وحدة المعالجة المركزية غير صفرية، فسوف تقوم بسحب مخرج F إلى الأسفل. لذلك، إذا كان خرج F عاليًا، فإن النتيجة بأكملها (مهما كانت عدد البتات) يجب أن تكون صفرًا.

التعامل مع الحمل يمثل أيضًا مشكلة. إذا كانت شريحتك الأولى تضيف 1111+0001 فإن الإجابة ليست في الواقع 0000. إنها 0000 + حمل. يمكنك ببساطة توصيل كل مخرج Cn+4 بمدخل Cn الخاص بالشريحة التالية للحصول على حمل مموج، لكن ذلك سيؤدي إلى عقوبة سرعة تزداد سوءًا عند إضافة الشرائح. يمكنك أيضًا استخدام AM2902 "للتطلع إلى الأمام" للحصول على أداء أفضل. يمكن لكل 2902 التعامل مع أربع شرائح أو 16 بت. إذا كنت تريد الذهاب إلى أبعد من ذلك، فيمكنك استخدام AM2902 واحد للتطلع إلى ما يصل إلى أربع وحدات AM2902 أخرى، كل منها تتعامل مع أربع شرائح من وحدة المعالجة المركزية. من المفترض أنه سيكون من الممكن توسيع هذا المخطط بشكل أكبر إذا كنت تريد تجاوز 64 بت، على الرغم من أنه في عام 1975، ربما لم تكن هذه أكبر مشكلة تواجهك في بناء آلة بهذا الحجم.

يتطلب التحويل والضرب التعاون أيضًا. كان من الشائع استخدام مُضاعِف إرسال في كل طرف من طرفي السلسلة لتحديد مصدر البتات الجديدة عند النقل. الأمر يعتمد فقط على ما تحتاجه.

تخصيص

هذا شيء مثير للاهتمام حول استخدام شريحة البت. يمكنك تصميم ما تحتاجه فقط. لماذا تقوم ببناء جهاز 32 بت إذا كنت بحاجة إلى 24 بت للمهمة التي تقوم بها؟ لماذا تستخدم معددات الإرسال لتمكين تعليمات التدوير التي لن تستخدمها أبدًا؟

في هذه الأيام، نأخذ لبنة البناء ونجعلها مناسبة لمشكلتنا. باستخدام bitslice، قمت بإنشاء وحدة المعالجة المركزية التي تناسب تمامًا ما تحتاجه. كان هناك العديد من الحكايات حول كيفية القيام بعمليات مختلفة مثل جلب التعليمات أو الضرب أو تبديل البايت في دفتر بيانات AM2900.

يعرض كتاب البيانات هذا أيضًا الرقائق التي تحتاجها، مثل AM2902s أو AM48 "Superslice" ذات 2903 طرفًا مع سجلات قابلة للتمديد، ومضاعفات، وقسمة، ودوائر خاصة أخرى على متن الطائرة.

تطور

كانت عائلة AM2900 ناجحة للغاية. بدأ AM2901 الأصلي باستخدام قالب كبير جدًا باستخدام شوتكي منخفض الطاقة ويمكن أن يعمل بسرعة 80 نانو ثانية. وبحلول عام 1978، أي بعد ثلاث سنوات، كان حجم القالب AM2901B أقل من نصف الحجم ويمكنه التعامل مع 50 نانو ثانية. بحلول عام 1981، استخدم AM2901C ECL داخليًا ويمكنه القيام بـ 37 نانو ثانية على نفس القالب. وبحلول عام 1979، كان بإمكانك الحصول على معالج مساعد للفاصلة العائمة (AMD9511).

كانت هذه أجهزة بسيطة لأنك تحتاج إلى شرائح متعددة لدعمها والعديد من شرائح AM2901 للقيام بأي شيء أكبر من أربع بتات. على سبيل المثال، كان الطراز AM2901 الأصلي يحتوي على 540 بوابة فقط على متنه. ومع ذلك فقد وجدوا طريقهم إلى كل شيء بدءًا من محطات العمل وأجهزة توليف الموسيقى وحتى ألعاب الفيديو. نظرًا لشعبيتها، كان هناك العديد من موردي المصدر الثاني للجهاز، ولا يزال من الممكن العثور على مخزون قديم جديد. حتى أنه تم إنتاج نسخ سوفيتية.

المزيد من القطع

العديد من وحدات المعالجة المركزية المصنوعة باستخدام AM2900 كانت مملوكة أو عسكرية. ولكن إذا كنت تريد رؤية واحدة تحتوي على قدر جيد من الوثائق، فإليك أطروحة ماجستير عام 1980 حول تنفيذ وحدة معالجة مركزية متوافقة مع Nova 1200 باستخدام التكنولوجيا - حسنًا، جزء واحد، على أي حال.

لم تكن AM2900 هي اللعبة الوحيدة في المدينة. في عام 1974، تم توفير IMP الخاص بشركة National Semiconductor وسلسلة Intel 3000. بالإضافة إلى ذلك، قامت موتورولا، وتكساس إنسترومنتس، وفيرتشايلد، ورايثيون، وغيرها بتصنيع أجهزة مماثلة. ولكن لأسباب مختلفة، فإن AM2900 هو ما يفكر فيه معظم الناس عندما يتذكرون وحدات المعالجة المركزية ذات الشرائح الثنائية. في الواقع، تحتوي أطروحة الماجستير حول وحدة المعالجة المركزية Nova أيضًا على جدول لتقنيات شرائح البت الأخرى وسبب عدم استخدامهم لأي من التقنيات الأخرى. على سبيل المثال، بعض الأجهزة تستخدم PMOS، والذي كان بطيئًا. استخدم آخرون ECL، وهي تقنية سريعة تتمتع بسمعة طيبة بسبب صعوبة استخدامها. آخر أطروحة من عام 1976 لديه منطق مماثل لاختيار AM2900.

هل تريد المزيد؟

[كين شريف] أخذ متغير ECL من AM2901 بعيدًا. هناك ايضا كتاب من عام 1980 يمكنك القراءة. يوجد ايضا طن من المستندات على خادم Gopher (لا امزح). إذا كان متصفحك لا يتعامل مع Gopher — وهذا لن يفاجئنا — فجرِّب واحدًا من بين العديد من المتصفحات وكلاء غوفر. مثال على تصميم الكمبيوتر 16 بت يستحق نظرة خاصة. هل تريد مثالًا أكثر تعقيدًا؟ إليك وحدة المعالجة المركزية 8080 فائقة السرعة المبنية باستخدام شريحة البت. انتهى hackaday.io، قام [zpekic] مؤخرًا ببناء جهاز 8080 هذا وتشغيل برنامج Basic صغير عليه (شاهد الفيديو إذا كنت لا تصدقه).

[المحتوى جزءا لا يتجزأ]

يستخدم زيروكس ستار 8010 AM2900 في عام 1981. التكلفة أقل من 17,000 دولار! لحسن الحظ، يمكنك ذلك محاكاة واحدة إذا أردت. لهذه المسألة، يمكنك نوع من محاكاة AM2900 باستخدام Java، على الرغم من أنها قد لا تعمل مع كل تصميم ممكن (نصيحة: قم بالتنزيل من الإصدارات).

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة