Introdução Revisão de Conceitos de Circuitos Lógicos e Estruturas para Arquitetura de Computadores Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-1 Tópicos • Circuitos combinacionais: – multiplexadores – somadores / subtratores – decodificadores – barramentos 3-state e conexão ponto-a-ponto • Circuitos sequenciais – latches & FlipFlops – registradores – contadores – máquina de estados Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-2 Circuitos Combinacionais Tabela Verdade Input Mapa de Karnaugh Output ai bi ci ci+1 si 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1 1 1 Saída y em função das 24 combinações de entrada 1998 Morgan Kaufmann Publishers Ch0-3 Multiplexadores S0S1 0 1 2 3 Y x3 1 2 13 12 x2 1 2 13 12 x1 3 4 5 6 x0 9 10 11 8 1 Y 0 0 X0 0 1 X1 1 0 X2 1 1 X3 2 S1 1 S0 4 3 3 x0 x1 x2 x3 2 Y Aplicações S0 S1 •roteamento de sinais •transferência de dados •seleção de alternativas •(barramento) Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-4 Somadores / ULAs projeto convencional a3 b3 c4 a2 b2 c3 + + s3 a1 b1 c2 c1 + s2 a0 b0 s1 + s0 a3b3 a2b2 ... a0b0 c4 s3 s2 s1s0 c0 256 linhas 8 entradas 5 saídas abordagem bit-slice Input Output ai bi ci ci+1 si Implementar por mapa de Karnaugh ou 0 0 0 0 0 • Ci+1 = 1 se 2 ou mais 1´s aibi + aici + bici 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Mario Côrtes - MO401 - IC/Unicamp- 2002s1 • Si = 1 se Nº ímpar de 1´s ai bi ci 1998 Morgan Kaufmann Publishers Ch0-5 Somadores ai bi ci ci+1 Mario Côrtes - MO401 - IC/Unicamp- 2002s1 ai bi ci 1998 Morgan Kaufmann Publishers si Ch0-6 Exercício ALU de 4 bits Ai Bi 4 Sel 4 ALU Sel Função de Y 00 Y = A + B; Cout = vai-um 01 Y = A AND B 10 Y = A OR B 11 Y = complemento (A) 4 Cout Y Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-7 Decodificadores a x0 x1 x2 x3 b ab X0 X1 X2 X3 00 1 0 0 0 01 0 1 0 0 10 0 0 1 0 11 0 0 0 1 x3 x2 6 8 5 9 x1 a Exemplo de utilização: OP Code Reg x0 b Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-8 Barramentos: comunic. entre elementos a) ponto a ponto A B D C Desvantagens: Vantagens: • comunicação direta entre elementos • paralelismo • implementação • complexidade • custo • escalabilidade • expansibilidade Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-9 Barramentos: comunic. entre elementos (2) b) barramento simples A B C D Vantagens: • implementação • simplicidade • custo (HW & projeto) Desvantagens: • falta de paralelismo • escalabilidade • expansibilidade • isolamento (desacoplamento) c) variante: barramento duplo A B C D • VLSI (regularidade) duas transações simultâneas por ciclo Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-10 Implementação de barramentos • • • • Comunicação unidade x barramento: – leitura (bar unidade) – escrita (unidade bar) Seleção de qual unidade escreve no barramento – Função multiplexador Alternativas de implementação de escrita: – AND-OR (convencional) – Wired AND ou OR – 3-State Mais popular: 3-State Se EN = 1 Y = A EN A Y Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Se EN = 0 Y = Z (Z = alta impedância desligado) 1998 Morgan Kaufmann Publishers Ch0-11 Implementação de barramentos (2) Escrita EN1 EN2 EN3 EN4 Apenas um EN ativo por vez MUX convencional (não modular) Leitura Bar2A Bar2B A B Mais modular Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-12 Implementação de barramento modular (3) Bar2A Bar2B A B A2Bar B2Bar • Leitura e escrita modulares • Expansibilidade e desacoplamento • Regularidade • essencial para VLSI, geometria e disposição físicas são importantes Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-13 Circuitos seqüênciais • • • • Latches & FlipFlops registradores contadores máquina de estados Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-14 Elementos de armazenamento: Latch ~S Latch S-R Q ~Q ~R LD Latch Tipo D D D 1 0 Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Q Q LD 1998 Morgan Kaufmann Publishers Ch0-15 Elementos de armazenamento: Flip-Flop Flip-Flop D D Q Ck se CK então D Q (sensível à borda) ~Q se CK então Flip-Flop JK J Ck K Q ~Q Mario Côrtes - MO401 - IC/Unicamp- 2002s1 JK Qn+1 00 01 10 11 Qn 0 1 ~Qn 1998 Morgan Kaufmann Publishers Ch0-16 Latch (transparente) versus Flip-Flop (borda) Latch D LD transparente transparente QLatch Flip-Flop D CK QFF Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-17 Registradores: conjunto de latches ou FFs LD Registrador de carga paralela CK carga de registrador: D LD D Ck Latch (LD) OK Q ~Q Errado ! D D Ck FF ? Q Q ~Q LD CERTO (74LS377) Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-18 Registrador de deslocamento SDI D Q D Q D Q D Q SDO CK Latch ou Flip-Flop? Aplicações: • ULAs têm registradores de deslocamento (esquerda, direita, anel) • Conversão série paralelo Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-19 Contadores: exemplo toggle counter EN D EN D EN D EN D EN Q Q Q Q CK Q0 Q1 Q2 Q3 EN T CK Q Qi Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Aplicações: • temporizadores • Program Counter (PC) • Increm. / Decrem. • ULA 1998 Morgan Kaufmann Publishers Ch0-20 Exercício registrador Projetar um registrador de deslocamento • esquerda / direita com carga paralela • especificar os sinais de controle Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-21 Máquina de Estados Circuito Sequencial Síncrono Genérico Máquina de Moore Máquina de Mealy X CC Si+1 FF X Si CC Saída Y muda apenas na transição do clock Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Y Y CC Si+1 FF Si Saída Y pode mudar em qualquer instante, em função da entrada X 1998 Morgan Kaufmann Publishers Ch0-22 Síntese de uma máquina de estados Mealy entr / saída S0 S3 Moore entr S1 Estado Entradas Atual Próximo S0 S2 S1 Saídas S2 Diagrama de Transição de Estados Mario Côrtes - MO401 - IC/Unicamp- 2002s1 Tabela de Transição de Estados 1998 Morgan Kaufmann Publishers Ch0-23 Síntese de uma máquina de estados Estado Atual Próximo 00 01 10 Entradas Saídas Codificação dos estados • S0 = 00 etc Equações booleanas dos circuitos combinacionais • Si+1 = fS (Si, X) • Y = fY (Si, X) (em maq. de Moore, só S) • Sintetizar os CCs • Elementos de memória podem ser FF-D ou FF-JK Mario Côrtes - MO401 - IC/Unicamp- 2002s1 1998 Morgan Kaufmann Publishers Ch0-24 Aplicações de máquina de Estados ler instrução Controle de seqüência de ações: decodificar instrução • Unidade de controle de CPUs • Seqüência de ações fluxograma • Mapeamento direto: • fluxograma maq de estados ADD ADD Mario Côrtes - MO401 - IC/Unicamp- 2002s1 SUB JUMP 1998 Morgan Kaufmann Publishers Ch0-25