داخل معالج HP Nanoprocessor: معالج عالي السرعة لا يمكن طيه



الجمع بين المعالج النانوي الضوئية. يوجد GLB على يسار ناقل البيانات بالأحرف الأولى للمطورين George Latham و Larry Bauer.



المعالج النانوي HP هو معالج منسي تقريبًا طورته Hewlett-Packard في عام 1974 (لمزيد من التفاصيل ، راجع The Forgotten Ones: HP Nanoprocessor ، HP9825.com و HP 9845 Project ) كمتحكم دقيق لمنتجات الشركة المختلفة. من الغريب أن هذا المعالج لم يتمكن حتى من الإضافة أو الطرح - ربما لهذا السبب قرروا تسميته ليس معالجًا ، ولكن "معالج نانوي". على الرغم من هذه القيود ، سيطر المعالج النانوي على مجموعة متنوعة من الأجهزة من Hewlett-Packard ، من اللوحات الأمامية ومقاييس الفولتميتر إلى محللات الطيف ومحطات الحصول على البيانات.



لقد قررت أن المعالج النانوي قد تم استخدامه على وجه التحديد في المنتجات التالية من Hewlett-Packard: HP 9845B Spectrum Analyzers ، HP 3585A ، HP 3325A Synthesizer / Function Generator ، HP 9885 Floppy Drive ، HP 3070B Data Acquisition Terminal ، HP 98034 HPIB واجهة لآلة حاسبة HP 9825 ، ساعة الوقت الحقيقي HP 98035 للكمبيوتر HP 9825 ، واجهة محرك الفيلم HP 7970E ، جهاز التوجيه HP 4262A ، محلل الطيف HP 3852 ، الفولتميتر HP 3455A... أخبرني Paul-Henning Camp أيضًا أن المعالج النانوي تم استخدامه في المولد / الوظيفة HP 3336 ووحدة التحكم في التبديل HP



9411. كانت الميزة الرئيسية للمعالج النانوي هي التكلفة المنخفضة والسرعة العالية: مقارنةً بـ Motorola 6800 الحالي ، تكلف المعالج النانوي 15 دولارًا ، وليس 360 دولارًا. ، وتعاملت مع مهام الإدارة بشكل أسرع.



من المثير للاهتمام أن منافس المعالج النانوي في تطويره كان Motorola 6800 ، وليس المعالج من Intel. الشيء الرئيسي الذي يمكن أن يتباهى به المعالج النانوي هو السرعة: فهو يعمل بسرعة 4 ميجاهرتز ، مع الأخذ في الاعتبار أن 6800 يعمل عند 1 ميجاهرتز. استغرق كلا المعالجين دورتين على مدار الساعة لتنفيذ التعليمات الأساسية ، بينما استغرق المعالج 6800 ما يصل إلى 7 دورات على مدار الساعة لتنفيذ تعليمات أكثر تعقيدًا.



وضع مطورو المعالجات النانوية مقارنة للسرعة واقترحوا أن المعالج النانوي يمكنه القراءة أسرع بست مرات من 6800 ، وأن يتعامل مع المقاطعات أسرع بـ16 مرة. ومع ذلك ، في ذلك الوقت ، كان من المفترض أن يعمل المعالج النانوي بسرعة 5 ميجاهرتز ، وكانت الشريحة الحقيقية أقل قليلاً من هذا الشريط مع 4 ميجاهرتز. تم استدعاء السعر الأولي للمعالج النانوي 15 دولارًا مقابل 360 دولارًا لجهاز موتورولا 6800.



لا أوافق تمامًا على أن المعالج النانوي يمكن أن يسمى متحكمًا ، نظرًا لأنه يستخدم ROM خارجي مع برنامج ، في حين أن المتحكم الدقيق عادة ما يحتوي على كل شيء ، بما في ذلك ROM ، على شريحة واحدة (في هذا الجانب) يبدو أن Intel 4004). ومع ذلك ، في جميع النواحي تقريبًا ، يشبه المعالج النانوي متحكم دقيق: فهو مصمم للاستخدام المضمن ، وهو معماري هارفارد الخاص بهومجموعة من الإرشادات المحسّنة للإدخال / الإخراج ، فهي تشغل البرامج من ذاكرة القراءة فقط مع الحد الأدنى من تخزين البيانات.



بالنسبة لأجهزة الكمبيوتر التي لا يمكنها الإضافة - لم يكن لدى كمبيوتر IBM 1620 بحجم جدول من عام 1959 عملية إضافة ، ولكنه استخدم جدول نتائج لذلك. كان اسمه الرمزي CADET ، وقام الناس بفك شفرته على سبيل المزاح على أنه "لا يمكن الإضافة ، ولا حتى المحاولة" [لا يمكن الإضافة ، ولا حتى المحاولة].



في الآونة الأخيرة ، نشر مصمم الرقائق لاري باور ست قطع ضوئية تستخدم لإنتاج معالج نانوي ، إلى جانب تفاصيل تصميمها. تم تنظيف الصور ومسحها ضوئيًا في The CPU Shack ، ثم تنظيفها بواسطة Antoine Berkovichi (يمكن تنزيل ملف PSD 122 ميغابايت من الرابط). تُظهر الصورة المركبة للأضواء أدناه الدوائر الداخلية للدائرة المتكاملة. الطبقة الزرقاء هي الطبقة المعدنية العلوية للرقاقة ، والطبقة الخضراء هي الطبقة السفلية من السيليكون. المربعات السوداء حول المحيط - 40 وسادة للتواصل مع جهات الاتصال الخارجية لـ IC. لقد استخدمت هذه الأقراص الضوئية لعكس هندسة المعالج لفهم داراته البسيطة والذكية التي تشبه RISC.



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



تم تطوير المعالج النانوي في عام 1974 ، في نفس الوقت الذي تم فيه الإعلان عن معالجات Intel 8080 و Motorola 6800 الكلاسيكية. ومع ذلك ، تأخرت عملية تصنيع السيليكون المعالج النانوي لعدة سنوات - فقد استخدموا ترانزستورات البوابة المعدنية بدلاً من السيليكونتم تطويره في أواخر الستينيات. يبدو الاختلاف محيرًا ، لكن بوابات السيليكون كانت أفضل من عدة نواحٍ . أولاً ، إنها أصغر وأسرع وأكثر موثوقية. ثانيًا ، كان لديهم طبقة بولي سيليكون مع موصلات إلى جانب المعدن ؛ ونتيجة لذلك ، كان تخطيط الرقاقة كثيفًا تقريبًا مرتين. ثالثًا ، تطلبت ترانزستورات البوابة المعدنية تزويدًا إضافيًا بالطاقة بجهد +12 فولت.استخدم معالج Intel 4004 بوابات السيليكون في عام 1971 ، لذلك أنا مندهش من أن HP لا تزال تستخدم المعدن في عام 1974.



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



تفوقت تقنية المعالج النانوي على Intel 8080 و Motorola 6800 في شيء واحد: فقد استخدمت ترانزستورات سحب وضع النضوب ، والتي كانت أكثر تقدمًا من ترانزستورات وضع التحسين المستخدمة في 8080 و 6800. توفر التقنية الأولى بوابات منطقية أسرع وتستهلك أقل ، ولكنها تتطلب خطوة إنتاج إضافية. في المعالج النانوي ، تم استخدام قناع ضوئي رقم 3 (رمادي) في هذه الخطوة. سمحت معالجات مثل MOS Technology 6502 و Zilog Z80 ، بترانزستورات السحب بقناتها الخاصة بالعمل بجهد واحد ، وليس ثلاثة. لسوء الحظ ، لا يزال المعالج النانوي يتطلب جهدًا مختلفًا بسبب ترانزستور البوابة المعدنية.



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



غالبًا ما تتطلب رقائق DRAM المبكرة والمعالجات الدقيقة ثلاثة جهد إمداد: +5 V (Vcc) ، +12 V (Vdd) ، و -5 V (Vbb) جهد إزاحة. في أواخر السبعينيات ، أتاحت التحسينات في تكنولوجيا التصنيع استخدام جهد واحد. استخدم الميكروكونترولر Intel 8080 لعام 1974 ترانزستورات قناة مستحثة تتطلب ثلاثة فولتات ، لكن نسخة محسنة من 8085 (1976) استخدمت ترانزستورًا بقناتها الخاصة وكان مدعومًا بجهد واحد + 5 فولت. منذ أواخر السبعينيات ، استخدمت العديد من المعالجات الدقيقة مضخات الشحن. تقع على الشريحة لتوليد جهد انحياز سلبي.





رقم جزء المعالج النانوي HP 1820-1691. لاحظ الجهد المكتوب بخط اليد: -2.5 فولت. الرقم الأخير من رقم الجزء (1) مكتوب بخط اليد ويمثل سرعة الشريحة.



مثل معظم المعالجات في تلك الحقبة ، كان المعالج النانوي 8 بت. ومع ذلك ، لم يستخدم ذاكرة الوصول العشوائي ، ولكنه قام بتشغيل الكود من ذاكرة القراءة فقط الخارجية 2 كيلو بايت. كان يحتوي على 16 تسجيلًا 8 بت - أكثر من معظم المعالجات ويكفي للتعويض عن نقص الذاكرة في العديد من التطبيقات. من حيث عدد الترانزستورات ، فإن المعالج النانوي أكثر تعقيدًا من Intel 8008 (1972) وأسهل قليلاً من 6800 (1974) أو 6502 (1975).



وفقًا لحساباتي ، يحتوي المعالج النانوي على 4639 ترانزستور. يتكون مفكك تشفير التعليمات من أزواج من الترانزستورات الصغيرة بناءً على اعتبارات الموقع. ينتج عن الجمع بين هذه الأزواج 3829 ترانزستورًا فريدًا. من بين هؤلاء ، 1061 عبارة عن عمليات سحب ، و 2668 نشطة. للمقارنة ، 6502 بها 4237 ترانزستور ، منها 3218 نشطة ، 8008 بها 3500 ترانزستور ، في حين أن موتورولا 6800 كان بها 4100.



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



لم يكن لدى المعالجات الدقيقة المبكرة عمليات تعيين البت ، وإعادة الضبط والتحقق (على الرغم من إمكانية تنفيذها عبر AND و OR). أضاف Z80 (1976) عمليات أحادي الاتجاه ، لكن كل منهما كانت 2 بايت وكانت أبطأ بكثير من المعالج النانوي.



يوضح الرسم البياني أدناه الهيكل الداخلي للمعالج النانوي. ميزة الإدخال / الإخراج الرئيسية هي "تحديد جهاز تعليمات الإدخال / الإخراج" 4 بت ، والذي يسمح لـ 15 جهازًا بتلقي أوامر الإدخال / الإخراج. بمعنى آخر ، تحدد المسامير المحددة جهاز الإدخال / الإخراج الذي يقرأ أو يكتب من ناقلات البيانات. تستخدم الدوائر الخارجية هذه الإشارات لكل شيء يحتاجه تطبيق معين - تخزين البيانات في مزلاج ، وإرسالها إلى نظام آخر ، وقراءة القيم. يتم توفير المزيد من منافذ الإدخال / الإخراج عبر منافذ الإدخال / الإخراج ذات التحكم المباشر (دبابيس GPIO) ، وهي مناسبة للإدخال والإخراج. إذا لم تكن هذه المسامير متصلة بدوائر خارجية ، فإنها تعمل كأعلام بت ملائمة ؛ يمكن للمعالج النانوي تحديد قيمة ثم قراءتها.في حالة عدم وجود وحدة منطقية حسابية ، تقوم وحدة منطق التحكم بإجراء عمليات الزيادة والتناقص وعمليات النقل وعمليات البت على الأفعى.





كتلة الرسم البياني من دليل مستخدم المعالج النانوي



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



يلتزم المعالج النانوي بنموذج تنفيذ التعليمات في دورة واحدة ، حتى بالنسبة للتعليمات ثنائية البايت: يُطلب البايت الثاني أثناء دورة التنفيذ ، وبالتالي لا يتغير وقت تنفيذ التعليمات الإجمالي.





المكونات الوظيفية للمعالج النانوي HP



فهم الصور



تم تصنيع الرقاقة باستخدام ستة أقواس ضوئية ، كل منها كان يستخدم لإنتاج إحدى طبقات المعالج بواسطة الليثوغرافيا الضوئية . الصورة أدناه تظهر الصور. كل منها عبارة عن صفيحة مايلر مقاس 47.2 × 39.8 سم ، وهي عبارة عن أقواس ضوئية مكبرة 100x تُستخدم لإنتاج بلورة سيليكون 4.72 × 3.98 مم (33٪ أصغر من الكريستال 6800). تحتوي كل رقاقة من السيليكون بحجم 3 بوصات على 200 وحدة متكاملة تم إنتاجها في نفس الوقت ، ثم تم اختبارها وتقطيعها ووضعها في عبوة.







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





رسم تخطيطي لهيكل MOS مع بوابة معدنية



تعد الماسكات الضوئية جزءًا أساسيًا من عملية تصنيع IC لأنها تحدد موقع المكونات. يوضح الرسم البياني أدناه كيفية إضافة الشوائب إلى بعض مناطق السيليكون باستخدام الفوط الضوئية. أولاً ، يتم تكوين طبقة أكسيد عازلة على ركيزة السيليكون ، ثم يضاف مقاوم للضوء حساس للضوء... يعمل الضوء فوق البنفسجي (1) على بلمرة وعلاج مقاوم الضوء في كل مكان باستثناء المكان الذي يحجب فيه القناع مرور الضوء (2). ثم تتم إزالة مقاوم الضوء الناعم الذي لم يتعرض للأشعة فوق البنفسجية (3). تتعرض الركيزة لحمض الهيدروفلوريك ، الذي يزيل طبقة الأكسيد حيث لا تكون محمية بواسطة مقاوم الضوء (4). تظهر الثقوب في الأكسيد التي تتوافق مع النمط الموجود على القناع الضوئي. ثم تتعرض الركيزة لغاز ساخن يخترق مناطق غير محمية من السيليكون ويغير خصائصه الموصلة (5). تولد هذه العملية مساحات صغيرة من السيليكون بها شوائب تتوافق مع الصورة الموجودة على القناع الضوئي (6). تُستخدم أقنعة ضوئية أخرى لخطوات إنتاج أخرى ، لكنها تستخدم نفس العملية باستخدام مقاوم للضوء.





كيف يتم إضافة الشوائب إلى مناطق السيليكون باستخدام الفوتوشوب الضوئية ، سأقوم



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





ينتج القناع الضوئي الأول بقعًا من السيليكون الموصل



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





يخلق القناع الضوئي الثاني ثقوبًا في طبقة الأكسيد ،



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





القناع الضوئي الثالث (الرمادي) يخلق شوائب في سيليكون الترانزستور العلوي



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





يخلق القناع الضوئي الرابع ثقوبًا في الأكسيد



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





يقوم القناع الضوئي الخامس بإنشاء تخطيط معدني



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





تتوافق دائرة العاكس N-MOS مع القوالب أعلاه



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



يحتوي المعالج النانوي على رقمين مختلفين للجزء. يشير الرقم 1820-1691 إلى الإصدار 2.66 ميجاهرتز و 1820-1692 الإصدار 4 ميجاهرتز. تم كتابة الرقم الأخير يدويًا على كل شريحة بعد التحقق منه في العلبة. لا يرتبط رقم الجزء برقم الشريحة 9-4332A على القالب.





رسومات رقاقة



كيف يتحكم المعالج النانوي في الساعة



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



كان HP 9825 عبارة عن كمبيوتر مكتبي 16 بت مع دعم للغة مشابهة للغة الأساسية. تم تقديمه في عام 1976 ، قبل خمس سنوات من كمبيوتر IBM ، كان نظامًا متقدمًا جدًا في ذلك الوقت. في الخلف ، كان به ثلاثة موصلات لإضافة وحدات مثل وحدة ساعة الوقت الحقيقي.





HP 9825 مع شاشة LED ومحرك شريط وطابعة



لتوفير الطاقة ، يتم تنفيذ شريحة الساعة من Texas Instruments على منطق الحقن المتكامل (I2L). تستخدم رقائق الطاقة المنخفضة اليوم CMOS ، لكن هذا كان نادرًا في ذلك الوقت. تم بناء I2L على ترانزستورات ثنائية القطب ، على غرار TTL ، ولكن باستخدام دوائر مختلفة ذات كثافة عالية واستهلاك منخفض للطاقة. ربما كانت شريحة X-902 في حزمة DIP.





معالج نانوي (رقاقة بيضاء) كجزء من وحدة ساعة HP. على يسارها هو 2 كيلو بايت ROM. على اليمين شريحتان للذاكرة 256 بت × 4. شريحة ساعة Texas Instruments عبارة عن شريحة سوداء كبيرة أسفل بطارية NiCad الخضراء.



يتحكم الكمبيوتر في وحدة الساعة عن طريق إرسال سلاسل ASCII من الأحرف مثل "S 12: 07: 12: 45: 00" ، والتي يجب أن تضبط الوقت على 12:45:00 7 ديسمبر (أو 12 يوليو بالتدوين الأوروبي). تم تشغيل أجهزة ضبط الوقت ، وأجهزة الإنذار ، وعدادات الفاصل الزمني المختلفة للوحدة بطريقة مماثلة ، من خلال أوامر مثل "فترة الوحدة الثانية 12345". دعمت الوحدة 24 أمرًا ، وكان المعالج النانوي بحاجة إلى التعرف عليها .



هنا جزء من رمز تم تصميمه بشكل عكسي من ذاكرة القراءة فقط. هذا هو الكود من معالج المقاطعة الذي يزيد المؤقت والتاريخ كل ثانية. يحدد الكود عدد الأيام في الشهر حتى يعرف متى يجب تغيير الشهر إلى الشهر التالي. الأعمدة - قيم البايت والأوامر والتفسيرات الخاصة بي. يحصل هذا الرمز على رقم الشهر (01-12 BCD) ، ويخزنه في المجمع ، ويعيد عدد أيام الشهر (28 أو 30 أو 31 BCD) في السجل 0. ليس سيئًا بالنسبة لـ 16 بايت من التعليمات البرمجية ، على الرغم من تجاهل السنوات الكبيسة. كيف يعمل؟ بالنسبة للأشهر التي تلي 7 (يوليو) ، فإنه يطرح 1. ثم ، إذا كان الشهر فرديًا ، فسيكون له 31 يومًا ، وإذا كان حتى 30 يومًا. لمعالجة فبراير ، يمسح الرمز بت 1 شهر. إذا أصبح الشهر صفرًا (فبراير) ، فسيكون له 28 يومًا.



d0 STR-0 (7) 0.

07

0c SLE , <= 0.

03 DED 1

5f NOP

d0 STR-0 (0x31) 0

31

30 SBZ-0 , 0 0

81 JMP-1 0x1c9 ( )

c9

a1 CBN-1 1

d0 STR-0 (0x30) 0

30

0f SAN , 0

d0 STR-0 (0x28) 0

28








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



في الكود ، صادفت مكانًا أحتاج فيه إلى إضافة رقمي BCD وتشكيل بايت واحد. تم ذلك من خلال دورة قلصت رقمًا وزادت آخر. عندما وصل العدد الأول إلى الصفر ، حصل الثاني على مجموعهم. لذلك ، حتى بدون ALU ، يمكن إجراء الإضافة ، وإن كان ذلك ببطء.



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



على الرغم من أن المعالج النانوي لا يحتوي على وحدات ALU أو أوامر ذاكرة وصول عشوائية ، إلا أنه يمكن توصيلها كأجهزة إدخال / إخراج إضافية. تحتوي الساعة على ذاكرة وصول عشوائي 256 بايت تخزن قيم العدادات والمؤقتات ، والتي يتم تنظيم الوصول إليها من خلال منافذ الإدخال / الإخراج. منتجات أخرى أضافت ALUs لدعم العمليات الحسابية.



يوضح مخطط لوحة الساعة كيفية توصيل شريحتي ذاكرة وصول عشوائي (RAM) بحجم 256 × 4 بمعالج النانو. يحدد منفذ إدخال / إخراج المعالج النانوي دبوسًا ويتصل بـ "3-8 Decoder" U5 ، والذي ينتج إشارات منفصلة لكل من منافذ الإدخال / الإخراج. يذهب ثلاثة منهم إلى دبابيس التحكم الخاصة بشريحة ذاكرة الوصول العشوائي ، ويتحكم أحدهم في رقائق مزالج البيانات U9 و U10 ، والتي تحتوي على البيانات المكتوبة.







تستخدم جميع منافذ الإدخال / الإخراج ناقل بيانات المعالج النانوي (أعلى) لتبادل البيانات ، لذلك يتصل الناقل بكل من دبابيس عناوين شرائح ذاكرة الوصول العشوائي ودبابيس البيانات. للقراءة ، تتم كتابة عنوان الذاكرة على الشرائح من خلال منفذ إدخال / إخراج ، ثم تتم قراءة البيانات من الذاكرة عبر منفذ آخر. في كلتا الحالتين ، تمر القيم عبر ناقل البيانات ، وتشير الإشارة من "3-8 Decoder" إلى ما يجب فعله بالقيم. للكتابة ، تخزن عملية الإدخال / الإخراج الأولى قيمة البايت في المزالج ، ثم ترسل عملية الإدخال / الإخراج الثانية العنوان إلى شرائح الذاكرة. قد يبدو هذا مثل أسلوب غولدبرغ الخرقاء على غرار الآلة ، لكنه يعمل بشكل جيد من الناحية العملية ويمكن إجراء القراءة / الكتابة باستخدام بايتين من التعليمات.



العديد من المعالجات ، مثل 6502 ، تستخدم ذاكرة الإدخال / الإخراج المعينة - يتم تعيين الأجهزة إلى مساحة عنوان الذاكرة والوصول إليها من خلال عمليات القراءة / الكتابة. يعمل المعالج النانوي في الاتجاه المعاكس ، حيث يقوم بتوصيل الذاكرة بمنفذ الإدخال / الإخراج والوصول إليها من خلال عمليات الإدخال / الإخراج.



عند إضافة ALUs ، يتم استخدام نهج مماثل- مثل الفولتميتر HP 3455A باستخدام اثنين من المعالجات النانوية. يستخدم الفولتميتر شريحتين من طراز 74LS181 ALU لتنفيذ وحدة ALU 8 بت ، والتي يستخدمها لقياس القيم وحساب النسبة المئوية للخطأ. يوفر منفذا الخروج وسيطات ، ويعرف أحدهما العملية. تتم قراءة نتيجة 8 بت من المنفذ ، ويقرأ المعالج النقل من خلال دبوس GPIO (يجعلك تتساءل عما إذا كان من الأسهل استخدام المعالج مع الدعم الحسابي).



النتيجة



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



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



All Articles