quinta-feira, 26 de abril de 2012

Memória cache

Memória cache:
A memória cache surgiu quando percebeu-se que as memórias não eram mais capazes de acompanhar o processador em velocidade, fazendo com que muitas vezes ele tivesse que ficar "esperando" os dados serem liberados pela memória RAM para poder concluir suas tarefas, perdendo muito em desempenho. Se na época do 386 a velocidade das memórias já era um fator limitante, imagine o quanto este problema não atrapalharia o desempenho dos processadores que temos atualmente. Para solucionar este problema, começou a ser usada a memória cache, um tipo ultra-rápido de memória que serve para armazenar os dados mais frequentemente usados pelo processador, evitando na maioria das vezes que ele tenha que recorrer à comparativamente lenta memória RAM. Sem ela, o desempenho do sistema ficará limitado à velocidade da memória, podendo cair em até 95%. São usados dois tipos de cache, chamados de cache primário, ou cache L1 (level 1), e cache secundário, ou cache L2 (level 2). O cache primário é embutido no próprio processador e é rápido o bastante para acompanhá-lo em velocidade. Sempre que um novo processador é desenvolvido, é preciso desenvolver também um tipo mais rápido de memória cache para acompanhá-lo. Como este tipo de memória é extremamente caro (chega a ser algumas centenas de vezes mais cara que a memória RAM convencional) usamos apenas uma pequena quantidade dela. Para complementar, usamos também um tipo um pouco mais lento de memória cache na forma do cache secundário, que por ser muito mais barato, permite que seja usada uma quantidade muito maior.



Cache L1:
Uma pequena porção de memória estática presente dentro do processador. Em alguns tipos de processador, como o Pentium 2, o L1 é dividido em dois níveis: dados e instruções (que "dizem" o que fazer com os dados). A partir do Intel 486, começou a se colocar a L1 no próprio chip [processador]. Geralmente tem entre 16KB e 128KB; hoje já encontramos processadores com até 16MB de cache.

Cache L2:
Possuindo o Cache L1 um tamanho reduzido e não apresentando uma solução ideal, foi desenvolvido o cache L2, que contém muito mais memória que o cache L1. Ela é mais um caminho para que a informação requisitada não tenha que ser procurada na lenta memória principal. Alguns processadores colocam essa cache fora do processador, por questões econômicas, pois uma cache grande implica num custo grande, mas há exceções, como no Pentium II, por exemplo, cujas caches L1 e L2 estão no mesmo cartucho que está o processador. A memória cache L2 é, sobretudo, um dos elementos essenciais para um bom rendimento do processador mesmo que tenha um clock baixo. Um exemplo prático é o caso do Intel Itanium 9152M (para servidores) que tem apenas 1.6 GHz de clock interno e ganha de longe do atual Intel Extreme, pelo fato de possuir uma memória cache de 24MB. Quanto mais alto é o clock do processador, mais este aquece e mais instável se torna. Os processadores Intel Celeron tem tão fraco desempenho por possuir menor memória cache L2. Um Pentium M 730 de 1.6 GHz de clock interno, 533 MHz FSB e 2 MB de cache L2, tem rendimento semelhante a um Intel Pentium 4 2.4 GHz, aquece muito menos e torna-se muito mais estável e bem mais rentável do que o Intel Celeron M 440 de 1.86 GHz de clock interno, 533 MHz FSB e 1 MB de cache L2.

Cache L3:
Terceiro nível de cache de memória. Inicialmente utilizado pelo AMD K6-III (por apresentar o cache L2 integrado ao seu núcleo) utilizava o cache externo presente na placa-mãe como uma memória de cache adicional. Ainda é um tipo de cache raro devido a complexidade dos processadores atuais, com suas áreas chegando a milhões de transístores por micrómetros ou picómetros de área. Ela será muito útil, é possível a necessidade futura de níveis ainda mais elevados de cache, como L4 e assim por diante.

Componentes onde é usada a memória cache:
Com os avanços tecnológicos, vários tipos de cache foram desenvolvidos. Atualmente há cache em processadores, discos rígidos, sistemas, servidores, nas placas-mãe, clusters de bancos de dados, entre outros. Qualquer dispositivo que requeira do utilizador uma solicitação/requisição a algum outro recurso, seja de rede ou local, interno ou externo a essa rede, pode requerer ou possuir de fábrica o recurso de cache.

terça-feira, 24 de abril de 2012

Memória RAM

SRAM:

Memória SRAM é um tipo de memória de acesso aleatório que mantém os dados armazenados desde que seja mantida sua alimentação, não precisando que as células que armazenam os bits sejam refrescadas (atualizadas de tempo em tempo), como é o caso das memórias DRAM.
Embora sejam mais caras e ocupem mais espaço, quando comparadas às DRAM, possuem a vantagem de serem bem mais rápidas, justificando seu uso nas memórias cache L1 e L2. Além disso, as memórias estáticas consomem mais energia e aquecem mais que as DRAM. Memórias estáticas usam circuitos no modelo flip-flop.



DRAM:

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).


quinta-feira, 19 de abril de 2012

Endereçamento de memória

Bloco Básico (RAM de 1 bit):

 

 
  • End: Entrada de endereços (ativa uma dada localidade)
  • D: Entrada de Dados (escrita do novo estado de localidade)
  • X: Controle de Escrita (‘1’) / Leitura (‘0’).

 
Para efetuar uma escrita:
  • Acionar a entrada de endereços (End=1);
  • Injetar a informação a ser escrita no terminal de dados (D = I);
  • Acionar o terminal de controle/escrita (X=1).

 

 
Para efetuar uma leitura:
  • Acionar a entrada de endereços (End=1) com o terminal de controle/escrita inativo (X=0);
  • Ler informação na saída de leitura.

 

quarta-feira, 18 de abril de 2012

Arquitetura de Harvard

A Arquitetura de Harvard baseia-se em um conceito mais recente que a de Von-Neumann, tendo vindo da necessidade de por o microcontrolador para trabalhar mais rápido. É uma arquitetura de computador que se distingue das outras por possuir duas memórias diferentes e independentes em termos de barramento e ligação ao processador. É utilizada nos microcontroladores PIC, tem como principal característica acessar a memória de dados separadamente da memória de programa.

Ele pegou no conceito de "memória" de Von Neumann e dividiu essa memória em 2 partes:
  • Memória de programação;
  • Memória de dados.

Podemos chamar este esquema de RISC por ser mais rapida do que o esquema de Von Neumann.

Arquitetura de Von Neumann

Von Neumann

John von Neumann foi um matemático húngaro de etnia judaica, naturalizado estadunidense.

Contribuiu na teoria dos conjuntos, análise funcional, teoria ergódica, mecânica quântica, ciência da computação, economia, teoria dos jogos, análise numérica, hidrodinâmica das explosões, estatística e muitas outras as áreas da Matemática. De fato é considerado um dos mais importantes matemáticos do século XX.

Foi membro do Instituto de Estudos Avançados em Princeton, New Jersey, do qual também faziam parte Albert Einstein e Erwin Panofsky, quando emigraram para os Estados Unidos, além de Kurt Gödel, Robert Oppenheimer, George F. Kennan e Hermann Weyl.

Com Edward Teller e Stanislaw Ulam, von Neumann trabalhou em desenvolvimentos chave da Física Nuclear, relacionados com reações termonucleares e com a bomba de hidrogênio. Participou também do Projeto Manhattan, responsável pelo desenvolvimento das primeiras bombas atômicas.

Foi professor na Universidade de Princeton e um dos construtores do ENIAC. Entre os anos de 1946 e 1953, von Neumann integrou o grupo reunido sob o nome de Macy Conferences, contribuindo para a consolidação da teoria cibernética junto com outros cientistas renomados: Gregory Bateson, Heinz von Foerster, Kurt Lewin, Margaret Mead, Norbert Wiener, Paul Lazarsfeld, William Ross Ashby, Claude Shannon, Erik Erikson e Max Delbrück, entre outros. Von Neumann faleceu pouco depois, aos 53 anos, vítima de um tumor cerebral.

Ele inventou uma arquitetura em que juntou tudo dentro da memória, a programação, os dados, etc...

Podemos chamar o seu esquema de CISC por ela ser mais lenta.

terça-feira, 17 de abril de 2012

Termos:

Chipset:
Um chipset é um grupo de circuitos integrados ou chips, que são projetados para trabalhar em conjunto e que são geralmente comercializados como um produto único.



FSB:
Em PCs, o barramento frontal é o barramento de transferência de dados que transporta informação entre a UCP e o northbridge da placa-mãe.



DMA:
O termo DMA é um acrónimo para a expressão em inglês Direct memory access. O DMA permite que certos dispositivos de hardware num computador acessem a memória do sistema para leitura e escrita independentemente da CPU.

Arquitetura de computadores

Definição:

A Arquitetura de Computadores é o projeto conceitual e fundamental da estrutura operacional de um sistema computacional. Ela é o estudo dos requisitos necessários para que um computador funcione e de como organizar os diversos componentes para obter melhores desempenhos.

Northbridge

O northbridge também conhecido como memory controller hub (MCH) em sistemas Intel (AMD, VIA, SiS e outros geralmente usam northbridge), é tradicionalmente um dos dois chips que constituem o chipset numa placa-mãe de PC, sendo o outro o southbridge. Separar o chipset em northbridge e southbridge é comum, embora existam instâncias raras em que ambos são combinados num único die quando a complexidade do design e os processos de fabricação o permitem.

O northbridge geralmente lida com a comunicação entre a UCP, memória RAM, AGP ou PCI Express e o southbridge. Alguns northbridges também contém controladores de vídeo integrados, os quais também são conhecidos como Graphics and Memory Controller Hub (GMCH) em sistemas Intel. Visto que processadores e RAM diferentes exigem sinalizações diferentes, um northbridge tipicamente funcionará com somente uma ou duas classes de UCPs e geralmente com apenas um tipo de RAM. Existem uns poucos chipsets que suportam dois tipos de RAM (geralmente eles estão disponíveis quando há uma mudança para um novo padrão). Por exemplo, o northbridge do chipset NVIDIA nForce2 somente funcionará com processadores Socket A combinados com DDR SDRAM, o chipset Intel i875 chipset somente funcionará com sistemas que usem processadores Pentium 4 ou Celeron que tenham uma taxa de clock maior que 1,3 GHz e que utilizem DDR SDRAM, e o chipset Intel i915g somente irá operar com o Intel Pentium 4 e Celeron, mas que usem memória DDR ou DDR2.

Southbridge

O southbridge também conhecido como I/O Controller Hub em sistemas Intel (AMD, VIA, SiS e outros geralmente usam southbridge), é um chip que implementa as capacidades mais "lentas" da placa-mãe numa arquitetura de chipset northbridge/southbridge. O southbridge pode ser geralmente diferenciado do northbridge por não estar diretamente conectado à UCP. Em vez disso, o northbridge liga o southbridge à UCP.

Visto que o southbridge não está diretamente conectado à UCP, a ele é dada a responsabilidade pelos dispositivos mais lentos num PC típico. Um southbridge em particular geralmente irá funcionar com vários northbridges diferentes, mas estes dois chips devem ser projetados para trabalhar em conjunto; não há um padrão amplo para interoperabilidade entre projetos de chipsets de lógicas diferentes. Tradicionalmente, esta interface entre northbridge e southbridge era simplesmente o barramento PCI, mas visto que isto criava um gargalo de performance, a maioria dos chipsets modernos usam uma interface diferente (frequentemente proprietária) com performance mais alta. É o Chip responsável pela comunicação com as placas PCI e periféricos. Também faz a comunicação com portas USB, paralela e serial e, no caso de placas-mãe com periféricos embutidos (on board), com chips de áudio, e rede e de espelhamento de discos rígidos (Raid).

quinta-feira, 12 de abril de 2012

Circuitos integrados TTL e CMOS

Circuitos Integrados TTL:

A Lógica Transistor-Transistor (Transistor-Transistor Logic ou simplesmente TTL) é uma classe de circuitos digitais construídos de transistores de junção bipolar (BJT), e resistores. Isso é chamado lógica transistor-transistor porque ocorrem ambas as funções porta lógica e de amplificação pelos transistores (em contraste com a RTL e a DTL). Isso é notável por ser uma família difundida de circuitos integrados (CI) usada por muitas aplicações como computadores, controle industrial, electronica de consumo, sintetizadores etc. Por causa do grande uso desta família lógica, sinais de entrada e saída de equipamentos eletronicos pode ser chamada entrada ou saída "TTL", significantemente compatível com os níveis de tensão usados.

Estes circuitos têm como principal característica a utilização de sinais de 5 volts para níveis lógicos altos. Seus circuitos integrados são constituídos basicamente de transístores, o que os torna pouco sensíveis à eletricidade estática.




Circuitos Intergrados CMOS:


A família C-MOS possui circuitos integrados disponíveis nas séries comerciais 4000 e 74C, sendo esta última semelhante à TTL (com relação à pinagem dos circuitos integrados e função dos blocos disponíveis).

Além destas, a família C-MOS também possui versões de alta velocidade e melhor desempenho: 74HC/74HCT (High-speed C-MOS), sendo a HCT especialmente desenvolvida para atuar com parâmetros de tensões compatíveis com a família lógica TTL-LS e as apropriadas para operar com baixa tensão de alimentação: 74LV/74VC (Low Voltage CMOS).

Os circuitos integrados C-MOS são dimensionados para operar na faixa de temperatura de -40° a +85 °C nas séries comuns, e nas variações de uso militar na faixa de -55° a +125 °C.

Veja logo a seguir, os principais parâmetros encontrados nos manuais com nomenclaturas originais:


1.Alimentação (Vdd):

Esta família permite para as séries 4000 e 74C operar na faixa de 3V a 15V, para a versão HC de 2V a 6V e para a HCT de 4,5V a 5,5V.

Para as séries de baixa tensão temos: a faixa de 1V a 3,6V para a LV e 1,2V a 3,6V para a LVC.

Podemos notar que esta família e suas versões apresentam a vantagem de possuir uma larga faixa de tensão de alimentação, não necessitando de regulagem precisa na fonte como no caso da família lógica TTL.


2.Níveis de tensões e correntes de entrada e saída:

De maneira geral, apresentam nas entradas, valores de V IL (máx.) iguais a 30% do Vdd e V IH(min.) iguais a 70% do Vdd, com exceção da versão HCT que possui estes níveis iguais a TTL-LS. Nas saídas dos blocos, devido principalmente ao baixo consumo de corrente na ligação com o bloco seguinte , apresentam valores muito próximos a 0V (V OL máx.) e Vdd (V OH min.).

A tabela a seguir apresenta os valores de tensões e correntes para a série 4000, operando com Vdd igual a 5V.

C-MOS série 4000


3.Tempo de atraso de propagação:

Nas séries mais comuns, o tempo de atraso de propagação médio é da ordem de 90ns, constituindo-se em uma grande desvantagem.

O problema foi superado com o aparecimento das versões apropriadas para uso em alta velocidade (HC/HCT), com parâmetros compatíveis com os das versões TTL para a mesma finalidade. Para exemplificar, a tabela a seguir apresenta os parâmetros de velocidades para a série básica e as versões citadas, com tensão de alimentação igual a 5V.


4. Imunidade ao Ruído:

A margem de imunidade ao ruído para a família C-MOS é igual a 45% de Vdd, sendo muito alta se comparada com a família TTL. Devido a isso, estes blocos são adequados para serem utilizados em circuitos que operam em sistemas ou ambientes de alto nível de ruído.


5. Potência Dissipada:

O consumo de potência da família C-MOS (com Vdd=5V) é da ordem de 1nW por porta na série 4000 e 2,5nW por porta na versão 74HC,caracterizando-se em mais uma grande vantagem desta família.


6. Fan-Out:

Nesta família, de modo generalizado, Fan-Out é igual a 50, porém varia conforme as versões empregadas. Devido à compatibilidade de algumas versões com TTL, é comum nos manuais, encontrar este parâmetro definido para um carregamento da saída com TTL-LS, sendo este um menor valor (Fan-Out = 10 para HC/HCT).

Encapsulamento dos circuitos integrados

Um encapsulamento é basicamente uma proteção que envolve um circuito integrado. Sua principal função é garantir a conexão segura entre os circuitos e as placas físicas. Esta proteção é composta por pinos de metal, que fixam um envoltório retangular feito de metal, plástico ou de outros materiais. O mecanismo descrito garante que a transmissão de energia não cause danos físicos nos circuitos nem nas próprias placas.

Existe uma maneira muito fácil de visualizar encapsulamentos em peças de hardware. Para isso, pegue uma placa qualquer sobrando na sua casa (vídeo, modem, memória, processador) e procure por retângulos de cor preta. Caso eles estejam cercados de pequenos pinos, então você acabou de achar um ou mais encapsulamentos.

Tipos de encapsulamento:

Existem vários tipos de encapsulamentos desenvolvidos para as placas de circuito impresso, os quais são usados dependendo do hardware em questão. Por exemplo, o PGA (Pin Grid Array) é usado bastante em microprocessadores, implementando uma matriz de pinos que circula o chip principal da CPU. Este modelo possui algumas variantes, como o PPGA, e o FC-GPA, os quais são usadas em processadores muito famosos, como os Pentium III e 4.


Outro modelo muito usado é o Ball Grid Array, cujos pinos são em formato de bolas, usado bastante em chipsets de placas mãe e em algumas placas de vídeo e CPUs.


Sendo um modelo mais antigo, o Dual In-Line Package foi um dos encapsulamentos mais usados desde a década de 70. Seu uso é recomendado para módulos menores, utilizando de uma quantidade reduzida de pinos, normalmente em formato de ganchos.


Existem mais tipos de encapsulamentos mas no entanto acho que estes são os mais importantes.

Definição de Circuito Integrado

Em eletronica, um circuito integrado (também conhecido como CI, microcomputador, microchip, chip de silício, chip ou chipe) é um circuito eletronico miniaturizado (composto principalmente por dispositivos semicondutores), que tem sido produzido na superfície de um substrato fino de material semicondutor.

Os circuitos integrados são usados em quase todos os equipamentos eletronicos usados hoje e revolucionaram o mundo da eletrônica.

Um circuito integrado híbrido é um circuito eletrônico miniaturizado constituído de dispositivos semicondutores individuais, bem como componentes passivos, ligados a um substrato ou placa de circuito.

quarta-feira, 11 de abril de 2012

Baterias de nanotubos de carbono

Desensvolvidas por a MIT, Joel Shindall, professor do Instituto, informa que a nova tecnologia faz uso de ultracondensadores: sistemas de estocagem de energia que se valem dos conhecidos nanotubos de carbono.

Joel Schindall

Os nanotubos de carbono conseguem transportar e armazenar uma carga eléctrica maior do que outras estruturas de carbono pelo facto da sua estrutura microscópica aumentar a quantidade de superfície disponível. No entanto, precisam normalmente de materiais que os mantenham agregados em películas. Estes materiais reduzem a condutividade e a capacitância (ou capacidade de armazenar carga) das películas.

Usou-se uma técnica de criação de películas chamada montagem camada-a-camada. Nesta são produzidos dois tipos de soluções aquosas com nanotubos em suspensão, um com carga positiva e outro com carga negativa. Um wafer de silício ou outro substrato fino é então alternadamente embebido nas duas soluções. Devido às diferenças de carga os nanotubos são atraídos uns para os outros e formam camadas uniformes sem ser preciso qualquer tipo de agregador.

As películas são separadas do substrato por meio da combustão das moléculas, deixando apenas uma “esponja” de nanotubos. Cerca de 70% do volume das películas é constituído por tubos de carbono, e o restante é espaço vazio que pode ser usado para guardar lítio ou electrólitos líquidos de baterias.

A exemplo dos diferentes tipos de baterias, estas baterias apresentam todas as vantagens: longevidade excepcional, grande capacidade de estocagem, capacidade inigualável de aumento de potência.

Em virtude da capacidade de se recarregar em tempo recorde: poucos minutos ou mesmo alguns segundos, as superbaterias poderão, com certeza, vir a revolucionar não apenas a área dos transportes elétricos, mas também o setor das telecomunicações e da eletrônica de lazer.

Um dos membros da equipe de pesquisadores, John Kassakian, "põe o dedo" exatamente em um ponto que pode vir a frear essa nova tecnologia: não se trata de um obstáculo de ordem técnica, mas de natureza econômica. Diz ele: "os nanomateriais que utilizamos nessa bateria custam, no momento, mais caros que os materiais freqüentemente empregados nas baterias atuais". Acrescenta, ainda que "de nada serve conceber uma bateria capaz de estocar cem vezes mais energia, se essa bateria custa cem vezes mais, uma vez que uma bateria dessas não terá mercado".

Porém, os pesquisadores do MIT não perdem a confiança. Acreditam que, daqui a uns dez anos, as empresas conseguirão fazer com que o preço de tais baterias caia bastante, conseguindo fabricar esses ultracondensadores sobre um substrato flexível.