Pontifcia Universidade Catlica do Rio Grande do Sul

  • Slides: 36
Download presentation
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática (FACIN-PUCRS) Introdução a

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: 28/02/2018

Sumário Org_Comp 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3

Sumário Org_Comp 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

1 - Sistemas Digitais – Definição Estrutural Sistema Digital – Um Aparato dotado de

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! Entradas Saídas E(1) Î C(1) S(1) Î C(K+1) E(2) Î C(2) S(2) Î C(K+2) E(K-2) Î C(K-2) Sistema Digital Processamento Numérico de Informação E(K-1) Î C(K-1) E(K) Î C(K) http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html S(3) Î C(K+3) S(L-1) Î C(K+L-1) S(L) Î C(K+L) ney. calazans@pucrs. br

Sumário Org_Comp 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3

Sumário Org_Comp 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

2 - Projeto e Fabricação de Sistemas Digitais Ø Três ramos do conhecimento científico

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 Ø 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html Métodos de Modelagem de Processos Físicos ney. calazans@pucrs. br

2 - Projeto e Fabricação de SDs VLSI Ø Projeto de SDs - método

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 1 cm 2 de lado, espessura < 1 mm, 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 28 nm!! Ø Um fio de cabelo = ~70 mm de diâmetro, oco. É possível passar 19, 6 milhões de fios da tecnologia 28 nm por dentro de um único fio de cabelo!! http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

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

2 - Processos Planares de Fabricação “silicon wafer” ou “bolacha de silício” chip circuitos de teste http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

2 - Um Exemplo de Circuito Integrado As zonas em azul claro e escuro

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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

2 - Um Microprocessador – Pentium-Pro http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney.

2 - Um Microprocessador – Pentium-Pro http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

1 - Motivação Tecnologia CMOS 65 nm Interconexões 1 poly, 8 metal (Cu) Transistores

1 - Motivação Tecnologia CMOS 65 nm Interconexões 1 poly, 8 metal (Cu) Transistores 100 Milhões Área do Chip 275 mm 2 Área do Tijolo 3 mm 2 1248 pinos, 14 camadas, 343 pinos E/S Encapsulamento Estado da Arte em Processadores – exemplo de chip de pesquisa da Intel - 2007 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

2 - Projeto e Fabricação de SDs – a lei de Moore Ø “A

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) http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

Sumário Org_Comp 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3

Sumário Org_Comp 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

3 - SDs Combinacionais e Sequenciais Ø SD Combinacional - comportamento de cada saída

3 - SDs Combinacionais e Sequenciais Ø SD Combinacional - comportamento de cada saída descrito como função exclusivamente dos valores instântaneos das entradas A A^B B http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html A B A^B 0 0 1 1 1 ney. calazans@pucrs. br

3 - SDs Combinacionais e Sequenciais Ø SD Seqüencial qualquer SD que não possa,

3 - SDs Combinacionais e Sequenciais Ø SD Seqüencial qualquer SD que não possa, em geral atender à definição de SD combinacional Captura de Zeros http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html Oscilador em Anel 1 bit de RAM ney. calazans@pucrs. br

3 - Armazenamento de Informação e Estado Ø Em geral, laço de realimentação implica

3 - Armazenamento de Informação e Estado Ø Em geral, laço de realimentação implica armazenar informação, e conceito de estado Contra-exemplo: circuito com realimentação, contudo combinacional Estado - excluindo realimentações redundantes, cada configuração distinta de valores destas http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

3 - SDs Combinacionais e Sequenciais Ø Definição de tipos de SDs baseada em

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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

Sumário Org_Comp 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3

Sumário Org_Comp 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

4 - Taxonomia de SDs Ø Fundamental - escolha de critérios de classificação adequados

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. http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

flexibilidade Uma Classificação de CIs baseada em quatro critérios http: / /www. inf. pucrs.

flexibilidade Uma Classificação de CIs baseada em quatro critérios http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

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

4 - Circuitos FPGA Blocos com função lógica programável Linhas de conexão Canal http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

Sumário Org_Comp 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3

Sumário Org_Comp 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

5 - O Processo de Projeto de SDs Ø Processo de Projeto - descrição

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! http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

5 - Níveis de Abstração de Projeto http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html

5 - Níveis de Abstração de Projeto http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

5 - O Processo de Projeto de SDs Ø Problema derivado - complexidade impede

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. http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

5 - Modelo de Suzim propõe modelo unidimensional Validação Ø Critério: nível de abstração

5 - Modelo de Suzim propõe modelo unidimensional Validação Ø Critério: nível de abstração . . . Ø Síntese . Nível de abstração = quantidade de informação Otimização Extração Nível de Abstração i+1 Síntese . . . Ø Nível de Abstração i Síntese Validação Extração Otimização Extração Transformação entre níveis (aresta) = ferramenta de projeto Nível de abstração (vértices) = conjunto de descrições http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

5 - Modelo de Gajski-Kuhn ou Diagrama Y Domínio Estrutural Domínio Comportamental Sistêmico Arquitetural

5 - Modelo de Gajski-Kuhn ou Diagrama Y Domínio Estrutural Domínio Comportamental Sistêmico Arquitetural Processadores, Memórias, Barramentos Processos Comunicantes, Algoritmos Registradores, ULAs, Muxs, Decods Portas Lógicas, Biestáveis Transistores, Lineares Modelo bidimensional Ø Critérios: nível de abstração e domínio de descrição Ø Domínio de descrição = tipo de informação Lógico HDLs, Transferência entre Registradores Elétrico Expressões Booleanas, Tabelas de Transição 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 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico Micro arquitetural Lógico Elétrico o çã a str

Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico Micro arquitetural Lógico Elétrico o çã a str idéia b a s i a M Circuito Real (fabricado) Eixo Geométrico http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico Especificações funcionais Micro arquitetural Algoritmos processadores, memórias, barramentos

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

Eixo Comportamental Sistêmico C, C++, Hardware C Java Algorítmico Eixo Estrutural processadores, memórias, barramentos

Eixo Comportamental Sistêmico C, C++, Hardware C Java Algorítmico Eixo Estrutural processadores, memórias, barramentos Micro arquitetural VHDL Lógico Especificações funcionais Algoritmos módulos de hardware registradores, multiplexadores, operadores Máquinas de estado finitas, operações Elétrico Equações booleanas, tabelas verdade, BDDs Portas lógicas, flip-flops Transistores, resistores, capacitores, indutores Funções de transferência, equações diferenciais Spice EDIF CIF, GDS 2 Leiaute das máscaras, retângulos, polígonos 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 http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico Micro arquitetural Especificações funcionais 1 - “síntese” Lógico

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

Sumário Org_Comp 1 - Sistemas Digitais 2 - Projeto e Fabricação de SDs 3

Sumário Org_Comp 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 – Estrutura de um Processador e Componentes Digitais Importantes em Organização de Computadores http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

6 – Estrutura Geral de um Processador – Detalhes Processador ou CPU ou Core

6 – Estrutura Geral de um Processador – Detalhes Processador ou CPU ou Core Controles Bloco de Controle Comandos Dados de Entrada Status Qualificadores Bloco de Dados de Saída Comentar: FPU, MMU, Caches, CPU hoje é chamada de core http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

6 - Componentes Digitais Importantes em Org. Comp Circuitos Combinacionais Ø Ø Ø Portas

6 - Componentes Digitais Importantes em Org. Comp Circuitos Combinacionais Ø Ø Ø Portas lógicas Elementares, Vetores de Portas Lógicas Somadores / Subtratores Multiplexadores Decodificadores Comparadores ULA http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html Circuitos Sequenciais Flip-flops e Registradores (deslocamento, carga paralela, acumulador, serial-paralelo, etc. ) Ø Contadores (binário e outros, up, down, updown, etc. ) Ø Memórias RAM Ø Máquina de Estados Ø ney. calazans@pucrs. br

6 - Portas lógicas Elementares, Vetores de Portas A <= B and C; --

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 cada um um fio Ø 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 AND(s) de três entradas Ø http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

6 - Portas lógicas Elementares, Vetores de Portas A <= B nand C; «

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 é uma NAND de 3 entradas (Se A a D são de 1 bit)! « Ou seja, cuidado com lógica negada!! http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html ney. calazans@pucrs. br

6 - Componentes Digitais Importantes em Org. Comp Circuitos Combinacionais ü Ø Ø Ø

6 - Componentes Digitais Importantes em Org. Comp Circuitos Combinacionais ü Ø Ø Ø Portas lógicas Elementares, Vetores de Portas Lógicas Somadores / Subtratores Multiplexadores Decodificadores Comparadores ULA http: / /www. inf. pucrs. br/~calazans/orgcomp_EC. html Circuitos Sequenciais Flip-flops e Registradores (deslocamento, carga paralela, acumulador, serial-paralelo, etc. ) Ø Contadores (binário e outros, up, down, updown, etc. ) Ø Memórias RAM Ø Máquina de Estados Ø ney. calazans@pucrs. br