NOCs – CMP114 – 2003/I Integração de Sistemas Baseados em Redes Intra- Chip (NOCs) Alexandre de Morais Amory José Carlos SantAnna Palma Leandro Augusto de Oliveira
NOCs – CMP114 – 2003/I Sumário Introdução NoCs Utilizadas no Trabalho Arquitetura do Processador MET2 Processador R8 Integração dos Sistemas Conclusões
NOCs – CMP114 – 2003/I Introdução Nos atuais SoCs os componentes são interconectados através de barramentos Desvantagens: – –Meio físico compartilhado, permitindo somente uma transação de cada vez – –Necessidade de mecanismos de arbitragem – –Escalabilidade limitada – –Restrições de desempenho devido às linhas globais Solução: utilização de uma nova abordagem, baseada em redes de conexão intra-chip, as Networks-on-Chip (NoCs)
NOCs – CMP114 – 2003/I Motivação e Objetivos Motivação: – –Gerar conhecimento na área de Networks-On- Chip, e dar um passo inicial em direção a este novo paradigma de interconexão em sistemas integrados. – –Dar continuidade aos trabalhos desenvolvidos nesta área.
NOCs – CMP114 – 2003/I Motivação e Objetivos (cont.) Objetivos: – –Estudo de modelos de comunicação empregados em NoCs – –Integração de sistemas baseados em NoCs – –Utilização de diferentes processadores (FemtoJava, MET2, R8) – –Projeto e descrição VHDL do processador MET2 – –Aplicações sintéticas para validação dos sistemas
NOCs – CMP114 – 2003/I NoCs Utilizadas no Trabalho
NOCs – CMP114 – 2003/I Comparação Rasoc e Hermes Hermes Rasoc Protocolos Assíncrono Síncrono
NOCs – CMP114 – 2003/I Comparação Rasoc e Hermes Roteamento feito na origem – –Não executa roteamento em função do tráfego – –Difícil de ser modificado Realiza modificações no cabeçalho – –Dificulta implementação de controle de erros (CRC) Transmissão mais rápida (rajada) Menor área Roteamento e topologia de fácil modificação –Adaptativo, xy –Mesh, torus, anel Roteamento realizado durante envio Transmissão mais lenta (flit a flit) Maior área RasocHermes
NOCs – CMP114 – 2003/I Arquitetura do Processador MET2 Processador de teste programável que pode ser usado para gerar padrões pseudo-aleatórios e compactar respostas de teste. Configurável – –Largura do padrão/resposta (LFSR/MISR) – –Largura do PC e contador Programável – –3 instruções para gerar padrões – –3 instruções para compactar respostas – –1 instrução para avaliar assinatura Alto desempenho (um padrão por ciclo) Fácil reuso / sem reprojeto para BIST Flexível geração de tráfego DESVANTAGEM: Área de hardware adicional
NOCs – CMP114 – 2003/I Processador R8 Processador multi-ciclo o qual foi desenvolvido pelo grupo GAPH (PUCRS). Arquitetura load-store Banco de registradores Formato regular para as instruções Poucos modos de endereçamento Bloco de controle hardwired, e não micro-programado Características específicas da versão utilizada no trabalho: – –dados e endereços de 16 bits – –endereçamento de memória a palavra – –banco de registradores com 16 registradores de uso geral. – –CPI entre 3 e 4.
NOCs – CMP114 – 2003/I Integração dos Sistemas Rede Hermes: – –Nodo MET2_Hermes – –Nodo R8_Hermes Rede SoCIN: – –Nodo FemtoJava_SoCIN – –Nodo MET2_SoCIN
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo MET2_Hermes O nodo envia e recebe pacotes com 5 palavras de 16 bits (1 palavra de cabeçalho + 4 padrões de teste) Lógica de cola ponte entre os protocolos do MET2 e do Send/Receive Módulo Send/Receive quebra os pacotes em flits e os envia para o roteador (porta local)
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo R8_Hermes CDI Controlador de Interrupções R8 Mestre do barramento Memória externa de programa e dados Reg. ID Registrador de identificação do nodo Periférico Hermes wrapper + roteador (comunicação com o resto da NoC)
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo R8_Hermes (cont.) Lógica de cola ponte entre os protocolos do barramento e do Send/Receive Buffers de envio e recebimento de dados
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo R8_Hermes (cont.) Endereço do periférico = F1; Escrita no Buffer 3; Dado = 55AA; Operação de escrita sinalizada pela porta bus_io = 1, bus_rw = bus_addr = XX03 (última palavra do pacote); Envio de dados (avSend) do conteúdo do buffer dataSend. 3- Envio de dados pela rede. Sinalização de tx e ack_tx para cada flit.
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo FemtoJava_SoCIN Wrapper dividido em dois módulos um de envio e outro de recebimento de dados
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo FemtoJava_SoCIN
NOCs – CMP114 – 2003/I Proposta de Sistema – Nodo FemtoJava_SoCIN FJ RasocSocin Sistema FJ
NOCs – CMP114 – 2003/I FJ_System Proposta de Sistema – Nodo FemtoJava_SoCIN FJ_core t0t1int_ctrlramrom wrapper rasoc Rasoc
NOCs – CMP114 – 2003/I Proposta de Sistema – Nodo FemtoJava_SoCIN Vantagens – –Simplicidade de implementação de hardware – –Transição simples de barramento para NOCs – –Fácil implementação de software Importante para sistemas complexos (streaming applications) – –Separa comunicação de processamento – –Maior reuso dos núcleos – –Facilita a planta baixa do circuito Desvantagens – –Protocolo implementado em software – –Maior tempo de comunicação
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo MET_SoCIN 1- envio
NOCs – CMP114 – 2003/I Integração dos Sistemas – Nodo MET_SoCIN 1- recebimento
NOCs – CMP114 – 2003/I Agradecimentos Aline e Möller (gaph) Rodrigo Júlio Zeferino
NOCs – CMP114 – 2003/I Contribuições Primeira implementação prática utilizando Rasoc Proposta de sistema que facilite a transição de barramento para NOC – –Facilita implementação de software – –Necessita de wrapper simples Projeto que facilita reuso – –Separação de processamento e comunicação Identificação de problemas de portabilidade do FJ Proposta de fluxo de projeto VHDL que facilite portabilidade Comparação dos roteadores Hermes e Rasoc Projeto e prototipação do processador MET2
NOCs – CMP114 – 2003/I Dificuldades Encontradas Integração de diversos assuntos não dominados pelo grupo: – –Mudança de paradigma bus2NoC – –Redes SoCIN e Hermes – –Processadores MET e FemtoJava – –Sashimi Implementação dos wrappers: – –Compreensão dos protocolos de comunicação dos processadores e das redes. Validação e Integração de cores – –Falta de exemplos de uso do Rasoc Dificuldade de integração e portabilidade do FJ – –Muitos recursos só funcionam no Maxplus2
NOCs – CMP114 – 2003/I Considerações Finais Políticas de reuso e portabilidade dos núcleos são uma necessidade Gerenciamento de projetos grandes (FJ) com várias pessoas não é trivial Necessidade de uma cultura de projeto VHDL que utilize validação funcional com testbenches