ARMIN
2013/11/02, 22:39
فقط کاربران عضو قادر به مشاهده لینکها هستند.
برای بسیاری از کاربران کامپیوتر مفهوم Overclock پردازنده تعریف شده است. به نوعی مجبور کردن پردازنده به کار کردن در سرعتی بالاتر از سرعت نوشته شده در مشخصات آن. اما تا به حال به مفهوم Clock پی برده اید؟ پیش از آنکه به این سوال پاسخ دهیم اجازه دهید کمی مطالب پایه ای را مرور کنیم. با سوالی که باید اول از همه مطرح شود، خود پردازنده چیست؟
CPU یا آنطور که در دوران تحصیل به زبان پارسی به ما آموختند "واحد پردازشگر مرکزی" مسئول اصلی پردازش اطلاعات در کامپیوتر است که البته به آن "پردازنده" و یا دقیقترش "ریزپردازنده" هم اطلاق میشود. نحوه ی پردازش یک CPU به برنامه یا همان Program بستگی دارد.
- حال برنامه چیست؟
برنامه مجموعه ای از دستورالعملهاست که به پردازنده دستور نحوه ی پردازش اطلاعات ورودی را میدهد. در حقیقت پردازنده نمیفهمد چه چیزی را دارد پردازش میکند. پردازنده فقط از دستورات برنامه پیروی میکند و کاری ندارد هدف برنامه از دادن این دستورات مشخص چیست. خواه این دستورات اضافه کردن 2 بعلاوه ی 2 باشد و یا فرستادن یکسری اطلاعات به کارت گرافیک برای پخش در مانیتور.
به صورت ساده، زمانی که بر روی آیکون برنامه ای روی دسکتاپ کلیک میکنید، هارد دیسک به گردش در می آید و دستورالعمل های مشخصی از روی هارد خوانده میشود و به رم سیستم وارد شده و سپس "کنترولر رم پردازنده" آن اطلاعات را از رم بازخوانی و به هسته های CPU میفرستد تا پردازش بر اساس دستورالعمل آغاز شود. پس از آن دیگر بستگی به برنامه و دستورالعمل های آن دارد که چه اتفاقی برای سیستم بیفتد.
- حال، منظور از کلاک (ساعت) چیست؟
هر پردازنده سرعتی دارد برای پردازش که به آن کلاک می گویند. کلاک به نوعی یک سیگنال است که اجزای سیستم بر اساس آن سرعت عملکرد خود را همسان سازی Sync میکنند. به عکس زیر توجه کنید. 3 سیگنال با آهنگی مشخص، همسان و منظم دائما" از صفر به یک و دوباره به سمت صفر حرکت میکنند.
فقط کاربران عضو قادر به مشاهده لینکها هستند.
هر گردش کامل یک سیگنال (حرکت از صفر به یک و بازگشتش به صفر) را یک تیک این ساعت می نامند. این گردش را با واحد هرتز می سنجند، که مشخص کننده ی تعداد گردش سیگنال در ثانیه است. سرعت 100 مگاهرتزی یعنی 100 میلیون تیک در هر ثانیه. در کامپیوتر همه ی زمان بندی ها را بر پایه ی همین مفهوم گردش ساعت (کلاک) می سنجند. برای مثال، رمی که Latency یا تاخیر 9 دارد، به این معناست که 9 گردش کامل سیگنال لازم دارد (تاخیر میکند) تا شروع به ارسال اطلاعات کند. در درون پردازنده همه ی دستورالعمل ها نیازمند گردش تعداد معینی از سیگنال هستند تا اجرا شوند. مثلا" یک دستورالعمل ممکن است 7 گردش (تیک) لازم داشته باشد تا کامل اجرا شود.
مطلب جالب اینجاست با اینکه CPU هیچ درکی از مطالب مورد پردازش خودش ندارد اما کاملا" می داند برای هر دستورالعمل چه تعداد گردش سیگنال لازم است تا اجرا شود. این دانش را مدیون جدولی است که این اطلاعات را به وی میدهد. هر پردازنده بر اساس طراحی و تکنولوژی ساخت خود داری چندین جدول از دستورالعمل هاست که این جداول را کارخانه ی سازنده درون پردازنده قرار داده است.
فقط کاربران عضو قادر به مشاهده لینکها هستند.
مثلا" اگر دو دستورالعمل به پردازنده برسد، پردازنده می داند دستورالعمل اولی مثلا" به 7 تیک نیازمند است تا اجرا شود. 7 تیک که تمام شد به صورت اتوماتیک با تیک هشتم اجرای دستورالعمل دوم را آغاز میکند. البته به یاد داشته باشید منظور ما از یک پردازنده در اینجا یک هسته ی پردازنده است. در پردازنده های مدرن امروزی هر هسته قادر است در طول یک یا چندین تیک ساعت به صورت موازی دو یا چند دستورالعمل را اجرا کنند تا سریعتر دستورالعمل ها اجرا شوند و به پایان برسند.
- این تیک ساعت ارتباطش با کارایی یا Performance چیست؟
در مورد پردازنده ها تصور غلطی است که فکر کنیم لزوما" سرعت ساعت مساوی کارایی است. بله، اگر در مقام قیاس دو پردازنده ی هم خانواده باشیم، مثلا" i5 4570 و i5 4670 در اینجا بله، سرعت ساعت بالاتر i5 4670 به معنای کارایی بیشتر پردازنده است. به دلیل اینکه زمان بین دو تیک ساعت کوتاه تر خواهد بود، پس تعداد بیشتری گردش سیگنال در ثانیه اتفاق میفتد و اجرای دستورالعمل ها سریعتر به پایان میرسد.
اما اگر دو پردازنده ی غیر هم خانواده را مقایسه کنیم، یا مثلا" دو پردازنده ای را که معماری متفاوت و تولید کنندگان متفاوتی دارند را قیاس کنیم؛ در این حالت دیگر نمیتوان سرعت ساعت را مقیاس کارایی بیشتر دانست. برای مثال دو پردازنده که هر دو 3000 مگاهرتز در ثانیه سرعت داشته باشند را در نظر بگیرید. پردازنده ی "الف" از شرکت AMD و پردازنده ی "ب" از شرکت Intel
پیشتر اشاره کردیم برای اجرای یک دستورالعمل به تعداد مشخصی گردش سیگنال/تیک نیاز است، در اینجا پردازنده ی "الف" با 7 تیک آن دستور را اجرا و به پایان میبرد و پردازنده ی "ب" با 5 تیک همان دستور را انجام میدهد. خوب مسلم است پردازنده ی دومی با اینکه سرعت تیک ساعت همسانی (3000 مگاهرتز) با اولی دارد اما به دلیل اینکه با تعداد تیک کمتری دستور را اجرا میکند از پردازنده ی اولی سریعتر است.
(البته از یاد نبریم سرعت تیک ساعت تنها عامل کارایی یک پردازنده نیست بلکه عوامل دیگری مانند قدرت پردازشی موازی در هر هسته، تعداد هسته های پردازشی، مقدار کش L1 و L2 و L3 و شیوه های متفاوت پردازش و معماری های متفاوت، همگی در کارایی پردازنده هر کدام نقش خودشان را دارند.)
- تفکیک کلاک درونی و کلاک بیرونی پردازنده
کم کم با پیشرفت تکنولوژی و بالارفتن سرعت کلاک پردازنده ها مشکلی بوجود آمد به اسم مادربرد. مادربرد را حتما" از نزدیک دیده اید، یک تخته ی مدار شامل هزاران اتصال و سیم های پیچ در پیچ که قطعات مختلف را به هم ارتباط می دهد. مشکل از این قرار بود: مادربرد نمیتوانست با همان سرعت کلاک پردازنده دیتا را انتقال دهد! به این معنا که وقتی سرعت کلاک مادربرد از یک حدی بالاتر می رفت اتصالات روی مادربرد که خود رشته ی سیم هستند، به جای انتقال جریان از یک سر سیم به سر دیگر آن، تبدیل می شدند به آنتن رادیویی. یعنی با بالارفتن کلاک در سیم های مادربرد جریان الکتریکی تبدیل به امواج رادیویی میشد و هرگز اتصال برقرار نمیشد.
بدین سان، برای حل این مشکل تولید کنندگان CPU به فکر طراحی جدیدی افتادند به اسم ضریب! در این شیوه، که در حال حاضر همه ی CPU های امروزی از آن استفاده میکنند، پردازنده یک کلاک بیرون از خودش پیدا کرد (External Clock) که به آن FSB/BCLK یا فرکانس پایه نیز گفته می شود. پردازنده از این ساعت خارجی برای انتقال اطلاعات از / به رم سیستم استفاده می کند، همزمان، برای ساعت داخلی خود پردازنده، ضریب معین کردند، که از حاصل این ضریب در فرکانس پایه (ساعت بیرونی)، ساعت درونی پردازنده کار میکند. مثلا" سرعت ساعت بیرونی پردازنده ی AMD FX-8350 برابر 200 مگاهرتز است، و حداکثر ضریب درونی آن برابر 21 است، که حاصل ضرب آن در فرکانس پایه می شود حداکثر سرعت پردازنده ی AMD FX-8350 یعنی 4200 مگاهرتز.
در حال حاضر تولید کنندگان کامپیوتر تلاش میکنند این اختلاف بین ساعت بیرونی و ساعت درونی پردازنده را هر چه بیشتر کاهش دهند تا کارایی سیستم افزایش یابد. با توجه به محدودیت ذاتی مادربرد برای افزایش سرعت ساعت بیرونی، راه دیگر افزایش کارایی، انتقال بیش از یک دیتا برای هر تیک این ساعت بیرونی است تا بدین ترتیب اطلاعات بیشتری بین رم و پردازنده جابه جا شود. به این تکنیک Dual Data Rate میگویند، چیزی که برای ما به صورت مخفف به اسم DDR آشناست. و در گذر زمان این میزان عبور و مرور اطلاعات بین رم و پردازنده با پیشرفت تکنولوژی افزایش می یابد.
فقط کاربران عضو قادر به مشاهده لینکها هستند.
- اوورکلاک پردازنده
حال با این توضیحات در مورد کلاک، مفهوم اوورکلاک پردازنده ملموس تر می شود. اوورکلاک، اگر از طریق افزایش سرعت ساعت بیرونی (FSB/BCLK) انجام شود، نتیجه اش یعنی حاصل ضرب ضریب پردازنده در ساعت بیرونی قطعا" سرعتی فراتر از توان عنوان شده برای کلاک درونی پردازنده خواهد بود در نتیجه سرعت تیک تیک ساعت پردازنده افزایش می یابد و دستورالعمل ها سریعتر اجرا می شوند و پردازنده سریعتر کار میکند. همچنین به دلیل اینکه ساعت بیرونی ضرب آهنگ انتقال دیتا بین رم و پردازنده را داراست، هر گونه افزایش در سرعت ساعت آن باعث افزایش سرعت ساعت رمها نیز می شود و آنها را نیز اوورکلاک می کند.
و اگر پردازنده ای با ضریب باز داشته باشید، اوورکلاک می تواند به صورت افزایش ضریب پردازنده انجام شود، یعنی حاصل ضرب میزان ضریب در ساعت بیرونی، باعث افزایش سرعت ساعت درونی پردازنده شود و چون ساعت درونی پردازنده سریعتر تیک تیک می کند و سرعت اجرای دستورالعمل ها و در نتیجه سرعت CPU افزایش می یابد.
اوورکلاک همچنین می تواند ترکیبی از این دو حالت باشد.
.
.
- برگرفته از مقالات موجود در سایت های Wikipedia، Hardwaresecret، Crucial در مورد کلاک، و نحوه ی کارکرد پردازنده.
برای بسیاری از کاربران کامپیوتر مفهوم Overclock پردازنده تعریف شده است. به نوعی مجبور کردن پردازنده به کار کردن در سرعتی بالاتر از سرعت نوشته شده در مشخصات آن. اما تا به حال به مفهوم Clock پی برده اید؟ پیش از آنکه به این سوال پاسخ دهیم اجازه دهید کمی مطالب پایه ای را مرور کنیم. با سوالی که باید اول از همه مطرح شود، خود پردازنده چیست؟
CPU یا آنطور که در دوران تحصیل به زبان پارسی به ما آموختند "واحد پردازشگر مرکزی" مسئول اصلی پردازش اطلاعات در کامپیوتر است که البته به آن "پردازنده" و یا دقیقترش "ریزپردازنده" هم اطلاق میشود. نحوه ی پردازش یک CPU به برنامه یا همان Program بستگی دارد.
- حال برنامه چیست؟
برنامه مجموعه ای از دستورالعملهاست که به پردازنده دستور نحوه ی پردازش اطلاعات ورودی را میدهد. در حقیقت پردازنده نمیفهمد چه چیزی را دارد پردازش میکند. پردازنده فقط از دستورات برنامه پیروی میکند و کاری ندارد هدف برنامه از دادن این دستورات مشخص چیست. خواه این دستورات اضافه کردن 2 بعلاوه ی 2 باشد و یا فرستادن یکسری اطلاعات به کارت گرافیک برای پخش در مانیتور.
به صورت ساده، زمانی که بر روی آیکون برنامه ای روی دسکتاپ کلیک میکنید، هارد دیسک به گردش در می آید و دستورالعمل های مشخصی از روی هارد خوانده میشود و به رم سیستم وارد شده و سپس "کنترولر رم پردازنده" آن اطلاعات را از رم بازخوانی و به هسته های CPU میفرستد تا پردازش بر اساس دستورالعمل آغاز شود. پس از آن دیگر بستگی به برنامه و دستورالعمل های آن دارد که چه اتفاقی برای سیستم بیفتد.
- حال، منظور از کلاک (ساعت) چیست؟
هر پردازنده سرعتی دارد برای پردازش که به آن کلاک می گویند. کلاک به نوعی یک سیگنال است که اجزای سیستم بر اساس آن سرعت عملکرد خود را همسان سازی Sync میکنند. به عکس زیر توجه کنید. 3 سیگنال با آهنگی مشخص، همسان و منظم دائما" از صفر به یک و دوباره به سمت صفر حرکت میکنند.
فقط کاربران عضو قادر به مشاهده لینکها هستند.
هر گردش کامل یک سیگنال (حرکت از صفر به یک و بازگشتش به صفر) را یک تیک این ساعت می نامند. این گردش را با واحد هرتز می سنجند، که مشخص کننده ی تعداد گردش سیگنال در ثانیه است. سرعت 100 مگاهرتزی یعنی 100 میلیون تیک در هر ثانیه. در کامپیوتر همه ی زمان بندی ها را بر پایه ی همین مفهوم گردش ساعت (کلاک) می سنجند. برای مثال، رمی که Latency یا تاخیر 9 دارد، به این معناست که 9 گردش کامل سیگنال لازم دارد (تاخیر میکند) تا شروع به ارسال اطلاعات کند. در درون پردازنده همه ی دستورالعمل ها نیازمند گردش تعداد معینی از سیگنال هستند تا اجرا شوند. مثلا" یک دستورالعمل ممکن است 7 گردش (تیک) لازم داشته باشد تا کامل اجرا شود.
مطلب جالب اینجاست با اینکه CPU هیچ درکی از مطالب مورد پردازش خودش ندارد اما کاملا" می داند برای هر دستورالعمل چه تعداد گردش سیگنال لازم است تا اجرا شود. این دانش را مدیون جدولی است که این اطلاعات را به وی میدهد. هر پردازنده بر اساس طراحی و تکنولوژی ساخت خود داری چندین جدول از دستورالعمل هاست که این جداول را کارخانه ی سازنده درون پردازنده قرار داده است.
فقط کاربران عضو قادر به مشاهده لینکها هستند.
مثلا" اگر دو دستورالعمل به پردازنده برسد، پردازنده می داند دستورالعمل اولی مثلا" به 7 تیک نیازمند است تا اجرا شود. 7 تیک که تمام شد به صورت اتوماتیک با تیک هشتم اجرای دستورالعمل دوم را آغاز میکند. البته به یاد داشته باشید منظور ما از یک پردازنده در اینجا یک هسته ی پردازنده است. در پردازنده های مدرن امروزی هر هسته قادر است در طول یک یا چندین تیک ساعت به صورت موازی دو یا چند دستورالعمل را اجرا کنند تا سریعتر دستورالعمل ها اجرا شوند و به پایان برسند.
- این تیک ساعت ارتباطش با کارایی یا Performance چیست؟
در مورد پردازنده ها تصور غلطی است که فکر کنیم لزوما" سرعت ساعت مساوی کارایی است. بله، اگر در مقام قیاس دو پردازنده ی هم خانواده باشیم، مثلا" i5 4570 و i5 4670 در اینجا بله، سرعت ساعت بالاتر i5 4670 به معنای کارایی بیشتر پردازنده است. به دلیل اینکه زمان بین دو تیک ساعت کوتاه تر خواهد بود، پس تعداد بیشتری گردش سیگنال در ثانیه اتفاق میفتد و اجرای دستورالعمل ها سریعتر به پایان میرسد.
اما اگر دو پردازنده ی غیر هم خانواده را مقایسه کنیم، یا مثلا" دو پردازنده ای را که معماری متفاوت و تولید کنندگان متفاوتی دارند را قیاس کنیم؛ در این حالت دیگر نمیتوان سرعت ساعت را مقیاس کارایی بیشتر دانست. برای مثال دو پردازنده که هر دو 3000 مگاهرتز در ثانیه سرعت داشته باشند را در نظر بگیرید. پردازنده ی "الف" از شرکت AMD و پردازنده ی "ب" از شرکت Intel
پیشتر اشاره کردیم برای اجرای یک دستورالعمل به تعداد مشخصی گردش سیگنال/تیک نیاز است، در اینجا پردازنده ی "الف" با 7 تیک آن دستور را اجرا و به پایان میبرد و پردازنده ی "ب" با 5 تیک همان دستور را انجام میدهد. خوب مسلم است پردازنده ی دومی با اینکه سرعت تیک ساعت همسانی (3000 مگاهرتز) با اولی دارد اما به دلیل اینکه با تعداد تیک کمتری دستور را اجرا میکند از پردازنده ی اولی سریعتر است.
(البته از یاد نبریم سرعت تیک ساعت تنها عامل کارایی یک پردازنده نیست بلکه عوامل دیگری مانند قدرت پردازشی موازی در هر هسته، تعداد هسته های پردازشی، مقدار کش L1 و L2 و L3 و شیوه های متفاوت پردازش و معماری های متفاوت، همگی در کارایی پردازنده هر کدام نقش خودشان را دارند.)
- تفکیک کلاک درونی و کلاک بیرونی پردازنده
کم کم با پیشرفت تکنولوژی و بالارفتن سرعت کلاک پردازنده ها مشکلی بوجود آمد به اسم مادربرد. مادربرد را حتما" از نزدیک دیده اید، یک تخته ی مدار شامل هزاران اتصال و سیم های پیچ در پیچ که قطعات مختلف را به هم ارتباط می دهد. مشکل از این قرار بود: مادربرد نمیتوانست با همان سرعت کلاک پردازنده دیتا را انتقال دهد! به این معنا که وقتی سرعت کلاک مادربرد از یک حدی بالاتر می رفت اتصالات روی مادربرد که خود رشته ی سیم هستند، به جای انتقال جریان از یک سر سیم به سر دیگر آن، تبدیل می شدند به آنتن رادیویی. یعنی با بالارفتن کلاک در سیم های مادربرد جریان الکتریکی تبدیل به امواج رادیویی میشد و هرگز اتصال برقرار نمیشد.
بدین سان، برای حل این مشکل تولید کنندگان CPU به فکر طراحی جدیدی افتادند به اسم ضریب! در این شیوه، که در حال حاضر همه ی CPU های امروزی از آن استفاده میکنند، پردازنده یک کلاک بیرون از خودش پیدا کرد (External Clock) که به آن FSB/BCLK یا فرکانس پایه نیز گفته می شود. پردازنده از این ساعت خارجی برای انتقال اطلاعات از / به رم سیستم استفاده می کند، همزمان، برای ساعت داخلی خود پردازنده، ضریب معین کردند، که از حاصل این ضریب در فرکانس پایه (ساعت بیرونی)، ساعت درونی پردازنده کار میکند. مثلا" سرعت ساعت بیرونی پردازنده ی AMD FX-8350 برابر 200 مگاهرتز است، و حداکثر ضریب درونی آن برابر 21 است، که حاصل ضرب آن در فرکانس پایه می شود حداکثر سرعت پردازنده ی AMD FX-8350 یعنی 4200 مگاهرتز.
در حال حاضر تولید کنندگان کامپیوتر تلاش میکنند این اختلاف بین ساعت بیرونی و ساعت درونی پردازنده را هر چه بیشتر کاهش دهند تا کارایی سیستم افزایش یابد. با توجه به محدودیت ذاتی مادربرد برای افزایش سرعت ساعت بیرونی، راه دیگر افزایش کارایی، انتقال بیش از یک دیتا برای هر تیک این ساعت بیرونی است تا بدین ترتیب اطلاعات بیشتری بین رم و پردازنده جابه جا شود. به این تکنیک Dual Data Rate میگویند، چیزی که برای ما به صورت مخفف به اسم DDR آشناست. و در گذر زمان این میزان عبور و مرور اطلاعات بین رم و پردازنده با پیشرفت تکنولوژی افزایش می یابد.
فقط کاربران عضو قادر به مشاهده لینکها هستند.
- اوورکلاک پردازنده
حال با این توضیحات در مورد کلاک، مفهوم اوورکلاک پردازنده ملموس تر می شود. اوورکلاک، اگر از طریق افزایش سرعت ساعت بیرونی (FSB/BCLK) انجام شود، نتیجه اش یعنی حاصل ضرب ضریب پردازنده در ساعت بیرونی قطعا" سرعتی فراتر از توان عنوان شده برای کلاک درونی پردازنده خواهد بود در نتیجه سرعت تیک تیک ساعت پردازنده افزایش می یابد و دستورالعمل ها سریعتر اجرا می شوند و پردازنده سریعتر کار میکند. همچنین به دلیل اینکه ساعت بیرونی ضرب آهنگ انتقال دیتا بین رم و پردازنده را داراست، هر گونه افزایش در سرعت ساعت آن باعث افزایش سرعت ساعت رمها نیز می شود و آنها را نیز اوورکلاک می کند.
و اگر پردازنده ای با ضریب باز داشته باشید، اوورکلاک می تواند به صورت افزایش ضریب پردازنده انجام شود، یعنی حاصل ضرب میزان ضریب در ساعت بیرونی، باعث افزایش سرعت ساعت درونی پردازنده شود و چون ساعت درونی پردازنده سریعتر تیک تیک می کند و سرعت اجرای دستورالعمل ها و در نتیجه سرعت CPU افزایش می یابد.
اوورکلاک همچنین می تواند ترکیبی از این دو حالت باشد.
.
.
- برگرفته از مقالات موجود در سایت های Wikipedia، Hardwaresecret، Crucial در مورد کلاک، و نحوه ی کارکرد پردازنده.