যখন এল 1 ক্যাশেযুক্ত সিপিইউ কোনও লেখালেখি করে, তখন সাধারণত যা হয় তা হ'ল (ধরে নেওয়া হয় যে এটি যে ক্যাশে লাইনটি লিখছে এটি ইতিমধ্যে L1 ক্যাশে রয়েছে) ক্যাশে (ডেটা আপডেট করার পাশাপাশি) চিহ্নিত করে যে ক্যাশে লাইনটি নোংরা হিসাবে চিহ্নিত করে , এবং পরবর্তী সময়ে আপডেট করা ডেটা দিয়ে লাইনটি লিখবে।
একটি সম্ভাব্য অপ্টিমাইজেশান হ'ল ক্যাশে লেখার বিষয়বস্তু এবং ক্যাশের আগের বিষয়বস্তুর তুলনা করা এবং যদি সেগুলি একই হয় তবে লাইনটিকে নোংরা হিসাবে চিহ্নিত করবেন না। যেহেতু এটি ক্যাশে উপলক্ষে লিখিত ব্যাক এড়ানোর অনুমতি দিতে পারে, আমি সিপিইউ নির্মাতাকে এই যুক্তিটি করার জন্য প্রয়োজনীয় গেটগুলির মূল্য হিসাবে কীভাবে দেখতে পাবে তা দেখতে পাচ্ছি।
আমার প্রশ্ন: এমন সিপিইউ রয়েছে যা এই অপ্টিমাইজেশনটি সম্পাদন করে?
আমি কেন জিজ্ঞাসা করছি এর পটভূমি: আমি এমন কিছু কোড লিখছি যাতে ধ্রুব স্মৃতি অ্যাক্সেস থাকা প্রয়োজন; অর্থাত্, যে কেউ ক্যাশের আচরণের কথা শুনতে সক্ষম হবেন তিনি আমার কাজটি অনুমান করতে সক্ষম হবেন না। আমার অ্যাক্সেসগুলির মধ্যে কিছু লেখক এবং এই কোডটি বাস্তবায়নের সুস্পষ্ট উপায়ে, অনেক লেখক ইতিমধ্যে উপস্থিত একই ডেটা লিখবেন। আমার লেখাগুলি করা দরকার কারণ ডেটার উপর নির্ভর করে আমি যে ডেটাটি লিখছি তা একই রকম হতে পারে বা নাও হতে পারে এবং নির্বিশেষে একই ক্রিয়া সম্পাদন করা গুরুত্বপূর্ণ। যদি সিপিইউ আসলে 'নো-চেঞ্জ-রাইটিং' না লিখে অপ্টিমাইজ করে তবে এর অর্থ হ'ল আমি যা করছি তার উপর নির্ভর করে ক্যাশের আচরণগত পরিবর্তিত হতে পারে যা আমার লক্ষ্যকে বিকল করে দেবে।
সুতরাং, এমন কোনও সিপিইউ আছে যা লেখার উপায়কে এইভাবে অনুকূল করতে চেষ্টা করে?