sexta-feira, 10 de dezembro de 2010

Pipeline

-Na década de 70 surge 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.
Analogia com uma lavandaria sem pipeline
Analogia com uma lavandaria com pipeline


Ganho obtido com pipeline



 Pipeline no processador:
Clique para ver a imagem em grande

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 - Intruções

Intruções de Maquina

A operação de uma UCP é determinada pelas instruções que ela executa, conhecidas como instruções de máquina.
A coleçã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.


Definiçao de CISC e RISC
-Sistema com conjuntos de instruções complexo (Complex Instruction Set Computer CISC);
-Sistema com conjunto de instruções reduzido (Reduced Instruction Set Computer RISC)


Formato das Instruçoes
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 referese ao(s) dado(s) que será(ão) manipulado(s) na operação, podendo ser constituída por mais de um campo.
Assim, cada uma das instruções é composta pelos seguintes campos:
                • um campo (subgrupo de bits) denominado código de operação – C.Op. – cujo valor binário é a identificação (código) da operação a ser realizada, o qual servirá de dado de entrada para o decodificados da área de controlo;
                • o grupo restante de bits, denominado campo do operando – Op. ou operando, cujo valor binário indica a localização do dado (ou dados) que será(ão) manipulado(s) durante a execução da operação.

Tamanho da 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 do 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
-Instruções lógicas (ou booleanas)
-Instruções de memória
-Instruções de E/S
-Instruções de teste
-Instruções de desvio


Ciclo de Instrução

ciclo de instrucao


CPU - Central Processing Unit

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.

-Um processador tem, por propósito, realizar operações com dados (que denominamos processamento) normalmente numéricos.
Composiçao do CPU
ULA

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;

-Ela é composta por dispositivos lógicos digitais simples, capazes de armazenar bits e efetuar operações simples de lógica booleana.
-Os dados são fornecidos à ULA em registradores e uma vez processados eles são armazenados novamente em registradores.
-Os registradores são interligados a ULA por meio de caminhos de sinal.
-A ULA também pode ativar bits especiais (flags) para indicar o estado de uma operação.
-A Unidade de Controle fornece sinais para controlar a operação da ULA e a transferência de dados entre a ULA e os registradores.

ULA

A sua funçao no CPU

-As operações da ULA podem utilizar dois valores (operações aritméticas, operações lógicas), por isso possui 2 entradas de dados.

-Ambas as entradas se conectam à saída pelo barramento interno de dados.

-Também recebe sinais de controle que vão determinar que operação será realizada.



UC

A UC é o dispositivo mais complexo do processador.

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 controlo que emite em instantes de tempo determinados conforme uma
programação prévia.
A figura abaixo mostra o diagrama em bloco simplificado da função
controlo.
UC
A Unidade de Controle – UC é 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 registradores;
             -gerar sinais de controle internos ao processador para comandar a ULA na execução de uma determinada função;

Registradores utilizados na UC
 
- Registrador de Instrução – RI (Instruction Register – IR)
-Contador de Instrução – CI (Program Counter – PC)
-Registrador de Dados da Memória – RDM (Memory Buffer Register MBR)
-Registrador de Endereços da Memória – REM (Memory Address Register MAR)


Relogio

O relógio (clock) é um dispositivo gerador de pulsos cuja duração é chamada de ciclo.
A quantidade de vezes em que este pulso básico se repete em um segundo define a unidade de media do relógio denominada freqüência, a qual também é utilizada para definir a velocidade da UCP.
Servem para:
                    -Sincronizar, ou seja, permitir que duas ou mais ações ocorram no mesmo instante de tempo.
                    -Cadenciar as ações realizadas em um determinada positivo, ou seja, controlar a velocidade com que elas ocorrem.

sexta-feira, 3 de dezembro de 2010

Processadores actuais da AMD

Desktop

Na AMD existem varios tipos de processadores desktop que sao eles


Clique para ver a imagem em grande
 Para ver as caracteristicas de cada um dele clique neste link:
http://www.amd.com/uk/products/Pages/processors.aspx


Laptop

Na AMD existem varios tipos de processadores laptop que sao eles



Para ver a imagem em grande clique na imagem
 Para ver as caracteristicas de cada um dele clique neste link:
http://www.amd.com/uk/products/Pages/processors.aspx



Servidores 

Na AMD existem varios tipos de processadores servidores que sao eles

clique para ver a imagem em grande

Para ver as caracteristicas de cada um dele clique neste link:
http://www.amd.com/uk/products/Pages/processors.aspx

Processadores actuais da Intel

Laptop

Na Intel existem varios tipos de processadores damos o exemplo deste processador a abaixo designado e as suas carateristicas do tipo laptop.
clique para ver a imagem em grande


Para ver mais processadores aceda ao link abaixo:



Desktop

Na Intel existem varios tipos de processadores damos o exemplo deste processador a abaixo designado e as suas carateristicas do tipo desktop.

clique para ver a imagem em grande

Para ver mais processadores aceda ao link abaixo:



Servidores
Os tipos de processadores da intel para servidor
Exemplo:
Intel® Xeon® Processor 7000 Sequence caracteristicas:

clique para ver a imagem em grande

Para ver as especificaçoes dos outros processadores de servidores aceda a este link:




Evolução dos Processadores



quarta-feira, 10 de novembro de 2010

Interfaces de Perifericos

USB

Universal Serial Bus (USB) é um tipo de conexão "ligar e usar" que permite a conexão de periféricos sem a necessidade de desligar o computador.
Cabo USB
Símbolo de USB
Mini USB

Versões do USB e as suas caracteristicas


PS/2

Personal System/2 ou PS/2 foi um sistema de computador pessoal criado pela IBM em 1987 com um conjunto de interfaces próprias.
Um "computador PS/2" tinhas inúmeras vantagens em relação ao PC tradicional, como equipamento (hardware) homologado e todos os drivers escritos pela IBM e um sistema operacional próprio rodando nele o OS/2.
PS/2 foi pensado como um computador de aplicações comerciais e financeiras. Na época havia um ecosistema de padrões incompatíveis dificultando a adopção do PC em aplicações de pequeno porte.
A primeira versão foi lançada em 1987 com o processador 8087 à 8Mhz. Posteriormente foram lançados 80286 (1990) e 80386 (1992).
Portas PS/2

Porta Paralela

A porta paralela é uma interface de comunicação entre um computador e um periférico.
Quando a IBM criou seu primeiro PC ("Personal Computer" ou "Computador Pessoal"), a ideia era conectar a essa porta a uma impressora, mas actualmente, são vários os periféricos que se podem utilizar desta conexão para enviar e receber dados para o computador (exemplos: scanners, câmeras de vídeo, unidade de disco removível entre outros).
Uma porta paralela na traseira de um computador 



Porta Serie

A interface serial ou porta serial, também conhecida como RS-232 é uma porta de comunicação utilizada para conectar modems, mouses (ratos), algumas impressoras, scanners e outros equipamentos de hardware.
Na interface serial, os bits são transferidos em fila, ou seja, um bit de dados de cada vez.
O padrão RS-232 foi originalmente definido para uma comunicação por meio de 25 fios diferentes.
Por outro lado, o periférico deve ser capaz de distinguir os caracteres (um carácter tem um comprimento de 8 bits) entre a sequência de bits que lhe é enviada.
Um conector "macho" do tipo "DB" (DE-9) para porta série

FireWire

O FireWire (também conhecido como i.Link, IEEE 1394 ou High Performance Serial Bus/HPSB) é uma interface serial para computadores pessoais e aparelhos digitais de áudio e vídeo que oferece comunicações de alta velocidade e serviços de dados em tempo real.
O FireWire pode ser considerado uma tecnologia sucessora da quase obsoleta interface paralela SCSI.
O FireWire é uma tecnologia de entrada/saída de dados em alta velocidade para conexão de dispositivos digitais, desde camcorders e câmaras digitais, até computadores portáteis.
Plugue FireWire 6 pinos

Light  Peak
Light Peak é uma interface de cabo óptico projetado para conectar dispositivos em um barramento periférico.
A tecnologia tem uma alta largura de banda de 10 Gbit / s, com potencial de escala para 100 Gbit / s em 2020.
Light Peak oferece uma alta largura de banda suficiente para conduzir estes ao longo de um único tipo de interface, e muitas vezes num único cabo daisy acorrentado.

Intel Light Peak

E SATA

O eSATA (external SATA) é um padrão de conector SATA externo, que mantém a mesma velocidade de transmissão. As placas-mãe mais recentes já estão vindo com conectores eSATA embutidos, mas também é possível utilizar uma controladora PCI Express, ou mesmo PCI.
O eSATA está sendo usado por diversos modelos de gavetas para HD, substituindo ou servindo como opção ao USB. A vantagem é que você não corre o risco do desempenho do HD ser limitado pela interface, já que temos 150 MB/s no eSATA (ou 300 MB/s no SATA 300), contra os 60 MB/s (480 megabits) do USB 2.0. Obviamente, isso só faz alguma diferença quando o HD transmite dados guardados no cache, ou no caso dos HDs topo de linha, lendo dados seqüenciais.
Cabo E SATA

sexta-feira, 5 de novembro de 2010

Tipos de Interface de Discos Rigidos

IDE
 
IDE (Integrated Drive Electronics) é uma interface que foi criada para conectar dispositivos ao computador.
Um controlador ou adaptador de disco rígido IDE basicamente conecta directamente o barramento ISA ao cabo de 40 pinos padrão IDE. Um máximo de dois discos rígidos podem ser conectados a um mesmo controlador.
Interface IDE

Cabo IDE

As taxas de transferência de dados variam de 1 a 3 Mbytes/s e são normalmente limitadas pelo barramento ISA (as taxas de transferência de dados nos dispositivos IDE são normalmente valores em torno de 5 Mbits/s sendo assim não são eles os responsáveis por eventuais demoras de transferência).  


SATA 

É uma tecnologia de transferência de dados entre um computador e dispositivos de armazenamento em massa (mass storage devices) como unidades de disco rígido e drives ópticos.
Diferentemente dos discos rígidos IDE, que transmitem os dados através de cabos de quarenta ou oitenta fios paralelos, o que resulta num cabo enorme, os discos rígidos SATA transferem os dados em série.

Os cabos Serial ATA são formados por dois pares de fios (um par para transmissão e outro par para recepção) usando transmissão diferencial, e mais três fios terra, totalizando 7 fios, o que permite usar cabos com menor diâmetro que não interferem na ventilação do gabinete.

A actual especificação SATA pode apoiar as taxas de transferência de dados tão elevadas quanto 3,0 Gbit / s por aparelho.
Slot SATA numa placa-mãe.

SCSI  
Acrónimo do Small Computer Systems Interface. A tecnologia SCSI (ou tecnologias, posto que existe uma gama de variantes da mesma) oferece uma taxa de transferência de dados muito alta entre o computador e o disco rígido SCSI.

No padrão SCSI contemplam-se vários tipos de conectores, os SCSI de 8 bits admitem até 7 dispositivos e costumam usar cabos de 50 pins, enquanto que os SCSI de 16 bits ou Wide, podem ter até 15 dispositivos e usam cabos de 68 pins.

Os dispositivos SCSI são mais caros que os equivalentes com interface ATA e, além disso, necessitaremos uma placa controladora SCSI para manejá-los, já que só as placas base mais avançadas e de marca incluem uma controladora SCSI integrada.

Dois conectores SCSI externos
  
Velocidades da interface SCSI

quarta-feira, 3 de novembro de 2010

Barramentos de Expansão

ISA

Numero de bits: 8 ou 16 bits
Velocidade, 8bits: 2.33MB/S, 16bits: 8.33MB/S
Utilizado para ligar vários tipos de placas de expansão
Data em que surgiu: 1981
Barramento ISA
PCI
Numero de bits: 32 bits
Velocidade, 132 MB por segundo
Utilizado para ligar vários tipos de placas de expansão
Data em que surgiu: 1990

PCI
AGP
Numero de bits: 32 bits
Velocidade, 532 MB por segundo
Utilizado para ligar vários tipos de placas graficas
Data em que surgiu: 1996

AGP


Placa de vídeo com alimentação para 1,5V/3,3V (universal)sendO instalada  num slot AGP de 1,5V





Não é possível instalar uma placa
de vídeo com alimentação para 3,3V
num slot AGP de 1,5V







PCI  Express
Numero de bits: 64 bits
Velocidade, 1.064 MB por segundo
Utilizado para ligar vários tipos de placas de expansão
Data em que surgiu: 2004



PCI Express

Variantes do PCI Express


Gestão de memória e o DMA

O termo DMA em inglês Direct memory access.

O DMA permite que certos dispositivos de hardware num computador acedam a 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.

O acesso directo da memória é usado igualmente para transferência de dados de núcleos em processadores multi-core, em especial nos sistema-em-microplaquetas do processador, onde seu elemento de processamento é equipado com uma memória local ,e o acesso directo da memória é usado para transferir dados entre a memória local e a memória principal.

Os computadores que têm os canais de acesso directo a memória podem transferir dados aos dispositivos com muito menos perdas gerais de processamento do que computadores sem uma via de acesso directo à memória.

De uma maneira mais resumida o DMA é uma característica essencial dos computadores modernos. Normalmente o único componente que da acesso a memória RAM da máquina é o processador.
O recurso DMA permite que outros componentes também acessem a memória RAM directamente, como discos rígidos, o que aumenta o desempenho na transferência de grande quantidade de dados.

Nesta figura abaixo, temos um esquema de um DMA num computador.


 
 Direct memory access




Bus Mastering

Bus mastering é um recurso suportado por algumas arquitecturas de barramento, que permitem que um controlador - principalmente discos rígidos, unidades de CD-ROM e DVD-ROM, conectado a interface IDE ou SATA - este comunica directamente com outro dispositivo, ou seja, a memória.

Quem monitoriza essa operação não será o processador, e sim o chipset da placa mãe, ou seja, um conjunto de circuitos de apoio à placa mãe.

 As arquiteturas de barramentos modernas, incluindo PCI, suportam o bus mastering devido ao seu significante ganho de performance e actualmente quase todas as placa mães modernas suportam bus mastering.

Aqui temos uma comparação entre o DMA e Bus Mastering