SPARC
Tính năng

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" 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. 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.
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.