Top Banner
US E IMPROV E EVANGELIZ E SPARC Александр Трубин Sun Campus Ambassador, УрГУ
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenSPARC

USE

IMPROVE

EVANGELIZE

SPARC

Александр ТрубинSun Campus Ambassador, УрГУ

Page 2: OpenSPARC

SPARC

SPARC – Scalable Processor ARChitecture Открытая архитектура

система команд – стандарт IEEE 1754-1994 доступна для лицензирования некоммерческая организация SPARC

International, Inc. (1989)

лицензия - 99$ SPARC V8 – 32bit SPARC V9 – 64bit

Page 3: OpenSPARC

SPARC: Возможности

RISC архитектура 128 регистров общего назначения FPU

32 single-precision (32-bit) f[0], f[1], ... , f[31] 32 double-precision (64-bit) f[0], f[2], ... , f[62] 16 quad-precision (128-bit) f[0], f[4], ... , f[60]

масштабируемость core instruction set количество реализованых register windows

big-endian (SPARC V9 – both)

Page 4: OpenSPARC

SPARC: register window

8 глобальных: %g0 – %g7 register window – 24 регистра

%o0 - %o5 – arguments out %sp, %o7 – stack pointer, sub return addr %l1 - %l7 – internal $i0 - %i5 – arguments in %fp, %i7 – frame pointer, func return address

cwp ...

Page 5: OpenSPARC

SPARC: register window

Page 6: OpenSPARC

Hello, world !.text

.align 4

.global start

start:

mov 0,%o0 ! stdout

set string,%o1 ! address of string

mov 14,%o2 ! number of bytes in string

mov 4,%g1 ! write(2) system call - write(0, string, 14);

ta 0 ! get the kernel to do syscall #4

mov 0,%o0 ! exit code 0

mov 1,%g1 ! _exit(2) system call - exit(0);

ta 0 ! get the kernel to do syscall #1

.align 4

string:

.ascii "Hello, World!\n"

Register layout for a NetBSD/SunOS system call:%g1 - syscall number (See /usr/include/sys/syscall.h)%o0 - 1st argument%o1 - 2nd argument (if there that syscall takes a 2nd arg)%o2 - 3rd argument (if there that syscall takes a 3rd arg)

Page 7: OpenSPARC

OpenSPARC: История

MAJC (Microprocessor Architecture for Java Computing)

Stanford Hydra Single-Chip Multiprocessor Kunle Olukotun

Afara Websystems 4xMIPS 10000

UltraSPARC T1 OpenSPARC ( декбарь 2005 )

Page 8: OpenSPARC

VHDL & Verilog

VHDL (Very high speed integrated circuits Hardware Description Language) — язык описания аппаратуры высокоскоростных интегральных схем. (является базовым языком при разработке аппаратуры современных вычислительных систем)

Verilog: Hello World

module main; initial begin $display("Hello world!"); $finish; endendmodule

Verilog - это язык описания аппаратуры, используемый для описания и моделирования электронных систем.

Page 9: OpenSPARC

Design flow using Verilog

Page 10: OpenSPARC

OpenSPARC

использовать as-is добавлять/убирать ядрарасширять набор

инструкцийизменять FPUдобавлять сетевые

интерфейсыредактировать интерфейс

ввода/вывода...

Simply RISC — одноядерный процессорПортирование Linux (6 недель)RAMP project

http://ramp.eecs.berkeley.edu...

Что можно делать?

Что делают?

Page 11: OpenSPARC

OpenSPARC pipeline

ALU + shift,multiply,divide, thread-select stage, cryptogtaphic co-processor

Page 12: OpenSPARC

SPARC v9 соответствие

Уровень 1 (*) Реализация корректно интерпретирует все

непривилегированные инструкции (включая прямое исполнение, имитацию или эмуляцию). Этот уровень корректно работает с приложениями пользователя и входит в архитектуру SPARC-V9 ABI

Уровень 2 Реализация корректно интерпретирует все

привилегированные и непривилегированные инструкции, а так же включает в себя всё необходимое аппаратное, програмное обеспечение и програмно-аппаратные средства(firmware) для полной и корректной реализации.

Page 13: OpenSPARC

OpenSPARC: FPGA

Page 14: OpenSPARC

OpenSPARC сообщества

Page 15: OpenSPARC

Links

http://www.opensparc.net http://www.opensparc.net/projects/ - проекты http://www.sun.com/processors/opensparc/ остальное: http://blogs.sun.com/atr

Page 16: OpenSPARC

USE

IMPROVE

EVANGELIZE

Спасибо!

Александр ТрубинSun Campus Ambassador, УрГУ

[email protected]://blogs.sun.com/atr

“open” artwork and icons by chandan: http://blogs.sun.com/chandan