- التطبيقات
- الأصل
- نموذج
- هندسة هارفارد المعدلة
- كيف تعمل هندسة هارفارد؟
- إضافات في العمارة
- عناوين الذاكرة
- نظام الذاكرة
- مميزات
- مستوى الحماية
- سرعة أعلى
- سلبيات
- المزيد من التعقيد والتكلفة
- القليل من الاستخدام
- إساءة استخدام مساحة الذاكرة
- المراجع
و الهندسة المعمارية في جامعة هارفارد هي تكوين جهاز الكمبيوتر الذي توجد بيانات وتعليمات برنامج في خلايا منفصلة من الذاكرة، والتي لا يمكن معالجتها بشكل مستقل.
أي أنه المصطلح المستخدم لنظام الكمبيوتر الذي يحتوي على منطقتين منفصلتين: للأوامر أو التعليمات وللبيانات. لذلك ، تتمثل الوظيفة الرئيسية لهذه البنية في تخزين البيانات مفصولة ماديًا ، مما يوفر مسارات إشارة مختلفة للتعليمات والبيانات.
المصدر: From Nessa los - Own work، CC BY-SA 3.0، commons.wikimedia
في هذه البنية ، يمكن أن يكون كل من تنسيق ووسائط هذين الجزأين من النظام غير متساويين ، لأن الجزأين يتكونان من هيكلين منفصلين.
تتضمن بعض الأمثلة على معماريات هارفارد أنظمة الكمبيوتر المبكرة ، حيث يمكن أن تكون تعليمات البرنامج على وسيط واحد ، على سبيل المثال ، على البطاقات المثقبة ، ويمكن أن تكون البيانات المخزنة على وسيط آخر ، على سبيل المثال ، على الأشرطة المغناطيسية.
التطبيقات
هذا النوع من الهندسة المعمارية له تطبيق واسع في منتجات معالجة الفيديو والصوت. مع كل أداة لمعالجة الفيديو والصوت ، يمكن رؤية شكل هندسة هارفارد.
الأجهزة التناظرية معالجات Blackfin هي الجهاز المحدد الذي وجدت استخدامه الرئيسي فيه. في المنتجات الأخرى القائمة على الرقائق الإلكترونية ، تُستخدم بنية هارفارد أيضًا على نطاق واسع.
ومع ذلك ، تستخدم معظم أجهزة الكمبيوتر بنية von Neumann وتستخدم ذاكرات وحدة المعالجة المركزية لتحقيق التداخل.
الأصل
العمل المنجز في جامعة هارفارد في الأربعينيات من القرن الماضي تحت قيادة هوارد أيكن أنشأ جهاز كمبيوتر قائم على الترحيل ، يُدعى Harvard Mark I ، وهو المصطلح الذي نشأ منه مفهوم هندسة هارفارد.
استخدم هذا الكمبيوتر وحدات ذاكرة منفصلة لتخزين البيانات والتعليمات. ثم كان هناك تطور كبير مع هذه الهندسة.
شجع أيكن على استخدام ذاكرة منفصلة للبيانات ولإرشادات البرنامج ، مع حافلات منفصلة لكل منها.
عادةً ما تخزن بنية هارفارد الأصلية التعليمات على الأشرطة المثقوبة والبيانات على العدادات الكهروميكانيكية.
كان تخزين البيانات لهذه الأجهزة القديمة بالكامل داخل وحدة المعالجة المركزية. من ناحية أخرى ، لم يسمحوا بالوصول إلى التعليمات ليتم تخزينها كبيانات. كان على المشغل تحميل البرامج.
يمكن لمعمارية هارفارد معالجة البيانات وتنفيذ التعليمات في نفس الوقت ، لأن لكل منها ناقل العنوان الخاص به.
نموذج
يتميز هذا النموذج بأن حافلات المعلومات والتخزين منفصلان ماديًا عن البيانات وكود البرنامج.
نظرًا لأن الحافلات تعمل بشكل مستقل ، يمكن الحصول على إرشادات البيانات والبرنامج في نفس الوقت ، وبالتالي تحسين السرعة على تصميم الحافلة الفردية.
لذلك ، تبين أن نموذج هارفارد أكثر تعقيدًا. ومع ذلك ، فإن امتلاك الحافلات بشكل مستقل يتجنب الاختناق الناتج عن هندسة فون نيومان.
يمكن أن يكون الكمبيوتر أسرع لدائرة ذات تعقيد معين ، لأن البحث عن التعليمات والوصول إلى البيانات لا يجب أن يقاتل من أجل ناقل ذاكرة واحد.
للعمل هناك نوعان من عناوين الذاكرة. لذلك ، يوجد سجل ذاكرة لتعليمات الجهاز وسجل ذاكرة آخر للبيانات.
على عكس بنية von Neumann ، التي تستخدم ناقلًا لنقل كل من التعليمات والبيانات في الذاكرة ، تستخدم بنية Harvard منطقة ذاكرة واحدة للبيانات وأخرى للتعليمات.
هندسة هارفارد المعدلة
في أجهزة الكمبيوتر اليوم ، لا يوجد تصنيف مادي لمناطق الذاكرة المستخدمة بواسطة البرامج والبيانات. لهذا السبب ، يمكن القول أن لديهم من الناحية التكنولوجية بنية Von Neumann.
ومع ذلك ، فإن هندسة هارفارد المعدلة تعمل على تمثيل أجهزة الكمبيوتر اليوم بشكل أفضل.
على الرغم من أن وحدات المعالجة الحالية تشترك في الذاكرة ، إلا أنها تحتوي على عناصر معينة ، مثل التعليمات الفريدة ، التي تمنع البيانات من التشابك مع التعليمات. وهذا ما يسمى بعمارة هارفارد المعدلة.
وبالتالي ، فإن بنية هارفارد المعدلة لها ناقلان منفصلان ، أحدهما للكود والآخر للبيانات ، لكن الذاكرة نفسها عنصر مشترك ماديًا.
وحدة التحكم في الذاكرة هي مكان التغيير ، لأن هذا الجهاز هو الجهاز الذي يتعامل مع الذاكرة وكيفية استخدامها.
تصاميم الكمبيوتر الحديثة مدعومة من قبل هندسة هارفارد المعدلة. يتم استخدامها في ميكروكنترولر وفي معالجة الإشارات الرقمية.
كيف تعمل هندسة هارفارد؟
تحتوي بنية هارفارد على مناطق عناوين ذاكرة مختلفة للبرنامج وللبيانات.
ينتج عن هذا القدرة على تصميم دائرة بطريقة يمكن من خلالها استخدام ناقل ودائرة تحكم للتعامل مع تدفق المعلومات من ذاكرة البرنامج ودائرة منفصلة للتعامل مع تدفق المعلومات إلى ذاكرة البيانات.
يعني استخدام حافلات منفصلة أنه من الممكن استرداد البرنامج وتنفيذه دون مقاطعة بسبب النقل العرضي للبيانات إلى ذاكرة البيانات.
على سبيل المثال ، في إصدار بسيط من هذه البنية ، يمكن أن تكون وحدة استرداد البرنامج مشغولة في استرداد التعليمات التالية في تسلسل البرنامج وفي نفس الوقت تنفيذ عملية نقل البيانات التي كان من الممكن أن تكون جزءًا من تعليمات البرنامج السابقة..
في هذا المستوى ، توجد قيود على بنية هارفارد ، لأنه من غير الممكن عمومًا وضع رمز البرنامج في ذاكرة البيانات وتنفيذها من هناك.
إضافات في العمارة
يمكن إضافة العديد من المتغيرات الحالية الأكثر تعقيدًا إلى الشكل البسيط لهندسة هارفارد.
تتمثل الإضافة الشائعة في إضافة ذاكرة تخزين مؤقت للتعليمات إلى ناقل بيانات البرنامج ، مما يسمح لوحدة تنفيذ التعليمات بالوصول بشكل أسرع إلى الخطوة التالية في البرنامج ، دون الحاجة إلى الانتقال إلى ذاكرة أبطأ للوصول إلى الخطوة. من البرنامج في كل مرة يكون ذلك مطلوبًا.
عناوين الذاكرة
يحتوي كمبيوتر معماري هارفارد على تعليمات مختلفة ومناطق عناوين البيانات: عنوان التعليمات واحد ليس هو نفس المنطقة مثل عنوان البيانات واحد.
يمكن أن يحتوي عنوان التعليمات واحد على قيمة 24 بت ، بينما يمكن أن يشير عنوان البيانات الأول إلى بايت ثماني بتات ، وهي ليست جزءًا من قيمة 24 بت.
نظام الذاكرة
نظرًا لوجود منطقة ذاكرة منفصلة للتعليمات والبيانات ، تفصل بين كل من الإشارات وتخزين الذاكرة للرمز والبيانات ، وهذا يجعل من الممكن الوصول في وقت واحد إلى كل من أنظمة الذاكرة.
مميزات
- هناك فرصة أقل للفساد في الإرسال ، حيث يتم نقل البيانات والتعليمات عبر حافلات مختلفة.
- يتم الوصول إلى البيانات والتعليمات بنفس الطريقة.
- يسمح بوسائط تخزين مختلفة للتعليمات والبيانات. على سبيل المثال ، يمكنك وضع التعليمات في ذاكرة القراءة فقط غير المكلفة والبيانات في ذاكرة الوصول العشوائي باهظة الثمن.
- يمكن أن تستخدم الذكريتان أحجام خلايا مختلفة ، وبالتالي الاستفادة الفعالة من الموارد.
- لديها نطاق ترددي أكبر للذاكرة ، والذي يمكن التنبؤ به بشكل أكبر من خلال وجود ذاكرة منفصلة للتعليمات والبيانات.
مستوى الحماية
في الأنظمة التي لا تحتوي على وحدة إدارة ذاكرة ، فإنه يوفر مستوى إضافيًا من الحماية ، حيث لا يمكن بدء تشغيل البيانات كرمز ، مما قد يعرض النظام للعديد من المشكلات ، مثل تجاوز سعة المخزن المؤقت.
هذا هو السبب في أنها تحظى بشعبية مع الأنظمة المدمجة الصغيرة ، مثل الميكروويف أو الساعة.
سرعة أعلى
يمكن لمعمارية هارفارد قراءة التعليمات والوصول أيضًا إلى ذاكرة البيانات في وقت واحد بسرعة عالية.
يوفر أداءً أكبر ، لأنه يسمح بالحصول المتزامن على البيانات والتعليمات ليتم تخزينها في ذكريات منفصلة والسفر عبر حافلات مختلفة.
ستساعد بنية هارفارد بشكل عام جهاز كمبيوتر بمستوى معين من التعقيد على العمل بشكل أسرع من معمارية Von Neumann ، طالما أنه ليس من الضروري مشاركة الموارد بين الكود وذاكرة البيانات.
إذا فرضت قيود الدبوس أو عوامل أخرى على استخدام ناقل واحد للوصول إلى مساحات الذاكرة ، فمن المحتمل أن يتم إلغاء هذه الفوائد إلى حد كبير.
سلبيات
المزيد من التعقيد والتكلفة
تكمن مشكلة هندسة هارفارد في تعقيدها وتكلفتها الكبيرة لأنه بدلاً من ناقل بيانات واحد ، هناك حاجة الآن إلى ناقلتين.
يعد إنتاج جهاز كمبيوتر ثنائي الحافلة أكثر تكلفة ويستغرق وقتًا أطول في التصنيع. يتطلب وحدة تحكم لحافلتين ، وهو أمر أكثر تعقيدًا ويستغرق وقتًا طويلاً وتكلفة تطويره.
هذا يعني تنفيذًا أكثر تعقيدًا للمصنعين. يتطلب المزيد من المسامير على وحدة المعالجة المركزية ، ولوحة أم أكثر تعقيدًا ، وتحتاج إلى نسخ شرائح ذاكرة الوصول العشوائي ، فضلاً عن تصميم ذاكرة تخزين مؤقت أكثر تعقيدًا.
القليل من الاستخدام
لا تُستخدم بنية هارفارد على نطاق واسع ، مما يجعل تنفيذها أكثر صعوبة. لهذا السبب نادرًا ما يتم استخدامه خارج وحدة المعالجة المركزية.
ومع ذلك ، يتم استخدام هذه البنية أحيانًا داخل وحدة المعالجة المركزية لإدارة ذاكرات التخزين المؤقت الخاصة بها.
إساءة استخدام مساحة الذاكرة
عندما تكون هناك مساحة خالية في ذاكرة البيانات ، فلا يمكن استخدامها لتخزين التعليمات والعكس صحيح.
لذلك ، يجب أن تكون الذكريات الخاصة المخصصة لكل منها متوازنة بعناية في تصنيعها.
المراجع
- قائمة الاختلافات (2019). الفرق بين الهندسة المعمارية فون نيومان وهارفارد؟ مأخوذة من: listdifferences.com.
- مجلة الكمبيوتر (2019). تعريف: عمارة هارفارد. مأخوذة من: pcmag.com.
- تيكوبيديا (2019). هندسة هارفارد. مأخوذة من: ceilingpedia.com.
- سكوت ثورنتون (2018). ما الفرق بين معماريات فون نيومان وهارفارد؟ نصائح للمتحكم الدقيق. مأخوذة من: microcontrollertips.com.
- ويكيبيديا ، الموسوعة المجانية (2019). عمارة هارفارد. مأخوذة من: en.wikipedia.org.
- المبرمج المجنون (2019). الفرق بين فون نيومان وهارفارد للهندسة المعمارية. مأخوذة من: thecrazyprogrammer.com.