डायरेक्ट-मैप्ड कैश: एड्रेस अपघटन का निर्धारण कैसे करें


-2

मान लेते हैं कि मेरे पास 32 बिट्स की एड्रेसेबल मेमोरी और 4 kib डायरेक्ट-मैप्ड कैश है। मान लीजिए कि कैश की प्रत्येक प्रविष्टि (लाइन) एक अद्वितीय शब्द (32 बिट्स) से बना है।

हम अनुमान लगा सकते हैं कि सूचकांक का आकार 10 बिट्स है, क्योंकि 4 * 2 ^ 10 बाइट्स / 4 = 2 ^ 10 शब्द = 2 ^ 10 लाइनें।

अब, चूंकि प्रति पंक्ति केवल एक शब्द है, मुझे लगता है कि हमें ऑफसेट फ़ील्ड की आवश्यकता नहीं है। इसलिए, कैश के पते इस तरह से विघटित हो जाते हैं:

  • बिट्स 0 से 9: इंडेक्स
  • बिट्स 10 से 31: लेबल

क्या मेरा तर्क किसी तरह गलत है?


जो लोग नीच हैं, क्या मेरे पास कोई कारण हो सकता है? शायद मेरे सवाल को सुधारने की सलाह?
आर्थर डेसचैम्प्स

जवाबों:


0

हमें ऑफसेट के लिए 2 बिट्स की आवश्यकता है, क्योंकि 32 बिट्स के मूल्य में 4 बाइट्स होते हैं और प्रत्येक बाइट को व्यक्तिगत रूप से एक्सेस किया जा सकता है, और इस प्रकार ऑफसेट 0,1,2 या 3 हो सकता है।

इसलिए, डायरेक्ट-मैप्ड कैश द्वारा एक पते को इस तरह से विघटित किया जाता है:

  • बिट्स 0 से 1: ऑफसेट
  • बिट्स 2 से 11: सूचकांक
  • 12 से 31 बिट्स: लेबल

0

एक कैश लाइन आमतौर पर 64 बाइट्स होती है, ऑफसेट बिट्स 0-6 लाइन पर एक बाइट का चयन करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.