aula1 introdução a microprocessadores gerais - cct · arquiteturas risc(reduced instruction set...

42
AULA1 Introdução a Microprocessadores gerais Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

Upload: hoangtruc

Post on 09-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

AULA1 –

Introdução a Microprocessadores

gerais

Disciplina: Aplicações Avançadas de

Microprocessadores (AAM)

Tópicos:

• Conceitos gerais

• Evolução dos Microprocessadores

• Arquiteturas

• Principais características dos Microprocessadores

• Critérios para escolha de um microprocessador

• Perguntas

CONCEITOS GERAIS:

Microprocessador ?

Microcomputador?

Microcontrolador?

DSP (Digital Signal Processor)?

DSC (Digital Signal Controller)?

CONCEITOS GERAIS: Microprocessador?

Incorpora num único CI LSI (100 a 999 portas) as funções de uma CPU. Processamento complexo, alto custo. Ex.: Microcomputadores, aparelhos eletrônicos em geral.

Microcomputador? Membro da família de computadores que consiste de um CI

de microprocessador, CIs de memória, e CIs de interfaces de I/O.

CONCEITOS GERAIS: Microcontrolador ((µC, uC or MCU) ?

=> CPU + memória + vários periféricos em um único CI,

usado para controle.

Microcontrolador dedicado ou embarcado?

=> Microcontrolador que está embutido em um produto comercial que pode ser um dispositivo ou sistema específico.

1.4. Processadores Sinais Digitais

(DSP)

Diferem dos microprocessadores na arquitetura de hardware, software e no conjunto de instruções, o qual é otimizado para o tratamento digital de sinais.

São empregados em aplicações que exigem processamento de sinais em tempo real, tais como: áudio, imagem, temperatura, intensidade luminosa, pressão, sinais biomédicos, etc.

São capazes de realizar operações MAC (Multiplica e ACumula em um único ciclo de instrução), permitindo o processamento em tempo real.

CONCEITOS GERAIS: 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

CONCEITOS GERAIS: Surgimento dos DSPs:

Em 1983 surgiu o primeiro processador digital de sinais.

Lançado pela Texas Instruments, o TMS320C10 foi especificamente projetado para resolver problemas de processamento digital de sinais, até esta época, feito totalmente no domínio da eletrônica analógica.

O Processamento digital de sinais além de muito pouco utilizado, requeria máquinas muito complexas, restritivas às áreas militares, aeroespaciais e de exploração do petróleo.

Controladores de Sinais Digitais

(DSCs)

É um componente recente que integra as características de controle

em tempo real de um MCU com as características de

processamento em tempo real de um DSP.

DSC = controle MCU + processamento DSP

São designados para aplicações de áudio e controle de movimentos (motores, encoders, etc.), em particular, aquelas aplicações as quais os microcontroladores não são capazes de atender.

Possuem tamanho, custo e periféricos internos tais como os microcontroladores, aliado à capacidade de operação MAC dos DSPs.

CONCEITOS GERAIS:

Hardware e Software? "hardware" é o conjunto de dispositivos

elétricos/eletrônicos que englobam a CPU, a

memória e os dispositivos de E/S ou seja, é

composto de objetos tangíveis - circuitos

integrados, placas de circuito impresso, cabos,

fontes de alimentação, memórias, impressoras,

terminais de vídeo, teclados, etc.

O "software", ao contrário, consiste em algoritmos

e suas representações para o computador ou seja,

os programas.

Firmware?

CONCEITOS GERAIS:

Firmware?

programa ou conjunto de programas (constituintes

do "software" básico de um computador) que

orientam: a sua partida, a sua inicialização

("bootstraps programs") e a sua operação. Por

esta razão são softwares permanentemente

residentes em ROM.

CONCEITOS GERAIS: Memória principal?

bloco de memória interno do microcomputador responsável pelo armazenamento de programas e de dados que podem ser imediatamente acessados pela CPU.

Fisicamente é implementada através do uso de pastilhas semicondutoras de memória ROM ("read only memory"), não voláteis e RAM ("random access memory"), voláteis.

Memória secundária ou de massa? memória auxiliar, externa, onde possam ser armazenados

maior quantidade de dados e programas os quais, não sejam imediatamente necessários a CPU.

Embora de acesso mais lento, este tipo de memória é relativamente mais econômico para o sistema do que a memória principal. Exemplos deste tipo de memória são os discos magnéticos e os ópticos.

CONCEITOS GERAIS:

Memória CACHE?

A memória cache surgiu quando percebeu-se que as memórias não eram mais capazes de acompanhar o processador em velocidade, fazendo com que muitas vezes ele tivesse que ficar “esperando” os dados serem liberados pela memória RAM para poder concluir suas tarefas, perdendo muito em desempenho.

CONCEITOS GERAIS: Para solucionar este problema, começou a ser usada a memória cache, um tipo ultra-rápido de memória que serve para armazenar os dados mais frequentemente usados pelo processador, evitando na maioria das vezes que ele tenha que recorrer à comparativamente lenta memória RAM. Enfim, é como se fosse um memória auxiliar a RAM.

CONCEITOS GERAIS:

São usados dois tipos de cache, chamados de cache primário, ou cache L1 (level 1), e cache secundário, ou cache L2 (level 2). O cache primário é embutido no próprio processador e é rápido o bastante para acompanhá-lo em velocidade.

CONCEITOS GERAIS: Sempre que um novo processador é desenvolvido, é

preciso desenvolver também um tipo mais rápido de memória cache para acompanhá-lo. Como este tipo de memória é extremamente caro (chega a ser algumas centenas de vezes mais cara que a memória RAM convencional) usamos apenas uma pequena quantidade dela. Para complementar, usamos também um tipo um pouco mais lento de memória cache na forma do cache secundário, que por ser muito mais barato, permite que seja usada uma quantidade muito maior.

CONCEITOS GERAIS: Caches nos microprocessadores

CONCEITOS GERAIS: Caches nos microprocessadores

Evolução dos Microprocessadores

O primeiro microprocessador utilizado em um computador pessoal foi o Intel 8080 (8 bits ) lançado em 1974;

O primeiro microprocessador realmente popular foi o Intel 8088, lançado em 1979 e incorporado a um PC IBM - que apareceu em 1982.

O 8088 evoluiu para o 80286, depois para o 80386, 80486, Pentium, Pentium II, Pentium III e Pentium 4, Celeron, Xeon, Itanium, Core2 (Duo – 2 núcleos e Quad – 4 núcleos), i3, i5 e i7 extreme ...

Seu principal concorrente, a AMD, evoluiu paralelamente, com o 286A, o 386, 486, 586, K5, K6-3, Athlon, Duron, Sempron, Athlon MX, AMD64, Phenom e Turion.

ARQUITETURAS:

Como são definidas as arquiteturas

dos computadores?

Escolha do conjunto de instruções que lhes serão

atribuídas e;

Escolha do modelo que será usado para acesso a

dados e programas.

ARQUITETURAS: 1) Pela escolha do seu conjunto de instruções

podemos ter:

Arquiteturas CISC (Complex Instruction Set Computer)

Quando apresentam um conjunto muito grande e complexo de instruções. As máquinas CISC apresentam um conjunto muito grande de instruções (acima de 100 por exemplo) e algumas delas, dado sua complexidade, apresentam formatos diferenciados e 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;

• Com o aumento da velocidade da tecnologia

atual, arquiteturas CISC passaram a executar

mais de uma instrução por ciclo, utilizando

pipeline.

ARQUITETURAS:

• Com esses avanços tecnológicos, CISC e

RISC passaram a possuir diversas

similaridades, e a distinção entre as mesmas

deixa de ser tão relevante;

• Porém, apesar do aumento no conjunto de

instruções, RISC continua utilizando

instruções de um ciclo, com um grande

número de registradores.

ARQUITETURAS: 2) Pela escolha do modelo que será usado

para acesso a dados e programas podemos ter:

Computadores com arquitetura segundo o modelo proposto pelo Instituto de Estudos Avançados de Princeton (atribuído a Von Neumann) – máquina de Von Neumann

Computadores com arquitetura segundo o modelo proposto pela universidade de Harvard – máquina de Harvard.

ARQUITETURAS:

Modelo von Neumann:

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.

Modelo von Neumann:

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 seqüencial de instruções ; e

Único caminho entre memória e CPU.

Modelo von Neumann:

- Arquitetura mais simples; - Mais lento pois não permite acesso simultâneo às memórias.

ARQUITETURAS:

Modelo Harvard:

Variação da arquitura von Neumann;

Barramentos separados para

instruções e dados, portanto

trafegam em barramentos diferentes

=> paralelismo;

Memórias separadas para

instruções e dados.

ARQUITETURAS:

Modelo Harvard:

ARQUITETURAS:

Modelo Harvard:

ARQUITETURAS:

Idéia de pipeline:

ARQUITETURAS: Pipeline é uma técnica de hardware que permite

que a CPU realize a 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.

A técnica de pipeline é 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.

ARQUITETURAS:

O modelo de Von Neumann é usado pela

maioria dos microprocessadores tradicionais

e o modelo de Harvard é usado pela grande

maioria dos microcontroladores e DSPs.

ARQUITETURAS:

Beneficiados pelos avanços da tecnologia

de fabricação e pelo elevado grau de

miniaturização dos chips, muitas inclusões

foram feitas aos modelos de Von Neumann

e de Harvard, no entanto, a essência de

suas proposições estão mantidas até os

dias de hoje.

Principais características dos

Microprocessadores: Largura de bus de endereços elevada (permite o

gerenciamento de grande quantidade de memória)

Unidade de gerenciamento de memória integrada

Co-processador matemático e unidade lógica e aritmética com suporte à operações numéricas complexas tais como multiplicação em ponto flutuante.

Sofisticados modos de endereçamento para eficiente suporte as funções de linguagens de alto nível.

Alto custo

Alto consumo de energia.

Critérios para escolha de um

microprocessador: Funcionalidade do conjunto de instruções

Arquitetura e modos de endereçamento

Velocidade de execução (não exatamente a

freqüência do clock)

Capacidade aritmética e lógica

Capacidade de endereçamento

Consumo de energia

Tamanho

Presença de periféricos necessários a aplicação.

Ponto Fixo: Em computação, uma representação de número

de ponto fixo é um tipo de dados real para um

número que tem um número fixo de dígitos

depois (e às vezes também antes) do ponto

decimal.

Por exemplo, uma representação de ponto fixo que

tem sete dígitos decimais com duas casas

decimais pode representar os números de

12345,67, 123,45, 1,23, etc

Ponto Flutuante:

Em computação, uma representação de

números reais em ponto flutuante, refere-se

ao fato de que o ponto decimal pode

"flutuar", isto é, ele pode ser colocado em

qualquer lugar em relação aos algarismos

significativos do número.

Ponto Flutuante: http://www.slideshare.net/adorepump/aritmetica-

computacional-presentation

Ponto Flutuante:

PERGUNTAS: 1) Qual a diferença básica entre microprocessador e microcontrolador?

2) O que é memória cache? Qual a sua finalidade?

3) Quais as diferenças entre software e firmware?

4) Como são definidas as arquiteturas dos computadores? Explique.

5) Quais as principais características dos Microprocessadores?

6) Quais as principais características dos DSPs?

7) Qual a diferença fundamental entre a arquitetura von Neumann e a

Harvard? Qual é a mais rápida? Justifique.

8) O que é pipeline? Qual a vantagem?

9) Qual a diferença entre CISC e RISC?

10) O que são em computação ponto fixo e flutuante de números reais?