Kezdőlap→Hardver & Bileşenler
Hardver & Bileşenler

Sırasız yürütmede buyrukların sıraya tabi tutulması.

Program sırasından bağımsız yürütme Sırasız yürütüm ya da sıra dışı yürütme (İngilizce: out-of-order execution; dinamik yürütme olarak da bilinir), çağdaş...

User Avatar
Kemal B.Editör
3 perc olvasás
Yayın:
🌐
Eredeti nyelv megjelenítve

Ez a cikk még nem lett lefordítva magyarra. Az eredeti verziót tekinti meg.

Program sırasından bağımsız yürütme

Sırasız yürütüm ya da sıra dışı yürütme (İngilizce: out-of-order execution; dinamik yürütme olarak da bilinir), çağdaş yüksek başarımlı işlemcilerde kullanılan, buyrukları katı program sırasına bağlı kalmadan, işlenenleri (girdileri) hazır olur olmaz yürüten bir buyruk işleme yaklaşımıdır. Amaç, bir buyruğun verisini beklerken işlemcinin boşta kalmasını önlemek; bu bekleme süresini, verisi hazır olan sonraki bağımsız buyrukları yürüterek değerlendirmektir. Sonuçlar daha sonra yeniden program sırasına sokularak yazıldığından, dışarıdan bakıldığında program sırayla yürütülmüş gibi görünür.

Sıralı yürütme yaklaşımı

Eski (sıralı) işlemcilerde buyruklar şu adımlarla, kesin olarak program sırasında işlenir: Buyruk getirilir. İşlenenleri hazırsa buyruk uygun işlem birimine gönderilir; bir ya da daha fazla işlenen o an hazır değilse işlemci, işlenen hazır olana dek bekler (durur). Buyruk ilgili işlem birince yürütülür. Sonuç yazmaç öbeğine geri yazılır. Bu yaklaşımda tek bir buyruğun verisini beklemesi, ardından gelen tüm buyrukları da durdurur.

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

Sıra dışı yürütme akışı

Sıra dışı yürütmede ise akış şöyledir: Buyruk getirilir. Buyruk bir kuyruğa (rezervasyon istasyonu) alınır. Buyruk, işlenenleri hazır olana dek kuyrukta bekler; işlenenleri kendinden önceki buyruklarınkinden bağımsızsa, program sırasındaki yerine bakılmaksızın yürütülmeye başlanabilir. Buyruk uygun işlem birince yürütülür. Sonuç önce bir ara yapıda (yeniden sıralama belleği) tutulur. Sonuç, ancak kendinden önceki tüm buyruklar tamamlandıktan sonra, program sırasında yazmaç öbeğine yazılır (geri çekilme). Böylece veri eksikliğinden doğan boşluklar, hazır olan başka buyruklarla doldurulur; buna karşın sonuçların görünür sırası korunur. Sıra dışı yürütmenin sağladığı kazanç, boru hattı derinleştikçe ve bellek ile işlemci hızları arasındaki fark büyüdükçe artar.

Temel yapılar

Sıra dışı yürüten bir işlemci birkaç önemli donanım yapısına dayanır: Rezervasyon istasyonları: Buyrukların, işlenenleri hazır olana dek bekledikleri ara bellekler. Buyruklar buradan, program sırasından bağımsız olarak yürütme gönderilir. Yazmaç yeniden adlandırma: Aynı mimari yazmacı yeniden kullanmaktan doğan yalancı (isim) bağımlılıklarını gidermek için, mimariide tanımlı olandan daha çok sayıdaki fiziksel yazmaca eşleme yapılır. Yeniden sıralama belleği (ROB): Sıra dışı tamamlanan buyrukların sonuçlarını, program sırasında geri yazılana dek tutan yapı. Kesin kesmeleri ve yanlış dallanma tahminlerinden dönüşü olanaklı kılar.

Yürütme ile geri çekilmenin ayrılması

Sıra dışı yürütmenin önemli bir özelliği, bir buyruğun yürütülmesi ile sonucunun kalıcı duruma işlenmesi (geri çekilme) aşamalarının birbirinden ayrılmasıdır. Sonuçlar, geri çekilene dek yeniden sıralama belleğinde tutulur; bu sayede bir kesme ya da yanlış dallanma öngörüsü durumunda, henüz geri çekilmemiş buyrukların sonuçları iptal edilerek işlemci tutarlı bir duruma döndürülebilir. Tahmin edilen dal yolundaki buyrukların, dal kesinleşmeden yürütülmesine öngörüye dayalı yürütme denir.

Tarihçe

Sıra dışı yürütme, 1970’ler ve 1980’lerde bilgisayar mimarisinin başlıca araştırma konularından biriydi. İlk önemli adımlar büyük bilgisayarlarda atıldı: 1964’te piyasaya çıkan CDC 6600, çakışmaları bir skor tablosu (scoreboard) ile çözüyordu; 1967’de IBM System/360 Model 91 ise Tomasulo algoritmasıyla sıra dışı yürütmeyi tam olarak destekleyen ilk makine oldu. Yale Patt ve çalışma arkadaşlarının HPS üzerine çalışmaları ile James E. Smith ve A. R. Pleszkun’un 1985’te kesin kesmelerin nasıl korunacağını gösteren makalesi, tekniğin olgunlaşmasına katkıda bulundu.

Sıra dışı yürütüm 1990’larda yaygınlaştı: IBM POWER1 (1990) kayan nokta işlemlerinde sıra dışı yürütme kullandı; ardından PowerPC 601 (1993), Intel Pentium Pro (1995), MIPS R10000 (1996), AMD K5 (1996) ve Alpha 21264 (1998) gibi işlemciler bu yaklaşımı ana akıma taşıdı. Tekniğin gecikmesinin başlıca nedeni, gerektirdiği yüksek mantıksal karmaşıklık, yonga alanı ve güç tüketimiydi; bu yüzden düşük güçlü ve maliyete duyarlı tasarımların bir bölümü uzun süre sıralı yürütmeyi sürdürdü.

Bu açıklama Vikipedi kaynaklarından uyarlanmıştır ve şu lisans altında sunulur: CC BY-SA 4.0.

İlginizi Çekebilir: Google’ın yeni TV Streamer’ı geliştirdiği iddia ediliyor: Mikrofon, duyarlı algılama ve daha güçlü işlemci →
Forrás: Vikipedi (Wikipedia) ↗
💻 SayarBilgi Topluluğu

Beszéld meg a közösséggel

Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

💻 Hardver & Sistem Tavsiyesi Odası →
Kérdezz / vitázz a fórumon
A KÖZÖSSÉG HANGJA

Öné a szó.

0 hozzászólás

Ossza meg tapasztalatait, kérdéseit és hozzászólásait. E-mail-címét nem hozzuk nyilvánosságra.

Csatlakozzon a beszélgetéshez

E-mail adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hozzászólása közzététel előtt moderálásra várhat.

KÖVETKEZŐ OLVASMÁNY

Merak etmeye devam

Összes megtekintése ↗

Mire vagy kíváncsi?

Type at least 3 characters.

Explore

🌍 VÁLASSZ NYELVET 25 Nyelv
🔍