PowerPC 620 Mimarisi

advertisement
PowerPC 620
Mimarisi
704061024
Vijdan KIZILAY
1
İçerik
Giriş
 İşhatlı Yapısı
 Yürütme Birimleri
 Bellek Hiyerarşisi
 Sonuç

2
Giriş

PowerPC 1991’de Apple,IBM ve Motorola firmaları tarafından meydana
getirilmiş bir RISC mikroişlemcisidir.

4 farklı gerçekleştirimi vardır. İlk olarak 601,603 ve 604 mikroişlemcileri
geliştirilmiştir.

64-bit PowerPC 620 ilk gerçeklemelerin 4.südür.Uygulama sunucularında
ve teknik iş istasyonlarında kullanılmak amaçlı geliştirilmiştir.
3
Giriş

620’nin birincil tasarım amacı yüksek performanstır.

İşlemcinin performansını belirleyen 3 faktör vardır bunlar:

Bir görevdeki komut sayısı

İşlemcinin 1 sa çevriminde çalıştırdığı ortalama komut sayısı

İşlemcinin frekansı
Birinci faktör 620’de sıkıştırılmış kod üretilerek karşılanmaktadır.
2. ve 3. faktörler IPC ve saat frekansının çarpımı büyütülerek
karşılanmaktadır.

Yürütülen komut sonucunu hızlandırmak için dinamik dallanma öngörüleri,
rezervasyon istasyonları,yazmaç yeniden adlandırma ve tahmini yürütme
gibi yöntemler kullanılmaktadır.
4
5
İşhatlı Yapısı

620 mikroişlemcisi 5 katlı komut işhatlısını gerçeklemektedir.

Bu 5 kat komut alma, dağıtma,yürütme,tamamlama ve geri yazma katlarıdır.

Komutlar program sırasına göre yürütme birimlerine gönderilmekte,sırasız
yürütülürler ve sırayla tamamlanırlar.
6
İşhatlı Yapısı

Komut Alma Katı

Komut önbelleğine dallanma biriminden gelen adrese göre erişilir.

Önbellekten 1 sa çevriminde 4 komut dönmektedir.

Komutlar 8 girişli FIFO tampon belleğe yüklenmektedir.

Önbellekte herbir komutla ilişkili 7 tane ön kod çözme biti bulunur.

Bu bitler komut için gerekli işlenenleri ve komutun hangi yürütme biriminde
yürütüleceği gibi bilgileri sağlar.

Önkod çözme bitleri sayesinde işhatlıda ayrı bir kod çözme katına gerek
duyulmaz.
7
İşhatlı Yapısı

Dağıtma Katı

1 çevrimde 4 komutu çözer ve uygun yürütme birimlerindeki rezervasyon
istasyonlarına gönderir.

Her komut için komut bağımlılıkları belirlenir ve kaynak işlenenleri yazmaç
dosyalarından okumak için çalışma yapılır.

Dağıtma katı kısıtları:
1) Komutlar program sırasına göre dağıtılmak zorundadır.
2) Uygun tipteki yürütme biriminde dağıtılan komutları tutan rezervasyon
istasyonları erişilebilir olmalıdır.
3) 2 genel amaçlı yazmaç işlenine ihtiyacı olan komutlar dağıtma
tamponunun sadece ilk 2 girişinden gönderilebilirler.
8
İşhatlı Yapısı

Yürütme Katı

Bu katta herbir yürütme birimi rezervasyon istasyonlarında en eski hazır
komutları yürütürler.Yürütme katı sonunda komut sonucu uygun
addeğiştirme tampon yoluna sürülür.

620’ nin en önemli özelliklerinden biri komutları yorumlayarak yürütmesi:
Yorumlayarak yürütme,dallanmaları tahmin ederek ortaya çıkan
paralelliğin kullanılması açısından gerekli

Önceden yorumlanarak yürütülen komutların sonuçları
addeğiştirme,yeniden sıralama tamponlarında tutulur.Ancak hata
durumunda tamponlar temizlenebilir.
9
İşhatlı Yapısı

Tamamlama Katı

Komutların sırasını tutmak için 16 girişli yeniden sıralama tamponu

Komut çalışmasını bitirdiği zaman durumu atanmış olduğu tampon girişine
kaydedilir.

Tamamlama birimi komutların program sırasında tamamlandığını garanti
eder.

Tamamlama birimi hata yakalandığında veya yanlış dallanma tahmini
olduğunda hatanın çıktığı noktaya kadar varolan komutların
tamamlanmasına izin verir.

Yanlış dallanma tahmini durumunda dağıtma ve yürütme birimleri uygun
komut dizisiyle dallanmadan önceki haline döner.
10
İşhatlı Yapısı

Geri Yazma Katı
Bir komut tamamlandıktan sonraki saat çevriminde sonuçlar addeğiştirme
tamponlarından ilgili birimlere yazılır.
1 sa çevriminde 4 GPR, 2 FPR ve 4 CR yazma yapılabilir.
11
Yürütme Birimleri

Dallanma Birimi
2 temel fonksiyonu vardır:
1. Önceden dallanma tahmini yapar.
2. Önceki dallanmaların doğru olup olmadığını anlamak için dallanma
komutlarını çözer.
 Branch Target Address Cache: Yapılan dallanmadan sonraki işhattı
beklemelerini azaltmak için kullanılır.
 Dallanma birimi alınan komutun kodunu beklenen kaynak işlenenlerden
dolayı çözemezse dallanma tahmini BHT,Link Register Stack,Shadow
Count Register’daki bilgiye göre yapılır.
12
Yürütme Birimleri



BTAC(Branch Target Adress Cache): Komut önbelleğine paralel olarak
erişilir. Eğer komut adresi BTAC’ta bulunursa alınan hedef adres bir sonraki
sa çevriminde sıradaki komutları almak için kullanılır. Eğer adres BTAC’ ta
yoksa komut alma birimi programın normal şekilde aktığını varsayar.
Branch History Table: Durumu koşul yazmacındaki(CR) bite bağlı olan
dağıtma tamponundaki dallanma komutlarının tahminini yapmak için
kullanılır.Bu mekanizma devredışı bırakılırsa statik dallanma tahminleri
kullanılır.
Link Register Stack:Fonksiyon çağrılarını hızlandırmak amaçlı gerçeklenir.
Link biti birlenmiş dallanma komutları fonksiyon çağrıları için kullanılır.Bu
komutlar dönüş adresini Link yazmacına kaydederler.
13
Yürütme Birimleri


Gölge sayı yazmacı(Shadow Count Register): Dağıtma tamponundaki bir
koşullu dallanma komutu için,dallanma tahminin sayı yazmacındaki değere
göre yapılır.Eğer tahmin o andaki önceden komut alma yönünden farklı ise
önceden almanın yönü değiştirilir.
Dallanma Çözme:Bir çevrimde koşul kodu üretilmiş olan en eski dallanma
komutu çözülür.
Koşul kodu dallanma tahmini ile uymazsa yanlış tahmin sinyali yollanır ve bir
sonraki sa çevriminde doğru komutların alımı için komut alma adres
hesaplaması yapılır.
14
Yürütme Birimleri

Tamsayı Yürütme Birimleri





PowerPC 620 mikroişlemcisinde 3 tane tamsayı yürütme birimi
bulunmaktadır.
Bu birimler 32 ve 64 bit tamsayı komutlarını gerçeklemektedir.
Her birimde 2 tane sırasız yayma rezervasyon istasyonu vardır.
Rezervasyon istasyonları komutların kaynak işlenenleri hazır olmadan
dağıtma katından dağıtımının yapılmasına izin verir.
Komutun hazır olmayan işlenenleri daha sonra oluşturuldukları yürütme
biriminden gerekli birime yönlendirilirler.
15
Yürütme Birimleri

Yükleme ve Geri Yükleme (Load/Store) Birimi





Load/Store birimi 3 tane sırasız yayma rezervasyon istasyonu ve 2 katlı
bir işhatlıya sahiptir.
İşhatlının birinci katında bellek işlenenlerinin etkin adresi hesaplanır.
Veriyi cepte bulan bir load komutu için veri addeğiştirme tamponlarına
veya yürütme birimlerine gönderilir.Iska durumunda erişilen adres load
miss register’a yazılır.
İlgili veri için yol isteği oluşturulur.
Başarılı Store işlemleri için herbir store FSQ(Finished Store Queue)’ya
eklenir.
Store işlemi bittikten sonra yazmaç dosyasından alınan veri ile CSQ’ya
yazılır.
Store ıskası olursa program sırasını bozmamak için CSQ’daki belleğe
yazmalar bekletilir.
16
Yürütme Birimleri

Kayan-noktalı Yürütme Birimi
Kayan-noktalı yürütme birimi iki adet sıralı yayma rezervasyon
istasyonu tarafından beslenmektedir.Rezervasyon istasyonları her saat
çevriminde komut dağıtma biriminden bir komut almaktadır.Kayannoktalı komutların yürütülmesi bittikten sonra,sonuçları 8 adet
addeğiştirme tamponu yollarından birine sürülür .
 3 katlı kayan-noktalı yürütme birimi her 18 sa çevriminde bir bölme
sonucu üretebilir.
 Herbir 22 sa çevriminde de bir karekök komutu yürütülebilir.

17
Bellek Hiyerarşisi

Yüksek hızlı süperskalar işlemcilerin performansı için verimli bellek işlemleri
çok önemlidir.

Bellek Yönetim Birimleri

2 seviyeli bellek yönetimi gerçeklenmektedir.
 1. seviye bellek yönetim birimi komut ve veri aktarımları için 64 girişli
tam çağrışımsal etkin adresten fiziksel adrese çevirme tamponlarını
kullanır.
 2. seviye bellek yönetim birimi 20 girişli tam çağrışımsal bölüm dönüşüm
tamponu ve 128 girişli 2 yollu çağrışımsal kestirme dönüşüm tamponu
içerir.
 Tampon belleklerin yönetimi ve bellekteki bölüm/sayfa tablolarından
tamponların yüklenmesi tamamen donanımsal olarak yapılır.
18
Bellek Hiyerarşisi

L2 Önbellek Arabirimi





620’de yonga üzeri bir L2 denetleyicisine sahiptir.
Denetleyici ikincil cebe hızlı erişim sağlar.
Denetleyici yol trafiğini azaltır. Çünkü yol isteği sadece L2’de ıska
olduğu zaman yapılır.
L2 veri cebi arabirimi 128 bitliktir. 1 MB’tan 128 MB’a kadar FSRAM’leri
destekler.
L2 arabirimi yazılım tarafından devredışı bırakılabilir.
19
Bellek Hiyerarşisi

Önbellekler
PowerPC 620 mikroişlemcisi ayrı veri ve komut cebine sahip
 Cep kapasiteleri 32 KB, cep satırları 64 bayttır.
 Cepler 8 yollu “semi-associative” dir.
 Geleneksel 8 yollu çağrışımsal cepte küme seçilir ve 8 giriş okunur.
Bu işlem hız ve güç tüketimine neden olur.
620 cepleri adres bitlerinden 52-57 arasındakileri 64 camletten(content
addressable memory) birini seçmek için kullanılır.
Herbir camlet 8 cep girişi içerir.Geri kalan adres bitleri verinin camlette
olup olmadığını bulmak için kullanılır.
Bu mimari 8 yollu geleneksel çağrışımsal cep etkinliğini sağlarken,
geleneksel doğrudan cep hız ve güç avantajınıda sağlamaktadır.

20
Bellek Hiyerarşisi

Veri cebi MESI protokolu altında tutarlı tutulmaktadır.
Mesi protokolüne göre cepteki herbir satır M,E,S veya I olmak üzere 4
durumdan biri ile işaretlidir.
 M(Modified) : Cep satırındaki verinin sadece o cepte olduğunu ve
bellekteki değerinden farklı olduğunu gösterir.
E(Exclusive) : Cep satırındaki verinin sadece o cepte olduğunu ve
bellekteki değeri ile aynı olduğunu göstermektedir.
S(Shared): Cepteki verinin makinenin diğer ceplerinde de olabileceğini
gösterir.
I(Invalid): Cepteki verinin geçersiz olduğunu gösterir.


Komut cebi tutarlılığı yazılımla sağlanır. PowerPC mimarisi komut cebi
tutarlılığını yazılımla sağlamak için bir dizi komut sağlar.
21
Bellek Hiyerarşisi

Sistem Yolu
Sistem yolu adres ve veri yolu olmak üzere ikiye ayrılır.
 Bu organizasyon veri ve adres yolunun aynı yol olduğu sistemlere göre
daha çok pin içersede,sadece adres yolu maksimum adres yolu bant
genişliğini sunmaktadır.
 Adresler 40 bitliktir.
 Veri yolu herbir yol çevriminde 16 baytlık veri döndürebilir.Veri yolu
sahibi değiştiği zaman yol çatışmasını önlemek için bir ölü çevrime
gerek duyulur.


Herbir yol kendi kontrolüne ve eşlik korunumuna sahiptir.
22
Sonuç

PowerPC 620 RISC mikroişlemcisi




yüksek performanslı mikromimarisi,
entegre L2 cep denetçisiyle,
yüksek bant genişliği ile uygulama sunucuları ve teknik iş istasyonları
için ideal bir çözüm sağlamaktadır.
620 mikroişlemcisi performans güdümlü uygulamalar için
tasarlanmıştır.Dolayısıyla işlemcinin performans ölçeklenirliği ve donanım
konfigürasyonu multimedya sistemlerin tasarımında büyük esneklik
sağlamaktadır.
23
Referanslar







David Levitan,Thomas Thomas,Paul Tu, The PowerPC 620
Microprocessors
Trung A. Diep, Christopher Nelson, John Paul Shen,Performance
Evaluation of the PowerPC 620 Microarchitecture
John K. Yuan, Michael P. Taborn, David C. Lee,Albert Tsay, The PowerPC
620 Microprocessor in Distributed Computing
A High Performance Bus and Cache Controller for PowerPc Multiprocessing
Systems,Michael S. Allen,W. Kurt Lewchuk and John D. Coddington
http://studies.ac.upc.edu/ETSETB/SEGPAR/microprocessors/ppc620%20(
mpr).pdf
http://www.byte.com/art/9411/sec8/art5.htm
http://tr.wikipedia.org/wiki/PowerPC
24
Download