SPARC (Scalable Processor Architecture) là một kiến trúc tập lệnh (ISA) RISC ban đầu được phát triển bởi Sun MicrosystemsFujitsu.[1][2] Thiết kế của nó bị ảnh hưởng mạnh mẽ bởi hệ thống Berkeley RISC được phát triển trong đầu những năm 1980s. Được phát triển lần đầu tiên vào năm 1986 và được phát hành vào năm 1987,[3] SPARC là một trong những hệ thống RISC thương mại sớm thành công nhất và thành công của nó đã dẫn đến việc giới thiệu các thiết kế RISC tương tự từ một số nhà cung cấp trong suốt thập niên 1980 và 90.

SPARC
Nhà thiết kếSun Microsystems (acquired by Oracle Corporation)
Fujitsu[1][2]
Bits64-bit (32 → 64)
Ra mắt1986 (production)
1987 (shipments)
Phiên bảnV9 (1993) / OSA2017
Kiến trúcRISC
LoạiRegister-Register
EncodingFixed
BranchCondition code
EndiannessBi (Big → Bi)
Page size8 KB (4 KB → 8 KB)
Mở rộngVIS 1.0, 2.0, 3.0, 4.0
OpenYes, and royalty free
Thanh ghi
General purpose31 (G0 = 0; non-global registers use register windows)
Floating point32 (usable as 32 single-precision, 32 double-precision, or 16 quad-precision)
Một vi xử lý Sun UltraSPARC II (1997)

Việc triển khai kiến trúc 32-bit ban đầu (SPARC V7) đã được sử dụng trong các hệ thống workstationserver Sun-4, thay thế các hệ thống Sun-3 trước đó của họ dựa trên loạt bộ vi xử lý Motorola 68000. SPARC V8 đã bổ sung một số cải tiến là một phần của loạt bộ xử lý SuperSPARC được phát hành năm 1992. SPARC V9, phát hành năm 1993, giới thiệu kiến trúc 64 bit và được phát hành lần đầu tiên trong bộ xử lý UltraSPARC của Sun năm 1995. Sau đó, bộ xử lý SPARC đã được sử dụng trong các máy chủ đa xử lý đối xứng (SMP) và Truy cập bộ nhớ không đồng nhất (CC-NUMA) được sản xuất bởi Sun, Solbourne và Fujitsu, và các nhà sản xuất khác.

Thiết kế đã được chuyển cho SPARC International năm 1989, và kể từ đó kiến trúc đã được phát triển bởi các thành viên của nó. SPARC International cũng chịu trách nhiệm cấp phép và quảng bá kiến trúc SPARC, quản lý các nhãn hiệu SPARC (bao gồm SPARC do chính họ sở hữu), avà cung cấp thử nghiệm tuân thủ. SPARC International dự định phát triển kiến trúc SPARC để tạo ra một hệ sinh thái lớn hơn; SPARC đã được cấp phép cho một số nhà sản xuất, bao gồm Atmel, Bipolar Integrated Technology, Cypress Semiconductor, Fujitsu, MatsushitaTexas Instruments. Do SPARC International, SPARC hoàn toàn mở, không độc quyền và miễn phí bản quyền.

Tính đến tháng 9 năm 2017, bộ xử lý SPARC thương mại cao cấp mới nhất là SPARC64 XII của Fujitsu (ra mắt 2017 cho máy chủ SPARC M12 của họ) và SPARC M8 của Oracle ra mắt tháng 9/2017 cho các máy chủ cao cấp của họ.

Thứ Sáu, ngày 1 tháng 9 năm 2017, sau một đợt sa thải bắt đầu tại Oracle Labs vào tháng 11 năm 2016, Oracle đã chấm dứt thiết kế SPARC sau khi hoàn thành M8. Phần lớn nhóm phát triển lõi xử lý ở Austin, Texas, đã bị loại bỏ, cũng như các đội ở Santa Clara, California và Burlington, Massachusetts.[4][5] Sự phát triển SPARC tiếp tục với việc Fujitsu trở lại vai trò là nhà cung cấp hàng đầu các máy chủ SPARC, với CPU mới do khung thời gian 2020.[6]

Tính năng

sửa

Kiến trúc SPARC bị ảnh hưởng nặng nề bởi các thiết kế RISC trước đó, bao gồm RISC I và II từ University of California, BerkeleyIBM 801. Các thiết kế RISC ban đầu này được tối giản, bao gồm ít tính năng hoặc mã op nhất có thể và hướng tới thực hiện các hướng dẫn với tốc độ gần như một lệnh trong mỗi chu kỳ. Điều này làm cho chúng tương tự như kiến trúc MIPS theo nhiều cách, bao gồm cả việc thiếu các hướng dẫn như nhân hoặc chia. Một tính năng khác của SPARC bị ảnh hưởng bởi phong trào RISC sớm này là branch delay slot.

Bộ xử lý SPARC thường chứa tới 160 thanh ghi mục đích chung. Theo đặc tả kỹ thuật "Oracle SPARC Architecture 2015" một triển khai "có thể chứa từ 72 đến 640 thanh ghi 64-bit mục đích chung"[7] Tại bất kỳ thời điểm nào, chỉ có 32 trong số chúng được hiển thị ngay lập tức đối với phần mềm - 8 là một tập hợp các thanh ghi toàn cục (một trong số đó, g0, is hard-wired đến zero, vì vậy chỉ có bảy trong số chúng có thể sử dụng làm thanh ghi) và 24 cái còn lại là từ ngăn xếp thanh ghi. 24 thanh ghi này tạo thành cái được gọi là cửa sổ thanh ghi và tại chức năng lời gọi/trả về, cửa sổ này được di chuyển lên và xuống ngăn xếp thanh ghi. Mỗi cửa sổ có 8 thanh ghi cục bộ và chia sẻ 8 thanh ghi với mỗi cửa sổ liền kề. Các thanh ghi dùng chung được sử dụng để truyền các tham số hàm và trả về giá trị, và các thanh ghi cục bộ được sử dụng để giữ lại các giá trị cục bộ qua các lệnh gọi hàm.

"Khả năng mở rộng" trong SPARC xuất phát từ thực tế là đặc tả SPARC cho phép các triển khai mở rộng từ các bộ xử lý nhúng lên thông qua các bộ xử lý máy chủ lớn, tất cả đều chia sẻ cùng một tập lệnh (không đặc quyền). Một trong những tham số kiến trúc có thể mở rộng là số lượng cửa sổ thanh ghi được thực hiện; đặc tả cho phép thực hiện từ ba đến 32 cửa sổ, do đó, việc triển khai có thể chọn thực hiện tất cả 32 để cung cấp hiệu quả ngăn xếp cuộc gọi tối đa hoặc chỉ thực hiện ba để giảm chi phí và độ phức tạp của thiết kế hoặc thực hiện một số số giữa chúng. Các kiến trúc khác bao gồm các tính năng tệp đăng ký tương tự bao gồm Intel i960, IA-64, và AMD 29000.

Các kiến trúc đã trải qua một số sửa đổi. Nó đã đạt được chức năng nhân và phân chia phần cứng trong Version 8.[8][9] 64-bit (địa chỉ và dữ liệu) đã được thêm vào đặc tả SPARC Version 9 được phát hành năm 1994.

Trong SPARC Version 8, file thanh ghi dấu phẩy động có 16 thanh ghi chính xác kép. Mỗi trong số chúng có thể được sử dụng như hai thanh ghi chính xác đơn, cung cấp tổng cộng 32 thanh ghi chính xác đơn. Một cặp số chẵn của các thanh ghi chính xác kép có thể được sử dụng như một thanh ghi chính xác tứ giác, do đó cho phép 8 thanh ghi chính xác bốn. SPARC Version 9 đã thêm 16 thanh ghi chính xác gấp đôi (cũng có thể được truy cập dưới dạng 8 thanh ghi chính xác quad), nhưng các thanh ghi bổ sung này không thể được truy cập dưới dạng các thanh ghi chính xác đơn. Không có CPU SPARC nào thực hiện các hoạt động chính xác bốn phần cứng vào năm 2004.[10]

Các tập lệnh cộng và trừ được gắn thẻ thực hiện các phép cộng và trừ trên các giá trị kiểm tra xem hai bit dưới cùng của cả hai toán hạng là 0 và báo cáo tràn nếu không. Điều này có thể hữu ích trong việc thực hiện thời gian chạy cho ML, Lisp và các ngôn ngữ tương tự có thể sử dụng định dạng số nguyên được gắn thẻ.

The endianness of the 32-bit SPARC V8 architecture is purely big-endian. The 64-bit SPARC V9 architecture uses big-endian instructions, but can access data in either big-endian or little-endian byte order, chosen either at the application instruction (load-store) level or at the memory page level (via an MMU setting). The latter is often used for accessing data from inherently little-endian devices, such as those on PCI buses.

Lịch sử

sửa

Đã có ba phiên bản chính của kiến trúc. Phiên bản được xuất bản đầu tiên là SPARC Version 7 (V7) 32 bit năm 1986. SPARC Version 8 (V8), định nghĩa kiến trúc SPARC nâng cao, được phát hành vào năm 1990. Sự khác biệt chính giữa V7 và V8 là bổ sung các tập lệnh nhân và chia số nguyên và nâng cấp từ số học dấu phẩy động "extended precision" 80 bit thành số học "quad-precision" 128 bit. SPARC V8 đóng vai trò là nền tảng cho IEEE Standard 1754-1994, một tiêu chuẩn của IEEE cho kiến trúc vi xử lý 32 bit.

SPARC Version 9, kiến trúc SPARC 64-bit, phát hành bởi SPARC International năm 1993. Nó được phát triển bởi SPARC Architecture Committee gồm có Amdahl Corporation, Fujitsu, ICL, LSI Logic, Matsushita, Philips, Ross Technology, Sun Microsystems, và Texas Instruments. Thông số kỹ thuật mới hơn luôn tuân thủ với thông số kỹ thuật SPARC V9 Cấp 1 đầy đủ.

Vào năm 2002 SPARC Joint Programming Specification 1 (JPS1) đã được Fujitsu và Sun phát hành, mô tả các chức năng của bộ xử lý được triển khai giống hệt nhau trong CPU của cả hai công ty ("Commonality"). Các CPU đầu tiên phù hợp với JPS1 làUltraSPARC III của Sun và SPARC64 V của Fujitsu. Các chức năng không thuộc phạm vi của JPS1 được ghi lại cho từng bộ xử lý trong "Implementation Supplements".

Vào cuối năm 2003, JPS2 đã được phát hành để hỗ trợ CPU đa lõi. Các CPU đầu tiên phù hợp với JPS2 là UltraSPARC IV của Sun và SPARC64 VI của Fujitsu.

Đầu năm 2006, Sun đã phát hành một đặc tả kiến trúc mở rộng, UltraSPARC Architecture 2005. Điều này không chỉ bao gồm các phần không đặc quyền và hầu hết các phần đặc quyền của SPARC V9, mà còn tất cả các phần mở rộng kiến trúc được phát triển qua các thế hệ bộ xử lý UltraSPARC III, IV IV+ cũng như các tiện ích mở rộng CMT bắt đầu bằng việc triển khai UltraSPARC T1:

  • Phần mở rộng tập lệnh VIS 1 và VIS 2 và thanh ghi GSR được liên kết
  • nhiều cấp độ thanh ghi toàn cục, được kiểm soát bởi thanh ghi GL
  • Kiến trúc 64-bit MMU của Sun
  • tập lệnh đặc quyền ALLCLEAN, OTHERW, NORMALW, and INVALW
  • truy cập vào thanh ghi VET bây giờ là siêu đặc quyền
  • tập lệnh SIR hiện đang được ưu tiên

Năm 2007, Sun phát hành cập nhật đặc tả, UltraSPARC Architecture 2007, mà việc triển khai UltraSPARC T2 tuân thủ.

Tháng 8/2012, Oracle Corporation đã có sẵn một đặc điểm kỹ thuật mới, Oracle SPARC Architecture 2011, ngoài bản cập nhật tổng thể của tài liệu tham khảo, thêm các phần mở rộng tập lệnh VIS 3 và chế độ hyperprivileged vào đặc tả năm 2007.

Vào tháng 10 năm 2015, Oracle đã phát hành SPARC M7, bộ xử lý đầu tiên dựa trên đặc tả kỹ thuật mới của Oracle SPARC Architecture 2015.[7][11] Bản sửa đổi này bao gồm các phần mở rộng tập lệnh VIS 4 ivà mã hóa được hỗ trợ phần cứng và bộ nhớ được bảo mật bằng silicon (SSM) [12]

Kiến trúc SPARC đã cung cấp khả năng tương thích nhị phân ứng dụng liên tục từ triển khai SPARC V7 đầu tiên vào năm 1987 thông qua các triển khai Kiến trúc Sun UltraSPARC.

Trong số các triển khai SPARC khác nhau, SuperSPARC và UltraSPARC-I của Sun rất phổ biến và được sử dụng làm hệ thống tham chiếu cho SPEC CPU95 và CPU2000 benchmarks. UltraSPARC-II 296 MHz là hệ thống tham chiếu cho SPEC CPU2006 benchmark.

Giấy phép kiến trúc SPARC

sửa

Các tổ chức sau đây đã được cấp phép kiến trúc SPARC:

Các triển khai

sửa
Tên (codename) Model Tần số (MHz) Phiên bản Arch. Năm Tổng số luồng Tiến trình (nm) Transistors (triệu) Kích thước khuôn (mm²) Số chân IO Công suất (W) Điện thế (V) L1 Dcache (KB) L1 Icache (KB) L2 cache (KB) L3 cache (KB)
SPARC MB86900 Fujitsu[1][2][3] 14.28–33 V7 1986 1×1=1 1300 0.11 256 0–128 (unified) none none
SPARC Various 14.28–40 V7 1989–1992 1×1=1 800–1300 ~0.1–1.8 160–256 0–128 (unified) none none
MN10501 (KAP) Solbourne Computer,

Matsushita[13]

33-36 V8 1990-1991 1x1=1 1.0[14] 8 8 0-256 none
microSPARC I (Tsunami) TI TMS390S10 40–50 V8 1992 1×1=1 800 0.8 225? 288 2.5 5 2 4 none none
SuperSPARC I (Viking) TI TMX390Z50 / Sun STP1020 33–60 V8 1992 1×1=1 800 3.1 293 14.3 5 16 20 0–2048 none
SPARClite Fujitsu MB8683x 66–108 V8E 1992 1×1=1 144, 176 2.5/3.3–5.0 V, 2.5–3.3 V 1, 2, 8, 16 1, 2, 8, 16 none none
hyperSPARC (Colorado 1) Ross RT620A 40–90 V8 1993 1×1=1 500 1.5 5? 0 8 128–256 none
microSPARC II (Swift) Fujitsu MB86904 / Sun STP1012 60–125 V8 1994 1×1=1 500 2.3 233 321 5 3.3 8 16 none none
hyperSPARC (Colorado 2) Ross RT620B 90–125 V8 1994 1×1=1 400 1.5 3.3 0 8 128–256 none
SuperSPARC II (Voyager) Sun STP1021 75–90 V8 1994 1×1=1 800 3.1 299 16 16 20 1024–2048 none
hyperSPARC (Colorado 3) Ross RT620C 125–166 V8 1995 1×1=1 350 1.5 3.3 0 8 512–1024 none
TurboSPARC Fujitsu MB86907 160–180 V8 1996 1×1=1 350 3.0 132 416 7 3.5 16 16 512 none
UltraSPARC (Spitfire) Sun STP1030 143–167 V9 1995 1×1=1 470 3.8 315 521 30 3.3 16 16 512–1024 none
UltraSPARC (Hornet) Sun STP1030 200 V9 1995 1×1=1 420 5.2 265 521 3.3 16 16 512–1024 none
hyperSPARC (Colorado 4) Ross RT620D 180–200 V8 1996 1×1=1 350 1.7 3.3 16 16 512 none
SPARC64 Fujitsu (HAL) 101–118 V9 1995 1×1=1 400 Multichip 286 50 3.8 128 128
SPARC64 II Fujitsu (HAL) 141–161 V9 1996 1×1=1 350 Multichip 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 IIs (Blackbird) Sun STP1031 250–400 V9 1997 1×1=1 350 5.4 149 521 25 2.5 16 16 1024 or 4096 none
UltraSPARC IIs (Sapphire-Black) Sun STP1032 / STP1034 360–480 V9 1999 1×1=1 250 5.4 126 521 21 1.9 16 16 1024–8192 none
UltraSPARC IIi (Sabre) Sun SME1040 270–360 V9 1997 1×1=1 350 5.4 156 587 21 1.9 16 16 256–2048 none
UltraSPARC IIi (Sapphire-Red) Sun SME1430 333–480 V9 1998 1×1=1 250 5.4 587 21 1.9 16 16 2048 none
UltraSPARC IIe (Hummingbird) Sun SME1701 400–500 V9 1999 1×1=1 180 Al 370 13 1.5–1.7 16 16 256 none
UltraSPARC IIi (IIe+) (Phantom) Sun SME1532 550–650 V9 2000 1×1=1 180 Cu 370 17.6 1.7 16 16 512 none
SPARC64 GP Fujitsu SFCB81147 400–563 V9 2000 1×1=1 180 30.2 217 1.8 128 128 8192
SPARC64 GP -- 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 (Cheetah) Sun SME1050 600 JPS1 2001 1×1=1 180 Al 29 330 1368 53 1.6 64 32 8192 none
UltraSPARC III (Cheetah) Sun SME1052 750–900 JPS1 2001 1×1=1 130 Al 29 1368 1.6 64 32 8192 none
UltraSPARC III Cu (Cheetah+) Sun SME1056 1002–1200 JPS1 2001 1×1=1 130 Cu 29 232 1368 80 1.6 64 32 8192 none
UltraSPARC IIIi (Jalapeño) Sun SME1603 1064–1593 JPS1 2003 1×1=1 130 87.5 206 959 52 1.3 64 32 1024 none
SPARC64 V (Zeus) Fujitsu 1100–1350 JPS1 2003 1×1=1 130 190 289 269 40 1.2 128 128 2048
SPARC64 V+ (Olympus-B) Fujitsu 1650–2160 JPS1 2004 1×1=1 90 400 297 279 65 1 128 128 4096
UltraSPARC IV (Jaguar) Sun SME1167 1050–1350 JPS2 2004 1×2=2 130 66 356 1368 108 1.35 64 32 16384 none
UltraSPARC IV+ (Panther) Sun SME1167A 1500–2100 JPS2 2005 1×2=2 90 295 336 1368 90 1.1 64 64 2048 32768
UltraSPARC T1 (Niagara) Sun SME1905 1000–1400 UA2005 2005 4×8=32 90 300 340 1933 72 1.3 8 16 3072 none
SPARC64 VI (Olympus-C) Fujitsu 2150–2400 JPS2 2007 2×2=4 90 540 422 120–150 1.1 128×2 128×2 4096–6144 none
UltraSPARC T2 (Niagara 2) Sun SME1908A 1000–1600 UA2007 2007 8×8=64 65 503 342 1831 95 1.1–1.5 8 16 4096 none
UltraSPARC T2 Plus (Victoria Falls) Sun SME1910A 1200–1600 UA2007 2008 8×8=64 65 503 342 1831 8 16 4096 none
SPARC64 VII (Jupiter) Fujitsu 2400–2880 JPS2 2008 2×4=8 65 600 445 150 64×4 64×4 6144 none
UltraSPARC "RK" (Rock) Sun SME1832 2300 ???? canceled 2×16=32 65 ? 396 2326 ? ? 32 32 2048 ?
SPARC64 VIIIfx (Venus) Fujitsu 2000 JPS2 / HPC-ACE 2009 1×8=8 45 760 513 1271 58 ? 32×8 32×8 6144 none
LEON2FT Atmel AT697F 100 V8 2009 1×1=1 180 196 1 1.8/3.3 16 32 — style="vertical-align:middle; text-align:center" |none
SPARC T3 (Rainbow Falls) Oracle/Sun 1650 UA2007 2010 8×16=128 40 ???? 371 ? 139 ? 8 16 6144 none
Galaxy FT-1500 NUDT (China) 1800 UA2007? 201? 8×16=128 40 ???? ??? ? 65 ? 16×16 16×16 512×16 4096
SPARC64 VII+ (Jupiter-E or M3) Fujitsu 2667–3000 JPS2 2010 2×4=8 65 160 64×4 64×4 12288 none
LEON3FT Cobham Gaisler GR712RC 100 V8E 2011 1×2=2 180 1.5 1.8/3.3 4x4Kb 4x4Kb none none
R1000 MCST (Russia) 1000 JPS2 2011 1×4=4 90 180 128 15 1, 1.8, 2.5 32 16 2048 none
SPARC T4 (Yosemite Falls) Oracle 2850–3000 OSA2011 2011 8×8=64 40 855 403 ? 240 ? 16×8 16×8 128×8 4096
SPARC64 IXfx[15] Fujitsu 1850 JPS2 / HPC-ACE 2012 1x16=16 40 1870 484 1442 110 ? 32×16 32×16 12288 none
SPARC64 X (Athena)[16] Fujitsu 2800 OSA2011 / HPC-ACE 2012 2×16=32 28 2950 587.5 1500 270 ? 64×16 64×16 24576 none
SPARC T5 Oracle 3600 OSA2011 2013 8×16=128 28 1500 478 ? ? ? 16×16 16×16 128×16 8192
SPARC M5[17] Oracle 3600 OSA2011 2013 8×6=48 28 3900 511 ? ? ? 16×6 16×6 128×6 49152
SPARC M6[18] Oracle 3600 OSA2011 2013 8×12=96 28 4270 643 ? ? ? 16×12 16×12 128×12 49152
SPARC64 X+ (Athena+)[19] Fujitsu 3200–3700 OSA2011 / HPC-ACE 2014 2×16=32 28 2990 600 1500 392 ? 64×16 64×16 24M none
SPARC64 XIfx[20] Fujitsu 2200 JPS2 / HPC-ACE2 2014 1×(32+2)=34 20 3750 ? 1001 ? ? 64×34 64×34 12M×2 none
SPARC M7[21][22] Oracle 4133 OSA2015 2015 8×32=256 20 >10,000 ? ? ? ? 16×32 16×32 256×24 65536
SPARC S7[23][24] Oracle 4270 OSA2015 2016 8×8=64 20 ???? ? ? ? ? 16×8 16×8 256×2+256×4 16384
SPARC64 XII[25] Fujitsu 4250 OSA201? / HPC-ACE 2017 8×12=96 20 5500 795 1860 ? ? 64×12 64×12 512×12 32768
SPARC M8[26][27] Oracle 5000 OSA2017 2017 8×32=256 20 ? ? ? ? ? 32×32 16×32 128×32+256×8 65536
LEON4 Cobham Gaisler GR740 250 V8E 2017 1×4=4 32 1.2/2.5/3.3 4x4 4x4 2048 none
LEON5 Cobham Gaisler V8E 2019 ? ? ? ? 16-8192 none
Tên (codename) Model Tần số (MHz) Phiên bản Arch. Năm Tổng số luồng Tiến trình (nm) Transistors (millions) Kích thước khuôn (mm²) Số chân IO Công suất (W) Điện thế (V) L1 Dcache (KB) L1 Icache (KB) L2 cache (KB) L3 cache (KB)

Ghi chú:

Các hệ điều hành hỗ trợ

sửa

Các máy SPARC thường sử dụng SunOS, Solaris, của Sun hoặc OpenSolaris bao gồm các phân nhánh illumos và OpenIndiana, nhưng các hệ điều hành khác cũng có thể được dùng như NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD, và Linux.

Năm 1993, Intergraph thông báo một port của Windows NT đến kiến trúc SPARC, nhưng nó sau đó đã bị hủy bỏ.

Tháng 10/2015, Oracle thông báo một "Linux for SPARC reference platform".

Các triển khai nguồn mở

sửa

Một số triển khai mã nguồn mở hoàn toàn của kiến trúc SPARC tồn tại:

  • LEON, triển khai SPARC V8 32 bit, chịu được bức xạ, được thiết kế đặc biệt cho sử dụng trong không gian. Mã nguồn được viết bằng VHDL và được cấp phép theo GPL.
  • OpenSPARC T1, phát hành năm 2006, một triển khai 64-bit, 32 luồng tuân theo UltraSPARC Architecture 2005 và SPARC Version 9 (Level 1). Mã nguồn được viết trong Verilog, vdduwwocj cấp phép dưới nhiều giấy phép. Mã nguồnOpenSPARC T1 được cấp phép nhiều nhất theo GPL. Nguồn dựa trên các dự án nguồn mở hiện tại sẽ tiếp tục được cấp phép theo giấy phép hiện tại của họ. Các chương trình nhị phân được cấp phép theo thỏa thuận cấp phép phần mềm nhị phân.
  • S1, một lõi CPU tương thích Wishbonedựa trên thiết kế của OpenSPARC T1. Nó là một lõi UltraSPARC v9 có khả năng 4-way SMT. Giống T1, mã nguồn được cấp phép theo GPL.
  • OpenSPARC T2, phát hành năm 2008, một triển khai 64 bit, 64 luồng tuân theo UltraSPARC Architecture 2007 và SPARC Version 9 (Level 1). mã nguồn được viết trong Verilog, và được cấp phép theo nhiều giấy phép. Chủ yếu mã nguồn OpenSPARC Tdduwwocj cấp phép theo GPL. Nguồn dựa trên các dự án nguồn mở hiện tại sẽ tiếp tục được cấp phép theo giấy phép hiện tại của họ. Các chương trình nhị phân được cấp phép theo thỏa thuận cấp phép phần mềm nhị phân.

Một trình giả lập mã nguồn mở hoàn toàn cho kiến trúc SPARC cũng tồn tại:

  • RAMP Gold Lưu trữ 2021-08-22 tại Wayback Machine, một triển khai 32-bit, 64 luồng SPARC Version 8, thiết kế cho các trình giả lập dựa trên FPGA. RAMP Gold được viết bởi ~36,000 dòng lệnh SystemVerilog, và được cấp phép theo giấy phép BSD.

Siêu máy tính

sửa

Đối với HPC, Fujitsu xây dựng bộ xử lý SPARC64 fx chuyên dụng với bộ phần mở rộng hướng dẫn mới, được gọi là HPC-ACE (High Performance Computing – Arithmetic Computational Extensions).

K Computer của Fujitsu xếp thứ 1 trong danh sách TOP500 siêu máy tính từ tháng 6 năm 2011 đến tháng 11 năm 2011. Nó kết hợp 88,128 CPU SPARC64 VIIIfx, mỗi CPU có 8 lõi, với tổng cộng 705,024 lõi—gần như gấp đôi so với bất kỳ hệ thống nào khác trong TOP500 tại thời điểm đó. K Computer mạnh hơn năm hệ thống tiếp theo trong danh sách cộng lại và có tỷ lệ hiệu năng trên công suất cao nhất so với bất kỳ hệ thống siêu máy tính nào.Nó cũng xếp thứ 6 trong danh sách Green500 tháng 6 năm 2011, với số điểm 824.56 MFLOPS/W. Trong phiên bản TOP500 tháng 11 năm 2012, K Computer xếp thứ 3, sử dụng nhiều điện nhất trong số ba máy tính hàng đầu. Nó xếp thứ 85 trên bản phát hành Green500 tương ứng. Các bộ xử lý HPC mới hơn, IXfx và XIfx,đã được đưa vào các siêu máy tính PRIMEHPC FX10 vàFX100.

Tianhe-2 (số 1 TOP500 tính đến tháng 11/2014) có một số nút với bộ xử lý dựa trên Galaxy FT-1500 OpenSPARC được phát triển tại Trung Quốc. Tuy nhiên, những bộ xử lý đó không đóng góp vào LINPACK score.[28]

Xem thêm

sửa
  • ERC32 — dựa trên các đặc tả SPARC V7
  • Ross Technology, Inc. — một nhà phát triển bộ vi xử lý SPARC trong những năm 1980 và 1990
  • R1000 — bộ vi xử lý lõi tứ của Nga dựa trên đặc tả kỹ thuật SPARC V9
  • Galaxy FT-1500 — bộ xử lý OpenSPARC 16 lõi của Trung Quốc

Chú thích

sửa
  1. ^ a b c “Fujitsu to take ARM into the realm of Super”. The CPU Shack Museum. ngày 21 tháng 6 năm 2016. Truy cập ngày 30 tháng 6 năm 2019.
  2. ^ a b c “Timeline”. SPARC International. Truy cập ngày 30 tháng 6 năm 2019.
  3. ^ a b “Fujitsu SPARC”. cpu-collection.de. Truy cập ngày 30 tháng 6 năm 2019.
  4. ^ Steven J. Vaughan-Nichols (ngày 5 tháng 9 năm 2017). “Sun set: Oracle closes down last Sun product lines”. ZDNet.
  5. ^ Shaun Nichols (ngày 31 tháng 8 năm 2017). “Oracle finally decides to stop prolonging the inevitable, begins hardware layoffs”. The Register.
  6. ^ “SPARC AND SOLARIS, THE PAST AND THE FUTURE - Tales from the Datacenter”. Tales from the Datacenter (bằng tiếng Anh). ngày 30 tháng 10 năm 2017. Truy cập ngày 23 tháng 1 năm 2018.
  7. ^ a b “Oracle SPARC Architecture 2015: One Architecture... Multiple Innovative Implementations” (PDF). ngày 12 tháng 1 năm 2016. Truy cập ngày 13 tháng 6 năm 2016. IMPL. DEP. #2-V8: An Oracle SPARC Architecture implementation may contain from 72 to 640 general-purpose 64-bit R registers. This corresponds to a grouping of the registers into MAXPGL + 1 sets of global R registers plus a circular stack of N_REG_WINDOWS sets of 16 registers each, known as register windows. The number of register windows present (N_REG_WINDOWS) is implementation dependent, within the range of 3 to 32 (inclusive).
  8. ^ “SPARC Options”, Using the GNU Compiler Collection (GCC), GNU, truy cập ngày 8 tháng 1 năm 2013
  9. ^ SPARC Optimizations With GCC, OSNews, ngày 23 tháng 2 năm 2004, truy cập ngày 8 tháng 1 năm 2013
  10. ^ “SPARC Behavior and Implementation”. Numerical Computation Guide – Sun Studio 10. Sun Microsystems, Inc. 2004. Truy cập ngày 24 tháng 9 năm 2011. There are four situations, however, when the hardware will not successfully complete a floating-point instruction:... The instruction is not implemented by the hardware (such as ... quad-precision instructions on any SPARC FPU).
  11. ^ John Soat. “SPARC M7 Innovation”. Oracle web site. Oracle Corporation. Truy cập ngày 13 tháng 10 năm 2015.
  12. ^ “Software in Silicon Cloud - Oracle”. www.oracle.com.
  13. ^ “Floodgap Retrobits presents the Solbourne Solace: a shrine to the forgotten SPARC”. www.floodgap.com. Truy cập ngày 14 tháng 1 năm 2020.
  14. ^ Sager, D.; Hinton, G.; Upton, M.; Chappell, T.; Fletcher, T.D.; Samaan, S.; Murray, R. (2001). “A 0.18 μm CMOS IA32 microprocessor with a 4 GHz integer execution unit”. 2001 IEEE International Solid-State Circuits Conference. Digest of Technical Papers. ISSCC (Cat. No.01CH37177). San Francisco, CA, USA: IEEE: 324–325. doi:10.1109/ISSCC.2001.912658. ISBN 978-0-7803-6608-4.
  15. ^ “Ixfx Download” (PDF). fujitsu.com.
  16. ^ “Images of SPARC64” (PDF). fujitsu.com. Bản gốc (PDF) lưu trữ ngày 22 tháng 4 năm 2016. Truy cập ngày 29 tháng 8 năm 2017.
  17. ^ “Oracle Products” (PDF). oracle.com. Truy cập ngày 29 tháng 8 năm 2017.
  18. ^ “Oracle SPARC products” (PDF). oracle.com. Truy cập ngày 29 tháng 8 năm 2017.
  19. ^ “Fujitsu Presentation pdf” (PDF). fujitsu.com. Truy cập ngày 29 tháng 8 năm 2017.
  20. ^ “Fujitsu Global Images” (PDF). fujitsu.com. Bản gốc (PDF) lưu trữ ngày 18 tháng 5 năm 2015. Truy cập ngày 29 tháng 8 năm 2017.
  21. ^ “M7: Next Generation SPARC. Hotchips 26” (PDF). swisdev.oracle.com. Truy cập ngày 12 tháng 8 năm 2014.
  22. ^ “Oracle's SPARC T7 and SPARC M7 Server Architecture” (PDF). oracle.com. Truy cập ngày 10 tháng 10 năm 2015.
  23. ^ “Hot Chips – August 23–25, 2015 – Conf. Day1 – Oracle's Sonoma Processor: Advanced low-cost SPARC processor for enterprise workloads by Basant Vinaik and Rahoul Puri” (PDF). hotchips.org. Bản gốc (PDF) lưu trữ ngày 7 tháng 8 năm 2020. Truy cập ngày 23 tháng 8 năm 2015.
  24. ^ “Blueprints revealed: Oracle crams Sparc M7 and InfiniBand into cheaper 'Sonoma' chips”. theregister.co.uk. Truy cập ngày 29 tháng 8 năm 2017.
  25. ^ “Documents at Fujitsu” (PDF). fujitsu.com. Truy cập ngày 29 tháng 8 năm 2017.
  26. ^ “Oracle's New SPARC Systems Deliver 2-7x Better Performance, Security Capabilities, and Efficiency than Intel-based Systems”. oracle.com. Truy cập ngày 18 tháng 9 năm 2017.
  27. ^ “SPARC M8 Processor” (PDF). oracle.com. Truy cập ngày 18 tháng 9 năm 2017.
  28. ^ U.S. says China building 'entirely indigenous' supercomputer

Lỗi chú thích: Thẻ <ref> có tên “sparc-v9-whitepaper” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “fujitsu-fx1-promo” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “sun-rock-whitepaper” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “nytimes-rock-canceled” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “heise-fujitsu-s64vii” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “inquirer-fujitsu-fastest” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “oracle-t3-whitepaper” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “register-t4-next-year” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “fujitsu-m-whitepaper” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “register-oracle-t4” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “fujitsu-s64ixfx” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “sunflash-nt” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “sparclinux” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “top500-2011-06” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “green500-2011-06” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “top500-2012-11” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “green500-2012-11” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “nvidia-fastest-tianhe-1” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “fujitsu-fx10-launch” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “sparc-arch-2011” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.

Lỗi chú thích: Thẻ <ref> có tên “top500-2014-11” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.

Liên kết ngoài

sửa