ÁREA: CV ( ) CHSA ( ) ECET ( )



Documentos relacionados
1. NÍVEL CONVENCIONAL DE MÁQUINA

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Máquinas Multiníveis

1 Introdução Motivação

Organização e Arquitetura de Computadores I. de Computadores

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Dispositivos Lógicos Programáveis

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Sistema Operacional Correção - Exercício de Revisão

Informática I. Aula 5. Aula 5-13/05/2006 1

Introdução à Computação

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Introdução à Computação

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquiteturas RISC. (Reduced Instructions Set Computers)

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Figura 1 - O computador


3. Arquitetura Básica do Computador

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

SIS17-Arquitetura de Computadores

NOVA PROPOSTA DE MATRIZ CURRICULAR CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Aula 26: Arquiteturas RISC vs. CISC

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Introdução aos Computadores

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

SISTEMAS OPERACIONAIS

Arquiteturas Multi e Many cores baseadas em redes-em-chip

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

Prof. Esp. Lucas Cruz

REDE DE COMPUTADORES

Hardware de Computadores

Ferramentas para Simulação e Avaliação de Processadores. de Alto Desempenho

REDES DE COMPUTADORES

Introdução à Arquitetura de Computadores

Curso de Educação Profissional Técnica de Nível Médio Subseqüente ao Ensino Médio, na modalidade a distância, para:

REFORÇO DE PROGRAMAÇÃO ESTRUTURADA EM LINGUAGEM C PARA GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Computadores de Programação (MAB353)

Sistemas Embarcados. Introdução aos sistemas embarcados

4 Arquitetura básica de um analisador de elementos de redes

FLUXO DE CAIXA: Módulo BI (Business Intelligence)

Técnicas de Manutenção de Computadores

Motivos para você ter um servidor

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

1 Introduc ao 1.1 Hist orico

1.2) PROJETO DE VIRTUALIZAÇÃO DE COMPUTADORES DE MESA

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção.

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Organização de Computadores

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

RISC X CISC - Pipeline

5 Entrada e Saída de Dados:

Instalações Máquinas Equipamentos Pessoal de produção

Relatório de Pesquisa

Introdução à Arquitetura de Computadores IFES Campus Serra

Organização e Arquitetura de Computadores. Hugo Barros @hugobarros.com.br

Organização e Arquitetura de Computadores I. de Computadores

Arquitetura e Organização de Computadores I

Implantação. Prof. Eduardo H. S. Oliveira

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera

Arquitetura de Computadores. Professor: Vilson Heck Junior

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

PLANO DE ENSINO. Código: Crédito: Pré-requisito: Introdução a Lógica ( ) Carga Horária: 60h Bacharelado em Ciência da Computação

Benchmark Internacional Usabilidade Prefeituras e Boas Práticas de Planejamento e Gestão. Marcelo Barbosa, M.Sc. José Cláudio C.

Sistema de Computação

FUNCIONAMENTO, VANTAGENS E DESVANTAGENS DAS DIVERSAS TECNOLOGIAS

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

Introdução. Software (Parte III)

Edeyson Andrade Gomes

Unidade 13: Paralelismo:

Prof. Daniel Gondim Informática

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Política de Treinamento DME

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Organização de Computadores 1

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Transcrição:

ADAPTAÇÃO E INTEGRAÇÃO DO PROCESSADOR RISCO A UMA ARQUITETURA MULTI-CORE PARA SISTEMAS EMBARCADOS DE PROPOSITO GERAL Laysson Oliveira Luz (Bolsista PIBIC/CNPq), Ivan Saraiva Silva (Orientador, Departamento de Informática e Estatística/UFPI), Thiago R.B. da Silva Soares(Colaborador/UFPI), Ramon Santos Nepomuceno(Colaborador/UFPI) Introdução Observou-se na década passada o aumento da necessidade de integração, velocidade e desempenho de circuitos. Essa necessidade surgiu para atender à explosão da demanda por telefones celulares, computadores pessoais e sistemas de comunicação de alta velocidade, entre outros aparelhos de alta tecnologia. Como consequência, foram desenvolvidos dispositivos com maior funcionalidade, dimensões reduzidas, baixo consumo de energia e um alto nível de integração. Esta resposta, no entanto, resultou em uma maior complexidade dos projetos, dificultando o trabalho dos projetistas e aumentando o tempo necessário para o desenvolvimento de novos produtos. Com a evolução da metodologia Projeto Baseado em Reuso surgiu a metodologia Projeto Baseado em Plataforma (KEUTZER, 2000). Nesta a ideia não é o fornecimento de componentes individuais pré-projetados e pré-validados, mas fornecer um conjunto coeso de componentes de hardware e software que possibilitem o desenvolvimento de produtos para uma aplicação ou conjunto de aplicação. A metodologia de projeto baseado em plataforma se aplica de forma direta ao desenvolvimento de sistemas multiprocessados em chip (MP-SoCs - do inglês, Multiprocessors Systems on Chip). Tais sistemas são constituídos por um conjunto de diferentes núcleos com capacidade de processamento (processadores de propósito geral, núcleos dedicados, DSPs, - do inglês, Digital Signal Processors, Memórias, Subsistema de interconexão, entre outros). Plataformas MP-SoC podem ser homogêneas ou heterogêneas. Plataformas homogêneas são aquelas que são constituídas por um só tipo de núcleo com capacidade de processamento. Plataformas heterogêneas são aquelas constituídas por diferentes processadores. O projeto trabalha com um modelo de core já existente, e bastante didático, conhecido por micro-p3, com arquitetura RISC, isto é, com instruções reduzidas, palavra de 16 bits e uma memória também bastante reduzida. Tendo em vista tais limitações, os alunos buscam aumentar a capacidade do processador introduzindo novas instruções que permitam trabalhar com dados não apenas localmente, em termos de núcleo, como também entre os núcleos de uma rede em chip. Após estes pequenos aprimoramentos no micro-p3, foi desenvolvida a rede administradora da comunicação entre os núcleos, a crossbar, desenvolvida pelo colaborador Ramon Santos Nepomuceno. A crossbar é constituída basicamente por fios que permitem a comunicação de cada processador com todos os outros, o que aumenta as possibilidades da programação de tal plataforma multinucleada, os dados podem ser transmitidos de um núcleo para qualquer outro. Com a transmissão de códigos e instruções entre os núcleos aumenta-se a programabilidade do sistema multiprocessado, garantindo autonomia para todos os cores, descentralizando o processo de execução de um programa.

Tendo em vista a simplicidade do processador utilizado até então, micro-p3( multiciclo, com palavra de endereçamento de 16bits,e com pouco consumo de energia devido a sua composição, fundamentalmente, de sinais e registradores) passamos a trabalhar com um processador de 32bits de endereçamento, com pipeline de 3 fases, com um pico de instrução por ciclo de máquina, processador este chamado RISCO. Figura 1 - Imagem representativa do processador RISCO Fonte: CALMON, Flávio.; Projeto de um Processador RISC 32 bits em VHDL.Universidade de Brasília, Brasília, 2005.

Figura 2 - Esquemático da plataforma multicore composta por cinco processadores RISCO Fonte: Laysson, O.L.,2011, Semana Acadêmica de Computação da UFPI, slides. Metodologia As atividades realizadas inteiramente no Departamento de informática e estatística podem ser resumidas nos tópicos seguintes: Utilização de placas de prototipagem dotadas de FPGA para prototipagem e validação das versões sintetizáveis das plataformas e componentes arquiteturais desenvolvidos; Desenvolvimento de benchmarks, feitos pelos colaboradores Thiago da Silva Soares e Tackyss Mafuta, tanto do domínio das aplicações para sistemas embarcados quanto do domínio das aplicações de propósito geral, para avaliação de desempenho das plataformas; Desenvolvimento de processadores com capacidade de reconfiguração do seu conjunto de instruções, a exemplo dos processadores CRASIS (CASILLO, 2005a) e CABARE (SILVA, 2010a), já desenvolvidos pelo grupo de pesquisa; Para realizar os experimentos é utilizado como dispositivo reprogramável as FPGA s (fieldprogrammable gate array), pois esta consegue integrar uma grande quantidade de lógica em um único circuito integrado, acrescentando maior flexibilidade ao projeto e apresentando um baixo custo de utilização. Como linguagem de descrição de hardware, foi escolhido o VHDL (Very High Speed Integrated Circuit Hardware Discription Language), devido à sua metodologia moderna e eficiente para o desenvolvimento e teste de projetos, permitindo a hierarquização de entidades lógicas. Desta forma, todo o RISCO é escrito em VHDL, compilado e simulado na IDE da Altera

chamada Quartus II, após a verificação das simulações o projeto em VHDL é sintetizado na FPGA. Como método de organização e planejamento do projeto, o professor orientador convoca reuniões periódicas com os alunos para observar o andamento do projeto, o progresso e dificuldades de cada aluno, de modo que tais dificuldades possam ser sanadas o mais rápido possível. Ao término das reuniões cada aluno tem uma nova atividade para realizar, desde aprimoramentos em sua implementação até mesmo desenvolvimento de um novo hardware. Resultados e Discussão As principais contribuições científicas e tecnológicas do projeto estão associadas à disponibilização de uma biblioteca de componentes especificamente desenvolvidos para uso em sistemas multiprocessados em chip. Tais componentes, principalmente os processadores RISCO, incorporarão, entre aspectos inovadores, interfaces com redes em chip, simplificando consideravelmente o desenvolvimento de sistemas multiprocessados em chip. Temos, implementadas, uma plataforma multinucleada baseada em arquitetura micro-p3 e outra baseada em arquitetura RISCO, nas quais foram realizadas experiências de simulação de programas como multiplicação de matrizes, ordenação do conteúdo de vetores, compressão de vetor e o algoritmo de ordenamento merge sort, a fim de comparar os desempenhos de ambos. Além da arquitetura constituída de cinco núcleos temos também uma arquitetura de nove núcleos que fundamentalmente consiste em : um dos núcleos funciona como o master core, que possui uma memória única e se comunica com duas crossbar, desta forma, cada crossbar é constituída por 4 núcleos e entre as mesmas, os núcleos, aos pares, compartilham uma memória de aproximada 1Kb. Uma nova plataforma multinucleada, baseada na arquitetura RISCO, tem como vantagem a capacidade de um só núcleo realizar mais de uma instrução em uma quantidade de ciclos na qual um núcleo Micro-P3 realizaria apenas 1 instrução, por exemplo, se o micro-p3 leva dois ciclos de máquina realizar um load, neste mesmo intervalo de tempo o RISCO conclui a instrução anterior ao load, realiza o load e prepara os operandos da instrução seguinte. Focando a plataforma multinucleada, percebe-se que ainda há muito que ser explorado do processador RISCO. Conclusão O objetivo geral desse projeto pode ser expresso como: "Desenvolver plataformas multiprocessadas em chip (MP-SoC) utilizando bibliotecas de componentes pré-projetados e prévalidados". No entanto, para que o desenvolvimento de plataformas multiprocessadas possa ser conseguido, diversos objetivos específicos precisam ser considerados: Desenvolver uma biblioteca de componentes de hardware e software, em múltiplos níveis de abstração, para o projeto de plataformas multiprocessadas; Desenvolver plataformas virtuais em múltiplos níveis de abstração, incluindo versões sintetizáveis para FPGA; Disponibilizar a biblioteca de componentes de hardware e software através da WEB, bem como as plataformas geradas a partir desta biblioteca; Desenvolver um conjunto de aplicações para as plataformas disponíveis; Uma vez cumpridos os objetivos citados acima, acredita-se que componentes arquiteturais

desenvolvidos possam ser utilizados na composição de plataformas multiprocessadas. Desenvolvimento de plataformas sintetizáveis e desenvolvimentos de aplicações para as plataformas são objetivos alcançados, o projeto agora caminha a passos largos para que as bibliotecas de componentes de hardware e software sejam desenvolvidas e disponibilizadas na WEB. O projeto tem uma ampla área de abrangência, o que implica na necessidade de serem desenvolvidos os mais diversos tipos de aplicações para as plataformas, para que a mesma seja testada ao máximo e somente assim, sejam desenvolvidas versões virtuais em múltiplos níveis de abstração e versões sintetizáveis para FPGA. Portanto, com as plataformas desenvolvidas, inicia-se o trabalho de sintetização das mesmas nas FPGA s, isto é, a prototipagem dos modelos, o projeto caminha para o desenvolvimento das bibliotecas de componentes de hardware e software, em múltiplos níveis de abstração, para que em seguida sejam disponibilizadas através da WEB juntamente com as plataformas virtuais. Apoio: Thiago R.B. da Silva Soares. Tackyss Takamazina Mafuta. Ramon Santos Nepomuceno. Referências CALMON, Flávio.; Projeto de um Processador RISC 32 bits em VHDL.Universidade de Brasília, Brasília, 2005. SILVA, I. S.; OLIVEIRA, T. F.; COSTA, M.; An Educational NoC-based MP-SoC Reconfigurable Platform Targeted to FPGA Implementation. Proceedings of XVI Orrkshop Iberchip, 2010a, v. 1. p. 211-216. KEUTZER, K.; MALIK, S.; NEWTON, A.R.; RABAEY, J.M.; VINCENTELLI, A. S.; Systemlevel design: orthogonalization of concerns and platform-based design. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2000, pp. 1523-1543. CASILLO, L. A.. Projeto e implementação em FPGA de um processador com conjunto de instrução reconfigurável utilizando VHDL. 2005a. 124 f. Dissertação (Mestrado em Sistemas e Computação) - Universidade Federal do Rio Grande do Norte, Conselho Nacional de Desenvolvimento Científico e Tecnológico. Orientador: Ivan Saraiva Silva. Palavras-chave: microprocessador, arquitetura multiprocessada, multicore, RISCO.