Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Z80 - stronicowanie

Gothel
-
-
Posty: 1
Rejestracja: 4 wrz 2012, o 22:01

Z80 - stronicowanie

Postautor: Gothel » 4 wrz 2012, o 22:08

Otóż, interesuje mnie jakiś ogólny, pogądowy schemat wraz z wyjaśnieniem realizacji stronicowania przy użyciu Z80.

Zadanie podlinkowane.
Czego nie rozumiem:
Rozpiska "zadania" na drugim zdjęciu, jakie znaczenie mają numerki? Poza tym, że 256k to 16 stron po 16k? (Chodzi mi o relację przedstawioną za pomocą strzałek z pamięci B do A).

W samym rozwiązaniu, ogólnie prosił bym o wyjaśnienie step by step.

Samo 256k pamięci jest adresowane na 18 bitach, stąd od A0 do A17.
Z80 ma 16 bitów adresowych (A0 do A15), które umożliwiają zaadresowanie do 64k. Stąd konieczność zastosowania stronicowania.

Do czego zmierzam. Proszę o wyjaśnienie jaką dokładnie funkcję spełniają w tym wypadku 2 dekodery (wybór i aktywacja rejestrów, ok ale JAK? dlaczego sygnałami z A0, A1 A14, A15 i skąd dodatkowe A16 i A17).
Przede wszystkim jednak największą czarną magię stanowi dla mnie OR spinający IORQ, WR (to jeszcze jestem w stanie zrozumieć) z NAND A2..A7 (Woot and why?)

Nie bardzo potrafię przeanalizować ten schemat i wyciągnąć prawidłowe wnioski. Nawet nie wiem czy jest w pełni poprawny.

Jeśli ktoś dysponuje, prosiłbym również o inne przykłady stronicowania.

http://obrazki.elektroda.pl/7856561200_1346785213.jpeg
http://obrazki.elektroda.pl/9466205500_1346785215.jpeg

jarekz
-
-
Posty: 23
Rejestracja: 11 sty 2009, o 13:17
Lokalizacja: Warszawa

Re: Z80 - stronicowanie

Postautor: jarekz » 5 wrz 2012, o 18:23

jakie znaczenie mają numerki? Poza tym, że 256k to 16 stron po 16k? (Chodzi mi o relację przedstawioną za pomocą strzałek z pamięci B do A).
Pamięć fizyczną – 16 stron po 16KB - przedstawia blok B. Natomiast blok A to cały zakres pamięci mikroprocesora (64KB), w którym widoczne są 4 strony pamięci B.
W bloku B strony są ponumerowane od 0 do 15. Natomiast w bloku A widnieją cztery przykładowe numery stron. Każdy z tych numerów może być dowolny (oczywiście z zakresu 0…15). Numery te wpisuje się zawczasu do odpowiednich rejestrów ‘374.

jaką dokładnie funkcję spełniają w tym wypadku 2 dekodery (wybór i aktywacja rejestrów, ok ale JAK? dlaczego sygnałami z A0, A1 A14, A15 i skąd dodatkowe A16 i A17).
Przede wszystkim jednak największą czarną magię stanowi dla mnie OR spinający IORQ, WR (to jeszcze jestem w stanie zrozumieć) z NAND A2..A7 (Woot and why?)

Dekoder „dolny” umożliwia zapis 4 rejestrów ‘374 zawierających numery stron. Rejestry te są dostępne w obszarze wejścia/wyjścia mikroprocesora, pod adresami szesnastkowymi FC, FD, FE i FF. Takie adresy (A2…A7 muszą być jedynkami) wynikają z użycia bramki AND.
Dekoder „górny” odblokowuje wyjścia jednego z rejestrów ‘374 i podaje je na najstarsze wejścia adresowe pamięci 256KB. Tylko jeden rejestr - ten wybrany przez dekoder - ma aktywne wyjścia; pozostałe trzy rejestry mają wyjścia w stanie wielkiej impedancji (czytaj: wyłączone). To ważne, bo wyjścia wszystkich rejestrów (A14’, A15’, A16, A17) są połączone między sobą.
To z mojej strony wszystko. Mam nadzieję, że sytuacja trochę się wyjaśniła.
Warto na koniec wspomnieć, że stronicowanie pamięci wynalazł nasz rodak, Jacek Karpiński. Stosował je w swoim legendarnym komputerze K-202.

Wróć do „8051”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 17 gości