A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Mateus Beck Rutzig mbrutzig@inf.ufrgs.br Picojava Processors Mateus Beck Rutzig mbrutzig@inf.ufrgs.br.

Apresentações semelhantes


Apresentação em tema: "Mateus Beck Rutzig mbrutzig@inf.ufrgs.br Picojava Processors Mateus Beck Rutzig mbrutzig@inf.ufrgs.br."— Transcrição da apresentação:

1 Mateus Beck Rutzig mbrutzig@inf.ufrgs.br
Picojava Processors Mateus Beck Rutzig

2 OUTLINE JVM – Visão do Hardware Plataforma Picojava PicoJava I
PicoJava II Fujitsu Picojava II Referências

3 OUTLINE JVM – Visão do Hardware Plataforma Picojava PicoJava I
PicoJava II Fujitsu Picojava II Referências

4 Visão do Hardware - Execução
Interpretada Just In Time Execução Nativa - Lenta - Muita Memória Rápida Pouca Memória 1

5 OUTLINE JVM – Visão do Hardware Plataforma Picojava PicoJava I
PicoJava II Fujitsu Picojava II Referências

6 Plataforma Picojava - Mercado
Digital set-top boxes Internet TVs Automotive communication devices GPS (Global Positioning Systems) Network Computers Concorrentes: ARM, MIPS e McCore (Motorola) 2

7 Plataforma Picojava 226 opcodes de tamanhos variando entre 1 e 3 Bytes. 32 bits de tamanho de palavra. Entrada e Saída mapeada em memória Cache Configurável: Instruções => Mapeada Diretamente,16 bytes por linha, Tamanho 0,1,2,4,8,16 KB. Dados => Associativa 2 por conjunto, write back, 16 bytes por linha, Tamanho 0,1,2,4,8,16KB. 3

8 OUTLINE JVM – Visão do Hardware Plataforma Picojava PicoJava I
PicoJava II Fujitsu Picojava II Referências

9 Picojava I – Características
Primeiro processador Java para Sistemas Embarcados. Segue os padrões de lógica da JVM: estruturas de pilha. Suporta todo o conjunto de instruções Java. Somente instruções mais comuns são implementadas em hardware (Adição, Subtração...). Instruções com multiciclos (Invocação de métodos...) são executadas através de microcódigo (ROM 284x registradores ). Instruções raramente encontradas no código e ainda mais complexas (Criação de Objetos...) são emuladas, ou seja, S.O. executa uma rotina de software após uma ativação de uma Trap. 4

10 Picojava I – Diagrama de blocos
ROM Microcódigo 5

11 Picojava I e II– Gerenciamento de Pilha
6

12 Picojava I e II – Gerenciamento de Pilha
Técnica de Dribbling 7

13 Picojava I e II– Gerenciamento de Pilha
Técnica de Folding Variáveis Locais 8

14 Picojava I e II– Gerenciamento de Pilha
Técnica de Folding Picojava I Detecta somente load seguido de instrução de uso do mesmo. Picojava II Utiliza 6 diferentes grupos de folding de instruções. Classifica instruções : Produtoras Consumidoras Operadoras 9

15 Picojava I - Pipeline -Fila de 12 Bytes 10

16 Picojava I - Pipeline -Fila de 12 Bytes -Busca 4 Bytes/ciclo 10

17 Picojava I - Pipeline - Até 5 Bytes - Folding
- Stack Cache (R em picojava II) 10

18 Picojava I - Pipeline 10 - Um ou mais ciclos
- Acesso a Cache de dados (C em picojava II) 10

19 Picojava I - Pipeline -Escreve resultado na Stack Cache 10

20 Picojava I – Curiosidades
Não possui Branch Prediction, desvios são considerados FALSOS => Pipeline Curto. Suporte a monitores => objetos compartilhados por threads. Garbage Collector => desalocação automática de objetos da memória. 11

21 OUTLINE JVM – Visão do Hardware Plataforma Picojava PicoJava I
PicoJava II Fujitsu Picojava II Referências

22 Picojava II – Características
Herda diversas características do Picojava I. Possui um mecanismo de folding mais avançado. Sun Microsystems classificou-o como IP (Intelectual Property) Descrição RTL (Verilog) e documentação aberta para licenciamento. IBM, Fujitsu e LG licenciaram a tecnologia. 12

23 Picojava II – Diagrama de Blocos
13

24 Picojava II – Pipeline 14

25 Picojava II – Pipeline -Fila de 16 Bytes -Busca 8 Bytes/ciclo
-Repassa 7 Bytes/ciclo 14

26 Picojava II – Pipeline Folding Máximo 4 instruções -Decodifica 14

27 Picojava II – Pipeline -Busca de operandos (Stack Cache)
-Condições de bypass e misses na Stack Cache 14

28 Picojava II – Pipeline Executa instruções lógicas e aritméticas
Calcula endereço de desvios e R/W na cache -Instruções com mais de um ciclo => Microcódigo 14

29 Picojava II – Pipeline - Acesso à dados na Cache de dados 14

30 Picojava II – Pipeline Resultados são escritos na Stack Cache 14

31 Picojava II – Gerenciamento de energia
Powerdown, Clock and Scan Unit (PCSU) Modo Normal Cache de instruções e dados podem gerar sinais de desligamento. Modo Standby Instrução priv_powerdown => sinal de desligamento para todas as unidades. Saída do modo através de interrupção. Retorno do clock em 4 ciclos. 15

32 OUTLINE JVM – Visão do Hardware Plataforma Picojava PicoJava I
PicoJava II Fujitsu Picojava II Referências

33 Fujitsu MB86799 Cache: Stack Cache: 64 entradas
Instruções : 8 KB Dados : 8 KB Stack Cache: 64 entradas Unidade de Ponto Flutuante Versões: 40 MHZ => Consome 90 mW em 1.7 V 66 MHZ => Consome 260 mW em 2.5 V 16

34 Fujitsu MB86799 – Diagrama de Blocos
17

35 Referências Sun Microsystems. picoJava-II Microarchitecture Guide. Palo Alto: Sun Microsystems, 1999. Sun Microsystems. picoJava-II Microarchitecture. Palo Alto: Sun Microsystems, 1999. J. M. O'Connor, M. Tremblay, picoJava-I: The Java virtual machine in hardware. IEEE Micro, vol. 17, no. 2: pp , 1997 Sun Microsystems. picoJava-II - Java Processor Core Data Sheet. Fujitsu: picoJava-II Specification disponível por WWW em Pilla, M.L. A Microarquitetura picoJava-II . Porto Alegre: PPGC/UFRGS, 1999 (Trabalho Individual). Beck, A.C.S. Uso da Técnica VLIW para Aumento de Performance e Redução do Consumo de Potência em Sistemas Embarcados Baseados em Java. Porto Alegre: PPGC/UFRGS, 2004 (Dissertação de Mestrado)


Carregar ppt "Mateus Beck Rutzig mbrutzig@inf.ufrgs.br Picojava Processors Mateus Beck Rutzig mbrutzig@inf.ufrgs.br."

Apresentações semelhantes


Anúncios Google