# data[].attributes.body
Exemplo em computadores MAC

Todos os sistemas de computação modernos possuem vários processadores de periféricos integrados dedicados a tarefas como rede, processamento gráfico, gerenciamento de energia e outros. Geralmente, esses processadores de periféricos têm um objetivo único e são muito menos poderosos que a CPU principal. Periféricos integrados que não implementam segurança suficiente se tornam alvos fáceis para ataques de invasores, através dos quais eles podem infectar persistentemente o sistema operacional. Com um firmware de processador de periférico infectado, um invasor poderia visar o software da CPU principal ou capturar diretamente dados sensíveis (um dispositivo Ethernet poderia ver o conteúdo dos pacotes que não estão criptografados, por exemplo).

Sempre que possível, a Apple trabalha para reduzir o número necessário de processadores de periféricos e evitar designs que exijam firmware. Mas quando processadores separados com seus próprios firmwares são necessários, medidas são tomadas para ajudar a garantir que um invasor não possa persistir nesses processadores. Isso pode ser feito ao verificar o processador de uma das seguintes maneiras:

Ao executar o processador em um modo para que ele baixe um firmware verificado da CPU principal na inicialização

Ao fazer com que o processador do periférico implemente sua própria cadeia de inicialização segura para verificar o firmware do processador do periférico sempre que o Mac inicializa

A Apple trabalha com fornecedores para auditar suas implementações e aprimorar seus projetos para incluir as propriedades desejadas, como:

Garantia de um poder criptográfico mínimo

Garantia de uma revogação forte do firmware reconhecidamente problemático

Desativação de interfaces de depuração

Assinatura do firmware com chaves criptográficas armazenadas nos módulos de segurança de hardware (HSMs) controlados pela Apple

Nos últimos anos, a Apple tem trabalhado com alguns fornecedores externos para adotar as mesmas estruturas de dados “Image4”, código de verificação e infraestrutura de assinatura usados pelo Apple Silicon.

Quando nem a operação sem armazenamento nem o armazenamento com a inicialização segura são uma opção, o projeto exige que as atualizações de firmware sejam criptograficamente assinadas e verificadas antes da atualização do armazenamento persistente.

# data[].attributes.body
A inovação dos processadores ocorrem desde 1949 quando o primeiro processador foi criado por John Von  Neumann que teve a ideia de uma unidade central de processamento  que permitia o armazenamento de dados e programas na mesma unidade de memória através de seus endereçamentos.
Entre o período de 1960 e 1970 surgiram as CPUs, desenvolvidas em circuitos integrados, um único chip de silício, que traziam as instruções observadas pela arquitetura de Von Neumann. Após esse período houve o surgimento dos microprocessadores cada vez mais rápidos e menores.
O primeiro microprocessador criado em 1971 pela Intel tinha velocidade de 740 Khz, que foi evoluindo, onde atualmente possuem velocidade de até 64 bitz.
Como podemos ver evolução em torno dos processadores não param no texto complementar proposto existe uma pesquisa onde foi feito a junção do processador e memória em uma mesma arquitetura isso nos 🤬 faz com que o computador seja mais rápido, pois, dispensa a troca de dados entre processador e memória.

# data[].attributes.body
O processador, também chamado de CPU (central processing unit), é o componente de hardware responsável por processar dados e transformar em informação. Ele também transmite estas informações para a placa mãe, que por sua vez as transmite para onde é necessário (como o monitor, impressora, outros dispositivos). A placa mãe serve de ponte entre o processador e os outros componentes de hardware da máquina. Outras funções do processador são fazer cálculos e tomar decisões lógicas.
Algumas características do processador em geral:

Frequência de Processador (Velocidade, clock). Medido em hertz, define a capacidade do processador em processar informações ao mesmo tempo.

Cores: O core é o núcleo do processador. Existem processadores core e multicore, ou seja, processadores com um núcleo e com vários núcleos na mesma peça.

Cache: A memória Cache é um tipo de memória auxiliar, que faz diminuir o tempo de transmissão de informações entre o processador e outros componentes

Potência: Medida em Watts é a quantia de energia que é consumida por segundo. 1W = 1 J/s (Joule por segundo)

A Evolução dos processadores é surpreendente. A primeira marca no mercado foi a INTEL, com o a CPU 4004, lançado em 1970. Este CPU era para uma calculadora. Por isto, muitos dizem que os processadores começaram em 1978, com a CPU 8086, também da Intel.

Alguns anos mais tarde, já em 2006, é lançado o CORE 2 DUO, um super salto na tecnologia dos processadores.

Para comparar:

CPU 8086:

Numero de transistores 29000

Freqüência máxima 8 Mhz

Tamanho do registro da CPU 16 bits

Tamanho da BUS externa 16 bits

Core i7

Suporte: Socket LGA 1366

Frequência (MHz): 3,2 GHz

Bus processador: 4,8 GTps

Gravação: 32 nm

Tamanho Cache L1: 6 x 64 KB

Tamanho Cache L2: 6 x 256 KB

Tamanho Cache L3: 12 MB

Arquitetura: Core i7 Westmere

Nota-se a diferença entre os processadores. O CPU 8086 tem frequência de 8 MHz, enquanto que o i7 tem uma frequência de 3,2 GHz (3200 MHz), lembrando que o i7 tem 8 núcleos, cada um com estas especificações.

Processadores bons são indispensáveis para as mais simples aplicações no dia a dia. Tarefas como abrir um arquivo, até rodar os games mais atuais, o processador é quem faz tudo isso acontecer.

A Tecnologia dos processadores está evoluindo cada vez mais. Atualmente temos processadores domésticos com 8 núcleos, e cada vez aumenta mais a capacidade de processamento dos novos produtos lançados no mercado.

# data[].attributes.body
A memória RAM é um componente essencial, não apenas nos computadores mas também em equipamentos como smartphones ou tablets. Este post fala de uma forma abrangente, a evolução das memórias RAM, num tema que pode ser bastante complexo quando aprofundado.

A ideia passa por, de alguma forma, tratar as diferentes classes desenvolvidas até à data atual, desde as SDR às DDR4, com uma pequena perspetiva sobre o futuro, as DDR5.
Ao contrário da memória não-volátil, como é o caso de um disco rígido, que preserva a informação gravada sem necessidade de alimentação constante, a memória volátil apenas permite armazenar dados enquanto estiver alimentada eletricamente. Assim, cada vez que o computador for desligado, todos os dados presentes na memória serão apagados definitivamente.
A memória RAM começou por ser assíncrona, ou seja, operava ao seu próprio ritmo, independentemente dos ciclos de relógio (clock) da motherboard, logo, não existia sintonia com o processador. Explicando, e de forma bastante simples, o clock nada mais é a frequência com que o processador executa as tarefas. Quanto maior a frequência, menor será o tempo de execução e, portanto, mais rápidas serão executadas as tarefas. Assim, percebe-se que este era um problema: os processadores eram cada vez mais poderosos e a RAM não estava desenvolvida para assegurar o pedido de dados vindos do processador.
No início dos anos 90, o clock de memória foi sincronizado através da introdução de memórias SDR SDRAM (Single Data Rate Synchronous Dynamic Random Access Memory), mas rapidamente atingiram o seu limite, uma vez que o controlador de memória apenas realizava uma leitura por ciclo. A tensão de alimentação era de 3,3 V e a frequência de operação ia até 133 MHz, tendo sido muito popular na época dos Pentium MMX, Pentium III, entre outros.
Por volta do ano 2000, foram introduzidas as conhecidas memórias DDR SDRAM (Dual Data Rate), mais rápidas por realizarem duas leituras por cada ciclo. Desde então, as memórias DDR evoluíram por três vezes, DDR2, DDR3 e DDR4. Cada iteração melhorou vários aspetos como o tempo de ciclo, largura de banda e ainda reduziu o consumo de energia. No entanto, cada versão não é compatível com as anteriores, tendo em conta que os dados são manipulados em maiores proporções.

Tipos de Memória DDR SDRAM

DDR

A primeira geração de memórias DDR, lançada no ano de 2002, possui maior largura de banda do que a anterior SDR. Efetivamente, isso acontece porque a taxa de transferência é dobrada, sem necessidade de aumentar o clock de memória. Com o seu aparecimento, houve um aumento significativo no desempenho sobre a arquitetura tradicional. Era utilizada principalmente em Pentium 4 e arquiteturas AMD Athlon.

Nota: Por questões de marketing, todas as gerações de memórias DDR são promovidas como sendo duas vezes superior ao valor original. Exemplificando, DDR-200, DDR-266, DDR-333 e DDR-400 são assim catalogadas, no entanto, os buffers de E/S (Entrada e Saída) do modulo de memória operam a 100MHz, 133MHz, 166MHz e 200MHz respetivamente.

DDR2

O padrão DDR foi melhorado continuamente por forma a atender às necessidades de memória de alto desempenho. Implementadas em 2004, as memórias DDR2 sofreram melhorias de largura de banda, clock de memória e consumo de energia. Enquanto que o buffer de prefetch da primeira geração era de 2 bits, aqui passou a ser de 4 bits. Isto resultou em melhorias notáveis em termos de desempenho do sistema. A sua presença era comum na maioria dos chipsets com Pentium 4 Prescott, mais tarde Intel Core e AMD Athlon 64.

DDR3

Em 2007 surgem as sucessoras das memórias DDR2. Essencialmente, a melhoria foi feita na base da anterior, consumo energético reduzido em cerca de 40%, buffer prefetch de 8 bits, etc. Infelizmente, as latências (quantidade de pulsos de clock que o módulo leva para iniciar as transferências de dados) aumentaram significativamente, existindo apenas um ganho de desempenho entre 2-5% em comparação com as anteriores (arquiteturas que suportam DDR2 e DDR3). Além disso, foram adicionadas duas funções, ASR (Automatic Self-Refresh) e SRT (Self-Refresh Temperature), que controlam a frequência da memória de acordo com a variação da temperatura.

DDR4

Lançadas em 2014, são bastante eficientes em termos energéticos, visto que operam a uma tensão de 1,2 V além de proporcionarem elevadas taxas de transferência. Foram adicionas algumas funções, como DBI (Data Bus Inversion), CRC (Cyclic Redundancy Check) e paridade CA, o que permitiu melhorar a integridade do sinal da memória DDR4, bem como a estabilidade de transmissão/acesso a dados.

O futuro das memórias RAM

As memórias DDR5 encontram-se em desenvolvimento e estão previstas para o ano de 2020. Estima-se que sejam duas vezes mais rápidas que as DDR4 e tenham o dobro da capacidade. Além disso, serão mais econômicas no que diz respeito ao consumo de energia.
Os fabricantes de motherboards terão que construir suportes para as DDR5, o que poderá tardar em cerca de um ano a existência de equipamentos disponíveis no mercado para venda.

Estima-se que, já no próximo ano de 2018, as memórias DIMM Optane venham substituir as DDR. Estas conseguem reter os dados mesmo se um computador for desligado, algo que as DDR não conseguem. Será mais um passo rumo ao futuro.