Laptop info

September 30, 2007

Laptop | Survivalism

Filed under: Uncategorized — admin @ 7:02 am

Survivalism (ou Halo 23) é o primeiro single do álbum Year Zero, do Nine Inch Nails. É o vigésimo terceiro lançamento oficial da banda. A canção “Survivalism” é a terceira faixa do álbum.<ref>nine inch nails: year zero. NIN.com. Retirado em 12 de Fevereiro de 2007.</ref> Com lançamento marcado inicialmente para 5 de Março de 2007, na Europa, foi informado em 4 de Março que o lançamento do single foi adiado<ref>Current. NIN.com (4 de Março de 2007). Retirado em 10 de Março de 2007.</ref> e tem nova data prevista para 30 de Março de 2007.<ref>Survivalism (Halo). NIN Wiki. Retirado em 11 de março de 2007.</ref>

Em 14 de Fevereiro, um trecho da música, na verdade o refrão de “Survivalism” pode ser ouvido ligando para o número de telefone 1-310-295-1040, o qual foi encontrado no Valentine’s Day de 2007 juntando numerais descoloridos na parte de trás de uma camisa de turnê.<ref>a new message?. Echoing the Sound (2007-02-14). Retirado em 18 de Fevereiro de 2007.</ref>

A canção fez sua estréia no dia seguinte na rádio 102.1 The Edge em Toronto, Canadá e em 16 de Fevereiro, foi tocada oficialmente em estações de rádio dos Estados Unidos. A música também está disponível no MySpace do Nine Inch Nails, junto com outras canções do Year Zero.<ref>NIN Myspace. myspace.com (16 de Fevereiro de 2007). Retirado em 18 de Fevereiro de 2007.</ref>

Em 13 de Março, a banda liberou a música em formato Garageband, assim como havia feito com “The Hand That Feeds” e “Only”; os vários canais separados para qualquer fã fazer um remix da música. A intenção é lançar todas as faixas do novo álbum em formato Garageband nos próximos meses.<ref>Survivalism released in Garageband format. The NIN Hotline (13 de Março de 2007). Retirado em 13 de março de 2007</ref>

“Survivalism” foi tocada ao vivo pela primeira no show do dia 19 de Fevereiro, em Barcelona, Espanha.

Contents


Tema

Survivalism (que em português seria algo como Sobrevivêncialismo) é um termo comumente usado para a subcultura ou movimento de pessoas que antecipam e se preparam para uma futura ruptura na ordem local, regional ou mundial, seja social ou política.


Video Clipe

Nine Inch Nails começou a filmar o vídeo para “Survivialism” em 5 de Fevereiro de 2007, na área de Los Angeles.<ref>Nine Inch Nails to film ‘Survivalism’ video next week. Blabbermouth.net. Retirado em 12 de Fevereiro de 2007.</ref> Em 7 de Março de 2007, no mini-site de Year Zero apareceu uma tarja cinza atrás do título da música na relação de faixas do site, indicando que, assim como acontecera anteriormente, ela seria revelada. Como a música já havia sido, tratava-se do videoclipe. No mesmo dia, quando Nine Inch Nails tocou na Carling Academy Brixton em Londres, Inglaterra, USB pen drives contendo versões em resoluções alta e baixa do vídeo foram entregues a alguns dos presentes no concerto.<ref>Survivalism video found on USB drives. The NIN Hotline (07/03/2007). Retirado em 13 de março de 2007.</ref> Pouco depois, o vídeo já circulava na internet.

O vídeo mostra a vida de pessoas distintas através de câmeras de vigilância instaladas em um bloco de apartamentos, bem ao estilo Big Brother, do livro 1984 de George Orwell. As câmeras mostram:

  • Um casal mais velho assistindo televisão com um retrato de Jesus atrás deles
  • Um homem cuidando de sua esposa enquanto ela está tendo uma overdose (possivelmente pelo uso da droga fictícia opal)
  • Uma mulher aiática de topless passando maquiagem no banheiro
  • Um homem sozinho sentado em sua mesa olhando para sua comida
  • Um casal gay fazendo sexo na cama
  • Três homens trabalhando em uma workshop com stencils e mais tarde em um beco.
  • Um homem em seu cubículo surfando pela internet com seu laptop da Apple
  • Nine Inch Nails tocando a canção em um quarto fechado

Há também câmeras que mostram corredores e escadas dentro do bloco de apartamentos. Depois de quase 1 minuto, três telas mostram uma equipe da SWAT armada com sub-metralhadoras se reunindo do lado de fora do bloco. Eles entram em formação, e eventualmente arrombam uma porta que contem letras em stencil escrito “REV1A 3•4″ e entram no apartamento. O barulho é ouvido por todos os residentes, que param o que estavam fazendo e vão investigatar, logo após retornando a suas atividades normalmente. Nessa hora, algumas câmeras foram desligadas e mostram estática. A banda não está mais no quarto, e a cena final é um membro da equipe da SWAT arrastando o corpo sangrando de Trent, por um canto.

A passagem da Bíblia escrita na porta é de Apocalipse, uma passagem falando da destruída cidade-nação da Babilônia e descrevendo como ela foi corrompida por luxúria e adultério, e como as pessoas estão sendo chamadas para deixar esta nação indecente para trás e não tomar parte em sua imoralidade para deixar de compartilhar do julgamento dela.

O cronômetro no monitor às vezes muda o último número por uma letra. isto eventualmente forma a frase “THE_WATER_TURNED_TO_BLOOD.” Diversos versos bíblicos que se referem a àgua e sangue são mostrados pelo vídeo. “Isaías 15:9″ no grafite na parede, “João 19:34″ na figura de Jesus atrás do casal, e “II Reis 3:22″ e “Êxodo 7:21″ no quadro atrás do homem com o computador. Isto levou a descoberta do sítio thewaterturnedtoblood.com. A página principal parece não ter mais que uma figura e alguns textos sem sentido, mas contém scripts que pedem senhas e remetem a outros arquivos. O texto que fica na parte de baixo da página e começa com “For The Lord said…” contém escondido um nome, que aparece duas vezes: francescafrancesca


Faixas


CD Promocional

01. “Survivalism” (LP version) – 4:22
02. “Survivalism” (edit) – 4:22


CD Single

01. Survivalism
02. Survivalism (Tardusted Mix)
03. The Greater Good (Instrumental)
04. Survivalism (Video)


Posições nas paradas

“Survivalism” foi tocada 501 vezes e estreou na 28ª posição na parada Modern Rock Tracks da Billboard na semana terminando em 23 de Fevereiro de 2007. Desde então, subiu para a 2ª posição, tornando-se o quarto single consecutivo do NIN a chegar ao top 10.<ref>Alternative National Airplay. Radio & Records, Inc (30 de Março de 2007). Retirado em 1 de Abril de 2007.</ref>


Créditos

  • Trent Reznor - letras, performance e produção
  • Atticus Ross - produção
  • Saul Williams - vocais de apoio


Referências


==

  • Página oficial do Nine Inch Nails
  • Nine Inch Nails no MySpace

September 29, 2007

Laptop | DJ

Filed under: Uncategorized — admin @ 11:01 pm

Um disc jockey (DJ ou dee jay) é um artista profissional que seleciona e roda as mais diferentes composições previamente gravadas para um determinado público alvo, trabalhando seu conteúdo e diversificando seu trabalho em pistas de dança de bailes, clubes, boates e danceterias.

Contents


Etimologia do termo

O termo disc jockey foi primeiramente utilizado para descrever anunciantes de rádio que introduziam e tocavam discos de gramofone. O nome foi logo encurtado para DJ. Hoje, diante dos numerosos fatores envolvidos, incluindo a composição escolhida, o tipo de público alvo, a lista de canções, o meio e o desenvolvimento da manipulação do som, há diferentes tipos de DJs, sendo que nem todos usam na verdade discos, alguns podem tocar com CDs, outros com laptop (emulando com softwares]] como Traktor Final Scratch, Virtual DJ, Serato Scratch Live e DJ Decks), entre outros meios. Há também aqueles que mixam sons e vídeos, mesclando seu conteúdo ao trabalho desenvolvido no momento da apresentação musical.


Técnicas e estilos

DJs que atuaram até o meio da década de 1990 utilizavam apenas discos de vinil em suas apresentações. Em que pese o fato de já existirem CDs antes disso, não haviam equipamentos que permitissem o sincronismo da música entrante com a música em execução (ajuste do pitch para posterior mixagem). A forma como esta ação de mixagem é realizada, aliás, é o principal diferencial entre os profissionais desta área.

Um DJ tem a percepção musical de saber quais composições possuem velocidades (mensuradas em batidas por minuto) próximas ou iguais, de forma que uma alteração em um ou dois por cento da velocidade permite com que o compasso das mesmas seja sincronizado e mixado, e o público não consiga notar que uma faixa está acabando e outra está iniciando, pois as duas faixas estão no mesmo ritmo, métrica e velocidade.

DJs das décadas de 1980 e 1990 sincronizavam a composição mixada (entrante) regulando a velocidade do prato do toca-discos, com o cuidado de fazer com que a agulha não escapasse do sulco do vinil (que na prática faz com que a música “pule”) e também com que o timbre da voz da música não ficasse, por demais, alterada com a velocidade muito alta ou muito baixa do prato. Esta alteração da velocidade era possível em toca-discos que possuem o botão chamado pitch. O toca-disco mais famoso, nesta época, era o Technics SL-1200 MK-2, que até hoje é vendido e procurado por profissionais e amantes do vinil pela robustez e força que o seu motor de tracção directa apresenta.

Após a popularização do CD, fabricantes como Pioneer, Technics e Numark desenvolveram aparelhos do tipo CD player com recursos próprios para DJ. Conhecidos como CDJs, possuem botões especiais para alteração de pitch, de retorno da faixa, de marcação de ponto (efeito cue) e looping. O timbre da música passou a ser controlado (opcionalmente) por um acionador específico, normalmente conhecido como Master Tempo. Com este recurso, mesmo que a composição esteja extremamente acelerada (ou desacelerada), o timbre da voz, teclados, guitarras, etc. é mantido, driblando de certa forma a capacidade de percepção do público, em notar que determinado som está tocando em velocidade diferente da normal. Além disso, não há mais o risco de o disco pular, apesar de o cuidado em se limpar as mídias de CD ser o mesmo, pois uma mancha em uma mídia óptica pode prejudicar e até interromper a canção em execução. Outra facilidade destes equipamentos é marcar o ponto de início da música (designado cue point). Assim, um DJ com um simples toque no botão pode retornar ao ponto de partida poucos segundos antes de mixar a música sobre a que está sendo executada.

Atente-se aqui para o fato de que, além do talento musical obrigatório a um DJ em se conhecer aproximadamente o tempo das composições que ele pretende mixar durante sua apresentação, o mesmo também deve conhecer onde, quando e se uma composição ou determinada versão desta possui uma região (geralmente sem vocal, com batidas secas e pouco ou nenhum aparecimento de guitarras e teclados) popularmente conhecida como quebrada, onde é possível entrar a próxima composição sem que o resultado fique confuso (com dois vocais de canções diferentes “falando” ao mesmo tempo, por exemplo). Este capricho é obrigatório para profissionais que fazem mixagens ao vivo, tanto com vinil quanto com CDs.

O DJ é, no fim das contas, um animador de eventos. Este deve conhecer canções o suficiente para saber como e quando mixá-las, deve sentir a vibração do público que o está ouvindo, e saber mudar um estilo na hora certa, para que a pista não esvazie. Deve ser o mais eclético possível, ou deixar bastante claro ao seu público e ao seu contratante qual é seu estilo ou tendência. Existem DJ especializados em raves. Outros, que se dedicam a canções que já fizeram sucesso a oito, dez ou vinte anos atrás.


Compactos

As versões das canções que um DJ utiliza não são, geralmente, as mesmas versões que normalmente se ouve em videoclipes ou estações de rádio. Para cada nova canção que é lançada no mercado, desde a década de 1970, a gravadora lança um disco (ou CD) específico, denominado compacto, para aquela canção. No caso do vinil, um compacto também pode ser conhecido como doze polegadas. Em CD, este é conhecido como 5 (cinco) polegadas. Um compacto é um disco ou CD que possui uma mesma canção em várias versões, produzidas especialmente para mixagens ou amantes de versões alternativas. Enquanto uma versão normal de canção possui normalmente de três a quatro minutos de duração, uma versão de compacto pode durar até quinze minutos, com grandes introduções, quebradas, edições, reprises de vocal etc.. Estas versões alteradas também são conhecidas como remixagens, versões 12, versões club, versões estendidas. Um compacto também pode conter versões instrumentais e a cappella. Enquanto um álbum de coletânea de determinado artista pode possuir um nome qualquer, um compacto sempre tem o nome da canção que nele está gravada, mesmo que o disco tenha apenas uma versão da canção que o nomeia.


Composição digital

Já no fim do século XX, com a popularização do formato MPEG-3 (popularmente conhecido como MP3) para canções digitais, de programas de compartilhamento de arquivos como o Napster e o surgimento de programas de edição musical, surgiu uma nova casta de editores musicais auto-denominados DJs. Apesar de estes possuírem, as vezes, até certo talento para música, pois precisam alterar uma faixa para mixar na anterior, tem seu trabalho extremamente facilitado e, portanto, não são bem vistos por profissionais que executam seu trabalho ao vivo em clubes, casas, discotecas e eventos.

A mixagem em computador é feita de forma caseira, e não há o julgamento do público ao trabalho sendo feito ao vivo. O que o público irá ouvir é uma mixagem feita em estúdio e já gravada. Caso uma canção seja alterada e mixada com a anterior, mas o resultado não seja o esperado pelo editor (timbres, batidas ou compassos dessincronizados, por exemplo), a ação de mixagem pode ser desfeita e refeita quantas vezes forem necessárias. Assim, o resultado final é uma mixagem tão perfeita quanto artificial.

Porém, grandes DJs também fazem uso destes programas para criação de sequências de múltiplas canções denominadas megamixes, de participações de curta duração em programas de rádio e até mesmo de novas versões de uma canções, que não existam em seus respectivos compactos.

Existem hoje em dia softwares capazes de simular na tela de um computador dois toca discos ou cdjs e um mixer,com inumeros recursos iguais ou até superiores aos melhores equipamentos,além de alguns poderem ser baixados gratuitamente pela internet,esses softwares estão se popularizando por serem uma alternativa a quem deseja discotecar e não pode investir muito.
Entre esses programas destacam-se o Virtual Dj, Pcdj, Tracktor,Mix Vibes entre outros.


==

  • Música eletrônica
  • Toca-discos
  • Disco de vinil
  • CD
  • VJ

Entre elas | Nuvens marcianas

Filed under: Uncategorized — admin @ 10:46 pm

Em Marte existem nuvens bem altas, a 100 km de altura, elas são as nuvens mais altas do sistema solar. Elas são feitas provalvelmente de dióxido de carbono e elas parecem semelhantes às nuvens mesosféricas observadas na Terra. Nas nuvens marcianas também há minúsculas partículas de poeira junto às nuvens. As nuvens marcianas são muito densas por causa da poeira nas nuvens.

thumb|left|270px|Essa é uma imagem mostrando a atmosfera marciana.

Laptop | Marcelo Tosatti

Filed under: Uncategorized — admin @ 1:18 am

Marcelo Tosatti (Curitiba, 27 de maio de 1982) é programador de computadores. Foi responsável pela manutenção da versão 2.4 do kernel do sistema operacional Linux entre novembro de 2001 e agosto de 2006. Atualmente trabalha na empresa RedHat, preparando os softwares para o “Laptop de 100 dólares”, que é um projeto de inclusão digital desenvolvido pela One Laptop per Child (”Um Laptop por Criança”), organização sem fins lucrativos que reúne o Massachusetts Institute of Technology (MIT), a empresa RedHat e outros patrocinadores.


Resumo biográfico

Primeiros anos

Cresceu em Curitiba e desde os onze anos de idade começou a interessar-se por computação, “mexendo” nas máquinas que um dos irmãos mais velhos trazia do Paraguai, para comercializar. Começou brincando com jogos e, depois, familiarizou-se com o MS-DOS. Foi apresentado ao sistema operacional Linux por um amigo. Levou praticamente dois meses tentando instalá-lo em sua máquina. A partir daí, passou horas e mais horas na frente do computador, inclusive todo o período de férias escolares, mostrando-se profundamente envolvido com o Linux e o desafio de programar.

Desde muito cedo participa de listas de discussões, sendo que aos catorze anos começou a trabalhar na empresa Conectiva, como estagiário, e pelos próximos seis anos em várias outras atribuições, quando se envolveu com a programação do núcleo do Linux.

Mantenedor da versão 2.4 do kernel Linux

Em novembro de 2001, por indicação de Alan Cox, foi convidado por Linus Torvalds a tornar-se mantenedor da versão 2.4 do kernel do Linux. Em 26 de novembro do mesmo ano lançou a revisão 2.4.16. Este convite foi de grande relevância histórica, uma vez que jamais se esperava que um latino-americano tão jovem (estava na época com apenas 19 anos de idade) e obviamente sem tempo para ter uma formação acadêmica, fosse o escolhido. A versão 2.4 teve grande importância por ter sido a que trouxe popularidade para o Linux.

Em junho de 2003, conheceu em Porto Alegre a sua atual esposa, Suzana, durante o Fórum Internacional de Software Livre. No mês seguinte, mudou-se para Porto Alegre e começou a trabalhar remotamente para a Cyclades Corporation. Também foi o mantenedor da arquitetura Power PC 8xx no kernel 2.6 do Linux.

Em agosto de 2006 desligou-se oficialmente da manutenção do kernel 2.4, assumida pelo programador francês Willy Tarreau.

RedHat e “Laptop de 100 dólares”

A partir de maio de 2006 começou a trabalhar para a RedHat, onde faz parte da equipe coordenada por Cristopher Blizzard, dedicada exclusivamente ao projeto “Laptop de 100 dólares” da One Laptop per Child (OLPC). Marcelo trabalha no kernel do Linux Fedora, na biblioteca de softwares básicos, em compiladores e com toda a infra-estrutura da suíte de softwares que deverão acompanhar o laptop.


==

  • Linux
  • Laptop de 100 dólares


==

  • Entrevista de Marcelo Tosatti para Jeremy Andrews
  • Entrevista de Marcelo Tosatti para Site LinuxIT

Laptop | Wardriving

Filed under: Uncategorized — admin @ 12:20 am

Wardriving é a pratica de procurar por redes sem fio dirigindo um automóvel. Para isto, usa-se um carro ou uma caminhonete e um computador equipado para redes sem fio, como um laptop ou um PDA, para detectar a rede.

September 28, 2007

Laptop | VJ

Filed under: Uncategorized — admin @ 11:54 pm

VJ (pronuncia-se em inglês víi-djêi) ou vídeo jockey é a denominação geralmente dada aos profissionais responsáveis pela manipulação em tempo real de vídeos em eventos ao vivo ou programas de televisão, tendo estes vídeos como função, na maioria das ocasiões, a ilustração de músicas e a transmissão de sensações diversas para o público. Tendo como origem a videoarte, o vjing (pronuncia-se víi-djáing), que é o nome dado à profissão/atividade profissional dos manipuladores de vídeo em tempo real) usa elementos de vídeo puro e simples, videoarte, tv, videogame, cinema e uma infinidade de influências do meio audiovisual. O VJ pode utilizar até mesmo transmissões ao vivo do próprio evento (webcams, câmeras de segurança, câmeras da equipe de filmagem do evento) ou de qualquer outra parte do mundo (via satélite, dospositivos móveis - celular… - ou internet) para compor experiências sensoriais audiovisuais. Estas experiências são exibidas em telões de diversos tipos, tamanhos e tecnologias espalhados pelo evento.

O VJ faz com vídeo o mesmo que o DJ faz com a música. O VJ pode ainda trabalhar sem usar o som ou qualquer outra trilha sonora. Por força de mercado, pode, eventualmente, trabalhar com áudio e vídeo.

O VJ usa inúmeras ferramentas de trabalho. Desde um simples computador ou laptop/notebook conectado aos telões, a clusters, videogames (como o Playstation, X-BOX, Dreamcast e outros) e até mesmo celulares, estes últimos devidamente conectados a computadores, websites ou satélites, os quais captam seus comandos e transmitem para outros dispositivos reponsáveis pela mixagem dos vídeos.


==

  • An introduction to the art and craft of live visuals mixing

September 27, 2007

Da Toshiba em | MIPS (arquitetura)

Filed under: Uncategorized — admin @ 10:12 pm

MIPS, acrônimo para Microprocessor without interlocked pipeline stages (Microprocessador sem estágios interligados de pipeline - não confundir com o outro significado de “MIPS”), é uma arquitetura de microprocessadores RISC desenvolvido pela MIPS Computer Systems.

O MIPS é uma arquitetura de processadores RISC desenvolvida pela MIPS Computer Systems. Em meados de 1990s estimou-se que um em cada três microprocessadores RISC eram 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.

Contents


Arquitetura

As primeiras versões das CPU’s MIPS eram de 32-bits, mas as mais recentes tornaram-se 64-bits. Existem 5 versões da implementação MIPS, compatíveis entre si, chamadas MIPS I, MIPS II, MIPS III, MIPS IV, e MIPS 32/64. O mais recente, MIPS 32/64 de liberação 2, define um registrador de controle ajustado assim como o conjunto de instruções.

  • Diversas extensões “add-on” estão também disponíveis, incluindo MIPS-3D que é um conjunto simples das instruções ponto-flutuante SIMD dedicadas às tarefas 3D comuns;
  • MDMX, que é um conjunto de instruções mais extensivo do inteiro SIMD usando os registos ponto-flutuante 64-bit;
  • MIPS MT , adições ao sistema similar a HyperThreading nas famílias mais recentes de processadores da Intel.

Pelo fato de ser um processador com design “limpo”, esta arquitetura MIPS pode ser usada com fins educativos, e influenciou processadores tais como o SPARC da Sun.


História

Em 1981, uma equipe conduzida por John L. Hennessy na universidade de Stanford começou a pensar no que hoje é o processador MIPS. O conceito básico era aumentar muito o desempenho com o uso profundo de pipelines para instruções, uma técnica que, embora fosse sabidamente boa, era difícil de fazer. Geralmente um pipeline divide a tarefa de executar uma instrução em diversas etapas, executando “passo a passo”, 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 boa parte do processador sem fazer nada enquanto uma instrução era concluída.

Uma barreira grande ao pipelining era que requeria bloqueios para ser ajustada até se assegurar de que as instruções que fizeram exame de ciclos de pulso de disparo múltiplos para terminar parassem o encanamento de carregar mais dados - basicamente para pausar quando terminou. Estes bloqueios podem fazer exame de um tempo longo ajustar-se acima, e foram pensados para ser uma barreira principal às melhorias futuras da velocidade. Um aspecto principal do projeto do projeto dos MIPS era exigir que todas as instruções fazem exame de somente um ciclo para terminar, desse modo removendo todas as necessidades para bloquear.

Embora este projeto eliminasse um número de instruções úteis, notavelmente coisas como multiplicar e dividir que faria exame de etapas múltiplas, sentiu-se que o desempenho total do sistema teria melhorado drasticamente porque as microplaquetas poderiam funcionar em umas taxas de pulso de disparo muito mais elevadas. Este ramping da velocidade seria difícil com bloqueios, porque o tempo necessário para ajustar fechamentos é tanto quanto uma função do tamanho do dado quanto a taxa de pulso de disparo: adicionar a ferragem necessitada pôde realmente retardar abaixo a velocidade total.

O eliminação destas instruções transformou-se num ponto de discussão. Muitos observadores alegaram que o projeto (e o RISC no geral) teriam vida curta. Se é feita uma simples substituição da complexa instrução de multiplicação por muitas adições simples, onde está o ganho de velocidade? Esta análise simplista ignorou o fato que a velocidade do projeto estava nos encanamentos, não nas instruções.

Em 1984 Hennessy foi convencido do potencial comercial futuro do projeto, e de Stanford esquerdo dar forma aos sistemas computatorizados dos MIPS. Liberaram seu primeiro projeto, o R2000, em 1985, melhorando o projeto como o R3000 em 1988. Estes 32 processadores centrais do bocado deram forma à base de sua companhia com os 1980s, usada primeiramente na série do SGI das estações de trabalho. Estes projetos do comercial deviated da pesquisa académico de Stanford executando a maioria dos bloqueios na ferragem, fornecendo completamente multiplicar e dividir instruções (entre outros).

Em 1991 MIPS liberados o primeiro microprocessador 64-bit, o R4000. Entretanto, os MIPS tiveram dificuldades financeiras ao trazê-lo ao mercado. O projeto era assim importante para o SGI, então um de poucos clientes principais dos MIPS, que o SGI comprado a companhia outright em 1992 a fim garantir o projeto não estaria perdido. Como uma subsidiária do SGI, a companhia tornou-se sabida como tecnologias dos MIPS.

Nos MIPS dos 1990s adiantados começados licenciar seus projetos aos vendedores third-party. Isto provou razoavelmente bem sucedido devido ao simplicity do núcleo, que permitiu que fosse usado em um número de aplicações que usariam anteriormente projetos muito mais menos capazes de CISC da contagem e do preço similares da porta — os dois são fortemente relacionados; o preço de um processador central é relacionado geralmente ao número das portas e ao número dos pinos externos. Sun Microsystems tentado seguir seu sucesso licenciando seu núcleo de SPARC, mas nunca estêve em qualquer lugar próximo como bem sucedidos. Por 1990s atrasados os MIPS eram um powerhouse no campo encaixado do processador, e em 1997 os 48 millionth MIPS-basearam o processador central enviado, fazendo lhe o primeiro processador central do RISC ao outship a família 68k famosa. Os MIPS eram assim bem sucedidos que o SGI girou-fora tecnologias dos MIPS em 1998. Inteiramente a metade da renda dos MIPS vem hoje de licenciar seus projetos, quando muito do descanso vier do trabalho de projeto do contrato nos núcleos que estarão produzidos então por terceiros partidos.

Em 1999 MIPS formalized seu sistema licenciando em torno de dois projetos básicos, 32 do bocado MIPS32 e de MIPS64 64-bit. NEC, Toshiba e SiByte (adquiridos mais tarde por Broadcom) cada licenças obtidas para o MIPS64 assim que se anunciar. Philips, a lógica do LSI e IDT têm-nos juntado desde. Sucesso o sucesso seguido os MIPS que, e hoje os núcleos são um do mais-usou núcleos do “heavyweight” no marketplace para os dispositivos computer-like (computadores hand-held, caixas do ajust-alto, etc.), com outros desenhadores que lutam o para fora por outros niches. Alguma indicação de seu sucesso é o fato que os núcleos dos MIPS dos usos de Motorola/Freescale em seus projetos da caixa do ajust-alto, em vez do seus próprios PowerPC-basearam núcleos.

Desde que a arquitetura dos MIPS é licensable, atraiu diversas companhias de start-up do processador sobre os anos. Uma das primeiras partidas para projetar processadores dos MIPS era dispositivos do efeito de Quantum (ver a seção seguinte). A equipe de projeto dos MIPS que projetou o R4300 enfiou a companhia SandCraft, que projetou o R5432 para NEC e produziu mais tarde o SR7100, um dos primeiros processadores out-of-order da execução para o mercado encaixado. A equipe StrongARM original do DEC rachou eventualmente em duas partidas MIPS-baseadas: Sibyte que produziu o SB-1250, uma da primeira sistema-em-um-microplaqueta MIPS-baseada high-performance (SOC); quando o semicondutor do Alchemy produziu o Au-1000 SOC para aplicações low-power. Sibyte foi adquirido por Broadcom quando o Alchemy foi adquirido por AMD. Lexra usou a MIPS-como a arquitetura e adicionou extensões de DSP para o mercado audio da microplaqueta e a sustentação multithreading para o mercado do trabalho em rede. Devido a Lexra que não licencia a arquitetura, dois lawsuits foram começados entre as duas companhias. O primeiro foi resolvido rapidamente quando Lexra prometeu não anunciar seus processadores como MIPS-compatíveis. O segundo protracted, feriu ambo o negócio companies, e culminado nas tecnologias dos MIPS que dão a Lexra uma licença livre e um pagamento de dinheiro grande.


Família do processador central

O primeiro modelo comercial do processador central dos MIPS, o R2000, foi anunciado em 1985. Adicionou o múltiplo-ciclo multiplica e divide instruções em uma unidade um tanto independente da em-microplaqueta. As instruções novas foram adicionadas para recuperar os resultados desta parte traseira da unidade ao núcleo da execução. Ironically, as instruções derecuperação foram bloqueadas, que melhoraram a densidade compilada do código mas fizeram o nome dos MIPS sem sentido.

O R2000 podia ser grande-endian ou pequeno-endian carregado. Não teve o thirty-two 32 registos de uso geral do bocado, mas o nenhum registo do código de circunstância, considerando o um bottleneck potencial, uma característica que compartilhasse com o AMD 29000 e o alfa do DEC. Ao contrário de outros registos o contador de programa não é 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 registos do bocado que poderiam ser usados como dezesseis registos 64-bit para double-precision.

O R3000 sucedeu o R2000 em 1988, adicionando esconderijos de 32 kB (aumentados logo a 64 KB) para instruções e dados, junto com a sustentação da coerência do esconderijo para o uso do multi-processor. Quando havia umas falhas na sustentação do multiprocessor de R3000, controlou ainda ser uma parte de diversos projetos bem sucedidos do multiprocessor. O R3000 incluiu também um MMU interno, uma característica comum nos processadores centrais da era. O R3000 era os primeiros MIPS bem sucedidos projeta no marketplace, e sobre 1 milhão foram feitos eventualmente. O R3000A, usado em Sony extremamente bem sucedido PlayStation, era uma versão colidida velocidade que funciona em 40 megahertz que entregou um desempenho de 32 VUPs. Como o R2000, o R3000 foi emparelhado com o R3010 FPU. Pacemips produziu um R3400 e IDT produziu R3500, ambos ele era R3000s com o fpu R3010 em uma única microplaqueta. R3900 de Toshiba era virtualmente um primeiro SoC para os PCes Handheld adiantados baseados no CE de Windows.

A série R4000, liberada em 1991, estendida o jogo de instrução dos MIPS a uma arquitetura 64-bit cheia, movida o FPU no dado principal para criar um sistema single-chip, e operada em uma velocidade de pulso de disparo interna radical elevada (foi introduzida em 100 megahertz). Entretanto, a fim conseguir a velocidade de pulso de disparo os esconderijos foram reduzidos a 8 KB cada e fizeram exame de três ciclos ao acesso. As freqüências operando-se elevadas foram conseguidas com a técnica do encanamento profundo (chamado super-encanamento naquele tempo). Com a introdução do R4000 um número de versões melhoradas seguiram logo, including o R4400 de 1993 que incluíram esconderijos de 16 KB, a operação 64-bit pela maior parte bug-free, e um controlador para um outro esconderijo externo de 1 MB (2 nivelados).

Os MIPS, agora uma divisão do SGI chamaram MTI, projetams o baixo-custo R4200, e mais tarde o custo mesmo mais baixo R4300, que era o R4200 com uma barra-ônibus externa de 32 bocados. Nintendo 64 usou um processador central de NEC VR4300 que fosse baseado nos MIPS low-cost R4300i. [1]

Os dispositivos do efeito de Quantum (QED), uma companhia separada enfiada por refugees dos MIPS, projetaram o R4600 “Orion”, o R4700 “Orion”, o R4650 e o R5000. Onde o R4000 tinha empurrado a freqüência de pulso de disparo e é sacrificado a capacidade do esconderijo, os projetos de QED emfatizaram os esconderijos grandes que poderiam ser alcançados em apenas dois ciclos e no uso eficiente da área do silicone. Os R4600 e os R4700 foram usados nas versões low-cost da estação de trabalho do SGI Indy assim como os routers baseados primeiros MIPS de Cisco, tais como os routers 36×0 e 7×00-series. O R4650 foi usado nas caixas originais do ajust-alto de WebTV (agora tevê de Microsoft). O R5000 FPU teve programar floating-point mais flexível da única precisão do que o R4000, e em conseqüência, R5000-based SGI Indys teve o desempenho muito melhor dos gráficos do que R4400 similarmente cronometrado Indys com a mesma ferragem dos gráficos. O SGI deu à placa velha dos gráficos um nome novo quando foi combinado com o R5000 a fim emfatizar a melhoria. QED projetou mais tarde a família RM7000 e RM9000 dos dispositivos para mercados encaixados como o trabalho em rede e as impressoras de laser. QED foi adquirido pelo PMC-Sierra do fabricante do semicondutor em agosto 2000, última companhia que continua a invest na arquitetura dos MIPS.

O R8000 (1994) era os primeiros MIPS superscalar projeta, capaz de executar dois ALU e duas operações de memória por o ciclo. O projeto foi espalhado sobre seis microplaquetas: uma unidade do inteiro (com esconderijos de dados de 16 KB da instrução e de 16 KB L1), uma unidade floating-point, três ram secundárias do Tag do esconderijo do cheio-costume (dois para acessos secundários do esconderijo, um para a barra-ônibus que snooping), e um controlador ASIC do esconderijo. O projeto mandou a precisão dois dobro inteiramente pipelined multiplic-adicionar as unidades, que poderiam fluir dados do esconderijo secundário off-chip do MB 4. O R8000 powered usuários do computador do desafio do poder do SGI nos 1990s mid e tornou-se mais tarde disponível na estação de trabalho do poder Indigo2. Seus desempenho limitado do inteiro e custo elevado umedeceram a apelação para a maioria de usuários, embora seus usuários científicos aptos do desempenho de FPU completamente bem, e o R8000 não fossem no marketplace por somente um ano e remanescessem razoavelmente raros.

Em 1995, o R10000 foi liberado. Este processador era um projeto single-chip, funcionava em uma velocidade de pulso de disparo mais rápida do que o R8000, e tinha 32 KB maiores esconderijos preliminares da instrução e dos dados. Era também superscalar, mas sua inovação principal era execução out-of-order. Mesmo com um único encanamento da memória e um FPU mais simples, o desempenho do inteiro, o preço mais baixo vastamente melhorado, e a densidade mais elevada fizeram o R10000 preferível para a maioria de clientes.

Os projetos recentes tudo foram baseados no núcleo R10000. O R12000 usou o manufacturing melhorado encolher a microplaqueta e operar-se em umas taxas de pulso de disparo mais elevadas. O R14000 revisado permitiu umas taxas de pulso de disparo mais elevadas com sustentação adicional para DDR SRAM no esconderijo off-chip, e uma barra-ônibus mais rápida do lado dianteiro cronometrou a 200 megahertz para o throughput melhor. Umas iterações mais atrasadas são nomeadas o R16000 e o R16000A e caracterizam a velocidade de pulso de disparo aumentada, o esconderijo L1 adicional, e o manufacturing menor do dado comparado com antes.
MIPS das especificações do microprocessador Modelo Freqüência [megahertz] Ano Processo [µm] Transistor [milhões] Tamanho do dado [² do milímetro] Pinos do IO Poder [W] Tensão Dcache [k] Icache [k] Scache [k]
R2000 8-16.7 1985 2.0 0.11 – – – – 32 64 nenhuns
R3000 20-40 1988 1.2 0.11 66.12 145 4 – 64 64 nenhuns
R4000 100 1991 0.8 1.35 213 179 15 5 8 8 1024
R4400 100-250 1992 0.6 2.3 186 179 15 5 16 16 1024
R4600 100-133 1994 0.64 2.2 77 179 4.6 5 16 16 512
R5000 150-200 1996 0.35 3.7 84 223 10 3.3 32 32 1024
R8000 75-90 1994 0.5 2.6 299 591 30 3.3 16 16 1024
R10000 150-250 1995 0.35 6.8 299 599 30 3.3 32 32 512
R12000 270-400 1998 0.18-0.25 6.9 204 600 20 4 32 32 1024
R14000 500-600 2001 0.13 7.2 204 527 17 – 32 32 2048
R16000 700-800 2002 0.11 – – – 20 – 64 64 4096

Nota: Estas especificações são somente configurações comuns do processador. As variações existem, especialmente no esconderijo do nível 2.


Aplicações

Entre os fabricantes que fizeram sistemas da estação de trabalho do computador que usam processadores dos MIPS ser SGI, MIPS de Sistemas Computatorizados, Inc., Olivetti, Siemens-Nixdorf, Acer, Digital Equipment Corporation, NEC, e DeskStation. Os vários sistemas operando-se foram movidos à arquitetura, tal como o CE de IRIX do SGI, de Windows NT de Microsoft (embora sustentação para os MIPS terminados com a liberação de Windows NT 4.0) e de Windows, Linux, sistema V do DEB, do UNIX, SINIX, MIPS próprio RISC/os dos sistemas computatorizados, e outros.

Entretanto, o uso dos MIPS como o processador principal de estações de trabalho do computador declinou, e o SGI anunciou suas plantas para cessar de desenvolver iterações high-performance da arquitetura dos MIPS no favor de usar processadores de Intel IA64-based (ver a “outra seção dos modelos e das plantas futuras” abaixo).

Na uma mão, o uso dos microprocessadores dos MIPS em papéis encaixados é provável remanescer comum, por causa das características baixas de execuções encaixadas dos MIPS, a disponibilidade larga do poder-consumo e do calor de ferramentas de desenvolvimento encaixadas para MIPS, as well as os peritos knowledgeable sobre a arquitetura.


Outros modelos e plantas futuras

Outros membros da família dos MIPS incluem o R6000, uma execução do ECL da arquitetura dos MIPS que foi produzida pela tecnologia integrada bipolar. O microprocessador R6000 introduziu o jogo de instrução dos MIPS II. Sua arquitetura de TLB e de esconderijo é diferente de todos membros restantes da família dos MIPS. O R6000 não entregou os benefícios prometidos do desempenho, e embora visse algum uso em máquinas dos dados de controle, desapareceu rapidamente do mercado mainstream. O RM7000 era uma versão do R5000 com um built-in 256 esconderijo do nível 2 do kB e um controlador para o esconderijo opcional do nível três. Foi alvejado primeiramente em projetos encaixados, including processadores dos gráficos do SGI e várias soluções do trabalho em rede, primeiramente por Cisco. O nome R9000 foi usado nunca.

Em uma vez o SGI tinha pretendido mover-se fora da plataforma dos MIPS para Intel Itanium, e o desenvolvimento era ter terminado com o R10000. O sempre-mais longo atrasa em introduzir o Itanium significou que a base instalada de máquinas MIPS-baseadas continuou a aumentar. Por 1999 estava desobstruído que o desenvolvimento tinha terminado demasiado logo, e os R14000 e os R16000 foram liberados em conseqüência. O SGI tinha sugerido R8000 em um estilo mais complexo FPU para umas R-séries mais atrasadas, e também em um processador duplo do núcleo, mas os problemas financeiros e o uso oficialmente suportado do SGI da emulation de QuickTransit funcionar binaries de IRIX em Altix eliminaram essencialmente o desenvolvimento da ferragem de IRIX/MIPS.
[editar]


Núcleos

Em anos recentes da tecnologia usada nas várias gerações dos MIPS foi oferecido mais como IP-núcleos (edifício-obstrui) para projetos encaixados do processador. O bocado ambos os 32 e os núcleos básicos 64-bit são oferecidos, sabido como o 4K e o 5K respectivamente, e o projeto próprio pode ser licenciado como MIPS32 e MIPS64. Estes núcleos podem ser misturados com as unidades add-in tais como FPUs, sistemas de SIMD, a vária entrada - dispositivos de saída, etc.

Os MIPS dos núcleos foram comercialmente bem sucedidos, agora sendo usado nos muitos consumidor e aplicações industriais. Os MIPS dos núcleos podem ser encontrados em uns routers mais novos de Cisco e de Linksys, em uns modem de cabo e em uns modem do ADSL, em uns smartcards, em uns motores da impressora de laser, em umas caixas do ajust-alto, em uns robôs, em computadores handheld, em Sony PlayStation 2 e em Sony PlayStation portátil. Em aplicações de cellphone/PDA, o núcleo dos MIPS foi incapaz de deslocar o encarregado, núcleo competindo do BRAÇO.

Exemplos de dispositivos MIPS-powered: Broadcom BCM5352E - Processador do router de WiFi com 54g WLAN, Ethernet rápido, 200 megahertz, ins 16KiB. esconderijo dos dados 8KiB, esconderijo do prefetch 256B, MMU, 16 flash de série/paralelo do controlador do megahertz SDRAM do bocado 100, 5 Ethernet do porto 100 Mbit/s (interruptor), 16 GPIO, JTAG, 2xUART, 336 esfera BGA. BCM 11xx, 12xx, 14xx - linha dos MIPS de 64bit “SiByte”.

IDT RC32438, ATI Xilleon, Alchemy Au1000, 1100, 1200, Broadcom Sentry5, Cavium Octeon CN34xx e CN38xx, tecnologias EasyPort de Infineon, Amazon, ADM5120, WildPass, INCA-IP, INCA-IP2, EMMA de NEC e EMMA2, NEC VR4181A, VR4121, VR4122, VR4181A, VR5432, VR5500, geração das tecnologias do carvalho, PMC-Sierra RM11200, QuickLogic QuickMIPS ESP, Toshiba “Donau”, Toshiba TMPR492x, TX4925, TX9956, TX7901


Programação e emulation

   Artigo principal: MIPS do conjunto

Há dos “um simulador livremente disponível” SPIM chamado MIPS R2000/R3000 para diversos sistemas operando-se (especificamente Unix ou GNU/Linux; Ósmio X do Mac; MS Windows 95, 98, NT, 2000, XP; e DOS) qual é bom para aprender a programação da língua de conjunto dos MIPS e os conceitos gerais da programação da língua do RISC-conjunto: http://www.cs.wisc.edu/~larus/spim.html

Um emulador livre característica-mais rico dos MIPS está disponível do projeto de GXemul (sabido anteriormente como o projeto de mips64emul), que emula não somente os vários MIPS III e uns microprocessadores mais elevados (do R4000 com o R10000), mas emula também os sistemas computatorizados inteiros que usam os microprocessadores. Por exemplo, GXemul pode emular um DECstation com um processador central dos MIPS R4400 (e o carregador a Ultrix), e um O2 do SGI com um processador central dos MIPS R10000 (embora a abilidade de carregar Irix é limitada), entre outros, as well as os vários framebuffers, os controladores de SCSI, e o gosto que compreendem aqueles sistemas.
Mips das chamadas do sistema serviço Código da armadilha Entrada Saída Notas
print_int $v0=1 inteiro de $a0= a imprimir imprime a0 à saída padrão
print_string $v0=4 endereço de $a0= do primeiro caráter imprime uma corda de caráter à saída padrão
sbrk $v0=9 número de $a0= dos bytes requeridos endereço de $v0= da memória alocada Aloca a memória do heap


Sumário do jogo de instrução R3000

As instruções são divididas em três tipos do formato: Formato de R, de I e de J. O formato de R consiste em três registos e campo funcional, eu formato contenho dois registos e o valor 16 imediato bocado-longo e do formato de J opcode six-bit seguido por um valor imediato de 26 bocados. [2] [3]

Nome de registo, número, uso, e convenções da chamada:
Registos Nome Número Uso O Callee deve preservar?
$zero $0 constante 0 N/A
$at $1 ajuntador provisório não
$v0-$v1 $2-$3 Valores para retornos da função e avaliação da expressão não
$a0-$a3 $4-$7 argumentos da função não
$t0-$t7 $8-$15 temporaries não
$s0-$s7 $16-$23 temporaries conservados sim
$t8-$t9 $24-$25 temporaries não
$k0-$k1 $26-$27 reservado para a semente do ósmio não
$gp $28 ponteiro global sim
$sp $29 ponteiro de pilha sim
$fp $30 ponteiro do frame sim
$ra $31 endereço do retorno N/A

Regista que é preservado através de uma chamada é os registos que (pela convenção) não será mudado por uma chamada do sistema ou pela chamada do procedimento (função). Por exemplo, $s-registers deve ser conservado à pilha por um procedimento que necessite o usar, e $sp e $fp estão incrementados sempre por constantes, e decrecidos para trás depois que o procedimento é feito com elas (e a memória que apontam a). Pelo contraste, $ra é mudado automaticamente por toda a ligação de controle normal (umas que usa o jal), e $t-registers deve ser conservado pelo programa antes de qualquer chamada do procedimento (se o programa necessita os valores dentro deles após a chamada).


Instruções reais

Estas são as instruções que têm a execução de ferragem direta. Isto é ao contrário das instruções pseudo que são traduzidas em instruções reais múltiplas antes de ser montada.

Os seguintes são os três formatos usados para o jogo de instrução do núcleo:
Tipo -31 - formato (bocados) -0-
R opcode (6) rs (5) rt (5) rd (5) shamt (5) funct (6)
I opcode (6) rs (5) rt (5) imediato (16)
J opcode (6) endereço (26)

   * CONST denota uma constante (“imediato”).
   * No seguinte, os números do registo são somente exemplos, e todos os outros registos podem ser usados em seus lugares.
   * Todas as seguintes instruções são instruções nativas.
   * Opcodes e os códigos do funct estão no hexadecimal.

Category Name Instruction syntax Meaning Format/opcode/funct Notes
Arithmetic Add add $1,$2,$3 $1 = $2 + $3 (signed) R 0 <math>20_{16}</math> adds two registers, extends sign to width of register
Add unsigned addu $1,$2,$3 $1 = $2 + $3 (unsigned) R 0 <math>21_{16}</math> as above without sign extension
Subtract sub $1,$2,$3 $1 = $2 - $3 (signed) R 0 <math>22_{16}</math> subtracts two registers
Subtract unsigned subu $1,$2,$3 $1 = $2 - $3 (unsigned) R 0 as above without sign extension
Add immediate addi $1,$2,CONST $1 = $2 + CONST (signed) I <math>8_{16}</math> Used to add constants (and also to copy one register to another “addi $1, $2, 0″), with sign extension
Add immediate unsigned addiu $1,$2,CONST $1 = $2 + CONST (unsigned) I <math>9_{16}</math> as above without sign extension
Multiply mult $1,$2 LO = (($1 * $2) << 32) >> 32;
HI = ($1 * $2) >> 32;
R 0 <math>18_{16}</math> Multiplies two registers and puts the 64-bit result in two special memory spots - LOW and HI. Alternatively, one could say the result of this operation is: (int HI,int LO) = (64-bit) $1 * $2 .
Divide div $1, $2 LO = $1 / $2     HI = $1 % $2 R Divides two registers and puts the 32-bit integer result in LO and the remainder in HI.<ref name=”uidaho”/>
Data Transfer Load word lw $1,CONST($2) $1 = Memory[$2 + CONST] I <math>23_{16}</math> loads the word stored from: MEM[$s2+CONST] and the following 3 bytes.
Load halfword lh $1,CONST($2) $1 = Memory[$2 + CONST] (signed) I <math>25_{16}</math> loads the halfword stored from: MEM[$2+CONST] and the following byte. Sign is extended to width of register.
Load halfword unsigned lhu $1,CONST($2) $1 = Memory[$2 + CONST] (unsigned) I As above without sign extension.
Load byte lb $1,CONST($2) $1 = Memory[$2 + CONST] (signed) I loads the byte stored from: MEM[$2+CONST].
Load byte unsigned lbu $1,CONST($2) $1 = Memory[$2 + CONST] (unsigned) I As above without sign extension.
Store word sw $1,CONST($2) Memory[$2 + CONST] = $1 I stores a word into: MEM[$2+CONST] and the following 3 bytes. The order of the operands is a large source of confusion.
Store half sh $1,CONST($2) Memory[$2 + CONST] = $1 I stores the first half of a register (a halfword) into: MEM[$2+CONST] and the following byte.
Store byte sb $1,CONST($2) Memory[$2 + CONST] = $1 I stores the first fourth of a register (a byte) into: MEM[$2+CONST].
Load upper immediate lui $1,CONST $1 = CONST << 16 I loads a 16-bit immediate operand into the upper 16-bits of the register specified. Maximum value of constant is 216-1
Move from high mfhi $1 $1 = HI R Moves a value from HI to a register. Do not use a multiply or a divide instruction within two instructions of mfhi (that action is undefined because of the MIPS pipeline).
Move from low mflo $1 $1 = LO R 0 <math>12_{16}</math> Moves a value from LO to a register. Do not use a multiply or a divide instruction within two instructions of mflo (that action is undefined because of the MIPS pipeline).
Move from Control Register mfcZ $1, $2 $1 = Coprocessor[Z].ControlRegister[$2] R Moves a 4 byte value from Coprocessor Z Control register to a general purpose register. Sign extension.
Move to Control Register mtcZ $1, $2 Coprocessor[Z].ControlRegister[$2] = $1 R Moves a 4 byte value from a general purpose register to a Coprocessor Z Control register. Sign extension.
Load word coprocessor lwcZ $1,CONST($2) Coprocessor[Z].DataRegister[$1] = Memory[$2 + CONST] I Loads the 4 byte word stored from: MEM[$2+CONST] into a Coprocessor data register. Sign extension.
Store word coprocessor swcZ $1,CONST($2) Memory[$2 + CONST] = Coprocessor[Z].DataRegister[$1] I Stores the 4 byte word held by a Coprocessor data register into: MEM[$2+CONST]. Sign extension.
Logical And and $1,$2,$3 $1 = $2 & $3 R Bitwise and
And immediate andi $1,$2,CONST $1 = $2 & CONST I
Or or $1,$2,$3 $1 = $2 | $3 R Bitwise or
Or immediate ori $1,$2,CONST $1 = $2 | CONST I
Exclusive or xor $1,$2,$3 $1 = $2 ^ $3 R
Nor nor $1,$2,$3 $1 = ~($2 | $3) R Bitwise nor
Set on less than slt $1,$2,$3 $1 = ($2 < $3) R Tests if one register is less than another.
Set on less than immediate slti $1,$2,CONST $1 = ($2 < CONST) I Tests if one register is less than a constant.
Bitwise Shift Shift left logical sll $1,$2,CONST $1 = $2 << CONST R shifts CONST number of bits to the left (multiplies by <math>2^{CONST} </math>)
Shift right logical srl $1,$2,CONST $1 = $2 >> CONST R shifts CONST number of bits to the right - zeros are shifted in (divides by <math>2^{CONST} </math>). Note that this instruction only works as division of a two’s complement number if the value is positive.
Shift right arithmetic sra $1,$2,CONST <math> $1 = $2 >> CONST + \ </math>
<math> \bigg(\bigg(\sum_{n=1}^{CONST}2^{31-n}\bigg)\cdot $2 >> 31 \bigg) </math>
R shifts CONST number of bits - the sign bit is shifted in (divides 2’s complement number by <math>2^{CONST} </math>)
Conditional branch Branch on equal beq $1,$2,CONST if ($1 == $2) go to PC+4+CONST I Goes to the instruction at the specified address if two registers are equal.
Branch on not equal bne $1,$2,CONST if ($1 != $2) go to PC+4+CONST I Goes to the instruction at the specified address if two registers are not equal.
Unconditional jump Jump j CONST goto address CONST J Unconditionally jumps to the instruction at the specified address.
Jump register jr $1 goto address $1 R Jumps to the address contained in the specified register
Jump and link jal CONST $31 = PC + 4; goto CONST J For procedure call - used to call a subroutine, $31 holds the return address; returning from a subroutine is done by: jr $31

NOTA: nas instruções ramificar e de salto, o offset pode ser substituído por um presente da etiqueta em algum lugar no código.

Os Pseudoinstructions são traduzidos em instruções reais múltiplas (ver acima) antes de ser montada.

Name instruction syntax Real instruction translation meaning
Load Address la $1, LabelAddr lui $1, LabelAddr[31:16]; ori $1,$1, LabelAddr[15:0] $1 = Label Address
Load Immediate li $1, IMMED[31:0] lui $1, IMMED[31:16]; ori $1,$1, IMMED[15:0] $1 = 32 bit Immediate value
Branch greater than bgt if(R[rs]>R[rt]) PC=Label
Branch less than blt if(R[rs]<R[rt]) PC=Label
Branch greater than or equal bge if(R[rs]>=R[rt]) PC=Label
branch less than or equal ble if(R[rs]<=R[rt]) PC=Label
branch greater than unsigned bgtu if(R[rs]=>R[rt]) PC=Label
branch greater than zero bgtz if(R[rs]>0) PC=Label


Outras instruções

Estas instruções devem ser colocadas acima “nas seções reais das instruções” ou dos “pseudoinstructions”.


Instruções lógicas comuns (bitwise)

addiu $1, $2.100 $1 = $2 + 100 (imediato não assinado)
addu $1, $2, $3 $1 = $2 + $3 (não assinado)
div $1, $2 HI = $ 1% $2; = $1 BAIXOS/$2
subu $1, $2, $3 $1 = $2 - $3 (não assinado)


Memória para registar instruções de transferência

lbu $1.100 ($2) carrega um byte não assinado
lhu $1.100 ($2) carrega um halfword não assinado
lwcz $1.100 ($2) carrega uma palavra ao coprocessor de “z” (“z” é o número do coprocessor)

Anotar que não há nenhuma da “instrução imediata correspondente carga mais baixo”; isto pode ser feito usando o addi (adicionar imediato, vêem abaixo) ou o ori (ou imediato) com o registo $0 (cujo o valor é sempre zero). Por exemplo, o addi $1, $0, 100 e ori $1, $0, 100 carrega o valor decimal 100 no registo $1.


Registar às instruções de transferência da memória

swcz $1.100 ($2) armazena uma palavra do coprocessor de “z” (“z” é o número do coprocessor).


Registo - a - instruções do registo (movimento)

mfcz $1, $c1 move um valor no registo $1 do coprocessor para o registo principal $1 do processador (“z” é o número do coprocessor)
mtcz $1, $c1 move um valor do registo principal $1 do processador para o registo $1 do coprocessor
mov.d $fp1, $fp3 move um valor com precisão dobro do registo $3 de FPU para o registo $1 de f.p.
mov.s $fp1, $fp3 move um valor com única precisão do registo $3 de FPU para o registo $1 de f.p.

(valores com registos adjacentes do uso dois FPU da precisão dobro)

Uma operação com os immediates assinados difere de um com os não assinados que não joga uma exceção. Subtrair um imediato pode ser feito com adição da negação desse valor como o imediato.


Algumas outras instruções importantes

   * nop (nenhuma operação) (código de máquina 0x00000000, interpretado pelo processador central como o sll $0, $0.0)
   * ruptura (rupturas o programa, usado por debuggers)
   * syscall (usos para chamadas do sistema ao sistema se operando)
   * um jogo de instruções FPU-relacionadas
   * um jogo vasto de instruções virtuais, decomposed pelo ajuntador em instruções nativas


Cultura

Em Mario Super 64, o coelho é nomeado Mips em homenagem ao processador dos MIPS o sistema de Nintendo 64 usado.

Notas ==

  1. O ^ NEC oferece a dois o desempenho elevado do custo os microprocessadores 64-bit do RISC
  2. ^ um sumário do jogo de instrução dos MIPS R3000 de b
  3. Referência da instrução dos MIPS do ^


Leitura mais adicional

   * Patterson e Hennessy: Organização e projeto do computador. A relação da ferragem/software. Publishers de Morgan Kaufmann. ISBN 1-55860-604-1
   * Dominic Sweetman: Ver MIPS funcionar. Publishers de Morgan Kaufmann. ISBN 1-55860-410-3

Laptop | Scratch

Filed under: Uncategorized — admin @ 3:17 am

Scratch é uma nova linguagem de programação criada no Media Lab do MIT.

Por não exigir o conhecimento prévio de outras linguagens de programação, ela é ideal para pessoas que estão começando a programar e foi desenvolvida para ajudar pessoas acima de 8 anos no aprendizado de conceitos matemáticos e computacionais. Com ela é possível criar histórias animadas, jogos e outros programas interativos.

Scratch é muito mais acessível que outras linguagens de programação, por se utilizar de uma interface gráfica que permite que programas sejam montados como blocos de montar, lembrando o brinquedo LEGO. Utiliza uma sintaxe comum a muitas linguagens de programação. E diferente de outras linguagens, não tem nenhum tipo de pontuação obscura.

Cada bloco da linguagem contém um comando em separado, que podem ser agrupados livremente caso se encaixem. E os comandos podem ser modificados através de menus.

Scratch se inspirou na forma como os DJs fazem a mixagem de sons para criarem novas músicas. Mas essa linguagem consegue mixar diversos tipos de mídias, como imagens, sons e outros programas.

O ambiente de desenvolvimento pode ser baixado gratuitamente em sua página. Já existem versões para Windows e Mac OS X. E uma versão está sendo feita para o laptop XO.


  • Scratch

September 25, 2007

O formato de | Revista Oficina de Letras

Filed under: Uncategorized — admin @ 12:31 am

Oficina de Letras é uma revista literária editada com periodicidade variável pela regional pernambucana da Sociedade Brasileira de Médicos Escritores (SOBRAMES).

Contents


História

Nascida em julho de 1989, com a intenção de ser uma editora voltada para a literatura, atendendo à produção literária dos médicos escritores, publicou inicialmente uma coletânea, com o título Encontro com a poesia.


Jornal

Simultaneamente ao lançamento de Encontro com a poesia, foi publicado (no formato tablóide) o primeiro número do jornal Oficina de Letras, com apenas 6 páginas. Nesse formato saíram ainda os números 2, 3 e 4, até agosto de 1990.


Revista

A revista surgiu, com seu número 1, em agosto de 1991, com 32 páginas, mantendo sempre a mesma capa.


Mudança de formato

A partir do número 4, passou a ter o for