8951 a /EA
Moderátor: Moderátoři
8951 a /EA
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- Přílohy
-
__51Pamate.png- šéma
- (46.24 KiB) Staženo 132 x
mihal píše:Vdaka za upozornenie.
Zapis som chcel riesit programovo, preto som tam teraz hodil primitivne hradlo z diod.
Na chvilku som zneistel, pretoze zapisovat priamo instrukciou by bolo elegantnejsie, i ked by som priseiel o 4kilo kodu v rom, kde by sa zapisat nedalo. Budem nad tym dumat.
Proč nedalo? Zapisoval bys do datové paměti. Celá ta ROM a RAM dohromady by byla datová paměť a zároveň dolní půlka (ROM) by byla programová paměť (podle nastavení /EA). Klidně bys mohl z jedné části té ROM vykonávat program a jiný kus zároveň přepisovat.
mihal píše:Zapisovat chcem cez podprogram z uartu alebo z terminalu vo vnutornej flash, to sa potom na adresy 0x0000 az0x1fff jednoducho a opakovatelne nedostanem.
Proč ne? Pleteš si programovou paměť s datovou.
Edit: Externí datová paměť je vždy přístupná celá, pouze programová se přepíná interní/externí.
- Přílohy
-
51mem.gif- (14.06 KiB) Staženo 112 x
-zapis na adresu 0x0000 bude znamanat zapis do externej ram na adresu 0x0000
-citanie z adresy 0x0000 mi vrati hodnotu v externej ram na adrese 0x0000
-skok na adresu 0x0000 bude znamenat skok do vnutornej rom
-skok na 0x2000 bude skok do externej rom
-zapis na adresu 0x2000 bude zapis do externej rom
Ak zhodim /EA do 0,
-zapis na adresu 0x0000 bude znamanat zapis do externej rom
Uz si pripadam divne
EDIT: A kurna, ono to neni Von Neumann, to by mnohe vysvetlovalo
Pokud to zapojíš jak máš ve schématu, jen na /WE externí "ROM" přivedeš /WR, pak:
- Zápis do datové paměti (instrukcí MOVX) na adresu 0-7FFFh zapíše vždy do externí "ROM" na adrese 0-7FFFh
- Zápis do datové paměti (instrukcí MOVX) na adresu 8000h-FFFFh zapíše vždy do externí RAM na adrese 8000h-FFFFh.
- Čtení z datové paměti (instrukcí MOVX) z adresy 8000h-FFFFh vrátí obsah externí RAM na adrese 8000-FFFFh.
- Pokud bys chtěl mít možnost i číst z externí "ROM" na adresách 0000h-7FFFh instrukcí MOVX, tak je potřeba na /OE "ROM" přivést (/RD AND /PSEN), pokud na /OE připojíš jen /PSEN půjde eterní "ROM" číst jen instrukcí MOVC.
Co se týče programové paměti, při /EA = 1, se bude vykonávat program v interní ROM až do adresy 1FFFh a dále pak v externí "ROM". Při /EA = 0 bude celý program v externí "ROM".