फिजिकल एड्रेस एक्सटेंशन

कम्प्यूटिंग में, फिजिकल एड्रेस एक्सटेंशन (PAE), जिसे कभी-कभी पेज एड्रेस एक्सटेंशन के रूप में संदर्भित किया जाता है, x86 आर्किटेक्चर के लिए एक मेमोरी मैनेजमेंट फीचर है। PAE को सबसे पहले Intel द्वारा Pentium Pro में और बाद में AMD द्वारा Athlon प्रोसेसर में पेश किया गया था। यह तीन स्तरों (दो के बजाय) के एक पृष्ठ तालिका पदानुक्रम को परिभाषित करता है, जिसमें 32 के बजाय प्रत्येक 64 बिट्स की तालिका प्रविष्टियाँ होती हैं, जिससे ये सीपीयू सीधे 4 गीगाबाइट (2) से बड़े भौतिक पता स्थान तक पहुँच सकते हैं।32 बाइट्स)।

पृष्ठ तालिका संरचना x86-64 CPUs द्वारा उपयोग की जाती है जब लंबे मोड में संचालन करते समय पृष्ठ तालिका पदानुक्रम को चार स्तरों तक विस्तारित करता है, आभासी पता स्थान का विस्तार करता है, और पृष्ठ तालिका के सभी स्तरों पर अतिरिक्त भौतिक पता बिट्स का उपयोग करता है, भौतिक पता स्थान का विस्तार करता है. यह 64-बिट पृष्ठ तालिका प्रविष्टि के शीर्ष बिट का उपयोग नो-एक्ज़ीक्यूट या NX बिट के रूप में भी करता है। एनएक्स बिट, यह दर्शाता है कि संबंधित पृष्ठ से कोड निष्पादित नहीं किया जा सकता है। NX सुविधा X86-64#ऑपरेटिंग मोड में भी उपलब्ध है जब ये CPU 32-बिट ऑपरेटिंग सिस्टम चला रहे हैं, बशर्ते कि ऑपरेटिंग सिस्टम PAE को सक्षम करता हो।

इतिहास
पीएई को पहली बार 1995 में इंटेल पेंटियम प्रो में लागू किया गया था। हालांकि साथ वाले चिपसेट में आमतौर पर आवश्यक अतिरिक्त एड्रेस बिट्स के लिए समर्थन की कमी थी। पीएई पेंटियम प्रो, पेंटियम II, पेंटियम III और [[पेंटियम द्वितीय]] प्रोसेसर द्वारा समर्थित है। 2003 में पेश किया गया पहला पेंटियम एम फैमिली प्रोसेसर (बनियास) भी पीएई का समर्थन करता है; हालाँकि, वे अपनी CPUID जानकारी में PAE समर्थन फ़्लैग नहीं दिखाते हैं। यह एएमडी एथलॉन सहित एएमडी प्रोसेसर पर भी उपलब्ध था (हालांकि चिपसेट 32-बिट एड्रेसिंग तक सीमित हैं ) और बाद में एएमडी प्रोसेसर मॉडल।

जब उन्नत माइक्रो डिवाइसेस ने उद्योग मानक x86 आर्किटेक्चर, x86-64 या x86-64 के अपने 64-बिट विस्तार को परिभाषित किया, तो उन्होंने PAE के आधार पर पेजिंग सिस्टम को लंबे मोड में भी बढ़ाया। यह 64-बिट वर्चुअल पतों का समर्थन करता है ( 48 बिट्स लागू किए गए हैं  ), 52-बिट भौतिक पते, और NX बिट कार्यक्षमता शामिल है। जब x86-64 प्रोसेसर को इनिशियलाइज़ किया जाता है, तो प्रोसेसर को लेगेसी मोड से लॉन्ग मोड में स्विच करने से पहले PAE फीचर को सक्षम करना आवश्यक होता है।

डिजाइन
पीएई के साथ, x86 आर्किटेक्चर की पृष्ठ तालिका प्रविष्टि 32 से 64 बिट तक बढ़ाई गई है। यह पृष्ठ तालिका प्रविष्टि में भौतिक पृष्ठ पता, या पृष्ठ फ़्रेम संख्या फ़ील्ड के लिए अधिक स्थान देता है। पीएई के प्रारंभिक कार्यान्वयन में पृष्ठ फ़्रेम संख्या फ़ील्ड को 20 से 24 बिट तक विस्तारित किया गया था। अनुवाद किए जा रहे पते से ऑफ़सेट बाइट का आकार अभी भी 12 बिट है, इसलिए कुल भौतिक पता आकार 32 बिट्स से बढ़कर 36 बिट्स (यानी 20+12 से 24+12) हो जाता है। इसने भौतिक स्मृति को बढ़ा दिया जो सैद्धांतिक रूप से सीपीयू द्वारा 4 जीबी से 64 जीबी तक संबोधित किया जा सकता है।

पीएई का समर्थन करने वाले पहले प्रोसेसर में, बड़े भौतिक पतों के लिए समर्थन उनके पैकेज पिनआउट में स्पष्ट होता है, जिसमें पता पिन पदनाम A31 पर रुकने के बजाय A35 तक जाता है। बाद के प्रोसेसर परिवार हाइपर ट्रांसपोर्ट  या क्विकपाथ इंटरकनेक्ट जैसे इंटरकनेक्ट का उपयोग करते हैं, जिसमें समर्पित मेमोरी एड्रेस सिग्नल की कमी होती है, इसलिए यह संबंध कम स्पष्ट होता है।

वर्चुअल पते का 32-बिट आकार नहीं बदला जाता है, इसलिए नियमित एप्लिकेशन सॉफ़्टवेयर 32-बिट पतों के साथ निर्देशों का उपयोग करना जारी रखता है और (फ्लैट मेमोरी मॉडल में) 4 गीगाबाइट वर्चुअल एड्रेस स्पेस तक सीमित होता है। इस मोड का समर्थन करने वाले ऑपरेटिंग सिस्टम नियमित 4 जीबी वर्चुअल एड्रेस स्पेस को भौतिक मेमोरी में मैप करने के लिए पेज टेबल का उपयोग करते हैं, जो ऑपरेटिंग सिस्टम और बाकी हार्डवेयर प्लेटफॉर्म के आधार पर 64 जीबी जितना बड़ा हो सकता है। मैपिंग आमतौर पर प्रत्येक प्रक्रिया (कंप्यूटिंग) के लिए अलग से लागू की जाती है, ताकि अतिरिक्त रैम उपयोगी हो, भले ही कोई भी प्रक्रिया इसे एक साथ एक्सेस न कर सके।

बाद में AMD के x86-64 आर्किटेक्चर के विकास से जुड़े काम ने भौतिक पतों के सैद्धांतिक संभावित आकार को 52 बिट्स तक बढ़ा दिया।

पृष्ठ तालिका संरचनाएं
पेजिंग सक्षम के साथ सुरक्षित मोड में (बिट 31,, नियंत्रण रजिस्टर का   सेट है), लेकिन पीएई के बिना, x86 प्रोसेसर दो-स्तरीय पृष्ठ अनुवाद योजना का उपयोग करते हैं। नियंत्रण रजिस्टर   एकल 4 KB लंबी पृष्ठ निर्देशिका का पृष्ठ-संरेखित भौतिक पता रखता है। यह 1024 चार-बाइट पृष्ठ निर्देशिका प्रविष्टियों में विभाजित है, जो बदले में, यदि मान्य है, तो पृष्ठ तालिकाओं के पृष्ठ-संरेखित भौतिक पते, प्रत्येक 4 KB आकार में होते हैं। इनमें समान रूप से 1024 चार-बाइट पृष्ठ तालिका प्रविष्टियाँ शामिल हैं, जो यदि मान्य हैं, तो भौतिक मेमोरी (RAM) के 4 KB लंबे पृष्ठ (कंप्यूटिंग) के पृष्ठ-संरेखित भौतिक पते रखती हैं।

पीएई को सक्षम करना (बिट सेट करके 5,, सिस्टम रजिस्टर की  ) इस योजना में बड़े बदलाव का कारण बनता है। डिफ़ॉल्ट रूप से, प्रत्येक पृष्ठ का आकार 4 KB रहता है। अतिरिक्त पता बिट्स की अनुमति देने के लिए, पृष्ठ तालिका और पृष्ठ निर्देशिका में प्रत्येक प्रविष्टि 32 बिट्स के बजाय 64 बिट्स लंबी (8 बाइट्स) हो जाती है। हालाँकि, प्रत्येक तालिका का आकार नहीं बदलता है, इसलिए तालिका और निर्देशिका दोनों में अब केवल 512 प्रविष्टियाँ हैं। क्योंकि यह मूल योजना की केवल आधी प्रविष्टियों की अनुमति देता है, पदानुक्रम का एक अतिरिक्त स्तर जोड़ा गया है, इसलिए CR3 अब भौतिक रूप से पृष्ठ निर्देशिका सूचक तालिका की ओर इशारा करता है, एक छोटी तालिका जिसमें पृष्ठ निर्देशिकाओं के लिए चार संकेत होते हैं।

पृष्ठ निर्देशिका में प्रविष्टियों में बिट 7 में एक अतिरिक्त फ़्लैग नाम दिया गया है  (पृष्ठ आकार के लिए)। अगर सिस्टम ने इस बिट को सेट किया है , पृष्ठ निर्देशिका प्रविष्टि किसी पृष्ठ तालिका की ओर नहीं बल्कि एक बड़े 2 एमबी पृष्ठ (पृष्ठ आकार विस्तार) की ओर इशारा करती है।

x86 और x86-64 द्वारा समर्थित सभी पृष्ठ तालिका स्वरूपों में, पृष्ठ तालिका प्रविष्टि के 12 सबसे कम महत्वपूर्ण बिट्स या तो स्मृति प्रबंधन इकाई द्वारा व्याख्या किए जाते हैं या ऑपरेटिंग सिस्टम उपयोग के लिए आरक्षित होते हैं। उन प्रोसेसरों में जो नो-एक्ज़ीक्यूट या एक्ज़ीक्यूशन डिसेबल फीचर को लागू करते हैं, सबसे महत्वपूर्ण बिट (बिट 63) NX बिट है। अगले ग्यारह सबसे महत्वपूर्ण बिट्स (बिट्स 52 से 62) इंटेल और एएमडी दोनों के आर्किटेक्चर विनिर्देशों द्वारा ऑपरेटिंग सिस्टम के उपयोग के लिए आरक्षित हैं। इस प्रकार, पृष्ठ तालिका प्रविष्टि में 64 बिट्स से, 12 लो-ऑर्डर और 12 हाई-ऑर्डर बिट्स के अन्य उपयोग हैं, भौतिक पृष्ठ संख्या के लिए 40 बिट्स (बिट्स 12 हालांकि 51) को छोड़कर। रेखीय पते से पृष्ठ के भीतर 12 बिट्स ऑफ़सेट के साथ संयुक्त, भौतिक मेमोरी को संबोधित करने के लिए अधिकतम 52 बिट्स उपलब्ध हैं। यह 2 की अधिकतम RAM कॉन्फ़िगरेशन की अनुमति देता है52 बाइट, या 4 पेटाबाइट (लगभग 4.5×1015 बाइट्स)।

मूल लंबे मोड में x86-64 प्रोसेसर पर, पता अनुवाद योजना पीएई का उपयोग करती है लेकिन एक चौथी तालिका, 512-प्रविष्टि पृष्ठ-मानचित्र स्तर 4 तालिका जोड़ती है, और पृष्ठ निर्देशिका सूचक तालिका को मूल 4 प्रविष्टियों के बजाय 512 प्रविष्टियों तक विस्तारित करती है। संरक्षित मोड में है। वर्तमान में वर्चुअल पृष्ठ संख्या के 48 बिट्स का अनुवाद किया जाता है, जिससे 256 TB तक का वर्चुअल पता स्थान मिलता है। पृष्ठ तालिका प्रविष्टियों में, मूल विनिर्देश में, भौतिक पृष्ठ संख्या के 40 बिट लागू किए गए हैं।

हार्डवेयर समर्थन
सॉफ्टवेयर के माध्यम से पहचान कर सकता है  झंडा   सीपीयू पीएई मोड का समर्थन करता है या नहीं। माइक्रोसॉफ्ट विंडोज के लिए एक नि: शुल्क कार्यक्रम उपलब्ध है जो पीएई समर्थन सहित कई प्रोसेसर क्षमताओं को सूचीबद्ध करेगा। लिनक्स में, कमांड जैसे   सूचीबद्ध कर सकते हैं   झंडा जब उपस्थित हो, साथ ही अन्य उपकरण जैसे SYSLINUX हार्डवेयर डिटेक्शन टूल।

प्रोसेसर को पीएई मोड में चलाने के लिए ऑपरेटिंग सिस्टम सपोर्ट की जरूरत होती है। 4 जीबी से अधिक रैम तक पहुँचने के लिए पीएई का उपयोग करने के लिए, ऑपरेटिंग सिस्टम में, चिपसेट में और मदरबोर्ड पर और समर्थन की आवश्यकता होती है। कुछ चिपसेट 4 जीबी (हेक्साडेसिमल में एफएफएफएफएफएफएफएफ) से ऊपर के भौतिक मेमोरी पतों का समर्थन नहीं करते हैं, और कुछ मदरबोर्ड में 4 जीबी से अधिक रैम की स्थापना की अनुमति देने के लिए पर्याप्त रैम सॉकेट नहीं होते हैं। फिर भी, भले ही 4 जीबी से अधिक रैम उपलब्ध और सुलभ न हो, पीएई-सक्षम सीपीयू को पीएई मोड में चलाया जा सकता है, उदाहरण के लिए कोई अमल नहीं फीचर के उपयोग की अनुमति देने के लिए।

माइक्रोसॉफ़्ट विंडोज़
उपयुक्त विकल्प के साथ बूट होने पर Microsoft Windows के 32-बिट संस्करण PAE का समर्थन करते हैं। माइक्रोसॉफ्ट टेक्निकल फेलो मार्क रोसिनोविच के अनुसार, 4GB से ऊपर के भौतिक पतों का सामना करने पर कुछ ड्राइवर अस्थिर पाए गए। निम्न तालिका Microsoft Windows के 32-बिट संस्करणों के लिए स्मृति सीमाएँ दिखाती है: Windows XP और Windows XP SP1 की मूल रिलीज़ में PAE मोड का उपयोग किया गया था ताकि RAM को 4 GB पता सीमा से आगे बढ़ाया जा सके। हालाँकि, इसने तृतीय पक्ष ड्राइवरों के साथ संगतता समस्याओं का नेतृत्व किया, जिसके कारण Microsoft ने Windows XP सर्विस पैक 2 में इस क्षमता को हटा दिया। Windows XP SP2 और बाद में, डिफ़ॉल्ट रूप से, NX बिट के साथ प्रोसेसर पर। नो-एक्ज़ीक्यूट (NX) या NX बिट |निष्पादित-अक्षम (XD) सुविधा, NX को अनुमति देने के लिए PAE मोड में चलती है। NX बिट पृष्ठ तालिका प्रविष्टि के बिट 63 में रहता है और, PAE के बिना, 32-बिट सिस्टम पर पृष्ठ तालिका प्रविष्टियों में केवल 32 बिट होते हैं; इसलिए एनएक्स फीचर का फायदा उठाने के लिए पीएई मोड की आवश्यकता है। हालांकि, 32-बिट Windows (Windows XP SP2 और बाद में, Windows Vista, Windows 7) के क्लाइंट संस्करण ड्राइवर संगतता के लिए भौतिक पता स्थान को पहले 4 GB तक सीमित करते हैं भले ही एनएक्स समर्थन सक्षम होने पर ये संस्करण पीएई मोड में चलते हैं।

NX बिट और SSE2 के अलावा, Windows 8 और बाद के संस्करण केवल उन प्रोसेसर पर चलेंगे जो PAE का समर्थन करते हैं।

मैकोज़
मैक ओएस एक्स स्नो लेपर्ड के माध्यम से मैक ओएस एक्स टाइगर आईए-32 प्रोसेसर पर पीएई और एनएक्स बिट का समर्थन करता है; हिम तेंदुआ IA-32 प्रोसेसर का समर्थन करने वाला अंतिम संस्करण था। x86-64 प्रोसेसर पर, macOS के सभी संस्करण 4GB से ऊपर की मेमोरी को संबोधित करने के लिए 4-स्तरीय पेजिंग (PAE के बजाय IA-32e पेजिंग) का उपयोग करते हैं। Mac Pro और Xserv सिस्टम 64 GB तक RAM का उपयोग कर सकते हैं।

लिनक्स
लिनक्स कर्नेल में 2.3.23 संस्करण से शुरू होने वाले पूर्ण पीएई-मोड समर्थन शामिल है, 1999 में 32-बिट मशीनों पर 64 जीबी मेमोरी तक पहुंच को सक्षम करना। एक पीएई-सक्षम लिनक्स कर्नेल की आवश्यकता है कि सीपीयू भी पीएई का समर्थन करे। लिनक्स कर्नेल पीएई को एक बिल्ड विकल्प के रूप में समर्थन करता है और प्रमुख वितरण पीएई कर्नेल को या तो डिफ़ॉल्ट या एक विकल्प के रूप में प्रदान करते हैं।

एनएक्स बिट सुविधा के लिए पीएई समर्थन के साथ निर्मित कर्नेल की आवश्यकता होती है। लिनक्स वितरण अब आमतौर पर पीएई-सक्षम कर्नेल को डिफ़ॉल्ट के रूप में उपयोग करते हैं, एक प्रवृत्ति जो 2009 में शुरू हुई थी। कई, जिसमें उबंटू (ऑपरेटिंग सिस्टम) (और Xubuntu और  लिनक्स टकसाल  जैसे डेरिवेटिव) शामिल हैं, रेड हैट एंटरप्राइज लिनक्स 6.0, और CentOS, ने गैर-PAE गुठली का वितरण बंद कर दिया है, इस प्रकार PAE-सहायक हार्डवेयर को अनिवार्य बना दिया है। लिनक्स वितरण जिसके लिए पीएई की आवश्यकता होती है, पेंटियम एम परिवार प्रोसेसर पर बूट करने से इंकार कर सकता है क्योंकि वे अपनी सीपीयूआईडी जानकारी में पीएई समर्थन ध्वज नहीं दिखाते हैं (भले ही यह आंतरिक रूप से समर्थित हो)। हालाँकि, इसे आसानी से बायपास किया जा सकता है, कम से कम उबंटू (ऑपरेटिंग सिस्टम) में,   विकल्प। वितरण जो अभी भी एक गैर-पीएई विकल्प प्रदान करते हैं, जिसमें डेबियन (और डेरिवेटिव जैसे लिनक्स मिंट # डेबियन-आधारित संस्करण | एलएमडीई 2 (लिनक्स मिंट डेबियन संस्करण) शामिल हैं। ), स्लैकवेयर और LXLE Linux, आमतौर पर i386, i486 , या रेट्रो लेबल के साथ ऐसा करते हैं। लेख लाइटवेट लिनक्स वितरण कुछ अन्य लोगों को सूचीबद्ध करता है, जो पुराने कंप्यूटरों पर लिनक्स स्थापित करने की अनुमति देता है।

अन्य
FreeBSD और NetBSD भी PAE को कर्नेल बिल्ड विकल्प के रूप में समर्थन करते हैं। FreeBSD 4.x सीरीज़ में 4.9 से शुरू होकर, 5.x सीरीज़ में 5.1 से शुरू होकर, और सभी 6.x और बाद में रिलीज़ में PAE का समर्थन करता है। समर्थन के लिए कर्नेल की आवश्यकता होती है  कॉन्फ़िगरेशन-विकल्प। लोड करने योग्य कर्नेल मॉड्यूल केवल पीएई सक्षम के साथ कर्नेल में लोड किए जा सकते हैं यदि मॉड्यूल पीएई सक्षम के साथ बनाए गए थे; फ्रीबीएसडी वितरण में बाइनरी मॉड्यूल पीएई सक्षम के साथ नहीं बनाया गया है, और इस प्रकार पीएई कर्नेल में लोड नहीं किया जा सकता है। सभी ड्राइवर 4 जीबी से अधिक भौतिक मेमोरी का समर्थन नहीं करते हैं; वे ड्राइवर PAE वाले सिस्टम पर ठीक से काम नहीं करेंगे। OpenBSD को मानक GENERIC i386 कर्नेल के साथ 2006 से PAE के लिए समर्थन प्राप्त है। GeNUA mbH ने प्रारंभिक कार्यान्वयन का समर्थन किया। रिलीज 5.0 पीएई में परिवर्तनों की एक श्रृंखला है, विशेष रूप से पीएमएपी के लिए i386 एमएमयू प्रसंस्करण में परिवर्तन, पीएमएपी (9) देखें। Solaris (ऑपरेटिंग सिस्टम) Solaris संस्करण 7 से शुरू होकर PAE का समर्थन करता है। हालाँकि, संस्करण 7 के साथ उपयोग किए जाने वाले तृतीय-पक्ष ड्राइवर जिनमें विशेष रूप से PAE समर्थन शामिल नहीं है, PAE के साथ एक सिस्टम पर गलत तरीके से काम कर सकते हैं या विफल हो सकते हैं। हाइकू (ऑपरेटिंग सिस्टम) ने आर1 अल्फा 2 रिलीज के कुछ समय बाद पीएई के लिए प्रारंभिक समर्थन जोड़ा। R1 अल्फा 3 PAE की रिलीज के साथ अब आधिकारिक रूप से समर्थित है।

ArcaOS के पास 4 GB सीमा से ऊपर RAM डिस्क बनाने के उद्देश्य से PAE के लिए सीमित समर्थन है।

यह भी देखें

 * पेज साइज एक्सटेंशन
 * पीसीआई छेद
 * पीएसई-36
 * विंडोज एनटी का आर्किटेक्चर
 * 3 जीबी बाधा
 * बड़ा भौतिक पता विस्तार (एलपीएई) - एआरएम वास्तुकला में
 * इंटेल 5-स्तरीय पेजिंग