সুচিপত্র:
ভিডিও: ভিএইচডিএলে একটি সহজ চার-উপায় সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলারের ডিজাইন: 4 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
আমার আগের নির্দেশে, আমরা দেখেছি কিভাবে একটি সহজ সরাসরি ম্যাপ করা ক্যাশে কন্ট্রোলার ডিজাইন করতে হয়। এবার আমরা এক ধাপ এগিয়ে যাই। আমরা একটি সহজ চার উপায় সেট সহযোগী ক্যাশে নিয়ামক ডিজাইন করা হবে। সুবিধা ? কম মিস রেট, কিন্তু পারফরম্যান্সের খরচে। আমার আগের ব্লগের মতো, আমরা আমাদের ক্যাশে কন্ট্রোলার পরীক্ষা করার জন্য একটি সম্পূর্ণ প্রসেসর, প্রধান মেমরি এবং ক্যাশে পরিবেশ ডিজাইন এবং অনুকরণ করব। আমি আশা করি আপনি ধারণাগুলি বুঝতে এবং ভবিষ্যতে আপনার নিজের ক্যাশে কন্ট্রোলার ডিজাইন করার জন্য এটি একটি দরকারী রেফারেন্স হিসাবে পাবেন। যেহেতু প্রসেসরের মডেল (টেস্ট বেঞ্চ) এবং প্রধান মেমরি সিস্টেম আমার আগের ব্লগের মতই, তাই আমি তাদের আর ব্যাখ্যা করব না। এটি সম্পর্কে বিস্তারিত জানার জন্য দয়া করে পূর্ববর্তী নির্দেশাবলী পড়ুন।
ধাপ 1: বিশেষ উল্লেখ
এখানে উপস্থাপিত ক্যাশে কন্ট্রোলারের স্পেসিফিকেশনের মাধ্যমে দ্রুত দেখুন:
- ফোর-ওয়ে সেট অ্যাসোসিয়েটিভ ক্যাশে কন্ট্রোলার (ডাইরেক্ট ম্যাপড ক্যাশে কন্ট্রোলার খুঁজলে এই লিঙ্কে যান)।
- একক ব্যাঙ্ক, ব্লকিং ক্যাশে।
- লেখার মাধ্যমে হিট লেখার নীতি।
- রাইট-অরাউন্ড পলিসি রাইট মিস।
- ট্রি সিউডো-এলআরইউ (পিএলআরইউ) প্রতিস্থাপন নীতি।
- কন্ট্রোলারের মধ্যে ট্যাগ অ্যারে।
- কনফিগারযোগ্য প্যারামিটার।
ক্যাশে মেমরি এবং প্রধান মেমরির জন্য ডিফল্ট চশমা আমার আগের নির্দেশের মতো। দয়া করে তাদের উল্লেখ করুন।
ধাপ 2: পুরো সিস্টেমের RTL ভিউ
শীর্ষ মডিউলের সম্পূর্ণ আরটিএল উপস্থাপনা চিত্রে দেখানো হয়েছে (প্রসেসর বাদে)। বাসগুলির জন্য ডিফল্ট স্পেসগুলি হল:
- সমস্ত ডেটা বাস 32-বিট বাস।
- ঠিকানা বাস = 32-বিট বাস (কিন্তু মেমোরি দ্বারা এখানে শুধুমাত্র 10 বিট ঠিকানা দেওয়া যায়)।
- ডেটা ব্লক = 128 বিট (পড়ার জন্য ওয়াইড ব্যান্ডউইথ বাস)।
- সমস্ত উপাদান একই ঘড়ি দ্বারা চালিত হয়।
ধাপ 3: পরীক্ষার ফলাফল
শীর্ষ মডিউলটি একটি টেস্ট বেঞ্চ ব্যবহার করে পরীক্ষা করা হয়েছিল, যেটি কেবল একটি নন-পাইপলাইন প্রসেসরকে মডেল করে, ঠিক যেমনটি আমরা শেষ নির্দেশে করেছি। টেস্ট বেঞ্চ মেমরিতে ঘন ঘন রিড/রাইট ডেটা রিকোয়েস্ট তৈরি করে। এটি সাধারণ "লোড" এবং "স্টোর" নির্দেশাবলী উপহাস করে, যা প্রসেসরের দ্বারা সম্পাদিত সমস্ত প্রোগ্রামে সাধারণ।
পরীক্ষার ফলাফল সফলভাবে ক্যাশে কন্ট্রোলারের কার্যকারিতা যাচাই করেছে। নিম্নলিখিত পরীক্ষার পরিসংখ্যান পর্যবেক্ষণ করা হয়:
- সমস্ত পড়া/লিখুন মিস এবং হিট সংকেত সঠিকভাবে উৎপন্ন হয়েছিল।
- সমস্ত পড়া/লেখার ডেটা অপারেশন চারটি উপায়ে সফল হয়েছিল।
- ক্যাশ লাইন প্রতিস্থাপনের জন্য pLRU অ্যালগরিদম সফলভাবে যাচাই করা হয়েছে।
- কোন তথ্য অসঙ্গতি/অসঙ্গতি সমস্যা সনাক্ত
- নকশা সফলভাবে একটি ম্যাক্সমের জন্য যাচাই করা হয়েছিল। Xilinx Virtex-4 ML-403 বোর্ড (পুরো সিস্টেম) -এর ঘড়ির ফ্রিকোয়েন্সি = 100 MHz, শুধুমাত্র ক্যাশে কন্ট্রোলারের জন্য 110 MHz।
- মেইন মেমরির জন্য ব্লক র্যাম অনুমান করা হয়েছিল। অন্যান্য সমস্ত অ্যারে LUTs এ প্রয়োগ করা হয়েছিল।
ধাপ 4: সংযুক্ত ফাইল
এই ব্লগের সাথে এখানে নিম্নলিখিত ফাইল সংযুক্ত করা হয়েছে:
- ক্যাশে কন্ট্রোলার, ক্যাশে ডেটা অ্যারে, প্রধান মেমরি সিস্টেমের
- টেস্ট বেঞ্চ।
- ক্যাশে কন্ট্রোলারে ডকুমেন্টেশন।
মন্তব্য:
- এখানে উপস্থাপিত ক্যাশে কন্ট্রোলারের স্পেসিফিকেশন সম্পূর্ণ বোঝার জন্য ডকুমেন্টেশনের মাধ্যমে যান।
- কোডের যেকোনো পরিবর্তন অন্য মডিউলের উপর নির্ভরশীলতা রয়েছে। সুতরাং, পরিবর্তনগুলি সঠিকভাবে করা উচিত।
- আমার দেওয়া সমস্ত মন্তব্য এবং শিরোনামগুলিতে মনোযোগ দিন।
- যদি কোন কারণে, প্রধান মেমরির জন্য ব্লক রs্যামগুলি অনুমান করা হয় না, মেমরির আকার হ্রাস করুন, তারপরে ফাইল জুড়ে ঠিকানা বাসের প্রস্থে পরিবর্তন এবং আরও অনেক কিছু। যাতে একই মেমরিটি LUTs বা বিতরণকৃত RAM এ প্রয়োগ করা যায়। এটি রাউটিং সময় এবং সম্পদ সংরক্ষণ করবে। অথবা, নির্দিষ্ট এফপিজিএ ডকুমেন্টেশনে যান এবং ব্লক র RAM্যামের জন্য সামঞ্জস্যপূর্ণ কোড খুঁজুন এবং সেই অনুযায়ী কোড সম্পাদনা করুন এবং একই ঠিকানা বাস প্রস্থের স্পেসিফিকেশন ব্যবহার করুন। Altera FPGAs এর জন্য একই কৌশল।
প্রস্তাবিত:
ভিএইচডিএলে একটি প্রোগ্রামেবল ইন্টারাপ্ট কন্ট্রোলারের ডিজাইন: Ste টি ধাপ
ভিএইচডিএলে একটি প্রোগ্রামেবল ইন্টারাপ্ট কন্ট্রোলারের ডিজাইন: এই ব্লগে আমি যে ধরনের প্রতিক্রিয়া পাই তাতে আমি অভিভূত। আমার ব্লগে ভিজিট করার জন্য এবং আমাকে আপনার জ্ঞান শেয়ার করার জন্য অনুপ্রাণিত করার জন্য ধন্যবাদ বন্ধুরা। এবার, আমি আরেকটি আকর্ষণীয় মডিউলের নকশা উপস্থাপন করতে যাচ্ছি যা আমরা সমস্ত এসওসিতে দেখি - ইন্টারাপ্ট সি
ভিএইচডিএলে একটি সাধারণ ক্যাশে কন্ট্রোলারের ডিজাইন: 4 টি ধাপ
ভিএইচডিএলে একটি সাধারণ ক্যাশে কন্ট্রোলারের ডিজাইন: আমি এই নির্দেশযোগ্য লিখছি, কারণ আমি ক্যাশে কন্ট্রোলার শিখতে এবং ডিজাইন শুরু করার জন্য কিছু রেফারেন্স ভিএইচডিএল কোড পেতে একটু কষ্ট পেয়েছি। তাই আমি নিজে থেকেই একটি ক্যাশে কন্ট্রোলার ডিজাইন করেছি, এবং এটি FPGA তে সফলভাবে পরীক্ষা করেছি। আমার পি আছে
ভিএইচডিএলে আই 2 সি মাস্টারের ডিজাইন: 5 টি ধাপ
ভিএইচডিএলে আই 2 সি মাস্টারের ডিজাইন: এই নির্দেশনায়, ভিএইচডিএলে একটি সাধারণ আই 2 সি মাস্টার ডিজাইন করা নিয়ে আলোচনা করা হয়েছে।
VHDL এবং Verilog- এ একটি সাধারণ VGA কন্ট্রোলারের ডিজাইন: ৫ টি ধাপ
ভিএইচডিএল এবং ভেরিলগে একটি সাধারণ ভিজিএ কন্ট্রোলার ডিজাইন: এই নির্দেশনায়, আমরা আরটিএলে একটি সাধারণ ভিজিএ কন্ট্রোলার ডিজাইন করতে যাচ্ছি। ভিজিএ কন্ট্রোলার হল ডিজিটাল সার্কিট যা ভিজিএ ডিসপ্লে চালানোর জন্য ডিজাইন করা হয়েছে। এটি ফ্রেম বাফার (ভিজিএ মেমোরি) থেকে পড়ে যা প্রদর্শিত ফ্রেমকে প্রতিনিধিত্ব করে, এবং নিস তৈরি করে
ভিএইচডিএলে ইউএআরটির ডিজাইন: 5 টি ধাপ
ভিএইচডিএলে ইউএআরটির ডিজাইন: ইউএআরটি মানে ইউনিভার্সাল অ্যাসিঙ্ক্রোনাস রিসিভার ট্রান্সমিটার। এটি সর্বাধিক জনপ্রিয় এবং সহজ সিরিয়াল যোগাযোগ প্রোটোকল।