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

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

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

دستورالعمل ها در پردازنده در چندین گام اجرا می شوند که نمودار زیر آن را نشان می دهد:

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

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

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

«اما این موضوع چه ارتباطی با فرکانس پردازنده دارد؟ در واقع ممکن است مدت زمان لازم برای اجرای مراحل مختلف متفاوت باشد. در عین حال گام‌های مختلف همان دستورالعمل در طول سیکل‌های مختلف اجرا می‌شود. طول سیکل [و پیرو آن فرکانس] پردازنده باید متناسب با طولانی‌ترین گام باشد»

همان‌طور که نمودار بالا نشان می‌دهد، اگر طول سیکل (وابسته به فرکانس) کوتاه‌تر از مدت زمان لازم برای اجرای طولانی‌ترین گام باشد، اجرای آن به سیکل‌های بیشتری نیاز دارد که به افزایش تأخیر منجر می‌شود. ممکن است بگویید این کار باعث افزایش سرعت گام‌های کوتاه‌تر می‌شود و این مثبت است، اما اگر به نمودار زیر دقت کنید، علی رغم اجرای سریع‌تر گام‌های کوتاه، تمامی سیکل‌های بعد از 4 با تأخیر اجرا می‌شوند.

«فرض بگیرید اجرای طولانی‌ترین گام به 500 پیکوثانیه نیاز دارد و طول سیگنال ساعت در یک پردازنده 2 گیگاهرتزی همین مقدار است، حالا اگر فرکانس همان پردازنده افزایش یابد و طول سیکل نصف (250 پیکو ثانیه) شود، طولانی‌ترین گام برای اجرا به دو سیکل (500 پیکو ثانیه زمان) نیاز دارد که در عمل به افزایش سرعت نمی‌انجامد و صرفاً باعث افزایش پیچیدگی و گرما می‌شود»

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

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

افزایش فرکانس پردازنده ها «حماقت» است!
اما به افزایش فرکانس و حتی اورکلاکینگ می‌رسیم، با افزایش ولتاژ هسته پردازنده، سرعت سویچینگ ترانزیستورها بالا می‌رود و تمامی گام‌ها کوتاه‌تر شده و در نتیجه آن می‌توان فرکانس را افزایش داد. در ظاهر که عالی به نظر می‌رسد اما یک مشکل اساسی با تولید گرما وجود دارد. فرمول زیر به طور ساده تلفات توان در پردازنده (عمدتاً به صورت گرما) را نشان می‌دهد:

P ~ Cdyn*V2*f

P: توان، Cdyn: ظرفیت خازنی دینامیک، V: ولتاژ، f: فرکانس

اما اگر نمی‌دانید ظرفیت خازنی دینامیک چیست، هیچ نگران نباشید، چراکه اینجا مهم‌ترین عامل ولتاژ است و به توان 2 می‌رسد.

تاثیر اورکلاک کردن به 5 گیگاهرتز بر مصرف انرژی

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

f ~ V وP ~ Cdyn*V3

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

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

نظر خود را اضافه کنید.

ارسال نظر بدون عضویت در سایت

0

نظرات (20)

  • مهمان - سبحان

    با سلام و خسته نباشید
    آقای خبات منظور از ظرفیت خازن دینامیکی چیه؟

  • مهمان - iman jafarian

    بسیار عالی و مفید بود.;)

  • مهمان - کمال

    آقای خبات بالاخره جواب من رو ندادید.
    برای افزایش سرعت سویچ ترانزیستور راهکار دیگه ای به غیر از افزایش ولتاژ وجود داره؟
    افزایش طول pipeline یا (کوچک کردن گامها که شما گفتید) در هسته Prescott انجام شد و به 31 گام هم رسید اما بدلیل ناکارآمدی و ایراداتی که بوجود آمد دوباره طول pipeline رو کاهش داد که در حال حاضر و در چند نسل اخیر تعداد گامها بیشتر از ۱۹ مرحله نیست

  • هیچ کاری غیرممکن نیست. اگه حرفهای اینتل راست باشه پس باید در ساختار و عملکرد پردازنده ها از بن تغییر ایجاد بشه. مگه نه؟

  • مهمان - کمال

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

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

  • درود
    دمت گرم خبات جان، اما چجوریه amd تونست در یه برهه ای با اون لیتوگرافی قدیمیش نسبت به الان فرکانس قابل قبولی رو کسب کنه یا حتی اینتل می تونه خودش رو به 5 هم نزدیک کنه... البته داغی اینها بماند اما کار نشد نداره... اینا تنبلن حال ندارن مخشونو بکار بگیرن چسبیدن فقط به لیتوگرافی کمتر، همین amd اومد با تف گردازنده به هم چسبوندن باقلوا میده دست مردم هیشکی باورش نمیشد بشه، اینم راه حل داره نشد نداره یا کمبود امکانات هست یا هزینه ی تحقیقات بالا که نمیصرفه. ?

  • در پاسخ به: nima

    سلام دوست گرامی
    اینها ادعاها و استدلال های اینتل بود.
    سپاس از شما.

  • مهمان - Lord Sif

    @خبات
    همین که Clock Tick رو "سیکل ساعت" ترجمه میکنی نشان از دانش وو سواد فراوان شماست.
    به این میگن ترجمه گوگل ترنسلیتی

  • دوست عزیز
    این یک مطلب خرد هست ، Clock Tick در عمل میشه سیکل ساعت که همون ثانیه میشه. سیکل یعنی چرخه. در اینجا ساعت نه به ساعت نشان دهنده زمان، بلکه تایمینگ/زمان سنجی اشاره دارد.

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

بارگذاری بیشتر ...

ورود به شهرسخت‌افزار

ثبت نام در شهر سخت افزار
ورود به شهر سخت افزار

ثبت نام در شهر سخت افزار

نام و نام خانوادگی(*)
لطفا نام خود را وارد کنید

ایمیل(*)
لطفا ایمیل خود را به درستی وارد کنید

رمز عبور(*)
لطفا رمز عبور خود را وارد کنید

شماره موبایل
Invalid Input

جزو کدام دسته از اشخاص هستید؟(*)

لطفا یکی از موارد را انتخاب کنید