UNIP - UNIVERSIDADE PAULISTA

Apresentações semelhantes


Apresentação em tema: "UNIP - UNIVERSIDADE PAULISTA"— Transcrição da apresentação:

1 UNIP - UNIVERSIDADE PAULISTA
ORGANIZAÇÃO DE COMPUTADORES RESUMO B2

2 UNIP - UNIVERSIDADE PAULISTA
ORGANIZAÇÃO DE COMPUTADORES RESUMO B2

3 Organização de computadores 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 muito eficiente. Pode inclusive 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.  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).

4 Organização de computadores EXECUÇÃO DE INSTRUÇÕES
RISC versus CISC RISC - Reduced Instruction Set Computer. tecnologia para máquinas de alta performance (Inicialmente não havia preocupação com compatibilidade) Máquina com conjunto reduzido de instruções básicas em hardware (~50 instruções). Uso de chips processadores VLSI (Very Large Scale Integration) sem interpretação. Demais instruções eram geradas por combinação das instruções básicas de hardware. CISC - Complex Instruction Set Computer. Tecnologia mais antiga e usada para famílias de computadores compatíveis a nível de software. Número maior de instruções (~ 200 a 300 instruções). Uso extensivo de interpretação (principalmente para modelos + baratos).

5 Organização de computadores EXECUÇÃO DE INSTRUÇÕES
Argumento: Mesmo que uma máquina RISC precisasse de 4 ou 5 instruções para fazer o que uma maquina CISC faria com apenas 1 instrução, se a instrução RISC fosse 10 vezes mais rápida (só hardware) a máquina RISC vencia. Questão: Por que 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 frequentes (Núcleo RISC) e intepretação para aquelas mais complexas e de uso menos frequentes.

6 Organização de computadores 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 de microinstrução. Para máquina com filosofia CISC as instruções, em geral menos frequentes, que não existem em hardware são interpretadas. Maximizar a Taxa à qual as instruções são executadas Uso de paralelismo: execução de várias instruções lentas ao mesmo tempo. Execução de instruções não precisa seguir a lógica da programação.

7 Organização de computadores Princípios de Projeto para  Computadores Modernos
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 de formatos, mais fácil a decodificação. 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. Projetar uma máquina com muitos registradores (>= 32) Palavras de memória devem permanecer nos registradores o maior tempo possível. A falta de registradores pode obrigar a buscar varias vezes a mesma palavra da memória.

8 Organização de computadores Princípios de Projeto para  Computadores Modernos
Observação:  Outras soluçõ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. a nível de instrução: 1 único processador deve executar mais instruções por segundo. a nível de processadores: vários processadores trabalhando juntos na solucão do mesmo problema.

9 Organização de computadores PARALELISMO NO NÍVEL DAS INSTRUÇÕES
Maior gargalo para a velocidade de execução de instruções é o acesso à 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.     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 temos a execução - passagem pelo caminho de dados. No estágio 5 o resultado do processamento é escrito num registrador.

10 Organização de computadores PARALELISMO NO NÍVEL DAS INSTRUÇÕES
Figura 3.3 – (a) Pipeline de 5 estágios ; (b) Estado de cada um dos estágios como função de tempo. Estão ilustrados 9 períodos de clock. 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.

11 ORGANIZAÇÃO DE COMPUTADORES PARALELISMO NO NÍVEL DAS INSTRUÇÕES
       ARQUITETURAS SUPERESCALARES Se um pipeline é bom,  com certeza dois serão ainda melhor. (Veja figura 3.4). Neste caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline. A execução dessas 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.

12 Organização de computadores PARALELISMO NO NÍVEL DAS INSTRUÇÕES
Figura 3.4 – 2 pilpelines de 5 estágios com uma unidade de busca de instruções comum a ambos. Máquinas de alta performance usam outra metodologia, a arquitetura Superescalar. A idéia básica é ter um único pipeline, com diversas unidades funcionais (Veja Figura 3.5).

13 Organização de computadores PARALELISMO NO NÍVEL DAS INSTRUÇÕES
O estágio 3 pode distribuir instruções a uma velocidade consideravelmente mais alta do que o estagio 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. Figura 3.5 – Processador superescalar com 5 unidades funcionais. !!!

14 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
A medida que os processadores vão ficando mais rápidos: 1. Aparecem limitações de ordem física (velocidade da luz em fios de cobre ou fibras opticas). 2. 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, ou mais vezes, deve-se projetar computador com mais de 1 processador

15 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Computadores Matriciais (2 implementações): Processador matricial (veja figura 3.6). 1. composto de grande número de processadores idênticos. 2. Cada processador executa a mesma sequência de instruções sobre diferentes conjuntos de dados. 3. Tem uma única unidade de controle. 4. Tem uma UAL para cada processador.

16 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Processador vetorial 1. Muito parecido com processador matricial. 2. Operações aritméticas são executadas numa única UAL, que opera em pipeline. 3. Operandos são colocados em um registro vetorial para serem processados na UAL.

17 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Processador matricial x vetorial 1. Programação para o matricial voltada ao paralelismo (+difícil ). 2. Processador matricial é, em geral, mais rápido principalmente para repetição de um mesmo processamento em vários "pedaços" dos dados. 3. Processador vetorial se adapta a processamentos paralelos e não paralelos. 4. Hardware do matricial é mais caro (muitas UALs).

18 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Figura 3.6 – Processador Matricial Problema: Os processadores matriciais não são independentes  pois compartilham uma única UC.

19 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Multiprocessadores 1. É composto de vários processadores independentes 2. Compartilham  uma mesma memória por um barramento principal (veja figura 3.6(a) ou compartilham uma memória e tem memórias locais (vej a figura 3.6(b). a. executam processamentos locais. b. liberam trafego do barramento principal c. é necessário gerenciar conflitos

20 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Figura 3.6: (a) Multiprocessador organizado em torno de um único barramento. (b) Multicomputador com memórias locais. 

21 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Figura 3.7: (a) Sistema multiprocessador com 16 processadores compartilhando uma única memória. (b) Imagem dividida em 16 seções, cada uma delas sendo analisada por um processador diferente.

22 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Multicomputadores 1. Sistemas com um grande número de computadores interconectados. 2. Não existe nenhum tipo de memória comum sendo compartilhada. 3. Comunicação entre computadores é feita através de troca de mensagens a uma velocidade bem alta. 4. Computador não precisa estar ligado diretamente com todos os outros (uso de topologias em árvore, anéis, etc..)

23 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Figura 3.8: (a) Sistema multicomputador com 16 processadores, cada qual com a sua própria memória. (b) O mapa de bits da Figura 3 dividido entre as 16 memórias do sistema. Figura 4: (a) Sistema multicomputador com 16 processadores, cada qual com a sua própria memória. (b) O mapa de bits da Figura 3 dividido entre as 16 memórias do sistema.

24 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
IMPORTANTE: 1. Programar um multicomputador é muito mais difícil do que programar um multiprocessador. 2. Multicomputadores de grande porte são muito mais simples de serem construídos, e muito mais baratos do que multiprocessadores com o mesmo número de processadores. Por exemplo: É difícil implementar compartilhamento de memória para centenas de processadores e, não é muito complicado construir multicomputadores com processadores.

25 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
3. Buscar uma solução híbrida: Combinação dos pontos fortes de cada arquitetura, ou seja, Busca de computadores fáceis de construir e de programar. A Figura 3.9 mostra algumas soluções que podem ser usadas para implementação de memória compartilhada em diferentes níveis da máquina.

26 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
Figura 3.9: As diversas camadas nas quais a memória compartilhada pode ser implementada. (a) hardware. (b) O sistema operacional. (c) O ambiente de execução da linguagem.

27 ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador)
LIÇÕES APRENDIDAS COM PIPELINES: Pipeline não reduz a latência de uma única tarefa, ajuda no throughput de todo o trabalho; A taxa de pipeline é determinada pelo estágio mais lento. Tarefas múltiplas ocorrem de forma simultânea. Aceleração potencial (Speedup) = número de estágios do pipe. Comprimentos desbalanceados de estágios reduzem speedup. Tempo para ”preencher” o pipeline e para drená-lo reduzem speedup.

28 VANTAGENS E INCONVENIENTES
ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador) VANTAGENS E INCONVENIENTES VANTAGENS: Reduz o tempo médio de execução de programas. Reduz o CPI (Clocks por istrução). Reduz a duração do ciclo de clock. Acelera o processamento sem mudar a forma de programação.

29 VANTAGENS E INCONVENIENTES
ORGANIZAÇÃO DE COMPUTADORES MÓDULO II (Paralelismo ao Nível do Processador) VANTAGENS E INCONVENIENTES INCONVENIENTES: Estágios, em geral, não podem ser totalmente balanceados. Implementação complexa, acrescenta custos (hardware, tempo). Para ser implementado, conjunto de instruções deve ser simples. CONCLUSÃO: Pipelines são difíceis de implementar, fáceis de usar.

30 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III - INTRODUÇÃO
A MEMÓRIA: É a parte, no computador, onde os programas e dados são armazenados para processamento. A informação permanece na memória - principal – enquanto for necesssária para seu emprego pela CPU. O armazenamento é feito em forma de dígitos binários (bits). Quem controla a sua utilização é o Sistema Operacional

31 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
ESTRUTURA DA MEMÓRIA PRINCIPAL – CÉLULAS E ENDEREÇOS A memória precisa ter uma organização que permita ao computador guardar e recuperar as informações quando necessário. É preciso ter um mecanismo que registre exatamente onde a informação foi armazenada, para que a mesma possa ser recuperada. CÉLULA 1. É a unidade de armazenamento do computador. A memória principal é organizada em células. 2. É a menor unidade da memória que pode ser endereçada (Não é possível buscar uma “parte” da célula) e tem um tamanho fixo (para cada máquina ). 3. As memórias são compostas por um determinado número de células e cada uma é composta por um determinado número de bits. 4. Todas as acélulas de um computador têm o mesmo tamanho, ou seja, todas têm o mesmo número de bits .

32 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
CÉLULA 5. Cada célula é identificada por um endereço único, pelo qual é referenciada pelo sistema e pelos programas. São enumeradas sequencialmente, de 0 a (N – 1). 6. Unidade de transferência é a quantidade de bits que é transferida da memória em uma operação de leitura ou transferida para a memória em uma única operação de escrita. 7. O tamanho da célula poderia ser igual ao tamanho da palavra, e também à unidade de transferência. Porém, por razões técnicas e de custo, são frequentemente diferentes. 8. Uma célula não significa o mesmo que uma palavra; uma célula não contém, necessariamente uma palavra.

33 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
PALAVRA: É a unidade de processamento da CPU. Deve representar um dado ou uma instrução, que poderia ser processada, armazenada ou transferida em uma única operação. A estrutura da memória principal é um problema do projeto do hardware: Mais endereços com células menores ou -Menos endereços com células maiores.

34 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ORDENAÇÃO DOS BYTES
    Existem, basicamente, 2 formas de organização dos bytes em uma palavra de memória     Ordenação Big endian bytes são numerados da esquerda para a ireita  0,1,2,..., n-1 usadas por sistemas Unix (arquiteturas SPARC, IBM Mainframe) ver exemplo na figura 4..1(a) para palavra de 4 bytes (32 bits)  exemplo numérico com 2 bytes: 0208H =

35 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
A organizaçao da memória depende do número de bytes por palavra. Veja a figura abaixo: Figura 1: 3 maneiras de organizar uma memória de 96 bits Figura 4: 3 maneiras de organizar uma memória de 96 bits

36 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
Ordenação Little endian bytes são numerados da direita para esquerda n-1, ...,2,1,0 Usado por IBM PCs (arquiteturas INTEL) Ver exemplo na figura 4.1(b) para palavra de 4 bytes exemplo numérico com 2 bytes: 0208H =

37 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
Fig 4.1: (a) Memória big endian ; (b) memória little endian

38 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
Figura 4.2: (a) Registro de determinado funcionário em uma máquina Big endian; (b) O mesmo registro em uma máquina little endian; (c) Resultado da transferência da máquina Big endian para a máquina little endian; (d) O resultado da troca de bytes de ©.

39 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
  Problemas causados pela falta de padronização do armazenamento em memória: interpretação de instruções e dados em redes softwares que rodam em várias plataformas devem tratar essas diferenças (swapp de memoria) uso de plataformas de palavras de diferentes tamanhos     Importante: A solução para o problema acima não é trivial, em geral se baseia em inversão dos bytes. Isto funciona para valores numéricos mas não para cadeias de caracteres, como mostra a figura 3.

40 ORGANIZAÇÃO DE COMPUTADORES UNIDADE III – ENDEREÇOS DE MEMÓRIA
CAPACIDADE DA MEMÓRIA PRINCIPAL A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula. T = N x M T = capacidade da memória em bits N = nº de endereços ( como vimos anteriormente, N=2x sendo x = nº de bits do endereço) M = nº de bits de cada célula Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e depois multiplicar por 8 (cada byte contém 8 bits) ou então converter o tamanho da célula para bytes e depois multiplicar pelo número de células. O último endereço na memória é o endereço N-1 ( os endereços começam em zero e vão até N-1).


Carregar ppt "UNIP - UNIVERSIDADE PAULISTA"
Anúncios Google