KoderKoder.ai
الأسعارالمؤسساتالتعليمللمستثمرين
تسجيل الدخولابدأ الآن

المنتج

الأسعارالمؤسساتللمستثمرين

الموارد

اتصل بناالدعمالتعليمالمدونة

قانوني

سياسة الخصوصيةشروط الاستخدامالأمانسياسة الاستخدام المقبولالإبلاغ عن إساءة

اجتماعي

LinkedInTwitter
Koder.ai
اللغة

© 2026 ‏Koder.ai. جميع الحقوق محفوظة.

الرئيسية›المدونة›فون نيومان والحاسوب ذو البرنامج المخزن الذي مكّن البرمجيات
19 ديسمبر 2025·8 دقيقة

فون نيومان والحاسوب ذو البرنامج المخزن الذي مكّن البرمجيات

اكتشف كيف مكّنت فكرة البرنامج المخزن —المرتبطة غالبًا بجون فون نيومان—البرمجيات القابلة لإعادة الاستخدام، الحواسيب عامة الغرض، والبرمجة الحديثة.

فون نيومان والحاسوب ذو البرنامج المخزن الذي مكّن البرمجيات

لماذا تهم فكرة البرنامج المخزن

في صميم الحوسبة الحديثة سؤال بسيط: ما الذي جعل آلة واحدة قادرة على أداء مهام متعددة دون أن يُعاد بناؤها في كل مرة؟ كانت أجهزة الحاسوب الإلكترونية المبكرة سريعة في الحساب، لكن "تغيير المهمة" غالبًا ما يعني تعديل التوصيلات أو إعدادات الجهاز فعلياً. فكرة البرنامج المخزن تمثّل نقطة التحول التي جعلت الحواسيب قابلة للبرمجة حقًا.

البرنامج المخزن بلغة بسيطة

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

قد يبدو هذا بديهيًا الآن، لكنه تحول جوهري:

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

ما سيغطيه هذا المقال (ولماذا يهم اليوم)

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

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

ملاحظة سريعة حول نسب الفضل

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

قبل البرامج المخزنة: حين كان تغيير المهمة يعني إعادة التوصيل

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

"برمجة العتاد" في الممارسة

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

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

لماذا كان تغيير المهام مكلفًا

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

مثال بسيط

تخيل آلة مُهيأة لحساب جداول إطلاق المدفعية—عمليات طويلة ومتكررة بصيغة ثابتة. إن أراد الباحثون بعدها أن يستخدموا نفس الآلة لمشكلة مختلفة، مثل إعداد جداول إحصائية للتعداد، لن يكون الأمر مجرد "تعديل برنامج وإعادة التشغيل". قد تختلف ترتيب العمليات، خطوات التخزين الوسيط، وفحوصات الشرط، مما يستدعي إعادة تصميم لوحة التوصيل وجولة تحقق جديدة.

هذا العالم صُمم الحاسوب ذو البرنامج المخزن ليتخلى عنه.

الحاسوب ذو البرنامج المخزن، مبسطًا

الحاسوب ذو البرنامج المخزن هو آلة تُخزن فيها التعليمات (البرنامج) في نفس ذاكرة العمل التي تُخزن فيها البيانات التي يستخدمها البرنامج. بعبارة أخرى، لا يعامل الحاسوب "ماذا يفعل" كشيء منفصل عن "ما يعمل عليه"—كلاهما مخزن كنمط من البتات في الذاكرة.

ماذا نعني بـ"الذاكرة" هنا

عندما تحدث روّاد الحوسبة المبكرة عن الذاكرة، كانوا يقصدون مخزنًا داخليًا سريعًا يمكن للمعالج قراءته وكتابته بسرعة أثناء التشغيل—الأقرب لما نعرفه اليوم بالـRAM. هذا يختلف عن التخزين طويل الأمد مثل الأقراص الصلبة أو الـSSD، التي تحفظ الملفات عند انقطاع الطاقة لكنها ليست لوحة العمل الفورية للمعالج.

النتيجة الأساسية: تغيير المهمة دون تغيير الجهاز

بمجرد أن تُخزّن التعليمات في الذاكرة، يصبح تبديل المهام أبسط بكثير: يمكنك تحميل برنامج جديد في الذاكرة وتشغيله دون إعادة بناء أو إعادة توصيل أو إعادة تهيئة الجهاز فعليًا. نفس الآلة العامة يمكنها عمل قوائم الرواتب صباحًا وحسابات باليستية بعد الظهر—لأن "كيفية" أداء المهمة مجرد مجموعة بتات يمكنك استبدالها.

تشبيه يومي

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

هل تريد طبقًا مختلفًا؟ لا تُعدّل تصميم المطبخ. فقط تستبدل وصفة أخرى—باستخدام نفس الطاولات والفرن والأدوات.

دور جون فون نيومان (ولماذا لصق اسمه)

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

مساهم رئيسية—ومتواصل فعال بشكل استثنائي

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

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

لماذا ارتبط اسمه بالمعمارية

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

هذا التصنيف أيضًا يبسط التاريخ: أسهل أن تقول "معمارية فون نيومان" بدلًا من تعداد كل المساهمين والتقارير. لكن هذه التسمية قد تُغفل ما حدث فعلاً.

جهد جماعي، لا اختراع منفرد

كانت الحوسبة الإلكترونية المبكرة جهدًا تعاونيًا عابرًا للمؤسسات شمل رياضياتيين ومهندسين ومبرمجين. نضجت فكرة البرنامج المخزن عبر مناقشات، مسودات، نماذج أولية، ومراجعات عبر فرق متعددة. دور فون نيومان الدائم كان في بلورة الفكرة ونشرها—مساهَمة سرّعت اعتمادها—لا في اختراعها بمفرده.

تقرير EDVAC وبيان واضح للفكرة

EDVAC (Electronic Discrete Variable Automatic Computer) كان أحد مشروعات ما بعد الحرب التي هدفت إلى الانتقال عن آلات "مرة واحدة" إلى تصاميم أكثر عمومية. إلى جانب الجهد الهاردويري، كان قرار توثيق الأفكار في شكل تقرير واضح وقابل للمشاركة أمرًا بالغ الأهمية. حينها كانت بناء الحواسيب أقرب للهندسة التجريبية—المعرفة كانت في دفاتر المختبر والاجتماعات وفي رؤوس عدد قليل من الأخصائيين. التقرير يحوّل تلك الرؤى المبعثرة إلى شيء يمكن للفرق الأخرى مناقشته، نقده، وإعادة استخدامه.

ما قاله تقرير EDVAC—بدون الرياضيات

قدم "المسودة الأولى لتقرير عن EDVAC" (المعروف اختصارًا بتقرير EDVAC) وصفًا مفهوميًا لفكرة البرنامج المخزن: يجب على الحاسوب أن يخزن تعليمات البرنامج في نفس نوع الذاكرة الداخلية التي يخزن فيها البيانات. هذه الذاكرة ليست مجرد مكان للاحتفاظ بالأرقام أثناء الحساب—إنها أيضًا مكان لحفظ الخطوات التي تُخبر الآلة بما يجب عمله بعد ذلك.

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

لماذا كان لهذا أثر على الجميع

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

التقاسم في الفضل: الفريق وراء التفكير المبكر في البرامج المخزنة

خطط قبل أن تبني
استخدم وضع التخطيط لرسم الميزات وتدفق البيانات قبل توليد الكود.
ابدأ التخطيط

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

متعاونون مهمون وجهود موازية

يرتبط اسم فون نيومان ارتباطًا قويًا بفكرة البرنامج المخزن، لكن العمل المبكر شمل العديد من الأشخاص والمجموعات:

  • ج. بريسبر إيكيرت وجون ماكلي (عمل ENIAC/EDVAC): كانا جوهريين في الدفع الهندسي نحو حواسيب إلكترونية عملية وتصاميم محسنة.
  • هيرمان جولدستاين: منظّم جسور بين الرياضيين والمهندسين، ولعب دوراً رئيسيًا في توثيق ونشر الأفكار.
  • آرثر بيركس: ساهم في التصميم المنطقي المبكر وسجّل لاحقًا روايات حول تطور هذه المعماريات.
  • آلان تورنغ: كتب أفكارًا مؤثرة قبل EDVAC عن الحوسبة العامة والآلات المتحكَّم بها بالبرنامج.
  • موريس ويلكس (EDSAC)، وفريدريك ويليامز وتوم كيلبورن (مانشستر): برهَنوا أن أنظمة البرنامج المخزن يمكن أن تعمل فعليًا عبر عروض أولية للذاكرة والآلات العاملة.

لماذا سؤال "من اخترعها" معقد

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

اقترح أم بنى

سبب آخر لتقاسم الفضل: الاقتراح ليس هو نفسه البناء. التقارير والنقاشات أوضحت الفكرة؛ النماذج الأولية والأنظمة المنتجة أثبتت جدواها. تاريخ دقيق يحترم كلا النوعين من الإسهامات بدلاً من فرض نتيجة "المخترع الأول" المبسطة.

ماذا يعني مصطلح "معمارية فون نيومان" عادةً

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

المخطط الشائع: وحدة المعالجة، الذاكرة، والإدخال/الإخراج

على المستوى المفاهيمي، تبدو الصورة كالتالي:

  • وحدة المعالجة المركزية (CPU): "العامل" الذي يؤدي العمليات.
  • الذاكرة: المكان الذي يخزن كلاً من تعليمات البرنامج والبيانات التي يستخدمها البرنامج.
  • الإدخال/الإخراج (I/O): طرق إدخال وإخراج المعلومات—لوحات مفاتيح، أقراص، شاشات، شبكات، حساسات، وهكذا.

الفكرة الأساسية أن المعالج لا يمتلك مكانًا ماديًا منفصلًا لـ"البرنامج" مقابل "الأعداد". يستمد كل ما يحتاجه من الذاكرة.

كيف تتدفق التعليمات: جلب–فك الشفرة–تنفيذ

تشغّل وحدة المعالجة البرنامج بتكرار حلقة غالبًا ما تُوصف بأنها جلب–فك الشفرة–تنفيذ:

  1. جلب: قراءة التعليمة التالية من الذاكرة.
  2. فك الشفرة: تفسير ما تطلبه تلك التعليمة (جمع، مقارنة، تحميل، تخزين، قفز…).
  3. تنفيذ: إجراء الفعل، الذي قد يتضمن قراءة/كتابة إلى الذاكرة أو التفاعل مع الإدخال/الإخراج.

هذا الوصف مبسَّط لكنه يلتقط الجوهر: البرنامج هو تسلسل تعليمات مخزنة في الذاكرة، والمعالج يمرّ عليها خطوةً بخطوة.

لماذا "التعليمات والبيانات في نفس الذاكرة" قوية

وضع التعليمات والبيانات في نفس الذاكرة يجعل الحاسوب عامة الغرض بصورة عملية:

  • لتغيير ما تفعله الآلة، عادةً تغيّر البرنامج في الذاكرة، لا الأسلاك.
  • يمكن للبرامج أن تعامل التعليمات كمعلومات—نسخها، تحميلها، تعديلها (رغم أن الأنظمة الحديثة تقيد ذلك أحيانًا لأسباب أمنية).
  • يصبح بناء أدوات مثل المجمّعات (assemblers)، المترجمات (compilers)، وأنظمة التشغيل أسهل، لأن "البرنامج" مجرد نوع آخر من المعلومات المخزنة.

تسمية مريحة، لا ادعاء بالاختراع الوحيد

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

فون نيومان مقابل هارفارد: طريقتان لتنظيم التعليمات والبيانات

أطلق بثقة
استخدم لقطات وآلية التراجع لاختبار التغييرات دون الخوف من تعطيل مشروعك.
ابنِ بأمان

يتحدث الناس كثيرًا عن "فون نيومان" و"هارفارد" كما لو أنهما فلسفتان متنافرتان. في الواقع هما طريقتان عمليتان لتنظيم تعليمات البرنامج والبيانات حتى يستطيع الحاسوب جلب ما يحتاجه.

أسلوب فون نيومان: ذاكرة واحدة، مسار مشترك

في تصميم على طراز فون نيومان، التعليمات والبيانات تعيشان في نفس الذاكرة وتتنقلان غالبًا عبر نفس الطريق إلى المعالج.

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

المقايضة: عندما تتشارك التعليمات والبيانات نفس "الطريق"، فقد تتنافس على عرض النطاق الترددي. (تُوصف أحيانًا هذه المشكلة بأنها "اختناق"، لكن الفكرة الأساسية هي المشاركة.)

أسلوب هارفارد: تخزين منفصل (وغالبًا مسارات منفصلة)

تحتفظ معمارية هارفارد بـذاكرة تعليمات منفصلة عن ذاكرة البيانات، وغالبًا بمسارات منفصلة لجلب كلٍ منهما.

هذا الفصل قد يجعل جلب التعليمة التالية ممكنًا بينما تُجرى عمليات قراءة/كتابة للبيانات—مفيد في الأنظمة الصغيرة والمتوقعة. مثال شائع هو العديد من المتحكمات الدقيقة حيث يعيش كود البرنامج في ذاكرة فلاش بينما تتواجد المتغيرات في RAM.

لماذا تُمزج الأنظمة الواقعية بينهما

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

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

كيف جعلت البرامج المخزنة البرمجة الحديثة ممكنة

لا يجعل الحاسوب ذو البرنامج المخزن الحاسبات مجرد "تشغّل" حسابات—بل يسمح بتحميل مجموعة تعليمات من الذاكرة، تنفيذها، ثم تحميل مجموعة مختلفة لاحقًا. هذا التحول جعل البرمجيات قابلة لإعادة الاستخدام والمشاركة: يمكن كتابة البرنامج مرة، حفظه، نسخه، تحسينه، وتوزيعه دون لمس العتاد.

من "هذه الآلة" إلى "أي مهمة"

عندما يعيش البرنامج في الذاكرة، يمكن لنفس الحاسوب الفيزيائي أن يؤدي وظائف متعددة عبر استبدال التعليمات التي يقرؤها. هذا جوهر "متعدد الأغراض": جهاز واحد، برامج متعددة. مثال معاصر واضح هو حاسوبك المحمول الذي يشغّل البريد الإلكتروني، الألعاب، وجداول البيانات—فكرة واحدة أساسية تحت كل ذلك: العتاد ثابت بينما تُحمّل برامج مختلفة وتُنفّذ.

لماذا مكّن هذا أدوات برمجة حقيقية

بمجرد أن تُعامل التعليمات كبيانات في الذاكرة، يصبح عمليًا بناء طبقات برمجية تساعدك على كتابة برمجيات:

  • المجمّعات (Assemblers) تسمح بكتابة تعليمات بصيغ أقرب للإنسان بدلًا من الرموز الرقمية الخام.
  • المترجمات (Compilers) تحول لغات عالية المستوى إلى تعليمات آلة، مما يسهل الكتابة والصيانة.
  • أنظمة التشغيل تدير تحميل البرامج، مشاركة الذاكرة والأجهزة، وجدولة الأعمال حتى تعمل برامج متعددة بسلاسة.

تعتمد هذه الأدوات على افتراض أن البرامج يمكن تخزينها ونقلها ومعالجتها مثل أي معلومات أخرى. هذا ما جعل البرمجيات منظومة بيئية بدل أن تكون قطعة مرتبطة بتوصيلات معينة.

طريقة مفيدة لرؤية القوس الطويل: البرامج المخزنة مكنت المترجمات وأنظمة التشغيل، وهذه بدورها مكنت أدوات مطورين أفضل—والآن نشهد طبقة أخرى من التجريد حيث يمكنك وصف تطبيق بلغة طبيعية والحصول على شيفرة قابلة للتنفيذ. على سبيل المثال، Koder.ai هو منصة تعتمد على المحادثة والبُنى القائمة على نماذج اللغة الكبيرة لتسريع الانتقال من النية إلى الشيفرة القابلة للتصدير والنشر.

النتيجة لا تزال دورة فَضلٍ ذاتي: البرامج المخزنة جعلت الأدوات الأفضل ممكنة، والأدوات الأفضل جعلت برامج أكثر طموحًا ممكنة—حولت الحواسيب إلى آلات عامة ومرنة.

القيد الشهير: "اختناق فون نيومان"

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

ازدحام بين المعالج والذاكرة

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

لماذا السرعة وعرض النطاق مهمان

عاملان مرتبطان يشكلان الاختناق:

  • كمون الذاكرة (latency): كم يستغرق الحصول على أول قطعة معلومات بعد طلبها.
  • عرض نطاق الذاكرة (bandwidth): كم من المعلومات يمكن نقلها في الثانية.

قد تُجري وحدة المعالجة مليارات العمليات في الثانية، لكن إن لم تُمَكَّن الذاكرة من توفير تدفق ثابت من التعليمات والبيانات، يحد الأداء البطيء من السرعة.

تدابير شائعة (ليست حلولًا نهائية)

هذه مسألة هندسية واسعة النقاش، وتستخدم الحواسيب الحديثة عدة تقنيات للتخفيف:

  • الذاكرات المخبئية (Caches): ذاكرة صغيرة وسريعة قريبة من المعالج تحتفظ بالعناصر المستخدمة مؤخرًا.
  • التحميل المسبق (Prefetching): توقع ما سيُحتَاج إليه وتحميله مبكرًا.
  • التوازي: القيام بأكثر من شيء في آن واحد (نوى متعددة، تداخل الوصول إلى الذاكرة مع الحساب).

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

أين ترى الفكرة في الأجهزة التي تستخدمها اليوم

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

فكرة البرنامج المخزن ليست قطعة تاريخية في متحف—إنها طريقة عمل الحوسبة اليومية المرنة. أجهزتك لا تُعاد توصيلها لتفعل شيئًا جديدًا؛ بل تحمّل تعليمات مختلفة في الذاكرة وتنفذها.

الهواتف، الحواسيب المحمولة، والخوادم: نفس الخدعة الأساسية

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

حتى الميزات التي نعتبرها "قريبة من العتاد" كثيرًا ما تُعرَّف برمجياً: توجيه الشبكة، مسارات فك ترميز الفيديو، تحسين الصور، وسياسات إدارة الطاقة يمكن تحديثها عبر البرامج الثابتة ونظام التشغيل.

المفسّرات والآلات الافتراضية لا تزال تشغل تعليمات مخزنة

لغات مثل بايثون وجافا سكريبت تعمل عادة عبر مفسّر أو آلة افتراضية. بدلًا من أن تنفّذ وحدة المعالجة شيفرتك المصدرية مباشرة، تُحوّل الشيفرة إلى شكل منظم (بايتكود أو تعليمات داخلية) يُخزّن في الذاكرة ويُنفَّذ خطوة بخطوة. JVM لجافا، .NET، سرعات WebAssembly، ومحركات جافا سكريبت بالمتصفح كلها تعتمد على هذا: التعليمات تصبح هياكل بيانات يمكن للحاسوب تحميلها وتحريكها وتنفيذها.

هام أمني: عندما تتحول البيانات إلى تعليمات

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

كل هذا يعود إلى وعد البرنامج المخزن المركزي: مرونة عبر البرمجيات—سلوك جديد على نفس العتاد.

النقاط الأساسية وقراءات مقترحة

نقاط أساسية

  • الحاسوب ذو البرنامج المخزن يحتفظ بتعليمات البرنامج في نفس ذاكرة القراءة/الكتابة التي تخزن البيانات، فتغيّر ما تفعله الآلة بتغيير الذاكرة لا بتغيير الأسلاك.
  • تسمية "معمارية فون نيومان" تشير عادةً إلى تنظيم عملي (CPU + ذاكرة + إدخال/إخراج) حيث تتشارك التعليمات والبيانات المسارات، وليست ادعاء بأن شخصًا واحدًا اخترع كل شيء.
  • التفكير المبكر في البرامج المخزنة كان جهدًا جماعيًا: مناقشات EDVAC والتقارير ساعدت في صياغة الفكرة، ومشروعات متعددة أظهرت أنها قابلة للبناء والتشغيل بثبات.
  • البرامج المخزنة جعلت البرمجة الحديثة ممكنة لأنها تدعم الشيفرات القابلة لإعادة الاستخدام، المكتبات، المترجمات، وأنظمة التشغيل—كلها مبنية على افتراض أن البرنامج مجرد بيانات يمكن تحميلها وتشغيلها.

أسئلة سريعة للتعرّف على معمارية

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

  • أين تُخزن التعليمات أثناء التشغيل: في نفس ذاكرة البيانات أم في ذاكرة تعليمات منفصلة؟
  • هل تسافر التعليمات والبيانات عبر حافلة/مسار واحد أم لهما مسارات منفصلة (كما في تصميمات على طراز هارفارد)؟
  • هل يمكن للنظام تعديل أو توليد شيفرة ثم تنفيذها (قدرة مخزنة تقليدية) أم أن تخزين الشيفرة ثابت/معزل؟
  • هل توصف "ذاكرة البرنامج" كـفلاش/ROM بينما "ذاكرة البيانات" كـRAM (دلالة على فصل على طراز هارفارد في كثير من المتحكمات)؟

قراءات مقترحة

  • كتب: The Computer from Pascal to von Neumann لهيرمان ه. جولدستاين؛ كتب وتاريخ عام عن حواسيب ENIAC/EDVAC/IAS.
  • متاحف: متحف تاريخ الحاسوب (Computer History Museum); متحف العلوم (مجموعات الحوسبة); سميثسونيان (تاريخ التكنولوجيا).
  • أرشيفات ومجلات: مقالات تاريخية في IEEE وACM (بما في ذلك مقابلات تاريخية)، ومجموعات مكتبات الجامعات التي تحوي أوراق الحوسبة المبكرة.

إذا رغبت في المزيد من مقالات سهلة الوصول مثل هذا، تصفح /blog.

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

الأسئلة الشائعة

ما هو الحاسوب ذو البرنامج المخزن، ببساطة؟

يحتفظ الحاسوب ذو البرنامج المخزن بتعليمات البرنامج في نفس الذاكرة الداخلية التي تُستخدم لتخزين البيانات التي تعمل عليها تلك التعليمات. لتغيير المهمة، تُحمّل مجموعة مختلفة من التعليمات في الذاكرة بدلاً من إعادة توصيل الأسلاك أو إعادة تهيئة الأجهزة يدوياً.

كيف كانت تُبرمَج الحواسيب المبكرة قبل فكرة البرنامج المخزن؟

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

ماذا تعني كلمة “الذاكرة” في فكرة البرنامج المخزن (وكيف تختلف عن التخزين)؟

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

لماذا يُعد تقرير EDVAC مهمًا لفكرة البرنامج المخزن؟

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

هل اخترع جون فون نيومان الحاسوب ذو البرنامج المخزن بمفرده؟

ارتبط اسمه لأن شروحاته كانت واسعة الانتشار وسهلة الرجوع إليها، وليس لأنه كان المُبتكر الوحيد. ففكرة البرنامج المخزن نمت من جهد مجتمع أوسع (مهندسون، رياضياتيون، ومبرمجون مبكِّرون) عملوا على مشكلات متقاربة في نفس الحقبة.

ماذا يعني عادةً مصطلح “معمارية فون نيومان” اليوم؟

عادةً ما يشير مصطلح “معمارية فون نيومان” إلى نموذج عملي بسيط يتضمن:

  • وحدة المعالجة المركزية (CPU) التي تعمل بدورة جلب–فك الشفرة–تنفيذ
  • ذاكرة واحدة تحوي التعليمات والبيانات معاً
  • أجهزة الإدخال/الإخراج (I/O)

إنه تسمية تعليمية مريحة لتنظيم البرنامج المخزن، وليست ادعاءً بأن آلة أو شخصاً واحداً هو المصدر الوحيد للفكرة.

ما الفرق بين معمارية فون نيومان ومعمارية هارفارد؟

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

ما هو قيد فون نيومان، وكيف تقلله الحواسيب؟

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

كيف تشرح فكرة البرنامج المخزن تحديثات البرمجيات والتبديل بين التطبيقات في الأجهزة الحديثة؟

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

لماذا تهم فكرة “التعليمات كبيانات” من ناحية الأمن؟

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

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

أفضل طريقة لفهم قوة Koder هي تجربتها بنفسك.

ابدأ مجاناًاحجز عرضاً توضيحياً