sexta-feira, 30 de agosto de 2013

Memória FLASH - PEN



Memória FLASH - PEN

Memória flash é uma memória de computador do tipo EEPROM (Electrically-Erasable Programmable Read-Only Memory), desenvolvida na década de 1980 pela Toshiba, cujos chips são semelhantes ao da Memória RAM, permitindo que múltiplos endereços sejam apagados ou escritos numa só operação. Em termos leigos, trata-se de um chip re-escrevível que, ao contrário de uma memória RAM convencional, preserva o seu conteúdo sem a necessidade de fonte de alimentação. Esta memória é comumente usada em cartões de memória, flash drives USB (pen drives), MP3 Players, dispositivos como osiPods com suporte a vídeo, PDAs, armazenamento interno de câmeras digitais e celulares. 
USB Flash Drive

Memória flash é do tipo não volátil o que significa que não precisa de energia para manter as informações armazenadas no chip. Além disso, a memória flash oferece um tempo de acesso rápido,embora não tão rápido como a memória volátil (DRAM utilizadas para a memória principal em PCs) e melhor resistência do que discos rígidos. Estas características explicam a popularidade de memória flash em dispositivos portáteis. 

Outra característica da memória flash é que quando embalado em um "cartão de memória" são extremamente duráveis, sendo capaz de resistir a uma pressão intensa, variações extremas de temperatura, e até mesmo imersão em água.

Uma limitação é que a memória flash tem um número finito de modificações (escrita/exclusão). Porém este efeito é parcialmente compensado por alguns chip firmwareou drivers de arquivos de sistema de forma dinâmica e escreve contando o remapeamento dos blocos, a fim de difundir as operações escritas entre os setores.

História

A memória flash (ambos os tipos, NOR e NAND), foi inventada pelo Dr.Fujio Masuoka enquanto trabalhava para a Toshiba em 1980. De acordo com a Toshiba, o nome "flash" foi sugerido por um colega do Dr. Masuoka, Sr. Shoji Ariizumi, pois o processo de apagamento do conteúdo da memória se assemelhava ao flash de uma câmera fotográfica. 

Cartão de memória
O Dr. Masuoka apresentou a invenção ao IEEE 1984 International Electron Devices Meeting (IEDM) realizada em San Francisco, Califórnia. A Intel viu o enorme potencial da invenção e introduziu o primeiro chip flash comercial do tipo NOR em 1988. O flash baseado em NOR leva muito tempo para gravar e apagar, porém fornece completamente o endereço e o barramento de dados, permitindo o acesso aleatório a qualquer posição da memória. 

Isso o torna um substituto adequado para o antigos chips ROM(Ready-only memory), que são utilizados para armazenar o código do programa que raramente precisa ser atualizado, como a BIOS ou a firmware do set-top boxes de um computador. Sua resistência é de 10.000 a 1.000.000 de ciclos de limpeza. O NOR baseado em flash foi a base do início da mídia removível baseada em flash, o compactflash veio a ser baseado nele, embora mais tarde os cartões tenham deixado de custar caro igual aos flash baseado em NAND.

Vantagens

As maiores vantagens desse tipo de memória é sua ocupação mínima de espaço, seu baixo consumo de energia, sua alta resistência, sua durabilidade e segurança, contando com recursos como ECC (Error Correcting Code), que permite detectar erros na transmissão de dados. A tecnologia faz uso de semicondutores (solid state), sendo assim, não tem peças móveis, evitando problemas de causa mecânica.1 2

Também vem começando a ser chamado de disco sólido pelo grande futuro que tem pela frente, já que além de ser muito mais resistente que os discos rígidos atuais, apresenta menor consumo de energia elétrica, latências e peso muito mais baixos. Chega a utilizar apenas 5% dos recursos normalmente empregados na alimentação de discos rígidos. 

Com tantas vantagens, a tendência futura é que os fabricantes de computadores tendem a substituir os disco rígidos por unidades flash. O que poderá ser expandida para os desktopnos próximos 5 anos, pois a sua fabricação ainda é de alto custo para as empresas.

Flash NAND e NOR

Existem dois tipos de memórias flash, a NAND e a NOR. 

Flash NAND

A memória flash NAND (Not AND) permite acessar os dados da memória de maneira aleatória, com alta velocidade. Foi a primeira a se popularizar, chegando ao mercado em1988, seus chips possuem uma interface de endereços semelhante à da RAM, sendo utilizado para armazenar o BIOS das placas-mãe e também firmwares de vários dispositivos, que antes eram armazenados em memória ROM ou EPROM. Alguns dos problemas nesse tipo de memória devem-se ao seu alto custo, e ao seu alto tempo de gravação nas células. Mas embora esses problemas existam, ela é largamente utilizada até hoje em celulares, palmtops e firmware. Chegaram a ser empregadas na fabricação das memórias PCMCIA e CompactFlash, mas com a introdução do tipo NAND, desapareceram deste ramo.

Flash NOR

A memória flash NOR (Not OR) trabalha em alta velocidade, faz acesso sequencial às células de memória e trata-as em conjunto, isto é, em blocos de células, em vez de acessá-las de maneira individual. Essa arquitetura foi introduzida pela Toshiba em 1989. Cada bloco consiste em um determinado número de páginas. As páginas são tipicamente 512,, 2048 ou 4096 bytes em tamanho. A página é associada a alguns bytes (tipicamente 12-16 bytes). Atualmente são os tipos de memória mais usados em dispositivos portáteis.

Tamanhos típicos dos blocos 

32 páginas de 512 bytes para cada tamanho de um bloco de 16 kB 
64 páginas de 2048 bytes para cada tamanho de um bloco de 128 kB 
64 páginas de 4096 bytes para cada tamanho de um bloco de 256 kB 
128 páginas de 4096 bytes para cada tamanho de um bloco de 512 kB 


Embora a programação seja realizada em uma página base,a exclusão dos dados só pode ser executada em um bloco base. Outra limitação do flash NAND é que um bloco de dados só pode ser escrito sequencialmente. Número de Operações (NOPs) é o número de vezes que os setores podem ser programados. 

A maior parte dos dispositivos NAND saem da fábrica com alguns blocos defeituosos, que normalmente são identificados e classificados de acordo com uma determinada marcação de bloco defeituoso. Ao permitir que alguns blocos defeituosos saiam os fabricantes alcançam mais rendimentos do que seria possível, caso todos os blocos fossem bons. Isto reduz significativamente os custos da Memória flash NAND e diminui ligeiramente a capacidade de armazenamento das partes.3

Principais diferenças entre NOR e NAND 

As conexões das células individuais de memória são diferentes. 
A densidade de armazenamento chips é atualmente mais elevado em memórias NAND. 
O custo da NAND é muito mais elevado. 
A NAND permite acessos aleatórios, enquanto a NOR permite apenas acesso sequencial à memória. 
A leitura é muito mais rápida na NAND. 

Sistema de Arquivos Flash

O conceito básico dos sistemas de arquivos flash é o seguinte: quando os dados armazenados vão ser atualizados, o sistema de arquivos faz uma cópia deles para um novo bloco de memória, remapeia os ponteiros de arquivo e depois apaga o antigo bloco quando tiver tempo. Na prática, esse sistema de arquivos é utilizado em dispositivos com memória flash embutida que não possuem controladores. 

Os cartões de memória e drives USB flash são incorporados de controladores e devem desempenhar correção de erros, então o uso de um ou outro sistema de arquivos flash pode não acrescentar nenhum benefício, então os dispositivos flash removíveis utilizam o sistema de arquivos FAT universal, permitindo assim a compatibilidade com câmeras, computadores, PDAs e outros dispositivos portáteis com slots para cartões de memória.

Padronização

Um grupo chamado Open Nand Flash Interface Working Group(ONFI) desenvolveu uma interface padronizada para os chips NAND flash, tornando possível a interoperabilidade entre dispositivos NAND de diferentes fornecedores. A versão 1.0 da especificação ONFI foi liberada em Dezembro de 2006, com as seguintes especificações: 

interface física normalizada(pinout) para NAND flash em TSOP-48, LGA-52 e BGA-63. 

um comando padrão estabelecido para ler, escrever e apagar dados nos chips NAND. 

mecanismo de auto-identificação, comparável ao Serial Presence detection(características dos SDRAM) 

O grupo tem apoio dos principais fabricantes de memória NAND - tais como a Intel, Micron Technology e Sony - e dos principais fabricantes de dispositivos que integram chips NAND. Alguns fornecedores, incluindo Intel, Dell e Microsoft, formaram um grupo para proporcionar um padrão de software e hardware programando interfaces para subsistemas de memória não-volátil, incluindo a flash cache, dispositivo ligado ao PCI Express.

Taxas de Transferência

Geralmente é anunciada somente a velocidade máxima de leitura, pois os cartões de memória NAND são mais rápidos lendo do que escrevendo dados. O tempo de acesso influencia no desempenho, mas não tem tanta importância comparando com o disco rígido. Às vezes denotado em MB/s(megabytes por segundo), ou em número de “X” como 60x, 100x ou 150x. O “X” se refere à velocidade com que uma única unidade de CD entregaria os dados, 1x é o mesmo que 150 kilobytes por segundo. Por exemplo, um cartão de memória 100x vai a 150 KiB x 100 = 15000 KiB por segundo = 14,65 MiB por segundo (A velocidade exata depende da definição de Megabyte que o comerciante opta por utilizar).3

Substituto para discos rígidos

Uma extensão óbvia da memória flash seria um substituto para os discos rígidos, já que ela não possui as limitações mecânicas e latência dos mesmos. A ideia de um drive de estado sólido, ou SSD, torna-se atraente se considerarmos velocidade, ruído, consumo de energia e confiabilidade. Porém, ainda existem algumas desvantagens que devem ser consideradas. 

Por exemplo, o custo por gigabyte de memória flash ainda é maior do que dos discos rígidos. Algumas técnicas estão sendo utilizadas na tentativa de combinar as vantagens das duas tecnologias, usando a flash como uma cache de alta velocidade para arquivos do disco que são muito referenciados mas pouco modificados, tais como aplicativos e arquivos executáveis do sistema operacional.3

A Apple Inc., em 20 de outubro de 2010, apresentou sua nova geração do MacBook Air, que utilizam memória flash em vez de discos rígidos, sendo um dos primeiros laptops a utilizar memória flash em vez de discos rígidos ou SSDs tornando o computador mais veloz e confiável.

Uma EEPROM (de Electrically-Erasable Programmable Read-Only Memory) é um chip dearmazenamento não-volátil usado em computadores e outros aparelhos. 

Ao contrário de uma memória programável apagável somente de leitura (EPROM), uma EEPROM pode ser programada e apagada várias vezes, eletricamente. Pode ser lida um número ilimitado de vezes, mas só pode ser apagada e programada um número limitado de vezes, que variam entre as 100.000 e 1 milhão. Esse limite é causado pela contínua deterioração interna do chip durante o processo de apagamento que requer uma tensão elétrica mais elevada. 

Como cada novo dado gravado no chip requer o apagamento do anterior, considera-se apagamento e gravação como uma só operação, porém seria possível gravar o mesmo endereço de memória um bit de cada vez, fazendo então oito gravações com um só prévio apagamento. Entretanto a maioria das memórias EEPROM faz o apagamento do conteúdo do endereço automaticamente antes da gravação. 

A memória flash é uma variação moderna da EEPROM, mas existe na indústria uma convenção para reservar o termo EEPROM para as memórias de escrita bit a bit, não incluindo as memórias de escrita bloco a bloco, como as memórias flash. As EEPROM necessitam de maior área que as memórias flash, porque cada célula geralmente necessita de um transistor de leitura e outro de escrita, ao passo que as células da memória flash só necessitam de um. 

Tecnologias mais novas como FRAM e MRAM estão aos poucos substituindo as EEPROMs em algumas aplicações.
Ferroelectric RAM (FeRAM or FRAM ), Ferro-magnetic Random-Access Memory, é um tipo de memória de computador não volátil. É uma forma de tecnologia de armazenamento de dados na qual os dados são gravados de modo semipermanente em pequenos cartões ou faixas de material revestido com filme magnético de óxido de ferro. A exemplo do que acontece com fitas e discos, os dados persistem sem energia; com a RAM de semicondutor, um computador pode acessar os dados em qualquer ordem.

MRAM (acrônimo para Magneto-resistive Random Access Memory) é um memória de computador não-volátil, considerada chave para a criação das novas gerações de equipamentos móveis de alto desempenho. 

O desenvolvimento se baseia em uma nova célula de memória que reduz pela metade o consumo de energia durante o processo de escrita de dados, uma nova arquitetura com características de alta velocidade e excelente desempenho. Os dois avanços permitirão o desenvolvimento de dispositivos de alta densidade baseados na tecnologia magneto-resistiva. Outras tecnologia parecidas até agora consumiam muita energia e eram baseadas em células - as unidades individuais de armazenamento dos dados. 

As empresas Nec e Toshiba conseguiram reduzir o consumo de energia criando um novo formato para a junção de tunelamento magnético que armazena a informação. Ao invés de ser retangular, a nova junção possui saliências laterais em arco no centro. A corrente necessária para a escrita foi reduzida, além de proporcionar a redução no número de erros de escrita, mesmo se houver flutuações nas características de chaveamento de cada célula. 

As pesquisas até hoje produziram duas propostas básicas para as estruturas das MRAM. A primeira acopla cada célula a um transistor, o que melhora o tempo de leitura, mas aumenta o tamanho da célula. Na segunda proposta, chamada de estrutura de ponto cruzado, o transistor é retirado de cada célula individual, o que reduz o tamanho da célula, mas aumenta o tempo de leitura e o número de erros, devido à geração de correntes de fuga, que se dirigem para células não desejadas. 

A nova MRAM utiliza uma estrutura de ponto cruzado na qual um transistor controla quatro células. Com isto as células têm o mesmo tamanho que as células das memórias DRAMconvencionais, e o tempo de leitura ficou em torno de 250ns, quatro vezes mais rápido do que as MRAM com a estrutura convencional. 


Segunda geração

Toshiba TransMemory Flash Drive vem pré-instalado com o U3, permitindo que os usuários tomem as suas aplicações, totalmente instalado e operacional, para qualquer área de trabalho. Modern flash drives têm conectividade USB 2.0.1000 GB No entanto, eles não utilizam atualmente o pleno 480 Mbits (60M Bytes/s), a Hi-Speed USB 2.0 suporta especificação devido a limitações técnicas inerentes flash NAND. Típico arquivo transferência global de velocidades variam consideravelmente, e deve ser verificada antes da compra; velocidades poderão ser dadas em megabytes ou megabits por segundo. Típico fast drives de ler a alegação de até 30 megabytes (MB/s) e escrever em cerca de metade disso. Antigas "USB plena velocidade" 12 mebibyts/s dispositivos são limitados a um máximo de cerca de 1 MB/s.

Tecnologia

Pen Drive

Memória flash combina uma série de tecnologias mais antigas, com o baixo custo, baixo consumo de energia e tamanho reduzido possibilitadas pelos recentes avanços na tecnologia microprocessador. A memória de armazenamento é baseada em anteriores EPROM EEPROM e tecnologias. Estes tinham capacidade muito limitada, eram muito lentos para ambos leitura e escrita, exigida complexa unidade circuitos de alta tensão, e só poderia ser re-escrita depois de apagar todo o conteúdo do chip.

Hardware designers desenvolveram mais tarde EEPROM com o apagamento região divididas em pequenos "campos" que poderiam ser apagados individualmente, sem afectar os outros. A modificação do conteúdo de uma determinada localização de memória envolvidas primeiro copiar todo o campo em uma off-chip de memória buffer, apagando o campo e, em seguida, voltar a escrever os dados de volta para o mesmo campo, fazendo as necessárias modificações relevantes para a memória local enquanto fazem assim. Isto exigiu apoio considerável computador, e PC-Based EEPROM memória flash frequentemente levado os seus próprios sistemas dedicados microprocessador sistema. Flash drives são mais ou menos uma versão deste miniaturizados.

O desenvolvimento da alta velocidade, tais como interfaces seriais dados USB pela primeira vez feita com sistemas de memória de armazenamento viável seriadamente acessados, e, simultaneamente ao desenvolvimento de pequenas e de alta velocidade e baixa potência sistemas de microprocessadores permitiu esta a ser incorporadas nos sistemas extremamente compacto . Serial acesso também reduziu grandemente o número de conexões elétricas exigidas para a chips de memória, o que tem permitido o sucesso fabricação de capacidades multi-(gigabyte). (Todas as ligações eléctricas externas é uma fonte potencial de produção falha, e com o fabrico tradicional, um ponto onde é rapidamente alcançado o sucesso abordagens rendimento zero).

Acessar computadores modernos sistemas de memória flash muito bem como unidades de disco rígido, quando o responsável pelo sistema tem total controle sobre as informações na verdade estão armazenadas. O real EEPROM escrita e apagamento processos são, no entanto, ainda muito semelhantes aos anteriores sistemas descritos acima.

Em muitos MP3 players de baixo custo basta adicionar um software extra para que um padrão de memória flash controle o microprocessador e ele também poder servir como um decodificador para além de ouvir música. A maior parte destes mp3players também pode ser usado como uma flash drive convencional.

Diferenciação

Apesar do formato padrão de um pen drive ser o retângulo, comprido e fino, hoje em dia muitos já se destacam por seus formatos diferenciados, como caveira, dedo, ursinho de pelúcia, carro. E sua utilidade não é apenas de armazenamento, servindo também como decoração, chaveiro e colar, e também há pen drivers menores que uma moeda 2

Utilização

Para ter acesso aos dados armazenados no drive flash, este deve estar conectado ao computador, tanto diretamente quanto através de um hub USB. O drive fica ativo apenas quando ligado à porta USB e obtém toda a energia necessária através da corrente elétrica fornecida pela conexão. Alguns drives no entanto, especialmente os modelos de velocidade mais alta, podem necessitar de mais energia que a fornecida pelo hub USB, como os disponíveis em teclados e monitores (ecrãs em Portugal).

Em computadores com sistema operacional Windows 7, Windows Vista, Windows XP ou com as versões recentes do Linux ou MacOS, os flash drives são reconhecidos automaticamente como dispositivos de armazenamento removível. Em sistemas operacionais mais antigos (como o Microsoft Windows 98), é necessário instalar um pacote de software denominado "driver", específico para o dispositivo utilizado, que permite seu reconhecimento pelo sistema operacional. Há alguns "drivers" anunciados como genéricos ou universais para Windows 98, mas nem sempre funcionam perfeitamente com qualquer dispositivo.

Alguns modelos podem reproduzir música MP3 e sintonizar Rádio FM. Em contrapartida, são um pouco mais caros, volumosos e pesados, por utilizar uma pilha (geralmente no tamanho AAA), ou bateria interna. Vale salientar que esses modelos já podem ser "classificados" como MP3 Player ou S1 MP3 Player.



Componentes internos de uma memória flash típica
(Modelo Saitek USB1.1 na imagem)

1 Conector USB
2 Dispositivo de controle de armazenamento USB
3 Pontos de teste
4 Chip de memória flash
5 Oscilador de cristal
6 LED
7 Chave de proteção contra gravação
8 Espaço para um chip de memória flash adicional

Componentes

Um flash drive consiste de uma pequena placa de circuito impresso protegido tipicamente por um invólucro de plástico ou metal. O que o torna resistente o bastante para ser carregado em um bolso. Apenas o conector USB fica exposto - muitas vezes protegido por um tipo de capa - ou então é retrátil, sendo recolhido para dentro do corpo do drive. A maioria dos dispositivos usa o conector padrão USB tipo-A permitindo que sejam conectados diretamente à porta de um computador pessoal.

Componentes essenciais

Existem normalmente quatro partes de um drive flash:



Conector USB macho do tipo A – Interface com o computador.
Controlador USB Mass Storage – Implementa o controlador USB e disponibiliza uma interface linear e padronizada (pelo próprio padrão USB). O controlador contém um microprocessador RISC e uma quantidade (em geral reduzida) de memória ROM e RAM embutida.
NAND flash – Armazena a informação, o mesmo tipo de memória é usado em câmeras digitais
Oscilador de cristal – Produz um sinal de relógio com 12 MHz, que é usado para ler ou enviar dados a cada pulso.

Componentes opcionais

Alguns drives podem também incluir:

Jumpers e pinos de teste – Para testes durante a sua produção.
LEDs – Que indicam quando se está a ler ou a escrever no drive.
Interruptor de modo de escrita – Para que não se possa apagar ou gravar algo no dispositivo.
Reconhecedor de impressão digital - Para que nenhuma pessoa não autorizada utilize o dispositivo.
Capa de proteção dos conectores - Evitam que os contatos do dispositivo se sujem ou oxidem..

DRAMDynamic random-access memory

DRAM é um tipo de memória RAM de acesso direto que armazena cada bit de dados num condensador ou Capacitor. O número de elétrons armazenados no condensador determina se o bit é considerado 1 ou 0. Como vai havendo fuga de elétrons do condensador, a informação acaba por se perder, a não ser que a carga seja atualizada periodicamente.

Embora esse fenômeno da perda de carga não ocorra nas memórias RAM estáticas (SRAM), as DRAM possuem a vantagem de terem custo muito menor e densidade de bits muito maior, possibilitando em um mesmo espaço armazenar muito mais bits (o que em parte explica o menor custo) e a sua simplicidade estrutural com apenas um transistor e um capacitor necessários para cada bit (ao contrário dos 4 transistores da SRAM).

SDRAMS - Synchronous dynamic random access memory

SDRAM - é uma memória de acesso dinâmico randômico (DRAM) que é sincronizada com o barramento do sistema, ou mais precisamente, com a transição de subida do clock da placa-mãe . Permite uma operação mais justa com a CPU pois o CPU saberá exatamente quando os dados estarão disponíveis.1

Diferente das memórias DRAM clássicas, que possuem uma interface assíncrona, e por isto respondem tão rápido quanto possível a mudanças nas entradas de controle, a SDRAM possui uma interface síncrona, significando que ela espera pelo sinal do clock antes de responder às entradas de comando e é portanto sincronizada com o barramento do sistema do computador.4

A mudança mais significativa, e a razão primária pela qual a SDRAM suplantou a RAM assíncrona, é o suporte a múltiplos bancos internos dentro de um chip DRAM. Usando uns poucos bits de "endereço do banco" que acompanham cada comando, um segundo banco pode ser ativado e começar a ler dados enquanto a leitura do primeiro banco estiver em progresso.4 Por alternar os bancos, um dispositivo SDRAM pode manter o barramento de dados continuamente ocupado, em uma forma que a DRAM assíncrona não pode.

SDRAM é largamente usada em computadores; a partir da original SDRAM, mais gerações de DDR (ou DDR1) e então DDR2 e DDR3 entraram no mercado de massas, com a DDR4 atualmente sendo desenv

CPUCentral Processing Unit

A unidade central de processamento ou CPU (Central Processing Unit), também conhecido como processador, é a parte de um sistema computacional, que realiza as instruções de um programa de computador, para executar a aritmética básica, lógica, e a entrada e saída de dados1 . A CPU tem papel parecido ao cérebro no computador . O termo vem sendo usado desde o início de 1960.3 A forma, desenho e implementação mudaram drasticamente desde os primeiros exemplos, porém o seu funcionamento fundamental permanece o mesmo.

As primeiras CPUs personalizadas foram concebidas como parte de um computador maior. No entanto, este método caro de fazer CPUs personalizadas para uma determinada aplicação rumou para o desenvolvimento de processadores produzidos em massa que são feitas para um ou vários propósitos. Esta tendência de padronização em geral começou na época de discretos minicomputadorese main frames transistors e acelerou rapidamente com a popularização dos circuitos integrados (CI).

Conceito

Os CI têm permitido processadores cada vez mais complexos para serem concebidos e fabricados em tamanhos da ordem de nanômetros. Tanto a miniaturização como a padronização dos processadores têm aumentado a presença destes dispositivos digitais na vida moderna, muito além da aplicação limitada dedicada a computadores. Os microprocessadores modernos aparecem em tudo, desde automóveis até celulares e brinquedos para crianças.

Em máquinas grandes, CPUs podem exigir uma ou mais placas de circuito impresso. Em computadores pessoais e estações de trabalho de pequeno porte, a CPU fica em um único chip de silício chamado de microprocessador. Desde 1970 a classe de microprocessadores de CPUs quase completamente ultrapassado todas as implementações de outra CPU. CPUs modernos são circuitos integrados de grande escala em pequenos pacotes retangulares, com vários pinos de conexão.

Um CPU é composta basicamente, pela grande maioria dos autores, pelos três seguintes componentes : 

Unidade lógica e aritmética (ULA ou ALU): executa operações lógicas e aritméticas; 

Unidade de controle: decodifica instruções, busca operandos, controla o ponto de execução e desvios; 

Registradores: armazenar dados para o processamento. 

OBS.: Alguns autores também incluem, na mesma categoria dos Registradores a Memória cache como um dos componentes da CPU.






EDVAC, um dos primeiros computadores.

História

Computadores como o ENIAC tinham que ser fisicamente religados a fim de realizar diferentes tarefas, por isso estas máquinas são muitas vezes referidas como "computadores de programa fixo". Visto que o termo "CPU" é geralmente definido como um dispositivo para execução de um software (programa de computador), os primeiros dispositivos que poderiam muito bem ser chamados CPUs vieram com o advento do computador com programa armazenado. 

A ideia do programa de computador já estava presente no projeto do ENIAC de J. Presper Eckert e John William Mauchly, mas inicialmente foi omitido para que a máquina pudesse ser concluída em menos tempo. Em 30 de junho de 1945, antes do ENIAC ter sido concluído, o matemático John von Neumann distribuiu um documento intitulado "primeiro esboço de um relatório sobre o EDVAC". 

É descrito o projeto de um programa de computador armazenado que viria a ser concluído em agosto de 1949.4. O EDVAC foi projetado para executar um determinado número de instruções (ou operações) de vários tipos. Estas instruções podem ser combinados para criar programas úteis para o EDVAC para ser executado. 

Significativamente, os programas escritos para EDVAC foram armazenados emmemórias de computador de alta velocidade e não especificados pela ligação física do computador. Isso superou uma grave limitação do ENIAC que era o longo tempo e esforço necessário para reconfigurar o computador para executar uma nova tarefa. Com o design de von Neumann, o programa, ou software, que executava no EDVAC poderia ser mudado simplesmente mudando o conteúdo da memória do computador.

Enquanto von Neumann é mais frequentemente creditado como sendo o desenvolvedor do computador com programa armazenado, devido à sua concepção do EDVAC, outros antes dele, como Konrad Zuse, tinham sugerido e implementado ideias semelhantes. A chamada arquitetura de Harvard do Harvard Mark I, que foi concluída antes do EDVAC, também utilizou um projeto de programa armazenado usando fita de papel perfurado em vez de memória eletrônica. 

A diferença fundamental entre as arquiteturas de von Neumann e Harvard é que este último separa o armazenamento e o tratamento de instruções da CPU e de dados, enquanto a primeira utiliza o mesmo espaço de memória para ambos. A maioria dos processadores modernos são principalmente von Neumann em design, mas elementos da arquitetura de Harvard são comumente vistas também. 

Como um dispositivo digital, uma CPU é limitada a um conjunto de estados discretos, e requer algum tipo de elemento de comutação para diferenciar e mudar estados. Antes do desenvolvimento comercial do transistor, relés elétricos e válvulas eletrônicas eram comumente utilizados como elementos de comutação. 

Embora estes tivessem considerável vantagem em termos de velocidade sobre o que se usava antes, desenhos puramente mecânicos, eles não eram confiáveis por diversas razões. Por exemplo, a construção de circuitos de lógica sequencial de corrente contínua fora de relés requer um hardware adicional para lidar com os problemas de contato. Enquanto as válvulas não sofrem rejeição de contato, elas devem aquecer antes de se tornarem plenamente operacionais, e eventualmente deixam de funcionar devido à lenta contaminação dos seus cátodos que ocorre no curso da operação normal. Se uma válvula selada vaza, como por vezes acontece, a contaminação do cátodo é acelerada. 

Normalmente, quando um tubo apresnta defeito, a CPU teria que ser examinada para localizar o componente que falhou a fim de que pudesse ser substituído. Portanto, os primeiros computadores eletrônicos (baseados em válvulas) eram geralmente mais rápidos, mas menos confiáveis do que os computadores eletromecânicos (baseados em relés). 

Computadores baseados em válvulas como o EDVAC tendiam a trabalhar em média oito horas até apresentarem falhas, enquanto os computadores baseados em relés como o (mais lento, mas anterior) Harvard Mark I apresentava defeitos muito raramente. . 

No final, CPUs baseadas em válvulas tornaram-se dominantes porque as vantagens de velocidade significativa oferecidas geralmente superavam os problemas de confiabilidade. A maioria destas antigas CPUs funcionava com baixa frequencias de relógio em comparação com os design microeletrônicos modernos. Sinais de frequência de relógio variando de 100 kHz a 4 MHz eram muito comuns nesta época, em grande parte limitados pela velocidade dos dispositivos de comutação que eram construídos. 

CPUs baseados em transistores discretos e em circuitos integrados

Durante este período, um método de fabricação de transistores em um espaço compacto ganhou popularidade. O circuito integrado (IC, conforme iniciais em inglês) permitiu que um grande número de transistores fossem fabricados em um único die baseado em semicondutor, ou "chip". No início apenas circuitos digitais não especializados e muito básicos, tais como portas NOR foram miniaturizados em ICs. CPUs baseadas nestes IC de "blocos construídos" eram geralmente referidos como dispositivos de "integração em pequena escala" (SSI, conforme iniciais em inglês). SSI ICs, tais como os usados no computador orientado Apollo, normalmente continham somas de transistores em múltiplos de dez.


A complexidade do projeto de CPUs aumentou quando várias tecnologias facilitaram a construção de menores e mais confiáveis dispositivos eletrônicos. O primeiro aprimoramento veio com o advento do transistor. 

CPUs transistorizadas durante os anos 1950 e 1960 já não precisavam mais ser construídas com volumosos, não confiáveis e frágeis elementos de comutação, tais como válvulas e relés elétricos. Com esta melhoria, CPUs mais complexas e mais confiáveis foram construídas em uma ou várias placas de circuito impresso com componentes discretos (individuais).
Para construir uma CPU inteira fora dos SSI ICs eram necessários milhares de chips individuais, mas ainda assim consumiam muito menos espaço e energia do que modelos anteriores baseados em transistores discretos. Quando a tecnologia microeletrônica avançou, um crescente número de transistores foram colocados em ICs, diminuindo assim a quantidade de ICs individuais necessários para uma CPU completa. Circuitos integrados MSI e LSI (integração em média e em larga escala, conforme iniciais em inglês) aumentaram a soma de transistores às centenas, e depois milhares.

Microprocessadores


O circuito integrado de um Intel 8742.
A introdução do microprocessador na década de 1970 afetou significativamente a concepção e implementação de processadores. 

Desde a introdução do primeiro microprocessador disponível comercialmente (o Intel 4004) em 1970 e o primeiro microprocessador utilizado (o Intel 8080), em 1974, essa classe de CPUs tem quase completamente ultrapassado todas os outros métodos de implementação de unidades centrais de processamento.

O Microprocessador

O microprocessador, popularmente chamado 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, é tornar o computador inteligente.

Um microprocessador incorpora as funções de uma unidade central de computador (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.

Arquitetura interna de um microprocessador dedicado para processamento de imagens de ressonância magnética, a fotografia foi aumentada 600 vezes, sob luz ultravioleta para se enxergar os detalhes

Vista inferior de um Athlon XP 1800+ núcleo Palomino, um microprocessador moderno.

O microprocessador moderno é um circuito integrado formado por uma camada chamada demesa epitaxial de silício, trabalhada de modo a formar um cristal de extrema pureza, laminada até uma espessura mínima com grande precisão, depois cuidadosamente mascarada por um processo fotográfico e dopada pela exposição a altas temperaturas em fornos que contêm misturas gasosas de impurezas. Este processo é repetido tantas vezes quanto necessário à formação da microarquitetura do componente.

Responsável pela execução das instruções num sistema, o microprocessador, escolhido entre os disponíveis no mercado, determina, em certa medida a capacidade de processamento do computador e também o conjunto primário de instruções que ele compreende. O sistema operativo é construído sobre este conjunto.

O próprio microprocessador subdivide-se em várias unidades, trabalhando em altas freqüências. A ULA(Unidade Lógica Aritmética), unidade responsável pelos cálculos aritméticos e lógicos e os registradores são parte integrante do microprocessador na famíliax86, por exemplo.

Embora seja a essência do computador, o microprocessador diferente do microcontrolador, está longe de ser um computador completo. Para que possa interagir com o utilizador precisa de: memória, dispositivos de entrada/saída, um clock, controladores e conversores de sinais, entre outros. Cada um desses circuitos de apoio interage de modo peculiar com os programas e, dessa forma, ajuda a moldar o funcionamento do computador

História[editar]


Intel 8008, um dos primeiros microprocessadores comerciais.



O primeiro microprocessador comercial foi inventado pela Intel em 1971 para atender uma empresa japonesa que precisava de um circuito integrado especial para as suas atividades.1 A Intel projectou o 4004, que era um circuito integrado programável que trabalhava com registradores de 4 bits, 46 instruções, clock de 740Khz e possuía cerca de 2300 transistores. Percebendo a utilidade desse invento a Intel prosseguiu com o desenvolvimento de novos microprocessadores: 8008 (o primeiro de 8 bits) e a seguir o 8080 e o microprocessador 8085.


O 8080 foi um grande sucesso e tornou-se a base para os primeiros microcomputadores pessoais na década de 1970 graças ao sistema operacionalCP/M. Da Intel saíram alguns funcionários que fundaram a Zilog, que viria a lançar o microprocessador Z80, com instruções compatíveis com o 8080 (embora muito mais poderoso que este) e também de grande sucesso. A Motorola possuía o 68000 e a MOS Technology o 6502.


A Motorola ganhou destaque quando implantou o MC68000P12, de 12 MHz com arquitetura de 32 bits (embora seu Barramento fosse de 24 bits e seu Barramento de endereços de 16 bits), no Neo-Geo, um poderoso Arcade da SNK que posteriormente ganharia a versão AES (console casero) e CD (versão CD), todos eles com o mesmo hardware inicial. Todos os microprocessadores de 8 bits foram usados em muitos computadores pessoais (Sinclair, Apple Inc., TRS, Commodore, etc).


Em 1981 a IBM decidiu lançar-se no mercado de computadores pessoais e no seu IBM-PC utilizou um dos primeiros microprocessadores de 16 bits, o 8088 (derivado do seu irmão 8086 lançado em 1978) que viria a ser o avô dos computadores atuais. A Apple nos seus computadores Macintosh utilizava os processadores da Motorola, a família 68000 (de 32 bits).


Outros fabricantes também tinham os seus microprocessadores de 16 bits, a Zilog tinha o Z8000, a Texas Instruments o TMS9900, a National Semiconductor tinha o 16032,mas nenhum fabricante teve tanto sucesso como a Intel, que sucessivamente foi lançando melhoramentos na sua linha 80X86, tendo surgido assim (por ordem cronológica) o 8086, 8088, 80186, 80188, 80286, 80386, 80486,Pentium, Pentium Pro, Pentium MMX, Pentium II, Pentium III, Pentium IV, Pentium M, Pentium D, Pentium Dual Core, Core 2 Duo,Core 2 Quad, Core i3, Core i5 e Core i7. Para o IBM-AT foi utilizado o 80286, depois um grande salto com o 80386 que podia trabalhar com memória virtual e multitarefa, o 80486 com coprocessador matemático embutido e finalmente a linha Pentium, com pipeline de processamento.


Como grande concorrente da Intel, a AMD aparece inicialmente como fabricante de microprocessadores da linha x86 alternativa mas a partir de um certo momento deixou de correr atrás da Intel e partiu para o desenvolvimento de sua própria linha de microprocessadores: K6, Athlon, Duron, Turion, Sempron, Phenom. Paralelamente à disputa entre Intel e AMD, a IBM possuía a linha PowerPC utilizada principalmente pelos microcomputadores da Apple.


A evolução tecnológica envolvida é surpreendentemente grande, de microprocessadores que trabalhavam com clock de dezenas de kHz e que podiam processar alguns milhares de instruções por segundo, atingiu-se clocks na casa dos 7 GHz e poder de processamento de dezenas de bilhões de instruções por segundo. A complexidade também cresceu: de alguns milhares de transístores para centenas de milhões de transístores numa mesma pastilha.


O CPU tem como função principal unificar todo o sistema, controlar as funções realizadas por cada unidade funcional, e é também responsável pela execução de todos os programas do sistema, que deverão estar armazenados na memória principal.
Componentes[editar]

O processador é composto por alguns componentes, cada um tendo uma função específica no processamento dos programas.

Unidade lógica e aritmética[editar]

Unidade lógica e aritmética (ULA) é a responsável por executar efetivamente as instruções dos programas, como instruções lógicas, matemáticas, desvio, etc.

Unidade de controle[editar]

Unidade de controle (UC) é responsável pela tarefa de controle das ações a serem realizadas pelo computador, comandando todos os outros componentes.

Registradores[editar]

Os registradores são pequenas memórias velozes que armazenam comandos ou valores que são utilizados no controle e processamento de cada instrução. Os registradores mais importantes são:
  • Contador de Programa (PC) – Sinaliza para a próxima instrução a ser executada;
  • Registrador de Instrução (IR) – Registra a execução da instrução;

Unidade de Gerenciamento de Memória[editar]

MMU (em inglês: Memory Management Unit) é um dispositivo de hardware que transforma endereços virtuais em endereços físicos e administra a memória principal do computador.

Unidade de ponto flutuante[editar]

Nos processadores atuais são implementadas unidades de cálculo de números reais. Tais unidades são mais complexas que ULAs e trabalham com operandos maiores, com tamanhos típicos variando entre 64 e 128 bits.

Frequência de operação[editar]

O relógio do sistema (Clock) é um circuito oscilador a cristal (efeito piezoelétrico) que tem a função de sincronizar e ditar a medida de tempo de transferência de dados no computador. Esta freqüência é medida em ciclos por segundo, ou Hertz. A capacidade de processamento do processador não está relacionada exclusivamente à frequência do relógio, mas também a outros fatores como: largura dos barramentos, quantidade de memória cache, arquitetura do processador, tecnologia de co-processamento, tecnologia de previsão de saltos (branch prediction), tecnologia de pipeline, conjunto de instruções, etc.
O aumento da frequência de operação nominal do processador é denominado overclocking.

Arquitetura[editar]

Existem duas principais arquiteturas usadas em processadores:
  • A arquitetura de Von Neumann. Esta arquitetura caracteriza-se por apresentar um barramento externo compartilhado entre dados e endereços. Embora apresente baixo custo, esta arquitetura apresenta desempenho limitado pelo gargalo do barramento.
  • A arquitetura de Harvard. Nesta arquitetura existem dois barramentos externos independentes (e normalmente também memórias independentes) para dados e endereços. Isto reduz de forma sensível o gargalo de barramento, que é uma das principais barreiras de desempenho, em detrimento do encarecimento do sistema como um todo.

Modelos de computação[editar]

Existem dois modelos de computação usados em processadores:
  • CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; possui um grande conjunto de instruções (tipicamente centenas) que são armazenadas em uma pequena memória não-volátil interna ao processador. Cada posição desta memória contém as microinstruções, ou seja, os passos a serem realizados para a execução de cada instrução. Quanto mais complexa a instrução, mais microinstruções ela possuirá e mais tempo levará para ser executada. Ao conjunto de todas as microinstruções contidas no processador denominamosmicrocódigo. Esta técnica de computação baseada em microcódigo é denominada microprogramação.
  • RISC (em inglês: Reduced Instruction Set Computing, Computador com um Conjunto Reduzido de Instruções) usada em processadores PowerPC (da Apple, Motorola e IBM) e SPARC (SUN); possui um conjunto pequeno de instruções (tipicamente algumas dezenas) implementadas diretamente em hardware. Nesta técnica não é necessário realizar a leitura em uma memória e, por isso, a execução das instruções é muito rápida (normalmente um ciclo de clock por instrução). Por outro lado, as instruções são muito simples e para a realização de certas tarefas são necessárias mais instruções que no modelo RISC.

Exemplos de microprocessadores[editar]


Uma microcontroladora, um exemplo de microprocessador.

Uma GPU.
  • Microprocessadores — São utilizados noscomputadores pessoais, onde são chamadas deUnidade Central de Processamento (CPU),workstations e mainframes. Podem ser programados para executar as mais variadas tarefas.
  • Processadores Digitais de Sinal (DSP do inglêsDigital Signal Processor) — são microprocessadores especializados em processamento digital de sinal usados para processar sinais de áudio, vídeo, etc., quer em tempo real quer em off-line. Estão presentes, por exemplo, em aparelhos de CDDVD e televisores digitais. Em geral, realizam sempre uma mesma tarefas simples.
  • Microcontroladores — Processadores relativamente flexíveis, de relativo baixo custo, que podem ser utilizados em projetos de pequeno tamanho. Podem trazer facilidades como conversores A/D embutidos, ou um conjunto de instruções próprias para comunicação digital através de algum protocolo específico.
  • GPU — (ou Unidade de Processamento Gráfico), é um microprocessador especializado em processar gráficos. São utilizadas em placas de vídeo para fazer computação gráfica.

Propósito geral e dedicado[editar]

Durante o processo de desenvolvimento do design de um processador, uma das características que se leva em conta é o uso que ele se destina. Processadores gráficos e controladoras por exemplo não tem o mesmo fim que um processador central. Processadores de propósito geral podem executar qualquer tipo de software, embora sua execução seja mais lenta que o mesmo sendo executado em um processador especializado. Processadores dedicados são fabricados para executarem tarefas específicas, como criptografia, processamento vetorial e gráfico, sendo nesse caso bem mais rápidos do que processadores de propósito geral em tarefas equivalentes. No caso do processamento gráfico, existem as GPUs, que são microprocessadores geralmente com memória dedicada e especialmente desenvolvidos para cálculos gráficos. Nem sempre os processadores seguem definidamente esses dois modelos, sendo o motivo disso que muitos processadores modernos incorporam processadores especializados (co-processador), para cálculos de criptografia, processamento de vetores, etc.

Processadores multinucleares[editar]

Até poucos anos atrás usou-se microprocessadores para atividades domésticas ou de negócios com simples núcleo. Atualmente estão sendo utilizados microprocessadores de múltiplos núcleos para melhorar a capacidade de processamento. Espera-se que no futuro os Sistemas Operacionais domésticos sejam compilados para trabalhar com processadores de múltiplos núcleos corretamente, realizando assim inúmeras tarefas ao mesmo tempo (como já acontece com os supercomputadores).

Sistemas multiprocessados[editar]

Em muitos sistemas o uso de um só processador é insuficiente. A solução nesses casos é usar dois ou mais processadores em multi processamento, aumentando assim a quantidade de processadores disponíveis ao sistema operacional. Sistemas multiprocessados podem ser de basicamente dois tipos:
  • Multiprocessamento simétrico (SMP): os processadores compartilham a mesma memória, embora possam ter caches separadas. O sistema operacional deve estar preparado para trabalhar com coerência de caches e, principalmente, evitar condições de corrida na memória principal.
  • Acesso não uniforme à memória (NUMA): a cada processador é associado um banco de memória. Nesse caso, o sistema operacional trata cada banco separadamente, pois cada banco tem um custo de acesso diferente, dependendo de qual o processador a que está associado e onde está sendo executado o processo que tenta acessar a memória.

Capacidade de processamento[editar]

A capacidade de processamento de um microprocessador é de certa forma difícil de medir, uma vez que esse desempenho pode se referir a quantidade máxima teória de instruções que podem ser executadas por segundo, que tipos de instruções são essas, em Flops (instruções de ponto flutuante), podendo essa ser de precisão simples, dupla, quádrupla, dependendo do contexto, e em MIPS (milhões de instruções por segundo), sendo essas operações com números inteiros. Somente a capacidade máxima teórica de um microprocessador não define seu desempenho, somente dá uma noção da sua capacidade, uma vez que sua arquitetura, barramento com a memória entre outros também influenciam no seu desempenho final, sendo assim, sua capacidade de processamento é medida comparando a velocidade de execução de aplicativos reais, podendo assim, testar seu desempenho em atividades comuns.

1 comentário:

  1. amigo tenho uma memoria flash de um tablet sera que consigo adaptar- la em um mp3 ou fazer um pen drive?

    ResponderEliminar