Rodolfo Jardim de Azevedo

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Arquitetura de Computadores
Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
Operadores e Funções do LINGO
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Projecto de Hardware com FPGAs
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
Pontifícia Universidade Católica do Rio Grande do Sul
Excel Profa. Cristina M. Nunes.
Exemplo de arquitetura registrador-registrador- MIPS
Arquitetura de Sistemas Operacionais
Introdução à Informática
Administrando usuários 1 Controle de contas de usuários 1.
Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita.
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
VHDL (outros tópicos) MO801/MC912.
Processador Intel Itanium
MC542 Organização de Computadores Teoria e Prática
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Altera NIOS II: uma breve introdução
Altera Excalibur Galileu Batista.
Maria Aparecida Castro Livi
Maria Aparecida Castro Livi
Mateus Beck Rutzig Picojava Processors Mateus Beck Rutzig
VHDL arquitetura ramses
Microcontroladores e Sistemas Embarcados
FLI – ModelSim Pedro Velho.
Estudo de Caso 1: UNIX e LINUX
Sistemas Operacionais
Componentes do Computador e noções de Arquitetura de Computadores
SUPERVISÃO E CONTROLE OPERACIONAL DE SISTEMAS
Autor: Fernando de Mesentier Silva
Tratamento de Ficheiros
Revisão da Linguagem C.
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Módulo Financeiro Centro de Custo.
Calculada a solução óptima
Sistemas Operacionais
Introdução à Programação
Prof. André Leon S. Gradvohl, Dr.
PIC16F877A Linguagem C e Assembly
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
Antonyus Pyetro Infra-estrutura de Hardware – IF674
Unidade Central de Processamento
Unidade Central de Processamento
Funcionamento básico de um computador
Dispositivos Lógicos Programáveis (DLP) Ideia e Arquiteturas
Placa de prototipação H.O.T. II
Usando ChipScope Alexandre Amory
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Sistemas Operacionais
Família Intel P5 e P6 P5 P6 NetBurst Incluindo cache L2.
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Sistemas Operacionais
Sistemas Operacionais I
EXERCÍCIOS PARA GUARDA-REDES
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Leon2 MO801/MC912. Características Básicas Processador RISC Padrão SPARC V8 (IEEE-1754) Palavra de 32 bits Descrição em VHDL-87 Barramento AMBA (AHB e.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Arquitetura de Computadores Memória - 2 Waldemiro Arruda.
Rio Verde - Goiás - Brasil
Memória Principal.
CONPROVE INDÚSTRIA & COMÉRCIO SIMULADOR IEC - GOOSE GOOSE Simulator.
Planilha Eletrônica - Excel
Lógica Programável PTC2527 – EPUSP Guido Stolfi.
Projetos Grandes MO801/MC912. Roteiro Componentes Configurações Instanciação múltipla Instanciação condicional Atenção: Os exemplos são cumulativos.
Parte 3 Seção de Dados e Unidade de Controle
Transcrição da apresentação:

Rodolfo Jardim de Azevedo O Processador Leon Rodolfo Jardim de Azevedo

Roteiro Características Básicas Configuração Síntese Simulação Demonstração

Características Básicas Processador RISC Padrão SPARC V8 (IEEE-1754) Palavra de 32 bits Descrição em VHDL-87 Barramento AMBA (AHB e APB) para interligação de periféricos Controlador de memória (SRAM e DRAM)

Configuração do Processador Duas alternativas Interface gráfica make xconfig (Linux) make wconfig (Windows + cygwin) Edição manual dos arquivos device.vhd e target.vhd

Interface Gráfica Interface de configuração similar ao do kernel do Linux

Opções de Síntese

Processador e Cache

Unidade de Inteiros

Configuração Manual target.vhd device.vhd Declara as estruturas de configuração device.vhd Cria a estrutura conf que armazena a configuração do leon A constante tkconfig é gerada automaticamente pela interface gráfica.

Síntese O diretório syn possui scripts de síntese para diversas ferramentas Arquivo para Leonardo: leon.tcl (sem informações sobre tecnologia) read -dont_elaborate ../leon/amba.vhd read -dont_elaborate ../leon/target.vhd read -dont_elaborate ../leon/device.vhd read -dont_elaborate ../leon/config.vhd read -dont_elaborate ../leon/sparcv8.vhd read -dont_elaborate ../leon/iface.vhd read -dont_elaborate ../leon/macro.vhd ... read -dont_elaborate ../leon/mcore.vhd read -dont_elaborate ../leon/leon.vhd elaborate leon -architecture rtl

Síntese (cont.) Informações sobre tecnologia no início do arquivo FPGA Xilinx XCV800 do kit da XESS set part v800hq240 set process 4 set wire_table xcv800-4_wc load_library xcv

Síntese (cont.) read -dont_elaborate ./xsv800.vhd elaborate xsv800 -architecture rtl set xilinx_exec_path /home/lsc/xilinx/bin/sol set edif_write_arrays FALSE # Comandos para contornar incompatibilidades com a Xilinx set register2register 80 set input2register 80 set register2output 80 optimize .work.xsv800.rtl -target xcv -chip -delay -effort quick optimize_timing .work.xsv800.rtl # Output report_area xsv800.area -cell_usage -all_leafs report_delay xsv800.delay -num_paths 1 -critical_paths -clock_frequency auto_write -downto xcv xsv800.edf

Ferramentas da Xilinx Ferramentas de linha de comando: ngdbuild -p xcv800-4-hq240 -uc xsv800.ucf xsv800.edf xsv800.ngd map -p xcv800-4-hq240 -o xsv800.ncd xsv800.ngd xsv800.pcf par -w xsv800.ncd xsv800.ncd xsv800.pcf trce -skew xsv800.ncd xsv800.pcf -o xsv800.twr -xml xsv800.twx bitgen xsv800.ncd -d -w

Simulação Utilizando o ModelSim basta executar o comando make no diretório raiz da distribuição e chamar o simulador Diretórios: tbench: Código VHDL do Test Bench do Leon tsource: Código em C para teste do processador leon: Descrição VHDL do processador

Kit da XESS Utilitários com interface gráfica para Windows e versões de linha de comando para Linux gxsload ou xsload: Transferência de arquivos para a placa através da interface paralela gxsetclk ou xsetclk: Altera a freqüência do clock da placa (entre 10KHz e 100MHz)

Características SPARC Conjunto maior de instruções Mais instruções de salto Instruções para ativar código de condição (cc) Suporte a regiões específicas de memória (ASI – Address Space Identifier) Imediato de 30 bits no CALL Big endian

Formato das Instruções

Instruções (notação) rs1 e rs2 são as origens rd é o registrador destino ADD rs1, rs2, rd rd = rs1 + rs2 Ex.: ADD %i3, %i4, %o0 ADD rs1, 100, rd rd = rs1 + 100 Ex.: ADD %i3, 100, %o0

Registradores Banco de Registradores organizado em janelas r[0]..r[7] (global) CWP + 1 r[24]..r[31] (in) r[16]..r[23] (local) r[08]..r[15] (out) CWP Current Window CWP - 1 Restore, RETT SAVE, trap

Registradores (convenções) Uso %i7 = %r31 Endereço de retorno %fp = %i6 = %r30 Frame pointer %i0 = %r24 Primeiro parâmetro de entrada e valor de retorno %o7 = %r15 Endereço do CALL %sp = %o6 = %r14 Stack pointer %o0 = %r8 Primeiro parâmetro de saída e valor retornado %g7, %g6, %g5 Reservados %g1 = %r1 Valor temporário %g0 = %r0 0 (zero)

Memória do Leon Intervalo Tamanho Conteúdo Controlador 0x00000000 – 0x1FFFFFFF 512Mb PROM Controlador de Memória 0x20000000 – 0x3FFFFFFF I/O em Memória 0x40000000 – 0x7FFFFFFF 1Gb SRAM e/ou SDRAM 0x80000000 – 0x8FFFFFFF 256Mb Registradores on-chip Barramento APB 0x90000000 – 0x9FFFFFFF Unidade de depuração DSU

Alguns Registradores on-chip Endereço Significado 0x80000000 Memory Configuration Register 1 0x80000004 Memory Configuration Register 2 0x80000008 Memory Configuration Register 3 0x80000010 AHB Status Register 0x80000014 Cache Control Register 0x80000018 Power-down Register 0x800000024 Leon Configuration Register 0x800000040 Timer 1 Counter Register 0x800000044 Timer 1 Reload Register 0x800000048 Timer 1 Control Register 0x800000070 UART 1 Data Register 0x800000074 UART 1 Status Register 0x800000078 UART 1 Control Register 0x80000007C UART 1 Scalar Register

Leon Configuration Register Bit Significado 30 Debug suport unit present 29 SDRAM controller present 28:26 Number of implemented Watchpoints 25 UMAC/SMAC instruction implemented 24:20 Number of register windows – 1 19:17 Log2(instruction cache size) in Kb 16:15 Log2(instruction cache line size) in 32bit words 14:12 Log2(data cache size) in Kb 11:10 Log2(data cache line size) in 32bit words 9 UDIV/SDIV instruction implemented 8 UMUL/SMUL instruction implemented 7 Watchdog present 6 Memory status and failing address register present 5:4 FPU type (00 = none, 01 = Meiko) 3:2 PCI core type (00 = none, 01 = InSilicon, 10 = ESA, 11 = Other) 1:0 Write protection type (00 = none, 01 = standard)