विषयसूची:

VHDL में एक साधारण फोर-वे सेट एसोसिएटिव कैश कंट्रोलर का डिज़ाइन: 4 चरण
VHDL में एक साधारण फोर-वे सेट एसोसिएटिव कैश कंट्रोलर का डिज़ाइन: 4 चरण

वीडियो: VHDL में एक साधारण फोर-वे सेट एसोसिएटिव कैश कंट्रोलर का डिज़ाइन: 4 चरण

वीडियो: VHDL में एक साधारण फोर-वे सेट एसोसिएटिव कैश कंट्रोलर का डिज़ाइन: 4 चरण
वीडियो: FG-Module and Its Relationship with the Representation ||Representation Theory|| DU || M.Sc|| Part 4 2024, जून
Anonim
वीएचडीएल में एक साधारण चार-तरफा सेट सहयोगी कैश नियंत्रक का डिज़ाइन
वीएचडीएल में एक साधारण चार-तरफा सेट सहयोगी कैश नियंत्रक का डिज़ाइन

मेरे पिछले निर्देश में, हमने देखा कि एक साधारण प्रत्यक्ष मैप किए गए कैश नियंत्रक को कैसे डिज़ाइन किया जाए। इस बार हम एक कदम आगे बढ़ते हैं। हम एक साधारण चार-तरफा सेट सहयोगी कैश नियंत्रक तैयार करेंगे। लाभ ? कम चूक दर, लेकिन प्रदर्शन की कीमत पर। मेरे पिछले ब्लॉग की तरह, हम अपने कैश नियंत्रक का परीक्षण करने के लिए एक संपूर्ण प्रोसेसर, मुख्य मेमोरी और कैश वातावरण को डिजाइन और अनुकरण करेंगे। मुझे आशा है कि आप लोग इसे अवधारणाओं को समझने और भविष्य में अपने स्वयं के कैश नियंत्रकों को डिजाइन करने के लिए एक उपयोगी संदर्भ के रूप में पाएंगे। चूंकि प्रोसेसर (टेस्ट बेंच) और मुख्य मेमोरी सिस्टम के लिए मॉडल बिल्कुल मेरे पिछले ब्लॉग के समान हैं, इसलिए मैं उन्हें फिर से नहीं समझाऊंगा। कृपया इसके बारे में विवरण के लिए पिछले निर्देश को देखें।

चरण 1: निर्दिष्टीकरण

विशेष विवरण
विशेष विवरण

यहां प्रस्तुत कैश नियंत्रक के विनिर्देशों के माध्यम से त्वरित रूप से देखें:

  • फोर-वे सेट एसोसिएटिव कैश कंट्रोलर (डायरेक्ट मैप्ड कैश कंट्रोलर की तलाश में इस लिंक पर जाएं)।
  • सिंगल-बैंक्ड, ब्लॉकिंग कैश।
  • राइट-थ्रू पॉलिसी ऑन राइट हिट्स।
  • राइट-अराउंड पॉलिसी ऑन राइट मिस।
  • ट्री स्यूडो-एलआरयू (पीएलआरयू) रिप्लेसमेंट पॉलिसी।
  • नियंत्रक के भीतर टैग ऐरे।
  • विन्यास योग्य पैरामीटर।

कैश मेमोरी और मेन मेमोरी के लिए डिफ़ॉल्ट स्पेक्स मेरे पिछले इंस्ट्रक्शनल के समान हैं। कृपया उनका संदर्भ लें।

चरण 2: संपूर्ण प्रणाली का RTL दृश्य

संपूर्ण प्रणाली का RTL दृश्य
संपूर्ण प्रणाली का RTL दृश्य

शीर्ष मॉड्यूल का पूर्ण RTL प्रतिनिधित्व चित्र (प्रोसेसर को छोड़कर) में दिखाया गया है। बसों के लिए डिफ़ॉल्ट चश्मा हैं:

  • सभी डेटा बसें 32-बिट बसें हैं।
  • पता बस = 32-बिट बस (लेकिन मेमोरी द्वारा यहां केवल 10 बिट्स को संबोधित किया जा सकता है)।
  • डेटा ब्लॉक = 128 बिट्स (पढ़ने के लिए वाइड बैंडविड्थ बस)।
  • सभी घटक एक ही घड़ी द्वारा संचालित होते हैं।

चरण 3: परीक्षा परिणाम

टॉप मॉड्यूल का परीक्षण एक टेस्ट बेंच का उपयोग करके किया गया था, जो कि केवल एक गैर-पाइपलाइन वाले प्रोसेसर को मॉडल करता है, जैसा कि हमने पिछले निर्देश में किया था। टेस्ट बेंच मेमोरी को बार-बार पढ़ने/लिखने के लिए डेटा अनुरोध उत्पन्न करता है। यह विशिष्ट "लोड" और "स्टोर" निर्देशों का मजाक उड़ाता है, जो एक प्रोसेसर द्वारा निष्पादित सभी कार्यक्रमों में सामान्य है।

परीक्षण के परिणामों ने कैश नियंत्रक की कार्यक्षमता को सफलतापूर्वक सत्यापित किया। देखे गए परीक्षण आँकड़े निम्नलिखित हैं:

  • सभी रीड / राइट मिस और हिट सिग्नल सही ढंग से उत्पन्न हुए थे।
  • सभी रीड/राइट डेटा ऑपरेशन सभी चार तरीकों से सफल रहे।
  • कैश लाइनों के प्रतिस्थापन के लिए pLRU एल्गोरिथ्म को सफलतापूर्वक सत्यापित किया गया है।
  • कोई डेटा असंगति/असंगतता समस्याओं का पता नहीं चला।
  • डिज़ाइन को मैक्सम के लिए सफलतापूर्वक सत्यापित किया गया था। संचालन की घड़ी आवृत्ति = Xilinx Virtex-4 ML-403 बोर्ड (संपूर्ण प्रणाली) में 100 मेगाहर्ट्ज, अकेले कैश नियंत्रक के लिए 110 मेगाहर्ट्ज।
  • मुख्य मेमोरी के लिए ब्लॉक रैम का अनुमान लगाया गया था। अन्य सभी सरणियों को LUTs पर लागू किया गया था।

चरण 4: संलग्न फ़ाइलें

इस ब्लॉग के साथ निम्नलिखित फाइलें यहां संलग्न हैं:

  • कैश कंट्रोलर, कैशे डेटा एरे, मेन मेमोरी सिस्टम की वीएचडी फाइलें।
  • परीक्षण बेंच।
  • कैश नियंत्रक पर दस्तावेज़ीकरण।

टिप्पणियाँ:

  • यहां प्रस्तुत कैश नियंत्रक के विनिर्देशों की पूरी समझ के लिए दस्तावेज़ीकरण के माध्यम से जाएं।
  • कोड में किसी भी बदलाव की अन्य मॉड्यूल पर निर्भरता होती है। इसलिए बदलाव सोच-समझकर करना चाहिए।
  • मेरे द्वारा दिए गए सभी टिप्पणियों और शीर्षकों पर ध्यान दें।
  • यदि किसी कारण से, मुख्य मेमोरी के लिए ब्लॉक रैम का अनुमान नहीं लगाया जाता है, तो मेमोरी के आकार को कम करें, इसके बाद फाइलों में एड्रेस बस की चौड़ाई में बदलाव करें और इसी तरह। ताकि वही मेमोरी या तो एलयूटी या डिस्ट्रीब्यूटेड रैम पर लागू की जा सके। इससे रूटिंग समय और संसाधनों की बचत होगी। या, विशिष्ट FPGA दस्तावेज़ीकरण पर जाएँ और ब्लॉक RAM के लिए संगत कोड खोजें और तदनुसार कोड संपादित करें, और उसी पते की बस चौड़ाई विनिर्देशों का उपयोग करें। Altera FPGAs के लिए समान तकनीक।

सिफारिश की: