MIPS, acrônimo para Microprocessor without interlocked pipeline stages (microprocessador sem estágios intertravados de pipeline), é uma arquitetura de microprocessadores RISC desenvolvida pela MIPS Computer Systems.
Em meados de 1990s estimou-se que um em cada três microprocessadores RISC era MIPS.
Os processadores MIPS são usados em aplicações tais como:
Computadores da Silicon Graphics; Muitos sistemas embarcados; Dispositivos com Windows CE; Roteadores da Cisco; Videogames como Nintendo 64 e PlayStation.
Arquitetura O MIPS é uma arquitetura baseada em registrador, ou seja, a CPU usa apenas registradores para realizar as suas operações aritméticas e lógicas. Existem outros tipos de processadores, tais como processadores baseados em pilha e processadores baseados em acumuladores. Processadores baseados no conjunto de instruções do MIPS estão em produção desde 1988. Ao longo do tempo foram feitas várias melhorias do conjunto de instruções. As diferentes revisões que foram introduzidas são MIPS I, MIPS II, MIPS III, MIPS IV e MIPS V. Cada revisão é um super conjunto de seus antecessores. Quando a MIPS Technologies saiu da Silicon Graphics em 1998, a definição da arquitetura foi alterada para definir um conjunto de instruções MIPS32 de 32 bits e um MIPS64 de 64 bits.
Existem diversas extensões opcionais, incluindo MIPS-3D, que é um conjunto simples de instruções SIMD de ponto flutuante, dedicado a tarefas comuns em 3D; MDMX (MaDMaX) que é um conjunto de instruções SIMD inteiras mais extenso usando os registradores de ponto flutuante de 64 bits; MIPS16e que adicionou compressão ao fluxo de instruções de modo que os programas ocupassem menos espaço na memória; e MIPS MT, que adicionou capacidade multithreading ao MIPS.
Diversos cursos de arquitetura de computadores em universidades e escolas técnicas frequentemente estudam a arquitetura MIPS. A arquitetura influenciou fortemente projetos posteriores de arquitetura como os processadores da linha Alpha, lançado pela Digital Equipment Corporation (DEC).
História Um grupo liderado por David Patterson e Carlo Séquin, em Berkeley, desenvolveu chips processadores; para dar um nome a este conceito eles utilizaram o termo RISC, atribuindo ao chip desenvolvido por eles nessa filosofia o nome RISC I, no ano de 1980. Esse chip foi quase imediatamente seguido pelo RISC II, projetado pelos mesmos dois pesquisadores. Pouco mais tarde, em 1981, John Hennessy, pesquisador de Stanford, universidade situada do outro lado da baía de San Francisco, projetou e fabricou um chip diferente, ao qual ele deu o nome de MIPS. O conceito básico era aumentar muito o desempenho com o uso de pipelines profundos para as instruções, uma técnica que, embora boa, viria a revelar-se difícil de levar a cabo. Geralmente, um pipeline divide a tarefa de executar uma instrução em diversas etapas, executando, de forma sobreposta, várias instruções ao mesmo tempo. Porém, os projetos tradicionais da época esperavam para terminar uma instrução inteira antes de seguir adiante, deixando assim o processador sem fazer nada por boa parte do tempo enquanto uma instrução era concluída.TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2ª ed. São Paulo: Prentice Hall, 2003.
Apesar das várias dificuldades surgidas no momento da implementação de um processador com pipeline, o mais preocupante eram as medidas de verificação de término de instruções, quando estas duravam mais que um ciclo de clock. Estas medidas impedem o carregamento de novos dados antes da conclusão da instrução, provocando uma pausa no carregamento do pipeline. Isto poderia prejudicar o desempenho no futuro, mas para o projeto MIPS todas as instruções necessárias deveriam ser concluídas em um único ciclo, assim não haveria este problema. Esta foi uma escolha que simplificou e acelerou o projeto, mas também trouxe desvantagens óbvias, como a eliminação de instruções úteis, tais como multiplicação e divisão que requerem múltiplos passos. Alguns observadores notaram que o projeto MIPS (abrangendo a filosofia RISC), exige que o programador substitua as instruções de multiplicações e divisões com uma série de operações simples e, portanto, a melhoria do desempenho foi eliminada ou reduzida em boa parte.
Os analistas responsáveis pela eliminação dessas instruções foram bastante controversos, e muitos pensaram que o MIPS (RISC e processadores em geral) não se concretizaria. Se uma única instrução tem de ocorrer em meio a outras, o tempo total seria o mesmo de uma instrução executada após a outra, então onde estaria o aumento de velocidade? Esta análise simplista, não considerou que a chave para a velocidade do processador estava nos pipelines.
Hennessy começou a acreditar no potencial da arquitetura, e formou a MIPS Computer Systems, no ano de 1984. A empresa apresentou seu primeiro projeto, o R2000, em 1985 como a primeira máquina comercial RISC,TANENBAUM, Andrew S. Organização estruturada de computadores. 5ª ed. São Paulo: Pearson Prentice Hall, 2007. as falhas encontradas nesta máquina foram corrigidas com o lançamento do R3000 em 1988. Este projeto era a base da companhia na década de 1980, e foi utilizado principalmente em algumas séries de estações de trabalho da Silicon Graphics Inc. Estes projetos comerciais deram início, na Stanford, a uma série de pesquisas acadêmicas em áreas como a implementação da maioria dos bloqueios de hardware e instruções completas para a multiplicação e divisão, entre outros.
Os novos processadores criados por Hennessy eram muito diferentes dos processadores comercializados na época. Considerando que tais processadores não precisavam ser compatíveis com nenhum outro, seus projetistas tinham toda a liberdade para escolher novos conjuntos de instruções que viessem a maximizar o desempenho do sistema. Apesar de a ênfase inicial ter privilegiado instruções simples, que pudessem ser executadas rapidamente, logo ficou clara a importância de se projetarem instruções que pudessem ser iniciadas prontamente, como questão fundamental para o bom desempenho. O tempo que uma instrução leva para ser executada passou a importar menos do que a quantidade de instruções que pudessem ser iniciadas em um ciclo.
O primeiro microprocessador de 64 bits utilizando a tecnologia MIPS chega ao mercado em 1991; o R4000TM também pode executar facilmente aplicações de 32 bits mesmo que o processador esteja rodando em 64 bits. Os principais destaques do R4000TM são: 64 bits em unidade lógica aritmética (ULA) e 64 bits em espaço de endereço virtual.
A Silicon Graphics Inc., adquire a MIPS Computer Systems em 1992, dando sequência ao desenvolvimento de microprocessadores MIPS através do seu Grupo, e incorpora MIPS Technologies, Inc. como uma subsidiária de propriedade da SGI. Três anos depois o R4700 entra no mercado como uma versão de baixo custo levando o título de microprocessador do ano.
Em 1996, a arquitetura MIPS tornou-se arquitetura RISC que teve maior ascensão no mundo, com 19,2 milhões de processadores licenciados MIPS. No ano seguinte foram licenciados 48 milhões de processadores fazendo com que a arquitetura mips ultrapassesse o processador 68000 Motorola com tecnologia CISC.
Em 1998, estava claro que havia um mercado emergente onde microprocessadores 32-bit poderiam trabalhar em desktops para uso nas casas. Como o custo de projetar e fabricar microprocessadores baseados na tecnologia MIPS diminuiu, foi um grande momento para a MIPS atender diretamente o mercado. Em 30 de junho de 1998, a MIPS Technologies lançou oferta como empresa de Sociedade Anônima. E em 1999, os padrões de arquitetura MIPS64 e MIPS32 são introduzidos, incorporando todas as instruções MIPS anteriores ao conjunto destas arquiteturas e fornecendo uma base para todo o desenvolvimento futuro dos processadores MIPS.
No ano 2001 são apresentadas melhorias para as arquiteturas MIPS32 e MIPS64. Estas melhorias são intituladas como “versão 2” da arquitetura, obtendo de novo o mais alto desempenho da indústria com 32 bits disponíveis. Posteriormente é apresentado um pequeno processador, de alto desempenho e baixo consumo de energia, o MIPS32 M4K® core, projetado para múltiplos núcleos de CPU, logo substituído pelo MIPS32 24k, com núcleos de alta performance.HENNESSY, J.L. and PATTERSON, D.A. Arquiteturade Computadores: Uma Abordagem Quantitativa. 3ª ed. Rio de Janeiro: Campus, 2003.
Em 2007, a MIPS Technologies adquire a Chipidea, empresa voltada para o projeto e fabricação de semicondutores. Agora, com mais de 250 milhões de clientes ao redor do mundo, a empresa tem o controle de alguns dos produtos mais populares do mundo para o entretenimento digital, redes domésticas sem fio, e mercados de mídia portáteis. No mesmo ano anuncia uma entrada estratégica no mercado de microcontroladores com 32 bits. Também em 2007, o próprio recorde em fabricação de processadores foi mais uma vez quebrado com mais de 350 milhões de unidades expedidas durante todo o ano.
Após dez anos como uma empresa de Sociedade Anônima, a MIPS Technologies introduz o MIPS Navigator Integrated Component Suite (ICS) com o intuito de permitir que desenvolvedores giram mais facilmente o código e possam depurar e analisar sistemas Linux em MIPS-BasedTM e sistemas embarcados. Agora a MIPS Tecnologies tem cinco grandes famílias de núcleos de processador com opções de configuração robusta para uma ampla gama de mercados e aplicações, bem como quatro grandes linhas de produtos analógicos. Além disto, a MIPS Technologies em 2008 apresenta um completo portfólio de ferramentas de desenvolvimento com algumas das soluções mais avançadas da indústria para ajudar os desenvolvedores a diminuir custos e obter mais rapidamente um elevado grau de confiança no mercado.
Em 2009, a MIPS Technologies publicou informações sobre o uso do Android em processadores MIPS. Os desenvolvedores podem usar esta plataforma para dispositivos de consumo, tais como, televisores digitais, dispositivos móveis de internet, telefones celulares, players de mídia e sistemas de VoIP em casa. Também foi oferecido um programa de acesso a fabricantes de produtos, que poderão ter contato com engenheiros da empresa e fazer adaptações específicas de software e hardware utilizando o Android.
Neste mesmo ano a MIPS anunciou sua aproximação do sistema do Google durante a feira Computex, na China, mostrando um tocador de mídia residencial e uma tela LCD de 10,4 polegadas com um computador portátil rodando o sistema Android. Estes foram os primeiros produtos fora da categoria de celulares e smartphones com o sistema do Google.
Família do processador central O primeiro modelo comercial do processador MIPS, o R2000, foi anunciado em 1985. Adicionou instruções de multiplicação e divisão inteiras realizadas em múltiplos ciclos de relógio em uma unidade um tanto quanto independente dentro do chip. Novas instruções foram adicionadas para recuperar os resultados de volta dessa unidade para o banco de registradores. Ironicamente essas instruções de recuperação de resultados eram inter-travadas, o que fazia o nome MIPS ficar sem sentido.
O R2000 podia ser iniciado usando tanto a ordenação de dados no formato big-endian como no little-endian. Ele tinha 32 registradores de 32 bits de uso geral, mas o nenhum registrador de código de condição, já que os projetistas consideravam o seu uso um gargalo em potencial, uma característica que compartilhou com processadores como o AMD 29000 e o Alpha da DEC. Ao contrário de outros registradores, o apontador de instruções (PC) não era diretamente acessível.
O R2000 teve também a sustentação para até quatro co-processadores, um de que foi construído no processador central principal e segurou exceções e armadilhas, quando os outros três foram deixados para outros usos. Um destes poderia ser enchido pelo R2010 opcional FPU, que teve o thirty-two 32 registradores do bits que poderiam ser usados como dezesseis registradores 64-bit para precisão dupla.