شعار همیشگی: حفظ مشتریان فعلی ، دعوت از مشتریان قبلی ، جذب مشتریان آتی
علت عدم افزایش فرکانس پردازنده ها چیست؟
با شما هستیم با آموزش علت افزایش فرکانس پردازنده ها چیست؟ در خدمت شما خواهیم بود تا انتهای این مطلب ما را همراهی کنید. و یا با محیط آن آشنا گردید به مطالعه این مطللب بپردازید.
بکاپ منظم روزانه هفتگی ماهانه در یک سرور مجزا از مزیت نگارنوین نسبت به سایرین می باشد.
شرکت نگارنوین با همت بهترین کارشناس های قوی به شما کاربران و مشتریهای عزیز خدمت رسانی میکند تا هرچه آسان تر و بهتر به درخواست های خود برسید.
علت عدم افزایش فرکانس پردازنده ها
همه ما شاهد پیشرفت سریع فرکانس پردازنده ها در دهه های گذشته و ابتدای این قرن بودهایم. ده مگاهرتز تبدیل به صدها مگاهرتز و سپس صدها مگاهرتز نیز تبدیل به سرعت یک گیگاهرتز شد. در حال حاضر نیز حتی فرکانس های پایه با سرعت پنج گیگاهرتز نیز وجود دارد.
با این حال در چندین سال گذشته، شاهد کاهش رشد فرکانس هسته اصلی پردازنده ها بودهایم. دسترسی به سرعت ۱۰ گیگاهرتز هم اکنون نیز به اندازه ۵ سال پیش سخت و مشکل است. چرا این روند رو به کاهش است؟ چه مانعی برای توقف رشد و افزایش فرکانس ها وجود دارد؟
گیگاهرتز “داغ”
در بین متخصصان یک نظریه وجود دارد که افزایش رشد فرکانس ، منجر به انتشار گرما در ابعاد قابل توجهی می شود. در واقع افراد عادی فکر می کنند که میزان فرکانس با “یک سوئیچ” تغییر کرده و به دلخواه آنها کار می کند و افزایش می یابد. اما نگرانی های شدیدی هم وجود دارد که افزایش فرکانس ، باعث افزایش دمای پردازنده شده و امکان ذوب فیزیکی واقعی آن وجود دارد. البته توجه داشته باشید که بسیاری از تولیدکننده های پردازنده را طوری می سازند که امکان وقوع این اتفاق نیست، چرا که پردازنده دارای مانیتور دمای داخلی بوده و قبل از بروز هرگونه خرابی فاجعه باری می تواند به طور خودکار CPU را خاموش کند.
این نظر توسط کاربران ارائه شده و حتی در فرآیند های اورکلاک نیز ثابت شده است؛ زیرا در اورکلاک افراد سرعت پردازنده ها را دو برابر بیشتر کرده و در راستای آن نیز متوجه شدهاند که باید تا حد امکان سیستم خنک کننده قدرتمندی را به آن متصل کنند.
البته “سوئیچ” گفته شده در قسمت قبل نیز حائز اهمیت بوده و در انتشار گرما تاثیر دارد، اما اینها فقط بخشی از نبرد بشر برای توسعه و افزایش فرکانس می باشد.
علت و ترمز اصلی
پردازنده ها با طراحی های مختلفی که دارند، مشکلات متنوعی را نیز حین فرآیند اورکلاک به وجود می آورند. در این مقاله ما در نظر داریم تا محبوب ترین نوع معماری پردازنده در بین محصولات اینتل، یعنی معماری سوپراسکالر (superscalar) را بررسی کنیم.
برای رسیدگی به مشکلات مربوط به فرکانس ها، مهم است که در مرحله بدانیم چه چیزی مانع از رشد آنها می شود. با توجه به تحقیقات و بررسی های انجام شده روی معماری پردازنده ها، متوجه شدهایم انواع مختلفی از پارامترها وجود دارند که باعث محدود شدن این رشد و توسعه شدهاند. با این حال نتیجه این است که تنها یک محدودیت یا ترمز اصلی وجود دارد که باید برای افزایش فرکانس پردازنده ها حذف شود.
نقاله (conveyor)
بررسی های انجام شده نشان داد که محدودیت اصلی در سطح نقاله که بخش جدایی ناپذیر معماری سوپراسکالر است، می باشد. از لحاظ عملکردی اجرای هر دستورالعمل پردازنده، به چندین مرحله تقسیم می شود که در نمودار زیر نشان داده شده است.
این مراحل به ترتیب پشت سر هم قرار گرفته و هر یک از آنها، در یک دستگاه محاسباتی جداگانه اجرا می شوند.
هنگامی که اجرای یک مرحله خاص به پایان رسید، می توان از دستگاه محاسباتی برای اجرای دستورالعمل دیگر استفاده کرد.
همانطور که در نمودار بالا مشاهده می کنید اولین دستگاه محاسباتی، مرحله اول از اولین دستورالعمل را در دوره زمانی t1 اجرا می کند. با شروع دوره t2مرحله اول به پایان رسیده و مرحله دوم می تواند در دستگاه دوم آغاز شود. در این لحظه اولین دستگاه آزاد شده و آماده شروع مرحله اول دستورالعمل بعدی است. در طول دوره t4 می توان مراحل مختلف چهار دستورالعمل را اجرا کرد.
این موضوع چه ارتباطی با فرکانس دارد؟ در واقع مراحل مختلف می توانند از نظر زمان اجرا با یکدیگر متفاوت باشند. در همین زمان مراحل مختلف دستورالعمل های مشابه، در طول تیک های مختلف ساعت اجرا می شوند. طول تیک ساعت (و همچنین فرکانس) پردازنده باید با طولانی ترین مرحله متناسب باشد. نمودار زیر نشان می دهد طولانی ترین مرحله، سومین مرحله است.
تنظیم طول تیک ساعت
صورتی که کوتاهتر از طولانیترین مرحله باشد نیز هیچ مزیتی ندارد، زیرا هیچ شتاب واقعی در پردازنده رخ نخواهد داد.
فرض کنید طولانی ترین مرحله برای اجرا به PS 500 (پیکو ثانیه) نیاز دارد. این طول تیک ساعت برای زمانی است که فرکانس کامپیوتر روی ۲ گیگاهرتز می باشد. حالا اگر تیک ساعت را دو برابر کوتاهتر و روی ۲۵۰ پیکسل تنظیم کنیم، همه چیز به جز فرکانس ثابت می ماند. در این حالت طولانیترین مرحله شناخته طی دو تیک تاک ساعت اجرا می شود که با هم به PS 500 نیاز دارد. با ایجاد این تغییر نه تنها هیچ چیز مفیدی بدست نمی آید، بلکه معماری چنین تغییری بسیار پیچیدهتر شده و انتشار گرما افزایش می یابد.
در ابتدا فرآیند بسیار سریعتر انجام خواهد شد. اما از تیک ساعت چهارم، مرحله سوم و باقی مراحل مثال ما به تأخیر می افتند. علت این اتفاق این است که دستگاه محاسباتی سوم بعد از هر دو تیک ساعت آزاد می شود (در حالت عادی دستگاه بعد از هر یک تیک آزاد می شوند). در نتیجه از آنجایی که مرحله سوم مشغول اجرا یک دستورالعمل است، نمی توان همان مرحله دستورالعمل دیگری را اجرا کرد. بنابراین پردازندهای که از تیک ساعت ۲۵۰ ولت استفاده می کند، با همان سرعت پردازنده ۵۰۰ پیکسلی کار خواهد کرد؛ هرچند که فرکانس آن دو برابر بیشتر است.
هرچه کوچکتر! بهتر!
بنابراین تنها راه افزایش فرکانس، کوتاه کردن طولانی ترین مرحله است. اگر بتوانیم طولانی ترین مرحله را کاهش دهیم، امکان کاهش اندازه تیک ساعت تا این مرحله وجود داشته و هرچه تیک ساعت کوچکتر باشد، فرکانس بالاتر خواهد بود.
روش های زیادی برای تأثیر بر مدت زمان این مراحل با استفاده از فن آوری های موجود وجود ندارد. یکی از این راه ها، توسعه یک فرآیند پیشرفتهتر است. به این صورت که با کاهش اندازه فیزیکی اجزای پردازنده، می توان سرعت اجرا مراحل را بالاتر برد. چرا که در این صورت قطعات الکتریکی باید مسافت کمتری را طی کنند، در نتیجه زمان سوئیچ ترانزیستور کاهش می یابد و باقی مراحل… به بیان ساده همه چیز به طور یکنواخت سرعت می گیرد. تمام مراحل از جمله طولانی ترین آن، به طور یکنواختی کوتاه شده و می توان فرکانس را افزایش داد.
این موضوع کاملا ساده به نظر برسد، اما پایین آوردن و کاهش اندازه در مقیاس نانومتر بسیار پیچیده است. افزایش فرکانس به سطح فعلی فناوری وابسته بوده و در حال حاضر نمی توان از این محدودیت های فیزیکی فراتر رفت. با این وجود سازندگان پردازنده به طور مداوم در حال بهبود فرآیندهای فناوری خود بوده و به افزایش تدریجی فرکانس هسته پردازنده امیدوار هستند.
یکم صبر کنید!
روش دیگر برای بالا بردن فرکانس در مثال بالا تقسیم طولانی ترین مرحله به چندین مرحله کوچکتر است. دستورالعمل و روش انجام این کار در گذشته مشخص شده و چندین بار نیز موفقیت آمیز بوده است. در واقع فعالیت زیادی توسط سازندگان پردازنده انجام شده تا مراحل را تا حد ممکن کارآمد و کوتاه کنند. اما تقسیم کردن مراحل به مراحل کوچکتر نه تنها یک چالش ایجاد می کند، بلکه می تواند بر کارایی کلی پردازنده تأثیر بسزایی بگذارد.
برای درک این مشکل مثال ساختن یک خانه را در نظر بگیرید. خانه طبقه به طبقه ساخته می شود. فرض کنید که هر دستورالعمل مشابه یک طبقه است. حالا می خواهیم هر طبقه ساختمان را به چند قسمت تقسیم کنیم. برای این کار به دو مرحله نیاز داریم: ساخت خود طبقه و اتمام آن. پس زمانی که کار در طبقه قبلی در حال تکمیل است، ما می توانیم شروع به ساخت طبقه بعدی کنیم. البته فقط در صورتی که ساخت طبقه جدید و اتمام طبقه قبلی توسط تیم های مختلف انجام شود.
سپس می خواهیم دو قسمت موجود را به اجزای کوچکتر مانند به نقاشی سقف و کاغذ دیواری تقسیم کنیم. اگر نقاش کار رنگ آمیزی یک طبقه را به پایان برساند می تواند به طبقه ساخته شده بعدی بروند، حتی اگر کار نصب کاغذ دیواری در آن طبقه به اتمام نرسیده باشد.
با این توصیفات اگر بخواهیم در ساختمان های واقعی مراحل ساخت دیوار و سقف را تقسیم کنیم، به مشکل خواهیم خورد. اگر طبقه قبلی ساخته نشود، نمی توانیم دیوارهای طبقه بعدی را بسازیم. حتی اگر از نظر تئوری نیز این تقسیم بندی را انجام دهیم، باز هم نمی توانیم در عمل این کار را انجام دهیم، چرا که در هر زمان فقط یک تیم می تواند روی یک مرحله کار کند!