X86 আর্কিটেকচারে, কেন ভার্চুয়াল অ্যাড্রেস স্পেসের জন্য শারীরিক চেয়ে কম বিট রয়েছে?


11

আমি এই নিবন্ধটি 64 বিট কম্পিউটারে পড়ছিলাম এবং এটির উল্লেখ রয়েছে:

উদাহরণস্বরূপ, ২০১১ সালের হিসাবে AMD64 আর্কিটেকচারের মাধ্যমে শারীরিক মেমরির জন্য 52 বিট এবং ভার্চুয়াল মেমরির জন্য 48 বিট অনুমতি দেওয়া হয়েছিল

আমি ভাবব যে এটি শারীরিক স্মৃতির চেয়ে আরও ভার্চুয়াল মেমরির জন্য আরও বেশি অর্থবোধ করতে পারে, তবে এটি কেন অন্যভাবে?

বোনাস প্রশ্ন: 64 বিট আর্কিটেকচারে 52 বা 48 বিটের জন্য "অনুমতি" দেওয়ার অর্থ কী? অন্যান্য বিট কি জন্য ব্যবহৃত হয়?


X86 এর জন্য অব্যবহৃত ভিএ বিটগুলি অবশ্যই ভিএর এমএসবিটের সাইন এক্সটেনশন হতে হবে। (এআরএম এআরচ ৪ টি হার্ডওয়্যার দ্বারা আটটি এমবিটিকে উপেক্ষা করার অনুমতি দেওয়ার বিকল্পটি সরবরাহ করে যাতে তারা সহজেই ট্যাগগুলির জন্য ব্যবহার করতে পারেন Az আজুল সিস্টেমস ভেগা প্রসেসর - একটি জাভা অ্যাপ্লায়েন্সনের অংশ - সরবরাহের জন্য ভিএর 16 বিট সরবরাহ করা হয়েছিল)) পৃষ্ঠার সারণীতে, সংরক্ষিত পিএ বিটগুলি অবশ্যই শূন্য হতে হবে (প্রাথমিকভাবে এটি নিশ্চিত করার জন্য যে সফ্টওয়্যার সেগুলি ব্যবহার করার চেষ্টা করে না এবং পরবর্তী হার্ডওয়্যারের সাথে সামঞ্জস্যতা ভঙ্গ করে)
পল এ। ক্লেটন

উত্তর:


11

এখানে একটি এএমডি 64 পৃষ্ঠার টেবিলের একটি চিত্র রয়েছে (এএমডি আর্কিটেকচার প্রোগ্রামার গাইড, খণ্ড 2, রেভ 3.23, 2013, পৃষ্ঠা 132)।

AMD64 লংমোড পৃষ্ঠা সারণী

এএমডি 64 আর্কিটেকচারের কোনও পৃষ্ঠার "প্রাকৃতিক" আকার 2 12 = 4096 বাইট। (এমন মোড রয়েছে যেখানে আপনার কাছে ২ 21 = 2 এমবিট পৃষ্ঠাগুলি থাকতে পারে তবে আমরা এখনই সেগুলি উপেক্ষা করব going)

প্রতিটি পৃষ্ঠা-সারণী এন্ট্রি (পিটিই) (বা, পিডিই, পিডিপিই বা পিএমএল 4 ই বলা লেভেলের উপর নির্ভর করে) 64 বিট = 2 3 বাইট। সুতরাং প্রতি পৃষ্ঠায় 2 9 এন্ট্রি আছে । সুতরাং পৃষ্ঠার সারণির 4 টি স্তর আপনাকে প্রক্রিয়া প্রতি ভার্চুয়াল ঠিকানার 4x9 + 12 = 48 বিট দেয়। পৃষ্ঠার টেবিলটি হাঁটা ব্যয়বহুল, সুতরাং ভোক্তার চাহিদা না হওয়া পর্যন্ত এগুলি 5 বা 6 স্তরে প্রসারিত হবে না।

আমি নিশ্চিত নই যে তারা 52-বিট শারীরিক ঠিকানা সীমা কেন স্থির করে। ভবিষ্যতে এটি 63-বিট পর্যন্ত বাড়ানো যেতে পারে। অক্টোবর ২০১৩ এর দামগুলিতে (4 জিবি চিপগুলির জন্য প্রায় 1 মার্কিন ডলার / গিগাবিট) 2 52 বাইট মেমরিটি তৈরি করতে 32,000,000.00 মার্কিন ডলার ব্যয় হবে , সুতরাং শারীরিক ঠিকানার সীমা বাড়ানোর কোনও উল্লেখযোগ্য চাহিদা হওয়ার আগে এটি কিছুটা সময় হয়ে যাবে। আপনি শারীরিক ঠিকানাগুলি যতটা সম্ভব ছোট রাখতে চান এমন বিভিন্ন কারণ রয়েছে: উদাহরণস্বরূপ, টিএলবি এবং ক্যাশে ট্যাগগুলিকে শারীরিক ঠিকানা রাখা উচিত।

এটি ভার্চুয়াল চেয়ে শারীরিক মেমরি আছে যে পিছনে অগত্যা নয়। ভার্চুয়াল মেমরিটি প্রতিটি প্রক্রিয়া দ্বারা শারীরিক স্মৃতি ভাগ করে নেওয়ার সময় হয়। সুতরাং 48-বিট ভার্চুয়াল ঠিকানা এবং 2 52 বাইট মেমরি সহ একটি সার্ভার 16 যুগপত প্রক্রিয়াগুলিকে সমর্থন করতে পারে এবং তারপরেও অদলবদল করার দরকার নেই guarantee


এটি লক্ষ্য করার মতো বিষয় যে কম্পিউটার আর্কিটেক্টরা ওএসের জন্য নেতিবাচক ঠিকানার সাধারণ ব্যবহারের জন্য সাধারণত সাইন এক্সটেনশনের সাহায্যে হার্ডওয়্যার দ্বারা উপরের বিটগুলি ব্যবহার করতে শিখেছিলেন ("অন্যান্য বিটগুলি কী কী?")। এছাড়াও, Ln ডিরেক্টরিতে প্রবেশের ক্যাচিংয়ের সাথে, একটি 5-স্তরের টেবিলটি বেশিরভাগ সময় পুরোপুরি হাঁটতে হবে না। পিটিই বিট ৫২:62২ সফ্টওয়্যারটির জন্য সংরক্ষিত, সুতরাং 4KiB পৃষ্ঠাগুলি পিএ-এর 52-বিটকে সীমাবদ্ধ করে, সামঞ্জস্যতা না ভেঙে শারীরিক ঠিকানার জন্য ব্যবহার করা যাবে না। এছাড়াও, লিনাস টরভাল্ডস বিখ্যাতভাবে পিএই (VA> পিএ) এর বিরুদ্ধে ক্রুদ্ধ হয়েছেন বলে মনে হয় "traditionalতিহ্যবাহী" ওএস নকশাটিকে সহজতর করা।
পল এ। ক্লেটন

"এটি ভবিষ্যতে 63৩-বিট পর্যন্ত বাড়ানো যেতে পারে।" ওয়েল, না, পৃষ্ঠার টেবিলের কাঠামোটি পরিবর্তন না করেই নয়। যেমনটি, পিএক্সই এর 52 থেকে 62 বিট অপারেটিং সিস্টেম ব্যবহারের জন্য সংরক্ষিত। এবং ওএসগুলি সেগুলি ব্যবহার করছে (উইন্ডোজ সেই ক্ষেত্রটি "ওয়ার্কিং সেট তালিকা সূচক" এর জন্য ব্যবহার করে), তাই প্রসেসরের আর্কিটেক্টরা তাদের মধ্যে পিএফএন ক্ষেত্রটি প্রসারিত করতে মুক্ত নন। ভবিষ্যতে পিএই-এর মতো বিকল্প থাকা সম্ভব হবে যা পিটি কাঠামোর পরিবর্তন করবে যাতে পিএফএন আরও বিটকে অনুমতি দেয়, তবে এটি একটি উল্লেখযোগ্য স্থাপত্য পরিবর্তন হতে পারে।
জেমি হানরাহান

3

কয়েকটি বিষয় বিবেচনা করার জন্য, শারীরিক র‍্যাম ব্যয়বহুল। নিশ্চিত 16 গিগাবাইট এখন সস্তা যে 4 জিবি মাত্র কয়েক বছর আগে ছিল, তবে 2 ^ 64 (16 এক্সাবাইট) হাস্যকরভাবে বড়।

সুতরাং এএমডি এর x86 এর এক্স 86 এর এক্সটেনশানগুলি রেজিস্টারগুলিকে সীমাবদ্ধ করে 2 ^ 52 পর্যন্ত "অনুমোদিত" করে । এটি দুটি কাজ করে, প্রসেসরের ব্যয় কমায় এবং কার্য সম্পাদনকে উন্নত করে। ব্যবহার করা হয় না এমন আরও নিবন্ধগুলির অর্থ এই যে অপারেশন চলাকালীন এখনও প্রচুর শূন্যস্থান অবশ্যই বিবেচনায় নেওয়া উচিত।

এবং, যদি আপনি গণিতের লোক না হন ... তিনটি আকারের পার্থক্য বিশাল! আমি কোনও গণিত গুরু নই, তবে দশমিক 52 বিট 64৪ বিটের প্রায় .02%। 48 বিট 52 এর 6%। (কেউ আমার গণিত পরীক্ষা করে?)

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

আমার নিজস্ব চিন্তাভাবনা: আমরা যখন র‌্যাম ক্ষুদ্র ছিল তখন সময়টি ছেড়ে দিয়েছি এবং হার্ড ড্রাইভগুলি র‌্যামকে সমর্থন করতে হয়েছিল। র্যামের দাম এমন এক পর্যায়ে নেমে গেছে যেখানে গড়পড়তা ব্যক্তি যথেষ্ট পরিমাণ র‌্যামের চেয়ে বেশি রাখতে পারে। সাধারণত অ্যাপ্লিকেশনগুলি গ্রহণ করুন, যেমন অফিসের জন্য 1-2 গিগাবাইট র‌্যামের প্রয়োজন। আমার কম্পিউটার 7 বছর আগে এটি পরিচালনা করতে পারে। যদিও ডিস্কে পড়ার এবং লেখার গতি সহ, আমি আশা করি কখনই ভার্চুয়াল মেমরি থেকে আমার 7 জিবি ফাইল পুনরুদ্ধার করতে হবে না (পুরানো পিএম * ২.২ দর্শন ব্যবহার করে)।

আমি কেবল ধরে নিতে পারি যে এএমডি সংহত জিপিইউতে র‌্যামের মতো শারীরিক র‌্যাম রেজিস্টার ব্যবহার করে এমন নিবন্ধগুলির জন্য ঘর ছাড়তে চেয়েছিল।

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