360 likes | 566 Views
Riistvarapõhine programmeerimine. Loeng 11 ARM protsessorid. RISC ehituse põhimõtted. Käsud Konveier Registrid Load – store arhitektuur. Käsud. Vähendatud käsustik Lihtsad operatsioonid Üks masinatsükkel Fikseeritud pikkus Keeruline kompilaator Konveier. Konveier.
E N D
Riistvarapõhine programmeerimine Loeng 11 ARM protsessorid
RISC ehituse põhimõtted • Käsud • Konveier • Registrid • Load – store arhitektuur ID218 Riistvaralähedane programmeerimine
Käsud • Vähendatud käsustik • Lihtsad operatsioonid • Üks masinatsükkel • Fikseeritud pikkus • Keeruline kompilaator • Konveier ID218 Riistvaralähedane programmeerimine
Konveier • Käsk on jagatud mitmeks sammuks • Paralleelne täitmine • Iga tsükliga üks samm ID218 Riistvaralähedane programmeerimine
Registrid • Palju üldregistreid • Iga register sisaldab kas • Andmed või • Aadress • Registrid = kiire ja lokaalne RAM ID218 Riistvaralähedane programmeerimine
Load – store arhitektuur • Operandid on registris • Mälu lugemiseks / kirjutamiseks eraldi käsud • Mälu pöördumised on kallid • Mida vähem, seda parem ID218 Riistvaralähedane programmeerimine
ARM ehituse põhimõtted I • Aku toide • Väike voolutarbimine • Pikk aku kestvus • Suur koodi tihedus • Vähe mälu • Vähe ruumi mälu jaoks ID218 Riistvaralähedane programmeerimine
ARM ehituse põhimõtted II • Füüsilised mõõdud • Väiksed mõõdud • Rohkem ruumi eriseadmetele • Riistvara silumise tehnoloogia • Tagasiside võimalused • Kiirem probleemide lahendamine ID218 Riistvaralähedane programmeerimine
ARM ehituse põhimõtted III • Ei ole ‘puhas’ RISC protsessor • Kiirus ei ole eesmärk • Tähtsam on • kogu süsteemi efektiivne toimimine • voolu tarbimine ID218 Riistvaralähedane programmeerimine
ARM käsustik I • Muutuva tsükliarvuga käsud • Load / store käsud • järjestikuline/ juhuslik • Üks register / kaks registrit • Thumb 16-bit käsud • 16- või 32-bit käsud • 16-bit käsud - koodi tihedus 30 % ID218 Riistvaralähedane programmeerimine
ARM käsustik II • Tingimuslik täitmine • Käsk täidetakse teatud tingimusel • Vähendab siirdekäskude arvu • Täiustatud käsud • 16 x 16 korrutamine ja muud • Kasutatakse DSP seadmetes ID218 Riistvaralähedane programmeerimine
ARM süsteem • Süsteem koosneb: • Riistvara komponendid • Tarkvara komponendid • Valiku kriteeriumid: • Jõudlus • Täiendamine ja laiendamine ID218 Riistvaralähedane programmeerimine
ARM süsteemi riistvara I • ARM protsessor • Kontrollerid • Välisseadmed • Siin ID218 Riistvaralähedane programmeerimine
ARM süsteemi riistvara II ID218 Riistvaralähedane programmeerimine
ARM protsessor • Protsessor juhib süsteemi • Tuum • Lisakomponendid • Mälu haldamine • Cache-d ID218 Riistvaralähedane programmeerimine
ARM kontroller ja välisseadmed • Kontrollerid • Katkestuse kontroller • Mälu kontroller • Välisseadmed • Input seadmed • Output seadmed ID218 Riistvaralähedane programmeerimine
ARM siin I • External bus (off-chip) • PCI (x86) • Emaplaat • Videokaart, kõvaketas jne • Internal bus (on-chip) • Otse protsessoriga ID218 Riistvaralähedane programmeerimine
ARM siin II • Bus Master • Loogiline seade - algataja • Bus Slave • Loogiline seade - vastaja ID218 Riistvaralähedane programmeerimine
ARM siin III • Füüsiline tase • Elektrilised parameetrid • Siini laius (16, 32, 64 …) • Loogiline tase • Protokoll ID218 Riistvaralähedane programmeerimine
ARM siini protokollid • AMBA (Advanced Microcontroller Bus Architecture) • ASB (ARM System Bus) • APB (ARM Peripheral Bus) • AHB (ARM High Performance Bus) ID218 Riistvaralähedane programmeerimine
ARM süsteemi mälu • Internal (on-chip), cache • External (off-chip), main memory • Secondary ID218 Riistvaralähedane programmeerimine
ARM-i mälu, cache • Asub tuuma ja peamälu vahel • Kiirendab andmete liikumist • Suurendab jõudlust • Kaob ennustatav täitmisaeg • Ei sobi reaal-aja süsteemides ID218 Riistvaralähedane programmeerimine
ARM-i mälu, peamälu, muud mälud • Peamälu • 256 KB – 256 MB (või suurem) • Eraldi kiibid • Load – store käsud • Muud mälud • Kõvaketas, CD-ROM, mälupulk jne • 500 MB – 50 GB . . . ID218 Riistvaralähedane programmeerimine
ARM-i mälu, laius • Mälu laius – 8, 16, 32, 64 bit . . . • Mälu laius ja protsessori laius ID218 Riistvaralähedane programmeerimine
ARM-i mälu, tüübid • ROM (Read-Only Memory) • Flash ROM • DRAM (Dynamic Random Access Memory) • SRAM (Static Random Access Memory) • SDRAM (Synchronous Dynamic Random Access Memory) ID218 Riistvaralähedane programmeerimine
ARM-i välisseadmed • On-chip • Off-chip • Memory-mapped välisseaded • Mäluaadresside hulk • Mälukontroller • Katkestuse kontroller ID218 Riistvaralähedane programmeerimine
ARM-i mälukontroller • Ühendab erinevad mälud protsessoriga • Alglaadimise ajal – ROM • Konfigureerib DRAM (timing, refresh rate) • Sünkroniseerib DSRAM jne ID218 Riistvaralähedane programmeerimine
ARM-i katkestuse kontroller • Seab katkestuse töötamise reeglid • SIC (Standart Interrupt Controller) • Maskid • VIC (Vector Interrupt Controller) • Maskid • Prioriteedid ID218 Riistvaralähedane programmeerimine
ARM süsteemi tarkvara • Alglaadimise tarkvara • Operatsioonisüsteem • Rakendused • Firmvare (ROM) ID218 Riistvaralähedane programmeerimine
ARM, alglaadimise tarkvara • Alates sisselülitamist kuni operatsioonisüsteemi käivitamist • Algne riistvara konfigureerimine • DRAM konfigureerimine ja mappimine • Diagnostika • Buutimine • Operatsioonisüsteemi valik ja käivitamine ID218 Riistvaralähedane programmeerimine
ARM, alglaadimine ID218 Riistvaralähedane programmeerimine
ARM, operatsioonisüsteem • Kontrollib süsteemi ressursid • Mälu • Välisseadmed (draiverid) • Protsessori tööaeg • Reaalaja operatsioonisüsteemid • Platvormi operatsioonisüsteemid ID218 Riistvaralähedane programmeerimine
ARM-i rakendused • Täidab püstitatud ülesanne • Suur kogus, hinnatundlik • Mobiilsed seadmed, võrguseadmed, salvestusseadmed, printerid jne. • Ei sobi • Väga kõrge jõudlus (väike kogus, kõrge hind) ID218 Riistvaralähedane programmeerimine
Kokkuvõte I • ARM – RISC protsesor • Lihtne käsustik • Konveieri kasutamine • Üldegistrite suur hulk • Load – store arhitektuur • ARM – lisaks • Muutuva tsükliarvuga käsud • 16-bit Thumb käsud • Tingimustäitmine ja täiendatud käsud ID218 Riistvaralähedane programmeerimine
Kokkuvõte II • ARM süsteemi riistvara koosneb: • ARM protsessor • Välisseadmed • Kontrollerid • Siin ID218 Riistvaralähedane programmeerimine
Kokkuvõte III • ARM süsteemi tarkvara koosneb: • Alglaadimise tarkvara • Algne konfigureerimine • Diagnostika • Buutimine • Operatsioonisüsteem • Draiverid • Rakendused ID218 Riistvaralähedane programmeerimine