Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Bir Byte Her Zaman 8 Bitten Oluşmaz
#1
Bunu Access violation forumunda bir soru olarak soracaktım ama ya bende bir sıkıntı var, yada yetkim yok konu açmaya.İkinci ihtimal daha kuvvetli geldi bana sanki forumda başka alanlardaki tecrübelerime dayanarak.Tabi  Access violation  forumunda sorulara sıkça,kendimce cevap veren kişilerden biri olarak konu açamamam da ironik ama zaten bu bir ayrıcalıksa istemem.Gerçi bu konudaki fikirlerimi yönetici arkadaşlar biliyor zaten.Bu forumu seviyorum ama saygı çerçevesinde eleştiri yapmaktan da geri kalmam.Neyse biz konuya gelelim.Parity/ECC (Error Correction Code/Hata Düzeltme Kodu) destekli belleklerde bir byte 9 bitten oluşur, 8 bitlik kısmı data içindir, kalan bir bite is parity bit denir.Tek, çift kontrolü yapılarak datanın bozulup bozulmadığı kontrol edilir.Örneğin:
00101111(1)  parantez içindeki parity bitte 1 değeri var çünkü data kısmındaki bitlerdeki birlerin sayısı 5(tek)'tir.Eğer bu bitlerde bozulma olursa örneğin değerimiz şöyle olursa 00100111(1) olursa birlerin sayısı çift ama parity bitte 1(tek) olduğu için anlarız ki veride bir bozulma var.Tabi burada bir değil de iki değer bozulursa hatayı fark edemeyiz ama  yine de bu kontrolün veri hatalarını büyük oranda çözdüğü belirtiliyor.Tabi bunun için anakartın, işlemcinin de parity/ecc'yi desteklemesi gerekir.Bu yüzden ramlerde anakartlarda bu destek varsa genelde başlığında belirtilir.Maliyeti artırdığı ve kontrol mantğından dolayı biraz daha yavaş (%2) olduğu için artık eskisi kadar tercih edilmese de  veri güvenliğinin önemli olduğu mimarilerde ve sunucularda tercih edilebiliyor.Son olarak biz karşılıklı olarak haberleşen programlar yazıyorsak ve verinin doğru bir şekilde karşıya ulaşması önemliyse bunu 8 bit üzerinde 1 biti parity bit yapıp 7 biti data olarak tasarlayarak programatik olarak da yapabiliriz.En başa dönersek Parity/ECC destekli bir bellek kullanılsa da programcıyı ilgilendiren byte kısmı yine 8 bitten oluşur ama aşağıda ne olduğunu bilmek her zaman bizi daha güçlü kılar. Saygılarımla.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#2
Merhaba,
Farklı bir konuya değinerek, bizi aydınlattığınız için şahsım adına teşekkür ederim.
Access violation bölümü için tanımlanan herhangi bir kısıtlama kuralımız yok. Farklı bir tarayıcı ile test etmeyi deneyin.
Şu an detaylı inceleme imkanım yok. Yarın bu durumu daha detaylı kontrol edebilirim.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Güzel bir konuya değinmişsiniz teşekkürler. Donanım katmanında olan olayların farkında olmak olaylara bakış açınızı genişletir.
ECC konusundaki sade anlatımınızdan, 1 bitlik parity biti ile bozulan datanın onarılması (doğrusunun elde edilmesi) değilde hatalı olduğunun tesbiti yapılabildiği anlaşılmaktadır.  RAID5 ve RAID6 disk yapılarındaki parity mekanizması ve data en azından 3 diske (raid5 için) bölündüğü için diğer 2 diskdeki veriden bozulan veri tekrar hesaplanabilmektedir.
Benzer şekilde bozuk olan datanın yeniden elde edilebilmesi için, RAM lerdeki ECC mantığıda diğer ram hücrelerinde depolan verilerle bağlantılımıdır?  Veya ramdeki verinin bozulduğu anlaşıldığında, bunu üreten proces donanım tarafınan tekrar çalıştırılırarak, tekrar verileri yazmasımı sağlanıyor? Bu durumda da ramdeki veri dış dünyadaki bir noktadan geliyorsa....
Aklımda deli sorular Smile
Cevapla
#4
(24-11-2017, Saat: 22:16)frmman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlGüzel bir konuya değinmişsiniz teşekkürler. Donanım katmanında olan olayların farkında olmak olaylara bakış açınızı genişletir.
ECC konusundaki sade anlatımınızdan, 1 bitlik parity biti ile bozulan datanın onarılması (doğrusunun elde edilmesi) değilde hatalı olduğunun tesbiti yapılabildiği anlaşılmaktadır.  RAID5 ve RAID6 disk yapılarındaki parity mekanizması ve data en azından 3 diske (raid5 için) bölündüğü için diğer 2 diskdeki veriden bozulan veri tekrar hesaplanabilmektedir.
Benzer şekilde bozuk olan datanın yeniden elde edilebilmesi için, RAM lerdeki ECC mantığıda diğer ram hücrelerinde depolan verilerle bağlantılımıdır?  Veya ramdeki verinin bozulduğu anlaşıldığında, bunu üreten proces donanım tarafınan tekrar çalıştırılırarak, tekrar verileri yazmasımı sağlanıyor? Bu durumda da ramdeki veri dış dünyadaki bir noktadan geliyorsa....
Aklımda deli sorular Smile

Yukarda anlattığım parity/ecc destekli sistemlerde parity kontrolüdür ve hatayı tespit eder ama düzeltemez her byteda 1 bit maliyeti vardır.Fakat ecc sistemlerde 2 bite kadar hata düzeltme şansı da vardır ama örneğin 32 bitte extra 7 bite ihtiyac vardır.Bu da maliyeti oldukça artırır.Ayrıca ecc destekli sşstemler parity destekli olduğu gibi non-parity de olabiliyor.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  String Byte Dizisine Çevirme dicle_gsm 4 292 31-07-2017, Saat: 20:16
Son Yorum: dicle_gsm
  İki byte dizisi nasıl birleştirebilirim ? dicle_gsm 4 247 04-07-2017, Saat: 02:50
Son Yorum: dicle_gsm



Konuyu Okuyanlar: 1 Ziyaretçi