Základní uspořádání pamětí MCU Harwardská architektura. Oddělený adresní prostor kódové a datové. Používané u malých MCU a signálových procesorů. Von Neumannova architektura (Princetonská). Kódová i jsou ve společném datovém prostoru. Používané u většiny výkonných MCU. K.D. - přednášky 2
Harwardská architektura Kódová a mají oddělené adresní prostory. Délka slova může být pro obě různá. Atmel AVR: 16 bitů, 8 bitů. Microchip PIC: 14 bitů, 8 bitů. V principu je možný přístup do obou pamětí současně (signálové procesory,...). Pro každý adresní prostor lze použít jen některé operace: Kódový a.p.: výběr instrukce, čtení dat. Datový a.p.: čtení dat, zápis dat. Výběr instrukce Čtení dat (MOVC...) Adresní postor kódové Zápis dat Čtení dat (MOV...) datové Zápis dat K.D. - přednášky 3 Využití adresního prostoru Fyzická nemusí pokrývat celý adresní prostor. Zbývající rozsah a.p. je pokryt vnější pamětí nebo nevyužit. V adresním prostoru datové jsou mapovány a někdy. Adresní postor kódové datové Rozsah adres Rozsah adres Rozsah adres vnitřní kódové Rozsah adres vnitřní datové K.D. - přednášky 4
Příklad Harwardské architektury: 51/52 kódové má velikost 64 kb. vnitřní datové má velikost 256 B. kódové Poznámka: MCU s architekturou 51/52 vyrábí pod různým označením řada výrobců. vnitřní datové 00 Pouze u 52 K.D. - přednášky 5 Složitější organizace datové (51/52) Do datové 51/52 jsou mapovány 4 sady registrů a bitově. vnitřní datové 00 Registrová sada 3 Registrová sada 2 Registrová sada 1 Registrová sada 0 K.D. - přednášky 6 30 2F 20 1F 18 17 10 0F 08 07 00 Bitově
Složitější organizace datové (PIC) Datová je rozdělena na 4 banky. Vždy je přístupný jen 1 bank volí se zápisem do RP1,RP0. K.D. - přednášky 7 Detaily organizace datové PIC Datová je rozdělena na 4 banky. Vždy je přístupný jen 1 bank volí se zápisem do RP1,RP0. K.D. - přednášky 8
Organizace kódové PIC Délka slova je 14 bitů. Adresa je dlouhá 13 bitů. Pro návratové adresy má samostatný stack s 8 úrovněmi. K.D. - přednášky 9 Lineární (Von Neumannova) architektura Všechny typy pamětí a jsou v jednom adresním prostoru. Lze zapisovat i do kódové (pokud to umožňuje technologie). Lze provádět program, uložený v datové (pokud to dovolí kapacita). U výkonných MCU lze někdy volit různé mapování pamětí do adresního prostoru. pamětí Rozsah adres Rozsah adres Rozsah adres vnitřní datové Rozsah adres vnitřní kódové Čtení Zápis K.D. - přednášky 10
Konfigurace s vnější a vnitřní pamětí Některé MCU umožňují připojení vnější datové nebo kódové. Pro vyvedení adresní a datové sběrnice se obvykle využije část paralelních portů. Přístup do vnitřní je obvykle rychlejší (např. v 1 taktu CLK)než do vnější (např. ve 3 taktech CLK). CPU Kódová Datová CPU Kódová Datová Interní sběrnice Interní sběrnice Paralelní porty Paralelní porty Vývody (piny) portů Vývody (piny) portů Vývody (piny) sběrnice Kódová Datová K.D. - přednášky 11 Připojení vnějších pamětí k 51/52 a mají samostatné řídicí signály. EA 52 P0 P2 P3 RD WR ALE PSEN Latch D7 - D0 A7 - A0 A15 - A8 Datová Kódová Není dodržena polarita signálů EA, RD, WR, PSEN, ALE K.D. - přednášky 12
Různé konfigurace pamětí u MCU Často lze volit použití vnitřní nebo vnější. Nevyužito a a) Pouze vnitřní b) i vnější c) Pouze vnější K.D. - přednášky 13 Různé konfigurace pamětí Renesas H8S Konfigurace se volí pomocí 3 pinů MD2,MD1,MD0. Situace na obrázku odpovídají konfiguracím Mode 4/5, Mode 6 a Mode 7. Poznámka: Mode4 a Mode5 se liší šířkou sběrnice 8/16 bitů. K.D. - přednášky 14
Konfigurace pamětí MCU 51/52 Pouze vnitřní. Konfigurace se volí pinem /EA (External Address). Velikost vnitřní kódové se liší podle výrobce a typu (1 kb 32 kb). kódové vnější datové Pouze u 52 vnitřní datové (/EA = H) 00 K.D. - přednášky 15 Konfigurace pamětí MCU 51/52 i vnější. vnější datové je oddělen od vnitřní datové. Některé MCU mají na čipu i část datové ve vnějším adresním prostoru (Dallas DS87C520). kódové vnější datové (/EA = H) vnitřní datové 00 (MOVC...) (MOV...) (MOVX...) K.D. - přednášky 16
Konfigurace pamětí MCU 51/52 Pouze vnější. Použití vnější kódové se volí pinem /EA (External Address) = L. kódové vnější datové vnitřní datové (/EA = L) 00 K.D. - přednášky 17