cap 1 - introdução - alan.eng.br · •sistemas operacionais (andoird , integrity, linux,...

43
- Arquitetura de sistemas digitais- Cap 1 - Introdução Prof. Alan Petrônio - www.ufsj.edu.br/alan - 2012

Upload: lamliem

Post on 04-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

- Arquitetura de sistemas digitais-

Cap 1 - Introdução

Prof. Alan Petrônio - www.ufsj.edu.br/alan - 2012

• Conteúdos/propósitos deste capítulo: 1.1 - Relembrando conceitos

1.2 - Arquitetura de computadores

1.3 - Sistemas embarcados

1.4 - Arquitetura de microcontroladores

1.5 - Processadores digitais de sinais

1.6 - Arquitetura de dispositivos lógicos programáveis

2 Alan P. Pinheiro – www.ufsj.edu.br/alan

1.1 – Relembrando conceitos

• Aritmética binária

• Portas lógicas

3 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Os Flip flops (FF)

4 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Sinais de controle síncronos e assíncronos

• Exemplo:

5 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Níveis de abstração de um sistema digital

• “Classificação” dos CI´s quanto à “programabilidade” • CI não programável

• CI programável (instruções/software)

• CI com hardware programável (linguagens HDL)

6 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Máquinas de estados

7 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Tecnologias de sistemas digitais

8 Alan P. Pinheiro – www.ufsj.edu.br/alan

1.2 Arquitetura de computadores

• Arquitetura

– atributos que possuem impacto sobre a execução lógica de instruções

• Organização

– unidades operacionais e suas interconexões => realizam especificações arquiteturais

• Mesma arquitetura mas diferente organização !

9 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Funcionabilidade de um sistema de computador

– processamento de dados;

– armazenamento de dados;

– movimentação de dados;

– controle.

10 Alan P. Pinheiro – www.ufsj.edu.br/alan

11 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Hardware x software

12 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Protocolos/arbitração

13 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Processador: CI que executa instruções em memória

• Princípio do “programa armazenado em memória”

– Instrução e dados na mesma memória

– Flexibilidade e universalidade

• Avanços – Eletrônica: transistores efeito-campo e tecnologia VLSI

– Arquitetura/organização microprocessadores • Pipeline; cache; busca antecipada, RISC/CISC, etc ...

1.3 - Arquitetura de microcontroladores

14 Alan P. Pinheiro – www.ufsj.edu.br/alan

• A hierarquia em diferentes níveis de abstrações ... – Transistores

– Portas lógicas, flip-flops

– Somadores simples, multiplexadores, decoders ...

– Somadores completos, registradores de deslocamento, barramentos, multiplicadores ...

– ULA, bancos de memória/registradores ...

– Cache, gerenciador de programa e unidade de controle

– Processador

– Periféricos (conversores AD/DA, memórias ‘externas’, drivers, USB, etc ...) => MICROCONTROLADORES (MCU)

– Sistemas integrados em CI´s

• “Instruction set”

15 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Exemplo:

16 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Diversos modelos microcontroladores

– PIC (12,16,18), Z80, 8051, ARMs ...

– ARM

• 10 MHz a 1.5 GHz

• 8 a 64 BITS

• Cache “on-chip” (até 64KB)

• 12 a >200 pinos

• Sistemas operacionais (Andoird , Integrity, Linux, Neutrino, Tornado, Windows CE e dereivações)

• Até 3.000 MIPS (milhões de instruções por segundo) – PIC: 80 MIPS a 80MHz (máximo)

17 Alan P. Pinheiro – www.ufsj.edu.br/alan

1.4 - Processadores digitais de sinais

• DSP = digital signal processor – Entradas e saídas discretas: y[n] = L{ x[n] }

• Década 70 – filtros e FFT

• Século XXI – telecomunicações (mobile) metade aplicações DSP

• Capacidade de: – Operar com milhões de amostrar por segundo

– Grande largura de memória

– Grande demanda computacional

– Requerimentos em tempo real que extrapolam MCU 18

Alan P. Pinheiro – www.ufsj.edu.br/alan

• Exemplo

19 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Otimizado para :

– convoluções de resposta ao impulso (soma produtos);

– resposta ao impulso recursiva (filtragem)

– FFT;

– outras operações/algoritmos típicos de PDS;

– interface otimizada para portas externas (tempo real).

20 Alan P. Pinheiro – www.ufsj.edu.br/alan

• RISC x CISC – Operações simples (+, -, shift): um ciclo

– Operações complexas (x, /): vários ciclos

– RISC: ± 1 ciclo (instruções mais “rápidas”)

– CISC: vários ciclos com múltiplas instruções (micro-código ‘hard coded’)

• DSP x microcontroladores

21 Alan P. Pinheiro – www.ufsj.edu.br/alan

• “Tempo real”

– Latência do processador

– Período de amostragem

• Integração em CI de MCU + DSP

22 Alan P. Pinheiro – www.ufsj.edu.br/alan

1.5 – Sistemas embarcados • “Sistema computacional aplicado”

– Avanços na tecnologia; – diminuição do custo; – variados níveis de componentes (software/hardware)

• Falsas verdades: – Sistemas embarcados são mais “limitados” em

funcionabilidade de hardware/software – Tarefas dedicadas; – Sistema de computação com maior qualidade, confiança e

segurança – alguns dispositivos tais (e.g., PDA) não são realmente

sistemas embarcados

23 Alan P. Pinheiro – www.ufsj.edu.br/alan

24 Alan P. Pinheiro – www.ufsj.edu.br/alan

25

• Projetos da ARQUITETURA de um sistema embarcado: – Definir e entender o projeto – Limitar custos – Requerimentos de segurança/confiança – Limitações estruturais (bateria, memória,etc) – Interfacear módulos e suas relações

• Ciclos de projeto:

– Magaiver: chiclete + clips + braço – Code-and-fix: definição de requerimentos sem processos

antes do desenvolvimento – Waterfall: desenvolvimento em etapas onde o resultado

de uma etapa subsidia as demais – Espiral: desenvolvimento em etapas + feedback

26 Alan P. Pinheiro – www.ufsj.edu.br/alan

• Projeto de um sistema embarcado e seu ciclo de vida

27 Alan P. Pinheiro – www.ufsj.edu.br/alan

28

1.6 - Dispositivos lógicos programáveis

• Motivação:

– “Problemas” de sistemas digitais microcoprocessados • Sequência programa de instruções

• Necessidade de respostas mais rápidas

• Necessidade de arquitetura dedicada

– Integração dos circuitos discretos

• Dispositivos de lógica programável (PLD)

– Estrutura interna não é fixa

29

• Vantagens: – Flexibilidade;

– Mesma funcionabilidade em um único CI (SoC)

– Menor espaço

– Menor consumo energia

– Maior confiabilidade

– “Menor” complexidade de desenvolvimento

– Menor custo de fabricação (geralmente)

– Resolução de problemas mais complexos

– Otimização de circuitos

– Interface com outras tecnologias e “reutilização” de “código”(IP - Intellectual Property)

30

• Aplicações – Circuitos lógicos diversos ou sistemas digitais

– Interface de computadores

– Microcontroladores (DSP, ARM e afins)

– Sistemas embarcados

– Processamento de imagem

– Processamento de sinais

• DSP x FPGA

– Clustering

– Sistemas de controle

• CLP

– Outras aplicações: militares, dispositivos médicos

31

– Bloco lógicos /Macrocélulas

• Qualquer circuito lógico

• Cerca 5 variáveis de entrada

– Roteamento de sinal lógico

• Atrasos de sinal e Roteamento

– FF da macrocélula pode ser configurado (D, JK, T, SR)

– Pinos I/O associados com registradores e latchs

– Informações de programação:

• cada bloco lógico

• I/O

• Interconexão blocos

– Geralmente ISP (‘in-system programmable’)

– Arquitetura diversificada

• FPGA x CPLD

32

• Conexões por fusíveis – Programação de

conexões !!!!

• Compilador lógico – Equações lógicas ->

mapa de fusíveis

• Saída programada para ser qualquer função de A e B

• Implementação de função lógica na forma de soma de produtos

• Arquitetura PAL

33

• CPLD EPM7128

– 16 macrocélulas Podem compartilhar recursos lógicos

– Arranjo de interconexão programável (PIA)

– Barramento global

– Roteamento de sinais lógicos

34

• Tabela LUT

35

• Elemento lógico

36

• Bloco de arranjo lógico

37

• Esquema geral

38

39

• Forte apelo para:

– “Inovação” tecnológica.

– Reaproveitamento e maior produtividade

• Verilog x VHDL

• Fabricantes:

– Actel

– Altera

– Atmel

– Cypress

– Xilinx

• Exemplo:

40

ENTITY alu IS

PORT(

a: IN STD_LOGIC_VECTOR (7 DOWNTO 0);

b: IN STD_LOGIC_VECTOR (7 DOWNTO 0);

sel: IN STD_LOGIC_VECTOR (3 DOWNTO 0);

cin: IN STD_LOGIC;

LEDR: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)

); END alu;

ARCHITECTURE processador OF alu IS

SIGNAL aritimetico, logico: STD_LOGIC_VECTOR (7 DOWNTO 0);

BEGIN

WITH sel(2 DOWNTO 0) SELECT

aritimetico <= a WHEN "000",

a + 1 WHEN "001",

a-1 WHEN "010",

b WHEN "011",

b+1 WHEN "100",

b-1 WHEN "101",

a+b WHEN "110",

a+b+cin WHEN OTHERS;

WITH sel(2 DOWNTO 0) SELECT

logico <= NOT a WHEN "000",

NOT b WHEN "001",

a AND b WHEN "010",

a OR b WHEN "011",

a NAND b WHEN "100",

a NOR b WHEN "101",

a XOR b WHEN "110",

NOT (a XOR b) WHEN OTHERS;

WITH sel(3) SELECT

LEDR <= aritimetico WHEN '0',

logico WHEN OTHERS;

END processador;

41

42

43