Máquinas Multiníveis - Nível da Microarquitetura
Upcoming SlideShare
Loading in...5
×
 

Máquinas Multiníveis - Nível da Microarquitetura

on

  • 10,939 views

Apresentação sobre Microarquitetura, desenvolvida por Lincoln, Lívia, Vinícius e Walter para a aula de Arquitetura e Organização de Computadores, Professor Bessa, Centro de Ensino Superior de ...

Apresentação sobre Microarquitetura, desenvolvida por Lincoln, Lívia, Vinícius e Walter para a aula de Arquitetura e Organização de Computadores, Professor Bessa, Centro de Ensino Superior de Juiz de Fora.

Statistics

Views

Total Views
10,939
Views on SlideShare
10,860
Embed Views
79

Actions

Likes
3
Downloads
244
Comments
0

2 Embeds 79

http://www.slideshare.net 78
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • Lincoln apresenta <br />
  • Lincoln apresenta <br />
  • Vin&#xED;cius apresenta <br />
  • L&#xED;via apresenta <br />
  • L&#xED;via apresenta <br />
  • Walter apresenta - mostrar que &#xE9; exemplo, sem explicar. <br />
  • Walter apresenta - mostrar que &#xE9; exemplo, explicar que s&#xE3;o todas as opera&#xE7;&#xF5;es permitidas. <br />
  • Vin&#xED;cius apresenta <br />
  • Vin&#xED;cius apresenta <br />
  • Vin&#xED;cius apresenta <br />
  • Vin&#xED;cius apresenta <br />
  • Vin&#xED;cius apresenta <br />
  • Vin&#xED;cius apresenta <br />
  • L&#xED;via apresenta - pode ler o slide, ta bem resumido! <br />
  • L&#xED;via apresenta - pode ler o slide, ta bem resumido! <br />
  • L&#xED;via apresenta - pode ler o slide, ta bem resumido! <br />
  • L&#xED;via apresenta - pode ler o slide, ta bem resumido! <br />
  • L&#xED;via apresenta - pode ler o slide, ta bem resumido! <br />
  • L&#xED;via apresenta - pode ler o slide, ta bem resumido! <br />
  • Walter apresenta - leia o slide, s&#xE3;o exemplos! <br />
  • Walter apresenta - leia o slide, s&#xE3;o exemplos! <br />
  • Walter apresenta - leia o slide, s&#xE3;o exemplos! <br />
  • Walter apresenta - leia o slide, s&#xE3;o exemplos! <br />
  • Walter apresenta - leia o slide, s&#xE3;o exemplos! <br />
  • Andrew Stuart Tanenbaum <br /> Edson Sorato <br /> Victor Jachelli <br />
  • Andrew Stuart Tanenbaum <br /> Edson Sorato <br /> Victor Jachelli <br />
  • <br />

Máquinas Multiníveis - Nível da Microarquitetura Máquinas Multiníveis - Nível da Microarquitetura Presentation Transcript

  • Máquinas Multiníveis Nível da microarquitetura
  • 1. Introdução É o nível da linguagem de máquina; Tem como função implementar o nível ISA; A função dos microprogramas é, por meio de suas microinstruções, interpretar e traduzir as instruções que lhe são submetidas pelo ISA; Deve acessar e controlar todos os recursos de hardware como registradores, barramentos, ULAs, memórias, clocks e outros.
  • 1. Introdução 8 a 32 registradores, formando uma memória local e um circuito ULA, que executa operações aritméticas simples; Consiste em selecionar um ou dois registradores, para que a ULA realize operações e armazene o resultado em algum registrador; Nem todas as máquinas possuem este nível, as instruções do nível imediatamente superior são diretamente executadas pelo hardware.
  • 2. Microprograma Função: buscar, examinar e executar instruções uma por uma, usando o caminho de dados para fazê-lo. No caso de uma função ADD (SOME), a instrução seria buscada, seus operandos localizados e trazidos para dentro do registrador, a soma seria calculada pela ALU e, por fim, o resultado seria enviado de volta ao lugar que pertence. Em máquinas com controle incorporado, ocorreriam etapas semelhantes, sem um programa explícito armazenado.
  • 3. Microinstruções Comando que controla o fluxo de dados e o sequenciamento de instruções de execução em um processador; Faz com que o hardware funcione corretamente; É único para cada computador; Compostas apenas por sinais de controle; Executado por um dispositivo chamado sequenciador;
  • 3. Microinstruções Juntamente com os demais circuitos de hardware, compõe a microarquitetura; É geralmente pequeno, em torno de duas a três dezenas, sendo que a maior parte está relacionada à movimentação de dados de uma parte da máquina para outra ou a realização de testes simples. Projetos do tipo horizontal fazem uso de um número relativamente pequeno de microinstruções largas; Já os projetos do tipo vertical, muitas microinstruções estreitas.
  • 4. Notação MAL (Micro Assembly Language): SP = SP+1; rd MDR = SP MD = H + SP MDR = SP + MDR H = H − MDR SP = SP+1; rw SP = SP+1; fetch goto label Z = TOS N = TOS if (Z) goto L1; else goto L2 Z=TOS; if (Z) goto L1; else goto L2 goto (MBR or value) => goto (MBR)
  • 4. Notação
  • 5. Projetos do nível da microarquitetura 5.1 Características conflitantes: Velocidade; Custo; Facilidade de uso; Confiabilidade; Consumo de energia; Tamanho físico.
  • 5. Projetos do nível da microarquitetura 5.2 Velocidade X Custo: Três metodologias básicas para melhorar a velocidade de execução de instruções: 1. Reduzir o número de ciclos de clock; 2. Simplificar a organização da máquina; 3. Sobrepor à execução das instruções.
  • 5. Projetos do nível da microarquitetura 5.2 Velocidade X Custo: O número de ciclos de clock gastos na execução de um conjunto de operações é conhecido como comprimento do caminho; A velocidade é a metade do problema, o custo é a outra metade; Um dos fatores fundamentais para a determinação da velocidade do clock é a quantidade de trabalho a ser executado em cada ciclo de clock.
  • 5. Projetos do nível da microarquitetura 5.3 Redução do comprimento do caminho de execução: 5.3.1 União do loop de interrupção com o microcódigo: A ideia de sobrepor o início da execução de uma instrução com a execução de outra pode ser melhorada; A microinstrução correspondente ao loop principal pode ser deslocado para o final da sequência de microinstruções corrente, com o desvio correspondente a decodificação da instrução replicado por diversos lugares.
  • 5. Projetos do nível da microarquitetura 5.3 Redução do comprimento do caminho de execução: 5.3.2 Unidade para busca de instruções: Se determinada instrução tiver outros campos além do código de operação, cada um dos campos precisa ser explicitamente buscado na memória, 1 byte de cada vez. A busca e montagem do operando ocupam a UAL por, no mínimo, um ciclo de clock por byte, pois há necessidade de incrementar o PC a cada novo byte buscado da memória.
  • 5. Projetos do nível da microarquitetura 5.3 Redução do comprimento do caminho de execução: 5.3.2 Pipeline: Três registradores adicionais (latches), um para cada barramento; São escritos a cada novo ciclo; Eles dividem o caminho de dados em partes distintas e agora podem operar independentemente uma das outras. Objetivos: 1. Aumentar a velocidade do clock; 2. Usar todas as partes do caminho de dados durante cada ciclo.
  • 6. Estudos de performance Quatro estudiosos americanos propuseram uma interface altamente portável para aplicações embarcadas. Uma das principais dificuldades encontradas em um sistema deste tipo é o fato de que a plataforma de hardware é bastante específica e voltada para a aplicação em questão. Uma das estratégias para resolver este problema é o uso de interfaces chamadas de sistema como: POSIX, WIN32 e MOSI. Outras duas são: máquinas virtuais e abstração de hardware.
  • 6. Estudos de performance Máquinas virtuais: oferecem um bom nível de portabilidade mas acarretam um grande overhead de processamento e memória, o que restringe o uso em sistemas embarcados. Abstração de hardware (ECOS, LINUX, WINDOWS): apresentam a tendencia de incorporar características arquiteturais da plataforma na qual foram concebidas, o que limita a portabilidade.
  • 6. Estudos de performance Para obterem o desempenho desejado, utilizaram a programação orientada a aspectos da metaprogramação estática, em um ambiente orientado a objeto. Também foram utilizados mediadores de hardware, o que permitiu que o mesmo sistema executasse em plataformas distintas.
  • 6. Estudos de performance A análise de domínio utilizada pelo grupo permitiu atingir o nível de portabilidade desejado. Diversas variações e semelhanças foram identificadas no domínio de sistemas operacionais para sistemas embarcados. Para garantir a portabilidade, é desejável que essas características sejam configuráveis no sistema operacional, o que faz com que este seja adaptável ao hardware e à aplicação.
  • 6. Estudos de performance A metodologia de AOSD foi utilizado para realizar análise de domínio. O AOSD propõe o uso de diversas técnicas de modelagem e programação para atingir um alto nível de configurabilidade com overhead de processamento e memória mínimo. O resultado desta análise foi um sistema operacional orientado a aplicação chamado EPOS.
  • 6. Estudos de performance Na estrutura apresentada, todas as unidades de hardware dependentes da arquitetura foram abstraídas através de artefatos denominados de mediadores de hardware. Estes mediadores exportam toda a funcionalidade necessária para um n;ivel mais alto do sistema operacional. Essas abstrações correspondem a serviços tradicionais como gerenciamento de memória e processos, comunicação entre processos, etc.
  • 7. Exemplos Subconjunto da JVM: iJVM, apenas instruções com inteiros O microprograma (ROM) busca, decodifica e executa as instruções da IJVM. Cada instrução é uma função a ser chamada pelo programa principal. O programa principal é um loop simples, onde este determina a próxima função chamada, executa a função, determina a próxima função, executa a função, e assim infinitamente. As instruções IJVM são curtas, normalmente de um ou dois campos. O primeiro campo sempre é o OPCODE. O microprograma possui um conjunto de variáveis, acessadas por todas as funções (estados do computador):
  • 7. Exemplos Subconjunto da JVM: iJVM, apenas instruções com inteiros REM (Registrador de Endereços da Memória): porta de endereçamento de memória (32 bits); RDM (Registrador de Dados da Memória): porta de dados da memória (32 bits), faz leitura e escrita na memória; PC (Program Counter): indica a posição de memória (endereço) que contém a próxima instrução a ser executada;
  • 7. Exemplos Subconjunto da JVM: iJVM, apenas instruções com inteiros MBR (Memory Byte Register): porta de dados da memória (8 bits), apenas leitura da memória; SP (Stack Pointer): aponta para o topo da pilha; LV (Local Variable): aponta para a base das variáveis locais dentro da pilha;
  • 7. Exemplos Subconjunto da JVM: iJVM, apenas instruções com inteiros CPP (Constant Pool Pointer): aponta para a base da área de constantes; TOS; OPC; H (Holding Register)
  • 7. Exemplos Diagrama de blocos completos do MIC-1, microarquitetura da máquina utilizada como exemplo.
  • 8. Bibliografia TANENBAUM, Andrew S.. Organização Estruturada de Computadores. 5 ed. São Paulo: Prentice Hall, 2007. SORATO, Edson. Sistemas Operacionais. Disponível em: <http://www.lisha.ufsc.br/teaching/os/ine651600-2008-2/ work/sorato.pdf>. Acesso em: 17 abr. 2010. JACHELLI, Victor. Organização de Computadores. Disponível em: <http://www.info.cefetcampos.br/Members/ victorjachelli/organizacao-de-computadores>. Acesso em: 22 abr. 2010.
  • Perguntas?
  • OBRIGADO!