Upload
amir-reza-asadi
View
513
Download
10
Embed Size (px)
DESCRIPTION
معماری ARM
Citation preview
1 TM ل ا ت ی ج ی د ا ی د ی ا ش ت ی س ا و ؼ ه
The ARM Architecture
:گشدآسذ
اهیشسضا اػذی
2 TM 2 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
هطالة ایي اسائ
هؼشفی ؿشکتARM
هؼواسیARM
دػتسالؼول ا تثد ا ؼثت تRISC اتتذایی ثثات ا هذ ای پشداصذ ػاختاس حافظ اى
3 TM 3 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
اویت هؼواسی؟
RISCکاهال
هصشف پاییي اشطی
ػولکشد اجشایی قی
4 TM 4 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
دستاس ؿشکت
1990تاػیغ دس ػال
طشاحی هذل ای پشداصذ ای کن دػتس
فشؽ الیؼغ طشاحی پشداصذ ت ؿشکا تشای تلیذ
ARM خدؽ یچگ تشاؿ ای سا وی ػاصد
طشاحی تکلطی ا تشای تکاسگیشی دس طشاحی کن دػتسARM
ػخت افضاس اؿکال یاتی، اتضاس ای شم افضاسی ،هؼواسی تاع
5 TM 5 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
ARMهؼواسی
تشاضیؼتس یاص داسد 35000تا ت ARMپشداصذ ( RISC)تا اػتفاد اص سؽ کن دػتسک دس هقایؼ تا پشداصذ ای هتؼاسف ک اص هیلیى ا تشاضیؼتس ػاخت ؿذ اذ هصشف
.اشطی پاییی داسد تشای اػتفاد دس ػایل الکتشیکی کچک تؼیاس جزاب اػت
ARM تا فشؽ الیؼغ ای هختلف ت ؿشکت ای تلیذ کذ یو سػاا ایي اجاص سا هی دذک .خد تلیذ کذ EMBEDDEDسا تشای ػیؼتن SYSTEM ON A CHIPک ت آػای
.هـاذ هی ؿد iPadتد اهشص یض دس تثلت ای APPLE NEWTONالیي و آى اسصاى تدى ،کچک تدى هصشف خیلی کن اشطی ػثة ؿذ اػت اص سیضپشداصذ ا هیکش
دس اسد دیؼک ا ،هتایل ،پخؾ کذ ای هػیقی ، هاؿیي حؼاب ا ARMکتشلش ا ،دػتگا ای تاصی قاتل حول دستیي ای ػکاػی اػتفاد ؿد
6 TM 6 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
الی RISCتا هؼواسی ARM توایض
ALU SHIFTکتشل تش ■
کاذ افضایذ اتهاتیک■
■Load / Storeچذیي دػتس الؼول
اجشای ؿشطی■
7 TM 7 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
هجوػ دػتس الؼول طل داد
ARM تیتی 64الیي هؼواسی 2014دس ػال )تیتی اػت 32یک هؼواسیARM ػشض هی (ؿد
اذاص ا
تشاتش ـت تیت اػت تایت
تیت اػت 16تشاتش ین کلو
تیت اػت 32تشاتش (کلو)سد
د هجوػ دػتس الؼول
32-bit ARM Instruction Set
16-bit Thumb Instruction Set
تکلطی JAZELLE دسARM اهکاى اجشای کذتایت ای صتاى جاا سا سی هاؿیي هی دذ کذ تایت ای جاا دػتس الؼول ای ـت تیتی ؼتذ ک طشاحی ؿذ اذ تا هؼتقل اص هؼواسی
.تاؿذ
8 TM 8 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
هذ ای پشداصذ
ARM فت هذ ػولیاتی تیادی داسد:
User هذ غیشهوتاصunprivileged اهکا اجشای اغلة ظایف سا هی دذ
FIQ فؼال هی ؿد( ػشیغ)قتی ک یک قف تا الیت تاال
IRQ فؼال هی ؿد( ػشػت هؼولی)قتی ک یک قف تا الیت پاییي((raised
Supervisor تشای صهای ک قف ت کاس سفت ؿذ دس یک شم افضاس اجشا ؿذ اػت
Abort تشای صهای ک خطا ای دػتشی ت هوسی سا سفغ هی ؿذ
Undef گام ػش کاس داؿتي ت دػتس الؼول ای تؼشیف ـذ
System : هذ هوتاصprivileged تا دػتشػی ت واى ثثات ای هذuser
9 TM 9 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
ػاصهاى دی ثثات ا
User
mode
r0-r7,
r15,
and
cpsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
FIQ
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
r15 (pc)
cpsr
r0
r1
r2
r3
r4
r5
r6
r7
User
r13 (sp)
r14 (lr)
spsr
IRQ
User
mode
r0-r12,
r15,
and
cpsr
r13 (sp)
r14 (lr)
spsr
Undef
User
mode
r0-r12,
r15,
and
cpsr
r13 (sp)
r14 (lr)
spsr
SVC
User
mode
r0-r12,
r15,
and
cpsr
r13 (sp)
r14 (lr)
spsr
Abort
User
mode
r0-r12,
r15,
and
cpsr
Thumb state
Low registers
Thumb state
High registers
ؼتذ userواى ثثات ای هذ systemثثات ا هذ
10 TM 10 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
ثثات ا
هؼواسیARM 32 تیتی ؼتذ 32ثثات داسد ک و آى ا
یک ؿواسذ تشاه اختصاصیpc
یک ثثات اختصاصی تشای ضؼیت فؼلی تشاه
5 ثثات اختصاصی تشای ضؼیت رخیش ؿذ تشاه
30 ثثات تشای کاستشد ػوهیGeneral Purpose
(CPSR (Current Program Status Register اطالػات اضافی ضؼیت فؼلی پشداصذ سا رخیش هی کذ
R13 هؼوال ت ػاى اؿاس گش ت پـت اػتفاد هی ؿد
R15 فقط ت ػاىPC اػتفاد هی ؿد
11 TM 11 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
Program Status Registers
پشچن ؿشط ا
N تیج هفی دسALU
Z تیج صفش دسALU
C سقن قلی دسALU
V ػشسیض دسALU
Sticky Overflow flag - Q flag ـاى دذ اؿثاع
.تیت ای غیش فؼال ػاص قف ا
I = 1: Disables the IRQ.
F = 1: Disables the FIQ.
T Bit T = 0 ضؼیتARM state
T = 1 ضؼیتThumb state
Mode bits هذ ػولیاتی پشداصذ سا هـخص هی کذ
27 31
N Z C V Q
28 6 7
I F T mode
16 23
8 15
5 4 0 24
f s x c
U n d e f i n e d J
12 TM 12 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
ضؼیت پشداصذ دس حالت ای هختلف
قتی پشداصذ دس حالتARM اجشا هی کذ
تیتی ؼتذ 32و دػتس الؼول ا
Word aligned
قتی پشداصذ دس حالتthumb اجشا هی کذ
تیتی ؼتذ 16و دػتسالؼول ا
Half word aligned
قتی پشداصذ دس حالتJazelle state اجشا هی کذ
تیتی ؼتذ 8و دػتسالؼول ا
پشداصذ تا دػتیاتی ت یک کلو چاس دػتس الؼول سا ت طس وضهاى هی خاذ
word aligned
13 TM 13 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
Vector Table
Exception Handling
قتی ک یexception سخ هی دذ
اطالػات ثثات CSPR سا دس ثثات SPSR_<mode> کپی هی کذ
تظین تیت ایcspr
اسد ؿذى ت ضؼیتarm
غیش فؼال کشدى قف ا
رخیش کشدى آدسع تاصگـت دسLR_<mode>
تظینpc ت آدسعvector
تشای تاصگـت اص اضطشاس
تاصگشدایcspr اص سیSPSR_<mode>
تاصگشدای ثثاتpc اصLR_<mode>
ARM Exception Handling فقط دس ضؼیت
اهکاى پزیش اػت
FIQ
IRQ
(Reserved)
Data Abort
Prefetch Abort
Software Interrupt
Undefined Instruction
Reset
0x1C
0x18
0x14
0x10
0x0C
0x08
0x04
0x00
14 TM 14 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
ARMیظگی ای هجوػ دػتسالؼول
(هثال دس صتاى اػوثلی)اجشای ؿشطی ش دػتس الؼول
اجشای تواهی دػتس الؼول ا دس تا یک ػیکل ػاػت
اجشای دػتسات اص طشیق سایاؾ خط لل ای(PIPELINE)
CMP r0, #5
BEQ BYPASS
ADD r1, r1, r0
SUB r1, r1, r2
BYPASS
CMP r0, #5
ADDNE r1, r1, r0
SUBNE r1, r1, r2
15 TM 15 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
کذ ای ؿشطی
هجوػ توام کذ ای ؿشطی
ت صست پیـذAL دس ظش گشفت ؿذ یاص ت اػالم آى یؼت
Not equal
Unsigned higher or same
Unsigned lower
Minus
Equal
Overflow
No overflow
Unsigned higher
Unsigned lower or same
Positive or Zero
Less than
Greater than
Less than or equal
Always
Greater or equal
EQ
NE
CS/HS
CC/LO
PL
VS
HI
LS
GE
LT
GT
LE
AL
MI
VC
تضیحات پؼذ
Z=0
C=1
C=0
Z=1
ضؼیت پشچن ا
N=1
N=0
V=1
V=0
C=1 & Z=0
C=0 or Z=1
N=V
N!=V
Z=0 & N=V
Z=1 or N=!V
16 TM 16 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
دػتسالؼول ای اتقال داد
ؿاهل دػتسات صیش اػت Arithmetic: ADD ADC SUB SBC RSB RSC
Logical: AND ORR EOR BIC
Comparisons: CMP CMN TST TEQ
Data movement: MOV MVN دػتسالؼول ا فقط تا سجیؼتش کاس هی کذ
Syntax:
<Operation>{<cond>}{S} Rd, Rn, Operand2
ػولذ دم اص طشیق ؿیفت تـک ای تALU اسػال هی گشدد
17 TM 17 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
(1)دػتس الؼول ای اتقال داد
و دػتس الؼول ا تش اػاع هذ آدسع دیRegister-indirect ؼتذ
DR r0, [r1] ; r0 := mem32[r1]
TR r0, [r1] ; mem32[r1] := r0
18 TM 18 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
ARMپج هشحل پایپ الیي دس هؼواسی
19 TM 19 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
حافظ اى
کلو دیتا چاس 16تافش هی تاذ ■ آدسع سا گ داسی کذ
ـت کلو دس ش خط تا یک تیت ■ dirtyاػتثاس د تیت
64گاؿت تذاػی گش هجوػ ای ■
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.
20 TM 20 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
Load / Store هؼواسی
اص آدسع دی هوسی ت هوسی پـتیثای وی کذ
اطالػات حتوا هی تایؼت اص هوسی اسد سجیتؼش ؿذ
ت ظاش ایي ػثة کاؾ کاسایی هی ؿد لی دس ػول ایي طس یؼت
پشداصؽ اطالػات دس دسى سجیؼتش ا ػثة هی ؿد ک تا کاؾ دفؼات دػتیاتی تmemory
ػشػت تاال تشد
21 TM 21 ماشین های پیشرفته کم دستور معماری برای دنیا دیجیتال
ARMو یک ػیؼن هثتی تش
16 bit RAM
8 bit ROM
32 bit RAM
ARM Core
I/O Peripherals
Interrupt
Controller
nFIQ nIRQ
22 TM 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.ppt
•Holdings., A. (n.d.). Retrieved from ARMv7-A and ARMv7-R Architecture
Reference Manual: https://silver.arm.com/download/download.tm?pv=119956