بایگانی برچسب: s

پردازنده ها چطور از چند هسته استفاده می‌کنند؟

اکثر پردازنده‌های امروزی از آن‌هایی که در کامپیوترهای شخصی مورد استفاده قرار می‌گیرند تا پردازنده‌‌ی گوشی‌های هوشمند بیش از یک هسته دارند. اما هسته‌ در پردازنده‌ها به چه معنی است و تعداد هسته‌های بیشتر در یک پردازنده چه تاثیری در کارایی سیستم دارد؟

پردازنده ۲هسته‌ای، ۴هسته‌ای، ۶هسته‌ای یا حتی پردازنده با هسته‌های بیشتر در بازار یافت می‌شوند. در بسیاری از کامپیوترها و حتی ابزارهای موبایل، تعداد هسته‌های بیشتر، به یک عامل مهم در فروش محصولات تبدیل شده است و کاربران ترجیح می‌دهند تا دستگاهی را تهیه کنند که به پردازنده با هسته‌های بیشتر مجهز شده باشد. در نگاه کلی، تعداد هسته‌های بیشتر به معنی قدرت پردازش بالاتر است. هرچند این عبارت همیشه صادق نیست، اما در معماری و طراحی یکسان، هر چه تعداد هسته‌ها افزایش یابد، قدرت پردازشِ پردازنده بیشتر می‌شود.

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

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

۲x20x60x187

در این حالت پردازنده ابتدا ۲ را در ۲۰ ضرب کرده و ‌سپس حاصل را در ۶۰ ضرب کرده و نتیجه را در ۱۸۷ ضرب می‌کند.

۲x20 
۴۰x60 
۲۴۰۰x187

اما یک پردازنده‌ی دو هسته‌ای می‌تواند دو عملیات اول را همزمان پردازش کرده و سپس عملیات سوم را پردازش کند. این کار که Parallelization یا پردازش موازی نام‌گذاری شده، باعث می‌شود تا سرعت اجرای دستورات بیشتر شود.

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

چرا تعداد هسته‌های CPU به اندازه‌ی GPU نیست؟

حال این سوال مطرح می‌شود که اگر پردازش موازی باعث افزایش سرعت می‌شود چرا CPUها مثل GPUها از چندین هسته بهره نمی‌برند؟ GPUها نیز وظیفه‌ی پردازش امور را برعهده دارند اما این پردازنده‌ها از چندین هسته بهره می‌برند. به‌عنوان مثال کارت گرافیک قدرتمند GeForce 1080 انویدیا از ۲۵۶۰ هسته بهره می‌برد این در حالی است که CPU کامپیوترهای دسکتاپ حداکثر ۱۰ هسته دارند.

۵۹aa149c-67a5-4618-8128-3bca00e94e80هرچند GPUها تعداد هسته‌های به مراتب بیشتری نسبت به CPUها دارند، اما این هسته‌ها، بسیار ضعیف‌تر بوده و با فرکانس پایین‌تری کار می‌کنند. پاسخ کوتاه به این پرسش این است که GPU یا پردازنده گرافیکی همان‌طور که از نامش پیدا است برای پردازش امور مرتبط با گرافیک مانند رندر تصاویر بازی‌ها یا نرم‌افزارهای سه‌بعدی یا ادیت ویدیو به‌کار می‌روند. اما در عوض CPU قادر به انجام پردازش‌های مختلف برای امور گوناگون است. اموری که برای پردازش به GPU سپرده می‌شوند، عموما امکان خرد کردن آن‌ها و پردازش موازی گسترده‌‌شان وجود دارد. حتی در بازی‌ها نیز بعضی از امور مانند هوش مصنوعی توسط CPU پردازش می‌شود چرا که هسته‌های ضعیف GPU قادر به پردازش تسک‌های بزرگ و پیچیده‌ی مربوط به هوش مصنوعی نیستند و از طرفی خرد کردن این دستورات در چندین تسک کوچک نیز کار دشواری است.

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

فناوری Hyper Threading  

این فناوری که توسط اینتل توسعه داده شده امکان اجرای تسک‌های همزمان بیشتر در پردازنده‌ را میسر می‌کند. هایپر-تردینگ اولین بار در سال ۲۰۰۲ و به همراه Pentium 4 HT معرفی شد. پنتیوم ۴ تنها یک هسته داشت و قادر به اجرای همزمان یک دستور بود؛ اما به کمک فناوری هایپر-تردینگ در نسخه‌ی HT این پردازنده، امکان اجرای همزمان دو دستور فراهم شد.

۷۸a1781d-fc4a-4729-9555-08378b8abf57در فناوری هایپر-تردینگ دو یا چند هسته‌ی منطقی به ازاء هر هسته‌ی فیزیکی ایجاد می‌شود و رفتار سیستم‌عامل با این هسته‌های منطقی درست مثل هسته‌های فیزیکی است. به این ترتیب تسک‌ها به‌صورت موازی پردازش شده و پردازنده با توان بیشتر شروع به پردازش امور می‌کند. در واقع پردازنده، به نوعی سیستم‌عامل را فریب و به کمک مکانیزم خاصی پردازش موازی را در هر هسته شکل می‌دهد. در این حالت منابع پردازنده به دو بخش تقسیم می‌شوند. اگر یکی از هسته‌های مجازی پردازش تسک موردنظر خود را به پایان برساند و به حالت انتظار برود، منابع در دسترس آن به پردازش سریع‌تر تسک موازی آن به هسته‌ی مجازی دیگر قرض داده می‌شود. در اکثر شرایط فناوری هایپر-تردینگ به خوبی شرایطی که پردازنده دو برابر هسته‌ داشته باشد کار می‌کند.

پردازنده‌های جدید امروزی نه تنها از چند هسته بهره می‌برند بلکه فناوری Hyper-Threading را نیز دارند. در این حالت مثلا پردازنده‌ی دو هسته‌ای با فناوری هایپر-تردینگ همچون پردازنده‌ی ۴ هسته‌ای در سیستم‌عامل شناخته می‌شود.

پردازنده‌های چند هسته‌ای

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

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

امروزه پردازنده‌های  ۴هسته‌ای، ۸هسته‌ای، ۱۶هسته‌ای یا حتی ۲۲هسته‌ای نیز وجود دارد و اکثر آن‌ها نیز از فناوری هایپر-تردینگ یا فناوری مشابه آن پشتیبانی می‌کنند که باعث می‌شود تعداد هسته‌های منطقی و فیزیکی آن‌ها به ۸، ۱۶ یا ۳۲ یا ۴۴ هسته افزایش یابد. مزیت اصلی افزایش هسته‌ها در یک پردازنده آن است که نیازی به استفاده از ۴ یا ۸ سوکت در یک مادربرد نیست و همچنین ارتباط بین هسته‌ها به مراتب بهینه‌تر انجام می‌شود.

۸ff763f9-5afb-4d63-bec4-15606d4959fbتولیدکنندگان عموما هسته‌های پردازنده را در یک IC مجتمع می‌کنند و از این چیپ به‌عنوان مالتی‌پراسسور یا CMP یاد می‌شود. پردازنده‌ی چندهسته‌ای می‌تواند بسته به معماری آن به شکل متفاوتی به منابع پردازنده دسترسی داشته باشند. به‌عنوان مثال در بعضی از معماری‌ها هر کدام از هسته‌ها حافظه‌ی کش خود را دارند و برخی نیز از حافظه‌ی کش مشترک بهره می‌برند. برخی از آن‌ها روش‌های متفاوتی برای ارتباط بین هسته‌ها و ارسال پیام به یکدیگر دارند و نحوه‌ی دسترسی آن‌ها به حافظه‌ی رم نیز متفاوت است. شبکه با توپولوژی‌های متفاوتی نیز برای ارتباط بین هسته‌ها مانند باس، رینگ و غیره به‌کار گرفته می‌شود.

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

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

با این حال برخی از تولیدکنندگان بازی‌های ویدیویی مانند Remedy, Valve, Epic Games و یوبی‌سافت، از موتورهایی برای تولید بازی‌های خود استفاده می‌کنند که از پردازش موازی پشتیبانی می‌کنند و البته هنوز هم بخش‌هایی از برنامه تنها فقط از طریق یک هسته پردازش می‌شوند.

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

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

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

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

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

منبع: زومیت

مشکل سازندگان تراشه: کاهش میزان فروش کامپیوتر، تبلت و گوشی هوشمند

به نظر می‌رسد که در سال ۲۰۱۶ برای دومین بار در تاریخ،  به دلیل کم‌شدن درخواست‌ها برای کامپیوتر و موبایل، بازار نیمه‌رساناها با کاهش فروش روبرو باشد. براساس گزارش Gartner، امسال فروش نیمه‌رسانا‌ها با ۰.۶ درصد کاهش، به رقم ۳۳۳ میلیارد عدد در سال خواهد رسید. براساس این گزارش، کاهش فروش سال ۲۰۱۵ به میزان ۲.۳ درصد بوده است. با ما همراه باشید.

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

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

TSMC، سازنده‌ی تراشه شرکت‌های بزرگ Nvidia و اپل، اعلام کرده که میزان افزایش فروش خود را از ۸ درصد به ۷ درصد تقلیل داده است. آنها اعلام کرده‌اند که مردم به دلیل درخواست وسایل جدید، ترجیح می‌دهند خریدی انجام ندهند.

۰۳۷ce563-e4d9-404a-894a-28089d1ce407

اگرچه ، بررسی‌های Yahoo Finance در رابطه با بزرگ‌ترین شرکت ساخت تراشه‌ی کامپیوتری یعنی اینتل، نشان از درآمد ۱۳.۹ میلیارد دلاری این شرکت با افزایش فروش ۸.۷ درصدی نسبت به سال قبل دارد، تحلیل‌گران انتظار افزایش ۴۸ سنتی سهام را دارند. اما اینتل قصد جداسازی خود از صنعت کامپیوتر و رفتن به سمت بازارهای در حال توسعه مانند IOT، مراکز داده و بازار نوپای Optane Memory را دارد.

این قضیه که کاهش فروش کامپیوترها، تبلت‌ها و گوشی‌های هوشمند، تأثیر مستقیم بر بازار سازندگان تراشه دارد، غافلگیر‌کننده نیست. حتی با ورود ابزارهای پوشیدنی و IOT نیز تغییر خاصی ایجاد نشده است. شرکت‌های بزرگ نیازمند اختراع بزرگ دیگری هستند و اکنون به آن نیاز دارند. اگر این اتفاق به زودی نیفتد، ممکن است شاهد مشکلات بیشتری باشیم. سال گذشته شرکت Avago، با قیمت ۳۷ میلیارد دلار شرکت تراشه‌سازی Broadcom را خریداری کرد. این شرایط می‌تواند ادامه پیدا کند. با ادامه‌ی این وضع یک راه پیش پای صنایع باقی می‌ماند؛ شرایط سخت نیازمند تخفیف در فروش وسایل است.

نظر شما در این رابطه چیست؟

منبع: زومیت

ساخت تراشه‌ای که از چشم کاربر به عنوان رمز عبور استفاده می‌کند

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

همچنین عملکرد گرافیکی و بصری رایانه‌ها تا دو برابر بهبود یافته و عملکرد برنامه‌های تحت وب هم در مقایسه با رایانه‌های شخصی سه سال قبل تا ۵۰ درصد بهتر می‌شود.

نکته جالب دیگر این است که لاگین کردن و ورود به رایانه‌های مجهز به تراشه‌های Skylake تنها با نگاه کردن به آنها امکان‌پذیر خواهد بود.

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

تازه‌ترین آمار نشان می‌دهد که عرضه جهانی رایانه‌های شخصی در سه ماهه دوم سال ۲۰۱۵ در مقایسه با مدت مشابه سال قبل ۱۱.۸ درصد کاهش یافته است.

قابلیت مهم دیگر این تراشه شارژ بی‌سیم ابزار و لوازمی است که در اطرافش قرار بگیرند. تراشه یاد شده با استفاده از وسیله‌ای خاص که زیر میز قرار می‌گیرد می‌تواند هر سطح مسطحی را به یک شارژر مبدل کند.

این شارژر فعلا ۵ واتی است و قابیت ارتقا به یک شارژر ۲۰ واتی را هم دارد. البته تکمیل این فناوری تا یک سال دیگر به طول می‌انجامد.