Click here to load reader
May 23, 2018
SADRAJ
Mikroprocesorski sistemi ARM7 procesor
ELEKTRONSKI FAKULTET U NIU
SEMINARSKI RAD
ARM7 PROCESOR
Predmet: Mikroprocesorska sistemi
Profesor:
Prof.dr. Mile Stojev
Studenti:
Aleksandar Mladenovi 10017
Davor Dejkovi 9885
Bojan Pavlovi 10035
Milo Milenkovi 9989
Ni, oktobar 2006.
SADRAJ
Uvod..........................................................................................................................4
1. Arhitektura ARM procesora .............................................................................5
1.1 Arhitekturalno naslee .....................................................................................5
1.2 Pogled programera na ARM model .................................................................5
1.3 Razvojni alati ARM .........................................................................................7
2. Organizacija i implementacija ARM ....................................................................9
2.1 Trostepeni komunikacioni kanal (pipeline) ...................................................10
2.2 Peto-stepeni ARM processor .......................................................................12
3. ARM jezgra procesora ......................................................................................14
3.1 ARM7TDMI .................................................................................................14
3.1.1 Hardverski interfejs ...................................................................................15
3.1.2 Kontrola takta ............................................................................................15
3.1.3 Memorijski interfejs ..................................................................................15
3.1.4 MMU interfejs ...........................................................................................17
3.1.5 Stanje .........................................................................................................17
3.1.6 Konfiguracija .............................................................................................17
3.1.7 Prekidi .......................................................................................................18
3.1.8 Inicijalizacija .............................................................................................18
3.1.9 Podrka za debug-ovanje ...........................................................................18
3.1.10 Interfejs za debug-ovanje ........................................................................19
3.1.11 Interfejs koprocesora ...............................................................................19
3.1.12 JTAG interfejs .........................................................................................19
3.1.13 TAP informacije ......................................................................................19
3.1.14 Boundary scan .........................................................................................19
3.1.15 ARM7TDMI u sintezi .............................................................................20
3.2 ARM8TDMI .................................................................................................21
3.3 ARM9TDMI .................................................................................................22
4. Skup instrukcija ARM .........................................................................................23
4.1 Tipovi podataka sa kojima ARM manipulie ...............................................23
5. Tipovi instrukcija procesora ARM ....................................................................23
5.1 Instrukcije za pribavljnje podataka i memorisanje ....................................23
5.1.1 Instrukcije za prenos podataka tipa jedna re ili neoznaeni bajt ..............23
5.1.2 Instrukcije za prenos podataka tipa polurei i oznaenih bajtova ..............26
5.1.3 Viestruke instrukcije za uitavanje i smetanje ........................................28
5.2 Instrukcije za razmene sadraja memorije i registra .................................29
5.3 Instrukcije pristupa status registara ............................................................30
5.3.1 Instrukcije za prenos stanja statusnog registara u registre opte namene ..30
5.3.2 Instrukcije za prenosa registara opte namene u statusni registar ..............31
5.4 Instrukcije za obradu podataka ....................................................................33
5.4.1 Aritmetike operacije .................................................................................36
5.4.2 Logike operacije .......................................................................................37
5.4.3 Operacije premetanja sadraja registara ...................................................37
5.4.4 Operacije poreenja ....................................................................................37
5.4.5 Neposredni operandi ...................................................................................38
5.4.6 Pomereni registarski operandi ....................................................................38
5.5 Razliite aritmetike instrukcije ...................................................................39
5.5.1 Prebrojavanje poetnih nula (CLZ(Count Leading Zeros) ........................39
5.6 Instrukcije mnoenja .....................................................................................40
5.7 Instrukcije grananja .......................................................................................42
5.7.1 Grananje sa linkom (B, BL) .......................................................................42
5.7.2 Grananje sa linkom i razmenom (BX, BLX) ...............................................43
5.8 Instrukcije za generisanje softverkoih prekida.............................................45
5.8.1 Softverski prekid (SWI) .............................................................................45
5.8.2 Instrukcija prekidna taka (BKPT samo za v5T arhitekturu) ..................47
5.9 Instrukcije koprocesora .................................................................................47
5.9.1 Operacije podataka koprocesora .................................................................47
5.9.2 Prenos podataka koprocesoru .....................................................................48
5.9.3 Prenos registara koprocesora ......................................................................50
6. Hardver i Softver Proces kreiranja ...................................................................52
6.1 Verifikaciona Platforma ....................................................................................52
6.2 Programerski pogled na svet...........................................................................57
6.3 Hardverski pogled na svet ..............................................................................59
6.4 Softverski razvojni alati ..................................................................................59
6.4.1 Editor ...........................................................................................................59
6.4.2 Revizija izvornog koda ................................................................................59
6.4.3 Kompajler ....................................................................................................60
6.4.4 Debager ........................................................................................................60
6.4.5 Simulator .....................................................................................................60
6.4.6 Razvojna ploa ............................................................................................61
6.4.7 Integrisana razvojan sredina (IDE) ..............................................................61
6.5 Povezivanje softvera za debagiranje ..............................................................61
6.5.1 JTAG ...........................................................................................................62
6.5.2 STUB ...........................................................................................................62
6.5.3 Direktna konekcija .......................................................................................62
6.6 Tipovi softvera .................................................................................................63
6.6.1 Inicijalizacija sistema i HAL ......................................................................63
6.6.2 Dijagnostiki test program ..........................................................................63
6.6.3 Operativni sistem za rad u realnom vremenu (RTOS) ................................64
6.6.4 Pokretacki programi i aplikacioni softver ..................................................64
6.7 Proces razvoja softvera ...................................................................................64
6.8 Hardverska razvojna sredstva ..................