تاریخچه ARM

شرکت انگلیسی Acron Computerدر سال 1983 پروژه ای به نام Acorn RISC Machine را آغاز کرد. در سال 1985 پس از 2 سال تلاش مداوم و همکاری با دانشگاه برکلی توانست اولین پروسسور مبتنی بر معماری RISC معرفی کرده و نام آن را ARM1 نهاد.

پیش از آن ، معماری CISC رایج بود، در CISC به دلیل پیچیدگی دستورالعمل ها ،اجرای هر دستور به چندین کلاک احتیاج داشت ولی در RISC دستورالعمل ها ساده تر و اجرای هر کدام از آنها تنها در یک سیکل ماشین امکان پذیر بود.
سال بعد ، اولین نمونه آن با نام ARM2 وارد بازار شد.
در سال 1990 ، شرکت اپل همکاری خود با Acorn را آغاز و نام شرکت به Advanced RISC Machines تغییر کرد شرکت VLSI هم به عنوان سرمایه گذار ، اولین دارنده لایسنس ARM شد.


سال 1992،شرکت اپل، PDA های Newton را با پروسسور ARM610 که برپایه ARM6 بودند روانه بازار کرد.
در همان سال، شارپ و GEC Plessey نیز لایسنس ARM را دریافت کردند. سال 1994 هسته ARM7 توسط ARM معرفی شد. بعد از آن، شرکت هایی همچون Samsung,Texasinstrument و AKM نیز لایسنس ARM را گرفتند.
سال 1996 شرکت ARM و VLSI با همکاری یکدیگر، میکروپروسسور ARM810 را معرفی کردند. در همان سال ARM و مایکروسافت کار بر روی توسعه WinCE برای معماری ARM را آغاز کردند.

سال 1998، هسته ARM7TDMI معرفی شد و شرکت هایی همچون کوالکوم، IBM و HP لایسنس ARM را دریافت کردند.

سال 1999، هسته ARM9 معرفی شد.
دوسال بعد یعنی 2001، معماری جدید ARMv6 رونمایی شد. سال 2002 نیز میکرومعماری ARM11 متولد شد.

سال 2004 خانواده ARM Cortex بر مبنای معماری ARMv7 معرفی شدند، Cortex M3 اولین پروسسور این خانواده بود.
سال 2005 پروسسور های Cortex A8 معرفی شده و حیرت همگان را برانگیختند.

سال 2007 پروسسورهای Cortex-A9 معرفی شدند.
سال 2009 نیز پروسسور دو هسته ای با معماری Cortex-A9 و کلاک 2 گیگاهرتز رونمایی شد.

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

حاصل قریب به 3 دهه فعالیت ARM ، معماری های مختلفی است که تعدادی از آنها مانند ARMv4 ,ARMv3 ,ARMv2a ,ARMv2 ,ARMv1 هم اکنون منسوخ شده اند ولی معماری های ARMv7,ARMv6,ARMv5,ARMv4T کماکان به حضور پرقدرت خود در صنعت الکترونیک ادامه میدهند.
به دلیل مسائل فنی، وارد جزئیات تخصصی این معماری ها نمی شویم و فقط نمونه هایی را برای آنها ذکر میکنیم.

* ARMv4T
برای مثال پروسسور های ARM7TDMI از این معماری استفاده میکنند.

* ARMv5TEJ
پروسسور هایی مانند ARM926EJ-S و ARM968E-S بر مبنای این معماری بنا نهاده شده اند.

* ARMv6
ARM1176JZ و ARM1136EJ دارای این معماری هستند.

* ARMv6M
پروسسورهایی همانند Cortex-M0 و Cortex-M1 از این معماری بهره میبرند.

* ARMv7
پروسسورهای Cortex به غیر از تعدادی از سری M دارای معماری ARMv7 هستند،
این معماری دارای سه زیر مجموعه است:

Cortex-A
Cortex-A شامل سه دسته A5,A8 و A9 میشود،

Cortex-R
همانند Cortex-R4

Cortex-M
همانند Cortex-M3

در حالت کلی، ARM پروسسورهایش را به سه دسته Embedded ,Classic و Application تقسیم میکند. نمودار زیر به طور اجمالی، توانایی ها و پرفورمنس آنها را با یکدیگر مقایسه کرده است.
پروسسورهای تک هسته ای از ARM926EJ-S تا Cortex A9 و همچنین پروسسورهای چند هسته ای مثل Cortex-A9 MPCore,Cortex-A5 MPcore و ARM11 MPcore در این تقسیم بندی قرار میگیرند.

Embedded Processors شامل دو سری از پروسسورهای Cortex یعنی R و M و همچنین تعدادی از پرسسورهای Classic میشود، از این پروسسور ها بشتر در زمینه های کنترلی همچون ساخت میکروکنترل، سیستم های کنترل موتور و غیره استفاده میشود.
پروسسورهای کلاسیک شامل 3 سری ARM7 & 9 & 11 میشود. ARM9 بر پایه معماری ARMv5 و ARM11 برپایه معماری ARMv6 بنا شده اند.

اکنون کمی بیشتر وارد جزئیات میشویم:

* خانواده ARM7
خانواده ARM7 در سال 1994 معرفی شدند. با گذشت زمان، حدود 10 بیلیون دیوایس با پروسسورهایی ARM7 ساخته شدند.این پروسسور ها کم کم جای خود را به Cortex-M0 و Cortex-M3 خواهند داد.

این خانواده شامل پروسسورهای ARM7TDMI و ARM7EJ-S میشود.
ARM7TDMI دارای معماری ARMv4T و ARM7EJ-S دارای معماری ARMv5TEJ میباشد.
نسل اول تا پنجم iPod classic و نسل اول iPod Nano از دو پروسسور ARM7 TDMI استفاده میکردند. (کلاک 80-90 مگاهرتز)


* خانواده ARM9
ARM9 دو دسته کلی دارد، یکی بر اساس ARM9TDMI و دیگری ARM9E .
ARM9TDMI با معماری ARMv4T شامل این پروسسورها میباشد:
ARM920T
ARM922T
ARM940T

ARM9E با معماری ARMv5TE شامل این پروسسورها میباشد:
ARM926EJ-S
ARM946E-S
ARM968E-S
ARM966E

برای مثال ، گوشی های سونی اریکسون سری K و W از ARM926EJ-S استفاده میکردند. همین طور گوشی LG Arena.


* خانواده ARM11
از پروسسورهای این خانواده در بسیاری از اسمارت فون های امروزی استفاده میشود، از نظر Media بسیار قدرتمند تر از ARM926EJ میباشد. ترکیب آن با شتاب دهنده گرافیکی Mali-200 توانایی پشتیبانی از OpenGL ES2.0 را به آن داده است که میتواند برای کارهای گرافیکی 2D و 3D به خوبی جوابگو باشد.

در این خانواده سه پروسسور تک هسته ای با نام های ARM1176,ARM1156 و ARM1136 و یک پروسسور چند هسته ای (1 تا 4 هسته) به نام ARM11 MPcore یافت میشود. همگی آنها معماری ARMv6 دارند.
iPhone و iPod Touch از ARM1176 استفاده میکردند.

* خانواده Cortex
در این خانواده فقط Cortex-A را بررسی میکنیم زیرا Cortex-R و Cortex - M در اسمارت فون ها و هندهلد های مشابه مثل تبلت ها استفاده نمیشوند.

از سری Cortex-A برای جوابگویی به نیاز سیستم عامل های قدرتمند و در کاربردهایی که احتیاج به حجم محاسبات بالا دارند استفاده میکنیم.
اسمارت فون ها، تبلت ها، نتبوک ها و کنسول های بازی از موارد کاربرد این خانواده هستند.

این پروسسورها به صورت Native از Flash 10.1 پشتیبانی کرده و براساس معماری ARMv7 ساخته شده اند

این خانواده دارای سه زیرمجموعه A5,A8 و A9 است که A5 و A9 هم به صورت تک هسته ای و هم چند هسته ای تولید میشوند. A8 نیز تک هسته ای است.

A5 برای کارهای سبک تری طراحی شده و کلاک آن، 300 تا 800 مگاهرتز است،
کلاک A8 بین 600 مگاهرتز تا 1 گیگاهرتز است.
کلاک A9 نیز بین 800 مگاهرتز تا 2 گیگاهرتز میباشد.
در حال حاضر، Cortex A8 در بسیاری از دیوایس ها همچون iPhone 3GS مورد استفاده قرار گرفته است.
بلوک دیاگرام Cortex-A8:
Cortex A5 توانایی پردازش 1.5DMIPS/Mhz را دارد.
DMIPS = Dhrystone MIPS
MIPS = Milion Instruction Per Second (تعداد دستورالعمل ها در یک ثانیه)

Cortex A8 توانایی پردازش 2DMIPS/Mhz را دارد.یعنی در بهترین حالت (1Ghz) , پروسسورهایی که از Cortex-A8 استفاده کرده اند توانایی پردازش 2000DMIPS را دارند.
Cortex A9 نیز توانایی پردازش 2.5DMIPS/Mhz را دارد(برای هر هسته).

Cortex-A8 تا سه برابر ARM11 پرفورمنس بهتری دارد.
Cortex-A9 نیز حداکثر تا 1.5 برابر Cortex-A8 پرفورمنس بهتری دارد.
منبع :Www.TamirKaran.ir