Sistemas Microprocessados sato<at>utfpr<dot>edu<dot>br Sistemas Microprocessados sato<at>utfpr<dot>edu<dot>br http://pessoal.utfpr.edu.br/sato/ Sobre o material • Essas transparências foram baseadas em materiais elaborados pelos professores Hugo Vieira Neto, Eduardo Bertonha e Gabriel Kovalhuk Sistema Microprocessado hardware firmware Sistema Microprocessado software Hardware Reset Bus de Dados µP Interrupções ROM RAM E/S Periféricos (CPU) Bus de Endereços e Controle Clock DX SEL Hardware • Clock • Reset – Reinicializa o microprocessador • Vetor de Reset – Primeiro endereço da memória de programa a ser executado após o reset do sistema Hardware • ROM – Programa + dados não voláteis • RAM – Dados de trabalho • E/S – Interfaces dispositivos externos • DX SEL – Seleção de memória e periférico Hardware • Bus de dados – Bidirecional • Bus de endereços – Saída (geralmente) • Bus de controle – Saídas e entradas Hardware • Interrupção – Evento externo que desvia o fluxo normal de execução – Após o atendimento da interrupção o fluxo normal de execução é retomado • Vetor de Interrupção – Endereço da memória de programa para onde ocorre o desvio do fluxo de execução para o atendimento de uma interrupção Firmware INÍCIO Posicionar escada Acionar o interruptor Subir na escada Sim A lâmpada acendeu? Retirar lâmpada antiga Não Apanhar lâmpada nova Colocar lâmpada nova FIM C Mnemônicos Compilador Assembler 0110...1101 1101...0001 0101...1000 0000...0101 ... Firmware • Algoritmo • Baixo nível – Código de Máquina, Assembly • Alto nível – C, BASIC, Pascal – Necessita ser compilada ou interpretada Firmware • Montador (Assembler) – mnemônicos do assembly → códigos das instruções • Compilador / Interpretador – linguagem alto nível → linguagem assembly • Link-editor (Linker) – interconecta diferentes trechos de programa Buffer Microprocessador Genérico Bus interno dados Unidade de Controle bus dados Registradores Bus interno endereço Bus interno controle Buffer Buffer ULA bus ends bus ctrl ULA • ULA (ALU) – Unidade Lógico Aritmética – Lógicas: AND, OR, XOR – Aritméticas: Soma, Subtração • Unidade de Controle – Interpreta instruções – Gera sinais para comandar demais blocos Registradores • Gerais – Armazenamento temporário de dados – Entradas e saída da ULA • Índices – Índice que pode ser usado como ponteiro para acesso de dado Registradores • Flags – Sinalizam eventos • PC (Program Counter) – Indica o endereço da próxima instrução • SP (Stack Pointer) – Indica topo da pilha – Pilha – LIFO (Last In, First Out) – Armazenamento de dados Microprocessador X Microcontrolador • Microcontrolador – µP + períféricos – Períféricos: temporizador/contador, interface serial, barramentos de comunicação • Sistemas embarcados Microcontrolador Famílias • • • • • • MCS51 - Intel e outras empresas M68HC11 - Motorola Z8 - Zilog COP8 - National PIC - Microchip AVR - Atmel Sobre o material • Essas transparências foram baseadas em materiais elaborados pelos professores Hugo Vieira Neto, Eduardo Bertonha e Gabriel Kovalhuk