# data[].attributes.body
O microprocessador, geralmente chamado apenas de processador, é um circuito integrado que realiza as funções de cálculo e tomada de decisão de um computador. Todos os computadores e equipamentos eletrônicos baseiam-se nele para executar suas funções, podemos dizer que o processador é o cérebro do computador por realizar todas estas funções.

Um microprocessador incorpora as funções de uma unidade central de computação (CPU) em um único circuito integrado, ou no máximo alguns circuitos integrados. É um dispositivo multifuncional programável que aceita dados digitais como entrada, processa de acordo com as instruções armazenadas em sua memória, e fornece resultados como saída. Microprocessadores operam com números e símbolos representados no sistema binário.

Para entender a importância da arquitetura de um processador, vamos começar do passado distante, o longínquo ano de 1971, quando chegou ao mercado o Intel 4004, o primeiro microprocessador comercial em grande escala.

Comparado com o que temos hoje ele era feito de barro fofo e pedra lascada; ele foi projetado inicialmente para ser usado em calculadoras, depois se tornou popular em computadores vendidos em kits, mas mesmo extremamente limitado em potência, o 4004 era incrivelmente versátil por, bem, ser um microprocessador, um circuito integrado capaz de receber comandos e dados, efetuar operações matemáticas com aqueles dados e retornar os valores calculados.

Essas instruções são bem simples, como “Leia o conteúdo do endereço XXXX de memória e guarde no registrador AA” ou “Some o conteúdo do endereço XXXX com o registrador AA e guarde no registrador BB”.

Chamamos a lista de Operações, ou “comandos” que um processador é capaz de entender de conjunto de instruções, e aos espaços de memória internos usados para armazenar dados usados nessas operações, de registradores.

Cada instrução dessas precisa ser programa em hardware, e quanto mais instruções, mais complexo isso se tornava. O Z-80 por exemplo não tinha instruções para multiplicar números. Quando chegou o Pentium 4, o processador ganhou uma extensão de instruções chamada SSE2 que tinha até raiz quadrada.

A lista de instruções para os processadores de 32 bits compatíveis com a arquitetura x86 é imensa, e apenas uma gota no oceano. Processadores de 64 bits possuem essas e outras instruções, processadores da AMD possuem essas instruções em comum com os da Intel e mais conjuntos próprios (a Intel por sua vez também tem conjuntos exclusivos) e essas instruções envolvem de matemática complexa genérica a cálculos de criptografia. Tudo feito dentro da CPU.

Esses processadores são chamados de CISC, de Complex Instruction Set Computer – Computador Com Conjunto Complexo de Instruções. A vantagem óbvia é que seja lá o que você quer fazer, provavelmente há um conjunto de instruções em hardware que vai facilitar sua vida, rodando bem mais rápido do que um programa externo.

A desvantagem é que todas essas instruções consomem mais área de chip, são mais complicadas de implementar e demandam mais energia, o que resulta nos ridículos processadores comedores de eletricidade de hoje em dia.

Existe uma alternativa? Sim, é o RISC - Reduced Instruction Set Computer.

Um chip RISC possui menos flexibilidade em termos de instruções, mas em compensação ele consome bem menos energia e é bem mais rápido ao executar as instruções.

Vamos a uma analogia: Imagine que você tem uma cozinha com um cozinheiro que não é muito rápido, mas você pode ordenar “Me prepare um bolo de chocolate” e aquele cozinheiro vai fazer o bolo em 10 minutos. Essa é uma cozinha CISC.

Outra cozinha tem vários estagiários que não fazem a menor idéia de como fazer um bolo, mas você pode dizer pra um “pegue uma tigela e coloque 500g de farinha” e ele vai fazer isso em segundos. Em seguida você manda “adicione 3 ovos” e vai dando a receita passo a passo. Em 5 minutos o bolo está pronto, pois mesmo sem saber o que está fazendo o cozinheiro RISC é muito rápido executando tarefas simples.

Outra diferença fundamental: A arquitetura RISC além de (em teoria) ter menos instruções que a CISC, opera com instruções que usam menos ciclos de clock.

De novo, eu explico: Sabe aquelas galeras romanas, com um monte de remadores sincronizados por um sujeito batendo tambor? Primeiro, esqueça. Isso é bobagem de Hollywood, ninguém nunca usou tambor pra isso, mas a sincronia era importante.

Agora imagine que cada remador é um componente de seu PC, e um componente de seu microprocessador. As memórias precisam ler ou gravar bytes, os chips de rede precisam saber quando disponibilizar dados no barramento. Os controladores tem que saber quando é hora de ler esses barramentos.

Internamente na CPU os vários módulos precisam estar sincronizados, do contrário uma pilha de memória pode enviar dados (adoro esse cacófato) para um registrador antes que ele esteja pronto, e os dados se perderão. Ou uma operação de memória para copiar XXX bytes de uma posição para outra pode não saber se os chips de memória receberam e gravaram corretamente os dados.

Para que isso não aconteça todo computador tem um clock, um oscilador operando a uma frequência específica, com base na qual todas as operações são sincronizadas. É como se aquele sujeito do tambor dos filmes de Hollywood existisse dentro desta pecinha aqui.

E sim, é mais complicado que isso em processadores modernos, cheios de paralelismo, com coisas ocorrendo ao mesmo tempo, múltiplos núcleos, threads, etc, mas continua sendo uma verdade que instruções de do processador consomem em um número discreto de ciclos de CPU.

Nos processadores CISC uma instrução tende a consumir mais ciclos de CPU para ser executada. Nos RISC as instruções são executadas mais rápido, por serem otimizadas para usar menos ciclos.

A filosofia dos processadores RISC é fazer mais via software, confiando que o processador será mais rápido executando muitas instruções simples. Eles também usam muito mais registradores do que variáveis em memória, o que também, em teoria, seria uma vantagem.

Imagine que você está descendo uma escada. Se você for um CISC você desce de degrau em degrau. Se for um RISC, desce de três em três, aos pulos.

Qual a melhor arquitetura? Não vou entrar nessa briga, faz Linux vs Windows parecer a ONU em dia de visita de turmas de escolas. As duas tecnologias possuem vantagens e desvantagens, mas originalmente o CISC saiu na frente.

Hoje um processador CISC como um Intel i9 ou um AMD Ryzen™ possuem milhares e milhares de instruções, cobrindo coisas como criptografia, otimização para games, processamento de imagem e muito mais. O custo disso é o consumo de energia.

Os CISC se especializaram em performance a qualquer custo, os RISC foram feitos para rodar com menos energia, abrindo mão de recursos e performance.

Em 1985 surgiu a arquitetura ARM, na época Acorn RISC Machine, desenvolvida pela Acorn Computers britânica. A empresa já fabricava chips RISC para aplicações específicas, e decidiram produzir placas com processadores auxiliares para seu popular computador, o BBC Micro.

Eles logo descobriram que a maioria dos chips no mercado não eram ideais para o projeto, e começaram a bater cabeça, até que depois de ler os papers publicados pelo Projeto RISC de Berkeley, e descobrir que a equipe de desenvolvimento do MOS Technology 6502 era minúscula, dois engenheiros da Acorn, Steve Furber e Sophie Wilson resolveram projetar eles mesmos seu próprio chip, que seria o primeiro processador ARM.

O conjunto de instruções foi desenvolvido por Sophie Wilson, que também escreveu um simulador do chip usando BASIC. O chip foi construído pela VLSI Technology, segundo as especificações da Acorn, as parcerias começaram a aparecer, em no final dos Anos 80 a Acorn e a VLSI criaram um projeto junto com a Apple de um processador ARM que viria a se tornar a CPU do Apple Newton.

Com o tempo a arquitetura foi evoluindo, o modelo de licenciamento escolhido foi extremamente generoso, e o processador ARM se tornou imensamente popular. Hoje o market share da arquitetura é imenso:

Hoje associamos o processador ARM e a arquitetura RISC a dispositivos móveis e equipamentos mais "fracos", mas antigamente computadores de alta performance também usavam RISC, as estações gráficas da Silicon Graphics eram todas baseadas na arquitetura.

Computadores de menor capacidade também eram baseados em RISC, como os computadores da Curiosity e tantas outras sondas, baseadas na CPU RAD 750, ela mesma baseada na arquitetura Power PC.

O Power PC aliás é a grande ironia aqui. A Apple anunciou a migração de seus computadores para a plataforma ARM, como se fosse uma idéia revolucionária. E foi, em 1992, quando a Apple se juntou à Motorola e à IBM (isso mesmo, a mesma IBM que era a vilã de Steve Jobs) para produzir o PowerPC, um microprocessador com arquitetura RISC.

Power Mac 6100

Em 1994 chegava ao mercado o Power Macintosh 6100, rodando em um processador PowerPC 601 a 66MHz. Dali em diante foram dezenas e dezenas de Macs, mas a performance das CPUs PowerPC não acompanhou a evolução das arquiteturas x86 e x64 da Intel e da AMD, e em 2006 a Apple migrou para a plataforma CISC da Intel.

Agora qualquer celular tem uma CPU extremamente poderosa. Em verdade um processador ARM usado em telefones e tablets é chamado SOC – System On a Chip. Além da CPU ele contém no mesmo silício controladores de rede, WIFI, uma GPU completa, controladores de memória, USB, processamento de imagem, compressão e descompressão de vídeo etc. etc e mais etc.

FONTE: A história da arquitetura dos processadores ARM - Meio Bit (tecnoblog.net)

# data[].attributes.attachment_caption
Troca de arquitetura da Apple para processadores ARM

# data[].attributes.body
O Apple Silicon, codinome do novo processador ARM desenvolvido para a empresa vai mudar profundamente a forma com que software é desenvolvido para a plataforma. Teremos uma integração hardware/software como nunca vimos antes, o que em teoria resultará em excelente performance, mas não conte com isso. Software tende a crescer até consumir todos os recursos, é uma das Leis Básicas da Computação.

O que mudará também é que não teremos mais como rodar Windows de forma nativa. Há uma versão de Windows para arquitetura ARM mas a Microsoft dificilmente vai investir os recursos necessários para portar o Windows para funcionar nos novos Macs. Quem quiser usar Windows deverá se contentar com emuladores.

A Apple a cada 10 ou 15 anos muda de arquitetura; do 6502 foi para o 68000, depois para o PowerPC, depois x86/x64 e agora, Arm. A diversão é imaginar se em 2035 eles vão voltar para a Intel, ou escolher outra arquitetura esotérica que hoje só existe em algum laboratório no porão de uma empresa.

Fonte: A história da arquitetura dos processadores ARM - Meio Bit (tecnoblog.net)

# data[].attributes.attachment_caption
O que muda na segurança do Mac com a transição para Apple Silicon?

# data[].attributes.body
Os chipsets baseados em ARM da Apple são conhecidos por sua segurança e criptografia superiores, pelas quais o coprocessador Secure Enclave é responsável. O Secure Enclave foi introduzido primeiramente no processador Apple A7, quando a Apple revolucionou o mundo dos dispositivos móveis introduzindo o Touch ID com o iPhone 5S. O coprocessador Secure Enclave inclui um gerenciador de chaves baseado em hardware, isolado do processador principal e capaz de manter a segurança de operações criptográficas mesmo se o kernel do dispositivo for comprometido. Em conjunto com o mecanismo de criptografia AES-256, ele protege informações sensíveis como dados biométricos.

O novo chip octa-core M1 da Apple inclui a versão mais nova do Secure Enclave, criptografia AES-256 e um boot seguro verificado por hardware que verifica que o software carregado durante a inicialização contenha somente código aprovado pela Apple. Como a Apple explica: “o chip M1 da Apple foi projetado para verificar se a versão do software macOS carregado durante a inicialização é autorizado pela Apple, e ele continua seu trabalho ao fundo, para proteger as autorizações estabelecidas para o macOS durante a execução.”

Como qualquer tecnologia nova e empolgante, o novo chip M1 dos novos Macs chamou a atenção de desenvolvedores. Assim como desenvolvedores de apps legítimos correram para criar apps compatíveis com os novos MacBooks, os desenvolvedores de malware também. Apesar da arquitetura ARM não ser tão popular quanto a x86, levou apenas alguns meses para os primeiros malwares nativos do M1 aparecerem: Silver Sparrow e Pirrit. O mito que os computadores Apple são seguros por padrão já foi desafiado diversas vezes e a agilidade com a qual tipos de malware para Mac foram adaptados para a nova arquitetura é apenas mais uma prova de que Macs também precisam de segurança adicional.

Silver Sparrow

Descoberto por pesquisadores da Red Canary em fevereiro de 2021, o Silver Sparrow é um tipo curioso de malware porque não possui um payload de fato, o que quer dizer que ele não tem uma funcionalidade. Até o momento, os 40.000 Macs infectados não foram afetados pelos componentes adicionais ativados depois de baixar o Silver Sparrow. Os binários recebidos eram simples “espectadores”, como foram chamados pela equipe de pesquisa da Red Canary. Isso fez com que alguns pesquisadores de segurança cibernética considerassem o Silver Sparrow como uma simples prova de conceito que se espalhou para um grande número de dispositivos. Mas isso não significa que não seja uma ameaça para a segurança do Mac.

“Mesmo que pareça que o Silver Sparrow ainda está nos estágios iniciais de desenvolvimento e atividade, o fato dele conseguir baixar e executar qualquer binário furtivamente traz muitas preocupações em termos de segurança, mas também dá uma ideia da motivação dos invasores: eles podem usar esse método para evoluir ainda mais o Silver Sparrow, transformando-o em uma ameaça mais séria ou para baixar outras famílias de malware, utilizando o Silver Sparrow como um rentável canal de distribuição para outros arquivos maliciosos”, disse Bogdan Anghelache do Avira Protection Labs.

De acordo com o Avira Protection Labs, existem duas versões dessa família de malware: uma compilada apenas para a arquitetura Intel x86_64 (pode ser reconhecida pelo string IOC agent_updater) e uma compilada para ambas arquiteturas Intel x86_64 e Apple M1 ARM (pode ser reconhecida pelo string IOC verx_updater).

Pirrit

Pirrit é um adware que já é distribuído como software utilitário desde 2016. Disfarçado como reprodutor de vídeo ou leitor de PDF, o Pirrit infecta dispositivos macOS e Windows. Ele tem a capacidade de se tornar persistente, o que significa que pode ser executado em segundo plano criando um LaunchDaemon e fingindo ser um aplicativo legítimo da Apple.

O Pirrit é usado para espionar as atividades dos usuários no navegador e injetar anúncios. Depois de instalado, ele tipicamente faz varredura das extensões instaladas no Safari e as remove. Ao conduzir suas atividades de espionagem e injeção de anúncios, o OSX Pirrit evoluiu de baixar e instalar injeções maliciosas no navegador para modificar propriedades internas de diferentes navegadores instalados como Firefox e Chrome. Ele também altera o mecanismo de busca padrão do navegador para “tika-search.com” ou “delta-search.com”. OSX Pirrit utiliza um binário criado especialmente que é executado em segundo plano para controlar o navegador alvo e monitorar as atividades do usuário. Com base na atividade (links visitados, pesquisas feitas), esse componente malicioso injeta anúncios em páginas da web ou abre novas abas com anúncios específicos.

XCSSET

Desenvolvedores Apple utilizam Xcode, o ambiente de desenvolvimento integrado da Apple, para programas apps MacOS. No ano passado, pesquisadores de segurança cibernética encontraram malware em projetos Xcode e agora esse malware também chegou em Macs com M1. Conhecido como XCSSET, o malware que tinha como alvo desenvolvedores Mac pode sequestrar o Safari, injetando código JavaScript malicioso em sites, além de copiar e criptografar arquivos do usuário.

Com os projetos Xcode infectados são modificados para executar um código malicioso, o XCSSET não afeta apenas o computador da vítima, mas também os de todos os usuários para quem os desenvolvedores distribuem seus projetos. Com muitos desenvolvedores colaborando em plataformas como o GitHub, o malware pode se espalhar facilmente e gerar ataques à cadeia de suprimentos.

Fonte: O que muda na segurança do Mac com a transição para Apple Silicon? - Avira Blog

# data[].attributes.headline
Outras partes importantes e interessantes em nossos computadores

# data[].attributes.subject
Outras partes importantes e interessantes em nossos computadores

# data[].attributes.body
Afinal, O que é Computação Acelerada?

A computação acelerada é o uso de hardware especializado para acelerar significativamente o trabalho, muitas vezes com o processamento paralelo que agrupa tarefas frequentes. Ela transfere tarefas exigentes que podem sobrecarregar CPUs, processadores que geralmente executam tarefas em sequência.

Nativa do PC, a computação acelerada amadureceu e chegou aos supercomputadores. Hoje, ela está em seu smartphone e em todos os serviços no cloud. E está sendo adotada por empresas de todos os setores para transformar os negócios com dados.

Computadores acelerados combinam CPUs e outros tipos de processadores igualmente em uma arquitetura conhecida como “computação heterogênea”.

Um Pouco Mais Sobre Computadores Acelerados

As GPUs são os aceleradores mais usados. As unidades de processamento de dados (DPU – Data Processing Unit) são uma classe emergente que permite redes aprimoradas e aceleradas. Cada uma desempenha um papel ao lado da CPU do host na criação de um sistema unificado e equilibrado.

Um computador acelerado oferece custos gerais mais baixos e maior desempenho e eficiência energética que um sistema apenas com CPU.

Os sistemas comerciais e técnicos atuais adotam a computação acelerada para lidar com trabalhos como machine learning, análise de dados, simulações e visualizações. É um estilo de computação moderno que fornece alto desempenho e eficiência energética.

Como os PCs Popularizaram a Computação Acelerada

O hardware especializado chamado de coprocessador surgiu nos computadores há algum tempo e acelera o trabalho da CPU do host. Ganharam destaque pela primeira vez por volta de 1980, com os processadores de ponto flutuante que adicionaram recursos matemáticos avançados ao PC.

Na década seguinte, o surgimento dos videogames e interfaces gráficas de usuário criou uma demanda por aceleradores gráficos. Em 1993, cerca de 50 empresas estavam fabricando chips ou placas de vídeo.

Em 1999, a NVIDIA lançou o GeForce 256, o primeiro chip a transferir da CPU tarefas essenciais de renderização de imagens 3D. Ele também foi o primeiro a usar quatro pipelines gráficos para processamento paralelo.

A NVIDIA batizou o chip de “unidade de processamento gráfico” (GPU – Graphics Processing Unit), marcando o surgimento de uma nova categoria de aceleradores de computador.

Como os Pesquisadores Aproveitaram o Processamento Paralelo

Em 2006, a NVIDIA já havia produzido 500 milhões de GPUs. Ela liderou um mercado com apenas três fornecedores de GPUs e previu a próxima grande inovação da área.

Alguns pesquisadores já estavam desenvolvendo o próprio código para aplicar o poder das GPUs a tarefas além do alcance das CPUs. Uma equipe na Universidade de Stanford liderada por Ian Buck, por exemplo, criou o Brook, o primeiro modelo de programação amplamente adotado para ampliar a popular linguagem C para o processamento paralelo.

Buck entrou na NVIDIA como estagiário e agora atua como vice-presidente de computação acelerada. Em 2006, ele liderou o lançamento do CUDA, um modelo de programação que aproveita os mecanismos de processamento paralelo da GPU para qualquer tarefa.

Ao lado de um processador G80 em 2007, a CUDA deu origem a uma nova linha de GPUs NVIDIA que levou a computação acelerada para um número cada vez maior de aplicações, na indústria e na ciência.

HPC + GPUs = Ciência Acelerada

Essa família de GPUs destinadas ao data center foi se expandindo com uma série de novas arquiteturas, batizadas em homenagem aos inovadores Tesla, Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere.

Assim como os aceleradores gráficos da década de 1990, essas novas GPUs tiveram muitos rivais, inclusive processadores paralelos inéditos como o transputer da Inmos.

“Mas a GPU foi a única sobrevivente, porque os outros processadores não tinham um ecossistema de software, o que foi fatal para eles”, afirmou Kevin Krewell, analista da Tirias Research.

Especialistas em computação de alto desempenho de todo o mundo criaram sistemas de HPC acelerados com GPUs para impulsionar inovações na ciência. Hoje, seu trabalho é aplicado a diversas áreas, desde a astrofísica de buracos negros até o sequenciamento de genomas e além.

Para ilustrar: o Oak Ridge National Lab até publicou um guia de computação acelerada para usuários de HPC.

InfiniBand Potencializa Redes Aceleradas

Muitos desses supercomputadores usam a InfiniBand, uma conexão rápida e de baixa latência ideal para a criação de grandes redes distribuídas de GPUs. Diante da importância de redes aceleradas, a NVIDIA adquiriu a Mellanox, pioneira da InfiniBand, em abril de 2020.

Apenas seis meses depois, a NVIDIA anunciou sua primeira DPU, um processador de dados que instaura um novo nível de segurança, armazenamento e aceleração de rede. Uma gama de DPUs BlueField já está ganhando força em supercomputadores, serviços no cloud, sistemas OEM e software de terceiros.

Em junho de 2021, 342 dos supercomputadores TOP500 mais rápidos do mundo usavam tecnologias NVIDIA, incluindo 70% de todos os novos sistemas e oito dos 10 melhores.

O Selene da NVIDIA é um computador acelerado que ocupa o 6º lugar na lista TOP500 de junho de 2021.

Até o momento, o ecossistema CUDA gerou mais de 700 aplicações aceleradas, enfrentando grandes desafios como a descoberta de medicamentos, a resposta a desastres e até planos de missões a Marte.

Enquanto isso, a computação acelerada também possibilitou o próximo grande passo na área dos gráficos. Em 2018, a arquitetura Turing da NVIDIA impulsionou as GPUs GeForce RTX, as primeiras a disponibilizar o ray tracing, o Santo Graal da tecnologia visual, fornecendo um realismo espetacular para games e simulações.

AI, uma Excelente Aplicação para a Computação Acelerada

Em 2012, o mundo da tecnologia foi sacudido por uma nova e poderosa forma de computação: a AI.

No fundo, ela é basicamente um trabalho de processamento paralelo. Desde os primórdios do deep learning, pesquisadores e fornecedores de serviços no cloud começaram a usar computadores acelerados por GPU para treinar e executar redes neurais.

Logo, as empresas líderes de todos os mercados verticais viram a importância da AI nos computadores acelerados.

A American Express usa a AI para evitar fraudes em cartões de crédito.

Serviços no cloud usam a AI em sistemas de recomendação que impulsionam vendas.

Muitas empresas usam a AI conversacional para melhorar o atendimento ao cliente.

Empresas de telecomunicações estão explorando a AI para oferecer serviços inteligentes de 5G.

Cineastas usaram a AI para rejuvenescer Robert DeNiro e Al Pacino em O Irlandês.

E, graças à AI da DoorDash ou da Domino’s, você assiste ao filme enquanto saboreia seu jantar sugerido e entregue com ajuda da AI.

Um dia, toda empresa será uma empresa de dados, e todo servidor será um computador acelerado.

Essa visão é compartilhada pelos líderes das principais empresas de software de IT, como a VMware e a Red Hat, que estão adaptando seus produtos para a computação acelerada. Os fabricantes de sistemas já estão disponibilizando dezenas de Sistemas Certificados pela NVIDIA, computadores acelerados prontos para trabalhar em qualquer área.

Eles são os veículos da jornada para a computação acelerada no mundo empresarial. Para ajudar a abrir o caminho, a NVIDIA oferece uma solução full-stack com produtos como o NVIDIA AI Enterprise, o Base Command, o Fleet Command e aplicações aceleradas prontas no catálogo do NGC.

Um Futuro com Eficiência Energética

A computação acelerada “é o único caminho adiante”, de acordo com veteranos da computação como John Hennessey e David Patterson. Eles descreveram a tendência como uma mudança para “arquiteturas de domínio específico” em uma fala em comemoração à conquista do prêmio Turing de 2017, equivalente ao Nobel na computação.

A eficiência energética da abordagem é um motivo importante por que ela representa o futuro. Por exemplo: na inferência de AI, as GPUs oferecem uma eficiência energética 42 vezes maior que as CPUs.

Se todos os servidores apenas com CPU executando AI do mundo fossem substituídos por sistemas acelerados por GPU, haveria uma economia impressionante de 10 trilhões de watts-hora de energia por ano. É o equivalente à energia que 1,4 milhões de lares consomem por ano.

Os especialistas em computação acelerada já estão observando as vantagens disso.

Trinta e cinco dos 40 melhores sistemas da lista Green500 de supercomputadores com maior eficiência energética do mundo usam tecnologias NVIDIA, incluindo nove dos 10 melhores. Os supercomputadores da lista que usam GPUs NVIDIA têm uma eficiência energética 3,5 vezes maior que os que não usam, uma tendência consistente e crescente.