ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017
Plano de ensino
Professor www.linkedin.com/in/pierredantas/
TÓPICOS Conceitos gerais. Evolução dos microprocessadores. Arquiteturas. Principais características dos microprocessadores. Critérios para escolha de um microprocessador. Exercícios.
Conceitos Gerais
Conceitos Gerais Microprocessador; Microcomputador; Microcontrolador; DSP (Digital Signal Processor).
Arquitetura Básica de um Microcomputador Von Newman - CISC Complex Instruction Set Computer Memória CPU Programa I/O Dados Barramento de Dados Barramento de Controle Barramento de Endereços
Arquitetura Básica de um Microcomputador Von Newman - CISC Complex Instruction Set Computer Os dados e instruções são armazenados em uma única memória de leitura e escrita, mais simples, menos restritivo, menos eficiente, execução sequencial de instruções; Dados e instruções armazenados em uma única memória de leitura e escrita; Endereçamento da memória por posição e não pelo tipo; Execução sequencial de instruções; Único caminho entre memória e CPU; Usado pela maioria dos microprocessadores tradicionais.
Arquitetura Básica de um Microcomputador Harvard - RISC Reduced Instruction Set Computer Bus de Códigos Bus de Dados Programa Bus de Endereços CPU Bus de Endereços Dados
Arquitetura Básica de um Microcomputador Havard - RISC Reduced Instruction Set Computer Variação da arquitetura von Neumann; Barramentos separados para instruções e dados, portanto trafegam em barramentos diferentes => paralelismo; Memórias separadas para instruções e dados; Arquitetura mais complexa; Acesso simultâneo às memórias; Pipeline*; Usado pela grande maioria dos microcontroladores e DSPs.
RISC x CISC RISC Instruções simples de apenas 1 ciclo Referencias a memória só com LOAD/STORE Uso intensivo de pipeline Instruções executadas por hardware Instruções de formato fixo Poucas instruções com poucos modos de endereçamento A complexidade está no compilador Vários conjuntos de registradores CISC Instruções complexas com vários ciclos Qualquer instrução pode referenciar à memória Pouco uso de pipeline Instruções interpretadas por microprograma Instruções com formato variável Muitas instruções com muitos modos de endereçamento A complexidade está no microprograma Um único conjunto de registradores
Evolução dos Microcontroladores Microprocessadores de 8/16 bits Microcomputadores de 8/16 bits S.O. 8/16 bits Aplicações de propósito geral Aplicações específicas Expansão de barramentos Expansão de clock Uso intenso de armazenamento secundário Hierarquia de memória Casamento com o S.O. Pipeline Microprocessadores de 8/16 bits Microcontroladores 4/8/16 bits Sistemas dedicados Apenas um processamento por vez Integração de I/O e memória S.O. Kernels Instruções voltadas para controle Computação em tempo real
Microprocessador CPU para computadores de propósito geral; Não apresenta RAM, ROM, I/O embarcada na CPU. CPU Data Bus Diversos chips na placa mãe µp de propósito geral RAM ROM I/O Port Timer Serial COM Port Address Bus
Microcontrolador Um computador em um único chip; RAM, ROM, I/O portas: embarcados. CPU I/O Port RAM Timer ROM Serial COM Port Chip único
Sistema Embarcado Processador está embarcado na aplicação; Utiliza um microprocessador ou microcontrolador para fazer uma tarefa apenas; Existe somente uma aplicação de software que normalmente está gravada em ROM; Normalmente existe a interação com o meio ambiente ou com o operador; Exemplo: impressora, teclado, video game, celular, tablet, etc.
Critérios para a escolha de um Microcontrolador Combinar as necessidades computacionais com o custo Velocidade, quantidade de memória ROM e RAM, Ports de I/O, packaging, consumo de potencia; Facilidades de atualização (upgrade); Custo por unidade. Disponibilidade de software e ferramentas de desenvolvimento Assemblers, debuggers, compilador, emulador, simulador, suporte técnico. Fornecimento de materiais e insumos com facilidade e confiabilidade; Grau de especialização de equipe de desenvolvimento.
Arquitetura interna de um microcontrolador
Processadores Digitais de Sinais (DSP) Otimizado para o tratamento digital de sinais; Aplicações que exigem processamento de sinais em tempo real: Áudio, imagem, temperatura, intensidade luminosa, pressão, sinais biomédicos, etc. Capazes de realizar operações MAC (Multiplica e Acumula, em um único ciclo de instrução), permitindo o processamento em tempo real.
Principais características dos DSPs Processadores para tratamento de dados em ponto fixo ou flutuante; Arquitetura otimizada para computação intensiva; Modos de endereçamento especiais para suporte eficiente a operações de processamento de sinais (endereçamento circular para tratamento de filtros, endereçamento bit-reverse para transformada rápida de Fourier); Formato de dados (16 ou 32 bits típicos); Muitos periféricos especializados on chip (portas seriais, memória, timers, conversores A/D e D/A, geradores de PWM, etc); Baixo custo; Baixo consumo.
Hardware/Software/Firmware Hardware e Software Hardware: conjunto de dispositivos elétricos/eletrônicos que englobam a CPU, a memória e os dispositivos de E/S; Software: consiste em algoritmos e suas representações para o computador ou seja, os programas. Firmware Programa ou conjunto de programas que orientam a sua inicialização e operação. Por esta razão são softwares permanentemente residentes em ROM.
Memória
Memória
ARQUITETURAS Pela escolha do seu conjunto de instruções podemos ter: Arquiteturas CISC (Complex Instruction Set Computer) As máquinas CISC apresentam um conjunto muito grande de instruções (acima de 100 por exemplo) e algumas delas são executadas em múltiplos ciclos de relógio. Arquiteturas RISC (Reduced Instruction Set Computer) Quando apresentam um conjunto específico de instruções, sendo de mesmo tamanho e são normalmente processadas em um único ciclo.
ARQUITETURAS Implementações CISC e RISC vem se tornando cada vez mais similares; Arquiteturas RISC da atualidade possuem um número de instruções equivalente as arquiteturas CISC de gerações anteriores; Arquiteturas CISC passaram a executar mais de uma instrução por ciclo, utilizando pipeline;
Pipeline Técnica de hardware que permite que a CPU realize busca de uma ou mais instruções além da próxima a ser executada; Estas instruções são colocadas em uma fila de memória(dentro da CPU) onde aguardam o momento de serem executadas; É utilizada para acelerar a velocidade de operação da CPU, uma vez que a próxima instrução a ser executada está normalmente armazenada dentro da CPU e não precisa ser buscada da memória, normalmente muito mais lenta que a CPU; Cache-oblivious/cache-aware.
Exercícios Qual a diferença básica entre microprocessador e microcontrolador? O que é memória cache? Qual a sua finalidade? Quais as diferenças entre software e firmware? Como são definidas as arquiteturas dos computadores? Explique. Quais as principais características dos Microprocessadores? Quais as principais características dos DSPs? Qual a diferença fundamental entre a arquitetura von Neumann e a Harvard? Qual é a mais rápida? Justifique. O que é pipeline? Qual a vantagem? Qual a diferença entre CISC e RISC? O que são em computação ponto fixo e flutuante de números reais? Mandar as respostas em PDF usando o link: https://www.dropbox.com/request/uvnfnsmxwjdsqqnor0n6