İçeriğe atla

Doğrudan bellek erişimi

Doğrudan Bellek Erişimi (Direct Memory Access; DMA), merkezi işlem biriminden (Central Processing Unit; CPU) bağımsız olarak, çevresel bileşenlerin Rastgele Erişimli Hafıza (Random Access Memory; RAM) bloğuna erişebilmesini sağlayan bir özelliktir.

DMA, disk sürücü kontrol birimleri, grafik kartları, ağ kartları ve ses kartları dahil olmak üzere birçok donanım bileşeni tarafından kullanılmaktadır. DMA kanalı olan sistemler, DMA kanalı olmayan sistemlere göre daha hızlı bir şekilde veri transferi yapabilmektedir. DMA, bilhassa gerçek zamanlı uygulamalar için oldukça yararlı bir özelliktir.

İşleyiş ilkesi

DMA, bütün modern bilgisayarların önemli bir özelliğidir, zira cihazların, CPU'nun işlem gücünü harcamadan veri transferi yapmalarına olanak sağlamaktadır. Aksi takdirde, CPU, her veri parçasını kaynaktan hedefe kopyalamak zorunda kalırdı. Bu genel olarak, normal bellek bloklarının kopyalanmasından çok daha yavaştır. Çünkü bir çevresel birimin I/O aracılığıyla merkez cihazına erişimi, genel olarak normal sistem RAM'ından daha yavaştır. Bu zaman içinde CPU, CPU veri yolunu ilgilendiren diğer görevleri gerçekleştiremez, ama veri yolu erişimini gerektirmeyen diğer işleri yapmaya devam edebilir.

Bir DMA transferi esas olarak, bir bellek bloğunu bir cihazdan diğerine kopyalar. Her ne kadar transferi CPU başlatsa da, o gerçekleştirmez. Sözde “üçüncü şahıs” DMA için, ISA veri yolu ile normal olarak kullanıldığı şekilde, transfer, genel olarak ana kart yonga kümesinin parçası olan bir DMA kontrol birimi tarafından gerçekleştirilmektedir. PCI gibi daha gelişmiş veri yolu tasarımları genel olarak, cihazın veri yolunun kontrolünü ele geçirdiği ve transferi kendisinin gerçekleştirdiği veri yolu idaresi (bus mastering) DMA'sı kullanmaktadır.

DMA'nın genel bir kullanımı, sistem RAM’ından bir bellek blokunun, cihazdaki arabelleğe kopyalaması ya da tam tersi olarak cihazdaki arabellekten sistem RAM'ine bir bellek bloğunun kopyalanmasıdır. Böyle bir işlem işlemciyi geciktirmez. Bu sayede CPU başka görevleri yapmak üzere programlanabilir. DMA transferleri, yüksek performanslı tümleşik sistemler için çok önemlidir. Ayrıca, çevre cihaz sürücülerinin sıfır-kopya denilen uygulamalarının yanı sıra, ağ paketi yol ataması, ses yeniden oynatımı ve duraksız video işlemi gibi işlevsellikleri sağlaması açısından da çok önemlidir.

DMA motorları

DMA, donanım etkileşimine ilave olarak, CPU’dan belirli bir DMA motoruna büyük kopyalar veya saçılım-toplama işlemleri gibi, pahalı bellek işlemlerinin başka yere yönlendirmek amacıyla da kullanılabilir. Bugünün masa üstü bilgisayarları için bellek kopyalamaları başka bir yere yönlendirilmeye değmeyecek kadar küçük işlemler olsa da, daha sınırlı kaynaklar nedeniyle, tümleşik cihazlarda daha sık kullanılmaktadır.

Örnekler

ISA (Sanayi Standardı Mimari)

Örneğin, bir bilgisayarın ISA DMA kontrol biriminin 16 DMA kanalı olup, bunların 7 adedi, bilgisayarın CPU’su tarafından kullanılmak içindir. Her DMA kanalıyla ilintili olarak, 16-bit’lik bir adres kaydı ve 16-bit’lik sayma kaydı bulunmaktadır. Bir veri transferi başlatmak içini cihaz sürücüsü DMA kanalının adresi ve sayma kaydedicisi ile birlikte, transferin yönünü ayarlar, okuma veya yazma; sonra, DMA donanımına transferi başlatması komutunu verir. Transfer tamamlanınca, cihaz CPU’yu keser.

“Saçılım-toplama” DMA, tek bir DMA hareketi ile birden fazla bellek alanına ve alanından veri transferine izin verir. Birden fazla basit DMA talebinin birbirine zincirlenmesine eşdeğerdir. Yine, amaç çoklu giriş/çıkış kesintilerini ve veri kopyalama görevlerini CPU'dan başka yerlere aktarmaktır.

DRQ, DMA talebi anlamına, DACK, DMA kabulü/alındısı anlamına gelmektedir. Bu semboller genelde, DMA işlevi bulunan bilgisayar sistemlerinin donanım şematiğinde görülmektedir. CPU ile DMA kontrol birimi arasındaki elektronik sinyal hatlarını simgelemektedir.

Kaynakça

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">RAM</span> herhangi bir sırada okunabilen ve değiştirilebilen bir tür geçici veri deposu

Rastgele erişimli hafıza veya rastgele erişimli bellek mikroişlemcili sistemlerde kullanılan, genellikle çalışma verileriyle birlikte makine kodunu depolamak için kullanılan herhangi bir sırada okunabilen ve değiştirilebilen bir tür geçici veri deposudur. Buna karşın diğer hafıza aygıtları saklama ortamındaki verilere önceden belirlenen bir sırada ulaşabilmektedir, çünkü mekanik tasarımları ancak buna izin vermektedir.

<span class="mw-page-title-main">Mikrodenetleyici</span>

Mikrodenetleyici bir VLSI entegre devre çipinde küçük bir bilgisayar'dır. Mikrodenetleyici, bellek ve programlanabilir giriş/çıkış çevre birimleri ile birlikte bir veya daha fazla CPU kapsar.

<span class="mw-page-title-main">Anakart</span>

Anakart, modern bir bilgisayar gibi karmaşık bir elektronik sistemin birincil ve en merkezî baskılı devre kartıdır. Apple bilgisayarlardaki muadiline logic board denir ve bazen mobo olarak kısaltılır. Fiziksel yapı olarak anakartlar özel alaşımlı bir blok üzerine yerleştirilmiş ve üzerinde RAM yuvaları genişleme kartı slotları devreler ve yongalar bulunan kare şeklinde bir plakadır. Bu plaka çalışma sistemini organize eder. Bu organizasyon anakart üzerindeki yonga setleri sayesinde olur.

<span class="mw-page-title-main">Merkezî işlem birimi</span> bir bilgisayar programının talimatlarını, talimatlar tarafından belirtilen temel aritmetik, mantıksal, kontrol ve giriş/çıkış (G/Ç) işlemlerini gerçekleştirerek yürüten ve diğer bileşenleri koordine eden bir bilgisayar içindeki elektro

Merkezî işlem birimi, dijital bilgisayarların veri işleyen ve yazılım komutlarını gerçekleştiren bölümüdür. Çalıştırılmakta olan yazılımın içinde bulunan komutları işler. Mikroişlemciler ise tek bir yonga içine yerleştirilmiş bir merkezî işlem birimidir. 1970'lerin ortasından itibaren gelişen mikroişlemciler ve bunların kullanımı, günümüzde MİB teriminin genel olarak mikroişlemciler yerine de kullanılması sonucunu doğurmuştur.

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

<span class="mw-page-title-main">DRAM (bilgisayar)</span>

Dinamik Rastgele Erişimli Bellek, dinamik rastgele erişimli bellek bir tümleşik devre içinde her bir veri bitini ayrı bir kapasitör içinde saklayan Rastgele Erişimli Bellek türüdür. Kapasitörler yapıları gereği bir süre sonra boşalacağından yenileme/tazeleme (refresh) devresine ihtiyaçları vardır. Bu yenileme ihtiyacından dolayı DRAM, SRAM ve diğer statik belleklerin zıddı durumundadır. DRAM’in SRAM üzerindeki avantajı onun yapısal basitliğidir: 1 bit için 1 transistör ve 1 kapasitör DRAM için yeterliyken SRAM için 6 transistör gerekir. DRAM, yenileme devresinden dolayı çok yer kaplar. Güç kaynağı açık olduğu durumda DRAM ve SRAM sakladığı verileri korur bu nedenle her iki bellek aygıtı da volatiledir.

<span class="mw-page-title-main">Bilgisayar donanımı</span> bilgisayarı oluşturan fiziksel parçaların genel adı

Bilgisayar donanımı, kasa, merkezi işlem birimi (CPU), monitör, fare, klavye, bilgisayar veri depolama, grafik kartı, ses kartı, hoparlörler ve anakart gibi bir bilgisayarı oluşturan fiziksel parçaların genel adıdır.

<span class="mw-page-title-main">Arabellek</span>

Arabellek ya da tampon bellek, bir cihazda verilerin topluca yazılmadan önce biriktirildikleri bellektir. Bu işlemdeki amaç, ilgili belleğin o anda başka bir işle uğraşırken o işin bitmesini beklemeden emir verebilmek, başka bir deyişle hızı artırmaktır. Bir önbellekten farklı olarak bir arabellekteki tüm veriler er ya da geç ilgili belleğe yazılacaktır. Birçok donanım ve yazılımda arabellek kullanılır:

Donanım yazılımı (İng: firmware), sayısal veri işleme yeteneği bulunan her tür donanımın kendisinden beklenen işlevleri yerine getirebilmesi için kullandığı yazılımlara verilen addır. Elektronikte ve bilişimde donanım yazılımı, kalıcı bellek, program kodu ve veri deposudur. Donanım yazılımının bulunduğu cihazlara tipik örnekler; gömülü sistemler, bilgisayar çevre birimleri, cep telefonu, dijital fotoğraf makinesi verilebilir. Bu cihazlarda bulunan yazılım, cihazın kontrol programını barındırır. Donanım yazılımı ROM, EPROM, flaş bellek gibi kalıcı bellekte saklanır. Bir cihaz yazılımının değiştirilmesi, cihazın ömrü boyunca ya hiç yapılmaz ya da sadece birkaç kez yapılır. Bazı cihazların yazılımları üretim aşamasından sonra değiştirilemez. Donanım yazılımında güncelleştirme ya yazılım hatası ya da cihaza yeni bir özellik eklemek için yapılır. Bunun için mikroçip ROM'u değiştirilmesi gerekebilir veya flaş belleğin özel bir yöntemle tekrar programlanması gerekir. Bilgisayardaki BIOS yazılımı yalnızca, cihazın temel işlevlerini saklar, işletim sistemi gibi yüksek seviye yazılımlara önayak olur.

<span class="mw-page-title-main">EEPROM</span>

EEPROM, küçük boyuttaki verileri kalıcı olarak saklamak için bilgisayar ya da diğer cihazlarda kullanılan bir yongadır. Boyutu daha büyük olan sabit verileri saklamak için ise flaş bellek gibi daha ekonomik yöntemler kullanılır. EEPROM, elektrikle yazılıp silinme özelliğine sahiptir.

Bellek haritalı G/Ç ve bağlantı kapılı G/Ç, bilgisayarda CPU ve G/Ç cihazları arasındaki G/Ç işlevini yerine getirmek için kullanılan iki metottur. Başka bir metot ise ayrı bir G/Ç işlemcisi kullanılarak yapılan bir metottur. (IBM'in büyükboy bilgisayarlarında kullanılmaktadır.

<span class="mw-page-title-main">ISA (bilgisayar)</span>

ISA Sanayi Standardı Mimari,, IBM uyumlu bilgisayarların bilgisayar veri yolu standardıydı.

Uzaktan Doğrudan Bellek Erişimi , bir bilgisayarın belleğinden diğer bir bilgisayarın belleğine, her iki bilgisayarın da işletim sistemlerini etkilemeden veri aktarımını sağlar. Bu, özellikle büyük, paralel bilgisayar kümeleri için önemli olan yüksek işlem hızlı ve düşük gecikme süreli ağ oluşumuna olanak sağlar.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">BIOS</span> EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan yazılım

BIOS,. EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan bir tür yazılımdır. Bilgisayar açıldığı anda işlemciye tüm diğer donanımları sırasıyla tanıtır. Donanımların temel iletişim protokollerini belirler. İşletim sisteminin başlangıç öğelerinin herhangi bir sürücüden yüklenmesini sağlar. İşletim sistemi çalışırken donanım ve işletim sistemi arasındaki ilişkileri düzenler.

Sayfalama ya da bellek adresleme, durgun sanal bellek sayfalarının ikincil bellekte (teker) saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir. Bir diğer anlamı, adres uzayının belli oranlarda bloklara ayrılmasıdır. Sayfalama, bellek mahallerine ulaşımı ve adreslemeyi kolaylaştırır. 6502 mikroişlemcili bir sistemde 65536'lık adres uzayı 256 adet 256 Baytlık hayalı sayfalara ayrılır. Genelde 6502 işlemcili sitemlerde 1. sayfa yığın olarak ayrılırken 0. sayfaya bakış tabloları veya veri blokları yerleştirilir.

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

<span class="mw-page-title-main">Yongada sistem</span> Bir entegre devre türü

Yongada sistem bir entegre devre türüdür. Tek başına bir bilgisayarda bulunan bütün parçaları içerebilir. Aynı zamanda analog, sayısal, karışık sinyal ve radyo iletişimi işlevlerini bünyesinde toplayabilir. Yongada sistemlere düşük güçle çalışan mobil elektronikte sıkça rastlanır. En yaygın kullanım alanı gömülü sistemlerdir. Yongada sistemlerin mikrodenetleyicilerden en büyük farkı işlem gücü ve yüksek hafızasıdır. Ayrıca yongada sistemler harici flash depolama, RAM ve çok çeşitli başka elemanlarla aynı anakart üzerinde onları yöneterek çalışabilirken mikrodenetleyicilerde bunun gibi çok parçalı bir yapı yoktur. Daha doğrusu bir gömülü sistem eğer bir mikrodenetleyici ile kurulduysa ROM, RAM gibi bileşenler mutlaka mikrodenetleyicinin içerisinde bulunurken yongada sistemde böyle bir zorunluluk yoktur. Ayrıca yongada sistemlerin gücü son kullanıcıların kullandığı Windows, Macintosh, iOS, Android vb. işletim sistemlerini çalıştırmaya yeterken mikrodenetleyiciler çok daha spesifik alanlarda ve çok kısıtlı ROM ve RAM'ler ile çalışırlar. Nihayetinde mikrodenetleyiciler örneğin bir çamaşır makinesini kontrol ederken yongada sistemler akıllı telefon, tablet ve hatta bilgisayarlara bile can verebilirler.

<span class="mw-page-title-main">Önbellek</span>

Hesaplamada, önbellek ; veri depolayan bir donanım veya yazılım bileşenidir, böylece bu veriler için gelecekteki talepler daha hızlı bir şekilde yerine getirilebilir; Bir önbellekte depolanan veriler daha önceki bir hesaplamanın sonucu veya başka bir yerde depolanan verilerin bir kopyası olabilir. İstenen veriler bir önbellekte bulunduğunda, önbellek kaçması, yapamadığında önbellek kaçırma şeklinde göründüğünde önbellek isabet oluşur. Önbellek isabetleri, bir sonucu yeniden hesaplamadan veya daha yavaş bir veri deposundan okumadan daha hızlı olan önbellekten veri okuyarak yapılır; bu nedenle, önbellekten ne kadar fazla istek yapılabiliyorsa, sistem o kadar hızlı çalışır.