SPARC
Nhà thiết kế | Sun Microsystems (acquired by Oracle Corporation) Fujitsu[1][2] |
---|---|
Bits | 64-bit (32 → 64) |
Ra mắt | 1986 (production) 1987 (shipments) |
Phiên bản | V9 (1993) / OSA2017 |
Kiến trúc | RISC |
Loại | Register-Register |
Encoding | Fixed |
Branch | Condition code |
Endianness | Bi (Big → Bi) |
Page size | 8 KB (4 KB → 8 KB) |
Mở rộng | VIS 1.0, 2.0, 3.0, 4.0 |
Open | Yes, and royalty free |
Thanh ghi | |
General purpose | 31 (G0 = 0; non-global registers use register windows) |
Floating point | 32 (usable as 32 single-precision, 32 double-precision, or 16 quad-precision) |
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 Microsystems và Fujitsu.[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.
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 workstation và server 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, Matsushita và Texas 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 | sửa mã nguồn]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, Berkeley và IBM 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 | sửa mã nguồn]Đã 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 | sửa mã nguồn]Các tổ chức sau đây đã được cấp phép kiến trúc SPARC:
- Afara Websystems
- Bipolar Integrated Technology (BIT)
- Cypress Semiconductor
- European Space Research and Technology Center (ESTEC)
- Fujitsu (và công ty con Fujitsu Microelectronics của nó)
- Gaisler Research
- HAL Computer Systems
- Hyundai
- LSI Logic
- Matra Harris Semiconductors (MHS)
- Matsushita Electrical Industrial Co.
- Meiko Scientific
- Metaflow Technologies
- Philips Electronics
- Prisma
- Ross Technology
- Solbourne Computer
- Systems & Processes Engineering Corporation (SPEC)
- TEMIC
- Weitek
Các triển khai
[sửa | sửa mã nguồn]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 | sửa mã nguồn]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 | sửa mã nguồn]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 | sửa mã nguồn]Đố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 | sửa mã nguồn]- 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 | sửa mã nguồn]- ^ 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.
- ^ a b c “Timeline”. SPARC International. Truy cập ngày 30 tháng 6 năm 2019.
- ^ a b “Fujitsu SPARC”. cpu-collection.de. Truy cập ngày 30 tháng 6 năm 2019.
- ^ Steven J. Vaughan-Nichols (ngày 5 tháng 9 năm 2017). “Sun set: Oracle closes down last Sun product lines”. ZDNet.
- ^ Shaun Nichols (ngày 31 tháng 8 năm 2017). “Oracle finally decides to stop prolonging the inevitable, begins hardware layoffs”. The Register.
- ^ “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.
- ^ 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).
- ^ “SPARC Options”, Using the GNU Compiler Collection (GCC), GNU, truy cập ngày 8 tháng 1 năm 2013
- ^ 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
- ^ “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).
- ^ John Soat. “SPARC M7 Innovation”. Oracle web site. Oracle Corporation. Truy cập ngày 13 tháng 10 năm 2015.
- ^ “Software in Silicon Cloud - Oracle”. www.oracle.com.
- ^ “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.
- ^ 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.
- ^ “Ixfx Download” (PDF). fujitsu.com.
- ^ “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.
- ^ “Oracle Products” (PDF). oracle.com. Truy cập ngày 29 tháng 8 năm 2017.
- ^ “Oracle SPARC products” (PDF). oracle.com. Truy cập ngày 29 tháng 8 năm 2017.
- ^ “Fujitsu Presentation pdf” (PDF). fujitsu.com. Truy cập ngày 29 tháng 8 năm 2017.
- ^ “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.
- ^ “M7: Next Generation SPARC. Hotchips 26” (PDF). swisdev.oracle.com. Truy cập ngày 12 tháng 8 năm 2014.
- ^ “Oracle's SPARC T7 and SPARC M7 Server Architecture” (PDF). oracle.com. Truy cập ngày 10 tháng 10 năm 2015.
- ^ “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.
- ^ “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.
- ^ “Documents at Fujitsu” (PDF). fujitsu.com. Truy cập ngày 29 tháng 8 năm 2017.
- ^ “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.
- ^ “SPARC M8 Processor” (PDF). oracle.com. Truy cập ngày 18 tháng 9 năm 2017.
- ^ 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.
<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 | sửa mã nguồn]- SPARC International, Inc.
- Oracle SPARC Processor Documentation at the Wayback Machine (archived 2019-10-13)
- SPARC Technical Documents
- OpenSPARC Architecture specification
- Hypervisor/Sun4v Reference Materials
- Fujitsu SPARC64 V, VI, VII, VIIIfx, IXfx Extensions and X / X+ Specification
- Sun – UltraSPARC Processors Documentation at the Wayback Machine (archived 2010-01-14)
- Sun – FOSS Open Hardware Documentation at the Wayback Machine (archived 2011-12-09)
- OpenSPARC at the Wayback Machine (archived 2011-02-27)
- Oracle SPARC and Solaris Public Roadmap at the Wayback Machine (archived 2018-05-25)
- Fujitsu SPARC Roadmap
- SPARC processor images and descriptions
- The Rough Guide to MBus Modules (SuperSPARC, hyperSPARC)
- SPARC Version 9, lecture by David Ditzel trên YouTube
- SPARC trên DMOZ