विषयसूची:
- चरण 1: निर्दिष्टीकरण
- चरण 2: संपूर्ण प्रणाली का RTL दृश्य
- चरण 3: परीक्षा परिणाम
- चरण 4: संलग्न फ़ाइलें
वीडियो: VHDL में एक साधारण फोर-वे सेट एसोसिएटिव कैश कंट्रोलर का डिज़ाइन: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
मेरे पिछले निर्देश में, हमने देखा कि एक साधारण प्रत्यक्ष मैप किए गए कैश नियंत्रक को कैसे डिज़ाइन किया जाए। इस बार हम एक कदम आगे बढ़ते हैं। हम एक साधारण चार-तरफा सेट सहयोगी कैश नियंत्रक तैयार करेंगे। लाभ ? कम चूक दर, लेकिन प्रदर्शन की कीमत पर। मेरे पिछले ब्लॉग की तरह, हम अपने कैश नियंत्रक का परीक्षण करने के लिए एक संपूर्ण प्रोसेसर, मुख्य मेमोरी और कैश वातावरण को डिजाइन और अनुकरण करेंगे। मुझे आशा है कि आप लोग इसे अवधारणाओं को समझने और भविष्य में अपने स्वयं के कैश नियंत्रकों को डिजाइन करने के लिए एक उपयोगी संदर्भ के रूप में पाएंगे। चूंकि प्रोसेसर (टेस्ट बेंच) और मुख्य मेमोरी सिस्टम के लिए मॉडल बिल्कुल मेरे पिछले ब्लॉग के समान हैं, इसलिए मैं उन्हें फिर से नहीं समझाऊंगा। कृपया इसके बारे में विवरण के लिए पिछले निर्देश को देखें।
चरण 1: निर्दिष्टीकरण
यहां प्रस्तुत कैश नियंत्रक के विनिर्देशों के माध्यम से त्वरित रूप से देखें:
- फोर-वे सेट एसोसिएटिव कैश कंट्रोलर (डायरेक्ट मैप्ड कैश कंट्रोलर की तलाश में इस लिंक पर जाएं)।
- सिंगल-बैंक्ड, ब्लॉकिंग कैश।
- राइट-थ्रू पॉलिसी ऑन राइट हिट्स।
- राइट-अराउंड पॉलिसी ऑन राइट मिस।
- ट्री स्यूडो-एलआरयू (पीएलआरयू) रिप्लेसमेंट पॉलिसी।
- नियंत्रक के भीतर टैग ऐरे।
- विन्यास योग्य पैरामीटर।
कैश मेमोरी और मेन मेमोरी के लिए डिफ़ॉल्ट स्पेक्स मेरे पिछले इंस्ट्रक्शनल के समान हैं। कृपया उनका संदर्भ लें।
चरण 2: संपूर्ण प्रणाली का RTL दृश्य
शीर्ष मॉड्यूल का पूर्ण RTL प्रतिनिधित्व चित्र (प्रोसेसर को छोड़कर) में दिखाया गया है। बसों के लिए डिफ़ॉल्ट चश्मा हैं:
- सभी डेटा बसें 32-बिट बसें हैं।
- पता बस = 32-बिट बस (लेकिन मेमोरी द्वारा यहां केवल 10 बिट्स को संबोधित किया जा सकता है)।
- डेटा ब्लॉक = 128 बिट्स (पढ़ने के लिए वाइड बैंडविड्थ बस)।
- सभी घटक एक ही घड़ी द्वारा संचालित होते हैं।
चरण 3: परीक्षा परिणाम
टॉप मॉड्यूल का परीक्षण एक टेस्ट बेंच का उपयोग करके किया गया था, जो कि केवल एक गैर-पाइपलाइन वाले प्रोसेसर को मॉडल करता है, जैसा कि हमने पिछले निर्देश में किया था। टेस्ट बेंच मेमोरी को बार-बार पढ़ने/लिखने के लिए डेटा अनुरोध उत्पन्न करता है। यह विशिष्ट "लोड" और "स्टोर" निर्देशों का मजाक उड़ाता है, जो एक प्रोसेसर द्वारा निष्पादित सभी कार्यक्रमों में सामान्य है।
परीक्षण के परिणामों ने कैश नियंत्रक की कार्यक्षमता को सफलतापूर्वक सत्यापित किया। देखे गए परीक्षण आँकड़े निम्नलिखित हैं:
- सभी रीड / राइट मिस और हिट सिग्नल सही ढंग से उत्पन्न हुए थे।
- सभी रीड/राइट डेटा ऑपरेशन सभी चार तरीकों से सफल रहे।
- कैश लाइनों के प्रतिस्थापन के लिए pLRU एल्गोरिथ्म को सफलतापूर्वक सत्यापित किया गया है।
- कोई डेटा असंगति/असंगतता समस्याओं का पता नहीं चला।
- डिज़ाइन को मैक्सम के लिए सफलतापूर्वक सत्यापित किया गया था। संचालन की घड़ी आवृत्ति = Xilinx Virtex-4 ML-403 बोर्ड (संपूर्ण प्रणाली) में 100 मेगाहर्ट्ज, अकेले कैश नियंत्रक के लिए 110 मेगाहर्ट्ज।
- मुख्य मेमोरी के लिए ब्लॉक रैम का अनुमान लगाया गया था। अन्य सभी सरणियों को LUTs पर लागू किया गया था।
चरण 4: संलग्न फ़ाइलें
इस ब्लॉग के साथ निम्नलिखित फाइलें यहां संलग्न हैं:
- कैश कंट्रोलर, कैशे डेटा एरे, मेन मेमोरी सिस्टम की वीएचडी फाइलें।
- परीक्षण बेंच।
- कैश नियंत्रक पर दस्तावेज़ीकरण।
टिप्पणियाँ:
- यहां प्रस्तुत कैश नियंत्रक के विनिर्देशों की पूरी समझ के लिए दस्तावेज़ीकरण के माध्यम से जाएं।
- कोड में किसी भी बदलाव की अन्य मॉड्यूल पर निर्भरता होती है। इसलिए बदलाव सोच-समझकर करना चाहिए।
- मेरे द्वारा दिए गए सभी टिप्पणियों और शीर्षकों पर ध्यान दें।
- यदि किसी कारण से, मुख्य मेमोरी के लिए ब्लॉक रैम का अनुमान नहीं लगाया जाता है, तो मेमोरी के आकार को कम करें, इसके बाद फाइलों में एड्रेस बस की चौड़ाई में बदलाव करें और इसी तरह। ताकि वही मेमोरी या तो एलयूटी या डिस्ट्रीब्यूटेड रैम पर लागू की जा सके। इससे रूटिंग समय और संसाधनों की बचत होगी। या, विशिष्ट FPGA दस्तावेज़ीकरण पर जाएँ और ब्लॉक RAM के लिए संगत कोड खोजें और तदनुसार कोड संपादित करें, और उसी पते की बस चौड़ाई विनिर्देशों का उपयोग करें। Altera FPGAs के लिए समान तकनीक।
सिफारिश की:
फ़्लिक में गेम डिज़ाइन ५ चरणों में: ५ चरण
5 चरणों में फ़्लिक में गेम डिज़ाइन: फ़्लिक गेम बनाने का एक बहुत ही सरल तरीका है, विशेष रूप से एक पहेली, दृश्य उपन्यास, या साहसिक खेल जैसा कुछ
VHDL में प्रोग्रामेबल इंटरप्ट कंट्रोलर का डिज़ाइन: 4 चरण
वीएचडीएल में प्रोग्रामेबल इंटरप्ट कंट्रोलर का डिजाइन: इस ब्लॉग में मुझे जिस तरह की प्रतिक्रियाएं मिल रही हैं, उससे मैं अभिभूत हूं। मेरे ब्लॉग पर आने और मुझे अपने ज्ञान को आपके साथ साझा करने के लिए प्रेरित करने के लिए धन्यवाद दोस्तों। इस बार, मैं एक और दिलचस्प मॉड्यूल का डिज़ाइन प्रस्तुत करने जा रहा हूँ जो हम सभी एसओसी में देखते हैं - इंटरप्ट सी
VHDL में एक साधारण कैश नियंत्रक का डिज़ाइन: 4 चरण
VHDL में एक साधारण कैश नियंत्रक का डिज़ाइन: मैं यह निर्देश योग्य लिख रहा हूँ, क्योंकि मुझे कुछ संदर्भ VHDL कोड सीखने और कैशे नियंत्रक को डिज़ाइन करना शुरू करने में थोड़ा मुश्किल लगा। इसलिए मैंने स्क्रैच से खुद को कैशे कंट्रोलर डिज़ाइन किया, और FPGA पर इसका सफलतापूर्वक परीक्षण किया। मेरे पास प
VHDL में I2C मास्टर का डिज़ाइन: 5 चरण
VHDL में I2C मास्टर का डिज़ाइन: इस निर्देश में, VHDL में एक साधारण I2C मास्टर को डिज़ाइन करने पर चर्चा की गई है। नोट: पूर्ण छवि देखने के लिए प्रत्येक छवि पर क्लिक करें
वीएचडीएल और वेरिलोग में एक साधारण वीजीए नियंत्रक का डिजाइन: 5 कदम
VHDL और Verilog में एक साधारण VGA नियंत्रक का डिज़ाइन: इस निर्देश में, हम RTL में एक साधारण VGA नियंत्रक डिज़ाइन करने जा रहे हैं। वीजीए कंट्रोलर डिजिटल सर्किट है जिसे वीजीए डिस्प्ले को चलाने के लिए डिज़ाइन किया गया है। यह फ्रेम बफर (वीजीए मेमोरी) से पढ़ता है जो प्रदर्शित किए जाने वाले फ्रेम का प्रतिनिधित्व करता है, और आवश्यक