sistemas embarcados - evoluções do pcsiep.ifpe.edu.br/anderson/arquivos/sbe_4_evolucao_pc.pdf ·...

53
Sistemas Embarcados - Evoluções do PC Instituto Federal de Pernambuco Coordenação de Informática/IFPE Anderson L. S. Moreira [email protected]

Upload: phunghuong

Post on 20-Jan-2019

244 views

Category:

Documents


1 download

TRANSCRIPT

Sistemas Embarcados - Evoluções do PC

Instituto Federal de PernambucoCoordenação de Informática/IFPE

Anderson L. S. [email protected]

20 de abril de 2015 [email protected] 2

Sistemas Embarcados Direitos de Licença

Attribution – ShareAlike 3.0Você é livre para

Copiar, distribuir, mostrar, e adaptar o trabalhoPara fazer trabalhos derivadosPara fazer uso comercial do trabalho

Seguindo certas condiçõesAtribuição. Você deve dar os devidos créditos ao autor original.Compartilhar. Se você altera, transformar ou construir em cima deste trabalho, você deverá distribuir o trabalho resultante somente sobre uma licença idêntica a está.

Para qualquer reuso ou distribuição, você deve deixar claro aos outros os termos de licença deste trabalho.Qualquer destas condições podem ser modificadas se você tiver permissão do autor original.

Se uso e outros direitos não são afetados pelas regras acima.License text: http://creativecommons.org/licenses/by-sa/3.0/legalcode

20 de abril de 2015 [email protected] 3

Sistemas Embarcados Como funciona?

Ex.: ao clicar num programa...

Controlador de memória

Antigamente era feito pela CPU –PIO (programmed I/O)Atualmente é via DMA (ou bus mastering) (na Ponte sul)

Um clock é um dispositivo especial em que a saída alterna continuamente entre 0 e 1.

O tempo manipulado pelo clock torna o valor 1 para 0 e de volta para 1, isso é chamado de período de clock, ou ciclo de tempo do clock.A frequencia do clock é o inverso do período. A unidade de medida da frequencia é o hertz.

20 de abril de 2015 [email protected] 4

Sistemas Embarcados Clock

20 de abril de 2015 [email protected] 5

Sistemas Embarcados Clock

Cristal de Quartzo

Conversor Analógico

Digital

20 de abril de 2015 [email protected] 6

Sistemas Embarcados Clock

Clocks são geralmente usados para sincronizar circuitos.

• Ele gera um padrão previsível e repetitivo, de 0s e 1s que pode disparar certos eventos em um circuito, como escrita na memória.

• Se vários circuitos compartilhar o mesmo sinal de clock, devem sincronizar suas atuações respeitando o funcionamento de um e de outro.

• É similar como os humanos usam relógios para sincronização.

20 de abril de 2015 [email protected] 7

Sistemas Embarcados Clock

20 de abril de 2015 [email protected] 8

Sistemas Embarcados Clock

No computador todas as temporizações são feitasem termos de clock.

Ex.: Uma RAM com latência 5 significa que irá demorar 5 ciclos de clock para iniciar a enviar os dados;

Dentro da CPU, qualquer instrução demora uma certa quantidade de ciclos de clock para ser totalmente executada.

A CPU sabe quantos ciclos de clock cada instrução gasta

Cuidado – Frequência de clock não serve para medirdesempenho. Exceto se as duas CPUs em comparaçãoforem idênticas, porém rodando em frequênciasdiferentes.

Numa frequência maior o período do clock é menor –lembra que F=1/T?Sendo menor o ciclo de clock, tudo terá que serexecutado mais rápido = maior desempenho (nemsempre)

Suponha que o processador ”A“ gasta 7 ciclos paraexecutar uma dada instrução. E o processador ”B“gasta 5 ciclos para a mesma instrução. Se ambosestiverem na mesma frequência de clock, o “B” será omais veloz.

20 de abril de 2015 [email protected] 9

Sistemas Embarcados Qual é a relação entre clock e desempenho?

Existe uma padronização em termos do tipo de operação – Ponto Flutuante (FLOPs – FlutuantOperations)

Existe distinção em ponto flutuante de precisão simples e de precisão dupla.

Ex.: Xeon PHI -SE10P/X-61C, 1.1GHz = 2.147 GF/s em precisão simples e 1.074 GF/s precisão dupla.

20 de abril de 2015 [email protected] 10

Sistemas Embarcados Qual é a relação entre clock e desempenho?

É comum medir o desempenho em termos de quantidade deoperações executadas por segundo.

20 de abril de 2015 [email protected] 11

Sistemas Embarcados Clock interno e externo

É comum a CPU funcionar numa frequênciade clock e o restante do sistema emoutro(s).

Clock ExternoFabricantes usam a idéia de multiplicação de clock(iniciou com o 486 DX2). A CPU possui um clockexterno usado na transferência de dados com a RAMvia Ponte Norte. É um clock interno.

Ex.: Pentium 4 3.4 GHz – esse ”3.4GHz“ é o clockinterno = 17 x 200 MHz (clock externo).

20 de abril de 2015 [email protected] 12

Sistemas Embarcados Velocidade de transferência

Essa grande diferença entre os clocks interno e externo é um grande impecilho para o desempenho.

Ex.: Pentium 4 3.4 GHz precisa reduzir suavelocidade 17x para ler dados da RAM. Durante esseprocesso ele funciona como se fosse uma CPU de 200 MHz.

Para minimizar o impacto dessa redução:

• Memória cache dentro da CPU• Transferir mais porções de dados por clock – a

Intel transfere 4 porções por clock – Quad Data Rate (QDR)

20 de abril de 2015 [email protected] 13

Sistemas Embarcados Velocidade de transferência

O Caminho de dados entre a RAM e CPU é de 64 bits (128 bits – usando dual channel) –funcionando na frequência de clock externo.

Taxa de transferência = qtde de bits x clock /8 MB/s.

Ex.: sistema com DRAM DDR400 em single channel (64 bits) = taxa de transf. = 3,200 MB/s,Com dual channel (128 bits) = 6,400 MB/s

20 de abril de 2015 [email protected] 14

Sistemas Embarcados Velocidade de transferência

Taxa de execução de Instrução – Um processador é controlado por um clock com uma frequência constante f ou, de modo equivalente, um tempo de ciclo T. Definimos como Ic � número de instruções de máquinas executadas para esse programa até que ele rode até o fim. Um parâmetro importante é a média de ciclos por instruções (CPI)

20 de abril de 2015 [email protected] 15

Sistemas Embarcados Velocidade de transferência

1( )

n

i ii

C

CPI ICPI

I=

×= ∑

CPIi � número de ciclos exigidos para a instrução i, Ii seja o número de instruções executadas do tipo i.

O tempo do processador T necessário para executar determinado programa pode ser expresso como:

20 de abril de 2015 [email protected] 16

Sistemas Embarcados Velocidade de transferência

cT I CPI P= × ×

Dual-, triple e quad-channel são técnicas para dobrar,triplicar e quadruplicar a velocidade de comunicaçãoentre a o controlador de memória e a RAM.

Como a RAM é ligada ao sistema?• É controlada por um circuito chamado controlador

de memória.• Atualmente, este está embutido no chip do

processador. Assim, a CPU tem um barramentodedicado com a RAM.

CPUs mais antigas – o controlador se encontra nochipset da placa mãe (ponte norte).

20 de abril de 2015 [email protected] 17

Sistemas Embarcados Velocidade de transferência

20 de abril de 2015 [email protected] 18

Sistemas Embarcados Atual

20 de abril de 2015 [email protected] 19

Sistemas Embarcados Mais antigo

A RAM é conectada ao controlador através de umasérie de fios chamados de barramento de memória(dados, endereços e controle).

Um dos sinais que trafega pelas linhas de controle é o sinal de clock.

O controlador de memória define as taxas de clock, capacidade máxima por módulo, capacidade total e tipos (DDR, DDR2…) que o sistema pode aceitar.

• Ex.: se o controlador de memória suporta apenasDDR3 até 1333 MHz, não há como instalar DDR2 ou usar DDR3 com frequência superior esperandoobter maior desempenho (exceto se a cpu ofereceressa opção).

20 de abril de 2015 [email protected] 20

Sistemas Embarcados Velocidade de transferência

20 de abril de 2015 [email protected] 21

Sistemas Embarcados QDR – Quad Data Rate

DDR – transmissão na borda de subida e de descidaQDR = DDR + transmissão no ponto médio entre essasbordas.O ponto médio é obtido através de um 2º clock defasado de90º (vermelho) em suas bordas de subida e descida.Usado desde o Pentium 4 Willamette

Suponha um clock externo (FSB) real 266,6 MHz.Ao usar o QDR , a transferência de dadosalcançada é comparável a de um clock de1066MHz.• (O vendedor irá informar que o barramento é

1066MHz)

A Memória SDRAM DDRx ideal para essafrequência é 533MHz, cujo dobramento da taxa(DDR) simula os 1066MHz do barramento dosistema.• (O vendedor irá informar que a memória é

1066MHz)

20 de abril de 2015 [email protected] 22

Sistemas Embarcados QDR – Quad Data Rate

20 de abril de 2015 [email protected] 23

Sistemas Embarcados Exemplo

Módulo de memória SDRAM DIMM PC3-8500 com capacidade de 4GB, tecnologia DDR3 (240 vias), frequência de 1066MHz. Fabricado pela Kingston, da linha ValueRAM, adequado para computadores convencionais, tipo desktop.

JDEC (Joint Electron Device Engineering Council)

KABUM

DDR3-1066 133 MHz 7.5 ns 533 MHz 1066 MT/s PC3-8500

Nome padrão

Clock de memória

Tempo de ciclo

Velocidade de clock

Taxa de dados

Nome do módul

8500MB/s = 64bits x 533 /8 = 4264MB/s x 2 (DDR) =8528MB/s64x1066/8=8528

20 de abril de 2015 [email protected] 24

Sistemas Embarcados Exercício

Exemplo da loja Adorama: Um pente de memória da Crucial Technology 8GB 204-pin SODIMM DDR3 PC3-10600 com velocidade de 1333 MHz para Mac. Qual a velocidade de clock externo para “conversar” com essa memória?

20 de abril de 2015 [email protected] 25

Sistemas Embarcados Exercícios

20 de abril de 2015 [email protected] 26

Sistemas Embarcados Blocos de Memória

Blocos básicos de uma CPU moderna

O caminho entre RAM e CPU costuma ser de 64 bits (ou 128 em dual channel).

Este funciona no clock de memória ou no clock externo da CPU.

Todos os circuitos dentro da Cpu funcionam com clock interno.

O caminho interno pode ser mais largo > 128 bits. Ex.: L2-L1 = 256 bits.

EVOLUÇÃO DAS PLACAS-MÃE(CHIPSET)

Sistemas Embarcados

20 de abril de 2015 [email protected] 27

20 de abril de 2015 [email protected] 28

Sistemas Embarcados Modelos

20 de abril de 2015 [email protected] 29

Sistemas Embarcados Modelos

20 de abril de 2015 [email protected] 30

Sistemas Embarcados Pontes

Ponte Norte – MCH (Memory Controller Hub)

• É conectado diretamente à CPU e pode ter as seguintesfunções básicas:• Controlador de Memória• Controlador de PCI-express• Controlador de AGP• Interface para transferência de dados com o chip Ponte Sul

• Atualmente, as CPUs Intel integram o controlador de memóriae o controlador de PCI-express – Isto é, a ponte norte foisugada para dentro do chip da CPU.

20 de abril de 2015 [email protected] 31

Sistemas Embarcados Funções da ponte norte

Processadores Intel – atualmente têm a ponte norte integrada em seu chip.

20 de abril de 2015 [email protected] 32

Sistemas Embarcados Atual ponte norte

É conectada à ponte norte ou à CPU (no caso de cpus intelatuais)Sua função é controlar os dispositivos de E/S e dispositivosOn-board, tais como:

• Storage ports (Parallel and Serial ATA ports)• USB ports• On-board audio• On-board LAN• PCI bus• PCI Express lanes• Real time clock (RTC)• CMOS memory• Interrupt controller• DMA controller• ISA slots em placas antigas

20 de abril de 2015 [email protected] 33

Sistemas Embarcados Ponte Sul – ICH (I/O Controller Hub)

20 de abril de 2015 [email protected] 34

Sistemas Embarcados Ponte sul

20 de abril de 2015 [email protected] 35

Sistemas Embarcados Conexões entre as pontes

Inicialmente era feita através do barramento PCIProblema - Largura de banda disponível para o PCI (132 MB/s) compartilhadaentre todos os dispositivos PCI no sistema e todos os dispositivos pendurados naponte sul – especialmente HDs

Placas de video mais poderosas (PCI) + HDs de alto desempenho = Gargalo

Uma solução = AGP (Accelerated Graphics Port)-“Barramento” (porta) ligado diretamente à ponte norte = tirou o video do PCI = bom desempenho mantido.

Solução final = conexão dedicada de alta velocidade entre as pontes + conexão do PCI à ponte sul

PCI Express lanes podem estar disponíveis tanto na pontenorte quanto ponte sul.

As PCI Express lanes da ponte norte costumam ser usadaspara placas de video.

20 de abril de 2015 [email protected] 36

Sistemas Embarcados Conexões entre as pontes

20 de abril de 2015 [email protected] 37

Sistemas Embarcados Conexões entre as pontes

Os primeiros chipset Intel tinham um canaldedicado de 266 MB/s – half-duplex – pontes nãopodiam falar ao mesmo tempo

Atualmente, a Intel usa uma conexão dedicada -DMI (Direct Media Interface) – conceitosemelhante ao PCI Express – lanes (faixas)usando comunicação serial com canais separadospara transmissão e recepção (full-duplex ).

Na AMD é usado o A-Link.

20 de abril de 2015 [email protected] 38

Sistemas Embarcados Conexões entre as pontes

ANÁLISE OPERACIONALSistemas Embarcados

20 de abril de 2015 [email protected] 39

Análise de uso de determinados recursos de máquina;

Aplicável principalmente em CPU;

Pode ser usada em outras medições, cálculo de estimativa de rede;

20 de abril de 2015 [email protected] 40

Sistemas Embarcados Análise Operacional

• Variáveis operacionais para um determinado sistema (S)– T: Período de observação– K: Número de recursos do sistema– Bi: Tempo de ocupação do recurso i no período T.– Ai: Número total de solicitações (ex:.chegadas) do

recurso i no período T.– A0: Número total de solicitações (ex:.chegadas) ao

sistema no período T.– Ci: Número total de serviços finalizados pelo recurso i

no período T.– C0: Número total de serviços finalizados pelo sistema

no período T.

20 de abril de 2015 [email protected] 41

Sistemas Embarcados Análise Operacional

20 de abril de 2015 [email protected] 42

Sistemas Embarcados Análise Operacional

S

K1 K2 K3

K5K4 Kn

T

A0 C0

• Métricas derivadas (derived measures)–Si: Tempo médio de serviço por finalização

relativa ao recurso i; Si = Bi/Ci

–Xi: throughput (ex.: finalizações por unidade de tempo) do recurso i; Xi = Ci/T

– ʎi: taxa de chegada (ex.: chegadas por unidade de tempo) ao recurso i; ʎi = Ai/T

–X0: throughput do sistema; X0 = C0/T–Vi: Número médio de visitas ao recurso i por

solicitação; Vi = Ci/C0

20 de abril de 2015 [email protected] 43

Sistemas Embarcados Análise Operacional

20 de abril de 2015 [email protected] 44

Sistemas Embarcados Análise Operacional

• Leis Operacionais (derived measures)

• Exercícios resolvidos– Suponha que ao se monitorar uma processador por um

período de 1 min, verificou-se que o recurso esteve ocupado por 36s. O número total de transações que chegaram ao sistema é 1800. O sistema também finalizou a execução de 1800 transações no mesmo período.

• 1. Qual a taxa de chegada ao sistema (ʎ0)?• 2. Qual é o throughput do sistema (X0)?• 3. Qual é a utilização da CPU(UCPU)?• 4. Qual é o tempo médio por transações finalizadas pelo

sistema (S0)?

20 de abril de 2015 [email protected] 45

Sistemas Embarcados Análise Operacional

20 de abril de 2015 [email protected] 46

Sistemas Embarcados Análise Operacional

CPU:• T = 1 min• A0 = 1800 transações• C0 = 1800 transações• BCPU = 36 s

K = 1• A0 = A1

• B0 = B1

• ʎ0 = ʎ1 = 1800/60 = 30 trs/s

• X0 = X1 = 1800/60 = 30 trs/s

UCPU = BCPU/T = 36/60 = 0,6 = 60%

S0 = Si = BCPU / CCPU = 36/1800 = 0,02 s

Obs.: Considerando

S0 = Si = SCPU

U0 = Ui = UCPU

ʎ0 = ʎi = ʎCPU

X0 = X1 = XCPU

– Suponha que ao se monitorar uma processador por um período de 3 min, verificou-se que o recurso geral esteve ocioso por 12,3 s. O número total de transações que chegaram ao sistema do barramento de dados é 6200. O sistema finalizou a execução de 4600 transações no mesmo período em um sistema multicorede 4 threads.

• 1. Qual a taxa de chegada ao sistema (ʎ0)?• 2. Qual é o throughput do sistema (X0)?• 3. Qual é a utilização da CPU(UCPU)?• 4. Qual é o tempo médio por transações finalizadas pelo

sistema (S0)?• 5. Qual a Vi de uma transação considerando que todas as

threads tiveram rendimentos iguais?

20 de abril de 2015 [email protected] 47

Sistemas Embarcados Exercícios

20 de abril de 2015 [email protected] 48

Sistemas Embarcados Análise Operacional

• A banda passante de um link de comunicação é 56000 bps. Pacotes de 1500 bytes são transmitidos ao link a uma taxa de 3 pacotes por segundo. Qual é a utilização do link?

• Para ilustrar o conceito de Service Demand considere o caso em que 6 transações fazem 3 acessos (cada uma) a uma unidade de disco. Os tempos de cada acesso são apresentados em ms.

• Qual a Service Demand do sistema?

20 de abril de 2015 [email protected] 49

Sistemas Embarcados Análise Operacional

• Considere que um Web Server foi monitorado por 10 min e que a CPU esteve ocupada por 90%. O log do Web Server registrou 30.000 solicitações processadas. Qual é a CPU Service Demand (DCPU) relativa as solicitações ao Web Server?

• Procure informações sobre a Arquitetura do Pentium:–Operações em paralelo;–Cache;–BTB – Branch Target Buffer;– FPU;–Otimização;

Suponha um departamento composto por cinco recursos (pessoas: R1, R2, R3 e R4). Esse departamento foi monitorado por um período de 6 horas. Verificou-se que R1 esteve ocupado por 4h25min, R2 por 4h5min, R3 por 5h15min e R4 por 3h56min. O número total de transações que chegaram ao departamento foram 96. O sistema também finalizou a execução de 96 transações no mesmo período. O número total de chegadas a cada recurso e as respectivas finalizações são A1= C1=60, A2= C2=110, A3= C3=100 e A4= C4=55.

1. Qual a taxa de chegada ao sistema (ʎ0)?2. Qual é o throughput do sistema (X0)?3. Qual é a utilização de cada recurso (Ui)?4. Qual é o tempo médio por transações finalizadas por cada recurso do sistema (Si)?5. Qual é o número médio de visitas por recurso (Vi)?6. Qual é tempo médio de uma transação qualquer (não necessariamente a que visitou o recurso i) no recurso i (Di)?

20 de abril de 2015 [email protected] 50

Sistemas Embarcados Exercícios

20 de abril de 2015 [email protected] 51

Sistemas Embarcados Análise Operacional

• Sistemas Embarcados Pessoais, Raul Weber, 2ª edição;• Sistemas Embarcados, Andrew S. Tannembaum, 8ª edição;• Fundamentos de Sistemas Embarcados, Saib e Weber, 4ª

edição;

20 de abril de 2015 [email protected] 52

Sistemas Embarcados Dúvidas?

Sistemas Embarcados - Evoluções do PC

Instituto Federal de PernambucoCoordenação de Informática/IFPE

Anderson L. S. [email protected]