DMA (Direct Memory Access: Direkt Bellek Erişimi) Nedir?

Elektronik Yazar: alper Yorum Ekle

DMA (Direct Memory Access: Direkt Bellek Erişimi) belleğe veri aktarımını ve bellekten veri okumayı; Merkezi İşlem Birimi’ni veri transferi işleminde devre dışı bırakarak, sistemin çalışmasını hızlandıran ve işlemci yükünü azaltan bir yöntemdir.

Normal şartlardan bellekten(/belleğe) veri okumak(/yazmak) istediğimizde, veri ilk önce bellekten(/kaynaktan) okunur ve işlemciye taşınır. İşlemci üzerinden tekrar taşımak istediğimiz adrese; yani aygıta (RAM, HD vb) gönderilir. Buradaki sakınca şudur: Taşımak istediğimiz veride hiçbir değişik yapmasak bile işlemci bu transferlerde etkin rol oynar ve taşınan veri her seferinde işlemciye uğrar. Sistem kaynaklarını bu şekilde kullanmak; fazladan işlem gücü, zaman kaybı ve sistem yavaşlığı olarak sistem performansına yansır. Ayrıca bu taşıma sırasında işlemci yapabileceği diğer işlemleri de yapamaz. Eğer taşıdığımız veriler çok büyükse -örnek olarak veri görüntü kayıt kartından veya ağ kartından geliyorsa- bu işlemler sistemimizin performansını büyük ölçüde yavaşlatır.

Veri transferleri sırasında oluşacak bu negatif etkinin önüne geçmek için; işlemciyi bu akışın içinden çıkarmak ve veri transferi yapmak isteyen aygıta bellek erişimine izin verecek bir yöntem gereklidir. Çeşitli tipleri (mod’ları) olan bu yönteme genel olarak DMA diyoruz. Çalışma mantığını biraz daha açarsak iş akışı şöyle özetlenebilir.

Diyelim ki DMA ile kullanacağımız aygıt video kayıt kartı (frame grabber). Kameradan gelen görüntüleri algılayıp, gerekli işlemleri (filtreleme, analog-dijital çevrim-parlaklık vs) yaptıktan sonra oluşan görüntüyü -640*480 çözünürlük, 256 renk ve saniyede 25 frame ile bir saniyelik veri büyüklüğü 7.3MiB veri transferine eşittir- sistem belleğine atmak için DMA denetleyicinden veri yollarının kontorlünü alır. Bu aşamadan sonra işlemci veri transferlerine karışmaz ve transfer dışında kalan işlemleri yapmaya devam edebilir. Video kayıt kartımız (PCI olduğunu varsayarsak sn 133 MiB veri transferi şansı vardır. Bu da 7.3 MiB’lık veri için 50 ms sürer) görüntüyü belleğe attıktan sonra işlemciyi -genellikle kendine ayrılmış interrupt ile- veri transfer işleminin bittiğine dair uyarır ve veri yolunun kontrolünü bırakır. Bu yöntemle çok büyük veriler işlemcinin yaptığı işe ara vermesine gerek bıraktırmadan taşınabilir. Teorik olarak bu veri transferinin işlemciye yükü %0′dır.

Pratikte görebileceğimiz en iyi örnek ise CD*ROM’u DMA modundan PIO moduna alıp CD’den veri okumaya başladığımız durumdur. Bu durumda işlemci yükü %20′nin üstüne rahatlıkla çıkabilir. DMA’nın Multiword DMA, Ultra-DMA gibi farklı çeşitleri de vardır.

6 Yorum “DMA (Direct Memory Access: Direkt Bellek Erişimi) Nedir?”

  1. mustafa Yorumu:

    Merhaba..Yurtdisinda bilgisayar muhendisligi okuyorum.
    Bazen daha iyi anlamak istedigim konulari google da turkce olarak arastiyorum.Paylasimlarinizin cok faydasi oluyor.
    cok cok tesekkur ederim.

  2. ömer Yorumu:

    ya çok teşekkür ederim ben lise 3 bilişim bölümü okuyorum ve bunlar benim işimi çok yarıyor.

  3. merve Yorumu:

    ben bilişim teknolojileri örencisiyim gercekten paylasımlar chok işime yarıo tesekkür ederim

  4. oğuzhan ve ismail Yorumu:

    paylasimlariniz için tsk ederiz

  5. hanife Yorumu:

    ingilizce metinlerle boğuşmaktan gına geliyor anlatımınız çok anlaşılır teşekkürler sınava çalışıyorum beni iki saat metini anlamaya çalışmaktan kurtardınız:)

  6. Hüseyin İnan Yorumu:

    Bilgiler için teşekkürler. İşletim Sistemi dersimizde DMA yapısını anlamamıza yardımcı oldu.

Yorum Ekle

Motor: Wordpress - Dizayn: Ndesign-Studio
Makaleler RSS Yorumlar RSS Giriş