Semalt Uzmanı Tarafından Açıklanan Girdi-Çıktı Portları

Bilgisayarlarda, RAM dışındaki herhangi bir aygıt (örneğin, bir genişletme kartına veya anakarta takılan bir denetleyici) CPU tarafından çevre birimi olarak kabul edilir. Merkezi işlemci ve çevresel aygıtlar arasındaki veri alışverişi giriş-çıkış bağlantı noktaları üzerinden gerçekleştirilir. IO bağlantı noktası, doğrudan bilgisayarın IO veri yoluna bağlanan bir denetleyici, dijital sinyal işlemcisi vb. Giriş-çıkış bağlantı noktaları aracılığıyla, yeteneklerini genişletmek için bilgisayarınıza çeşitli dahili ve harici aygıtlar bağlayabilirsiniz.
IO bağlantı noktaları, bilgisayardaki aygıtlar ve yazılım arasında bağlantı kurmanıza olanak tanır. İki yönlü radyo kanallarına benzerler, çünkü her iki yönde de bilgi alışverişi aynı kanalda gerçekleşir.
Liman Adresi

Bilgisayar aygıtları arasında veri alışverişini kontrol etmek için, her IO bağlantı noktasına kendi benzersiz numara - bağlantı noktası adresi atanır. PC'de IO bağlantı noktalarını adreslemek için 16 bit kod kullanılır. Bu nedenle, OOOOh'dan FFFFh'ye kadar numaralandırılmış 216 = 65 536 portu vardır. IBM uyumlu bilgisayarlar için standart IO aralığı 0-3FFh'dir. Bunlar arasında klavye denetleyicileri, sabit sürücüler ve disketler, EGA / VGA video bağdaştırıcıları, ses kartları, seri ve paralel arabirimler, oyun bağlantı noktaları ve diğer çevresel aygıtlar bulunur. Bir çevrebirim aygıtı birden çok IO bağlantı noktası kullanabilir. FFFFh'ye kadar olan adresleri kullanabileceğinizi unutmayın. Örneğin, ses kartının WT sentez işlemcisi bağlantı noktaları IO aralığı 620h-E23h'dir.
Bir program yürütülürken bağlantı noktaları merkezi işlemci tarafından adreslenir. Programlama sırasında her çevresel G / Ç bağlantı noktasının belirli adresini belirtmekten kaçınmak ve belirli bilgisayar yapılandırmasına bağlı olarak adresi hemen değiştirmek için G / Ç temel adresi kullanılır. Temel adres her bir çevresel aygıta atanır ve bağlantı noktası grubundaki en düşük adrese karşılık gelir. Bir çevresel aygıtın kalan bağlantı noktalarının adreslenmesi, temel adrese göre ofset belirtilerek gerçekleştirilir.
Çevresel cihazın IO temel adresi, IO aralığından herhangi bir adres olabilir. BIOS, diğer çevre birimleri tarafından kullanılamayan standart donanım aygıtları için GÇ aralığının bir bölümünü ayırır. Örneğin, LPT1 arayüzü için IO baz adresinin seçilebileceği 378h - 37Eh aralığı ayrılmıştır. Ardından, donanım-yazılım düzeyinde bağlantı noktaları ele alındığında çakışma olasılığı ortadan kaldırılacaktır. LPT1'in kontrolü ve izlenmesi için üç kayıt kullanıldığından, bu IO aralığında, temel adres olan 5 olası değer vardır - 378h-s-37Ch.

Programlanmış G / Ç
Bağlantı noktaları ile veri alışverişi için programlanmış giriş / çıkış (PIO) kullanılır. Dize komutlarını kullanarak 8, 16 veya 32 bitlik bit derinliği olan sözcükleri iletir. Sözcük, her bellek erişim döngüsünde karşılık gelen adresin bir göstergesiyle bir veya daha fazla veri yolu çevrimi için iletilebilir. Bus değişim döngüleri, bir IO komutunun yürütülmesi sırasında başlatılır. Döngü sayısı, adresin kelime sınırı boyunca hizalanmasına ve kullanılan veri yolunun veri bit derinliğine bağlıdır. PIO veri değişim hızı, standart Doğrudan Bellek Erişimi (DMA) kanalının değişim hızını aşıyor.