جدول المحتويات:

تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: 4 خطوات
تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: 4 خطوات

فيديو: تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: 4 خطوات

فيديو: تصميم وحدة تحكم ذاكرة تخزين مؤقت بسيطة في VHDL: 4 خطوات
فيديو: مسح كافة أنواع ذاكرة التخزين المؤقت Cache على ويندوز 10/11 لتحسين الأداء وتحسين سرعات المعالجة 2024, يونيو
Anonim
تصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت في VHDL
تصميم وحدة تحكم بسيطة في ذاكرة التخزين المؤقت في VHDL

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

الخطوة 1: المواصفات

تحديد
تحديد

هذه هي المواصفات الرئيسية لوحدة التحكم في ذاكرة التخزين المؤقت التي سنقوم بتصميمها:

  • تعيين مباشر. (انتقل إلى هذا الرابط إذا كنت تبحث عن Associative Mapped Cache Controller)
  • بنك واحد ، حظر ذاكرة التخزين المؤقت.
  • سياسة الكتابة على زيارات الكتابة.
  • عدم الكتابة تخصيص أو الكتابة حول النهج في الكتابة المفقودة.
  • لا كتابة عازلة أو تحسينات أخرى.
  • تم دمج العلامات Array.

بالإضافة إلى ذلك ، سنقوم بتصميم ذاكرة تخزين مؤقت ونظام ذاكرة رئيسي أيضًا.

المواصفات الافتراضية (القابلة للتكوين) لذاكرة التخزين المؤقت:

  • 256 بايت مخبأ مفرد.
  • 16 سطر من ذاكرة التخزين المؤقت ، كل سطر من خطوط التخزين المؤقت (كتلة) = 16 بايت.

مواصفات الذاكرة الرئيسية:

  • ذاكرة القراءة / الكتابة المتزامنة.
  • ذاكرة معشق متعددة البنوك - أربعة بنوك ذاكرة.
  • حجم كل بنك = 1 كيلو بايت لكل بنك. وبالتالي ، الحجم الإجمالي = 4 كيلو بايت.
  • ذاكرة قابلة للعنونة Word (4 بايت) مع ناقل عنوان 10 بت.
  • نطاق ترددي أعلى للقراءة. قراءة عرض البيانات = 16 بايت في دورة ساعة واحدة.
  • كتابة عرض البيانات = 4 بايت.

ملاحظة: تحقق من التعليمات الأحدث الخاصة بي إذا كنت تبحث عن تصميم وحدة تحكم ذاكرة التخزين المؤقت الترابطية رباعية الاتجاهات

الخطوة 2: عرض RTL للنظام بأكمله

عرض RTL للنظام بأكمله
عرض RTL للنظام بأكمله

يظهر تمثيل RTL الكامل للوحدة العلوية في الشكل (باستثناء المعالج). المواصفات الافتراضية للحافلات هي:

  • جميع حافلات البيانات هي حافلات 32 بت.
  • ناقل العنوان = ناقل 32 بت (ولكن فقط 10 بتات قابلة للعنونة هنا بواسطة الذاكرة).
  • كتلة البيانات = 128 بت (ناقل النطاق الترددي العريض للقراءة).
  • يتم تشغيل جميع المكونات بواسطة نفس الساعة.

الخطوة 3: اختبار البيئة

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

  • تم إنشاء جميع إشارات القراءة / الكتابة Miss و Hit بشكل صحيح.
  • تمت جميع عمليات قراءة / كتابة البيانات بنجاح.
  • لم يتم الكشف عن مشاكل عدم اتساق البيانات / عدم تناسقها.
  • تم التحقق من توقيت التصميم بنجاح لـ Maxm. تردد التشغيل على مدار الساعة = 110 ميجا هرتز في لوحة Xilinx Virtex-4 ML-403 (نظام كامل) ، 195 ميجا هرتز لوحدة التحكم في ذاكرة التخزين المؤقت وحدها.
  • تم استنتاج كتلة ذاكرة الوصول العشوائي للذاكرة الرئيسية. تم تنفيذ جميع المصفوفات الأخرى على طرفية المستعملين (LUTs).

الخطوة 4: الملفات المرفقة

الملفات التالية مرفقة هنا مع هذه المدونة:

  • ملفات VHD لوحدة التحكم في ذاكرة التخزين المؤقت ، وصفيف بيانات ذاكرة التخزين المؤقت ، ونظام الذاكرة الرئيسي.
  • اختبار مقاعد البدلاء.
  • التوثيق على وحدة التحكم في ذاكرة التخزين المؤقت.

ملحوظات:

  • راجع الوثائق لفهم كامل لمواصفات Cache Controller المعروضة هنا.
  • أي تغييرات في الكود لها اعتماد على الوحدات النمطية الأخرى. لذلك ، يجب إجراء التغييرات بحكمة. انتبه إلى جميع التعليقات والعناوين التي قدمتها.
  • إذا لم يتم الاستدلال على كتل RAM لأي سبب من الأسباب للذاكرة الرئيسية ، فقم بتقليل حجم الذاكرة ، متبوعًا بالتغييرات في عرض ناقل العنوان عبر الملفات وما إلى ذلك. بحيث يمكن تنفيذ نفس الذاكرة إما على جداول البحث أو ذاكرة الوصول العشوائي الموزعة. سيوفر هذا وقت التوجيه والموارد. أو انتقل إلى وثائق FPGA المحددة وابحث عن الكود المتوافق لـ Block RAM وقم بتحرير الكود وفقًا لذلك ، واستخدم نفس مواصفات عرض ناقل العنوان. نفس الأسلوب لـ Altera FPGAs.

موصى به: