بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!

هنگامي كه صحبت از پردازنده به ميان مي آيد، بيشتر علاقمندان به سخت افزار كامپيوتر تصور مي كنند، قرار است در مورد شركت هاي Intel و AMD و پردازنده هاي متعددي كه اين دو شركت توليد كرده اند، صحبت شود. اما امروزه پردازنده هاي رايج در دنياي ديجيتال تنها توسط اين دو شركت ساخته نمي شوند. در حال حاضر، شركت هاي ديگري نيز مشغول
يکشنبه، 10 بهمن 1389
تخمین زمان مطالعه:
موارد بیشتر برای شما
بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!

بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!
بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!


 





 
هنگامي كه صحبت از پردازنده به ميان مي آيد، بيشتر علاقمندان به سخت افزار كامپيوتر تصور مي كنند، قرار است در مورد شركت هاي Intel و AMD و پردازنده هاي متعددي كه اين دو شركت توليد كرده اند، صحبت شود. اما امروزه پردازنده هاي رايج در دنياي ديجيتال تنها توسط اين دو شركت ساخته نمي شوند. در حال حاضر، شركت هاي ديگري نيز مشغول ساخت پردازنده بوده و حتي برخي از آن ها معماري هاي اختصاصي دارند. يكي از اين شركت ها، شركت ARM است.
پردازنده يا مغز يك سيستم ديجيتال وظيفه پردازش داده ها را برعهده دارد. به طور كلي، اين قطعه تعيين كننده قدرت يك سيستم ديجيتال است.
سال ها قبل از پردازنده ها تنها در سيستم هاي كامپيوتري استفاده مي شد، اما امروزه برخي از تلفن هاي همراه، پخش كننده هاي MP3، تجهيزات شبكه هاي كامپيوتري و... نيز از پردازنده استفاده مي كنند. اما از آنجا كه پردازنده هاي بكار گرفته شده در اين قطعات تنها براي كاربردهاي خاصي طراحي مي شوند، بنابراين لازم نيست تا پيچيدگي پردازنده هاي كامپيوترهاي خانگي را داشته باشند. از طرف ديگر، خود اين قطعات نيز كاربردهاي گوناگوني دارند.
به طور مثال، كار يك پردازنده تلفن همراه كاملاً متفاوت از كار يك پردازنده تجهيزات شبكه هاي كامپيوتري است. اين تفاوت ها موجب شده تا معماري پردازنده ها يكپارچه و يكسان نباشد. در اين مقاله قصد داريم به بررسي اين گونه از پردازنده ها و معماري بكار گرفته شده در آن ها پرداخته و ويژگي هاي آن ها را مورد بررسي قرار دهيم.

بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!

معرفي
 

برخلاف شركت هايي مانند Intel, AMD و IBM كه معماري پردازنده هاي خود را در اختيار توليدكنندگان ديگر قرار نمي دهند، شركت ARM مجوز استفاده از معماري پردازنده هاي خود را به سازندگان مختلف واگذار مي كند تا آن ها بتوانند با اعمال تغييرات، پردازنده اي مبتني بر نيازهاي خود توليد كنند. در حقيقت، شركت ARM سازنده پردازنده نيست و تنها عرضه كننده يك معماري است، در حالي كه Intel و AMD سازنده پردازنده هستند (تصوير 1).
معماري كه ARM توسعه داده در حقيقت يك معماري RISC سي و دوبيتي است. معماري RISC با وجود موفقيت هاي بسيار، در مقابل پلتفرم x86 (معماري مورد استفاده در پردازنده هاي Intel و AMD) نتوانست به موفقيت دست پيدا كند و بنابراين در كامپيوترهاي خانگي و سيستم هاي سرور مورد استفاده قرار نگرفت. همان طور كه گفته شده، شركت ARM اجازه استفاده از معماري پردازنده هاي خود را به شركت هاي مختلف مي دهد. اين مجوز در دو سطح پياده سازي و معماري ارائه مي شود. مجوز پياده سازي اطلاعات كامل موردنياز براي طراحي و ساخت مدارات مجتمع شامل هسته پردازنده را فراهم مي كنند. مجوز ساخت هسته پردازنده نيز در دو نوع مختلف عرضه مي شود: هسته هاي نرم و هسته هاي سخت. مجوز هسته سخت براي فرآيند ساخت ويژه بهينه سازي شده، در حالي كه مجوز هسته نرم، فرآيند ساخت عادي دارد و براي كاربرد ويژه اي بهينه نشده است. مجوز معماري نيز به دارنده پروانه اجازه مي دهد تا پردازنده اش را مطابق با ARM ISA توسعه دهد.
معماري ARM به واسطه ويژگي هاي بي مانندي كه دارد به يكي از محبوب ترين معماري هاي امروزي مبدل شده است. اين معماري، در مقايسه با بيشتر پردازنده هاي رايج امروزي خيلي ساده است، به طوري كه پردازنده هاي مبتني بر آن را مي توان با تعداد كمي ترانزيستور ساخت. اين موضوع سبب شده تا فضاي زيادي روي سطح پردازنده براي ماكروسل هاي (Macrocell) ويژه برنامه هاي كاربردي در اختيار سازنده قرار گيرد. يك چيپ ست ARM مي تواند شامل چندين كنترلر خارجي، يك پردازنده سيگنال ديجيتال و مقداري حافظه مجتمع شده همراه با يك هسته ARM باشد.
هدف هر دو طراحي خط لوله و ARM ISA، به حداقل رساندن مصرف انرژي است. مصرف توان كمتر يكي از فاكتورهاي مهمي است كه در وسايل همراه مورد توجه قرار مي گيرد. سازندگان چنين وسايلي همواره تمايل دارند از قطعاتي با مصرف توان پايين تر در محصولات خود استفاده كنند. معماري ARM انعطاف پذيري بالايي دارد، به طوري كه تنها بخش اجباري يك پردازنده ARM، مسير پردازشي عدد صحيح آن است و اجزاي ديگر شامل حافظه نهان، MMU، مميز شناور و ديگر اجزاي پردازنده اختياري هستند. اين موضوع نيز انعطاف پذيري بالايي را در ساختمان پردازنده هاي مبتني بر ARM فراهم كرده است. در نهايت اگر چه اين پردازنده ها كوچك و كم مصرف هستند، اما كارايي بالايي در برنامه هاي كاربردي فراهم مي كنند. به عنوان مثال، پردازنده PXA255 XScale با فركانس چهارصد مگاهرتز كارايي تقريباً برابري با «پنتيوم 2» سيصد مگاهرتزي ارائه مي كند، در حالي كه مصرف توان آن پنجاه برابر كمتر است.

بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!

معماري ARM
 

در اوايل دهه هشتاد ميلادي، معماري ريزپردازنده ها بسيار پيچيده بودند، به طوري كه شركت هاي بزرگ نيز براي طراحي يك پردازنده جديد به زمان زيادي نياز داشتند. در آن زمان مهندسان شركت معروف Acron Computer دريافتند كه ريزپردازنده هاي تجاري نمي توانند نيازهايشان را برطرف كنند، زيرا آن ها نسبت به حافظه هاي استاندارد قابل دسترس، آهسته تر بوده و مجموعه دستورالعمل هاي پيچيده اي داشتند كه اجراي آنها نيازمند هزاران سيكل بود. بنابراين مهندسان اين شركت تصميم گرفتند براي مصارف خود ريزپردازنده جديدي طراحي كنند و معماري ARM را براي اولين بار در سال 1983 عرضه كردند.
دو سال پيش از اين، پروژه Berkeley RISC1 نشان داده بود كه به طور عملي ساخت يك پردازنده خيلي ساده با كارايي برابر با پيشرفته ترين پردازنده هاي CISC امكان پذير است (پردازنده هاي CISC پردازنده هايي هستند كه هريك از دستورالعمل هاي آن ها مي تواند عمليات سطح پايين مانند بارگذاري از حافظه، عمليات رياضي و ذخيره سازي در حافظه را با يكديگر انجام دهد).
بنابراين شركت اكرون تصميم گرفت از رويكرد Berkeley استفاده كند و دو سال بعد در سال 1985 آن ها اولين پردازنده 26 بيتي Acron RISC Machine را معرفي كردند كه در حقيقت اولين پردازنده تجاري RISC جهان است. پردازنده هاي مبتني بر اين معماري داراي كمتر از 25 هزار ترانزيستور بودند و كارايي برابر يا حتي بالاتر از پردازنده شركت اينتل كه در آن زمان به تازگي معرفي شده بود، ارائه مي كردند. اين معماري اكنون به عنوان معماري نسخه ARM1 شناخته مي شود.
نسل دوم معماري ARM در سال 1987 عرضه شد. اين معماري داراي حافظه نهان مجتمع شده درون پردازنده و قابليت پشتيباني از كمك پردازنده ها (Coprocessors) بود. در سال 1990 شركت اپل طي يك اقدام استراتژيك تصميم به استفاده از يك پردازنده مبتني بر معماري ARM در Newton PDA خود گرفت. در نتيجه اين تصميم، همكاري مشتركي بين اپل و اكرون براي طراحي كي پردازنده جديد آغاز شد. همكاري اين دو شركت به تأسيس شركت جديدي به نام ARM (مخفف عبارت Advanced RISC Machines ) منجر شد.

بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!

نسخه سوم معماري ARM به وسيله اين شركت جديد توسعه داده شد. اين نسخه شامل ويژگي هايي مانند آدرس دهي 32 بيتي، پشتيباني MMU و دستورالعمل هاي ضرب 64 بيتي (Multiply Accumulate) شد. اين نسخه از معماري ARM در پردازنده هاي خانواده ARM 6 و ARM 7 به كار گرفته شده است.
چهارمين نسخه معماري ARM در سال 1996 عرضه شد. اكنون تمامي معماري هاي نسل هاي قبل منسوخ شده و مورد استفاده قرار نمي گيرند. به عبارت ديگر، قديمي ترين نسخه معماري ARM كه امروزه مورد استفاده قرار مي گيرد، نسخه چهارم اين معماري است. از اين معماري در پردازنده هاي خانواده ARM7 و پردازنده هاي خانواده StrongARM شركت اينتل استفاده شده است. معماري نسل چهارم در دو نسخه ARMv4 و ARMv4T عرضه شده است كه ARMv4T داراي ويژگي جديد پشتيباني از مجموعه دستورالعمل هاي به هم فشرده شانزده بيتي Thumb است. كدهاي Thumb در مقايسه با كدهاي ARM سي و دو بيتي چهل درصد فضاي كمتر اشغال مي كنند، اما از لحاظ كارايي، اندكي ضعيف تر عمل مي كنند.
يكي از برجسته ترين خانواده هاي مبتني بر معماري ARMv4T، خانواده ARM7TDMI است. در حال حاضر، هسته هاي مبتني بر اين خانواده يكي از محبوب ترين هسته هاي ARM هستند و در بيشتر پخش كننده هاي iPod شركت اپل شامل iPod Classic مورد استفاده قرار مي گيرد. ARM7TDMI داراي خط لوله سه مرحله اي مشابه با اولين طراحي ARM در سال 1985 است و فقط شامل سي هزار ترانزيستور است (تصوير 2).
در سال 1999 پنجمين نسل معماري ARM عرضه شد. اين نسل شامل دو نسخه TE وTEJ مي شود. در نسخه TE ويژگي Thumb بهبود پيدا كرد و مجموعه دستورالعمل هاي DSP (پردازش سيگنال ديجيتال) به معماري ARM افزوده شد. نسخه TEJ در سال 2000 عرضه شد و فناوري Jazelle را به پردازنده هاي مبتني بر معماري ARM افزود. اين فناوري موجب مي شود تا كدبيت هاي جاوا نسبت به ماشيني كه فقط به صورت نرم افزاري از جاوا پشتيباني مي كند، به طور قابل توجهي با كارايي بالاتر اجرا شوند.
هسته هاي مبتني بر اين فناوري كدبيت هاي جاوا را هشت برابر نسبت به سيستم هايي كه داراي چنين شتاب دهنده سخت افزاري نيستند، سريع تر اجرا مي كنند. اين فناوري علاوه بر افزايش كارايي موجب كاهش هشتاد درصدي مصرف توان در كاربردهاي جاوا مي شود. محبوب ترين كاربرد اين معماري در پردازنده XScale شركت اينتل است. اين پردازنده در مدل متنوعي از وسايل پيشرفته شامل پردازنده هاي شبكه، گوشي هاي موبايل و PDAها مورد استفاده قرار گرفته است (تصوير 3).
نسل ششم معماري ARM در سال 2001 معرفي شد و شامل بسط مجموعه دستورالعمل هاي SIMD، بهبود مجموعه دستورالعمل هاي Thumb، فناوري Virtualisation TrustZone و پشتيباني چندين پردازنده اي است. بسط مجموعه دستورالعمل هاي SIMD موجب بهبود كارايي در كاربردهاي صوتي و تصويري مي شود. گوشي هاي شركت نوكيا(سري Nokia 5800، Nokia E71، Nokia E63، Nokia N97، Nokia E75، Nokia E51 و Nokia N81) داراي پردازنده اي مبتني بر اين معماري هستند (تصوير 4).
نسل هفتم معماري ARM كه در بيشتر پردازنده هاي خانواده Cortex مورد استفاده قرار گرفته، شامل سه نسخه معماري متمايز R،A و M است. نسخه A براي كاربردهاي سطح بالا و حرفه اي، نسخه R براي سيستم هاي Real-Time و نسخه M براي ميكروكنترلرها و كاربردهاي سطح پايين بهينه شده است. تمامي نسخه هاي نسل هفتم معماري ARM شامل فناوري Thumb 2 هستند. نسخه هاي R و A اين معماري شامل فناوري NEON نيز مي شوند و در نهايت معماري ARM نسخه هفت شامل ويژگي هايي مانند مجموعه دستورالعمل هاي SIMD و بهبود پشتيباني از اعداد مميزي (مميز شناور) است (تصاوير 5 و6).

بررسي معماري پردازنده هاي ARM پردازنده هايي براي تمامي فصول!

بسط هاي ARM ISA
 

بسط هاي گوناگوني كه طي چند سال اخير همراه با معماري هاي ARM معرفي شده اند، امكانات و ويژگي هاي جديدي را به پردازنده هاي مبتني بر اين معماري افزوده اند. در ادامه به بررسي ويژگي ها و امكانات هر يك از اين بسط ها مي پردازيم.

Thumb
 

مجموعه دستورالعمل هاي Thumb در نسخه چهارم معماريARM معرفي شده است كه كدهاي بيشتري را براي كاربردهاي توليدكنندگان مختلف فراهم مي كند. Thumb يك زيرمجموعه از عمومي ترين دستورالعمل هاي ARM سي و دو بيتي را كه درون كدهاي عملياتي (Opcode- كدهاي عملياتي بخشي از دستورالعمل هاي زبان ماشين هستند كه اجرا شدن عمليات را مشخص مي كند) با اندازه شانزده بيت فشرده شده است، فراهم مي كند. در زمان اجرا، اين دستورالعمل هاي شانزده بيتي مي توانند از وضعيت فشرده خارج شده و به دستورالعمل هاي ARM سي و دو بيتي مبدل شود يا به طور مستقيم توسط يك واحد رمزگشايي اختصاصي Thumb اجرا شوند. اگر چه كد Thumb نسبت به كد ARM سي و دو بيتي معادل، چهل درصد بيشتر دستورالعمل استفاده مي كند، اما به سي درصد فضاي كمتر نياز دارد. همچنين كد Thumb نسبت به كد ARM چهل درصد آهسته تر است. بنابراين Thumb موجب كاهش كارايي مي شود و به طور معمول در كارهايي كه حساس به كارايي نيستند، كاربرد دارد. Thumb اگرچه موجب كاهش كارايي مي شود، اما موجب كاهش مصرف توان سيستم مي شود كه يك معيار بسيار مناسب براي سيسستم هاي همراه به شمار مي آيد.

Thumb 2
 

يك مجموعه از دستورالعمل هاي سي و دو بيتي است كه در كنار دستورالعمل هاي شانزده بيتي سنتي كه در Thumb بكار گرفته شده بود، اجرا مي شود. Thumb 2 مي تواند نياز به Thumb را در يك سيستم كاهش داده يا به طور كامل حذف كند. اين فناوري موجب بهبود كارايي در برخي مواقع نيز موجب كاهش مصرف توان مي شود.

Jazell
 

فناوري Jazell سخت افزاري است كه به پردازنده هاي ARM اجازه مي دهد تا «بايت كدهاي» جاوا را اجرا كند. آن دسته از معماري هايي كه داراي چنين ويژگي هستند، در كاربردهاي جاوا كارايي بالاتر به همراه مصرف توان پايين تر را فراهم مي كنند.

بسط هاي DSP
 

سيستم هاي مبتني بر ARM وظايف پردازش سيگنال را با استفاده از كمك پردازنده DSP اختصاصي اجرا مي كنند. در برخي از مواقع پشتيباني از DSP به وسيله هسته اصلي ARM مناسب است. يك بسط ISA متناظر در پنجمين نسخه اين معماري معرفي شده است. اين ويژگي هنگامي كه عمليات جمع و تفريق و ضرب شانزده بيتي اشباع شود از آن ها پشتيباني مي كند. اين ويژگي در ششمين نسخه ARM به كار گرفته شد و به بسط مجموعه دستورالعمل هاي SIMD اضافه شد كه اجازه مي دهد دو دستورالعمل محاسباتي شانزده بيتي يا چهار دستورالعمل محاسباتي هشت بيتي به طور همزمان اجرا شود.

NEON
 

اين فناوري كه گاهي با نام Advanced SIMD شناخته مي شود، در معماري نسل هفتم مورد استفاده قرار گرفته و براي كاربردهاي حرفه اي، وسايل همراه كم مصرف و علاقمندان به رسانه ها طراحي شده است. فناوري NEON يك معماري هايبريد SIMD نوع 64 يا 128 بيت است كه به وسيله ARM براي شتاب دادن به كارايي چند رسانه اي و برنامه هاي كاربردي پردازش سيگنال شامل رمزگذاري/ رمزگشايي ويدئويي، گرافيك سه بعدي، فشرده سازي رمزگشايي صوتي و پردازش تصاوير توسعه داده شده است.

معماري پردازنده هاي ARM
 

پردازنده هاي ARM از خط لوله براي پردازش استفاده مي كنند. پردازنده هاي مبتني بر خط لوله داراي سه وضعيت كاري براي اجراي يك دستورالعمل هستند: 1. واكشي اطلاعات از حافظه (FETCH) 2. رمزگشايي اطلاعات واكشي شده (DECODE) 3. اجراي برنامه رمزگشايي شده (EXECUTE). به عبارت ساده تر، در سيكل اول، دستور اول واكشي مي شود، در سيكل دوم، دستور اول رمزگشايي و دستور دوم واكشي مي شود و در سيكل سوم، دستور اول اجرا و دستور دوم رمزگشايي و دستور سوم واكشي مي شود. به اين نوع سيستم خط لوله سه مرحله اي گفته مي شود. خط لوله ها از اولين پردازنده ARM تا هسته ARM7TDMI سه مرحله اي هستند و در نسخه هاي بالاتر تعداد مراحل خط لوله ها افزايش پيدا كرده است. به طور مثال، پردازنده هاي ARM9 داراي خط لوله هاي پنج مرحله اي هستند كه عمليات خواندن و نوشتن از حافظه ها نيز جزء اين عمليات قرار گرفته است. خط لوله ها در ARM10 شش مرحله اي و در ARM11 هشت مرحله اي هستند. به طور كلي، هرچه تعداد مراحل خط لوله ها افزايش پيدا كند، قدرت پردازش پردازنده و در نتيجه كارايي آن افزايش مي يابد.

كمك پردازنده ها (Coprocessors)
 

معماري ARM از يك مكانيزم عمومي براي توسعه مجموعه دستورالعمل ها از طريق افزايش كمك پردازنده ها پشتيباني مي كند. براي نمونه، واحدهاي مميز شناور به عنوان يك كمك پردازنده به كار گرفته مي شوند. يك مثال ديگر از كمك پردازنده، كمك پردازنده كنترل سيستم است كه بافر نوشتن، TLB، حافظه نهان و MMUها را مديريت مي كند.
معماري ARM يك پروتكل براي تعامل بين هسته ARM و كمك پردازنده ها و همچنين دستورالعمل هايي براي انتقال داده بين ARM و كمك پردازنده ها معين كرده است. كمك پردازنده ها نيازمند يك معماري بارگذاري ذخيره سازي (Load-Store) هستند. هر كمك پردازنده مي تواند حداكثر شانزده ثبات از هر نوع اندازه اي داشته باشد. به طور كلي، سه نوع دستورالعمل مربوط به كمك پردازنده توسط هسته ARM اصلي به رسميت شناخته شده است.

پردازنده هاي Atom سري Z رقيب جديد
 

اينتل اين سري از پردازنده ها را براي رقابت با پردازنده هاي ARM عرضه كرده است. پردازنده هاي مبتني بر معماري ARM به دليل مصرف توان پايين محبوبيت فوق العاده اي پيدا كرده اند و بيشتر سازندگان از آن ها در تلفن ها، PDAها و GPS استفاده كرده اند. پردازنده هاي اتم سري Z از دستورالعمل هاي SIMD (از MMX گرفته تاSSSE3)، EIST (Enhanced Intel SpeedStep Technology) و Hyper Threading پشتيباني مي كنند. گذرگاه FSB به صورت QDR عمل مي كند و داراي فركانس هاي 400 و 533 مگاهرتز است.
اينتل به جاي استفاده از پل شمالي و جنوبي از يك چيپ ست براي كنترل اين سري از پردازنده ها استفاده كرده و آن را SCH (System Controller Hub) ناميده است. SCH شامل يك درگاه PATA (Ultra DMA 5,100 MB/s)، واحد پردازش صداي HD دوكاناله، پشتيباني از دو مسير PCI-Express (براي كارت هاي Wi-Fiو ...) و هشت پورت USB است. SCH داراي گرافيك مجتمع بوده و از حافظه DDR2 با ولتاژ 5/1 ولت پشتيباني مي كند (برخلاف JEDEC كه براي DDR2 ولتاژ 8/1 ولت قرار داده است). پردازنده گرافيكي به كار گرفته شده در SCH هسته GMA 500 است كه از فناوري سايه زني نسخه 3+ پشتيباني مي كند.
نكته قابل توجه در مورد GMA 500 پشتيباني از رمزگشايي سخت افزاري و فرمت هاي H.264، VC1، MPEG4، MPEG2 و WMV9 است. فركانس اين واحد پردازش گرافيكي صد يا دويست مگاهرتز بستگي به نوع چيپ ست آن دارد. توان مصرفي SCH تقريباً 3/2 وات است. به طور كلي، SCH همراه با پردازنده اتم سري Z تواني كمتر از پنج وات را مصرف مي كند.
منبع:نشريه عصرشبکه،شماره101



 



نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط