क्या BIOS को BIOS चिप से पढ़ा जाता है या स्टार्टअप पर रैम में कॉपी किया जाता है?


10

जब आप पहली बार अपने कंप्यूटर को चालू करते हैं, तो पहले सीपीयू चिप से निर्देशों को सीधे सीपीयू में इंस्ट्रक्शन रजिस्टर में लाने के लिए भ्रूण / निष्पादित चक्र होता है या स्वचालित सर्किटरी स्थापित की जाती है ताकि जब बिजली का पता चले, तो निर्देश BIOS चिप स्वचालित रूप से RAM में लोड होती है?

अपडेट करें

मुझे लगता है कि मुझे यहाँ अपना उत्तर मिला :

रीसेट सिग्नल बंद होने के बाद, सीपीयू काम करना शुरू कर देता है। RAM खाली होने के बाद से RAM में कोड निष्पादित नहीं किया जा सकता है। सीपीयू निर्माता प्रोसेसर को हमेशा प्रोग्राम "एफएफएफएफ: 0000" (आमतौर पर ROM BIOS) ROM के पते पर कोड निष्पादित करना शुरू करते हैं।

इसलिए सीपीयू को फिजिक में लाने के लिए और मेमोरी एड्रेस FFFF: 0000 को जल्द से जल्द ऑन करने के लिए फिजिकली सेट अप करना है।


1
यदि आपको स्वयं कोई उत्तर मिलता है, तो इसे प्रश्न में संपादित करने के बजाय, नीचे दिए गए उत्तर के रूप में पोस्ट करें। (आप कुछ समय बाद अपने स्वयं के उत्तर स्वीकार कर सकते हैं ।)
— user1686

पुस्तक को अपग्रेड और रिपेयर करने वाले पीसी में एक मेमोरी लोकेशन का उल्लेख होता है, जिसे पहले सीपीयू पढ़ता है .. और एक प्रक्रिया है जो पुराने सीएस शिक्षक सिखाते हैं जो अभी भी लागू हो सकते हैं, जिसे बूटस्ट्रैपिंग कहा जाता है, जैसे कि आपके बूटस्ट्रैप्स द्वारा खुद को ऊपर खींचने में, जो कि ( नींव) एक OS लोड हो जाता है।
— बार्लॉप

जवाबों:


3

अधिकांश बोर्डों में इस व्यवहार को कॉन्फ़िगर करने के लिए BIOS में एक विकल्प होता था। इसे आम तौर पर शैडोइंग कहा जाता था, और यह आमतौर पर डिफ़ॉल्ट रूप से सक्षम होता था। मुझे नहीं लगता कि कई बोर्ड आपको इन दिनों विकल्प देने में परेशान करते हैं और सिर्फ हमेशा छाया देते हैं। इसका कारण यह है कि RAM ROM से तेज है, इसलिए यह चीजों को RAM में कॉपी करने और वहां से चलाने के लिए गति देता है।

ध्यान दें कि कॉपी कुछ जादू सर्किटरी द्वारा नहीं की जाती है, यह केवल बायोस द्वारा ही किया जाता है जब यह शुरू में ROM से निष्पादित करना शुरू कर देता है, तो यह केवल RAM में ही कॉपी हो जाता है और फिर वहीं से निष्पादित होता रहता है।


इसलिए मैंने जो कुछ भी आपको समझा है उससे, जीवन में आने पर, सीपीयू ROM से निर्देश पढ़ता है, जो निर्देश कहते हैं "रोम में सभी स्टार्टअप निर्देशों को राम में कॉपी करें और फिर प्रोग्राम काउंटर को इस तरह के और शुरुआत के पते पर सेट करें राम में। " क्या यह सही है?
— मृग

@psusi क्या आपके पास कुछ लिंक हैं जो बता रहे हैं कि आप किस बारे में बात कर रहे हैं? सीपीयू शैडोइंग मुझे बहुत नहीं मिल रही है, और इसे कैसे कॉन्फ़िगर किया जा सकता है। और कब की बात कर रहे हो? मदरबोर्ड के पास यह विकल्प कब था? क्या आप मदरबोर्ड के किसी भी मॉडल को इंगित कर सकते हैं जिसमें यह विकल्प होता?
— बार्लोप

18

यह एक और मामला है जहां इस विषय पर प्राप्त लोक ज्ञान, दुर्भाग्य से उदाहरण के अनुसार psusiऔर वास्तव में प्रश्न का हिस्सा है, दुनिया में अटक गया है क्योंकि यह 1991 के आसपास था, तकनीकी संदर्भों के धन के बावजूद यह बताते हुए कि यह अब कैसे है। अन्यथा।

1980 के दशक के उत्तरार्ध में, मशीन फर्मवेयर - आईबीएम पीसी की दुनिया में "BIOS" नामक दो चीजों में से एक संगत - आईएसए बस में एक आरईएम चिप में था; और सीपीयू ने वास्तव में भौतिक पते पर कोड निष्पादित करना शुरू किया 000FFFF0, "पारंपरिक मेमोरी" में एक स्थान वास्तविक मोड पॉइंटर के माध्यम से पहुँचा F000:FFF0। यह दुनिया बहुत लंबी चली गई है।

(दुनिया कि डब्ल्यूडब्ल्यूडब्ल्यू पेज के लेखक, जिसे आपने बताया। एस। इब्राहिम शुब्बर, 2002 में लिखने के बावजूद, ग़लती से रहता है। सीपीयू भी 8086 के बाद से CS:IPसंयोजन के साथ शुरू नहीं हुआ है FFFF:0000। 80286 ने इसे बदल दिया। F000:FFF0। लेकिन 80286 की दुनिया ही 1980 के दशक के उत्तरार्ध की दुनिया से बाहर है, जिसे लोक ज्ञान अभी भी प्रसारित करता है।)

आपका "BIOS चिप" है राम; और आपका CPU 16-बिट नहीं है।

आधुनिक पीसी में, मशीन फर्मवेयर गैर-वाष्पशील रैम में आयोजित किया जाता है । एनवीआरएएम चिप एलपीसी बस (या एक समर्पित "फ़र्मवेयर हब" इंटरफ़ेस) से जुड़ा हुआ है, और "चिपसेट" में एलपीसी / एफडब्ल्यूएच पुल सामान्य रूप से इसे लिखने के लिए चक्रों को निष्क्रिय करता है। "चमकती" फर्मवेयर में चिपसेट रजिस्टर स्थापित करना शामिल है जो एनवीआरएएम को लिखता है और फिर एनवीआरएएम को लिखता है। (इंटेल ICH10 में, उदाहरण के लिए, चिपसेट रजिस्टर बिट जो लिखने के माध्यम से साइकिल को लिखने की अनुमति देता है BIOSWE, "BIOS लिखें सक्षम"। कुछ अतिरिक्त विवरण हैं जो मैं यहां छोड़ दूंगा, लेकिन यह इसका सार है।)

000FFFF080286 के दिनों से x86 प्रोसेसर ने स्थान पर निष्पादन शुरू नहीं किया है। 32-बिट सीपीयू की शुरुआत ऐसी होती है जिसे बोलचाल में असत्य विधा के रूप में जाना जाता है । भले ही CSरीसेट के बाद रजिस्टर का प्रारंभिक मूल्य हो, फिर F000भी उस रजिस्टर से जुड़ा सेगमेंट डिस्क्रिप्टर शुरू FFFF0000में इसका आधार पता होता है। इसलिए शारीरिक पता जो शुरू में 16:16 सीएस से मेल खाता है: आईपी पता F000:FFF0वास्तव में है, और 80-8086 के दिनों से है FFFFFFF0।

और यही वह जगह है जहां मशीन फर्मवेयर मुख्य रूप से 32-बिट और 64-बिट x86 मशीनों पर भौतिक पता स्थान में मैप किया जाता है। "पारंपरिक मेमोरी" क्षेत्र में नीचे फर्मवेयर पर 128KiB विंडो है, लेकिन आधुनिक पीसी पर NVRAM मशीन फर्मवेयर को पकड़कर 16MiB (हालांकि यह चिपसेट द्वारा भिन्न होता है) तक हो सकता है और इसे तुरंत भौतिक पता स्थान के 16MiB में मैप किया जा सकता है 4GiB लाइन के नीचे - यानी भौतिक पते के FF000000लिए FFFFFFFF। (ICH10 को फिर से एक उदाहरण के रूप में उपयोग करने के लिए: NVRAM के लिए इस एड्रेस स्पेस का कितना हिस्सा मैप किया जाता है FWH_DEC_EN, "फ़र्मवेयर हब डिकोड इनेबल" नामक एक चिपसेट रजिस्टर द्वारा नियंत्रित किया जाता है । रजिस्टर। फर्मवेयर को फिर से प्रोग्राम करने के लिए कोडित किया गया है।FWH_DEC_ENमेनबोर्ड पर स्थापित वास्तविक एनवीआरएएम चिप के आकार के अनुसार पंजीकरण करें। लेकिन NVRAM के शीर्ष 512KiB को हमेशा मैप किया जाता है, भौतिक पते के FFF80000लिए FFFFFFF, और अक्षम नहीं किया जा सकता है।) इस 16MiB पता श्रेणी के शीर्ष 64KiB में रीसेट के तुरंत बाद प्रोसेसर द्वारा शुरू किया गया कोड।

जैसा कि BIOS ROM शैडोइंग के लिए (जो कि इसे कहा जाता है - काफी barlopसोचता है कि CPU को छाया दिया जा रहा है एक रहस्य है): हां, LPC बस में NVRAM तक पहुंच या फ़र्मवेयर हब अभी भी मुख्य प्रणाली तक पहुंच के रूप में तेज़ नहीं है (वाष्पशील) RAM। लेकिन कारण यह है कि ऑपरेटिंग सिस्टम जैसे ओएस / 2 और विंडोज एनटी के बाद से - 1980 के दशक के अंत में और 1990 के दशक की शुरुआत में छायांकन महत्वपूर्ण है। वास्तविक मोड ऑपरेटिंग सिस्टम जैसे MS-DOS, PC-DOS, DR-DOS और इसके बाद मशीन फर्मवेयर द्वारा प्रदान किए गए I / O कार्यक्षमता के शीर्ष पर स्तरित किए गए थे। इसलिए फर्मवेयर का कोड और रीड-ओनली डेटा समाप्त हो गया जो रन-टाइम पर बहुत अधिक एक्सेस किया जा रहा है। OS / 2 और Windows NT जैसे संरक्षित मोड ऑपरेटिंग सिस्टम बहुत कम भरोसा करते हैंरन-टाइम पर फर्मवेयर-प्रदान की गई सेवाएं। तो यह तथ्य कि एनवीआरएएम से बाहर कोड निष्पादित होता है, और उसी में रीड-ओनली डेटा, प्रोसेसर से अधिक धीरे-धीरे आते हैं, जब सिस्टम रैम में छाया हुआ होता है, तो यह एक समस्या से कम होता है।

इसके अलावा, वे कौन से फर्मवेयर कोड और डेटा पर भरोसा करते हैं, वे जरूरी नहीं कि एनवीआरएएम के हिस्से में भौतिक पता स्थान के हिस्से में रहते हैं, उपरोक्त 128 केबीबी "पारंपरिक मेमोरी" विंडो, जो जरूरी है कि पहले स्थान पर भी छाया हुआ हो। संरक्षित मोड फर्मवेयर सेवाओं को भौतिक पते स्थान में 1MiB रेखा से नीचे रहने की आवश्यकता नहीं है क्योंकि असली मोड फर्मवेयर सेवाएं करते हैं, और कुछ नहीं करते हैं। (और निश्चित रूप से यह तभी संभव भौतिक पता अंतरिक्ष के क्षेत्र है कि वे के साथ एक ही चाल करने के लिए किया जाएगा करने के लाइव में हो, तो कम से कम प्रणाली रैम 4GiB।)

विडंबना यह है कि 2002 में एस। इब्राहिम शुब्बर लेखन की तुलना में इस बारे में जानकारी के लिए एक अधिक सटीक स्रोत फिल क्राउचर की पुस्तक है , जो एक साल पहले 2001 में BIOS कंपेनियन थी। एम। क्राउचर का मानना ​​है कि यूनिक्स, लिनक्स, विंडोज एनटी और "संभवतः (95/95) 98) "" छायांकन से कोई लाभ नहीं मिलता "। यह जरूरी नहीं है कि पूरी तरह से कोई लाभ नहीं है, लेकिन यह एमएस-डॉस, पीसी-डॉस, और डीआर-डॉस चलाने वाले लोगों की दुनिया के संबंध में तुलनात्मक रूप से बहुत कम है, जो 1989 में 16-बिट 80286 मशीनों पर वास्तविक मोड में था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.