Sistemas Embarcados

Propaganda
Sistemas Embarcados - Evoluções do PC
Instituto Federal de Pernambuco
Coordenação de Informática/IFPE
Anderson L. S. Moreira
[email protected]
Sistemas Embarcados Direitos de Licença
Attribution – ShareAlike 3.0
Você é livre para
Copiar, distribuir, mostrar, e adaptar o trabalho
Para fazer trabalhos derivados
Para fazer uso comercial do trabalho
Seguindo certas condições
Atribuiçã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]
2
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)
20 de abril de 2015
[email protected]
3
Sistemas Embarcados Clock
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
Cristal de
Quartzo
20 de abril de 2015
Conversor
Analógico
Digital
[email protected]
5
Sistemas Embarcados Clock
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
No computador todas as temporizações são feitas
em 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
20 de abril de 2015
[email protected]
8
Sistemas Embarcados Qual é a relação entre clock e
desempenho?
Cuidado – Frequência de clock não serve para medir
desempenho. Exceto se as duas CPUs em comparação
forem idênticas, porém rodando em frequências
diferentes.
Numa frequência maior o período do clock é menor –
lembra que F=1/T?
Sendo menor o ciclo de clock, tudo terá que ser
executado mais rápido = maior desempenho (nem
sempre)
Suponha que o processador ”A“ gasta 7 ciclos para
executar uma dada instrução. E o processador ”B“
gasta 5 ciclos para a mesma instrução. Se ambos
estiverem na mesma frequência de clock, o “B” será o
mais veloz.
20 de abril de 2015
[email protected]
9
Sistemas Embarcados Qual é a relação entre clock e
desempenho?
É comum medir o desempenho em termos de quantidade de
operações executadas por segundo.
Existe uma padronização em termos do tipo de
operação – Ponto Flutuante (FLOPs – Flutuant
Operations)
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 Clock interno e externo
É comum a CPU funcionar numa frequência
de clock e o restante do sistema em
outro(s).
Clock Externo
Fabricantes usam a idéia de multiplicação de clock
(iniciou com o 486 DX2). A CPU possui um clock
externo usado na transferência de dados com a RAM
via Ponte Norte. É um clock interno.
Ex.: Pentium 4 3.4 GHz – esse ”3.4GHz“
interno = 17 x 200 MHz (clock externo).
20 de abril de 2015
[email protected]
é o clock
11
Sistemas Embarcados Velocidade de transferência
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 sua
velocidade 17x para ler dados da RAM. Durante esse
processo 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)
∑
CPI =
n
i =1
(CPI i × I i )
IC
CPIi
número de ciclos exigidos para a instrução i, Ii seja o número
de instruções executadas do tipo i.
20 de abril de 2015
[email protected]
15
Sistemas Embarcados Velocidade de transferência
O tempo do processador T necessário para
executar determinado programa pode ser
expresso como:
T = I c × CPI × P
20 de abril de 2015
[email protected]
16
Sistemas Embarcados Velocidade de transferência
Dual-, triple e quad-channel são técnicas para dobrar,
triplicar e quadruplicar a velocidade de comunicação
entre 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 barramento
dedicado com a RAM.
CPUs mais antigas – o controlador se encontra no
chipset da placa mãe (ponte norte).
20 de abril de 2015
[email protected]
17
Sistemas Embarcados Atual
20 de abril de 2015
[email protected]
18
Sistemas Embarcados Mais antigo
20 de abril de 2015
[email protected]
19
Sistemas Embarcados Velocidade de transferência
A RAM é conectada ao controlador através de uma
sé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 apenas
DDR3 até 1333 MHz, não há como instalar DDR2
ou usar DDR3 com frequência superior esperando
obter maior desempenho (exceto se a cpu oferecer
essa opção).
20 de abril de 2015
[email protected]
20
Sistemas Embarcados QDR – Quad Data Rate
DDR – transmissão na borda de subida e de descida
QDR = DDR + transmissão no ponto médio entre essas
bordas.
O ponto médio é obtido através de um 2º clock defasado de
90º (vermelho) em suas bordas de subida e descida.
Usado desde o Pentium 4 Willamette
20 de abril de 2015
[email protected]
21
Sistemas Embarcados QDR – Quad Data Rate
Suponha um clock externo (FSB) real 266,6 MHz.
Ao usar o QDR , a transferência de dados
alcançada é comparável a de um clock de
1066MHz.
• (O vendedor irá informar que o barramento é
1066MHz)
A Memória SDRAM DDRx ideal para essa
frequência é 533MHz, cujo dobramento da taxa
(DDR) simula os 1066MHz do barramento do
sistema.
• (O vendedor irá informar que a memória é
1066MHz)
20 de abril de 2015
[email protected]
22
Sistemas Embarcados Exemplo
KABUM
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)
Nome
padrão
Clock de
memória
Tempo de
ciclo
Velocidade
de clock
Taxa de
dados
Nome do
módul
DDR31066
133 MHz
7.5 ns
533 MHz
1066 MT/s
PC3-8500
8500MB/s = 64bits x 533 /8 = 4264MB/s x 2 (DDR) =8528MB/s
64x1066/8=8528
20 de abril de 2015
[email protected]
23
Sistemas Embarcados Exercício
20 de abril de 2015
[email protected]
24
Sistemas Embarcados Exercícios
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 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.
20 de abril de 2015
[email protected]
26
Sistemas Embarcados
EVOLUÇÃO DAS PLACAS-MÃE
(CHIPSET)
20 de abril de 2015
[email protected]
27
Sistemas Embarcados Modelos
20 de abril de 2015
[email protected]
28
Sistemas Embarcados Modelos
20 de abril de 2015
[email protected]
29
Sistemas Embarcados Pontes
Ponte Norte – MCH (Memory Controller Hub)
• É conectado diretamente à CPU e pode ter as seguintes
funçõ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ória
e o controlador de PCI-express – Isto é, a ponte norte foi
sugada para dentro do chip da CPU.
20 de abril de 2015
[email protected]
30
Sistemas Embarcados Funções da ponte norte
20 de abril de 2015
[email protected]
31
Sistemas Embarcados Atual ponte norte
Processadores Intel – atualmente têm a ponte
norte integrada em seu chip.
20 de abril de 2015
[email protected]
32
Sistemas Embarcados Ponte Sul – ICH (I/O Controller Hub)
É conectada à ponte norte ou à CPU (no caso de cpus intel
atuais)
Sua função é controlar os dispositivos de E/S e dispositivos
On-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
20 de abril de 2015
[email protected]
34
Sistemas Embarcados Conexões entre as pontes
Inicialmente era feita através do barramento PCI
Problema - Largura de banda disponível para o PCI (132 MB/s) compartilhada
entre todos os dispositivos PCI no sistema e todos os dispositivos pendurados na
ponte sul – especialmente HDs
20 de abril de 2015
[email protected]
35
Sistemas Embarcados Conexões entre as pontes
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 ponte
norte quanto ponte sul.
As PCI Express lanes da ponte norte costumam ser usadas
para 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 canal
dedicado de 266 MB/s – half-duplex – pontes não
podiam falar ao mesmo tempo
Atualmente, a Intel usa uma conexão dedicada DMI (Direct Media Interface) – conceito
semelhante ao PCI Express – lanes (faixas)
usando comunicação serial com canais separados
para transmissão e recepção (full-duplex ).
Na AMD é usado o A-Link.
20 de abril de 2015
[email protected]
38
Sistemas Embarcados
ANÁLISE OPERACIONAL
20 de abril de 2015
[email protected]
39
Sistemas Embarcados Análise Operacional
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
S
A0
K1
K4
K2
K5
K3
C0
Kn
T
20 de abril de 2015
[email protected]
42
Sistemas Embarcados Análise Operacional
•
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; X = C0/T
– Vi: Número médio de visitas ao recurso i por
0
solicitação; Vi = Ci/C0
20 de abril de 2015
[email protected]
43
Sistemas Embarcados Análise Operacional
•
Leis Operacionais (derived measures)
20 de abril de 2015
[email protected]
44
Sistemas Embarcados Análise Operacional
•
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.
•
•
•
•
20 de abril de 2015
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)?
[email protected]
45
Sistemas Embarcados Análise Operacional
CPU:
UCPU = BCPU/T = 36/60 = 0,6 = 60%
• T = 1 min
• A = 1800 transações
• C = 1800 transações
• B = 36 s
S0 = Si = BCPU / CCPU = 36/1800 = 0,02 s
0
0
Obs.: Considerando
CPU
S0 = Si = SCPU
U0 = Ui = UCPU
K=1
•A
•B
= A1
0 = B1
ʎ0 = ʎ1 = 1800/60 = 30
trs/s
X0 = X1 = 1800/60 =
30 trs/s
0
•
•
20 de abril de 2015
ʎ0 = ʎi = ʎCPU
X0 = X1 = XCPU
[email protected]
46
Sistemas Embarcados Exercícios
–
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 multicore
de 4 threads.
•
•
•
•
•
20 de abril de 2015
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?
[email protected]
47
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]
48
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;
20 de abril de 2015
[email protected]
49
Sistemas Embarcados Exercícios
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 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]
51
Sistemas Embarcados Dúvidas?
20 de abril de 2015
[email protected]
52
Sistemas Embarcados - Evoluções do PC
Instituto Federal de Pernambuco
Coordenação de Informática/IFPE
Anderson L. S. Moreira
[email protected]
Download