22
1 ArchC: Uma linguagem de descrição de arquiteturas Javier Alexander Montoya Zegarra- Farach [email protected] Instituto de Computação – Instituto de Computação – UNICAMP UNICAMP MO401 - Arquitetura de Computadores I MO401 - Arquitetura de Computadores I Prof. Rodolfo Jardim Azevedo Prof. Rodolfo Jardim Azevedo

ArchC: Uma linguagem de descrição de arquiteturas

Embed Size (px)

DESCRIPTION

Instituto de Computação – UNICAMP MO401 - Arquitetura de Computadores I Prof. Rodolfo Jardim Azevedo. ArchC: Uma linguagem de descrição de arquiteturas. Javier Alexander Montoya Zegarra-Farach [email protected]. Roteiro. Introdução Trabalhos correlatos - PowerPoint PPT Presentation

Citation preview

Page 1: ArchC: Uma linguagem de descrição de arquiteturas

1

ArchC: Uma linguagem de descrição de arquiteturas

Javier Alexander Montoya Zegarra-Farach

[email protected]

Instituto de Computação – UNICAMPInstituto de Computação – UNICAMPMO401 - Arquitetura de Computadores IMO401 - Arquitetura de Computadores I

Prof. Rodolfo Jardim AzevedoProf. Rodolfo Jardim Azevedo

Page 2: ArchC: Uma linguagem de descrição de arquiteturas

2

Roteiro

• Introdução• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC

• Conclusões

• Referências

Page 3: ArchC: Uma linguagem de descrição de arquiteturas

3

Introdução• Avanços tecnológicos + disponibilidade de bibliotecas IP de

HW/SW -> 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).

Page 4: ArchC: Uma linguagem de descrição de arquiteturas

4

Roteiro

• Introdução

• Trabalhos correlatos• A linguagem de descrição de arquiteturas

ArchC

• Ferramentas de ArchC

• Conclusões

• Referências

Page 5: ArchC: Uma linguagem de descrição de arquiteturas

5

Trabalhos Correlatos

• Classificação de ADLs (tipo de informação):

• Baseadas em comportamento: nML, ISDL.

• Baseadas em estrutura: MIMOLA.

• Híbridas: LISA, EXPRESSION, ArchC.

Page 6: ArchC: Uma linguagem de descrição de arquiteturas

6

Trabalhos Correlatos

Tabela 1. Comparação entre características de diferentes ADLs [Rigo2004].

Page 7: ArchC: Uma linguagem de descrição de arquiteturas

7

Roteiro

• Introdução

• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC

• Conclusões

• Referências

Page 8: ArchC: Uma linguagem de descrição de arquiteturas

8

Descrição ArchC

Descrição do conjunto de instruções (AC_ISA)

Descrição dos recursos da arquitetura (AC_ARCH)

A linguagem de descrição de arquiteturas ArchC

•Registradores

•Memória

•Estrutura de pipelinePROC.ac

Descrição do formato, tipo e decodificação das instruções

PROC_isa.ac

Descrição do comportamento das instruções

PROC-isa.cpp

Figura 1. Estrutura de uma descrição para uma arquitetura em ArchC [Baldassin2005 ].

Page 9: ArchC: Uma linguagem de descrição de arquiteturas

9

AC_ARCH

Figura 2. Declaração de recursos de arquitetura para MIPS (mips.ac).

Page 10: ArchC: Uma linguagem de descrição de arquiteturas

10

AC_ISA

Figura 3. Declaração ISA para MIPS (mips_isa.ac).

Page 11: ArchC: Uma linguagem de descrição de arquiteturas

11

Descrição de Comportamentos em ArchC

Figura 4. Hierarquia de Métodos de Comportamento em ArchC [Rigo2004].

Exe

cuçã

o

Genérico

TipoI TipoJTipoR

add

Page 12: ArchC: Uma linguagem de descrição de arquiteturas

12Figura 6. Descrição de comportamento específico de instruções (mips-isa.cpp).

Descrição de Comportamentos em ArchC

Figura 5. Descrição de comportamento genérico de instruções (mips-isa.cpp).

Page 13: ArchC: Uma linguagem de descrição de arquiteturas

13

Roteiro

• Introdução

• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC• Conclusões

• Referências

Page 14: ArchC: Uma linguagem de descrição de arquiteturas

14

Co-verificação baseada em dispositivos de armazenamento

Descrição

ArchC

System C

Modelo de Referência

Descrição

ArchC

System C

Modelo DUV

Verificador ArchC

Refinamento

Figura 7. Metodologia de co-verificação de ArchC [Azevedo2005].

Page 15: ArchC: Uma linguagem de descrição de arquiteturas

15

Suporte GDB para Simuladores

Figura 8. Métodos para manipulação de registradores para suporte GDB (mips_gdb_funcs.cpp).

Page 16: ArchC: Uma linguagem de descrição de arquiteturas

16

Suporte GDB para Simuladores

Figura 9. Métodos para manipulação de memória para suporte GDB (mips_gdb_funcs.cpp).

Page 17: ArchC: Uma linguagem de descrição de arquiteturas

17

Emulação do Sistema Operacional

Figura 10.Chamadas de S.O correntemente suportadas por ArchC [Rigo2004].

Grupo Função Interação com host

I/O

open x

creat x

close x

read x

write x

Isatty x

lseek x

fstat x

Controle

exit x

chmod

stat

getpid

kill

unlink

Tempo time

times

gettimeofday

Memória sbrk x

Page 18: ArchC: Uma linguagem de descrição de arquiteturas

18

O Gerador de Simuladores de ArchC

Figura 11. Fluxo de geração do simulador ArchC [Rigo2004].

Page 19: ArchC: Uma linguagem de descrição de arquiteturas

19

Roteiro

• Introdução

• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC

• Conclusões• Referências

Page 20: ArchC: Uma linguagem de descrição de arquiteturas

20

Conclusõ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.

Page 21: ArchC: Uma linguagem de descrição de arquiteturas

21

Referê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):453–484, October 2005.

Page 22: ArchC: Uma linguagem de descrição de arquiteturas

22

FIM