همه نرمافزارهای رایانهای روی سختافزار اجرا میشوند، بنابراین اگر سختافزار قبلاً کار را انجام میدهد، استفاده از «شتاب سختافزاری» برای نرمافزار چه معنایی دارد؟ به نظر می رسد راه هایی برای انجام کارها با سخت افزار رایانه سریعتر وجود دارد. خیلی سریعتر.
شتاب سخت افزاری چیست؟
شتاب سخت افزاری رویکردی برای محاسبات است که در آن از سخت افزار تخصصی برای انجام محاسبات بسیار سریعتر از سخت افزارهای عمومی استفاده می شود. ما در عرض یک دقیقه توضیح میدهیم که این به چه معناست، اما نکات گسترده این است که اگر از سختافزار تخصصی برای انجام آن استفاده کنید، برخی از کارهای رایج بسیار سریعتر انجام میشوند. یک مثال خوب از این یک GPU است. یکی دیگر از نامهای تاریخی GPU « شتابدهنده سهبعدی » است، اگرچه امروزه آنها بسیار بیشتر از گرافیکهای سه بعدی هستند.
CPU در رایانه شما می تواند همان ریاضیاتی را انجام دهد که GPU شما می تواند انجام دهد، فقط یک GPU می تواند آن را سریعتر انجام دهد—به اندازه ای سریع که گرافیک سه بعدی پیچیده را در زمان واقعی ممکن کند. نمونه های دیگری از شتاب سخت افزاری در رایانه های معمولی و دستگاه های تلفن همراه رمزگذاری و رمزگشایی ویدیو است. اکثر رایانهها و تلفنهای مدرن دارای تراشههای تخصصی در داخل خود هستند که ویدیو را به سرعت پردازش میکنند و در حالی که انرژی بسیار کمتری نسبت به یک CPU کامل مصرف میکنند، درگیر همان کار هستند.
پردازندههای بزرگ مانند CPU و GPU دارای بخشهای اختصاصی در ساختار خود هستند که برای کارهای خاص طراحی شدهاند. به عنوان مثال، یک کارت گرافیک NVIDIA RTX دارای مناطق ویژه ای از GPU است که برای تسریع ردیابی پرتو یا کارهای مرتبط با هوش مصنوعی طراحی شده است.
چرا شتاب سخت افزار سریعتر است؟
شتاب سخت افزار همه چیز در مورد تخصص است. CPU شما جک همه معاملات است، اما استاد هیچکدام نیست. برای انجام هر گونه محاسبه ای که می تواند در کد باینری بیان شود، به اجزای طراحی خود نیاز دارد، اما ذاتاً ناکارآمد است. به عنوان یک مثال ساده، اگر مجبور باشید ماشینی بسازید که بتواند اعداد را جمع، تفریق، ضرب و تقسیم کند، بعید است که به سرعت ماشینی باشد که تنها با هدف جمع کردن اعداد ساخته شده است. با چنین تمرکز لیزری بر روی مجموعه محدودی از مشکلات، می توانید سریعتر و کارآمدتر باشید.
معایب شتاب سخت افزاری چیست؟
شتاب سخت افزاری با چند معاوضه همراه است. بزرگترین مورد از دست دادن انعطاف پذیری است. وقتی سخت افزاری دارید که برای انجام یک کار یا مجموعه کوچکی از کارهای مرتبط ساخته شده است، توانایی انجام کارهای دیگر را رها می کنید. به همین دلیل است که ما همیشه به یک CPU به هر شکلی نیاز داریم، مهم نیست که چند پردازنده مشترک تخصصی داشته باشید.
یکی دیگر از نقاط ضعف قابل توجه شتاب سخت افزاری این است که شما در یک فرآیند خاص قفل شده اید. به عنوان مثال، ماینرهای ارزهای دیجیتال اغلب از ASIC (مدارهای مجتمع ویژه برنامه) استفاده می کنند که در استخراج یک بلاک چین خاص سریع و کارآمد هستند. با این حال، آنها نمیتوانند روی بلاکچینهای دیگری که از «ریاضی» متفاوت استفاده میکنند، استخراج کنند، بنابراین اگر آن شکل از رمزنگاری بیسود شود، سختافزار بیفایده میشود. تلفن شما میتواند رمزگشایی ویدیوی کدکهای ویدیویی خاص را تسریع کند ، اما برای کدکهای جدیدتر نمیتواند این کار را انجام دهد. برای این کار به یک گوشی جدید نیاز دارید!
به طور مشابه، بازی Alan Wake 2 از یک جزء سخت افزاری گرافیکی به نام mesh shaders استفاده می کند . اگر کارت گرافیکی با پشتیبانی سختافزاری شتابدهنده برای ویژگی سایهزن مش ندارید، GPU مجبور است محاسبات را با استفاده از سختافزار همهمنظورهتر انجام دهد که منجر به مشکلات عملکردی عظیم میشود .
برای کسانی که ریزپردازندهها را طراحی میکنند، یک سوال مهم در رابطه با سختافزار تخصصی و محدود بودن املاک درون یک تراشه نیز وجود دارد. به عنوان مثال، سخت افزار شتاب ردیابی اشعه در کارت های گرافیک NVIDIA RTC می تواند پردازنده های GPU همه منظوره باشد. این به این معنی است که شما از عملکرد ردیابی غیر اشعه به نفع اجرای آن ویژگی بسیار سریعتر صرف نظر می کنید.
چه زمانی شتاب سخت افزاری را روشن کنیم
پاسخ کوتاه این است که شما باید شتاب سخت افزاری را در هر کجا که در دسترس است روشن کنید. در بیشتر موارد تأثیر بر عملکرد در مقابل استفاده از پردازش همه منظوره عمیق است. به عنوان مثال، صادرات ویدئو با سرعت سخت افزار می تواند تاثیر مالی واقعی برای سازندگان محتوا داشته باشد، زیرا زمان پول است.
با این حال، شتاب سخت افزاری همیشه بهترین راه حل نیست:
گاهی اوقات شتاب سخت افزاری دلیل بی ثباتی در برنامه هاست. برای مثال، معمولاً ویژگیهای شتابدهنده سختافزاری مرورگرهای وب باعث ایجاد مشکل میشوند. به همین دلیل است که خاموش کردن شتاب سخت افزاری برای مرورگرها یک مرحله رایج عیب یابی اولیه است.
شتاب سختافزاری گاهی اوقات میتواند سریعتر باشد، اما نتایج با کیفیت پایینتری ایجاد میکند. بنابراین، اگر دقت در اولویت است، ممکن است بخواهید کارها را به آرامی انجام دهید.
با این حال، اگر مشکل کیفیت یا پایداری ندارید، ادامه دهید و سوئیچ توربو را روشن کنید!