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

Slides:



Advertisements
Apresentações semelhantes
CPU: Controle e processamento
Advertisements

Arquitetura de Computadores
Arquitetura e organização de computadores.
Organização de computadores Professora Marcela Santos Aula 8 – Conjunto de instruções.
Processadores AMD.
Software Básico Silvio Fernandes
ARQUITETURAS RISC E CISC
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
William Stallings Arquitetura e Organização de Computadores 8a Edição
Arquitetura de Sistemas Operacionais
Processadores risc: sparc – powerpc – arm - mips.
Processador Intel Itanium
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Arquitetura da Máquina Virtual Java
Paralelismo em nível de instrução: Arquiteturas VLIW Grupo 01: Júlia Martinez Perdigueiro ra Tatiane Baggio Borili ra
CISC e RISC.
Altera NIOS II: uma breve introdução
SSC144 Arquitetura de Computadores Introdução
Maria Aparecida Castro Livi
Maria Aparecida Castro Livi
Xtensa LX Processador Configurável Tensilica
ARQUITETURA E ORGANIZAÇÃO DE PROCESSADORES DSP TI (Família C6000)
Introdução à Informática
Mais sobre potência: As novas idéias CMP502 Profs. Luigi e Flávio.
Avaliação de Desempenho e Potência de Mecanismos de Comunicação
Sistemas Operacionais
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Professor: Carlos Roberto da Silva Filho, M. Eng.
Sistemas Digitais Microprocessados
REPRESENTAÇÃO DE INSTRUÇÕES
Estruturas de Controle
UNIDADE DE CONTROLE MICROPROGRAMADA PARA O FEMTOJAVA
1998 Morgan Kaufmann Publishers Ch5B-1 O Processador: Via de Dados e Controle (Parte C: microprogramação)
Componentes do Computador e noções de Arquitetura de Computadores
Sincronização e Comunicação entre Processos
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais I
Introdução à Programação
Prof. Felipe Ferreira de Oliveira
Fundamentos de programação CUDA
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais I
Arquitetura de computadores
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
Projeto de Engenharia de Software e Sistemas
Organização e Arquitetura de Computadores
Conteúdo Processos e threads Partes do processo
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Organização de Computadores
ARQUITETURA DE COMPUTADORES
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Organização e Arquitetura de Computadores
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Microprocesadores x Microcontroladores
Localidade Princípio da localidade è um programa acessa uma
Capítulo 4: Processos.
Tudo sobre o Processador
Arquitetura de Sistemas Embarcados
Parte 3 Seção de Dados e Unidade de Controle
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
Arquitetura de Microcomputadores
Arquitetura de computadores
Arquitetura de Sistemas Operacionais
Introdução ao Processamento Vetorial
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

Mateus Beck Rutzig mbrutzig@inf.ufrgs.br 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

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

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

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

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

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

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

Picojava I – Diagrama de blocos ROM Microcódigo 5

Picojava I e II– Gerenciamento de Pilha 6

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

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

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

Picojava I - Pipeline -Fila de 12 Bytes 10

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

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

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

Picojava I - Pipeline -Escreve resultado na Stack Cache 10

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

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

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

Picojava II – Diagrama de Blocos 13

Picojava II – Pipeline 14

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

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

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

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

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

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

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

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

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

Fujitsu MB86799 – Diagrama de Blocos 17

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)