Upload
internet
View
103
Download
0
Embed Size (px)
Citation preview
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
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
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!
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
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
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!!
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”
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
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]
2 - Um Microprocessador – Pentium-Pro
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
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)
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
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
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
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
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
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
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.
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
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
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
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!
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html [email protected]
5 - Níveis de Abstração de Projeto
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.
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
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
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
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
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
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)
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
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
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
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!!
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