সুচিপত্র:

ভিএইচডিএলে একটি সহজ চার-উপায় সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলারের ডিজাইন: 4 টি ধাপ
ভিএইচডিএলে একটি সহজ চার-উপায় সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলারের ডিজাইন: 4 টি ধাপ

ভিডিও: ভিএইচডিএলে একটি সহজ চার-উপায় সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলারের ডিজাইন: 4 টি ধাপ

ভিডিও: ভিএইচডিএলে একটি সহজ চার-উপায় সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলারের ডিজাইন: 4 টি ধাপ
ভিডিও: প্রাইমারি টেট 2023 প্রশ্নপত্রের সমাধান ব্যাখ্যা সহ | Answer Key | wb tet 2023 question and answer 2024, ডিসেম্বর
Anonim
ভিএইচডিএলে একটি সহজ চার-উপায় সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলারের ডিজাইন
ভিএইচডিএলে একটি সহজ চার-উপায় সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলারের ডিজাইন

আমার আগের নির্দেশে, আমরা দেখেছি কিভাবে একটি সহজ সরাসরি ম্যাপ করা ক্যাশে কন্ট্রোলার ডিজাইন করতে হয়। এবার আমরা এক ধাপ এগিয়ে যাই। আমরা একটি সহজ চার উপায় সেট সহযোগী ক্যাশে নিয়ামক ডিজাইন করা হবে। সুবিধা ? কম মিস রেট, কিন্তু পারফরম্যান্সের খরচে। আমার আগের ব্লগের মতো, আমরা আমাদের ক্যাশে কন্ট্রোলার পরীক্ষা করার জন্য একটি সম্পূর্ণ প্রসেসর, প্রধান মেমরি এবং ক্যাশে পরিবেশ ডিজাইন এবং অনুকরণ করব। আমি আশা করি আপনি ধারণাগুলি বুঝতে এবং ভবিষ্যতে আপনার নিজের ক্যাশে কন্ট্রোলার ডিজাইন করার জন্য এটি একটি দরকারী রেফারেন্স হিসাবে পাবেন। যেহেতু প্রসেসরের মডেল (টেস্ট বেঞ্চ) এবং প্রধান মেমরি সিস্টেম আমার আগের ব্লগের মতই, তাই আমি তাদের আর ব্যাখ্যা করব না। এটি সম্পর্কে বিস্তারিত জানার জন্য দয়া করে পূর্ববর্তী নির্দেশাবলী পড়ুন।

ধাপ 1: বিশেষ উল্লেখ

স্পেসিফিকেশন
স্পেসিফিকেশন

এখানে উপস্থাপিত ক্যাশে কন্ট্রোলারের স্পেসিফিকেশনের মাধ্যমে দ্রুত দেখুন:

  • ফোর-ওয়ে সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলার (ডাইরেক্ট ম্যাপড ক্যাশে কন্ট্রোলার খুঁজলে এই লিঙ্কে যান)।
  • একক ব্যাঙ্ক, ব্লকিং ক্যাশে।
  • লেখার মাধ্যমে হিট লেখার নীতি।
  • রাইট-অরাউন্ড পলিসি রাইট মিস।
  • ট্রি সিউডো-এলআরইউ (পিএলআরইউ) প্রতিস্থাপন নীতি।
  • কন্ট্রোলারের মধ্যে ট্যাগ অ্যারে।
  • কনফিগারযোগ্য প্যারামিটার।

ক্যাশে মেমরি এবং প্রধান মেমরির জন্য ডিফল্ট চশমা আমার আগের নির্দেশের মতো। দয়া করে তাদের উল্লেখ করুন।

ধাপ 2: পুরো সিস্টেমের RTL ভিউ

পুরো সিস্টেমের RTL ভিউ
পুরো সিস্টেমের RTL ভিউ

শীর্ষ মডিউলের সম্পূর্ণ আরটিএল উপস্থাপনা চিত্রে দেখানো হয়েছে (প্রসেসর বাদে)। বাসগুলির জন্য ডিফল্ট স্পেসগুলি হল:

  • সমস্ত ডেটা বাস 32-বিট বাস।
  • ঠিকানা বাস = 32-বিট বাস (কিন্তু মেমোরি দ্বারা এখানে শুধুমাত্র 10 বিট ঠিকানা দেওয়া যায়)।
  • ডেটা ব্লক = 128 বিট (পড়ার জন্য ওয়াইড ব্যান্ডউইথ বাস)।
  • সমস্ত উপাদান একই ঘড়ি দ্বারা চালিত হয়।

ধাপ 3: পরীক্ষার ফলাফল

শীর্ষ মডিউলটি একটি টেস্ট বেঞ্চ ব্যবহার করে পরীক্ষা করা হয়েছিল, যেটি কেবল একটি নন-পাইপলাইন প্রসেসরকে মডেল করে, ঠিক যেমনটি আমরা শেষ নির্দেশে করেছি। টেস্ট বেঞ্চ মেমরিতে ঘন ঘন রিড/রাইট ডেটা রিকোয়েস্ট তৈরি করে। এটি সাধারণ "লোড" এবং "স্টোর" নির্দেশাবলী উপহাস করে, যা প্রসেসরের দ্বারা সম্পাদিত সমস্ত প্রোগ্রামে সাধারণ।

পরীক্ষার ফলাফল সফলভাবে ক্যাশে কন্ট্রোলারের কার্যকারিতা যাচাই করেছে। নিম্নলিখিত পরীক্ষার পরিসংখ্যান পর্যবেক্ষণ করা হয়:

  • সমস্ত পড়া/লিখুন মিস এবং হিট সংকেত সঠিকভাবে উৎপন্ন হয়েছিল।
  • সমস্ত পড়া/লেখার ডেটা অপারেশন চারটি উপায়ে সফল হয়েছিল।
  • ক্যাশ লাইন প্রতিস্থাপনের জন্য pLRU অ্যালগরিদম সফলভাবে যাচাই করা হয়েছে।
  • কোন তথ্য অসঙ্গতি/অসঙ্গতি সমস্যা সনাক্ত
  • নকশা সফলভাবে একটি ম্যাক্সমের জন্য যাচাই করা হয়েছিল। Xilinx Virtex-4 ML-403 বোর্ড (পুরো সিস্টেম) -এর ঘড়ির ফ্রিকোয়েন্সি = 100 MHz, শুধুমাত্র ক্যাশে কন্ট্রোলারের জন্য 110 MHz।
  • মেইন মেমরির জন্য ব্লক র‍্যাম অনুমান করা হয়েছিল। অন্যান্য সমস্ত অ্যারে LUTs এ প্রয়োগ করা হয়েছিল।

ধাপ 4: সংযুক্ত ফাইল

এই ব্লগের সাথে এখানে নিম্নলিখিত ফাইল সংযুক্ত করা হয়েছে:

  • ক্যাশে কন্ট্রোলার, ক্যাশে ডেটা অ্যারে, প্রধান মেমরি সিস্টেমের
  • টেস্ট বেঞ্চ।
  • ক্যাশে কন্ট্রোলারে ডকুমেন্টেশন।

মন্তব্য:

  • এখানে উপস্থাপিত ক্যাশে কন্ট্রোলারের স্পেসিফিকেশন সম্পূর্ণ বোঝার জন্য ডকুমেন্টেশনের মাধ্যমে যান।
  • কোডের যেকোনো পরিবর্তন অন্য মডিউলের উপর নির্ভরশীলতা রয়েছে। সুতরাং, পরিবর্তনগুলি সঠিকভাবে করা উচিত।
  • আমার দেওয়া সমস্ত মন্তব্য এবং শিরোনামগুলিতে মনোযোগ দিন।
  • যদি কোন কারণে, প্রধান মেমরির জন্য ব্লক রs্যামগুলি অনুমান করা হয় না, মেমরির আকার হ্রাস করুন, তারপরে ফাইল জুড়ে ঠিকানা বাসের প্রস্থে পরিবর্তন এবং আরও অনেক কিছু। যাতে একই মেমরিটি LUTs বা বিতরণকৃত RAM এ প্রয়োগ করা যায়। এটি রাউটিং সময় এবং সম্পদ সংরক্ষণ করবে। অথবা, নির্দিষ্ট এফপিজিএ ডকুমেন্টেশনে যান এবং ব্লক র RAM্যামের জন্য সামঞ্জস্যপূর্ণ কোড খুঁজুন এবং সেই অনুযায়ী কোড সম্পাদনা করুন এবং একই ঠিকানা বাস প্রস্থের স্পেসিফিকেশন ব্যবহার করুন। Altera FPGAs এর জন্য একই কৌশল।

প্রস্তাবিত: