|  | Pipelining Tanımı |  | 
|  08-20-2012 | #1 | 
| 
Prof. Dr. Sinsi
 |   Pipelining TanımıTanımı Pipelining,işlenecek yönergenin(instruction) geçtiği işlemleri aşamalara ayıran bir tekniktir  Bu sayede işlemci farklı yönergelerin farklı evreleri üzerinde aynı anda çalışabiliyor ve az zamanda daha çok iş yapılabiliyor  Pipelining'in ne olduğunu daha iyi anlatmak için çamaşırhane örneğini vererek başlayabiliriz  Diyelim ki çamaşırhanede tek bir çamaşır makinesi, tek bir kurutma makinesi ve katlama yapılabilecek tek bir yer var ve yıkama işlemi 30 dk  , kurutma 40 dk, katlama da 20 dk  sürüyor  Sırada 4 kişi bekliyor ve birinin işi tamamen bitmeden diğeri işlerini yapmaya başlamıyor  Öğleden sonra 6'da başladığımızı ve bir müşteriden diğerine geçerken süre kaybetmediğimizi farz edersek ancak gece yarısında 4 müşterinin de işi bitmiş olacaktı ve tabiki bu pipelined bir sistem olmuyor  Dosya:Laundry1  gif Ancak birinci müşterinin çamaşır makinesiyle işi bittip kurutma makinesini kullanmaya başladığında, 2  müşterinin daha fazla beklemesine ihtiyaç yok ve çamaşır makinesini kullanmaya artık başlayabilir çünkü yıkama, kurulama ve katlama işlemleri de birbirinden bağımsız işlemler  Bu şekilde 4 kişinin işi saat akşam 9  30 civarı bitecektir  Bu şekilde bir sistem ise pipelined bir sistem oluyor  Dosya:Laundry2  gif Verdiğimiz örnekteki müşteriler yönergeleri, yıkama evreleri de bir yönergenin geçtiği evreleri temsil ediyordu  Tahmin edeceğiniz üzere işlemci pipeline ları da benzer şekilde çalışıyor ve evreleri aşağıdaki gibi adlandırılıyor: Fetch: Bu evrede yönerge(instruction) hafızadan program sayacı(PC) kullanılarak okunur  Yönergeden yönerge kodu(icode) ve yönerge fonksiyonu çekilir(ifun)  Decode: Register dosyasından hesaplanacak değerler çekilir  Execute:Hesaplama işlemi yapılır(icode ve ifun'a göre)  Memory:Bu evrede hafızadan veri okunabilir ya da hafızaya veri yazılabilir  Write back:Sonuç değeri register dosyasına geri yazılır  Kaynak : Wikipedia | 
|   | 
|  | 
|  |