سخت افزاز کامپیوتر
- Bootloader
در فرآیند Boot کامپیوتر، اولین قطعه کدی که توسط CPU اجرا میشود، Bootloader است.
وظیفه اصلی Bootloader:
- بارگذاری سیستم عامل در حافظه RAM
- آمادهسازی سختافزار برای اجرای سیستم عامل
- انتقال کنترل به هسته سیستم عامل
مراحل ساده فرآیند Boot:
- روشن شدن کامپیوتر و اجرای BIOS/UEFI
- BIOS/UEFI دستگاه بوت (مثلاً هارد دیسک) را پیدا میکند
- Bootloader از روی دستگاه بوت خوانده و اجرا میشود
- Bootloader سیستم عامل را بارگذاری میکند
مثال
- پل شمالی (Northbridge)
در یک کامپیوتر مدرن، مؤلفهای که نقش 'مغز ثانویه' را برای مدیریت ترافیک داده بین پردازنده، حافظه و دستگاههای ورودی/خروجی ایفا میکند، پل شمالی (Northbridge) است.
پل شمالی بهطور مستقیم به پردازنده متصل میشود و وظیفه اصلی آن کنترل ارتباطات پرسرعت است. این مؤلفه ترافیک داده را بین سه بخش کلیدی مدیریت میکند:
- پردازنده (CPU): به عنوان مغز اصلی، دستورات را پردازش میکند.
- حافظه (RAM): دادههای موقت را ذخیره میکند.
- دستگاههای ورودی/خروج
- افزایش پهنای باند حافظه تا 25.6 گیگابایت بر ثانیه
در این سیستم، حافظه DDR4-3200 با فرکانس مؤثر ۳۲۰۰ مگاهرتز کار میکند. از آنجا که هر ماژول DDR4 دارای پهنای باند ۶۴ بیت (۸ بایت) در هر انتقال است، پهنای باند حافظه به صورت زیر محاسبه میشود:
- فرکانس مؤثر: ۳۲۰۰ مگاهرتز (۳.۲ میلیارد انتقال در ثانیه)
- پهنای باند = فرکانس مؤثر × عرض باس (۸ بایت) = ۳.۲ × ۱۰⁹ × ۸ = ۲۵.۶ گیگابایت بر ثانیه
این مقدار نشاندهنده حداکثر نرخ انتقال داده بین پردازنده و حافظه است. اگر پردازنده از این سرعت پشتیب
- پیشواکشی سختافزاری (Hardware Prefetching)
پیشواکشی سختافزاری (Hardware Prefetching) یک تکنیک در معماری کامپیوتر است که به پردازنده اجازه میدهد تا دادههایی را که احتمالاً در آینده به آن نیاز خواهد داشت، از حافظه اصلی یا حافظه کش سطح بالاتر (مثل L3) پیش از موعد دریافت کند.
این کار به صورت خودکار و توسط واحدهای سختافزاری داخل پردازنده انجام میشود، بدون دخالت برنامهنویس. وقتی پردازنده به دادهای نیاز دارد، ابتدا حافظه کش L1 را بررسی میکند. اگر داده در آن نباشد (که به آن کَش میس گفته میشود)، به سراغ L2 و سپس L3 میرود. اگر در L3 هم نباشد، باید از حافظه اصلی
- استفاده از حافظه NVMe به عنوان کش (Cache)
در یک سیستم ذخیرهسازی ترکیبی، برای افزایش سرعت دسترسی به دادههای پراستفاده با کمترین تأخیر، از حافظه NVMe به عنوان کش (Cache) استفاده میشود.
توضیح:
- سیستمهای ترکیبی از ترکیب حافظههای سریع و کند برای بهینهسازی هزینه و عملکرد استفاده میکنند.
- دادههای پراستفاده (داغ) در حافظه NVMe که سرعت بسیار بالایی دارد، ذخیره میشوند.
- NVMe از طریق رابط PCIe مستقیماً به پردازنده متصل میشود و تأخیر بسیار کمی دارد (چند میکروثانیه).
- این روش باعث میشود دسترسی به دادههای پرکاربرد بدون نیاز به جستجو در ه
- PCIe Root Complex
در معماری کامپیوترهای مدرن، PCIe Root Complex (مجموعه ریشه PCIe) وظیفه برقراری ارتباط مستقیم بین پردازنده و اجزای ذخیرهسازی سریع مانند NVMe SSDها را بر عهده دارد.
این فناوری به پردازنده اجازه میدهد بدون عبور از چیپست (که به عنوان واسطه عمل میکند)، مستقیماً با دستگاههای متصل به خطوط PCIe ارتباط برقرار کند. در نتیجه:
- تأخیر (Latency) به شدت کاهش مییابد، زیرا دادهها مسیر کوتاهتری را طی میکنند.
- پهنای باند بالاتری در دسترس است، چون از محدود
- NAND Flash
پاسخ صحیح: NAND Flash
در طراحی سیستمهای ذخیرهسازی غیرفرار با دسترسی تصادفی بالا، فناوری NAND Flash از ماتریسهای ترانزیستوری (با گیت شناور) برای ذخیره داده استفاده میکند. برخلاف DRAM که از خازن و ترانزیستور استفاده میکند و نیاز به بازنویسی دورهای (رفرش) دارد، NAND Flash داده را به صورت پایدار در ترانزیستورهای گیت شناور ذخیره میکند و نیازی به رفرش ندارد.
ویژگیهای کلیدی NAND Flash:
- غیرفرار بودن: دادهها پس از قطع برق حفظ میشوند.
- کدگذاری ECC با استفاده از بیتهای اضافی و الگوریتم Hamming
در طراحی سیستمهای مقاوم در برابر خطا، برای تشخیص و تصحیح خودکار خطاهای تکبیتی در حافظه اصلی (RAM) از تکنیک ECC (Error-Correcting Code) استفاده میشود.
این کار با افزودن چند بیت اضافی به هر کلمه داده انجام میشود. رایجترین روش، کد همینگ (Hamming Code) است. در این روش:
- برای هر ۶۴ بیت داده، حدود ۸ بیت اضافی (ECC) در نظر گرفته میشود.
- زمانی که داده در حافظه نوشته میشود، کنترلر حافظه این بیتهای اضافی را محاسبه و ذخیره میکند.
- هنگام خواندن، کنترلر دوباره بیتهای ECC
- تخصیص حافظه محلی به همان پردازندهای که به آن دسترسی دارد
عامل اصلی کاهش تأخیر دسترسی، تخصیص حافظه محلی به همان پردازندهای است که از آن استفاده میکند. وقتی دادهها در حافظهای قرار میگیرند که مستقیماً به همان پردازنده متصل است:
- مسیر فیزیکی داده کوتاهتر است
- نیازی به عبور از گذرگاه بین پردازندهای (مانند Q
- معماری بانکهای گروهی (Bank Groups) با قابلیت فعالسازی همزمان
در حافظههای DDR5، ویژگی معماری بانکهای گروهی (Bank Groups) با قابلیت فعالسازی همزمان به کاهش تأخیر در دسترسی به دادههای تصادفی کمک میکند.
توضیح:
- در نسلهای قبلی مانند DDR4، هر بار که به یک آدرس تصادفی دسترسی پیدا میکردیم، باید منتظر میماندیم تا عملیات روی یک بانک تمام شود.
- در DDR5، بانکها به گروههایی تقسیم میشوند و هر گروه میتواند به صورت مستقل و همزمان فعال شود.
- این ویژگی به صورت پویا تنظیم میشود یعنی کنترلر حافظه