EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC
Arquitetura Von Neuman de um Microcomputador
Busca, decodifica e executa instruções; Funções Básicas da CPU Busca Decodifica Executa Início Busca, decodifica e executa instruções; Transfere dados da e para memória e periféricos; Supre sinais de controle para memória e outros periféricos; Atende demanda dos periféricos (interrupções).
8085 1976 CPU de 8 bits Clock até 6 MHz Vcc=+5V; 40 pinos; Endereça até 64 kB de memória; 6 conjuntos de pinos: Endereçamento; Dados; Controle e status; Energização e clock; Pinos seriais; Sinalização externa.
Comparison of embedded computer systems on board the Mars rovers http://en.wikipedia.org/wiki/Comparison_of_embedded_computer_systems_on_board_the_Mars_rovers
Exemplo de RAM 16x4
Exemplo de Escrita em RAM 16x4
Interface do Microprocessador Com Memória 8
Interface do Microprocessador Com Memória G 9
Exemplo de Acesso à Memória G Exemplo de Acesso à Memória Escrita 10
Exemplo de Acesso à Memória G Exemplo de Acesso à Memória Leitura 11
Passos para execução de instrução Endereço inicial (0000H) contido em PC é colocado no barramento de endereços (AD0-AD7) & (A8_A15). PC é incrementado. Unidade de Controle (UC) coloca ALE (Address Latch Enable) em ‘1’ durante metade do ciclo de clock. Colocado em ‘0’ no restante do ciclo de leitura. Utilizado para salvar endereço em AD0-AD7 no latch. Unidade de Controle coloca pino RD em ‘0’ . Memória coloca dado no barramento de dados (AD0-AD7) Valor em (AD0-AD7) é transportado para decodificador de instrução (Instruction Register). Controlado por RD. Após decodificar a instrução, UC emite sinais de controle para executar tarefa demandada. 12
Arquitetura simplificada de uma CPU
Registradores do 8085 14
Arquitetura Simplificada do 8085
Arquitetura Simplificada do 8085
Interface do 8085 com demultiplexador e decodificador
Utilizados para testes de sistemas em desenvolvimento PINOS de STATUS S0 S1 ESTADO RETENÇÃO 1 ESCRITA LEITURA INTERRUPÇÃO Utilizados para testes de sistemas em desenvolvimento
Algumas Instruções do 8085
REGISTRADOR DDD ou SSS A 111 B 000 C 001 D 010 E 011 H 100 L 101 M PAR REGISTRADORES RP BC 00 DE 01 HL 10 SP 11
0 1 D D D S S S 0 0 RP 1 0 1 0 Instrução MOV r1,r2 2 bits Opcode 1o. Operando 3 bits 2o. Operando 0 1 D D D S S S Instrução LDAX rp 2 bits Opcode 2 bits 4 bits 0 0 RP 1 0 1 0
Exercício: Obter o código das instruções abaixo MVI A,07 MVI B, 01 ADD B OBS: ADD r; 10000sss 22
MVI A,07; 3EH (0011 1110B) 07H MVI B, 01; 06H (0000 0110B) 01H Exercício: Solução MVI A,07; 3EH (0011 1110B) 07H MVI B, 01; 06H (0000 0110B) 01H ADD B; 80H 23
Configuração Básica de Sistema Microprocessado Barramento Console de Controle CPU Memória RAM ROM Dispositivos de Entrada e Saída
Kit Telemática 8085 8279 8155A 8155B 2716B 2716A
Diagrama de Blocos Kit Telemática
Endereçamento Kit Telemática Endereço ATRIBUIÇÃO 0000H a 07FFH ROM BÁSICA 0800H a 0FFFH EXPANSÃO DE ROM 1800H e 1900H CONTROLADOR 8279 2000H a 20FFH RAM BÁSICA 2800H a 28FFH EXPANSÃO DE RAM
Organização da Memória ABACUS ROM: 0000 a 1FFFH RAM: 2000 a 23FFH
1: B = N, soma = 0 2: soma = soma + B, B = B - 1 Exercício 1: B = N, soma = 0 2: soma = soma + B, B = B - 1 3: IF B 0 then GOTO 2 (?) 4: total = soma
REGISTRADOR de FLAGS S Z AC P 1 C FLAG AC P 1 C FLAG SETADO SE OPERAÇÃO TEM RESULTADO : S (SINAL) NEGATIVO Z (ZERO) ZERO AC (CARRY AUXILIAR) VAI ou VEM 1 do BIT3 para o BIT4 do Acc P (PARIDADE) PARIDADE PAR (NRO DE ‘1’s no Acc é PAR) C (CARRY) VAI ou VEM 1 (Operações aritméticas)
MODIFICADO PELA INSTRUÇÃO FLAGS no Livro Ziller Instrução DCR r Z S P C A * - FLAG MODIFICADO PELA INSTRUÇÃO * SIM - NÃO
Auxiliary Flag & BCD (Binary Coded Decimal) Z S P C A Instrução DAA & ADD r * Soma BCD Z S P C A Supondo flags atuais como 1 [A]=98H; [B]=08H ADD B [A]=A0H; [B]=08H DAA 1 [A]=06H; [B]=08H 36
LDA N MOV B, A i = n XRA A Loop: ADD B soma = A A = 0 DCR B JNZ Loop Exercício LDA N MOV B, A XRA A Loop: ADD B DCR B JNZ Loop STA total JMP $ N: DB 5 total: DB 0 i = n soma = A A = 0 soma = soma + i i = i - 1 IF i 0 THEN GOTO Loop total = soma