رفتن به مطلب

آیا اطلاعات رام قبل از ورود به سی پی یو وارد رم می شوند یا مستقیم به آن میروند؟


Recommended Posts

با سلام

میدانیم که رم حافظه اجرایی کامپیوتر ماست و تمام برنامه های اجرایی پس از فراخوانی از هارد دیسک قبل از اینکه به سی پی یو بروند می بایست به روی رم بروند.

حال سوال من اینجاست که آیا برنامه های رام نیز می بایست ابتدا به رم بروند و سپس توسط CPU  اجرا بشوند یا اینکه برنامه های رام مستقیم و بدون رفتن به رم وارد CPU می شوند؟

لینک به دیدگاه
Share on other sites

منظورتون از ROM چی هست؟، اگه منظورتون از ROM همون دستوراتی هست که در بایوس وجود داره، پاسخ خیر هست، این رام اگر نباشه هیچکدوم از قطعات توانایی کار کردن با همدیگه رو ندارند، در اصل این Basic Input Output System هست، که یه نرم افزار LowLevel درونش برای ورودی و خروجی پایه سیستم هست. اگر منظورتون اینه که پاسخ همینه، اگر هم نه که بفرمائید منظورتون چه رامی هست.

لینک به دیدگاه
Share on other sites

شما مبحث RAM و ROM رو معلوم کنید تا بعد سر اصل قضیه دوستان نظراتشون رو بگن

چون این دو معقوله کاملن جدا هستن

هر چن به هم ربط دارن ولی نوع وظیفه و انجام کارشون در سیستم متفاوت هست

لینک به دیدگاه
Share on other sites

منظورتون از ROM چی هست؟، اگه منظورتون از ROM همون دستوراتی هست که در بایوس وجود داره، پاسخ خیر هست، این رام اگر نباشه هیچکدوم از قطعات توانایی کار کردن با همدیگه رو ندارند، در اصل این Basic Input Output System هست، که یه نرم افزار LowLevel درونش برای ورودی و خروجی پایه سیستم هست. اگر منظورتون اینه که پاسخ همینه، اگر هم نه که بفرمائید منظورتون چه رامی هست.

ممنون از جوابتون، منظور از ROM قطعه سخت افزاری است که برنامه BIOS بر روی آن نوشته شده است.

سوال: میدانیم که RAM حافظه اجرایی کامپیوتر است و تمام نرم افزارهایی که بر روی هارد ذخیره شده اند ابتدا به روی  RAM میروند و سپس برای پردازش وارد CPU میشوند. حال سوال این است که آیا برنامه های ذخیره شده بر روی ROM مثل BIOS هم ابتدا وارد RAM شده و سپس به سمت CPU میروند یا اینکه مستقیما از روی ROM به داخل CPU میروند؟

متشکرم

لینک به دیدگاه
Share on other sites

ممنون از جوابتون، منظور از ROM قطعه سخت افزاری است که برنامه BIOS بر روی آن نوشته شده است.

سوال: میدانیم که RAM حافظه اجرایی کامپیوتر است و تمام نرم افزارهایی که بر روی هارد ذخیره شده اند ابتدا به روی  RAM میروند و سپس برای پردازش وارد CPU میشوند. حال سوال این است که آیا برنامه های ذخیره شده بر روی ROM مثل BIOS هم ابتدا وارد RAM شده و سپس به سمت CPU میروند یا اینکه مستقیما از روی ROM به داخل CPU میروند؟

متشکرم

کمی صبور باشید به 2 تا(تا اونجایی که من میشناسم) از اساتید در زمینه الکترونیک پیام دادم(جناب Mahyar_Curious و جنابService Manual)

و به زودی شما رو به بهترین نحو راهنمایی میکنن

لینک به دیدگاه
Share on other sites

برای اینکه وقتی سیگنال Turn On به سیستم ارسال شد، در اصل به BIOS نیاز هست که پردازنده شروع به کار کنه، و از اونجایی که وقتی سیستم روشن میشه هیچ اطلاعات در RAM وجود نداره که بخواد توسط CPU پردازش بشه که این آدرس از رم FFFF:0000 هست معمولاً، پردازنده ابتداً به آدرسی از ROM مراجعه میکنه که سایر دستورات مورد نیاز برای اجرای سیستم در اون قرار داره، از طرفی ساده ترین پاسخ به سوال شما، CPU مستقیماً میتونه از BIOS یا همون ROM که این اطلاعات در اون قرار داره دسترسی داشته باشه.


لینک به دیدگاه
Share on other sites

این رو هم اضافه کنم که:

زمان اولین استارت سیستم، پردازنده دستورات آدرس 0xffff0 رم رو با حجم 64KB اجرا می کنه که این آدرس حاوی Jump Instruction به BIOS هست و باقی ماجرا.

لینک به دیدگاه
Share on other sites

این رو هم اضافه کنم که:

زمان اولین استارت سیستم، پردازنده دستورات آدرس 0xffff0 رم رو با حجم 64KB اجرا می کنه که این آدرس حاوی Jump Instruction به BIOS هست و باقی ماجرا.

پس با توجه به فرمایش شما یعنی ابتدا آدرس مذکور از روی ROM به داخل RAM می آید و سپس به CPU می رود؟

لینک به دیدگاه
Share on other sites

پس با توجه به فرمایش شما یعنی ابتدا آدرس مذکور از روی ROM به داخل RAM می آید و سپس به CPU می رود؟

 

بصورت کلی هم بله، هم خیر، چندین حالت وجود داره، برای معماری X86 امروزی یا به اصطلاح مدرن تر، اتفاق دوم رخ میده، یعنی با روشن شدن سیستم، پردازنده RAM رو چک می کنه، Instruction JUMP رو توی همون 64KB ابتدای رم میخونه که اون جامب به BIOS اشاره داره، بعد از بایوس Instruction Set های لازم برای ادامه ی ماجرا، به رم لود میشن.

لینک به دیدگاه
Share on other sites

  • کاربر ویژه

درود دوستان گرامی ،

همونطور که همه میدونید حافظه رام حاوی اطلاعات پایه برای راه اندازی اولیه سیستم هستش برای همین هم هست که در داخل ویندوز هر تغیری روی بایوس اجرا بشه بعد از ریستارت اعمال میشه .

اما راجع به سوال دوستمون :

ببینید رام فقط یک تیکه حافظه فلش هستش و از خودش هیچ اختیاری نداره ، و باید یک پرازنده اطلاعات رو از اون بخونه همونطور که میدونید توی مادربورد ها بسته به طراحی یک یا دو پل اصلی برای ارتباط با پردازنده وجود دارد معروف به پل شمالی و جنوبی اگه به کاربرد این پل ها دقت کنید میبیند کار این پل ها واسط بودن بین باس اصلی و پرسرعت پردازنده ودادن اینترفیس های مختلف به دستگاه های دیگر هست ، در بین اینترفیس ها نام های آشنایی مثل  SATA , USB , IDE , IEE1394 وجود دارند ، اما یکسری اینترفیس ساده تر مثل SPI ، I2C وجود دارند که وظیفه ارتباط با اجزای ساده تری مثل همین EEPROM چیپ های تامین کننده ولتاژ پرادارنده و رم و ... را دارند .

 

Eeprom-detail.jpg

 

به طور مثال تو تصویر بالا یک EEPROM با رابط SPI رو برد هستش که پایه های تغذیه و ارتباطی اون علاوه بر اینکه به پردازنده اصلی رفته در یک نقطه به راحتی قابل به دستری قرار داده شده تا بشه اون را در صورت مشکل بدون جدا کردن از برد برنامه ریزی کرد .

 

در لحظه روشن شدن سیستم اولین اتفاقی که باید بیفته این هست که پردازنده و پل شمالی تغذیه بشه ، شاید بگید اطلاعات ولتاژ و... توی ROM هستش پس چطور چیپ های تغذیه ابتدا میتونند ولتاژ پردازنده رو تامین کنند ؟ جواب این هست که ابتدا چیپ های تغذیه روی مادبورد ولتاژ پیش فرض فعال سازی پردازنده و پل شمالی (توی معماری های جدید دیگه حذف شده ) رو اعمال میکنند سپس پردازنده اطلاعات اولیه رو از خانه های اول ROM میخونه و بعد از سرو سامون گرفتن اولین سیستم عاملی رو که اجرا میکنه سیستم عامل داخل ROM هستش . مثلا پنجره BIOS یکی از قسمت های GUI این سیستم عامل یا بهتره بگیم بچه سیستم عامل هستش .

هر سیستم عاملی برای اینکه بتونه عملیات پردازش روش انجام بشه از رم اصلی سیستم استفاده میکنه بچه سیستم عامل روی ROM هم از این حافظه کمکی نهایت استفاده رو میکنه .

بعد از این دیگه تمام دستورات نرم افزاری میشه و این سیستم عامل BIOS هست که سخت افزار رو کنترل میکنه و میگه اینکارو و اون کار بکن ، مثلا میگه کنترلر ساتا تو مد AHCI کار کنه و یا به چیپ تغذیه پردازنده میگه ولتاژ رو روی 1.412 نگه دار و ... چک کردن سخت افزار وعیب یابی هم توسط همین بچه سیستم عامل انجام میشه .

و سرانجام خواندن اولین بیت های سیستم عامل اصلی توسط این بچه سیستم عامل انجام میشه و سیستم عامل جدید کار رو در دست میگیره اما این به این معنی نیست که دیگه از بین میره بلکه یکسری از اطلاعات اصلی اون که پردازنده هر بار برای انجام عملی بهش نیاز داره در حافظه رم باقی میمونه .

 

شاید این سوال پیش بیاد چرا موبایل و تبلت ها رام ندارند ؟ جواب این هست که اونها هم رام دارند ولی رام اونها داخل چیپ اصلی پرادازنده قرار داره و چون سخت افزارش همیشه یکسان هستش نیازی به برنامه ریزی مجدد ندارند .

ویرایش شده توسط Mahyar_Curious
لینک به دیدگاه
Share on other sites

  • 3 هفته بعد...

درسته بحث قدیمیه ولی باید عرض کنم هر واحد پردازش با هر نوع مماری در زمان اجرای دستورات به دلیل نیاز به

دسترسی به آدرس دستورات تمامی این آدرسها رو از حافظه موقت که همون رم هست برداشت میکنه و بدون ارتباط با رم

تقریبا دستوری اجرا نمیشه ساده ترین راه فهمیدن مطلب دراوردن رم از اسلاتش هست که با این کار به هیچ عنوان سیستم کار نمیکنه

هر نوع دستوری در هر نوع کامپیوتری نیاز به وجود رم داره که این مطلب در کامپیوتر پایه که از یک alu ساده تشکیل شده

هست تا یک cori7 که مطلب برمیگرده به معماری کامپیوتر که در کل وظیفه اصلی رمها در اختیار واحد پردازش قرار دادن آدرس دستورها میباشد

که بعد از ورود دستورات به واحد پردازش تازه اینجاست که معماری داخل پردازنده مطرح میشه و با سرعت پردازش بالا و پهنای

باند و تعداد هستهها مرتبط میشه وگرنه معماری در واحد پردازش چه یک پردازنده تک هستهای ویا یک پردازنده n هستهای تا قبل از ورود دستورات به واحد پرداذش

هیچ نقشی در سرعت و ... ایفا نمیکند .معماری کامپیوتر پایه همچنان حفظ شده و نقل وانتقال دادهها از آن زمان تا به حال به همان طریق

کامپیوتر پایه موریس مانو اجرا میشه و یقینا میتونم بگم تمام دستورات به غیر از دستورات منطقی مطمعنا قبل از پردازش وارد رم یا حافظه موقت میشن

یه مطلب دیگه اینکه یک رم با 32 گیگ حافظه تنها از لحاظ پهنای باند و میزان حافظه تقویت شده و سرعت پردازش دادهها به شدت به سی پی یو یا

واحد پردازش مرکزی وابسطه ست مگر در بازیهای رایانه ای و دستورات گرافیکی از نوع opengl , directx  که این دو نوع دستور هم 60 %

به قدرت پردازش واحد مرکزی از لحاظ سرعت وابسطه اند مثال یک بازی کامپیوتری که با یک سیستم اجرا میشه فرضا واحد پردازش

مرکزی فنوم 2دارای 4 هسته مدل 945 فرضا 20 ریت فریم میده ولی با تعویض واحد پردازش مرکزی از فنوم 2 4 هستهای به مدل اف ایکس 8350

به فریم ریت 40 میرسیم واین نهایت قدرت سی پی یو در دخالت پردازش دادهای گرافیکی است که باز هم این دادهها مسیر عبور به رم و رسیدن

به پرادزنده و بلعکس رو طی میکنن خلاصه بحث پیچیدهای هست ولی در کل رم نباشه سیستم اصلا توایانایی پردازش اطلاعات رو نداره چون دستورات

باید وارد رم بشن البته دستورات فیزیکی هم موجود هستند که بیشتر یک نوع اصطلاح هست تا دستور که بدون نیاز به رم وارد پردازنده میشن چون نیازی

به آدرس دهی ندارن ولی تمام دستوراتی که نیاز به اختصاص آدرس دارن و به اصطلاح دستورات غیر فیزیکی هستند ( تمامی کدهای برنامه نویسی تمام زبانها)

نیاز به رم برای اجرا دارند دستورات بایوس هم تا اونجا که من میدونم و دیدمشون غیر فیزیکی هستند کدای اسمبلی هستن و نیاز به آدرس دهی شدن دارن

و صد البته طبقه بندی شده هستند پس قبل از پردازش وارد رم میشن .

لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...