اقرأ في هذا المقال
- ما المقصود بمعمارية فون نيومان وهارفارد؟
- تعريف معمارية فون نيومان Von Neumann Architecture
- تعريف معمارية هارفارد Harvard Architecture
- الفرق بين معمارية الحاسوب لفون نيومان وهارفارد
من المعروف أنّ معمارية (Von Neumann) و (Harvard) هما النموذجان الأساسيان اللذان تعتمد عليهما أنظمة الكمبيوتر، ينشأ الاختلاف الكبير بين بنية (Von Neumann) و (Harvard) وفقًا للطريقة التي يتم بها فصل وحدة المعالجة المركزية عن الذاكرة.
ما المقصود بمعمارية فون نيومان وهارفارد؟
في بنية (Von Neumann) و(Harvard)، يتم استخدام طريقتين مختلفتين للوصول إلى الذاكرة بواسطة وحدة المعالجة المركزية، تُعرف بنية (Von Neumann) أيضًا باسم (Princeton architecture) التي اقترحها (John Von Neumann) في عام (1945)، وهي بنية حيث تخضع البيانات والبرامج لذاكرة مشتركة، أي يتم تخزينها في نفس كتلة الذاكرة.
في مقابل ذلك، فإنّ معمارية “هارفارد” هي نهج لا تشترك فيه البيانات والتعليمات في نفس الذاكرة، أي موجودة في كتل ذاكرة مختلفة، يقال عمومًا أنّه تمّ اقتراح “هارفارد” للتعامل مع قيود معمارية “فون نيومان”.
تعريف معمارية فون نيومان Von Neumann Architecture:
تُعرف بنية الكمبيوتر التي تستخدم وحدة ذاكرة واحدة يتم فيها تخزين البيانات والتعليمات باسم معمارية “فون نيومان”، في التمثيل المعماري لنموذج (Von Neumann)، يكون هناك ثلاثة مكونات رئيسية تشكل هذه البنية:
- وحدة المعالجة المركزية (CPU).
- الذاكرة (Memory).
- واجهة الإدخال / الإخراج (I/O interface).
تتكون وحدة المعالجة المركزية من وحدة التحكم ووحدة الحساب والمنطق والسجلات، وحدة التحكم مسؤولة عن توليد إشارات التحكم بناءً على ترتيب تنفيذ التعليمات، وهذا يعني أنّ إشارات التحكم يتم توفيرها للمكونات المختلفة داخل البنية من أجل التدفق الصحيح للمعلومات، (ALU) هي المسؤولة عن تنفيذ العمليات الحسابية، بينما تكون السجلات مسؤولة عن التخزين المؤقت للبيانات والتعليمات.
تعمل وحدة الذاكرة أيضًا كجزء أساسي من النظام العام حيث تقوم بتخزين البيانات وكذلك الرموز، تصنف ذاكرة الكمبيوتر بشكل أساسي على أنّها ذاكرة الوصول العشوائي (RAM) وذاكرة القراءة فقط (ROM)، ذاكرة الوصول العشوائي هي وحدة التخزين المؤقتة التي تخزن البيانات جنبًا إلى جنب مع تعليمات الأغراض العامة، بينما (ROM) هو نوع دائم من الذاكرة يحمل التعليمات المسؤولة عن تمهيد “إقلاع” النظام.
كما قلنا أنّه في هذه البنية، توجد كل من البيانات والتعليمات في وحدة ذاكرة واحدة، ومن ثمّ يتم استخدام مجموعة واحدة من الناقلات بواسطة وحدة المعالجة المركزية للوصول إلى الذاكرة، بعد تنفيذ البرنامج ، يتم تخزين البيانات في الذاكرة من حيث يتم توفيرها لأجهزة الإخراج.
تعريف معمارية هارفارد Harvard Architecture:
تُعرف بنية الكمبيوتر حيث يتم تقسيم وحدة الذاكرة إلى جزأين لتخزين البيانات والتعليمات بشكل فردي باسم معمارية “هارفارد”، هذا يعني أنّه على عكس معمارية (Von Neumann)، هنا تكون ذاكرة البيانات وذاكرة التعليمات في تنسيق منفصل، في نموذج “هارفارد”:
هنا في هذه البنية، تعمل وحدة المعالجة المركزية بطريقة مشابهة إلى حد ما كما في بنية (Von Neumann)، ولكن كما هو الحال هنا، يتم استخدام وحدتي ذاكرة منفصلتين وبالتالي يتم استخدام نواقل منفصلة لنقل البيانات وجلب التعليمات، وبالتالي، فإنّ سرعة التنفيذ أسرع بكثير من معمارية (Von Neumann).
في هذا النهج، يحدث الاستخدام الفعّال للموارد حيث تكون بتات التعليمات في بعض الأحيان أكثر من بتات البيانات وبالتالي تسمح بالوصول لأحجام مختلفة من الخلايا، أيضًا، يساعد استخدام ذاكرات منفصلة لكل من البيانات والتعليمات في تقليل وقت التنفيذ، ومع ذلك، في نموذج “هارفارد”، يجب أن تكون وحدة المعالجة المركزية الموجودة أكثر كفاءة حتى تتمكن من التعامل مع مجموعتين من النواقل والسماح بنقل البيانات في وقت واحد وجلب التعليمات.
الفرق بين معمارية الحاسوب لفون نيومان وهارفارد:
جدول المقارنة بين معمارية فون نيومان وهارفارد:
أوجه المقارنة | معمارية فون نيومان | معمارية هارفارد |
الأساس | البيانات والتعليمات موجودة داخل وحدة ذاكرة واحدة. | يتم توفير البيانات والتعليمات لوحدتي ذاكرة مختلفتين. |
تركز على | مفهوم كمبيوتر البرنامج المخزن. | نموذج هارفارد مارك الأول القائم على الترحيل (relay). |
نظام الذاكرة | أحادي | مزدوج |
المساحة المطلوبة | أقل | نسبيًا أكثر |
مجموعة ناقل العنوان/ناقل البيانات | واحدة | اثنتين |
تكلفة التطوير | رخيصة | نسبيًا أكثر |
الكفاءة | أقل | أكثر |
سرعة التنفيذ | بطيئة | نسبيًا أسرع |
العملية | بسيطة | معقدة |
عرض الأداء | قليل | نسبيًا أعلى |
دورة الساعة | يتم تنفيذ التعليمات الفردية في دورتين على مدار الساعة على الأقل. | يتم تنفيذ التعليمات الفردية في دورة ساعة واحدة. |
الميزات | لا يحدث نقل البيانات وجلب التعليمات في وقت واحد. | يتم نقل البيانات وجلب التعليمات في نفس الوقت. |
استغلال المساحة | جيد | ليس جيد كثيرًا |
التطبيقات | أجهزة الكمبيوتر ومحطات العمل وأجهزة الكمبيوتر المحمولة وما إلى ذلك. | المتحكمات الدقيقة، معالجة الإشارات الرقمية، وغيرها. |
الاختلافات الرئيسية بين معمارية فون نيومان وهارفارد:
- العامل الرئيسي للتمييز بين معمارية (Von Neumann) و(Harvard) هو أنّه في بنية (Von Neumann)، يتم الوصول إلى ذاكرة واحدة تحتوي على كل من البيانات والتعليمات بواسطة وحدة المعالجة المركزية، على العكس من ذلك، في معمارية “هارفارد”، توجد وحدات ذاكرة فردية للبيانات والتعليمات التي يتم الوصول إليها بواسطة المعالج.
- إنّ وجود وحدة ذاكرة واحدة يجعل النظام المكون من بنية “فون نيومان” مضغوطًا تمامًا مقارنة بالنظام ببنية “هارفارد”، نظرًا لأنّه يحتوي على أكثر من ذاكرة واحدة وبالتالي فهو ضخم.
- في معمارية “فون نيومان”، يتم استخدام ناقل مشترك للبيانات والتعليمات، بينما في معمارية “هارفارد”، يتم استخدام مجموعة منفصلة من النواقل لنقل البيانات وإحضار التعليمات حيث توجد وحدتا ذاكرة منفصلتان هنا.
- تكلفة تطوير نظام بمعمارية “فون نيومان” أقل نسبيًا من تكلفة تطوير نظام بمعمارية “هارفارد”.
- تتمثل إحدى الميزات المهمة لبنية “هارفارد” في أنّها توفر نقل البيانات وإحضار التعليمات من الذاكرة في نفس الوقت لأنّها تتكون من مجموعتين من النزاقل لإجراء العملية، في مقابل ذلك، ليس هذا هو الحال مع بنية “فون نيومان”، حيث يتم استخدام ناقل واحد لكل من نقل البيانات وجلب التعليمات وبالتالي لا يمكن أن تتم المهمتان في وقت واحد.
- تحتاج بنية (Von Neumann) إلى مساحة أقل نظرًا لأنّها تحتوي على وحدة ذاكرة واحدة، لكن بنية (Harvard) تأخذ مساحة أكبر نسبيًا بسبب وحدات الذاكرة المتعددة.
- تُظهر بنية (Von Neumann) سرعة تنفيذ أبطأ لأنّها لا تسمح بالمعالجة المتزامنة بينما تكون سرعة التنفيذ التي توفرها بنية (Harvard) أكثر.
- على الرغم من أنّ سرعة تنفيذ العمليات أقل في حالة (Von Neumann)، إلا أنّ التنفيذ هنا بسيط للغاية ولكن معمارية (Harvard) تقدم عملية معقدة نسبيًا.
- تختلف أيضًا متطلبات الأجهزة للمعماريتين، في بنية (Von Neumann)، يتم الوصول إلى ذاكرة واحدة وبالتالي فإنّ متطلبات الأجهزة منخفضة، على العكس من ذلك، في “هارفارد”، يتم الوصول إلى وحدتي ذاكرة وبالتالي من الواضح أنّ متطلبات الأجهزة ستكون عالية.
- يعد استخدام المساحة داخل الذاكرة مشكلة رئيسية في نموذج “هارفارد” حيث يتم تخزين البيانات والتعليمات بشكل منفصل وبالتالي، حتى إذا تمّ ترك بعض المساحة في ذاكرة البيانات، لا يمكن لأي تعليمات استخدام هذه المساحة، ومع ذلك، فإنّ عامل استخدام المساحة أفضل نسبيًا في نموذج (Von Neumann)، لأنّ كل من البيانات والتعليمات مخزنة في نفس وحدة الذاكرة.
- في بنية (Von Neumann)، يتم تنفيذ التعليمات باستخدام دورتين على مدار الساعة (clock cycle)، ولكن باستخدام خطوط النواقل المناسبة، في دورة ساعة واحدة، يمكن تنفيذ تعليمات واحدة في معمارية “هارفارد”.