35
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

Ney Calazans

  • Upload
    nelson

  • View
    77

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Ney Calazans

Pontifícia Universidade Católica do Rio Grande do SulFaculdade 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

Page 2: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Org_Comp

Page 3: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

1 - Sistemas Digitais – Definição Estrutural

Sistema DigitalProcessamento Numérico

de Informação

Entradas Saídas

E(1) C(1)

E(2)

E(K-2)

E(K)

E(K-1)

S(1) C(K+1)

S(2)

S(3)

S(L)

S(L-1)

C(2)

C(K-2)

C(K-1)

C(K)

C(K+2)

C(K+3)

C(K+L-1)

C(K+L)

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!

Page 4: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Org_Comp

Page 5: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Ciência daComputação

Física deSemicondutores

Métodos de FabricaçãoAuxiliada por Computador

Métodos de Modelagemde Processos Físicos

Métodos de ProjetoAuxiliado por Computador

Engenharia deSistemas Digitais

VLSI

SistemasVLSI

MatemáticaAplicada

Page 6: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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 = ~70m de diâmetro, oco. É possível passar

19,6 milhões de fios da tecnologia 28nm por dentro de um único fio de cabelo!!

Page 7: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

chipchip

circuitoscircuitosde testede teste

2 - Processos Planares de Fabricação

““silicon silicon wafer” ou wafer” ou “bolacha “bolacha de silício” de silício”

Page 8: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

As zonas em azul claro e escuro representam duas camadas de metal (no caso, fios de alumínio)

CPU da HP (1987)CPU da HP (1987)80.000 transistores80.000 transistores

2 - Um Exemplo de Circuito Integrado

Page 9: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

2 - Um Microprocessador – Pentium-Pro

Page 10: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

1 - Motivação

Tecnologia CMOS 65nm

Interconexões 1 poly, 8 metal (Cu)

Transistores 100 Milhões

Área do Chip 275 mm2

Área do Tijolo 3 mm2

Encapsulamento1248 pinos, 14 camadas,

343 pinos E/S

Estado da Arte em Processadores – exemplo de chip de pesquisa da Intel

Page 11: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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)

Page 12: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Org_Comp

Page 13: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

3 - SDs Combinacionais e Sequenciais

SD Combinacional - comportamento de cada saída descrito como função exclusivamente dos valores instântaneos das entradas

A

0

0

1

1

B

0

1

0

1

A

B

A^B

0

0

0

1

A^B

Page 14: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

3 - SDs Combinacionais e Sequenciais

SD Seqüencial - qualquer SD que não possa, em geral atender à definição de SD combinacional

X Xi-1

0

1

Xi

1

0

Oscilador em Anel

A

XA

0

1

Xi

0

Xi-1

Captura de Zeros

E

D

E

0

0

1

1

D

0

1

0

1

Xi

Xi-1

Xi-1

0

1

X

1 bit de RAM

Page 15: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

3 - Armazenamento de Informação e Estado

Em geral, laço de realimentação implica armazenar informação, e conceito de estado

B

A X

A

0

0

1

1

B

0

1

0

1

X

0

0

0

1

Contra-exemplo: circuito com realimentação, contudo combinacional

Estado - excluindo realimentações redundantes, cada configuração distinta de valores destas

Page 16: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Page 17: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Org_Comp

Page 18: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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.

Page 19: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

NÃO PROGRAMÁVEIS OU RÍGIDOSEX: FAMÍLIA TTL 74XX

PROGRAMÁVEISEX: FAMÍLIA INTEL MCS'86

NÃO PERSONALIZÁVEISOU FIXOS

CIRCUITOSINTEGRADOS

PERSONALIZÁVEIS

PÓS-FABRICAÇÃO

POR FABRICAÇÃO

RETENÇÃO EM FUNCIONAMENTOEX: FPGA BASEADO EM RAM

RETENÇÃO ETERNA, EXCETO PORPROCEDIMENTOS ESPECIAIS EX:

EPROM, EEPROM, FPGABASEADO EM EPROM

RETENÇÃO ETERNA, APÓS PRIMEIRAPERSONALIZAÇÃO EX: PROM, FPGA

BASEADO EM ANTIFUSÍVEIS

PARCIALMENTE PERSONALIZÁVEIS,OU SEMI-DEDICADOS, OU PRÉ-

CARACTERIZADOS (SEMI-CUSTOM)

TOTALMENTE PERSONALIZÁVEIS,OU DEDICADOS (FULL-CUSTOM)

PRÉ-DIFUNDIDOSEX: GATE ARRAY

PÓS-DIFUNDIDOSEX: STANDARD-CELL

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

flexibilidade

Page 20: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

Bloco K Bloco K Bloco K Bloco K

Bloco K Bloco K Bloco K Bloco K

Bloco K Bloco K Bloco K Bloco K

Bloco K Bloco K Bloco K Bloco K

m colunas canais de roteamento caixa de conexão

n linhas

Blocos comfunção lógicaprogramável

Canal

Linhas de conexão

4 - Circuitos FPGA

Page 21: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Org_Comp

Page 22: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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!

Page 23: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Page 24: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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.

Page 25: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

5 - Modelo de Suzim

Critério: nível de abstração

.

Validação

Síntese

Síntese

Síntese

Nível de Abstração i+1

Nível de Abstração i

Extração

Extração

Extração

Otimização

Validação Otimização...

...

Transformação entre níveis (aresta) = ferramenta de projetoNível de abstração (vértices) = conjunto de descrições

Suzim propõe modelo unidimensional

Nível de abstração = quantidade de informação

Page 26: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Elétrico

Lógico

Arquitetural

SistêmicoDomínio Estrutural Domínio Comportamental

Domínio Físico

Processadores, Memórias, Barramentos

Registradores, ULAs, Muxs, Decods

Portas Lógicas, Biestáveis

Transistores, Lineares Funções de Transferência, Equações Diferenciais

Expressões Booleanas, Tabelas de Transição

HDLs, Transferência entre Registradores

Processos Comunicantes, Algoritmos

Placas, Módulos Multi-chip

Planta Baixa de Blocos de CIs

Planta Baixa de Células Lógicas

"Layout" de Transistores e Lineares

Círculo = nível de abstração, eixo = domínio de descriçãoIntersecção círculo-eixo (vértices) = descriçãoTransformação entre níveis (aresta no grafo) = ferramenta

Page 27: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

Mais abstr

ação

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

Circuito Real(fabricado)

idéia

Page 28: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

processadores, memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

processadores, memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

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

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

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

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

Page 29: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

EDIF

LEF / DEF

Spice

VHDL

C, C++, Hardware C

Java

Spice

CIF, GDS2

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

processadores, memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

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

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

Page 30: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

processadores, memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

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

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

1- “síntese”

2- simulação

3- mapeamento

4- place&route

5- fabricação

Processo Clássico de Sistemas Digitais (projeto RTL, do inglês, Register Transfer Level)

Page 31: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Org_Comp

Page 32: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

Circuitos Combinacionais

Portas lógicas Elementares, Vetores de Portas Lógicas

Somadores / Subtratores Multiplexadores Decodificadores Comparadores ULA

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

6 - Componentes Digitais Importantes em OrgComp

Page 33: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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

Page 34: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

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!!

Page 35: Ney Calazans

http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]

Circuitos Combinacionais

√ Portas lógicas Elementares, Vetores de Portas Lógicas

Somadores / Subtratores Multiplexadores Decodificadores Comparadores ULA

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

6 - Componentes Digitais Importantes em OrgComp