علت عدم رشد و افزایش فرکانس پردازنده ها چیست؟

علت عدم افزایش فرکانس پردازنده ها

همه ما شاهد پیشرفت سریع فرکانس پردازنده ها در دهه های گذشته و ابتدای این قرن بوده‌ایم. ده مگاهرتز تبدیل به صدها مگاهرتز و سپس صدها مگاهرتز نیز تبدیل به سرعت یک گیگاهرتز شد. در حال حاضر نیز حتی فرکانس های پایه با سرعت پنج گیگاهرتز نیز وجود دارد.

با این حال در چندین سال گذشته، شاهد کاهش رشد فرکانس هسته اصلی پردازنده ها بوده‌ایم. دسترسی به سرعت 10 گیگاهرتز هم اکنون نیز به اندازه 5 سال پیش سخت و مشکل است. چرا این روند رو به کاهش است؟ چه مانعی برای توقف رشد و افزایش فرکانس ها وجود دارد؟

گیگاهرتز “داغ”

در بین متخصصان یک نظریه وجود دارد که افزایش رشد فرکانس ، منجر به انتشار گرما در ابعاد قابل توجهی می شود. در واقع افراد عادی فکر می کنند که میزان فرکانس با “یک سوئیچ” تغییر کرده و به دلخواه آنها کار می کند و افزایش می یابد. اما نگرانی های شدیدی هم وجود دارد که افزایش فرکانس ، باعث افزایش دمای پردازنده شده و امکان ذوب فیزیکی واقعی آن وجود دارد. البته توجه داشته باشید که بسیاری از تولیدکننده های پردازنده را طوری می سازند که امکان وقوع این اتفاق نیست، چرا که پردازنده دارای مانیتور دمای داخلی بوده و قبل از بروز هرگونه خرابی فاجعه باری می تواند به طور خودکار CPU را خاموش کند.

این نظر توسط کاربران ارائه شده و حتی در فرآیند های اورکلاک نیز ثابت شده است؛ زیرا در اورکلاک افراد سرعت پردازنده ها را دو برابر بیشتر کرده و در راستای آن نیز متوجه شده‌اند که باید تا حد امکان سیستم خنک کننده قدرتمندی را به آن متصل کنند.

البته “سوئیچ” گفته شده در قسمت قبل نیز حائز اهمیت بوده و در انتشار گرما تاثیر دارد، اما اینها فقط بخشی از نبرد بشر برای توسعه و افزایش فرکانس می باشد.

علت و ترمز اصلی

پردازنده ها با طراحی های مختلفی که دارند، مشکلات متنوعی را نیز حین فرآیند اورکلاک به وجود می آورند. در این مقاله ما در نظر داریم تا محبوب ترین نوع معماری پردازنده در بین محصولات اینتل، یعنی معماری سوپراسکالر (superscalar) را بررسی کنیم.

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

نقاله (conveyor)

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

علت عدم افزایش فرکانس پردازنده ها چیست؟

این مراحل به ترتیب پشت سر هم قرار گرفته و هر یک از آنها، در یک دستگاه محاسباتی جداگانه اجرا می شوند.

هنگامی که اجرای یک مرحله خاص به پایان رسید، می توان از دستگاه محاسباتی برای اجرای دستورالعمل دیگر استفاده کرد.

علت عدم افزایش فرکانس پردازنده ها چیست؟

همانطور که در نمودار بالا مشاهده می کنید اولین دستگاه محاسباتی، مرحله اول از اولین دستورالعمل را در دوره زمانی t1 اجرا می کند. با شروع دوره  t2مرحله اول به پایان رسیده و مرحله دوم می تواند در دستگاه دوم آغاز شود. در این لحظه اولین دستگاه آزاد شده و آماده شروع مرحله اول دستورالعمل بعدی است. در طول دوره t4 می توان مراحل مختلف چهار دستورالعمل را اجرا کرد.

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

علت عدم افزایش فرکانس پردازنده ها چیست؟

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

فرض کنید طولانی ترین مرحله برای اجرا به PS 500 (پیکو ثانیه) نیاز دارد. این طول تیک ساعت برای زمانی است که فرکانس کامپیوتر روی 2 گیگاهرتز می باشد. حالا اگر تیک ساعت را دو برابر کوتاه‌تر و روی 250 پیکسل تنظیم کنیم، همه چیز به جز فرکانس ثابت می ماند. در این حالت طولانی‌ترین مرحله شناخته طی دو تیک تاک ساعت اجرا می شود که با هم به PS 500 نیاز دارد. با ایجاد این تغییر نه تنها هیچ چیز مفیدی بدست نمی آید، بلکه معماری چنین تغییری بسیار پیچیده‌تر شده و انتشار گرما افزایش می یابد.

البته شاید در نگاه کلی به نظر برسد که در این روش به دلیل کوتاه بودن تیک ساعت، مراحل سریعتر اجرا شده و در نهایت سرعت متوسط ​​فرآیند افزایش می یابد. اما با این وجود نمودار زیر نشان می دهد که چنین نیست.

علت عدم افزایش فرکانس پردازنده ها چیست؟

در ابتدا فرآیند بسیار سریعتر انجام خواهد شد. اما از تیک ساعت چهارم، مرحله سوم و باقی مراحل مثال ما به تأخیر می افتند. علت این اتفاق این است که دستگاه محاسباتی سوم بعد از هر دو تیک ساعت آزاد می شود (در حالت عادی دستگاه بعد از هر یک تیک آزاد می شوند). در نتیجه از آنجایی که مرحله سوم مشغول اجرا یک دستورالعمل است، نمی توان همان مرحله دستورالعمل دیگری را اجرا کرد. بنابراین پردازنده‌ای که از تیک ساعت 250 ولت استفاده می کند، با همان سرعت پردازنده 500 پیکسلی کار خواهد کرد؛ هرچند که فرکانس آن دو برابر بیشتر است.

هرچه کوچکتر! بهتر!

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

روش های زیادی برای تأثیر بر مدت زمان این مراحل با استفاده از فن آوری های موجود وجود ندارد. یکی از این راه ها، توسعه یک فرآیند پیشرفته‌تر است. به این صورت که با کاهش اندازه فیزیکی اجزای پردازنده، می توان سرعت اجرا مراحل را بالاتر برد. چرا که در این صورت قطعات الکتریکی باید مسافت کمتری را طی کنند، در نتیجه زمان سوئیچ ترانزیستور کاهش می یابد و باقی مراحل… به بیان ساده همه چیز به طور یکنواخت سرعت می گیرد. تمام مراحل از جمله طولانی ترین آن، به طور یکنواختی کوتاه شده و می توان فرکانس را افزایش داد.

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

یکم صبر کنید!

روش دیگر برای بالا بردن فرکانس در مثال بالا تقسیم طولانی ترین مرحله به چندین مرحله کوچکتر است. دستورالعمل و روش انجام این کار در گذشته مشخص شده و چندین بار نیز موفقیت آمیز بوده است. در واقع فعالیت زیادی توسط سازندگان پردازنده انجام شده تا مراحل را تا حد ممکن کارآمد و کوتاه کنند. اما تقسیم کردن مراحل به مراحل کوچک‌تر نه تنها یک چالش ایجاد می کند، بلکه می تواند بر کارایی کلی پردازنده تأثیر بسزایی بگذارد.

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

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

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

همین مشکل در پردازنده ها نیز وجود دارد. برخی از مراحل وجود دارد که به مراحل دیگر وابسته بوده و تقسیم این مراحل بسیار دشوار است؛ زیرا این کار درست مانند ساخت چندین طبقه از یک خانه به طور همزمان، نیاز به تغییرات گسترده‌ای دارد.

نتیجه گیری

تا به امروز مواردی وجود داشته که فرکانس پردازنده بدون تغییر ولتاژ، کمی افزایش یافته است. این اتفاق در شرایط بسیار محدودی امکان پذیر است، زیرا پردازنده ها برای کار در شرایط بسیار متنوع طراحی شده‌اند (که بر طول مرحله تأثیر می گذارد). به عنوان مثال طولانی ترین مرحله ممکن است فقط 95٪ از کل تیک ساعت را به خود اختصاص دهد. بنابرین این احتمال افزایش یافته است، اما به یاد داشته باشید اورکلاک اشتباه می تواند نه تنها به پردازنده، بلکه به خود شما آسیب برساند.

روش های دیگری نیز برای تأثیرگذاری در طول گام وجود دارد که اهمیت آنها بسیار کمتر می باشد. به عنوان مثال عامل دما بر روی تمام قطعات الکترونیکی پردازنده تأثیر می گذارد، اما تغییرات جدی و کاربردی فقط در مواردی که دما بسیار کم بوده دیده شده است.

در نتیجه تلاش برای افزایش فرکانس بسیار چالش برانگیز است. با این وجود تلاش برای دستیابی به این موفقیت در حال انجام است، حتی اگر نتیجه آن افزایش فرکانس با سرعتی بسیار کند باشد. البته اکنون که پردازنده های چند هسته‌ای وجود دارند، رایانه ها باید سریعتر کار کنند؛ چه به دلیل فرکانس بالاتر یا چه به دلیل اجرای موازی چندین کار. در واقع با اجرای موازی کارها، قابلیت و انعطاف پذیری بیشتری نیز فراهم می شود!

بررسی و خرید مدلهای مختلف پردازنده سرور:

خرید پردازنده سرور