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