50
1 1.1 – Introdução aos microprocessadores digitais. O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado por um conjunto estruturado de componentes, e sua função pode ser compreendida em termos das funções desses componentes”. Quais então as funções básicas de um computador? Processamento de dados Armazenamento de dados Transferência de dados Controle das operações internas e de acesso a informação

1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

Embed Size (px)

Citation preview

Page 1: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

1

1.1 – Introdução aos microprocessadores digitais.

● O que é um computador?Reportando-se ao Stalling:

“Um computador pode ser visto como um sistema formado por um conjunto estruturado de componentes, e sua função pode ser compreendida em termos das funções desses componentes”.

● Quais então as funções básicas de um computador?● Processamento de dados● Armazenamento de dados● Transferência de dados● Controle das operações internas e de acesso a informação

Page 2: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

2

1.1 – Introdução aos microprocessadores digitais.

● Visão funcional de um computador:

Mecanismos detransferência

de dados

Mecanismosde controle

Recursos de armazenamento

de dados

Recursos deprocessamento

de dados

Fontes e destinos

dos dados

Periféricos ou linhas de comunicação

Unidades de E/S

Unidades de memória

Unidade Central de processamentoBarramentos externos

Barramentos Internos

Computador

Page 3: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

3

1.1 – Introdução aos microprocessadores digitais.

● Visão estrutural de um computador:

Periféricos e linhas de

comunicação

Barramentos externos

ComputadorUnidades de E/S

UCP

Unidades de

memória

Barramentos internos

Page 4: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

4

1.1 – Introdução aos microprocessadores digitais.

● Transferências de dados possíveis em um computador

Periféricos e linhas de

comunicaçãoUnidades

de E/S

UCP

Unidades de

memóriaAcesso Direto a Memória - DMA

Page 5: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

5

1.1 – Introdução aos microprocessadores digitais.

● O que estamos mostrando afinal: a arquitetura ou a organização de um computador?

● Reportando-se novamente ao Stalling:● O termo “arquitetura de um computador” refere-se aos atributos de

um sistema que são visíveis para o programador ou, em outras palavras, aos atributos que têm impacto direto sobre a execução lógica de um programa.

● Exemplos de atributos de arquitetura incluem o conjunto de instruções, o número de bits usados para representar os vários tipos de dados, os mecanismos de E/S e as técnicas de endereçamento de memória.

● Definir se um computador deve ou não ter uma instrução de multiplicação, por exemplo, constitui uma decisão do projeto da sua arquitetura.

Page 6: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

6

1.1 – Introdução aos microprocessadores digitais.

● O que estamos mostrando a final: a arquitetura ou a organização de um computador?

● O termo “ organização de um computador” refere-se às unidades operacionais e suas interconexões que implementam as especificações da sua arquitetura.

● Atributos de organização incluem detalhes de hardware transparentes ao programador, tais como os sinais de controle, as interfaces entre o computador e os periféricos e a tecnologia de memória utilizada.

● Voltando ao exemplo anterior, definir se uma instrução de multiplicação será implementada por uma unidade de multiplicação especial ou por um mecanismo que utiliza repetidamente sua unidade de soma constituí uma decisão do projeto da sua organização.

Page 7: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

7

1.1 – Introdução aos microprocessadores digitais.

● O que estamos mostrando a final: a arquitetura ou a organização de um computador?

● Estes termos no entanto tendem a se confundir e a sua relação a se estreitar a medida que miniaturam-se os computadores.

● Mudanças na tecnologia, por exemplo, não apenas influenciam a organização, mas também resultam na introdução de arquiteturas mais ricas e poderosas.

● Para estruturas de elevado grau de miniaturização, normalmente não existe um forte requisito de compatibilidade de uma geração para outra o que flexibiliza e aumenta a relação das tomadas de decisão relativas à sua arquitetura e à sua organização.

Page 8: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

8

1.1 - Introdução aos microprocessadores digitais.

● Como são definidas as arquiteturas dos computadores?● Primeiro, pela escolha do conjunto de instruções que lhes serão

atribuídas e;● Segundo, pela escolha do modelo que será usado para acesso a dados e

programas.● Pela escolha do seu conjunto de instruções podemos ter:

● Arquiteturas CISC● quando apresentam um conjunto muito grande e complexo de

instruções● Arquiteturas RISC

● quando apresentam um conjunto reduzido de instruções● Arquiteturas SISC

● quando apresentam um conjunto específico de instruções

Page 9: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

9

1.1 - Introdução aos microprocessadores digitais.

● Como são definidas as arquiteturas dos computadores?● 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.

● Já as instruções constantes de uma máquina RISC apresentam-se de mesmo tamanho e são normalmente processadas em um único ciclo.

● Uma máquina SISC difere das anteriores por apresentar um conjunto de instruções especialmente prototipado para a aplicação pré-estabelecida.

● A medida que se aumenta a miniaturização dos processadores digitais acrescenta-se também uma nítida tendência em se mesclar características CISC e RISC numa mesma unidade.

Page 10: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

10

1.1 - Introdução aos microprocessadores digitais.

● Como são definidas as arquiteturas dos computadores?● 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.

● 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.

Page 11: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

11

1.1 – Introdução aos microprocessadores digitais.

● Alguns conceitos gerais:● Microcomputador?

● É qualquer sistema computacional que possua como CPU um microprocessador.

● Microprocessador?● É qualquer componente que implemente “on chip” as funções de

uma unidade central de processamento.● Microcontrolador?

● É qualquer componente que incorpore “on chip” a maioria das unidades de um microcomputador ou seja: CPU, memória, portas e periféricos de E/S.

● DSP?● É qualquer microcontrolador que adicione funções avançadas para

condicionamento e processamento digital de sinais. O têrmo DSP é usado também para designar o Processamento Digital de Sinais.

Page 12: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

12

1.1 – Introdução aos microprocessadores digitais.

● Alguns 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 (instruções detalhadas que dizem como fazer algo) e suas representações para o computador ou seja, os programas.

● 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.

Page 13: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

13

1.1 – Introdução aos microprocessadores digitais.

● Alguns 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.

Page 14: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

14

1.1 – Introdução aos microprocessadores digitais.

● Tipos de microprocessadores por principais áreas de atuação

* Os sistemas de Processamento Digital de Sinais são na verdade uma grande sub-área dos sistemas embarcados.

Na realidade os limites de aplicabilidade destes três componentes não são tão bem definidas como mostra o quadro acima. Por exemplo:

● O projeto de um sistema embarcado que exija um complexo tratamento matemático, mesmo que não envolva o processamento digital de sinais, pode ser melhor resolvido com um DSP do que com um microcontrolador.

● Em contrapartida, o projeto de um sistema de controle digital, mesmo envolvendo o processamento digital de sinais, sem grandes exigências de cálculo, pode ser melhor resolvido, com custos bem mais reduzidos, com um microcontrolador do que com um DSP.

Microprocessadores Sistemas computacionais de propósito geral

Microcontroladores Sistemas embarcados

DSPs Sistemas p/ Processamento Digital de Sinais*

Page 15: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

15

1.1 - Introdução aos microprocessadores digitais.

● Arquitetura dos microcontroladores e DSPs● Quanto a arquitetura interna uma unidade microprocessadora pode se

apresentar segundo o modelo de Von Neumann (usado pela maioria dos microprocessadores tradicionais) ou, segundo o modelo de Harvard (usado pela grande maioria dos microcontroladores e DSPs).

● Com os avanços da tecnologia de fabricação e com o alto grau de miniaturização dos chips, muitas inclusões foram feitas aos modelos de Von Neumann e de Harvard entretanto a essência de suas proposições estão mantidas até hoje.

● A Analog Devices por exemplo, denominou de Super Arquitetura de Harvard (SHARC®) ao projeto de um DSP no qual incorporou uma unidade de controle de E/S e uma unidade caché de instruções à CPU.

● Já a Texas Instruments, na sua família TMS320C270x, usa uma arquitetura de Harvard modificada. As modificações consistem em incluir no seu modelo, fatores típicos da arquitetura de Von Neumann, tais como a capacidade de tratar dados na memória de programa.

Page 16: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

16

1.1 - Introdução aos microprocessadores digitais.

● Super Arquitetura de Harvard proposta pela Analog Devices

MEMÓRIA

DE

DADOS

C P U

UNIDADES

DE E/S

Bus de Endereços da MD

MEMÓRIA DE

PROGRAMA

Bus de Dado da MD

Bus de Controle

Bus de Endereços da MP

Bus de Dados da MP

Cache de instruções

UNIDADE DE

CONTROLEDE E/S

Page 17: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

17

1.1 - Introdução aos microprocessadores digitais.

● Arquitetura modificada de Harvard proposta pela Texas Instruments

Page 18: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

18

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● O desenvolvimento do microprocessador na década de 1970

representou o maior marco na história dos sistemas eletrônicos e de computação. Ele permitiu o desenvolvimento de computadores pessoais de baixo custo e gerou o campo dos sistemas embarcados, nos quais o microprocessador é usado para controlar um sistema ou um subsistema eletrônico em especial.

● A paternidade do microprocessador é ainda debatida até hoje. Em 1971 a Intel introduziu o 4004, que incluía todos os elementos de uma CPU de 4 bits. Neste mesmo ano a Texas lançou o TMS1802NC.

● Estes dois microprocessadores foram originalmente orientados para suportar as funções de uma calculadora eletrônica. O TMS1802NC da Texas mostrou-se no entanto pouco flexível já que sua programação era armazenada em uma memória interna, só de leitura (o que significava que a mudança no programa exigia um novo processo de mascaramento do chip).

Page 19: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

19

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● A Intel continuou seus esforços no desenvolvimento de

µprocessadores produzindo em 1972 o 8008 e em 1972 o 8080 (reconhecidamente o primeiro µprocessador desenvolvido para aplicações de uso geral).

● Várias companhias seguiram os passos da Intel. Como por exemplo: a Motorola com o 6800, a Rockwell com o 6502 e a Zilog com o Z80. Para competir com estes novos processadores a Intel lançou, em 1975, uma versão melhorada do 8080, o 8085.

● Como características marcantes destes µprocessadores destacam-se: ● Bus de dados de 8 bits;● Bus de endereços de 16 bits – capacidade de endereçamento de 216;● Um numeroso e diversificado conjunto de instruções;● Estrutura seqüencial de busca, decodificação e execução das instruções

Page 20: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

20

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● Nessa mesma época começaram a ser desenvolvidos os µprocessadores

de 16 bits. No entanto, apenas em 1978 surgiu o primeiro deles, o 8086 da Intel. A ele sucederam o 8088 e o 286 da Intel (usados nas linhas de µcomputadores PC, XT e AT da IBM), o 68000 e o 68010 da Motorola (usados na linha de µcomputadores da Apple) e o Z8000 da Zilog.

● Estes microprocessadores se caracterizam por apresentar:● barramento de dados de 16 bits (com exceção do 8088 de 8 bits);● barramento de endereços de 20 e de 24 bits – capacidade de

endereçamento de 220 e 224;● Maior e mais complexo conjunto de instruções;● capacidade de endereçamento de 1Mbyte e de 16 Mbytes de memória;● capacidade de executar um ciclo de barramento em menos de 200ns;● estrutura "pipelined" (canalizada) para as tarefas de busca,

decodificação e execução de uma instrução.

Page 21: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

21

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● A geração de µprocessadores de 32 bits é iniciada em 1984, pela Motorola,

com o lançamento do 68020, num ambiente já notadamente multi-usuário.● Pós o 68020 vieram o 68030 da Motorola e o 80386DX da Intel (usado

como unidade central da linha de computadores 386DX)● Como principais características destes microprocessadores destacam-se:

● "bus" de dados de 32 bits;● "bus" de endereços de 32 bits;● Aumento no número de instruções;● capacidade de executar um ciclo de barramento em menos de 100ns;● capacidade de endereçamento de 4 Gigabytes (232) de memória física;● estrutura "pipelined" melhorada.● possibilidade de inclusão de memória cache externa;● capacidade com a inclusão do cache de executar instruções de acesso a

memória com 0 (zero) estados de espera.

Page 22: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

22

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● Aos microprocessadores 68030 e 80386DX sucederam os, também de 32

bits, 68040 e o 80486DX.● O 80486DX incorporou:

● uma arquitetura escalar (canalização única) otimizada;● uma unidade "caché" e;● uma unidade em ponto flutuante (FPU).

● A inclusão da unidade cache interna veio permitir menos acessos as memórias externas (cache ou principal) e a FPU veio permitir a execução de operações com números reais (antes só possíveis com o auxílio de um co-processador aritmético) tais como o cálculo de funções trigonométricas (seno, coseno, tangente, etc), funções trigonométricas inversas (arco-seno, arco-coseno, arco-tangente, etc), funções logarítmicas (log 2, log 10, ln), funções exponenciais e funções hiperbólicas.

Page 23: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

23

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● Como forma de competir no mercado, a INTEL desenvolveu as versões

econômicas 386SX (com barramento de 16 bits) e 486SX (com barramento de 32 bits mas sem o co-processador interno).

● O 80486DX evoluiu de 25MHz (velocidade de clock dos primeiros lançamentos) para 33MHz e 50MHz.

● As versões de 50MHz embora extremamente rápidas, trouxeram um grave problema, o superaquecimento da pastilha já que, trabalhava em 5V e com velocidade de barramento equivalente.

● Para contornar este problema, a Intel lançou os 486DX2 (de 50MHz e 66MHz em 3,3V) e 486DX4 (de 75MHz, 83MHz e 100MHz em 3,3V) os quais, multiplicavam segundo um fator 2 ou 3 o clock de processamento enquanto mantinham o clock do barramento no limite de 33MHz (velocidade máxima dos barramentos ISA, MCA, EISA, VL-BUS ou PCI).

● Posteriormente é lançada a linha PENTIUM, também de 32 bits ...

Page 24: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

24

1.1 - Introdução aos microprocessadores digitais.

● Gráficos evolutivos dos microprocessadores X86● 1 - Performance dos Ps em quantidade de instruções executadas

por segundo

A n o s

M I

P S

00,5

11,5

22,5

33,5

44,5

5

70 72 74 76 78 80 82 84 86 88 90

80088080

8086

80286

80386DX

80386SX

Page 25: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

25

1.1 - Introdução aos microprocessadores digitais.

● Gráficos evolutivos dos microprocessadores X86● 1 - Performance dos Ps em quantidade de instruções executadas

por segundo

A n o s

M I

P S

0

20

40

60

80

100

120

70 72 74 76 78 80 82 84 86 88 90 92 94

386

486

PENTIUM

Page 26: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

26

1.1 - Introdução aos microprocessadores digitais.

● Gráficos evolutivos dos microprocessadores X86● 2 - Complexidade dos Ps em número de transistores por chip

A n o s

Mil

tran

sist

ores

/chi

p

0

50

100

150

200

250

300

70 72 74 76 78 81 82 85

40048008 8080 8085

8086/88

80186

80286

80386

Page 27: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

27

1.1 - Introdução aos microprocessadores digitais.

● Gráficos evolutivos dos microprocessadores X86● 2 - Complexidade dos Ps em número de transistores por chip

A n o s

Mil

tran

sist

ores

/chi

p

0

500

1000

1500

2000

2500

3000

3500

85 88 93

386

486

PENTIUM

Page 28: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

28

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● Paralelamente, na busca de melhores performances tão bem quanto de

novos mercados, os produtores de microprocessadores procuraram especializar os seus projetos. Como resultado deste esforço, em 1974 a Texas Instruments produziu o primeiro microcontrolador: o TMS1000.

● Estes microcontroladores, em essência, se constituíam em um completo microcomputador em um chip. A inclusão de memória e de unidades periféricas no chip o fez particularmente eficiente em aplicações de sistemas embarcados onde custo, tamanho e consumo de energia deviam ser mantidos extremamente baixos.

● Em 1980 a Intel lançou a família de microcontroladores 8748. Esta família integrou muitos periféricos, inclusive uma memória de programa que podia ser apagada e reprogramada pelo projetista. Tais características abaixou os custos de desenvolvimento dos sistemas à microcontrolador e permitiu o uso do microcontrolador em aplicações de sistemas embarcados de baixos volumes.

Page 29: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

29

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● 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.

● A introdução do DSP induziu o estabelecimento da matéria Processamento Digital de Sinais nos currículos dos cursos de Engenharia Elétrica e é, notadamente a área do conhecimento da engenharia elétrica que mais evoluiu nestas últimas décadas.

● Além do que é a que guarda o maior leque de interdisciplinaridade do curso exigindo conhecimentos específicos em: Teoria da informação; Análise Numérica; Eletrônica Analógica; Eletrônica Digital; Programação; Estatística e Probabilidade.

Page 30: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

30

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● O Processamento digital de sinais progressivamente substituiu o

processamento analógico em aplicações que variam do controle para as telecomunicações. Esta migração digital é percebida até hoje e afeta aplicações de custos acentuadamente decrescentes.

● Hoje, com a presença de baratos e eficientes DSPs, o processamento digital de sinais se incorporou a um conjunto muito grande de áreas da produção industrial onde, principalmente são exigidos algoritmos eficientes e rápidos para a compressão de dados, análise e controle de processos, aquisição de dados, análise e simulação espectral.

● A diferenciação introduzida pela absorção de periféricos específicos nos microprocessadores gera componentes extremamente especializados. Alguns por exemplo são especificamente projetados para aplicações em protocolos de comunicação (Ethenet, USB, etc.) enquanto outros são especificamente projetados para uso em motores elétricos.

Page 31: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

31

1.1 - Introdução aos microprocessadores digitais.

● Contexto histórico:● O beneficio de tais especificações é a produção de projetos eficientes, em

termos de custos, tamanho e consumo de energia. Por outro lado, ele força o surgimento de uma grande variedade de CPUs.

● A dificuldade trazida por esta grande diversidade não deve ser subestimada. O tempo necessário a ser investido no estudo das novas características e na nova ferramenta de desenvolvimento é freqüentemente um grande obstáculo para sua adoção pelo projetista.

● Para o produtor, a introdução de uma nova família de microprocessadores é muito mais complexa e sua adoção deve vir com a garantia de mercado.

● Para evitar este problema alguns fabricantes estão introduzindo novos tipos de microcontroladores que incorporam lógica programável e subsistemas analógicos programáveis. Este é o caso das famílias PsoC – “Programmable system on a Chip” (Sistema programável em um chip) da Cypress e da Altera.

Page 32: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

32

1.1 - Introdução aos microprocessadores digitais.

● 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.● Ocupação de grande área de silício.

Page 33: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

33

1.1 - Introdução aos microprocessadores digitais.

● Principais características dos Microcontroladores● Memória e periféricos integrados no chip● Bus de endereços estreito só permitindo o gerenciamento de

pequena quantidade de memória● Tratamento de poucos formatos de dados (tipicamente 8 ou 16 bits)● Ausência de co-processador e com unidade aritmética e lógica

limitada● Limitados modos de endereçamento (tratamento ineficiente de

funções de linguagens de alto nível)● Baixo custo● Baixo consumo● Pequena área de silício

Page 34: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

34

1.1 - Introdução aos microprocessadores digitais.

● Principais características dos DSPs● Processadores para tratamento de dados em ponto fixo ou flutuante● Arquitetura otimizada para computação intensiva. O TMS320C67 pode,

por exemplo, executar 1 Giga Flops.● Bus de endereços estreito, permitindo apenas o gerenciamento de uma

pequena quantidade de memória● 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...)

● limitados 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

Page 35: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

35

1.1 - Introdução aos microprocessadores digitais.

● Critérios para escolha de um microprocessador● A escolha de um microprocessador para uma dada aplicação é

provavelmente a mais difícil tarefa enfrentada pelos engenheiros.● Para fazer isto corretamente, ele deve conhecer a gama de

microprocessadores que poderá usar para a aplicação, para assim poder precisar e medir os pros e contras de cada opção.

● A maioria deles tenta fazer a escolha dentro do jogo de dispositivos com o qual eles já estão familiarizados.

● Para ajudar na escolha, a maioria dos fabricantes oferecem ferramentas de desenvolvimento e de avaliação. Estas ferramentas permitem ao engenheiro desenvolver e testar o seu software sem ter que implementar o hardware requerido pela aplicação.

Page 36: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

36

1.1 - Introdução aos microprocessadores digitais.

● Critérios para escolha de um microprocessador● Com as tolerâncias inerentes a qualquer projeto, os primeiros

critérios que devem ser levados em conta na escolha de um microprocessador dizem respeito a:

● 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.

Page 37: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

37

1.1 - Introdução aos microprocessadores digitais.

● Critérios para escolha de um microprocessador● Outros critérios de suma importância na escolha são:

● Ferramentas de software e suporte técnico. Neste item devem ser observados o ambiente de desenvolvimento (editor, assemblador, compilador, simulador, emulador), a biblioteca de funções e as soluções de software disponibilizadas pelo fabricante ou empresas credenciadas.

● Custo● Disponibilidade de mercado● Maturidade do processador.

Page 38: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

38

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Tradicionalmente o hardware foi considerado uma tecnologia imutável, de alto desempenho e alto custo de desenvolvimento e produção, enquanto o software sempre foi considerado uma tecnologia com alto grau de adaptabilidade, de baixo desempenho e baixo custo de desenvolvimento e produção.

● Curva típica de desempenho x custo de sistemas de hardware e software nesta abordagem

Desempenho

Custo

Hardware

Software

Hardware/Software

Page 39: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

39

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Assim, ao se utilizar componentes de hardware e software, um sistema pode se beneficiar do aumento de desempenho trazido pelo hardware e ao mesmo tempo a redução de custos trazida pela introdução de componentes de software.

● Tradicionalmente os subsistemas de software eram projetados para serem executados em um microprocessador.

● Seu desempenho era naturalmente baixo, visto que um microprocessador, para garantir a generalidade, necessitava de instruções aritméticas e lógicas, de controle de fluxo, de manipulação de memória e de entrada e saída genéricas, baseadas no paradigma de busca, decodificação e execução.

● Qualquer função mais complexa poderia ser decomposta nas instruções de máquina do microprocessador e para se promover uma modificação era bastante se trocar o código, o que facilitava bastante a atualização deste componente.

Page 40: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

40

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Já os subsistemas de hardware eram implementados em placas de circuitos impressos com circuitos LSI e VLSI, ou com ASICs (Application Specific Integrated Circuits), dependendo da escala de produção.

● Devido a isto, os subsistemas de hardware possuíam baixa tolerância a mudanças, apesar de que, por serem confeccionados para executarem uma só tarefa, possuíam alto desempenho.

● Genericamente, projeto de sistemas contendo subsistemas de hardware e software têm sido feitos na indústria e nas universidades desde os primórdios da computação.

● Entretanto, esses projetos eram feitos de maneira ad hoc e a escolha dos componentes era feita na definição do projeto, o que nem sempre levava a um sistema de custo/benefício e desempenho ótimos.

● Se o protótipo não possuísse desempenho ou custo adequado ao esperado, o projeto voltava à prancheta para o reparticionamento do sistema nos seus subsistemas primitivos de hardware e software.

Page 41: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

41

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Neste modelo de projeto continuado, após o “racha” inicial, as duas sínteses, embora conduzam a integração final do produto não mantêm nenhum compartilhamento e nenhuma realimentação.

Análise e concepção do sistema

Análise dos requisitos

de software

Análise dos requisitos

de hardware

Projeto e testes do hardware

Projeto e testes do software

Integração do sistema

Page 42: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

42

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Outra alternativa de projeto baseou-se no conceito de ambiente unificado onde o projeto de hardware e de software usam a mesma infra-estrutura integrada, tendo por resultado uma melhoria do desempenho global do sistema embora requisite poderoso soft de simulação.

Análise e concepção do sistema

Análise dos requisitos

de software

Análise dos requisitos

de hardware

Projeto e testes do hardware

Projeto e testes do software

Integração do sistemaSubstrato de modelagem integrado

Page 43: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

43

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Os avanços em engenharia e computação, assim como o aumento na complexidade dos sistemas projetados direcionaram para a evolução de um novo paradigma: O codesign.

● Ou mais especificamente à análise e ao projeto integrados de sistemas de hardware e software onde o item chave é a “reconfiguração” e onde passam a ser exploradas as “synergys” entre hardware e software.

● Os fatos geradores do codesign como novo paradigma de análise e projeto foram:

● Primeiro, o aumento do nível de integração que permitiu que sistemas de computação inteiros fosse encapsulados em um único chip.Enquadram-se neste contexto, notadamente os DSPs e os microcontroladores embora que orientados por software mas não reprogramáveis.

Page 44: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

44

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Segundo, foi o surgimento dos “embedded systems” (sistemas embarcados) e a crescente necessidade de se produzir estes sistemas com complexidade e autonomia cada vez maiores e em um tempo cada vez mais curto. Estas características os diferenciam de outros sistemas integrados e impõem a necessidade de uma metodologia que não somente as atendam como também demandas de caráter mercadológico como tempo de projeto e custos financeiros (modelo de receita triangular).

DW W

Receita

Início da janela de Mercado Fim da vida útil

D – Atraso2W – Janela de mercadoReceita de mercado = D(3W-D)/2WReceita de mercado = D(3W-D)/2W22

Pico de receita no meio da vida útil

Perda de receita pelo atraso da entrada do produto no mercado (área azul)

Page 45: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

45

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● E como terceiro fato gerador do codesign como novo paradigma de análise e projeto, surge no mercado os FPGAs (Field Programmable Gate Arrays), dispositivos de hardware que integram elementos lógicos e de memória estruturalmente configuráveis por software.

● Funcionalmente, a configuração do hardware desejado é carregado, por definições de software, durante a inicialização do FPGA, a partir de uma unidade de memória externa ou de um microcomputador adequadamente conectado.

● Esta flexibilidade estrutural permite que os projetistas implementem, por software, qualquer sistema de hardware a partir de uma adequada linguagem de descrição de hardware como o VHDL ou a Verilog HDL.

● Com a introdução de FPGAs de alta densidade, como os da família Stratix® da Altera, que incorporam milhões de elementos lógicos e muitos blocos funcionais embarcados, alguns típicos dos DSPs, os projetistas podem agora implementar o SoPC (System on a Programmable Chip) ideal para sua aplicação*.

* A PI (Propriedade Intelectual) tem na tecnologia SoC sua grande aliada

Page 46: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

46

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Pelo exposto, um ambiente elementar de desenvolvimento para codesign, pode se constituir de um microcontrolador ou de um DSP, para a prototipação rápida de software, de um FPGA, como circuito reconfigurável, para a prototipação rápida do hardware e, opcionalmente, de uma unidade de memória para armazenamento da descrição do hardware desejado.

● O microcontrolador ou o DSP pode ser programado em código C ou assembly e a descrição do hardware do FPGA pode ser feita por meio de ferramentas de mapeamento de hardware e síntese lógica, VHDL ou Verilog HDL em ambientes gráficos de programação, simulação e síntese, fornecidos pelos seus respectivos fabricantes.

● Normalmente o algoritmo desenvolvido em uma plataforma de codesign permite a modelagem, o particionamento entre o hardware e o software, a cosíntese e a cosimulação.

Page 47: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

47

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Exemplo1: ambiente de codesign.● Placa LIRMM - Logic Inside Reconfigurable Micro Machine - desenvolvida

no Laboratório de Informática, Robótica e Microeletrônica de Montpellier.

Page 48: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

48

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Exemplo 2: algoritmo de codesignDescrição do sistema

Especificações

Desenvolvimento e Análise

Particionamento e mapeamento

Especificações do particionamento

Síntese de SW Síntese de HWSíntese de interfaces

Código C VHDL VHDL

Prototipação

Validação

Evolução

Performance estimada

Page 49: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

49

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Anexo 1: estrutura de um FPGA

Pinos de interface

Matriz de roteamento

IOB

CLB CLB

CLB CLB

IOB

Page 50: 1 1.1 – Introdução aos microprocessadores digitais. ●O que é um computador? Reportando-se ao Stalling: “Um computador pode ser visto como um sistema formado

50

1.2 - Contextualizações sobre hardware e software no projeto de sistemas digitais microprocessados.

● Anexo 1: estrutura de um FPGA● Como pôde ser visto na figura anterior, arquitetura do FPGA apresenta

três blocos funcionais: o CLB, o IOB e a matriz de roteamento ou chaveamento (“Switch Matrix”).

● Os CLBs (“Configurable Logic Blocks”) constituem-se normalmente de blocos com funções lógicas programáveis e alguns flip-flops ou registradores.

● Os IOBs (“Input/Output Blocks”) são buffers bidirecionais com saída em alta impedância podendo ser programado como entrada, como saída, como bidirecional ou como saída em coletor aberto.

● O terceiro bloco, são as matrizes de roteamento, responsáveis pelas definições de interligação entre os blocos lógicos e/ou destes com os blocos de entrada/saída.