Conjunto de transparências a ser usado nesta aula e na próxima

Propaganda
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: 19/05/2017
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
[email protected]
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)
[email protected]
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
[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
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
[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 = ~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!!
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
[email protected]
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
[email protected]
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
[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
1248 pinos, 14 camadas,
343 pinos E/S
Encapsulamento
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
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
[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
A^B
B
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
A
B
A^B
0
0
0
0
1
0
1
0
0
1
1
1
[email protected]
3 - SDs Combinacionais e Sequenciais

SD Seqüencial qualquer SD que não
possa, em geral
atender à definição de
SD combinacional
A
X
0
Xi
0
1
Xi-1
A
X
Oscilador em Anel
E
D
Captura de Zeros
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
1 bit de RAM
E
D
Xi
0
0
0
1
Xi-1
Xi-1
1
0
0
1
1
1
[email protected]
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
B
Estado - excluindo
realimentações
redundantes, cada
configuração distinta de
valores destas
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
A
X
A
B
X
0
0
0
0
1
0
1
0
0
1
1
1
[email protected]
3 - SDs Combinacionais e Sequenciais

Definição de tipos de SDs baseada em estados
 Todo
 SD
SD é um SD seqüencial
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
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
[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ÍGIDOS
EX: FAMÍLIA TTL 74XX
NÃO PERSONALIZÁVEIS
OU FIXOS
PROGRAMÁVEIS
EX: FAMÍLIA INTEL MCS'86
RETENÇÃO EM FUNCIONAMENTO
EX: FPGA BASEADO EM RAM
flexibilidade
CIRCUITOS
INTEGRADOS
PÓS-FABRICAÇÃO
RETENÇÃO ETERNA, EXCETO POR
PROCEDIMENTOS ESPECIAIS EX:
EPROM, EEPROM, FPGA
BASEADO EM EPROM
RETENÇÃO ETERNA, APÓS PRIMEIRA
PERSONALIZAÇÃO EX: PROM, FPGA
BASEADO EM ANTIFUSÍVEIS
PERSONALIZÁVEIS
PRÉ-DIFUNDIDOS
EX: GATE ARRAY
PARCIALMENTE PERSONALIZÁVEIS,
OU SEMI-DEDICADOS, OU PRÉCARACTERIZADOS (SEMI-CUSTOM)
PÓS-DIFUNDIDOS
EX: STANDARD-CELL
POR FABRICAÇÃO
Uma Classificação
de CIs baseada em
quatro critérios
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
TOTALMENTE PERSONALIZÁVEIS,
OU DEDICADOS (FULL-CUSTOM)
[email protected]
4 - Circuitos FPGA
Blocos com
função lógica
programável
Bloco K
Bloco K
Bloco K
Bloco K
Linhas de
conexão
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Bloco K
Canal
n linhas
m colunas canais de roteamento caixa de conexão
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
[email protected]
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
[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
Suzim propõe modelo
unidimensional
...

Extração
Síntese
.
Validação

Critério: nível de abstração
Nível de Abstração i
Nível de abstração =
quantidade de informação
Nível de Abstração i+1
Síntese
...

Extração
Síntese
Validação
Otimizaçã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
[email protected]
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
[email protected]
Sistêmico
Eixo Comportamental
Eixo Estrutural
Algorítmico
Micro arquitetural
Lógico
Elétrico
idéia
Circuito Real
(fabricado)
Eixo Geométrico
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
[email protected]
Sistêmico
Eixo Comportamental
Eixo Estrutural
Algorítmico
Especificações
Especificações funcionais
funcionais
Micro arquitetural
Algoritmos
Algoritmos
processadores,
processadores,
memórias,
memórias, barramentos
barramentos
módulos
módulos de
de hardware
hardware
Lógico
registradores,
registradores, multiplexadores,
multiplexadores, operadores
operadores
Máquinas
Máquinas de
de estado
estado finitas,
finitas, operações
operações
Elétrico
Equações
Equações booleanas,
booleanas, tabelas
tabelas verdade,
verdade, BDDs
BDDs
Funções
Funções de
de transferência,
transferência, equações
equações diferenciais
diferenciais
Portas
Portas lógicas,
lógicas, flip-flops
flip-flops
Transistores,
Transistores, resistores,
resistores, capacitores,
capacitores, indutores
indutores
Leiaute
Leiaute das
das máscaras,
máscaras, retângulos,
retângulos, polígonos
polígonos
Células
Células de
de biblioteca,
biblioteca, modelos
modelos de
de posição
posição de
de pinos
pinos
Macro-células,
Macro-células, planta
planta baixa
baixa de
de blocos
blocos
Módulos,
Módulos, clusters,
clusters, cores,
cores, planos
planos de
de clock/alimentação
clock/alimentação
Partições
Partições físicas,
físicas, componentes,
componentes, placas
placas
Eixo Geométrico
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
[email protected]
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,
GDS2
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
[email protected]
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
Portas lógicas, flip-flops
Transistores, resistores, capacitores, indutores
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
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
[email protected]
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
[email protected]
6 – Estrutura Geral de um Processador – Detalhes
Processador ou CPU ou Core
Controles
Status
Bloco de Controle
Comandos
Dados de
Entrada
Qualificadores
Bloco de Dados
Dados de
Saída
Comentar: FPU, MMU, Caches, CPU hoje é chamada de core
http:/ /www.inf.pucrs.br/~calazans/orgcomp_EC.html
[email protected]
6 - Componentes Digitais Importantes em OrgComp
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
[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 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
[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 é 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
[email protected]
6 - Componentes Digitais Importantes em OrgComp
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
[email protected]
Download