64-बिट कंप्यूटिंग

From alpha
Jump to navigation Jump to search
64-बिट पोर्टेबल निष्पादन योग्य फ़ाइल में अनुभाग तालिका का हेक्स डंप। एक 64-बिट वर्ड (कंप्यूटर आर्किटेक्चर) को 16 हेक्साडेसिमल अंकों के अनुक्रम के रूप में व्यक्त किया जा सकता है।

कंप्यूटर आर्किटेक्चर में, 64-बिट इंटीजर (कंप्यूटर विज्ञान), स्मृति पता , या अन्य डेटा (कंप्यूटिंग) इकाइयाँ[lower-alpha 1] वे हैं जो 64 अंश चौड़े हैं। इसके अलावा, 64-बिट सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) और अंकगणित तर्क इकाइयां (एएलयू) वे हैं जो उस आकार के प्रोसेसर रजिस्टर, पता बस या बस (कंप्यूटिंग) पर आधारित हैं। एक कंप्यूटर जो ऐसे प्रोसेसर का उपयोग करता है वह 64-बिट कंप्यूटर है।

सॉफ़्टवेयर परिप्रेक्ष्य से, 64-बिट कंप्यूटिंग का अर्थ है 64-बिट वर्चुअल मेमोरी एड्रेस के साथ मशीन कोड का उपयोग। हालाँकि, सभी 64-बिट अनुदेश सेट पूर्ण 64-बिट वर्चुअल मेमोरी पतों का समर्थन नहीं करते हैं; उदाहरण के लिए x86-64 और AArch64, वर्चुअल एड्रेस के केवल 48 बिट्स का समर्थन करते हैं, वर्चुअल एड्रेस के शेष 16 बिट्स के लिए सभी शून्य (000...) या सभी (111...), और कई 64- होना आवश्यक है। बिट निर्देश सेट 64 बिट से कम भौतिक मेमोरी पते का समर्थन करते हैं।

64-बिट शब्द कंप्यूटर की उस पीढ़ी का भी वर्णन करता है जिसमें 64-बिट प्रोसेसर आदर्श हैं। 64 बिट्स एक वर्ड (कंप्यूटर आर्किटेक्चर) आकार है जो कंप्यूटर आर्किटेक्चर, बसों, मेमोरी और सीपीयू के कुछ वर्गों और, विस्तार से, उन पर चलने वाले सॉफ़्टवेयर को परिभाषित करता है। 64-बिट सीपीयू का उपयोग 1970 के दशक (क्रे-1, 1975) से सुपर कंप्यूटर में और 1990 के दशक की शुरुआत से कम निर्देश सेट कंप्यूटर (आरआईएससी) आधारित वर्कस्टेशन और सर्वर (कंप्यूटिंग) में किया गया है। 2003 में, 64-बिट सीपीयू को x86-64 प्रोसेसर और पावरपीसी 970 के रूप में मुख्यधारा के निजी कंप्यूटर बाजार में पेश किया गया था।

एक 64-बिट रजिस्टर 2 में से किसी एक को रख सकता है64(18 क्विंटिलियन से अधिक या 1.8×1019) विभिन्न मान. 64 बिट्स में संग्रहीत किए जा सकने वाले पूर्णांक मानों की सीमा पूर्णांक (कंप्यूटर विज्ञान)#मूल्य और उपयोग किए गए प्रतिनिधित्व पर निर्भर करती है। दो सबसे आम अभ्यावेदन के साथ, सीमा 0 से 18,446,744,073,709,551,615 (2 के बराबर) है64 − 1) एक (हस्ताक्षरित) बाइनरी संख्या के रूप में प्रतिनिधित्व के लिए, और −9,223,372,036,854,775,808 (−2)63) से 9,223,372,036,854,775,807 (263 - 1) दो के पूरक के रूप में प्रतिनिधित्व के लिए। इसलिए, 64-बिट मेमोरी एड्रेस वाला एक प्रोसेसर सीधे 2 तक पहुंच सकता हैबाइट संबोधन |बाइट-एड्रेसेबल मेमोरी के 64 बाइट्स (16 exbibytes या ईआईबी)।

बिना किसी अतिरिक्त योग्यता के, 64-बिट कंप्यूटर आर्किटेक्चर में आम तौर पर पूर्णांक और एड्रेसिंग प्रोसेसर रजिस्टर होता है जो 64 बिट चौड़ा होता है, जो 64-बिट डेटा प्रकारों और पतों के लिए सीधे समर्थन की अनुमति देता है। हालाँकि, एक सीपीयू में बाहरी बस (कंप्यूटिंग) या रजिस्टरों से भिन्न आकार वाली एड्रेस बसें हो सकती हैं, यहां तक ​​कि बड़ी भी (उदाहरण के लिए, 32-बिट पेंटियम में 64-बिट डेटा बस थी)।[1]


वास्तुशिल्प निहितार्थ

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

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

इतिहास

कई कंप्यूटर अनुदेश सेट डिज़ाइन किए गए हैं ताकि एक एकल पूर्णांक रजिस्टर मेमोरी पते को कंप्यूटर की भौतिक या आभासी मेमोरी में किसी भी स्थान पर संग्रहीत कर सके। इसलिए, मेमोरी में पतों की कुल संख्या अक्सर इन रजिस्टरों की चौड़ाई से निर्धारित होती है। 1960 के दशक का आईबीएम सिस्टम/360 एक प्रारंभिक 32-बिट कंप्यूटर था; इसमें 32-बिट पूर्णांक रजिस्टर थे, हालांकि इसमें पतों के लिए किसी शब्द के केवल निम्न क्रम के 24 बिट्स का उपयोग किया गया था, जिसके परिणामस्वरूप 16 मेबिबाइट (16 × 10242 bytes) पता स्थान. 32-बिट सुपरमिनी कंप्यूटर, जैसे कि डिजिटल उपकरण निगम VAX, 1970 के दशक में आम हो गए, और 32-बिट माइक्रोप्रोसेसर, जैसे कि मोटोरोला 68000 परिवार और इंटेल 80386 से शुरू होने वाले x86 परिवार के IA-32|32-बिट सदस्य , 1980 के दशक के मध्य में प्रकट हुआ, जिसने 32 बिट्स को एक सुविधाजनक रजिस्टर आकार के रूप में एक वास्तविक सर्वसम्मति बना दिया।

32-बिट पता रजिस्टर का मतलब था कि 232 पते, या 4 गिबिबाइट रैंडम एक्सेस मेमोरी (रैम) का संदर्भ दिया जा सकता है। जब इन आर्किटेक्चर को तैयार किया गया था, तो 4 GiB मेमोरी इंस्टॉलेशन में सामान्य मात्रा (4 MiB) से इतनी अधिक थी कि इसे संबोधित करने के लिए पर्याप्त हेडरूम माना जाता था। एक अन्य महत्वपूर्ण कारण से 4.29 बिलियन पतों को काम करने के लिए उपयुक्त आकार माना गया: 4.29 बिलियन पूर्णांक डेटाबेस जैसे अनुप्रयोगों में अधिकांश संस्थाओं को अद्वितीय संदर्भ निर्दिष्ट करने के लिए पर्याप्त हैं।

1970 और 1980 के दशक के कुछ सुपरकंप्यूटर आर्किटेक्चर, जैसे क्रे-1,[2] 64 बिट तक के रजिस्टरों का उपयोग किया गया और 64-बिट पूर्णांक अंकगणित का समर्थन किया गया, हालाँकि वे 64-बिट एड्रेसिंग का समर्थन नहीं करते थे। 1980 के दशक के मध्य में, Intel i860[3] विकास की शुरुआत 1989 में रिलीज़ के साथ हुई; i860 में 32-बिट पूर्णांक रजिस्टर और 32-बिट एड्रेसिंग था, इसलिए यह पूरी तरह से 64-बिट प्रोसेसर नहीं था, हालांकि इसकी ग्राफिक्स इकाई 64-बिट पूर्णांक अंकगणित का समर्थन करती थी।[4] हालाँकि, 1990 के दशक की शुरुआत तक 32 बिट्स मानक बने रहे, जब मेमोरी की लागत में लगातार कटौती के कारण रैम की मात्रा 4 GiB तक पहुंच गई, और 4 GiB सीमा से अधिक वर्चुअल मेमोरी स्पेस का उपयोग कुछ प्रकारों को संभालने के लिए वांछनीय हो गया। समस्याओं का. प्रतिक्रिया में, एमआईपीएस और डीईसी ने शुरुआत में हाई-एंड वर्कस्टेशन और सर्वर (कंप्यूटिंग) मशीनों के लिए 64-बिट माइक्रोप्रोसेसर आर्किटेक्चर विकसित किया। 1990 के दशक के मध्य तक, एचएएल कंप्यूटर सिस्टम्स, सन माइक्रोसिस्टम्स, आईबीएम, सिलिकॉन ग्राफ़िक्स और हेवलेट पैकर्ड ने अपने वर्कस्टेशन और सर्वर सिस्टम के लिए 64-बिट आर्किटेक्चर विकसित किया था। इस प्रवृत्ति का एक उल्लेखनीय अपवाद आईबीएम का मेनफ़्रेम कंप्यूटर था, जो तब 32-बिट डेटा और 31-बिट एड्रेस आकार का उपयोग करता था; आईबीएम मेनफ्रेम में 2000 तक 64-बिट प्रोसेसर शामिल नहीं थे। 1990 के दशक के दौरान, उपभोक्ता इलेक्ट्रॉनिक्स और एम्बेडेड अनुप्रयोगों में कई कम लागत वाले 64-बिट माइक्रोप्रोसेसरों का उपयोग किया गया था। विशेष रूप से, निंटेंडो 64[5] और PlayStation 2 में पर्सनल कंप्यूटर में आने से पहले 64-बिट माइक्रोप्रोसेसर थे। हाई-एंड प्रिंटर, नेटवर्क उपकरण और औद्योगिक कंप्यूटर में भी 64-बिट माइक्रोप्रोसेसर का उपयोग किया जाता है, जैसे क्वांटम प्रभाव उपकरण R5000[citation needed] 64-बिट कंप्यूटिंग 2003 के बाद से पर्सनल कंप्यूटर डेस्कटॉप पर आना शुरू हो गई, जब ऐप्पल इंक की मैकिंटोश लाइनों के कुछ मॉडल पावरपीसी 970 प्रोसेसर (एप्पल द्वारा जी5 कहा जाता है) पर स्विच हो गए, और उन्नत लघु उपकरण (एएमडी) ने इसे जारी किया पहला 64-बिट x86-64 प्रोसेसर। भौतिक मेमोरी अंततः 32 बिट सीमा तक पहुंच गई। 2023 में, लैपटॉप कंप्यूटर आमतौर पर 16GB और सर्वर 64GB तक मेमोरी से लैस थे, जो 32 बिट्स की 4GB एड्रेस क्षमता से कहीं अधिक था।

64-बिट डेटा टाइमलाइन

1961
आईबीएम ने आईबीएम 7030 खिंचाव सुपरकंप्यूटर वितरित किया, जो 64-बिट डेटा शब्द और 32- या 64-बिट अनुदेश शब्द का उपयोग करता है।
1974
नियंत्रण डेटा निगम ने सीडीसी स्टार-100 वेक्टर सुपरकंप्यूटर लॉन्च किया, जो 64-बिट वर्ड आर्किटेक्चर का उपयोग करता है (पूर्व सीडीसी सिस्टम 60-बिट आर्किटेक्चर पर आधारित थे)।
इंटरनेशनल कम्प्यूटर्स लिमिटेड ने 32-बिट, 64-बिट और 128-बिट दो पूरक पूर्णांकों के साथ आईसीएल 2900 श्रृंखला लॉन्च की; 64-बिट और 128-बिट फ़्लोटिंग पॉइंट; 32-बिट, 64-बिट और 128-बिट पैक्ड दशमलव और एक 128-बिट संचायक रजिस्टर। वास्तुकला आईसीएल और फुजित्सु मशीनों की एक श्रृंखला के माध्यम से बची हुई है। नवीनतम फुजित्सु सुपरनोवा है, जो 64-बिट इंटेल प्रोसेसर पर मूल वातावरण का अनुकरण करता है।
1976
क्रे अनुसंधान ने पहला क्रे-1 सुपरकंप्यूटर प्रदान किया, जो 64-बिट वर्ड आर्किटेक्चर पर आधारित है और बाद के क्रे वेक्टर सुपरकंप्यूटर के लिए आधार बनेगा।
1983
Elxsi ने Elxsi 6400 समानांतर मिनीसुपरकंप्यूटर लॉन्च किया। एल्क्सी आर्किटेक्चर में 64-बिट डेटा रजिस्टर है लेकिन 32-बिट एड्रेस स्पेस है।
1989
इंटेल ने इंटेल i860 रिड्यूस्ड इंस्ट्रक्शन सेट कंप्यूटर (आरआईएससी) प्रोसेसर पेश किया। 64-बिट माइक्रोप्रोसेसर के रूप में विपणन किया गया, इसमें अनिवार्य रूप से 32-बिट आर्किटेक्चर था, जो 64-बिट पूर्णांक संचालन में सक्षम 3 डी ग्राफिक्स इकाई के साथ बढ़ाया गया था।[6]
1993
अटारी ने अटारी जगुआर वीडियो गेम कंसोल पेश किया, जिसमें इसकी वास्तुकला में कुछ 64-बिट विस्तृत डेटा पथ शामिल हैं।[7]


64-बिट पता समयरेखा

1991
एमआईपीएस कंप्यूटर सिस्टम्स ने पहला 64-बिट माइक्रोप्रोसेसर, आR4000 का उत्पादन किया, जो एमआईपीएस आर्किटेक्चर#एमआईपीएस III आर्किटेक्चर को लागू करता है, जो इसके एमआईपीएस आर्किटेक्चर का तीसरा संशोधन है।[8] सीपीयू का उपयोग एसजीआई क्रिमसन से शुरू होने वाले सिलिकॉन ग्राफिक्स ग्राफिक्स वर्कस्टेशन में किया जाता है। केंडल स्क्वायर रिसर्च ने अपना पहला KSR1 सुपरकंप्यूटर वितरित किया, जो कि Tru64 UNIX#OSF/1|OSF/1 पर चलने वाले मालिकाना 64-बिट RISC प्रोसेसर आर्किटेक्चर पर आधारित है।
1992
डिजिटल इक्विपमेंट कॉर्पोरेशन (डीईसी) ने शुद्ध 64-बिट डीईसी अल्फा आर्किटेक्चर पेश किया जो दिसंबर प्रिज्म प्रोजेक्ट से पैदा हुआ था।[9]
1994
इंटेल ने अपने 32-बिट IA-32 प्रोसेसर के उत्तराधिकारी के रूप में 64-बिट IA-64 आर्किटेक्चर (हेवलेट-पैकार्ड के साथ संयुक्त रूप से विकसित) की योजना की घोषणा की। 1998 से 1999 की लॉन्च तिथि लक्षित की गई थी।
1995
सन माइक्रोसिस्टम्स ने 64-बिट SPARC प्रोसेसर, UltraSPARC लॉन्च किया।[10] बेईमानी के स्वामित्व वाली एचएएल कंप्यूटर सिस्टम्स ने 64-बिट सीपीयू, एचएएल की स्वतंत्र रूप से डिजाइन की गई पहली पीढ़ी के एचएएल SPARC64 पर आधारित वर्कस्टेशन लॉन्च किया है। IBM ने A10 और A30 माइक्रोप्रोसेसर जारी किए, जो पहले 64-बिट PowerPC AS प्रोसेसर हैं।[11] आईबीएम एक 64-बिट एएस/400 सिस्टम अपग्रेड भी जारी करता है, जो ऑपरेटिंग सिस्टम, डेटाबेस और एप्लिकेशन को परिवर्तित कर सकता है।
1996
Nintendo ने निंटेंडो 64 वीडियो गेम कंसोल पेश किया, जो एमआईपीएस आर4000 के कम लागत वाले संस्करण के आसपास बनाया गया था। HP ने अपने 64-बिट PA-RISC|PA-RISC 2.0 आर्किटेक्चर, PA-8000 का पहला कार्यान्वयन जारी किया।[12]
1998
आईबीएम ने पूर्ण-64-बिट पावरपीसी/आईबीएम पावर इंस्ट्रक्शन सेट आर्किटेक्चर प्रोसेसर की शक्ति3 लाइन जारी की।[13]
1999
इंटेल ने IA-64 आर्किटेक्चर के लिए निर्देश सेट जारी किया। AMD सार्वजनिक रूप से IA-32 के लिए अपने 64-बिट एक्सटेंशन के सेट का खुलासा करता है, जिसे x86-64 (बाद में ब्रांडेड AMD64) कहा जाता है।
2000
IBM ने अपना पहला 64-बिट z/आर्किटेक्चर मेनफ्रेम कंप्यूटर, zSeries z900 शिप किया। z/आर्किटेक्चर, 32-बिट ESA/390 आर्किटेक्चर का 64-बिट संस्करण है, जो 32-बिट सिस्टम/360 आर्किटेक्चर का वंशज है।
2001
बाजार में आने में बार-बार देरी के बाद, इंटेल ने अपनी IA-64 प्रोसेसर लाइन को शिप किया। अब ब्रांडेड इटेनियम और उच्च-स्तरीय सर्वरों को लक्षित करने के कारण, बिक्री अपेक्षाओं को पूरा करने में विफल रहती है।
2003
AMD ने अपने AMD64 आर्किटेक्चर पर आधारित अपनी Opteron और Athlon 64 प्रोसेसर लाइनें पेश कीं, जो पहला x86-आधारित 64-बिट प्रोसेसर आर्किटेक्चर है। Apple कंप्यूटर IBM द्वारा निर्मित 64-बिट G5 PowerPC 970 CPU भी शिप करता है। इंटेल का कहना है कि उसके इटेनियम चिप्स उसके केवल 64-बिट प्रोसेसर बने रहेंगे।
2004
इंटेल ने एएमडी की बाजार सफलता पर प्रतिक्रिया व्यक्त करते हुए स्वीकार किया कि वह आईए-32ई नामक AMDSHCH एक्सटेंशन का एक क्लोन विकसित कर रहा है (बाद में इसका नाम बदलकर ईएम64टी कर दिया गया, फिर इसे इंटेल 64 नाम दिया गया)। इंटेल ने नए 64-बिट अनुदेश सेट का समर्थन करने वाले अपने ज़ीऑन और पेंटियम 4 प्रोसेसर परिवारों के अद्यतन संस्करण भेजे हैं।
वीआईए टेक्नोलॉजीज ने वाया यशायाह 64-बिट प्रोसेसर की घोषणा की।[14]
2006
सोनी, आईबीएम और तोशिबा ने प्लेस्टेशन 3, सर्वर, वर्कस्टेशन और अन्य उपकरणों में उपयोग के लिए 64-बिट सेल (माइक्रोप्रोसेसर) का निर्माण शुरू किया। इंटेल ने अपने मोबाइल, डेस्कटॉप और वर्कस्टेशन लाइन के लिए पहले मुख्यधारा x86-64 प्रोसेसर के रूप में इंटेल कोर (माइक्रोआर्किटेक्चर) जारी किया। पहले 64-बिट एक्सटेंशन प्रोसेसर लाइनें उपभोक्ता खुदरा बाजार में व्यापक रूप से उपलब्ध नहीं थीं (अधिकांश 64-बिट पेंटियम 4/डी ओईएम थे), 64-बिट पेंटियम 4, पेंटियम डी और सेलेरॉन 2006 के अंत तक बड़े पैमाने पर उत्पादन में नहीं थे। खराब उपज के मुद्दे पर (ज्यादातर अच्छी उपज वाले वेफर्स सर्वर और मेनफ्रेम पर लक्षित थे जबकि मुख्यधारा अभी भी 2006 तक 130 एनएम 32-बिट प्रोसेसर लाइन बनी हुई थी) और कोर 2 की शुरुआत के बाद जल्द ही कम अंत बन गया। एएमडी ने अपना पहला 64-बिट मोबाइल प्रोसेसर जारी किया और 90 एनएम में निर्मित किया।
2011
एआरएम होल्डिंग्स ने एआरएम वास्तुकला परिवार के पहले 64-बिट संस्करण एआरएमवी8-ए की घोषणा की।[15]
2012
एआरएम होल्डिंग्स ने 30 अक्टूबर 2012 को अपने कॉर्टेक्स-ए53 और कॉर्टेक्स-ए57 कोर की घोषणा की, जो उनके 64-बिट आर्किटेक्चर पर आधारित उनका पहला कोर था।[16][17]
2013
ऐप्पल ने स्मार्टफोन में दुनिया के पहले 64-बिट प्रोसेसर के साथ आई फ़ोन 5 एस की घोषणा की, जो आईपैड एयर और आईपैड मिनी 2 के साथ अपने ऐप्पल ए7 एआरएमवी8-ए-आधारित सिस्टम-ऑन-ए-चिप का उपयोग करता है जो दुनिया के हैं टैबलेट में पहला 64-बिट प्रोसेसर।
2014
Google ने Nexus 9 टैबलेट की घोषणा की, जो 64-बिट Tegra K1 चिप पर चलने वाला पहला एंड्रॉइड डिवाइस है।
2015
ऐप्पल ने आईपॉड टच (छठी पीढ़ी) की घोषणा की, जो 64-बिट प्रोसेसर ऐप्पल ए8 एआरएमवी8-ए-आधारित सिस्टम-ऑन-ए-चिप के साथ-साथ ऐप्पल टीवी|एप्पल टीवी (चौथी पीढ़ी) का उपयोग करने वाला पहला आईपॉड टच है। Apple TV में दुनिया का पहला 64-बिट प्रोसेसर है।
2018
Apple ने Apple वॉच की घोषणा की, जो 64-बिट प्रोसेसर Apple S4 ARMv8-A-आधारित सिस्टम-ऑन-ए-चिप का उपयोग करने वाली पहली Apple वॉच है।
2020
सारांश एआरसीवी3 आईएसए की घोषणा करता है, जो एआरसी (प्रोसेसर) का पहला 64-बिट संस्करण है।[18]


64-बिट ऑपरेटिंग सिस्टम टाइमलाइन

1985
क्रे ने UNICOS जारी किया, जो यूनिक्स ऑपरेटिंग सिस्टम का पहला 64-बिट कार्यान्वयन था।[19]
1993
DEC ने DEC अल्फा आर्किटेक्चर पर आधारित अपने सिस्टम के लिए 64-बिट Tru64 UNIX#OSF/1|DEC OSF/1 AXP यूनिक्स जैसा ऑपरेटिंग सिस्टम (बाद में इसका नाम बदलकर Tru64 UNIX) जारी किया।
1994
सिलिकॉन ग्राफ़िक्स द्वारा रिलीज़ 6.0 में IRIX ऑपरेटिंग सिस्टम में R8000 प्रोसेसर के लिए समर्थन जोड़ा गया है।
1995
डीईसी ने ओपन VMS 7.0 जारी किया, जो अल्फा के लिए ओपनवीएमएस का पहला पूर्ण 64-बिट संस्करण था। अल्फ़ा आर्किटेक्चर के लिए पहला 64-बिट लिनक्स वितरण जारी किया गया है।[20]
1996
64-बिट मोड में R4x00 प्रोसेसर के लिए समर्थन सिलिकॉन ग्राफिक्स द्वारा रिलीज़ 6.2 में IRIX ऑपरेटिंग सिस्टम में जोड़ा गया है।
1998
सन ने पूर्ण 64-बिट अल्ट्रास्पार्क समर्थन के साथ सोलारिस (ऑपरेटिंग सिस्टम) 7 जारी किया।
2000
IBM ने नई zSeries 64-बिट मेनफ्रेम के लिए z/OS, MVS से निकला एक 64-बिट ऑपरेटिंग सिस्टम जारी किया; z सिस्टम पर 64-बिट Linux CPU रिलीज़ का लगभग तुरंत अनुसरण करता है।
2001
लिनक्स x86-64 को पूरी तरह से समर्थन देने वाला पहला ओएस कर्नेल बन गया (एक सिम्युलेटर पर, क्योंकि अभी तक कोई x86-64 प्रोसेसर जारी नहीं किया गया था)।[21]
2001
माइक्रोसॉफ्ट ने इटेनियम के IA-64 आर्किटेक्चर के लिए Windows XP 64-बिट संस्करण जारी किया; यह एक निष्पादन परत के माध्यम से 32-बिट अनुप्रयोग चला सकता है।
2003
Apple ने अपना Mac OS[22] AMD64 के समर्थन के साथ कई Linux Linux वितरण रिलीज़। FreeBSD AMD64 के समर्थन के साथ रिलीज़ होता है।
2005
4 जनवरी को, माइक्रोसॉफ्ट ने विंडोज एक्सपी 64-बिट संस्करण को बंद कर दिया, क्योंकि पिछले सितंबर से आईए-64 प्रोसेसर वाला कोई पीसी उपलब्ध नहीं था, और घोषणा की कि वह इसे बदलने के लिए विंडोज के x86-64 संस्करण विकसित कर रहा है।[23] 31 जनवरी को, सन ने AMD64 और EM64T प्रोसेसर के समर्थन के साथ सोलारिस (ऑपरेटिंग सिस्टम) जारी किया। 29 अप्रैल को, Apple ने Mac OS Intel-आधारित Mac के बाद के संस्करणों ने EM64T प्रोसेसर वाले Mac पर 64-बिट कमांड-लाइन अनुप्रयोगों का समर्थन किया। 30 अप्रैल को, Microsoft ने AMD64 और EM64T प्रोसेसर के लिए Windows XP Professional x64 संस्करण और Windows Server 2003 x64 संस्करण जारी किया।[24]
2006
माइक्रोसॉफ्ट ने विंडोज विस्टा जारी किया, जिसमें एएमडी64/ईएम64टी प्रोसेसर के लिए 64-बिट संस्करण शामिल है जो 32-बिट संगतता बरकरार रखता है। 64-बिट संस्करण में, सभी विंडोज़ एप्लिकेशन और घटक 64-बिट हैं, हालांकि कई में प्लग-इन (कंप्यूटिंग)|प्लग-इन के साथ संगतता के लिए उनके 32-बिट संस्करण भी शामिल हैं।
2007
Apple ने Mac OS
2009
माइक्रोसॉफ्ट ने विंडोज 7 जारी किया, जिसमें विंडोज विस्टा की तरह, एएमडी64/इंटेल 64 प्रोसेसर के लिए पूर्ण 64-बिट संस्करण शामिल है; अधिकांश नए कंप्यूटर डिफ़ॉल्ट रूप से 64-बिट संस्करण के साथ लोड होते हैं। Microsoft ने Windows Server 2008 R2 भी जारी किया, जो पहला 64-बिट केवल सर्वर ऑपरेटिंग सिस्टम है। Apple ने Mac OS मैक ओएस एक्स 10.6 के साथ बंडल किए गए अधिकांश एप्लिकेशन अब 64-बिट भी हैं।[22];2011: Apple ने Mac OS पुरानी मशीनें जो 64-बिट कर्नेल चलाने में असमर्थ हैं, वे 32-बिट कर्नेल चलाती हैं, लेकिन, पहले के रिलीज़ की तरह, अभी भी 64-बिट एप्लिकेशन चला सकती हैं; लायन 32-बिट प्रोसेसर वाली मशीनों का समर्थन नहीं करता है। Mac OS
2012
माइक्रोसॉफ्ट ने विंडोज 8 जारी किया जो यूईएफआई क्लास 3 (सीएसएम के बिना यूईएफआई) और सुरक्षित बूट का समर्थन करता है।[25]
2013
Apple ने iOS 7 जारी किया, जिसमें AArch64 प्रोसेसर वाली मशीनों पर 64-बिट कर्नेल है जो 64-बिट अनुप्रयोगों का समर्थन करता है।
2014
Google ने एंड्रॉइड लॉलीपॉप जारी किया, जो 64-बिट प्रोसेसर के समर्थन के साथ एंड्रॉइड (ऑपरेटिंग सिस्टम) ऑपरेटिंग सिस्टम का पहला संस्करण है।
2017
Apple ने iOS 11 जारी किया, जो केवल AArch64 प्रोसेसर वाली मशीनों को सपोर्ट करता है। इसमें 64-बिट कर्नेल है जो केवल 64-बिट अनुप्रयोगों का समर्थन करता है। 32-बिट अनुप्रयोग अब संगत नहीं हैं.
2018
Apple ने watchOS जारी किया, जो 64-बिट समर्थन लाने वाला पहला watchOS संस्करण है।
2019
Apple ने macOS Catalina|macOS 10.15 कैटालिना जारी किया, 32-बिट इंटेल अनुप्रयोगों के लिए समर्थन बंद कर दिया।
2021
माइक्रोसॉफ्ट ने 5 अक्टूबर को विंडोज 11 जारी किया, जो केवल 64-बिट सिस्टम का समर्थन करता है, आईए-32 सिस्टम के लिए समर्थन छोड़ देता है।
2022
Google ने Pixel 7 जारी किया, जो गैर-64-बिट अनुप्रयोगों के लिए समर्थन बंद कर देता है। ऐप्पल ने वॉचओएस जारी किया है, जो 64-बिट प्रोसेसर (एप्पल वॉच सीरीज़ 4 या नए, ऐप्पल वॉच | ऐप्पल वॉच एसई (पहली पीढ़ी) या नए और नए पेश किए गए ऐप्पल वॉच सहित) के साथ विशेष रूप से ऐप्पल वॉच मॉडल पर चलने वाला पहला वॉचओएस संस्करण है। 32-बिट प्रोसेसर के साथ अंतिम ऐप्पल वॉच मॉडल के रूप में ऐप्पल वॉच के लिए समर्थन बंद कर दिया गया है।

प्रोसेसर की सीमाएँ

सिद्धांत रूप में, एक 64-बिट माइक्रोप्रोसेसर 16 EiB को संबोधित कर सकता है (16 × 10246 = 264 = 18,446,744,073,709,551,616 bytes, या लगभग 18.4 एक्साबाइट्स) मेमोरी। हालाँकि, सभी निर्देश सेट नहीं, और उन निर्देश सेटों को कार्यान्वित करने वाले सभी प्रोसेसर, पूर्ण 64-बिट वर्चुअल या भौतिक पता स्थान का समर्थन नहीं करते हैं।

x86-64|x86-64 आर्किटेक्चर (as of 2016) वर्चुअल मेमोरी के लिए 48 बिट्स और, किसी दिए गए प्रोसेसर के लिए, भौतिक मेमोरी के लिए 52 बिट्स तक की अनुमति देता है।[26][27] ये सीमाएँ 256 Tebibite की मेमोरी आकार की अनुमति देती हैं (256 × 10244 bytes) और 4 पेबिबाइट (4 × 10245 bytes), क्रमश। एक पीसी में वर्तमान में 4 पेबीबाइट मेमोरी नहीं हो सकती (मेमोरी चिप्स के भौतिक आकार के कारण), लेकिन एएमडी ने बड़े सर्वर, साझा मेमोरी क्लस्टर और भौतिक एड्रेस स्पेस के अन्य उपयोगों की कल्पना की जो निकट भविष्य में इस तक पहुंच सकते हैं। इस प्रकार 52-बिट भौतिक पता पूर्ण 64-बिट भौतिक पते को लागू करने की लागत वहन किए बिना विस्तार के लिए पर्याप्त जगह प्रदान करता है। इसी प्रकार, 48-बिट वर्चुअल एड्रेस स्पेस को 65,536 (2) प्रदान करने के लिए डिज़ाइन किया गया था16) 4 GiB की 32-बिट सीमा का गुना (4 × 10243 bytes), बाद में विस्तार के लिए जगह की अनुमति देता है और पूर्ण 64-बिट पतों का अनुवाद करने का कोई ओवरहेड खर्च नहीं करता है।

पावर ISA#पावर ISA v.3.0|पावर ISA v3.0 एक प्रभावी पते के लिए 64 बिट्स की अनुमति देता है, वर्चुअल मेमोरी के लिए 65 और 78 बिट्स के बीच एक खंडित पते पर मैप किया जाता है, और, किसी भी दिए गए प्रोसेसर के लिए, 60 तक। भौतिक स्मृति के लिए बिट्स.[28] Oracle SPARC आर्किटेक्चर 2015 वर्चुअल मेमोरी के लिए 64 बिट्स और किसी दिए गए प्रोसेसर के लिए, भौतिक मेमोरी के लिए 40 से 56 बिट्स के बीच की अनुमति देता है।[29] ARM आर्किटेक्चर परिवार#Armv8-A वर्चुअल मेमोरी के लिए 48 बिट्स और, किसी दिए गए प्रोसेसर के लिए, भौतिक मेमोरी के लिए 32 से 48 बिट्स की अनुमति देता है।[30] डीईसी अल्फा विनिर्देश को समर्थित होने के लिए न्यूनतम 43 बिट्स वर्चुअल मेमोरी एड्रेस स्पेस (8 TiB) की आवश्यकता होती है, और यदि शेष असमर्थित बिट्स शून्य हैं (भविष्य के प्रोसेसर पर संगतता का समर्थन करने के लिए) तो हार्डवेयर को जांचने और ट्रैप करने की आवश्यकता होती है। अल्फ़ा 21064 43 बिट वर्चुअल मेमोरी एड्रेस स्पेस (8 TiB) और 34 बिट फिजिकल मेमोरी एड्रेस स्पेस (16 GiB) को सपोर्ट करता है। अल्फ़ा 21164 43 बिट वर्चुअल मेमोरी एड्रेस स्पेस (8 TiB) और 40 बिट फिजिकल मेमोरी एड्रेस स्पेस (1 TiB) को सपोर्ट करता है। अल्फ़ा 21264 उपयोगकर्ता-कॉन्फ़िगर करने योग्य 43 या 48 बिट वर्चुअल मेमोरी एड्रेस स्पेस (8 TiB या 256 TiB) और 44 बिट भौतिक मेमोरी एड्रेस स्पेस (16 TiB) का समर्थन करता है।

64-बिट अनुप्रयोग

32-बिट बनाम 64-बिट

32-बिट कंप्यूटिंग | 32-बिट से 64-बिट आर्किटेक्चर में परिवर्तन एक मौलिक परिवर्तन है, क्योंकि नए आर्किटेक्चर का लाभ उठाने के लिए अधिकांश ऑपरेटिंग सिस्टम को बड़े पैमाने पर संशोधित किया जाना चाहिए, क्योंकि उस सॉफ़्टवेयर को वास्तविक मेमोरी एड्रेसिंग हार्डवेयर का प्रबंधन करना होता है .[31] नई क्षमताओं का उपयोग करने के लिए अन्य सॉफ़्टवेयर को भी में porting किया जाना चाहिए; पुराने 32-बिट सॉफ़्टवेयर को या तो 64-बिट अनुदेश सेट के 32-बिट अनुदेश सेट के सुपरसेट होने के आधार पर समर्थित किया जा सकता है, ताकि 64-बिट अनुदेश सेट का समर्थन करने वाले प्रोसेसर 32-बिट अनुदेश के लिए कोड भी चला सकें। सेट, या सॉफ़्टवेयर एमुलेटर के माध्यम से, या 64-बिट प्रोसेसर के भीतर 32-बिट प्रोसेसर कोर के वास्तविक कार्यान्वयन द्वारा, जैसा कि इंटेल के कुछ इटेनियम प्रोसेसर के साथ होता है, जिसमें 32-बिट x86 अनुप्रयोगों को चलाने के लिए IA-32 प्रोसेसर कोर शामिल होता है। उन 64-बिट आर्किटेक्चर के लिए ऑपरेटिंग सिस्टम आम तौर पर 32-बिट और 64-बिट दोनों अनुप्रयोगों का समर्थन करते हैं।[32] इसका एक महत्वपूर्ण अपवाद IBM AS/400 है, जिसके लिए सॉफ़्टवेयर को वर्चुअल अनुदेश सेट वास्तुकला (ISA) में संकलित किया गया है जिसे टेक्नोलॉजी इंडिपेंडेंट मशीन इंटरफ़ेस (TIMI) कहा जाता है; निष्पादित होने से पहले TIMI कोड को निम्न-स्तरीय सॉफ़्टवेयर द्वारा मूल मशीन कोड में अनुवादित किया जाता है। अनुवाद सॉफ्टवेयर वह सब है जिसे पूर्ण ओएस और सभी सॉफ्टवेयर को एक नए प्लेटफॉर्म पर ले जाने के लिए फिर से लिखा जाना चाहिए, जैसे कि जब आईबीएम ने पुराने 32/48-बिट आईएमपीआई से एएस/400 के लिए मूल निर्देश सेट को नए 64-बिट पावरपीसी में परिवर्तित किया था। -AS, कोडनेम Amazon। IMPI निर्देश सेट 32-बिट पावरपीसी से भी काफी अलग था, इसलिए यह संक्रमण किसी दिए गए निर्देश सेट को 32 से 64 बिट तक ले जाने से भी बड़ा था।

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

एक संकलित जावा प्रोग्राम बिना किसी संशोधन के 32- या 64-बिट जावा वर्चुअल मशीन पर चल सकता है। सभी अंतर्निर्मित प्रकारों की लंबाई और परिशुद्धता, जैसे char, short, int, long, float, और double, और जिन प्रकारों का उपयोग सरणी सूचकांकों के रूप में किया जा सकता है, वे मानक द्वारा निर्दिष्ट हैं और अंतर्निहित वास्तुकला पर निर्भर नहीं हैं। 64-बिट जावा वर्चुअल मशीन पर चलने वाले जावा प्रोग्रामों की पहुंच बड़े एड्रेस स्पेस तक होती है।[33] 32-बिट और 64-बिट प्रोसेसर की तुलना करते समय गति ही एकमात्र कारक नहीं है। उच्च-प्रदर्शन कंप्यूटिंग (एचपीसी) के लिए मल्टी-टास्किंग, तनाव परीक्षण और क्लस्टरिंग जैसे अनुप्रयोग - उचित रूप से तैनात किए जाने पर 64-बिट आर्किटेक्चर के लिए अधिक उपयुक्त हो सकते हैं। इस कारण से, 64-बिट क्लस्टर को आईबीएम, एचपी और माइक्रोसॉफ्ट जैसे बड़े संगठनों में व्यापक रूप से तैनात किया गया है।

सारांश:

  • 64-बिट प्रोसेसर 64-बिट सॉफ़्टवेयर के साथ सबसे अच्छा प्रदर्शन करता है।
  • 64-बिट प्रोसेसर में बैकवर्ड संगतता हो सकती है, जो इसे अपने निर्देश सेट के 32-बिट संस्करण के लिए 32-बिट एप्लिकेशन सॉफ़्टवेयर चलाने की अनुमति देती है, और इसके निर्देश के 32-बिट संस्करण के लिए 32-बिट ऑपरेटिंग सिस्टम चलाने का भी समर्थन कर सकती है। तय करना।
  • 32-बिट प्रोसेसर 64-बिट सॉफ़्टवेयर के साथ असंगत है।

फायदे और नुकसान

एक आम ग़लतफ़हमी यह है कि 64-बिट आर्किटेक्चर 32-बिट आर्किटेक्चर से बेहतर नहीं है जब तक कि कंप्यूटर में 4 GiB से अधिक रैंडम-एक्सेस मेमोरी न हो।[34] यह पूरी तरह से सच नहीं है:

  • कुछ ऑपरेटिंग सिस्टम और कुछ हार्डवेयर कॉन्फ़िगरेशन IA-32 सिस्टम पर भौतिक मेमोरी स्पेस को 3 GiB तक सीमित करते हैं, क्योंकि 3-4 GiB क्षेत्र का अधिकांश भाग हार्डवेयर एड्रेसिंग के लिए आरक्षित होता है; 3 जीबी बैरियर देखें; 64-बिट आर्किटेक्चर 4 GiB से कहीं अधिक को संबोधित कर सकता है। हालाँकि, पेंटियम प्रो के IA-32 प्रोसेसर भौतिक पता विस्तार (PAE) का उपयोग करके 36-बिट भौतिक मेमोरी एड्रेस स्पेस की अनुमति देते हैं, जो 64 GiB फिजिकल एड्रेस रेंज देता है, जिसमें से 62 GiB तक का उपयोग मुख्य मेमोरी द्वारा किया जा सकता है। ; पीएई का समर्थन करने वाले ऑपरेटिंग सिस्टम आईए-32 प्रोसेसर पर भी 4 जीबी भौतिक मेमोरी तक सीमित नहीं हो सकते हैं। हालाँकि, ड्राइवर और अन्य कर्नेल मोड सॉफ़्टवेयर, और भी पुराने संस्करण, PAE के साथ असंगत हो सकते हैं; इसे Microsoft Windows के 32-बिट संस्करणों के 4 GiB भौतिक RAM तक सीमित होने का कारण बताया गया है[35] (हालांकि इस स्पष्टीकरण की वैधता विवादित रही है[36]).
  • कुछ ऑपरेटिंग सिस्टम ओएस उपयोग के लिए प्रक्रिया (कंप्यूटिंग) एड्रेस स्पेस के कुछ हिस्सों को आरक्षित करते हैं, जिससे उपयोगकर्ता प्रोग्रामों के लिए मेमोरी मैपिंग के लिए उपलब्ध कुल एड्रेस स्पेस प्रभावी रूप से कम हो जाता है। उदाहरण के लिए, 32-बिट विंडोज़ कर्नेल के लिए कुल पता स्थान का 1 या 2 GiB (सेटिंग्स के आधार पर) आरक्षित करता है, जो उपयोगकर्ता मोड के लिए उपलब्ध पता स्थान का केवल 3 या 2 GiB (क्रमशः) छोड़ता है। 64-बिट ऑपरेटिंग सिस्टम पर यह सीमा बहुत अधिक है।
  • मेमोरी-मैप की गई फ़ाइलों को 32-बिट आर्किटेक्चर में लागू करना अधिक कठिन होता जा रहा है क्योंकि 4 GiB से अधिक की फ़ाइलें अधिक सामान्य हो गई हैं; ऐसी बड़ी फ़ाइलों को 32-बिट आर्किटेक्चर में आसानी से मेमोरी-मैप नहीं किया जा सकता है, क्योंकि फ़ाइल का केवल एक हिस्सा एक समय में एड्रेस स्पेस में मैप किया जा सकता है, और मेमोरी मैपिंग द्वारा ऐसी फ़ाइल तक पहुंचने के लिए, मैप किए गए हिस्सों को स्वैप किया जाना चाहिए और आवश्यकतानुसार पता स्थान से बाहर। यह एक समस्या है, क्योंकि मेमोरी मैपिंग, यदि ओएस द्वारा ठीक से कार्यान्वित की जाती है, तो सबसे कुशल डिस्क-टू-मेमोरी विधियों में से एक है।
  • कुछ 64-बिट प्रोग्राम, जैसे एनकोडर, डिकोडर और एन्क्रिप्शन सॉफ़्टवेयर, 64-बिट रजिस्टरों से बहुत लाभ उठा सकते हैं,[citation needed] जबकि 32-बिट से 64-बिट वातावरण में स्विच करने पर अन्य प्रोग्राम, जैसे 3डी ग्राफिक्स-उन्मुख वाले, का प्रदर्शन अप्रभावित रहता है।[citation needed]
  • कुछ 64-बिट आर्किटेक्चर, जैसे कि x86-64 और AArch64, अपने 32-बिट समकक्षों की तुलना में अधिक सामान्य-उद्देश्य वाले रजिस्टरों का समर्थन करते हैं (हालांकि यह विशेष रूप से शब्द की लंबाई के कारण नहीं है)। इससे टाइट लूप की गति में उल्लेखनीय वृद्धि होती है क्योंकि यदि डेटा उपलब्ध रजिस्टरों में फिट हो सकता है तो प्रोसेसर को कैश या मुख्य मेमोरी से डेटा लाने की आवश्यकता नहीं होती है।
सी में उदाहरण (प्रोग्रामिंग भाषा):
int a, b, c, d, e;
for (a = 0; a < 100; a++) {
    b = a;
    c = b;
    d = c;
    e = d;
}
यह कोड पहले 5 मान बनाता है: ए, बी, सी, डी और ई; और फिर उन्हें एक लूप में डाल देता है। लूप के दौरान, यह कोड b के मान को a के मान में, c के मान को b के मान में, d के मान को c के मान में और e के मान को d के मान में बदल देता है। इसका प्रभाव सभी मानों को a में बदलने जैसा ही होता है।
यदि कोई प्रोसेसर रजिस्टरों में केवल दो या तीन मान या वेरिएबल रख सकता है, तो उसे वेरिएबल डी और ई को भी संसाधित करने में सक्षम होने के लिए मेमोरी और रजिस्टरों के बीच कुछ मानों को स्थानांतरित करने की आवश्यकता होगी; यह एक ऐसी प्रक्रिया है जिसमें कई CPU चक्र लगते हैं। एक प्रोसेसर जो रजिस्टरों में सभी मानों और चरों को रख सकता है, प्रत्येक पुनरावृत्ति के लिए रजिस्टरों और मेमोरी के बीच डेटा को स्थानांतरित करने की आवश्यकता के बिना उनके माध्यम से लूप कर सकता है। इस व्यवहार की तुलना वर्चुअल मेमोरी से आसानी से की जा सकती है, हालाँकि कोई भी प्रभाव कंपाइलर पर निर्भर होता है।

64-बिट आर्किटेक्चर का मुख्य नुकसान यह है कि, 32-बिट आर्किटेक्चर के सापेक्ष, वही डेटा मेमोरी में अधिक जगह घेरता है (लंबे पॉइंटर्स और संभवतः अन्य प्रकारों और संरेखण पैडिंग के कारण)। यह किसी दी गई प्रक्रिया की मेमोरी आवश्यकताओं को बढ़ाता है और कुशल प्रोसेसर कैश उपयोग पर प्रभाव डाल सकता है। आंशिक 32-बिट मॉडल को बनाए रखना इसे संभालने का एक तरीका है, और सामान्य तौर पर यह काफी प्रभावी है। उदाहरण के लिए, z/OS ऑपरेटिंग सिस्टम इस दृष्टिकोण को अपनाता है, जिसके लिए प्रोग्राम कोड को 31-बिट एड्रेस स्पेस में रहने की आवश्यकता होती है (उच्च ऑर्डर बिट का उपयोग अंतर्निहित हार्डवेयर प्लेटफ़ॉर्म पर एड्रेस गणना में नहीं किया जाता है) जबकि डेटा ऑब्जेक्ट वैकल्पिक रूप से 64-बिट में रह सकते हैं। बिट क्षेत्र. ऐसे सभी एप्लिकेशन को बड़े एड्रेस स्पेस या 64-बिट डेटा आइटम में हेरफेर की आवश्यकता नहीं होती है, इसलिए इन एप्लिकेशन को इन सुविधाओं से लाभ नहीं मिलता है।

सॉफ़्टवेयर उपलब्धता

x86-आधारित 64-बिट सिस्टम में कभी-कभी 32-बिट आर्किटेक्चर के लिए लिखे गए सॉफ़्टवेयर के समकक्षों की कमी होती है। Microsoft Windows में सबसे गंभीर समस्या अप्रचलित हार्डवेयर के लिए असंगत डिवाइस ड्राइवर है। अधिकांश 32-बिट एप्लिकेशन सॉफ़्टवेयर 64-बिट ऑपरेटिंग सिस्टम पर संगतता मोड में चल सकते हैं, जिसे एमुलेटर मोड भी कहा जाता है, उदाहरण के लिए, IA-64 और AMD64 के लिए Microsoft WoW64 तकनीक। 64-बिट विंडोज़ नेटिव मोड[37] ड्राइवर वातावरण 64-बिट पर चलता है NTDLL.DLL, जो 32-बिट Win32 सबसिस्टम कोड को कॉल नहीं कर सकता (अक्सर ऐसे उपकरण जिनका वास्तविक हार्डवेयर फ़ंक्शन उपयोगकर्ता मोड सॉफ़्टवेयर में अनुकरण किया जाता है, जैसे Winprinters)। चूँकि 2007 की शुरुआत तक अधिकांश उपकरणों के लिए 64-बिट ड्राइवर उपलब्ध नहीं थे (विस्टा x64), विंडोज़ के 64-बिट संस्करण का उपयोग करना एक चुनौती माना जाता था। हालाँकि, तब से रुझान 64-बिट कंप्यूटिंग की ओर बढ़ गया है, खासकर मेमोरी की कीमतों में गिरावट और 4 जीबी से अधिक रैम का उपयोग बढ़ने के कारण। अधिकांश निर्माताओं ने नए उपकरणों के लिए 32-बिट और 64-बिट दोनों ड्राइवर प्रदान करना शुरू कर दिया, इसलिए 64-बिट ड्राइवरों की अनुपलब्धता एक समस्या नहीं रह गई। कई पुराने उपकरणों के लिए 64-बिट ड्राइवर उपलब्ध नहीं कराए गए थे, जिसके परिणामस्वरूप 64-बिट सिस्टम में उपयोग नहीं किया जा सका।

ओपन-सोर्स ड्राइवरों के साथ ड्राइवर संगतता की समस्या कम थी, क्योंकि 32-बिट ड्राइवरों को 64-बिट उपयोग के लिए संशोधित किया जा सकता था। 2007 की शुरुआत से पहले बनाए गए हार्डवेयर के लिए समर्थन, ओपन-सोर्स प्लेटफ़ॉर्म के लिए समस्याग्रस्त था,[citation needed] उपयोगकर्ताओं की अपेक्षाकृत कम संख्या के कारण।

विंडोज़ के 64-बिट संस्करण 16-बिट#16-बिट एप्लिकेशन|16-बिट सॉफ़्टवेयर नहीं चला सकते। हालाँकि, अधिकांश 32-बिट एप्लिकेशन अच्छी तरह से काम करेंगे। 64-बिट उपयोगकर्ताओं को 16-बिट एप्लिकेशन चलाने या एनटीबीडीएम के लिए विकल्पों में से किसी एक का उपयोग करने के लिए 16- या 32-बिट ऑपरेटिंग सिस्टम की वर्चुअल मशीन स्थापित करने के लिए मजबूर किया जाता है।[38] Mac OS X Tiger|Mac OSX 10.4 Tiger और Mac OS Mac OS इसने उन Mac को 32-बिट डिवाइस ड्राइवरों का समर्थन करते हुए 64-बिट प्रक्रियाओं का समर्थन करने की अनुमति दी; हालाँकि 64-बिट ड्राइवर और प्रदर्शन लाभ नहीं हैं जो उनके साथ आ सकते हैं। Mac OS 64-बिट प्रोसेसर वाले सिस्टम पर, 32- और 64-बिट macOS कर्नेल दोनों 32-बिट उपयोगकर्ता-मोड कोड चला सकते हैं, और macOS Mojave (10.14) तक macOS के सभी संस्करणों में लाइब्रेरी के 32-बिट संस्करण शामिल हैं जो 32- बिट एप्लिकेशन उपयोग करेंगे, इसलिए macOS के लिए 32-बिट उपयोगकर्ता-मोड सॉफ़्टवेयर उन सिस्टम पर चलेगा। Apple द्वारा macOS Catalina (10.15) में लाइब्रेरी के 32-बिट संस्करण हटा दिए गए हैं।

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

64-बिट डेटा मॉडल

32-बिट प्रोग्राम में, पॉइंटर (कंप्यूटर प्रोग्रामिंग) और पूर्णांक जैसे डेटा प्रकारों की लंबाई आम तौर पर समान होती है। यह जरूरी नहीं कि 64-बिट मशीनों पर सच हो।[39][40][41] प्रोग्रामिंग भाषाओं जैसे सी (प्रोग्रामिंग भाषा) और इसके वंशज जैसे सी ++ और उद्देश्य सी में डेटा प्रकारों का मिश्रण इस प्रकार 32-बिट कार्यान्वयन पर काम कर सकता है लेकिन 64-बिट कार्यान्वयन पर नहीं।

64-बिट मशीनों पर सी और सी-व्युत्पन्न भाषाओं के लिए कई प्रोग्रामिंग वातावरणों में, int वेरिएबल अभी भी 32 बिट चौड़े हैं, लेकिन लंबे पूर्णांक और पॉइंटर्स 64 बिट चौड़े हैं। इन्हें एलपी64 डेटा मॉडल के रूप में वर्णित किया गया है, जो लॉन्ग, पॉइंटर, 64 का संक्षिप्त रूप है।[42][43] अन्य मॉडल ILP64 डेटा मॉडल हैं जिसमें सभी तीन डेटा प्रकार 64 बिट चौड़े हैं,[44][43]और यहां तक ​​कि SILP64 मॉडल जहां छोटे पूर्णांक भी 64 बिट चौड़े होते हैं।[45][46]हालाँकि, ज्यादातर मामलों में आवश्यक संशोधन अपेक्षाकृत मामूली और सीधे होते हैं, और कई अच्छी तरह से लिखे गए कार्यक्रमों को बिना किसी बदलाव के नए वातावरण के लिए आसानी से पुन: संकलित किया जा सकता है। एक अन्य विकल्प LLP64 मॉडल है, जो दोनों को छोड़कर 32-बिट कोड के साथ संगतता बनाए रखता है int और long 32-बिट के रूप में।[47][43]एलएल लंबे लंबे पूर्णांक प्रकार को संदर्भित करता है, जो 32-बिट वातावरण सहित सभी प्लेटफार्मों पर कम से कम 64 बिट है।

ILP32 डेटा मॉडल का उपयोग करने वाले 64-बिट प्रोसेसर वाले सिस्टम भी हैं, जिसमें 64-बिट लंबे पूर्णांक शामिल हैं; इसका उपयोग 32-बिट प्रोसेसर वाले कई प्लेटफ़ॉर्म पर भी किया जाता है। यह मॉडल बहुत छोटे एड्रेस स्पेस की कीमत पर कोड आकार और पॉइंटर्स वाले डेटा संरचनाओं के आकार को कम कर देता है, जो कुछ एम्बेडेड सिस्टम के लिए एक अच्छा विकल्प है। x86 और एआरएम जैसे निर्देश सेटों के लिए, जिसमें निर्देश सेट के 64-बिट संस्करण में 32-बिट संस्करण की तुलना में अधिक रजिस्टर हैं, यह स्पेस पेनल्टी के बिना अतिरिक्त रजिस्टरों तक पहुंच प्रदान करता है। यह 64-बिट आरआईएससी मशीनों में आम है,[citation needed] x86 में x32 ABI के रूप में खोजा गया, और हाल ही में Apple वॉच सीरीज़ 4 और 5 में इसका उपयोग किया गया है।[48][49]

64-bit data models
Data
model
short
int
int long
int
long
long
Pointer,
size_t
Sample operating systems
ILP32 16 32 32 64 32 x32 and arm64ilp32 ABIs on Linux systems; MIPS N32 ABI.
LLP64 16 32 32 64 64 Microsoft Windows (x86-64, IA-64, and ARM64) using Visual C++; and MinGW
LP64 16 32 64 64 64 Most Unix and Unix-like systems, e.g., Solaris, Linux, BSD, macOS. Windows when using Cygwin; z/OS
ILP64 16 64 64 64 64 HAL Computer Systems port of Solaris to the SPARC64
SILP64 64 64 64 64 64 Classic UNICOS[45][46] (versus UNICOS/mp, etc.)

कई 64-बिट प्लेटफ़ॉर्म आज एलपी64 मॉडल (सोलारिस, एईक्स, एचपी-यूएक्स, लिनक्स, मैकओएस, बीएसडी और आईबीएम जेड/ओएस सहित) का उपयोग करें। Microsoft Windows LLP64 मॉडल का उपयोग करता है। एलपी64 मॉडल का नुकसान यह है कि भंडारण किया जाता है long एक में int काट-छाँट करता है। दूसरी ओर, एक सूचक को एक में परिवर्तित करना long एलपी64 में काम करेगा. LLP64 मॉडल में, विपरीत सत्य है। ये ऐसी समस्याएं नहीं हैं जो पूरी तरह से मानक-अनुपालक कोड को प्रभावित करती हैं, लेकिन कोड अक्सर डेटा प्रकारों की चौड़ाई के बारे में अंतर्निहित धारणाओं के साथ लिखा जाता है। C कोड को प्राथमिकता देनी चाहिए (u)intptr_t के बजाय long पॉइंटर्स को पूर्णांक ऑब्जेक्ट में कास्टिंग करते समय।

एक प्रोग्रामिंग मॉडल किसी दिए गए कंपाइलर के अनुरूप बनाया गया एक विकल्प है, और कई एक ही ओएस पर एक साथ मौजूद हो सकते हैं। हालाँकि, ओएस अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) के लिए प्राथमिक मॉडल के रूप में चुना गया प्रोग्रामिंग मॉडल आमतौर पर हावी होता है।

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

वर्तमान 64-बिट आर्किटेक्चर

As of August 2023, 64-बिट आर्किटेक्चर जिसके लिए प्रोसेसर का निर्माण किया जा रहा है, इसमें शामिल हैं:

  • एडवांस्ड माइक्रो डिवाइसेस (एएमडी) द्वारा इंटेल के x86 आर्किटेक्चर के लिए बनाया गया 64-बिट एक्सटेंशन (बाद में इंटेल द्वारा लाइसेंस प्राप्त); आमतौर पर इसे x86-64, AMD64, या x64 कहा जाता है:
    • AMD के AMD64 एक्सटेंशन (Athlon 64, Opteron, Sempron, Turion 64, Phenom (प्रोसेसर), Athlon II, Phenom II, AMD त्वरित प्रसंस्करण इकाई, AMD FX, Ryzen और Epyc प्रोसेसर में प्रयुक्त)
    • इंटेल के इंटेल 64 एक्सटेंशन, इण्टेल कोर 2/i3/i5/i7/i9, कुछ इंटेल एटम और नए सेलेरोन , पेंटियम और ज़ीऑन प्रोसेसर में उपयोग किए जाते हैं
      • इंटेल का K1OM आर्किटेक्चर, इंटेल 64 का एक संस्करण जिसमें कोई CMOV, MMX और SSE निर्देश नहीं हैं, पहली पीढ़ी के Xeon Phi (नाइट्स कॉर्नर) कोप्रोसेसर में उपयोग किया जाता है, बाइनरी x86-64 प्रोग्राम के साथ असंगत है
    • VIA Technologies के 64-बिट एक्सटेंशन, VIA फिनोम (प्रोसेसर) में उपयोग किए जाते हैं
  • आईबीएम का पावरपीसी/पावर आईएसए:
    • IBM का Power10 प्रोसेसर और पूर्ववर्ती, और IBM A2 प्रोसेसर
  • स्पार्क V9 आर्किटेक्चर:
    • Oracle Corporation के M8 और S7 प्रोसेसर
    • फुजित्सु के SPARC64 XII और SPARC64 V#SPARC64 XIfx प्रोसेसर
  • IBM का z/आर्किटेक्चर, ESA/390 आर्किटेक्चर का 64-बिट संस्करण, IBM के IBM Z IBM मेनफ्रेम में उपयोग किया जाता है:
  • एमआईपीएस टेक्नोलॉजीज का एमआईपीएस आर्किटेक्चर आर्किटेक्चर
  • एआरएम होल्डिंग्स का AArch64 आर्किटेक्चर
  • एल्ब्रस (कंप्यूटर) वास्तुकला:
  • एनईसी एसएक्स वास्तुकला
  • जोखिम-V
  • एआरसी (प्रोसेसर)

64 बिट्स के अधिकांश आर्किटेक्चर जो 32 बिट्स के समान आर्किटेक्चर से प्राप्त होते हैं, 32-बिट संस्करणों के लिए लिखे गए कोड को बिना किसी प्रदर्शन दंड के मूल रूप से निष्पादित कर सकते हैं।[citation needed] इस प्रकार के समर्थन को आमतौर पर द्वि-आर्क समर्थन या अधिक सामान्यतः मल्टी-आर्क समर्थन कहा जाता है।

यह भी देखें

टिप्पणियाँ

  1. such as floating-point numbers.


संदर्भ

  1. Pentium Processor User's Manual Volume 1: Pentium Processor Data Book (PDF). Intel. 1993.
  2. "क्रे-1 कंप्यूटर सिस्टम हार्डवेयर संदर्भ मैनुअल" (PDF). Cray Research. 1977. Retrieved October 8, 2013.
  3. Grimes, Jack; Kohn, Les; Bharadhwaj, Rajeev (July–August 1989). "The Intel i860 64-Bit Processor: A General-Purpose CPU with 3D Graphics Capabilities". IEEE Computer Graphics and Applications. 9 (4): 85–94. doi:10.1109/38.31467. S2CID 38831149. Retrieved 2010-11-19.
  4. "i860 Processor Family Programmer's Reference Manual" (PDF). Intel. 1991. Retrieved September 12, 2019.
  5. "NEC Offers Two High Cost Performance 64-bit RISC Microprocessors" (Press release). NEC. 1998-01-20. Retrieved 2011-01-09. Versions of the VR4300 processor are widely used in consumer and office automation applications, including the popular Nintendo 64TM video game and advanced laser printers such as the recently announced, award-winning Hewlett-Packard LaserJet 4000 printer family.
  6. "i860 64-Bit Microprocessor". Intel. 1989. Retrieved 30 November 2010.
  7. "अटारी जगुआर इतिहास". AtariAge.
  8. Joe Heinrich (1994). MIPS R4000 Microprocessor User's Manual (2nd ed.). MIPS Technologies, Inc.
  9. Richard L. Sites (1992). "अल्फा AXP आर्किटेक्चर". Digital Technical Journal. Digital Equipment Corporation. 4 (4).
  10. Gwennap, Linley (3 October 1994). "अल्ट्रास्पार्क ने स्पार्क प्रदर्शन को उजागर किया". Microprocessor Report. MicroDesign Resources. 8 (13).
  11. Bishop, J. W.; et al. (July 1996). "PowerPC AS A10 64-bit RISC microprocessor". IBM Journal of Research and Development. IBM Corporation. 40 (4): 495–505. doi:10.1147/rd.404.0495.
  12. Gwennap, Linley (14 November 1994). "PA-8000 Combines Complexity and Speed". Microprocessor Report. MicroDesign Resources. 8 (15).
  13. F. P. O'Connell; S. W. White (November 2000). "POWER3: The next generation of PowerPC processors". IBM Journal of Research and Development. IBM Corporation. 44 (6): 873–884. doi:10.1147/rd.446.0873.
  14. "VIA Unveils Details of Next-Generation Isaiah Processor Core". VIA Technologies, Inc. Archived from the original on 2007-10-11. Retrieved 2007-07-18.
  15. "ARMv8 Technology Preview" (PDF). October 31, 2011. Archived from the original (PDF) on November 11, 2011. Retrieved November 15, 2012.
  16. "ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors" (Press release). ARM Holdings. Retrieved 2012-10-31.
  17. "ARM Keynote: ARM Cortex-A53 and ARM Cortex-A57 64bit ARMv8 processors launched". ARMdevices.net. 2012-10-31.
  18. "Synopsys Introduces New 64-bit ARC Processor IP". Archived from the original on 31 March 2022.
  19. Stefan Berka. "यूनिकोस ऑपरेटिंग सिस्टम". www.operating-system.org. Archived from the original on 26 November 2010. Retrieved 2010-11-19.
  20. Jon "maddog" Hall (Jun 1, 2000). "मेरा जीवन और मुफ़्त सॉफ़्टवेयर". Linux Journal.
  21. Andi Kleen. Porting Linux to x86-64 (PDF). Ottawa Linux Symposium 2001. Status: The kernel, compiler, tool chain work. The kernel boots and work on simulator and is used for porting of userland and running programs
  22. 22.0 22.1 John Siracusa (September 2009). "Mac OS X 10.6 Snow Leopard: the Ars Technica review". Ars Technica. p. 5. Archived from the original on 9 October 2009. Retrieved 2009-09-06.
  23. Joris Evers (5 January 2005). "माइक्रोसॉफ्ट ने इटेनियम के लिए विंडोज एक्सपी को खत्म कर दिया है". Computerworld. Archived from the original on 18 June 2013. Retrieved 17 October 2017.
  24. "Microsoft Raises the Speed Limit with the Availability of 64-Bit Editions of Windows Server 2003 and Windows XP Professional" (Press release). Microsoft. April 25, 2005. Retrieved September 10, 2015.
  25. "UEFI_on_Dell BizClient_Platforms" (PDF).
  26. "AMD64 Programmer's Manual Volume 2: System Programming" (PDF). Advanced Micro Devices. December 2016. p. 120.
  27. "Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide, Part 1" (PDF). Intel. September 2016. p. 4-2.
  28. "Power ISA Version 3.0". IBM. November 30, 2015. p. 983.
  29. "Oracle SPARC Architecture 2015 Draft D1.0.9". Oracle. p. 475.
  30. "ARM Architecture Reference Manual ARMv8, for ARMv8-A architecture profile". pp. D4-1723, D4-1724, D4-1731.
  31. Mashey, John (October 2006). "The Long Road to 64 Bits". ACM Queue. 4 (8): 85–94. doi:10.1145/1165754.1165766.
  32. "Windows 7: 64 bit vs 32 bit?". W7 Forums. Archived from the original on 5 April 2009. Retrieved 2009-04-05.
  33. "Frequently Asked Questions About the Java HotSpot VM". Sun Microsystems, Inc. Archived from the original on 10 May 2007. Retrieved 2007-05-03.
  34. "A description of the differences between 32-bit versions of Windows Vista and 64-bit versions of Windows Vista". Retrieved 2011-10-14.
  35. Mark Russinovich (2008-07-21). "Pushing the Limits of Windows: Physical Memory". Retrieved 2017-03-09.
  36. Chappell, Geoff (2009-01-27). "Licensed Memory in 32-Bit Windows Vista". geoffchappell.com. WP:SPS. Retrieved 9 March 2017.
  37. "मूल अनुप्रयोगों के अंदर". Technet.microsoft.com. 2006-11-01. Archived from the original on 23 October 2010. Retrieved 2010-11-19.
  38. Lincoln Spector (August 12, 2013). "किसी पुराने प्रोग्राम को नए पीसी पर चलाएँ".
  39. Peter Seebach (2006). "Exploring 64-bit development on POWER5: How portable is your code, really?". IBM.
  40. Henry Spencer. "सी प्रोग्रामर्स के लिए दस आज्ञाएँ".
  41. "थड एंड ब्लंडर की कहानी". Datacenterworks.com. Retrieved 2010-11-19.
  42. "ILP32 and LP64 data models and data type sizes". z/OS XL C/C++ Programming Guide.
  43. 43.0 43.1 43.2 "64-Bit Programming Models". Retrieved 2020-06-05.
  44. "Using the ILP64 Interface vs. LP64 Interface". Intel. Retrieved Jun 24, 2020.
  45. 45.0 45.1 "Cray C/C++ Reference Manual". August 1998. Table 9-1. Cray Research systems data type mapping. Archived from the original on October 16, 2013. Retrieved October 15, 2013.
  46. 46.0 46.1 "Cray C and C++ Reference Manual (8.7) S-2179". Retrieved Jun 24, 2020.
  47. "सार डेटा मॉडल - विंडोज़ अनुप्रयोग". May 30, 2018.
  48. "ILP32 for AArch64 Whitepaper". ARM Limited. June 9, 2015. Archived from the original on December 30, 2018. Retrieved October 9, 2018.
  49. "Apple devices in 2018". woachk, security researcher. October 6, 2018.


बाहरी संबंध