Baixe o app para aproveitar ainda mais
Prévia do material em texto
Circuitos Digitais para Computadores Sistemas de numeração Um sistema de numeração é caracterizado pela quantidade de algarismos usados para expressar um numero. Cada sistema de numeração corresponde a uma base numérica. No sistema digital utilizamos os sistemas binários, octal e hexadecimal. No sistema decimal são utilizados dez algarismos de 0 a 9 para representar todos os números, no sistema decimal não existe o algarismo que represente a quantidade dez para isso utilizamos o algarismo 1 seguido do algarismo 0. 1 0 Uma dezena nenhuma unidade Para o numero 21 Duas dezenas uma unidade Sistema binário Ou base dois utiliza uma seqüência de dois algarismos 0 e 1 somente, para representar a quantidade dois, por exemplo, utilizamos 1 seguido de 0 que significa a existência de um grupo de dois elementos mais um grupo de zero elementos. 1 0 Um grupo de dois um grupo de zero elementos Para o numero três será representado por 1 seguido por outro 1 1 1 Um grupo de dois elementos um grupo de um elemento Na tabela a seguir temos os números em decimal de 0 a 9 e os números binários correspondentes. Decimal Binário 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Professor: Marcos José Sanvidotti 1 Circuitos Digitais para Computadores Sistema octal Neste sistema utilizamos oito algarismos de 0 a 7 para representar números acima de 7, por exemplo, 8 usamos 10. 1 0 Um grupo de oito elementos um grupo de zero elementos. A seguir a tabela de números decimais e os números correspondentes na base octal. Decimal Octal 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 10 9 11 10 12 11 13 Sistema Hexadecimal Neste sistema utilizamos dezesseis algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F O numero F representa o 15 e o 16 é representado por 10 1 0 Um grupo de 16 elementos um grupo de zero elementos Professor: Marcos José Sanvidotti 2 Circuitos Digitais para Computadores Tabela de números decimais e hexadecimais Decimal Hexadecimal 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F Conversão de base Há situações onde convém a utilização em outra base. Teclado de calculadora os números estão na base decimal. No circuito interno da calculadora a base é binária. Nos computadores os circuitos internos trabalham nas bases 2,8,10 e 16, por este motivo temos que fazer a conversão das bases. As bases serão indicada por índices 2,8,H sem a indicação da base, considere base decimal. Exemplo: 1102 168 1DH Conversão Decimal para binário: Converter 10 para binário 10 2 0 5 2 1 2 2 0 1 Resposta: 10102 Professor: Marcos José Sanvidotti 3 Circuitos Digitais para Computadores Converter 311 para binário 311 2 1 155 2 1 77 2 1 38 2 0 19 2 1 9 2 1 4 2 0 2 2 0 1 Resposta: 1001101112 Decimal para Octal 608 para a base 8 608 8 0 76 8 4 9 8 1 1 Resposta: 11408 Decimal para Hexadecimal 678 para a base Hexadecimal 678 16 6 42 16 10 2 Resposta: 2 A 6H 316 para a base hexadecimal 316 16 12 19 16 3 1 Resposta: 13CH Professor: Marcos José Sanvidotti 4 Circuitos Digitais para Computadores Binário para decimal 101012 para a base 10 24 23 22 21 20 1 0 1 0 1 16+0+4+0+1 = 21 Octal para decimal 6678 para decimal 82 81 80 6 6 7 6 x 64 +6 x 8 + 7 x 1 = 439 Hexadecimal para decimal 12ABH para decimal 163 162 161 160 1 2 A B 1 x 163 + 2 x 162 + 10 x 16 + 11 x 1 = 4779 Exercícios 1) Converta para decimal a) 10001001012 b) 1100011012 c) 72568 d) AE01H e) 1011012 f) 10102 g) 7058 h) 10FAH 2) Converta para binário a) 217 b) 333 c) 433 d) 195 Professor: Marcos José Sanvidotti 5 Circuitos Digitais para Computadores 3) Converta para o sistema indicado a) 1222 = ( )8 b) 62394 = ( )H c) 7028 = ( )2 d) 4C0A16 = ( )2 e) 101110112 = ( )8 f) 101100010012 = ( )H g) 1704738 = ( )H h) 9BE15H = ( )8 i) 132 = ( )2 j) 14 = ( )2 k) 8870 = ( )8 l) 6667 = ( )H m) 7528 = ( )2 n) 1B79H = ( )2 Adição É feita da mesma forma que em decimal coluna a coluna, considerando o transporte proveniente da anterior. 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 ( 0 e transporta 1 ) Exemplo: 1011012 + 11012 1 1 1 1 0 1 1 0 1 + 1 1 0 1 1 1 1 0 1 0 Subtração 0 - 0 = 0 1 - 1 = 0 1 – 0 = 1 0 – 1 = 1 e transporta 1 Exemplo: 11011012 - 101102 1 1 1 1 1 0 1 1 0 1 - 1 0 1 1 0 1 0 1 0 1 1 1 Professor: Marcos José Sanvidotti 6 Circuitos Digitais para Computadores Multiplicação Igual no sistema decimal Exemplo: 10110102 X 1012 1 0 1 1 0 1 0 x 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 + 1 0 1 1 0 1 0 + 1 1 1 0 0 0 0 1 0 Divisão Exemplos: 1 0 0 0 1 1 101 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 10011 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 Complemento 2 É obtido somando – se 1 ao complemento de e representa a notação negativa de um numero binário positivo. Exemplo: 1 0 0 12 Complemento 1 => 0 1 1 02 Complemento 2 => 0 1 1 0 + 1 0 1 1 1 Complemento 2 de 1 0 0 12 Professor: Marcos José Sanvidotti 7 Circuitos Digitais para Computadores Exercícios: 1) Efetuar as adições a) 100100111012 + 1011111012 b) 110012 + 100102 c) 110111012 + 1110011012 + 11101112 d) 11000011012 + 11001011112 + 111000111012 2) Efetuar as subtrações a) 11011110112 - 1110011012 b) 1111011011012 - 110110111112 c) 10011012 - 1011012 3) Efetuar as multiplicações a) 1011012 X 10102 b) 1111011012 X 10012 4) Determine o complemento 1 a) 101011102 b) 10000010001111012 5) Determine o complemento 2 a) 100111002 b) 1011011101100102 Função E (and) ou porta E Porta E Entradas símbolo saída Tabela Verdade A B S 0 0 0 0 1 0 1 0 0 1 1 1 Equação: S = A . B Função ou (or) ou porta ou Porta OU Entradas símbolo saída Tabela Verdade A B S 0 0 0 0 1 1 1 0 1 1 1 1 Equação: S = A + B Professor: Marcos José Sanvidotti 8 Circuitos Digitais para ComputadoresFunção não (not) ou porta não Porta OU Entradas símbolo saída Tabela Verdade A S 0 1 1 0 Equação: S = A Portas Nand São portas com a saída tendo uma porta not Porta NAND Entradas símbolo saída Tabela Verdade Equação: S = A . B A B S 0 0 1 0 1 1 1 0 1 1 1 0 Portas Nand São portas com a saída tendo uma porta not Porta NOR Entradas símbolo saída Tabela Verdade A B S 0 0 1 0 1 0 1 0 0 1 1 0 Equação: S = A + B Professor: Marcos José Sanvidotti 9 Circuitos Digitais para Computadores Função ou exclusivo (EXOR) Porta EXOR Entradas símbolo saída Tabela Verdade A B S 0 0 0 0 1 1 1 0 1 1 1 0 Equação: S = A + B Função Coincidência (EXNOR) Porta EXNOR Entradas símbolo saída Tabela Verdade A B S 0 0 1 0 1 0 1 0 0 1 1 1 Equação: S =A . B Se houver a necessidade de ter mais de 2 entradas em uma porta por exemplo, 4 entradas em uma porta de um circuito integrado. Professor: Marcos José Sanvidotti 10 Circuitos Digitais para Computadores Interligação de Portas Iremos fazer a interligação de portas e a analise do resultado. Dado o circuito abaixo, montar a equação lógica e a tabela verdade do circuito. 1) 1 = A . B 2 = A . B ) Tabela Verdade Tabela Verdade Entradas Saídas A B 0 0 0 1 1 0 1 1 S1 S2 0 1 0 1 0 1 1 0 S S 2 Entradas Saídas A B 0 0 0 1 1 0 1 1 S1 S2 1 1 0 0 1 1 0 1 Professor: Marcos José Sanvidotti 11 Circuitos Digitais para Computadores 3) 1 2 . B 3 . B ) + C 4 = quivalência de blocos lógicos ) S = A S = A S ( A S ( A . B ) + C E 1 ntradas Saídas E A B 0 1 1 0 1 1 . B B 1 1 1 1 1 1 0 0 0 0 A A + Entradas Saídas A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 S1 S2 S3 S4 1 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 Professor: Marcos José Sanvidotti 12 Circuitos Digitais para Computadores 2) ntradas Saídas E A B 0 1 1 0 1 1 . B B 1 1 0 0 0 0 0 0 0 0 A A + ) 3 ) 4 ) 5 ) 6 Professor: Marcos José Sanvidotti 13 Circuitos Digitais para Computadores 7 A + B ) A + B ) xercícios equações e a tabela verdade dos itens abaixo ) 8 E A A . B . B Levantar as 1 ) 2 ) 3 Professor: Marcos José Sanvidotti 14 Circuitos Digitais para Computadores 4) ) Dada a tabela verdade, escreva a equação e desenhe o circuito. A B S 5 0 0 1 0 1 1 1 0 0 1 1 1 A partir da equação desenhe o circuito e a tabela verdade ) ) Monte a tabela e a equação dos circuitos a seguir 6) a) S = ( A + B ) . C + A . B b S = A . B + B . C 7 a) ) b Professor: Marcos José Sanvidotti 15 Circuitos Digitais para Computadores Álgebra de Boole ropriedades da operação E ropriedades: ssociativa ( A . B ) . C = A . B . C omutativa istributiva ( A + B ) . ( A + C ) entidades básicas . 0 = 0 . 1 = A . A = A = 0 ropriedades da operação OU ssociativa + ( B + C ) = ( A + B ) + C = A + B + C omutativa + B = B + A istributiva . ( B + C ) = A . B + A . C entidades básicas + 0 = A + 1 = 1 + A = A + A = 1 P P A A . ( B . C ) = C A . B = B . A D A + ( B . C ) = Id A A A A . A P A A C A D A Id A A A A Professor: Marcos José Sanvidotti 16 Circuitos Digitais para Computadores Porta NOT ( não ) entidades básicas + = 1 = 0 = A eorema de DeMorgam mplificar expressões booleanas ) O complemento do produto e igual à soma dos complementos ( A . B ) = A + B ) O complemento da soma é igual ao produto dos complementos ) Identidades auxiliares + A . B = A + A . B = A + B A + B ) . ( A + C ) = A + B . C quações lógicas plicação do teorema de DeMorgam e de equações lógicas booleanas iagrama. xemplo: or de uma empresa, um alarme deverá disparar toda vez que ocorrer uma trica, o gerador auxiliar não entra em funcionamento e as 2) ar funcionar e as luzes de 3) , o gerador auxiliar funcionar e as luzes de 4) gerador auxiliar funcionar e as luzes de Vamos e Id A A A . A A T São empregados para si 1 2 3 A + B = A . B A A ( E A Passos a serem seguidos para resolver um problema lógico. 1) Elaborar a tabela verdade. 2) Extrair a equação lógica. 3) Execução do circuito ou d E Em um set das seguintes situações: 1) Faltar energia elé luzes de emergência não acenderem. Faltar energia elétrica, o gerador auxili emergência acendem. Houver energia elétrica emergência acenderem. Houver energia elétrica, o emergência não acenderem. laborar a tabela verdade. Professor: Marcos José Sanvidotti 17 Circuitos Digitais para Computadores Temos 3 variáveis A – Energia elétrica. cia. onvenção em binário para as situações Falta de energia 1 B – Gerador auxiliar. C – Luzes de emergên C Com energia 0 1 0 1 0 Alarme disparado 1 Alarme desligado 0 Gerador funcionando Gerador não funcionando Luzes de emergência acesas Luzes de emergência apagadas onstrução da Tabela Verdade. A B C S C 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 saída S = 1 é o resultado das proposições dadas. as saídas S = 1. = A . B . C a quarta linha temos: . B . C a quinta lina temos: = A na sétima linha temos: = A . B ara criar a expressão booleana total interligamos os 4 termos usando a função ou . B . B . C + A + A . B A Extraímos a expressão algébrica booleana a partir d Na terceira linha temos: S N S = A N S . B . C E S . C P ( + ). S = A . C + A . B . C . C Professor: Marcos José Sanvidotti 18 Circuitos Digitais para Computadores Aplicamos o teorema da Absorção a equação temos 4 teoremas: . ( A + B ) = A + A . B = A + . B = A + B . + B ) = A . B as outras propriedades na equação . B + . B . C + A + A . B = A . ( B . C + B . C ) + A . ( B . C + B . C ) = A . ( B . 1 1 = A . ( B . 1 ) + A . ( C . 1 ) = A . B + A . C m outro método que pode ser aplicado, o do mapa de Karnaugh é uma forma são os 4 casas. B S A A A A A ( A E S = A . C A . B . C . C S S ( C + C ) + A . ( C . ( B . + B ) S S U gráfica de fazer a simplificação, é muito mais prático e seguro.Para cada expres booleana deve-se construir um mapa diferente. Expressão booleana com 2 variáveis A e B terem A 0 0 0 1 1 0 1 1 Com 4 variáveisA, B, C, D. mo na vertical de uma casa para outra somente uma A 0 Obs: Tanto na horizontal co variável pode mudar. B 1 0 1 A B 00 01 11 10 CD 00 01 11 10 Professor: Marcos José Sanvidotti 19 Circuitos Digitais para Computadores Exemplo de utilização. + A + A B . C + A . B . C + A . B . C . C B = A + B . C xercícios B C S Dada a equação: Y = A . B . C . B . C . B A . B . C Y . B + B . C E 1) A 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 A . C A . B + A . C + B . C A B A . C C 0 1 0 0 1 1 0 1 1 1 00 01 11 10 A B 00 01 11 10 C 0 0 0 1 1 1 1 1 0 1 S = A . C Professor: Marcos José Sanvidotti 20 Circuitos Digitais para Computadores 2) B C S S = A . B . C + A . B . C + A . B . C + A . B . C + A . B . C A 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 C A . B = C + ) B C S S A . B 3 S = A . B . C + A . B . C + A . B . C A 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 A . C = A + . B . C A B 00 01 11 10 C 0 1 0 0 0 1 1 1 1 1 A . B . C S . C A A B 00 01 11 10 C 0 0 0 1 1 1 0 1 0 0 Professor: Marcos José Sanvidotti 21 Circuitos Digitais para Computadores 4) C + A . B . C + A . B . C : S + B . C ) S = A . B . C . D + A . B . C . D + A . B . C ) Preencher a tabela abaixo a partir do circuito: B C D L1 L2 S = A . B . C + A . B . R = A . C 5 . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D 6 A ) Através do mapa de Karnaugh determinar a expressão simplificada das saídas. ) S1 S2 7 a A B 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 b) C S1 S2 S3 S4 A B 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 Professor: Marcos José Sanvidotti 22 Circuitos Digitais para Computadores c) B C D S1 S2 S3 S4 A 0 0 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 d) C D S A B 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 e) C S1 S2 S3 S4 A B 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 Professor: Marcos José Sanvidotti 23 Circuitos Digitais para Computadores f) C P A B 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 g) C D S A B 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 h) S = A . B . C + A . B . C + A . B . C + A . B . C S = A . B . C . D + A . B . C . D + A . A . B . C . D C S1 S2 S3 i) B . C . D + A . B . C . D + A . B . C . D + j) A B 0 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 Professor: Marcos José Sanvidotti 24 Circuitos Digitais para Computadores k) C D S A B 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 l) C S1 S2 S3 S4 A B 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 m) C D S1 S2 S3 S4 A B 0 0 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 Professor: Marcos José Sanvidotti 25 Circuitos Digitais para Computadores Professor: Marcos José Sanvidotti 26 EV Circuito lógico. A B C Bo E letro válvula Bomba Caixa 2 Caixa 1 xercícios um circuito lógico que permita controlar uma bomba para encher caixa onvenções: C. omba Bo 0 letro válvula 0 nalise de caso: aso A = 0 , B = 0 , C = 0. etrodos ligamos Ev = 1 para abastecer a caixa 1 e não E 1) Elabore de água no alto de um edifício a partir de outra, como reservatório, colocada no térreo. O circuito, através da informação de eletrodos, convenientemente dispostos nas caixas, deve atuar na bomba e numa eletro válvula ligada. C Eletrodos A,B, Com água = 1 Sem água = 0 B Ligada = 1 Desligada = E Ligada = 1 Desligada = A C Ausência de água nos 3 el ligamos a Bo = 0, pois não há água no eletrodo B Circuitos Digitais para Computadores Caso A = 0, B = 0 e C = 1. 1 e não ligar a bomba Bo = 0, a caixa 1 está vazia e a aso A = 0, B = 1 e C = 0. letro válvula Ev = 1, há água no eletrodo B e não nos aso A = 0, B = 1 e C = 1. 1 apenas ( Bo = 0 ) a caixa 1 esta incompleta e a caixa 2 aso A = 1, B = 0, C = 0. água no eletrodo A e não no B, falha não acionar Ev = 0 e aso A = 1, B = 0 e C = 1. aso A = 1, B = 1 e C = 0. 0 , caixa 1 cheia e caixa 2 vazia. aso A = 1, B = 1 e C = 1. em a bomba Bo = 0 caixas cheias. ) Projete um circuito que a partir de um código binário escreva a seqüência da Ligar a eletro válvula Ev = caixa 2 cheia. C Ligar a bomba Bo = 1 e a e demais. C Ligar a eletro válvula Ev = cheia. C Representa presença de Bo = 0. C Igual ao caso anterior. C Ligar bomba Bo = 1 e Ev = C Não ligar válvula Ev = 0 e n 2 figura abaixo em um display de 7 segmentos. Display 0 1 2 3 4 5 6 7 b c a d g f e Professor: Marcos José Sanvidotti 27 Circuitos Digitais para Computadores 3) Determinar a expressão booleana dos circuitos abaixo. 1) ) 2 ) 3 ) Dada as expressões abaixo desenhar os circuitos correspondentes. a) b) c) ) Minimizar as expressões abaixo: a) ) 4 S = ( A . B + C . D ) S = [ ( A + B ) + ( C . D ) ] . D S = [ ( A . B ) + ( C . D ) ] . E + [ ( A . D . E ) + ( C . D . E ) ] . A 5 S = A . B . C + A . B . C + A . B . C + A . B . C b S = A . B . C + A . B . C + A . B . C + A . B . C Professor: Marcos José Sanvidotti 28 Circuitos Digitais para Computadores c) C + A . B . C + A . B . C ) S = A . B . C . D + A . B . C . D + A . B . C. D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D ) B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D S = A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . D + A . B . C . amílias lógicas os são dispositivos semicondutores nos quais uma única amília TTL (Transistor Transistor Logic ) idas pela Texas Instruments. 125ºC e na faixa de 0ºC à + 70ºC com alimentação ções disponíveis como portas lógicas, flip-flop, decodificadores, umero de portas contidas no CI há uma classificação: 12 Scale Integration – integração em media escala ): de 13 a 99 cale Integration – integração em grande escala): de 100 a 1000 arge Scale Integration – integração em escala muito grande): S = A . B . C + A . B . d e S = A . B . C . D + A . B . C . D + A . f) Professor: Marcos José Sanvidotti D F Circuitos integrad pastilha ( chip ) de silício integra um certo numero de resistores, diodos, transistores, etc, numero este que pode ultrapassar a casa dos milhares. Os circuitos integrados são agrupados em famílias. F Pertencem às series 54 e 75, foram introduz A família 54 é de uso militar e opera na faixa de temperatura de -55º C a + tensão de alimentação de 5 ± 0, 5 V. A família 74 é de uso geral e trabalha de 5 ± 0,25 V. São varias fun contadores, etc. Dependendo do n -SSI (Small Scale Integration - integração em pequena escala): de 1 a portas lógicas. -MSI ( Médium portas lógicas. -LSI (Large S portas lógicas. -VLSI (Very L acima de 1000 portas lógicas. Características A T1 T2 S Vs B 29 Circuitos Digitais para Computadores - Vcc: Alimentação de 5V nível 1 na entrada mínimo de 2 V abaixo deste valor el 0 na entrada o valor maximo é da ordem de 0,8 V. amílias CMOS em duas series principais a serie 54C/74C e a serie 4000. ºC a 125ºC xceção do tipo 4000B que opera OS possuem uma excelente imunidade a ruídos, o que faz estes 8 V, mas o valor típico e de 9V a estar ligadas a uma tensão definida Vdd ou a ostáticas. lip – Flop , não é necessária a manutenção dos sinais de entrada para que que ando as ado na saída, só ocorrem segundo a Assíncrono Síncrono - VHI: Tensão que garante não será visto como nível 1. - VIL: Tensão que garante nív -VOH: Nível 0 de tensão de saída, o valor maximo é da ordem de 0,5 V. F São encontrados Os CIs da serie 54C operam na faixa de temperatura de - 55ºC a +125ºC. Os da serie 74C operam na faixa de - 40ºC a +85ºC. A serie 4000 possui duas versões: - A versão 4000A trabalha entre – 55 - A serie 4000B opera entre – 55ºC a + 125ºC. A tensão de trabalho está entre 3 e 15 V com e entre 3 e 18 V. Os circuitos CM CIs serem indicados para aplicações em ambientes com alto nível de ruído elétrico por exemplo em ambientes industriais. A tensão de alimentação esta na faixa de 3 V a 1 12 V porque a velocidade, as capacidades de fornecer ou absorver corrente e a imunidade ao ruído são maiores. As entradas não utilizadas devem terra, caso contrario a entrada assumira um estado lógico indefinido, tornando operação do circuito imprevisível. São muito sensíveis as cargas eletr F Nos flip-flop exista um sinal válido na saída. O sinal de saída depende também do estado anterior, por este motivo o flip-flop é utilizado como dispositivo de memória porque pode ser levado a um de seus dois estados e assim permanecerá até um estimulo externo, aplicado à entrada traga-o ao seu outro estado. Os flip-flops podem ser assíncronos ou síncronos, são assíncronos qu mudanças de estado em sua saída ocorrem imediatamente com as mudanças de estado das condições das entradas R e S. São síncronos quando as mudanças de est cadência dos pulsos de um sinal de controle chamado de “clock” ou “Strobe”. Na figura abaixo temos a representação de um flip-flop assíncrono e de um flip- flop RS síncrono. Professor: Marcos José Sanvidotti 30 Circuitos Digitais para Computadores RS Assíncrono R S Situação 0 0 Não há mudança de estado na saída 0 1 Q vai para 1 independente do estado anterior 1 0 Q vai para 0 independente do estado anterior 1 1 Estado imprevisível S R Qn-1 Qn 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 ? 1 1 1 ? Entradas Saídas Situação S R 0 0 0 1 1 0 1 1 Qn-1 Qn-1 0 1 ? Efeito sobe o estado Não muda Qn = Qn-1 Fixa Qn em 0 Fixa Qn em 1 imprevisível S Síncrono estado depende dos pulsos do clock para o clock igual a 1 poderá R A mudança de haver mudança de estado segundo a combinação nas entradas R e S. Para o clock igual a 0 as entradas R S estarão bloqueadas não havendo mudança. Professor: Marcos José Sanvidotti 31 Circuitos Digitais para Computadores Entradas Saídas CLK S R 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 n-1 Q 0 0 1 1 0 0 1 0 0 1 1 1 0 ? Q utros tipos de entrada de clock a) sitivo a xercícios o o flip-flop R S abaixo, chaveie as entradas utilizando o simulador, Entradas Saídas O CLK a b CLK c CLK CLK d P oor nível p b) Por nível negativo c) Por rampa de subid d) Por rampa de descida E 1) Utilizand conforme a tabela, observe o efeito e preencha a mesma. S R 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 ? ? Q Q Professor: Marcos José Sanvidotti 32 Circuitos Digitais para Computadores 2) tilizando o simulador montar o flip-flop abaixo e preencher a tabela U Entradas Saídas S R 0 0 0 1 1 0 1 1 Q Q ? ? 0 1 1 0 1 1 ) Utilizando o simulador monte o flip-flop R S síncrono abaixo e chaveie as . 3 entradas de acordo com a tabela e complete as colunas relativas às saídas Professor: Marcos José Sanvidotti 33 Circuitos Digitais para Computadores Entradas Saídas CLK S R 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 Q Q 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 lip-Flop J K possue condições inválidas S = 1 e R = 1 neste caso a saída é ão na F J K Assíncrono F O flip-flop R S indeterminada. No flip-flop J K não há estado indeterminado. Os flip-flop J K s realidade flip-flop R S realimentados para impedir o estado indeterminado na saída quando S = 1 e R = 1. F Professor: Marcos José Sanvidotti 34 Circuitos Digitais para Computadores Flip-Flop J K Síncrono lip-Flop J K com Preset e Clear r o estado inicial de saída. stas ão s e não dependem do clock e possuem prioridade F São usados para pré – estabelece Se Preset = 0 ? Q = 1 Se Clr = 0 ? Q = 0 E entradas s assíncrona sobre todas as outras entradas. Professor: Marcos José Sanvidotti 35 Circuitos Digitais para Computadores Exercícios o o simulador montar o flip-flop J K assíncrono, chavear as entradas 1) Utilizand conforme a tabela e preencher as colunas de saída. EntradasSaídas J K 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 Q Q 1 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 ) FF J K Síncrono 2 Professor: Marcos José Sanvidotti 36 Circuitos Digitais para Computadores Entradas Saídas J K CLK 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1 Q Q 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 1 ) FF J K com Preset e Clear abela 1 Entradas Saídas 3 T J K PR CLR CLK 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 Q Q 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 Professor: Marcos José Sanvidotti 37 Circuitos Digitais para Computadores Tabela 2 Entradas Saídas J K PR CLR CLK 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 Q Q 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 abela 3 Entradas Saídas T J K PR CLR CLK 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 0 Q Q 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 lip-flop T entrada que ao receber um pulso alto, mudo estado de saída.Esse flip- F T assíncrono F Possui uma flop não é disponível comercialmente, é obtido através do flip-flop J K. F T Tabela Verdade Entrada Saída T 0 1 0 1 Qn-1 Qn 0 0 0 1 1 1 1 0 FF Q Q K J Professor: Marcos José Sanvidotti 38 Circuitos Digitais para Computadores FF T síncrono F T sse struir circuitos divisores por 2 contadores. lip-flop D onhecido também como “latch D” é obtido de um FF R S Entrada Saída F com Preset e CLR E FF T é utilizado para con F C D 0 1 Q 0 1 Saída FF Q Q CLK T PR Q Q CLK T CLR FF S Q RS R Q Professor: Marcos José Sanvidotti 39 Circuitos Digitais para Computadores Contadores Ou a partir de um FF J K ua principal função é a construção de dispositivos de armazenamento de dados. CLK Q3 Q0 CLR CLK T0 Q1 CLR CLK T1 Q2 CLR CLK T2 Q CLR CLK T3 Q0 Q1 Q2 Q3 Q0 CLR CLK T0 Q1 CLR CLK T1 Q2 CLR CLK T2 Q CLR CLK T3 Q0 Q1 Q2 K Q CLK 0 0 1 0 1 0 11 00 0 0 0 0 0 00 0 0 1 1 1 10 01 10 0 1 1 FF J Q JK CLK FF D D Q Q S Professor: Marcos José Sanvidotti 40 Circuitos Digitais para Computadores Multiplexador É um circuito utilizado em comunicação de dados e telefonia.Por ser utilizado em ntradas e fornece na saída um sinal multiplex funciona com uma chave seletora de 1 pólo e n posições. e acordo com as variáveis de seleção uma das entradas é selecionada e o sinal e que serve para ativar o emultiplex ou Demux possui uma entrada e varias saídas, funciona como um comunicação de dados tem muita importância em eletrônica digital nas aplicações de estrutura interna de calculadoras, computadores teleprocessamento e na interligação de periféricos em computadores. O multiplexador recebe vários sinais em suas e de cada vez. MUX E1 E0 En A B C D Variáveis de Seleção E2 O E0 E1 E2 En S D enviado para a saída S, ou seja, o numero de entradas está amarrado ao numero d variáveis de seleção, então temos m variáveis de seleção e n entradas de dados, se m = 2 teremos n = 2m = 22 = 4 variáveis de entrada. O multiplex possui um comando chamado “strobe” multiplexador e desativá-lo é utilizado para sincronização. D multiplex de forma inversa. S0 S1 S2 S3 Sn Professor: Marcos José Sanvidotti 41 Circuitos Digitais para Computadores A saída e selecionada pelas variáveis de seleção da mesma forma que o multiplex. Variáveis de seleção sincronizadas. omador, Subtrador. itos aritméticos, são utilizados em unidades lógicas omador a soma binária, temos dois tipos o meio somador (half adder) e o eio somador a a soma binária de dois algarismos mas realiza a soma de vai um. xpressão: S = A . B + A . B = A + B o = A . B B E A C S0 S1 S2 Sn Uma aplicação do Multiplex e Demultiplex. S0 S1 S2E2 MUX DEMUX E0 En Sn E1 S Fazem parte dos circu aritméticas (ULA) de computadores e calculadoras. S Executam somador completo (full adder) Soma Binária a) 0 + 0 = 0 b) 0 + 1 = 1 c) 1 + 0 = 1 d) 1 + 1 = 10 M O circuito efetu Obs: Co é o vai um E C Professor: Marcos José Sanvidotti 42 Circuitos Digitais para Computadores Tabela Verdade A B S Co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Circuito do meio somador possui um terminal chamado carry in ou Ci e efetua a soma do abela Verdade o Somador Completo O somador completo vai um na operação. A + B + Ci T A B Ci S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Expressão = A . B . Ci + A . B . Ci + A . B . Ci + A . B . Ci = A + B + Ci o = A . B . Ci + A . B . Ci + A . B . Ci + A . B . Ci = A . B + A . Ci + B . Ci S C Professor: Marcos José Sanvidotti 43 Circuitos Digitais para Computadores Circuito ara realizar a soma de n algarismos devemos fazer uma associação em cascata de ubtrator forma que o somador temos o meio subtrator e o subtrador completo. empresta um (borrow) (Bo) eio subtrador P vários somadores completos. Con-1 Cin-1 Co2 Ci2 Co1 Ci1 Co0 A2 B2 A1 B1 A0 B0 Bn-1 An-1 S2 S1 S0 Sn-1 Sn Ci0 N + 1 saídas S Da mesma O meio subtrador não utiliza o empresta um já o subrator completo sim. Subtração Binária a) 0 – 0 = 0 b) 0 – 1 = 1 c) 1 – 0 = 1 d) 1 – 1 = 0 M Professor: Marcos José Sanvidotti 44 Circuitos Digitais para Computadores Tabela verdade B S Bo A 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Expressão = A . B + A . B = A + B o = A . B ircuito ubtrador Completo sse circuito e capaz de subtrair o um emprestado usando um terminal barrow in abela Verdade B Bi S Bo Comentários S B C S E (Bi) T A 0 0 0 0 0 0 0 1 1 1 Empresta um 0 1 0 1 1 Empresta um 0 1 1 0 1 Empresta um 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 Empresta um Expressão Professor: Marcos José Sanvidotti 45 Circuitos Digitais para Computadores S = A . B . Bi + A . B . Bi + A . B . Bi + A . B . Bi = A + B + Bi o = A . B . Bi + A . B . Bi + A . B . Bi + A . B . Bi = A . B + A . Bi + B . Bi ircuito ara s o odificador e Decodificador o que converte uma forma de informação em outra forma mais emórias odemos dividir as memórias em duas grandes categorias: ROM e RAM. OM ignifica read only memory, ou seja, memória para apenas leitura. Dizemos ntra hardware BC P ubtração de n algarismos fazemos uma ligação em cascata como no caso d somador. C Codificadores É um dispositiv adequada para sr transmitida ou processada. M P Em todos os computadores encontramos ambos os tipos. R ROM s então que a ROM é uma memória não volátil. Uma típica aplicação da ROM é o armazenamento do BIOS do PC, aquele programa que e em ação assim que o ligamos. Este programa testa a memória, inicializa o e inicia a carga do sistema operacional. Professor: Marcos José Sanvidotti 46 Circuitos Digitais para Computadores RAM ica random access memory, ou seja, memória de acesso aleatório. Este nome esumindo, as principais características da ROM e da RAM são: ROM RAM Signif não dá uma boa idéia da finalidade deste tipo de memória, talvez fosse mais correto chamá-la de RWM (read and write memory, ou memória para leitura e escrita). Em operação normal, o computador precisa fazer não apenas o acesso a dados e instruções, através de leituras na memória, mas também guardar resultados, através de operações de escrita na memória. R Significado nly memory m access memoryRead o Rando Faz leituras SIM SIM Faz escritas NÃO SIM Perde dados ao ser desligada NÃO SIM ROM RAM io dos anos 90, as memórias dos PCs usavam encapsulamento DIP e eram processo de fabri com a adoção dos módulos SIMM (single ias 72 to seriam necessários 8 m Até o iníc instaladas, chip por chip. Trabalho fácil para um técnico, mas uma tarefa bastante complexa para um usuário que nunca fez este tipo de trabalho. O cação foi simplificado inline memory module). Módulos SIPP caíram em desuso no início dos anos 90, sendo substituídos pelo formato SIMM. Processadores 386 e 486 utilizam memór de 32 bits, portanto os módulos SIMM eram usados em grupos de 4. Por exemplo, 4 módulos iguais, com 4 MB cada um, formavam um banco de 16 MB, com 32 bits. Os módulos SIMM usados até então tinham 30 contatos, portanto eram chamados de SIMM/30, ou módulos SIMM de 30 vias (ou 30 pinos). Ainda eram bastante comuns em meados dos anos 90, mas já existiam na época,módulos SIMM de vias (SIMM/72), que forneciam 32 bits simultâneos. O Pentium trabalha com memórias de 64 bits, portan módulos SIMM/30 para formar um banco de memória. Os fabricantes passara então a adotar os módulos SIMM/72. Dois desses módulos eram suficientes para formar um banco de 64 bits. Já em 1996 era praticamente impossível encontrar à venda módulos SIMM/30, exceto no mercado de peças usadas. Professor: Marcos José Sanvidotti 47 Circuitos Digitais para Computadores Visando uma integr m criados ados te - ste tipo de módulo era usado para formar a memória cachê de algumas placas de ois novos tipos de memória prometem ser comuns nos computadores avançados, ação de componentes ainda maior, fora módulos que fornecem 64 bits simultâneos. Esses módulos são cham DIMM/168 (dual inline memory module), e possuem 168 vias. Um único módulo DIMM/168 forma um banco de memória com 64 bits. É exatamen o número de bits utilizados pelos processadores modernos (Pentium 4, Pentium III, Athlon, Duron, Celeron) e os não tão modernos, como K6, K6 2, K6-III, Pentium Pro, Pentium II, Pentium MMX, etc. E CPU Pentium, e também de algumas placas de CPU 486 e 586 produzidas naquela época. Note que os módulos COAST para placas de CPU Pentium são um pouco diferentes dos utilizados para placas de CPU 486/586. Os módulos para Pentium usam memórias SRAM do tipo Pipelined Burst, que normalmente têm o encapsulamento TQFP. D a partir de 2001. São as memórias RAMBUS (RDRAM) e as memórias DDR SDRAM. Memórias RAMBUS usam o encapsulamento RIMM de 184 vias. Esses módulos têm tamanho similar ao dos módulos DIMM/168, cerca de 13 centímetros. Professor: Marcos José Sanvidotti 48 Circuitos Digitais para Computadores Módulos DIMM/168,DIM hantes (13,3 cm), mas /184. ros ncrona (Synchronous DRAM), muito utilizada nas placas de CPU xceções, DR SDRAM poderá entregar um dado a cada pulso de clock. Como temos duas e os em ealiza 200 e ipo Clock Taxa de transferência ock Taxa de transferência M/184 e RIMM/184 têm larguras semel diferenças bastante sutis. Os dois chanfros do DIMM/168 dividem os contatos do conector em três grupos, enquanto os dois chanfros do RIMM/184 ficam mais próximos do centro, mas não existem contatos entre os dois chanfros do RIMM Uma outra diferença: os módulos DIMM/168 possuem um chanfro em forma de semicircunferência em cada lateral. Os módulos DIMM/184 possuem dois chanf em cada lateral. Esta é a DRAM sí produzidas entre 1997 e 2001. A principal diferença em relação às DRAMs dos tipos EDO e FPM é que seu funcionamento é sincronizado com o do chipset (e normalmente também com o processador), através de um clock. Existem e como processadores Athlon com clock externo de 200 MHz, mas com memórias operando com apenas 100 ou 133 MHz. D Cada SDRAM memórias “em paralelo”, o conjunto poderá entregar dois dados a cada pulso de clock. Agora, ao invés de utilizar dois chips SDRAM iguais, lado a lado, constrói-s um único chip com os circuitos equivalentes aos das duas SDRAMs, e adiciona-se a ele, os circuitos necessários para fazer a transmissão dupla a cada pulso de clock. O chip resultante é uma DDR SDRAM. Na DDR SDRAM, utilizando períod iguais, cada transição de subida ou de descida indica a presença de um dado pronto. Portanto são dois dados a cada clock. As memórias DDR SDRAM receb nomes de acordo com o clock que trabalham, e também com a taxa de transferência. Por exemplo, uma DDR SDRAM que opera com 100 MHz r milhões de transferências por segundo, portanto é chamada de DDR200. Aqui comete-se mais uma vez, uma imprecisão típica de fabricantes de memórias e d discos rígidos: confundir bilhão com giga. T Tipo Cl DDR20 C1600 100 MHz 0 ou P 1,6 GB/s DDR266 ou PC2100 133 MHz 2,1 GB/s DDR300 ou PC2400 150 MHz 2,4 GB/s DDR333 ou PC2700 167 MHz 2,7 GB/s DDR400 ou PC3200 200 MHz 3,2 GB/s DDR800 ou PC6400 400 MHz 6,4 GB/s Professor: Marcos José Sanvidotti 49 Circuitos Digitais para Computadores SISTEMA OPERACIO rma ao computador como interagir com o usuário e . a Sistema Operacional? azenem e obtenham as informações; ros • programas independentes cooperem periodicamente e • tre programas que solicitem recursos. TIP r de acordo com a execução dos programas. ; . ONOTAREFA ido como Single-Tasking, neste tipo de sistema operacional é a onousuário ossibilita que apenas um único usuário trabalhe no computador por ser do tipo Monousuário Monotarefa e Monousuário Multitarefa. ULTITAREFA resenta um avanço em relação ao sistema Monotarefa. Na maioria de NAL O sistema operacional info como usar dispositivos como a unidade de disco, monitor, teclado e impressora A segunda etapa é quando o computador procura o programa chamado de sistem operacional. O que faz um • Permite que os programas arm • Controla o fluxo de dados entre os componentes de um computador; • Permite que os programas sejam executados sem interferência de out programas; Permite que compartilhem informações; Impõe um escalonamento en OS DE SISTEMAS OPERACIONAIS Os sistemas operacionais podem varia Os principais tipos são: • Monotarefa; • Monousuário • Multitarefa; • Multiusuário M Também conhec realizada apenas uma única atividade de cada vez. È necessário que a atividade anterior tenha terminado ou sidointerrompida para que a atividade seguinte poss ser iniciada. Um exemplo deste sistema é o MS-DOS. M Este sistema p vez. Podem M Este sistema rep das vezes, comporta apenas um único usuário. Sua principal característica é executar várias atividades simultâneas. Como exemplo, temos a possibilidade ouvir um CD de música e imprimir um trabalho ao mesmo tempo. No sistema multitarefa as tarefas se alternam rapidamente dando a impressão de serem Professor: Marcos José Sanvidotti 50 Circuitos Digitais para Computadores executadas simultaneamente, desta forma haverá uma maior demora na exec das tarefas e uma maior quantidade de softwares deve residir na memória. ução ULTIUSUÁRIO xos que os sistemas Monousuário, possibilitando que vários or nidade de controle é responsável pelo controle do endereço da memória es de gião contínua da memória, denominada pilha (stack), é re o no alavra is de processamento central, para a execução de operações e controle de programa, a qual determina o seqüenciamento litando sua ia de registradores dedicados ao armazenamento dos operandos e dos central, na qual são guardados programas e dados, de barramento do sistema, o qual deve ser usado de forma os. nforme transferência de dados; e instruções de controle. ações utilizando , M São mais comple usuários utilizem o mesmo Sistema Operacional. Este sistema deve ter um mai controle sobre os usuários e principalmente evitar interferências dos usuários uns com outros. Outra característica importante é o controle do compartilhamento dos dados. U A unidade de controle principal no qual estão armazenadas as instruções. Adicionalmente, instruçõ controle podem influenciar a seqüência de execução de um programa alterando o conteúdo do PC. Existem ainda outros registradores que facilitam o acesso a instruções e dados. Por exemplo, uma re utilizada enquanto da transferência do controle do sistema (computador) ent subprogramas. O apontador de pilha (stack pointer - SP), é um registrador usad controle da posição de memória para colocar/retirar dados do topo da pilha. Um tamanho típico para palavra de memória é 8 bits (1 byte). O tamanho da p utilizada para endereçar a memória depende do número de endereços disponíveis. Assim, para uma memória com 1024 endereços, por exemplo, o tamanho da palavra para endereçamento da memória será 10 (pois 210 = 1024). A palavra interna à CPU, por sua vez, geralmente tem tamanho distinto do das demais. As maiores partes dos computadores ainda hoje apresentam traços desta arquitetura. Suas principa características são: Possuir uma unidade lógicas e aritméticas; Possuir uma unidade d das instruções a serem executadas por meio de sinais de controle; Instruções dos programas armazenadas de maneira seqüencial, faci busca; Existênc resultados das operações; Unidade de armazenamento forma compartilhada; existência de um único compartilhada para a transferência de dados e instruções entre os diversos bloc As funções possíveis de serem executadas pela CPU estão definidas no seu conjunto de instruções. Um computador típico possui algo entre 50 e 200 instruções distintas. As instruções podem ser divididas em três grupos, co sua natureza. Instruções de Instruções de processamento de dados As instruções de processamento de dados transformam as inform os recursos de hardware disponíveis na unidade operativa da CPU. As instruções de controle determinam à seqüência segundo a qual as instruções são executadas permitindo que o controle seja transferido de uma parte do programa para outra, ou entre diferentes subprogramas. Levando-se em conta que os tempos de execução Professor: Marcos José Sanvidotti 51 Circuitos Digitais para Computadores das instruções que envolvem apenas operações internas à CPU são muito menores do que o tempo necessário para transferências entre memória e CPU, caso fosse possível carregar instruções e dados ao mesmo tempo, o computador como um todo ficaria mais veloz. eg ulator), guarda dados utilizados em operações truction Register),guarda o código binário nter), Guarda o endereço de R - Memory Buffer Register, ou s . onjunto de Instruções Operação Descrição R istradores Especiais: ACC - Acumulador (Accum matemáticas e lógicas, auxiliando a ALU. RI - Registrador de Instruções (ou IR – Ins da operação corrente (em linguagem de máquina) - CI - Contador de Instruções (ou PC – Program Cou memória da próxima instrução a ser executada. RDM - Registrador de Dados da Memória (ou MB ainda, MAR - Memory Data Register),guarda os dados que serão lidos ou gravado na memória, REM - Registrador de Endereços da Memória (ou MAR - Memory Address Register),guarda o endereço de localização para o acesso à memória C Tipo de Instrução AC ? Transfere conteúdo do MQ reg. MQ para o acumulador AC Transfere conteú posição X de memória para MQ Transfere AC para posição de memória X MQ ? M(X) do da Transferência de dados M(X) ? AC conteúdo de Professor: Marcos José Sanvidotti 52 Circuitos Digitais para Computadores AC ? M(X) conteúdo da Transfere o posição de memória X para AC Transfere AC ? |M(X)| Transfere o valor absoluto de M(X) p AC Tran AC AC ? -M(X) –M(X) para AC ara AC ? -|M(X)| sfere -|M(X)| para Tipo de Instrução Operação Descrição Vai para M B da de (X, 0:19) usca a próxima instrução metade esquerda M(X) vio incondicional Busca próxima instrução metade direita de M(X) M(X, 0:19) Se o n de AC não for negativo busca a próxima instrução metade esquerda M(X) M(X, 20:39) Se o n de AC não for negativo busca a próxima instrução metade direita de M(X) endereço Subst campo de endereço à esquerda de Des Vai para M(X, 20:39) a da Se AC >= 0 então desvia para úmero na de Desvio condicional Se AC >= 0 então desvia para úmero na Modificação de M(X,8:19) ? AC(28:39) itui o Professor: Marcos José Sanvidotti 53 Circuitos Digitais para Computadores M(X) pelos 12 bits mais a direita de AC Substitui o campo de endereço à direita de M(X) pelos bits mais a direita de AC - |M(X)| para AC M(X,28:39) ? AC(8:19) 12 AC ?-|M(X)| Transfere Tipo de Instrução Operação Descrição AC?AC+M Soma M(X) a (X) AC; resultado em AC Soma |M AC; resultado em AC de AC; resultad AC de AC; resultad AC M(X) por M colocando os bits mais significativ do resultado em AC e os menos significa em MQ tmética A por M(X); colocando quociente em MQ e o resto em AC AC?AC+|M(X)| (X)| a AC?AC-M(X) Subtrai M(X) o em AC?AC-|M(X)| Subtrai |M(X)| o em AC, MQ?MQ*M(X) Multiplica Q; os tivos Ari MQ,AC?AC%M(X) Divide C o Professor: Marcos José Sanvidotti 54 Circuitos Digitais para Computadores AC?ACx2 a AC C Multiplic por 2; ou desloca A um bit a esquerda AC por 2; ou desloca A um bit a direita AC?AC%2 Divide C struções Assembly o registrador B do endereçamento de memória de memória em gistrador teste ento. nto. amento. amento. iclo de busca m barramento interliga diversas CPUs (unidades centrais de processamento), a CPUs e controladoras de • todas da mesma espécie. logia do barramento. arramento: pode ser pensado como um conjunto de sinais (linhas) que viabilizam que nenhum outro par seja capaz de fazê-lo. In LOAD B mem - carrega CON B con - carrega um valor constanteno registrador B SAVE B mem - armazena o registrador B no endereçamento ADD B A - soma A com B e armazena o resultado em mem SUB B A - subtrai A e B e armazena o resultado em mem MUL B A - multiplica A por B e armazena o resultado em m DIV A B - divide A por B e armazena o resultado em mem COM A B - compara A com B e armazena o resultado no re JUMP addr - desvia para um endereçamento JEQ addr - desvia, se igual, para o endereçam JNEQ addr - desvia, se não igual, para o endereçame JG addr - desvia, se maior que, para o endereçamento. JGE addr - desvia, se maior que ou igual, para o endereç JL addr - desvia, se menor que, para o endereçamento. JLE addr - desvia, se menor que ou igual, para o endereç STOP - pára a execução C U memória principal e as controladoras dos periféricos. • A memória é considerada global, visível a todas as periféricos. As CPUs são • São irrelevantes detalhes acerca da topo B a comunicação entre os demais módulos. Distinguem-se, pelo menos, 3 tipos de linhas: de dados, de endereços e de controle. Podemos assumir que, enquanto um par de módulos dialoga através do barramento, um árbitro de barramento garante Professor: Marcos José Sanvidotti 55 Circuitos Digitais para Computadores Memória: um conjunto de posições seqüenciais, univocamente identificadas por endereços. Cada posição é denominada uma palavra e tem seu comprimento specificado em bits. Tipicamente: 1 palavra = 1 byte = 8 bits. do o endereço inicial. e corresponder a egistradores: são palavras destinadas ao armazenamento temporário de , apresentando tempo de acesso mais pido do que as palavras da memória principal. Distinguimos 2 conjuntos básicos xima instrução a ser buscada; o registrador SP contém o serão • : pro stado de suspensão, ela aguarda por um evento externo eralmente uma interrupção) para passar ao estado de processamento; no estado o consiste em desmembrar a instrução em seus diversos • dificada em mais de uma palavra de memória, • or PC deverá conter o • ão: uma que Pa dec uma memória terna à CPU (a memória de microprograma). e Funcionalmente, a memória responde a 2 operações básicas: • Leitura do conteúdo de uma ou mais palavras consecutivas, da • Escrita de um determinado valor (cujo tamanho em bits pod uma ou mais palavras), dado o endereço inicial. CPU – Unidade Central de Processamento R informações, localizadas no interior da CPU rá de registradores: • Visíveis ao programador assembly: registradores de uso geral (r0, r1, ..., rn) e registradores de controle (PC, SP, PSW). O registrador PC contém o endereço de memória da pró endereço de memória do topo da pilha (stack) e o registrador PSW (processor status word) é a palavra de estado da CPU, contendo: flags (indicadores que refletem o estado da última operação realizada) e outras informações que oportunamente detalhadas. Invisíveis ao programador assembly: usados para controle interno da CPU. Ex MAR, MDR, etc... Funcionalmente, a CPU pode encontrar-se em 1 dentre 2 estados: suspensão ou cessamento. No e (g de processamento, ela realiza continuamente um ciclo de busca, decodificação e execução de instruções. • A fase de busca consiste na leitura da palavra de memória cujo endereço está especificado no registrador PC. • A fase de decodificaçã componentes (código de operação e operandos). Como uma instrução pode ser co as fases de busca e decodificação são, na verdade, inter-dependentes. Ao final da fase de busca/decodificação, o registrad endereço da palavra seguinte à última palavra da instrução em questão. A execução da instrução assemelha-se ao conceito matemático de funç operação (especificada pelo código de operação) é realizada sobre os operandos (especificados por modos de endereçamento). Há instruções envolvem 0 (nulárias), 1(unárias), 2 (binárias), ... operandos. ra ser executada, cada instrução (especificada em um programa em assembly) é omposta em uma série de microinstruções, armazenadas em in • As CPUs CISC (Complex Instruction Set Computer) possuem microprogramas complexos. Professor: Marcos José Sanvidotti 56 Circuitos Digitais para Computadores • As CPUs RISC (Reduced Instruction Set Computer) possuem, em seu repertório instruções já , bastante próximas (ou mesmo idênticas) às microinstruções, Os andos, que podem star em 3 localidades: em registradores internos da CPU, na memória principal ou r2 m e um operando externo ue não está em registrador da CPU); outras admitem, no máximo, uma referência respeito à combinação entre códigos de operação modos de endereçamento. Em uma CPU 100% ortogonal, todos os códigos de peracional, é essencial que a CPU possa funcionar em pelo menos dois modos de giado). em estado de suspensão). ar ga o referido bit, provoca a chamada a uma sub- Pe dos ao barramento através de interfaces controladoras e acionados través de comandos parametrizados enviados pelas CPUs. tura e escrita nos gistradores da controladora. Esses registradores possuem endereços e o acesso ida: algumas vezes dispensando a existência do microprograma. Modos de Endereçamento especificam a localização dos oper e em registradores das controladoras dos periféricos (normalmente denominados portas). Alguns modos importantes são: • Modo Registrador: mov r0,r1; move de r0 para r1 • Modo Absoluto: mov 234, • Modo Imediato: mov #421,sp • Modo Indireto: mov [r3],r0 • Modo Base+Deslocamento: mov [r3+20],r2 • Modo de Entrada/Saída: out r3,255 in 300,r1 Algumas CPUs possuem instruções que admite mais d (q a dados externos por instrução. O conceito de ortogonalidade diz e operação devem poder ser aplicados a todos os modos de endereçamento. Para implementar alguns mecanismos básicos de proteção em um sistema o execução: o modo usuário (ou não privilegiado) e o modo supervisor (privile • Funcionando em modo supervisor, a CPU pode executar qualquer instrução, sem restrições quanto à localização dos operandos. • Em modo usuário, a tentativa de executar algumas instruções especiais causa exceções. Exemplo de instrução especial: halt (entrar • O modo corrente de funcionamento pode ser armazenado em um bit da PSW (por exemplo: 0 = supervisor, 1 = usuário). • A transição de modo supervisor para usuário não oferece problemas: basta lig o bit correspondente na PSW; • Já a transição contrária deve ser feita através de uma instrução especial (TRAP) que, ao mesmo tempo que desli rotina situada em um endereço bem conhecido pelo sistema operacional. riféricos São conecta a O diálogo entre CPU e controladora envolve operações de lei re a eles se faz basicamente de duas maneiras, dependendo da arquitetura escolh • Através de instruções especiais para entrada e saída, como in e out (E/S direta ou PIO); Professor: Marcos José Sanvidotti 57 Circuitos Digitais para Computadores • Através de instruções regulares da CPU, que utilizam uma faixa de endereços não direcionada à memória principal (E/S mapeada). Há 3 técnicas importantes para o tratamento de entrada e saída: • A CPU comanda a operação desejada, escrevendo os parâmetros e o operação nos registradores da controladora. s adrão de bits • • a não é repetida indefinidamente, mas até um número Interru • A CPU comanda a operação desejada, escrevendo os parâmetros e o de operação nos registradores da controladora, dedicando-se, em • o sua identificação, a identificação da CPU a ser • (caso não estejam mascaradas). r • ral ...); avalia os resultados da operação comandada (lendo da uma • iliza uma instrução especial de retorno • brotinas de DMA ( • É um processador que se ocupada transferência de dados entre a ia principal. de ontroladora do periférico. Devem ser Loop de Status código de • A conclusão da operação é aguardada em uma malha, na qual são lido registradores de estado da controladora até que algum p neles se evidencie. Durante a malha, a CPU não pode ser dedicada a outras atividades. Normalmente a malh máximo de vezes (timeout), para evitar o monopólio da CPU. pção código seguida, a outras tarefas. Quando o periférico conclui a operação, a controladora interrompe a CPU, depositando no barrament interrompida e o sinal de interrupção. As CPUs, ao fim de cada ciclo de busca/decodificação/execução, verificam a existência de pedidos de interrupção • Baseada na identificação do periférico, a CPU interrompida simula uma chamada a uma subrotina de atendimento da interrupção, situada a parti de um endereço de memória calculado em função da identificação da controladora. São empilhadas informações que possibilitem o retorno inequívoco ao ponto de execução que está sendo interrompido (PC e PSW). A subrotina de atendimento: empilha todos os registradores de uso ge (r0, r1, registradores de estado da controladora); realiza, se necessária, a transferência de dados entre a memória e a controladora; coman próxima operação, se for o caso. Ao terminar seu processamento, a subrotina de atendimento desempilha os registradores de uso geral e ut de subrotina (IRET), que desempilhará a PSW e o PC; isto causará o retorno ao ponto onde o processamento foi interrompido. Comentário: há operações que podem gerar diversas interrupções ao longo de seu processamento. Portanto, muitas vezes, as su atendimento devem implementar uma máquina de estados, a fim de processar corretamente os diversos estágios da operação. Direct Memory Access) controladora e a memór • A programação do DMA pode ser explícita ou implícita ao comando entrada e saída enviado pela CPU à c Professor: Marcos José Sanvidotti 58 Circuitos Digitais para Computadores informados: o endereço de memória a partir do qual os dados serão lido (escritos); o número de palavras a transferir; o sentido da transferência (controlador ⇒ memória, em caso de leitura ou memória ⇒ controlador, em caso de escrita). A transferência dos dados se dá sem intervenção da CPU, diretamente entre a controladora s • e a memória principal (cycle stealing). ão. Ao perce endente, a CPU deverá simular uma chamada subrotina de atendimento: endereço. , o inada vetor de interrupções, situada em • es, o endereço da subrotina de atendimento • o ar o PC e a PSW, a CPU indexa esta tabela, A f tros, as CPUs ostumam associar níveis de prioridade ao atendimento de interrupções, o. o interrupções) o nível e está solicitando. io, o PU possa atendê-lo. C) rupção. es do oncluindo: o registrador PSW, no nosso modelo, deverá conter os seguintes ampos: orrente de Execução (0 = supervisor, 1 = usuário); • A operação comandada só é considerada concluída quando os dados já estiverem transferidos. • O DMA pode ser usado tanto em tratamento por loop de status quanto em tratamento por interrupç ber um sinal de interrupção p à • É necessário que esta subrotina esteja na memória principal, armazenada a partir de um determinado • Como várias controladoras podem enviar pedidos de interrupção a uma CPU comum é organizar uma tabela, denom um endereço de memória bem conhecido pela CPU (pode haver um registrador que armazene este endereço). Cada entrada desta tabela refere-se a uma fonte externa de interrupção e deve conter, dentre outras informaçõ específica para aquela interrupção. De posse da identificação da controladora (informada à CPU juntamente com pedido de interrupção), após empilh atribuindo ao PC o endereço da subrotina de atendimento. im de priorizar o atendimento de alguns periféricos sobre ou c permitindo o aninhamento de subrotinas de atendimento: • Em um campo da PSW, fica guardado o nível corrente de funcionament • Se a CPU está em processamento normal (não atendend corrente é 0. • Quando uma controladora interrompe, deve informar à CPU o nível da interrupção qu • A CPU só admite interrupções de nível superior ao corrente; do contrár pedido ficará pendente até que a C • Quando uma interrupção é admitida, a PSW é empilhada (juntamente com o P e o nível corrente na PSW passa a ser o nível desta inter • Ao retornar do atendimento (instrução IRET), a CPU desempilha os valores do PC e da PSW; o nível corrente volta ao que era imediatamente ant atendimento. C c • Flags (indicadores, como Zero, Carry, Negative, Overflow, Parity, etc...); • Modo C • Nível Corrente de Aninhamento de Interrupções. Professor: Marcos José Sanvidotti 59 Circuitos Digitais para Computadores Modelo de Von Neumann (1945) – Conceito de programa armazenado ca e de Controle dores odel – Separação da Unidade Aritméti – Utilização de barramentos e registra – Hardware de entrada e saída (I/O) M o de Von Neumann Professor: Marcos José Sanvidotti 60 Circuitos Digitais para Computadores • Memória: Conjunto de posições/locações endereçáveis • Palavras: Posição/locação da memória. Contém dados e instruções. ia. eqüência de endereços. – E Neumann • ços e Controle. rona Memó • Em um computador geralmente existe uma hierarquia de memória. a nível da hierarquia é dividido em palavras de N bits cada. ria. . • Palavra: Unidade básica de transferência de/para memór • Palavras são localizadas através de um endereço • Dados, instruções e endereços são codificados em binário. • Programa é uma seqüência de instruções, colocadas numa s • A execução de um programa corresponde à execução seqüencial de suas instruções • A seqüência das instruções é definida de forma dinâmica em tempo de execução xistência de instruções de controle de fluxo IAS – Máquina de Von Registradores: Posições de memória internas a UCP. – Dedicados e de Uso Geral • Barramento: Via de comunicação – Dados e Instruções, Endere – Comunicação Síncrona e Assínc ria • Cad • A palavra é a unidade básica de transferência entre a UCP e a memó • Uma memória com 2M palavras necessita de M bits de endereço Professor: Marcos José Sanvidotti 61 Circuitos Digitais para Computadores Exe • Buscada próxima instrução na memória volta instrução. dos (na memória) cada instrução cução de Instruções – manda endereço, • Decodificação da instrução – interpreta código da instrução • Se a instrução precisa de da – manda endereço, busca dado. • Execução da instrução – executa ações específicas para Professor: Marcos José Sanvidotti 62 Circuitos Digitais para Computadores Gargalo de Von Neuman • Refere-se ao tráfego no barramento strução volta instrução • áfego de informações PU s rq s programas apresentados mudam se a maneira como o endereçamento dos a se o endereçamento à memória é restrito penas . m em diretamente da memória, e todos os resultados fetch) das instruções, dos operandos e o programa requer 12 acessos a memória. A – vai endereço da in – vão endereços dos operandos – vão e voltam operandos Para eliminar gargalo: diminuir tr – manter informações na C – diminuir tamanho em bits das informações transferida – Inclusão de registradoresA O uiteturas de endereçamento operandos é restringido, ou aind para instruções especificas. A seguir, estas variações serão demonstradas utilizando como base uma arquitetura de três endereços, como vista anteriormente Todavia, elas podem ser aplicadas a quaisquer arquiteturas de 2 endereços. Arquitetura memory-to-memory Esta arquitetura possui apenas registradores de controle, como o PC (Progra Counter). Todos os operandos vê são enviados diretamente para a memória. ADD T1, A, B M[T1] ← M[A] + M[B] ADD T2, C, D M[T2] ← M[C] + M[D] MUL X, T1, T2 M[X] ← M[T1] x M[T2] Neste caso, considerando a busca ( armazenamento dos resultados, este arquitetura memory-to-memory não é utilizada atualmente. Professor: Marcos José Sanvidotti 63
Compartilhar