Paměť ZX Spectrum Contended - ZX Spectrum Contended Memory - Wikipedia
![]() | tento článek potřebuje další citace pro ověření.Října 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Některé z ZX Spectrum je adresovatelný 64 kB Paměť místo se označuje jako sporná paměť. Se zbytkem paměti Z80 mikroprocesor je výhradní master sběrnice, takže čte a zapisuje při své plné rychlosti sběrnice, ale sporný paměťový prostor je sdílen mezi ULA a Z80, přičemž ULA má vyšší prioritu. Napadená paměť zabírá adresy 0x4000..0x7FFF na Z80 paměťová mapa. Toto je prvních 16 KB z RAM ve stroji 48 KB a celé paměti RAM stroje 16 KB.
Ke sporu dochází v důsledku toho, že ULA načte displej a přiřadí data v této paměti RAM k vytvoření TV video displej. Během horizontálního zpětného letu, vertikálního zpětného letu nebo během ohraničení obrazovky tedy nedochází ke sporům.
Přístupy k I / O také tvrdí, zda ULA musí číst spornou paměť, zatímco Z80 přistupuje k I / O portu ULA. ULA I / O porty jsou ty, které mají sudou adresu (bit adresy 0 je 0).
Z80 musí počkat, kdykoli ULA potřebuje přístup ke sporné paměti, než bude pokračovat ve čtení a zápisu své vlastní napadené paměti. Efekt pro uživatele je ten programy které využívají napadenou paměť nebo napadené I / O běží pomaleji než ty, které se jí vyhýbají.
Snow Bug
ULA musí počkat na dokončení čtení nebo zápisu Z80, než může zastavit hodiny Z80 a získat přístup k paměti; zastaví hodiny Z80 pouze během prvního hodinový cyklus a cyklus stroje.
Early Spectrums předpokládají, že v jednom strojovém cyklu dojde k nejvýše jednomu napadenému přístupu k paměti: to není pravda načítání instrukcí cykly, pokud programátor nakonfiguroval vektorová tabulka přerušení spadat do napadené oblasti. V takovém případě ULA odmítne načíst svůj video adresa a video byte Zobrazí se vše, co procesor načítal. Důsledek je náhodný hluk na displeji nebo „sníh“.
Protože k tomuto efektu nedošlo za normálního provozu - vyžadoval to záměrný zásah programátora[1] - to bylo velmi zřídka vidět, bylo použito jen u některých hry jako speciální grafický efekt.
Novější verze Spectra, včetně všech 128kb verzí, opravují Chyba.
Obvod
ULA nepoužívá mechanismus požadavku / udělení sběrnice Z80 k tomu, aby se stal masterem sběrnice během svých napadených přístupů do paměti. Místo toho prodlužuje vysokou periodu vstupu hodin Z80, aby zastavil veškerou aktivitu mikroprocesoru. I když je to méně elegantní než provedení požadavku na sběrnici, získává to sporný přístup do paměti k méně hodinám Z80. Tím se odstraní potřeba ULA číst zobrazovaná data předem, což je výhoda pro přeplněné obvody v plné ULA.
ULA se připojuje přímo k integrovaným obvodům paměťového systému, zatímco Z80 se k nim připojuje prostřednictvím izolačních sériových proudových limitů. To umožňuje ULA a paměti vzájemně se řídit, zatímco Z80 také řídí paměť. Použití odporů namísto integrovaných obvodů ovladače sběrnice sběrnice snižuje náklady na obvod, ale vyžaduje vyšší průměrný proud I / O pinů z integrovaných obvodů Z80, ULA a paměti.
Reference
- ^ „ZX Spectrum ULA - SinclairFAQ - The Snow Effect“. faqwiki.zxnet.co.uk. Citováno 2018-09-13.
externí odkazy
- Napadená paměť na Sinclair FAQ Wiki
- Napadená paměť na worldofspectrum.org
- Napadená paměť na zxdesign.info