Barramento de endereços É unidirecional, porque a informação flui apenas em uma direção, da CPU para a memória ou para os elementos de E/S.
Barramento de endereços Quando a CPU quer ler de ou escrever em uma certa posição de memória ou dispositivo de E/S, ela coloca um código de endereço de 16 bits nos pinos de saída AD0 a A15 do barramento de endereços. 16 bits A15,...,A8,AD7,...,AD0
Barramento de endereços A CPU pode gerar 2 16 =65.536 endereços (a memória pode ter 65.536 endereços, ou 65.536/1024 = 64 k endereços) 16 bits A15,...,A8,AD7,...,AD0
Barramento de endereços Cada um dos endereços corresponde a uma posição de memória ou a um elemento de E/S. 16 bits A15,...,A8,AD7,...,AD0
Barramento de endereços Estes bits de endereços são decodificados (por um demultiplexador) para selecionar a posição de memória ou o dispositivo de E/S desejado. 16 bits A15,...,A8,AD7,...,AD0
Barramento de endereços Este processo de decodificação geralmente necessita de circuitos de decodificação (demultiplexação) que não são mostrados neste diagrama. 16 bits A15,...,A8,AD7,...,AD0
Barramento de endereços circuitos de decodificação (demultiplexação)
Barramento de dados Os oito pinos de dados da CPU, pinos AD0 a AD7 podem ser tanto entradas quanto saídas, dependendo se a CPU esta realizando uma operação de leitura ou de escrita. 8 bits AD7,...,AD0
Barramento de dados Barramento bidirecional porque os dados podem ir para ou vir da CPU. 8 bits AD7,...,AD0
Barramento de dados Operação de leitura: os pinos de dados da CPU agem como entradas e recebem dados que foram colocados no barramento pela memória ou por um dispositivo de E/S selecionado pelo endereço colocado no barramento de endereço.
Barramento de dados Operação de escrita: os pinos de dados da CPU agem como saídas e colocam os dados no barramento de dados que são enviados para a memória ou elemento de E/S selecionado.
Barramento de controle Usado para sincronizar as atividades dos elementos do microcomputador. Alguns destes sinais de controle como ALE, /PSEN, /RD e /WR são enviados pela CPU para outros elementos (para informar a eles que tipo de operação DEVE SER executada). BARRAMENTO DE CONTROLE
Barramento de controle O ALE (Address Latch Enable - habilitador do latch de endereço): quando está em nível ALTO (1) habilita o latch (flip-flop) de endereço a armazenar a parte baixa do endereço (em AD 0 a AD 7 ) durante este intervalo. 16 bits 1 A15,...,A8,AD7,...,AD0 BARRAMENTO DE CONTROLE
Barramento de controle O sinal /PSEN (Program Store Enable - habilitador da memória de programa) é BAIXO (0) quando a CPU deseja que a memória (RAM) coloque um BYTE referente à instrução no barramento de dados. 0
0
Barramento de controle 0 sinal /RD está em BAIXO (0) quando a CPU quer que a memória ou uma porta de entrada externa coloque um byte de dados no barramento de dados. 0
Barramento de controle 0 sinal /WR está em BAIXO (0) quando a CPU está colocando um byte de dados (que ela quer escrever na memória ou em uma porta de saída externa) no barramento de dados. 0
Barramento de controle Os elementos de E/S podem enviar sinais de controle para a CPU (RESET e /int0).
Barramento de controle A entrada RESET da CPU quando em nível ALTO (1) faz com que a CPU vá para um estado inicial. 1
Barramento de controle A ENTRADA DE INTERRUPÇÃO (INTO), quando em nível baixo (0) é pe!os dispositivos de E/S para chamar a atenção CPU quando ela (a CPU) está executando outras tarefas. 0
Portas de E/S Cada dispositivo de E/S é normalmente conectado ao sistema de barramentos do microcomputador por meio de algum tipo de circuito de interface.
Portas de E/S (Circuito de interface): Os circuitos de interface objetivam fazer o microcomputador e o dispositivo compatíveis de modo que dados possam ser facilmente trocados entre eles.
Portas de E/S Um dispositivo de E/S tem a capacidade de interromper a CPU enquanto ela estiver executando um programa. Isto significa que um dispositivo de E/S pode enviar um sinal para a entrada de interrupção da CPU (INTO) para indicar que ele deseja se comunicar com a CPU.
Portas de E/S A CPU irá suspender a execução do programa que está sendo executado e irá realizar a operação esperada com o dispositivo de E/S.
Temporização 0 8051 contém um oscilador no próprio chip que gera o sinal de clock principal para temporizar todas as suas operações.
Temporização Todas as operações do sistema acontecem em períodos chamados de ciclos de máquina (composto de 12 subciclos de clock).
Temporização Todas as operações do sistema acontecem em períodos chamados de ciclos de máquina (composto de 12 subciclos de clock).
Ciclos de barramento da CPU Três tipos de ciclos de barramento distintos podem ser observados no sistema de barramento externo. Cada ciclo de barramento é uma seqüência de eventos previsíveis: A CPU coloca um endereço no barramento de endereços (ALE ALTO (1) ). A CPU ativa os sinais de controle para sinalizar transferência de dados (/PSEN, /RD ou /WR em BAIXO).
MOV DPTR,#3000H (carrega no registrador DPTR o número 3000H) Endereço A15,,.,,,A8,AD7,..AD0 conteúdo 2000 90 2001 30 2002 00 MEMÓRIA 1 ciclo máquina = 12 ciclos de CLOCK
Ciclos de barramento da CPU Quando o sinal de controle ALE está em ALTO, existe um endereço no barramento de dados ( AD0-AD7). Quando /PSEN está em BAIXO, existe um byte referente à instrução nas linhas AD0-AD7. Endereço conteúdo A15,,.,,,A8,AD7,..AD0 2000 90 2001 30 2002 00 MEMÓRIA 1 ciclo máquina = 12 ciclos de CLOCK