segunda-feira, 12 de janeiro de 2015

Módulo 9 – Arquitetura de Microprocessadores nº2



MMX (Multimedia Extensions)

Designa o conjunto de 57 instruções introduzidas nos processadores Intel e outros processadores compatíveis no início de 1997 para a consulta de dados multimédia. Permitem um uso eficaz do processador para operações específicas de multimédia como processamento digital de sinal. 
Apenas software escrito para chamar especificamente essas instruções pode fazer uso dessa potencialidade e, com efeito, não foi feito um grande esforço por parte de empresas criadoras de compiladores de várias linguagens para a plataforma x86 em adaptar os seus produtos para fazer uso extensivo destas instruções. Muito recentemente a Intel admitiu tratar-se de um flop o lançamento destes chips visto não terem tido um suporte em termos de software comercial como pano de fundo.


Overclocking

O overclock é um processo no qual a velocidade de componentes específicos de um computador são manualmente aumentadas, através de configurações e instruções diretas para o hardware. A melhora de desempenho que é atingida após o processo pode variar, mas entusiastas conseguem fazer componentes antigos funcionarem como os últimos lançamentos, assim como fazem as peças mais modernas superarem os limites da tecnologia atual.

Hyper-Threading 

É uma tecnologia de virtualização de cores. O processador core i3 tem 2 cores físicos, com a tecnologia hyper threading ativada, o sistema operacional passa a reconhecer o processador como tendo 4 cores, isso ocorre pois a tecnologia hyper threading virtualiza a cada 1 core físico mais 1 core porem lógico. Essa tecnologia possibilita um aumento de desempenho de até 30% a mais nas execuções de threads.

CISC

O nome CISC (Complex Instruction Set Computer) advém do fato de se considerar complexo um conjunto constituído de grande quantidade de instruções, com múltiplos modos de endereçamento, entre outras críticas. Numa época inicial da computação em que a memória era cara e pequena e, por isso, os códigos gerados pelos compiladores deveriam ser compactos e eficientes na execução. Dessa forma, os projetistas precisavam obter boa densidade do código de máquina, ou seja, cada instrução deveria fazer muito, de modo que o programa completo tivesse poucas instruções.

RISC

RISC (Reduced Instruction Set Computing) são muito mais velozes do que os processadores comuns (CISC). O termo RISC refere-se ao número de ciclos de clock que o processador leva para selecionar uma instrução. Processadores comuns levam vários ciclos de clock para selecionar uma única instrução. Um chip RISC, por outro lado, pode selecionar e executar uma instrução a cada ciclo de clock.




CISC vs RISC 

Armazenamento e memória
A memória, hoje em dia, é rápida e barata; qualquer pessoa que tenha instalado recentemente um programa da Microsoft sabe que muitas das companhias que desenvolvem software já não têm em consideração as limitações de memória. Assim, as preocupações com o tamanho do código que deram origem ao vasto conjunto de instruções da arquitectura CISC já não existem. De facto, os processadores da era pós-RISC têm conjuntos de instruções cada vez maiores de um tamanho e diversidade sem precedentes, e ninguém pensa duas vezes no efeito que isso provoca no uso da memória.

Compiladores
O desenvolvimento dos compiladores sofreu um tremendo avanço nos últimos anos. De facto, chegou a um ponto tal que a próxima geração de arquitecturas (como o IA-64 ou Merced da Intel) dependem apenas do compilador para ordenar as instruções tendo em vista a máxima taxa de instruções executadas. Os compiladores RISC tentam manter os operandos em registos por forma a poderem usar simples instruções registo-registo. Os compiladores tradicionais, por outro lado, tentam descobrir o modo de endereçamento ideal e o menor formato de instrução para fazerem os acessos à memória. Em geral, os programadores de compiladores RISC preferem o modelo de execução registo-registo de forma que os compiladores possam manter os operandos que vão ser reutilizados em registos, em vez de repetirem os acessos à memória de cada vez que é necessário um operando. Usam, por isso, LOAD’s e STORE’s para aceder à memória para que os operandos não sejam, implicitamente, rejeitados após terminada a execução de uma determinada instrução, como acontece nas arquitecturas que utilizam um modelo de execução memória-memória.


Luís Martins nº14 12ºF
Pedro Silva nº18 12ºF

Sem comentários:

Enviar um comentário