Veriyolu

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 () 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. == Veri yolu 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 veri yolu 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 veri yolu serbest kalır. Veri yolunun 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 veri yolu == küçükresim|Tek vuruşluk bir veri yolunun genel görünümü. Tek vuruşluk veri yolunda 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 veri yolu == küçükresim|Çok vuruşluk bir veri yolunun genel görünümü. Yukarıdaki resimde görüldüğü gibi tek vuruşluk veri yolundan 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 veri yolunda 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 veri yolunun 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 veri yollu 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 veri yolunun çevrim zamanı en uzun buyruğun yani load buyruğunun zamanı olan 600ps olacaktır. Çok vuruşluk veri yolunun 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 veri yolu, tek vuruşluya göre 1.34 kat daha hızlıdır. == Denetim == Denetim birimi veri yolundaki 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 veri yolunda doğruluk tabloları yardımıyla denetim birimi tasarlanabilir. Çok vuruşluk veri yolunda 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 veri yolu IA-32 buyruklarına uyabilecek bir yapıdadır. Bu uygunluk alttaki iki maddeden gelmektedir. * Çok vuruşlu veri yolu, buyrukların birden çok vuruşta çalışmasına izin vermektedir. * Çok vuruşlu veri yolunda, veri yolu 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 veri yolu 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 == * Veri yolu (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