Veriyolu

Veriyolu, 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 () tersine, veriyolu, birçok çevresel aygıtı aynı takım kablo ile mantıksal olarak bağlayabilir. Her bir veriyolu kendi bağlayıcılarını fiziksel fiş aygıtlarına, kartlara veya kabloların tümüne karşı tanımlar.

 Veriyolu yapısı 
Ağ ()‘da esas programcı veri trafiğini kontrol eder. Veriler transfer edilirken bilgisayar programcıya mesaj gönderir bu da istekleri sıraya koyar. Bu mesaj ağ(network) noktalarının her birine yayılan tanıtma kodu içerir. Programcı öncelikleri yapar ve veriyolu mevcut olduğu sürece alıcıya bildirir.

Tanıtılan nokta mesajı alır ve iki bilgisayar arasında veri transferini yapar. Veri transferini tamamlayınca, programcının sıralamasında bir sonraki istek için veriyolu serbest kalır.

veriyoluunun avantajı: bilgisayara direkt olarak ulaşılabilir ve mesaj çok basit ve hızlı bir yolla iletilebilir. Dezavantaj: sıklık ve öncelik trafiğini organize edebilmek için programcıya ihtiyacı vardır.

 Tek vuruşluk veriyolu 
küçükresim|Tek vuruşluk bir veriyoluunun genel görünümü.
Tek vuruşluk veriyoluunda buyruk başına çevrim birdir. Tüm buyruklar en uzun buyruk kadar bekler. Bu yöntem günümüzde kullanılmaz çünkü etkili bir yöntem değildir. İşlemler her zaman tek bir vuruşta bitirilemez ve uzun çevrim zamanı gerekir. 
Buyruk adresini bulmak için program sayacı kullanılır. Buyruk bellekten getirilir. Yazmaçlar okunur. Buyruk kullanılarak ne yapılacağı anlaşılır. İki tür işlem birimi vardır. Veri üzerinde işlem yapan, birleşik birimler. Durumu belirleyen, ardışıl birimler. Birleşik mantık birimleri toplayıcı, çoklayıcı ve AMB gibi birimlerdir. Ardışıl birimler ise mandallar ve flip-floplardır.

 Çok vuruşluk veriyolu 
küçükresim|Çok vuruşluk bir veriyoluunun genel görünümü. Yukarıdaki resimde görüldüğü gibi tek vuruşluk veriyoluundan farkı aralardaki yeni yazmaçlardır. Bu yazmaçlar;
IR: Buyruk yazmacıdır.
A, B: Kaynak değerlerini tutmak için iki yazmaçtır.
R: AMB'nin ürettiği değerleri tutmak için bir yazmaçtır.
M Bellekten okunan bir veriyi tutmak için bir yazmaçtır.
Çok vuruşluk veriyoluunda her buyruk aşamalara bölünür ve bu aşamalar tek çevrimde yapılır. Her çevrim bir ana işlem birimi kullanacak şekilde sınırlanır ve yapılacak iş miktarı dengelenir. Çevrim sonunda daha sonraki çevrimlerde kullanılacak değerler fazladan yerel yazmaç vasıtasıyla saklanır.

Çok vuruşluk veriyoluunun tek vuruşluya göre avantajı daha kısa çevrim zamanı gerekmesidir. Tek vuruşluk bir işlemi daha kısa süren iki vuruşta yapmak gibi. Tek vuruşluk veriyolulu basit buyruk kümelerinde iyi çalışırken, günümüzdeki gibi kayan nokta işlemlerinin çokça kullanıldığı karmaşık buyruk kümelerinde etkisiz kalmaktadır. İki örnek arasındaki fark ise aşağıda verilmiştir:

 Buyruk türü Buyruk belleği Yazmaç okuma AMB işlemleri Veri belleği Yazmaç yazma Toplam R-tipi 200 50 100 0 50 400ps Load 200 50 100 200 50 600ps Store 200 50 100 200  550ps Branch 200 50 100   350ps Jump 200     200ps
Tek vuruşluk veriyoluunun çevrim zamanı en uzun buyruğun yani load buyruğunun zamanı olan 600ps olacaktır. Çok vuruşluk veriyoluunun ise 200ps ile 600ps arasında değişecektir. Bu yüzden ortalama işlem zamanı aşağıdaki gibi olacaktır.
 Ortalama Çevrim Zamanı = 600 * %25 + 550 * %10 + 400 * %45 + 350 * %15 + 200 * %15
 Ortalama Çevrim Zamanı = 447.5 ps
 Başarımçok vuruşlu / Başarım tek vuruşlu=Yürütme Zamanıtek vuruşlu/Yürütme Zamanıçok vuruşlu
 Buyruk sayısı ikisinde de aynı olduğu için;
 600/447.5=1.34
Buna göre çok vuruşlu veriyolu, tek vuruşluya göre 1.34 kat daha hızlıdır.

 Denetim 
Denetim birimi veriyoluundaki denetim işaretlerini belirleyen birimdir. Denetim işaretleri çalıştırılan buyruk ve uygulanan adım sayısına bağlıdır.

AMB Denetimi: AMB'nin denetim işaretini buyruktaki ALUop ve func gibi bitlerin yardımıyla bulur.
Ana Denetim Birimi: Gerekli bütün denetim işaretlerinin büyük bir kısmını sağlayan birimdir.

Tek vuruşluk veriyoluunda doğruluk tabloları yardımıyla denetim birimi tasarlanabilir. Çok vuruşluk veriyoluunda sınırlı durum makinesi kullanılır. Sınırlı durum makinesi grafik kullanılarak ya da mikroprogramlama yardımıyla oluşturulur.

 Daha karmaşık mimarî tasarlamanın zorlukları 
Mips mimarisinin aksine IA-32 mimarisi daha karmaşık buyruklar içerir ve çalışması için onlarca çevrim gerekebilir. Bu karmaşıklık Mips'deki basit buyrukların bile geçekleştirilmesini zorlaştırır. Ancak birçok vuruşlu veriyolu IA-32 buyruklarına uyabilecek bir yapıdadır. Bu uygunluk alttaki iki maddeden gelmektedir.

 Çok vuruşlu veriyolu, buyrukların birden çok vuruşta çalışmasına izin vermektedir. 
 Çok vuruşlu veriyoluunda, veriyolu bileşenleri birden çok buyruk tarafından kullanılabilmektedir. Böylece karmaşık adreslemelerin önüne geçilmiş olur ve daha karmaşık işlemlerin gerçekleştirilmesine imkân sağlar.

Çok vuruşlu veriyolu ve mikroprogramlama ile IA-32 buyruk kümesi gerçekleştirilebilir. Intel'in 486'dan beri kullandığı IA-32 mimarisi, hardwired control(daha basit buyruklar için) ve mikrobuyruk (daha karmaşık buyruklar için) birleşimini kullanmaktadır.

 Kaynakça 

 Ayrıca bakınız 
 Veriyolu (bilgisayar)

 Dış bağlantılar 
 David A. Patterson, John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, Elsevier, 2005, ISBN 1-55860-604-1
 Mano and Kime, "Logic and Computer Design Fundamentals", 2000, Prentice Hall

Kategori:Merkezî işlem birimi