Bu maddedeki bilgilerin için ek kaynaklar gerekli.Mart 2020) () ( |
Boru hattı (İngilizce: Pipeline) yöntemi bilgisayar mimarisi ve diğer sayısal ürünlerin tasarımında başarımı artırmak için uygulanan bir yöntemdir. Komutları, boru hattı yöntemi ile işleyip daha kısa süre içinde bitmesini sağlar. Asıl amacı saat sıklığını artırarak başarımı artırmaktır. Farklı kaynakları aynı anda, farklı işler tarafından kullanarak çalışır.
Tek çekirdekli işlemcilerde, bir komut bitince diğer komut çalışmaya başlar. Her saat vuruşunda bir komut girer, bir komut çıkar. Yani buyruk başına düşen çevrim sayısı 1’dir. Boru hattı yöntemi ise çoklu buyrukların örtüşmeli yürütümüdür. Birbirini bağlayan komutlar haricinde bir buyruğun işlemi gerçekleştirilirken diğer komut işleme girebilir. Günümüzde daha hızlı işlemci tasarımında kullanılan önemli bir yöntemdir. Boru hattı işlemcinin komut döngü süresini azaltır bundan dolayı da birim döngü zamanına düşen komut sayısı artar. Boru hattında bütün aşamalardan geçmek gerekir. Tek bir komutun işini değil toplu komutların işlerini hızlandırır. Kısacası toplamda üretilen işi artırır. Olası hızlanma boru hattındaki aşama sayısına bağlı olarak değişir.
- Boru hattı hızını etkileyen etkenler
- Boru hattındaki aşama sayısı ne kadar fazlaysa boru hattı hızlanması o kadar yavaştır.
- Boru hattındaki aşamaların uzunluğunun sabit veya değişken olması; sabit olursa daha hızlı, değişken olursa hızlanma süresi azalır.
- Buyruk biçimleri ne kadar farklıysa hızlanma o kadar az olur.
- Boru hattının dolma ve boşalma zamanları hızlanmayı etkiler. Dolma-boşalma süreleri ne kadar kısa olursa hızlanması o kadar artar.
- Komutların bağımlılıklarına göre hızlanma yavaşlar. Komutlar arasındaki bağımlılık gecikme hızını artırır. Bundan dolayı; komut bağımlılıklarının az olması, gecikmeyi azaltır ve hızlanmayı artırır.
- Boru hattında, en uzun olan aşamaya göre sınırlama yapılır.
Boru Hattı Kullanarak Yapılan Sistemin Avantajları
- İşlemcinin döngü zamanını azaltır, böylece komut genişliğini birçok durumda arttırır.
- Toplu komut işlemlerinde çevrim zamanı azalır. Bu durumda yürütme zamanı azaltılmış olur. Bu da başarımı artırır.
- Kullanılmayan kaynakların boş kalmasını engeller. Kaynakların verimli kullanılmasını sağlar.
Boru Hattı Kullanmadan Yapılan Sistemin Avantajları
- İşlemci tek bir komut zamanı yürütür. Çok bölümlülük hata ve problem kodları aynı zamanda işletilirler. Sonuç olarak tasarım basitleşir ve ucuza mal olur.
- Boru hattı kullanılmayan bir sistemde komut gizliliği, kullanılan sisteme göre daha azdır. Tabi bunun olması için boru hattı kullanılan sisteme daha fazla flip-flop eklemek gereklidir.
- Boru hattı kullanılmamış bir sistemin sabit bir komut genişliği bulunur. Boru hattı kullanılan sistemin başarımını önceden bilmek çok güçtür ve farklı programlarda, farklı komut boylarında farklılık gösterebilir.
Boru Hattı İşlem Aşamaları
Birçok modern işlemci saat vuruşlarıyla yürütülür. İşlemciler mantık ve flip-floplardan oluşmaktadır. Saat vuruşu geldiğinde, flip-floplar yeni değerlerini alırlar sonra kodları çözüp yapmaları gereken şeyi yapmaları için belli bir süre gerekir. Bir sonraki saat vuruşu geldiğinde, flip-floplar tekrar kendi değerlerini alırlar ve bu böyle devam eder. Mantık yürütülmesini ufak bölümlere bölüp aralarına flip-floplar koyarsak, veri çıkışımızdaki gecikme azalmış olur. Saat vuruş zamanını azalma nedeni de budur. Boru hattı kullanımında komutlar arası aşama farklılıkları görülmektedir. Yükleme işlemlerinin 5, saklama işlemlerinin 4 dallanma işlemlerinin de 3 aşaması vardır.
- Getir: Buyruklar, buyruk belleklerinden getirilir.
- Oku/Çöz: İşlenenler okunur ve buyruk belleklerinden getirilen buyruklar çözülür.
- Yürüt: Bellek adresleri hesaplanır.
- Bellek: Veriler, veri belleklerinden okunur.
- Yaz: Elde edilen sonuçlar yazmaç öbeğine yazılır.
- Yükleme işlemi aşamaları: Getir, oku/çöz, yürüt, bellek, yaz
- Saklama işlemi aşamaları: Getir, oku/çöz, yürüt, bellek
- Dallanma işlemi aşamaları: Getir, oku/çöz, yürüt (yazmaçlardan gelen işlenenler karşılaştırılır, dallanma tahmini yapılır ve program sayacı güncellenir.)
- Yazmaç türü buyrukların aşamaları: Getir, oku/çöz, yürüt (Aritmetik Mantık Birimi, yazmaçlardan gelen işlenenler üzerinde işlem yapar ve program sayacını günceller), yaz (Aritmetik Mantık Birimi’nden çıkan sonuç yazmaç öbeğindeki yazmaca yazılır)
Boru Hattı Sorunları
Boru hattının dezavantajı, uygulanırken çeşitli sorunlara neden olmasıdır. Boru hattında 3 tip sorun vardır:
Yapı Sorunları
Boru hattı uygulamasında aynı kaynak aynı anda birden fazla değişik biçimde kullanılmaya çalışılırsa gerçekleşir. Başarımı sınırlarlar. Sorun bekleyerek çözülebilir.
Denetim Sorunları
Dallanma olan yerlerde, koşullar belli olmadan karar verilirse gerçekleşir. Dallanma kararı verilmeden önce yürütüm durdurulur ve karar belli olana kadar beklenir. Bir başka çözüm yolu da; kararı tahmin edip ona göre işlemi devam ettirmek, eğer karar hatalıysa geri dönüp tekrar denemek (Dallanma öngörüsü). Dallanma komutları geldiğinde işlemcinin nereye gideceğini bilmesi gerekir.
Veri Sorunları
Bir önceki işlemde henüz tamamlanmayan bir veri kullanılmak istenirse, Veri Sorunları gerçekleşir.
- Bütün boru hattı sorunları, işlemin durdurulup beklenmesi ile çözümlenebilir.
Boru hattı uygulamasında her işlem birimi aynı aşamada sadece bir kere kullanılır (buyruk başına) ve her işlem birimi tüm buyruklar için aynı aşamada kullanılmalılar. Boru hattında yazmaç türü ve yükleme buyruklarında çakışma ya da yapı sorunu olursa, mesela, iki ayrı buyruk yazmaç öbeğine aynı anda yazmaya çalışıyorsa(sadece bir tane yazmaç yolu vardır) boru hattına boşluk eklenebilir ya da sonucun yazılması bir çevrim geciktirilebilir. Boşluk konması hem karmaşıklık hem de veri açısından iyi bir yol değildir. Onun için genellikle bir çevrim geciktirme yoluna başvurulur. Geciktirilen işlem sırasında bir işlem yapılmaz.
- Boru hattı kullanılarak yapılan işlemcilerde beş bağımsız birim vardır
- Buyrukları bellekten getirmek için – Buyruk Belleği
- Buyrukları okuyup/çözmek için – Yazmaç Öbeği’nin okuma yolları
- Buyrukların yürütülüp adres belleklerinin hesaplanması için – Aritmetik Mantık Birimi
- Verileri almak için – Veri Belleği
- Verileri yazmak için – Yazmaç Öbeği’nin yazma yolu
Örnekler
Örnek 1
İki sayının toplama kodu basit olarak ADD A, B, C,
şeklindedir, yani bellekteki adreslerinden A'nın ve B'nin değerlerini bulup, toplar ve daha sonra C’nin bellekteki adresine bu sonucu ekler. Boru hattı kullanılan bir işlemcide, boru hattı kontrolcüsü bu işlemi şöyle ifade eder:
LOAD A, R1 LOAD B, R2 ADD R1, R2, R3 STORE R3, C LOAD next instruction
Tablodaki R’ler yazmaçları göstermektedir, işlemcinin içindeki geçici bellekte tutulurlar, böylece çabuk erişim sağlanır. Sonuç basittir toplanıp bulunan sonuç C’nin adresinde tutulur, bu süre boru hattı kullanan ve kullanmayan sistemler için aynıdır.
Boru hattı yönteminin bu toplama komutu örneğindeki avantajı için “kısa yoldan yapılmış” olmasıdır. Burada bellekten veriyi alma görevi döngünündür ve uzun süre kullanımda olmayacağı için az kullanılan bölümde saklanır. Bu durumda boru hattı kontrolcüsü işine yarayacak olan bir sonraki bilgiyi bellekten alıp getirir ve yazmaçlarda tutar. Toplama komutu yerine getirildiği sırada gereken bir sonraki bilgi bellekten alınıp getirilmiş ve hazırda bekletiliyor olması gerekir. Burada programın başarımı büyük ölçüde artar çünkü işlemcinin bileşenleri boş kalmaz.
Bu küçük adımlar boru hattı adımı olarak adlandırılır, yukarıdaki örnekte boru hattı yönteminin 3 ana adımı vardır, bunlar; yükleyici, toplayıcı ve depolayıcıdır.
Günümüzde her mikroişlemci en az iki adımdan oluşan boru hattı kullanmaktadır (Atmel AVR ve PIC mikrokontrolör iki adımlı boru hattı içermektedir).
Örnek 2
Bu kavramı daha iyi görselleştirmek için kuramsal 3 aşamalı boru hattı incelenebilir;
State | Description |
---|---|
Yükle | Bellekten buyruğu okunması |
Yürüt | Buyruğun Yürütülmesi |
Sakla | Sonucun belleğe ya da yazmaca saklanması |
Ve bunlarla aşağıdaki komutlar işletilebilir.
LOAD #40,A ; load 40 in A MOVE A,B ; copy A in B ADD #20,B ; add 20 to B STORE B, 0x300 ; store B into memory cell 0x300
Aşağıda nasıl işlendiği gösterilmiştir.
Yükle | Yürüt | Sakla |
---|---|---|
LOAD |
Aşağıda bellekten komut okunması gösterilmiştir.
Yükle | Yürüt | Sakla |
---|---|---|
MOVE | LOAD |
Bellekten komut okutulması gerçekleşirken, yükleme komutu gerçekleşir.
Yükle | Yürüt | Sakla |
---|---|---|
ADD | MOVE | LOAD |
Depolama kısmında tutulan yükleme komutu (değeri 40) A yazmacında tutulur. Bu sırada hareket komutu işletilir. Hareket komutu, A’nın ve B’nin içerikleri işlemeye geçmeden önce yükleme komutunun işini bitirmesini beklemesi gerekmektedir.
Yükle | Yürüt | Sakla |
---|---|---|
STORE | ADD | MOVE |
Hareket komutunun işlemi bitip sayılar toplandıktan sonra saklama komutu işletilir. Ve bu işlem böyle devam eder. Bazen işletilen komut bir önceki komutun sonucuna bağlıdır. Eğer birden aynı adresi gösteren birden çok komut varsa ve bunların ikisi birden yazma ya da okuma komutuysa, normal program işleyişi sırasıyla yapılmasa risk meydana gelebilir. Böyle bir riskin gerçekleşmemesi için yapılan birçok teknik vardır.
Karışıklıkları
Birçok boru hattı tasarımı 7, 10, 31 bölümden oluşur (Intel Pentium 4 gibi). Xelerator X10q ise binlerce bölümden oluşan boru hattına sahiptir. Eğer işletilen program çok bölümden oluşursa, boru hattı kullanmak soruna yol açabilir, çok bölüm oluşundan dolayı çıkan bu sorunu ise “bölüm bildirici” (ing.: branch predicting) ile hafifletilebilir. Bölüm bildirici problemin kötüye gitmesini kendi engelleyebilir. Güncel uygulamalarda, programlar daha az bölümden oluşan komutlar yazarlar böylece uzun boru hatları program hızını arttırmak için daha idealdir, bu boru hatları komuta göre döngü zamanı verirler. Çok bölümlülük sabitlendiğinde, Ofis programları gibi programlar, boru hattından kazanılan kazancı azaltırlar. Çök bölümlülükten dolayı işlemci bir sonraki bilginin adresinin nerede olduğunu bilemiyor ve işletilen komutunun bitmesini beklemesi gerekiyor. İşletilen komut bittiğinde boru hattı ile bir sonraki bilgi işlemciye iletilir ve işlemci yapması gereken şeyi yapar. Komut, boru hattı kullanılmasından dolayı işlemci yüklemeyi hemen gerçekleştiremez. Koddaki güncelleştirmeler şu andaki işletim yerini etkilemez çünkü işletim için zaten belli bir alan ayrılmıştır (ing.: Prefetch Input Queue). Komut önbellekleri bu durumu daha kötü hala getirirler. Bu sadece “kendi programlanabilen” programlarla ilgilidir, işletim sistemi gibi.
Genel Kültür
İlk işlemci mikrokontrolörü (MOS Technology 6502) tek bölümlük komut boru hattı uygulamasından oluşurdu.
- Boru Hattı Kullanan İşlemciler
- Pentium III: Pentium 3 ler 10 kademeli boru hattına sahiptir.
- Athlon: Athlon Thunderbird, pluto, thoroughbred, barton hepsi 10 kademeli boru hattına sahiptir.
- Athlon64: 12 kademeli boru hattına sahiptir.
- Pentium4 3 Aralık 2008 tarihinde Wayback Machine sitesinde .: williamette,northwood 20 kademeli boru hattına sahiptir.
- Presscott: 31 kademeli boru hattına sahiptir.
- Boru hattı ilk olarak FORD firmasında, Henry Ford tarafından kullanılmıştır. Eski zamanlarda bu kadar teknolojik araç/gereç olmadığı için günde 1 araba üretilmekteydi. Bu da hem üretimi hem de tüketimi sınırlıyordu. Henry Ford üretim bantlarını geliştirdi. Bu sayede her üretim bandında arabanın farklı bir kısmı yapılacaktı ve hem başarım artacak hem de işlem daha hızlı yürüyecekti. Örneğin; bantta karbüratör takılıyorsa diğer bantlarda tekerlekler, fren sistemi… vb. parçalar takılacaktı. Bir arabanın karbüratörü takılıp işi bitince diğer banda giderken, başka bir araba karbüratör takımına girecek şekilde sistem işlemiştir.
Kaynakça
- ^ "Tek vuruşlu işlemcilerde". 13 Eylül 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Aralık 2007.
Wikimedia Commons'ta Boru hattı (bilgisayar) ile ilgili ortam dosyaları bulunmaktadır. |
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bu maddedeki bilgilerin dogrulanabilmesi icin ek kaynaklar gerekli Lutfen guvenilir kaynaklar ekleyerek maddenin gelistirilmesine yardimci olun Kaynaksiz icerik itiraz konusu olabilir ve kaldirilabilir Kaynak ara Boru hatti bilgisayar haber gazete kitap akademik JSTOR Mart 2020 Bu sablonun nasil ve ne zaman kaldirilmasi gerektigini ogrenin Boru hatti Ingilizce Pipeline yontemi bilgisayar mimarisi ve diger sayisal urunlerin tasariminda basarimi artirmak icin uygulanan bir yontemdir Komutlari boru hatti yontemi ile isleyip daha kisa sure icinde bitmesini saglar Asil amaci saat sikligini artirarak basarimi artirmaktir Farkli kaynaklari ayni anda farkli isler tarafindan kullanarak calisir Tek cekirdekli islemcilerde bir komut bitince diger komut calismaya baslar Her saat vurusunda bir komut girer bir komut cikar Yani buyruk basina dusen cevrim sayisi 1 dir Boru hatti yontemi ise coklu buyruklarin ortusmeli yurutumudur Birbirini baglayan komutlar haricinde bir buyrugun islemi gerceklestirilirken diger komut isleme girebilir Gunumuzde daha hizli islemci tasariminda kullanilan onemli bir yontemdir Boru hatti islemcinin komut dongu suresini azaltir bundan dolayi da birim dongu zamanina dusen komut sayisi artar Boru hattinda butun asamalardan gecmek gerekir Tek bir komutun isini degil toplu komutlarin islerini hizlandirir Kisacasi toplamda uretilen isi artirir Olasi hizlanma boru hattindaki asama sayisina bagli olarak degisir Boru hatti hizini etkileyen etkenlerBoru hattindaki asama sayisi ne kadar fazlaysa boru hatti hizlanmasi o kadar yavastir Boru hattindaki asamalarin uzunlugunun sabit veya degisken olmasi sabit olursa daha hizli degisken olursa hizlanma suresi azalir Buyruk bicimleri ne kadar farkliysa hizlanma o kadar az olur Boru hattinin dolma ve bosalma zamanlari hizlanmayi etkiler Dolma bosalma sureleri ne kadar kisa olursa hizlanmasi o kadar artar Komutlarin bagimliliklarina gore hizlanma yavaslar Komutlar arasindaki bagimlilik gecikme hizini artirir Bundan dolayi komut bagimliliklarinin az olmasi gecikmeyi azaltir ve hizlanmayi artirir Boru hattinda en uzun olan asamaya gore sinirlama yapilir Boru Hatti Kullanarak Yapilan Sistemin AvantajlariIslemcinin dongu zamanini azaltir boylece komut genisligini bircok durumda arttirir Toplu komut islemlerinde cevrim zamani azalir Bu durumda yurutme zamani azaltilmis olur Bu da basarimi artirir Kullanilmayan kaynaklarin bos kalmasini engeller Kaynaklarin verimli kullanilmasini saglar Boru Hatti Kullanmadan Yapilan Sistemin AvantajlariIslemci tek bir komut zamani yurutur Cok bolumluluk hata ve problem kodlari ayni zamanda isletilirler Sonuc olarak tasarim basitlesir ve ucuza mal olur Boru hatti kullanilmayan bir sistemde komut gizliligi kullanilan sisteme gore daha azdir Tabi bunun olmasi icin boru hatti kullanilan sisteme daha fazla flip flop eklemek gereklidir Boru hatti kullanilmamis bir sistemin sabit bir komut genisligi bulunur Boru hatti kullanilan sistemin basarimini onceden bilmek cok guctur ve farkli programlarda farkli komut boylarinda farklilik gosterebilir Boru Hatti Islem AsamalariBircok modern islemci saat vuruslariyla yurutulur Islemciler mantik ve flip floplardan olusmaktadir Saat vurusu geldiginde flip floplar yeni degerlerini alirlar sonra kodlari cozup yapmalari gereken seyi yapmalari icin belli bir sure gerekir Bir sonraki saat vurusu geldiginde flip floplar tekrar kendi degerlerini alirlar ve bu boyle devam eder Mantik yurutulmesini ufak bolumlere bolup aralarina flip floplar koyarsak veri cikisimizdaki gecikme azalmis olur Saat vurus zamanini azalma nedeni de budur Boru hatti kullaniminda komutlar arasi asama farkliliklari gorulmektedir Yukleme islemlerinin 5 saklama islemlerinin 4 dallanma islemlerinin de 3 asamasi vardir Getir Buyruklar buyruk belleklerinden getirilir Oku Coz Islenenler okunur ve buyruk belleklerinden getirilen buyruklar cozulur Yurut Bellek adresleri hesaplanir Bellek Veriler veri belleklerinden okunur Yaz Elde edilen sonuclar yazmac obegine yazilir Yukleme islemi asamalari Getir oku coz yurut bellek yaz Saklama islemi asamalari Getir oku coz yurut bellek Dallanma islemi asamalari Getir oku coz yurut yazmaclardan gelen islenenler karsilastirilir dallanma tahmini yapilir ve program sayaci guncellenir Yazmac turu buyruklarin asamalari Getir oku coz yurut Aritmetik Mantik Birimi yazmaclardan gelen islenenler uzerinde islem yapar ve program sayacini gunceller yaz Aritmetik Mantik Birimi nden cikan sonuc yazmac obegindeki yazmaca yazilir Boru Hatti SorunlariBoru hattinin dezavantaji uygulanirken cesitli sorunlara neden olmasidir Boru hattinda 3 tip sorun vardir Yapi Sorunlari Boru hatti uygulamasinda ayni kaynak ayni anda birden fazla degisik bicimde kullanilmaya calisilirsa gerceklesir Basarimi sinirlarlar Sorun bekleyerek cozulebilir Denetim Sorunlari Dallanma olan yerlerde kosullar belli olmadan karar verilirse gerceklesir Dallanma karari verilmeden once yurutum durdurulur ve karar belli olana kadar beklenir Bir baska cozum yolu da karari tahmin edip ona gore islemi devam ettirmek eger karar hataliysa geri donup tekrar denemek Dallanma ongorusu Dallanma komutlari geldiginde islemcinin nereye gidecegini bilmesi gerekir Veri Sorunlari Bir onceki islemde henuz tamamlanmayan bir veri kullanilmak istenirse Veri Sorunlari gerceklesir Butun boru hatti sorunlari islemin durdurulup beklenmesi ile cozumlenebilir Boru hatti uygulamasinda her islem birimi ayni asamada sadece bir kere kullanilir buyruk basina ve her islem birimi tum buyruklar icin ayni asamada kullanilmalilar Boru hattinda yazmac turu ve yukleme buyruklarinda cakisma ya da yapi sorunu olursa mesela iki ayri buyruk yazmac obegine ayni anda yazmaya calisiyorsa sadece bir tane yazmac yolu vardir boru hattina bosluk eklenebilir ya da sonucun yazilmasi bir cevrim geciktirilebilir Bosluk konmasi hem karmasiklik hem de veri acisindan iyi bir yol degildir Onun icin genellikle bir cevrim geciktirme yoluna basvurulur Geciktirilen islem sirasinda bir islem yapilmaz Boru hatti kullanilarak yapilan islemcilerde bes bagimsiz birim vardirBuyruklari bellekten getirmek icin Buyruk Bellegi Buyruklari okuyup cozmek icin Yazmac Obegi nin okuma yollari Buyruklarin yurutulup adres belleklerinin hesaplanmasi icin Aritmetik Mantik Birimi Verileri almak icin Veri Bellegi Verileri yazmak icin Yazmac Obegi nin yazma yoluOrneklerOrnek 1 Iki sayinin toplama kodu basit olarak ADD A B C seklindedir yani bellekteki adreslerinden A nin ve B nin degerlerini bulup toplar ve daha sonra C nin bellekteki adresine bu sonucu ekler Boru hatti kullanilan bir islemcide boru hatti kontrolcusu bu islemi soyle ifade eder LOAD A R1 LOAD B R2 ADD R1 R2 R3 STORE R3 C LOAD next instruction Tablodaki R ler yazmaclari gostermektedir islemcinin icindeki gecici bellekte tutulurlar boylece cabuk erisim saglanir Sonuc basittir toplanip bulunan sonuc C nin adresinde tutulur bu sure boru hatti kullanan ve kullanmayan sistemler icin aynidir Boru hatti yonteminin bu toplama komutu ornegindeki avantaji icin kisa yoldan yapilmis olmasidir Burada bellekten veriyi alma gorevi dongunundur ve uzun sure kullanimda olmayacagi icin az kullanilan bolumde saklanir Bu durumda boru hatti kontrolcusu isine yarayacak olan bir sonraki bilgiyi bellekten alip getirir ve yazmaclarda tutar Toplama komutu yerine getirildigi sirada gereken bir sonraki bilgi bellekten alinip getirilmis ve hazirda bekletiliyor olmasi gerekir Burada programin basarimi buyuk olcude artar cunku islemcinin bilesenleri bos kalmaz Bu kucuk adimlar boru hatti adimi olarak adlandirilir yukaridaki ornekte boru hatti yonteminin 3 ana adimi vardir bunlar yukleyici toplayici ve depolayicidir Gunumuzde her mikroislemci en az iki adimdan olusan boru hatti kullanmaktadir Atmel AVR ve PIC mikrokontrolor iki adimli boru hatti icermektedir Ornek 2 Bu kavrami daha iyi gorsellestirmek icin kuramsal 3 asamali boru hatti incelenebilir StateDescriptionYukleBellekten buyrugu okunmasiYurutBuyrugun YurutulmesiSaklaSonucun bellege ya da yazmaca saklanmasi Ve bunlarla asagidaki komutlar isletilebilir LOAD 40 A load 40 in A MOVE A B copy A in B ADD 20 B add 20 to B STORE B 0x300 store B into memory cell 0x300 Asagida nasil islendigi gosterilmistir 1 Cevrim YukleYurutSaklaLOAD Asagida bellekten komut okunmasi gosterilmistir 2 Cevrim YukleYurutSaklaMOVELOAD Bellekten komut okutulmasi gerceklesirken yukleme komutu gerceklesir 3 Cevrim YukleYurutSaklaADDMOVELOAD Depolama kisminda tutulan yukleme komutu degeri 40 A yazmacinda tutulur Bu sirada hareket komutu isletilir Hareket komutu A nin ve B nin icerikleri islemeye gecmeden once yukleme komutunun isini bitirmesini beklemesi gerekmektedir 4 Cevrim YukleYurutSaklaSTOREADDMOVE Hareket komutunun islemi bitip sayilar toplandiktan sonra saklama komutu isletilir Ve bu islem boyle devam eder Bazen isletilen komut bir onceki komutun sonucuna baglidir Eger birden ayni adresi gosteren birden cok komut varsa ve bunlarin ikisi birden yazma ya da okuma komutuysa normal program isleyisi sirasiyla yapilmasa risk meydana gelebilir Boyle bir riskin gerceklesmemesi icin yapilan bircok teknik vardir KarisikliklariBircok boru hatti tasarimi 7 10 31 bolumden olusur Intel Pentium 4 gibi Xelerator X10q ise binlerce bolumden olusan boru hattina sahiptir Eger isletilen program cok bolumden olusursa boru hatti kullanmak soruna yol acabilir cok bolum olusundan dolayi cikan bu sorunu ise bolum bildirici ing branch predicting ile hafifletilebilir Bolum bildirici problemin kotuye gitmesini kendi engelleyebilir Guncel uygulamalarda programlar daha az bolumden olusan komutlar yazarlar boylece uzun boru hatlari program hizini arttirmak icin daha idealdir bu boru hatlari komuta gore dongu zamani verirler Cok bolumluluk sabitlendiginde Ofis programlari gibi programlar boru hattindan kazanilan kazanci azaltirlar Cok bolumlulukten dolayi islemci bir sonraki bilginin adresinin nerede oldugunu bilemiyor ve isletilen komutunun bitmesini beklemesi gerekiyor Isletilen komut bittiginde boru hatti ile bir sonraki bilgi islemciye iletilir ve islemci yapmasi gereken seyi yapar Komut boru hatti kullanilmasindan dolayi islemci yuklemeyi hemen gerceklestiremez Koddaki guncellestirmeler su andaki isletim yerini etkilemez cunku isletim icin zaten belli bir alan ayrilmistir ing Prefetch Input Queue Komut onbellekleri bu durumu daha kotu hala getirirler Bu sadece kendi programlanabilen programlarla ilgilidir isletim sistemi gibi Genel KulturIlk islemci mikrokontroloru MOS Technology 6502 tek bolumluk komut boru hatti uygulamasindan olusurdu Boru Hatti Kullanan IslemcilerPentium III Pentium 3 ler 10 kademeli boru hattina sahiptir Athlon Athlon Thunderbird pluto thoroughbred barton hepsi 10 kademeli boru hattina sahiptir Athlon64 12 kademeli boru hattina sahiptir Pentium4 3 Aralik 2008 tarihinde Wayback Machine sitesinde williamette northwood 20 kademeli boru hattina sahiptir Presscott 31 kademeli boru hattina sahiptir Boru hatti ilk olarak FORD firmasinda Henry Ford tarafindan kullanilmistir Eski zamanlarda bu kadar teknolojik arac gerec olmadigi icin gunde 1 araba uretilmekteydi Bu da hem uretimi hem de tuketimi sinirliyordu Henry Ford uretim bantlarini gelistirdi Bu sayede her uretim bandinda arabanin farkli bir kismi yapilacakti ve hem basarim artacak hem de islem daha hizli yuruyecekti Ornegin bantta karburator takiliyorsa diger bantlarda tekerlekler fren sistemi vb parcalar takilacakti Bir arabanin karburatoru takilip isi bitince diger banda giderken baska bir araba karburator takimina girecek sekilde sistem islemistir Kaynakca Tek vuruslu islemcilerde 13 Eylul 2006 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Aralik 2007 Wikimedia Commons ta Boru hatti bilgisayar ile ilgili ortam dosyalari bulunmaktadir