Baixe o app para aproveitar ainda mais
Prévia do material em texto
Microprocessadores ATUALIDADEATUALIDADEATUALIDADEATUALIDADE • As melhorias tecnológicas demandam cada vez mais dispositivos eletrônicos. Assim, a cada dia são criados componentes eletrônicos mais versáteis e poderosos. Nessa categoria, os microprocessadores, aos quais os microcontroladores pertencem, tem alcançado grande desenvolvimento. • Sua facilidade de uso em amplas faixas de aplicações permite o projeto relativamente rápido e fácil de novos equipamentos. Atualmente, os microcontroladores estão presentes em quase todos os dispositivos eletrônicos controlados digitalmente, como por exemplo: • nas casas, em maquinas de lavar, fornos de micro-ondas, televisores, aparelhos de som e imagem, condicionadores de ar e telefones; • nos veículos, em sistemas eletrônicos de controle de injeção de combustível, controle de estabilidade, freios ABS (Anti-lock Braking System), computadores de bordo e GPS (Global Positioning System); • nos eletrônicos portáteis, em telefones celulares, tocadores de mídia eletrônica, vídeo games e relógios; • na indústria, em controladores logico programáveis, de motores e fontes de alimentação. • Em resumo, os sistemas micro controlados encontram-se em todos os segmentos eletrônicos, desde simples equipamentos domésticos ate sistemas industriais complexos. • O desenvolvimento dos microcontroladores se deve ao grande numero de funcionalidades disponíveis em um único circuito integrado. Como o seu funcionamento e ditado por um programa, a flexibilidade de projeto e de formas de trabalho com um hardware especifico são inúmeras, permitindo aplicações nas mais diversas áreas. ATUALIDADEATUALIDADEATUALIDADEATUALIDADE O Nascimento do MicrochipO Nascimento do MicrochipO Nascimento do MicrochipO Nascimento do Microchip • Apenas treze anos após a invenção do transistor, houve outro grande salto tecnológico, a invenção do circuito integrado ou microchip, por Jack S. Kilby da Texas Instruments e Robert N. Noyce da Fairchild Semicondutor. • No verão de 1958, Jack S. Kilby, entrou para a equipe da Texas Instruments, em Dallas, E.U.A, onde desenvolveu o primeiro microchip da história, usando componentes ativos (transistores, diodos) e passivos (resistores, capacitores) em uma única peça de material semicondutor do tamanho de um clips de papel. O sucesso da demonstração de laboratório foi o nascimento do primeiro microchip simples da história, em 12 de Dezembro de 1958. • Paralelamente na Fairchild Semicondutor, Robert N. Noyce avançava em suas pesquisas, inspirado nas técnicas de mascaramento que empregavam dióxido de silício para a difusão de impurezas, e utilizando-se de trilhas de ouro ou alumínio aplicado com ajuda de máscara e fotolitográfia, enquanto o processo de Kilby empregava pequenos fios nas ligações internas do circuito. O Nascimento do MicrochipO Nascimento do MicrochipO Nascimento do MicrochipO Nascimento do Microchip • A tecnologia evoluiu, e também o número de empresas e em 1962 nasceu à lógica TTL, e anos mais tarde a tecnologia MOS (metal-oxide semiconductor), seguida pela CMOS (complementary metal-oxide semiconductor), tecnologia atual hoje em dia. Com a tecnologia CMOS e a crescente miniaturização do microchip, surgiu em 1974 o primeiro microprocessador da história denominado “1802” fabricado pela RCA, seguido pelo microprocessador de 4 bits da Texas Instruments, o TMS1000. • A eletrônica digital baseia-se em tensão (definido como 1) e ausência de tensão (definido como 0) onde o nível alto ou 1 é de 5 volts ou 2/3 da fonte e o nível 0 é zero volt ou um pouco acima, portanto, para a eletrônica digital somente importa o nível alto ou baixo. • Com esta ótica as indústria desenvolveram blocos com a união de centenas de transistores para realização de uma tarefa específica denominando-se circuito integrado. A evolução da tecnologia A evolução da tecnologia Ábaco Calculadora De Pascal A evolução da tecnologia Máquina Diferencial De Babbage Eniac A evolução da tecnologia Cartão perfurado e Fita Herman Hollerith Evolução de sistemas eletrônicos • Conforme as tecnologias para produção de componentes eletrônicos avançavam, os computadores eletrônicos tornavam-se cada vez mais compactos e poderosos, já na década de 70 esse avanço chegou a tal ponto que foi possível, a partir da ideia do Dr. Marian Hoff, um dos primeiros funcionários da Intel, a criação do primeiro dispositivo eletrônico capaz de ser programado para a realização de diversas tarefas e controles, nascia ali o primeiro microprocessador, componente que revolucionaria a história da eletrônica devido sua versatilidade, rapidez e precisão, podendo controlar qualquer tipo de sistema ou processo. Microprocessadores MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES • Com a evolução da microeletrônica, o nível de miniaturização e o numero de funcionalidades dos circuitos integrados evoluíram, permitindo o desenvolvimento de circuitos compactos e programáveis. Assim, surgiram os primeiros microprocessadores. • Um microprocessador e um circuito integrado composto por inúmeras portas logicas, organizadas de tal forma que permitem a realização de operações digitais, logicas e aritméticas. Sua operação e baseada na decodificação de instruções armazenadas em uma memoria programável. A execução das instruções e ditada por um sinal periódico (relógio - clock). • Por exemplo, nos primeiros elevadores automatizados, era utilizada lógica de relê, onde o sistema de controle era pouco flexível e relativamente complexo, consumindo muita energia e aumentando o custo de implementação. • Com a utilização de microprocessadores e microcontroladores, os elevadores passaram a ser mais "inteligentes", pois com estes sistemas puderam ser implementados recursos mais complexos já que o esforço de projeto passou para o programa (software), deixando a eletrônica (hardware) muito mais simples e barata. • Com os microprocessadores também surgiram os primeiros microcomputadores pessoais (PCs). MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES Componentes de um sistema microprocessado: • Um microprocessador; • Memória ROM (onde fica gravado o programa principal); • Memória RAM (utilizada como memória de rascunho pelo programa executado); • Periféricos - Entrada e Saída (são os dispositivos conectados ao sistema, geralmente sensores e atuadores) ; • Barramento (fios ou trilhas condutoras dos pulsos elétricos que permitem a interconexão dos componentes acima) ; • Circuito gerador de CLOCK (como o nome sugere, é um circuito que gera um sinal cíclico em uma determinada frequência de tempo) . MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES Como podemos observar, mesmo um sistema microprocessado possui uma série de componentes necessários, dispostos em vários CIs e interligados por condutores paralelos que constituem o barramento. MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES � O oscilador é responsável pela geração do sinal síncrono de clock, o qual faz com que o microprocessador funcione. O coração do sistema e a Unidade Central de Processamento (CPU – Central Processing Unit), a qual realiza as operações logicas e aritméticas exigidas pelo programa. � O processador dispõe de duas memorias: uma, onde esta o código de programa a ser executado (externa ao chip); e outra, temporária, onde são armazenados informações para o trabalho da CPU (memoria de dados). � A CPU pode receber e enviar informações ao exterior através da sua interface de entrada e saída. As informações dentro do microprocessador transitampor barramentos, cuja estrutura depende da arquitetura empregada. Para ler a memória de programa, a CPU possui um contador de endereços (PC – Program Counter) que indica qual posição da memória deve ser lida. Após a leitura do código no endereço especificado, o mesmo é decodificado e a operação exigida e realizada. O processo se repete indefinidamente de acordo com o programa escrito. MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES Unidades básicas de um Microprocessador: Unidade Lógica Aritmética (ULA) - 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, fornecendo os sinais de temporização adequados para as diversas partes do processador. Registradores - armazenamento da Informação Binária (dados, endereços e instruções). • Arquitetura de um sistema digital define quem são e como as partes que compõe o sistema estão interligadas. • As duas arquiteturas mais comuns para sistemas computacionais digitais são as seguintes: • Von-Neumann • Harvard • Objetivo básico de qualquer arquitetura de microprocessador: aumentar o desempenho do processador reduzindo o tempo de execução de tarefas. MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES • A arquitetura Von-Neumann, onde existe apenas um barramento interno por onde circulam dados e instruções; • A arquitetura Harvard, caracterizada por dois barramentos internos, um de instruções e outro de dados. � Na arquitetura Von-Neumann, a busca de dados e instruções não pode ser executada ao mesmo tempo (gargalo da arquitetura), limitação que pode ser superada com a busca antecipada de instruções (pipeline) e/ou com caches de instruções/dados. � Já na arquitetura Harvard, os dados e instruções podem ser acessados simultaneamente, o que torna essa arquitetura inerentemente mais rápida que a Von-Neumann. MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES Portanto: • A arquitetura Von Neummann caracteriza-se pelo fato de haver um único barramento interno que serve tanto para dados quanto para programa. Apenas uma tarefa pode ser executada em um dado instante • Já na arquitetura Havard, o problema de executar somente uma tarefa em um dado instante não existe, pois existem dois barramentos separados, sendo uma para dados e outro para programa. MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES � Por sua vez, quanto ao conjunto de instruções, os microprocessadores são classificados em duas arquiteturas: � Computadores com Conjunto Complexo de Instruções (CISC – Complex Instructions Set Computers) e � Computadores com Conjunto Reduzido de Instruções (RISC – Reduced Instructions Set Computers). MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES � A arquitetura RISC utiliza um conjunto de instruções simples, pequeno e geralmente com extensão fixa. � Semelhante a RISC, a arquitetura CISC utiliza um conjunto simples de instruções, porém utiliza também instruções mais longas e complexas, semelhantes as de alto nível, na elaboração de um programa. � As instruções CISC são geralmente variáveis em extensão. � Assim, a arquitetura RISC necessita de mais linhas de código para executar a mesma tarefa que uma arquitetura CISC, a qual possui muito mais instruções. MICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORESMICROPROCESSADORES � Muitas literaturas associam a arquitetura Von-Neumann com a arquitetura CISC e a arquitetura Harvard com a arquitetura RISC. A provável razão de tal associação e o fato de muitos microprocessadores com arquitetura Von-Neumann serem CISC e muitos microprocessadores Harvard serem RISC. Entretanto, a arquitetura CISC e RISC não são sinônimos para as arquiteturas Von- Neumann e Harvard, respectivamente. � Por exemplo: � O nucleo ARM7 e Von-Neumann e RISC. � O PowerPC e um microprocessador RISC puro, Harvard internamente e Von-Neumann externamente. � O Pentium-Pro e um microprocessador RISC e Harvard internamente e Von-Neumann e CISC externamente. ExemploExemploExemploExemplo � A figura a seguir é empregada para exemplificar a diferença entre as duas arquiteturas supracitadas para um microprocessador hipotético de 8 bits. � O objetivo e multiplicar dois números contidos nos endereços 0 e 3 da memoria de um microprocessador hipotético e armazenar o resultado de volta na posição 0. • Em microprocessadores CISC, o objetivo e executar a tarefa com o menor numero de códigos possíveis (assembly). Assim, um microprocessador CISC hipotético poderia ter a seguinte instrução: MULT 0,3 //multiplica o conteúdo do endereço 0 com o do endereço 3 //armazena o resultado no endereço 0. • Para um microprocessador RISC, a resolução do problema seria feita por algo como: LOAD A,0 //carrega o registrador A com o conteúdo do endereço 0 LOAD B,3 //carrega o registrador B com o conteúdo do endereço 3 MULT A,B //multiplica o conteúdo de A com o de B, o resultado fica em A STORE 0,A //armazena o valor de A no endereço 0 • O microprocessador RISC emprega o conceito de carga e armazenamento (Load and Store) utilizando registradores de uso geral. Os dados a serem multiplicados necessitam primeiro ser carregados nos registradores apropriados (A e B) e, posteriormente, o resultado e armazenado na posição de memoria desejada (0). Em um microprocessador CISC, o dado pode ser armazenado sem a necessidade do uso explicito de registradores. • Esse conceito também pode ser visto quando se deseja escrever diretamente nos pinos de saída do microprocessador. Considerando que se deseja alterar os níveis lógicos (0 e 1) entre 8 pinos do microprocessador, expressos pela variável P1, o código resultante seria: CISC: MOV P1,0xAA //escreve diretamente nos 8 pinos (P1) o valor binário 10101010 RISC: LOAD A,0xAA //carrega o registrador A com o valor binário 10101010 OUT P1,A //escreve o valor de A nos 8 pinos (P1) • Em um microprocessador RISC, antes de serem movidos para outro local, os valores sempre precisam passar pelos registradores de uso geral, por isso a caracterização da arquitetura como Load and Store. • Apesar dos microprocessadores RISC empregarem mais códigos para executar a mesma tarefa que os CISCs, ele são mais rápidos, pois geralmente executam uma instrução por ciclo de clock, ao contrário dos CISCs, que levam vários ciclos de clock. Todavia, o código em um microprocessador RISC será maior. • Os processadores RISC empregam mais transistores nos registradores de memória, enquanto que os CISC fazem uso de um grande numero deles no seu conjunto de instruções. • O emprego de registradores nas operações de um processador RISC é uma vantagem, pois os dados podem ser utilizados posteriormente sem a necessidade de recarga, reduzindo o trabalho da CPU. O aumento de desempenho (velocidade de processamento) de processadores está relacionado com os seguintes aspectos: • Aumento de clock • Aumento do número interno de bits • Aumento do número externo de bits • Redução do número de ciclos para executar cada instrução • Aumento da capacidade e velocidade da memória cache • Execução de instruções em paralelo Índice de Desempenho de Processadores Índice de Desempenho de Processadores Aumento de clock O sinal de clock é responsável pelo sincronismo entre as unidades de processamento internas ao microprocessadore pelas unidades externas. Quanto maior a frequência de clock mais rápido o processamento. No entanto, não se pode aumentar de forma indefinida essa frequência. Isso pode causar falhas de processamento e sobreaquecimento. O aumento depende de pesquisas com o objetivo de reduzir o tamanho dos componentes básicos do microprocessador e aumento da quantidade de componentes, sem perda de estabilidade no funcionamento. Índice de Desempenho de Processadores Aumento do número interno de bits Uma maior quantidade de bits dos registradores e dos barramentos internos permite a movimentação de uma maior quantidade de dados por unidade de tempo, aumentando o desempenho do microprocessador. Aumento do número externo de bits Um número maior de bits externos permite a movimentação de uma maior quantidade de dados por unidade de tempo com os periféricos, tais como memória, unidade de entrada e saída, controlador de acesso direto à memória (DMA). Índice de Desempenho de Processadores Redução do número de ciclos para executar cada instrução A execução de uma instrução normalmente é feita em duas etapas: busca (onde a instrução é transferida da memória para a unidade de decodificação) e execução (onde os sinais de controle ativam, em uma sequência lógica, todas as unidades envolvidas na execução). Índice de Desempenho de Processadores Aumento da capacidade e velocidade da memória cache O aumento de velocidade de processamento dos microprocessadores tem sido muito maior do que o aumento da velocidade de acesso à memória principal. Assim, a velocidade de acesso à memória principal torna-se um limitador de desempenho dos processadores. Em razão desse problema foi criada a memória cache. A memória cache (constituída de memória RAM estática) é usada para acelerar a transferência de dados entre a CPU e a memória principal (constituída de RAM dinâmica, de menor volume, porém mais lenta). O aumento da capacidade e da velocidade da memória cache resulta no aumento da velocidade de transferência de dados entre a CPU e a memória principal e, consequentemente, resulta no aumento do desempenho global do sistema. Índice de Desempenho de Processadores Execução de instruções em paralelo O microprocessador 8085 compartilha um barramento comum entre suas unidades internas e seus periféricos, o que significa dizer que não permite a execução simultânea de duas operações que utilizem o barramento. Assim, apenas uma instrução é executa por vez. Uma arquitetura que permita que duas ou mais operações sejam executadas simultaneamente torna o processamento mais rápido. Número de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um Microprocessador • O número de transistores num único microprocessador é um dos indicadores da evolução acentuada nessa área nos últimos anos. Dr. Gordon E. Moore, co-fundador da Intel, afirmou em 1965 que o número de transistores em um microprocessador dobraria a cada dois anos. O gráfico e a tabela a seguir confirmam a previsão de Moore nos últimos 30 anos. Número de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um Microprocessador Número de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um Microprocessador • A quantidade cada vez maior de transistores numa única pastilha foi acompanhada da redução do tamanho físico dos transistores. • A redução do tamanho do transistor resulta no aumento da velocidade de operação e também na redução das conexões internas, além de permitir a inserção de um número cada vez maior de transistores numa única pastilha. • O aumento da capacidade de integração de transistores resulta ainda na redução do consumo de energia elétrica e do custo dos microprocessadores. • Há um postulado que diz que o gate de um transistor não pode ser menor do a largura correspondente a 10 átomos. Número de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um MicroprocessadorNúmero de Transistores em um Microprocessador • A Lei de Moore - com alguns pequenos ajustes aqui e ali - tem correspondido à realidade, mas segundo especialistas, como Carl Anderson da empresa de tecnologia IBM, ela não será válida para sempre, esbarrando nas limitações do silício em trabalhar com estabilidade. Conceitos básicos Bit: (Binary Digit - 0 ou 1) - Menor informação digital possível; Byte: Um termo especial, usado para designar palavra de oito bits. É a unidade básica de dados nos computadores, que também utilizam alguns múltiplos de 8, tais como 16 bits (Word) e 32 bits (Dword). Nibble, Word, Dword: Palavra digital composta de 4, 16, 32 bits, respectivamente. Bit Nibble Byte Word 0 0000 0000 0000 0000 0000 0000 0000 Registradores: conjunto de flip-flops para Armazenamento temporário de dados- 8 bits, 16 bits, 32 bits, etc. São usados para o armazenamento interno da CPU. Existem diversos registradores na CPU e o principal deles é chamado de Acumulador. Instrução: Comando específico de um microprocessador (movimentação de dados, operações aritméticas e lógicas, etc.); Programa: Sequência lógica de instruções que podem ser reconhecidas pelo microprocessador, que quando executadas em uma ordem correta, resulta na finalização de uma função ou algoritmo Set de Instruções: Conjunto de Instruções - Conjunto de Mnemônicos (siglas que fazem lembrar uma ação) que representam todas as instruções do processador. Cada processador possui o seu set de instruções particular. O microprocessador 8085 possui 74 instruções. BIOS Basic Input/Output System É o conjunto mínimo de instruções necessárias para a inicialização do computador. Também gerencia o fluxo de dados entre o sistema operacional do computador e os dispositivos periféricos conectados. O tamanho das linhas que compõem o barramento é que determina se o processador é de 8, 16, 32 ou até mais bits. Quando falamos, por exemplo, que um processador é de 64 bits. Estamos falando que o barramento de dados que liga a CPU à memória de dados tem 64 linhas. Hollerith e o escritório automatizado de censo Herman Hollerith (1860-1929), um inventor americano, tinha trabalhado no censo de 1880 e sabia muito bem da dificuldade de classificar os resultados. Ele ficou intrigado com a idéia de que uma máquina de classificação pudesse obter resultados de maneira mais rápida. Como Babbage, Hollerith obteve inspiração nos cartões de tecelagem de Jacquard. Ele desenvolveu um plano para codificar as respostas ás perguntas do censo em cartões perfurados. O Eniac A Segunda Guerra Mundial criou no exército americano a necessidade de calcular rapidamente as trajetórias dos mísseis. Embora autorizado pelo exército para ser utilizado na guerra, o ENIAC não foi concluído até 1946, depois do término da guerra,fosse principalmente utilizado para resolver problemas matemáticos desafiantes. O ENIAC era um computador digital programável e não uma calculadora eletrônica. Mil vezes mais rápido que qualquer calculadora existente, o ENIAC dominava a imaginação do público depois que as reportagens nos jornais o descreveram como um “cérebro eletrônico”. O ENIAC levou apenas 30 segundos para calcular as trajetórias que teriam requerido 40 horas de cálculos manuais. Exercícios 1. Qual a diferença entre memória não-volátil para uma volétil? 2. Quais os tipos de memórias voláteis que existem? Quais os tipos de memória não-voláteis que existem? 3. Qual a finalidadeda memória cache? 4. O que é microprocessador? Qual a sua finalidade? Dê exemplos de microprocessadores? 5. O que caracterizou “A loucura de Babbage”? 6. Compare as arquiteturas Von Neumenn e Havard. 7. O que é o ciclo de máquina? 8. Fale sobre a Unidade Lógica Aritmética. 9. O que são os osciladores? 10. Como os indicadores abaixo contribuem para o aumento do desempenho de um processador? (a) aumento da frequência de clock; (b) Aumento da capacidade de memória cache; (c) processamento paralelo de instruções. 11. Diferencie bit, nibble e byte. 12. Qual a diferença entre linguagem de alto nível e linguagem de máquina? 13. O código ASCII foi criado em 1963,para que ele era utilizado? 14. Qual o grande feito do Inglês George Boole? 15. Fale sobre a lei de Moore. Quais são os desafios atuais?
Compartilhar