بررسی تراشهها و پردازندههای ابزارهای پوشیدنی؛ آرم کدام هستهها را به این منظور معرفی کرده است؟
ابزارهای پوشیدنی هم این روزها مثل سابق نیستند. درونشان مجموعهای از حسگرها و تجهیزات ارتباطی و از همه مهمتر پردازنده قرار داده شده تا کارکرد آن را تا حد زیادی ارتقاء دهد. ساعت هوشمند و عینکهای واقعیت افزوده بر خلاف ساعتها و عینکهای ساده، تنها یک کارایی خاص ندارند. ممکن است دوربین، میکروفون، اسپیکر، حسگرهایی مثل حسگر ضربان قلب و سایر تجهیزات در این ابزارها گنجانده شده باشد. در این مقاله تنها به بررسی تراشهی این محصولات میپردازیم. تراشههایی شبیه گوشیها و تبلتها که برای مصرف انرژی بسیار پایین بهینه میشوند. با ما باشید.
حالا که بازار گوشی مملو از گوشیهایی با پردازندهی قوی شده، نوبت به ابزارهای پوشیدنی رسیده که با استفاده از یک پردازندهی خوب و بسیار کممصرف، هوشمند شود. لذا باز هم تراشهها و معماریهای کمپانی آرم وارد صحنه میشود. ساعتهوشمند Peddle یا دستبند سلامتی fitbit از هستههای کممصرفی به نام Cortex-M3 استفاده میکنند که به عنوان مرکزیت حسگرها عمل میکند. برای کنترلکردن بلوتوث هم از هستهی کممصرف دیگری به نام Cortex-M0 استفاده میشود.
هستههای سری Cortex-A در گوشیها و تبلتها کاربرد دارند حال آنکه سری Cortex-M توان مصرفی پایینتری دارد و برای ساعتها و ابزارهای پوشیدنی رده پایین مناسبتر است. در ابزارهای پوشیدنی رده اول از Cortex-A5 و یا Cortex-A7 استفاده میشود. در کنار هستههای پردازندهی اصلی، پردازندههای گرافیکی Mali آرم هم مأموریت پردازش تصاویر برای نمایشگرهای بزرگتر را عهدهدار شده و نقش موتور پردازش ویدیو را هم بازی میکنند. اما در نهایت Cortex-M0 است که برای بررسی حسگرها با توان مصرفی بسیار پایین انتخاب میشود.
کمپانی آرم مثل همیشه متوجه بازار وسایل همراه و ظهور ابزارهای پوشیدنی جدید است و برای شرکای خود که ممکن است طراح یا تولیدکننده باشند، گزینههای بیشتری آماده میکند. به هر حال کوآلکام، تگزاس اینسترومنت و کمپانیهای دیگری مثل Freescale، Nordic Semiconductor، ST Microelectronics از شرکای آرم هستند و خود را برای تولید تراشههای کممصرف ویژهی ابزارهای پوشیدنی آماده میکنند. شاید به زودی تراشههایی با ترکیب هستههای Cortex-A و Cortex-M هم تولید شوند.
در ابزارهای پوشیدنی ردهپایین، تراشه باید سیستمعامل آنی که در آن اطلاعات حسگرها به صورت آنی و بدون نیاز به پردازش سنگین مورد استفادهی اپلیکیشنها قرار میگیرد را به خوبی اجرا کنید. چنین سیستمعاملهایی را به اختصارRTOS میگویند.
ابزارهای پوشیدنی رده متوسط و بالا هم میبایست تراشهای برای اجرای سیستمعاملهای سنگینتر در اختیار داشته باشند.
بنابراین نقش Cortex-M در ابزارهای پوشیدنی چه به تنهایی به کار برده شود و چه در کنار هستههای پرمصرفتری مثل Cortex-A7 قرار بگیرد، بسیار مهم است و توان مصرفی را کاهش میدهد. البته Cortex-A7 در این ابزارها هم با آنچه در گوشیها و تبلتها متداول است، تفاوت دارد؛ چرا که مصرف انرژی باید بسیار پایین باشد. در ابتدا به بررسی اجمالی Cortex-M میپردازیم.
خانوادهی Cortex-M؛ کممصرف و کوچک
اساساً سری Cortex-M بسیار کممصرف هستند؛ چرا که برای کاربردهایی که توان مصرفی پایین حیاتی است، طراحی شدهاند. از این سری بیشتر برای میکروکنترلرهای همهمنظوره، حسگرها و کنترلرهای USB و اترنت استفاده میشود. لذا با اینکه کمتر نامشان را شنیدهاید، به عنوانی جزئی از سیستمهای نهفته در وسایلی مثل اسکنر، سیستمهای زنگ خطر، نمایشگر، منبع تغذیه، درایوهای هارددیسک و ابزارآلات پزشکی حضور پررنگی دارند؛ شاید هر سال میلیاردها ابزار با به کارگیری هستههای Cortex-M ساخته شود.
آرم سری Cortex-M را طوری طراحی کرده که قابلیت سفارشیسازی و تنظیم آن بسیار زیاد باشد و از این رو بیش از 3000 نوع ترکیب هستههای M در تراشههایی که سازندگان مختلف تولید کردهاند، وجود دارد. آرم انواع تراشهها را با توجه به محدودهی کاربرد در 4 گروه اصلی قرار داده است:
Cortex-M0+ کممصرفترین پردازندهی آرم است. این هسته بر اساس معماری ARMv6-M شکل گرفته است. کانال اطلاعات در این معماری تنها دو مرحله دارد و از نوع ترتیبی است. تفاوت M0+ با M0 در برخورداری از واحد محافظت از حافظهی 8 ناحیهای (در M3 و M4 هم وجود دارد) و همچنین باس ورودی خروجی تکسیکل جهت کاهش مصرف انرژی است. این هسته از نظر اندازه هم بسیار کوچک است؛ 12000 گیت برای تولید تراشههای بسیار کوچک مفید واقع میشود.
Cortex-M0 از کانال اطلاعات 3 مرحلهای استفاده میکند که اثر آن افزایش قدرت پردازشی و نیز توان مصرفی است. طراحی سادهتر به این معنی است که پردازنده ازرانتر تمام میشود و برای کاربردهایی نظیر پردازش عمومی داده و امور کنترل ورودی و خروجی مناسب است.
Cortex-M1 که در تصویر فوق نشان داده نشده هم برای تراشههای FPGA در نظر گرفته شده است.
Cortex-M3 و Cortex-M4 هستههای بزرگتر و سریعتری هستند و معمولاً برای پردازندههای سیگنال دیجیتال و پردازش سنگین روی اعداد اعشاری استفاده میشود. هر دو هسته بر اساس معماری مجموعه دستورات ARMv7-M طراحی شدهاند و بسته به تشخیص سازندهی تراشه، ممکن است فرکانس کاری تا 200 مگاهرتز هم داشته باشند.
در نهایت اینکه هر یک از مدلها چه مساحتی دارند و به ازای 1 مگاهرتز سرعت، چه قدر انرژی مصرف میکنند، بسته به سازندهی تراشه متفاوت خواهد بود. جدول زیر را بررسی کنید:
اگر هستههای Cortex-M با لیتوگرافی 40 نانومتری تولید شوند، هستهای مثل Cortex-M0 به ازای یک مگاهرتز سرعت، توان مصرفی معادل 4 میکرووات دارد. M0+ با 3 میکرووات کمترین انرژی را لازم دارد و M4 با 8 میکرووات، سرعت پردازش و توان مصرفی حداکثری دارد.
مساحت تراشهها هم موضوع جالبی است. Cortex-M0+ تنها 0.009 میلیمتر مربع مساحت دارد و اگر با سرعت 100 مگاهرتز فعالیت کند، مصرف انرژی آن کمتر از 0.0001 وات خواهد بود! البته تراشه شامل هسته، کش، ورودی خروجیها و سایر موارد هم میشود. در نهایت تراشهی Kinetis KL03 که محصولی از Freescale است، ابعادی معادل 1.6 در 2 میلیمتر دارد. آن قدر کوچک که در یک حفرهی توپ گلف هم جا میشود.
بهینهسازی Cortex-A برای ابزارهای پوشیدنی
نام Cortex-A15 و A9 و همچنین Cortex-A7 و A5 در صفحهی مشخصات بسیاری از گوشیها و تبلتهای امروزی به چشم میخورند. در سرعت کلاک برابر، یک هستهی Cortex-A15 حدود 80 درصد سریعتر از Cortex-A9 است. A9 هم سریعتر از A7 و A5 است. بنابراین طبیعی است که در گوشیهای رده اول، 4 هستهی قدرتمند A15 ایفای نقش کند.
اما A15 مصرف انرژی بالایی دارد. حتی A7 هم برای یک ابزار پوشیدنی که باتری آن یک دهم گوشیهای رده متوسط است هم پرمصرف محسوب میشود.
به همین علت است که خانوادهی Cortex-A در حالت معمولی برای ابزارهای پوشیدنی مناسب نیستند؛ اما اگر فرکانس کاری و ولتاژ هستهها کاهش یابد و بهینهسازیهای دیگری که آرم به سازندگان توصیه کرده انجام شود، میتوان این دسته از معماریهای آرم را در طراحی تراشهی ابزارهای پوشیدنی به خدمت گرفت.
گراف زیر هستههای مختلف با فرکانس کاری متفاوت را متناسب با نوع و توان پردازشی وسایل همراه مقایسه میکند. رنگ آبی شاخصی از سرعت پردازش و رنگ قرمز توان مصرفی است.
مشاده میکنید که A5 و A7 در فرکانس پایین به نسبت سرعت پردازش خود، توان کمی مصرف میکنند و این موضوع در مورد A7 با سرعت بیش از 1.2 گیگاهرتز بالعکس میشود. البته در نمودارهای فوق پردازندهی گرافیکی و نوع آن مشخص نشده است. نکتهی مهم در مورد Cortex-A7 این است که میتوان آن را طوری بهینه کرد که برای ابزارهای پوشیدنی هم مناسب باشد.
تنها عامل کاهش مصرف انرژی سرعت و ولتاژ کاری نیست؛ حتی حافظهی کش هم مؤثر است. کش بیشتر کارایی را افزایش میدهد؛ اما در عین حال توان مصرفی را هم افزایش میدهد. لذا آرم این اختیار را به طراحان و تولیدکنندگان داده که بسته به نیاز، تراشهی خود را سفارشی کنند.
بیشتر گوشیها از هستهی Cortex-A7 در کنار 32 کیلوبایت کش سطح اول استفاده میکنند. اگر این مقدار به 16 کیلوبایت تقلیل یابد، هم توان مصرفی و هم مساحت تراشه کمتر میشود و آرم میگوید اثر آن روی توان پردازشی نسبتاً کم است.
کاهش کش L1، مسئولیت کش L2 را سنگینتر میکند. آرم میگوید بهتر است کش L1 کوچک باشد و در عوض کش L2 اندازهی بیشتری داشته باشد؛ خصوصاً در مورد ابزارهای پوشیدنی که حتی کوچکبودن کش L2 هم چندان مهم نیست.
راه دیگر برای کاهش سطح تراشه، حذف موتور اجرایی کدهای NEON است. البته کدهای NEON که در پردازش مالتیمدیا هم کاربرد دارند، برای گجتهای رده متوسط مفید واقع میشوند و میتوانند مصرف انرژی را با کاهش بار پردازشی پردازندهی اصلی، بهینه کنند. لذا مساحت بیشتر تراشه در این مورد اهمیت کمتری پیدا میکند. لذا حذف بخش NEON از تراشه، تنها در مورد ابزارهای پوشیدنی رده پایین مفید واقع میشود.
شرکای آرم مجموعهای از راهکارها برای کاهش توان مصرفی سری Cortex-A را پیش رو دارند و با استفاده از فرکانس کاری پایین در کنار فرآیند تولیدی که نتیجهی آن تراشهای با نشت کمتر و به عبارت دیگر، مصرف انرژی پایینتر است، به نتیجهی مطلوب میرسند. تأثیر نشت کمتر در کاهش توان مصرفی تا 95 درصد است که رقم بسیار بالایی است.
کش، معماری، روش تولید و ساختار ماژولی طرحهای آرم به سازندگان اجازه میدهد که تراشهی خود را بسیار سفارشی کرده و مطابق نیاز بهینه کنند. حتی استفاده از Cortex-A که توان مصرفی بالایی دارد هم با بهینهسازیها امکانپذیر است. در نهایت سازندگان و طراحان تراشه که از شرکای آرم هستند، باید خلاقیت و تلاش خود را بیشتر کنند و طرحهایی بهتر از آنچه آرم به عنوان اساس معماری عرضه کرده، ارائه کنند. در این صورت است که محصولات بیرقیب روانهی بازار میشود.