Vous êtes sur la page 1sur 56

Circuitos sequenciais

Eduardo dos Santos Ferreira


Circuito sequencial
• Um circuito sequencial é um sistema no qual a
saída é determinada tanto pela entrada atual
quanto pelo resultado de um evento anterior
• Ex. Contadores binários, computadores pessoais,
sistemas de controle digital,...

2
Exemplo – sequencia automática -
pouso
• Se potencia = 70%, e flaps em pouso
• Abrir portas do trem de pouso
• Descer trem de pouso
• Aumentar flaps
• Diminuir potencia
• Se toque ao solo, acionar reverso
• Se velocidade < 100 km/h acionar freio
• Taxiamento

3
Contador 0 - 6
• Se a saída estiver entre 0 e 6 ocorre incremento
• Se a saída chegar a 7 o contador é zerado e a contagem
reinicia
• 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111
→ 000 → 001 → ...
Contador
clock
Soma + 1

Reset
Número

4
A B C
Diagrama de estados
Para o próximo estado
X/R

X = entrada que causa a transição


R = saída
Estado

Do estado anterior
5
Exemplo

X/R
1/0 1/0
001 010 011
1/0 1/0

000 100

1/1
111 110 101 1/0
1/0 1/0

Um pulso de entrada de X=1 causa uma transição para o próximo estado


A saída R = 0 amenos que o contador atinja o valor 111
6
Características necessárias
• Para termos um circuito sequencial :
• Um circuito lógico para realizar as operações
booleanas
• Um elemento de memória que armazene o
resultado de uma operação anterior
• Um sinal de clock para sincronizar os eventos

7
Implementação com FF J-K

8
Sequencia de contagem

9
Exemplo: divisor de frequência

f/2

f/4

f/8

f/16

10
Geradores de clock
• Oscilador com comparador de janela

11
Geradores de clock
• Oscilador astavel

12
Unidade lógica e aritmética
• É uma máquina de estados programável, que
realiza operações matemáticas e lógicas básicas
• Ela consiste de:
• Circuito de entrada
• Circuito de saída
• Memória
• Unidade de controle
• Via de dados

13
ALU

14
Exemplo de ALU

15
Expandindo a ALU

16
Unidade central de
processamento
• Ela opera a ALU
• Faz movimentação de dados
• Executa operações binárias
• O primeiro grupo de funções são as lógicas (and, or,
xor, etc)
• O segundo grupo são as funções aritméticas
• Cada operação que uma CPU pode executar é
chamada de instrução
• O grupo de instruções é chamado de conjunto de
instruções
17
Modelo de von Neumann
• Busca de instrução: no primeiro ciclo, o
processador envia um sinal para memória
perguntando qual instrução é necessária
• Decodificação da instrução: É o processo de
interpretar a instrução binária e determinar o que
precisa ser feito dentro da cpu.
• Execução da instrução: Após a via de dados
receber a informação a instrução pode ser
executada.
• Armazenamento: O resultado é armazenado na
memória
18
Arquitetura de von Neumann
Unidade de
memória

Unidade de Unidade de
Unidade de saída
entrada controle

Unidade Lógica e
aritmética

19
Modelo de barramento de
sistema
• Neste modelo um barramento de sistema conecta:
• Unidade de processamento central
• Memória
• Unidade de entrada e saída

Memória CPU Entrada / saída

Barramento de sistema

20
Barramento de sistema
• Barramento de dados – cada fio transporta um bit de
informação (64 bits = 64 fios individuais)
• Barramento de endereços – cada fio tem um bit de
endereço da informação do endereço do dado armazenado
(32 bits de endereçamento conseguem endereçar de 0 a
4GB de informação)
• Barramento de controle – descreve a forma como a
informação está sendo transmitida

Memória CPU Entrada / saída

Barramento de dados

Barramento de endereços

Barramento de 21
controle
Modelo de von Neumann +
barramento de sistema
Memória

Busca Programa
Instrução Instr. 0
Unidade de controle
Instr. 1
Instrução
....

Dado
Entrada Envio
Via de dados Dado 0
Dado 1
Recebimento
....

22
Níveis de máquina
Nível de usuário Programas / aplicativos Alto nível

Linguagem de alto nível C / pascal / java / Fortran / basic

Linguagem de montagem Assembler – linguagem de maquina

Nível de controle Unidade de controle da CPU

Nível de unidades funcionais Registradores / ULA / memória

Nível de portas lógicas Circuitos lógicos

Nível da eletrônica Transistores / DTL / TTL / MOS / CMOS Baixo nível

Nível de processos Litografia / CVD / Spputering ...

23
Tipos de computadores
• Descartáveis: são computadores desenvolvidos num
único chip e são usados em chips de RFID (Radio-
Frequency IDentification) em etiquetas de
componentes de almoxarifado. Esses dispositivos
custam menos de US$ 1,00.
• Microcontrolador: são computadores embutidos em
dispositivos como aviões e satélites ( carros, relógios,
telefones, equipamentos médicos e militares também).
São computadores pequenos desenvolvidos para
atender uma necessidade específica de um avionico.
• Computador de jogos / entretenimento
• Computadores portáteis
• Computadores pessoais
• Servidores
• Supercomputadores
24
Unidade central de
processamento
• Operações lógicas e aritméticas
• Operações de movimentação de dados
• Operação de entrada e saída

25
Maquina de estados do
processador
• Busca instrução na memória
• Interpretar a instrução
• Obter os dados
• Processar os dados
• Gravar os dados

26
Componentes do processador
• Unidade de controle - ok
• Unidade lógica e aritmética – ok
• Registradores
• Barramentos

27
Registradores
• De uso geral – podem ser usados pelo usuário e são
usados para armazenamento de dados e endereços
• Contador de programa (PC – program counter) –
contem o endereço da próxima instrução
• Registrador de instrução (IR – instruction register)
contem a ultima instrução lida
• Registrador de endereçamento de memória (MAR) –
contem o endereço de memória em uso
• Registrador de buffer de memória (MBR) – contem o
dado a ser escrito na memória, ou o último dado lido
• Flags - registradores de estado lógico das operações
aritméticas ou lógicas
28
Barramentos
• Dados
• Controle
• Endereços

29
Sinais dos barramentos
• MIO – indica se a operação se refere à memória ou a
E/S.
• RD – indica se a operação é uma leitura.
• WR – indica se a operação é uma gravação.
• INT – este sinal é uma entrada que serve para que
dispositivos externos sinalizem o processador,
interrompendo o processamento para que
seja realizada uma tarefa fundamental para o
funcionamento do mesmo.

30
Sinais de barramentos
• NMI – O sinal NMI é uma interrupção não mascarável e
é usado para informar erros de paridade na memória e
outras condições catastróficas do hardware.
• INTA – signifca interrupt acknowledge. Serve para que o
processador indique que aceitou uma interrupção, e
que está aguardando a identifcação do dispositivo que
a gerou, para realizar o atendimento adequado.
• VCC – alimentação elétrica (5V, 3,3V, 2,1V)
• GND – signifca ground – referencia de tensão – 0V.
• Reset –Ao ser ativado, o processador interrompe o
processamento e atua como se tivesse acabado de ser
ligado.
• Clock – sinais de sincronismo do sistema (tem mais de
um)
31
Implementação das instruções
• Monociclo – em um ciclo de clock a instrução é
executada. O ciclo de clock fica limitada ao maior
tempo de instrução do processador
• Multiciclo – cada instrução leva um certo número
de ciclos e isso deve ser levado em consideração na
execução do programa

32
Filosofia da construção do set de
instruções
• CISC – complex instruction set computer – o
computador tem um conjunto complexo de
instruções
• Estas instruções são micro programas gravados em
um memória ROM interna do processador (micro
programação)

33
Filosofia da construção do set de
instruções
• RISC – reduced instruction set computer – o
computador tem um conjunto simples de
instruções
• Estas instruções são pequenas e todas levam
praticamente o mesmo tempo para serem
executadas

34
Evolução dos processadores
• Lei de Moore – o número de transistores de um
processador dobra a cada dois anos
• Aumento do clock – normalmente devido a
diminuição da escala dos transistores
• Aumento no número de bits dos barramentos
(8bits → 16bits → 32bits → 64bits → 128bits)
• Aumento na capacidade de endereçamento
• Aumento da memória cache – é uma memória mais
rápida implementada no processador, que contem
as últimas instruções realizadas

35
Evolução dos processadores
• Pipelines – varias instruções podem ser sobrepostas na
execução dentro do processador
• Utilização de Multithreading Simultâneo (SMT) – os
bancos de registradores são replicados para que várias
instruções possam compartilhar os recursos dos
pipelines.
• Utilização de multicore – é a combinação de dois ou
mais processadores num único chip
• Incorporação da Unidade de Processamento Gráfco
(GPU) na CPU

36
37
Hierarquia de memória

38
Transmissão de dados
• A aeronaves modernas são altamente
computadorizadas e contem centenas de LRUs
• Uma LRU é um subsistema avionico digital, que se
comunica com as demais LRU’s utilizando uma via
de dados própria para aviões
• A transmissão de dados nos barramentos é do tipo
serial
• Multiplexadores e demultiplexadores convertem os
dados paralelos em seriais na origem e de seriais
para paralelo no destino
39
Microcontroladores
• Um microcontrolador é um computador em um
único chip
• Ele possui uma ULA, Memória, Periféricos de
entrada e saída, temporizadores, dispositivos de
comunicação serial
• Os microcontroladores são a evolução natural do
lógica digital, atualmente é mais barato
implementar um programa de alto nível em um
ARM do que implementar a mesma função lógica
utilizando portas lógicas discretas

40
O primeiro microcontrolador
• O primeiro microcontrolador foi lançado pela Intel
em 1977 - o 8048
• Ele evolui para o 8051 e é utilizado até hoje em
muitas aplicações, incluindo a indústria
aeroespacial
• Ele tem um set de instruções em assembler,

41
Microcontrolador
• Internamente todo microcontrolador possui:
• CPU
• PROM – onde é gravado o programa
• RAM – usada para armazenar as variáveis do
processo
• Linhas de I/O para controlar dispositivos externos
ou receber impulsos de sensores ou dados em
forma paralela
• Um conjunto de dispositivos auxiliares (USARTs,
contadores, ADCs, ADCs)

42
Exemplo - PIC

43
Exemplo - PIC

44
Exemplo - ATMEL
• Os microcontroladores ATMEL são utilizados nas
placas de desenvolvimento de código aberto
ARDUINO
• ATmega328P
• A programação dos microcontroladores é feita com
bibliotecas de comandos e funções em C para
acesso de periféricos do Atmega e de placas de
sensores próprias para arduino
• Excelente para aprender microcontroladores

45
Elementos internos dos
microcontroladores
• Comparadores de tensão

46
Elementos internos dos
microcontroladores
• Moduladores por largura
de pulso - PWM

47
Elementos internos dos
microcontroladores
• Moduladores por largura 𝑉𝑐𝑐
𝑉𝐷𝐶 =
de pulso - PWM 𝑡𝑂𝑁

48
Conversor A/D

49
USART

50
Comunicação de dados
• Padrões ARINC

51
ARINC 429
• O barramento ARINC 429 é uma via de dados
unidirecional entre um único transmissor e vários
receptores
• Ele permite a transmissão de 32 bits de dados em
cada palavra
• O formato dos dados enviados dever ser: ou
binário, ou BCD, AIM ou discreto
• Um pulso de clock sincronizador é formado por um
nulo de quatro bits entre cada palavra
• O nulo é um sinal que não é zero e nem um binário

52
ARINC 429
• Os 8 primeiros bits da palavra designam o rótulo da
palavra
• Os bits 9 e 10 indicam o destinatário da palavra
(SDI)
• Os dígitos 11 a 28 fornecem as informações de
dados
• Os bits 29 a 31 são a matriz de estado de sinal SSM
• O bit 32 é o bit de paridade

53
ARINC429
Dados binários - BNR

32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
P SSM Dados SDI Rótulo

Formatos BCD e discreto


32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
P SSM Dados SDI Rótulo

Formato AIM
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
P SSM Dados Rótulo

54
ARINC 429
• Exemplo
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 01100001
P SSM Dados SDI Rótulo

425 nós 206

+10V 1

nulo
0

-10 0 55
ARINC 629
• É um barramento de dados serial bidirecional
• Ele permite a comunicação de até 120 LRU’s
• O barramento pode ser um par de cabos trançados
ou um link de fibra óptica
• Ele opera em velocidades muito superiores a do
ARIN 429
• Oferece uma boa economia de peso

56