TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

DIFERENÇAS ENTRE ARQUITETURAS RISC E CISC

Tese: DIFERENÇAS ENTRE ARQUITETURAS RISC E CISC. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  12/9/2013  •  Tese  •  1.434 Palavras (6 Páginas)  •  612 Visualizações

Página 1 de 6

Etapa 1

DIFERENÇAS ENTRE ARQUITETURAS RISC E CISC

A transição de CISC para RISC foi uma mudança radical na arquitetura. Os conjuntos deinstruções foram mudados, sacrificando a compatibilidade binária para o desempenho. Reduzindo o conjunto de instruções, o processador cabia em um chip menor que permitia que os desenvolvedores aumentassem a velocidade do clock. Além disso, o processador poderia ser pipelineado e uma unidade de controle micro codificada tornou-se desnecessária. RISC, "resolve os casos comuns mais rápidos", era o princípio que conduziu a um aumento impressionante da performance comparado com os processadores CISC. Os processadores mais adiantados tais como IBM RT, SPARCv7 e MIPS R2000 aderiram completamente ao princípio fundamental RISC.

Entretanto, enquanto a tecnologia avançava para aumentar os tamanhos dos dados e aumentar a densidade do transistor, os desenvolvedores do processador RISC começaram a considerar maneiras de usar esse espaço novo do chip. Alguns dos usos desse espaço incluíram:

Registros adicionais; On-chip chaces que são cronometradostão rapidamente quanto o processador; Unidades funcionais adicionais para execução superescalar; Instruções adicionais não-RISC (mais rápidas); On-chip aceitando operações de ponto flutuante; Profundidade aumentada no Pipelined. Assim, a geração atual de processadores de desempenho elevado carrega poucas características dos processadores que iniciaram a revolução RISC.

PRINCIPAL DIFERENÇA ENTRE RISC E CISC

Todos os processadores dispõem de instruções de salto "de ida e volta", normalmente designados de instruções de chamada de sub-rotinas: nestas, para além de se alterar o conteúdo do registro PC como qualquer instrução de salto, primeiro guarda-se o endereço de instrução que segue a instrução de salto ( e que se encontra no PC); nas arquiteturas CISC este valor é normalmente guardado na stack; nas arquiteturas RISC esse valor é normalmente guardado num registro.

C++ (em português lê-se "cê mais mais", em inglês lê-se see plus plus) é uma linguagem de programação multi-paradigma e de uso geral. A linguagem é considerada de médio nível, pois combina características de linguagens de alto e baixo níveis. Desde os anos 1990 é uma das linguagens comerciais mais populares, sendo bastante usada também na academia por seu grande desempenho e base de utilizadores.

Exemplo de um programa que imprime na tela "Olá, Mundo!".

#include <iostream>

using namespace std;

int main() {

cout << "Olá mundo." << endl;

return 0;

}

Etapa 2

Processadores Superescalares são os que possuem pipelines que permitem a execução de mais de uma instrução simultaneamente (no mesmo ciclo de clock). Isto é obtido através da implementação de múltiplas unidades funcionais, que são unidades onde as instruções são executadas

O termo escalar é utilizado para distinguir os modelos de execução:

• de uma única instrução manipulando operandos discretos;

• das instruções vetoriais, que desencadeiam a ativação em paralelo de múltiplos elementos de processamento, todos executando uma única operação.

Além destes dois modelos, existe o que executa várias instruções concorrentemente, sem que elas precisem ter o mesmo código de operação (não vetoriais). Este modelo é utilizado pelos computadores superescalares, assim chamados, por processarem instruções escalares em grande grau de paralelismo.

Computadores superescalares são máquinas projetadas para melhorar a performance de execução de instruções escalares, em outras palavras, eles exploram o paralelismo em baixo nível e, assim, podem executar diversas instruções de máquina simultaneamente, contanto que, todas sejam provenientes do mesmo programa objeto.O nome contrasta com o propósito dos processadores vetoriais e matriciais, pois, utilizam a técnica de processar várias instruções de um mesmo tipo em paralelo, enquanto que um superescalar pode processar simultaneamente instruções diferentes.Este debate é feito porque cada máquina é especializada em executar determinados tipos de programas específicos e, como na maioria das aplicações, a massa de operações são quantidades escalares, a "filosofia" superescalar representa o próximo passo na condução dos processadores de propósito geral para a alta performance, que podem então, executar eficientemente uma larga gama de programas de aplicação não se limitando à aplicações vetoriais ou matriciais.

Etapa 3

Computação paralela é uma forma de computação em que vários cálculos são realizados simultaneamente,1 operando sob o princípio de que grande problemas geralmente podem ser divididos em problemas menores, que então são resolvidos concorrentemente (em paralelo). Existem diferentes formas de computação paralela: em bit, instrução, de dado ou de tarefa. A técnica de paralelismo já é empregada por vários anos, principalmente na computação de alto desempenho, mas recentemente o interesse no tema cresceu devido às limitações físicas que previnem o aumento de frequência de processamento.2 Com o aumento da preocupação do consumo de energia dos computadores, a computação paralela se tornou o paradigma dominante nas arquiteturas de computadores sob forma de processadores multinúcleo.3Computadores paralelos podem ser classificados de acordo com o nível em que o hardware suporta paralelismo. Computadores com multinúcleos ou multiprocesadores possuem múltiplos elementos de processamento em somente uma máquina, enquanto clusters, MPP e grades usam múltiplos computadores para trabalhar em uma única tarefa. Arquiteturas paralelas especializadas às vezes são usadas junto com processadores tradicionais, para acelerar tarefas específicas.Programas de computador paralelos são mais difíceis de programar que sequenciais,4 pois a concorrência introduz diversas novas classes de defeitos potenciais, como a condição de corrida. A comunicação e a sincronização entre diferentes subtarefas é tipicamente uma das maiores barreiras para atingir grande desempenho em programas paralelos. O aumento da velocidade por resultado de paralelismo é dado

...

Baixar como (para membros premium)  txt (9.1 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com