1 archc: uma linguagem de descrição de arquiteturas javier alexander montoya zegarra-farach...

Post on 17-Apr-2015

106 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

ArchC: Uma linguagem de descrição de arquiteturas

Javier Alexander Montoya Zegarra-Farach

javier.montoya@ic.unicamp.br

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

Prof. Rodolfo Jardim AzevedoProf. Rodolfo Jardim Azevedo

2

Roteiro

• Introdução• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC

• Conclusões

• Referências

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).

4

Roteiro

• Introdução

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

ArchC

• Ferramentas de ArchC

• Conclusões

• Referências

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.

6

Trabalhos Correlatos

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

7

Roteiro

• Introdução

• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC

• Conclusões

• Referências

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 ].

9

AC_ARCH

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

10

AC_ISA

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

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

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).

13

Roteiro

• Introdução

• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC• Conclusões

• Referências

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].

15

Suporte GDB para Simuladores

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

16

Suporte GDB para Simuladores

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

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

18

O Gerador de Simuladores de ArchC

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

19

Roteiro

• Introdução

• Trabalhos correlatos

• A linguagem de descrição de arquiteturas ArchC

• Ferramentas de ArchC

• Conclusões• Referências

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.

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.

22

FIM

top related