Mikrodenetleyici Saklayıcı Kaydedici (register)

Başlatan sitkitanseltunc, 07 Ağustos 2017, 20:19:36

sitkitanseltunc

Mikrodenetleyicilerin Data belleklerini anlatırken kullanılan saklayıcı ve kaydedici terimleri aynı şeyi mi ifade etmektedir?

OG

Saklayıcı veya kaydedici terimi Türkçe'ye çevirenlerin kullandıkları terim, çoğu zaman doğru yerde kullanmıyorlar.

Datasheet literatüründe ise farklı alışkanlıklar var, mesela  Register terimini örneğin "INTCON registeri" gibi amaçlar için kullanıyorlar.
Evet INTCON registeri bazı bilgileri saklar ve siz buna "saklayıcı" terimini uygun görebilirsiniz ama alışılmış ortak dilden uzaklaşırsınız ve anlaşma zorlukları çıkar.

Saklayıcı terimini RAM banklar için de kullanabilirsiniz, FLASH alan için de EEPROM alanı için de, bu durumda ise ne anlattığınız anlaşılamaz, hepsi başka başka işler yapar.

Yani tam ismi ile anılmalarında fayda var.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

CoşkuN

Register'a tam bir Türkçe karşılık kullanmada gerçekten zorlanıyorum ben de.
Çeşitli kaynaklarda register için gördüğüm Türkçe karşılıklar:
kaydedici, yazmaç, saklayıcı, kütük (evet bu da var)

muhendisbey

Register'ı çevremde yazmaç olarak kullanıyorlar.


Bence kafa karıştırıcı, her şeye Türkçe bir karşılık bulmak son derece gereksiz. Televizyona, otobüse bilmem neye ad koysunlar. Bunlar teknik terim. Elin Almanı gidip başka birşey demiyor o da register diyor. Orijinal olmaya gerek yok. RAM RAM'dir, REB(Rastgele Erişimli Bellek) değildir. Aynı şekilde register da register'dır. Ne işe yaradığını bilelim, teknolojisinin ne olduğunu bilelim, nasıl çalıştığını bilelim. Bence bu daha önemli.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

engineer

#4
Saklayıcı, kaydedici aynı şeyi ifade ederde işin içine bellek terimi girerse veri kaydedilen yerlere register denmez. Bir belleğin register'ı kontrol ve konfigürasyonlarının yapıldığı alandır, veri kaydedilen yerinede veri hücresi, sayfası, bloğu, bankı denir. Aynı şekilde sensör, display, flash, ram vs vs. bunlardada register aynı şeyi ifade eder. Aralarında gruplandırılır, control register, status register, data register, temporary, shifting, buffer yada işlemcinin ana register grupları vs vs.. Hepsinin ortak özelliği kısıtlı bit/byte grupları şeklindedir ve depolama alanı olarak kullanılmaz, bellek değillerdir.

Sorun doğruysa eğer bir mikrodenetleyicinin data belleği anlatılırken veri kaydedilen yer için saklayıcı, kaydedici, register gibi bir terim kullanılmaz. Sormak istediğin mikrodenetleyici mimarisi anlatılırken komut ve verilerin geçici kaydedildiği alanlarsa eğer evet kaydedici, saklayıcı, yazmaç, register vs hepsi aynı şeyi ifade eder.

burç tankal

Bir soru da ben sorabilir miyim o zaman,  char olarak tanımladığımız bir değişkenle işlem yaparken örneğin: y=(50000*2)/25000  rakamlar char'dan büyük olduğu halde sonuç eğer 1 byte büyüklüğündeyse sıkıntısız şekilde y'nin içerisine kaydediliyor. Buradan anladığım işlem önce başka bir geçici alanda yapıldıktan sonra (sanırım aritmetik işlem biriminde) değişkene aktarılıyor. Peki bu işlemin yapıldığı alanın büyüklüğü ne kadardır. Örneğin en fazla kaç bitlik veriler işlenip değişkenlere yazılabilir. Bu işlem mikro denetleyici mimarisi içerisinde nasıl yapılıyor?

Hadi

Alıntı yapılan: burç tankal - 09 Ağustos 2017, 16:08:53
Bir soru da ben sorabilir miyim o zaman,  char olarak tanımladığımız bir değişkenle işlem yaparken örneğin: y=(50000*2)/25000  rakamlar char'dan büyük olduğu halde sonuç eğer 1 byte büyüklüğündeyse sıkıntısız şekilde y'nin içerisine kaydediliyor. Buradan anladığım işlem önce başka bir geçici alanda yapıldıktan sonra (sanırım aritmetik işlem biriminde) değişkene aktarılıyor. Peki bu işlemin yapıldığı alanın büyüklüğü ne kadardır. Örneğin en fazla kaç bitlik veriler işlenip değişkenlere yazılabilir. Bu işlem mikro denetleyici mimarisi içerisinde nasıl yapılıyor?

İşlem başka yerde yapılıyor diye bişey yok. Hesaplama işlemleri hep aynı yerde yapılır.
Diyelim ki siz c dilinde string a = "Hadi"; diye bir kod yazdınız, peki bu stringi veya "Hadi" yi mikro denetleyici anlar mı? Yok :)

Buna izin veren ve mikro denetleyici için uygun hale getiren sizin yazmakta olduğunuz dilden kaynaklanıyor.

İşte 25000 için ne kadar yer gerekiyorsa c dili kodu derlerken ona göre bir kaç register bu sayı için ayırır ve hesaplamayı da ona göre yapar. Bildiğiniz gibi çoğu mikro denetleyicide çarpma bölme komutu da yok.

Umarım anlatabilmişimdir.  :)

burç tankal

Alıntı yapılan: Hadi - 09 Ağustos 2017, 16:49:29
İşlem başka yerde yapılıyor diye bişey yok. Hesaplama işlemleri hep aynı yerde yapılır.
Diyelim ki siz c dilinde string a = "Hadi"; diye bir kod yazdınız, peki bu stringi veya "Hadi" yi mikro denetleyici anlar mı? Yok :)

Buna izin veren ve mikro denetleyici için uygun hale getiren sizin yazmakta olduğunuz dilden kaynaklanıyor.

İşte 25000 için ne kadar yer gerekiyorsa c dili kodu derlerken ona göre bir kaç register bu sayı için ayırır ve hesaplamayı da ona göre yapar. Bildiğiniz gibi çoğu mikro denetleyicide çarpma bölme komutu da yok.

Umarım anlatabilmişimdir.  :)

Hımm.. Benden habersiz derlerken hafıza atıyor demek :) Şimdi anlaşıldı :) Çok teşekkür ederim.

Hadi

Alıntı yapılan: burç tankal - 09 Ağustos 2017, 16:53:52
Hımm.. Benden habersiz derlerken hafıza atıyor demek :) Şimdi anlaşıldı :) Çok teşekkür ederim.

Rica ederim.

Aslında habersiz değil.

Siz Integerin 4 byte olduğunu biliyorsunuz. PIC16F'in register boyutunu (1 byte) da biliyorsunuz. O zaman bir int sayı tanımlarken bunu sayıyı 4e bölüp 4 ayrı registerde kaydedildiğini de biliyorsunuz ama fazla dikkat etmemiştiniz demek.  :)

burç tankal

Alıntı yapılan: Hadi - 09 Ağustos 2017, 17:00:32
Rica ederim.

Aslında habersiz değil.

Siz Integerin 4 byte olduğunu biliyorsunuz. PIC16F'in register boyutunu (1 byte) da biliyorsunuz. O zaman bir int sayı tanımlarken bunu sayıyı 4e bölüp 4 ayrı registerde kaydedildiğini de biliyorsunuz ama fazla dikkat etmemiştiniz demek.  :)
Aslımda ben int'i 2 Bayt olarak biyordum :)

baran123

"integer" dediğiniz değişken türünün boyutu kullandığınız derleyici ye göre değişmektedir.