Bilgisayar veri yolu



Veri yolu, Bilgisayar yapısında, bilgisayarın içindeki parçalar arasında ya da bilgisayarlar arasında verileri ya da gücü transfer eden bir alt sistemdir ve genellikle aygıt yürütme (device driver) yazılımı tarafından kontrol edilir. Nokta- nokta bağlantısının (point- to point connection) tersine, veri yolu, birçok çevresel aygıtı aynı takım kablo ile mantıksal olarak bağlayabilir. Her bir veri yolu kendi bağlayıcılarını fiziksel fiş aygıtlarına, kartlara veya kabloların tümüne karşı tanımlar.Ilk bilgisayar veri yolları, tam olarak paralel elektiriksel veri yollarıydı, fakat bu terim şimdilerde paralel elektiriksel veri yolu ile aynı mantıkta işlevsellik sağlayan herhangi bir fiziksel düzenleme için kullanılıyor. Modern bilgisayar veri yolları hem paralel hem de kısa-seri (bit-serial) bağlantılarını kullanabilir, ya multidrop (elektiriksel paralel) ya da DAISY CHAIN topoloji elektrik tesisatı ile donatılabilir, ya da USB’de olduğu gibi, çevrilmiş hareket noktası ile bağlanabilir.

İlk bilgisayar veri yolları belleğe ya da çevresel aygıtlara bağlanmış tel yumaklarıydı. Bunlar, elektiriksel veri yollarının ya da elektrik bağlama çubuklarının ardından isimlendirilmiştir. Neredeyse her zaman, bellek için bir veri yolu ve çevresel aygıtlar için başka bir veri yolu vardır ve bunlar farklı talimatlarla, tamamen farklı zamanlama ve protokol ile giriş yaparlar.

Birinci engel, kesilmeler (interrupts) kullanmaktı. İlk bilgisayarlar çevresel aygıtların hazır olması için bir halka içinde bekleyerek I/O (input/output) görevini gerçekleştirirlerdi. Bu da başka görevler de yapmak zorunda olan programlar için zaman kaybı olurdu. Ayrıca, eğer program diğer görevleri yapmak için girişimde bulunursa, programın tekrar kontrol etmesi çok uzun sürebilirdi ve verilerin kaybolmasıyla sonuçlanabilirdi. Bu nedenle mühendisler merkezi işlem birimi (MİB) ile arasını açmak için çevresel aygıtları hazırladılar. Kesilmeler öncelikli olmak zorundaydı, çünkü MİB bir seferde sadece bir çevresel aygıtın üstesinden gelebilir ve bazı aygıtlar diğerlerinden daha kritik zamanlı olabilirdi.

Bundan bir süre sonra, bazı bilgisayarlar bellek ile birkaç MİB arasında paylaşıma başladı. Bu bilgisayarlarda buna ek olarak veri yoluna ulaşım öncelikli hale getirilmeliydi.

Kesilmeleri ya da veri yoluna ulaşımı öncelikli hale getirmenin klasik ve basit yolu DAİSY CHAİN’di.

İki veri yoluna sahip DEC, küçük, kütle oluşturan bilgisayarlar ve bellek veri yolunu içindeki klasör oluşturmuş çevresel aygıtlar için gereksiz ve pahalı görünüyordu; öyle ki aygıtlar bellek yerleri gibi algılanıyordu. Zamanında, bu çok cesaret isteyen bir tasarımdı. Yalnız kendi menfaatini düşünen kimseler başarısızlığın habercisiydi.

Ilk mikrobilgisayar veri yolu sistemleri gerçekte MİB’nin bacaklarına (pins) bağlı pasif arka planlardı. Bellek ve diğer aygıtlar aynı adres ve MİB’nin kendisinin kullandığı veri bacakları kullanılarak, paralel bağlanarak veri yoluna eklendi. Bazı örneklerde, IBM PC gibi, talimatlar hala MİB’nden, gerçek I/O veri yolu gerçekleştirmekte kullanılabilir ve sinyaller oluşturur.

Birçok mikrodenetleyicilerde ve gömülü sistemlerde, I/O veri yolu hala yoktur. İletişim MİB tarafından kontrol edilir, bunlar bellek blokları gibi aygıtlardan gelen verileri okur ve yazar, bunların hepsi MİB’nin hızını kontrol eden bir merkezi saat tarafından zamanlanmıştır. Aygıtlar diğer MİB bacaklarına işaret vererek bakım ister, tipik olarak kesilmelerin bazı formlarını kullanırlar.

Örneğin, bir disk sürücü denetleyicisi yeni verinin okunmaya hazır olduğunu MİB’ne işaret eder, bu noktada MİB belleği okuyarak, disk sürücüsünün uygun yerine gönderir. Neredeyse tüm ilk bilgisayarlar, ALTAİR’in içindeki S-100 veri yolundan başlayarak, 1980'ler deki IBM PC’ye kadar bu tarzda üretilmişlerdir.

Bu basit veri yolu sistemlerinin genel-amaç bilgisayarları için ciddi dezavantajları vardı. veri yolunun üzerindeki her donanımın aynı hızda olması gerekir, bu nedenle tek bir saati paylaşırlar.

MİB’nin hızını artırmak kolay bir iş değildir, çünkü buna ek olarak tüm aygıtların da hızı artırılmak zorundadır. Bu genellikle garip bir duruma yol açar, çok hızlı MİB’leri bilgisayardaki diğer aygıtlarla iletişim kurabilmek için yavaşlamak zorundadır. Embedded sistemler kısa süre kabul edilebilir olsa da, bu problem kar amaçlı bilgisayarlarda uzun süre tolere edilemez.

Diğer bir problem de, MİB her işlem için gereklidir, bu nedenle eğer MİB başka işlerle meşgulse, veri yolu tarafından üretilen gerçek iş çarpıcı bir şekilde değer kaybedebilir.

Bu tip veri yolu sistemlerinin yapılandarılması, sıradan bir aygıt tarafından yapılğı zaman, zordur. Tipik olarak, her eklenen PC board’u bellek adreslerini, I/O adreslerini, öncelikli kesilme(interrupt) ve kesilme numaralarını belirlemek için, birçok geçici olarak kullanılan bağlantı teline gereksinim duyulur.