A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Microprocessados e Microcontrolados

Apresentações semelhantes


Apresentação em tema: "Sistemas Microprocessados e Microcontrolados"— Transcrição da apresentação:

1 Sistemas Microprocessados e Microcontrolados
Objetivos Geral Capacitar os egressos do curso a compreender e aplicar conceitos computacionais à área de automação e controle. Específicos Entender os fundamentos básicos da eletrônica digital na construção da computação. Aplicar programação de alto nível nos dispositivos microcontroladores

2 Conceitos Básicos de Eletrônica Digital
É importante entender o significado dos seguintes conceitos: Lógica e Álgebra de Boole e como estes conceitos podem ser empregados para a implementação das portas lógicas e, conseqüentemente, dos circuitos lógicos (digitais) e computadores digitais.

3 Conceitos Básicos de Eletrônica Digital
A lógica é a base da eletrônica digital e da informática. Esta surgiu na Grécia antiga com a contribuição de três filósofos: Sócrates, Platão e Aristóteles. Sócrates não deixou seus ensinamentos por escrito. Platão (seguidor de Sócrates) escreveu vários de seus diálogos e desenvolveu sua filosofia abrangendo a ética, a política e o conhecimento, tendo como princípio o método da investigação. Aristóteles, baseado nos diálogos escritos por Platão, observou que a linguagem deve ter uma estrutura lógica, para que leve, necessariamente, a uma verdade. Pelo método de investigação de Sócrates, se duas verdades são alcançadas individualmente, ao juntá-las tem-se uma única verdade. Sócrates, considerado um dos homens mais sábios da humanidade, notabilizou- se por afirmar que era sábio justamente por “saber que nada sabia”.

4 Conceitos Básicos de Eletrônica Digital
No século XIX, a teoria de Aristóteles foi sintetizada em forma de álgebra, ganhando o nome de Álgebra Booleana. A Álgebra de Boole permite que uma afirmação (lógica) possa ser expressa matematicamente. Boole construiu sua lógica a partir de símbolos, representando as expressões por letras e ligando-as através de conectivos - símbolos algébricos. Boole, através de seu livro “An investigation of the laws of thought” (Uma investigação das leis do pensamento) apresentou a lógica binária.

5 Conceitos Básicos de Eletrônica Digital
A lógica teve como objetivo modelar o raciocínio humano. Partindo de frases declarativas (proposições), que podem ser verdadeiras ou falsas, estuda-se o processo de construção e a veracidade de outras proposições usando conectivos. Na lógica proposicional associa-se a cada proposição um valor lógico: ou verdade (1) ou falso (0). Da Lógica nasceu a Lógica Matemática e, dentro desta, várias filosofias da lógica que interpretam os cálculos simbólicos e sua sistematização axiomática.

6 Álgebra de Boole Operação lógica – realizada sobre um ou mais valores lógicos para produzir um certo resultado (também um valor lógico). Assim como na álgebra comum, é necessário definir símbolos matemáticos e gráficos para representar as operações lógicas (e os operadores lógicos). Resultados possíveis de uma operação lógica: 0 (FALSO, F= bit 0) - nível baixo 1 (VERDADEIRO, V = bit 1) - nível alto (Lógica Positiva)

7 Álgebra de Boole OPERADORES LÓGICOS BÁSICOS
Os conectivos ou OPERADORES LÓGICOS ou FUNÇÕES LÓGICAS são: E (ou AND) - uma sentença é verdadeira SE - e somente se - todos os termos forem verdadeiros. OU (ou OR) - uma sentença resulta verdadeira se QUALQUER UM dos termos for verdadeiro. NÃO (ou NOT) - este operador INVERTE um termo.

8 Álgebra de Boole OPERADORES LÓGICOS BÁSICOS
Os operadores lógicos são representados por: E  • (um ponto, como se fosse uma multiplicação) OU  (o sinal de soma) __ NOT  (ou ’) (uma barra horizontal sobre o termo a ser invertido ou negado). Simbologia definida pela ANSI

9 Álgebra de Boole FUNÇÕES LÓGICAS
Operadores que possuem como entrada pelo menos uma variável lógica e uma saída. Dada uma variável lógica (A), é possível construir uma função desta variável, f(A). Operações da álgebra booleana aplicadas a uma ou mais variáveis lógicas. Funções básicas: E, OU e INVERSORA (AND, OR e NOT ou INVERTER) Derivadas: (NAND, NOR, XOR e XNOR).

10 Álgebra de Boole A partir das combinações dos valores de entrada, determina-se todos os valores possíveis de resultado de uma dada operação lógica. Essas possibilidades podem ser representadas de forma tabular, e o conjunto se chama TABELA VERDADE. TABELA VERDADE - tabela que representa todas as possíveis combinações das variáveis de entrada de uma função, e os seus respectivos valores de saída.

11 Álgebra de Boole Tabela-verdade
Cada operação lógica possui sua própria tabela verdade, estabelecida de acordo com a regra que define a respectiva operação lógica.

12 Álgebra de Boole FUNÇÃO AND (E) FUNÇÃO OR (OU) 1 S B A 1 S B A

13 Álgebra de Boole FUNÇÃO NOT (INVERTER OU NÃO) 1 S A

14 Álgebra de Boole FUNÇÃO NAND (NÃO E) FUNÇÃO NOR (NÃO OU) 1 S B A 1 S B
1 S B A 1 S B A

15 FUNÇÃO XOR (OU EXCLUSIVO) FUNÇÃO XNOR (OU COINCIDÊNCIA)
Álgebra de Boole FUNÇÃO XOR (OU EXCLUSIVO) FUNÇÃO XNOR (OU COINCIDÊNCIA) 1 S B A 1 S B A XOR - a saída será verdade se exclusivamente uma ou outra entrada for verdade. (XNOR - inverso da XOR). Isto só se aplica se houver apenas 2 entradas.

16 Álgebra de Boole e Computadores Digitais
O projeto de elementos digitais está relacionado com a conversão de idéias em hardware real, e os elementos encontrados na álgebra booleana permitem que uma idéia, uma afirmação, possa ser expressa matematicamente. A álgebra booleana permite também que a expressão resultante da formulação matemática da idéia possa ser simplificada e, finalmente, convertida no mundo real do hardware de portas lógicas e outros elementos digitais. O que são exatamente?

17 Álgebra de Boole Portas lógicas: dispositivos dos circuitos digitais - implementam funções lógicas. São dispositivos ou circuitos lógicos que operam um ou mais sinais lógicos de entrada para produzir uma (e somente uma) saída, a qual é dependente da função implementada no circuito.

18 Álgebra de Boole e Computadores Digitais
Obs.: O circuito elétrico da porta lógica que implementa a função AND é : Torna-se difícil desenhar o esquema elétrico de um projeto composto por várias portas lógicas representadas desta forma. Solução: uso de uma SIMBOLOGIA.

19 Álgebra de Boole e Computadores Digitais
Operações lógicas podem ser realizadas para satisfazer um determinado requisito de hardware (visto adiante) ou para atender a uma especificação de um programador em um programa. Para tanto, a maioria dos processadores possui uma instrução de máquina correspondente a uma função lógica em seu conjunto de instruções, bem como muitas linguagens de programação de alto nível implementam essa função.

20 Exemplos – Operações Lógicas
Lógica de um determinado programa. Exemplo 1: Exemplo 2: Ler X, Y e Z T=X+Y R=Z+X SE (T>6 E(AND) R <10) ENTÃO IMPRIMIR T ENTÃO IMPRIMIR R Ler X, Y e Z T=X+Y R=Z+X SE (T>6 OU(OR) R <10) ENTÃO IMPRIMIR T ENTÃO IMPRIMIR R

21 Exemplos – Operações Lógicas
Operações lógicas também podem ser realizadas com valores constituídos de vários algarismos (A Unidade Lógica e Aritmética (ULA) realiza tal tipo de operação) – operação “bit a bit”. Exemplos:

22 Exemplos – Meio Somador

23 Exemplos – ULA A operação de subtração pode ser efetuada implementando-se o circuito de um subtrator completo, ou então utilizando-se a técnica de complemento do subtraendo (a-b = a + not(b) + 1).

24 Exemplos - Memória

25 Exemplos – Circuitos utilizando portas lógicas
Circuito de ativação de uma linha de dados para movimentar bits de um registrador (ou células) para outro (uso de um bit como sinal de controle da Unidade de Controle (UC)). Solução: Porta AND

26 Exemplos - Circuitos utilizando portas lógicas
Circuito para implementação de operação aritmética em ponto fixo, quando se usa aritmética de complemento (complemento de 1 ou complemento de 2). É muito comum encontrar a porta NAND (ou NOR) em circuitos lógicos complexos, visto que é possível simplificar a fabricação de circuitos lógicos e reduzir a quantidade de componentes eletrônicos usando-se apenas circuitos NAND (NOR). Solução: Porta NOT

27 Exemplos - Circuitos utilizando portas lógicas
Circuito para testar a igualdade entre valores, por exemplo, para testar de modo rápido se duas palavras são iguais. Solução: Porta XOR e porta NOR

28 Exemplos - Circuitos utilizando portas lógicas
Uma campainha que toca (saída) se o motorista der a partida no motor do carro (entrada) sem estar com o cinto de segurança afivelado (entrada). 1 campainha Cinto desafi- velado ignição Solução: Porta AND

29 Exemplos - Circuitos utilizando portas lógicas
Detector de incêndio com vários sensores (entradas) e uma campainha para alarme (saída). Se QUALQUER UM dos sensores for acionado (significando que um dos sensores detectou sinal de incêndio), a campainha é ACIONADA. 1 Alarme Sensor 2 Sensor 1 Solução: Porta OR

30 Portas Lógicas - Fabricação
As portas lógicas são fornecidas em dispositivos denominados circuitos integrados ou CI´s. Um CI ( ou chip) é um cristal semicondutor, habitualmente de silício. Cada CI´s comporta um certo número de portas lógicas, sendo este número limitado pelas características físicas do componente como, por exemplo, o número de terminais. A partir do surgimento do transistor procurou-se padronizar os sinais elétricos correspondentes aos níveis lógicos  surgimento de famílias de componentes digitais.

31 Exemplos de CIs - TTL

32 Conceitos Básicos de Eletrônica Digital
Operações de um computador digital - combinações de simples operações aritméticas e lógicas básicas: somar bits, complementar bits (para fazer subtrações), comparar bits, mover bits. As operações são fisicamente realizadas por circuitos eletrônicos, chamados circuitos digitais. Componentes básicos dos circuitos digitais - "portas" (gates) lógicas, por permitirem ou não a passagem dos sinais. Circuitos lógicos - circuitos que contêm as portas lógicas.

33 Componentes do Computador e Modelo de von Neumann
O que é o computador digital? Um computador digital é uma combinação de dispositivos e circuitos digitais que podem realizar uma seqüência programada de operações com mínima intervenção humana. (Tocci, 2003) Como o computador executa um programa de instruções?

34 Organização Básica de um Computador

35 Organização Básica de um Computador - CPU

36 Unidade Lógica e Aritmética
Unidade de Memória Unidade de Entrada Unidade de Saída Unidade de Controle Interfaceamento Unidade Central de Processamento

37 Princípios Básicos Cada computador tem um conjunto de operações e convenções único para determinar as posições dos dados com os quais a operação será realizada. Os vários computadores diferem nas operações específicas que fornecem e nos métodos que eles usam para referenciar dados que serão manipulados por uma operação. Em geral, uma operação tem a forma OPERAÇÃO OPERANDOS e é denominada de instrução. OPERAÇÃO especifica a função que será desempenhada. OPERANDOS fornece a maneira de calcular a posição atual dos dados com os quais a operação será realizada.

38 Um programa é constituído de uma seqüência pré-determinada de instruções, que deve ser seguida para que seja atingido o objetivo computacional. Este programa e os dados correspondentes estão armazenados na memória da máquina; o conjunto de instruções (ou programa) deve ser interpretado para realização do processamento, isto é, a informação codificada correspondente às ações e operandos deve ser entendida e então processada.

39 A memória de um sistema de computador tem a função de armazenar dados e instruções; é organizada em posições, que podem ser visualizadas como elementos em uma matriz. Cada elemento tem um endereço. Assim, pode-se falar de uma memória que tenha x posições: cada posição pode ser referenciada diretamente de acordo com a sua colocação na seqüência. Por exemplo, se uma memória tem 4096 posições, existem posições de memória 0, 1, 2, 3,...., 4094 e 4095. Quando um destes números aparece nos circuitos de controle conectados à memória, o conteúdo (o valor que está na posição) será trazido da memória para os circuitos da unidade de processamento ou a informação na unidade de processamento será armazenada na memória, dependendo do trabalho associado com o endereço.

40 Instruções em um computador são executadas em uma seqüência determinada por suas posições de memória. A unidade lógica e aritmética realiza ações indicadas nas instruções, executando operações numéricas (aritméticas) e não numéricas (lógicas) além da preparação de informações para desvios do programa. O controle do programa e a unidade lógica e aritmética formam a unidade central de processamento (UCP), ou simplesmente processador.

41 Busca - decodificação - execução de instruções
Um elemento no processador, denominado de contador de instruções ou apontador de instruções(PC-Program Counter), contém a posição da próxima instrução a ser executada. Quando uma seqüência de execução de instruções tem início, a instrução cujo endereço está no contador de instruções é trazida da memória para uma área de armazenamento chamada registrador de instrução. Este processo consiste na busca de instrução.

42 A instrução é interpretada por circuitos de decodificação que fazem com que sinais eletrônicos sejam gerados no processador como resultado do valor do campo de operação, isto é, decodificam a informação correspondente à operação a ser realizada.

43 Esses sinais, ou seqüência de sinais, resultam na execução da instrução.
Execução é a aplicação da função do operador nos operandos. Quando a execução de uma instrução é terminada, o contador de instruções é atualizado para o endereço de memória da próxima instrução. Esta instrução é então trazida da memória para o registrador de instruções e executada, repetindo-se assim o ciclo de busca-decodificação-execução.

44 Computador Neander Computador Hipotético
Criado com intenções didáticas Simples Com simulador e debuger

45 Computador Neander Características
Largura de dados e endereços de 8 bits Dados representados em complemento de dois 01 acumulador de 8 bits (AC) 01 apontador de programa de 8 bits (PC) 01 registrador de estado com dois códigos de condição: negativo (N) e zero (Z)

46 Computador Neander Modo de endereçamento
Só possui o modo de endereçamento direto e arquitetura de um endereço Operador operando Nas instruções de desvio, o endereço contido na instrução corresponde à posição de memória onde está uma instrução a ser executada.

47

48 Conjunto de Instruções

49 Ações Executadas

50 Códigos de condição N - (negativo) : sinal do resultado
1 - resultado é negativo 0 - resultado é positivo Z - (zero) : indica resultado igual a zero 1 - resultado é igual a zero 0 - resultado é diferente de zero

51 As instruções lógicas e aritméticas (ADD, NOT, AND, OR) e a instrução de transferência LDA afetam os códigos de condição N e Z. As demais instruções (STA, JMP, JN, JZ, NOP e HLT) não alteram os códigos de condição.

52 Formato das instruções

53 Exemplo de Programação
Vamos considerar, como exemplo, um programa que realiza a soma de 3 posições consecutivas da memória e armazena o resultado numa quarta posição. Devem ser escolhidas a área de dados e a área de programa, ou seja, a localização das instruções e dados na memória. Deve ser observado que a área de programa não pode invadir a área de dados e vice-versa.

54 Exemplo de Programação

55 Exemplo de Programação
Ver ambiente – wneander.exe

56 Organização do Neander


Carregar ppt "Sistemas Microprocessados e Microcontrolados"

Apresentações semelhantes


Anúncios Google