arm big.little - uspwiki.icmc.usp.br/images/1/15/g10.pdf · arm big.little™ eduardo molina - nº...

29
ARM big.LITTLEEduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº USP 7062145

Upload: others

Post on 13-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

ARM big.LITTLE™

Eduardo Molina - nº USP 10415231Fernanda Maciel Federici - nº USP 10295093Reinaldo Mizutani - nº USP 7062145

Page 2: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

AGENDA

▰ Atualização

▰ Utilização

▰ Principais resultados

2

▰ História

▰ ARM big.LITTLE™

▰ Funcionamento

▰ Mudanças

Page 3: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

Como ERA ? 3

1

Page 4: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

ARM

▰ Anos 90▻ Expansão e auge

▰ Início dos anos 2000▻ Desmoronamento do setor de

tecnologia

▻ Desvalorização geral do mercado

4https://community.arm.com/processors/b/blog/posts/a-brief-history-of-arm-part-2

Page 5: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

▰ Era da maturidade 2002 - 2005▻ ARM projetada em SoCs (system on chip)

▻ Mercado de telefones e celulares

▻ ARM tornou-se padrão

▻ Sucesso = Parceria: relação simbiótica de “melhor juntos”

▻ Crescimento: ARM9 -> ARM7 -> ARM9E -> ARM10

▻ Tecnologia ARM10 e ARM11

▻ Processamento: baixa potência e alto desempenho

▻ Triplicou funcionários: de 400 para 1300 em 3 anos. 5

ARM

https://community.arm.com/processors/b/blog/posts/a-brief-history-of-arm-part-2

Page 6: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

▰ A nova era dos processadores de Cortex 2005 - 2012▻ Família Cortex

▻ Diversificação da ARM

▻ Cortex-A (ARM11): Aplicações móveis de ponta com maior desempenho

▻ Cortex-R: Processadores de alto desempenho e em tempo real

▻ Cortex-M: Núcleos de baixo consumo de energia e baixo custo para a indústria de microcontroladores

6

ARM

https://community.arm.com/processors/b/blog/posts/a-brief-history-of-arm-part-2

Page 7: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

▰ DESAFIO (mercado de smartphones)▻ Aumento de desempenho + manutenção de longa bateria▻ Cortex-A9

▻ Processador multi-core

▻ Faixa dinâmica de processamento

▻ “big.LITTLE” (2011) ▻ Aprimoramento

7

ARM

https://community.arm.com/processors/b/blog/posts/a-brief-history-of-arm-part-2

Page 8: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

ARM big.LITTLE™ 8

2

Page 9: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

“ ● Arquitetura de processamento heterogênea

● ARM Holdings● 2 tipos de processador

○ “LITTLE”○ “big”

99https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 10: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

“ ● Processadores “LITTLE”

○ Máxima eficiência de energia

● Processadores “big”

○ Alto desempenho de computação

1010https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 11: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

“ ● Compartilham mesma arquitetura de conjunto de instruções (ISA)

● ARM promete até 75% de economia em uso de energia para algumas atividades.

1111https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 12: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

Como FUNCIONA ?12

3

Page 13: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

COMO FUNCIONA ?

▰ Todos os núcleos acessam a mesma região de memória

▰ Troca de carga de trabalho entre big e LITTLE

▰ Processador multi-core

▻ Ajuste às necessidades de computação dinâmica

13https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 14: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

14

COMO FUNCIONA ?

big LITTLE

https://developer.arm.com/technologies/big-little

Page 15: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

MIGRAÇÃO do estado de EXECUÇÃO

Existem 3 MANEIRAS para os diferentes NÚCLEOS DE PROCESSADOR serem ORGANIZADOS em um design

big.LITTLE

15https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 16: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

▻ Processador organizado em clusters de tamanho idêntico de núcleos "big" ou "LITTLE"

▻ O agendador do S.O pode ver apenas um cluster de cada vez

▻ Este modelo foi implementado no Samsung Exynos 5 Octa (5410)16

1. Clustered Switching (comutação agrupada)

https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 17: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

▻ Cada PAR opera como um núcleo virtual e apenas um núcleo real é (totalmente) ativado, funcionando um de cada vez.

▻ O núcleo “big” é usado quando a demanda é alta e o núcleo “LITTLE” é empregado quando a demanda é baixa.

▻ A comutação é feita através do framework cpufreq

▻ Arranjo mais complexo: 2 “big” e muitos “LITTLE” 17

2. In-kernel switcher (CPU migration)

https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 18: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

▻ Modelo de uso mais poderoso da arquitetura big.LITTLE

▻ Permite o uso de todos os núcleos físicos ao mesmo tempo.

▻ Encadeamentos com alta prioridade ou intensidade computacional são alocados para os núcleos "big", enquanto encadeamentos com menor prioridade ou menor intensidade computacional, são executados pelos núcleos "LITTLE".

▻ Este modelo foi implementado no Samsung Exynos (Exynos 5 Octa (5420, 5422, 5430)), e processadores de aplicativos móveis da Apple,

começando com o Apple A11 .18

3. Heterogeneous multi-processing (global task scheduling)

https://en.wikipedia.org/wiki/ARM_big.LITTLE

Page 19: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

O que MUDOU ?19

4

Page 20: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

Cortex LITTLE● Apresenta uma pipeline

relativamente simples de 8 estágios ordenados.

● Requer menos transistores○ Grande economia de energia.

● Melhor performance que os processadores da época, mesmo com 4x mais eficiência energética.

O que MUDOU ?

Cortex big● Apresenta uma pipeline complexa,

sem ordem e “multi-issue”. ● Performance 3x melhor que os

processadores da época, com a mesma eficiência energética.

20

Page 21: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

Onde é USADO ?21

5

Page 22: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

ARM no geral● Consoles portáteis (Game Boy

Advance, Nintendo DS)

● GPS Garmin

● Smartphones (iPhone, Samsung,

Nokia, etc)

● Alguns arduinos

Onde é USADO ?

ARM big.LITTLE● Google Nexux

● Chromebook

● Samsung (Galaxy S9, J4, J6, note)

● Rhaspbery pi

22

Page 23: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

Principais RESULTADOS

23

6

Page 24: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

24

Principais RESULTADOS

https://www.anandtech.com/show/8957/arm-announces-cortex-a72

Page 25: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

25

Principais RESULTADOS

https://www.androidpolice.com/2012/10/30/arm-announces-cortex-a50-series-64-bit-processors-set-to-drive-the-next-era-in-mobile-and-enterprise/

Page 26: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

Como está AGORA ?26

7

Page 27: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

27

Como está AGORA ?

● Rende muito mais granularidade para configurar os processos dentro do processador

● PORÉM o núcleo da inovação ainda é a utilização de cores diferentes para realizar as tarefas

● A tecnologia big.LITTLE foi aprimorada● Nova arquitetura DynamiQ

○ Permite ajustes finos na combinação do número de cores.

○ 1big 3 little e 1big + 7little são possíveis.

Page 28: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

28

THANKS!Any questions?

Page 29: ARM big.LITTLE - USPwiki.icmc.usp.br/images/1/15/G10.pdf · ARM big.LITTLE™ Eduardo Molina - nº USP 10415231 Fernanda Maciel Federici - nº USP 10295093 Reinaldo Mizutani - nº

REFERÊNCIAS bibliográficas

▰ https://en.wikipedia.org/wiki/ARM_big.LITTLE

▰ https://en.wikipedia.org/wiki/Dynamic_frequency_scaling

▰ https://developer.arm.com/technologies/big-little

▰ https://community.arm.com/processors/b/blog/posts/a-brief-history-of-arm-part-2

▰ https://www.ubergizmo.com/2013/01/what-is-arm-big-little/

▰ https://tecnoblog.net/215594/arm-cortex-a75-a55-processador-mobile/

▰ https://developer.arm.com/products/processors/cortex-a

▰ https://www.pjrc.com/teensy/beta/DDI0403D_arm_architecture_v7m_reference_manual.pdf

▰ https://www.anandtech.com/show/8957/arm-announces-cortex-a72

▰ https://www.androidpolice.com/2012/10/30/arm-announces-cortex-a50-series-64-bit-processors-set-to-drive-t

he-next-era-in-mobile-and-enterprise/29