350 likes | 496 Views
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
E N D
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 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
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!
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
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
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!!
2 - Processos Planares de Fabricação “silicon wafer” ou “bolacha de silício” chip circuitos de teste
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
1 - Motivação Estado da Arte em Processadores – exemplo de chip de pesquisa da Intel
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)
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
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
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
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
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
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
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.
flexibilidade Uma Classificação de CIs baseada em quatro critérios
4 - Circuitos FPGA Blocos com função lógica programável Linhas de conexão Canal
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 - 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!
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.
... 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
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
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
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
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
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)
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
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
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
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!!
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