সিপিইউ ক্যাশে এতে কীভাবে খাপ খায়?


1

সুতরাং আমি কীভাবে এটি সমস্ত একসাথে ওয়্যার্ড করেছি তার কিছুটা বুঝলাম। নির্দেশাবলী নিবন্ধগুলিতে সংরক্ষণ করা হয় এবং ইআইপি / আরআইপি অপকোডে পয়েন্ট করে যেগুলি নিবন্ধগুলি (প্রোগ্রাম কোড) পরিচালনা করে।

তবে উপলব্ধ যে সীমাবদ্ধ আকারের রেজিস্টারগুলির সাথে আমি বড় ক্যাশের সম্পর্ক বুঝতে পারি না।

উত্তর:


3

আচ্ছা ... আপনি যখন প্রধান স্মৃতি থেকে কিছু অনুরোধ করবেন তখন সিপিইউ প্রথমে ক্যাশে দেখবে। এটি যদি এটি সেখানে খুঁজে পায় (ক্যাশে হিট), এটি দুর্দান্ত এবং দ্রুত। না হলে (ক্যাশে মিস), এটি ধীর র্যামে যেতে হবে। এবং তারপরে ভবিষ্যতে অ্যাক্সেসগুলির গতি বাড়ানোর জন্য, প্রক্রিয়াটিতে অন্য কিছুকে লাথি মেরে প্রক্রিয়ায় এটি যুক্ত করতে পারে add

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

এটি একটি উচ্চ-স্তরের দৃশ্য। আপনার বাকি প্রশ্নটি বিচারের পক্ষে যথেষ্ট পরিমাণে কম নয়।


2

সুতরাং আমি কীভাবে এটি সমস্ত একসাথে ওয়্যার্ড করেছি তার কিছুটা বুঝলাম। নির্দেশাবলী রেজিস্টারে সংরক্ষণ করা হয়

না, নির্দেশাবলী মেমরিতে সঞ্চয় করা হয়।

এবং EIP / RIP ওপকোডের দিকে নির্দেশ করে যা reg নিবন্ধগুলি পরিচালনা করে (প্রোগ্রাম কোড)

EIP / RIP মেমোরি অবস্থানের দিকে নির্দেশ করে যেখানে সিপিইউ পরবর্তী নির্দেশনা আনতে চলেছে। নির্দেশটি পুনরুদ্ধার করা হয় এবং এটি একটি শাখার উপর পুরোপুরি পরিবর্তিত হতে পারে, লাফিয়ে বা বাধা দিতে পারে তখন এটি 1 বা তার বেশি বৃদ্ধি পায়।

ওপকোডগুলি সেই নির্দেশনার অংশ যা আসলে সিপিইউকে কী করতে হবে তা জানায়। অনেক নির্দেশাবলী (সমস্ত নয়) একটি অপকোড (আবার প্রকৃত নির্দেশ বা "কমান্ড") এবং অপকোড দ্বারা প্রয়োজনীয় ডেটা (একটি "অপারেন্ড") নিয়ে গঠিত।

কিছু ওপকডগুলি সরাসরি রেজিস্টারগুলিকে হস্তান্তর করে (যেমন এমওভিএক্স এক্স, তাত্ক্ষণিক), অনেকেই অপ্রত্যক্ষভাবে পার্শ্ব প্রতিক্রিয়া হিসাবে নিবন্ধগুলি হস্তান্তর করে (বেশিরভাগ গণিতের নির্দেশাবলী নির্দিষ্ট শর্তে FLAGS ને প্রভাবিত করে), এবং কেউ নির্দেশ নির্দেশককে বাদ দিয়ে নিখরচায় রেজিস্টারগুলিতে হেরফের করেন না। ।

ক্যাশে সিপিইউ এবং র‌্যামের মধ্যে স্বচ্ছ স্তর। মেমোরি পড়ার কোনও নির্দেশনা কার্যকর করার সময় সিপিইউ প্রথমে ক্যাশে পরীক্ষা করে - যেহেতু এটি অনেক দ্রুত এবং এটি প্রায়শই ব্যবহৃত ডেটা দিয়ে লোড রাখার চেষ্টা করে। অ্যাসেম্বলি ভাষার প্রোগ্রামে আপনাকে এটির জন্য বিশেষ নির্দেশাবলী ব্যবহার করতে হবে না।

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

এক্স ৮ In-তে কয়েকটি নির্দেশনা রয়েছে যা ক্যাশে সাফ করে, এবং কিছু সিপিইউ আপনাকে ক্যাশেটিকে "ক্যাশে-অ্যাস-র্যাম" হিসাবে কনফিগার করতে দেয় - যেখানে সিপিইউ কেবল ক্যাশে ব্যবহার করে এবং র‌্যামে মোটেও যায় না। কোডটি যদি র‌্যাম শুরু হওয়ার আগে চালানো দরকার, যেমন কোনও সিস্টেম ফার্মওয়্যার বা ওএস শুরু হওয়ার পরে, বা কোনও ওএস ক্র্যাশ হ্যান্ডলারের মতো র‌্যামকে ঝামেলা ছাড়াই চালিত করা দরকার This

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