Instrutor: Walton Lins de Miranda
Sup Redes de Computadores - UCB
PMTN – Eletrobrás/Eletronuclear
HISTÓRICO










1969 – BUSICOM – Calculadora Eletrônica -Japão.
1971 – INTEL – Processador 4 bits 4004 – Estados Unidos –
6K IPs
1972 – INTEL – Processador 8 bits 8008 – Estados Unidos –
300K IPs.
1972 – MOTOROLA – Processador 8 bits 6800 Estados
Unidos.
1974 – MOS – Processador 8 bits 6502 – Estados Unidos
1976 – INTEL – 8080 8 bits
1976 – ZILOG – Z80 8 bits compatível com 8080 Intel
1976 – INTEL – Processador 8085 8 bits (mais rápido)
1978 – INTEL - 8086 16 bits
1979 a 2000 – 386 – 486 – Pentium – Pentium MMX – Pentium
II, III – Celeron Processor – Itanium Processor.
Unidades Básicas de um
Microprocessador


Unidade Lógica Aritmética - Responsável pela
realização das operações lógicas e aritméticas.
Unidade de Controle (UC) - Responsável pela
decodificação e execução das instruções.
ARQUITETURA DE UM
MICROPROCESSADOR
COMPONENTES DA UNIDADE
CENTRAL DE PROCESSAMENTO - CPU

Registradores:
Acumulador
Registrador de Flags
Contador do Programa
Ponteiro da Pilha


Unidade Lógica e Aritmética – ALU
Unidade de Controle – UC
Circuitos de Temporização (Gerador de Clock)
Controle e Decodificação (Memória de Microprogramas)
Decodificador de Instrução

Barramentos Internos:
Barramento de Dados
Barramento de Enderêço
Barramento de Controle
REGISTRADORES


São utilizados na execução de programas de
computadores, disponibilizando um local para
armazenar dados. Na maioria dos computadores
modernos, quando da execução das instruções de um
programa, os dados são movidos da memória principal
para os registradores. Então, as instruções que utilizam
estes dados são executadas pelo processador e,
finalmente, os dados são movidos de volta para a
memória principal.
Registradores de dados são utilizados para armazenar
valores, tais como inteiros e pontos flutuante.
Acumulador

O acumulador é um registrador onde são armazenados
temporariamente os resultados aritméticos e lógicos
intermediários que serão tratados pela Unidade LógicaAritimética (ULA).
HIERARQUIA DE MEMÓRIA


As características usadas para classificar diferentes tipos
de memória são basicamente sua capacidade de
armazenamento, tempo de acesso, taxa de transferência,
custo, etc. Outros fatores também podem ser
analizados, como por exemplo seu consumo de energia
e sua durabilidade, e finalmente para se fazer uma
comparação entre memórias, é preciso ter em mente
que aplicação a memória terá.
Usando como exemplo uma comparação de tempo de
acesso, poderíamos organizar a seguinte sequência:
Registrador <-> Cache <-> Memória RAM <->
Memória secundária
HIERARQUIA DE MEMÓRIA





Sendo:
Registrador: Memória temporária usada pelo
processador no processamento das instruções.
Cache: Armazena partes da memória principal que são
usados frequentemente pelos programas.
Memória RAM: Memória principal do computador,
sendo diretamente endereçavel pelo processador.
Memória secundária: Memória de armazenamento
permanente.
Fluxo dos Dados
Fluxo dos Dados
Fluxo dos Dados
Fluxo dos dados
O quê fazer
Onde está?
Quem?
Fluxo dos Dados
Fluxo dos Dados
EXEMPLO DE EXECUÇÃO DE UM MICROPROGRAMA
Instruções
A
B
f2 f1 f0
Fluxo dos dados

Para explicar como funciona um microprocessador decidimos pegar
num exemplo simples no qual vamos calcular a soma de 2 com 3.

Ao carregar na tecla 2, o microprocessador 'acorda' e manda um
sinal à Unidade de Prefetch a pedir à memória pelos dados
referentes à instrução visto que não existem estes dados na
Memória de Instruções.

A nova instrução de dados chega ao microprocessador através da
Unidade de Barramento vinda da memória principal e é guardada
na Memória de Instruções, onde é designado o código "2=X".

A Unidade de Prefetch pede à Memória de Instruções uma cópia do
código "2=X" e manda-a para a Unidade de Decodificação para
processamento futuro.
Fluxo dos dados

Na Unidade de Decodificação a instrução "2=X" é traduzida ou
decodificada para uma string de código binário que é mandado para a
Unidade de Controle e para a Memória de Dados a dizer-lhes o que fazer
com a instrução.
Visto que a Unidade de Decodificação 'descobriu' que o número 2 era
para ser guardada para uma futura utilização na memória de Dados, a
Unidade de Controle executa a instrução "2=X". Isto faz com que o número
2 vá para o endereço na Memória de Dados chamado "X", onde ficará à
espera de ordens futuras.
Quando se carregar a tecla 3, ocorrerá um ciclo equivalente ao da
tecla 2.
Quando se carregar a tecla "+", a Unidade de Prefetch pede à
memória principal do computador e à Memória de Instruções por
instruções sobre os novos dados, que devem ser lidos da memória
principal.
Fluxo dos dados
Visto que esta é uma nova instrução, o "+" vem para o
microprocessador da memória principal e fica guardado num
endereço da Memória de Instruções como o código "X+Y=Z",
mostrando que a operação de adição irá ocorrer.
A Unidade de Prefetch pede à Memória de Instruções por uma
cópia do código "X+Y=Z" e manda-a para a Unidade de
Decodificação para processamento futuro.
Na Unidade de Decodificação, "X+Y=Z" é traduzido ou decodificado
para ser mandado para a Unidade de Controle e Memória de Dados
a dizer-lhes o que fazer com a instrução. A ALU também recebe a
mensagem de que uma função ADD irá ser realizada.
Fluxo dos dados

Na Unidade de Controle o código é dividido e o comando ADD
é mandado para a ALU onde "X" e "Y" são somados depois de
serem enviados da Memória de Dados. A ALU envia finalmente o
valor "5" para ser guardado nos Registradores
ONDE SÃO USADOS OS
MICROPROCESSADORES ?



Nos microcomputadores pessoais, workstations.
CISC (Complex Instruction Set Computer) -Software
386, 486, K62/500, CELERON...etc.
Nos PICs – Periferal Interface Controller.
RISC –(Reduced Instruction Set Computer ) -Firmware
PLCs – Programadores Lógicos Controlados.
ARQUITETURA DE
MICROCOMPUTADORES
Em computadores pessoais temos o conceito de BIOS (programa
de inicialização de periféricos) + SISTEMA OPERACIONAL
(interface gráfica amigável ao usuário) + APLICATIVO (programa
final).
CPU

Unidade Central de Processamento:
Bloco com capacidade de realizar tarefas (controlar
sinais de controle e temporização do sistema, bem como
barramentos de dados e endereço)
orientadas por instruções. É o principal elemento de
decisão do computador, podendo ser comparado ao
cérebro do “ser humano”.
MEMÓRIAS



Bloco semicondutor com capacidade de armazenar informações.
Armazena basicamente as instruções a serem processadas
(através de seus códigos de operação), variáveis (como resultados
de operações da C.P.U.) ou dados de entrada e saída dos
periféricos.
A memória dos microcomputadores podem ser divididas em volátil
(RAM estática /dinâmica), Random Access Memory
Não voláteis (ROM / PROM / EPROM / EEPROM - FLASH).
PROM - Fusíveis
EPROM- U.V
EEPROM – grava e apaga elétricamente
MEMÓRIAS

Cache: É uma memória presente em diversos
componentes de hardware. As memórias cache mais
conhecidas são as do processador e da placa-mãe. A
memória cache sempre tem um tamanho (este medido
em KB ou MB) reduzido, pois ela tem como principal
função fazer um intermédio entre dois itens quaisquer de
uma forma mais rápida. A memória cache, geralmente,
armazena dados importantes ou que sejam utilizados
constantemente, isto agiliza muito o processamento de
dados e você obtém resultados mais rápidos.
MEMÓRIAS

Bios: É uma memória do tipo EPROM, inicializa
todo o hardware da máquina, responsável pela
manutenção da data, hora, configurações do
hardware, permitindo também a alteração das
suas funções na medida da necessidade, tais
como velocidade da memória, mudança do
processador, etc. de acordo com as
especificações do fabricante da placa mãe.
BIOS
MEMÓRIAS

Memórias Auxiliares:

Em computadores pessoais temos o conceito de
BIOS (programa de inicialização de periféricos)
+ SISTEMA OPERACIONAL ( interface gráfica
amigável ao usuário) + APLICATIVO (programa
final).
BARRAMENTOS EXTERNOS
a) BARRAMENTO DE DADOS: É UM BARRAMENTO
BIDIRECIONAL.
b) BARRAMENTO DE ENDEREÇOS: É UM BARRAMENTO
UNIDIRECIONAL.
c) BARRAMENTO DE CONTROLE: CONTROLA O
FUNCIONAMENTO DOS BARRAMENTOS DE DADOS E
ENDEREÇOS.
BARRAMENTOS EXTERNOS
BARRAMENTOS EXTERNOS
Pontes Norte e Sul
PROCESSADOR
(Não instalado)
SLOT MEMÓRIA RAM
PONTE NORTE
SLOT AGP
SLOT PCI
PONTE SUL
BIOS
DISPOSITIVOS I/O
Common HIDs






Teclado
Mouse, Trackball, Touchpad
Graphics tablet (mesa digitalizadora)
Joystick, Gamepad, Analógico
Webcam
Fone (telefone)
DISPOSITIVOS I/O
MICROPROCESSADORES &
MICROCONTROLADORES

Microprocessador -> CPU encapsulada em um único circuito
integrado. Pelo fato de concentrar apenas a função de controle no
“chip”, as aplicações de microprocessadores são complexas
voltadas para multimídia (controle de som + imagem +
comunicação).
Ex: - Microprocessador Pentium IV da Intel. A aplicação do Pentium
é em computadores multimídia.
MICROPROCESSADORES &
MICROCONTROLADORES
PONTES NORTE E SUL DE UM MICROCOMPUTADOR
 O chipset é um dos principais componentes lógicos de
uma placa-mãe, dividindo-se entre "ponte norte"
(northbridge, controlador de memória, alta velocidade) e
"ponte sul" (southbridge, controlador de periféricos,
baixa velocidade). A ponte norte faz a comunicação do
processador com as memórias, e em alguns casos com os
barramentos de alta velocidade AGP e PCI Express. Já a
ponte sul, abriga os controladores de HDs (ATA/IDE e
SATA), portas USB, paralela, PS/2, serial, os barramentos
PCI e ISA, que já não é usado mais em placas-mãe
modernas.
Muitas vezes, como em algumas implementações de controladores para
processadores AMD K8 (Athlon 64 e Athlon X2, nos quais o controlador de
memória está embutido no processador), as duas pontes (bridges) são
substituídas por um único chip, o que reduz custos para os fabricantes.
O chipset é quem define, entre outras coisas, a quantidade máxima de
memória RAM que uma placa-mãe pode ter, o tipo de memória que pode
ser usada (SDRAM, DDR-SDRAM, Rambus, etc.), a freqüência máxima
das memórias e do processador e o padrão de discos rígidos aceitos
(UDMA/33, UDMA/66, etc.).



MICROPROCESSADORES &
MICROCONTROLADORES

Microcontrolador -> CPU + MEMORIA + PERIFËRICOS
encapsulados em Um único circuito integrado. Dedicado a funções
menos complexas de controle. Normalmente está “embarcado” em
equipamentos dedicados. Utiliza o conceitode “firmware” para o
programa dedicado.
Ex: - Microcontrolador 8051 da Intel
- Microcontrolador PIC12F629 da Microchip
MICROPROCESSADORES &
MICROCONTROLADORES
APLICAÇÃO TÍPICA DO MICROCONTROLADOR PIC 12F629
MICROPROCESSADORES &
MICROCONTROLADORES

Microcontrolador PIC 18F4550 fazendo o controle de
um modelo automotivo.
MICROPROCESSADORES &
MICROCONTROLADORES
BOARD EXPERIMENTAL
Você pode, via comunicação
serial ou USB, a partir de seu
microcomputador, gravar um
programa (firmware) no
PIC 18F4550, que define o
que o micocontrolador deverá
executar: Ex: Sistemas de
alarme, controle de bombas e
lâmpadas, ligar o computador
remotamente, usando a
linguagem C++, para gravar o
programa.
MICROPROCESSADORES &
MICROCONTROLADORES
-
Controladores Lógicos Programáveis (PLCs)
- Em plantas industriais.
- Injeção eletrônica de automóveis.
PROGRAMADOR LÓGICO
CONTROLÁVEL – PLC.








1. Facilidade de programação;
2. Facilidade de manutenção com conceito plug-in;
3. Alta confiabilidade;
4. Dimensões menores que painéis de Relês, para
redução de custos;
5. Envio de dados para processamento centralizado;
6. Preço competitivo;
7. Expansão em módulos;
8. Mínimo de 4000 palavras na memória.
PLANTA INDUSTRIAL USANDO
PROGRAMADOR LÓGICO CONTROLÁVEL
LINGUAGEM LADDER
ou, a linguagem dos relés
PROGRAMADOR LÓGICO
CONTROLÁVEL – PLC.



Podemos didaticamente dividir os CLP's historicamente de acordo com o
sistema de programação por ele utilizado:
1ª Geração: Os CLP's de primeira geração se caracterizam pela
programação intimamente ligada ao hardware do equipamento. A
linguagem utilizada era o Assembly que variava de acordo com o
processador utilizado no projeto do CLP, ou seja, para poder programar era
necessário conhecer a eletrônica do projeto do CLP. Assim a tarefa de
programação era desenvolvida por uma equipe técnica altamente
qualificada, gravando-se o programa em memória EPROM, sendo realizada
normalmente no laboratório junto com a construção do CLP.
2ª Geração: Aparecem as primeiras “Linguagens de Programação” não
tão dependentes do hardware do equipamento, possíveis pela inclusão de
um “Programa Monitor “ no CLP, o qual converte (no jargão técnico,
“compila”), as instruções do programa, verifica o estado das entradas,
compara com as instruções do programa do usuário e altera o estados das
saídas. Os Terminais de Programação (ou maletas, como eram conhecidas)
eram na verdade Programadores de Memória EPROM. As memórias depois
de programadas eram colocadas no CLP para que o programa do usuário
fosse executado.
PROGRAMADOR LÓGICO
CONTROLÁVEL – PLC.



4ª Geração: Com a popularização e a diminuição dos preços dos
microcomputadores (normalmente clones do IBM PC), os CLP's passaram a
incluir uma entrada para a comunicação serial. Com o auxílio dos
microcomputadores a tarefa de programação passou a ser realizada nestes. As
vantagens eram a utilização de várias representações das linguagens,
possibilidade de simulações e testes, treinamento e ajuda por parte do software
de programação, possibilidade de armazenamento de vários programas no
micro, etc.
5ª Geração: Atualmente existe uma preocupação em padronizar protocolos de
comunicação para os CLP's, de modo a proporcionar que o equipamento de um
fabricante “converse” com o equipamento outro fabricante, não só CLP's, como
Controladores de Processos, Sistemas Supervisórios, Redes Internas de
Comunicação e etc., proporcionando uma integração a fim de facilitar a
automação, gerenciamento e desenvolvimento de plantas industriais mais
flexíveis e normalizadas, fruto da chamada Globalização. Existem Fundações
Mundiais para o estabelecimento de normas e protocolos de comunicação. A
grande dificuldade tem sido uma padronização por parte dos fabricantes.
Com o avanço da tecnologia e consolidação da aplicação dos CLPs no controle
de sistemas automatizados, é frequente o desenvolvimento de novos recursos
dos mesmos.
PROGRAMADOR LÓGICO
CONTROLÁVEL – PLC.


CPU (Central Processing Unit - Unidade Central de Processamento):
compreende o processador (microprocessador, microcontrolador ou
processador dedicado), o sistema de memória (ROM e RAM) e os circuitos
auxiliares de controle;
Circuitos/Módulos de I/0 (Input/Output - Entrada/Saída): podem ser
discretos (sinais digitais: 12VIDC, 11OVAC, contatos normalmente
abertos, contatos normalmente fechados) ou analógicos (sinais analógicos:
4-2OmA, 0-1 OVDC, termopar);

Fonte de Alimentação: responsável pela tensão de alimentação fornecida à CPU e
aos Circuitos/Módulos de 1/0. Em alguns casos, proporciona saída auxiliar (baixa
corrente);

Base ou Rack: proporciona conexão mecânica e elétrica entre a CPU, os
Módulos de 1/0 e a Fonte de Alimentação. Contém o barramento de
comunicação entre eles, no qual os sinais de dados, endereço, controle e
tensão de alimentação estão presentes.
PROGRAMADOR LÓGICO
CONTROLÁVEL – PLC.


Pode ainda ser composto por Circuitos/Módulos
Especiais: contador rápido (5kHz, 10kHz, 100kHz,
ou mais), interrupção por hardware, controlador de
temperatura, controlador PID, coprocessadores
(transmissão via rádio, posicionamento de eixos,
programação BASIC, sintetizador de voz, entre
outros) e comunicação em rede, por exemplo.
As figuras a seguir mostram a estrutura básica de um
PLC e a foto de um PLC comercial:
PROGRAMADOR LÓGICO
CONTROLÁVEL – PLC.
PROGRAMADOR LÓGICO
CONTROLÁVEL – PLC.
Download

Microprocessadores2