Picojava Processors
description
Transcript of Picojava Processors
![Page 2: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/2.jpg)
OUTLINE
JVM – Visão do Hardware
Plataforma Picojava
PicoJava I
PicoJava II
Fujitsu Picojava II
Referências
![Page 3: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/3.jpg)
OUTLINE
JVM – Visão do Hardware
Plataforma Picojava
PicoJava I
PicoJava II
Fujitsu Picojava II
Referências
![Page 4: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/4.jpg)
Visão do Hardware - Execução
Interpretada Just In Time Execução Nativa- Lenta - Muita Memória -Rápida
-Pouca Memória 1
![Page 5: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/5.jpg)
OUTLINE
JVM – Visão do Hardware
Plataforma Picojava
PicoJava I
PicoJava II
Fujitsu Picojava II
Referências
![Page 6: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/6.jpg)
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
![Page 7: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/7.jpg)
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
![Page 8: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/8.jpg)
OUTLINE
JVM – Visão do Hardware
Plataforma Picojava
PicoJava I
PicoJava II
Fujitsu Picojava II
Referências
![Page 9: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/9.jpg)
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
![Page 10: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/10.jpg)
Picojava I – Diagrama de blocos
ROM Microcódigo 5
![Page 11: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/11.jpg)
Picojava I e II– Gerenciamento de Pilha
6
![Page 12: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/12.jpg)
Picojava I e II – Gerenciamento de Pilha
• Técnica de Dribbling
7
![Page 13: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/13.jpg)
Picojava I e II– Gerenciamento de Pilha
• Técnica de Folding
8
Var
iáve
is L
ocai
s
![Page 14: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/14.jpg)
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
![Page 15: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/15.jpg)
Picojava I - Pipeline-Fila de 12 Bytes
10
![Page 16: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/16.jpg)
Picojava I - Pipeline-Fila de 12 Bytes
-Busca 4 Bytes/ciclo
10
![Page 17: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/17.jpg)
Picojava I - Pipeline
- Até 5 Bytes - Folding- Stack Cache (R em picojava II)
10
![Page 18: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/18.jpg)
Picojava I - Pipeline- Um ou mais ciclos
- Acesso a Cache de dados (C em picojava II)
10
![Page 19: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/19.jpg)
Picojava I - Pipeline
-Escreve resultado na Stack Cache
10
![Page 20: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/20.jpg)
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
![Page 21: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/21.jpg)
OUTLINE
JVM – Visão do Hardware
Plataforma Picojava
PicoJava I
PicoJava II
Fujitsu Picojava II
Referências
![Page 22: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/22.jpg)
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
![Page 23: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/23.jpg)
Picojava II – Diagrama de Blocos
13
![Page 24: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/24.jpg)
Picojava II – Pipeline
14
![Page 25: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/25.jpg)
Picojava II – Pipeline
-Fila de 16 Bytes
-Busca 8 Bytes/ciclo
-Repassa 7 Bytes/ciclo
14
![Page 26: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/26.jpg)
Picojava II – Pipeline
-Folding
Máximo 4 instruções
-Decodifica14
![Page 27: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/27.jpg)
Picojava II – Pipeline-Busca de operandos (Stack Cache)
-Condições de bypass e misses na Stack Cache
14
![Page 28: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/28.jpg)
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ódigo14
![Page 29: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/29.jpg)
Picojava II – Pipeline
- Acesso à dados na Cache de dados
14
![Page 30: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/30.jpg)
Picojava II – Pipeline
- Resultados são escritos na Stack Cache
14
![Page 31: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/31.jpg)
Picojava II – Gerenciamento de energia
15
• 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.
![Page 32: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/32.jpg)
OUTLINE
JVM – Visão do Hardware
Plataforma Picojava
PicoJava I
PicoJava II
Fujitsu Picojava II
Referências
![Page 33: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/33.jpg)
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
![Page 34: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/34.jpg)
Fujitsu MB86799 – Diagrama de Blocos
17
![Page 35: Picojava Processors](https://reader033.fdocuments.in/reader033/viewer/2022061605/568146a2550346895db3be6f/html5/thumbnails/35.jpg)
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)