Nenhum comentário

PULPino: Um processador open source pronto para o IoT

PULPino

Pesquisadores do Laboratório de Sistemas Integrados (Integrated Systems Laboratory - IIS) da ETH Zurich desenvolveram o PULPino, um processador open source ideal para aplicações de baixo consumo de energia, aplicações wearable e de internet das coisas.

Projetos open source e de desenvolvimento colaborativo é uma prática comum no desenvolvimento de software. Embora existam esforços nessa prática em hardware, como o OpenRISC e Opencores, hardware open source ganhou mais atenção no nível de placas eletrônicas. Os exemplos incluem Arduino e Raspberry Pi, que possuem uma enorme gama de placas eletrônicas disponíveis para aquisição. Entretanto, os circuitos integrados presentes nessas placas eletrônicas ainda permanecem proprietários.

O PULPino é um processador open source baseado no projeto PULP (Parallel Ultra Low Power), que o ETH Zurich mantém em parceria com o grupo de sistemas embarcados eficientes em consumo de energia (Energy-efficient Embedded Systems - EEES) da Universidade de Bolonha, na Itália. Os pesquisadores da ETH, liderados pelo Professor Luca Benini, colocaram algumas ideias desenvolvidas no projeto PULP em prática para o desenvolvimento do PULPino e publicaram no domínio público o seu projeto completo. O PULPino pode ser considerado como o irmão mais novo com um conjunto de funcionalidades que o PULP possui.

O core do PULPino, que é comparado a um Cortex-M4 da ARM, possui uma arquitetura de 32 bits RISC-V (desenvolvido originalmente na Universidade de Berkeley – Califórnia) com o valor de instruções por ciclo aproximadamente igual a 1, suporte total ao conjunto de instruções RV32I, instruções compactadas RV32C e suporte parcial para o conjunto de extensão de instruções de multiplicação RV32M.

O core foi desenvolvido para suportar as extensões ISA como: loops de hardware, load e store pós-incremento, unidade de lógica aritmética (ALU) e multiplicação por somas sucessivas (MAC) que aumenta a eficiência do core em aplicações de sinais de baixa potência.

Os periféricos presentes no PULPino são: I2S, I2C, SPI e UART. Os periféricos podem ser acessados externamente a partir de uma interface JTAG e uma interface SPI, que permite carregar a memória RAM previamente com código executável. Na sua versão standalone, o PULPino se inicializa a partir de uma ROM interna de boot e carrega o programa a partir uma flash externa SPI.

O PULPino também suporta a execução de RTOS como o FreeRTOS. Quando o core está em modo idle, o PULPino pode ser colocado em modo de baixo consumo de energia, onde somente uma unidade de evento permanece ativada e todo o restante da plataforma é desativado, consumindo somente o mínimo de energia possível. Uma unidade de tratamento de eventos especial coloca o restante da plataforma em funcionamento quando em evento ou uma interrupção ocorre.

O PULPino é um projeto maduro que foi prototipado em ASIC, chamando de Imperio, na tecnologia UMC 65nm em Janeiro de 2016. A frequência de operação do Imperio é de 400 MHz em 1,2V com consumo de energia de 32,8 mW. O código do PULPino está disponível para simulação RTL bem como para utilização em FPGA. O PULPino é um projeto livre, sem registro, o qual o usuário pode utilizar, modificar, adaptar, adicionar ao seu próprio projeto, e ser utilizado para ensino, pesquisa, projetos e produtos. Os desenvolvedores solicitam que a fonte do código seja citada e, se possível, que os usuários enviem seus feedbacks de pontos positivos e negativos do projeto.

ASIC Imperio usando o Pulpino
ASIC Imperio

Os pesquisadores reconhecem que o PULPino pode ser utilizado em aplicações como smartwatches, sensores para monitorar sinais fisiológicos ou sensores para a internet das coisas. O professor Benini disse que o PULPino também é de interesse para pequenas e médias empresas na Europa que frequentemente não possuem recursos para desenvolver circuitos integrados de aplicação específica (ASICs).

Os custos de desenvolvimento são consideravelmente reduzidos com um projeto open source sem royalties, o que beneficia tanto as pequenas e médias empresas quanto o ETH, disse o Professor Benini.

A toolchain e o compilador para o PULPino, que também serão disponibilizados no formato open source, ainda não estão no domínio público. A previsão para o lançamento é em Maio de 2016.

O código do PULPino está disponível no github.

Para mais informações sobre o PULPino e o PULP visite os seguintes sites:

Referências

Open-Source Processor Core Ready For IoT

Pulp Project

Pulpino: Um processador de código aberto

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » PULPino: Um processador open source pronto para o IoT
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

Menu

WEBINAR
 
Debugging
em Linux embarcado

 

Data: 30/09 às 19:30h - Apoio: Mouser Elecctronics
 
INSCREVA-SE AGORA »



 
close-link