SoC چیست؟ چه تفاوتی با CPU دارد؟
CPU چیست؟
CPU یا Central Processor Unit در واقع واحد پردازش اصلی هر کامپیوتر است. کامپیوترها یا ابزارهایی که نیاز به انجام امور محاسباتی دارند، بدون CPU قادر به انجام هیچ کاری نیستند. CPU اطلاعات را از حافظه دریافت نموده، سپس الگورتیمهای مختلف مانند ضرب و جمع یا عملیاتهای منطقی مانند and یا or یا not را برروی آنها اعمال کرده و در نهایت خروجی را تحویل میدهد. هرچه پردازنده قویتر باشد، قادر به پردازش حجم بیشتری از اطلاعات خواهد بود و در نتیجه سرعت سیستم نیز بالاتر خواهد رفت. تمام بخشهای مختلف کامپیوتر به CPU وابسته هستند و بدون آن هیچ عملیاتی انجام نمیشود. اما CPU نیز به تنهایی قادر به فعالیت نیست و به حافظه برای نگهداری اطلاعات، پردازنده گرافیکی برای رندر تصاویر و هزاران قطعه ریز و درشت دیگر نیاز دارد.
SoC چیست؟
سیستم-روی-یک-چیپ یا SoC در واقع یک مدار مجتمع یا IC است که قطعات یک کامپیوتر کامل یا یک سیستم الکتریکی را در یک تراشه جای داده است. SoC ممکن است شامل واحد پردازش مرکزی (CPU)، واحد پردازش گرافیکی (GPU)، حافظه، کنترلرهای ورودی و خروجی مانند USB، مدار کنترل کننده توان، شبکههای بیسیم مانند Wi-Fi، بلوتوث و 4G باشد.
اگر بخواهیم دقیقتر شویم معمولا SoCها شامل بخشهای زیر هستند:
- برخی از SoC ها که دارای چند میکروپروسسور در یک چیپ هستند، MPSoC خوانده میشود؛ این SoCها در واقع از پردازنده چند هستهای بهره میبرند.
- GPU یا واحد پردازش گرافیک
- پردازنده مربوط به رمزگذاری و رمزگشایی تصویر
- حافظه که خود شامل حافظه ROM و RAM و EEPROM میشود
- اینترفیسهای خارجی شامل، کنترلر USB، FireWire، شبکه با سیم، USART و SPI
- اینترفیسهای آنالوگ شامل ADCها و DACها
- رگولاتور ولتاژ و مدار مجتمع کنترل قدرت
- کنترل کنندههای شبکههای بیسیم مانند بلوتوث، وای-فای، 3G یا 4G LTE
پس SoC یک تراشه است که تمام موارد فوق را در خود جای داده و از طریق استاندارد خاصی به یکدیگر متصل نموده است. به عنوان مثال اکثر سیستم-روی-یک-چیپهای امروزی از معماری ARM برای اتصال این قطعات به یکدیگر بهره میبرند. در اغلب SoCها یک کنترلر DMA وظیفه ارتباط بین حافظه و اینترفیسهای خارجی را بدون درگیر کردن هستههای پردازنده بر عهده دارد که به این ترتیب از میزان فشار بر روی پردازنده اصلی در SoC کاسته میشود.
لازم است به این موضوع اشاره کنیم که تمام بخشهای یک SoC توسط یک شرکت طراحی نمیشوند. به عنوان مثال ممکن است تنها CPU و GPU توسط آرم معماری شده و توسط شرکت دیگر تولید شوند. در برخی از SoCها، CPU براساس معماری آرم و GPU یا کنترلرها نیز براساس معماری شرکت دیگری تولید میشوند. تولید کننده این تراشهها نیز برای استفاده از هر کدام از این معماریها باید گواهی مستقل را از صاحبان آنها دریافت کنند. برای کسب اطلاعات بیشتر در این باره به مقاله «معماری ARM چیست؟ چه تفاوتی با x86 اینتل دارد؟ » مراجعه کنید.
تاثیر نرمافزار را فراموش نکنید
هرچند پردازش امور توسط SoC انجام میشود، اما نرمافزار نقش بسیار مهمی را در بازده و عملکرد این پردازندهها ایفا میکند. برای استفاده بهینه و بهرهوری حداکثری از SoCها، نرمافزار و سیستمعاملها نیز باید به خوبی با آنها سازگار شده و از معماری خوبی برخوردار باشند. به عنوان مثال هنوز نرمافزارهای بسیار کمی وجود دارند که قادر به استفاده حداکثری از تمام توان SoCهای چند هستهای هستند.
تفاوت SoC با CPU در چیست؟
در واقع در SoCها، CPU بخشی از تراشه است. مهمترین مزیت SoC و محبوب شدن آنها در سایز بسیار کوچکشان است؛ همان موردی که در تلفنهای هوشمند، تبلتها و دیگر گجتهای قدرتمند امروزی بسیار حائز اهمیت است. به لطف قویتر شدن SoCها، تلفنهای هوشمند امروزی قادر به انجام بسیاری از امور کامپیوترهای شخصی شدهاند.
مزیت دیگر سیستم-روی-یک-چیپها در ارتباط سریعتر و سادهتر بین قطعات مختلف است که منجر به کاهش مصرف انرژی و متقابلا افزایش طول عمر باتری میشود؛ موضوعی که در تلفنهای همراه و گجتهای قابل حمل اهمیت بسیاری دارد.
استفاده از SoCها، هزینه تولید محصول را به میزان قابل ملاحظهای کاهش میدهد؛ چون نیازی نیست که هر کدام از قطعات بصورت جداگانه تولید شده و سپس بصورت مستقل بر روی برد نصب شوند.
مهمترین نقطه ضعف SoCها مربوط به عدم انعطاف پذیری آنها است. در کامپیوترهای شخصی شما به راحتی قادر به تعویض یا ارتقاء GPU یا CPU یا RAM هستید؛ چون این قطعات بصورت مستقل بر روی برد اصلی جای میگیرند. اما در تلفنهای هوشمند امکان ارتقاء این قطعات نیست. شاید در آینده امکان تعویض SoCها در گجتها میسر شود؛ اما در آن صورت نیز باید هزینه بالایی را پرداخت کنید؛ چون در SoC، حافظه رم، پردازنده گرافیکی و دیگر قطعات ذکر شده در بالا، وجود دارند و در این صورت همگی با هم تعویض میشوند.
CPUها به آخر خط رسیدهاند
اما CPUها نفسهای آخر خود را میکشند و هر چه جلوتر میرویم، پردازندهها علاوه بر CPU، بخشهای دیگری از سیستم را نیز در خود جا میدهند. مثلا APUهای AMD یا پردازندههای جدید Core i اینتل علاوه بر CPU دارای GPU داخلی و کنترلرهای حافظه و اسلاتهای PCI Express است. قرارگیری بخشهای مختلف سیستم در یک چیپ باعث ارتباط نزدیکتر، سریعتر و کم مصرفتر آنها شده و در نهایت موجب ارتقاء تواناییهای سیستم میشود. پیش از این GPUها و کنترلرهای حافظه و PCI-E برروی مادربرد قرار میگرفتند و در برخی شرایط ارتباط بین پردازنده و این بخشها با مشکلات ریز و درشتی همراه بود؛ اما در نسل جدید پردازندهها، این مشکلات رفع شدهاند یا به نوعی ارتباط بین آنها تسریع شده است. خوشبختانه در کامپیوترهای مدرن امروزی هرچند GPU در داخل پردازنده اصلی قرار دارد، اما اگر نیاز به قدرت پردازش گرافیکی بیشتری داشته باشید میتوانید از یک کارت گرافیک مستقل با GPU قویتر بهره ببرید و GPU یکپارچه شده با پردازنده را کنار گذاشته یا از آن برای انجام امور ساده استفاده نموده و هر زمان که نیاز به پردازش امور سنگین داشتید، سکان امور را به کارت گرافیک مستقل بسپارید.