Sari la conținut
ELFORUM - Forumul electronistilor

microprocesor z80 si eprom 27c4001


Vizitator

Postări Recomandate

  • Răspunsuri 2
  • Creat
  • Ultimul Răspuns

Am lucrat cu Z80 acum foarte mult timp, deci s-ar putea ca ceea ce scriu sa nu fie 100% corect.

 

Registrul R era un registru folosit la refresh-ul memoriilor dinamice de tip RAM. In perioada de glorie a lui Z80 existau doua tipuri de memorii RAM: dinamice sau statice.

 

Cele statice retineau informatia fara probleme, singura conditie era sa fie alimentate.

 

La memoriile dinamice, era ceva mai complicat. Chiar daca erau alimentate continuu, memoriile dinamice nu puteau retine informatia mai mult de cateva milisecunde. Din cauza asta, pentru a nu se pierde informatia dintr-o memorie RAM dinamica, se folosea un artificiu: se faceau citiri periodice, mai dese decat durata de viata a informatiei (cele cateva milisecunde de care vorbeam). La fiecare citire, prin constructie, memoria RAM dinamica mai intai scoate pe magistrala de date informatia stocata, apoi rescrie celulele citite cu aceeasi informatie (aici ar trebuie citit despre cum functioneaza o memorie RAM dinamica, altfel explicatia e greu de urmarit).

 

In mare, la un RAM dinamic, lucrurile stau cam asa:

[*:1x9a7dm2]RAM-ul "uita" foarte repede ce s-a scris, in doar cateva milisecunde (celula de memorie RAM dinamica e, de fapt, un condensator care in cateva milisecunde se descarca - de aceea trebuie facut "refresh" la starea de incarcare a acelui condensator)

[*:1x9a7dm2]la orice citire, informatia citita se si rescrie totodata (in acelasi loc), deci se mai prelungeste durata ei de viata cu cateva milisecunde

[*:1x9a7dm2]trebuie sa citim TOATE adresele cel putin o data la cateva milisecunde, pentru a se contracara effectul autodescarcarii condensatoarelor care memoreaza bitii stocati, altfel informatia se pierde

[*:1x9a7dm2]bineinteles ca niciun software nu garanteaza citirea TUTUROR celulelor de memorie la fiecare cateva milisecunde, deci treaba asta (citire = refresh = nu mai uita) e lasata in grija hardware-ului. [*:1x9a7dm2]Z80 stie sa faca refresh (adica sa faca in mod automat, pentru TOATE paginile de memorie, o citire - transparenta pentru utilizator si nesolicitata de software-ul care ruleaza - astfel incat informatia sa fie reimprospatata in ORICE celula RAM mai des decat cele cateva milisecunde)

[*:1x9a7dm2]Aici apare registrul R. El este un registru pe 7 biti, care se incrementeaza automat, si cu ajutorul caruia se baleiaza automat toate paginile de memorie, adica se face pe rand o citire a TUTUROR paginilor de memorie, numai cu scopul de a se improspata informatia

Pentru mai multe detalii, cauta pe Internet datasheet-ul lui Z80.

 

-------------------------

Din ce spui, probabil ca registru R este folosit pe post de generator de numere aleatoare.

Sa inteleg ca vrei sa faci reverse engineering la un joc de "pacanele". :rade:

Link spre comentariu

Exista doua categorii de generatoare de numere "la intamplare"1) Generatoare care se bazeaza pe o functie matematica. Generatoarele de tipul asta sunt, de fapt, pseudoaleatorii. Numerele generate nu sunt intamplatoare, se poate calcula ce numar va fi generat la urmatoarea extragere.2) Generatoare care se bazeaza pe evenimente naturale, evenimente care sunt cu adevarat intamplatoare, si care nu pot fi prevazute. De exemplu, exista generatoare care se bazeaza pe descompunerea radioactiva. Altele, pe zgomotul termic. Si tot asa.Generatoarele din exemplele de la punctul 2), de obicei sunt scumpe, asa ca se folosesc metode mai simple, cum ar fi: fac un numarator care numara cu viteza foarte mare, de milioane de ori pe secunda, numarator pe care il citesc atunci cand utilizatorul apasa un buton. Daca numarul citit e cu sot, atunci e "alba", daca nu, "e neagra". Pentru ca apasarile de buton sunt de milioane de ori mai lente decat viteza cu care numara numaratorul, atunci nu poti sti niciodata daca la urmatoarea apasare vei nimeri peste un numar par sau impar. La placa ta, probabil ca numaratorul este chiar registrul R.--------------------------------------Pe scurt, nu poti prevedea niciodata daca la urmatoarea apasare va iesi "alba" sau "neagra". :41 Daca s-ar fi putut, n-ar mai fi existat "pacanelele".

deci inteleg ca z80 ruleaza paginile din eprom random.

Nu cred sa fie asa.
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări