PA-8000 - PA-8000

HP PA-8000

PA-8000 (PCX-U), kod adlı Oniks, bir mikroişlemci tarafından geliştirilmiş ve imal edilmiştir Hewlett Packard (HP) uygulayan PA-RISC 2.0 komut seti mimarisi (ISA).[1] Önceki PA-RISC mikroişlemcilerinden türetilen devre içermeyen tamamen yeni bir tasarımdı. PA-8000, Precision RISC Organizasyonu (PRO) üyelerine sevkiyatın başladığı 2 Kasım 1995'te tanıtıldı.[2] Yalnızca PRO üyeleri tarafından kullanıldı ve tüccar pazarında satılmadı. Takip eden tüm PA-8x00 işlemciler (PA-8200 - PA-8900, aşağıda daha ayrıntılı açıklanmaktadır) temel PA-8000 işlemci çekirdeğini temel alır.

PA-8000 aşağıdakiler tarafından kullanıldı:

Açıklama

PA-8000 dört yönlüdür süper skalar talimatları yürüten mikroişlemci hizmet dışı ve spekülatif olarak.[1][3] Bu özellikler, önceki PA-RISC uygulamalarında bulunmayan PA-8000'i, performansa ulaşmak için basit mikro mimariler ve yüksek saat hızı uygulaması kullanma geleneğini kıran ilk PA-RISC CPU haline getirdi.[4]

Talimat getirme birimi

PA-8000, dört aşamalı bir ön uca sahiptir. İlk iki aşama sırasında, talimat getirme birimi (IFU) tarafından talimat önbelleğinden dört talimat alınır.[4] IFU şunları içerir: program sayıcı, şube geçmişi tablosu (BHT), şube hedefi adres önbelleği (BTAC) ve dört girişli çeviri görünüm arabelleği (TLB).[1][4] TLB, talimat önbelleğine erişmek için sanal adresi fiziksel adreslere çevirmek için kullanılır. TLB eksik olması durumunda, çeviri ana TLB'den istenir.[1]

Dal tahmini

PA-8000 gerçekleştirir şube tahmini statik veya dinamik yöntemler kullanarak.[1] PA-8000'in kullandığı yöntem, her TLB girişinde bir bit tarafından seçildi. Statik tahmin, çoğu geriye dönük dalı alınmış olarak ve ileriye dönük dalları alınmamış olarak kabul eder. Statik tahmin ayrıca, derleyici tarafından talimatlarda kodlanan ipuçlarını inceleyerek dalların sonucunu da tahmin ediyordu.[1][4]

Dinamik tahmin, alınıp alınmayacağına karar vermek için bir şubenin kayıtlı geçmişini kullanır. 256 girişli BHT, bu bilgilerin depolandığı yerdir. Her BHT girişi üç bittir vardiya yazmacı. PA-8000 bir çoğunluk oylama algoritması kullandı, üç bitin çoğunluğu ayarlandıysa bir dal alınır ve açıksa alınmaz.[1] Yanlış tahmin edilen dal, beş döngü cezasına neden olur.[4] Şubenin sonucu bilindiğinde BHT güncellenir. PA-8000 döngü başına iki dal talimatı yürütebilse de, BHT'nin uygulamasını basitleştirmek için çift portlu olmadığından sonuçlardan yalnızca biri kaydedilir.[3]

PA-8000, doğru tahmin edilen dallar için iki döngülü bir baloncuğa sahiptir, çünkü dalın hedef adresi, talimat önbelleğine gönderilmeden önce hesaplanmalıdır.[4] Bu baloncuğun oluşumunu azaltmak için PA-8000, 32 girişli tamamen ilişkili BTAC kullanır. BTAC, bir şubenin hedef adresini önbelleğe alır. Aynı dalla karşılaşıldığında ve alındığı gibi tahmin edildiğinde, adres derhal talimat önbelleğine gönderilir ve getirmenin gecikmeden başlamasına izin verir.[1]

BTAC'nin etkinliğini en üst düzeye çıkarmak için, yalnızca tahmin edilen alınan dalların dal hedefi önbelleğe alınır. Bir dalın alınmadığı tahmin ediliyorsa ancak hedef adresi BTAC'da önbelleğe alınmışsa, girişi silinir. BTAC'nin dolu olması ve yeni bir girişin yazılması gerektiğinde, değiştirilen giriş bir döngüsel değiştirme politikası kullanılarak seçilir.[1]

Talimat önbelleği

Talimat önbelleği haricidir ve 256 KB ile 4 MB arası bir kapasiteyi destekler. Talimatlar, önbelleğe girmeden önce her talimata beş bit eklenerek önceden kodlanmışlardır. Bu bitler, daha sonra boru hattında talimatın kodunu çözmek için gereken süreyi azaltır. Yönerge önbelleği, bağlantılı önbelleklerin karmaşıklığından kaçınmak için doğrudan eşleştirilir ve 148 bitlik bir veri yolu aracılığıyla erişilir. Önbellek etiketleri de haricidir. Senkronize SRAM'lardan (SSRAM'ler) oluşturulmuştur.

Kod çözme ve talimat yeniden sıralama tamponu

Üçüncü aşamada, talimatların kodu çözülür. Dördüncü aşamada, komut yeniden sıralama tamponuna (IRB) yerleştirilirler. IRB'nin amacı alettir yeniden adlandırma kaydı, sıra dışı uygulama, spekülatif uygulama ve talimatlar kaldırılıncaya kadar saklanacak sonuçlar için geçici bir yer sağlamak. IRB, beşinci aşamada hangi talimatların verileceğini belirler.

IRB, biri tamsayı ve kayan nokta komutları, diğeri yükleme ve saklama talimatları için olmak üzere iki arabellekten oluşur. Her iki tampona da bazı talimatlar yerleştirilmiştir. Bu talimatlar, şube talimatları ve belirli sistem talimatlarıdır. Her tamponun 28 girişi vardır. Her arabellek, döngü başına en fazla dört komut kabul edebilir ve işlevsel birimlerine döngü başına ikiye kadar yayınlayabilir.

Yürütme

On işlevsel birimde tüm talimatlar altıncı aşama sırasında uygulamaya başlar. Çarpma dışındaki tamsayı komutları iki aritmetik mantık birimleri (ALU'lar) ve iki kaydırma / birleştirme birimi. Bu birimlerde yürütülen tüm talimatlar tek döngülü bir gecikmeye sahiptir ve sonuçları yedinci aşamadaki hedef yazmacına yazılır.

Kayan nokta komutları ve tamsayı çarpma talimatları iki kaynaşmış çarpma-biriktirme (FMAC) birimleri ve iki bölme / karekök birimi. FMAC birimleri ardışık düzenlidir ve üç döngü gecikmesine sahiptir. Çarpma, altıncı aşamada yapılır, yedinci aşamada eklenir, sekizinci aşamada yuvarlanır ve dokuzuncu aşamada geri yazılır. Çarpma ve biriktirme aşamaları arasında yuvarlama yoktur. FMAC birimleri ayrıca, her ikisi için de üç döngü gecikme süresine sahip olan bireysel çarpma ve ekleme talimatları yürütür. Tek hassasiyet ve çift ​​kesinlik varyantlar. Bölme / karekök birimleri ardışık düzende değildir ve 17 döngü gecikme süresine sahiptir. Kayıt portu sınırlamaları nedeniyle her saat döngüsü için onlara bir talimat verilebilir, ancak bunlar birbirleriyle ve FMAC üniteleriyle paralel olarak çalışabilirler.

Hem tamsayı hem de kayan nokta yükleme ve saklama talimatları, iki adanmış adres toplayıcısı tarafından yürütülür.

Çeviri lookaside buffer

çeviri görünüm arabelleği (TLB) 96 giriş içerir, çift kapılı ve tam ilişkilidir. Döngü başına iki sanal adresi çevirebilir. Bu TLB, hem talimatlar hem de veriler için adresleri çevirir. IFU'nun TLB'si ıskaladığında, bu TLB bunun çevirisini sağlar. Yükler ve mağazalar için çeviri, talimatlara göre daha yüksek önceliğe sahiptir. Her TLB girişi bir sayfa 4 KB ile 16 MB arasında bir boyutta, dörtlü artışlarla.

Veri önbelleği

PA-8000, 4 MB'a kadar kapasiteye sahip bir veri önbelleğine sahiptir. Veri önbelleği çift bağlantılıdır, bu nedenle her döngüde iki okuma veya yazma gerçekleştirilebilir. İki önbellek bankası uygulayarak çift portludur, bu nedenle gerçekten çift portlu değildir, çünkü iki okuma veya yazma aynı bankaya atıfta bulunursa, bir çakışma ortaya çıkar ve yalnızca bir işlem gerçekleştirilebilir. Her banka için bir tane olmak üzere iki adet 64-bit otobüsle erişilir. Önbellek etiketleri haricidir. Her bir bankada bağımsız erişime izin vermek için önbellek etiketlerinin iki kopyası vardır. Veri önbelleği, talimat önbelleğiyle aynı nedenlerle doğrudan eşlenir. SSRAM'lardan oluşturulmuştur.

Pist otobüsü

Harici arayüz, Pist otobüsü 64 bit adres ve veri çoklamalı veri yolu. PA-8000, 40 bit kullanır fiziksel adres, bu nedenle 1 TB fiziksel hafıza.

Fiziksel

PA-8000 3,8 milyon transistöre sahiptir ve 17,68 mm'ye 19,10 mm boyutlarındadır,[5] 337,69 mm alan için2. HP tarafından CMOS-14 işleminin% 10 geçit küçültme işlemi olan CMOS-14C işleminde üretildi.[4] CMOS-14C işlemi 0,5 μm, beş seviyeli alüminyum ara bağlantı, tamamlayıcı metal oksit yarı iletken (CMOS) işlemi. Kalıp, sinyaller için 704 lehim tümseğine ve güç veya toprak için 1.200'e sahiptir. 1.085'lik bir ped içinde paketlenmiştir çip çevir alümina seramik Kara şebekesi dizisi (LGA).[6] PA-8000, 3,3 V güç kaynağı kullanır.

PA-8200

PA-8200 (PCX-U +), kod adlı Vulkan, PA-8000'in bir başka geliştirmesiydi. PA-8200'ü kullanan ilk sistemler, Haziran 1997'de piyasaya sürüldü. PA-8200, 200 ila 240 MHz'de çalıştı ve öncelikle Alfa 21164. Şube tahmininde ve TLB'de iyileştirmeler yapıldı.[3][7] Dal tahmini, BHT girişlerinin sayısının 1.024'e dört katına çıkarılmasıyla iyileştirildi; bu, çevreleyen devrelerin yeniden tasarlanmasına gerek kalmadan uyması için iki bitlik bir algoritmanın kullanılmasını gerektirdi; ve iki dal sonucunun bir yerine BHT tarafından kaydedilmesini sağlayan bir yazma kuyruğu uygulayarak. TLB girişlerinin sayısı 96'dan 120'ye çıkarıldı ve bu da TLB ıskalarını azalttı. Saat frekansı, küçük devre yeniden tasarımı yoluyla da geliştirildi. PA-8200'ün kalıbı, kalıbın boş alanlarını kullanan iyileştirmeler nedeniyle PA-8000 ile aynı boyuttaydı. CMOS-14C sürecinde üretildi.

PA-8500

HP PA-8500

PA-8500 (PCX-W), kod adı Barracuda, PA-8200'ün geliştirilmiş bir versiyonudur. 1998'in başlarında bantlandı ve 1998'in sonlarında sistemler içinde tanıtıldı. Üretim sürümleri 300 ila 440 MHz frekanslarda çalıştırılır, ancak 500 MHz'e kadar tasarlanmış ve çalıştırılmıştır.[8] En dikkate değer gelişmeler, daha yüksek çalışma frekansları ve birincil önbelleklerin kalıpta entegrasyonudur.[9] Daha yüksek çalışma frekansları ve birincil önbelleklerin çekirdek ile aynı kalıp üzerinde entegrasyonu, 0,25 μm işlemine geçişle sağlandı. PA-8500 çekirdeği 10,8 mm x 11,4 mm (123,12 mm2) yeni işlemde, 0,5 μm PA-8200'ün yarısından daha az. Bu, önbellekleri entegre etmek için kullanılabilecek alan sağladı.

PA-8500, 512 KB talimat önbelleğine ve 1 MB veri önbelleğine sahiptir. Mikromimarideki diğer iyileştirmeler arasında 2.048 giriş içeren daha büyük bir BHT, PA-8200'lerin kapasitesinin iki katı ve 160 giriş içeren daha büyük bir TLB bulunmaktadır. PA-8500, yeni bir Pist otobüsü. Yeni sürüm 125 MHz'de çalışıyor ve verileri saat sinyalinin hem yükselen hem de düşen kenarlarında (çift veri hızı veya DDR) aktarıyor ve 240 MT / sn veya 2 GB / sn bant genişliği sağlıyor. Runway veri yolu adresleri ve verileri aktarmak için kullanıldığından, kullanılabilir bant genişliği 2 GB / sn'nin% 80'i veya yaklaşık 1,6 GB / sn'dir.

PA-8500, 140 milyon transistör içerir ve 21,3 mm'ye 22,0 mm (468,6 mm2).[8] Tarafından imal edildi Intel Kurumu 0,25 μm CMOS işleminde beş seviyeli alüminyum ara bağlantı ile. 2.0 V güç kaynağı kullanır. HP, önceki PA-RISC mikroişlemcilerini imal etmek için kullanılan CMOS-14C'den daha yeni bir işlemi uygulamak için fabrikalarını yükseltmeyi bıraktıkları için PA-8500'ü kendileri üretmedi.

PA-8500, daha küçük bir 544 ped içinde paketlendi Kara şebekesi dizisi (LGA), ana önbelleklerin kalıp üzerine entegrasyonu olarak, harici önbellekler ve bunlarla ilişkili G / Ç pedleri ile iletişim kuran iki 128 bitlik veriyolunun kaldırılmasıyla sonuçlandı.

PA-8600

HP PA-8600

PA-8600 (PCX-W +), kod adı Landshark, Ocak 2000'de piyasaya sürülen PA-8500'ün bir başka geliştirmesidir. PA-8600'ün 2000 ortalarında tanıtılması amaçlanmıştır.[10] PA-8500'ün 480 ila 550 MHz'lik daha yüksek saat frekanslarına erişmesini sağlamak için ince ayarlanmış bir versiyonuydu. Sözde biren az son kullanılan Talimat önbelleği için (LRU) tahliye politikası. Intel tarafından üretildi.

PA-8700

Bir HP PA-8700 mikroişlemci

PA-8700 (PCX-W2), kod adı Piranha, PA-8600'ün geliştirilmiş bir versiyonudur. Ağustos 2001'de tanıtıldı, 625 ila 750 MHz'de çalıştı. İyileştirmeler, önceden veri getirmenin uygulanması, veri önbelleği için yarı-LRU değiştirme politikası ve 16 TB fiziksel belleğe hitap etmek için daha büyük bir 44-bit fiziksel adres alanıydı.[11] PA-8700 ayrıca daha büyük komut ve veri önbelleklerine sahiptir, kapasitesi sırasıyla% 50 artarak 0,75 MB ve 1,5 MB'ye çıkarılmıştır. PA-8700, IBM Microelectronics[12] 0.18 μm'de izolatör üzerinde silikon (SOI) Yedi seviyeli CMOS süreci bakır bağlantı ve düşük κ dielektrik.

PA-8700 +

PA-8700 +, 2002 yılının ortalarında sistemlerde piyasaya sürülen PA-8700'ün daha gelişmiş bir versiyonuydu. 875 MHz'de çalışıyordu.[12]

PA-8800

PA-8800, kod adı Mako, PA-8700'ün geliştirilmiş bir versiyonudur.[13] 2004 yılında tanıtıldı ve HP tarafından C8000 iş istasyonu ve HP 9000 Superdome sunucular. 0.8, 0.9 ve 1.0 GHz'de mevcuttu. PA-8800 bir çift ​​çekirdek tek bir kalıp üzerinde iki modifiye edilmiş PA-8700 + mikro işlemciden oluşan tasarım. Her çekirdeğin 768 KB talimat önbelleği ve 768 KB veri önbelleği vardır. Her iki çekirdeğin de aynı kalıba sığmasını sağlamak için birincil önbellekler PA-8700'dekilerden daha küçüktür.

PA-8700 üzerindeki iyileştirmeler, gelişmiş dal tahmini ve 32 MB'lık harici bir birleşik ikincil önbelleğin dahil edilmesidir. İkincil önbelleğin bant genişliği 10 GB / sn ve gecikme süresi 40 döngüdür. 4 yollu set ilişkilidir, fiziksel olarak indekslenir ve 128 baytlık bir satır boyutuyla fiziksel olarak etiketlenir. Küme ilişkilendirilebilirliği, G / Ç pimlerinin sayısını azaltmak için seçildi. L2 önbelleği, adına rağmen, dört adet 72 Mbit (9 MB) Gelişmiş Bellek Sistemleri Geliştirilmiş SRAM (ESRAM) yongası kullanılarak gerçekleştirilir. 1T-SRAMDinamik Rasgele Erişim Belleği (DRAM) SRAM benzeri bir arayüzle. Bu önbelleğe her bir çekirdek tarafından erişim, kalıp üzerindeki denetleyici tarafından kararlaştırılır ve 1 MB ikincil önbellek etiketleri de SRAM olarak kalıp üzerinde bulunur ve ECC tarafından korunur. PA-8800 aynısını kullandı ön taraf otobüs McKinley olarak Itanium 6,4 GB / sn bant genişliği sağlayan ve HP'nin Itanium yonga setleri ile uyumlu olan mikroişlemci zx1.

23,6 mm'ye 15,5 mm (365,8 mm) üzerinde 25 milyonu mantık için olmak üzere 300 milyon transistörden oluşuyordu.2) ölmek.[13] IBM tarafından 0.13 μm SOI sürecinde, bakır ara bağlantılar ve düşük dielektrik. PA-8800, eski Itanium mikroişlemcileri tarafından kullanılanlara benzer bir modül oluşturan dört ESRAM ile bir baskılı devre kartı (PCB) üzerine monte edilmiş bir seramik bilyeli ızgara dizisi içinde paketlenmiştir.

PA-8900

PA-8900, kod adı Kısa yüzgeç, PA-8800'ün bir türeviydi. Geliştirilen son PA-RISC mikroişlemcisiydi ve 31 Mayıs 2005 tarihinde mikroişlemci kullanan sistemler kullanıma sunulduğunda tanıtıldı. Kullanıldı HP 9000 sunucular ve C8000 iş istasyonu. 0.8, 0.9, 1.0 ve 1.1 GHz'de çalışıyordu. Daha önce söylendiği gibi, PA-8800'ün kalıp küçültmesi değil. L2 önbelleğinin kapasitesi ikiye katlanarak 64 MB'ye çıkarıldı, daha düşük gecikme süresine ve önbelleklerde daha iyi hata algılama ve düzeltme özelliklerine sahip. McKinley sistem veri yolunu kullanır ve HP zx1 gibi Itanium 2 yonga setleriyle uyumludur. Mikro mimari değişiklikleri olmadı, ancak kayan nokta birimi ve kalıpta önbellek devresi güç tüketimini azaltmak için yeniden tasarlandı ve ardından her bir çekirdek 1.0 GHz'de yaklaşık 35 W dağıttı.

Notlar

  1. ^ a b c d e f g h ben Hunt 1995
  2. ^ "HP, PA-8000 Sürümünü PRO Ortaklarına Duyurdu".
  3. ^ a b c Scott 1997
  4. ^ a b c d e f g Gwennap 1994
  5. ^ Gaddis 1996, s. 1697
  6. ^ Kumar, "HP PA-8000 RISC CPU"
  7. ^ Gwennap 1996
  8. ^ a b Barnes 1999
  9. ^ Gwennap 1997
  10. ^ Wermer, "HP'nin PA-8600 işlemcisi beklenenden daha erken gönderilecek".
  11. ^ Krewell 2000
  12. ^ a b ComputerWire 2002
  13. ^ a b Johnson 2001, s. 1

Referanslar

  • Barnes, Phillip (26 Şubat 1999). "Çip Önbelleğinde 1.5Mbyte olan 500 MHz 64 bit RISC CPU". Uluslararası Katı Hal Devreleri Konferansı Bildirileri.
  • ComputerWire (28 Haziran 2002). "HP'ye hazır çift çekirdekli PA-8800". Kayıt.
  • Gaddis, N .; Lotz, J. (Kasım 1996). "64-b dörtlü CMOS RISC mikroişlemci". IEEE Katı Hal Devreleri Dergisi 31 (11): sayfa 1697–1702.
  • Gwennap, Linley (14 Kasım 1994). "PA-8000 Karmaşıklık ve Hızı Birleştiriyor". Mikroişlemci Raporu, Cilt 8, Sayı 15.
  • Gwennap, Linley (28 Ekim 1996). "HP, PA-8x00 Ailesini Güçlendiriyor". Mikroişlemci Raporu, Cilt 10, Sayı 14.
  • Gwennap, Linley (17 Kasım 1997). "PA-8500'ün 1.5M Önbellek Performansına Yardımcı Olur". Mikroişlemci Raporu.
  • Hewlett-Packard Şirketi (2 Kasım 1995). HP, PRO İş Ortaklarına PA-8000 Sürümünü Duyurdu. (Basın bülteni )
  • Hill, J. Michael ve Lachman, Jonathan (2000). "Çip Üzerinde İşlemci ile 900 MHz 2,25 MByte Önbellek - Artık SOI / Cu'da". 2000 Uluslararası Katı Hal Devreleri Konferansı.
  • Hunt, D. (1995). "64-bit PA-8000'in gelişmiş performans özellikleri". CompCon Bildirileri. s. 123–128.
  • Johnson, David J. C. (16 Ekim 2001). "HP'nin Mako İşlemcisi". 2001 Mikroişlemci Forumu.
  • Krewell, Kevin (22 Mayıs 2000). "HP, PA-RISC'yi 8700 İle Genişletiyor". Mikroişlemci Raporu.
  • Kumar, Ashok (19 Ağustos 1996). "HP PA-8000 RISC CPU". Hot Chips Bildirileri VIII.
  • Lesartre, Greg; Hunt, Doug (1997). "PA-8500: PA-8000 Ailesinin Devam Eden Evrimi". CompCon Bildirileri.
  • Pountain, Dick (Temmuz 1995). "HP'nin Hızlı RISC". Bayt.
  • Scott, Anne P. vd. (Ağustos 1997). "Dört Yollu Süper Skalar PA-RISC İşlemcileri". Hewlett-Packard Dergisi.
  • Tsai, Li C. (16 Şubat 2001). "Bir 1GHz PA-RISC İşlemci". Uluslararası Katı Hal Devreleri Konferansı.
  • Wermer, Sandra (8 Mart 1999). "HP'nin PA-8600 işlemcisi beklenenden daha erken gönderilecek". HOISe.

daha fazla okuma

  • Burch, C. (1997). "PA-8000: statik ve dinamik dal tahmininde bir vaka çalışması". Uluslararası Bilgisayar Tasarımı Konferansı Bildirileri. s. 97–105.
  • Gaddis, N.B. et al. (1996). "56 girişli bir talimat yeniden sıralama tamponu". ISSCC Digest of Technical Papers. s. 212–213, 447.
  • Heikes, C .; Colon-Bonet, G. (1996). "Bir FMAC mimarisine sahip çift kayan noktalı bir yardımcı işlemci". ISSCC Digest of Technical Papers. sayfa 354–355, 472.
  • Kumar, A. (Mart 1997). "HP PA-8000 RISC CPU". IEEE Mikro. s. 27–32.
  • Lotz, J. vd. (1996). "Dört çıkışlı bir sıra dışı RISC CPU". ISSCC Digest of Technical Papers. s. 210–211, 446.
  • Naffzinger, S. (1996). "Nanosaniye altı 0,5 μm 64 b toplayıcı tasarımı". ISSCC Digest of Technical Papers. sayfa 362–363.
  • PA-8000 PA-RISC İşlemci OpenPA.net
  • PA-8200 PA-RISC İşlemci OpenPA.net
  • PA-8500 PA-RISC İşlemci OpenPA.net
  • PA-8600 PA-RISC İşlemci OpenPA.net
  • PA-8700 PA-RISC İşlemci OpenPA.net
  • PA-8800 PA-RISC İşlemci OpenPA.net
  • PA-8900 PA-RISC İşlemci OpenPA.net