Mikroişlemci - 8257 DMA Denetleyicisi

DMA, Doğrudan Bellek Erişimi anlamına gelir. En yüksek hızda veri aktarımı için Intel tarafından tasarlanmıştır. Cihazın, CPU'nun herhangi bir müdahalesi olmadan verileri doğrudan belleğe / bellekten aktarmasını sağlar.

Bir DMA kontrolörü kullanarak, cihaz CPU'nun verilerini, adresini ve kontrol veriyolunu tutmasını ister, böylece cihaz verileri doğrudan belleğe / bellekten aktarabilir. DMA veri aktarımı yalnızca CPU'dan HLDA sinyali alındıktan sonra başlatılır.

DMA İşlemleri Nasıl Gerçekleştirilir?

Bir DMA tarafından gerçekleştirilen işlemlerin sırası aşağıdadır -

  • Başlangıçta, herhangi bir cihazın cihaz ile hafıza arasında veri göndermesi gerektiğinde, cihazın DMA kontrol cihazına DMA talebi (DRQ) göndermesi gerekir.

  • DMA kontrolörü CPU'ya Tutma isteği (HRQ) gönderir ve CPU'nun HLDA'yı onaylamasını bekler.

  • Daha sonra mikroişlemci tüm veri yolunu, adres yolunu ve kontrol veriyolunu üçlü hale getirir. CPU, veri yolu üzerinden kontrolü bırakır ve HOLD talebini HLDA sinyali ile onaylar.

  • Artık CPU HOLD durumundadır ve DMA denetleyicisinin CPU, bellek ve I / O cihazları arasındaki veri yolları üzerinden işlemleri yönetmesi gerekir.

8257'nin Özellikleri

İşte 8257'nin öne çıkan özelliklerinden bazılarının listesi -

  • Dört I / O cihazı üzerinden kullanılabilen dört kanala sahiptir.

  • Her kanalın 16 bit adresi ve 14 bitlik sayacı vardır.

  • Her kanal 64kb'ye kadar veri aktarabilir.

  • Her kanal bağımsız olarak programlanabilir.

  • Her kanal okuma aktarımı, yazma aktarımı gerçekleştirebilir ve aktarım işlemlerini doğrulayabilir.

  • 128 bayt aktarılan çevre cihazına MARK sinyali üretir.

  • Tek fazlı bir saat gerektirir.

  • Frekansı 250Hz ile 3MHz arasında değişir.

  • 2 modda çalışır, yani Master mode ve Slave mode.

8257 Mimari

Aşağıdaki resim 8257'nin mimarisini göstermektedir -

8257 Pin Açıklaması

Aşağıdaki resim, 8257 DMA denetleyicisinin pin şemasını göstermektedir -

DRQ 0 −DRQ3

Bunlar, DMA hizmetlerini kullanmak için çevre aygıtları tarafından kullanılan dört ayrı kanal DMA istek girişleridir. Sabit öncelik modu seçildiğinde, DRQ 0 en yüksek önceliğe sahiptir ve DRQ 3 bunlar arasında en düşük önceliğe sahiptir.

DACK o - DACK 3

Bunlar, talep eden çevre birimini CPU tarafından taleplerinin durumu hakkında güncelleyen, aktif-düşük DMA onay hatlarıdır. Bu hatlar, talep eden cihazlar için flaş hatları olarak da hareket edebilir.

D o - D 7

Bunlar, sistem veriyolunu DMA denetleyicisinin dahili veri yolu ile arayüzlemek için kullanılan çift yönlü veri hatlarıdır. Bağımlı modda, komut kelimelerini 8257'ye ve durum kelimesini 8257'ye taşır. Ana modda, bu satırlar üretilen adresin yüksek baytını mandala göndermek için kullanılır. Bu adres, ADSTB sinyali kullanılarak daha da kilitlenir.

IOR

Bu, CPU tarafından Slave modunda 8257 dahili yazmaçlarını okumak için kullanılan aktif-düşük çift yönlü üç-durumlu bir giriş hattıdır. Ana modda, bir bellek yazma döngüsü sırasında çevresel aygıtlardan veri okumak için kullanılır.

IOW

Veri yolunun içeriğini 8-bit mod yazmacına veya 16-bit DMA adres yazmacının veya terminal sayım yazmacının üst / alt baytına yüklemek için kullanılan aktif bir düşük iki yönlü üç-durumlu hattır. Ana modda, DMA bellek okuma döngüsü sırasında verileri çevresel cihazlara yüklemek için kullanılır.

CLK

8257'nin dahili çalışması için gerekli olan bir saat frekansı sinyalidir.

SIFIRLA

Bu sinyal, tüm DMA kanallarını devre dışı bırakarak DMA kontrol cihazını SIFIRLAMAK için kullanılır.

A o - A 3

Bunlar en az önemli dört adres hattıdır. Bağımlı modda, okunacak veya yazılacak kayıtlardan birini seçen bir girdi görevi görürler. Ana modda, 8257 tarafından üretilen en az önemli dört bellek adresi çıktı hattıdır.

CS

Aktif-düşük çip seçme hattıdır. Slave modunda, 8257'ye / 8257'den okuma / yazma işlemlerini etkinleştirir. Ana modda, 8257'ye / 8257'den okuma / yazma işlemlerini devre dışı bırakır.

A 4 - A 7

Bunlar, ana modda DMA tarafından üretilen düşük bayt adresinin yüksek bitleridir.

HAZIR

Bu, bekleme durumları ekleyerek DMA'yı hazır hale getiren, aktif yüksek asenkron giriş sinyalidir.

HRQ

Bu sinyal, çıkış cihazından tutma talebi sinyalini almak için kullanılır. Bağımlı modda, bir DRQ giriş hattı 8257 ile bağlanır. Ana modda, CPU'nun HOLD girişine bağlanır.

HLDA

DMA denetleyicisine veriyolunun CPU tarafından talep eden çevre birimine 1'e ayarlandığında verildiğini gösteren bekletme onay sinyalidir.

MEMR

DMA okuma döngüleri sırasında adreslenmiş bellek konumlarından verileri okumak için kullanılan düşük bellek okuma sinyalidir.

MEMW

DMA yazma işlemi sırasında verileri adreslenen hafıza konumuna yazmak için kullanılan aktif-düşük üç durum sinyalidir.

ADST

Bu sinyal, DMA kontrolörü tarafından üretilen bellek adresinin yüksek baytını mandallara dönüştürmek için kullanılır.

AEN

Bu sinyal, adres veriyolunu / veri yolunu devre dışı bırakmak için kullanılır.

TC

Mevcut çevresel cihazlara mevcut DMA döngüsünü gösteren 'Terminal Sayısı' anlamına gelir.

İŞARET

İşaret, her 128 döngüden sonra veya başından itibaren integral katlarından sonra etkinleştirilecektir. Geçerli DMA döngüsünün, seçilen çevresel cihaza önceki MARK çıkışından bu yana 128. döngü olduğunu gösterir.

V cc

Devrenin çalışması için gerekli olan güç sinyalidir.