Professional Documents
Culture Documents
Introduo a Programao
Memria
CPU (Unidade central de processamento): Processa as
informaes, executando as instrues armazenadas na
memria e realizando as operaes lgicas e aritmticas.
Barramento de Controle
Microprocessador Memria
Barramento de Endereos
Barramento de Dados
Barramento de Controle
Barramento de Endereos
Barramento de Dados
Memria I/O
Endereo Contedo Endereo Contedo
0000 20 0000 20
0001 37 0001 37
1000 CC CPU
1001 15
1002 AC 03F8 AC
XXXX F2 YYYY F2
Barramento de Controle
Colocar o endereo desejado(por exemplo, 0000H) no barramento de endereo, colocar o dado desejado no
barramento de dados e em seguida habilitar para escrita o bloco de memria ou I/O, indicando onde dever ser
realizada a operao.
Barramento de Endereos
Barramento de Dados
Memria I/O
Endereo Contedo Endereo Contedo
0000 20 0000 20
0001 37 0001 37
1000 CC CPU
1001 15
1002 AC 03F8 AC
XXXX F2 YYYY F2
Barramento de Controle
Colocar o endereo desejado(por exemplo, 1002H) no barramento de endereo, e em seguida habilitar para
leitura o bloco de memria ou I/O, indicando onde dever ser realizada a operao. o dado desejado ser
disponibilizado no barramento de dados
Barramento
Barramento
de Dados
de Dados
Barramento
Barramento
de Controle
de Controle
Memria Auxiliar
Dispositivos I/O Armazenamento de
massa
Clula de memria Dispositivo ou circuito usado para armazenar um nico Clulas de memria
bit (0 ou 1).Exemplos: Flip-flop, capacitor, ponto magntico em um disco
magntico, ponto tico em um disco tico.
0000
Palavra de Memria Grupo de clulas (bits) em memria que representa 0 1 0 1
(0x0 ou 0h)
instrues ou dados. O tamanho esto na faixa de 4 a 64 bits, dependendo
do tamanho do computador. 0001
1 0 1 1
(0x1 ou 1h)
Byte (Binary Term) Palavra de 8 bits. Atualmente o tamanho da palavra
de memria na maioria dos computadores. 0010
1 1 1 1
(0x2 ou 2h)
Endereo (Posio) de memria Nmero que identifica a posio de uma
011
Endereos
palavra na memria. Cada palavra armazenada na memria possui um 0 1 1 1
endereo nico. Atualmente comum utilizar a notao hexadecimal para (0x3 ou 3h)
representar o endereo de um palavra na memria. 100
0 0 0 1
(0x4 ou 4h)
Operao de Leitura (Read) ou Busca Operao na qual uma palavra
binria armazenada em uma determinada posio (endereo) de memria 101
transferida para outro dispositivo. 1 0 0 1
(0x5 ou 5h)
Operao de Escrita (Write) ou Armazenamento Operao na qual uma 110
1 0 1 1
nova palavra binria armazenada em uma determinada posio (endereo) (0x6 ou 6h)
de memria, substituindo a palavra l armazenada.
111
0 0 0 0
Tempo de acesso (Access Time) o tempo necessrio para realizar uma (0x7 ou 7h)
operao de leitura em uma memria, ou seja, o tempo entre a memria
receber uma nova entrada de endereo e os dados estarem disponveis na
sada da memria. Indica a velocidade de um dispositivo de memria Palavra de Memria
T=NxM
T a capacidade da memria em bits
N o nmero de endereos ( onde, N = 2x sendo x o nmero de bits de endereo) NxM
M o nmero de bits de cada endereo (posio) de memria (palavra).
2048 x 8
T = 2048 x 8 = 16.834 bits
2K x 8
Qual tem a maior capacidade?
5120 x 2
T = 5120 x 2 = 10.240 bits
5K x 2
A capacidade pode ser medida em unidades de bytes (kB, MB, GB, TB, etc.). Neste caso considera-se
como um byte o nmero de bits em cada endereo.
30
Por exemplo: 4GB = 4G x 8 = 4 x 2 x 8 = 4 x 1.073.741.824 x 8 = 34.359.738.368
Habilitao da memria
Quando esta entrada est desativada, a
memria fica desabilitada e ela no
Sadas de dados (Outputs) responder as entradas de endereo e
de escrita/leitura.
Durante o processo de leitura (Read), a
palavra lida de um determinado endereo de ME Memory Enable
memria aparece nas linhas de sadas de CS Chip Select
dados. CE Chip Enable
11110 1 0 0 0
11111 0 1 1 1
00000 0 1 1 0
00001 1 1 0 0
00010 1 0 1 1
00011 0 0 0 1
Exemplo 00100 0 1 1 0
11110 1 0 0 0
11111 0 1 1 1
DRAM Dynamic Random Access Memory Necessita de atualizao frequente de suas informaes.
Custo alto
Velocidade alta
Baixa capacidade
Registradores
Memria cache
Memria principal
Memria de dados
Memria de programa
Armazenamento de massa
Discos magnticos
Discos ticos Custo baixo
SSD Solid-State Drive Velocidade baixa
Capacidade elevada
Instruo de mquina uma sequncia binria que determina uma operao a ser executada pela CPU,
contendo :
Um conjunto de bits que identifica a operao a ser realizada
Outro conjunto de bits que permite localizar e acessar os dados que sero manipulados pela operao.
Buscar os dados
onde eles estiverem armazenados
Buscar a instruo
a ser executada na memria de A CPU realiza as atividades relacionadas
programa basicamente com duas funes:
Registrador Acumulador
Cdigo de Apontador
Complementos R1
de instrues instruo de pilha
(SP)
Contador de
C
Decodificador Programa
de instrues (PC) Unidade Lgica e
Rn Aritmtica Z
(ALU) S
Registradores
Gerador O
Unidade
de
tempo de controle Flags
Buffer de
Endereo MAR Registrador
de status (SR)
Clock Sinais de controle
Internos da CPU
Barramento de
Endereos
Barramento
de Controle
Barramento de Dados
Barramento de Dados
Barramento de Dados
Flags
Registrador
de status (SR)
Barramento de Dados
Flags
Registrador
de status (SR)
Barramento de Dados
Status Register
Flags
Registrador
de status (SR)
Somador
Subtrator
Registrador de
Resultado Registrador A
Multiplicador
Divisor
Vai um
Deu zero Comparador
Registrador B
Valor negativo AND
Estouro
OR
Unidade Registradores
Carry Vai um
Lgica e de uso geral
Zero Deu zero
Aritmtica Registrador B
Sinal Valor negativo
Overflow Estouro
Registrador
de Status
Acumulador
R1
C
Unidade Lgica e
Rn Aritmtica Z
(ALU) S
Registradores
O
Flags
Registrador
de status (SR)
Neste modelo, o Acumulador utilizado como um registrador de entrada de um dos valores e tambm como
registrador do resultado da operao.
Aps a ALU realizar a operao, o resultado armazenado no Acumulador substituindo o valor de um dos
operandos da operao.
R1
C
Unidade Lgica e
Rn Aritmtica Z
(ALU) S
Registradores
O
Flags
Registrador
de status (SR)
Neste outro modelo, atualmente muito utilizado, no existe o Acumulador, um dos registradores de uso geral (ou
registrador de dados) utilizado como um registrador de entrada de um dos valores e tambm como registrador do
resultado da operao.
Aps a ALU realizar a operao, o resultado armazenado no chamado registrador de destino substituindo o
valor de um dos operandos da operao, anteriormente armazenado neste registrador.
Estes flags tambm so modificados nas demais operaes, possuindo um significado diferente
para cada instruo, especialmente nas operaes de comparao e teste.
Bit 7 6 5 4 3 2 1 0
OSC CPU
Flag GIE V P C N Z
OFF OFF
Cada fabricante estabelece a quantidade de flags e o tamanho do registrador de status para cada
modelo de processador ou microcontrolador.
Barramento de Dados
Atividades da rea de controle
Entender o que fazer, como fazer e comandar o
Buffer de Dados MBR
dispositivo que vai fazer no momento adequado.
Decodificador
Contador de
Programa
Interpretar as aes a serem realizadas com a
de instrues (PC) execuo da instruo e como realiz-las.
Gerador
Unidade
Ciclo de execuo da instruo (Execute cycle)
de
de controle
tempo Buffer de
Endereo MAR
Gerar os sinais de controle apropriados para a
ativao das aes requeridas para a execuo da
Clock Sinais de controle instruo identificada. Estes sinais so enviados
Internos da CPU
Barramento de aos diversos componentes do sistema , internos
Endereos ou externos a CPU.
Barramento
de Controle
Barramento de Dados
Unidade de controle
Buffer de Dados MBR
Control Unit
Barramento de Dados
Barramento de Dados
Barramento de Dados
Registrador
o registrador responsvel por armazenar a
Cdigo de Apontador
de instrues instruo
Complementos
de pilha instruo a ser executa pela CPU.
(SP)
Contador de
Ao se iniciar um ciclo de instruo, a unidade
Decodificador Programa de controle envia sinais de controle em
de instrues (PC)
sequncia de tempo de forma que se realize
um ciclo de leitura para buscar a instruo na
Gerador memria .
Unidade
de
de controle
tempo Buffer de
Endereo MAR
A instruo ento ser armazenada no
registrador de instrues via barramento de
Clock Sinais de controle dados e do registrador de dados da memria.
Internos da CPU
Barramento de
Endereos
Barramento
de Controle
Barramento de Dados
Registrador
o registrador responsvel por armazenar o
Cdigo de Apontador
de instrues instruo
Complementos
de pilha endereo da prxima instruo a ser
(SP) executada.
Contador de
Decodificador Programa Assim que a instruo que vai ser executada
de instrues (PC)
for buscada na memria, o sistema
automaticamente modifica o contador de
Gerador programa de forma que ele passe a armazenar
Unidade
de
de controle o endereo da prxima instruo na sequncia
tempo Buffer de
Endereo MAR do programa.
Barramento de Dados
Apontador de pilha
Buffer de Dados MBR
SP - Stack Pointer
Gerador
Unidade
Registrador de dados da memria
de
tempo de controle
Buffer de MBR - Memory Buffer Register
Endereo MAR
Registrador Acumulador
Cdigo de Apontador
Complementos R1
de instrues instruo de pilha
(SP)
Contador de
C
Decodificador Programa
de instrues (PC) Unidade Lgica e
Rn Aritmtica Z
(ALU) S
Registradores
Gerador O
Unidade
de
tempo de controle Flags
Buffer de
Endereo MAR Registrador
de status (SR)
Clock Sinais de controle
Internos da CPU
Barramento de
Endereos
Barramento
de Controle
CPU Clock
Mundo Exterior
Memria de
Programa
(ROM)
Address Bus
Address Bus Address Bus
Memria de Memria de Memria de
Programa CPU Dados CPU
Dados
(ROM) Data Bus Data Bus
(RAM) Data Bus (RAM)
Espao de
memria livre
A arquitetura Harvard um conceito mais recente que a de von Neumann. Ela adveio da necessidade de se obter
uma arquitetura que pudesse trabalhar mais rapidamente.
Em um computador baseado na arquitetura Von Neumann, a CPU pode tanto ler uma instruo ou ler/escrever
um dado da/para a memria. Ambos no podem ocorrer ao mesmo tempo, pois a instruo e o dado utilizam o
mesmo sistema de barramento. O mapa de memria, que mostra os endereos em que cada tipo de memria
est localizado, torna-se particularmente importante.
Num computador usando arquitetura Harvard, a CPU pode ler uma instruo e executar um acesso de dado na
memria ao mesmo tempo, mesmo sem um cach. Como seu pipeline, esse tipo de arquitetura consegue
processar um nmero maior de instrues por ciclo de clock. Alm disso, pode ser mais rpido para um circuito
complexo porque as buscas de instrues e acesso a dados no so sustentados por uma nica via de memria.
Possibilidade de tamanhos diferenciados entre barramento de dados e de programa
Um problema com a arquitetura Harvard que as constantes (tabelas, muitas vezes de pesquisa) devem ser
armazenados na memria do programa porque ela no-voltil. Isto significa que as constantes no pode ser lido
da mesma forma como os valores volteis da memria de dados. Instrues especiais para ler essas tabelas
devem ser fornecidos ou parte da memria de programa deve ser mapeada em memria de dados.
Busca Instruo 1
Executa Instruo 1
Busca Instruo 2
Executa Instruo 2
Busca Instruo 3
Executa Instruo 3
MOVWF PORTO
CALL SUB1
BSF PORTA,3
INSTRUO SUB1
CISC - Complex Instruction Set Computer RISC - Reduced Instruction Set Computer
Computador com um Conjunto Complexo de Instrues Computador com um Conjunto Reduzido de Instrues
Os processadores baseados nesta arquitetura contm uma A idia principal, que apesar de um processador CISC ser
microprogramao, ou seja, um conjunto de cdigos de capaz de executar centenas de instrues diferentes, apenas
instrues que so gravados no processador, permitindo-lhe algumas so usadas freqentemente. Poderamos ento criar
receber as instrues dos programas e execut-las, utilizando um processador otimizado para executar apenas estas
as instrues contidas na sua microprogramao. Seria como instrues simples que so usadas mais freqentemente. Em
quebrar estas instrues, j em baixo nvel, em diversas conjunto com um software adequado, este processador seria
instrues mais prximas do hardware (as instrues contidas capaz de desempenhar quase todas as funes de um
no microcdigo do processador). processador CISC, acabando por compensar suas limitaes
Como caracterstica marcante esta arquitetura contm um com uma maior velocidade de processamento.
conjunto grande de instrues, a maioria deles em um elevado
grau de complexidade. Os processadores CISC tm a Processadores RISC: DEC Alpha, SPARC, MIPS, e PowerPC
vantagem de reduzir o tamanho do cdigo executvel por j Microcontroladores RISC: PIC, MSP430, ARM
possuirem muito do cdigo comum em vrios programas, em
forma de uma nica instruo.
Microinstrues
Execuo da
Micronstruo
Atualmente existem processadores, como o Pentium e o Athlon que utilizam uma arquitetura hbrida
Internamente, o processador processa apenas instrues simples. Estas instrues internas, variam de
processador para processador, so como uma luva, que se adapta ao projeto do chip. Sobre estas instrues
internas, temos um circuito decodificador, que converte as instrues complexas utilizadas pelos programas
em vrias instrues simples que podem ser entendidas pelo processador. Estas instrues complexas sim,
so iguais em todos os processadores. isso que permite que os processadores Athlon e um Pentium sejam
compatveis entre s.
Maiores informaes: http://0fx66.com/blog/hardware/cisc-risc/
Fonte: http://how2engineering.blogspot.com.br/2013/05/architecture-of-8086-microprocessor.html
Microcontroladores
Integram a CPU, memrias de programa e memria de dados, Portas I/O,
barramentos e diversos perifricos em um nico encapsulamento.
So chamados computador em um chip.
So largamente utilizados nos sistemas embarcados devido a alta integrao,
baixo custo e a reduzida necessidade de componentes adicionais.
Microcontroller vs Microprocessor
http://electronicsforu.com/resources/microcontroller-vs-microprocessor
Timers: A maioria dos microcontroladores tm pelo menos um timer, devido grande variedade de funes que fornecem.
O momento em que as transies ocorrem em uma entrada pode ser identificada. Isso pode ser utilizado para medir a velocidade
da bicicleta, por exemplo, se a entrada for conectada a um sensor que fornece um pulso cada vez que a roda completa uma volta
(revoluo).
As sadas podem ser ligadas e desligadas automaticamente em uma determinada frequncia. Isto usado para a modulao por
largura de pulso (PWM) para controlar a velocidade de um motor em uma mquina de lavar.
Fornecem um disparo regular que pode ser usado para agendar tarefas em um programa. Muitos programas so acionados
(despertados) periodicamente pelo timer para executar , por exemplo, alguma medida de temperatura e transmiti-la a uma estao
de base, ento ir para o modo sleep (modo de baixa potncia) at despertar novamente. Isso economiza energia, que vital em
aplicaes com bateria.
Watchdog timer: Este um recurso de segurana, que reinicializa o processador se o programa ficar preso em um loop infinito.
Interfaces de comunicao: Uma grande variedade de interfaces disponveis para troca informaes com outros circuitos integrados ou
sistemas. Incluem interface perifrica serial (SPI), circuito inter- integrado (IC ou IIC - Inter-Intergrated Circuit), assncronas (como RS-
232), barramento serial universal (USB), controlador de rede de rea (CAN - Controller Area Network), ethernet, e muitos outros.
Memria no voltil de dados: usado para armazenar dados cujo valor devem ser conservados quando a energia removida. Os
nmeros de srie para a identificao e endereos de rede so exemplos de dados.
Conversor analgico-digital(ADC)/Conversor digital-analgico(DAC): Conerter os sinais analgicos do mundo real que variam
continuamente em sinais digitais e vice-versa (voz, temperatura, etc.).
Relgio de tempo real: Estas medidas so necessrias em aplicaes que devem controlar o tempo do dia. Os relgios so exemplos
bvios.
Monitor, depurador, e emulador incorporado : Estes so utilizados para baixar o programa para o MCU e se comunicar com um
computador desktop durante de desenvolvimento.
Microcomputador-de-um-s-chip
Pode reunir em um s chip:
Microprocessador,
Memrias (ROM,RAM, flash)
Temporizadores (timers)
Contadores
WDT (Watch Dog Timer)
POR (Power On Reset)
Portas de comunicao (Serial, USB, I2C, etc.)
Portas de I/O
Conversores AD/DA
etc.
Menor tamanho
Menor rea de placa
Menor custo
Facilidade no desenvolvimento
Menor tempo de desenvolvimento
Programa gravado na memria interna o que impede cpias ilegais
Grande quantidade de fabricantes e famlias e tipos.
Eletrnicos de consumo
Eletrnica automotiva
Eletrnica de Segurana
Automao Residencial
Automao Industrial
Robtica
Telemetria/telecomando
Instrumentao
Lazer/Entretenimento
etc.
CPU
MAB, 16-Bit
Multiplicador
por Hardware Power On
Watchdog Reset USARTs
Interface JTAG Timers
Timer Comparador
Caractersticas principais
Experimenter
Boards
Existem diversos tipos de kits de desenvolvimento, desde os mais simples sem nenhum
recurso adicional, at os mais avaados, contendo LCDs grficos, Wi-Fi, bluetooth, motores,
etc.
Computador
Kit de desenvolvimento
Programador (gravador)
Microprocessadores AVR ATMEL
Gang Programmer
Microprocessadores MSP430
Kit de Desenvolvimento
Microprocessadores MSP430
Kit de Desenvolvimento
Microprocessadores Microchip PIC
Kit de Desenvolvimento
ARM9 Development Board
Boto de Reset
Microcontrolador
AVR ATMEL
Conexo USB
Emulao
Cristal
Pinos de I/O
Soquete DIP 14 ou 20 pinos
Microcontrolador Texas MSP430
LEDs e Jumpers
Boto de Reset
P1.0 & P1.6
http://www.hackinglab.org/
Fcil de usar - inclui todo o hardware e software necessrios para comear. Projetos de cdigo
aberto e exemplos de cdigo auxiliam no desenvolvimento rpido dos usurios.
Acessvel - Por 4,30 dlares, inclui uma placa de desenvolvimento, dois microcontroladores
programveis MSP430, mini cabo USB, conectores para expanso PCB, cristal externo para
aumentar a preciso do clock, software livre e ambientes de desenvolvimento integrado (IDEs).
Contedo do Kit
Emulao
Cristal
Pinos de sada
Soquete DIP 14 ou 20 pinos
Microcontrolador
Push botton
Conector de tenso externa
P1.3
LEDs e Jumpers
Boto de Reset
P1.0 & P1.6
Timer A
Contador/temporizador de 16 bits com 2 ou 3 registros (dependendo do modelo) de
captura/compara e sadas PWM
Extensa capacidade de interrupo.
Brownout Reset
Fornece sinal de reset adequado durante a energizao do sistema
Comparador A +
Entradas inversora e no-inversora
Filtro de sada RC selecionvel
Sada para entrada de captura do Timer_A
Capacidade de interrupo
Conversor ADC10
Conversor analgico/digital de 8 canais/10-bit 200 kSPS de aproximaes sucessivas (SAR)
8 canais externos (depende do dispositivo) e sensores de temperatura e tenso internos
Referncia de tenso programvel
Controlador de transferncia direta (DMA) envia os resultados para a memria de converso sem
a interveno da CPU
Capacidade de interrupo
Ultrabaixo consumo
Consumo @ 2.2V:
http://www.youtube.com/watch?v=Db6TWl5FSGw
MSP430G2211IN14
Includo no MSP430 LaunchPad
MSP430G2231IN14
Includo no MSP430 LaunchPad
MSP430G2452IN20
8kB Flash + 256 RAM
16 GPIO
Timer A3
ADC10
USI
WDT
BOR
Comparador A+
Tenso de operao : 1,8 3,6V
Velocidade mxima da CPU: 16MIPS
MSP430G2553IN20
16kB Flash + 512 RAM
16 GPIO Touch-Sense
Timer A3
ADC10
USCI
WDT
BOR
Comparador A+
Tenso de operao : 1,8 3,6V
Velocidade mxima da CPU: 16MIPS