SIS17 - Arquitetura de Computadores



Documentos relacionados
Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores. Hugo Barros @hugobarros.com.br

RISC X CISC - Pipeline

Arquitetura e Organização de Computadores

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

BARRAMENTO DO SISTEMA

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Evolução dos Processadores

Organização Básica de Computadores (Parte I)

ULA Sinais de Controle enviados pela UC

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

ARQUITETURA DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

Unidade Central de Processamento

Organização Básica do Computador

Sistemas Computacionais II Professor Frederico Sauer

Edeyson Andrade Gomes

2. A influência do tamanho da palavra

ARQUITETURA DE COMPUTADORES

3. Arquitetura Básica do Computador

Estrutura de um Computador

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Introdução à Arquitetura de Computadores

Aula 26: Arquiteturas RISC vs. CISC

Introdução à Engenharia de Computação

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Arquitetura de Computadores. Tipos de Instruções

Sistemas Operacionais

Disciplina: Introdução à Informática Profª Érica Barcelos

28/9/2010. Unidade de Controle Funcionamento e Implementação

Sistema de Computação

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Arquitetura de Computadores - Revisão -

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Componentes de um Computador: Modelo Von Neumann

SIS17-Arquitetura de Computadores

Organização e Arquitetura de Computadores I

Introdução à Computação: Arquitetura von Neumann

O Hardware Dentro da Unidade do Sistema

Marcos da Arquitetura de Computadores (1)

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Informática I. Aula 5. Aula 5-13/05/2006 1

Arquitetura de Von Neumann e os Computadores Modernos

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Capítulo 3 Processadores de Propósito Geral: Software

Informática I. Aula 4. Aula 4-11/09/2006 1

Informática Básica. Arquitetura de Computadores. Marcelo Diniz

Componentes do Computador e. aula 3. Profa. Débora Matos

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Organização de Computadores Como a informação é processada?

ORGANIZAÇÃO DE COMPUTADORES

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

Capítulo 1 Introdução

Visão Geral de Sistemas Operacionais

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

Microprocessadores. Prof. Leonardo Barreto Campos 1

Máquinas Multiníveis

2 Formalidades referentes ao trabalho

Arquiteturas RISC. (Reduced Instructions Set Computers)

CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES

Introdução. ULA: Faz os Cálculos UC: Como isso tudo ocorre?

ARQUITETURA DE COMPUTADORES

Organização de Computadores 1

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

1. NÍVEL CONVENCIONAL DE MÁQUINA

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

3. O NIVEL DA LINGUAGEM DE MONTAGEM

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP


CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Organização e Arquitetura de Computadores I. de Computadores

Introdução aos Computadores

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Componentes de um computador típico

Organização de Computadores Hardware

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

Nível da Microarquitetura

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Unidade 13: Paralelismo:

Arquitetura de Rede de Computadores

O que é Arquitetura de Computadores?

1.1. Organização de um Sistema Computacional

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Transcrição:

SIS17 - Arquitetura de Computadores Organização Básica B de Computadores (Parte I) Organização Básica B de Computadores Composição básica b de um Computador eletrônico digital Processador Memória Memória Principal Memória Secundária Dispositivos de entrada e saída interligados 2 1

Organização Básica B de Computadores Organização de um computador simples, em torno de um barramento, com um processador e dois dispositivos de E/S. 3 Organização Básica B de Computadores Componentes de um computador: visão global 4 2

Organização Básica B de Computadores Unidade Central de Processamento UCP (Central Processing Unity CPU) "cérebro" do computador. Função ão: executar os programas armazenados na memória principal. O processador busca cada instrução na memória, examina-a e executa uma após outra. 5 Organização Básica B de Computadores Operações realizadas pela UCP Processamento operações aritméticas e lógicas movimentação de dados desvios operações de entrada ou saída Controle Busca, interpretação e controle da execução das instruções. Controle da ação dos demais componentes do sistema de computação (memória, entrada/saída). 6 3

Organização Básica B de Computadores UCP - Componentes fundamentais Unidade de Controle Unidade Aritmética e Lógica Registros (Registradores) Sistemas de Comunicação (Barramentos) 7 Organização Básica B de Computadores UC - Unidade de Controle Funções ões: busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador. Envia ordens de cálculo para a UAL, que indica os valores a processar, e os coloca nos registradores para esse efeito. A partir da UC a informação é transferida para as outras partes que constituem o computador, como a memória, os sistemas de E/S, etc.. 8 4

Organização Básica B de Computadores UAL - Unidade Aritmética e Lógica Função ão: a efetiva execução das instruções. Aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações aritméticas e lógicas (soma, subtração, multiplicação, divisão, AND, OR, XOR, complemento, deslocamento, incremento e decremento). Processadores modernos utilizam mais de uma UAL. 9 Organização Básica B de Computadores Registradores Função: armazenamento de dados e resultados que serão usados pela UAL. Servem de memória auxiliar básica para a UAL. Classificação (atual): registradores de uso geral e registradores de uso específico. Em geral, os registradores de dados da UCP têm uma largura (quantidade de bits que podem armazenar) igual ao tamanho estabelecido pelo fabricante para a palavra do referido processador. A quantidade e o emprego dos registradores variam bastante de modelo para modelo de UCP. 10 5

Organização Básica B de Computadores Registradores Em função de estarem dentro do processador, podem ser lidos e escritos a uma velocidade bastante alta. Exemplos: Program Counter (PC): armazena o endereço da próxima instrução Registrador de Instruções (IR): armazena instrução que está sendo executada. Pentium II: registradores de uso geral de 32 bits (EAX, EBX, ECX, EDX,...), registradores de segmentos de 16 bits (CS, DS,...), registrador FLAGS (PSW - Program Status Word), e EIP (PC, 32 bits). 11 Organização Básica B de Computadores Barramentos Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruções Tipos: barramentos internos e externos ao processador 12 6

Organização Básica B de Computadores Caminho de dados de uma Máquina M típica t de Von Neumann. 13 Organização do Processador Caminho de dados Parte constituída dos registradores (em geral de 1 a 32), UAL e barramentos Os registradores alimentam as duas entradas (A e B) da UAL A saída da UAL é conectada a um dos registradores Existem 2 classes de instruções: instrução registrador-mem memória: permite que uma palavra de memória seja armazenada no registrador, e vice-versa. instrução registrador-registrador registrador: instrução que opera sobre 2 registradores e coloca a saída em outro registrador (ciclo de caminho de dados). 14 7

Organização do Processador Caminho de dados Importante: A velocidade do ciclo do caminho de dados determina, em última análise, a velocidade do computador. Observação: Palavras são as unidades de dados movidas entre a memória e os registradores. A referência a uma palavra deve ser feita por meio de um número inteiro. 15 Execução de Instruções Ciclo de Busca-Decodifica Decodificação-Execução de Instrução 16 8

Execução de Instruções Ciclo de Busca-Decodifica Decodificação-Execução de Instrução 1. Busca próxima instrução na memória e armazena no IR. 2. Atualiza Contador de instrução PC para apontar para a próxima instrução 3. Determina tipo de instrução armazenada no IR 4. Determina endereço dos dados na memória, se a instrução requer dados adicionais. 5. Busca palavras (dados) na memória, caso a instrução precise, e armazena-as em outros registradores. 6. Executa instrução. 7. Retorna ao passo 1 17 Execução de Instruções É possível escrever um programa que simula a função de um processador. Esse programa não precisa, necessariamente, ser executado por um processador eletrônico. Um programa pode ser executado por outro programa que busque, decodifique e execute suas instruções. Denominação de tal programa: interpretador 18 9

Execução de Instruções Interpretador para o computador muito simples (escrito em Java) public class Interp{ static int PC; static int AC; static int instr; static int instr_type; static int data_loc; static int data; static boolean run_bit = true // o PC guarda o endereço da próxima instrução // Acumulador, registrador que auxilia os cálculos // registrador para guardar a instrução corrente // o tipo de instrução (opcode) // endereço do dado, ou 1 se não houver // armazena o operando corrente // bit que pode ser colocado em zero // para parar a máquina 19 Execução de Instruções Interpretador para o computador muito simples (escrito em Java) public static void interpret(int memory[ ], int starting_address){ // Esse procedimento interpreta programas para uma máquina muito // simples cujas instruções têm na memória apenas um operando. // A máquina tem um registrador AC (acumulador), usado para // cálculos aritméticos. // O interpretador continua rodando até que o run_bit assuma o valor 0, // valor esse atribuído a ele por meio da execução da instrução HALT // (parada). // O estado de um processo rodando nessa máquina é composto pela // memória, pelo PC, pelo run_bit e pelo AC. // Os parâmetros de entrada são a imagem da memória e o endereço // inicial, onde está armazenada a primeira instrução do programa. 20 10

Interpretador para o computador muito simples (escrito em Java) } PC = starting_address; while(run_bit){ instr=memory[pc]; PC = PC + 1; // busca da próxima instrução e seu // armazenamento em instr // incremento do PC instr_type=get_instr_type(instr); // determinação do tipo de instrução data_loc=find_data(instr, instr_type); // localização do dado // se não houver dado a ser localizado, data_loc deve receber 1 if(data_loc>=0) data=memory[data_loc]; execute(instr_type, data); } Execução de Instruções // se data_loc=-1, a instrução não tem operando // busca do operando // execução da instrução 21 Execução de Instruções Interpretador para o computador muito simples (escrito em Java) private static int get_instr_type(int addr) {... } private static int find_data(int instr, int type) {... } private static void execute(int type, int data) {... } } Observações: O interpretador escrito em JAVA simula a função de um processador. Programa JAVA: executado por interpretação, hardware ou híbrido (hardware + software). 22 11

Execução de Instruções A equivalência entre os processadores construídos em hardware e os interpretadores têm uma implicação muito importante na organização e no projeto dos sistemas de computador. Decisão importante: Após especificar a linguagem de máquina L de um novo processador, a equipe de projetistas precisa decidir se devem construir um processador real, em hardware, para executar diretamente programas escritos em L, ou se deve escrever um interpretador para interpretar os programas escritos em L. 23 Execução de Instruções Final do anos 50 IBM reconhece que o suporte a uma única família de máquinas, todas executando as mesmas instruções é vantajoso surge o termo arquitetura para descrever o nível de compatibilidade entre as máquinas. Uma nova família de computadores poderia ter uma única arquitetura, porém muitas implementações diferentes, todas executando os mesmos programas, diferindo no preço e na velocidade. 24 12

Execução de Instruções Problema 1: Como construir computadores de baixo custo capazes de executar todas as instruções complexas de máquinas de alto desempenho, muito mais caras? Uma implementação em hardware puro (sem interpretação) é usada somente nos computadores mais caros. Uma implementação com interpretador de instrução (por software) é usada em computadores mais baratos. 25 Execução de Instruções Vantagens do interpretador em relação ao hardware puro Capacidade de corrigir no campo eventuais erros na implementação de instruções Oportunidade de incorporar novas instruções nas máquinas já existentes Projeto estruturado que permite o desenvolvimento, teste e documentação de instruções complexas de maneira eficiente. Pode substituir implementações antigas de instruções. Armazenamento das microinstruções do interpretador em memórias read-only (ROM), chamadas de memória de controle, muito mais rápidas do que as memórias convencionais. 26 13

Execução de Instruções Problema 2: O uso da interpretação permitiu a criação de um conjunto grande de instruções de importância discutível e que eram difíceis e caras para serem implementadas diretamente por hardware (circuitos muito complexos). 27 RISC versus CISC Final da década d de 70 Privilégio das instruções muito complexas, cuja implementação era muito simples com o emprego do interpretador. Projetistas tentavam diminuir o gapgap semântico. Contraponto projeto de processadores que não usavam interpretação (RISC). 28 14

RISC versus CISC CISC - Complex Instruction Set Computer Tecnologia mais antiga e usada para famílias de computadores compatíveis em nível de software. Número maior de instruções (~200 a 300 instruções). Uso extensivo de interpretação (principalmente para modelos mais baratos). 29 RISC versus CISC RISC - Reduced Instruction Set Computer Processador com pequeno número de instruções muito simples. Primeiro: RISC I. Instruções capazes de serem executadas em um único ciclo do caminho de dados. Argumento RISC: Mesmo que uma máquina RISC precisasse de 4 ou 5 instruções para fazer o que uma máquina CISC faria com apenas 1 instrução, se a instrução RISC fosse 10 vezes mais rápida (só hardware) a máquina RISC venceria. 30 15

RISC versus CISC Questão: : Porque então a tecnologia RISC não suplantou a CISC? Problemas de compatibilidade com máquinas antigas com software já desenvolvido. Aparecimento de soluções híbridas: Por exemplo, a INTEL usa RISC para instruções de uso mais freqüente (Núcleo RISC) e interpretação para instruções mais complexas e de uso menos freqüente. 31 Princípios de Projeto para Computadores Modernos Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Todas as instruções são diretamente executadas por hardware Maximizar a Taxa à qual as instruções são executadas As instruções precisam ser facilmente decodificadas Somente as Instruções de Load e Store devem referenciar a Memória Projetar uma máquina m com muitos registradores (>= 32) 32 16

Princípios de Projeto para Computadores Modernos Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Todas as instruções são diretamente executadas por hardware Não existe o nível n de microinstrução Para máquina m com filosofia CISC as instruções, em geral menos freqüentes, entes, que não existem em hardware são interpretadas 33 Princípios de Projeto para Computadores Modernos Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Maximizar a Taxa à qual as instruções são executadas Uso de paralelismo: execução de várias v instruções lentas ao mesmo tempo Execução de instruções não precisa seguir a lógica l da programação 34 17

Princípios de Projeto para Computadores Modernos Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: As instruções precisam ser facilmente decodificadas decodificação influencia na velocidade de execução das instruções decodificação determina os recursos a serem usados na execução das instruções quanto menor o número n de formatos, mais fácil f a decodificação 35 Princípios de Projeto para Computadores Modernos Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Somente as Instruções de Load e Store devem referenciar a Memória Acesso a memória é mais lento Instruções que acessam a memória podem ser intercaladas com outras instruções 36 18

Princípios de Projeto para Computadores Modernos Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Projetar uma máquina m com muitos registradores (>= 32) Palavras de memória devem permanecer nos registradores o maior tempo possível Falta de registradores pode obrigar a buscar varias vezes a mesma palavra da memória 37 Princípios de Projeto para Computadores Modernos Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem seguir: Observação: Outras soluções ões: Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do estado da arte da tecnologia. Solução para aumentar a velocidade do processador: Uso de paralelismo. em nível n das instruções ões: um único processador deve executar mais instruções por segundo em nível n do processador: vários processadores trabalhando juntos na solução do mesmo problema 38 19

Princípios de Projeto para Computadores Modernos Paralelismo ao Nível N das Instruções Maior gargalo para a velocidade de execução de instruções é o acesso a memória Execução em Pipeline O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela. 39 Princípios de Projeto para Computadores Modernos (a) Pipeline de 5 estágios. (b) Estado de cada um dos estágios em função do tempo (estão ilustrados 9 períodos do clock). 40 20

Princípios de Projeto para Computadores Modernos Paralelismo ao Nível N das Instruções Funcionamento de um pipeline de 5 estágios O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executá-la No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandos No estágio 3 ocorre a busca dos operandos na memória ou nos registradores No estágio 4 tem-se a execução - passagem pelo caminho de dados No estágio 5 o resultado do processamento é escrito num registrador 41 Princípios de Projeto para Computadores Modernos Paralelismo ao Nível N das Instruções A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos estão sendo executados ao mesmo tempo. A figura mostra o funcionamento do pipeline, mostrando que os estágios de cada processamento são aplicados a várias v instruções ao mesmo tempo. Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo lida, no tempo 3 a instrução 1 está buscando dados, a instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante. 42 21

Princípios de Projeto para Computadores Modernos Paralelismo ao Nível N das Instruções Arquiteturas Superescalares Se um pipeline é bom, com certeza dois serão ainda melhor. Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline. 43 Princípios de Projeto para Computadores Modernos Paralelismo ao Nível N das Instruções Arquiteturas Superescalares A execução das instruções é feita em paralelo e: não pode haver conflitos pelo uso de recursos (mesmo registro, por exemplo) o resultado de uma instrução não pode depender do resultado da outra pode se pensar em pipelines com leitura inicial de 3 ou mais instruções, porém o hardware fica complexo. 44 22

Princípios de Projeto para Computadores Modernos Dois pipelines de 5 estágios com uma unidade de busca de instruções comum a ambos. 45 Princípios de Projeto para Computadores Modernos Paralelismo ao Nível N das Instruções Arquiteturas Superescalares Máquinas de alto desempenho usam outra metodologia: A idéia básica é ter um único pipeline, com diversas unidades funcionais O estágio 3 pode distribuir instruções a uma velocidade consideravelmente mais alta do que o estágio 4 pode executálas. Este estágio usa vários dispositivos de hardware (inclusive mais do que uma UAL) para acelerar o processamento neste estágio. 46 23

Princípios de Projeto para Computadores Modernos Processador superescalar com 5 unidades funcionais 47 Princípios de Projeto para Computadores Modernos Paralelismo ao Nível N do Processador A medida que os processadores vão ficando mais rápidos: aparecem limitações de ordem física (velocidade da luz em fios de cobre ou fibras ópticas) maior produção de calor pelo chip (problema para dissipar essa energia) Operação do processador em pipeline ou em superescalar possibilita ganhos de 5 a ~10 vezes. Para ganhos maiores, 50-100 ou mais vezes, deve-se projetar computador com mais de 1 processador 48 24

Princípios de Projeto para Computadores Modernos Computadores Matriciais (2 implementações) Processador matricial Composto de grande número de processadores idênticos Cada processador executa a mesma sequência de instruções sobre diferentes conjuntos de dados Tem uma única unidade de controle Tem uma UAL para cada processador Problema: Os processadores matriciais não são independentes pois compartilham uma única UC. 49 Princípios de Projeto para Computadores Modernos Computadores Matriciais (2 implementações) Processador vetorial muito parecido com processador matricial operações aritméticas são executadas numa única UAL, que opera em pipeline operandos são colocados em um registro vetorial para serem processados na UAL 50 25

Princípios de Projeto para Computadores Modernos Computadores Matriciais (2 implementações) Processador matricial x vetorial programação para o matricial voltada ao paralelismo (mais difícil) processador matricial é, em geral, mais rápido principalmente para repetição de um mesmo processamento em vários "pedaços" dos dados processador vetorial se adapta a processamentos paralelos e não paralelos hardware do matricial é mais caro (muitas UALs) 51 Princípios de Projeto para Computadores Modernos Multiprocessadores é composto de vários v processadores independentes compartilham uma mesma memória por um barramento principal ou compartilham uma memória e tem memórias locais executam processamentos locais liberam tráfego do barramento principal é necessário gerenciar conflitos 52 26

Princípios de Projeto para Computadores Modernos Multicomputadores Sistemas com um grande número de computadores interconectados Não existe nenhum tipo de memória comum sendo compartilhada Comunicação entre computadores é feita através de troca de mensagens a uma velocidade bem alta Computador não precisa estar ligado diretamente com todos os outros (uso de topologias em árvore, anéis, etc..) Mensagens são roteadas do computador fonte para o destino (usando computadores intermediários) Existem em operação sistemas multicomputadores com mais de 10000 computadores 53 Princípios de Projeto para Computadores Modernos (a) Multiprocessador organizado em torno de um único barramento.. (b) Multicomputador com memórias locais. 54 27

Princípios de Projeto para Computadores Modernos Importante: Como sistemas multiprocessadores são mais fáceis de programar e sistemas multicomputadores são mais fáceis de construir, existem sistemas híbridos. Tais computadores dão a ilusão de compartilhamento de memória, sem arcar com o ônus de implementá-lo diretamente. Problema: Sistemas com muitos processadores (>64) são de difícil implementação. Dificuldade está na conexão dos processadores a memória. 55 28