مالیات کارتخوان در سال ۱۴۰۳ چگونه محاسبه میشود؟
مالیات بر دستگاههای کارتخوان در سال ۱۴۰۳ یکی از موارد مهم در زمینه مالیات بر…
۳۰ آبان ۱۴۰۳
۲۱ فروردین ۱۴۰۲
زمان مطالعه : ۱۲ دقیقه
تاریخ بهروزرسانی: ۲۰ فروردین ۱۴۰۲
در این مطلب میخوانید
پردازنده ARM نوعی ریزپردازنده است که بر اساس معماری RISC طراحی شده و به دلیل مصرف انرژی پایین، کارایی بالا و قیمت مناسب شناخته میشوند. پردازنده ARM برای طیف گستردهای از برنامهها، از جمله گوشیهای هوشمند، تبلتها و دستگاههای حوزه اینترنت اشیا (IoT) کاربرد دارد.
این معماری در طول زمان با چندین نسخه و افزونه مانند ARMv7، ARMv8 و ARMv9 تکامل یافته است. معماری ARM دارای مجموعهای از دستورالعملها است که طراحی پردازنده را ساده میکند و امکان اجرای سریعتر دستورالعملها را فراهم میکند. این بر خلاف معماریهای CISC است که در رایانهها استفاده میشود. ARM مخفف Advanced RISC Machine است.
پردازنده ARM توسط شرکت ARM Holdings طراحی شده و این شرکت اکنون متعلق به انویدیا است. برخی از مهمترین شرکتهایی که از معماری ARM در محصولات خود استفاده میکنند عبارتند از اپل، گوگل، سامسونگ، مایکروسافت، کوالکام و مدیاتک.
ساختار و معماری پردازنده ARM یکی از پرکاربردترین معماریهای پردازنده در جهان است. این پردازندهها از سال ۱۹۸۰ تا امروز در حال توسعه و بروزرسانی هستند و بیشتر برای گوشی های هوشمند و دستگاه های قابل حمل استفاده میشود.
لازم به ذکر است که تمامی رایانه ها، تبلت ها و.. از یک پردازنده ( CPU) استفاده می کنند. در واقع این قطعه مهم از چندین پردازنده تشکیل شده که روی یک قطعه قرار گرفته اند. شاید برای شما این سوال پیش بیاید که طراحی RISC چیست؟ این کلمه مخفف Reduced Instruction Set Computing است و به این منظور طراحی شده تا دستورات ارسالی به پردازنده از سوی برنامه در حال اجرا کاهش پیدا کند. در ساخت پردازندههایی مانند اینتل و AMD که در رایانه و لپتاپها قرار دارند از معماری RISC استفاده میشود.
پردازندههای ARM معمولاً بر اساس برنامههای هدف، ویژگیهای عملکرد و مجموعه ویژگیها به سریهای مختلف طبقهبندی میشوند.
سه سری اصلی پردازندههای ARM عبارتند از:
پردازندههای سری Cortex-A برای برنامههای کاربردی با کارایی بالا مانند گوشیهای هوشمند، تبلتها و سایر لوازم الکترونیکی مصرفی طراحی شدهاند. این پردازندهها برای سیستمعاملهای پیچیدهای مانند اندروید، iOS و لینوکس بهینهسازی شدهاند و دارای قابلیتهای پیشرفتهای مانند اجرای خارج از ترتیب، تنظیمات چند هستهای و مدیریت انرژی پیشرفته هستند. نمونههایی از پردازندههای سری Cortex-A عبارتند از
پردازندههای سری Cortex-R برای کاربردهای بلادرنگ طراحی شدهاند، جایی که عملکرد قطعی و کم تأخیر حیاتی است. این پردازندهها اغلب در سیستمهای خودروسازی، صنعتی و ذخیرهسازی استفاده میشوند. پردازندههای سری Cortex-R برای کارهای کنترلی با سرعت بالا بهینه شدهاند و دارای قابلیتهایی مانند حفاظت از حافظه، تصحیح خطا و مدیریت وقفه قوی هستند. نمونههایی از پردازندههای سری Cortex-R عبارتند از
پردازندههای سری Cortex-M برای کاربردهای کم مصرف و حساس به هزینه مانند میکروکنترلرها، حسگرها و سایر سیستمهای تعبیهشده طراحی شدهاند. این پردازندهها برای عملکرد کم مصرف، اندازههای قالب کوچکتر و سیستمعاملهای بلادرنگ ساده (RTOS) بهینه شدهاند. پردازندههای سری Cortex-M طیف وسیعی از مشخصات عملکرد و قدرت را ارائه میکنند، از طراحیهای بسیار کم مصرف مانند Cortex-M0+ گرفته تا گزینههای با کارایی بالاتر مانند Cortex-M7.
هر سری از پردازندههای ARM دارای زیرخانوادههای مختلف و طراحیهای جداگانهای هستند که به تقاضای بخشهای مختلف بازار پاسخ میدهند. توجه به این نکته مهم است که ARM فقط مالکیت معنوی را طراحی میکند و برای استفاده از آن مجوز میدهد، در حالی که شرکتهای دیگری مانند اپل، سامسونگ، کوالکام و مدیاتک تراشههای واقعی پردازنده را بر اساس طراحیهای ARM سفارشی و تولید میکنند.
سیستم System on a Chip یا SoC ، یک تراشه است که پردازنده اصلی، کارت گرافیک، حافظه رم و کنترلرها روی آن قرار دارند. در واقع در ساخت SoC از معماری ARM تنها در قسمت CPU استفاده شده است.
سیستم روی تراشه (SoC) یک تراشه است و اجزای یک سیستم الکترونیکی را روی یک تراشه واحد ترکیب میکند. SoC ها معمولاً در انواع مختلفی از دستگاه ها، مانند گوشیهای هوشمند، تبلتها، تلویزیونهای هوشمند و سایر سیستمها استفاده میشوند. معمولا از SoC زمان استفاده میشود که محدودیت های فضا و توان پردازش مهم هستند.
یک SoC معمولاً شامل موارد زیر است:
واحد پردازش مرکزی (CPU): پردازنده اصلی که مسئول اجرای دستورالعمل ها و انجام وظایف محاسباتی است.
واحد پردازش گرافیکی (GPU): یک پردازنده تخصصی که برای پردازش گرافیک، مدیریت خروجی نمایشگر و انجام سایر وظایف مربوط به پردازش بصری طراحی شده است.
حافظه: اجزای حافظه یکپارچه، مانند رم و گاهی اوقات حتی ذخیرهسازی مانند حافظه فلش.
رابطهای ورودی/خروجی (I/O): شامل اجزایی برای اتصال دستگاههای جانبی و مدیریت انتقال داده بین SoC و دستگاههای خارجی مانند USB، HDMI و ماژولهای مختلف ارتباط بیسیم (Wi-Fi، بلوتوث و غیره) است.
سایر اجزای تخصصی: بسته به کاربرد خاص، یک SoC ممکن است اجزایی مانند پردازشگرهای سیگنال دیجیتال (DSP)، پردازنده سیگنال تصویر (ISP) یا سخت افزار اختصاصی برای وظایف هوش مصنوعی (AI) و یادگیری ماشین رداشته باشد.
با ادغام چندین عملکرد در یک تراشه واحد، SoCها می توانند مزایای مهمی از نظر بازده انرژی، عملکرد و هزینه داشته باشند.
از System on a Chip که با معماری پردازنده ARM طراحی شده در سیستم نسلهای اول تگرا انویدیا، کواترو شرکت CSRT، نوا شرکت اریکسون، OMAP شرکت تگزاس، اگزینوس شرکت سامسونگ و Ax شرکت اپل استفاده شده است.
پردازندههای ARM طیف وسیعی از طراحیها را در بر میگیرند و بر اساس نسخه یا نوع خاصی از معماری ARM که ساخته میشوند دارای مشخصات متفاوتی هستند.
برخی از مشخصات فنی کلی که در پردازندههای ARM کاربرد دارد شامل این موارد است:
معماری: پردازندههای ARM بر اساس معماری RISC ساخته شدهاند که بر سادگی و کارایی تأکید دارد. این معماری در چندین نسخه از جمله ARMv7، ARMv8 و آخرین ARMv9 تکامل یافته است.
مجموعه دستورالعمل: پردازندههای ARM معمولاً از دو مجموعه دستورالعمل پشتیبانی میکنند: مجموعه دستورالعمل ARM و مجموعه دستورالعمل Thumb.
مجموعه دستورالعمل ARM 32 بیتی (برای ARMv7) یا 64 بیتی (برای ARMv8 و ARMv9) است، در حالی که مجموعه دستورالعمل Thumb یک نسخه 16 بیتی فشرده است که به کاهش اندازه کد و بهبود بهرهوری انرژی کمک میکند.
Pipeline: پردازندههای ARM از پایپلاین استفاده میکنند، تکنیکی که اجازه میدهد چندین دستورالعمل به طور همزمان با تقسیم پردازش به چند مرحله اجرا شوند. پایپلاینها در پردازندههای ARM میتوانند از نظر عمق متفاوت باشند، از طراحیهای سه مرحلهای ساده تا طراحیهای ۱۵ مرحلهای پیشرفتهتر در برخی از هستهها با کارایی بالا.
حالتهای اجرا: پردازندههای ARM از حالتهای اجرایی متعدد مانند حالت کاربر، حالت FIQ (درخواست وقفه سریع)، حالت IRQ (درخواست وقفه)، حالت سرپرست، حالت لغو و حالت سیستم پشتیبانی میکنند. این حالتها به مدیریت انواع مختلف عملیات و استثناها کمک میکند و بین اجزای سیستم ایزوله و امنیت ایجاد میکند.
حافظه پنهان: پردازندههای ARM اغلب شامل دستورالعملها و کشهای داده جداگانه برای بهبود عملکرد با کاهش زمان صرف شده برای واکشی دادهها از حافظه میشوند. اندازه و پیکربندی کش بسته به طراحی خاص میتواند متفاوت باشد.
واحد ممیز شناور (FPU) و SIMD: بسیاری از پردازندههای ARM دارای یک واحد ممیز شناور (FPU) برای انجام عملیات حسابی ممیز شناور و همچنین پشتیبانی از SIMD (دستورالعمل واحد، دادههای چندگانه) برای پردازش موازی دادهها هستند.
ویژگیهای امنیتی: پردازندههای ARM اغلب دارای ویژگیهای امنیتی هستند، مانند فناوری TrustZone، که جداسازی مبتنی بر سختافزار را بین محیطهای امن و غیرایمن برای محافظت از دادهها و عملیات حساس فراهم میکند.
مدیریت توان: پردازندههای ARM با در نظر گرفتن بهرهوری انرژی طراحی شدهاند و معمولاً دارای ویژگیهای مختلف مدیریت توان هستند، مانند مقیاسبندی ولتاژ و فرکانس دینامیکی، حوزههای قدرت متعدد و حالتهای خواب.
به خاطر داشته باشید که این مشخصات بسته به عواملی مانند برنامه، کاربرد، عملکرد و محدودیتهای توان، میتواند بین پردازندههای مختلف ARM متفاوت باشد.
از معماری پردازنده ARM علاوه بر گوشی های هوشمند در ابر رایانه ها نیز استفاده می کنند. در معماری ARM چندین هسته پردازشی کم مصرف تعبیه شده که با وجود بالا بودن تعداد هسته های این پردازشگر نسبت به X86 انرژی کمتری استفاده می شود.
پردازشگر Core i7 اینتل به دلیل انرژی بالایی که صرف می کند نیاز به سیستم خنک کننده قوی هم دارد که همین مسئله باعث شده تا استفاده از آن ها در گوشی های هوشمند غیرممکن باشد در صورتی که پردازنده های جدید ARM بزودی در سیستم های جدید گوشی های هوشمند مورد استفاده قرار خواهند گرفت. البته ناگفته نماند که هسته پردازشی ARM در مقایسه با X86 اینتل قدرت پایین تری دارد.
معماری پردازنده ARM دارای مزایای متعددی است که به پذیرش گسترده آن در برنامههای مختلف، از تلفنهای هوشمند گرفته تا دستگاههای IoT کمک کرده است. برخی از مزایای کلیدی استفاده از پردازندههای ARM عبارتند از:
بهرهوری انرژی: پردازندههای ARM با در نظر گرفتن بهرهوری انرژی طراحی شدهاند که برای کاربردهای که از باتری استفاده میکنند و حساس به انرژی هستند ایدهآل است. معماری RISC با مجموعه دستورالعملهای سادهتر، امکان مصرف انرژی کمتر و تولید گرما را در مقایسه با معماریهای CISC فراهم میکند.
مقیاسپذیری: ARM طیف گستردهای از طراحیهای پردازنده را ارائه میدهد، از میکروکنترلرهای کممصرف تا پردازندههای چند هستهای با کارایی بالا. این مقیاسپذیری سازندگان دستگاه را قادر میسازد تا پردازنده مناسب را برای کاربرد و الزامات عملکرد خاص خود انتخاب کنند و از تعادل بهینه بین عملکرد و مصرف انرژی اطمینان حاصل کنند.
اکوسیستم و پشتیبانی: پردازندههای ARM توسط تعداد زیادی از شرکتها استفاده میشوند و توسط یک اکوسیستم قوی، از جمله توسعهدهندگان سختافزار و نرمافزار، ابزارها، کتابخانهها و سیستم عاملها پشتیبانی میشوند. این پشتیبانی گسترده، توسعه و بهینهسازی محصولات مبتنی بر معماری ARM را برای شرکتها آسانتر میکند.
مدل مجوز: مدل مجوز ARM به شرکتها این امکان را میدهد که طراحیهای پردازنده خود را بر اساس IP (مالکیت معنوی) ARM سفارشی و تولید کنند. این انعطافپذیری، تراشهسازان را قادر میسازد تا پردازندههای متناسب با نیازهای خاص خود را توسعه دهند و خود را در بازار متمایز کنند.
کارایی هزینه: پردازندههای ARM به دلیل طراحی سادهتر، مصرف انرژی کمتر و بازار رقابتی تراشههای مبتنی بر ARM عموماً مقرون به صرفهتر از همتایان خود هستند. این مزیت هزینه، پردازندههای ARM را به انتخابی جذاب برای طیف وسیعی از دستگاهها، بهویژه دستگاههایی که محدودیتهای بودجه زیادی دارند، تبدیل کرده است.
پذیرش گسترده: پذیرش گسترده پردازندههای ARM پایگاه کاربری بزرگی را ایجاد کرده است که به نوبه خود باعث نوآوری و بهبود بیشتر در اکوسیستم ARM میشود. این حلقه بازخورد مثبت به حفظ ارتباط و رقابت پردازندههای ARM در بازار کمک میکند.
ویژگیهای امنیتی: پردازندههای ARM اغلب دارای ویژگیهای امنیتی داخلی هستند، مانند TrustZone، که جداسازی مبتنی بر سختافزار بین محیطهای امن و غیرایمن را فراهم میکند. این ویژگیها به محافظت از دادههای حساس و اطمینان از یکپارچگی برنامههای در حال اجرا در دستگاههای مبتنی بر ARM کمک میکند.
ساختار میکروکنترلرهای ARM
نوعی از پردازندهها هستند که بیشتر در تلفنهای همراه، تبلتها و بعضی از لپتاپها مورد استفاده قرار میگیرند. در واقع همان رایانههای کوچکی هستند که از سیستمهای امروزی ضعیفتر عمل میکنند و بصورت یک سیستم کامل هستند.
میکروکنترلرها از نسل CPU و بر اساس معماری RISC طراحی شدهاند. شرکت ARM ابزارهای توسعه نرمافزار جامع مانند KEIL و DS-۵ را ارئه میدهد تا برای توسعه سیستمهای روی تراشه (میکروکنترلرها) استفاده شوند.
میکروکنترلرهای ARM دارای سرعت بالا، توان مصرفی پایین، مقرون به صرفه و حرارت کم هستند و از آنها برای دستگاههای قابل حملی مانند تلفنهای هوشمند استفاده میکنند. علاوه بر این میکروکنترلرهای پردازنده ARM در ابر رایانههای نیز کاربرد دارند.
لازم به ذکر است که برای توصیف پردازندههایARM از حروف استفاده میشود که بعد از ARM قرار میگیرند و شامل مفاهیم و مشخصات زیر هستند.
x – به معنای این است که در دستهبندی میکروکنترلر قرار دارد.
y – واحد حفاظت از حافظه است.
z – حافظه پنهان را نشان میدهد.
T – این حرف نشان دهنده این است که از مجموعه دستورالعمل Thumb ۱۶ بیتی پشتیبانی میکند.
D – اشکالزداییJTAG ، یک پروتکل ارتباط سریال است که برای دیباگینگ استفاده میشود.
M – یا ضربکننده سریع است؛ پردازندههای قدیمی ARM از یک واحد ضربکننده کوچک و ساده استفاده میکردند. این واحد ضربکننده قادر به محاسبه ضرب ۳۲ بیتی در سیکل واحد است.
I – شبیه ساز درونمدار سختافزار است.
E – دستورالعملهای پیشرفته برای DSPاست که با استفاده از این دستورالعملها میتوان عملکرد DSP پردازنده ARM را بدون فرکانسهای بالا افزایش داد.
J – برای اجرای سریع کدهای جاوا بدون تأثیرگذاری بر حافظه یا باتری است.
F – واحد ممیز شناور که در صنایع خودروسازی استفاده میشود.
S – نسخه Synthesizable که با استفاده از کد منبع پردازنده میتوان معماری پردازنده ARM را تغییر داد.
چه سیستمعاملهایی از معماری پردازنده ARM پشتیبانی میکنند؟
1-سیستم عاملهای درونی
سیستم عامل هایی که شامل: Windows CE, Windows RT, Symbian, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus PLUS, MicroC/OS-II, QNX, RTEMS, CoOS, BRTOS, RTXC Quadros, ThreadX, Unison Operating System, uTasker, VxWorks, MQX و OSE می شوند.
2-یونیکس
یونیکس به همراه دیگر سیستمعاملها مانند Inferno, Plan 9, QNX که از معماری ARM پشتیبانی میکنند.
3-لینوکس
اندروید و گوگل، Debian، Fedora، OpenSuse، Ubuntu و WebOS و … مواردی هستند که در آنها از معماری این پردازشگر استفاده شده است .
4-ویندوز
پردازنده ARM از ویندوز CE که در ابزارهای صنعتی استفاده می شود ، به همراه ویندوز RT ، ویندوز فون از معماری ARMV7 پشتیبانی می کنند.
5-BSD
iOS و OS X اپل نیز از ARM پشتیبانی می کنند.
شرکت ARM نقش پررنگی در پردازش موبایل و حوزه های متعدد سخت افزاری دارد. بسیاری از دستگاه های هوشمند امروزی از معماری پردازنده های این شرکت استفاده می کنند. در واقع بیشتر در ساختارهای آموزش هوش مصنوعی کاربرد دارد.