Title: ArchC: Uma linguagem de descri
1ArchC Uma linguagem de descrição de arquiteturas
Instituto de Computação UNICAMP MO401 -
Arquitetura de Computadores I Prof. Rodolfo
Jardim Azevedo
- Javier Alexander Montoya Zegarra-Farach
- javier.montoya_at_ic.unicamp.br
2Roteiro
- Introdução
- Trabalhos correlatos
- A linguagem de descrição de arquiteturas ArchC
- Ferramentas de ArchC
- Conclusões
- Referências
3Introdução
- Avanços tecnológicos disponibilidade de
bibliotecas IP de HW/SW -gt SOC. - SOC (System-On-Chip)
- Processadores.
- Memórias.
- Circuitos de interfaces de entrada/saida.
- ASICS (Application Specific Integrated Circuits).
- ADLs (Architecture Description Languages)
- Modelagem e validação temprana das arquiteturas
dos SOCs. - Geração automática de ferramentas (compiladores,
simuladores).
4Roteiro
- Introdução
- Trabalhos correlatos
- A linguagem de descrição de arquiteturas ArchC
- Ferramentas de ArchC
- Conclusões
- Referências
5Trabalhos Correlatos
- Classificação de ADLs (tipo de informação)
- Baseadas em comportamento nML, ISDL.
- Baseadas em estrutura MIMOLA.
- Híbridas LISA, EXPRESSION, ArchC.
6Trabalhos Correlatos
Tabela 1. Comparação entre características de
diferentes ADLs Rigo2004.
7Roteiro
- Introdução
- Trabalhos correlatos
- A linguagem de descrição de arquiteturas ArchC
- Ferramentas de ArchC
- Conclusões
- Referências
8A linguagem de descrição de arquiteturas ArchC
Figura 1. Estrutura de uma descrição para uma
arquitetura em ArchC Baldassin2005 .
9AC_ARCH
Figura 2. Declaração de recursos de arquitetura
para MIPS (mips.ac).
10AC_ISA
Figura 3. Declaração ISA para MIPS (mips_isa.ac).
11Descrição de Comportamentos em ArchC
Genérico
Execução
TipoI
TipoJ
TipoR
add
Figura 4. Hierarquia de Métodos de Comportamento
em ArchC Rigo2004.
12Descrição de Comportamentos em ArchC
Figura 5. Descrição de comportamento genérico de
instruções (mips-isa.cpp).
Figura 6. Descrição de comportamento específico
de instruções (mips-isa.cpp).
13Roteiro
- Introdução
- Trabalhos correlatos
- A linguagem de descrição de arquiteturas ArchC
- Ferramentas de ArchC
- Conclusões
- Referências
14Co-verificação baseada em dispositivos de
armazenamento
Refinamento
Verificador ArchC
Figura 7. Metodologia de co-verificação de ArchC
Azevedo2005.
15Suporte GDB para Simuladores
Figura 8. Métodos para manipulação de
registradores para suporte GDB (mips_gdb_funcs.cpp
).
16Suporte GDB para Simuladores
Figura 9. Métodos para manipulação de memória
para suporte GDB (mips_gdb_funcs.cpp).
17Emulação do Sistema Operacional
Grupo Função Interação com host
I/O open x
I/O creat x
I/O close x
I/O read x
I/O write x
I/O Isatty x
I/O lseek x
I/O fstat x
Controle exit x
Controle chmod
Controle stat
Controle getpid
Controle kill
Controle unlink
Tempo time
Tempo times
Tempo gettimeofday
Memória sbrk x
Figura 10.Chamadas de S.O correntemente
suportadas por ArchC Rigo2004.
18O Gerador de Simuladores de ArchC
Figura 11. Fluxo de geração do simulador ArchC
Rigo2004.
19Roteiro
- Introdução
- Trabalhos correlatos
- A linguagem de descrição de arquiteturas ArchC
- Ferramentas de ArchC
- Conclusões
- Referências
20Conclusões
- ArchC é baseada em SystemC e possibilita a
descrição de uma arquitetura em um alto nível de
granularidade. - ArchC gera automaticamente ferramentas de
software (montadores, simuladores e interfaces
de co-verificação) reduzindo o esforço necessário
para verificação da arquitetura modelada. - A linguagem ArchC apresenta uma forma simples de
se representar uma arquitetura até mesmo para
usuários menos experientes. - Uma linguagem de alto nível e ferramentas
auxiliares garantem que um projeto seja
implementado satisfazendo os requisitos.
21Referências
- Alexandro Baldassin and Paulo Centoducatte.
Geração automática de montadores para modelos de
arquiteturas escritos em archc. In Proceedings of
the 9th Brazilian Symposium on Programming
Languages - Recife, Brazil, May 2005. - Sandro Rigo. ArchC Uma Linguagem de Descrião de
Arquiteturas. PhD thesis, Instituto de
Computação, Universidade Estadual de Campinas,
2004. - Rodolfo Azevedo, Sandro Rigo, Marcus Bartholomeu,
Guido Araujo, Cristiano Araujo, and Edna Barros.
The Archc architecture description language and
tools. International Journal of Parallel
Programming, 33(5)453484, October 2005.
22FIM