هندسة فون نيومان المعمارية

تُعرف بنية فون نيومان - أو نموذج فون نيومان أو بنية برينستون - بأنها بنية حاسوبية تستند إلى المسودة الأولى لتقرير حول جهاز EDVAC ، [ 1 ] الذي كتبه جون فون نيومان عام 1945، والذي يصف تصاميم نوقشت مع جون موشلي وج . بريسبر إيكرت في كلية مور للهندسة الكهربائية بجامعة بنسلفانيا . يصف هذا التقرير بنية تصميمية لحاسوب رقمي إلكتروني مصنوع من "وحدات" اتضح لاحقًا أنها تتكون من المكونات التالية: [ 1 ] : 1-4 [ 2 ]
- وحدة حسابية مركزية لإجراء العمليات الحسابية؛
- وحدة تحكم مركزية لتسلسل العمليات التي تقوم بها الآلة؛
- ذاكرة تخزن البيانات والتعليمات ؛
- وسيط تسجيل خارجي لتخزين المدخلات والمخرجات من الجهاز؛
- آليات الإدخال والإخراج لنقل البيانات بين الذاكرة ووسيط التسجيل الخارجي.
إن نسبة اختراع هذه البنية إلى فون نيومان غير صحيحة. فقد انتهى إيكرت وماوكلي فعلياً من تصميم حاسوب ذي برنامج مخزن قبل مناقشة الأفكار مع فون نيومان وهيرمان غولدستاين . [ 3 ]
تطور مصطلح "معمارية فون نيومان" ليشير إلى أي حاسوب ذي برنامج مخزن لا يمكن فيه جلب التعليمات وإجراء عملية بيانات في الوقت نفسه (لأنهما يشتركان في ناقل بيانات واحد ). ويُشار إلى هذا باسم عنق زجاجة فون نيومان ، والذي غالبًا ما يحد من أداء النظام المعني. [ 4 ]
تُعد بنية فون نيومان أبسط من بنية هارفارد (التي تحتوي على مجموعة مخصصة من حافلات العناوين والبيانات للقراءة والكتابة في الذاكرة ومجموعة أخرى من حافلات العناوين والبيانات لجلب التعليمات ).
يستخدم الحاسوب ذو البرنامج المخزن نفس الآلية الأساسية لترميز كلٍ من تعليمات البرنامج والبيانات، على عكس التصاميم التي تستخدم آليات مثل توصيلات لوحة التوصيل المنفصلة أو دوائر التحكم الثابتة لتنفيذ التعليمات. مثّلت الحواسيب ذات البرنامج المخزن نقلة نوعية مقارنةً بالحواسيب التي كانت تُعاد تهيئتها يدويًا أو ذات الوظائف الثابتة في أربعينيات القرن العشرين، مثل كولوسوس وإينياك . كانت هذه الحواسيب تُبرمج عن طريق ضبط المفاتيح وإدخال كابلات التوصيل لتوجيه البيانات وإشارات التحكم بين الوحدات الوظيفية المختلفة.
تستخدم الغالبية العظمى من أجهزة الكمبيوتر الحديثة نفس آلية الأجهزة لترميز وتخزين كل من البيانات وتعليمات البرنامج، ولكنها تحتوي على ذاكرات تخزين مؤقتة بين وحدة المعالجة المركزية والذاكرة، وبالنسبة لذاكرات التخزين المؤقتة الأقرب إلى وحدة المعالجة المركزية، فإنها تحتوي على ذاكرات تخزين مؤقتة منفصلة للتعليمات والبيانات، بحيث تستخدم معظم عمليات جلب التعليمات والبيانات ناقلات منفصلة ( بنية ذاكرة التخزين المؤقتة المنقسمة ).
تاريخ
كانت أجهزة الحوسبة الأولى مزودة ببرامج ثابتة. ولا تزال بعض أجهزة الكمبيوتر البسيطة جدًا تستخدم هذا التصميم، إما لتبسيطها أو لأغراض التدريب. على سبيل المثال، الآلة الحاسبة المكتبية (من حيث المبدأ) هي جهاز كمبيوتر ذو برنامج ثابت. يمكنها إجراء العمليات الحسابية الأساسية ، لكنها لا تستطيع تشغيل معالج النصوص أو الألعاب. يتطلب تغيير برنامج جهاز ذي برنامج ثابت إعادة توصيل الأسلاك، أو إعادة هيكلة الجهاز، أو إعادة تصميمه. لم تكن أجهزة الكمبيوتر الأولى "مبرمجة" بقدر ما كانت "مصممة" لمهمة محددة. كانت "إعادة البرمجة" - إن أمكن - عملية شاقة تبدأ بمخططات انسيابية وملاحظات ورقية، تليها تصاميم هندسية مفصلة، ثم عملية إعادة توصيل الأسلاك وإعادة بناء الجهاز، وهي عملية غالبًا ما تكون شاقة. قد يستغرق إعداد برنامج وتصحيح أخطائه على جهاز ENIAC ثلاثة أسابيع . [ 5 ]
مع ظهور الحاسوب ذي البرنامج المخزن، تغير هذا الوضع. يتضمن الحاسوب ذو البرنامج المخزن، بحكم تصميمه، مجموعة تعليمات ، ويمكنه تخزين مجموعة من التعليمات ( برنامج ) في الذاكرة، والتي توضح تفاصيل الحساب .
يُتيح تصميم البرنامج المُخزّن إمكانية تعديل التعليمات البرمجية ذاتيًا . كان أحد الدوافع المبكرة لهذه الخاصية هو حاجة البرنامج إلى زيادة أو تعديل جزء العنوان من التعليمات، وهو ما كان على المشغلين القيام به يدويًا في التصاميم القديمة. وقد تضاءلت أهمية ذلك عندما أصبحت سجلات الفهرسة والعنونة غير المباشرة من السمات الشائعة في بنية الآلة. ومن الاستخدامات الأخرى تضمين البيانات المُستخدمة بكثرة في تدفق التعليمات باستخدام العنونة الفورية .
عندما وصف فون نيومان أنظمة الحوسبة الآلية باستخدام مصطلحات مختلفة عن تلك المستخدمة عادةً في وصف النموذج، في المسودة الأولى لتقرير عن نظام EDVAC ، [ 1 ] كان التصميم يتألف من "ذاكرة عالية السرعة M، ووحدة حسابية مركزية CA، ووسيط تسجيل خارجي R، وعضو إدخال I، وعضو إخراج O، ووحدة تحكم مركزية CC" [ 6 ].
القدرات
على نطاق واسع، تُعدّ القدرة على التعامل مع التعليمات كبيانات هي ما يُتيح وجود المُجمّعات ، والمُترجمات ، والروابط ، والمُحمّلات ، وغيرها من أدوات البرمجة الآلية. فهي تُتيح إنشاء "برامج تكتب برامج". [ 7 ] وقد ساهم ذلك في ازدهار بيئة حوسبة متطورة ذاتية الاستضافة حول أجهزة معمارية فون نيومان.
تستفيد بعض اللغات عالية المستوى من بنية فون نيومان من خلال توفير طريقة مجردة ومستقلة عن الآلة لمعالجة التعليمات البرمجية القابلة للتنفيذ في وقت التشغيل (مثل لغة LISP )، أو من خلال استخدام معلومات وقت التشغيل لضبط الترجمة في الوقت المناسب (مثل اللغات المستضافة على آلة جافا الافتراضية ، أو اللغات المضمنة في متصفحات الويب ).
على نطاق أصغر، يمكن تسريع بعض العمليات المتكررة، مثل BITBLT أو تظليل البكسل والرؤوس، على المعالجات العامة باستخدام تقنيات الترجمة الفورية. يُعد هذا أحد استخدامات الشيفرة ذاتية التعديل التي لا تزال شائعة.
تطوير مفهوم البرنامج المخزن
كتب عالم الرياضيات آلان تورينج ، الذي لفت انتباهه إلى مشكلة في المنطق الرياضي من خلال محاضرات ماكس نيومان في جامعة كامبريدج ، بحثًا عام 1936 بعنوان " حول الأعداد القابلة للحساب، مع تطبيق على مسألة القرار" ، نُشر في وقائع الجمعية الرياضية بلندن . [ 8 ] وصف فيه آلة افتراضية أطلق عليها اسم " آلة الحوسبة الشاملة " ، والمعروفة الآن باسم " آلة تورينج الشاملة ". كانت هذه الآلة الافتراضية تمتلك مخزنًا لا نهائيًا (ذاكرة بمصطلحات اليوم) يحتوي على كلٍ من التعليمات والبيانات. تعرّف جون فون نيومان على تورينج أثناء عمله أستاذًا زائرًا في كامبريدج عام 1935، وكذلك خلال عام دراسة تورينج للدكتوراه في معهد الدراسات المتقدمة في برينستون، نيو جيرسي، خلال الفترة 1936-1937. ولا يُعرف على وجه اليقين ما إذا كان على علم ببحث تورينج لعام 1936 في ذلك الوقت.
في عام 1936، توقع كونراد تسوزه أيضاً، في طلبين للحصول على براءة اختراع، إمكانية تخزين تعليمات الآلة في نفس وحدة التخزين المستخدمة للبيانات. [ 9 ]
بشكل مستقل، كتب كل من ج. بريسبر إيكرت وجون موتشلي ، اللذان كانا يطوران جهاز إينياك في كلية مور للهندسة الكهربائية بجامعة بنسلفانيا ، عن مفهوم البرنامج المخزن في ديسمبر 1943. [ 10 ] [ 11 ] وفي إطار تخطيطهما لجهاز جديد، إيدفاك ، كتب إيكرت في يناير 1944 أنهما سيخزنان البيانات والبرامج في جهاز ذاكرة جديد قابل للعنونة، وهو ذاكرة خط تأخير مصنوعة من معدن الزئبق . وكانت هذه هي المرة الأولى التي يُقترح فيها بناء جهاز عملي يعتمد على البرنامج المخزن. في ذلك الوقت، لم يكن هو وموتشلي على دراية بعمل تورينج.
شارك فون نيومان في مشروع مانهاتن في مختبر لوس ألاموس الوطني . تطلّب المشروع كميات هائلة من الحسابات، ما دفعه للانضمام إلى مشروع إينياك خلال صيف عام ١٩٤٤. هناك، انضم إلى المناقشات الجارية حول تصميم حاسوب ذي برنامج مُخزّن، وهو إيدفاك. وكجزء من تلك المجموعة، كتب وصفًا بعنوان " المسودة الأولى لتقرير عن إيدفاك" [ ١ ] استنادًا إلى عمل إيكرت وماوكلي. لم يكن التقرير مكتملًا عندما عمّمه زميله هيرمان غولدستاين، ولم يحمل سوى اسم فون نيومان (مما أثار استياء إيكرت وماوكلي). [ ١٢ ] قرأ الورقة البحثية عشرات من زملاء فون نيومان في أمريكا وأوروبا، وأثّرت في الجولة التالية من تصميمات الحواسيب.
يرى جاك كوبلاند أنه "من غير المناسب تاريخياً الإشارة إلى أجهزة الكمبيوتر الرقمية ذات البرامج المخزنة الإلكترونية باسم "آلات فون نيومان " " . [ 13 ] وقال زميله في لوس ألاموس، ستان فرانكل، عن تقدير فون نيومان لأفكار تورينج [ 14 ]
أعلم أن فون نيومان كان يدرك تمامًا، في عام 1943 أو 1944 تقريبًا، الأهمية الجوهرية لورقة تورينج البحثية لعام 1936. وقد عرّفني فون نيومان على تلك الورقة، وبناءً على إلحاحه، درستها بعناية. وقد أشاد كثيرون بفون نيومان ووصفوه بـ"أبو الحاسوب" (بالمعنى الحديث للكلمة)، لكني على يقين من أنه لم يكن ليقع في هذا الخطأ أبدًا. ربما كان من الأنسب أن يُطلق عليه لقب "القابلة"، لكنه أكد لي، ولغيري أيضًا على الأرجح، أن التصور الأساسي يعود إلى تورينج، طالما لم يسبقه باباج. بالطبع، قدّم كل من تورينج وفون نيومان إسهامات كبيرة في تطبيق هذه المفاهيم عمليًا، لكنني لا أعتبر هذه الإسهامات مماثلة في أهميتها لتقديم وشرح مفهوم الحاسوب القادر على تخزين برنامج أنشطته في ذاكرته وتعديل ذلك البرنامج أثناء تنفيذ هذه الأنشطة.
في الوقت الذي تم فيه تعميم تقرير "المسودة الأولى"، كان تورينج يُعد تقريرًا بعنوان " آلة حاسبة إلكترونية مقترحة ". وصف فيه، بتفصيل هندسي وبرمجي، فكرته عن آلة أطلق عليها اسم " محرك الحوسبة الآلي" (ACE) . [ 15 ] وقدّم هذا التقرير إلى اللجنة التنفيذية للمختبر الفيزيائي الوطني البريطاني في 19 فبراير 1946. مع أن تورينج كان يعلم، من خلال خبرته في زمن الحرب في بليتشلي بارك، أن ما اقترحه قابل للتطبيق، إلا أن السرية التي أحاطت بمشروع كولوسوس ، والتي استمرت لعقود، منعته من الإفصاح عن ذلك. وقد تم إنتاج العديد من التطبيقات الناجحة لتصميم محرك الحوسبة الآلي (ACE).
وصفت كل من ورقتي فون نيومان وتورينج الحواسيب ذات البرامج المخزنة، لكن ورقة فون نيومان السابقة حظيت بانتشار أوسع، وأصبحت بنية الحاسوب التي حددتها تُعرف باسم "بنية فون نيومان". في منشور عام 1953 بعنوان " أسرع من الفكر: ندوة حول آلات الحوسبة الرقمية " (تحرير ب. ف. باودن)، جاء في قسم من فصل الحواسيب في أمريكا ما يلي: [ 16 ]
آلة معهد الدراسات المتقدمة، برينستون
في عام ١٩٤٥، أصدر البروفيسور يوهان فون نيومان، الذي كان يعمل آنذاك في كلية مور للهندسة في فيلادلفيا، حيث بُني جهاز إينياك، تقريرًا نيابةً عن مجموعة من زملائه حول التصميم المنطقي للحواسيب الرقمية. تضمن التقرير اقتراحًا مفصلًا لتصميم الجهاز الذي عُرف لاحقًا باسم إيدفاك (الحاسوب الإلكتروني ذو المتغيرات المنفصلة التلقائي). لم يُستكمل بناء هذا الجهاز في أمريكا إلا مؤخرًا، لكن تقرير فون نيومان ألهم بناء إيدساك (الحاسبة الإلكترونية ذات التخزين المؤجل التلقائي) في كامبريدج (انظر الصفحة ١٣٠).
في عام ١٩٤٧، نشر بيركس وغولدستاين وفون نيومان تقريرًا آخر يُفصّل تصميم نوع آخر من الآلات (آلة متوازية هذه المرة) فائقة السرعة، قادرة على إجراء ٢٠٠٠٠ عملية في الثانية. وأشاروا إلى أن المشكلة الأبرز في بناء مثل هذه الآلة هي تطوير ذاكرة مناسبة ذات محتوى يُمكن الوصول إليه فوريًا. في البداية، اقترحوا استخدام صمام مفرغ خاص يُسمى " سيليكترون "، والذي اخترعه مختبرات برينستون التابعة لشركة آر سي إيه. كانت هذه الصمامات باهظة الثمن وصعبة الصنع، لذلك قرر فون نيومان لاحقًا بناء آلة تعتمد على ذاكرة ويليامز . هذه الآلة، التي اكتمل بناؤها في يونيو ١٩٥٢ في برينستون، أصبحت تُعرف شعبيًا باسم "مانياك". ألهم تصميم هذه الآلة ما لا يقل عن ست آلات تُبنى حاليًا في أمريكا، تُعرف جميعها باسم "جونياكس".
وفي نفس الكتاب، جاء في الفقرتين الأوليين من فصل عن ACE ما يلي: [ 17 ]
الحوسبة الآلية في المختبر الفيزيائي الوطني
تم مؤخراً عرض أحد أحدث الحواسيب الرقمية، الذي يجسد التطورات والتحسينات في تقنية الحوسبة الإلكترونية الآلية، في المختبر الفيزيائي الوطني في تيدينغتون. وقد صممه وبناه فريق صغير من علماء الرياضيات ومهندسي أبحاث الإلكترونيات العاملين في المختبر، بمساعدة عدد من مهندسي الإنتاج من شركة إنجلش إلكتريك المحدودة. إن الجهاز الذي تم تركيبه حتى الآن في المختبر ليس سوى نموذج تجريبي لمنشأة أكبر بكثير ستُعرف باسم "محرك الحوسبة الآلية". ورغم صغر حجمه نسبياً واحتوائه على حوالي 800 صمام حراري فقط، كما يتضح من اللوحات XII وXIII وXIV، إلا أنه آلة حسابية فائقة السرعة ومتعددة الاستخدامات.
صاغ الدكتور أ. م. تورينج، زميل الجمعية الملكية ، المفاهيم الأساسية والمبادئ المجردة للحوسبة الآلية في ورقة بحثية قُدّمت أمام الجمعية الرياضية بلندن عام ١٩٣٦، إلا أن العمل على هذه الآلات في بريطانيا تأخر بسبب الحرب. وفي عام ١٩٤٥، أجرى السيد ج. ر. وومرسلي، المشرف آنذاك على قسم الرياضيات في المختبر الفيزيائي الوطني، دراسةً لهذه المسائل. وانضم إليه الدكتور تورينج وفريق صغير من المتخصصين، وبحلول عام ١٩٤٧، كانت الخطط الأولية قد قطعت شوطًا كافيًا لتبرير إنشاء المجموعة المتخصصة المذكورة سابقًا. وفي أبريل ١٩٤٨، أصبحت هذه المجموعة قسم الإلكترونيات في المختبر، تحت إشراف السيد ف. م. كولبروك.
أجهزة الكمبيوتر المبكرة ذات بنية فون نيومان
وصفت المسودة الأولى تصميمًا استخدمته العديد من الجامعات والشركات لبناء أجهزة الكمبيوتر الخاصة بها. [ 18 ] ومن بين هذه الأجهزة المختلفة، كان لدى ILLIAC وORDVAC فقط مجموعات تعليمات متوافقة.
- بدأ تشغيل ARC2 ( بيركبيك، جامعة لندن ) رسميًا في 12 مايو 1948. [ 19 ]
- أجرى برنامج مانشستر بيبي ( جامعة فيكتوريا في مانشستر ، إنجلترا) أول تشغيل ناجح لبرنامج مخزن في 21 يونيو 1948.
- كان جهاز EDSAC ( جامعة كامبريدج ، إنجلترا) أول جهاز كمبيوتر إلكتروني عملي ذو برنامج مخزن (مايو 1949).
- مانشستر مارك 1 ( جامعة مانشستر ، إنجلترا) تم تطويره من الطفل (يونيو 1949)
- مجلس البحوث العلمية والصناعية الأسترالي ( CSIRAC ) (نوفمبر 1949)
- MESM في معهد كييف للهندسة الكهربائية في كييف ، جمهورية أوكرانيا الاشتراكية السوفيتية (نوفمبر 1950)
- مختبر أبحاث المقذوفات ( EDVAC ) ، مختبر الحوسبة في ميدان اختبار أبردين 1951
- آلة IAS في معهد الدراسات المتقدمة (1951)
- ORDVAC (جامعة إلينوي) في أبردين بروفينج جراوند ، ماريلاند (اكتمل في نوفمبر 1951) [ 20 ]
- مانياك 1 في مختبر لوس ألاموس العلمي (مارس 1952)
- ILLIAC في جامعة إلينوي ، (سبتمبر 1952)
- BESM-1 في موسكو (1952)
- مختبر AVIDAC في مختبر أرغون الوطني (1953)
- أوراكل في مختبر أوك ريدج الوطني (يونيو 1953)
- بيسك في ستوكهولم (1953)
- جونياك في مؤسسة راند (يناير 1954)
- DASK في الدنمارك (1955)
- فايزاك في معهد وايزمان للعلوم في رحوفوت ، إسرائيل (1955)
- بيرم في ميونخ (1956)
- سيلاك في سيدني (1956)
أجهزة الكمبيوتر المبكرة ذات البرامج المخزنة
يصعب ترتيب المعلومات المتعلقة بالتواريخ في التسلسل الزمني التالي ترتيباً صحيحاً. فبعض التواريخ تخص أول تشغيل لبرنامج تجريبي، وبعضها الآخر يمثل أول عرض توضيحي أو اكتمال للجهاز، وبعضها يخص أول عملية تسليم أو تركيب.
- كان جهاز IBM SSEC قادرًا على معالجة التعليمات كبيانات، وقد عُرض علنًا في 27 يناير 1948. وقد سُجّلت هذه القدرة في براءة اختراع أمريكية . [ 21 ] [ 22 ] ومع ذلك، كان الجهاز يعمل جزئيًا بالميكانيكا الكهربائية ، وليس إلكترونيًا بالكامل. عمليًا، كانت التعليمات تُقرأ من شريط ورقي نظرًا لسعة ذاكرته المحدودة. [ 23 ]
- بدأ تشغيل جهاز ARC2 الذي طوره أندرو بوث وكاثلين بوث في بيركبيك، جامعة لندن، رسميًا في 12 مايو 1948. [ 19 ] وقد تضمن أول جهاز تخزين أسطواني دوار . [ 24 ] [ 25 ]
- كان جهاز مانشستر بيبي أول حاسوب إلكتروني بالكامل يقوم بتشغيل برنامج مخزن. وقد قام بتشغيل برنامج تحليل الأعداد لمدة 52 دقيقة في 21 يونيو 1948، بعد تشغيل برنامج قسمة بسيط وبرنامج لإثبات أن عددين أوليان فيما بينهما .
- تم تعديل جهاز ENIAC ليعمل كجهاز كمبيوتر بدائي للقراءة فقط مع برنامج مخزن (باستخدام جداول الوظائف لبرنامج ROM ) وتم عرضه على هذا النحو في 16 سبتمبر 1948، حيث قام بتشغيل برنامج من إعداد أديل جولدستين لصالح فون نيومان.
- أجرى مركز BINAC بعض البرامج التجريبية في فبراير ومارس وأبريل 1949، على الرغم من أنه لم يكتمل حتى سبتمبر 1949.
- تم تطوير جهاز مانشستر مارك 1 من مشروع بيبي. وكانت نسخة وسيطة من مارك 1 متاحة لتشغيل البرامج في أبريل 1949، ولكن لم يكتمل تطويرها حتى أكتوبر 1949.
- أطلقت EDSAC أول برنامج لها في 6 مايو 1949.
- تم تسليم جهاز EDVAC في أغسطس 1949، لكنه واجه مشاكل حالت دون تشغيله بشكل منتظم حتى عام 1951.
- أجرى جهاز CSIR Mk I أول برنامج له في نوفمبر 1949.
- تم عرض جهاز SEAC في أبريل 1950 .
- أجرى جهاز Pilot ACE أول برنامج له في 10 مايو 1950، وتم عرضه في ديسمبر 1950.
- تم الانتهاء من مشروع SWAC في يوليو 1950.
- تم الانتهاء من بناء طائرة "ويرلويند" في ديسمبر 1950 ودخلت حيز الاستخدام الفعلي في أبريل 1951.
- تم تركيب أول جهاز ERA Atlas (الذي أصبح فيما بعد جهاز ERA 1101/UNIVAC 1101 التجاري) في ديسمبر 1950.
تطور

خلال عقدي الستينيات والسبعينيات، شهدت الحواسيب عمومًا صغرًا في الحجم وسرعةً أكبر، مما أدى إلى تطورات في بنيتها. فعلى سبيل المثال، تسمح تقنية الإدخال/الإخراج المُمَثَّلة في الذاكرة بمعاملة أجهزة الإدخال والإخراج معاملة الذاكرة نفسها. [ 26 ] كما أمكن استخدام ناقل نظام واحد لتوفير نظام معياري بتكلفة أقل . ويُطلق على هذا أحيانًا اسم "تبسيط" البنية. [ 27 ] وفي العقود اللاحقة، كانت وحدات التحكم الدقيقة البسيطة تُهمل أحيانًا بعض ميزات النموذج لخفض التكلفة والحجم. أما الحواسيب الأكبر حجمًا، فقد أُضيفت إليها ميزات لتحسين الأداء.
قيود التصميم
عنق زجاجة فون نيومان
يؤدي استخدام نفس ناقل البيانات لجلب التعليمات والبيانات إلى ما يُعرف بـ" عنق زجاجة فون نيومان" ، وهو انخفاض معدل نقل البيانات بين وحدة المعالجة المركزية (CPU) والذاكرة مقارنةً بسعة الذاكرة. ولأن ناقل البيانات الواحد لا يستطيع الوصول إلا إلى نوع واحد من الذاكرة في كل مرة، فإن معدل نقل البيانات يكون أقل من سرعة عمل وحدة المعالجة المركزية. وهذا يُحدّ بشكل كبير من سرعة المعالجة الفعلية عندما يُطلب من وحدة المعالجة المركزية إجراء معالجة بسيطة على كميات كبيرة من البيانات. إذ تُجبر وحدة المعالجة المركزية باستمرار على انتظار نقل البيانات المطلوبة من وإلى الذاكرة. ونظرًا لأن سرعة وحدة المعالجة المركزية وحجم الذاكرة قد زادا بوتيرة أسرع بكثير من معدل نقل البيانات بينهما، فقد أصبح عنق الزجاجة مشكلةً أكثر حدة، وتزداد خطورتها مع كل جيل جديد من وحدات المعالجة المركزية.
وصف جون باكوس عنق الزجاجة فون نيومان في محاضرته التي ألقاها عام 1977 بمناسبة حصوله على جائزة تورينج من جمعية آلات الحوسبة . ووفقًا لباكوس:
لا شك أن هناك طريقة أقل بدائية لإجراء تغييرات كبيرة في المتجر من مجرد نقل أعداد هائلة من الكلمات ذهابًا وإيابًا عبر عنق زجاجة فون نيومان. لا يقتصر الأمر على كون هذا الأنبوب عنق زجاجة حرفيًا لتدفق البيانات في المشكلة، بل والأهم من ذلك، أنه عنق زجاجة فكري أبقانا مقيدين بالتفكير كلمةً كلمةً بدلًا من تشجيعنا على التفكير من منظور الوحدات المفاهيمية الأكبر للمهمة المطروحة. وبالتالي، فإن البرمجة هي في الأساس تخطيط وتفصيل التدفق الهائل للكلمات عبر عنق زجاجة فون نيومان، ولا يتعلق جزء كبير من هذا التدفق بالبيانات المهمة بحد ذاتها، بل بمكان العثور عليها. [ 28 ] [ 29 ]
إجراءات التخفيف
توجد عدة طرق معروفة للتخفيف من مشكلة عنق الزجاجة في أداء فون نيومان. على سبيل المثال، يمكن للطرق التالية تحسين الأداء:
- توفير ذاكرة تخزين مؤقتة بين وحدة المعالجة المركزية والذاكرة الرئيسية .
- توفير ذاكرات تخزين مؤقتة منفصلة أو مسارات وصول منفصلة للبيانات والتعليمات (ما يسمى ببنية هارفارد المعدلة ).
- باستخدام خوارزميات ومنطق التنبؤ بالفروع .
- توفير مجموعة محدودة من وحدات المعالجة المركزية أو ذاكرة تخزين مؤقتة أخرى على الشريحة لتقليل الوصول إلى الذاكرة.
- تنفيذ وحدة المعالجة المركزية وهيكل الذاكرة كنظام على شريحة ، مما يوفر مرجعية محلية أكبر وبالتالي تقليل زمن الوصول وزيادة الإنتاجية بين سجلات المعالج والذاكرة الرئيسية.
يمكن تجاوز هذه المشكلة جزئيًا باستخدام الحوسبة المتوازية ، كاستخدام بنية الوصول غير الموحد للذاكرة (NUMA) على سبيل المثال ، وهو أسلوب شائع الاستخدام في الحواسيب العملاقة . يبقى من غير الواضح ما إذا كان العائق الفكري الذي انتقده باكوس قد تغير كثيرًا منذ عام ١٩٧٧. لم يكن لحل باكوس المقترح تأثير كبير. فالبرمجة الوظيفية الحديثة والبرمجة كائنية التوجه أقل تركيزًا على "نقل كميات هائلة من الكلمات ذهابًا وإيابًا" مقارنةً بلغات سابقة مثل فورتران ، ولكن داخليًا، لا تزال الحواسيب تقضي معظم وقتها في ذلك، حتى الحواسيب العملاقة ذات المعالجة المتوازية العالية.
كود ذاتي التعديل
بغض النظر عن عنق الزجاجة فون نيومان، قد تكون تعديلات البرامج ضارة للغاية، سواءً عن طريق الخطأ أو عن قصد. فإذا لم تكن هناك آلية لحماية الذاكرة لمنع الكتابة فوق التعليمات البرمجية، فقد يتسبب البرنامج المعطل في إتلاف نفسه أو برامج أخرى أو نظام التشغيل، مما قد يؤدي إلى تعطل الحاسوب. مع ذلك، تنطبق هذه المشكلة أيضًا على البرامج التقليدية التي تفتقر إلى التحقق من حدود الذاكرة . وتوفر حماية الذاكرة وضوابط الوصول المختلفة حمايةً فعّالة ضد التغييرات البرمجية، سواءً كانت عرضية أو متعمدة.
ومع ذلك، يمكن استخدام التعليمات البرمجية ذاتية التعديل لإجراء بعض التحسينات التي لن تكون ممكنة على بنية هارفارد .
انظر أيضاً
مراجع
- 1 2 3 4 فون نيومان، جون (1945)، المسودة الأولى لتقرير عن EDVAC (ملف PDF) ، مؤرشف من الأصل (ملف PDF) في 14 مارس 2013 ، تم استرجاعه في 24 أغسطس 2011
- ↑ غانيسان 2009
- ↑ بيرجين، توماس ج. (2000)، خمسون عامًا من الحوسبة العسكرية: من إينياك إلى مركز أبحاث علوم الحاسوب، مختبر أبحاث الجيش الأمريكي ، ص 34 ، تم الاطلاع عليه في 5 نوفمبر 2024
- ↑ ماركغراف، جوي د. (2007)، عنق زجاجة فون نيومان ، مؤرشف من الأصل في 12 ديسمبر 2013.
- ↑ كوبلاند 2006 ، ص 104 .
- ↑ فون نيومان، جون (1966). نظرية الأوتوماتا ذاتية التكاثر . مطبعة جامعة إلينوي. ص 10. ISBN 978-0252727337.
- ↑ملف المصطلحات 4.4.7 من مدخل MFTL (لغة ألعابي المفضلة) ، تم استرجاعه في 11 يوليو 2008.
- ↑ تورينج، آلان م. (1936)، "حول الأعداد القابلة للحساب، مع تطبيق على مسألة القرار"، وقائع الجمعية الرياضية في لندن ، 2، المجلد 42 (نُشر عام 1937)، الصفحات 230-265 ، doi : 10.1112/plms/s2-42.1.230 ، S2CID 73712 وتورينج ، آلان م. (1938)، "حول الأعداد القابلة للحساب، مع تطبيق على مسألة القرار. تصحيح"، وقائع الجمعية الرياضية في لندن ، 2، المجلد 43، العدد 6 (نُشر عام 1937)، الصفحات 544-546 ، doi : 10.1112/plms/s2-43.6.544 .
- ↑ ويليامز، إف سي؛ كيلبورن، تي. (25 سبتمبر 1948)، "الحواسيب الرقمية الإلكترونية"، مجلة نيتشر ، 162 (4117): 487، رمز Bibcode : 1948Natur.162..487W ، doi : 10.1038/162487a0 ، S2CID 4110351 .
- ↑ لوكوف، هيرمان (1979). من النقاط إلى البتات: تاريخ شخصي للحاسوب الإلكتروني . بورتلاند، أوريغون: دار نشر الروبوتات. ISBN 0-89661-002-0. إل سي سي إن 79-90567 .
- ↑ اقترح مدير مشروع ENIAC، غريست برينرد، في تقريره المرحلي لشهر ديسمبر 1943 للفترة الأولى من تطوير ENIAC، ضمنيًا مفهوم البرنامج المخزن (مع رفض تنفيذه في ENIAC في نفس الوقت) من خلال ذكر أنه "من أجل الحصول على أبسط مشروع وعدم تعقيد الأمور"، سيتم بناء ENIAC بدون أي "تنظيم تلقائي".
- ↑ كوبلاند 2006 ، ص 113 .
- ↑ كوبلاند، جاك (2000)، تاريخ موجز للحوسبة: إينياك وإدفاك ، تم الاطلاع عليه في 27 يناير 2010.
- ↑ كوبلاند، جاك (2000)، تاريخ موجز للحوسبة: إينياك وإدفاك ، تم الاطلاع عليه في 27 يناير 2010(عمل يستشهد بـ راندل، برايان (1972)، "حول آلان تورينج وأصول الحواسيب الرقمية"، في ميلتزر، ب.؛ ميتشي، د. (محرران)، ذكاء الآلة ، المجلد 7، إدنبرة: مطبعة جامعة إدنبرة ، ص 10، ISBN 0-902383-26-4.
- ↑ كوبلاند 2006 ، ص 108-111 .
- ^ بودين 1953 ، ص 176 ، 177 .
- ↑ باودن 1953 ، ص 135 .
- ↑ "مشروع الحاسوب الإلكتروني" . معهد الدراسات المتقدمة . 11 سبتمبر 2009. تم الاطلاع عليه في 26 مايو 2011 .
- 1 2 كامبل-كيلي، مارتن (أبريل 1982). "تطور برمجة الحاسوب في بريطانيا (1945 إلى 1955)". حوليات معهد مهندسي الكهرباء والإلكترونيات لتاريخ الحوسبة . 4 (2): 121-139 . doi : 10.1109/MAHC.1982.10016 . S2CID 14861159 .
- ↑ روبرتسون، جيمس إي. (1955)، تقنيات تصميم إليا ، تقرير رقم UIUCDCS-R-1955–146، مختبر الحاسوب الرقمي، جامعة إلينوي في أوربانا-شامبين.
- ↑ آلة حاسبة إلكترونية للتسلسل الانتقائي (موقع مكتب براءات الاختراع والعلامات التجارية الأمريكي) .
- ↑ آلة حاسبة إلكترونية ذات تسلسل انتقائي (براءات اختراع جوجل) .
- ↑ غروش، هربرت آر جيه (1991). الحاسوب: شرائح بت من حياة . كتب الألفية الثالثة. رقم ISBN 0-88733-085-1.نسخة ممسوحة ضوئياً موجودة في أرشيف الإنترنت .
- ↑ لافينغتون، سيمون، محرر. (2012). آلان تورينج ومعاصروه: بناء أول أجهزة كمبيوتر في العالم . لندن: الجمعية البريطانية للحاسبات . ص 61. ISBN 978-1906124908.
- ↑ جونسون، روجر (أبريل 2008). "كلية علوم الحاسوب ونظم المعلومات: تاريخ موجز" (ملف PDF) . كلية بيركبيك . جامعة لندن . تم الاطلاع عليه بتاريخ 23 يوليو 2017 .
- ↑ بيل، سي. جوردون ؛ كادي، ر.؛ مكفارلاند، هـ.؛ أولافلين، ج.؛ نونان، ر.؛ وولف، و. (1970)، " بنية جديدة للحواسيب الصغيرة - جهاز DEC PDP-11" (ملف PDF) ، المؤتمر المشترك للحاسوب في الربيع ، الصفحات 657-675 .
- ↑ نول، ليندا؛ لوبور، جوليا (2010)، أساسيات تنظيم وبنية الحاسوب ( الطبعة الثالثة)، جونز وبارتليت ليرنينج، الصفحات 36، 199-203 ، ISBN 978-1-4496-0006-8.
- ↑ باكوس، جون دبليو. (أغسطس 1978). "هل يمكن تحرير البرمجة من أسلوب فون نيومان؟ أسلوب وظيفي وجبر برامجه" . مجلة اتصالات رابطة مكائن الحوسبة . 21 (8): 613-641 . doi : 10.1145/359576.359579 . S2CID 16367522 .
- ↑ ديكسترا، إدسكار دبليو. "أرشيف إي دبليو ديكسترا: مراجعة لمحاضرة جائزة تورينج لعام 1977" . تم الاطلاع عليه في 11 يوليو 2008 .
للمزيد من القراءة
- Bowden, BV, ed. (1953), أسرع من الفكر: ندوة حول آلات الحوسبة الرقمية ، لندن: Sir Isaac Pitman and Sons Ltd.
- روخاس، راؤول؛ هاشاجن، أولف، محرران (2000)، الحواسيب الأولى: التاريخ والبنية ، مطبعة معهد ماساتشوستس للتكنولوجيا ، رقم ISBN 0-262-18197-5
- ديفيس، مارتن (2000)، الحاسوب الشامل: الطريق من لايبنتز إلى تورينج ، نيويورك: دبليو دبليو نورتون وشركاه ، رقم ISBN 0-393-04785-7أُعيد نشره بعنوان: ديفيس، مارتن (2001)، محركات المنطق: علماء الرياضيات وأصل الحاسوب ، نيويورك: دبليو دبليو نورتون وشركاه ، رقم ISBN 978-0-393-32229-3
- هل يمكن تحرير البرمجة من أسلوب فون نيومان؟ . باكوس، جون . محاضرة جائزة تورينج لعام 1977 الصادرة عن جمعية آلات الحوسبة. مجلة اتصالات جمعية آلات الحوسبة، أغسطس 1978، المجلد 21، العدد 8. نسخة PDF متاحة على الإنترنت. مؤرشفة بتاريخ 21 يونيو 2007 على موقع Wayback Machine . للاطلاع على التفاصيل، يُرجى زيارة الرابط التالي: https://www.cs.tufts.edu/~nr/backus-lecture.html
- بيل، سي. جوردون؛ نيويل، ألين (1971)، هياكل الحاسوب: قراءات وأمثلة ، شركة ماكجرو هيل للنشر ، نيويورك. ضخم (668 صفحة)
- كوبلاند، جاك (2006)، "كولوسوس ونشأة الحاسوب الحديث"، في كوبلاند، ب. جاك (محرر)، كولوسوس: أسرار حواسيب فك الشفرات في بليتشلي بارك ، أكسفورد: مطبعة جامعة أكسفورد ، ISBN 978-0-19-284055-4
- غانيسان، ديباك (2009)، نموذج فون نيومان (ملف PDF) ، مؤرشف من النسخة الأصلية (ملف PDF) في 25 أبريل 2012 ، تم استرجاعه في 22 أكتوبر 2011
- مكارتني، سكوت (1999). إينياك: انتصارات ومآسي أول حاسوب في العالم . ووكر وشركاه. ISBN 0-8027-1348-3.
- جولدستين، هيرمان هـ. (1972). الحاسوب من باسكال إلى فون نيومان . مطبعة جامعة برينستون . ISBN 0-691-08104-2.
- شوركن، جويل (1984). محركات العقل: تاريخ الحاسوب . نيويورك، لندن: دبليو دبليو نورتون وشركاه . ISBN 0-393-01804-0.
- اسبراي، وليام (1990). جون فون نيومان وأصول الحوسبة الحديثة . مطبعة معهد ماساتشوستس للتكنولوجيا. رقم ISBN 978-0-262-01121-1.
روابط خارجية
- هندسة الحاسوب
- تصنيف فلين
- النماذج المرجعية
- فئات الحواسيب
- قسم علوم الحاسوب، جامعة مانشستر
- مقدمات متعلقة بالحاسوب في عام 1945
- جون فون نيومان
- الخلافات حول التسمية
