1 / 35

Picojava Processors

Picojava Processors. Mateus Beck Rutzig mbrutzig@inf.ufrgs.br. OUTLINE. JVM – Visão do Hardware Plataforma Picojava PicoJava I PicoJava II Fujitsu Picojava II Referências. OUTLINE. JVM – Visão do Hardware Plataforma Picojava PicoJava I PicoJava II Fujitsu Picojava II Referências.

samara
Download Presentation

Picojava Processors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 - Muita Memória - Lenta • 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 284x80 + 8 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 -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: • 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. 45-53, 1997 • Sun Microsystems. picoJava-II - Java Processor Core Data Sheet. • Fujitsu: picoJava-II Specification disponível por WWW em http://www.fujitsu.com/global/services/microelectronics/product/micom/java/picospec/. • 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)

More Related