1 / 35

Ney Calazans

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática (FACIN-PUCRS). Introdução a Organização de Computadores Parte 2 – Uma Re-Introdução a Sistemas Digitais (com VHDL). Ney Calazans. Última alteração: 23/09/2011. Org_Comp. Sumário. 1 - Sistemas Digitais

nelson
Download Presentation

Ney Calazans

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática (FACIN-PUCRS) Introdução a Organização de Computadores Parte 2 – Uma Re-Introdução a Sistemas Digitais (com VHDL) Ney Calazans Última alteração: 23/09/2011

  2. Org_Comp Sumário 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3 - SDs Combinacionais e Sequenciais 4 - Taxonomia de SDs 5 - O Processo de Projeto de SDs 6 - Componentes Digitais Importantes em Organização de Computadores

  3. Entradas Saídas Î S(1) C(K+1) Î E(1) C(1) Î S(2) C(K+2) Î E(2) C(2) S(3) Î C(K+3) Sistema Digital Processamento Numérico de Informação E(K-2) Î C(K-2) Î E(K-1) C(K-1) S(L-1) Î C(K+L-1) Î E(K) C(K) Î S(L) C(K+L) 1 - Sistemas Digitais – Definição Estrutural Sistema Digital – Um Aparato dotado de conjuntos finitos de entradas e saídas e capaz de processar informação representada sob forma numérica. Em francês, systèmes numériques!

  4. Org_Comp Sumário 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3 - SDs Combinacionais e Sequenciais 4 - Taxonomia de SDs 5 - O Processo de Projeto de SDs 6 - Componentes Digitais Importantes em Organização de Computadores

  5. Engenharia de Sistemas Digitais VLSI Métodos de Fabricação Auxiliada por Computador Ciência da Computação Física de Semicondutores Sistemas VLSI Matemática Aplicada Métodos de Projeto Auxiliado por Computador Métodos de Modelagem de Processos Físicos 2 - Projeto e Fabricação de Sistemas Digitais • Três ramos do conhecimento científico envolvidos: • Ciência da Computação • Física de Semicondutores • Matemática Aplicada

  6. 2 - Projeto e Fabricação de SDs VLSI • Projeto de SDs - método p/ desenvolver plano de um SD  manufatura automática • Estilo de Projeto - conjunto de métodos • Base da tecnologia atual - processos planares de fabricação • CI VLSI moderno - pastilha de 1cm2 de lado, espessura < 1mm, mais 109 dispositivos • Parâmetro de base - “min-feature-size”: em 96 - 0,25µm/ em 98 - 0,18µm e 0,12µm; hoje 0,028µm ou 28nm!! • Um fio de cabelo = ~70mm de diâmetro, oco. É possível passar 19,6 milhões de fios da tecnologia 28nm por dentro de um único fio de cabelo!!

  7. 2 - Processos Planares de Fabricação “silicon wafer” ou “bolacha de silício” chip circuitos de teste

  8. 2 - Um Exemplo de Circuito Integrado As zonas em azul claro e escuro representam duas camadas de metal (no caso, fios de alumínio) CPU da HP (1987) 80.000 transistores

  9. 2 - Um Microprocessador – Pentium-Pro

  10. 1 - Motivação Estado da Arte em Processadores – exemplo de chip de pesquisa da Intel

  11. 2 - Projeto e Fabricação de SDs – a lei de Moore • “A densidade de Circuitos Integrados dobra a intervalos regulares de 18 meses” • Gordon E. Moore, (1965)

  12. Org_Comp Sumário 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3 - SDs Combinacionais e Sequenciais 4 - Taxonomia de SDs 5 - O Processo de Projeto de SDs 6 - Componentes Digitais Importantes em Organização de Computadores

  13. A B A^B A 0 0 0 A^B 0 1 0 B 1 0 0 1 1 1 3 - SDs Combinacionais e Sequenciais • SD Combinacional - comportamento de cada saída descrito como função exclusivamente dos valores instântaneos das entradas

  14. Oscilador em Anel 1 bit de RAM Captura de Zeros 3 - SDs Combinacionais e Sequenciais • SD Seqüencial - qualquer SD que não possa, em geral atender à definição de SD combinacional

  15. Contra-exemplo: circuito com realimentação, contudo combinacional 3 - Armazenamento de Informação e Estado • Em geral, laço de realimentação implica armazenar informação, e conceito de estado Estado - excluindo realimentações redundantes, cada configuração distinta de valores destas

  16. 3 - SDs Combinacionais e Sequenciais • Definição de tipos de SDs baseada em estados • Todo SD é um SD seqüencial • SD combinacional - possui apenas 1 estado • SD estritamente seqüencial - sob mesmas condições, possui mais de um estado

  17. Org_Comp Sumário 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3 - SDs Combinacionais e Sequenciais 4 - Taxonomia de SDs 5 - O Processo de Projeto de SDs 6 - Componentes Digitais Importantes em Organização de Computadores

  18. 4 - Taxonomia de SDs • Fundamental - escolha de critérios de classificação adequados • Ortogonalidade - meta da escolha de critérios • Critérios - podem depender de diversas características físicas, de uso, de construção, de custo, etc. • Critérios: personalizabilidade, programabilidade, retenção da personalização, complexidade, forma de produção, relação entradas/saídas, pressupostos de sincronismo, etc.

  19. flexibilidade Uma Classificação de CIs baseada em quatro critérios

  20. 4 - Circuitos FPGA Blocos com função lógica programável Linhas de conexão Canal

  21. Org_Comp Sumário 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3 - SDs Combinacionais e Sequenciais 4 - Taxonomia de SDs 5 - O Processo de Projeto de SDs 6 - Componentes Digitais Importantes em Organização de Computadores

  22. 5 - O Processo de Projeto de SDs • Processo de Projeto - descrição inicial (especificação)  descrição final (projeto final ou detalhado) • Diferença entre especificação e projeto final - quantidade de informação • Informação no projeto final permite fabricar automaticamente (ou quase) o SD • Problema - controlar a complexidade de projeto VLSI!

  23. 5 - Níveis de Abstração de Projeto

  24. 5 - O Processo de Projeto de SDs • Problema derivado - complexidade impede passagem direta especificação projeto final; • Solução - decomposição hierárquica do processo de projeto, continuum de descrições; • Complexidade requer organização da hierarquia de descrições - modelos para representar o processo de projeto.

  25. ... Extração Síntese . Validação Nível de Abstração i Otimização Extração Síntese Validação Nível de Abstração i+1 Otimização Síntese Extração ... 5 - Modelo de Suzim • Suzim propõe modelo unidimensional • Critério: nível de abstração • Nível de abstração = quantidade de informação Transformação entre níveis (aresta) = ferramenta de projeto Nível de abstração (vértices) = conjunto de descrições

  26. Domínio Estrutural Domínio Comportamental Sistêmico Arquitetural Processadores, Memórias, Barramentos Processos Comunicantes, Algoritmos Lógico Registradores, ULAs, Muxs, Decods HDLs, Transferência entre Registradores Portas Lógicas, Biestáveis Expressões Booleanas, Tabelas de Transição Elétrico Transistores, Lineares Funções de Transferência, Equações Diferenciais "Layout" de Transistores e Lineares Planta Baixa de Células Lógicas Planta Baixa de Blocos de CIs Placas, Módulos Multi-chip Domínio Físico 5 - Modelo de Gajski-Kuhn ou Diagrama Y • Modelo bidimensional • Critérios: nível de abstração e domínio de descrição • Domínio de descrição = tipo de informação Círculo = nível de abstração, eixo = domínio de descrição Intersecção círculo-eixo (vértices) = descrição Transformação entre níveis (aresta no grafo) = ferramenta

  27. Sistêmico Algorítmico Micro arquitetural Lógico Elétrico idéia Mais abstração Circuito Real (fabricado) Eixo Comportamental Eixo Estrutural Eixo Geométrico

  28. Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico processadores, memórias, barramentos processadores, memórias, barramentos Micro arquitetural Especificações funcionais Especificações funcionais módulos de hardware módulos de hardware Algoritmos Algoritmos Lógico registradores, multiplexadores, operadores registradores, multiplexadores, operadores Máquinas de estado finitas, operações Máquinas de estado finitas, operações Elétrico Portas lógicas, flip-flops Portas lógicas, flip-flops Equações booleanas, tabelas verdade, BDDs Equações booleanas, tabelas verdade, BDDs Transistores, resistores, capacitores, indutores Transistores, resistores, capacitores, indutores Funções de transferência, equações diferenciais Funções de transferência, equações diferenciais Leiaute das máscaras, retângulos, polígonos Leiaute das máscaras, retângulos, polígonos Células de biblioteca, modelos de posição de pinos Células de biblioteca, modelos de posição de pinos Macro-células, planta baixa de blocos Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Partições físicas, componentes, placas Eixo Geométrico

  29. Sistêmico C, C++, Hardware C Java Eixo Comportamental Eixo Estrutural Algorítmico processadores, memórias, barramentos Micro arquitetural Especificações funcionais módulos de hardware Algoritmos Lógico registradores, multiplexadores, operadores Máquinas de estado finitas, operações Elétrico Portas lógicas, flip-flops Equações booleanas, tabelas verdade, BDDs Transistores, resistores, capacitores, indutores Funções de transferência, equações diferenciais Spice Spice EDIF Leiaute das máscaras, retângulos, polígonos CIF, GDS2 Células de biblioteca, modelos de posição de pinos LEF / DEF Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Eixo Geométrico VHDL

  30. Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico processadores, memórias, barramentos Micro arquitetural Especificações funcionais 1- “síntese” módulos de hardware Algoritmos Lógico registradores, multiplexadores, operadores Máquinas de estado finitas, operações 2- simulação Elétrico Portas lógicas, flip-flops Equações booleanas, tabelas verdade, BDDs Transistores, resistores, capacitores, indutores Funções de transferência, equações diferenciais 3- mapeamento 5- fabricação Leiaute das máscaras, retângulos, polígonos 4- place&route Células de biblioteca, modelos de posição de pinos Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Eixo Geométrico Processo Clássico de Sistemas Digitais (projeto RTL, do inglês, Register Transfer Level)

  31. Org_Comp Sumário 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3 - SDs Combinacionais e Sequenciais 4 - Taxonomia de SDs 5 - O Processo de Projeto de SDs 6 - Componentes Digitais Importantes em Organização de Computadores

  32. 6 - Componentes Digitais Importantes em OrgComp Circuitos Combinacionais Circuitos Sequenciais Flip-flops e Registradores (deslocamento, carga paralela, acumulador, serial-paralelo, etc.) Contadores (binário e outros, up, down, up-down, etc.) Memórias RAM Máquina de Estados • Portas lógicas Elementares, Vetores de Portas Lógicas • Somadores / Subtratores • Multiplexadores • Decodificadores • Comparadores • ULA

  33. 6 - Portas lógicas Elementares, Vetores de Portas A <= B and C; -- Implementa o quê em VHDL? • Uma porta AND de duas entradas, se A, B e C forem fios • Um vetor de n portas AND de duas entradas, caso A, B e C sejam vetores de n bits • Notem, se A, B, C não tiverem todos a mesma largura  Erro de sintaxe em VHDL! • O mesmo vale para outras portas A <= B and C and D; • Esta descrição muda a(s) portas AND de duas entradas para ANDs de três entradas

  34. 6 - Portas lógicas Elementares, Vetores de Portas A <= B nand C; • Cuidado com lógica negada! A linha acima implementa uma ou mais porta(s) NAND de duas entradas A <= B nand C nand D; • Esta descrição é um erro de sintaxe! Porquê? A <= B nand (C nand D); • Esta descrição compila OK, mas o que ela gera? • Isto não é (não são) uma NAND (NANDs) de 3 entradas! A <= not (B and (C and D)); • Isto é (são) uma NAND (NANDs) de 3 entradas! • Ou seja, cuidado com lógica negada!!

  35. 6 - Componentes Digitais Importantes em OrgComp Circuitos Combinacionais Circuitos Sequenciais Flip-flops e Registradores (deslocamento, carga paralela, acumulador, serial-paralelo, etc.) Contadores (binário e outros, up, down, up-down, etc.) Memórias RAM Máquina de Estados • Portas lógicas Elementares, Vetores de Portas Lógicas • Somadores / Subtratores • Multiplexadores • Decodificadores • Comparadores • ULA

More Related