Memory Hierarchy & Cache
মেমোরি হায়ারার্কি ও ক্যাশ
Cache Memory, EMAT হিসাব ও 8086 মাইক্রোপ্রসেসর
পড়তে প্রায় ১১ মিনিট
এই পাঠ শেষে আপনি পারবেন
- Hit ratio থেকে Effective Memory Access Time (EMAT) নির্ণয় করা
- Direct, Associative ও Set-Associative cache mapping-এর পার্থক্য বোঝা
- 8086 মাইক্রোপ্রসেসরের Segment ও Offset থেকে 20-bit Physical Address হিসাব করা
Memory Hierarchy ও Cache Memory
গতি (Speed) ও প্রতি বিট খরচ অনুযায়ী মেমোরির ক্রম (দ্রুততম থেকে ধীরতম): CPU Registers → L1/L2/L3 Cache (SRAM) → Main Memory (DRAM) → SSD → Magnetic Disk (HDD)
- SRAM (Static RAM): Flip-flop দিয়ে তৈরি, রিফ্রেশ লাগে না, অত্যন্ত দ্রুত ও ব্যয়বহুল—Cache Memory হিসেবে ব্যবহৃত হয়।
- DRAM (Dynamic RAM): ক্যাপাসিটর দিয়ে তৈরি, চার্জ লিক করায় বারবার রিফ্রেশ করতে হয়—Main RAM হিসেবে ব্যবহৃত হয়।
Effective Memory Access Time (EMAT) সূত্র
যদি Cache Hit Ratio = h, Cache access time = Tc, এবং Main Memory access time = Tm হয়:
- Simultaneous / Look-aside access:
EMAT = h × Tc + (1 − h) × Tm - Hierarchical / Look-through access:
EMAT = Tc + (1 − h) × Tm
উদাহরণ: Cache access time = 10 ns, Main memory access time = 100 ns, Hit ratio = 90% (0.9)।
Simultaneous EMAT = 0.9 * 10 + 0.1 * 100 = 9 + 10 = 19 ns।Cache Mapping কৌশল
- Direct Mapping: মেমোরির ব্লক
Bসর্বদা ক্যাশের(B mod N)নম্বর লাইনে বসে। বাস্তবায়ন সহজ কিন্তু conflict miss বেশি। - Fully Associative Mapping: যেকোনো মেমোরি ব্লক ক্যাশের যেকোনো লাইনে বসতে পারে। সবচেয়ে নমনীয় কিন্তু তুলনার হার্ডওয়্যার ব্যয়বহুল।
- k-way Set-Associative Mapping: দুটির সমন্বয়; ক্যাশকে কয়েকটি সেটে ভাগ করা হয় এবং প্রতিটি সেটে
k-টি লাইন থাকে।
Intel 8086 মাইক্রোপ্রসেসর শর্টকাট
- 8086 একটি 16-bit মাইক্রোপ্রসেসর (16-bit data bus ও 16-bit রেজিস্টার), কিন্তু এর Address Bus 20-bit।
- তাই এটি সর্বোচ্চ
2^20 = 1 MBমেমোরি অ্যাড্রেস করতে পারে। - 20-bit Physical Address সূত্র:
Physical Address = Segment Register × 10H + Offset - উদাহরণ:
CS = 2000HএবংIP = 1234Hহলে Physical Address =20000H + 1234H = 21234H।
সংস্করণ ১ · সর্বশেষ হালনাগাদ ২১ অক্টোবর, ২০২৬