Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Pamięć 9-cio bitowa - 8+1 bit parzystości.

KrukersRadek 21 Paź 2009 00:07 3075 10
  • #1 21 Paź 2009 00:07
    KrukersRadek
    Poziom 10  

    Wiem to juz od dawna ze podstawowa jednostka pamięci jaką jest 1 bajt jest zbudowana z 9 bitów.

    pierwsze 8 bitów to dane(255 różnych kombinacji - liczby od 0-255)
    bit 9 to bit parzystości.

    wiem ze ten bit parzystości jest ustawiany wtedy gdy w 8 pierwszych bitach bajta jest wartość parzystą żeby wymusić nieparzystość w bajcie. kiedy 8 bitów ma wartość nieparzystą to bit 9 ma wartość 0.

    I teraz takie pytania do was drodzy forumowicze:

    1.Wiedząc ze bit parzystości jest wykorzystywany przez komputer podczas sprawdzania czy nie wystąpił błąd parzystości w pamięci, w takim razie jak wygląda ta pamięć? czy to po prostu szereg 9 bitów koło siebie tak normalnie czy może jakoś inaczej.

    2.Jak sprawdzić w danej lokacji pamięci bit parzystości. czy wogule da sie coś dowiedzieć o jego stanie dla dowolnego adresu fizycznego pamięci?

    3.jak to jest ze pobierając dane pobieramy tylko 8 bitów z wartością dla danego bajta, a co z tym 9 bitem parzystości. jest on nie zauważalny? przecież taki 1 bit tez coś sobą reprezentuje więc dlaczego i jakiem sposobem procesor wybierając dane go pomija a bierze tylko wartość bajta.

    Najbardziej bym chciał sie dowiedzieć jak wygląda ta pamięć z tym 9 bitem. bo do tej pory pamięć wyobrażałem sobie jako normalne kolejne bajty o jakiś adresach fizycznych i trudno mi sie przestawić na zapis pamięci z bajtami o 9 bitach.

    proszę o jakąś pomoc:)

  • #2 21 Paź 2009 00:29
    _TIGER_
    Użytkownik obserwowany

    Może wrzucić Ci zdjęcia z książki Układy Mikroprocesorowe.. wprawdzie nie ma tam odpowiedzi na Twoje konkretne pytania aczkolwiek może się przyda?

  • #3 21 Paź 2009 00:33
    Karol966
    Poziom 30  

    KrukersRadek napisał:
    Wiem to juz od dawna ze podstawowa jednostka pamięci jaką jest 1 bajt jest zbudowana z 9 bitów.


    Okłamywali cię: http://pl.wikipedia.org/wiki/Bajt
    Co do pamięci - nie spotkałem się z rejestrem, który miał by inną wartość komórek niż potęga liczby 2 odpowiednio 8, 16 bitów ale nie 9

  • #4 21 Paź 2009 00:36
    atom1477
    Poziom 43  

    Pierwsza i podstawowa informacja jest taka, że żadnego 9 bitu nie ma ;p
    Owszem widywałem pamięci 9-cio bitowe, ale bardzo rzadko.
    Były to stare pamięci SIMM. Sprawdzanie idzie sprzętowo. Czyli procesor (program) nawet o nim nie wiedział i najprawdopodobniej nie miał nawet możliwości dobrać się bezpośrednio do tego bitu.
    Taka pamięć była po prostu pamięcią o szerokości 9 bitów.
    A współczesne pamięci chyba w ogóle tego nie mają. Całkowitej pewności nie mam ale tak mi się wydaje.

  • #5 21 Paź 2009 00:39
    Karol966
    Poziom 30  

    W pierwszych komputerach bajt mógł mieć 4, 6, 7, 9 czy 12 bitów. Ośmiobitowy bajt po raz pierwszy pojawił się pod koniec 1956 roku. To tak odnośnie wypowiedzi kolegi atom1477.

  • #7 21 Paź 2009 09:02
    Airborn
    Poziom 12  

    Cytat:
    255 różnych kombinacji - liczby od 0-255

    To zdanie można rozważać na dwa sposoby... jeżeli bitów jest 8, to kombinacji jest 2^8 = 256 lub, jeżeli możliwe są liczby od 0 do 255, to można je wszystkie policzyć i też wyjdzie 256, nigdy nie 255

    Parzystość w zasadzie wykorzystuje się obecnie tylko przy transmisji (oraz w którymś tam RAID'zie)

  • #8 21 Paź 2009 09:19
    jestam
    Specjalista Automatyk

    Karol966 napisał:
    W pierwszych komputerach bajt mógł mieć 4, 6, 7, 9 czy 12 bitów. Ośmiobitowy bajt po raz pierwszy pojawił się pod koniec 1956 roku. To tak odnośnie wypowiedzi kolegi atom1477.


    Źródło? Odnośnie definicji bajtu.
    Bo że słowo maszynowe może mieć różną szerokość, to wiem.

    Do autora wątku:
    Bajt ma 8 bitów. Z definicji. W niektórych rozwiązaniach pamięci stosowano (stosuje się?) dodatkowe, nadmiarowe bity do wykrywania i korekcji błędów, obsługiwane wyłącznie sprzętowo. Procesor o ewentualnym błędzie pamięci dowiaduje się przez przerwanie niemaskowalne.

    W podręczniku Betty Prince "Nowoczesne pamięci półprzewodnikowe" z roku 1996 (wydany w Polsce w 1999) opisywane są moduły DIMM dla komputerów z Pentium, o szerokości 64 lub 72 bity (8 bajtów danych bez kontroli błędów lub 8 bajtów danych z 1 bitem dodatkowo do każdego bajtu do kontroli błędów), więc takie moduły musiały być wtedy produkowane.

  • #9 22 Paź 2009 00:30
    KrukersRadek
    Poziom 10  

    tak ja tam sie pomyliłem z tą liczbą 255 kombinacji dla jednego bajta. zgadza się jest 256 kombinacji:)

    Dziękuje wszystkim za odpowiedzi:) troche tez jeszcze poszukałem na necie i faktycznie ten bit jest tylko postrzegany podczas transmisji danych a normalnie pamięć ram jest stworzona z 8 bitowych bajtów:) ufff wszystkie moje pytania zostały rozwiazane:D

    jeszcze raz dzieki

  • #10 02 Lis 2009 12:42
    michalbordon
    Poziom 9  

    Jeszcze dodam jeden szczegół który w zeszłym tygodniu usłyszałem na wykładzie z Techniki Mikroprocesorowej. Uwaga wykładowcy dotyczyła procesora z rodziny 51 o architekturze harwardzkiej (czyli kilku przestrzeniach adresowych). W tym przypadku istnieje przestrzeń SFR, a w niej rejestr flag procesora, aktualizowany po wykonaniu każdej instrukcji. W niej jest flaga parzystości. Dalsza część wykładu już w piątek, ale wnioskuje na tej podstawie, że to ta flaga jest używana do walidacji :) http://pl.wikipedia.org/wiki/Rejestr_flag_procesora

  • #11 02 Lis 2009 12:58
    jestam
    Specjalista Automatyk

    Cytat:

    wnioskuje na tej podstawie, że to ta flaga jest używana do walidacji


    Flaga parzystości w rejestrze PSW w procesorach 51 nie ma nic wspólnego z kontrolą parzystości pamięci w takim sensie jak powyżej. Ta flaga jest używana m. in. do programowej kontroli transmisji szeregowej.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME