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

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

Ç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:

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