Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Estudo de Microprocessador, Notas de estudo de Engenharia Elétrica

Curso básico de MC

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 09/11/2009

volnei-junior-12
volnei-junior-12 🇧🇷

4.7

(43)

293 documentos

1 / 18

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
MICROPROCESSADORES
Conceitos Básicos de Computação:
Bit – abreviação de Dígito Binário em Inglês (
BI
nary digi
T
), que
corresponde ao valor zero (0) lógico ou ao valor um (1) lógico.
Notação Hexadecimal - notação para números binários que utiliza 16
dígitos (0 a 9, A,B,C,D,E,F) para representar um número binário de 4 Bits.
Assim, as 16 combinações possíveis de 4 Bits são escritas com os dígitos
hexadecimais. Uma letra h é usada para denotar que o número escrito está
em hexadecimal (Ex: 00h , 3Fh)
Byte – representação numérica composta de 8 Bits. Pode representar
números de 00h (0
10
) a FFh (255
10
).
Informação Binária – conjunto formado por 1 ou mais Bytes.
Registrador – conjunto de Flip-flops, geralmente do tipo D, que são
interligados em paralelo. São responsáveis pelo armazenamento de uma
informação binária. Dependendo do número de Flip-flops interligados,
podem armazenar 8 Bits(8 Flip-flops = 1 Byte), 16 Bits (= 2 Bytes), 32 Bits
(= 4 Bytes), 64 Bits (= 8 Bytes) ou 128 Bits (= 16 Bytes). Os registradores
são memórias voláteis, ou seja, quando desenergizados perdem seu
conteúdo.
Memória – local de armazenamento de Informações Binárias. Podem ser
formadas por circuitos semicondutores, mídias magnéticas, mídias ópticas,
etc... De uma certa forma, um Registrador pode ser considerado uma
memória que armazena apenas uma informação binária por vez.
Computador – Unidade de processamento que executa Instruções de um
programa para realizar alguma tarefa.
Instrução – define uma única ação que um computador pode executar por
vez. As ações das instruções podem ser: leitura ou escrita de uma
informação binária na memória, leitura ou escrita de uma informação binária
em um registrador, operações lógicas entre informações binárias,
operações aritméticas entre informações binárias, etc...
Programa – conjunto de Instruções arranjadas de maneira organizada por
um programador com o objetivo de informar ao Computador qual a tarefa
que mesmo deverá executar. Os Programas, em geral, são armazenados
na Memória do Computador.
Software – são os programas que são carregados na memória do
Computador para serem executados (Ex: Windows, Office, C++, Netscape,
etc...).
Firmware – são os programas que já estão previamente armazenados em
uma memória não volátil (ROM/PROM/EPROM/Flash) e que permitem a
operação fundamental de um computador, inclusive a carga de Programas
(Software) na memória para serem executados.
Hardware – são as partes eletrônicas, eletro-mecânicas e ópticas de um
computador.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Pré-visualização parcial do texto

Baixe Estudo de Microprocessador e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

MICROPROCESSADORES

Conceitos Básicos de Computação:

• Bit – abreviação de Dígito Binário em Inglês ( BI nary digi T ), que

corresponde ao valor zero (0) lógico ou ao valor um (1) lógico.

  • Notação Hexadecimal - notação para números binários que utiliza 16 dígitos (0 a 9, A,B,C,D,E,F) para representar um número binário de 4 Bits. Assim, as 16 combinações possíveis de 4 Bits são escritas com os dígitos hexadecimais. Uma letra h é usada para denotar que o número escrito está em hexadecimal (Ex: 00h , 3Fh)
  • Byte – representação numérica composta de 8 Bits. Pode representar números de 00h (0 10 ) a FFh (255 10 ).
  • Informação Binária – conjunto formado por 1 ou mais Bytes.
  • Registrador – conjunto de Flip-flops, geralmente do tipo D, que são interligados em paralelo. São responsáveis pelo armazenamento de uma informação binária. Dependendo do número de Flip-flops interligados, podem armazenar 8 Bits(8 Flip-flops = 1 Byte), 16 Bits (= 2 Bytes), 32 Bits (= 4 Bytes), 64 Bits (= 8 Bytes) ou 128 Bits (= 16 Bytes). Os registradores são memórias voláteis, ou seja, quando desenergizados perdem seu conteúdo.
  • Memória – local de armazenamento de Informações Binárias. Podem ser formadas por circuitos semicondutores, mídias magnéticas, mídias ópticas, etc... De uma certa forma, um Registrador pode ser considerado uma memória que armazena apenas uma informação binária por vez.
  • Computador – Unidade de processamento que executa Instruções de um programa para realizar alguma tarefa.
  • Instrução – define uma única ação que um computador pode executar por vez. As ações das instruções podem ser: leitura ou escrita de uma informação binária na memória, leitura ou escrita de uma informação binária em um registrador, operações lógicas entre informações binárias, operações aritméticas entre informações binárias, etc...
  • Programa – conjunto de Instruções arranjadas de maneira organizada por um programador com o objetivo de informar ao Computador qual a tarefa que mesmo deverá executar. Os Programas, em geral, são armazenados na Memória do Computador.
  • Software – são os programas que são carregados na memória do Computador para serem executados (Ex: Windows, Office, C++, Netscape, etc...).
  • Firmware – são os programas que já estão previamente armazenados em uma memória não volátil (ROM/PROM/EPROM/Flash) e que permitem a operação fundamental de um computador, inclusive a carga de Programas (Software) na memória para serem executados.
  • Hardware – são as partes eletrônicas, eletro-mecânicas e ópticas de um computador.

1. MICROPROCESSADORES

1.1. HISTÓRICO

Embora as primeiras gerações de computadores tivessem obtido grande sucesso nas décadas de 50 e 60, apresentavam alguns inconvenientes: o tamanho e a velocidade. Um impacto tecnológico viria a reduzir as dimensões dos computadores ao mesmo tempo em que os tornariam mais rápidos: o surgimento dos microprocessadores.

Um microprocessador é um circuito integrado (“chip”) capaz de executar instruções, tendo com sua principal parte a Unidade Central de Processamento (CPU). Com o avanço tecnológico na área da microeletrônica, outras características vêm sendo incorporadas ao longo das últimas décadas aos microprocessadores, como unidades de gerenciamento de memória, memória cache, coprocessador numérico, etc, tornando-os cada vez mais complexos.

A origem dos microprocessadores data de 1971, quando a Intel Corporation lançou no mercado o microprocessador 4004, denominado originalmente como “calculadora em um único chip”, podendo ser considerado como o primeiro processador de propósito geral. Possuía em torno de 3.000 transistores e logo surgiram aplicações para ele. A partir desta nova tecnologia surgiriam as calculadoras mais modernas, os computadores pessoais (PC), as “workstations”, e atualmente os microprocessadores vêm derrubando a última fronteira na área dos computadores: os “mainframes”.

1.2. O QUE É UM MICROPROCESSADOR

O microprocessador é um dispositivo lógico programável em um único chip de silício, concebido sob a tecnologia VLSI (circuito integrado em alta escala). Ele age sob o controle de um programa armazenado em memória, executando operações aritméticas, lógica booleana, tomada de decisão, além de entrada e saída, permitindo a comunicação com outros dispositivos periféricos.

importante, como caixas registradoras. Logo tornou-se obsoleto pela sua limitação de endereçamento de memória.

  • 8080 (1973): primeiro dos microprocessadores modernos de 8 bits. A partir dele outros fabricantes começaram a lançar seus microprocessadores de 4 e 8 bits, alavancando um grande avanço tecnológico nesta área. Ele é capaz de endereçar 64 Kbytes de memória, possui mais instruções do que o anterior e ainda utiliza um clock cerca de 10 vezes mais rápido que o 8008. Além disso, possui a vantagem de ser compatível com a família TTL, facilitando o seu interfaceamento com outros componentes.
  • 8085 (1976): este processador pode ser considerado a nova versão do 8080 Além de mais rápido, possuindo algumas características extras, como a incorporação do gerador de clock e circuitos internos para a geração de sinais de controle, diminuindo o número de componentes adicionais necessários para a construção de um sistema.
  • 8086 (1978): primeiro processador de 16 bits, incorporando instruções de multiplicação e divisão, e com velocidade 3 vezes maior que o 8085. Endereça 1 Mbytes de memória, o que permitiu a concepção dos primeiro microcomputadores da linha PC, e posteriormente os XT, ancestrais dos microcomputadores atuais, que na época até os substituíam em algumas aplicações. Possui ainda um número maior de registradores, possibilitando a agilização de operações entre registradores, sem o envolvimento da memória exterior.
  • 8088 (1979): possui basicamente as mesmas características do microprocessador anterior, trabalhando internamente com 16 bits, com via de dados externa de 8 bits, o que reduz a sua performance a 75 % da do 8086, mas permitindo a concepção de sistemas mais baratos.
  • 80186 (1982): evolução do 8086, sendo compatível a nível de software com o seu antecessor. Possui recursos adicionais, como gerador de clock interno, controlador de interrupção programável, temporizadores, unidade programável de ADM (acesso direto à memória) e unidade de seleção de dispositivos de memória e E/S.
  • 80188 (1982): versão com via de dados externa de 8 bits do 80186.
  • 80286 (1983): versão avançada do 8086, ainda em 16 bits, tendo sido projetado para permitir aplicações de multi-usuários e multitarefas. Pode endereçar até 16 Mbytes de memória física e 1 Gbytes de memória virtual gerenciada por uma unidade de gerenciamento de memória localizada no próprio processador. É capaz de executar instruções em menos ciclos de clock que o 8086, e foi utilizado pelos microcomputadores PC-AT.
  • 80386 (1985): versão em 32 do 8086, suportando multitarefa e gerenciamento de memória virtual com ou sem paginação, proteção de software e capacidade de endereçamento de 4 Gbytes de memória física, e 64 Tbytes de memória virtual. Pode chavear entre o modo real e modo protegido de memória via software, sem necessidade de reinicialização. Disponível em duas versões, muito utilizadas nos PCs que sucederam o PC AT:
  • 386DX: versão com via de dados externa de 32 bits.
  • 386SX: versão com via de dados externa de 16 bits.
  • 80486 (1989): versão aprimorada do 80386, incorporando o coprocessador numérico 387 e 8 Kbytes de memória cache. Apresenta uma melhor performance em relação ao 80386, tendo sido concebido sob o conceito das arquiteturas RISC. Disponível nas versões:
  • 486SX: versão sem o coprocessador numérico 80387.
  • 486DX: versão com o coprocessador numérico 80387.
  • 486DX2: versão com clock interno duplicada (2 x 20, 25 ou 33 Mhz).
  • 486DX4: versão com clock interno triplicada (3 x 25 ou 33 Mhz), e 16 Kbytes de memória cache.
  • Pentium (1993): contém o equivalente a dois 80486, sendo que o trabalho a ser realizado é dividido automaticamente entre os dois processadores, visando mantêlos ocupados a maior parte do tempo. Possui duas unidades de processamento de números inteiros implementados na forma de pipeline de cinco estágios, que permitem o paralelismo de algumas operações, e duas unidades de memória cache de 8 Kbytes cada para dados e instruções.
  • Pentium Pro(1995): possui arquitetura semelhante à do Pentium, mas com cache de nível 1 (16 Kbytes) e cache de nível 2 (até 1 Mbytes) conectados ao bus com a mesma freqüência do processador. A freqüência de trabalho está entre 150 Mhz e 200 Mhz.
  • Pentium MMX(1996): possui arquitetura semelhante à do Pentium, com a incorporação de instruções destinadas ao processamento de imagem. A partir desse processador forami previstas diferentes tensões de alimentação do núcleo e de interação com o meio externo que são respectivamente 2.8V e 3.3V.
  • Pentium II(1997): possui arquitetura baseada no processador Pentium Pro, com cache de nível 1 de 32 Kbytes que opera na mesma freqüência do processador, e a incorporação de instruções do MMX. O cache de nível 2, com 512 Kbytes, opera na freqüência do bus externo. A freqüência de operação está entre (66 – 100Mhz) x (3– 5).
  • Pentium II Xeon (1998): possui arquitetura semelhante à do Pentium II, mas com o cache de nível 2 (512 Kbytes ou 1 Mbytes) operando na freqüência do processador. O desenvolvimento deste processador teve o objetivo de suprir o mercado anteriormente suprido pelo Pentium Pro, envolvendo servidores e estações de trabalho.
  • Outros processadores: 1999: Celeron® Processor, 1999: Pentium® III Processor, 1999: Pentium® III Xeon™ Processor, 2000: Pentium® 4 Processor, 2001: Intel® Xeon™ Processor, 2001: Itanium™ Processor.

memória. Projetado para a concepção de sistemas mais baratos, apresentando uma performance de cerca de 60% do 68000.

  • 68020 (1984): microprocessador de 32 bits, compatível com os processadores anteriores. Possui unidades de pré-fetch e cache de 256 bytes. As vias de dados e endereços não são multiplexadas.
  • 68030 (1987): versão aprimorada do 68020, incluindo o coprocessador numérico 68881. Possui cache de 256 bytes para dados e para instruções.
  • 68040 (1990): versão aprimorada do 68030, possuindo internamente unidade de gerenciamento de memória, unidade de manipulação de ponto flutuante, e 4 Kbytes de memória cache para dados e instruções independentes.
  • 68060 (1994): além das características do anterior, apresenta arquitetura superescalar, ou seja, múltiplas unidades de execução, cache de instrução e memória, e unidades de gerenciamento de memória paginada para instrução e dados.

A Zilog foi fundada em 1974 a partir de uma dissidência da Intel, e projetou o famoso microprocessador Z80, versão aprimorada do 8080, de 8 bits que se tornou muito popular. O microprocessador seu sucessor foi o Z8000 (1979) de 16 bits, com capacidade de endereçar até 8 Mbytes de memória, memória cache para dados e instruções de 256 bytes cada, e unidade de gerenciamento de memória.

2. ARQUITETURA DE MICROPROCESSADORES

Apesar de existirem diversos fabricantes e famílias de microprocessadores, pode- se identificar muitos aspectos comuns no que diz respeito à arquitetura desses componentes. Em geral, o bom conhecimento de algum deles acelera o aprendizado de outro.

Do ponto de vista de funcionamento, basicamente um microprocessador lê uma-a- uma as instruções de um programa armazenado na memória, obtém os seus operandos quando necessário, manipula os dados de acordo com o especificado no código da instrução, podendo ainda, ler dados de dispositivos de entrada e enviar dados para dispositivos de saída.

Apesar de cada Microprocessador ter suas peculiaridades, sua estrutura interna é bastante semelhante e pode ser generalizada. A estrutura interna de um Microprocessador pode ser ilustrada na figura 2..

Um Microprocessador é a parte principal de um microcomputador e a sua principal responsabilidade é executar instruções, que em última análise controlam todas as suas partes. Ele possui duas unidades básicas: a Unidade Lógica Aritmética (ULA) , responsável pela realização das operações lógicas e

aritméticas, e a 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 e do próprio computador além de Registradores para armazenamento da Informação Binária (dados, endereços e instruções).

2.1. UNIDADE CENTRAL DE PROCESSAMENTO - CPU

Esta parte do processador realiza todas as operações lógicas e aritméticas, possuindo além da própria Unidade Lógica e Aritmética, os registradores (Acumulador, registradores de propósito gerais e especiais) e a Unidade de Controle.

a) Registradores: corresponde a uma memória local rápida do microprocessador, destinada ao armazenamento de dados e instruções. Um registrador pode ser:

Figura 2.1 - Estrutura interna de um Microprocessador

  • Circuitos de Temporização (Gerador de Clock): implementam o funcionamento síncrono do processador, indicando os instantes onde cada etapa da execução de uma instrução deve ocorrer. Em geral, o sinal de temporização (“clock”) é fornecido por um circuito oscilador a cristal associado a um circuito quadrador do sinal.
  • Controle e Decodificação (Memória de Microprogramas): memória apenas leitura que possui as atividades internas que devem ser realizadas para a execução de cada instrução.
  • (^) Decodificador de Instrução: recebe a instrução que estava armazenada na memória e gera os códigos do Microprograma que realizará a tarefa definida por ela.

2.2. BARRAMENTOS INTERNOS

Os barramentos internos ou vias internas interligam os diversos componentes do microprocessador, conduzindo dados e endereços.

3. ARQUITETURA DE MICROCOMPUTADORES

Um Microcomputador é constituído de um Microprocessador, Memórias e Unidade de Entrada e Saída de Dados conforme mostra a figura 2.2.

Figura 2.2 – Blocos básico de um Microcomputador

A maneira como se interligam estes módulos seguem uma metodologia de projeto baseada em uma Arquitetura de Computadores.

O primeiro modelo de Arquitetura de Computadores é conhecido como Modelo de Von Neumann e foi a base para fabricação dos Microcomputadores. As Figuras 2.3 e 2.4 mostram um diagrama genérico para um Microcomputador baseado na Arquitetura de Von Neumann.

Problemas com a Arquitetura de Von Neumann:

  • Há apenas um barramento (duto) de dados e um de endereço.
  • As Instruções e os dados ocupam o mesmo endereçamento de memória.
  • As Instruções e os dados trafegam pelo mesmo duto (Duto de Dados).

Memória de armazenamento de programa (não volátil)

Unidade

lógica e

Aritmética

Registradores

Unidade de

Controle (UC)

Unidade Central de Processamento (CPU- Microprocessador)

Unidade de

Memória

Unidade de

Entrada e

Saída

(IO)

Memória de armazenamento de dados (volátil)

Entrada de Informação

Saída de Informações

Os barramentos (dutos ou vias) externos permitem a interligação do microprocessador com elementos externos, como memória e periféricos de entrada e saída de dados conforme mostra a figura 2.5.

Existem três tipos de barramentos externos (Figura 2.6):

Figura 2.6 - Ligação dos Blocos através dos Barramentos externos

Figura 2.5 - Barramento externo

a) Barramento de Dados: é um barramento bidirecional, que permite a movimentação de dados entre os diversos componentes num sistema microprocessado: microprocessador, memória e dispositivos de entrada e saída de dados. Os sinais que controlam o tráfego de informações são fornecidos pelo barramento de controle. A largura do barramento de dados depende do processador, podendo ser de 8, 16, 32 ou 64 bits, e corresponde à quantidade de bits que podem ser transferidas em paralelo. No exemplo do Z80, este barramento possui 8 bits, denominados de D 0 -D 7.

b) Barramento de Endereços: é um barramento unidirecional, que permite a seleção de uma posição de memória ou dispositivo de entrada e saída por parte do processador. O número de bits presentes no barramento de endereços determina o espaço de endereçamento de memória e/ou entrada e saída, conforme a tabela II. No exemplo do Z80, este barramento possui 16 bits, denominados de A 0 -A 15 ; que em conjunto com o sinal MREQ endereçam a memória; e em conjunto com o sinal IORQ endereçam portas de entrada/saída. Permitem ainda o refrescamento de memórias dinâmicas em conjunto com o sinal RFSH.

Barramento de Capacidade de Endereçamento Endereçamento Endereços (bytes) (bits) 8 256 10 1 K 12 4 K 14 16 K 16 64 K 18 256 K 20 1 M 22 4 M 24 16 M 26 64 M 28 256 M 30 1 G 32 4 G

Tabela II -Capacidade de endereçamento x barramento de endereços

c) Barramento de Controle: controla o funcionamento dos barramentos de dados e endereços, já que estes são utilizados tanto pela memória quanto pelos dispositivos de entrada e saída. Informam os instantes onde as informações podem trafegar nos barramentos de dados e endereços.

O microprocessador é geralmente implementado em um único componente, que possui:

  • unidade central de processamento – CPU;

Ele pode ser encarado como uma máquina seqüencial de uso geral, cujo comportamento no tempo é determinado por um programa externo colocado em memória. Associado a pastilhas periféricas, ele pode gerar:

  • microcomputadores e controles lógicos de uso específico
  • microcomputadores de uso geral

Suas aplicações mais destacadas são as que envolvem o processamento de informações demasiadamente complexas para uma solução convencional com circuitos digitais discretos, e não complexas o suficiente para o aproveitamento das flexibilidades de um microcomputador. Exemplos de aplicações: instrumentação; comunicações; computação: micros e seus periféricos; automação: industrial, comercial, bancária, predial; transportes; diversão: aparelhos de uso doméstico e brinquedos.

Algum tempo após o lançamento dos microprocessadores surgiram os microcontroladores , que possuem em um único componente:

  • a unidade central de processamento
  • memória (ROM e RAM);
  • entradas e saídas (serial, paralela, timer, etc).

Contudo, os microcontroladores apresentam menor desempenho que os microprocessadores, mas possuem um custo muito baixo (alguns dólares tipicamente), sendo destinados a aplicações onde as dimensões, custo, tamanho e consumo do produto são muito importantes. O primeiro microcontrolador foi o 8048 da Intel, o qual foi sucedido posteriormente pela família 8051, muito popular atualmente, juntamente com o 6811 da Motorola. Contudo, existem muitos modelos e fornecedores desses componentes no mercado, podendo ser encontrados em veículos, equipamentos domésticos, dispositivos periféricos de computadores, pequenos sistemas de controle, brinquedos, etc.

6. FUNCIONAMENTO DE UM MICROPROCESSADOR OU

MICROCONTROLADOR

z O microcomputador/microcontrolador é uma máquina eletrônica capaz de buscar e executar instruções de programas alocados em memória;

z Após a energização de um microcomputador/microcontrolador, é gerado um sinal de reset que zera o Program Counter (PC), ou seja, posiciona o Contador de Programa no endereço inicial. O programa é executado a partir de seu início;

z O microprocessador/microcontrolador irá buscar e executar a instrução que está localizada no endereço de memória definida pelo PC (início do programa);

z Para buscar uma instrução na Memória, o microprocessador/microcontrolador gasta um determinado tempo chamado de Ciclo de Busca. Para executar a instrução buscada, o Microprocessador/microcontrolador gasta outro tempo determinado chamado de Ciclo de Execução. A Figura 2.7 ilustra os tempos envolvidos.

z Ciclo de Busca: operação de leitura de uma instrução a partir da posição de memória cujo endereço é definido pelo conteúdo do PC. Nesse ciclo o conteúdo do PC é incrementado de uma, duas ou três unidades. Isso depende do tamanho da instrução;

z Ciclo de Execução: executa a instrução (operações de movimentação de informação, operações aritméticas e lógicas, etc.).

Figura 2.7 – Ciclo de Busca e Ciclo de Execução