Instituto de Computao UNICAMP MO 401 Arquitetura de

  • Slides: 22
Download presentation
Instituto de Computação – UNICAMP MO 401 - Arquitetura de Computadores I Prof. Rodolfo

Instituto de Computação – UNICAMP MO 401 - Arquitetura de Computadores I Prof. Rodolfo Jardim Azevedo Arch. C: Uma linguagem de descrição de arquiteturas Javier Alexander Montoya Zegarra-Farach javier. montoya@ic. unicamp. br 1

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch.

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch. C • Ferramentas de Arch. C • Conclusões • Referências 2

Introdução • Avanços tecnológicos + disponibilidade de bibliotecas IP de HW/SW -> SOC. •

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

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch.

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch. C • Ferramentas de Arch. C • Conclusões • Referências 4

Trabalhos Correlatos • Classificação de ADLs (tipo de informação): • Baseadas em comportamento: n.

Trabalhos Correlatos • Classificação de ADLs (tipo de informação): • Baseadas em comportamento: n. ML, ISDL. • Baseadas em estrutura: MIMOLA. • Híbridas: LISA, EXPRESSION, Arch. C. 5

Trabalhos Correlatos Tabela 1. Comparação entre características de diferentes ADLs [Rigo 2004]. 6

Trabalhos Correlatos Tabela 1. Comparação entre características de diferentes ADLs [Rigo 2004]. 6

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch.

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch. C • Ferramentas de Arch. C • Conclusões • Referências 7

A linguagem de descrição de arquiteturas Arch. C Descrição dos recursos da arquitetura (AC_ARCH)

A linguagem de descrição de arquiteturas Arch. C Descrição dos recursos da arquitetura (AC_ARCH) • Registradores • Memória • Estrutura de pipeline PROC. ac Descrição do conjunto de instruções (AC_ISA) 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 Arch. C [Baldassin 2005 ]. 8

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

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

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

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

Descrição de Comportamentos em Arch. C Execução Genérico Tipo. R Tipo. I Tipo. J

Descrição de Comportamentos em Arch. C Execução Genérico Tipo. R Tipo. I Tipo. J add Figura 4. Hierarquia de Métodos de Comportamento em Arch. C [Rigo 2004]. 11

Descrição de Comportamentos em Arch. C Figura 5. Descrição de comportamento genérico de instruções

Descrição de Comportamentos em Arch. C 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). 12

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch.

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch. C • Ferramentas de Arch. C • Conclusões • Referências 13

Co-verificação baseada em dispositivos de armazenamento Refinamento Descrição Arch. C Verificador Arch. C Descrição

Co-verificação baseada em dispositivos de armazenamento Refinamento Descrição Arch. C Verificador Arch. C Descrição Arch. C System C Modelo de Referência Modelo DUV Figura 7. Metodologia de co-verificação de Arch. C [Azevedo 2005]. 14

Suporte GDB para Simuladores Figura 8. Métodos para manipulação de registradores para suporte GDB

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

Suporte GDB para Simuladores Figura 9. Métodos para manipulação de memória para suporte GDB

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

Emulação do Sistema Operacional Grupo I/O Controle Função Interação com host open x creat

Emulação do Sistema Operacional Grupo I/O Controle Função Interação com host open x creat x close x read x write x Isatty x lseek x fstat x exit x chmod stat getpid kill unlink Tempo times gettimeofday Memória sbrk x 17 Figura 10. Chamadas de S. O correntemente suportadas por Arch. C [Rigo 2004].

O Gerador de Simuladores de Arch. C Figura 11. Fluxo de geração do simulador

O Gerador de Simuladores de Arch. C Figura 11. Fluxo de geração do simulador Arch. C [Rigo 2004]. 18

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch.

Roteiro • Introdução • Trabalhos correlatos • A linguagem de descrição de arquiteturas Arch. C • Ferramentas de Arch. C • Conclusões • Referências 19

Conclusões • Arch. C é baseada em System. C e possibilita a descrição de

Conclusões • Arch. C é baseada em System. C e possibilita a descrição de uma arquitetura em um alto nível de granularidade. • Arch. C 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 Arch. C 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. 20

Referências • Alexandro Baldassin and Paulo Centoducatte. Geração automática de montadores para modelos de

Referências • Alexandro Baldassin and Paulo Centoducatte. Geração automática de montadores para modelos de arquiteturas escritos em archc. In Proceedings of the 9 th Brazilian Symposium on Programming Languages - Recife, Brazil, May 2005. • Sandro Rigo. Arch. C: Uma Linguagem de Descrião de Arquiteturas. Ph. D 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. 21

FIM 22

FIM 22