Você está na página 1de 19

Arquitetura SPARC

Arquitetura e organizao de computadores



Vitor Luan Pinto Silva
Histria do SPARC
Na dcada de 1970, os Unices eram muito populares nas universidades, mas nenhum
computador pessoal era capaz de execut-los.
Alunos de tais universidades eram obrigados a utilizar sistemas de tempo compartilhado,
executando nos DEC PDP-11, VAX (muitas vezes sobrecarregados).

Motivado (entenda-se: frustrado) por esta situao, o estudante alemo Andy Bechtolsheim,
durante sua ps-graduao em Stanford (1981), constri uma estao de trabalho a partir de
peas e componentes encontrados no mercado. Esta mquina, utilizando uma CPU Motorola
68020, recebeu a alcunha 'SUN-1' (de Stanford University Network).

Vinod Khosla, indiano graduado em Stanford, viu nestas mquinas uma boa oportunidade de
negcios. Juntamente com Bill Joy e Scott McNealy, fundaram a Sun Microsystems em 1982.
At meados de 1987, os quatro empresrios resolveram projetar uma CPU, em vez de se utilizar
das Motorola.
Assim nasceu o SPARC.

Caractersticas.

O termo SPARC (Scalable Processor
ARChitecture ou Sun Palo Alto Research
Center) refere-se a uma arquitetura de
microprocessador RISC de grande escala.
SPARC uma marca registada de SPARC
Inc. International, uma organizao
estabelecida em 1989 para promover o
SPARC.

A arquitetura SPARC inspirada na
mquina RISC I de Berkeley, e seu conjunto
de instrues e organizao de
registradores fortemente baseado no
modelo RISC de Berkeley.


SPARC uma arquitetura RISC (Reduced
Instruction Set Computer) Computador com
conjunto reduzido de instrues de 32/64 bits com
pipeline.

Sua arquitetura orientada a registrador, ou seja,
poucas instrues fazem referncia memria.

uma arquitetura aberta e no-proprietria.

Sua arquitetura no possui um desenho nico.

Sua arquitetura do tipo Load/Store, sendo as
operaes restantes executadas nos registradores.

Registradores de propsito geral, controle e status.

Faz uso das Janelas de Registradores.

Reconhece trs formatos de dados.

SOLARIS
Solaris um Sistema Operacional UNIX desenvolvido pela Sun Microsystems. As primeiras
verses do Solaris (baseadas no cdigo do BSD) foram chamadas SunOS, tendo o seu nome
alterado para Solaris 2 quando passou a ser baseado no System V.

Solaris conhecido por sua acessibilidade, especial no sistemas de SPARC, tambm por dar
origem a muitas caractersticas inovativas tais como DTrace e ZFS. Solaris suporta arquiteturas
baseadas nos processadores x86 e SPARC, e um sistema que segue a especificao POSIX.
Embora seja desenvolvido historicamente como um software proprietrio, a maioria de seu
cdigo-fonte hoje em dia est disponvel como o sistema OpenSolaris.
Em sua verso 10, lanada no incio de 2005, Solaris oferece os seguintes recursos avanados:

DTrace: anlise e resoluo de problemas de performance, em tempo real;

Solaris Containers: consolidao de aplicaes em servidores de maior porte, atravs da criao
de ambientes isolados e independentes;

Predictive Self-Healing: capacidade de antecipar-se ocorrncia de falhas que possam causar
paradas crticas, isolando-as e recuperando-se;

Smarter Updating: atualizaes automticas e inteligentes atravs do Sun Update Connection;
Integrated Open Source Applications: disponibilidade de centenas de aplicaes j integradas ao
sistema;

ZFS: um novo tipo de sistema de arquivos que prov administrao simplificada, semntica
transacional, integridade de dados end-to-end e grande escalabilidade.

Gerenciamento de processos

O SOLARIS um sistema multiprogramvel, onde cada usurio pode ter vrios processos ativos
simultaneamente. Em um grande sistema, podem chegar a existir milhares de processos ativos
ao mesmo tempo. O Kernel do sistema responsvel pelo controle desses processos,
fornecendo primitivas que cuidam, por exemplo, da criao e da gerncia de processos.

Os processos so criados pela primitiva de sistema fork. Essa funo, ao ser chamada por um
processo em execuo (processo-pai), cria uma cpia igual desse processo (processo-filho), um
processo-pai pode ter vrios processos-filhos e estes tambm podem ter seus processos-filhos.
A partir da, tanto o processo-pai, quanto o processo-filho tm seu prprio espao de
endereamento. Dessa forma, as variveis de um no so visveis ao outro e vice-versa.


Diagrama esquemtico da
arquitetura do processador
SPARC:
A Figura ao lado ilustra basicamente:

A CPU (UCP Unidade Central de
Processamento), que a SUN denominou de
unidade de inteiro (IU Integer Unit).

A unidade de ponto flutuante (FPU
Floating Point Unit).

O Co-Processador (CP - Co-Processor).

O gerenciador de memria (MNU Memory
Manager Unit)

A memria cache.

Alm do barramento interno que interliga os
diferentes dispositivos e o barramento do
sistema, para ligao com a memria
principal externa e os perifricos.

Formato para dados
Inteiro sem sinal (8 / 16 / 32 e 64 bits).
Inteiro com sinal (8 / 16 / 32 e 64 bits).
Ponto flutuante (32 / 64 e 128 bits).
Obs. A arquitetura SPARC utiliza a nomenclatura
big-endian.
Registradores
Assim como a arquitetura RISC de Berkeley, a
arquitetura SPARC usa janelas de registradores. Cada
janela consiste em 24 registradores, e o nmero total de
janelas dependente de implementao, variando entre
2 e 32 janelas.
Esquema de janelas de registradores do
SPARC para trs procedimentos:
A Figura ao lado apresenta uma
implementao com oito janelas, usando um
total de 136 registradores fsicos; esse
nmero de janelas parece ser razovel. Os
registradores fsicos 0 a 7 so registradores
globais, compartilhados por todos os
procedimentos. Cada processo v
registradores lgicos numerados de 0 a 31.

Os registradores lgicos 24 a 31,
conhecidos como ins, so compartilhados
com o procedimento pai, que efetuou a
chamada; os registradores lgicos 8 a 15,
conhecidos como outs, so compartilhados
com qualquer procedimento filho ou
procedimento chamado. Essas duas partes
sobrepem-se s outras janelas. Os
registradores lgicos 16 a 23, conhecidos
como locais, no so compartilhados e no
se sobrepem a outras janelas.
Neste outro exemplo, a
figura ao lado mostra outra
viso da sobreposio de
registradores. O
procedimento que efetua a
chamada coloca os
parmetros a serem
passados em seus
registradores outs; o
procedimento chamado
trata esses mesmos
registradores fsicos como
os seus registradores ins.
Conjunto de instrues
A Tabela enumera as instrues
da arquitetura SPARC. A maioria
das instrues usa apenas
operandos em registradores.
Formato de instrues
O SPARC usa um
conjunto simples de
formatos de instruo
de 32 bits

Todas as instrues
comeam com um
cdigo de operao de
2 bits. Para certas
instrues, esse
cdigo estendido
com bits adicionais,
em algum outro lugar
no formato.
Pipeline
(O modelo UltraSPARC II ser usado como
referncia)
Pipeline
O UltraSPARC II emprega uma pipeline de instrues de nove estgios, que se divide em duas
partes para instrues de nmero inteiro e para instrues de ponto flutuante grficas.

Para uma instruo de nmero inteiro, so usados os seguintes estgios da pipeline:

Busca: at quatro instrues so buscadas na cache de instrues de cada vez. A previso de
desvio tambm feita nesse estgio.
Decodificao: esse estgio decodifica as instrues e as coloca na rea de armazenamento
temporrio de instrues.
Agrupamento: esse estgio seleciona at quatro instrues da rea de armazenamento
temporrio de instrues para despache simultneo. Desse grupo, duas instrues podem ser
instrues de nmero inteiro e outras duas, instrues de ponto flutuante ou grficas.
Execuo: as duas ULAs de nmero inteiro efetuam acesso ao banco de registradores e
executam as instrues de nmero inteiro. Esse estgio tambm calcula o endereo virtual para
instrues de carga/armazenamento.
Cache: esse estgio determina se o endereo virtual do estgio anterior resulta em acerto ou
falta na cache. Nesse estgio, as operaes na ULA do estgio de execuo geram cdigos de
condio, que so enviados para a unidade de busca antecipada e despacho de instrues, para
verificar previses de desvio anteriores. Se a previso for incorreta, as instrues anteriores
sero eliminadas da pipeline.
A pipeline de instrues de ponto flutuante compartilha os trs primeiros e os dois ltimos
estgios da pipeline de instrues de nmeros inteiros. Os quatro estgios exclusivos da pipeline
de instrues de ponto flutuante so:

R: durante esse estgio, concluda a decodificao de instrues de ponto flutuante e
instrues grficas e o banco de registradores acessado.
X1: a execuo de instrues de ponto flutuante e de instrues grficas iniciada nesse
estgio.
X2: a execuo continua durante esse estgio.
X3: a execuo se completa nesse estgio.

Evoluo
Em 1984, um time de engenheiros da Sun
Microsystems incluindo Bill Joy, se reuniu para
definir a arquitetura SPARC, baseada
profundamente nas especificaes RISC de
Patterson. A tabela mostra a linha do tempo da
SPARC.
1984 - David Patterson da UC Berkeley e Bill Joy
da Sun Microsystems comeam a desenvolver a
arquitetura.
1986 - Sun/Fujitsu implementa o primeiro
processador SPARC SPARC Verso 7
publicada.
1987 - Sun-4/260, primeria workstation baseada na
arquitetura SPARC.
1989 - Nascimento da SPARC International.
1990 - SPARC Verso 8 publicada
1991 - SPARCserver 600MP, primeiro sistema
SPARC-based multiprocessado SPARC LT,
primeiro SPARC-based laptop.
1992 - SuperSPARC I, primeiro processador
SPARC superescalar
Processador SPARClite
Laptop SPARCbook
SPARCard upgrade para PCs
1993 - Processador HyperSPARC SPARC Verso
9 publicada
1994 - Processador SuperSPARC II
Padro IEEE 1754-1994 publicado ft SPARC
computador tolerante a falhas.
1995 - Processador UltraSPARC I
Processador SPARC64
Processador SPARClet

1996 - Processador TurboSPARC
1997 - Processador UltraSPARC II
2000 - Servidor SPARC STAR
2001 - Processador UltraSPARC III
Processador SPARC64 IV
UltraSPARC III
Microprocessor Report's "Best Server/Workstation
Processor" award

2002 - SPARCblade computador em uma placa
de alta confiabilidade para aplicaes de
telecomunicaes
Laptop GENIALstation
2003 - LEON2 VHDL/V8
SPARCLETM Laptop computer
UltraSPARC III
UltraSPARC IIIi
Fujitsu SPARC64(TM) V
2004 - UltraSPARC IV
2005 - UltraSPARC IV
UltraSPARC T1
Sun's OpenSPARCTM
LEON3 VHDL/V8
2007 - Fujitsu, SPARC64(TM) VI
2008 - Fujitsu, SPARC64(TM) VII
Concluso
A arquitetura SPARC/RISC possui grandes diferenciais em relao
arquitetura CISC. Sua estrutura simples com conjunto de instrues
reduzidas alcanam grandes velocidades e desempenho se comparado a
processadores CISC de mesmo clock. Porm, esse desempenho
dependente diretamente da qualidade do cdigo gerado pelo programador
caso o cdigo seja mal desenvolvido a performance do processador
SPARC/RISC pode ser sub-utilizada.

Você também pode gostar