صفحه اصلیتوت بلاگپردازنده عصبی (NPU) چیست و چرا مهم است؟

پردازنده عصبی (NPU) چیست و چرا مهم است؟

علی جوان

علی جوان

آخرین ویرایش :  ۱۴۰۳/۹/۱۲

زمان مطالعه:  19دقیقه

پردازنده عصبی (NPU) چیست و چرا مهم است؟

پردازنده‌های عصبی، سالیان متوالی در پردازنده‌های مبتنی بر ساختار و معماری ARM وجود داشته است، در ابتدا فقط در پلتفرم موبایل پردازنده‌های ARM موجود بوده و سپس، در نسخه‌های دسکتاپ معماری ARM و سپس x86 نیز وارد حیات شد، در سمت کامپیوتر سرورها، پردازنده‌های توانا در پردازش‌های هوش مصنوعی قبل‌تر وجود داشتند، اما مجدد نه به صورت تخصصی!، از برخی دلایل پیدایش پردازنده‌های مبتنی بر پردازش‌های هوش مصنوعی، مانند (NPU)، می‌توان به موارد زیر اشاره کرد:

1.     مدیریت به‌تر منابع و بهینه‌گی در مصرف انرژی

2.     عدم نیاز کاربر به اتصال دائم اینترنت، جهت پردازش‌های مبتنی بر هوش مصنوعی

3.     آزادسازی بار اضافه پردازشی، از پردازنده‌های مرکزی (CPU) و پردازنده‌های گرافیکی (GPU)

4.     تغییرات اساسی در عملکرد گیمینگ (Gaming) کاربران و موارد بیشتر

NPU چیست؟، ابتدا باید دو ساختار و معماری پایه و اصلی تمامی پردازنده‌های تجاری جهان را بشناسیم ، در مقاله قبلی به نام: تحولات در راه است!، همکاری غیرمنتظره دو غول صنعت نیمه هادی، اینتل و AMD، در رابطه با دو معماری جامع و اساسی تمامی پردازنده‌های تجاری حال حاضر جهان اشاراتی کردم و مختصر توضیحی دادم، اما در این مقاله به صورت تخصصی‌تر به آن‌ها می‌پردازم، زیرا از ادبیات اصلی و پیش نیاز پردازنده‌های هوش مصنوعی می‌باشد:

1.     معماری “x86”

2.     معماری “ARM”

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

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

پردازنده های مبتنی بر معماری ARM:

پردازنده‌های مبتنی بر ساختار و معماری آرم، پردازنده‌هایی با مصرف انرژی بسیار پایین‌تر به نسبت پردازنده‌های x86 می‌باشند، معماری ARM، معماری تقویت شده و به‌روز شده و انحصاری، از خانواده مدل معماری کامپیوتری “Reduced Instruction Set Computing (RISC)” می‌باشد، یعنی از مجموعه دستورالعمل‌های ساده‌تر به نسبت مدل معماری کامپیوتری CISC برای پردازش پروسه‌ها استفاده می‌کند و خروجی این مدل از فرآیند، پردازنده‌های به شدت بهینه در مصرف انرژی می‌باشند، اما در مقابل پروسه‌های پیچیده، عموما دارای عملکردی ضعیف‌تر، به نسبت مدل معماری کامپیوتری CISC می‌باشند، بنیان‌گذار معماری ARM، شرکت “Acorn” می‌باشد و  ARM به اختصار یعنی “Acorn RISC Machine”.

از انواع پردازنده‌های مبتنی بر معماری ARM می‌توان به دو گروه زیر اشاره کرد:

1.     شخصی‌سازی شده تحت گواهینامه ARM

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

2.     مبتنی بر معماری اصلی ARM

مجموعه پردازنده‌هایی که شرکت طراحی کننده، مجاز در ایجاد تغییرات ساختار اصلی پردازنده، مانند هسته‌های پردازشی نمی‌باشد و باید از میان هسته‌های پردازشی اصلی ARM گزینش کند، مانند انواع هسته‌های سری “Cortex”

اما شرکت‌های طراحی کننده، مانند سامسونگ، برای بخش‌های دیگر پردازنده‌های خود، از ساختار معماری‌های انحصاری خود، عموما مبتنی بر معماری منبع باز RISC-V استفاده می‌کنند، مانند بخش انحصاری "NPU از انواع پردازنده‌های مبتنی بر ساختار اصلی ARM می‌توان به پردازنده شرکت‌های مطرح صنعت تکنولوژی و نیمه‌هادی زیر اشاره کرد:

 Samsung”و  Qualcomm و “Mediatek

پردازنده‌های مبتنی بر معماریx86

پردازنده‌های مبتنی بر معماری x86، پردازنده‌هایی با مصرف انرژی بسیار بالا می‌باشند، مانند انواع پردازنده‌های اینتل و ای‌ام‌دی، معماری x86 معماری تقویت شده و به‌روز شده و انحصاری، از مدل معماری کامپیوتری “Complex Instruction Set Computing (CISC)” استفاده می‌کند، یعنی برای پردازش پروسه‌ها، از مجموعه دستورالعمل‌های پیچیده استفاده می‌کند، بنیان‌گذار معماری x86، شرکت اینتل می‌باشد.

ساختار سیستم روی چیپ‌ها را بشناسیم “(SOC) System On Chip”:

به دلیل پیشرفت ماشین‌های صنعت نیمه هادی، مانند ماشین‌های لیتوگرافی (ماشین‌های تولید قطعات نیمه‌هادی و پردازنده‌ها)، صنعت نیمه‌هادی دست‌خوش تغییرات بزرگ و بنیادی شده است، یکی از دستاوردهای بزرگ این پیشرفت‌ها، امکان ادغام بخش‌های پردازشی مختلف یک سیستم کامپیوتری داخل یک بخش واحد مجتمع می‌باشد، یعنی “SOC”، دو واحد پردازشی اصلی یک سیستم کامپیوتری، پردازنده مرکزی “CPU” و پردازنده گرافیکی “GPU” می‌باشد، ساختار “SOC” این امکان را فراهم می‌کند، تا این دو بخش اصلی پردازشی + بخش‌های دیگر، مانند میکرو پردازنده صدا و تصویر، میکرو پردازنده کنترلر ورودی و خروجی‌ها “I/O” و نسل جدید انواع پردازنده‌های تخصصی و یا به عبارتی Coprocessorها، مانند پردازنده عصبی “NPU” و بخش‌های متعدد دیگر پردازشی در یک چیپست مجتمع “Silicon Die” گردهم بیایند، این تکنولوژی باعث کاهش هزینه‌ها، مدیریت به‌تر منابع و کاهش اتلاف انرژی می‌شود و در نهایت باعث افزایش بهره‌وری و عملکرد پردازشی می‌شود.

Coprocessor چیست؟

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

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

انواع کوپروسسور میتواند به موارد زیر اشاره کرد:

NPU, I/O Chip, Audio Chip, South Bridge Chip, North Bridge Chip

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

 

نمونه تصویر تئوری، از واحدهای تشکیل دهنده یک ساختار ‘’SOC’’:

نمونه تصویر واقعی، از یک پردازنده مبتنی بر ساختار SOC، مبتنی بر معماری x86 موبایل: