1 uma breve introduÇÃo ao simulador armsim#attux/armsim_leandro.pdf · 2015-03-10 · iphone 5s...

18
UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM# EA075 - Introdução ao Projeto de Sistemas Embarcados. Profª Drª Leticia Rittner Prof° Dr° Romis Ribeiro de Faissol Attux Leandro Aparecido Sangalli (PED) 1

Upload: others

Post on 23-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

UMA BREVE

INTRODUÇÃO AO

SIMULADOR ARMSIM#

EA075 - Introdução ao Projeto de Sistemas Embarcados.

Profª Drª Leticia Rittner

Prof° Dr° Romis Ribeiro de Faissol Attux

Leandro Aparecido Sangalli (PED)

1

Page 2: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

O que é um Sistema Embarcado?

Homer: É um sistema com

estrutura interna (processador,

memória, dispositivo de

armazenamento, etc)

semelhante a de um computador

pessoal dedicado a executar de

forma satisfatória determinada

tarefa.

2

Page 3: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Exemplos de sistemas

embarcados

Smartphones MP3 players

PDAs Internet das

coisas

3

Page 4: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Curiosidades

Smartphones

Samsung Galaxy y (ARMv6)

Samsung Galaxy S4 (ARM Cortex A-9 Quad-

Core)

Iphone 3 (ARM Cortex A8)

Outros modelos de Iphones

Iphone 5s (Apple A7 – ARM 64 bits)

Internet das coisas

Conecta aparelhos do nosso dia-a-dia a

a Internet provendo diferentes serviços.

4

Page 5: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Um dos objetivos da disciplina

EA075

Tentar conciliar o conteúdo teórico discutido

em sala com alguns exemplos práticos

desenvolvidos para um tipo de arquitetura.

Neste caso, ARM.

Simulador ARMSim#

OBSERVAÇÃO IMPORTSNTÍSSIMA: Não

vamos aprender tudo sobre arquiteturas ARM.

“Vamos ficar bem longe disso!”

5

Page 6: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Objetivos com o simulador em

EA075

Objetivo geral:

Utilizar o simulador para auxiliar na compreensão dos conteúdos estudados em sala de aula.

Apresentar de forma sucinta a simplicidade e infinidade de aplicações que podem ser desenvolvidas utilizando arquiteturas ARM.

Objetivo específico:

Desenvolver no decorrer da disciplina o projeto de um sistema embarcado utilizando o simulador ARMSim#. Por exemplo: neste caso, funções de uma

calculadora.

6

Page 7: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Simulador ARMSim#

Desenvolvedores:

Dr° Nigel Horspool (University of Victoria)

Dale Lyons (University of Victoria)

Drª Micaela Serra (University of Victoria)

Simulador baseado no ARM7TDMI (≈1998);

http://armsim.cs.uvic.ca/

7

Page 8: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

8

Page 9: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Descrição do Simulador

Distribuição gratuita para fins acadêmicos;

Pré-Requisitos (SO)

Windows (a partir do Windows 98) Simples instalação (≈ 3 minutos)

Linux;

Mac OS;

Observação: Os exemplos que serão apresentados se baseiam na versão 1.9.1, utilizando Windows 7.

9

Page 10: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Descrição do Simulador10

Page 11: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Descrição do Simulador (Cont.)

Possui 16 registradores (R0, R1, ..., R15) de 32-bits cada

Onde R10, R11, ... , R15 são registradores de controle. http://armsim.cs.uvic.ca/AttachedFiles/ARMSim_UserGuide4Plus.pdf

Efetua diferentes tipos de operações, como por exemplo: aritméticas, lógicas, de estado, entre outras.

Efetua operações nas bases: decimal (Signed/Unsigned) ou hexadecimal.

11

Page 12: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Descrição do Simulador (Cont.)

Algumas instruções do básicas do ARMSim#

mov Ra, #n: carrega o valor inteiro n no registrador Ra.

add Ra, Rb, Rc: efetua a adição dos valores que estão carregados em Rb e Rc, armazenando o resultado dessa soma em Ra.

sub Ra, Rb, Rc: subtrai o conteúdo carregado em Rc do de Rb, armazenando o resultado em Ra.

12

Page 13: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Primeiro Programa no ARMSim#

João tinha R$25,00 que sobrou da sua

mesada do mês de Fevereiro. Sabendo que

ele ganha R$100,00 por mês, quanto ele terá

para gastar em Março?

Resposta: R$25,00 + R$100,00 = R$125,00.

Mas, João gostaria de comprar o novo FIFA15

que custa R$180,00. Quanto ainda falta para

João efetuar tal aquisição?

Resposta: R$125,00 - R$180,00 = -R$55,00.

13

Page 14: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Primeiro Programa no ARMSim# (Cont.)

Em Python (alto nível)

1. from math import floorimport sys

2. a0 = "" #string vazia

3. b0 = "" #string vazia

4. a = int(raw_input('resta da mesada anterior: '))

5. b = int(raw_input('valor da mesada: '))

6. c = int(raw_input('valor do jogo: '))

7. a0 = a + b

8. print(a0)

9. b0 = a0 – c

10. print(b0)

14

Page 15: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Primeiro Programa no ARMSim# (Cont.)

Em ARM (ARMSim#) (baixo nível)

1. mov R1, #25 @carrega o valor 25 no registrador R1.

2. mov R2, #100 @carrega o valor 100 no registrador R2.

3. add R3, R1, R2 @soma os valores carregados em R1

e R2, armazenando o resultado em R3.

4. mov R4, #180 @carrega o valor 180 no registrador R4.

5. sub R5, R3, R4 @ subtrai o valor de R4 do valor

carregado em R3, armazenando o resultado final em

R5. (ATENÇÃO)

15

Page 16: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Comparação entre linguagens

Quais as principais diferenças dos códigos apresentados para estas soluções? A implementação em Python é muito mais simples,

pois esta se trata de uma linguagem de alto nível Operações aritméticas são utilizadas de forma direta;

(Extra) Em Python é possível efetuar aritmética de múltipla precisão sem preocupação com tamanho da palavra do processador, número de registradores, etc.

Em ARM, é possível ter mais controle sobre as operações envolvidas no código. Por exemplo: Como o Python efetua as adições de

inteiros de 64-bits?

Este tipo de controle sobre as operações, é uma vantagem que só linguagens de mais baixo nível podem proporcionar.

16

Page 17: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Adição de inteiros grandes

Por exemplo: Em linguagens de baixo nível,

uma forma de implementar a adição de

inteiros grandes é:

17

Page 18: 1 UMA BREVE INTRODUÇÃO AO SIMULADOR ARMSIM#attux/armsim_leandro.pdf · 2015-03-10 · Iphone 5s (Apple A7 –ARM 64 bits) ... Desenvolver no decorrer da disciplina o projeto de

Instruções para utilização do

ARMSim#

Acesse: http://armsim.cs.uvic.ca/ Download

ARMSim# 1.91 1.91 Execute o arquivo baixado.

Primeira execução: abra um documento Bloco de Notas

e copie o programa do slide 15. Salvar este arquivo no

formato .s Por exemplo: teste_arm.s

Abra o simulador ARMSim# File Load

teste_arm.s Play ( ).

Sugestão: faça a leitura da documentação

disponível em: http://armsim.cs.uvic.ca/AttachedFiles/ARMSim_UserGuide4Plus.pdf

18