سخت افزار هایی که در سرور ها استفاده می شوند به دو دسته تقسیم می شوند؛ نخستین دسته دارای قابلیت Hot plug هستند و دومین دسته دارای یک قابلیتی به نام Hot Swap هستند.
مفهوم قابلیت Hot Plug چیست؟
تمامی ابزارها و سخت افزاری که درحین کار سیستم عامل به کامپیوتر متصل شده اند و اتصال آنها خللی در کار سیستم ایجاد نکنند و از طرفی برای شناسایی آنها توسط سیستم نیازی به راه اندازی مجدد سیستم نباشد، جزو ابزار و سخت افزارهای Hot plug هستند. از جمله این ابزار میتوان به فلش درایو ,ماوس , کیبورد , SSD و هارد دیسک های ساتا اشاره کرد. توجه کنید که یکی از عمده تفاوت های بارز بین هارد دیسک های SATA و پاتا این هستند که هارد دیسک های ساتا در حین کار کردن سیستم میتوان به سیستم متصل یا از سیستم جدا کرد بطوری که خللی در سیستم بوجود نیاورد ولی در مورد هارد دیسک های پاتا بایستی سیستم خاموش و هارد را متصل و سپس مجدداً راه اندازی کرد تا هارد مورد نظر را شناسایی کند.
مفهوم قابلیت Hot Swap چیست؟
به طور کلی hot swap به مواردی گفته می شود که در زمان اجرای سیستم سخت افزاری که هم اکنون در حال استفاده می باشند را خارج و سخت افزاری دیگر را برای آن جایگزین با آن اضافه کنیم. در این مورد برای مدیریت ورودی و خروجی باس ها و برای اینکه خللی در سیستم ایجاد نشود از کنترلرهایی استفاده می شود. این کنترلر ها به مدیریت امور می پردازنند به عنوان مثال کنترلرهای RAID نمونه ای از این دسته می باشند که حتی شما با خارج کردن هارد دیسکی از RAID در حین کار کردن سیستم و جایگزین کردن هاردی دیگر هیچ گونه خللی در کار سیستم ایجاد نمی کنید.
همانطور که دستورالعمل ها و به طور کلی برنامه ها بایستی در حافظه RAM سیستم بارگزاری شوند، تا ما بتوانیم از آنها استفاده کنیم، Register ها یا ثبات های حافظه پردازنده نیز از این قاعده مستثنی نیستند. بدین معنی که پردازنده کامپیوتر برای اینکه بتواند، پردازش های خود را روی دستورالعمل ها انجام دهد، بایستی در یک مکانی آن کار ها را انجام دهد. و آن مکان ها جایی نیست جز، Register یا ثبات های حافظه پردازنده یا CPU سیستم. Register ها یا ثبات های حافظه پردازنده یک کامپیوتر، برای ذخیره و انتقال داده ها، و دستورالعمل ها با سرعت بسیار بالا مورد استفاده قرار میگیرد.
همانطور که میدانید CPU کامپیوتر، قطع به یقین یکی از مهم ترین و پیچیده ترین اجزاء یک کامپیوتر محسوب میشود، و طبیعتاََ یک سخت افزار تک منظوره و یک بعدی نیست، و وظایف متعددی بر عهده دارد. از این رو Register در پردازنده دارای انواع مختلفی است که هر کدام به نوبه خود در امر هندل و پردازش کردن دستورالعمل ها، برای CPU بسیار مهم و اجتناب ناپذیر است. همانطور که احتمالاََ حدس میزنید، حافظه های Register پردازنده از سریعترین حافظه های یک کامپیوتر به شمار میرود. (حتی سریعتر از حافظه کش L1 پردازنده)، زیرا CPU برای انجام پردازش های خود، بر روی دستورالعمل ها، دستورالعمل ها را در حافظه Register ذخیره میکند و سپس روی آنها پردازش را انجام میدهد. Register های پردازنده به طور کلی ۳ وظیفه به نام های: Decode ،Fetch و Execute را در امر پردازش دستورات بر عهده دارد که در زیر به توضیح هر کدام میپردازیم.
۱- عملیات Fetch یا واکشی داده ها : Fetch عبارتست از: گرفتن دستورالعمل هایی که توسط کاربر به کامپیوتر داده میشود، و همچنین واکشی یا Fetch کردن دستورالعمل ها توسط Register ها، از حافظه RAM سیستم، به منظور انجام پردازش روی دستورالعمل ها.
۲-عملیات Decode یا کدگشائی دستورالعمل ها : Decoding دستورالعمل ها بدین منظور است که، دستورالعمل ها به Command ها یا دستورات ترجمه شوند تا توسط واحد ALU قابل اجرا باشند. واحدی که بر عملیات Decoding دستورالعمل ها نظارت دارد واحد CU یا همان واحد کنترل در CPU میباشد.
۳- عملیات Execute یا اجرای دستورات : همانطور که گفتیم دستورات به وسیله واحد ALU پردازنده انجام میشود. بعد از اجرا نمودن دستورات توسط واحد منطقی ALU، نتیجه در حافظه RAM سیستم ذخیره میشود، تا بتوانیم از نتیجه دستورات مان استفاده کنیم.
همانطور که گفتیم Register ها دارای انواع و اقسام مختلفی هستند که هر کدام وظیفه خاص خود را بر عهده دارد. در زیر به معرفی هر کدام از Register ها میپردازیم.
Memory Address Register یا MAR
این Register همانطور که از نامش نیز پیداست، آدرس های حافظه از داده ها و دستورالعمل ها را در خود نگه میدارد. این Register برای دسترسی به داده ها و دستورالعمل ها، از حافظه RAM در طی اجرا شدن دستورالعمل ها مورد استفاده قرار میگیرد. فرض کنید CPU میخواهد برخی از داده ها را در حافظه RAM ذخیره کند و یا بر عکس، میخواهد داده هایی را از حافظه RAM فراخوانی کند CPU در این گونه مواقع می آید و آدرس های داده هایی که در حافظه RAM بایستی قرار بگیرد را در رجیستر MAR به صورت موقت ذخیره میکند. زیرا اگر این گونه نبود CPU نمیدانست که دستورالعمل ها در کدام مکان از حافظه RAM بایستی ذخیره شوند. پس اگر منطقی به این قضیه فکر کنیم وجود رجیستری به نام MAR الزامی است.
Program Counter یا PC
رجیستر Program Counter یا به اختصار PC، رجیستری است که به آن Instruction Pointer یا IP نیز میگویند. به این رجیستر گاهاََ Instruction Address Register نیز گفته میشود. این رجیستر مسیر آدرس حافظه دستورالعملی که بعد از تمام شدن پردازش دستورالعمل فعلی بایستی مورد پردازش قرار بگیرد را در خود ذخیره میکند. به عبارت دیگر این Register تا زمانیکه پردازش روی دستورالعمل فعلی به اتمام نرسیده است آدرس حافظه دستورالعمل بعدی را در خود نگه میدارد.
Accumulator Register یا AC
این Register برای ذخیره سازی نتایج دستوراتی که توسط واحد ALU پردازنده سیستم انجام شده است مورد استفاده قرار میگیرد. هنگامی که CPU دستورات را مورد پردازش قرار داد و تمام شد نتیجه دستورات در رجیستر AC به صورت موقت ذخیره میگردد. به Accumulator Register در اصطلاح فنی AX نیز میگویند.
Memory Data Register یا MDR
این Register یکی از مهم ترین رجیستر های CPU است رجیستر MDR، رجیستر واحد CU، از پردازنده میباشد و شامل اطلاعاتی است که باید در حافظه RAM سیستم یا سایر حافظه ها ذخیره شود، همچنین این رجیستر میتواند شامل داده هایی باشد که با عملیات Fetch یا واکشی داده ها از یک دستگاه ذخیره سازی بدست آمده باشد. رجیستر، MDR همانند بافر عمل میکند و شامل کپی اطلاعاتی است، که از حافظه RAM طی عملیات Fetch به این رجیستر منتقل شده است تا توسط CPU مورد پردازش قرار گیرد. توجه کنید که MDR شامل اطلاعاتی است که هنوز توسط دیکدر های پردازنده Decode نشده اند.
رجیستر MDR شامل اطلاعاتی مانند، آدرس هایی از حافظه است که در حافظه RAM نوشته یا خوانده شده اند. به عنوان مثال برای واکشی داده هایی از سلول ۱۲۳ ( به باینری )، ما مقدار ۱۲۳ (به باینری)، را در رجیستر MAR بارگزاری میکنیم و عملیات Fetch را انجام میدهیم. وقتی عملیات Fetch تمام شد یک کپی از داده های سلول ۱۲۳ در رجیستر MDR بایستی نوشته شود. یا به عنوان مثال دیگر، برای ذخیره سازی مقدار ۹۸ ( به باینری )، در سلول ۴ در حافظه بایستی آدرس داده های ذخیره شده در سلول ۴ حافظه RAM را در رجیستر MAR بارگزاری کنیم و داده های این سلول را در رجیستر MDR ، و سپس عملیات ذخیره سازی را انجام دهیم. وقتی عملیات Fetch به انجام رسید، محتویات سلول ۴ حافظه RAM با مقدار ۹۸ پر خواهد شد. رجیستر MDR یک رجیستر دو طرفه است، به این معنی که داده ها از حافظه Fetch یا واکشی میشوند و در رجیستر MDR ذخیره میشود، که در حقیقت در یک جهت در این رجیستر نوشته شده است. زمانیکه دستورالعملی میخواهد نوشته شود بایستی داده ها در رجیستر MDR نوشته شوند و سپس در حافظه RAM ذخیره شوند.
Index Register
این رجیستر در پردازنده اعداد یا مقادیری را در خود نگه داری می کند که میتواند، از بخشی از آدرس یک دستورالعمل کم یا به آن اضافه شود تا به یک آدرس موثر و کارامد تبدیل شود. به Index Register اغلب Base Register نیز گفته میشود. Index Register در پردازنده کامپیوتر رجیستری است، که برای تغییر دادن آدرس های عملوند در طول اجرای یک برنامه مورد استفاده قرار میگیرد. به Index Register در اصلاح فنی BX نیز میگویند.
Memory Buffer Register یا MBR
این Register محتویات داده، یا دستورالعمل هایی که از حافظه خوانده، یا روی آن نوشته میشوند را در خود نگهداری میکند. به عبارت دیگر این رجیستر برای ذخیره سازی داده ها یا دستورالعمل هایی که از حافظه فراخوانی شده یا روی آن بارگزاری میشوند، مورد استفاده قرار میگیرد. رجیستر MBR همان رجیستر MDR است و تفاوتی با هم ندارند.
Data Register
این رجیستر برای ذخیره سازی موقتی داده هایی که از دستگاه های ذخیره سازی خوانده یا نوشته میشوند مورد استفاده قرار میگیرد. به Data Register در اصطلاح فنی DX نیز میگویند.
با سری جدید پردازنده های زئون Intel Xeon E آشنا شوید
اینتل سری جدید پردازنده های Intel Xeon E را معرفی کرد؛ این محصولات که جانشین پردازنده های Xeon E3 خواهند شد، همچنان قابلیت استفاده در سیستم های سرور، ایستگاه کاری، فضای ابری، رندرینگ طولانی مدت و … را خواهند داشت. پردازنده های فوق از حافظه های رم مجهز به فناوری ECC پشتیبانی می کنند و جالب است بدانید که دارای ویژگی گرافیک داخلی آن هم از نوع Intel UHD Graphics 630 هستند که امکان پخش تصاویر 4K را نیز داراست. این گرافیک مجتمع از کدک 10 بیتی HEVC نیز پشتیبانی می کند.
پردازنده های Intel Xeon E برای سیستم های میان رده، نیازمند به زئون، مورد استفاده قرار خواهند گرفت. در مدل پرچمدار شاهد استفاده از 6 هسته پردازشی هستیم. امکان دستیابی به فرکانس 4.7 گیگاهرتز و سازگاری با Turbo Boost Technology 2.0 نیز از جمله ویژگی های آنها است. این سری از زئون ها از 64 گیگابایت حافظه رم DDR4 با فرکانس پایه 2666 مگاهرتز پشتیبانی کرده و امکان آدرس دهی حداکثر 40 مسیر PCI-E را نیز دارا هستند.
کنترلر داخلی این پردازنده ها، امکان استفاده از رابط های USB 3.1 و Thunderbolt را میسر ساخته و Intel vPro نیز با آنها همراه است. پشتیبانی از حافظه های Intel Optane، کنترلرهای داخلی Intel Ethernet و Intel Wireless-AC و سازگاری با Intel Software Guard Extensions نیز دیگر قابلیت های سری Xeon E را شکل می دهند.
CPU (واحد پردازش مرکزی) اغلب مغز کامپیوتر نامیده میشود اما به طور فزاینده ای این مغز توسط بخش دیگری از کامپیوتر ارتقاء می یابد که این بخش GPU (واحد پردازش گرافیکی) نام دارد که به نوعی روح کامیپوتر محسوب میشود.
تمام رایانه های شخصی دارای تراشههایی هستند که تصاویر را روی صفحه مانیتور، نمایش میدهند. اما همه این تراشهها یکسان نیستند. بعنوان نمونه، کنترلر گرافیک یکپارچه اینتل قابلیتهای گرافیکی پایه را فراهم میکند که تنها میتواند برنامههای کاربردی مانند پاورپوینت مایکروسافت، تصاویری با تفکیک پذیری کم و بازیهای ساده را نمایش دهد.
GPU اما جایگاه خود را دارد و فراتر از توابع کنترلکننده گرافیکی ساده عمل میکند و بعبارت دیگر یک پردازنده قدرتمند و مستقل برنامهپذیر محاسباتی محسوب می گردد.
GPU چیست ؟
قابلیت های پیشرفته GPU بدواً در تصویرسازی بازیهای سه بعدی مورد استفاده قرار میگرفت. اما اکنون این قابلیتها به طور گسترده تر به منظور شتاب بخشیدن به عملیات محاسباتی به کار گرفته میشود از جمله مدل سازی مالی، تحقیقات علمی پیشرفته و همچنین اکتشافات نفت و گاز .
در مقاله اخیر نشریه BusinessWeek، قابلیتهای منحصر به فرد GPU چنین توصیف شده است: پردازندههای گرافیکی (GPU) برای انجام سریع عملیاتی یکسان، روی بستههای عظیم داده، بهینه سازی شدهاند بر خلاف ریز پردازندهها (CPU) که همه منظوره هستند و همه جای رایانه سرک میکشند.
GPU همجنین نقش بسیار مهمی در هوش مصنوعی مدرن ایفا میکند.
از نقطه نظر معماری کامپیوتر، یک پردازنده (CPU) از چند هسته به همراه تعداد زیادی حافظه نهان تشکیل شده است که میتواند همزمان چندین مجموعه دستورالعمل را اجرا کند. در مقابل، یک GPU متشکل از صدها هسته است که میتواند به طور همزمان هزاران مجموعه دستور (البته با طیفی محدودتر در مقایسه با CPU)* را اجرا کند. چنین قابلیتی به تنهایی، اجرای برخی برنامهها را تا ۱۰۰ برابر سریع تر میکند. علاوه بر این، پردازنده گرافیکی (GPU) در حالی این شتاب را ایجاد میکتد که در مصرف انرژی، بهینهتر و از نظر هزینه نیز مقرون به صرفه تر از CPU است.
رواج کاربرد فراگیر GPU
امروزه بواسطه پشتیبانی نسخههای جدید سیستم عاملهای اپل (به همراه Open CL) و مایکروسافت (بر مبنای Direct Compute) از قابلیت شتاب دهنگی پردازش GPU، کاربرد آن بسیار فراگیر شده است و دلیلش چنانکه پیشتر اشاره شد قدرت پردازشی و همچنین رشد سریعتر قابلیتهای آن در مقایسه با پردازندههای x86 است.
در رایانه های شخصی امروزی، پردازشگر گرافیکی یا GPU می تواند بسیاری از وظایف چند رسانه ای را نظیر شتابدهی به ویدئوهای فلش ادوبی، تبدیل فرمتهای گوناگون تصاویر ویدئویی به یکدیگر، تشخیص تصویر، تطبیق الگوی ویروسی… بر عهده گیرد. هنوز مشکلات پیچیدهتری باید حل شوند آنهایی که دارای طبیعت موازی ذاتی هستند نظیر پردازش تصویر، تجزیه و تحلیل تصویر و پردازش سیگنال …
ترکیبی از CPU و GPU میتواند بهترین سیستم را از نظر عملکرد و قیمت ارائه دهد.
در دنیای مجازیسازی اصطلاح پر کاربرد و مهمی به نام vCPU وجود دارد. اما این اصطلاح به چه معنا است و بیانگر چه مفهومی است؟ یک پردازنده مجازی (vCPU) یا به عبارت دقیقتر Virtual CPU، یک پردازنده فیزیکی است که به یک ماشین مجازی اختصاص پیدا کرده است. در حالت پیشفرض هر ماشین مجازی دارای یک پردازنده مجازی است، اما روی سامانههای میزبانی که دارای چند پردازنده فیزیکی هستند یا تعداد هستههای پردازنده فیزیکی آنها زیاد است، شما میتوانید به ماشین مجازی بیش از یک پردازنده مجازی اختصاص دهید. در اصطلاح رایج به پردازندههای مجازی Logical Processor گفته میشود.
یک مدیر شبکه یا مدیر زیرساخت باید به درستی بداند که زیرساخت ابری تحت سرپرستی او که سرویسهای مبتنی بر ابر را ارائه میدهد، چطور پردازندههایمجازی (vCPU) را به کار میگیرد تا در ادامه بتواند هزینه مربوط به قدرت پردازشی در محیط ابری یا سرورهای مجازی را محاسبه کند. نکته مهم دیگری که یک مدیر شبکه باید از آن اطلاع داشته باشد، آگاهی از این موضوع است که اضافه کردن پردازندههایمجازی جدید بهطور خودکار عملکرد را بهبود نمیدهد، به دلیل اینکه هر چه بر تعداد پردازندههایمجازی (vCPU) افزوده شود، به همان نسبت زمانبندی پردازندهها برای استفاده بهینه از برش زمانی پردازنده فیزیکی سختتر میشود. زمان انتظاری که برای دسترسی به پردازنده فیزیکی سپری میشود به شکل قابل محسوسی عملکرد را کاهش میدهد. بهطور مثال، در VMware، پردازندههایمجازی (vCPU)، بخشی از مدل محاسباتی چند رشتهای-چندپردازشی (SMP) سرنام symmetric multi-processing هستند. SMP به رشتهها اجازه میدهد تا میان هستههای فیزیکی یا منطقی پردازنده تقسیم شوند. این مدل تقسیم رشتهها باعث میشود تا عملکرد پردازشی سیستم افزایش پیدا کند. در حقیقت مدل SMP یک مکانیزم پردازش موازی در اختیار ما قرار میدهد. پرازندههای مجازی (vCPU) همچنین به ما این امکان را میدهند تا چندوظیفگی را به شکل متوالی در محیطهای چند هستهای مدیریت و پردازش کنیم.
چه تعداد پردازنده مجازی (vCPU) را میتوان روی یک ماشین مجازی به کار گرفت؟
اگر از یک ماشین مجازی روی محصولات شرکتی همچون vmware و از نسخه استاندارد ESX یا ESXi استفاده میکنید در حالت عادی قادر هستید از 4 پردازنده مجازی استفاده کنید. البته تعداد پردازندهها به نسخهای که از آن استفاده میکنید بستگی دارد. بهطور مثال اگر از نسخه سازمانی استفاده کنید شما در عمل میتوانید از 8 پردازنده مجازی برای هر ماشین مجازی استفاده کنید. البته تعداد پردازندههای مجازی را باید متناسب با بار کاری که به هر ماشین مجازی اختصاص میدهید افزایش دهید. در نسخه ESXi یک پردازنده مجازی برای انجام محاسبات به هسته فیزیکی یک پردازنده واقعی نگاشت میشود. به عبارت سادهتر اگر یک ماشینمجازی را به شکلی پیکربندی کنید که از یک پردازندهمجازی (vCPU) استفاده کند و این پردازنده مجازی به 4 هسته فیزیکی یک پردازنده متصل شود، در بهترین حالت موفق نخواهید شد بیشتر از یک چهارم توان محاسباتی پردازنده فیزیکی را به خدمت بگیرید. به همین دلیل در ابتدای مطلب به شما گفتیم افزایش بدون دلیل تعداد پردازندههای مجازی ممکن است عملکرد سیستم را کاهش داده و تنها بار اضافی را به سرور تحمیل کند.
آیا یک پردازنده مجازی (vCPU) برابر با یک پردازنده فیزیکی است؟
برخی از افراد اینگونه استدلال میکنند که یک پردازنده مجازی برابر با با یک هسته از یک پردازنده فیزیکی است. (vCPU = 1 Physical CPU core) که این موضوع نمیتواند همیشه درست باشد. یک پردازنده مجازی از برشهای زمانی برای دسترسی به تمامی هستههای فیزیکی استفاده میکند. بنابراین در حالت کلی یک پردازنده مجازی قویتر از یک هسته انفرادی است. این مسئله به ویژه در ارتباط با پردازندههای مرکزی که هشت هسته یا بیشتر دارند عینیت پیدا میکند. VMWare بر پایه الگوریتمهای پیچیده زمانبند پردازنده مرکزی سعی میکند به هر ماشین مجازی اجازه دهد مقدار معینی از کلاک هسته را در اختیار داشته باشد. در یک شبکه ابری بزرگ اگر منابع محاسباتی پردازنده مرکزی به اندازه کافی وجود نداشته باشد و میزان مصرف پردازندهها در ماشین مجازی به مرز 100 درصد برسد، ماشین مجازی از طریق بهکارگیری فناوریهایی همچون DRS و VMotion روی میزبان دیگری قرار میگیرد که محدودیت دسترسی به پردازنده مرکزی روی آن وجود ندارد تا به این شکل فرآیند سرویسدهی بدون مشکل انجام شود.
CPU کارهای پردازشی که برنامهها را اجرا میکند، انجام میدهد. سی پی یو های مدرن ویژگیهایی مانند چند هستهای و Hyper Threading دارند. برخی سیستمها هم حتی چند پردازنده دارند.
سابقا سرعت کلاک پردازنده برای مقایسه کارایی کافی بود اما دیگر به همین سادگی نیست. CPU ای که چند هسته یا Hyper Threading ارایه میدهد، به شکل قابل توجهی از سی پی یو های تک هستهای که همان سرعت را دارند و Hyper Threading ندارند، بهتر هستند. پی سی هایی با چند پردازنده، مزایای بیشتری هم دارند. تمام این ویژگیهای جوری طراحی شدهاند که پردازش چندگانه و همزمان بسیار آسانتر انجام میشود و در عین حال افزایش کارایی را هنگام Multicasting یا اپهای قدرتمندی مانند Encoder های ویدئو و بازیهای مدرن به همراه دارد.
حالا بیایید نگاهی به هر یک از این ویژگیها بپردازیم و ببینیم برای شما چه معنی دارد.
Hyper Threading چیست؟
Hyper Threading در واقع اصطلاحی است که اینتل برای Simultaneous Multithreading یا SMT به کار میبرد. در این تکنولوژی، CPU هسته فیزیکی خود را به دو هسته مجازی که Thread نامیده میشود، تقسیم میکند. HT هر هسته را برای انجام دو کار استفاده میکند در نتیجه کارایی CPU افزایش مییابد. پس با خیال راحت به اجرای همزمان اپهای Multiple Demanding یا استفاده از اپهای Heavily Threaded بپردازید بدون اینکه پی سی داغ شود.
Hyper Threading در حال حاضر در پردازنده های Intel Core، Core vPro، Core M و زئون قابل استفاده است.
Hyper Threading و پردازش موازی برای اولین بار در سال 2002 توسط شرکت Intel در مدل Pentium 4 HT ارایه شد. پنتیوم 4 ها تا آن روز تک پردازنده بودند و فقط یک کار را در هر زمان میتوانستند انجام دهند حتی اگر میتوانستند بین Task ها به سرعت سوییچ کنند و به صورت Multicasting به نظر برسند.
هسته پردازنده با وجود Hyper Threading، به صورت منطقی، دو هسته برای سیستم عامل فراهم میکند؛ با وجودی که سی پی یو فقط یک عدد سی پی یو است. سخت افزار CPU فقط یک سری منابع اجرایی برای هر هسته CPU دارد اما پردازنده وانمود میکند که هستههای بیشتری دارد تا سرعت اجرای برنامه ها را بیشتر کند. به عبارت دیگر سیستم عامل فریب داده میشود تا هر هسته واقعی پردازنده را به صورت دو پردازنده ببیند!
با وجود Hyper Threading، دو هسته منطقی CPU، منابع فیزیکی اجرایی را به اشتراک میگذارد. نتیجه این است که سرعت افزایش خواهد یافت. مثلا اگر یکی از سی پی یو های مجازی در حالت انتظار باشد و پردازشی انجام ندهد، دیگر سی پی یو مجازی میتواند منابع اجرایی آن را قرض بگیرد.
Hyper Threading باعث افزایش سرعت پردازنده میشود اما به هر حال به پای داشتن هستههای اضافی واقعی نمیرسد!
CPU های مدرن امروزی، هم چند هسته دارند و هم از Hyper Threading استفاده میکنند. مثلا CPU دو هستهای با کمک Hyper Threading به صورت 4 هسته برای سیستم عامل ارایه میشود و به همین صورت 4 هسته به صورت 8 هسته. Hyper Threading جایگزینی برای هستههای اضافی نیست اما کارایی پردازنده دو هستهای با وجود Hyper Threading بیشتر از کارایی پردازنده دو هستهای بدون وجود Hyper Threading است.
برای استفاده از Hyper Threading باید سیستم عامل و بایوس هم از تکنولوژی Hyper Threading پشتیبانی کنند.
خلاصه
به برنامه های قدیمی اصطلاحا Single Thread گفته میشد، بدین معنا که در آن واحد تنها یک دستور ارسال میکردند. اما با پیشرفت CPU ها این امکان فراهم شد که یک برنامه در آن واحد بیش از یک دستور به پردازنده ارسال کند و این به معنی سرعت و قدرت پردازش بیشتر می باشد.
کشِ پردازنده ، حافظهی کوچکی است که اطلاعات مورد نیاز پردازنده در آن ذخیره میشود تا پردازنده در نیازِ بعدی خود به این اطلاعات، به سرعت به آنها دسترسی داشته باشد. اینکه چه اطلاعاتی باید در حافظه ذخیره شود، به الگوریتمهای پیچیده و فرضیات مشخصی از کدهای نرمافزار مربوط است. هدف اصلی در استفاده از کش آن است که مطمئن شویم بیت بعدی از اطلاعات که پردازنده به آنها نیاز دارد، در کش ذخیره شده باشند تا با حداکثر سرعت و حداقل تاخیر در اختیار پردازنده قرار گیرند. به این فرایند Cache Hit نیز گفته میشود یعنی بیت بعدی که پردازنده به آنها نیاز دارد، در کش آماده باشد.
از سوی دیگر، موضوعی با عنوان Cache Miss وجود دارد و به معنی آن است که اطلاعاتی که پردازنده به آنها نیاز دارد در کش وجود ندارد و برای یافتن آنها باید به حافظههای دیگر مراجعه کند. این همان جایی است که L2 Cache یا سطح دوم حافظهی کش وارد بازی میشود. هرچند حافظهی L2 به اندازهی L1 سریع نیست، اما ظرفیت آن بیشتر است. برخی از پردازندهها از طراحی پوششی بهره میبرند و این بدین معنی است که اطلاعاتی که در L1 ذخیره میشود همزمان در L2 نیز کپی میشود. اما طراحی دیگری نیز وجود دارد که در آن هیچ وقت اطلاعات موجود در L1 و L2 یکسان نخواهند بود. اگر پردازنده اطلاعات مورد نیاز خود را در L2 پیدا نکند آنوقت به سطح سوم کش یا L3 مراجعه میکند به همین ترتیب در صورت پیدا نشدن اطلاعات در L3 پردازنده به L4 سر میزند و اگر اطلاعات مورد نیاز پردازنده در این سطح از حافظه نبود آنوقت ناگزیر به مراجعه به رم (DRAM) میشود. توجه داشته باشید که تمام پردازندههای از هر چهار سطح حافظهی کش پشتیبانی نمیکنند و برخی از پردازندههای قدیمی تنها سه یا دو سطح از حافظهی کش را در اختیار دارند. سطح دوم از حافظهی کش، ارزانترو بزرگتر از L1 است و علاوه بر آن مصرف انرژی کمتری نیز دارد. اما با این حال بسیاری از پردازندههای مدرن امروزی ۹۵ درصد از درخواستهای خود را از همان L1 پاسخ میگیرند و کمتر نیاز به مراجعه به حافظهی سطح دوم پیدا میکنند.
برای بهره بردن از عملکرد بهینه سیستم، حتما از دستورات ذیل پیروی کنید. در غیر اینصورت ممکن است ظرفیت حافظه سیستم کاهش یابد یا با پیغام خطا مواجه شوید. • حافظه را تنها زمانی که پردازنده مربوط به آن متصل است به سیستم وصل کنید. • در صورتی که تنها یک پردازنده متصل باشد ظرفیت حافظه سیستم نصف خواهد شد. • برای بهترین عملکرد بهتر است که حافظه ها را به طور متقارن بین دو پردازنده تقسیم کنید. • شیارهای سفید نشانگر اولین مموری است که باید نصب شود. • حافظه با بیشترین Rank را در شیار سفید نصب کنید. • حافظه های UDIMM, LRDIMM, RDIMM را باهم ترکیب نکنید. • Quad-Rank RDIMM توسط نسل هشتم پشتیبانی نمی شود. • LRDIMM تا 3 عدد DIMM در هر کانال را پشتیبانی می کند. • RDIMM ها با ولتاژ 1.35 یا 1.5 ولت را می توان به صورت ترکیبی استفاده کرد اما سیستم از بالاترین ولتاژ استفاده خواهد کرد. • حافظه های با سرعت متفاوت را می توان ترکیب کرد اما سیستم کمترین سرعت مشترک را استفاده خواهد کرد.
قوانین کلی نصب حافظه ها
• سرعت کلی مموری تابعی از نوع حافظه، تنظیمات آن، نوع پردازنده و تنظیمات BIOS است.
• بیشترین ظرفیت حافظه تابعی از تعداد پردازنده و نوع حافظه است.
• برای شناسایی ظرفیت و عملکرد مموری ها نیاز به HP SmartMemory است.
مثال: نحوه نصب حافظه ها در سیستم DL380p Gen8 – 24 Slote
• وقتی که تنها یک پردازنده در سیستم نصب است حافظه ها را به صورت ترتیبی (A,B,C,..) نصب کنید.
• وقتی 2 پردازنده نصب است حافظه ها را به صورت P1-A, P2-A, P1-B, P2-B,… نصب کنید.
• هنگام نصب حافظه ها، مموری با بیشترین Rank را ابتدا و مموری با کمترین Rank را در انتها نصب کنید.
در شکل زیر سیستم های 16 slot و 12 slot را می بینید که از قوانین مشابه 24slot پیروی می کنند.
سرعت کاری حافظه های DDR3
تمامی حافظه های DDR3 در نسل هشتم سرورهای HP به صورت پیش فرض با سرعت 1600MHz یا 1333MHz کار می کنند. البته این سرعت بسته به نوع حافظه و تعداد آن ممکن است تغییر کند. در جدول زیر نمونه ای از سرعت های مختلف مورد استفاده را می بینید.
ترکیب حافظه ها با سرعت های مختلف امکان پذیر است اما با شرایط ذیل:
• سرعت مورد استفاده در پردازنده همواره بر سرعت خود حافظه ارجحیت دارد.
• در ترکیب سرعت های متفاوت، کمترین سرعت مشترک مورد استفاده قرار می گیرد.
• هر دو پردازنده در یک سرعت کار می کنند.
با در نظر داشتن نکات زیر می توانید تعادل مناسبی بین سرعت، مصرف بهینه و هزینه برقرار کنید.
• از تمامی کانال های هر پردازنده استفاده کنید.
• از یک پارت نامبر معین در هرکانال استفاده کنید.
بهینه سازی ظرفیت حافظه
در سری هشتم سرورهای HP می توانید با استفاده از حافظه های 32GB LRDIMM ظرفیت سیستم را حداکثر کنید. در این سیستم ها می توان از 3 حافظه Quad-Rank استفاده کرد که در نسل های قبلی ممکن نبود. در سیستم های 24 اسلات می توان ظرفیت سیستم را تا 768 GB افزایش داد. در جدول زیر ظرفیت های مورد استفاده در سیستم های نسل 8 را مشاهده می کنید.
بهینه سازی عملکرد
عملکرد حافظه به دو عامل توان و تاخیر بستگی دارد. تاخیر مدت زمانی است که از زمان ارسال دستور توسط پردازنده به حافظه طول می کشد تا آن اطلاعات شروع به انتقال کنند. همچنین توان عملیاتی حافظه میزان اطلاعاتی است که یک سیستم می تواند در یک مدت زمان مشخص منتقل کند.
فاکتورهای تاثیرگذار در تاخیر
تاخیر بدون بار و تحت بار دو فاکتور ارزیابی میزان تاخیر سیستم است. تاخیر بدون بار مدت زمانی است که برای سیستم در حال استراحت طول می کشد تا شروع به انتقال داده بعد از دریافت دستور کند. این تاخیر کمترین میزان تاخیری قابل دستیابی در یک سیستم است. تاخیر تحت بار مدت زمانی است که برای یک سیستم که کاملا پر از دستورات ارسال شده پردازنده است طول می کشد تا داده مورد نظر را ارسال کند.
عوامل زیادی وجود دارند که در تاخیر سیستم تاثیر می گذارند از جمله:
• سرعت حافظه مهمترین عامل ایجاد تاخیر تحت بار است. هرچه سرعت حافظه بالاتر باشد میزان تاخیر کمتر خواهد بود.
• در یک سرعت یکسان، هرچه Rank بیشتری وجود داشته باشد تاخیر کمتر خواهد بود.Rank بیشتر امکان موازیسازی عملیات را به کنترلر مموری می دهد و زمان تاخیر را کم می کند.
• تاخیر CAS بیانگر میزان تاخیر ساختاری هر حافظه است. این تاخیر میزان سیکل های طی شده در حافظه بعد از دریافت دستور و قبل از ارسال اطلاعات را نشان می دهد. هرچه تعداد این سیکل ها کمتر باشد این تاخیر نیز کمتر است.
در شکل زیر میزان تاخیر تحت بار و بدون بار را در حافظه های مختلف مشاهده می کنید.
فاکتورهای موثر در توان عملیاتی حافظه
عوامل موثر در توان حافظه، تعداد کانال های پر شده، تعداد Rank، و سرعت حافظه است.
تعداد کانال های حافظه
موثرترین عامل در قدرت حافظه، تعداد کانال های مورد استفاده است. هر چه تعداد بیشتری مورد استفاده باشد توان سیستم بالاتر است. در شکل زیر میزان توان سیستم را (GB/s) بر اساس تعداد کانال مورد استفاده مشاهده می کنید.
سرعت حافظه
در تعداد مساوی کانال های حافظه، هرچه سرعت حافظه یک سیستم بیشتر باشد توان عملیاتی آن بالاتر است. در شکل زیر مقایسه بین سرعت های مختلف را می بینید.
بر اساس طراحی شرکت Intel از 2 حافظه در هر کانال با سرعت 1066 پشتیبانی می شود اما با استفاده از سیستم HP SmartMemory این سرعت به 1333 می رسد. استفاده از UDIMMهای با سرعت بالاتر 22% توان را افزایش می دهد و تاخیر سیستم را تا 34% کم می کند.
همچنین مموری های مورد استفاده در نسل هشتم سرورهای HP از ولتاژ 1.35 استفاده می کنند که این امر باعث کاهش توان مصرفی در سیستم به میزان تقزیبا 20 وات در یک سرور 24-Slot می شود.
قوانین کلی برای مصرف بهینه تر انرژی:
• اگر می توانید ظرفیت مورد نیاز خود را با UDIMM تامین کنید و از UDIMM به جای RDIMM استفاده کنید.
• از تعداد حافظه کمتر ولی با ظرفیت بیشتر استفاده کنید.
• برای کمترین مصرف انرژی، مموری را در کمترین سرعت ممکن استفاده کنید. این سرعت در سرورهای نسل 8 برابر 800MT/s است.
نصب مموری به صورت غیرمتوازن
همواره نصب مموری ها به صورت غیرمتوازن تاثیر منفی روی عملکرد سیستم خواهد داشت. در کل دو نوع نصب نامتوازن وجود دارد که در ذیل به آنها می پردازیم:
1- نصب نامتوازن مموری ها در کانال ها بهتر است که مموری ها در کانال های پردازنده به طور متوازن نصب شوند. شکل زیر نشانگر یک توزیع نامتوازن مموری ها روی پردازنده است.
2-نصب نامتوازن روی پردازنده ها بهتر است که مموری ها روی پردازنده ها به طور متوازن توزیع شوند تا بهترین عملکرد را داشته باشد. در شکل زیر نمونه ای از توزیع نامتوازن روی پردازنده ها را می بینید.
تنظیمات BIOS
در نسل 8 سرورهای HP، تنظیمات BIOS کنترل روی قسمت های مختلفی را به کاربر می دهد. برای دسترسی به قسمت تنظیمات و تغییر آنها کلید F9 را هنگام بوت سرور فشار دهید.
کنترل سرعت مموری
توسط این قسمت می توانید سرعتی را که مموری کار می کند تعیین کنید. برای انجام این تنظیمات به قسمت مدیریت نیرو Power Management بروید. در آنجا می توانید سرعت را روی یکی از موارد زیر تنظیم کنید.
• اتوماتیک
• 1333 MHz
• 1066 MHz
• 800 MHz
توجه داشته باشید که کاهش سرعت مموری، مصرف انرژی را کم می کند ولی توان عملیاتی را نیز کاهش می دهد.
سوالی که خیلی از افراد در زمینه سخت افزار ممکن است با ان مواجه شوند، تشخیص تفاوت بین قطعات سرور و کامپیوترهای معمولیست. چرا که در نگاه اول به ظاهر یکی هستند ولی در عملکرد تفاوت هایی داشته که از لحاظ قیمت نیز تفاوت فاحشی دارند. در این مقاله قصد داریم به تفاوت رم سرور با رم کامپیوتر بپردازیم.
تفاوت رم سرور با رم کامپیوتر
در سرورها بر خلاف یک کامپیوتر خانگی امنیت حفظ و انتقال اطلاعات مهمترین فاکتور است. احتمالا بارها در کامپیوترهای خانگی شاهد خطاهای متعددی بوده اید که عموما به شکل زیر ظاهر می شوند:
همانطور که در خطای فوق مشاهده میکنید، به دو مقدار آدرس اشاره شده که این مقادیر در حافظه رم قرار دارند. و چنانچه به لحاظ برنامه نویسی خطایی وجود داشته باشد، یا اگر در حین انتقال اطلاعات از بلاکی به بلاک دیگر در حافظه یا از رم به هارد، یا از رم به پردازنده خطا یا یک نارسایی کوتاه وجود داشته باشد، برنامه ی مربوطه متوقف شده و حتی گاهاً سیستم هنگ می کند.
حال تصور کنید همین اتفاق در سرور بیفتد، با این تجسم که در سرور صدها برنامه در حال اجرا بوده و دیتای سنگینی در حال ذخیره شدن یا پردازش شدن است. تصور کنید اگر به خاطر یکی از این خطاها سرور هنگ کند چه اتفاقی خواهد افتاد و در طول روز چند بار ممکن است این اتفاق رخ دهد. صدها بلکه هزاران نفری که به یک سرور دسترسی دارند، چه حالی خواهند شد.
اینجاست که تفاوت رم سرور و رم کامپیوتر در عملکردشان مشخص می شود. در رم سرور که به اصطلاح از نوع ECC یا (Error Correction Codes) هستند، این قابلیت بصورت پیشفرض وجود دارد که با توجه به نوع طراحی این نوع رم، یک بلاک اضافی برای دیتا در نظر گرفته می شود که مسئول تشخیص و تصحیح خطاهاست. بدین شکل که اگر مثلا فایلی فراخوانی شود، و قرار باشد این فایل ۱۰ بلاک در رم را به خود اختصاص دهد، حافظه های ECC بصورت خودکار یازده بلاک را برای آن در نظر میگیرند، و دیتا یکی پس از دیگری ابتدا وارد بلاک تشخیص و تصحیح شده و در صورت صحیح بودن به بلاک های رزرو شده هدایت می شوند.
اما در رم های مربوط به کامپیوترهای خانگی که به آنها non-ECC نیز میگویند این امکان وجود ندارد به همین خاطر خطاهای متعددی قابل مشاهده است.
آیا میتوان رم سرور را روی کامپیوتر خانگی استفاده کرد؟
خیر! زیرا بایوس مادربردهای خانگی امکان تشخیص رم های ECC را ندارند و امکان نصب آن ها وجود ندارد. البته شنیده ها حاکی از آن است که در مادربردهای جدید که برای امور حرفه ای طراحی شده اند، این امکان به وجود آمده و میتوان از این نوع رم ها نیز استفاده نمود. اما باید به موضوع قیمت رم ها نیز دقت نمایید. زیرا رم های سروری معمولا ۱.۵ برابر رم های معمولی قیمت بالاتری دارند. و از طرفی رم های سرور بدلیل استفاده از حالت تشخیص و اصلاح، کمی کندتر عمل می کنند.
یکی از فاکتور های مهم برای راندمان کلی سیستم انتخاب درست حافظه اصلی یا همان حافظه رم (ram) است. در این پست با بررسی تمامی مشخصات رم همراه شما عزیزان هستیم.
ram چیست؟
حافظه رم قطعهای برای نگهداری موقت دادههای در حال پردازش است. بدلیل اینکه اکثر پردازش هایی که در کامپیوتر شما انجام میشود از دادههای موقت استفاده میکند، بنابراین حافظه رم نقشی حیاتی در بازدهی سیستم شما دارد. RAM مخفف سه کلمه Random Access Memory به معنی حافظه با دسترسی تصادفی است. عبارت تصادفی به این دلیل استفاده میشود که ثبت اطلاعات در رم ترتیب خاصی ندارد و با شروع از خانه اول واحد حافظه هر واحدی که خالی باشد را پر می کند. ساختار حافظه های DRAM که در شکل زیر تقسیم بندی آنها را مشاهده مینمایید، از یک خازن و یک ترانزیستور برای نگهداری هر بیت استفاده میشود. یعنی اگر رم شما ۱ گیگابایت فضا داشته باشد، یک میلیارد خازن و یک میلیارد ترانزیستور در ساختار اون استفاده شده اند.
تفاوت حافظه های اصلی و جانبی
حافظه های اصلی برای پردازش سیستم ضروری هستند ولی حافظههای جانبی در پردازش سیستم نقشی ندارند. حافظههای اصلی توسط سیستم مدیریت میشوند ولی حافظههای جانبی توسط کاربر مدیریت میشوند. دادهها در حافظههای اصلی موقت و برای امر پردازش استفاده می شوند ولی دادههای حافظه موقت به صورت بلند مدت ذخیره می شوند و فقط در صورت نیاز برای پردازش خوانده میشوند.
چرا از رم استفاده میکنیم؟
دلیل اصلی تفاوت خیلی خیلی زیاد سرعت پردازنده و حافظه جانبی (هارد دیسک یا SSD) است که در خرید کامپیوتر باید به آنها توجه کرد. به دلیل نوع ساختار این دو حافظه (که البته در SSD شرایط خیلی بهتره) سرعت جابجایی اطلاعات در این قطعات فوق العاده پایینتر از پردازنده است. بنابراین اگر پردازنده بدون واسطه (بدون ram و cache) از حافظه جانبی استفاده کند، شاهد تاخیر خیلی زیادی خواهیم بود. به عنوان مثال پردازنده ای که با فرکانس ۲ گیگاهرتز مشغول به کار است عملیات خود را در یک کلاک پالس انجام می دهد. یک کلاک پالس در این پردازنده برابر ۰٫۵ نانو ثانیه است (۱/۲,۰۰۰,۰۰۰,۰۰۰) بنابراین این پردازنده عملیات خود را در ۰٫۵ نانو ثانیه انجام میدهد و دستور خواندن قطعه بعدی دستورالعمل از حافظه را صادر میکند. زمان تاخیر حافظه جانبی ۵ میلی ثانیه است و این یعنی ۱۰,۰۰۰ برابر کندتر از پردازنده. بنابراین پردازنده باید ۱۰,۰۰۰ کلاک پالس منتظر بماند تا دستورالعمل بعدی خوانده شود. اگر قرار باشد دستورات بدون واسطه (بدون وجود حافظه اصلی رم و همچنین حافظه کش) از پردازنده خوانده شود سرعت پردازنده ۱۰,۰۰۰ برابر کمتر خواهد بود. در شکل زیر مقدار ظرفیت و سرعت هر ردیف از سلسله مراتب حافظهها را مشاهده میکنید.
انواع رم
رمها از حیث تکنولوژی ساخت، شکل ظاهری و … به چند دسته تقسیم بندی میشوند.
از لحاظ تکنولوژی ساخت
به صورت کلی دو نوع RAM وجود دارد، حافظه رم داینامیک (Dynamic RAM) و حافظه رم استاتیک (Static RAM).
حافظه رم استاتیک
این نوع حافظه که عموما به عنوان کش در پردازندهها بکار میرود از ۴ یا ۶ عدد ترانزیستور برای نگهداری هر بیت استفاده میکند. این خازنها به صورتی کنار هم قرار میگیرند که تشکیل یک FLIP-FLOP را میدهند و امکان ذخیره اطلاعات را فراهم میکنند. این حافظهها سرعت خیلی بالایی دارند ولی هزینه ساخت آنها خیلی بیشتر از حافظههای داینامیک است همچنین این حافظهها فضای بیشتری نسبت به حافظه های داینامیک اشغال میکنند. هزینه ساخت بالا و اشغال فضای بیشتر نسبت به حافظه داینامیک دو دلیل استفاده نکردن حافظه استاتیک به جای حافظه داینامیک است. اگر قرار بود در خرید کامپیوتر از رمهای استاتیک به جای داینامیک استفاده کنیم، اکثر هزینه را باید برای رم میپرداختیم.
حافظه رم داینامیک
همانطور که پیشتر گفته شد این حافظهها از یک خازن و یک ترانزیستور برای نگهداری دادهها استفاده میکنند. نسل اول این حافظه ها SDR ها بودند که مخفف Single Data Rate بودند. در این حافظهها در هر کلاک پالس یک بیت انتقال مییافت. در سال ۲۰۰۰ تکنولوژی DDR معرفی شد که در هر کلاک پالس میتوانست دو بیت منتقل کند. در شکل زیر تفاوت این دو تکنولوژی را مشاهده مینمایید.
در حال حاضر برای تکنولوژی DDR تا DDR4 معرفی شده است و هر کدام در مقایسه با نسل قبلی بهبود پیدا کردهاند. در حالت کلی میتوان گفت هر نسل DDR در مقایسه با نسل قبلی سرعت بیشتری دارد، برق کمتری مصرف میکند و زمان تاخیر را کمتر کرده است. عامل محدود کنندهای که بر سر راه کاربر وجود دارد، این است که نمیتوان از هر نسل از این حافظهها روی کامپیوتر طراحی شده برای نسل قبلی استفاده کرد. زیرا استانداردهای DDR در تعداد پینهای اتصال و فاصلهی بین شکاف وسط ماژول با هم تفاوت دارند. مثلا در مدل DIMM رم DDR3 شاهد ۲۰۴ پین بودیم و حالا تعداد پینها در رم های DDR4 دسکتاپی به ۲۸۸ عدد رسیدهاست. بنابراین برای کامپیوتری که برای استفاده از رم DDR3 طراحی شده، نمیتوانید رمهای DDR4 را به خدمت بگیرید. در شکل زیر به خوبی تفاوت مصرف برق، فرکانس کاری را در ۴ نسل این حافظه مشاهده مینمایید. در هنگام خرید کامپیوتر با نسل و سرعت رم خود خیلی دقت کنید.
از لحاظ ظاهری
به صورت کلی تفاوت اساسی در ظاهر رمهای DDR برای PC در محل شکاف بین پین ها است این ویژگی باعث میشود هیچ کدام از رم ها در شکاف رم متفاوت قرار نگیرد و همچنین رم در شکاف مرتبط با خود به درستی نصب شود. در شکل زیر تفاوت ظاهری این ۴ نسل را مشاهده مینمایید. این نکته را باید بدانید که پردازنده و مادربردی که هنگام خرید کامپیوتر تهیه میکنید می بایست حتما با نوع رم شما مطابقت داشته باشد و از آنجا که شکل ظاهری رمها در نگاه اول یکسان است باید در این مورد دقت کافی به خرج دهید.
نوع دیگری از حافظه رم به نام SO-DIMM مخفف Small Outline DIMM است مخصوص لپتاپها و کامپیوترهای ALL-in-One ساخته شده است. این ماژولها مانند ماژولهای اصلی هستند و فقط سایز کوچکتری دارند. در شکل زیر نمونه این رم را مشاهده میکنید.
مقدار حافظه رم
همانطور که پیشتر گفتیم هر سلول حافظه رم دارای یک ترانزیستور و خازن است که در رم وظیفه نگهداری یک بیت را دارد. اساس چیدمان این سلول ها بر اساس بایت است (بایت کوچکترین واحد نگهداری داده در کامپیوتر است). با کنار هم قرار گرفتن ۸ سلول می توان یک بایت داده را ذخیره کرد. مجموع این سلول ها مقدار حافظه رم را مشخص میکند.
به چه مقدار حافظه رم نیاز داریم؟
این سوال را باید با سوال چه کاری قرار است با کامپیوتر خود انجام دهید؟ پاسخ می دهیم. در واقع در خرید کامپیوتر های امروزی حداقل حافظه رم ۴ گیگابایت می باشد. البته رکوردهایی برای نصب ویندوز ۱۰ در حافظه ۲ گیگابایت ببینید اما کمتر از ۴ گیگابایت اصلا توصیه نمی شود. برای سیستم های اداری و خانگی که در آینده به فکر ارتقا آنها نیستید استفاده از دو ماژول ۲ گیگابایتی پیشنهاد میشود. در صورت اضافه کردن تلاش نمایید تمامی مشخصات حافظه ها با یکدیگر یکی باشد. اما برای سیستم هایی که احتمال ارتقا دارند از یک ماژول ۴ گیگابایتی استفاده کنید تا در صورت نیاز برای ارتقا با اضافه کردن یک ماژول دیگر از ویژگی Dual Channel مادربرد استفاده کنید.
در صورتی که علاوه بر مصرف عادی از برنامه های تخصصی در رشته خود استفاده می کنید یا به صورت تفننی بازی می کنید، توصیه میکنیم حداقل از ۸ گیگابایت حافظه رم (دو ماژول ۴ گیگابایتی) برای خرید کامپیوتر خود استفاده کنید.
و در نهایت در صورتی که به صورت حرفهای بازی میکنید یا از نرمافزارهای تدوین فیلم و رندرگیری استفاده میکنید، توصیه ما استفاده از ۱۶ گیگابایت رم است.
استفاده از مقدار رم بیشتر در صورتی که به آن نیازی نداشته باشید عملا سرعت کامپیوتر شما را افزایش نخواهد داد و فقط صرف هزینه اضافی به حساب میآید و بودجه خرید کامپیوتر را بی جهت افزایش میدهد. برای استفاده از مقادیر بیشتر از ۱۶ گیگابایت برای مصارف خاص حتما باید با سازنده نرمافزار یا یک مشاور متخصص در این زمینه مشورت بگیرید. شما با استفاده از مشاور خودکار سایت می توانید از مقدار صحیح حافظه رم خود اطمینان حاصل کنید.
فرکانس یا سرعت رم چیست؟
سرعت حافظههای رم با واحد مگاهرتز بیان میشود و از اعداد مشخصی خارج نیست. به عنوان مثال بین ۲۱۳۳ مگاهرتز تا ۲۴۰۰ مگاهرتز، فرکانس دیگری وجود ندارد و رم شما باید یکی از فرکانسهای معتبر را داشته باشد. دو نوع نمایش برای فرکانس وجود دارد که در واقع معادل هستند و با یک فرمول ساده به یکدیگر تبدیل میشوند. به عنوان مثال ممکن است گاهی عبارت DDR3-1600 را ببینید و گاهی هم با PC3-12800 مواجه شوید.
در این دو عبارت، عددی که پس از DDR و PC میآید به نوع ماژول حافظه اشاره میکند و عدد انتهایی، فرکانس را نمایش میدهد. در عبارتی که شامل DDR است، عدد انتهایی مستقیما به فرکانس (بر حسب مگاهرتز) اشاره دارد و عدد مورد استفاده در نمایش PC، به حداکثر سرعت انتقال داده بر حسب مگابایت بر ثانیه اشاره میکند. عدد دوم از ضرب فرکانس اصلی در عدد هشت حاصل میشود؛ یعنی اگر ماژول رمی دیدید که فرکانس را با عبارت PC درج کرده بود، سریعا عدد اصلی را بر هشت تقسیم کنید تا به فرکانس اصلی برسید. دلیل این موضوع این است که باس (تعداد سیم های متصل کننده رم به پردازنده) حافظه رم ۶۴ بیتی است بنابراین برای بدست آوردن پهنای باند عدد فرکانس را در ۶۴ ضرب می کنند که مقدار پهنای باند به بیت را نشان میدهد. حال برای نشان دادن عدد فوق به مگابایت آن را بر ۸ (هر ۸ بیت یک بایت است) تقسیم میکنند. چون عدد ۶۴ و ۸ در این فرمول ثابت هستند بدون فوت وقت میتوان با ضرب فرکانس در عدد ۸ مقدار پهنای باند را به مگابایت محاسبه نمود.
تایمینگ رم یا زمان پاسخ دهی چیست؟
خیلی از افراد در خرید کامپیوتر در هنگام انتخاب رم فقط به فرکانس و مقدار حافظه رم توجه میکنند در حالی که این صحیح نیست. پارامتر مهم دیگری نیز وجود دارد که با نگاه بروی ماژول رم خواهید دید. این پارامتر به صورت چند عدد پشت سر هم مثلا ۲۴-۹-۹-۹ یا ۲۱-۷-۷-۷ که نشان دهنده ی تایمینگ ram است. اگر اعداد فوق نوشته نشده باشد عبارتی مانند CL9 یا CL7 مشاهده خواهید کرد. تایمینگ رم نشان دهندهی کلاک پالس هایی است که رم نیاز دارد تا دادهها را در رم بنویسد یا بخواند.
هر یک از این اعداد فوق معرف نوع خاصی از تاخیر هستند که معروفترین آنها، اولینشان است. عدد اول با عنوان CAS Latency شناخته میشود (مخفف Column Address Strobe Latency) که واحدش کلاک پالس است و با CL نمایش داده میشود. این زمان تاخیر در واقع تعداد کلاک پالسی است که یک کنترلر حافظه (در پردازنده) درخواست دسترسی به یکی از سلولهای حافظه را به رم میدهد و دادههای مورد نیاز پس از این تعداد کلاک پالس در خروجی رم و در اختیار پردازنده قرار میگیرد. بین تاخیر حافظه و سرعت آن رابطهی خاصی وجود دارد که درک آن از اهمیت بالایی برخوردار است. هر قدر فرکانس حافظهای بیشتر باشد و زمان تاخیر کمتری هم داشته باشد، عملکرد حافظه بهتر است. اگر تنها به فرکانس و عدد CL دقت کنید و متوجه میشوند که هرچقدر فرکانس افزایش پیدا میکند، عدد CL هم زیاد میشود. به همین دلیل عدهای تصور میکنند به دلیل افزایش تاخیر CAS با افزایش فرکانس، عملا بخشی از سرعت اعلام شده غیر قابل دستیابی است. اما حقیقت این است که همراه با افزایش فرکانس، زمان (نه تعداد کلاک پالس) تاخیر کاهش پیدا میکند یا در بدترین حالت تقریبا ثابت باقی میماند.
مشکل اینجا است که تمام سازندگان ram برای بیان زمان تاخیر به مقدار CL بسنده میکنند و تنها این مقدار را روی حافظه مینویسند و افراد حرفهای نیز در هنگام خرید کامپیوتر فقط به آن توجه میکنند. با در اختیار داشتن CL تنها یک مولفه از معادلهی بالا در اختیار خواهد بود که نمیتوان با استفاده از آن به زمان تاخیر پی برد. در فرمول بالا عدد ۲۰۰۰ حاصل ضرب عدد ۲ در ۱۰۰۰ است. عدد ۲ به جهت این است که فرکانس کاری رمها را دو برابر مقدار واقعی اعلام میکنند بنابراین باید فرکانس اعلامی تقسیم بر ۲ شود. عدد ۱۰۰۰ نیز به جهت نشان دادن حاصل به نانو ثانیه است.
در زمان اجرای یک بازی سنگین یا برنامهای که اطلاعات مرتباً بین رم و پردازندهی اصلی و کارت گرافیک جابجا میشوند و لذا اهمیت تاخیر کم، راندمان را بیشتر بالا میبرد چرا که سرعت پردازش پردازندههای امروزی بسیار بالاست و هر چه تأخیر کمتر باشد، کارایی کلی سیستم بالاتر خواهد بود.
پروفایل XMP چیست؟
JEDEC سازمانی است که برای استانداردسازی رم ها تشکیل شده است. این سازمان مشخص کرده که در حافظهی EEPROM یک ماژول ram چه اعداد و اطلاعاتی میبایست ذخیره شود. لذا اطلاعات مربوط به کارخانهی سازنده، سریال نامبر و اطلاعات مفید دیگری در این حافظه ذخیره میشود و توسط مادربردهای مختلف، خوانده و در بایوس مادربرد قابل مشاهده است. سرعتهای استاندارد رم هم از مشخصات ذخیره شده است. سرعتهایی مثل ۱۰۶۶، ۱۳۳۳ و ۱۶۰۰ مگاهرتز که در مورد هر یک، اطلاعاتی ثبت میشود.
اینتل پروفایلهای ویژهای به نام Extreme Memory Profile یا XMP را به عنوان پروفایلهای اضافهای را توسعه داده تا سازندگانی که رم هایی برای سرعتهای بالاتر تولید کردهاند که در پروفایل استاندارد نیست، از آن استفاده کنند. بنابراین در بیشتر رم ها یک پروفایل XMP هم ذخیره شده است.
در هنگام خرید کامپیوتر توجه کنید که رم ها معمولا با تبلیغ پروفایل XMP خود بستهبندی و فروخته میشوند ولی مشکل اینجاست که کاربر باید این پروفایل را به صورت دستی فعال کند. به عبارت دیگر پروفایل XMP به طور معمول فعال نیست و نیاز به فعال سازی دستی دارد.
روش فعال کردن پروفایل XMP
بسیاری از افراد در هنگام خرید کامپیوتر رم های خوبی تهیه میکنند اما بدون فعال کردن پروفایل XMP به استفاده از آن میپردازند. به عنوان مثال حافظهای با فرکانس ۱۶۰۰ مگاهرتز خریداری می کنند اما چون XMP را فعال نکردهاند این حافظه با سرعت استاندارد ۱۳۳۳ کار خواهد کرد. در این صورت اگر XMP را فعال نکنیم، یک حافظه با عملکردی در حد رم های ارزانقیمتتر ۱۳۳۳ مگاهرتزی خواهیم داشت که به هیچ وجه معقول نیست.
برای فعال کردن XMP مراحل زیر را دنبال کنید:
۱- بعد از روشن کردن سیستم با زدن کلید DELETE یا F2 وارد تنظیمات بایوس شوید. در برخی مادربردهای حرفهای کلید خاصی برای ورود مستقیم به بایوس بعد از ریاستارت شدن سیستم تعبیه شده که نامی مثل Direct Key و مانند آن دارد. شاید مادربورد شما هم چنین کلیدی داشته باشد لذا به دفترچهی مادربورد یا وبسایت سازنده و یا فرومها مراجعه کنید تا نحوهی استفاده از آن را یاد بگیرید.
۲- بسته به سازنده، روش فعالسازی XMP متفاوت است. معمولاً در بخشی که سرعت پردازندهی اصلی، BCLK و ضریب آن ذکر شده، سرعت ram نیز قابل تنظیم است. در این بخش به طور معمول پروفایل XMP نیز قابل فعالسازی است. در شکل زیر محل فعال سازی XMP در مادربرد ایسوس را مشاهده میکنید.
نکات قابل ملاحظه
در هنگام خرید کامپیوتر و انتخاب حافظهی رم از سازگاری فرکانس رم با حداکثر فرکانس قابل پشتیبانی توسط مادربردتان اطمینان کسب کنید. تمام سازندگان مادربرد برای اسلاتهای رم محصولات خود میزان فرکانسهای پشتیبانی شده و حداکثر این مقدار را اعلام میکنند. چنانچه فرکانس رم شما از حداکثر فرکانس قابل پشتیبانی توسط مادربردتان بیشتر باشد، حافظهی رم با سرعتی کمتر از سرعت اصلی خود کار خواهد کرد.
تطابق چند رم
تطابق رم بیشتر در زمانی است که شما قصد ارتقای سیستم خود را دارید و می خواهید یک ماژول رم دیگر به سیستم خود اضافه نمایید. مهمترین نکته در این خرید این است که بهترین رم برای شما رمی است مشخصاتش با مشخصات رم موجود، یکی باشد. دقت کنید اگر رمی با سرعت بیشتر از رم خود تهیه کنید رم جدید با فرکانس کمتر کار خواهد کرد و اگر رم خریداری شده سرعتی پایینتر داشته باشد رم موجود نیز با آن فرکانس کار خواهد کرد. دقت داشته باشید که بهترین ترکیب تعداد ماژول در صورتی که مادربرد شما از Dual Channel پشتیبانی کند دو عدد است. در صورت استفاده از ۴ عدد رم همان راندمان دو عددی را خواهید داشت ولی هزینه کلی شما بیشتر خواهد شد.
آیا استفاده از چند ماژول بهتر است؟
در تمام مادربردهای امروزی تکنولوژی Dual Channel و برای مادربردهای حرفهای Quad Channel بکار رفته است. در حالت کلی افزودن تعداد کانال یا استفاده از سیستم چند کانال در رم ها باعث افزایش پهنای باند در دسترس خواهد شد. بدین ترتیب ram میتواند میزان بیشتری از دادهها را در هر لحظه جابجا کند. بنابراین خیلی بهتر است به جای خرید یک عدد رم تک کاناله با ظرفیت زیاد، دو عدد رم با نصف ظرفیت مدل اول بخرید و از آنها در حالت دو کاناله استفاده کنید. در سیستمهای حرفهای (منظور مادربردهای با چیپ X299 اینتل یا X399 ای ام دی) با نصب چهار عدد رم میتوان از تکنولوژی Quad Channel نیز استفاده نمود.
آیا هیت سینک برای رم ضروری است؟
رم ها در حالت عادی نیازی به هیت سینک یا خنک کننده ندارند و در شرایط کاری استاندارد داغ نمیشوند. معمولا شرکت های تولید کننده رم به دو دلیل از هیت سینک ها استفاده میکنند. دلیل اول ظاهر جذابتر و یا شاید حرفهای تر رم که امروزه از نورپردازی RGB نیز در رمها استفاده میشود و در هنگام خرید کامپیوتر مشتری را ترغیب به خرید میکند و دلیل دوم دفع حرارت در صورت انجام اورکلاک است. بنابراین در صورتی که کیس شما تهویه مناسبی داشته باشد و نیازی به ظاهر جذاب نداشته باشید و قصد انجام اورکلاک در رم را نداشته باشید عملا تفاوتی بین رم های هیت سینک دار و معمولی وجود ندارد.
تشخیص مدل و مشخصات رم
در هنگام خرید ram مشخصاتی رو ماژول رم قید شده است که می بایست هنگام خرید به دقت به آنها توجه کنید. اکثر مشخصات مربوط به رم تا کنون توضیح داده شده است و اکنون میخواهیم اعداد ذکر شده رو رم را بخوانیم.
خواندن اعداد رو رم
در شکل فوق از بالا سمت چپ؛ خط اول مدل رم است که میتوانید با سرچ کردن مشخصات رم رو مشاهده کنید.
خط دوم عبارت DDR3-2000 به این معنی است که تکنولوژی ساخت این رم DDR3 و فرکانس کاری (سرعت یا باس) ۲۰۰۰ مگاهرتز است.
خط دوم عبارت CL9-10-9-28 تایمینگ رم را نشان میدهد. مهمترین عدد این عبارت CL9 مخفف CAS Latency به معنی تعداد ۹ کلاک پالس بین فراخوانی از پردازنده تا ارسال داده تاخیر وجود دارد. عدد دوم یعنی ۱۰ (tRCD) نشان دهندهی تعداد کلاک پالسی است که سطر و ستون ماتریس در رم برای ذخیره اطلاعات نیاز دارد. عدد سوم یعنی ۹ (tRP) تعداد کلاک پالسی است که رم نیاز دارد تا از یک خط از سلول های خود به خط دیگر برود. عدد چهارم ۲۸ (tRAS) تعداد کلاک پالسی است که رم نیاز دارد تا سلولههای خود را در اختیار دستور خواندن و نوشتن بعدی قرار دهد. اگر در تایمینگ عدد پنجمی مشاهده کردید به نام CMD است که مخفف Command Rate است و تعداد کلاک پالسی است که طول می کشد تا رم مشخصات خود بررسی و آماده دریافت اولین دستور شود.
خط دوم عبارت ۱٫۵۵v ولتاژ کاری رم را نشان میدهد که در تکنولوژی DDR3 این ولتاژ ۱٫۵۵ است و در DDR4 این ولتاژ ۱٫۲ ولت است.
خط سوم عبارت PC3-16000 نامگذاری رسمی رم ها به این شکل است و PC نشان دهندهی این است که این رم برای PC تولید شده است و عدد ۳ نشان دهندهی تکنولوژی DDR3 است. عدد ۱۶۰۰۰ پهنای باند رم را به مگابایت نشان میدهد این عدد از ضرب فرکانس کاری در عدد ۸ بدست می آید. در این رم پهنای باند ۱۶۰۰۰ مگابایت در ثانیه است.
خط سوم عبارت ۴GB×۲ نشان دهندهی حجم ماژول و تعداد ماژول در بسته بندی است. در این رم ۲ عدد ماژول ۴ گیگابایتی وجود دارد.
توسط نرمافزار
سادهترین و دقیقترین راه یافتن مشخصات حافظه اصلی استفاده از نرمافزار CPU-Z است که با دانلود نسخه پرتابل و اجرای آن و رفتن به برگه Memory یا SPD مشخصات حافظه ram خود را مشاهده کنید. همانطور که در شکل زیر میبینید در این رم میتوانید با فعال کردن XMP از فرکانس ۲۶۶۶ این رم استفاده کنید.
راه حل میانبر و دقیق خرید کامپیوتر
با استفاده از مشاور خودکار سایت علاوه میتوانید با خیال راحت بهینهترین ترکیب قطعات کامپیوتری متناسب با بودجه مورد نظر خود را مشاهده کرده و بدون نیاز به مطالعه راهنمای خرید کامپیوتر اقدام به سفارش کنید و کامپیوتر خود را درب منزل تحویل بگیرید.