SlideShare uma empresa Scribd logo
1 de 28
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!

Mais conteúdo relacionado

Mais procurados

Arquiteturas de Computadores - slides
Arquiteturas de Computadores - slidesArquiteturas de Computadores - slides
Arquiteturas de Computadores - slidesGuilherme Ferreira
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Flávia Martins
 
Arquitetura de Von Neumann
Arquitetura de Von NeumannArquitetura de Von Neumann
Arquitetura de Von NeumannWanessa Ribeiro
 
Apostila 6 gerência de memória
Apostila 6   gerência de memóriaApostila 6   gerência de memória
Apostila 6 gerência de memóriaPaulo Fonseca
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computaçãoPAULO Moreira
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Sistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de MemóriaSistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de MemóriaWellington Oliveira
 
von newman e periféricos
von newman e periféricosvon newman e periféricos
von newman e periféricosAdir Kuhn
 
Microprocessador - Historial, Conceitos,Tipos
Microprocessador - Historial, Conceitos,TiposMicroprocessador - Historial, Conceitos,Tipos
Microprocessador - Historial, Conceitos,TiposHenriqueMateusChigum
 

Mais procurados (19)

Introducao aula-i
Introducao aula-iIntroducao aula-i
Introducao aula-i
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Arquitetura 8 2
Arquitetura 8 2Arquitetura 8 2
Arquitetura 8 2
 
Processador mips - pipeline
Processador mips - pipelineProcessador mips - pipeline
Processador mips - pipeline
 
MIPS Pipeline
MIPS Pipeline MIPS Pipeline
MIPS Pipeline
 
G20 arm
G20 armG20 arm
G20 arm
 
Arquiteturas de Computadores - slides
Arquiteturas de Computadores - slidesArquiteturas de Computadores - slides
Arquiteturas de Computadores - slides
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4
 
Arquitetura de Von Neumann
Arquitetura de Von NeumannArquitetura de Von Neumann
Arquitetura de Von Neumann
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 
Redes 6
Redes 6Redes 6
Redes 6
 
Apostila 6 gerência de memória
Apostila 6   gerência de memóriaApostila 6   gerência de memória
Apostila 6 gerência de memória
 
Introdução ao pipeline
Introdução  ao  pipelineIntrodução  ao  pipeline
Introdução ao pipeline
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computação
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Sistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de MemóriaSistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de Memória
 
von newman e periféricos
von newman e periféricosvon newman e periféricos
von newman e periféricos
 
Hierarquia de níveis
Hierarquia de níveisHierarquia de níveis
Hierarquia de níveis
 
Microprocessador - Historial, Conceitos,Tipos
Microprocessador - Historial, Conceitos,TiposMicroprocessador - Historial, Conceitos,Tipos
Microprocessador - Historial, Conceitos,Tipos
 

Destaque (20)

Maquinas multinivel
Maquinas multinivelMaquinas multinivel
Maquinas multinivel
 
Processadores
ProcessadoresProcessadores
Processadores
 
Processadores
ProcessadoresProcessadores
Processadores
 
Operação de computador
Operação de computadorOperação de computador
Operação de computador
 
Informática Agrícola Aula 02 - Introdução a Informática (Histórico - a evoluç...
Informática Agrícola Aula 02 - Introdução a Informática (Histórico - a evoluç...Informática Agrícola Aula 02 - Introdução a Informática (Histórico - a evoluç...
Informática Agrícola Aula 02 - Introdução a Informática (Histórico - a evoluç...
 
Maquinas multinivel
Maquinas multinivelMaquinas multinivel
Maquinas multinivel
 
Introdução ao Processamento Paralelo (1)
Introdução ao Processamento Paralelo (1)Introdução ao Processamento Paralelo (1)
Introdução ao Processamento Paralelo (1)
 
Forense Computacional com Software Livre
Forense Computacional com Software LivreForense Computacional com Software Livre
Forense Computacional com Software Livre
 
Técnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosTécnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivos
 
Processadores
ProcessadoresProcessadores
Processadores
 
Arquitetura 6
Arquitetura 6Arquitetura 6
Arquitetura 6
 
Processadores
ProcessadoresProcessadores
Processadores
 
Evolução dos processadores
Evolução dos processadoresEvolução dos processadores
Evolução dos processadores
 
As memórias
As memóriasAs memórias
As memórias
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Memória EEPROM
Memória EEPROMMemória EEPROM
Memória EEPROM
 
Arquitetura de Computadores
Arquitetura de ComputadoresArquitetura de Computadores
Arquitetura de Computadores
 
Processadores mais utilizados atualmente
Processadores mais utilizados atualmenteProcessadores mais utilizados atualmente
Processadores mais utilizados atualmente
 
Processadores
ProcessadoresProcessadores
Processadores
 
Processadores
Processadores Processadores
Processadores
 

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

A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computadorredesinforma
 
parte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfparte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfAriclenesKinkela
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia J Chaves Silva
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 
Hierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptxHierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptxOsvaldoJooNhabete
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadoresmiroslayer
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadoresTiago
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e softwareMarcelle Guiné
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e softwareMarcelle Guiné
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareCharles Fortes
 

Semelhante a Máquinas Multiníveis - Nível da Microarquitetura (20)

A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
 
Resumo x86
Resumo x86Resumo x86
Resumo x86
 
parte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfparte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdf
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
cpu.pdf
cpu.pdfcpu.pdf
cpu.pdf
 
Hardware
Hardware Hardware
Hardware
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
Arquitetura 8 3
Arquitetura 8 3Arquitetura 8 3
Arquitetura 8 3
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
Hierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptxHierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptx
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
 
aula_04.pdf
aula_04.pdfaula_04.pdf
aula_04.pdf
 
Apostila SO
Apostila SOApostila SO
Apostila SO
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e software
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e software
 
02 so
02 so02 so
02 so
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e Software
 

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

  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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;
  • 6. 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.
  • 7. 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)
  • 9. 5. Projetos do nível da microarquitetura 5.1 Características conflitantes: Velocidade; Custo; Facilidade de uso; Confiabilidade; Consumo de energia; Tamanho físico.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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.
  • 21. 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):
  • 22. 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;
  • 23. 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;
  • 24. 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)
  • 25. 7. Exemplos Diagrama de blocos completos do MIC-1, microarquitetura da máquina utilizada como exemplo.
  • 26. 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.

Notas do Editor

  1. Lincoln apresenta
  2. Lincoln apresenta
  3. Vin&amp;#xED;cius apresenta
  4. L&amp;#xED;via apresenta
  5. L&amp;#xED;via apresenta
  6. Walter apresenta - mostrar que &amp;#xE9; exemplo, sem explicar.
  7. Walter apresenta - mostrar que &amp;#xE9; exemplo, explicar que s&amp;#xE3;o todas as opera&amp;#xE7;&amp;#xF5;es permitidas.
  8. Vin&amp;#xED;cius apresenta
  9. Vin&amp;#xED;cius apresenta
  10. Vin&amp;#xED;cius apresenta
  11. Vin&amp;#xED;cius apresenta
  12. Vin&amp;#xED;cius apresenta
  13. Vin&amp;#xED;cius apresenta
  14. L&amp;#xED;via apresenta - pode ler o slide, ta bem resumido!
  15. L&amp;#xED;via apresenta - pode ler o slide, ta bem resumido!
  16. L&amp;#xED;via apresenta - pode ler o slide, ta bem resumido!
  17. L&amp;#xED;via apresenta - pode ler o slide, ta bem resumido!
  18. L&amp;#xED;via apresenta - pode ler o slide, ta bem resumido!
  19. L&amp;#xED;via apresenta - pode ler o slide, ta bem resumido!
  20. Walter apresenta - leia o slide, s&amp;#xE3;o exemplos!
  21. Walter apresenta - leia o slide, s&amp;#xE3;o exemplos!
  22. Walter apresenta - leia o slide, s&amp;#xE3;o exemplos!
  23. Walter apresenta - leia o slide, s&amp;#xE3;o exemplos!
  24. Walter apresenta - leia o slide, s&amp;#xE3;o exemplos!
  25. Andrew Stuart Tanenbaum Edson Sorato Victor Jachelli
  26. Andrew Stuart Tanenbaum Edson Sorato Victor Jachelli