26/04/12

Memória Cache

Cache é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um utilizador de um processo e o dispositivo de armazenamento ao qual esse operador acede.

Cache L1 ou cache de nível 1 consiste num tipo de memória cache que está mais próximo da ULA (unidade lógica e aritmética). Normalmente tem capacidade de 8 KB a 128KB. Assim como a L2, é encontrada no processador e é construída a partir de memória SRAM, já que é normalmente utilizada em pequenas quantidades e precisa ser bastante rápida.


Cache L2, ou cache de nível 2 consiste numa memória interna do processador instalada em associação com os transistores cujo objetivo é acelerar a velocidade do sistema, já que armazena as informações mais utilizadas pelo processador, que caso não estivessem nessa memória teriam de ser acedidas na memória RAM. O problema era que muitas vezes o processador tinha que ficar á espera que os dados fossem libertados pela memória RAM para poder continuar a executar as tarefas, o que acarretava na perda de desempenho. Resumindo, memória cache é um bloco de memória de acesso rápido para o armazenamento temporário de informações mais utilizadas pelo processador evitando que ele tenha que recorrer a comparatividade lenta da memória RAM.


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 motherboard como uma memória de cache adicional.

Memoria RAM

SRAM- Static Random Access Memory, que significa memória estática de acesso aleatório em Português) é 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.

DRAM é um tipo de memória de acesso direito que armazena cada bit de dados num condensador. O número de eléctrodo armazenados no condensador determina se o bit é considerado 1 ou 0. Como vai havendo fuga de eléctrodo do condensador, a informação acaba por se perder, a não ser que a carga seja refrescada periodicamente. Embora esse fenómeno da perda de carga não ocorra nas memórias SRAM, as DRAMs 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).

Tipos de memorias DRAM

SDRAM (Synchronous DRAM)

  • Síncronas com o relógio de sistema 

DDR-SDRAM (Double Data Rate SDRAM).

  • Reagem a ambos os flancos do sinal de relógio 
  • Muito utilizadas em PCs 
  • Evolução: DDR (2000) DDR-2 (2003) DDR-3 (2007) 

RDRAM (Rambus DRAM)

  • Têm esta designação porque os módulos de memória estão ligadas em série num barramento (bus) próprio Eficientes em leituras e escritas por blocos 
  • Pouco utilizadas em PCs, usadas na Playstation 2 e Nintendo 64

24/04/12

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


A imagem seguinte representa é o processo de endereçamento de uma memória


18/04/12

Arquitectura de Von Neumann e de Harvard

Arquitetura de von Neumann


A Arquitetura de von Neumann (de John von Neumann), é uma arquitetura de computador que se caracteriza pela possibilidade de uma máquina digital armazenar os seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas. Unidade central de processadores, memória, aritmética lógica, dados de entrada, registadores e unidade de controlo são os principais componentes constituintes da arquitetura Von Neumann. São organizadas na estrutura física do CPU, o que garante um melhor desempenho.


Arquitectura de Harvard

A Arquitetura de Harvard baseia-se num conceito mais recente que a de Von-Neumann, tendo vindo da necessidade de por o microcontrolador a 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.
Baseia-se na separação de barramentos de dados das memórias onde estão as instruções de programa e das memórias de dados, permitindo que um processador possa aceder as duas simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de von Neumann, pois pode procurar uma nova instrução enquanto executa outra.


Von Neunmann VS Harvard

A diferença entre a arquitetura Von Neunmann e a Harvard é que a última separa o armazenamento e o comportamento das instruções do CPU e os dados, enquanto a anterior utiliza o mesmo espaço de memória para ambos. Nos CPUs atuais, é mais comum encontrar a arquitetura Von Neunmann, mas algumas coisas da arquitetura Harvard também são vistas.
Nessas distintas arquiteturas, temos vantagens e desvantagens, como pode-se observar a seguir: Arquitetura tipo Harvard: Caminhos de dados e de instrução distintos, dessa forma, os seus componentes internos têm a seguinte disposição. Já na arquitetura Von-Neumann, é processada uma única informação de cada vez, visto que nessa tecnologia, execução e dados percorrem o mesmo barramento, o que torna o processo lento em relação à arquitetura Harvard.

17/04/12

Arquitectura de computadores

Definição de arquitectura de computadores

Arquitetura de computadores é a estrutura e a organização do hardware e refere-se ao funcionamento interno do computador, como está organizado e arranjado a parte não vista pelo utilizador do computador.
Existe um conceito de níveis na arquitetura de computadores. A ideia básica é que existem muitos níveis nos quais o computador pode ser considerado, do nível mais alto, onde o utilizador executa programas, ao nível mais baixo, que consiste de transistores e fios.

Função da North bridge

North bridge faz a comunicação do processador e as memórias e com os barramentos de alta velocidade AGP e PCI-Express

Funçao South bridge

South bridge é um chip que implementa as capacidades mais "lentas" da motherboard numa arquitetura de chipset northbridge/southbridge.


Chipset

Um Chipset é o nome dado ao conjunto de chips utilizados na motherboard e cuja função é realizar diversas funções de hardware, como controlar dos barramentos (PCI, AGP), controlo e acesso à memória, controlo da interface IDE e USB, Timer, controlo dos sinais de interrupção IRQ e DMA, entre outras.

North bridge

O northbridge geralmente lida com a comunicação entre a UCP, memória RAM, AGP ou PCI Express e o south bridge.

South bridge

Visto que o southbridge não está diretamente conectado à UCP, a ele é dada a responsabilidade pelos dispositivos mais lentos num PC típico.

FSB

Front Side Bus ou FSB é o barramento de transferência de dados que transporta informação entre a UCP(Processador) e o northbridge da motherboard.

DMA

O termo DMA é um acrónimo para a expressão Direct memory access. O DMA permite que certos dispositivos de hardware num computador acedam á memória do sistema para leitura e escrita independentemente da CPU. Muitos sistemas utilizam DMA, incluindo controladores de disco, placas gráficas, de rede ou de som.

12/04/12

Circuitos integrados TTL e CMOS

TTL é uma classe de circuitos digitais construídos de transistores de junção bipolar (BJT), e resistencias. 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).

CMOS é um tipo de tecnologia empregada na fabricação de circuitos integrados onde se incluem elementos de lógica digital, microprocessadores, microcontroladores, memórias RAM, etc.

Classificação dos Circuitos Integrados
  • Integração em pequena escala (SSI) < 100 portas
  • Integração em média escala (MSI) 100 < NP <1 000
  • Integração em larga escala (LSI) 1 000 < NP < 10 000
  • Integração em muito larga escala (VLSI) > 10 000 portas
TTL – Transistor Transistor Logic
A mais usada
  • Série 54 (-55 a +125 ºC) – utilizações militares
  • Série 74 ( 0 a +75 ºC) – utilizações industriais
  • Sub-famílias: STD, S, LS, ALS, AS
Séries CMOS:

  • 4000/14000 (foram as duas primeiras séries da família CMOS); 
  • 74C (compatível, pino a pino e função por função, com os dispositivos TTL); 
  • 74HC (CMOS de Alta Velocidade); 
  • 74HCT (os dispositivos 74HCT - CMOS de Alta Velocidade - podem ser alimentados directamente por saídas de dispositivos TTL). 

CMOS – Complementary MOS
  • A que menos consome
  • Muito lenta
  • Funciona com alimentação entre 3 e 5 V
  • Problemas na interface TTL para CMOS

Circuitos integrados

Definição de circuito integrado

Um circuito integrado, também conhecido por chip, é um dispositivo microeletrônico que consiste em vários transístores e outros componentes interligados capazes de desempenhar muitas funções...

Tipos de encapsulamento de circuitos integrados

Um encapsulamento é basicamente uma proteção que envolve um circuito integrado. A 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.
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(motherboards) 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. O seu uso é recomendado para módulos menores, utilizando uma quantidade reduzida de pinos, normalmente em formato de ganchos.

11/04/12

Festival Nacional de Robótica

A Universidade do Minho, a SAR (Soluções de Automação e Robótica) e a Capital Europeia da Cultura são as entidades organizadoras deste evento que vai juntar 121 equipas de alunos do ensino secundário e superior.
O futuro avançado do Benfica? Não!, a mascote do Festival Nacional de RobóticaO Festival Nacional de Robótica está dividido em três vertentes: competições em sete categorias; demonstrações de sistemas robóticos e um encontro para apresentação de trabalhos e investigações na robótica. As competições incluem Futebol Robótico Médio, Condução Autónoma, Robot@Factory e Free Bots. Os vencedores de cada competição vão depois representar Portugal na Robocup 2012, em junho, no México.

10/04/12

Robôs humanoides

Definição

Um robô humanoide é um robô cuja aparência global é baseada na aparência do corpo humano. Em geral, os robôs humanoides possuem um tronco com uma cabeça, dois braços e duas pernas, embora algumas formas de robôs humanoides possam ter apenas parte do corpo, por exemplo, a partir da cintura para cima.


Actroid DER

A Robô humanoide japonesa atraiu muita gente à Robotec Fair 2009.Actroid DER, fruto de seis anos de trabalho da equipa – composta por apenas seis membros – a Actroid DER pretende simular, com o máximo de realismo, a fala e a postura de um humano. Apesar de seus movimentos ainda serem limitados, a simpática robô japonesa fascinou com suas respostas rápidas e principalmente pela beleza e realismo de seu visual na Robotec Fair 2009...
O engenheiro responsável pela equipa afirma que o próximo passo começa a ser tomado assim que voltarem ao Japão, oferecendo à Actroid DER a possibilidade de andar e deixando seus movimentos mais naturais...

Actroid-F

A partir de uma câmera, as expressões do "operador" são passadas para o robô que as reproduz da melhor maneira possível. Não se trata de algo 100% natural ainda, pois são movimentos visivelmente mecânicos. Entretanto, é possível notar nitidamente os avanços que foram obtidos desde a edição do Actroid DER...



Robô da Honda pode tomar decisões, saltar e servir bebidas

A Honda apresentou uma nova versão do ASIMO, um robô humanoide bastante ágil e com capacidade de realizar operações delicadas. O robô é capaz de tomar decisões por si só e, em momentos críticos, pode-se tornar independente de ação humana. Pode correr até 9 km/h, saltar com os dois ou um único pé e servir bebidas, com a ajuda de um polegar opositor independente.



20/10/11

Pipeline

Introdução

Na  década  de  70  surgiu  uma  nova  técnica  chamada pipeline, onde a execução das instruções é dividida em várias fases consecutivas e o processador é organizado em  estágios  correspondentes  para  execução  dessas instruções.
Pipeline  é  uma  técnica  de  implementação  de processadores que permite a sobreposição temporal de
diversas fases de execução de instruções.
Em  outras  palavras,  é  uma  técnica  de  projeto  onde  o hardware processa mais de uma instrução de cada vez sem  esperar  que  uma  instrução  termine  antes  de começar a outra.

Exemplo


O que antes demorava 8horas demora agora com a utilização do pipeline cerca de 4horas, basicamente metade.


Divisão da Instrução em Estágios

Em condições ideais:
- O ganho devido ao pipeline é igual ao número de estágios do pipeline, logo, idealmente, um pipeline de 5 estágios é 5 vezes mais rápido que o processador não pipeline.


Pipeline


A imagem seguinte demonstra o funcionamento do processador sem e com Pipeline.




Síntese Final



Em suma, o pipeline melhora o desempenho por meio do aumento do throughput das instruções, ou seja, aumento o  número  de  instruções  executadas  na  unidade  de tempo, e não pela diminuição do tempo de execução de uma instrução individual.

Speedup ideal é o número de estágios no pipeline.

Throughput (ou taxa de transferência) é a quantidade de dados transferidos de um lugar a outro, ou a quantidade de  dados  processados  em  um  determinado  espaço  de tempo.

Speedup potencial = número de estágios do pipeline.

CPU - Instruções

Instruções de Maquina

A operação de uma UCP é determinada pelas instruções que ela executa, conhecidas como instruções de máquina. A colecção das diferentes instruções que a UCP é capaz de executar é conhecida como o conjunto de instruções do processador, o qual pode variar de um fabricante para outro e mesmo de um modelo para outro de processador.
Cada instrução deve conter toda a informação necessária para permitir sua execução pela UCP. Essa informação necessária compreende:
•  Código de operação: especifica a operação a ser realizada
•  Operando fonte: operandos que constituem dados de entrada para a operação
•  Operando de destino: resultado que pode ser produzido pela operação
•  Endereço da próxima instrução: local onde deve ser buscada a instrução seguinte (em alguns casos), após o término da corrente



CISC/RISC


CISC é uma linha de arquitetura de processadores capaz de executar centenas de instruções complexas diferentes sendo, assim, extremamente versátil. Exemplos de processadores CISC são os 386 e os 486 da Intel.
Sistema com conjuntos de instruções complexo
(Complex Instruction Set Computer ­ CISC);

Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores modernos são RISCs, por exemplo DEC Alpha, SPARC, MIPS, e PowerPC.
Sistema com conjunto de instruções reduzido
(Reduced Instruction Set Computer ­ RISC).

Formato das Instruções

Cada instrução consiste num grupo de bits que pode ser dividido em duas partes:
•  A primeira parte indica o que é a instrução e como será executada, sendo constituída de um só campo;
•  A segunda parte refere­se ao(s) dado(s) que será(ão) manipulado(s) na operação, podendo ser constituída por mais de um campo.

\begin{figure}
\begin{picture}(7,5)(-4,0)
\multiput(0,0)(0,2){3}{\framebox (7,1)...
...0.5){\makebox(0,0)[l]{\scriptsize dois endere\c{c}os}}
\end{picture}\end{figure}



Tamanho das Instruções


A definição dos códigos de operação do conjunto de instruções de um processador pode ser feita por duas maneiras:
•  instruções com C.Op. de tamanho fixo;
•  instruções com C.Op. de tamanho variável.
No primeiro caso, todas as instruções têm um C.Op. com a mesma quantidade de bits. A implementação das instruções e sua manipulação durante a execução de um programa são facilitadas, ao passo que o tamanho o C.Op., e da própria instrução tende a aumentar, influenciando no aumento do tamanho ocupado pelo programa na MP.

Tipos de Instruções

Instruções aritméticas são aquelas que fornecem a capacidade computacional para processamento de dados numéricos.
Instruções lógicas (ou booleanas) operam sobre bits de uma palavra, na condição de bits e não de números, oferecendo, portanto, a capacidade de processar qualquer outro tipo de dado (quantitativo ou qualitativo) que o usuário possa desejar empregar, sem o estabelecimento de relações matemáticas ou algébricas entre esses dados.
Instruções de memória são aquelas utilizadas para mover dados entre a memória e os registadores da UCP, uma vez que operações aritméticas e lógicas são executadas sobre dados armazenados nesses registadores.
Instruções de Entrada/Saída são necessárias para transferir programas e dados para a memória (provenientes de fontes externas à UCP) e para transferir resultados de processamentos computacionais de volta para o usuário.
Instruções de teste são aquelas utilizadas para testar o valor de uma palavra de dados ou o estado de uma etapa de processamento computacional.
Instruções de desvio são usadas para desviar a execução do programa para uma nova instrução, muitas vezes em função do resultado de um teste.

Ciclo de Instruções

13/10/11

CPU - Central Processing Unit

Definição e composição de CPU

O processador é responsável pela atividade­fim do sistema, isto é, computar, calcular, processar:

- É responsável pela realização de qualquer operação realizada por um computador.
- Comanda não somente as ações efetuadas internamente, como também em decorrência de interpretação de uma determinada instrução, ele emite sinais de controle para os demais componentes do computador agirem e realizarem alguma tarefa.

ULA/ALU

A ULA (“ALU”) é o dispositivo do processador que efetivamente executa as operações matemáticas com os dados. Tais operações podem ser, por exemplo:
- Soma, subtração, multiplicação e divisão;
- Operação lógica AND, OR, XOR;
- Deslocamento à direita, deslocamento à esquerda, entre outros;

Unidade de Controlo

Ele possui a lógica necessária para realizar a movimentação de dados e instruções “de” e “para” o processador, através dos sinais de controle que emite em instantes de tempo determinados conforme uma programação prévia.

A Unidade de Controle é responsável por:
- controlar a transferência de dados e instruções para dentro e fora da CPU;
- controlar a operação da ULA;
- controlar a execução de instruções;
- gerar sinais de controle externos ao processador para comandar a transferência de dados entre o processador e a memória ou módulos de entrada / saída;
- gerar sinais de controle internos ao processador para mover dados entre registadores;
- gerar sinais de controle internos ao processador para comandar a ULA na execução de uma determinada função;

Registadores da UC

Registrador de Instrução – RI (Instruction Register – IR)

Tem a função de armazenar a instrução a ser executada pela UCP. No início do ciclo de instrução a UC emite sinais de controle seqüenciados no tempo para a realização do ciclo de leitura, no qual a instrução é buscada na memória e armazenada no RI, via barramento de dados e RDM.

Contador de Instrução – CI (Program Counter – PC)

Armazena o endereço da próxima instrução a ser executada, sendo crucial para o processo de controle e de sequenciamento da execução dos programas. Assim que a instrução a ser executada é lida da memória para a UCP, o conteúdo do CI é automaticamente modificado, sendo nele armazenado o endereço da próxima instrução na seqüência.

Registrador de Dados da Memória – RDM (Memory Buffer Register ­ MBR)

É utilizado pela UCP para a transferência de informações entre esta e o barramento de dados. No ciclo de busca de uma instrução, assume a função de armazenar temporariamente a instrução a ser executada, a qual foi trazida, via barramento de dados, da memória, e na sequência é transferida para o RI.
O RDM tem tamanho (em bits) geralmente igual ao do barramento de dados, sendo que o tamanho deste último tem tamanho múltiplo do tamanho da palavra do processador.

Registrador de Endereços da Memória – REM (Memory Address Register ­ MAR)

Armazena o endereço da memória onde a informação deve ser lida ou escrita. No ciclo de busca de uma instrução, armazena o endereço da memória onde se encontra a instrução a ser executada, fornecido pelo CI. Tem tamanho (em bits) igual ao tamanho dos endereços de memória e ao tamanho do barramento de endereços.

Relógio

O relógio (clock) é um dispositivo gerador de pulsos cuja duração é chamada de ciclo.
Principais elementos:
- Um ciclo do relógio (clock clycle) é o intervalo de tempo entre o início de um pulso e o início do seguinte.
- Um período (cycle time ou period) é o intervalo de tempo gasto para ser obter um ciclo do sinal do relógio.
- Usualmente medido em unidades de tempo em nanossegundos.
- Freqüência (frequency ou clock rate) é a quantidade de ciclos por segundo de um relógio. É o inverso do período.
-A unidade de medida utilizada para a freqüência é o Hertz(Hz) onde, 1 Hz = 1 ciclo por segundo.

06/10/11

Processadores atuais da AMD

Dois processadores para Desktop

Processador
AMD Athlon™
AMD Phenom™ II X6
Modelo
3200+
1055T
Operating Mode 32 Bit
Yes
Operating Mode 64 Bit
Yes
Socket
939
AM3
Core Speed (MHz)
2000
2800
System Bus Speed (MHz)
2000
4000
Voltagens
1.35V
1.125-1.40V
Temperaturas Maximas (C)
49-65
62
Wattage
67 W
125 W
AMD Virtualization Technology
No
Yes


Dois processadores para Laptop



Processor
AMD Athlon™ II Neo Processors
AMD Turion™ II Ultra Dual-Core Mobile Processors
Model
K125
M640
OPN Tray
AMK125LAV13GM
TMM640DBO23GQ
OPN PIB
N/A
Operating Mode 32 Bit
Yes
Operating Mode 64 Bit
Yes
Core Count
1
2
Socket
S1
Core Speed (MHz)
1700
2600
System Bus Speed (MHz)
2000
3600
Wattage
12 W
35 W
L2 Cache Size (KB)
1024
2000
Process Technology
45nm SOI
AMD Virtualization Technology
Yes


Dois processadores para Servidores



Processor
AMD Opteron™ 4100 Series Processor

Model
4184
4162 EE

AMD Virtualization Technology
Yes

AMD-P (Power Management)
Yes

OPN Tray
OS4184WLU6DGO
OS4162HJU6DGO

OPN PIB
OS4184WLU6DGOWOF

Floating Point Unit
256-bit FPU

Socket
C32

Revision
D1

Core Count
6

Core Speed (MHz)
2800
1700

System Bus Speed (MT/s)
6400

Voltages
1.3500 V
0.9625 V
Max Temps (C)
55 a 70
55 a 65
Wattage
75 W
32 W