close

Güneş SPARC

Navigasyona git Aramaya git
SPARC
Sparc-logo.svg
Güneş UltraSPARCII.jpg
Bilgi
İnsan
geliştirici
yapıcı
Yayın tarihi 1987
Standardizasyon
Kullanmak Masaüstü, Sunucular
Image
Güneş UltraSparc II.

SPARC ( Scalable Processor ARC Hitecture ) büyük endian bir RISC mimarisidir . Yani, azaltılmış komut setine sahip bir mimari .

Orijinal olarak 1985 yılında Sun Microsystems tarafından tasarlanmış olup , Berkeley'deki California Üniversitesi'nden 1980 ve 1982 yılları arasında tanımlanan RISC I ve II tasarımlarına dayanmaktadır .

Sun Microsystems şirketi bu mimariyi tasarladı ve diğerlerinin yanı sıra Texas Instruments, Cypress Semiconductor, Fujitsu, LSI Logic gibi diğer üreticilere lisans verdi.

SPARC ilk açık RISC mimarisidir ve diğer mikroişlemci üreticilerinin kendi tasarımlarını geliştirebilmeleri için tasarım spesifikasyonları yayınlanmaktadır.

Bu mimarinin yenilikçi fikirlerinden biri, kolay yüksek performanslı derleyicilere ve diğer RISC mimarilerine göre yükleme/depolama talimatlarında önemli ölçüde bellek azalmasına izin veren kayıt penceresidir. Avantajlar özellikle büyük programlarda takdir edilmektedir.

SPARC CPU, temel yürütmeyi işleyen bir Tam Sayı Birimi (IU) ve gerçek sayı işlemleri ve hesaplamaları gerçekleştiren bir Kayan Nokta Birimi'nden (FPU) oluşur. UI ve FPU aynı çip üzerinde entegre olabilir veya olmayabilir.

Mimarinin resmi bir parçası olmasa da, Sun Microsystems'in SPARC sistem tabanlı bilgisayarlarında bir bellek yönetim birimi ( MMU ) ve çevresel olarak bir bellek veriyolu üzerinde düzenlenmiş büyük bir sanal adres önbelleği (talimatlar ve veriler için) bulunur. ve adresleri.

Ana özellikler

  • Ayırt edici özelliği, günlük pencerelerin kullanılmasıdır.
  • 32 32 bit tamsayı kaydı.
  • 32 32 bit kayıt (tek kesinlik için) olarak kullanılabilen 16 64 bit kayan nokta kaydı (çift hassasiyet için).
  • Adresleme modları:
    • Anında, (13-bit sabitler).
    • Doğrudan, (13-bit ofset).
    • Dolaylı, (kayıt + 13-bit ofset veya kayıt + kayıt).
  • Gecikmeli talimatlar kullanır (atlar, yükler ve depolar).
  • Bellek kullanımı:
    • 4 Gigabaytlık sanal alan.
    • Yapılandırılabilir boyuttaki sayfalarla çalışan bellek yönetim birimi (MMU).

Talimat Kategorileri

SPARC mimarisi, önceki RISC tasarımından biraz daha fazla, ancak Motorola 6800'deki tamsayı talimatlarının yarısından daha az olan yaklaşık 50 tamsayı talimatına sahiptir.

SPARC komutları beş kategoride sınıflandırılabilir:

  • YÜKLE ve DEPOLA (belleğe erişmenin tek yolu). Bu talimatlar, adreslenecek bellek adresini hesaplamak için iki kayıt veya bir kayıt ve bir sabit kullanır.
  • Aritmetik/Mantık/Shift Talimatları. Aritmetik, mantıksal ve bit kaydırma işlemlerini gerçekleştirirler. Bu komutlar, eğer 2 işlenen bir fonksiyon ise sonucu hesaplar ve sonucu bir kayıt defterinde saklar.
  • Yardımcı işlemci işlemleri. Kullanıcı arabirimi, veri yolu yönergelerinden kayan nokta işlemlerini çıkarır ve bunları FPU için sıraya koyar . FPU , kayan nokta aritmetik biriminde sabit bir sayı ile kayan nokta hesaplamaları gerçekleştirir (sayı uygulamaya bağlıdır). Kayan nokta işlemleri, UI komutları ve gerektiğinde diğer kayan nokta işlemleri ile eş zamanlı olarak yürütülür. SPARC mimarisi ayrıca ek bir yardımcı işlemci bağlantısı için bir arabirim belirtir.
  • Kontrol Talimatlarını Aktarın. Bunlara atlamalar, çağrılar, tuzaklar ve dallar dahildir. Transfer kontrolü genellikle bir sonraki komutun yürütülmesinden sonraya ertelenir, bu nedenle bir zaman kontrolü meydana geldiğinden boru hattı boşaltılmaz. Bu şekilde derleyiciler gecikmeli dallar için optimize edilebilir.
  • Kayıt kontrol talimatlarını oku/yaz. Bu talimatlar, çeşitli kontrol kayıtlarının içeriğini okumak ve yazmak için dahil edilmiştir. Genellikle kaynak veya hedef talimatta gizlidir.

Günlük pencereleri

SPARC tasarımının benzersiz bir özelliği, yazmaç çakışan penceresidir. İşlemci 32'den fazla tamsayı kaydına sahiptir, ancak bir seferde 32 görüntüler.Kayıt penceresi dönen bir tekerlekle karşılaştırılarak bir benzetme oluşturulabilir. Tekerleğin bir kısmı her zaman zeminle temas halindedir; bu nedenle, onu döndürürken tekerleğin farklı kısımlarını alıyoruz (etki, kayıt penceresinin örtüşmesi için benzerdir). Bir kaydın sonucu, bir sonraki işlem için işlenene değiştirilir ve fazladan bir Load and Store deyimine gerek kalmaz.

Mimari belirtiminin, 8'li gruplara ayrılmış 32 "görünür" kayıta sahip olması konusunda anlaşmaya varıldı.

  • r0'dan r7'ye, GLOBAL kayıtları.
  • r7'den r15'e OUTPUT kayıtları.
  • r15'ten r23'e kadar LOCAL kayıtları.
  • r24'ten r31'e kadar INPUT kayıtları.

Global kayıtlar tüm pencereler tarafından "görülür", yerel kayıtlara sadece geçerli pencere tarafından erişilebilir ve çıktı kayıtları bir sonraki pencerenin girdi kayıtları ile örtüşür (bir pencere için çıktı kayıtları çıktı kayıtları olarak konmalıdır). bir ve aynı kayıtta olmaları gerekir).

Pencere işaretçisi, o anda hangi pencerenin etkin olduğunu takip eder. Pencereleri "açmak" ve "kapatmak" için talimatlar vardır, örneğin bir "çağrı" talimatı için, kayıt penceresi saat yönünün tersine döner; "çağrı" talimatından geri dönmek için saat yönünde döner.

Bir kesme yeni bir pencere kullanır, yani yeni bir pencere açar. Pencere sayısı, genellikle 7 veya 8 olan bir uygulama parametresidir.

Günlük penceresini yavaşça daire içine almanın daha ayrıntılı alternatifi, günlükleri derleme zamanında bırakmaktır. C, Pascal vb. diller için bu strateji zor ve zaman alıcıdır. Bu nedenle, derleyici programın verimliliğini artırmak için çok önemlidir.

"Son araştırmalar, SPARC sistemlerinde bulunan ancak diğer ticari RISC makinelerinde bulunmayan pencere kayıtlarının, Lisp ve Smalltalk gibi geliştirme dilleri için mükemmel performans sağlayabildiğini gösteriyor ." (R. Blau, P. Foley, vb. 1984).

Tuzaklar ve İstisnalar

SPARC tasarımı, tam bir tuzak veya kesme setini destekler. 128 donanım kesmesini ve 128 yazılım tuzağını destekleyen bir tablo tarafından işlenirler. Kayan nokta yönergeleri tamsayı yönergeleriyle eşzamanlı olarak yürütülebilse de, kayan nokta tuzakları kesin olmalıdır çünkü FPU (tablodan) başarısız olan yönergelerin adreslerini sağlar.

Bellek koruması

Bazı SPARC talimatları ayrıcalıklıdır ve yalnızca işlemci süpervizör modundayken yürütülebilir . Korumalı modda yürütülen bu talimatlar, kullanıcı programlarının makinenin çevre birimlerine göre durumu tarafından yanlışlıkla değiştirilmemesini ve bunun tersini de sağlar. SPARC tasarımı aynı zamanda çoklu görev için gerekli olan bellek korumasını da sağlar.

SPARC, Berkeley'in tasarımı olan RISC II ile pek çok benzerliğe sahiptir. RISC II'ye benzer şekilde, Yükleme ve Saklama talimatlarının sayısını azaltmak için bir kayıt penceresi kullanır.

Sun Microsystems'e göre SPARC

Yakın zamana kadar, RISC mimarileri kayan nokta hesaplamalarına göre düşük performansa sahipti. Örneğin, IBM 801, yazılım kayan nokta işlemlerini gerçekleştirdi. Berkeley projeleri, RISC I ve RISC II, tamsayı hesaplamalarında bir VAX 11/780'den daha iyi performans gösterdi, ancak kayan nokta aritmetiğinde DEĞİL. Bu aynı zamanda Stanford işlemcisi MIPS için de geçerlidir. SPARC sistemleri ise kayan nokta hesaplamalarında optimum performans için tasarlanmıştır ve ANSI/IEEE 754 kayan nokta standardında belirtildiği gibi işlenenlerde ve işlemlerde tek, çift ve genişletilmiş kesinliği destekler.

Kayan nokta hesaplamalarında yüksek performans, UI ve FPU'nun birlikteliğinden kaynaklanmaktadır. UI (Tamsayı Birimi), FPU (Kayan Nokta Birimi) işlemleri ve hesaplamaları yürütürken "yükleme" ve "depolama" işlemlerini gerçekleştirir.

SPARC sistemleri, çip üretim tekniklerindeki iyileştirmeler sonucunda yüksek hızlara ulaşıyor.

SPARC sistemi çok yüksek performans seviyeleri sunar. Mimarinin esnekliği, gelecekteki sistemleri ilk uygulamadan çok daha iyi zamanlara sahip hale getirir. Ayrıca, açık mimari, teknolojik gelişmeleri neredeyse ortaya çıkar çıkmaz özümseyerek bunu mümkün kılar.
[ alıntı gerekli ]

Uygulamalar

SPARC

  • İlk nesil 1987'de piyasaya sürüldü.
  • 16 ila 50 MHz arasında saat frekansları.
  • Skaler tasarım.

SÜPER SPARC

  • İkinci nesil 1992'de piyasaya sürüldü.
  • 33 ila 50 MHz arasında saat frekansları.
  • süper skaler tasarım

ULTRA SPARC II

  • 1996 yılının ortalarında yayınlandı.
  • 64 bit, 4 aşamalı süper skaler mimari.
  • Beş kayan nokta birimi.
  • 250 ile 300 MHz arası hızlar.

Gelişmiş Ürün Grubu (APL)

  • 2004 ortalarında yayınlandı.
  • Sun Microsystems ve Fujitsu arasındaki iş anlaşması
  • 64 bit SPARC V9 tasarımında desteklenen süper skaler mimari.
  • 1,35 ile 2,7 GHz arasında hızlar.

Sun Microsystems , Cray Research , Fujitsu / ICL ve diğerleri tarafından kullanılır .

SPARC mikroişlemci özellikleri

Bu tablo belirli SPARC işlemcilerinin özelliklerini içerir: frekans ( megahertz ), mimari versiyonu, yayın yılı, iş parçacığı sayısı (çekirdek başına iş parçacığı sayısı ile çekirdek sayısı), üretim süreci ( nanometre ), transistör sayısı ( milyon), kalıp boyutu (mm²), giriş/çıkış pin sayısı , harcanan güç (watt), voltaj ve veri boyutları, komut, L2 ve L3 önbellekleri (kibibayt).

İsim modeli Frekans (MHz) Ark versiyonu. Yıl Toplam iş parçacığı [ not 1 ] İşlem (nm) Transistörler (milyon) Matris boyutu (mm²) ES pinleri Tüketim (W) Gerilim (V) Önbellek D L1 (KiB) önbellek I L1 (KiB) L2 önbellek (KiB) L3 önbellek (KiB)
SPARC (çeşitli), MB86900 dahil [ not 2 ] 14.28–40 V7 1987–1992 1×1=1 800–1300 ~0.1–1.8 -- 160–256 -- -- 0–128 (birleşik) P/N P/N
microSPARC I (Tsunami) BT TMS390S10 40-50 V8 1992 1×1=1 800 0,8 225? 288 2.5 5 iki 4 P/N P/N
SuperSPARC I (Viking) TI TMX390Z50 / Güneş STP1020 33-60 V8 1992 1×1=1 800 3.1 -- 293 14.3 5 16 yirmi 0-2048 P/N
SPARClite Fujitsu MB8683x 66–108 V8E 1992 1×1=1 -- -- -- 144, 176 -- 2.5/3.3V-5.0V, 2.5V-3.3V 1, 2, 8, 16 1, 2, 8, 16 P/N P/N
hyperSPARC (Colorado 1) Ross RT620A 40–90 V8 1993 1×1=1 500 1.5 -- -- -- 5? 0 8 128-256 P/N
microSPARC II (Hızlı) Fujitsu MB86904 / Güneş STP1012 60–125 V8 1994 1×1=1 500 23 233 321 5 3.3 8 16 P/N P/N
hyperSPARC (Colorado 2) Ross RT620B 90–125 V8 1994 1×1=1 400 1.5 -- -- -- 3.3 0 8 128-256 P/N
SuperSPARC II (Yolcu) Güneş STP1021 75-90 V8 1994 1×1=1 800 3.1 299 -- 16 -- 16 yirmi 1024-2048 P/N
hyperSPARC (Colorado 3) Ross RT620C 125–166 V8 bindokuzyüz doksan beş 1×1=1 350 1.5 -- -- -- 3.3 0 8 512-1024 P/N
TurboSPARC Fujitsu MB86907 160–180 V8 bin dokuz yüz doksan altı 1×1=1 350 3.0 132 416 7 3.5 16 16 512 P/N
UltraSPARC (Spitfire) Güneş STP1030 143–167 V9 bindokuzyüz doksan beş 1×1=1 470 3.8 315 521 30 [ not 3 ] 3.3 16 16 512-1024 P/N
UltraSPARC (Eşek arısı) Güneş STP1030 200 V9 1998 1×1=1 420 5.2 265 521 -- 3.3 16 16 512-1024 P/N
hyperSPARC (Colorado 4) Ross RT620D 180–200 V8 bin dokuz yüz doksan altı 1×1=1 350 1.7 -- -- -- 3.3 16 16 512 P/N
SPARC64 Fujitsu (HAL) 101–118 V9 bindokuzyüz doksan beş 1×1=1 400 -- çoklu çip 286 elli 3.8 128 128 -- --
SPARC64II Fujitsu (HAL) 141-161 V9 bin dokuz yüz doksan altı 1×1=1 350 -- çoklu çip 286 64 3.3 128 128 -- --
SPARC64 III Fujitsu (HAL) MBCS70301 250–330 V9 1998 1×1=1 240 17.6 240 -- -- 2.5 64 64 8192 --
UltraSPARC II'ler (Kara Kuş) Güneş STP1031 250–400 V9 1997 1×1=1 350 5.4 149 521 25 [ not 4 ] 2.5 16 16 1024 veya 4096 Yok
UltraSPARC II'ler (Safir-Siyah) Güneş STP1032 / STP1034 360–480 V9 1999 1×1=1 250 5.4 126 521 21 [ not 5 ] 1.9 16 16 1024-8192 P/N
UltraSPARC III (Kılıç) SunSME1040 270–360 V9 1997 1×1=1 350 5.4 156 587 yirmi bir 1.9 16 16 256–2048 P/N
UltraSPARC IIIi (Safir Kırmızısı) SunSME1430 333–480 V9 1998 1×1=1 250 5.4 -- 587 21 [ not 6 ) 1.9 16 16 2048 P/N
UltraSPARC IIe (Sinek Kuşu) SunSME1701 400–500 V9 1999 1×1=1 180 Al -- -- 370 13 [ not 7 ] 1.5-1.7 16 16 256 P/N
UltraSPARC IIIi (IIe+) (Hayalet) SunSME1532 550–650 V9 2000 1×1=1 180 Cu -- -- 370 17.6 1.7 16 16 512 P/N
SPARC64GP Fujitsu SFCB81147 400–563 V9 2000 1×1=1 180 30.2 217 -- -- 1.8 128 128 8192 --
SPARC64GP -- 600-810 V9 -- 1×1=1 150 30.2 -- -- -- 1.5 128 128 8192 --
SPARC64 IV Fujitsu MBCS80523 450-810 V9 2000 1×1=1 130 -- -- -- -- -- 128 128 2048 --
UltraSPARC III (Çita) SunSME1050 600 V9 / JPS1 2001 1×1=1 180 Al 29 330 1368 53 1.6 64 32 8192 P/N
UltraSPARC III (Çita) GüneşSME1052 750–900 V9 / JPS1 2001 1×1=1 130 Al 29 -- 1368 -- 1.6 64 32 8192 P/N
UltraSPARC III Cu (Çita+) SunSME1056 1002–1200 V9 / JPS1 2001 1×1=1 130 Cu 29 232 1368 80 [ not 8 ] 1.6 64 32 8192 Yok
UltraSPARC IIIi (Jalapeno) SunSME1603 1064–1593 V9 / JPS1 2003 1×1=1 130 87.5 206 959 52 1.3 64 32 1024 P/N
SPARC64V (Zeus) fujitsu 1100-1350 V9 / JPS1 2003 1×1=1 130 190 289 269 40 1.2 128 128 2048 --
SPARC64 V+ (Olympus-B) fujitsu 1650–2160 V9 / JPS1 2004 1×1=1 90 400 297 279 65 1 128 128 4096 --
UltraSPARC IV (Jaguar) Güneş KOBİ1167 1050-1350 V9 / JPS1 2004 1×2=2 130 66 356 1368 108 1.35 64 32 16384 P/N
UltraSPARC IV+ (Panter) Güneş SME1167A 1500–2100 V9 / JPS1 2005 1×2=2 90 295 336 1368 90 1.1 64 64 2048 32768
UltraSPARC T1 (Niagara) Güneş KOBİ1905 1000–1400 V9 / AU 2005 2005 4×8=32 90 300 340 1933 72 1.3 8 16 3072 P/N
SPARC64 VI (Olympus-C) fujitsu 2150–2400 V9 / JPS1 2007 2×2=4 90 540 422 -- 120 -- 128x2 128x2 6144 P/N
UltraSPARC T2 (Niagara 2) Güneş SME1908A 1000–1600 V9 / AU 2007 2007 8×8=64 65 503 342 1831 95 1.1–1.5 8 16 4096 P/N
UltraSPARC T2 Plus (Victoria Şelaleleri) Güneş SME1910A 1200–1600 V9 / AU 2007 2008 8×8=64 65 503 342 1831 - - 8 16 4096 P/N
SPARC64 VII (Jüpiter) [ 1 ] fujitsu 2400–2880 V9 / JPS1 2008 2×4=8 65 600 445 -- 150 -- 64x4 64x4 6144 P/N
UltraSPARC "RK" ( Kaya ) [ 2 ] Güneş KOBİ1832 2300 V9 / -- iptal edildi [ 3 ] 2×16=32 65 ? 396 2326 ? ? 32 32 2048 ?
SPARC64 VIIIfx (Venüs) [ 4 ] ​[ 5 ] fujitsu 2000 V9 / JPS1 2009 1x8=8 Dört beş 760 513 1271 58 ? 32x8 32x8 6144 P/N
SPARC T3 (Gökkuşağı Şelalesi) Oracle/Güneş 1650 V9/AU _?_ 2010 8×16=128 40 [ 6 ] ???? 371 ? 139 ? 8 16 6144 Yok
SPARC64 VII+ (Jüpiter-E veya M3) [ 7 ] ​[ 8 ] fujitsu 2667-3000 V9 / JPS1 2010 2x4=8 65 - - - 160 - 64x4 64x4 12288 P/N
MCST-4R MCST (Rusya) 750-1000 V9 2010 1x4=4 90 150 115 - on beş 1 32 16 2048 P/N
SPARC T4 (Yosemite Şelaleleri) [ 9 ] kehanet 2850-3000 V9/OSA2011? 2011 8×8=64 40 855 403 ? 240 ? 16x8 16x8 128x8 4096
SPARC64 IXfx [ 10 ] ​[ 11 ] fujitsu 1850 V9 / JPS1? 2012 1x16=16 40 1870 484 1442 110 ? 32x16 32x16 12288 P/N
SPARC64 X fujitsu ????-3000 V9 / JPS 2012 2x16=32 28 2950 587.5 1500 ? ? 64x16 64x16 24576 P/N
SPARC T5 kehanet 3600 V9/OSA2011? 2013 8×16=128 28 ? ? ? ? ? 16x8 16x8 128x16 8192
SPARC M5 kehanet 3600 V9/OSA2011? 2013 8×6=48 28 ? ? ? ? ? 16x6 16x6 128x6 49152
SPARC M6 kehanet 3600 V9/OSA2011? 2013 8×12=96 28 ? ? ? ? ? 16x12 16x12 128x12 49152
Ad (kod adı) modeli Frekans (MHz) Ark versiyonu. Yıl Toplam iş parçacığı [ not 1 ] İşlem (nm) Transistörler (milyon) Matris boyutu (mm²) ES pinleri Tüketim (W) Gerilim (V) Önbellek D L1 (KiB) önbellek I L1 (KiB) L2 önbellek (KiB) L3 önbellek (KiB)

Notlar :

  1. ↑ çekirdek başına a b diş × çekirdek sayısı
  2. ^ SPARC V7'nin çeşitli uygulamaları Fujitsu, LSI Logic , Weitek, Texas Instruments ve Cypress tarafından yapılmıştır. Bir SPARC V7 işlemcisi genellikle , genellikle bir tamsayı birimi (IU), bir kayan nokta birimi (FPU), bir bellek yönetim birimi (MMU) ve önbellek içeren birkaç ayrı IC'den oluşur .
  3. 167MHz'de
  4. 250MHz'de
  5. 400MHz'de
  6. 440MHz'de
  7. maksimum 500 MHz'de
  8. 900MHz'de

Dış bağlantılar

  1. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıfujitsu-fx1-promo
  2. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadısun-rock-whitepaper
  3. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadınytimes-rock-canceled
  4. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıheise-fujitsu-s64vii
  5. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıinquirer-fujitsu-fastest
  6. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıoracle-t3-whitepaper
  7. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıregister-t4-next-year
  8. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıfujitsu-m-whitepaper
  9. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıregister-oracle-t4
  10. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıfujitsu-s64ixfx
  11. Alıntı hatası: Geçersiz etiket <ref>; çağrılan referansların içeriği tanımlanmadıfujitsu-fx10-launch