ماذا علمتنا PDP-11؟


CG Bell، WD Strecker، "Computer What we Learned from PDP-11" ، الندوة السنوية الثالثة حول وقائع مؤتمر هندسة الكمبيوتر ، ص. ل 14 ، 1976.

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

  • CG Bell، R. Cady، H. McFarland، B. Delagi، J. O'Laughlin، R. Noonan and W. Wulf، "A New Architecture for Mini-Computers - The DEC PDP-11،" Proceedings of the Sprint Joint مؤتمر الكمبيوتر ، ص. 657-675 ، مطبعة AFIPS ، 1970.
  • CG Bell، WD Strecker، "Computer What we Learned from PDP-11" ، الندوة السنوية الثالثة حول وقائع مؤتمر هندسة الكمبيوتر ، ص. ل 14 ، 1976.
  • WD Strecker ، "VAX-11/780: ملحق عنوان افتراضي لعائلة DEC PDP-11" ، وقائع المؤتمر الوطني للكمبيوتر ، ص. 967-980 ، مطبعة AFIPS ، 1978.
  • CG Bell، WD Strecker، "Retrospective: ما الذي تعلمناه من PDP-11 - ما تعلمناه من VAX و Alpha" ، وقائع الندوة الدولية السنوية الخامسة والعشرين حول هندسة الكمبيوتر ، ص. 6-10 ، 1998.

نحتفل هذا العام بالذكرى الستين لتأسيس الشركة التي صنعت PDP-11. لقد مرت 40 عامًا منذ اللحظة التي كُتبت فيها هذه المقالة ، وأعتقد أنه سيكون من المثير للاهتمام أن نسترجع مقالات بيل من وجهة نظرنا الحديثة.



ما هي شركة المعدات الرقمية؟


لتخيل الوقت الذي كُتب فيه المقال ، نحتاج أولاً إلى التحدث قليلاً عن الشركة التي أطلقت PDP-11 ، شركة Digital Equipment Corporation من ماينارد ، ماساتشوستس. المعروف باسم DEC.



تأسست DEC في عام 1957 من قبل كين أولسن وهارلان أندرسون. عمل أولسن وأندرسون سويًا في مختبر لينكولن بمعهد ماساتشوستس للتكنولوجيا ، حيث لاحظوا أن الطلاب وقفوا طيلة ساعات لاستخدام TX-0 ، وهو جهاز كمبيوتر تفاعلي تجريبي طورته ويس كلارك

1
واصلت Clark تطوير TX-0 في TX-2 وانضمت لاحقًا إلى DEC كرئيس لـ LINC



هذا هو TX-0.



دعنا نقارن ذلك بشيء مثل IBM 704 ، وهو جهاز كمبيوتر في ذلك الوقت كان معظم الطلاب يتجاهلونه.

2
بعد العرض التقديمي ، اقترح أحدهم أن كراهية الطلاب تجاه IBM يمكن أن تستند إلى نقص في ميزانية وقت الكمبيوتر لهذا النظام.

ما اكتشفه أولسن وأندرسون هو أن الرغبة في استخدام جهاز كمبيوتر تفاعلي كانت قوية لدرجة أن هناك سوق لأجهزة الكمبيوتر "الصغيرة" المصممة لهذا الدور.



قدمت DEC في البداية PDP-1 ، وهي نسخة تجارية فعالة من TX-0.

التعديل : يرجى مني مايكل شيبونيس ، رئيس مشروع الاسترداد PDP-1 ، أن يكتب لي ما يلي:

لدى Whirlwind و PDP-1 رمز تشغيل من 5 بتات ، بدأ TX-0 برمز عملية من 2 أو 3 بت ، لكن هذه القيمة زادت مع زيادة حجم ذاكرة TX-2. تكشف المقارنة بين ترتيب رموز PDP-1 و Whirlwind أن PDP-1 هو إصدار أرخص ومحسّن نوعًا ما من بنية Whirlwind.

  • تعزيز: أضيفت معالجة غير مباشرة.
  • تخفيض التكلفة: تتم إزالة "السجل المباشر" وإضافة تعليمة "استدعاء روتين فرعي" ، وتتم إزالة عداد التحول نظرًا لحقيقة أن تعليمات الضرب والقسمة الصحيحة يتم استبدالها بتعليمات خطوة الضرب والقسمة ، مما يؤدي إلى تحول برقم واحد. كان أكبر انخفاض في سعر PDP-1 مقارنة بـ Whirlwind بسبب التغير في تصميم المنطق والتصميم.

كان التباين بين PDP-1 و IBM 704 رائعًا ، ولكن قبل عدة سنوات ، ظهرت بالفعل أجهزة كمبيوتر تفاعلية صغيرة وبطيئة ، مثل Librascope LGP-30 و Bendix G-15 ، وتم بيعها بكميات مماثلة.

تجدر الإشارة أيضًا إلى أن اسم PDP هو اختصار لـ "Processed Data Processor" ، لأن أجهزة الكمبيوتر في ذلك الوقت كانت تعني آلات كبيرة ومعقدة ومكلفة ، وقد لا يدعم أصحاب رؤوس الأموال DEC إذا قاموا بإنتاج "أجهزة كمبيوتر"

3
واحدة من ألعاب الكمبيوتر الأولى ، " Spacewar " لستيف راسل ، تم كتابتها من أجل PDP-1

بعد نجاح PDP-1 ، قدمت DEC العديد من عائلات أجهزة الكمبيوتر ، والتي تم تصميم الكثير منها ، على الأقل جزئيًا ، بواسطة Gordon Bell.

مقدمة


لا يتم تحديد الكمبيوتر بالكامل حسب العمارة ؛ إنها تعكس الجوانب التكنولوجية والاقتصادية والإنسانية في الزمان والمكان اللذين تم تصميمهما فيه وصيانتهما. الكمبيوتر النهائي هو نتاج عصره.

منذ البداية ، يعلمنا Bell أنه لنجاح أي مشروع كمبيوتر لا تحتاج إلى بناء أفضل كمبيوتر مجردة في العالم ، ولكن لإنشاء الكمبيوتر المناسب ، مع مراعاة السياق.

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

في هذا الوقت ، في عام 1976 ، كان بيل رئيس تطوير DEC لمدة أربع سنوات تقريبًا. من الواضح أنه ينظر إلى نجاح PDP-11 في سياق سوق أوسع ، كان من المفترض أن يفي باحتياجاته ، والتي أثرت لاحقًا على تطور عائلة PDP-11 بأكملها.

يركز هذا العرض التقديمي بروح كلمات بيل ، على جانبين من جوانب المقال ، والتكنولوجيا والأشخاص.

الأساسيات: الأفكار وراء التصميم


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

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

مثل IBM / 360 ، لم يتم تطوير PDP-11 كنموذج كمبيوتر واحد ، ولكن كسلسلة من النماذج ، في حين أن البرنامج المكتوب من أجل PDP-11 الصغير سيكون متوافقًا مع الطراز الكبير.

يُستخدم مصطلح "هندسة" هنا لوصف سمات النظام ، كما يراه المبرمج ، أي "هيكل مفاهيمي وسلوك وظيفي ، وليس لوصف تنظيم تدفق البيانات وإدارتها ، والتصميم المنطقي والتنفيذ المادي." - GM Amdahl GA Blaauw و FP Brooks Jr. معمارية نظام IBM / 360 ، 1964

نظرًا للطبيعة المفتوحة لـ PDP-11 ، فإن أي شيء يفسر التعليمات وفقًا لمواصفات المعالج هو PDP-11 ، وبدأت DEC ، بمجرد تحسّن سوق PDP-11 ، في بناء تطبيقات لهذه البنية ، كان لديهم عدة مجموعات ، واحدة حيث بنوا أجهزة كمبيوتر سريعة ومكلفة ، في حين صمم آخرون أجهزة أبطأ بسعر أقل.

على الرغم من أسلوب التخطيط التطوري ، كانت PDP-11 ناجحة في السوق: تم بيع أكثر من 20.000 وحدة في السنوات الست التي كانت في السوق (1970-1975). التصميم في هذه الحالة ليس مهمًا جدًا: يمكن لمؤسسة تسويق كبيرة وعنيفة ، مسلحة ببرامج لتصحيح العيوب والإغفالات المعمارية ، أن توفر أي تصميم تقريبًا.

هنا ، يطرح بيل في مقاله السؤال التالي: هل كان لدى PDP-11 تصميم جيد ، أم اكتسب ميزة من خلال التسويق المفرط النشاط؟ للإجابة على سؤاله ، ينظر بيل في المنتج من حيث معايير التصميم التي حددها هو ومؤلفوه المشاركون قبل ست سنوات.

مساحة العنوان


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

كان لدى الحواسيب الصغيرة في تلك الحقبة مساحة عنوان 12 بت ، مما سمح بمعالجة 4096 عنوان فقط ، كل منها يخزن كلمة 12 بت.

تجدر الإشارة إلى أن كلمة "minicomputer" ، والتي أصبحت فيما بعد الحجم المادي ، تم تشكيلها في الأصل من عبارة "كمبيوتر صغير". كان المثال الأساسي هو PDP-8 ، نموذج DEC السابق ، والذي كان يحتوي على ثمانية تعليمات فقط.



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

تم ترتيب النوى في لوحة ، في هذه الحالة 4096 بت لكل منها ، وكانت مكدسة للحصول على كلمة ، لذلك تتكون 4096 كلمة من الذاكرة من 16 مليون حلقة ( هنا ، من الواضح ، خطأ في النص الأصلي ، 4096 كلمة * 16 بت = 65536 حلقة ترجمة تقريبية ) ، كان كل منها ، على الأقل جزئيًا ، مجمّعًا يدويًا. أصبح من الواضح الآن لماذا كانت الذاكرة باهظة الثمن.



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

اتبعت PDP-11 هذا التقليد السيئ المتمثل في الادخار على وحدات بت العنوان ، لكن تم حفظه بمبدأ أن التصميم الجيد يمكنه البقاء على الأقل تغيير رئيسي واحد.

حتى مع الأخذ في الاعتبار تنبؤات المطورين ، لاحظ Bell أنه بعد مرور أقل من عامين على إدخال بنية PDP-11 ، تطلب الأمر تضمين وحدة إدارة الذاكرة في الهيكل لتوفير الوصول إلى مساحة عناوين أكبر من 18 بت على حساب زيادة تعقيد البرامج . وبعد سنوات قليلة تم إضافة 4 بت أخرى.

في الإنصاف ، على الرغم من أن بيل انتقد نفسه لكونه متسرعًا ، إلا أن تقليد جعل مساحة العنوان غير كافية لا يزال مستمراً حتى يومنا هذا. تذكر القيد 640K في DOS؟ تذكر المعارك مع himem.sys؟ في مواجهة موقف حيث يتطلب برنامج 32 بت أكثر من 2 غيغابايت للبيانات؟

لذلك لا يوجد أحد مثالي.

لا سجلات كافية


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

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

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

يوجد ارتباط قوي بين عدد السجلات في البنية ، وعدد بتات العنوان ، وحجم التعليمات. كل هذه العوامل تسبب ذاكرة غير كافية ، ومن المنطقي التفكير بعناية من خلال نظام القيادة.

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

لنلقِ نظرة على حالة شائعة جدًا تتمثل في الانتقال من موقع ذاكرة إلى آخر. كم عدد البتات اللازمة لوصف هذه العملية؟ إليك أحد التطبيقات الممكنة:

MOV addr addr 

تحتاج إلى 16 بت لعنوان المصدر و 16 بت أخرى لعنوان الوجهة وعدد معين من البتات لتشفير تعليمة MOV نفسها. دع هناك إجمالي 40 بت ، هذه ليست مضاعفات 16 ، مما يعني ترميز معقد 2.5 بت من التعليمات. ومع ذلك ، ماذا لو قمنا بتحميل العنوان في السجل؟

 MOV (R0), (R1) 

في هذه الحالة ، نحتاج إلى وصف السجلات فقط ، ويحتوي PDP-11 على 8 سجلات ، و 3 بت فقط كافية لوصف السجل ، بالإضافة إلى عدد قليل من البتات لوصف المشغل. يمكن لمثل هذا الأمر أن يتناسب بسهولة مع كلمة ذات 16 بت ، ولا يتطلب ترميزًا معقدًا للتعليمات ذات طول متغير.



في الواقع ، يستخدم PDP-11 6 بت لكل سجل ، و 4 بت لكل عملية إذا كان التعليمة تحتوي على اثنين من المعاملات.

كومة الأجهزة


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

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

يعود تصميم PDP-11 إلى عام 1969 ، وإذا نظرنا إلى لغات البرمجة في ذلك الوقت ، FORTRAN و COBOL ، فإنهما لم يدعما استدعاء دالة متكررة. تضمن تسلسل استدعاء الوظيفة تخزين عنوان المرسل في كلمة فارغة في بداية الإجراء ، مما جعل العودية مستحيلة.



يعرّف PDP-11 مؤشر المكدس كما نفهمه اليوم ، كسجل يتحكم فيه PUSH و POP ، لكن PDP-11 ذهب أبعد من ذلك وسمح لأي سجل بالعمل كمؤشر مكدس عن طريق إضافة معدّل زيادة / تناقص تلقائي إلى سجلات المعامل.

على سبيل المثال ، تعليمة واحدة:

 MOV R4, -(R6) 

سيؤدي إلى تقليل القيمة في R6 بمقدار اثنين ، ثم تخزين قيمة R4 على العنوان المخزن في R6. وبالتالي ، في المجمع PDP-11 نضع القيمة على المكدس. إذا كان أي منكم مبرمجًا لـ ARM ، فيجب أن يكون هذا مألوفًا لك.

هذا يعني أنه لا توجد حاجة لتعليمات PUSH أو POP مخصصة ، حيث يوفر هذا مساحة التعليمات ، ويسمح لك باستخدام أي سجل كمؤشر مكدس ، على الرغم من أن مؤشر المكدس هو R6 ، ويستخدمه الجهاز عند إجراء مكالمة برنامج فرعي.

المقاطعة تأخير


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

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

في PDP-11 ، يوفر الجهاز الذي تسبب في المقاطعة عنوان معالج المقاطعة. جرس يكتب بصراحة حول هذا:

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

دعم الشخصية


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

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



نظرًا لأن الذاكرة كانت باهظة الثمن ، فإن وضع حرف واحد في كلمة مكونة من 12 بت أو 18 بت كان ببساطة غير مقبول ، وكانت الأحرف مكتوبة بالكلمات.

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

تم حل المشكلة في PDP-11 ، ويمكن للجهاز أن يعمل بكل من الكلمات ذات 16 بت والبايت 8 بت واكتساب شعبية. تمديد طول الأحرف ببتتين عمليات سلسلة مبسطة ، وجعلها أسهل للتكيف مع معيار ASCII ذي 7 بت المتزايد الشعبية ، والذي كان مدعومًا من قبل DEC في ذلك الوقت. جرس ينتهي هذه الفقرة مثل هذا:

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

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

 loop: MOVB (src)+, (dst)+ BNE loop 

يستفيد هذا الرمز من حقيقة أن أمر MOV يعيّن العلامات. ستستمر الدورة حتى تصبح القيمة في عنوان المصدر صفرية ، وعندئذٍ ينتقل التحكم إلى التعليمة التالية. هذا هو السبب في أن الخطوط C تنتهي بـ صفر.

ROM


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

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

بدائية I / O


الضعف السابع لأجهزة الكمبيوتر الصغيرة هو قدرات الإدخال / الإخراج البدائية.

خلال أواخر الستينيات ، عندما تم تطوير PDP-11 ، كانت أجهزة الإدخال / الإخراج باهظة الثمن. تستخدم أجهزة الكمبيوتر المركزية في ذلك الوقت ما يسمى بالقناة I / O ، حيث أرسل المعالج المركزي برنامجًا صغيرًا إلى وحدة التحكم في القناة ، والتي نفذت البرنامج وأبلغت عن النتيجة. يمكن للبرنامج ، على سبيل المثال ، تحميل البيانات من شريط مغناطيسي أو اختراق بطاقة مثقوبة.

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



في عالم الحواسيب الصغيرة ، عادة ما يتم إدخال / إخراج وحدة المعالجة المركزية مباشرة ، وعادة ما تستخدم تعليمات متخصصة مشفرة بشكل ثابت لكل جهاز محدد ، مثل محرك الشريط أو طابعة وحدة التحكم.

قدم PDP-11 شيئًا غير عادي ، تم تعيينه I / O. لم تكن هذه الإدخال / الإخراج المعيّن للذاكرة التي يمكنك استخدامها مع استدعاء نظام mmap (2) ، ولكن مجرد اتفاق على أن بعض العناوين في الذاكرة ليست مجرد خلايا ذاكرة ، ويتم عرض محتوياتها على لوحات مدرجة في لوحة الكترونية معززة ، الذي كان في DEC كان يطلق عليه UNIBUS.



على سبيل المثال ، القيمة المسجلة في 777566
4
يتم إعطاء العناوين في ثماني ، كما كان معتادًا على أجهزة DEC 12 و 18 و 36 بت السابقة
سيتم كتابتها إلى جهاز متصل بوحدة التحكم ، وعادة ما تكون محطة الطباعة.



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



وبالمثل ، تم الوصول إلى محرك الأقراص RK05 عن طريق كتابة رقم القطاع الذي تريد الوصول إليه على العنوان 777412 ، والعنوان الذي تريد كتابة البيانات إليه على 777410 ، وعدد الكلمات إلى 777406. ثم ، اضبط الصفر بت على 777404 إلى 1 ( قليلا GO) ، وسوف ينقل محرك الأقراص العدد المطلوب من الكلمات مباشرة في الذاكرة.



كان جهازي المفضل هو KW11-L. يؤدي كتابة البت 6 لمعالجة العنوان 777546 إلى مقاطعة كل 20 مللي ثانية. لماذا هو 20 مللي؟ لأنها فترة تردد التيار المتردد

5
إذا كنت قد طلبت سيارة لمنطقة ذات تردد شبكة يبلغ 60 هرتز ، فسيكون لها رقم مختلف (جزء)

نعم ، مثل الساعة المنزلية ، يحسب PDP-11 الوقت حسب فترات الجهد في الشبكة.

ارتفاع تكلفة البرمجة


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

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

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



ومع ذلك ، يبدو أن بيل لم يكن على دراية بعمل طومسون وريتشي ، اللذين كانا مشغولين في بناء بيئة برمجية خاصة بهما على PDP-11 في نيو جيرسي.

الناس الذين بنوا التصميم


دعنا ننتقل إلى القسم الثاني: الناس

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

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

يمكن تقسيم المشكلات التي يواجهها مطورو الكمبيوتر إلى قسمين: المشكلات الناتجة عن قلة الخبرة والمشاكل ذات الطبيعة النظامية.

هنا ، يستذكر بيل كلمات فريد بروكس من كتابه الأخير في ذلك الوقت ، وهو شهر الأسطوري .

ناضل Brooks ، رئيس مشروع OS / 360 ، لسنوات لإنشاء نظام تشغيل واحد عام للأغراض العامة يمكن تشغيله على جميع طرز IBM / 360 ، والتي كانت هدف المشروع. كانت كلمات بروكس جديدة في ذاكرة بيل عندما كتب هذه الفقرة.

الجدول الزمني للتصميم


هذا القسم هو نافذة على عمل شركة DEC في أواخر الستينيات.

تذبذب التنظيم الداخلي لفرق التصميم في DEC على مر السنين بين اتجاه السوق وتوجيه المنتج. عندما نمت الشركة بنسبة 30 أو 40 ٪ سنويا ، كانت هناك حاجة لإعادة التنظيم المستمر. في أي وقت من الأوقات ، كان حوالي ثلث الموظفين يعملون في الشركة لمدة تقل عن عام.

ارفع يديك إذا كان هذا مألوفًا لك.

خلال تطوير PDP-11 ، تم هيكلة الشركة حول خطوط الإنتاج. تم تنظيم مطوري الشركة في مجموعات صغيرة: مجموعة PDP-10 ، مجموعة PDP-15 (آلة 18 بت) ، مجموعة PDP-8 ، مجموعة فرعية PDP-8 / S ، مجموعة LINC-8. شملت كل مجموعة المسوقين والمهندسين المسؤولين عن تطوير المنتجات والبرمجيات والأجهزة. نتيجة لمثل هذه المنظمة ، تم تقسيم الخبرة في الهندسة المعمارية إلى مجموعات.

تكرس بيل بعض الوقت لمراجعة كل مجموعة ، وتذكر نقاط قوتها وضعفها ، ومساهمتها في PDP-11. لن أدرج كل هذا هنا ، مع استثناء واحد.

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

عملت مؤخرًا في شركة برمجيات حقق فيها واحد أو اثنين من أقدم المنتجات تقريبًا كل أرباح الشركة ، وأنا أفهم وضع بيل جيدًا. كان PDP-10 إصدار DEC من أجهزة الكمبيوتر المركزية وسريعًا جدًا ومتوفر بسعر ثابت واحد فقط.

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

وهنا يقدم لنا Bell درسًا جيدًا: إذا كانت كفاءاتك في نفس السلسلة مثل مشروعات المديرين الآخرين ، فلديهم أداة فعالة لقتل مشروعك قبل أن يدخل السوق.

في وقت لاحق ، يبدو أن الأشخاص المشاركين في تطوير PDP-X كانوا يعملون على تطوير البيانات العامة في نفس الوقت.

قد لا يكون هذا قد لاحظه القارئ العادي ، ولكنه يشير إلى "الثمانية الغاضبين" لـ Shockley قبل عقد من الزمن

6
تضمنت هذه المجموعة روبرت نويس وجوردون مور ، اللذان تركا بعد عشر سنوات شركة فيرتشايلد وأسس شركتهما إنتل.

غادر إدسون دي كاسترو ، مدير منتج PDP-8 ، ومدير مشروع PDP-X DEC ، مع عدة أشخاص من فريقه ، لتكوين Data General. ليس من الواضح من السجلات ما إذا كان دي كاسترو قد غادر بسبب توقف PDP-X ، أو ما إذا كانت رحيله هي القشة الأخيرة لقتل المشروع. على أي حال ، كانت النتيجة واضحة ، كما يكتب بيل.

عندما تم إغلاق مشروع PDP-X ، بدأ مشروع DCM (آلة حاسبة مكتب ، اسم الرمز الذي تم اختياره للخصوصية). كان التصميم والتخطيط خاطئين لأن Data General تنافس مع جهاز الكمبيوتر الصغير للغاية ذو 16 بت.

لم يتنافس Data General مع DEC مع كمبيوتر Nova الذي يحتوي على 16 بت في السوق الذي تم تطوير PDP-8 والذي كان يعرفه كاسترو مثل ظهره: معدات مخبرية مثبتة على حامل



12 بت PDP-8 مقابل بيانات نوفا 16 بت نوفا



PDP-11: الدرجات


في الجزء الأخير من المقالة ، تتم مقارنة PDP-11 مع سابقاتها ، ثم يستمر Bell في تقييم بنية PDP-11 نفسها. وكان أكبر إنجاز هو UNIBUS.

بشكل عام ، تجاوزت حافلة UNIBUS كل التوقعات. يمكن توصيل مئات أنواع أجهزة التخزين والأجهزة الطرفية به ؛ فقد أصبح مكونًا معماريًا قياسيًا للأنظمة في النطاق السعري من 3 آلاف دولار إلى 100 ألف دولار (1975).

ما هو UNIBUS؟




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



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

هنا مثال على وحدات DEC المبكرة.



يمكنك تركيبها على لوحة الكترونية معززة معقدة مع اتصالات سلكية ، وبناء جهاز كمبيوتر منها ، في هذه الحالة PDP-8.

UNIBUS هو تطور للتطورات السابقة في DEC وهو عبارة عن تجريد من حافلة التحكم المثالية. إن توفر مكونات تكامل متوسطة يلغي الحاجة إلى لوحة الكترونية معززة معقدة وينقل التعقيد الرئيسي إلى الوحدات النمطية المثبتة في لوحة الكترونية معززة. هذا يجعل من الممكن بناء الوحدات النمطية القياسية التي تتصل بجهاز الكمبيوتر.

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

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

ماذا علمتنا PDP-11؟




ينتهي تاريخ بيل بأثر رجعي في وقت كتابة المقال ، أي في 1976-77 ، ولكن من وجهة نظرنا ، بعد أربعين سنة ، كان تأثير PDP-11 هائلاً.

RISC


في البداية ، عندما لم يتم تطوير PDP-11 بعد ، علاوة على ذلك ، لم يتم اعتباره آلة RISC ، فإن هذا المصطلح لم يكن موجودًا قبل تقديمه من قبل John Coke في عام 1976 فيما يتعلق بـ IBM 801. ومع ذلك ، بالنسبة لكل من لديه خبرة في البرمجة معالجات ARM ، معالجات RISC الحديثة ، تشابهها واضح. مثلما أن تصميم لغات البرمجة هو عملية تطورية وكذلك استعارة ، يحدث نفس الشيء مع تصميم نظام القيادة.

قاد PDP-11 أيضًا حصة مباشرة في صميم تعليمات I / O المحددة ، والموافقة على نموذج I / O المعين على الذاكرة ، والتي هي الآلية الأكثر شيوعًا اليوم. المعالجات الوحيدة التي لديها تعليمات I / O منفصلة هي Intel 8080 وابن عمه Z80.

يونيكس


كان لـ PDP-11 تأثير كبير على البرامج وأنظمة التشغيل. كانت PDP-11 هي آلة كين طومسون ودينيس ريتشي التي طورت يونيكس في مختبرات بيل.

7
UNIX PDP-7 . 1970 PDP-11/20, PDP-11/45.

قبل PDP-11 ، لم تكن UNIX موجودة. قبل PDP-11 ، لم تكن C موجودة ؛ لقد كان الكمبيوتر هو الذي تم تصميم C من أجله. إذا كنت تريد أن تعرف لماذا في C الكلاسيكي يحتوي على 16 بت ، فهذا بسبب PDP-11.

جلبت لنا UNIX فكرة الأنابيب ، "كل شيء ملف" ، والحوسبة التفاعلية.

VAX-11/780


في الحوسبة التفاعلية ، يعد استخدام الذاكرة غير محدود ، وعلى الرغم من أن PDP كان جيدًا للتحكم في العملية ، إلا أن متطلبات الحوسبة التفاعلية كانت السبب وراء إنشاء بديل لـ PDP-11.

في العام الذي صدر فيه Bell ، 1977 ، تم إصدار تابع PDP-11 ، VAX-11 ، والذي يعني "امتداد العنوان الافتراضي".

BSD


وصل UNIX إلى بيركلي في عام 1974 ، أحضر كين طومسون الشريط ، الذي كان بداية التطوير على الساحل الغربي لـ BSD - Berkley Systems Distribution.

تم نقل شركة Berkeley UNIX إلى شركة VAX في أوائل الثمانينيات من القرن الماضي وازدهرت كبديل معاكس للثقافة لنظام تشغيل VMS في DEC. أنتجت شركة Berkeley UNIX جيلًا جديدًا من المتسللين الذين أسسوا فيما بعد شركات مثل Sun Microsystems ولغات مثل Self ، والتي أدت مباشرة إلى ظهور Java.

تم نقل UNIX إلى عدد كبير من أنظمة الكمبيوتر خلال الثمانينات ، ونتيجة "UNIX war" ، تم إنشاء أنظمة BSD المختلفة الموجودة حتى يومنا هذا.

التالي


أصبحت 4BSD ، وهي مشتقة من توزيع Berkeley الأصلي ، أساس نظام تشغيل عائلة أجهزة الكمبيوتر NeXT من Steve Jobs. عندما اشترت Apple NeXT في عام 1997 ، أصبح NextSTEP ومشتق BSD الخاص به أساس داروين و OSX و iOS.

نظام التشغيل Windows NT


كما قلنا سابقًا ، نتحدث عن Edison de Castro ، كان هناك خونة في DEC.

ديف كاتلر ، مهندس نظام التشغيل VAX VMS ، بعد محاولة فاشلة لبدء مشروع مشترك جديد لنظام التشغيل والأجهزة المصممة لتحل محل VAX ، غادر مايكروسوفت في عام 1988 ، وجلب معه فريقه بأكمله ، وقاد تطوير نظام Windows NT. قد يلاحظ أولئك الذين يعرفون الدواخل الداخلية لنظام التشغيل Windows ونظام التشغيل VMS ميزات شائعة.

زيروكس ألتو


, Data General Nova , , , , Apple Macintosh.

Data General Nova


Data General DEC 32- , , 1981 , " The Soul of a New Machine ".

PDP-11?


, , PDP-11 .

, , , , PDP-11.




What did devops mean ?
Introducing gb, a project based build tool for the Go programming language
avr11: how to add 256 kilobytes of ram to an Arduino
Padding is hard

Source: https://habr.com/ru/post/ar435292/


All Articles