sábado, 1 de outubro de 2011

Resumo sobre organização de computadores


Principais modos de endereçamento de memória

Imediato: O campo operando contém o dado, desta forma o dado é transferido da memória juntamente com a instrução.


Vantagem: Rapidez na execução da instrução, pois não requer acesso à memória principal, apenas na busca da própria instrução.

Desvantagem: Limitação do tamanho do campo operando das instruções reduzindo o valor máximo do dado a ser manipulado. Trabalho excessivo para alteração de valores quando o programa é executado repetidamente e o conteúdo das variáveis são diferentes em cada execução.

Direto: O campo operando da instrução contém o endereço onde se localiza o dado.

Vantagem: Flexibilidade no acesso a variáveis de valor diferente em cada execução do programa.

Indireto: O campo operando contém o endereço de uma célula, sendo o valor contido nesta célula o endereço do dado desejado.

Vantagem: Usar como “ponteiro”. Elimina o problema do modo direto de limitação do valor do endereço do dado. Manuseio de vetores (quando o modo indexado não está disponível).

Desvantagem: Muitos acessos à memória principal para execução. Requer ao menos 2 acessos à memória principal.

Por registrador: característica semelhante aos modos direto e indireto, exceto que a célula (ou palavra) de memória referenciada na instrução é substituída por um dos registradores da UCP. O endereço mencionado na instrução passa a ser o de um dos registradores.

Vantagem: Menor quantidade de bits para endereçar os registradores, por consequência, redução da instrução. E o dado pode ser armazenado em um meio mais rápido (registrador).

Desvantagem: Devido ao número reduzido de registradores existentes na UCP causa uma dificuldade em se definir quais dados serão armazenados nos registradores e quais permanecerão na UCP.

Indexado: consiste em que o endereço do dado seja a soma do valor do campo operando (que é fixo para todos os elementos de um dado vetor) e um valor armazenado em um dos registradores da UCP (normalmente denominado registrador índice).

Vantagem: Rapidez de execução das instruções de acesso aos dados, visto que a alteração do endereço dos elementos é realizada na própria UCP.

Base mais deslocamento: o endereço é obtido da soma do campo de deslocamento com o conteúdo do registrador base. Este modo de endereçamento tem como objetivo permitir a modificação de endereço de programas ou módulos destes, bastando para isso alterar o registrador base.

Vantagem: Reduz o tamanho das instruções e facilita o processo de relocação de programas.


Compilação e Interpretação

A compilação consiste na análise de um programa escrito em linguagem de alto nível (programa fonte) e sua tradução em um programa em linguagem de máquina (programa objeto). A interpretação tem como vantagem sobre a compilação a capacidade de identificação e indicação de um erro no programa-fonte (incluindo erro da lógica do algoritmo) durante o processo de conversão do fonte para o executável.

Na interpretação cada comando do código fonte é lido pelo interpretador, convertido em código executável e imediatamente executado antes do próximo comando. A interpretação tem como desvantagem o consumo de memória devido ao fato de o interpretador permanecer na memória durante todo o processo de execução do programa. Na compilação o compilador somente é mantido na memória no processo de compilação e não utilizado durante a execução. Outra desvantagem da interpretação está na necessidade de tradução de partes que sejam executadas diversas vezes, como os loops que são traduzidos em cada passagem. No processo de compilação isto só ocorre uma única vez. Da mesma forma pode ocorrer para o programa inteiro, em caso de diversas execuções, ou seja, a cada execução uma nova interpretação. 


Computadores Vetoriais e Computadores Matriciais

O termo computadores vetoriais corresponde a sistemas compostos por processadores vetoriais que frequentemente são associados à organização de ULAs com pipeline de operações.

E o termo computadores matriciais corresponde a sistemas compostos por processadores matriciais cuja organização é formada de ULAs paralelas.

Sistemas SMP (ou UMA) têm como característica o acesso a todas as partes da memória principal com tempo de acesso uniforme.

Nos sistemas NUMA, todos os processadores possuem também acesso a todas as partes da memória principal, podendo diferir o tempo de acesso em relação às posições da memória e ao processador. Nos sistemas SMP o aumento no número de processadores tem como consequência problemas de tráfego no barramento comum, degradando o desempenho. Uma solução para isto é a utilização de clusters, que tem, usualmente, como consequência alterações significativas na aplicação (software). Nos sistemas NUMA podem-se ter vários nós multiprocessadores, cada qual com seu próprio barramento, resultando em pequenas alterações na aplicação (software). 


Arquiteturas RISC e CISC

RISC: Reduced Instruction Set Computer ou Computador com um conjunto reduzido de instruções.

CISC: Complex Instruction Set Computer ou Computador com um conjunto complexo de instruções.


Principais características do CISC:

Possui microprogramação para aumento da quantidade de instruções incluindo novos modos de endereçamento, de forma a diminuir a complexidade dos compiladores e em conseqüência permitir linguagens de alto nível com comandos poderosos para facilitar a vida dos programadores. Em contrapartida, muitas instruções significam muitos bits em cada código de operação, instrução com maior comprimento e maior tempo de interpretação.

Exemplos: IBM/370-168 (exemplo antigo), Intel 80486, Intel Pentium, Intel Xeon.
 
Principais características do RISC:

Menor quantidade de instruções e tamanho fixo. Não há microprogramação. Permite uma execução otimizada, mesmo considerando que uma menor quantidade de instruções vá conduzir a programas mais longos. Uma maior quantidade de registradores e suas utilizações para passagem de parâmetros e recuperação dos dados, permitindo uma execução mais otimizada de chamada de funções. Menor quantidade de modos de endereçamento com o objetivo da redução de ciclos de relógio para execução das instruções. Instruções de formatos simples e únicos tiram maior proveito de execução com pipeline cujos estágios consomem o mesmo tempo.

Exemplos: Power PC, Série Sparc, Alpha 21064. 


Barramento PCI

PCI - Peripheral Component Interconnect (Interconexão de Componentes Periféricos).
Uma placa PCI típica

O PCI é uma mistura do ISA e do VL-Bus. Fornece acesso direto à memória do sistema para dispositivos conectados, mas usa uma ponte para se conectar ao barramento frontal (frontside bus) e, portanto, ao processador. Basicamente, significa que tem um desempenho ainda melhor do que o VL-Bus, além de eliminar uma possível interferência com o processador.
Placas PCI têm 47 pinos
O PCI conecta mais dispositivos do que o VL-Bus, até cinco componentes externos. Cada um dos cinco conectores para um componente externo pode ser substituído por dois dispositivos fixos na placa-mãe. Além disso, você pode ter mais do que um barramento PCI no mesmo computador, apesar de ser raro. O chip da ponte do PCI regula a velocidade do barramento, independentemente da velocidade do processador. Isto torna o sistema mais seguro, e faz com que os fabricantes de hardware PCI saibam exatamente o que fazer.

O PCI no início operava a 33MHz, usando um caminho de 32 bits de largura. O padrão foi atualizado, e sua velocidade subiu de 33MHz para 66MHz, e sua largura dobrou para 64 bits. Atualmente, o PCI-X transfere em 64 bits a uma velocidade de 133MHz a uma incrível taxa de transferência de 1GBps (gigabyte por segundo).

As placas PCI têm 47 pinos (49 para uma placa com "bus mastering", que controla o barramento PCI sem intervenção do processador). O barramento PCI consegue trabalhar com poucos pinos por causa da multiplexação de hardware, que significa que o dispositivo envia mais do que um sinal por pino. Além disso, o PCI é compatível com dispositivos que usam tanto 5 Volts como 3,3 Volts.

Podem ocorrer alguns problemas se dois dispositivos desejarem tornar-se mestres ao mesmo tempo. Para resolver esse conflito surge a necessidade de um mecanismo pra efetuar a arbitragem do barramento. No barramento PCI um único árbitro determina quem será o próximo mestre (arbitragem centralizada).

Arbitração:

Quando enxerga uma requisição de uso, o árbitro envia um sinal de garantia de uso do barramento por uma linha que está ligada a todos os dispositivos de E/S.

Passa a ser o mestre o dispositivo que fez uma requisição de uso e está mais próximo fisicamente do barramento. Esse procedimento é denominado Daisy Chaining. Uma outra maneira de fazer a arbitragem do barramento, que evita a questão da distância física dos dispositivos, é a arbitragem por prioridades.

0 comentários:

Postar um comentário