İşlemci Mikro mimarisi
İşlemci mikro mimarisi, bir komut kümesi mimarisini uygulayan, bir komut akışını mümkün olan en hızlı şekilde hesaplanmış sonuçlara dönüştürmek için işlem hattını, yürütme birimlerini, yazmaç yeniden adlandırmayı ve kontrol mantığını kapsayan dahili donanım organizasyonudur.
Tanım
Mikro mimari, bir işlemcinin yüksek performans ve verimlilik arayışında iken bir komut kümesi mimarisi tarafından belirtilen davranışı gerçekleştiren somut mantıksal organizasyonudur — yani işlem hattı aşamaları, işlevsel birimleri, tamponları ve kontrolüdür.
Kapsam
Bu alan, bir işlemcinin ISA arayüzünün altında nasıl inşa edildiğini kapsar: veri yolu ve kontrol, işlem hattı ve onu sınırlayan tehlikeler, komut seviyesi paralelliği (instruction-level parallelism) çıkarma teknikleri, dallanma tahmini, spekülatif ve sırasız yürütme ile yürütme birimlerini meşgul tutan zamanlama yapıları. Görünür komut kümesinin kendisini (komut kümesi mimarisi) ve önbelleğin ilk seviyelerinin ötesindeki bellek alt sistemini (bellek hiyerarşisi ve önbellekler) ile çok çekirdekli organizasyonu (paralel ve çok çekirdekli mimari) hariç tutmaktadır.
Alt konular
Temel sorular
- İşlem hattı, komut yürütmesini nasıl çakıştırır ve onu hangi yapısal, veri ve kontrol tehlikeleri sınırlar?
- Bir programda ne kadar komut seviyesi paralelliği (instruction-level parallelism) bulunur ve donanım bunu nasıl çıkarabilir?
- Dallanma tahmini, derin işlem hatlarındaki kontrol tehlikelerinin maliyetini nasıl azaltır?
- Sırasız yürütme ve yazmaç yeniden adlandırma, program semantiğini korurken paralelliği nasıl ortaya çıkarır?
- Mikro mimari tasarımda performans, güç ve karmaşıklık arasında nasıl bir denge kurulur?
Anahtar kavramlar
- veri yolu ve kontrol
- komut işlem hattı
- yapısal, veri ve kontrol tehlikeleri
- iletme ve atlama
- komut seviyesi paralelliği (instruction-level parallelism)
- dallanma tahmini
- spekülatif yürütme
- sırasız yürütme
- yazmaç yeniden adlandırma
- süperskalar yayınlama
Temel kuramlar
- İşlem Hattı
- Birden fazla komutun aşamalı olarak yürütülmesinin çakıştırılması, komut verimini artırır; elde edilebilir hızlanma, işlem hattı derinliği ve tehlikeler ile bağımlılıkların neden olduğu duraklamalarla sınırlıdır.
- Dinamik zamanlama ve yazmaç yeniden adlandırma
- Tomasulo'nun algoritması, komutları yürütme birimlerine dinamik olarak zamanlar ve rezervasyon istasyonları ile ortak bir veri yolu aracılığıyla yazmaçları yeniden adlandırır, bu da komutların gerçek veri bağımlılıklarına saygı duyarak program sırasının dışında yürütülmesine olanak tanır — modern sırasız işlemcilerin temelini oluşturur.
Mekanizmalar
İşlem hattı kullanan bir işlemci, komut işlemeyi aşamalara (getirme, çözümleme, yürütme, bellek, geri yazma) ayırır, böylece birkaç komut aynı anda işlenir. Tehlikeler — henüz mevcut olmayan bir sonuç, çekişmeli bir kaynak veya çözülmemiş bir dallanma — iletme, duraklatma, tahmin ve spekülasyon yoluyla ele alınmaktadır. Süperskalar sırasız çekirdekler, rezervasyon istasyonları, yeniden sıralama tamponları ve yeniden adlandırma ekleyerek bağımsız komutların işlenenleri hazır olur olmaz yürütülmesini ve sonuçların program sırasına göre kaydedilmesini sağlamaktadır.
Klinik önem
Mikro mimari, işlemcilerin gerçek dünya hızını ve enerji verimliliğini belirlemektedir: işlem hattı, süperskalar yayınlama ve sırasız yürütme, neredeyse her modern CPU'nun performansının temelini oluşturmaktadır. Mikro mimari tasarımın güvenlik sonuçları da bulunmaktadır — Spectre ve Meltdown gibi spekülatif yürütme yan kanalları doğrudan performans özelliklerinden kaynaklanmaktadır.
Tarihçe
İşlem hattı ve çoklu işlevsel birimler, 1960'larda IBM System/360 Model 91 ve CDC 6600'de ortaya çıkmış, burada Tomasulo dinamik zamanlamayı tanıtmıştır. 1980'lerin RISC mikro mimarileri, derin işlem hatlarını ana akım haline getirmiş ve süperskalar sırasız tasarımlar, 1990'lar ve 2000'ler boyunca yüksek performanslı CPU'larda baskın hale gelmiştir. Agresif spekülasyon, daha sonra 2018'de kamuoyuna duyurulan mikro mimari yan kanalları ortaya çıkarmıştır.
Tartışmalar
- Agresif spekülasyon ile güvenlik ve verimlilik
- Derin spekülatif sırasız yürütme, tek iş parçacıklı performansı artırır ancak güç tüketimini yükseltir ve geçici yürütme güvenlik saldırılarına olanak tanımıştır; bu durum, daha basit, daha verimli veya daha öngörülebilir tasarımlara kıyasla ne kadar spekülasyonun değerli olduğu konusunda tartışmalara yol açmaktadır.
Öne çıkan isimler
- Robert Tomasulo
- John L. Hennessy
- David A. Patterson
- Yale Patt
- James E. Smith
İlgili konular
Temel eserler
- hennessy2019
- tomasulo1967
- patterson2020
Sıkça sorulan sorular
- Sıralı ve sırasız yürütme arasındaki fark nedir?
- Sıralı bir işlemci, komutları kesinlikle program sırasına göre yürütür ve bir komutun işlenenleri hazır olmadığında duraklar. Sırasız bir işlemci ise, işlenenleri mevcut olan herhangi bir komutu yürütür, yürütmeyi yeniden sıralamak için tamponlar ve yeniden adlandırma kullanırken sonuçları yine program sırasına göre kaydeder.
- Dallanma tahmini neden önemlidir?
- Derin işlem hatları, bir dallanmanın yönü bilinmeden önce komutları getirir ve yürütmeye başlar. Doğru dallanma tahmini, işlemcinin işlem hattını olası yol boyunca dolu tutmasını sağlar; yanlış bir tahmin, spekülatif çalışmayı boşa harcar ve çok döngülü bir cezaya neden olur.