اخبار تکنولوژی و علم قرن 21

چهارشنبه ۹۵/۱۱/۰۶

21 century technology news

اخبار علم و تکنولوژی قرن 21
www.21tech.ir

ARM چیست؟ نقاط قوت و ضعف آن چیست؟

پردازنده arm
ARM چیست؟ نقاط قوت و ضعف آن چیست؟ 5.00/5 (100.00%) 1 امتیاز

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

در توضیح فنی برای ARM می‌توان گفت یک CPU بر پایه معماری RISC است که در دهه ۱۹۸۰ توسط شرکت Acorn Computers طراحی شد. اما اکنون مدل پیشرفته‌تر و جدیدتر آن با نام Advanced RISC Machine استفاده می‌شود.

ARM, Ltd یک شرکت در بریتانیاست که به طراحی و ساخت پردازنده مشغول است. ARM برای پردازنده مخفف Acorn RISC Machine است و برای شرکت طراحی و فروشنده پردازنده، مخفف Advanced RISC Machines است. البته نیازی به دقت زیاد روی این تفاوتها نیست چون امروزه هر کدام از این معانی به جای دیگری به کار میروند. ARM شرکتی است که روشهای ساخت پردازنده‌های ARM را طراحی می‌کند و شرکت‌هایی نظیر کوالکام، اپل و سامسونگ حق استفاده (License) از آن را تهیه کرده‌اند تا بتوانند پردازنده‌های خود را بر پایه‌ی آن بسازند. البته شرکتهای بسیاری هستند که این license را خریداری کرده و پردازنده‌های ARM تولید می‌کنند. تقریبا می‌توان گفت هر دستگاه کوچک و هوشمندی که از باتری استفاده می‌کند نیاز به یک پردازنده ARM دارد.

RISC مخفف Reduced Instruction Set Computing به معنی «ساده سازی مجموعه دستورات طراحی شده برای محاسبات» است. پردازنده‌های Intel و AMD که در لپ‌تاپ‌ها یافت می‌شوند، معمولا از CISC استفاده می‌کنند. CISC مخفف Complex Instruction Set computing است که به معنای «مجموعه دستورات پیچیده طراحی شده برای پردازش» است. دو طراحی مختلف برای نیازهای متفاوت. RISC نسبت به CISC برای حجم کمتری از دستورات (فرمان‌هایی که از سوی برنامه به پردازنده ارسال می‌شود) طراحی شده است. به این دلیل که RISC اعمال کمتری انجام دهند فرکانس‌های بالاتری (منظور همان گیگاهرتزی که می‌شنوید است) نسبت به یک پردازنده CISC دارد و توانایی اجرای MIPS (میلیون دستورالعمل در ثانیه) بیشتری دارد.

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

در RISC چون دستورات ساده و کم تعداد هستند، پردازش به صورت ابتدایی، بهینه و کوتاه انجام می‌شود در نتیجه نیاز به فرکانس کلاک بالایی دارد به این ترتیب پردازش ابتدایی را با تعداد پردازش بیشتر جبران میکند. RISC در فرکانس یکسان عملکرد پائین‌تری نسبت به CISC دارد. کمتر بودن روش‌های دسترسی به اطلاعات RAM در RISC، که فقط با دستورات Load/Store انجام می‌شود، نیاز به رم را در این پردازنده‌ها افزایش می‌دهد. به طوری که گاها شاهد ارقامی برای رم گوشی‌های موبایل هستیم که در کامپیوترهای PC هم دیده نمی‌شود.

زمانی که تعداد دستورات یک پردازنده را کاهش می‌دهید، می‌توان مدار ساده‌ای برای چیپ پردازنده ساخت. بنابراین یک پردازنده RISC ترانزیستورهای کمتری خواهد داشت و انرژی کمتری مصرف می‌کند. چون ساختار مدار چیپ ساده‌تر است (در زبان فنی به عنوان مسیرهای بهینه خطاب می‌شود) می‌توان die zone پردازنده را کوچکتر کرد. die zone اندازه‌ی یک چیپ بر روی وافر سیلیکونی (قرص‌های سیلیکونی که پردازنده بر روی آنها ساخته می‌شود) است. وقتی die zone کوچکتر است اجزای بیشتر با سیم کشی کمتر بر روی سطح پردازنده جا می‌گیرند. همین نهایتا باعث می‌شود پردازنده ARM کوچک باشد و مصرف انرژی کمتری داشته باشد.

پردازنده‌های سریع و کوچک برای دستگاه‌هایی مانند گوشی موبایل مناسب هستند. یک موبایل از CPU انتظار پردازش اطلاعات برخوردهای سه بعدی را ندارد (مگر استثنائاتی مانند Tango phone که برای واقعیت افزوده ساخته شده است) یا پردازش صدها عملیات را در یک زمان کوتاه انجام نمی‌دهد. سیستم عامل‌های موبایل و همینطور برنامه‌های آنها به منظور استفاده از ARM به گونه‌ای بهینه شده‌اند که تعداد دستورات ارسالی به پردازنده را کاهش دهند. اما این بدان معنی نیست که پردازنده‌های ARM در زمینه‌ی عملکرد خودشان ضعفی دارند. پردازنده‌های ARM حال حاضر از طراحی‌های ۳۲ بیت و ۶۴ بیت پشتیبانی می‌کنند.

فبلت Tango شرکت لنوو آوردن واقعیت افزوده به گوشی تلفن همراه

فبلت Tango شرکت لنوو آوردن واقعیت افزوده به گوشی تلفن همراه

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

عملکرد ARM نسبت به وات (توان مصرفی) بسیار خوب است. یک نرم‌افزار که به خوبی کدنویسی شده، می‌تواند به نسبت توان مصرفی، از پردازنده‌های RISC استفاده بهینه‌تری نسبت به پردازنده‌های x86 ببرد (x86 نوعی پردازنده CISC که به وسیله شرکت اینتل تجاری شده است). همین مصرف بهینه انرژی اجازه می‌دهد scaling سیستم‌هایی مانند ابر رایانه‌ها و سرورها با استفاده از ARM ساده‌تر باشد. (scaling به معنی افزایش توان پردازشی یک سیستم پردازشی است).

شما می‌توانید اطلاعات خود را با بیست و چهار پردازنده x86 پردازش کنید و یا از صدها پردازنده کوچک و کم مصرف ARM استفاده کنید. هسته‌های x86 از توان پردازشی خود در تعداد محدودی از هسته‌های پردازشی استفاده می‌کنند در حالیکه ARM عملیات پردازش را میان تعداد زیادی هسته با ظرفیت پائین‌تر و کمتر پیچیده تقسیم می‌کند. تعداد هسته‌های ARM بسیار بیشتر است اما انرژی بیشتری نسبت به ۲۴ هسته x86 مصرف نمی‌کنند. این مورد scaling را به وسیله ARM بسیار ساده می‌کند. مطمئن شوید که نرم‌افزار شما برای کار با ARM نوشته شده است، سپس فقط نیاز دارید تعداد هسته‌های پردازشی را اضافه کنید. به این دلیل که مطمئن هستید پردازش شما بهینه و مصرف انرژی شما کم است. برای توضیح بیشتر می‌توان اشاره کرد به تحقیقات شرکت Berkeley RISC که طی آن مشخص شد سیستم عامل Unix تنها از ۳۰% دستورات یک پردازنده CISC مانند Motorola 68000 استفاده می‌کند، در نتیجه قسمت زیادی از پردازنده بلااستفاده باقی می‌ماند و باعث اشغال حجم و مصرف بیشتر انرژی می‌شود. اما در RISC به دلیل اینکه تمام دستورات ابتدایی هستند و حجم دستورات دریافتی کم است، می توان مطمئن شد نه در فضای اشغال شده و نه در مصرف انرژی، هدر رفتی نداریم.

در پایان باید اشاره کرد یک پردازنده ARM به هیچ وجه قدرت یک پردازنده مانند Intel Core i7 را ندارد که بر روی کامپیوترهای رومیزی مخصوص بازی یافت می‌شوند. همچنین عملکرد مناسبی در اجرای برنامه‌های طراحی شده برای پردازنده x86 Intel ندارند و تغییرات زیادی در کدنویسی نرم‌افزار باید ایجاد شود یا یک ماشین باید این کار را انجام دهد (البته امکان دارد نرم‌افزار به گونه‌ای طراحی شود که بر روی هر دو نوع پردازنده قابل اجرا باشد، مانند نرم‌افزارهای اندروید). در عوض پردازنده‌های Intel Core i7 نزدیک به ۱۲ برابر انرژی بیشتری مصرف می‌کنند و هرگز در یک دستگاه موبایل جا نخواهند شد. ARM زمانی عملکرد مناسبی دارند که برنامه کاملا سازگار با این پردازنده نوشته شده باشد و همچنین با توجه به مصرف انرژی کم و سایز کوچک می‌توان تعدادی از آنها با سرعت clock بالا (همان گیگاهرتز بالا) به دستگاه‌های موبایل اضافه کرد و برنامه‌های پیشرفته را بر روی آنها اجرا کرد. در واقع با اضافه کردن هسته‌های پردازشی می‌توان کامپیوترهایی برای اجرای هر نوع عملیات پردازشی، مثلا در حد ماشین یادگیری Google و ماشین‌های هوشمند NVIDIA، ایجاد کرد.

منبع

پردازنده ARM در یک نگاه

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

چندی پیش شرکت‌های کوالکام و مایکروسافت اعلام کردند به زودی یک پردازنده‌ی ARM برای اجرای کامل ویندوز ۱۰ بر روی موبایل (در نتیجه اجرای برنامه‌های x86 بر روی موبایل) رونمایی خواهند کرد. باید ببینیم این دو شرکت چگونه مشکلات فنی سر راه این طرح را مرتفع خواهند کرد.

مقالات مرتبط:


نوشتن یک نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

عنوان منو
در حال بارگذاری