quarta-feira, 5 de janeiro de 2011

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.

Analogia com a Lavandaria






Calculo do Tempo de uma introdução com recursos a pipeline



Pipeline no Processador





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.

sexta-feira, 10 de dezembro de 2010

CPU-Instruções

Definição de Instruções de Máquina


O projecto de um processador é condicionado ao conjunto de instruções de máquina as quais se deseja que ele execute.

Uma das mais fundamentais análises e decisões do projecto envolve o tamanho
e a complexidade do conjunto de instruções.

Num processador, quanto menor e mais simples for o conjunto de instruções, mais rápido será o seu ciclo de tempo.

Actualmente há duas tecnologias de projecto de processadores
empregadas pelo mercado:

• Sistema com conjuntos de instruções complexo
(Complex Instruction Set Computer CISC);
• Sistema com conjunto de instruções reduzido
(Reduced Instruction Set Computer RISC).

Definição de CISC e RISC 

Reduced Instruction Set Computer ou 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.

O tipo de microprocessador mais largamente usado em desktops, o x86, é mais CISC do que RISC, embora chips mais novos traduzam instruções x86 baseadas em arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execução.

Os processadores baseados na computação de conjunto de instruções reduzido não tem micro-programação, as instruções são executadas diretamente pelo hardware.

Como característica, esta arquitetura, além de não ter microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade.

A idéia foi inspirada pela descoberta de que muitas das características incluídas na arquitetura tradicional de processadores para ganho de desempenho foram ignoradas pelos programas que foram executados neles.

Mas o desempenho do processador em relação à memória que ele acessava era crescente.

Isto resultou num número de técnicas para otimização do processo dentro do processador, enquanto ao mesmo tempo tentando reduzir o número total de acessos à memória.


 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 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 controle;
• 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 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 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  



Portanto, o conjunto de instruções da máquina deve ser suficiente para
expressar qualquer comando de uma linguagem de alto nível.

Podemos, então, classificar as instruções de máquina nos seguintes
tipos, dependendo da sua função:
• Processamento de dados: instruções aritméticas e lógicas;
• Armazenamento de dados: instruções de memória;
• Movimentação de dados: instruções de E/S;
• Controle: instruções de teste e desvio.

Ciclo de Instrução


CPU-Central Processing Unit

Definição de CPU ou UCP, e sua composição

O processador é a unidade central de processamento de computador ou sistema computacional.

O processador é um circuito integrado que executa instruções de máquina, realizando diversos cálculos e tomadas de decisão. É o cérebro do computador, pois qualquer tarefa é executa por ele.

O processador processa os dados que recebe, transformando-os em outros dados que chamamos de informação.

O processador também é denominado CPU (Central Processing Unit) ou UCP (Unidade Central de Processamento).


Definição de ALU ou ULA, e a sua função no CPU


A Unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é a unidade do processador (Central Processing Unit, ou simplesmente CPU), que realmente executa as operações aritméticas e lógicas referenciadas pelos opcodes.

É na verdade, uma "grande calculadora eletrônica" do tipo desenvolvido durante a II Guerra Mundial, e sua tecnologia já estava disponível quando os primeiros computadores modernos foram construídos.

O matemático John von Neumann propôs o conceito de ULA em 1945, quando escreveu um relatório sobre os fundamentos para um novo computador chamado EDVAC.

A tecnologia utilizada foi inicialmente relés, herança da telefonia, e posteriormente válvulas, herança da radiofonia. Com o aparecimento dos transistores, e depois dos circuitos integrados, os circuitos da unidade aritmética e lógica passaram a ser implementados com a tecnologia de semi-condutores.

A ULA executa as principais operações lógicas e aritméticas do computador. Ela soma, subtrai, divide, determina se um número é positivo ou negativo ou se é zero. Além de executar funções aritméticas, uma ULA deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando quantidades são iguais. A ULA pode executar funções lógicas com letras e com números.










Qual a sua função no processador

Os processadores são fabricados contendo registradores destinados o
armazenamento de dados servindo também de memória auxiliar
básica da ULA.
 
 Além dos registradores de dados, os processadores possuem, em
geral, outros registradores (que não participam diretamente da função
processamento), com funções específicas ou que funcionam para a
área de controle.


Definição de UC e sua função no CPU

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 controle
que emite em instantes de tempo determinados conforme uma
programação prévia.

Qual a sua função no CPU

Controlar a transferência de dados e instruções para dentro e fora
da CPU;

Registadores Utilizados no UC

Registador de Instrução;
Contador de Instrução;
Registador de Dados da Memória;
Registador de Endereços de Memória;

Função do Relógio

A Função dos Relógios são para:
Sincronizar;
Cedenciar ou seja controlar a velocidade com que eles ocorrem;
Pode ser entendido com um dispositivo de controle;

quarta-feira, 10 de novembro de 2010

Interfaces da memória de secundária

Porta Paralela



A porta paralela é uma interface de comunicação entre um computador e um periférico. Quando a IBM criou o seu primeiro PC 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âmaras de vídeo, unidade de disco removível entre outros.


Porta Paralela na traseira de um computador.

Porta Série


A porta serie, 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.

Um conector "macho" do tipo "DB" (DE-9) para porta série.
  
 USB

Universal Serial Bus (USB) é um tipo de conexão que permite a conexão de periféricos sem a necessidade de desligar o computador.


Com um único driver, transferir som, vídeo e ainda assim usar a impressora, por tudo isto pelo mesmo canal - até um total de 480 Megabits/s no USB 2.0, e 4,8 GiB/s no USB 3.0.


   

 
FireWire

O FireWire é 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.


Plugue FireWire 6 pinos


 e-SATA

Serial ATA, SATA ou S-ATA é uma tecnologia de transferência de dados entre um computador e dispositivos de armazenamento em massa como unidades de disco rígido e drives ópticos.

As principais vantagens sobre a interface ATA são: maior rapidez em transferir os dados, possibilidade de remover ou acrescentar dispositivos enquanto em operação e utilização de cabos mais finos que permitem o resfriamento de ar de forma mais eficiente.

A primeira geração Serial-ATA, também conhecida como SATA/150 ou mesmo SATA I, funciona com 1,5 gigabits.
A transferência de dados é de 1,2 gigabits por segundo ou 150 megabytes por segundo, o que permite cabos mais longos do que os antigos cabos IDE ou ATA/133.


Slot Serial ATA numa placa-mãe.




Light Peak

Light Peak é uma interface de cabo óptico projectado 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 .
Hub de um Light Peak



sexta-feira, 5 de novembro de 2010

Interfaces de Memoria Secundaria

Sata

Frequencia-1500MHz

Bits-1

Codificação 8B/10B – 80%

Bits/Bytes – 8

Velocidade Maxima – 150MBs

SCSI

Frequencia-5MHz

Bits/Bytes – 8

Velocidade Maxima – 320MBs

Data em que surgiu - 1968




IDE


Frequencia-5MHz

Bits/Bytes – 8

Velocidade Maxima – 528MBs

Data em que surgiu - 2003