SPARC

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Sparc32)
Microprocessador Sun UltraSPARC II

SPARC (acrónimo para Scalable Processor ARChitecture, significa Arquitetura de Processadores Escaláveis) é uma arquitetura de processador aberta desenvolvida pela Sun em meados de 1987 baseada na arquitetura RISC. A empresa desenvolveu a sua própria implementação SPARC (UltraSPARC) e também licenciou a arquitetura para outros fabricantes, como a Fujitsu, para que produzissem processadores compatíveis. A arquitetura SPARC possui sua organização de registradores e o seu conjunto de instruções fortemente baseados no modelo RISC.

Inicialmente o processador SPARC possuía 32 bits e foi utilizado primeiramente nas estações de trabalho Sun-4, substituindo as máquinas anteriores desenvolvidas pela Sun, as quais utilizavam processadores Motorola 68000. Em 1994, os processadores SPARC evoluíram para 64 bits.

É uma arquitetura orientada a registrador, onde as únicas instruções que referenciam memória são LOAD e STORE. Seguindo modelo RISC, possui um conjunto de instruções simples, onde as operações mais complexas são realizadas via “software”.

A SPARC International é a organização criada em 1989 para gerenciar as marcas comercias SPARC e fornecer testes de conformidade. Essa organização deixou a arquitetura aberta esperando que a concorrência entre os fabricantes aumentasse o desempenho e diminuemsse os custos. Outro ponto fundamental que motivou manter arquitetura aberta foi visar um ecossistema maior para o projeto, tentando concorrer com a Intel no mundo dos computadores pessoais.

Os mais recentes projetos usando processadores SPARC são o “Venus" de oito núcleos da empresa Fujitsu Laboratories introduzido em Junho de 2009, o supercomputador "K computer", SPARC64 X "Athena" introduzido em Agosto de 2012[1] e o SPARC T5 de 16 núcleos desenvolvido pela Oracle Corporation, em março de 2013, rodando a 3,6 GHz.

A plataforma SPARC foi muito utilizada em institutos de pesquisa, principalmente na área de bioengenharia, onde auxiliou a sequenciar o genoma humano.

Recursos[editar | editar código-fonte]

A arquitetura SPARC tem profunda influência nos projetos RISC I e II da Universidade da Califórnia em Berkeley. Esses projetos originais possuíam um reduzido conjunto de instruções com o objetivo de executá-las a uma taxa de quase uma instrução por ciclo de clock. Isso fez da SPARC uma arquitetura muito similar a MIPS em vários aspectos, incluindo a não existência de instruções de multiplicar ou dividir. Outra característica do SPARC influenciada pelo movimento RISC é o Branch Delay Slot.

O processador SPARC possui normalmente até 160 registradores de uso geral. Desses 32 estão visíveis para o software, sendo 8 um conjunto de registradores globais (apenas 7 estão disponíveis, pois um é o g0, que possui sempre o valor 0) e os outros 24 são registradores de pilha. Esses 24 formam o que é chamado de Janela de Registro. Essa janela é usada para passar parâmetros de função e retorno de valores, sendo movida para cima e para baixo da pilha de registro. Cada janela tem 8 registradores locais.

A palavra Escalável vem de que o SPARC permite implementações em escala de processadores embarcados para grandes servidores, todos compartilhando o mesmo núcleo e conjunto de instruções. Um dos parâmetros que podem escalar é o numero de janelas de registros aplicadas. Pode-se implementar de 3 a 32 janelas. Optando por implementar todos os 32 para proporcionar o máximo de eficiência da pilha de chamadas ou apenas 3 para reduzir os custos e a complexidade.

A arquitetura já passou por diversas revisões. Entre as principais estão, o surgimento de múltiplos Hardwares e funcionalidades de divisão na versão 8.[2] E a evolução da arquitetura para 64 bits completos (endereços e registradores) na versão 9, publicada em 1994.

A ordenação da arquitetura SPARC V8 de 32bits é puramente big-endian. Big-endian quer dizer que os bits de maior ordem são salvos nos menores endereços, e nos maiores são armazenados os que possuem menor ordem, litte-endiam é exatamente o contrário de big-endian. A versão 9 do SPARC com 64 bits também é big-endian, porém nessa versão é possível acessar dados em qualquer ordem de byte seja no nível de instrução (load/store) ou no nível da página de memória.

História[editar | editar código-fonte]

Na década de 1970, os Unixes 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 situação, o estudante alemão Andy Bechtolsheim, durante sua pós-graduação em Stanford (1981), constrói uma estação de trabalho a partir de peças e componentes encontrados no mercado. Esta máquina, utilizando uma CPU Motorola 68020, recebeu a alcunha "SUN-1" (de Stanford University Network).

Vinod Khosla, indiano graduado em Stanford, viu nestas máquinas uma boa oportunidade de negócios. Juntamente com Bill Joy e Scott McNealy, fundaram a Sun Microsystems em 1982.

As máquinas sucessoras do "Sun-1", a Sun-2 e a Sun-3 continuaram utilizando CPUs da Motorola e assim como a Sun-1, logo se tornaram um sucesso, pois eram máquinas poderosas para a época e projetadas para trabalhar em rede, possuindo conexão Ethernet utilizando software TCP/IP para se conectar com a Arpanet, a antecessora da atual internet.

Em meados de 1987, a empresa resolveu projetar sua própria CPU tendo como base o projeto RISC II da Universidade da Califórnia em Berkeley. Surgiu o SPARC (Scalable Processor ARChitecture, que significa Arquitetura de Processadores Escaláveis). Essa nova CPU, tornou-se a base do "Sun-4" e em pouco tempo de todos os projetos da Sun Microsystems.

Inicialmente a SPARC era uma maquina com endereços e registradores de 32 bits funcionando em 36 MHz. Possuía 3 formatos de instruções com somente 55 instruções no total. Continha também uma unidade de ponto flutuante adicionando mais 14 instruções.

A arquitetura passou por duas grandes revisões. A primeira delas foi em 1990, com a publicação da SPARC Versão 8 (V8). As principais mudanças em relação à Versão 7 foram à adição de instruções de multiplicação e divisão de inteiros, e a atualização da aritmética de ponto flutuante que era de 80 bits "precisão estendida" e passou a ser de 128 bits "quad-precision". O processador SPARC V8 serviu de base para o padrão IEEE 1754-1994, um padrão IEEE para uma arquitetura de microprocessador de 32 bits.

A segunda grande modificação foi o desenvolvimento da arquitetura SPARC V9. A nona versão possuía endereços de 64 bits e registradores de 64 bits. A primeira estação de trabalho a implementar essa versão foi a UltraSPARC lançada em 1994. A UltraSPARC era retro compatível, ou seja, era compatível binária com as de 32 bits existentes.

A UltraSPARC surgiu com o intuito de manipular imagens, vídeos e outros arquivos multimídia, diferentemente das máquinas anteriores que foram projetadas para executar programas como processadores de textos e planilhas. Além de se tornar uma arquitetura de 64 bits, outras 23 instruções surgiram incluindo as VIS (Visual Instruction Set) que eram destinadas a aumento tamanho de imagens, girá-las e algumas para compreensão e descompressão de vídeos em tempo real. Além disso, a UltraSPARC visou aplicações de grandes servidores.

Em 2002 a Sun e a Fujitsu lançaram a Joint Programming Specification 1-JPS1 (Especificação de programação conjunta 1) descrevendo as funções de processador que foram identicamente implementadas nas CPUs de ambas as empresas. As primeiras CPUs seguindo a JPS1 foram a UltraSPARC III pela Sun e a SPARC64 V pela Fujitsu. As funcionalidades que não estão contidos no JPS1 são documentados para cada processador em "Suplementos de Implementação".

No início de 2006, a Sun lançou uma especificação de arquitetura estendida, Arquitetura UltraSPARC 2005. Nela, incluiu a maioria das partes privilegiadas do SPARC V9, e também todas as extensões de arquiteturas desenvolvidas através das gerações de processadores de UltraSPARC III, IV, IV +. Arquitetura UltraSPARC 2005 inclui extensões padrão da Sun e continua a ser compatível com a especificação completa SPARC V9 Nível 1.

Em Agosto de 2012 a Oracle Corporation disponibilizou uma nova especificação. A Oracle SPARC Architecture 2011, que além da atualização geral da referência, adiciona as três instruções VIS em sua especificação[3]

A arquitetura SPARC forneceu compatibilidade binária contínua de aplicativos desde a primeira implementação SPARC V7 em 1987 até as implementações da arquitetura Sun UltraSPARC.

Entre as várias implementações de SPARC, as SuperSPARC e UltraSPARC-I da Sun eram muito populares e eram usados como sistemas de referência para benchmarks como SPEC CPU95 e CPU2000. O UltraSPARC-II de 296 MHz é o sistema de referência para o benchmark SPEC CPU2006.

Suporte ao Sistema Operacional[editar | editar código-fonte]

Máquinas SPARC têm em geral utilizado SunOS, Solaris ou OpenSolaris, mas outros sistemas operacionais também são usados como NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD, e Linux.

Supercomputadores[editar | editar código-fonte]

Na Lista do TOP 500 computadores de Novembro de 2014,[4] bem como na lista de Junho[5] desse mesmo ano, o K Computer [6] da empresa Japonesa Fujitsu, figura em 4º lugar. O mesmo já esteve em primeiro lugar nas listas de junho e novembro de 2011.[7][8] O K Computer possui 88128 CPUS SPARC64 de 8 núcleos cada, operando a uma frequência de 2.0 GHz em 672 racks, e é capaz de desempenhar 10,51 quatrilhões de operações de ponto flutuante por segundo (10,51 Petaflops).

Referências

  1. «SPARC64™X: Nova geração de processador de 16 núcleos da Fujitsu para os servidores UNIX.» (PDF). Fujitsu. 29 de agosto de 2012. Consultado em 1 de novembro de 2014. Arquivado do original (PDF) em 31 de outubro de 2013 
  2. «SPARC Options.». 29 de agosto de 2012. Consultado em 3 de novembro de 2014 
  3. «Documentação Oracle SPARC Architecture 2011» (PDF). Consultado em 19 de novembro de 2014 .
  4. «Lista TOP 500 NOVEMBRO DE 2014». Consultado em 19 de novembro de 2014 
  5. «Lista TOP 500 JUNHO DE 2014». Consultado em 19 de novembro de 2014 
  6. «Computador K, empresa Fujitsu». Consultado em 3 de novembro de 2014 
  7. «Lista TOP 500 de Junho de 2011». Consultado em 3 de novembro de 2014 
  8. «Lista TOP 500 de Novembro de 2011». Consultado em 3 de novembro de 2014 
Ícone de esboço Este artigo sobre hardware é um esboço. Você pode ajudar a Wikipédia expandindo-o.