Your SlideShare is downloading. ×
  • Like
معماری ماشین های پیشرفته کم دستور
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

معماری ماشین های پیشرفته کم دستور

  • 419 views
Published

معماری ARM

معماری ARM

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
419
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ‫‪The ARM Architecture‬‬ ‫گشدآٍسًذُ:‬ ‫اهیشسضا اػذی‬ ‫هؼواسی تشای دًیا دیجیتال‬ ‫‪TM‬‬ ‫1‬
  • 2. ‫هطالة ایي اسائِ‬ ‫‪ ‬هؼشفی ؿشکت ‪ARM‬‬ ‫‪ ‬هؼواسی ‪ARM‬‬ ‫دػتَسالؼول ّا‬ ‫‪‬‬ ‫تْثَد ّا ًؼثت تِ ‪RISC‬اتتذایی‬ ‫‪‬‬ ‫ثثات ّا‬ ‫‪‬‬ ‫هذ ّای پشداصًذُ‬ ‫‪‬‬ ‫ػاختاس حافظِ ًْاى‬ ‫‪‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫2‬ ‫2‬
  • 3. ‫اّویت هؼواسی؟‬ ‫ػولکشد‬ ‫اجشایی قَی‬ ‫هصشف‬ ‫پاییي اًشطی‬ ‫کاهال ‪RISC‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫3‬ ‫3‬
  • 4. ‫دستاسُ ؿشکت‬ ‫‪ ‬تاػیغ دس ػال 0991‬ ‫‪ ‬طشاحی هذل ّای پشداصًذُ ّای کن دػتَس‬ ‫‪ ‬فشٍؽ الیؼٌغ طشاحی پشداصًذُ تِ ؿشکا تشای تَلیذ‬ ‫‪ ARM‬خَدؽ ّیچگًَِ تشاؿِ ای سا ًوی ػاصد‬ ‫‪‬‬ ‫‪ ‬طشاحی تکٌَلَطی ّا تشای تکاسگیشی دس طشاحی کن دػتَس‬ ‫‪ARM‬‬ ‫ػخت افضاس اؿکال یاتی، اتضاس ّای ًشم افضاسی ،هؼواسی تاع‬ ‫‪‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫4‬ ‫4‬
  • 5. ‫هؼواسی ‪ARM‬‬‫تا اػتفادُ اص سٍؽ کن دػتَس(‪ ) RISC‬پشداصًذُ ‪ ARM‬تٌْا تِ 00053 تشاًضیؼتَس ًیاص داسد‬ ‫کِ دس هقایؼِ تا پشداصًذُ ّای هتؼاسف کِ اص هیلیَى ّا تشاًضیؼتَس ػاختِ ؿذُ اًذ هصشف‬ ‫اًشطی پاییٌی داسد ٍ تشای اػتفادُ دس ٍػایل الکتشًٍیکی کَچک تؼیاس جزاب اػت.‬ ‫‪ARM‬تا فشٍؽ الیؼٌغ ّای هختلف تِ ؿشکت ّای تَلیذ کٌٌذُ ًیوِ سػاًا ایي اجاصُ سا هی دّذ‬ ‫کِ تِ آػاًی ‪ SYSTEM ON A CHIP‬سا تشای ػیؼتن ‪EMBEDDED‬خَد تَلیذ کٌٌذ.کِ‬ ‫اٍلیي ًوًَِ آى ‪APPLE NEWTON‬تَد ٍ اهشٍصُ ًیض دس تثلت ّای ‪ iPad‬هـاّذُ هی ؿَد.‬ ‫اسصاى تَدى ،کَچک تَدى ٍ هصشف خیلی کن اًشطی ػثة ؿذُ اػت اص سیضپشداصًذُ ّا ٍ هیکشٍ‬ ‫کٌتشٍلش ّا ‪ARM‬دس ّاسد دیؼک ّا ،هَتایل ،پخؾ کٌٌذُ ّای هَػیقی ، هاؿیي حؼاب ّا‬ ‫،دػتگاُ ّای تاصی قاتل حول ٍ دٍستیي ّای ػکاػی اػتفادُ ؿَد‬ ‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫5‬ ‫5‬
  • 6. ‫توایض ‪ ARM‬تا هؼواسی ‪RISC‬اٍلیِ‬ ‫‪SHIFT ٍ ALU‬‬ ‫■ کٌتشل تش‬ ‫■ کاٌّذُ ٍ افضایٌذُ اتَهاتیک‬ ‫■ ‪Load / Store‬چٌذیي دػتَس الؼول‬ ‫■ اجشای ؿشطی‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫6‬ ‫6‬
  • 7. ‫هجوَػِ دػتَس الؼول ٍ طَل دادُ‬ ‫‪ ARM‬یک هؼواسی 23 تیتی اػت(دس ػال 4102 اٍلیي هؼواسی 46 تیتی ‪ ARM‬ػشضِ هی‬ ‫‪‬‬ ‫ؿَد)‬ ‫‪ ‬اًذاصُ ّا‬ ‫تایت تشاتش ّـت تیت اػت‬ ‫‪‬‬ ‫ًین کلوِ تشاتش 61 تیت اػت‬ ‫‪‬‬ ‫ٍسد(کلوِ) تشاتش 23 تیت اػت‬ ‫‪‬‬ ‫‪ ‬دٍ هجوَػِ دػتَس الؼول‬ ‫‪32-bit ARM Instruction Set‬‬ ‫‪‬‬ ‫‪16-bit Thumb Instruction Set‬‬ ‫‪‬‬ ‫‪ ‬تکٌَلَطی ‪ JAZELLE‬دس ‪ ARM‬اهکاى اجشای کذتایت ّای صتاى جاٍا سا سٍی هاؿیي هی دّذ‬‫کذ تایت ّای جاٍا دػتَس الؼول ّای ّـت تیتی ّؼتٌذ کِ طشاحی ؿذُ اًذ تا هؼتقل اص هؼواسی‬ ‫‪‬‬ ‫تاؿٌذ.‬ ‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫7‬ ‫7‬
  • 8. ‫هُذ ّای پشداصًذُ‬ ‫‪ّ ARM‬فت هذ ػولیاتی تٌیادی داسد:‬ ‫‪‬‬ ‫‪User‬هذ غیشهوتاص ‪ unprivileged‬اهکا اجشای اغلة ٍظایف سا هی دّذ‬ ‫‪‬‬ ‫‪ٍ FIQ‬قتی کِ یک ٍقفِ تا اٍلَیت تاال (ػشیغ) فؼال هی ؿَد‬ ‫‪‬‬ ‫‪ٍ IRQ‬قتی کِ یک ٍقفِ تا اٍلیت پاییي(ػشػت هؼوَلی) فؼال هی ؿَد(‪(raised‬‬ ‫‪‬‬ ‫‪Supervisor‬تشای صهاًی کِ ٍقفِ تِ کاس سفتِ ؿذُ دس یک ًشم افضاس اجشا ؿذُ اػت‬ ‫‪‬‬ ‫‪Abort‬تشای صهاًی کِ خطا ّای دػتشی تِ هوَسی سا سفغ هی ؿًَذ‬ ‫‪‬‬ ‫‪ٌّUndef‬گام ػش ٍ کاس داؿتي تِ دػتَس الؼول ّای تؼشیف ًـذُ‬ ‫‪‬‬ ‫: ‪System‬هذ هوتاص ‪ privileged‬تا دػتشػی تِ ّواى ثثات ّای هذ ‪user‬‬ ‫‪‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫8‬ ‫8‬
  • 9. ‫ػاصهاى دّی ثثات ّا‬ User FIQ IRQ SVC Undef Abort r0 r1 User r2 mode r3 r0-r7, r4 r15, User User User User and mode mode mode mode Thumb state r5 cpsr r0-r12, r0-r12, r0-r12, r0-r12, Low registers r6 r15, r15, r15, r15, r7 and and and and r8 r8 cpsr cpsr cpsr cpsr r9 r9 r10 r10 Thumb state r11 r11 High registers r12 r12r13 (sp) r13 (sp) r13 (sp) r13 (sp) r13 (sp) r13 (sp)r14 (lr) r14 (lr) r14 (lr) r14 (lr) r14 (lr) r14 (lr)r15 (pc) cpsr spsr spsr spsr spsr spsr ‫ّؼتٌذ‬user ‫ ّواى ثثات ّای هذ‬system ‫ثثات ّا هذ‬ ‫معماری برای دنیا دیجیتال‬ TM ‫ماشین های پیشرفته کم دستور‬ 9 9
  • 10. ‫ثثات ّا‬ ‫‪ ‬هؼواسی ‪ 32ARM‬ثثات داسد کِ ّوِ آى ّا 23 تیتی ّؼتٌذ‬ ‫یک ؿواسًذُ تشًاهِ اختصاصی ‪pc‬‬ ‫‪‬‬ ‫یک ثثات اختصاصی تشای ٍضؼیت فؼلی تشًاهِ‬ ‫‪‬‬ ‫5ثثات اختصاصی تشای ٍضؼیت رخیشُ ؿذُ تشًاهِ‬ ‫‪‬‬ ‫03ثثات تشای کاستشد ػوَهی ‪General Purpose‬‬ ‫‪‬‬‫‪ CPSR (Current Program Status Register( ‬اطالػات اضافی ٍضؼیت فؼلی پشداصًذُ سا‬ ‫رخیشُ هی کٌذ‬ ‫31‪ R‬هؼوَال تِ ػٌَاى اؿاسُ گش تِ پـتِ اػتفادُ هی ؿَد‬ ‫‪‬‬ ‫51‪ R‬فقط تِ ػٌَاى ‪PC‬اػتفادُ هی ؿَد‬ ‫‪‬‬ ‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫01‬ ‫01‬
  • 11. Program Status Registers31 28 27 24 23 16 15 8 7 6 5 4 0N Z C V Q J U n d e f i n e d I F T mode f s x c ‫پشچن ؿشط ّا‬  .‫تیت ّای غیش فؼال ػاص ٍقفِ ّا‬ ALU ‫ ًتیجِ هٌفی دس‬N  I = 1: Disables the IRQ.  ALU ‫ًتیجِ صفش دس‬Z  F = 1: Disables the FIQ.  ALU ‫سقن ًقلی دس‬C  ALU ‫ػشسیض دس‬V  T Bit  Sticky Overflow flag - Q flag  ARM state ‫ٍضؼیت‬T = 0  ‫ًـاى دٌّذُ اؿثاع‬  Thumb state ‫ٍضؼیت‬T = 1  Mode bits  ‫هذ ػولیاتی پشداصًذُ سا هـخص هی کٌذ‬  ‫معماری برای دنیا دیجیتال‬ TM ‫ماشین های پیشرفته کم دستور‬ 11 11
  • 12. ‫ٍضؼیت پشداصًذُ دس حالت ّای هختلف‬ ‫‪ٍ ‬قتی پشداصًذُ دس حالت ‪ ARM‬اجشا هی کٌذ‬ ‫ّوِ دػتَس الؼول ّا 23 تیتی ّؼتٌذ‬ ‫‪‬‬ ‫‪Word aligned‬‬ ‫‪‬‬ ‫‪ٍ ‬قتی پشداصًذُ دس حالت ‪thumb‬اجشا هی کٌذ‬ ‫ّوِ دػتَسالؼول ّا 61 تیتی ّؼتٌذ‬ ‫‪‬‬ ‫‪Half word aligned‬‬ ‫‪‬‬ ‫‪ٍ ‬قتی پشداصًذُ دس حالت ‪ Jazelle state‬اجشا هی کٌذ‬ ‫ّوِ دػتَسالؼول ّا 8 تیتی ّؼتٌذ‬ ‫‪‬‬ ‫پشداصًذُ تا دػتیاتی تِ یک کلوِ چْاس دػتَس الؼول سا تِ طَس ّوضهاى هی خَاًذ‬ ‫‪‬‬ ‫‪word aligned‬‬ ‫‪‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫21‬ ‫21‬
  • 13. Exception Handling ‫سخ هی دّذ‬exception ِ‫ ٍقتی کِ ی‬‫ کپی‬SPSR_<mode> ‫ سا دس ثثات‬CSPR ‫اطالػات ثثات‬  ‫هی کٌذ‬ 0x1C FIQ cspr ‫تٌظین تیت ّای‬  0x18 IRQ arm ‫ٍاسد ؿذى تِ ٍضؼیت‬  0x14 (Reserved) ‫غیش فؼال کشدى ٍقفِ ّا‬  LR_<mode> ‫رخیشُ کشدى آدسع تاصگـت دس‬  0x10 Data Abort vector ‫تِ آدسع‬pc ‫تٌظین‬  0x0C Prefetch Abort 0x08 Software Interrupt ‫ تشای تاصگـت اص اضطشاس‬ 0x04 Undefined Instruction SPSR_<mode> ‫ اص سٍی‬cspr ‫تاصگشداًی‬  0x00 Reset LR_<mode> ‫ اص‬pc ‫تاصگشداًی ثثات‬  Exception Handling ARM ‫فقط دس ٍضؼیت‬ Vector Table ‫اهکاى پزیش اػت‬ ‫معماری برای دنیا دیجیتال‬ TM ‫ماشین های پیشرفته کم دستور‬ 13 13
  • 14. ‫ٍیظگی ّای هجوَػِ دػتَسالؼول ‪ARM‬‬ ‫‪ ‬اجشای ؿشطی ّش دػتَس الؼول (هثال دس صتاى اػوثلی)‬ ‫5# ,0‪CMP r‬‬ ‫‪BEQ BYPASS‬‬ ‫5# ,0‪CMP r‬‬ ‫0‪ADD r1, r1, r‬‬ ‫0‪ADDNE r1, r1, r‬‬ ‫2‪SUB r1, r1, r‬‬ ‫2‪SUBNE r1, r1, r‬‬ ‫‪BYPASS‬‬ ‫‪ ‬اجشای تواهی دػتَس الؼول ّا دس تٌْا یک ػیکل ػاػت‬ ‫‪ ‬اجشای دػتَسات اص طشیق سایاًؾ خط لَلِ ای(‪)PIPELINE‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫41‬ ‫41‬
  • 15. ‫کذ ّای ؿشطی‬ ‫ هجوَػِ توام کذ ّای ؿشطی‬ ‫دس ًظش گشفتِ ؿذُ ٍ ًیاص تِ اػالم آى ًیؼت‬AL ‫تِ صَست پیـًَذ‬  ‫پؼًَذ‬ ‫تَضیحات‬ ‫ٍضؼیت پشچن ّا‬ EQ Equal Z=1 NE Not equal Z=0 CS/HS Unsigned higher or same C=1 CC/LO Unsigned lower C=0 MI Minus N=1 PL Positive or Zero N=0 VS Overflow V=1 VC No overflow V=0 HI Unsigned higher C=1 & Z=0 LS Unsigned lower or same C=0 or Z=1 GE Greater or equal N=V LT Less than N!=V GT Greater than Z=0 & N=V LE Less than or equal Z=1 or N=!V AL Always‫معماری برای دنیا دیجیتال‬ TM ‫ماشین های پیشرفته کم دستور‬ 15 15
  • 16. ‫دػتَسالؼول ّای اًتقال دادُ‬ ‫ؿاهل دػتَسات صیش اػت‬ ‫‪‬‬ ‫‪‬‬ ‫:‪Arithmetic‬‬ ‫‪ADD‬‬ ‫‪ADC‬‬ ‫‪SUB‬‬ ‫‪SBC‬‬ ‫‪RSB‬‬ ‫‪RSC‬‬ ‫‪‬‬ ‫:‪Logical‬‬ ‫‪AND‬‬ ‫‪ORR‬‬ ‫‪EOR‬‬ ‫‪BIC‬‬ ‫‪‬‬ ‫:‪Comparisons‬‬ ‫‪CMP‬‬ ‫‪CMN‬‬ ‫‪TST‬‬ ‫‪TEQ‬‬ ‫‪‬‬ ‫:‪Data movement‬‬ ‫‪MOV‬‬ ‫‪MVN‬‬ ‫دػتَسالؼول ّا فقط تا سجیؼتش کاس هی کٌٌذ‬ ‫‪‬‬‫‪‬‬ ‫:‪Syntax‬‬ ‫2‪<Operation>{<cond>}{S} Rd, Rn, Operand‬‬ ‫ػولًَذ دٍم اص طشیق ؿیفت تـکِ ای تِ ‪ ALU‬اسػال هی گشدد‬ ‫‪‬‬ ‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫61‬ ‫61‬
  • 17. ‫دػتَس الؼول ّای اًتقال دادُ(1)‬ ‫‪ّ ‬وِ دػتَس الؼول ّا تش اػاع هذ آدسع دّی ‪ّ Register-indirect‬ؼتٌذ‬ ‫]1‪DR r0, [r1] ; r0 := mem32[r‬‬ ‫0‪TR r0, [r1] ; mem32[r1] := r‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫71‬ ‫71‬
  • 18. ‫پٌج هشحلِ پایپ الیي دس هؼواسی ‪ARM‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫81‬ ‫81‬
  • 19. ‫حافظِ ًْاى‬ ‫■ تافش هی تَاًذ 61 کلوِ دیتا ٍ چْاس‬ ‫آدسع سا ًگِ داسی کٌذ‬ ‫■ ّـت کلوِ دس ّش خط تا یک تیت‬ ‫اػتثاس ٍ دٍ تیت ‪dirty‬‬ ‫■ ًگاؿت تذاػی گش هجوَػِ ای 46‬ ‫‪way‬‬ ‫‪Dirty bit:A bit in a memory cache‬‬ ‫‪or virtual memory page that has‬‬ ‫‪been modified by the CPU, but not‬‬ ‫.‪yet written back to storage‬‬‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫91‬ ‫91‬
  • 20. ‫هؼواسی ‪Load / Store‬‬ ‫‪ ‬اص آدسع دّی هوَسی تِ هوَسی پـتیثاًی ًوی کٌذ‬ ‫‪ ‬اطالػات حتوا هی تایؼت اص هوَسی ٍاسد سجیتؼش ؿًَذ‬ ‫‪ ‬تِ ظاّش ایي ػثة کاّؾ کاسایی هی ؿَد ٍلی دس ػول ایي طَس ًیؼت‬‫‪ ‬پشداصؽ اطالػات دس دسٍى سجیؼتش ّا ػثة هی ؿَد کِ تا کاّؾ دفؼات دػتیاتی تِ ‪memory‬‬ ‫ػشػت تاال تشٍد‬ ‫معماری برای دنیا دیجیتال‬ ‫‪TM‬‬ ‫ماشین های پیشرفته کم دستور‬ ‫02‬ ‫02‬
  • 21. ARM ‫ًوًَِ یک ػیؼٌن هثتٌی تش‬ 16 bit RAM 32 bit RAM Interrupt Controller Peripherals I/O nIRQ nFIQ ARM Core 8 bit ROM‫معماری برای دنیا دیجیتال‬ TM ‫ماشین های پیشرفته کم دستور‬ 21 21
  • 22. ‫هٌاتغ‬• ARM architecture. (n.d.). Retrieved from Wikipedia, the free encyclopedia: http://en.wikipedia.org/wiki/ARM_architecture• ARM Fundamentals: Introduction to understanding ARM processors . (n.d.). Retrieved 2012, from http://blogs.arm.com/software-enablement/605-arm- fundamentals-introduction-to-understanding-arm-processors/• Introduction to ARM. (n.d.). Retrieved 11 7, 2012, from http://www.csie.nuk.edu.tw/~kcf/course/98_Spring/Embedded%20System/2- Introduction%20to%20ARM%20architecture.pdf• The ARM Architecture. (n.d.). Retrieved from http://havasi.sed.hu/sites/havasi.sed.hu/files/download/ARM.pptHoldings., A. (n.d.). Retrieved from ARMv7-A and ARMv7-R Architecture •Reference Manual: https://silver.arm.com/download/download.tm?pv=119956 ‫معماری برای دنیا دیجیتال‬ TM ‫ماشین های پیشرفته کم دستور‬ 22 22