ট্যাগ, সূচক এবং বিভিন্ন ক্যাশের বিট অফসেটের সংখ্যা গণনা কিভাবে করবেন?


19

বিশেষ করে:

1) 4096 ব্লক / লাইন সহ প্রত্যক্ষ ম্যাপযুক্ত ক্যাশে যার প্রতিটি ব্লকে 8 টি 32-বিট শব্দ রয়েছে। 32-বিট ঠিকানা ধরে ধরে ট্যাগ এবং সূচী ক্ষেত্রগুলির জন্য কয়টি বিটের প্রয়োজন?

2) একই প্রশ্ন 1) কিন্তু জন্য পুরোপুরি সাহসী ক্যাশে ?

আমি ভুল হলে আমাকে সংশোধন করুন, এটি:

ট্যাগ বিট = ঠিকানার বিট দৈর্ঘ্য - সূচকের সূচক - অফসেটের প্রকাশক?

[অফসেট = 3 কি 2 ^ 3 = 8 এর কারণে বা এটি 2 ^ 5 = 32 থেকে 5?]


ট্যাগ, সূচী সম্পর্কে কিছু ব্যাখ্যা cs.stackexchange.com/questions/33818/…
রণ জি।

উত্তর:


20

বর্ণিত প্রশ্নটি যথেষ্ট উত্তরযোগ্য নয়। একটি শব্দ 32-বিট হিসাবে সংজ্ঞায়িত করা হয়েছে। আমাদের জানতে হবে যে সিস্টেমটি "বাইট-এড্রেসনেবল" (আপনি একটি 8-বিট তথ্য উপাত্ত অ্যাক্সেস করতে পারেন) বা "শব্দ-ঠিকানাযোগ্য" (ক্ষুদ্রতম অ্যাক্সেসযোগ্য অংশ 32-বিট) বা এমনকি "অর্ধ-শব্দ ঠিকানাযোগ্য" ( আপনি অ্যাক্সেস করতে পারবেন এমন ক্ষুদ্রতম ডেটা হ'ল 16-বিট an

তারপরে আপনি নীচ থেকে উপরে কাজ করেন। ধরা যাক সিস্টেম বাইট হয় অ্যাড্রেসযোগ্য।

তারপরে প্রতিটি ক্যাশে ব্লকে 8 শব্দ * (4 বাইট / শব্দ) = 32 = 2 5 বাইট থাকে, তাই অফসেট 5 বিট।

সূচক একটি সরাসরি ম্যাপ ক্যাশের (এই ক্ষেত্রে 12 বিট কারণ 2 ক্যাশের মধ্যে ব্লক সংখ্যা 12 = 4096।)

তারপরে ট্যাগটি হ'ল সমস্ত বিট যা আপনি ইঙ্গিত করেছেন।

ক্যাশে যেমন আরও সাহসী হয় তবে একই আকারে থাকে তত কম ইন্ডেক্স বিট এবং আরও ট্যাগ বিট থাকে।


হ্যাঁ, এটি বাইট সম্বোধনযোগ্য তবে আমি যে প্রশ্নটি দেখেছিলাম তা বিশেষভাবে তা
বর্ণিত

3

ট্যাগ বিটের জন্য আপনার সূত্রটি সঠিক।

অফসেটটি তিনটি বিট বা পাঁচ বিট কিনা প্রসেসর বাইট (অক্টেট) ঠিকানা বা শব্দ ঠিকানা ব্যবহার করে কিনা তার উপর নির্ভর করে। ডিএসপিগুলির বাইরে, প্রায় সমস্ত সাম্প্রতিক প্রসেসর বাইট অ্যাড্রেসিং ব্যবহার করেন, তাই বাইট অ্যাড্রেসিং (এবং পাঁচটি অফসেট বিট) ধরে নেওয়া নিরাপদ হবে।


আমি জানতাম না যে এরকম পার্থক্য রয়েছে, হ্যাঁ এটি বাইট অ্যাড্রেসিং
কম্পস্কি

1
১৯ 1970০ এর দশকের মাঝামাঝি আগে আমরা যুক্তিযুক্তভাবে ধরে নিতে পারি যে "শব্দ" হ'ল ডেটার ক্ষুদ্রতম ঠিকানাযোগ্য এককের আকার size শব্দের উইকিপিডিয়া পৃষ্ঠার এই টেবিলটি মজাদার (যদি আপনি এই ধরণের জিনিস পছন্দ করেন, (যা আমি করি)))
বিচরণ

1

আমি সাবজেক্ট কম্পিউটার সিস্টেমের চূড়ান্ত পরীক্ষার জন্য শিখছি, আমি কিছুক্ষণের জন্য গুগল করেছিলাম এবং এই প্রশ্নটি পেয়েছি। এবং প্রশ্নের এই অংশটি বিভ্রান্ত: "যার প্রতিটি ব্লকে 8 টি 32-বিট শব্দ রয়েছে"। একটি শব্দ 4 বাইট (বা 32 বিট) তাই প্রশ্নটি কেবল "... এর মধ্যে প্রতিটি ব্লকের 8 টি শব্দ থাকা দরকার"

উত্তরটি হ'ল - প্রতিটি ব্লকটি 32 বাইট (8 শব্দ), তাই প্রতিটি ব্লকে কোন বাইটটি নির্ধারণ করতে আমাদের 5 অফসেট বিট প্রয়োজন - ডাইরেক্ট-ম্যাপড => সেটের সংখ্যা = ব্লকের সংখ্যা = 4096 => আমাদের 12 টি সূচক বিট প্রয়োজন কোন সেট নির্ধারণ করুন

=> ট্যাগ বিট = 32 - 12 - 5 = 15

সম্পূর্ণ সাহসিকতার জন্য, সেট সংখ্যা 1 => কোনও সূচি বিট => ট্যাগ বিট = 32 - 0 - 5 = 27


1

সম্পূর্ণ সাহসী ক্যাশে কোনও সূচক বিট নেই are সূচক বিটগুলি অনন্যভাবে চিহ্নিত করতে ব্যবহৃত হয় যেটি ব্লকটির অন্তর্ভুক্ত। সম্পূর্ণরূপে সাহসী ক্যাশে, সমস্ত ব্লক মূলত একই সেটের অংশ।


-1

সম্পূর্ণ সহযোগী ম্যাপিং সূচকে 0 বি / এস হিসাবে আপনি যেমন সেট = 1 বলছেন তাই সূচক = লগ 1-এ লগ 2 = 0 সেট অফসেট = বাইট বেস 2 এর ব্লক আকারের লগ তাই 8 = 2 ^ 3 বা 32 = 2 ^ ব্যবহার করুন 5 টি ট্যাগ = 32-0-5 = 27 সরাসরি সূচকের জন্য = 2 ^ 12 = 12 অফসেট = 0 বিট ট্যাগ = 32-12-0 = 20


আমি এটি পড়তে খুব অসম্ভব বলে মনে করি। দয়া করে কিছু বিরামচিহ্ন ব্যবহার করুন।
ডেভিড রিচারবি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.