Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouÍsis Severo Alterado mais de 10 anos atrás
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)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.