Arquitetura e organização de computadores
Uma Introdução
Paulo Cesar Centoducatte
Instituto de Computação – UNICAMP ducatte@ic.unicamp.br Resumo
Este artigo apresenta de maneira informal alguns aspectos do que se convencionou chamar de “Arquiteturas Avançadas de Computadores”. Por um lado, este termo tem sido empregado para designar diferentes concepções de projetos de máquinas (computadores), onde as novidades, em relação à arquitetura convencional (von Neumann), introduzidas estão na forma como os diversos componentes (CPUs, memórias, dispositivos de entrada e saída, etc.) são organizados, interagem e a quantidade de CPUs utilizadas. Por outro lado, o termo também tem sido utilizado para caracterizar arquiteturas de CPUs que usam conceitos diferenciados dos convencionais, na execução das instruções (principalmente a execução em paralelo) e nos recursos disponibilizados. Palavras Chaves: SISD, SIMD, MISD, MIMD, pipelining, superpipelining, superescalar, VLIW, multicomputador, multiprocessador, memória compartilhada, memória distribuída, ILP.
1. Introdução.
Impulsionado por uma demanda crescente por alto desempenho e baixo custo o mercado de computadores tem apresentado diversas soluções inovadoras. As novas arquiteturas têm procurado explorar as características das aplicações para atingirem seus objetivos. A principal característica que tem sido explorada é o paralelismo existente nas aplicações e que pode apresentar-se de duas formas básicas: paralelismo no nível de processos e programas (paralelismo de alta granulosidade) e paralelismo no nível de instruções (ILP - instructionlevel parallelism). No nível de processos e programas o paralelismo é explorado por arquiteturas de processamento com diversos processadores reunidos em uma mesma máquina (máquina paralela) ou em um conjunto de computadores interligados por uma rede de interconexão. No nível de instruções (ILP) o paralelismo é explorado por arquiteturas de processadores capazes de executar