1 Pertemuan 9 Mesin ARM: I Matakuliah: T0324 / Arsitektur dan Organisasi Komputer Tahun: 2005 Versi: 1.

Slides:



Advertisements
Similar presentations
1 Pertemuan > > Matakuliah: >/ > Tahun: > Versi: >
Advertisements

1 Pertemuan 16 First & Second Conditionals Matakuliah: G0134 – Grammar III Tahun: 2005 Versi: revisi 1.
1 Pertemuan 19 Disk Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5 OFFCLASS03.
1 Pertemuan 3: TRAVELING THROUGH TIME ZONES Matakuliah: G0942/Listening 1 Tahun: 2009 Versi: baru.
1 Pertemuan 12 Binary Search Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Arsitektur Jaringan Pertemuan 09 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
1 Pertemuan 04 Proxy/Cache Matakuliah: H0491/Praktikum Jaringan Komputer Tahun: 2005 Versi: 1/0.
Pertemuan <<12>> Paralel dan Basis Data Terdistribusi
1 Pertemuan 22 Radix Sort Matakuliah: T0016/Algoritma dan Pemrograman Tahun: 2005 Versi: versi 2.
1 Pertemuan 15 The Business Owner’s View Matakuliah: A0194/Pengendalian Rekayasa Ulang Informasi Tahun: 2005 Versi: 1/5.
1 Pertemuan 6 Elementary UDP Sockets Matakuliah: H0483 / Network Programming Tahun: 2005 Versi: 1.0.
Data Link Layer - Ethernet Pertemuan 14 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
Dynamic SQL Pertemuan 11 Matakuliah: T0413/Current Popular IT II Tahun: 2007.
Matakuliah : G1184 Travel Management Tahun : 2005 Pertemuan ke-: 7-8 Chapter 2 (Power Point 7.1) Pokok Bahasan: Intermediaries Materi:  The Nature of.
12 - Organisation Matakuliah: G0622/Bahasa Inggris 1 Tahun: 2005 Versi: 1.01.
1 Pertemuan 10 Arsitektur Jaringan Model OSI Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
1 Pertemuan 12 Layer Physical Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
1 Pertemuan 26 Object Relational Database Management System (Lanjutan) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
Application Layer Pertemuan 25 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
1 Pertemuan 23 Object database design (Lanjutan bagian 2) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan 19 Layer Network Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
1 Pertemuan 07 Pendugaan Parameter Matakuliah: I0262 – Statistik Probabilitas Tahun: 2007 Versi: Revisi.
1 Pertemuan 13 BACK PROPAGATION Matakuliah: H0434/Jaringan Syaraf Tiruan Tahun: 2005 Versi: 1.
1 Pertemuan 12 Input/Output Matakuliah: H0344/Organisasi dan Arsitektur Komputer Tahun: 2005 Versi: 1/1.
1 Pertemuan 02 LAN Matakuliah: H0451/Praktikum Jaringan Komputer Tahun: 2006 Versi: 1/0.
1 Pertemuan 16 Instruction Set 2 Matakuliah: H0344/Organisasi dan Arsitektur Komputer Tahun: 2005 Versi: 1/1.
1 Pertemuan 14 Object Query Language (Lanjutan bagian 1) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
Embedded SQL Pertemuan 9 Matakuliah: T0413/Current Popular IT II Tahun: 2007.
1 Pertemuan 17 Internal Memory: I Matakuliah: T0324 / Arsitektur dan Organisasi Komputer Tahun: 2005 Versi: 1.
1 Pertemuan 16 Isu-Isu pada Sistem Paging dan Segmentasi Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
1 Pertemuan 5 The structure part of object data model Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
07 - Advertising Matakuliah: G0622/Bahasa Inggris 1 Tahun: 2005 Versi: 1.01.
1 Pertemuan 9 Making an outline Matakuliah: G1072 – Reading 1 Tahun: 2005 Versi: revisi 0.
1 Pertemuan 21 Parallelism and Superscalar Matakuliah: H0344/Organisasi dan Arsitektur Komputer Tahun: 2005 Versi: 1/1.
1 Pertemuan 7 Scanning Matakuliah: G1072 Reading 1 Tahun: 2005 Versi: revisi 0.
1 Pertemuan 21 Audit Reporting Matakuliah:A0274/Pengelolaan Fungsi Audit Sistem Informasi Tahun: 2005 Versi: 1/1.
1 Pertemuan 11 QUIZ Matakuliah: J0274/Akuntansi Manajemen Tahun: 2005 Versi: 01/00.
11 - Innovation Matakuliah: G0622/Bahasa Inggris 1 Tahun: 2005 Versi: 1.01.
Pertemuan 20 Character oriented terminal
1 Pertemuan 20 Time & Condition Clauses with Future reference Matakuliah: G0134 – Grammar III Tahun: 2005 Versi: revisi 1.
1 Pertemuan 09 Database Matakuliah: D0524 / Algoritma dan Pemrograman Komputer Tahun: 2005 Versi:
1 Pertemuan 3: TRAVELING THROUGH TIME ZONES Matakuliah: G0942/Listening 1 Tahun: 2005 Versi: baru.
1 Pertemuan 18 I wish, If only Matakuliah: G0134 – Grammar III Tahun: 2005 Versi: revisi 1.
1 Pertemuan 23 Reduced Instruction Set Computer 1 Matakuliah: H0344/Organisasi dan Arsitektur Komputer Tahun: 2005 Versi: 1/1.
1 Pertemuan 13 AVL Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
1 Pertemuan 9 The Manipulative part of the object data model Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
Topics covered: ARM Instruction Set Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
1 Pertemuan #3 Clocks and Realtime Matakuliah: H0232/Sistem Waktu Nyata Tahun: 2005 Versi: 1/5.
1 Pertemuan 9 JARINGAN LEARNING VECTOR QUANTIZATION Matakuliah: H0434/Jaringan Syaraf Tiruan Tahun: 2005 Versi: 1.
1 Pertemuan 25 Making It Happen Matakuliah: A0194/Pengendalian Rekayasa Ulang Informasi Tahun: 2005 Versi: 1/5.
1 Pertemuan 25 Parallel Processing 1 Matakuliah: H0344/Organisasi dan Arsitektur Komputer Tahun: 2005 Versi: 1/1.
1 Pertemuan 20 Microprogrammed Control Matakuliah: H0344/Organisasi dan Arsitektur Komputer Tahun: 2005 Versi: 1/1.
1 Pertemuan 8 The Object Definition Language (Lanjutan) Matakuliah: M0174/OBJECT ORIENTED DATABASE Tahun: 2005 Versi: 1/0.
1 Pertemuan 17 Basisdata (Databases) Matakuliah: T0604-Pengantar Teknologi Informasi Tahun: 2008 Versi: 2.0/0.0 Williams, B.K, Stacy C. Sawyer (2007).
Please see “portrait orientation” PowerPoint file for Chapter 3 Figure 3.3. Examples of ARM memory addressing mode.
1 Pertemuan 16 The Business Owner’s View Matakuliah: A0194/Pengendalian Rekayasa Ulang Informasi Tahun: 2005 Versi: 1/5.
1 Pertemuan 8 Perenc & Peranc Sambungan Matakuliah: D0472/PERANCANGAN ELEMEN MESIN Tahun: 2005 Versi:
1 Pertemuan 5 Bahasa Rakitan: I Matakuliah: T0324 / Arsitektur dan Organisasi Komputer Tahun: 2005 Versi: 1.
1 Pertemuan 13: PREFIXES Matakuliah: G0942/Listening 1 Tahun: 2005 Versi: baru.
Pertemuan 19 External Memory: I
Matakuliah : D0524 / Algoritma dan Pemrograman Komputer
Pertemuan 04 Proxy/Cache
Pertemuan 20 The Business Views of the Technology Architecture
Table Pertemuan 10 Matakuliah : L0182 / Web & Animation Design
Pertemuan 20 Building Object Database Application (Lanjutan bagian 3)
Pertemuan 12 Manajemen Memory (Lanjutan)
Pertemuan 22 The Business Views of the Technology Architecture
Pertemuan <<6>> Tempat Penyimpanan Data dan Indeks
Matakuliah : G1184 Travel Management Tahun
Pertemuan 7 JARINGAN INSTAR DAN OUTSTAR
Presentation transcript:

1 Pertemuan 9 Mesin ARM: I Matakuliah: T0324 / Arsitektur dan Organisasi Komputer Tahun: 2005 Versi: 1

2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Membandingkan implementasi instruksi mesin untuk Arsitektur Komputer ARM ( C4 ) ( No TIK : 4 )

3 Chapter 3. ARM Instruction Set: I

4 LDRR1,NLoadcountintoR1. LDRR2,POINTERLoadaddressNUM1intoR2. MOVR0,#0ClearaccumulatorR0. LOOPLDRR3,[R2],#4LoadnextnumberintoR3. ADDR0,R0,R3AddnumberintoR0. SUBSR1,R1,#1DecrementloopcounterR1. BGTLOOPBranchbackifnotdone. STRR0,SUMStoresum. Figure 3.7. An ARM program for adding numbers.

5 MemoryAddressing addressordata labelOperationinformation AssemblerdirectivesAREACODE ENTRY StatementsthatLDRR1,N generateLDRR2,POINTER machineMOVR0,#0 instructionsLOOPLDRR3,[R2],#4 ADDR0,R0,R3 SUBSR1,R1,#1 BGTLOOP STRR0,SUM AssemblerdirectivesAREADATA SUMDCD0 N 5 POINTERDCDNUM1 DCD3,17,27,12,322 END Figure 3.8. ARM assembly language source program for the program in Figure 3.7.  

6

7

8 LDRR0,POINTERLoadaddressLOCintoR0. LDRBR1,[R0]LoadASCIIcharacters LDRBR2,[R0,#1]intoR1andR2. ANDR2,R2,#&FClearhigh-order28bitsofR2. ORRR2,R2,R1,LSL#4Or[R1]shiftedleftinto[R2]. STRBR2,PACKEDStorepackedBCDdigits intoPACKED. Figure 3.5. An ARM program for packing two 4-bit decimal digits into a byte.

9

10

11

12

13

14 Pertemuan 10 Mesin ARM: II Matakuliah: T0324 / Arsitektur dan Organisasi Komputer Tahun: 2005 Versi: 1

15 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Membandingkan implementasi instruksi mesin untuk Arsitektur Komputer ARM ( C4 ) ( No TIK : 4 )

16 Chapter 3. ARM Instruction Set: II

17 READLDRR3,[R1]Load[INSTATUS]and TSTR3,#8waitforcharacter. BEQREAD LDRBR3,[R1,#4]Readthecharacterand STRBR3,[R0],#1storeitinmemory. ECHOLDRR4,[R2]Load[OUTSTATUS]and TSTR4,#8waitfordisplay BEQECHOtobeready. STRBR3,[R2,#4]Sendcharactertodisplay. TEQR3,#CRIfnotcarriagereturn, BNEREADreadmorecharacters. Figure 3.9. An ARM program that reads a line of characters and displays it.

18 Callingprogram LDRR1,N LDRR2,POINTER BLLISTADD STRR0,SUM... Subroutine LISTADDSTMFDR13!,{R3,R14}SaveR3andreturnaddressinR14on stack,usingR13asthestackpointer. MOVR0,#0 LOOPLDRR3,[R2],#4 ADDR0,R0,R3 SUBSR1,R1,#1 BGTLOOP LDMFDR13!,{R3,R15 } RestoreR3andloadreturnaddress intoPC(R15). Figure Program of Figure 3.7 written as an ARM subroutine; parameters passed through registers.

19 ADRR1,AVECR1pointstovectorA. ADRR2,BVECR2pointstovectorB. LDRR3,NR3istheloopcounter. MOVR0,#0R0accumulatesthedotproduct. LOOPLDRR4,[R1],#4LoadAcomponent. LDRR5,[R2],#4LoadBcomponent. MLAR0,R4,R5,R0Multiplycomponentsand accumulateintoR0. SUBSR3,R3,#1Decrementthecounter. BNELOOPBranchbackifnotdone. STRR0,DOTPRODStoredotproduct. Figure An ARM dot-product program.

20 Subroutine INSERTIONCMPRHEAD,#0Checkiflistempty. MOVEQRHEAD,RNEWRECIfempty,insertnew MOVEQPC,R14recordashead. LDRR0,[RHEAD]Ifnotempty,checkif LDRR1,[RNEWREC]newrecordbecomes CMPR0,R1newhead,and STRGTRHEAD,[RNEWREC,#4]insertifyes. MOVGTRHEAD,RNEWREC MOVGTPC,R14 MOVRCURRENT,RHEADIfnewrecordgoesafter LOOPLDRRNEXT,[RCURRENT,#4]currenthead, CMPRNEXT,#0findwhere. STREQRNEWREC,[RCURRENT,#4]Newrecordbecomesnewtail. MOVEQPC,R14 LDRR0,[RNEXT]Gofurther? CMPR0,R1 MOVLTRCURRENT,RNEXTYes,thenloopback. BLTLOOP STRRNEXT,[RNEWREC,#4]Otherwise,insertnewrecord STRRNEWREC,[RCURRENT,#4]betweencurrentand MOVPC,R14nextrecords. Figure3.16.AnARMsubroutineforinsertinganewrecordintoalinkedlist.

21 Subroutine DELETIONLDRR0,[RHEAD]Checkifrecordtobe CMPR0,RIDNUMdeletedisthehead. LDREQRHEAD,[RHEAD,#4]Ifyes,delete MOVEQPC,R14andreturn. MOVRCURRENT,RHEADOtherwise,continuesearch. LOOPLDRRNEXT,[RCURRENT,#4]Isnextrecordtheone LDRR0,[RNEXT]tobedeleted? CMPR0,RIDNUM LDREQR0,[RNEXT,#4]Ifyes,delete STREQR0,[RCURRENT,#4]andreturn. MOVEQPC,R14 MOVRCURRENT,RNEXTOtherwise,loopback BLOOPtocontinuesearch. Figure An ARM subroutine for deleting a record from a linked list.

22 TABLE3.1 ARM index addressing modes NameAssemblersyntaxAddressingfunction Withimmediateoffset: Pre-indexed[Rn,#offset]EA=[Rn]+offset Pre-indexed withwriteback[Rn,#offset]!EA=[Rn]+offset; Rn[Rn]+offset Post-indexed[Rn],#offsetEA=[Rn]; Rn[Rn]+offset WithoffsetmagnitudeinRm: Pre-indexed[Rn,Rm,shift]EA=[Rn] m]shifted Pre-indexed withwriteback[Rn,Rm,shift]!EA=[Rn] m]shifted; Rn[Rn] m]shifted Post-indexed[Rn],Rm,shiftEA=[Rn]; Rn[Rn] m]shifted RelativeLocationEA=Location (Pre-indexedwith=[PC]+offset immediateoffset) EA=effectiveaddress offset=asignednumbercontainedintheinstruction shift=direction#integer wheredirectionisLSLforleftshiftorLSRforrightshift,and integerisa5-bitunsignednumberspecifying theshiftamount Rm=theoffsetmagnitudeinregisterRmcanbeaddedtoorsubtractedfromthe contentsofbaseregisterRn            

23

24

25 TABLEB.1 Condition field encoding in ARM instructions Condition NameConditioncode fieldsuffixtest b b EQEqual(zero)Z=1 0001NENotequal(nonzero)Z=0 0010CS/HSCarryset/UnsignedhigherorsameC=1 0011CC/LOCarryclear/UnsignedlowerC=0 0100MIMinus(negative)N=1 0101PLPlus(positiveorzero)N=0 0110VSOverflowV=1 0111VCVCNooverflowV=0 1000HIUnsignedhigherCZ=0 1001LSUnsignedlowerorsameCZ=1 1010GESignedgreaterthanorequalNV=0 1011LTSignedlessthanNV=1 1100GTSignedgreaterthanZ(NV)=0 1101LESignedlessthanorequalZ(NV)=1 1110ALAlways 1111Notused        

26 TABLEB.4 ARM instructions for single word or byte transfer from/to memory MnemonicInstructionOperation (Name)bitsperformed BL LDR01Rd[EA] (Loadword) LDRB11Rd[EA] (Loadbyte) STR00EA[Rd] (Storeword) STRB10EA[Rd] (Storebyte)    