1 / 36

Riistvarapõhine programmeerimine

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.

starr
Télécharger la présentation

Riistvarapõhine programmeerimine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Riistvarapõhine programmeerimine Loeng 11 ARM protsessorid

  2. RISC ehituse põhimõtted • Käsud • Konveier • Registrid • Load – store arhitektuur ID218 Riistvaralähedane programmeerimine

  3. Käsud • Vähendatud käsustik • Lihtsad operatsioonid • Üks masinatsükkel • Fikseeritud pikkus • Keeruline kompilaator • Konveier ID218 Riistvaralähedane programmeerimine

  4. Konveier • Käsk on jagatud mitmeks sammuks • Paralleelne täitmine • Iga tsükliga üks samm ID218 Riistvaralähedane programmeerimine

  5. Registrid • Palju üldregistreid • Iga register sisaldab kas • Andmed või • Aadress • Registrid = kiire ja lokaalne RAM ID218 Riistvaralähedane programmeerimine

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. ARM süsteem • Süsteem koosneb: • Riistvara komponendid • Tarkvara komponendid • Valiku kriteeriumid: • Jõudlus • Täiendamine ja laiendamine ID218 Riistvaralähedane programmeerimine

  13. ARM süsteemi riistvara I • ARM protsessor • Kontrollerid • Välisseadmed • Siin ID218 Riistvaralähedane programmeerimine

  14. ARM süsteemi riistvara II ID218 Riistvaralähedane programmeerimine

  15. ARM protsessor • Protsessor juhib süsteemi • Tuum • Lisakomponendid • Mälu haldamine • Cache-d ID218 Riistvaralähedane programmeerimine

  16. ARM kontroller ja välisseadmed • Kontrollerid • Katkestuse kontroller • Mälu kontroller • Välisseadmed • Input seadmed • Output seadmed ID218 Riistvaralähedane programmeerimine

  17. ARM siin I • External bus (off-chip) • PCI (x86) • Emaplaat • Videokaart, kõvaketas jne • Internal bus (on-chip) • Otse protsessoriga ID218 Riistvaralähedane programmeerimine

  18. ARM siin II • Bus Master • Loogiline seade - algataja • Bus Slave • Loogiline seade - vastaja ID218 Riistvaralähedane programmeerimine

  19. ARM siin III • Füüsiline tase • Elektrilised parameetrid • Siini laius (16, 32, 64 …) • Loogiline tase • Protokoll ID218 Riistvaralähedane programmeerimine

  20. 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

  21. ARM süsteemi mälu • Internal (on-chip), cache • External (off-chip), main memory • Secondary ID218 Riistvaralähedane programmeerimine

  22. 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

  23. 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

  24. ARM-i mälu, laius • Mälu laius – 8, 16, 32, 64 bit . . . • Mälu laius ja protsessori laius ID218 Riistvaralähedane programmeerimine

  25. 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

  26. ARM-i välisseadmed • On-chip • Off-chip • Memory-mapped välisseaded • Mäluaadresside hulk • Mälukontroller • Katkestuse kontroller ID218 Riistvaralähedane programmeerimine

  27. 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

  28. ARM-i katkestuse kontroller • Seab katkestuse töötamise reeglid • SIC (Standart Interrupt Controller) • Maskid • VIC (Vector Interrupt Controller) • Maskid • Prioriteedid ID218 Riistvaralähedane programmeerimine

  29. ARM süsteemi tarkvara • Alglaadimise tarkvara • Operatsioonisüsteem • Rakendused • Firmvare (ROM) ID218 Riistvaralähedane programmeerimine

  30. 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

  31. ARM, alglaadimine ID218 Riistvaralähedane programmeerimine

  32. 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

  33. 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

  34. 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

  35. Kokkuvõte II • ARM süsteemi riistvara koosneb: • ARM protsessor • Välisseadmed • Kontrollerid • Siin ID218 Riistvaralähedane programmeerimine

  36. Kokkuvõte III • ARM süsteemi tarkvara koosneb: • Alglaadimise tarkvara • Algne konfigureerimine • Diagnostika • Buutimine • Operatsioonisüsteem • Draiverid • Rakendused ID218 Riistvaralähedane programmeerimine

More Related