EL68E Sistemas Embarcados Prof. Douglas RENAUX

Tamanho: px
Começar a partir da página:

Download "EL68E Sistemas Embarcados Prof. Douglas RENAUX"

Transcrição

1 EL68E Sistemas Embarcados Prof. Douglas RENAUX

2 Arquitetura ARM Prof. Douglas RENAUX

3 ARM Histórico Ano Evento Desenvolvimento do primeiro RISC comercial na Acorn Computers Ltd (Cambridge UK) ARM = Acorn RISC Machine 1990 Fundação da ARM (Advanced RISC Machines Ltd.) 1995 ARM7TDMI Desenvolvimento do ARM8 em conjunto com a DEC (adquirida pela Intel que fez o StrongARM) 1997 ARM ARM ARM Cortex M3, R4, A Cortex A9 Multicore 2012 Arquitetura v8 32/64 bits (Cortex A50) 2014 Cortex M7 pipeline superescalar

4 Acorn BBC Micro 1981

5 Developer Type Release date Retail availability Introductory price Acorn Computers 8-bit home computer 1 December years 235 Model A, 335 Model B (in 1981) Discontinued Units sold Media 1994 over 1.5 million Cassette tape, floppy disc (optional), hard disc (rare), Laserdisc (BBC Domesday Project) Operating system Power CPU Acorn MOS 50 W 2 MHz MOS Technology 6502/6512 Storage capacity kb (DFS) kb (ADFS floppy discs) 20 MB (ADFS hard disc) Memory kb (Model A/B) kb (Model B+) 128 kb (Master) Display Plus kb ROM, expandable to 272 kb PAL/NTSC, UHF/composite/TTL RGB Graphics , 8 colours (various framebuffermodes) 78 75, 8 colours (Teletext) Sound Texas Instruments SN76489, 4 channels, mono TMS5220 speech synthesiser with phrase ROM (optional) Input Keyboard, twin analogue joysticks with fire buttons, lightpen Connectivity Printer parallel, RS-423 serial, user parallel,econet (optional), 1 MHz bus, Tube second processor interface

6 Acorn Archimedes

7 ARM Family ARM1 ARM Arch. ARM Core ARM1 First implementation ARMv2 ARM2 ARMv2 added the MUL (multiply) instruction 4 8 MHz 0.33 DMIPS/MHz ARM250 Integrated MEMC (MMU), Graphics and IO processor. ARMv2a added the SWP and SWPB (swap) instructions MHz ARM3 First integrated memory cache. 4 KB unified MHz 0.50 DMIPS/MHz ARM60 ARMv3 first to support 32-bit memory address space (previously 26-bit) MHz ARM600 As ARM60, cache and coprocessor bus (for FPA10 floating-point unit) MHz As ARM60, cache, no coprocessor bus MHz 0.65 DMIPS/MHz ARMv2a ARM6 Typical MHz ARMv1 ARM2 ARM3 Feature ARMv2a ARMv3 ARM610

8 ARM700 ARM7 ARM7TDMI ARM7EJ ARMv3 ARMv4T ARMv5TEJ 40 MHz ARM710 As ARM700, no coprocessor bus. 40 MHz ARM710a As ARM MHz 0.68 DMIPS/MHz ARM7TDMI(-S) 3-stage pipeline, Thumb MHz MHz ARM710T As ARM7TDMI, cache 8 KB unified, MMU MHz ARM720T As ARM7TDMI, cache 8 KB unified, MMU MHz ARM740T As ARM7TDMI, MPU ARM7EJ-S 5-stage pipeline, Thumb, Jazelle DBX, Enhanced DSP instructions

9 Pipeline Fonte: ARM

10 ARM Cortex

11 ARM Cortex

12 ARM Cortex

13 CortexM0[9] Microcontroller profile, most Thumb + some Thumb-2,[10] hardware multiply instruction (optional small), optional system timer, optional bit-banding memory Optional cache, no TCM, no MPU 0.84 DMIPS/MHz CortexM0+[11] Microcontroller profile, most Thumb + some Thumb-2,[10] hardware multiply instruction (optional small), optional system timer, optional bit-banding memory Optional cache, no TCM, optional MPU with 8 regions 0.93 DMIPS/MHz ARMv6-M CortexM1[12] CortexM Microcontroller profile, most Thumb + some Thumb-2,[10] hardware multiply instruction (optional small), OS option adds SVC / banked stack pointer, optional system timer, no bitbanding memory Optional cache, KB ITCM, KB DTCM, no MPU MHz,[13]( 0.8 DMIPS/M Hz FPGAdependent)[1 4] ARMv7-M ARMv7E-M ARM Family ARM Architecture CortexM3[15] Microcontroller profile, Thumb / Thumb-2, hardware multiply and divide instructions, optional bit-banding memory Optional cache, no TCM, optional MPU with 8 regions 1.25 DMIPS/MHz CortexM4[16] Microcontroller profile, Thumb / Thumb-2 / DSP / optional VFPv4-SP single-precision FPU, hardware multiply and divide instructions, optional bit-banding memory Optional cache, no TCM, optional MPU with 8 regions 1.25 DMIPS/MHz (1.27 w/fpu) ARM Core Feature Cache (I/D), MMU Typical MHz

14 Thumb-2 Densidade de código melhora em até 35% em relação ao código ARM. Thumb-2: melhor de dois mundos independe de código ARM Fonte: ARM

15 Baixo Custo x 8 bits

16

17

18 ARMv8-A (64 bits)

19

20

21

22

23 Exynos 5250 com Cortex-A15 dual core

24

25 64-bits - AMD Hierofalcon will pack four to eight 64-bit ARM A57 cores clocked up to 2GHz. In addition to new ARM cores, the 28nm chips also feature 10Gbit Ethernet and PCI Express 3.0 on board, which means they should be a good fit for data centres. 21-Out-2013

26 NVIDEA: 192 GPU 4x A15 ou 2x A57 Tegra K1 Lançado em 2014

27 Tegra X1-2015

28 NVidia

29 Qualcomm's Growing 64-bit SoC Lineup Marketing Name Snapdragon 615 Snapdragon 610 Snapdragon 410 Internal Model Number MSM8939 MSM8936 MSM8916 Manufacturing Process 28nm LP 28nm LP 28nm LP CPU 8 x ARM Cortex A53 4 x ARM Cortex A53 4 x ARM Cortex A53 1.2GHz+ ISA 32/64-bit ARMv8 32/64-bit ARMv8 32/64-bit ARMv8 GPU Qualcomm Adreno 405 Qualcomm Adreno 405 Qualcomm Adreno 306 H.265 Decode Yes Yes No Memory Interface 1 x 64-bit LPDDR2/3 1 x 64-bit LPDDR2/3 1 x 64-bit LPDDR2/3 Integrated Modem 9x25 core, LTE Category 4, DCHSPA+, DS-DA 9x25 core, LTE Category 4, DCHSPA+, DS-DA 9x25 core, LTE Category 4, DCHSPA+, DS-DA Integrated WiFi Qualcomm VIVE ac Qualcomm VIVE ac Qualcomm VIVE ac emmc Interface

30

31 Fev 29, 2016 Raspberry Pi 3

32 Cortex-M7 (lançamento 24-Set-2014)

33

34

35

36

37 RISC x CISC

38 Histórico Computadores Computador = um dispositivo que computa (calcula, processa dados)

39 Gerações de Computadores Geração Descrição 0 Máquinas Mecânicas e Eletromecânicas solução de equações 1 40 s Válvula ENIAC, Zuse 2 50 s Transistores Universidade de Manchester IBM s Circuitos integrados SSI (portas lógicas) Apolo Guidance Computer (embarcado) IBM System/360 Digital VAX 4 70 s Microprocessador 5 20?? ótico, orgânico, computação quântica??? IA

40 Computação Quântica 5-Out-2015

41 Primeira Geração Colossus - UK ENIAC - USA

42 Segunda Geração PDP-1

43 Terceira Geração VAX 11/780

44 De que forma os projetistas de computadores (arquitetos) utilizaram o aumento significativo de transistores disponibilizados pela evolução rápida da tecnologia de fabricação de circuitos integrados?

45 CISC Complex Instruction Set Computer o conjunto de instruções inicialmente simples avanços tecnológicos (transistores, CIs) permitiram a manufatura de computadores com mais transistores a menor custo projetistas optaram por conjuntos de instruções cada vez mais complexos

46 CISC Como tornar as instruções mais complexas: aumentar o número de modos de endereçamento endereçamento indireto em memória [[R]] instruções com elevado grau semântico Exemplos do SBCD: Subtract Decimal with Extend SWAP: Swap register Words CMP2: Compare Register against Upper and Lower Bounds

47

48 Processor Transistor count Date of introductio n Manufactu rer Intel , Intel 10 µm 12 mm² Intel , Intel 10 µm 14 mm² Motorola , Motorola 3.5 μm 44 mm² Intel , Intel 1.5 µm 49 mm² Pentium 3,100, Intel 0.8 µm 294 mm² ARM [9] 1994 ARM 0.5 µm mm² ARM Cortex-A9 26,000,000[ 2007 ARM 65 nm 12] Process Area AMD K10 quadcore 2M L3 463,000,00 0[11] 2007 AMD 65 nm 283 mm² Quad-Core + GPU Core i7 1,400,000, Intel 22 nm 160 mm² Xbox One Main SoC 5,000,000, Microsoft/AMD 28 nm 363 mm²

49 Perguntas Qual é, afinal, o objetivo primordial do arquiteto / projetista de computadores? Dada uma tecnologia de fabricação e uma área de silício (custo), como fazer o melhor aproveitamento possível? Quais são as conseqüências de um conjunto de instruções complexo?

50 RISC x CISC RISC CISC Conjunto de instruções reduzido Conjunto de instruções extenso Instruções muito simples Instruções complexas Instruções de tamanho fixo Instruções de tamanho variável Decodificação simplificada (tabela) Decodificação complexa (microcódigo) Execução regular Cada instrução executa a sua maneira Instruções requerem o mesmo número de clocks para executar Grande variação no número de clocks por instrução Possibilita o uso de pipeline Extremamente difícil / impossível o uso de pipeline

51 Pipeline

52 Diferenciais da arquitetura ARM Cortex-M3

53 Instruções Condicionais A maioria das instruções ARM são condicionais só produzem efeito se os flags estiverem setados adequadamente BEQ Branch on Equal executa um salto caso o bit Z esteja setado As instruções condicionais precisam estar em um bloco IT exceto a instrução B (BRANCH = Salto) ex: ADDEQ executa uma soma caso o bit Z esteja setado

54 Pipeline Na arquitetura Cortex-M, as instruções são executadas de acordo com uma das seqüências abaixo: BUSCA DECODIFICAÇÃO EXECUÇÃO (OPERAÇÃO LÓG./ARIT.) BUSCA DECODIFICAÇÃO EXECUÇÃO (CÁLCULO ENDEREÇO) ACESSO À MEMÓRIA DE DADOS

55 Pipeline No Cortex-M3 o pipeline tem três estágios: BUSCA leitura da instrução da memória DECODIFICAÇÃO interpretação do código da instrução e geração dos sinais de controle EXECUÇÃO operação lógica/aritmética ou acesso a memória de dados * o estágio de EXECUÇÃO pode ocupar mais de um ciclo de clock

56

57

58 Arquitetura ARM Prof. Douglas RENAUX

59 Módulo 3 A arquitetura Cortex-M3

60 Cortex-M3 internal structure

61 Instruções do Cortex-M0

62

63

64

65 Arquitetura Cortex-M3 Visão geral da Arquitetura: Registradores Conjunto de instruções Acesso à Memória Interrupções

66 Módulo 4 Conjunto de Instruções Thumb-2

67 Arquitetura Cortex-M3 Cortex-M3 usa a versão ARMv7-M de arquitetura ARMv7-M Thumb2 Mix de instruções de 16 e 32 bits Não requer alinhamento na memória das instruções de 32 bits

68

69

70

71

72

73

74

75 infocenter.arm.com Developer Guides and Articles Software Development

76 Formato das Instruções Log/Arit Três operandos explícitos (Rd,Op1,Op2) ADD R0,R1,R2 R0 := R1 + R2 Dois operandos e um implícito (Rd,Op2) ADDS R0,R5 R0 := R0 + R5 Dois operandos (Op1,Op2) CMP R8,R9

77 1 - Lógicas e Aritméticas Instrução Descrição ADD, ADDS, ADCS Soma, soma com carry SUB, SUBS Subtrai RSBS Subtração reversa MUL Multiplicação: 32b x 32b -> 32b ANDS, ORRS, EORS Operações lógicas: E, OU, OU-EXCL (bit a bit) BICS Operação lógica: E NÃO CMP, CMN Comparação, comparação negada TEQ, TST Teste de bits MOV, MVN Move, move negado

78 Tipo Tamanho Tipo Tamanho char 8 bits [] 32 bits short 16 bits struct ptr = 32 bits int 32 bits float 32 bits unsigned 32 bits double 64 bits long 32 bits enum = int long long 64 bits * 32 bits

79 CMP, CMN, TST, MOV, MVN Formatos: CMN Rn,Rm CMP Rn, #imm CMP Rn,Rm TST Rn, Rm MOVS Rd, Rm MOVS Rd, #imm MVNS Rd,Rm MOV Rd,Rm // R0-R7 (soma Rn e Rm) //R0-R14; // R0-R7 (AND) // 0-255

80 Deslocamento (LSLS) n >= 32 todos os bits são zerados n >= 33 todos os bits e o carry são zerados variantes: só LSLS (altera carry) LSLS {Rd},Rm,Rs LSLS {Rd},Rm,#imm efeito de LSLS Rm, #n é Rm * 2n

81 Deslocamento (LSRS) n >= 32 todos os bits são zerados n >= 33 todos os bits e o carry são zerados variantes: só LSRS (altera carry) LSRS {Rd},Rm,Rs LSRS {Rd},Rm,#imm efeito de LSRS Rm, #n é Rm / 2n

82 Deslocamento (ASRS) n >= 32 todos os bits e o carry recebem cópia do bit 31 variantes: só ASRS (altera carry) ASRS {Rd},Rm,Rs ASRS {Rd},Rm,#imm efeito de ASRS Rm, #n é Rm / 2n

83 Rotação (RORS) / RRX n >= 32 é o mesmo que n-32 variantes: só RORS (altera carry) RORS {Rd},Rm,Rs RORS {Rd},Rm,#imm efeito de LSRS Rm, #n é Rm / 2n (para Rm sem sinal) n = 32 o valor não é alterado e CY := Rm[31] n = 33 mesmo efeito que RORS com n = 1 variantes: só RORS (altera carry) RORS {Rm},Rm,Rs não acessa regs altos apenas dois operandos

84 ARM Barrel Shifter LSL : Logical Left Shift CF Destination ASR: Arithmetic Right Shift Destination 0 Multiplication by a power of 2 LSR : Logical Shift Right...0 Destination CF Division by a power of 2, preserving the sign bit ROR: Rotate Right CF Division by a power of 2 Destination Bit rotate with wrap around from LSB to MSB RRX: Rotate Right Extended Destination CF Single bit rotate with wrap around from CF to MSB CF

85 Operando 2

86 Operando 2 Registrador R4 Registrador e deslocamento R4, LSL #4 R5, ASR #1 Constante: #4 #0xAABB #-2

87 Deslocamentos no Operando 2 Opções: ASR #n 1 n 32 LSL #n 1 n 31 LSR #n 1 n 32 ROR #n 1 n 31 RRX

88 Constantes no Operando 2 Não é possível definir qualquer valor de constante no Operando 2 Apenas alguns valores podem ser formados: Valores de 8 bits deslocados Valores do tipo 0x00XY00XY Valores do tipo 0xXY00XY00 Valores do tipo 0xXYXYXYXY

89 MULTIPLICAÇÃO-1 MULS Rd,Rn,Rm Rd := Rn x Rm Rm deve ser o mesmo registrador que Rd formato preferido: MULS Rd,Rn R0 R7 32-bits x 32-bits -> 32-bits em 1 único ciclo de clock afeta N e Z

90 MULTIPLICAÇÃO-2 MUL Rd,Rn,Rm Rd := Rn x Rm formato alternativo: MUL Rd,Rn Registradores exceto SP, PC 32-bits x 32-bits -> 32-bits em 1 único ciclo de clock

91 MULTIPLICAÇÃO-3 MLA Rd,Rn,Rm,Ra Rd := Ra + Rn x Rm 32-bits x 32-bits -> 32-bits em 2 ciclos de clock

92 MULTIPLICAÇÃO-4 MLS Rd,Rn,Rm,Ra Rd := Ra - Rn x Rm 32-bits x 32-bits -> 32-bits em 2 ciclos de clock

93 MULTIPLICAÇÃO-5 UMULL RdLo, RdHi, Rn, Rm RdHi:RdLo := Rn x Rm UMLAL RdLo, RdHi, Rn, Rm RdHi:RdLo := RdHi:RdLo + Rn x Rm SMULL RdLo, RdHi, Rn, Rm RdHi:RdLo := Rn x Rm SMLAL RdLo, RdHi, Rn, Rm RdHi:RdLo := RdHi:RdLo + Rn x Rm 32-bits x 32-bits -> 64-bits em 3 a 5 ciclos de clock

94 DIVISÃO UDIV Rd,Rn,Rm Rd := Rn / Rm SDIV Rd,Rn,Rm Rd := Rn / Rm 32-bits / 32-bits -> 32-bits em 4 ciclos de clock configurável se quer gerar exceção na divisão por zero

95 MOV, MOV.W, MOVT Para simplificar a carga de constantes que não atendem o formato 8-bits com deslocamento MOV Ri,#16-bits (equivalente a MOV.W Ri,#16) carrega os 16 bits menos significativos de Ri MOVT Ri,#16-bits carrega os 16 bits mais significativos de Ri Com 2 instruções pode-se carregar qualquer constante de 32 bits em um registrador!

96 Exercícios Multiplicar o valor inteiro (32-bits) que está em R3 pela constant 9: 1. a) b) Usando instrução de multiplicação Sem usar multiplicação (sugestão: usar ADD/SUB/shift) Idem, mas multiplicando por 15. Qual a maneira mais eficiente (menos instruções e menos tempo) para fazer as seguintes cargas de constantes: R0 := 0 R1 := 200 R2 := 0x1234 R3 := 0xFFFFFF00 R4 := 0xABCDEF00

97 Instruções que Operam em Bits BFC Rd, #lsb, #w #lsb e #w estão na faixa de 0 a 31 e 1 a 32 Bit-field clear: limpa #w bits a partir de #lsb BFC R0, #4, #8 R0 = 0xFFFF F00F BFI Rd, Rn, #lsb, #w Bit-field Insert: copia #w bits de Rn:0 para Rd:#lsb BFI R1, R2, #8, #0xC R1 = 0x FFFC DDFF

98 Exercícios Alterar os bits 5 a 9 do registrador R10 para a) b) Usando AND/OR/ Usando instruções de bit-field sua solução deve funcionar para qualquer que seja o valor atual de R10.

99 Instruções que Operam em Bits SBFX Rd, Rn, #lsb, #w #lsb e #w estão na faixa de 0 a 31 e 1 a 32 Extrai campo e faz extensão de sinal: copia #w bits a partir de #lsb para o bit0 de Rd e estende SBFX R0, R1, #4, #8 R0 = 0xFFFF FFBC UBFX Rd, Rn, #lsb, #w Idem, estendendo com zeros

100 Extend SXTB Rd,Rm // Rd := sign extend Rm[7:0] UXTB Rd,Rm // Rd := zero extend Rm[7:0] SXTH Rd,Rm // Rd := sign extend Rm[15:0] UXTH Rd,Rm // Rd := zero extend Rm[15:0] R0-R7

101 ADR ADR Rd, label calcula o endereço do label na forma de um offset para o PC Carrega o Rd com o endereço do label Faixa permitida: PC +/ Obs: no IAR o label deve estar na região de dados para que o assembler aceite o ADR

102 2 - Acesso à Memória

103 Acessos Alinhados um acesso à memória de dados é alinhado se: acesso à Word é em endereço múltiplo de 4 acesso à HalfWord é em endereço múltiplo de 2 acesso à Byte é em endereço múltiplo de 1 No Cortex-M0 todos os acessos devem ser alinhados ou causa um HardFault No Cortex-M3 os acessos podem ser desalinhados

104 Instruções de Acesso à Memória de Dados LD (Load = Leitura) ST (Store = Escrita) LDR LDRD LDM POP STR STRD STM PUSH

105 LDR Lê dado da memória Formatos: LDR Rt,[Rn] LDR Rt,[Rn,#off] LDRB Rt,[Rn,#off] LDRH Rt,[Rn,#off] Restrições: #off: [Rn,#off] outras restrições quando envolve os registradores SP ou PC

106 LDR Lê dado da memória Formatos: LDR Rt,[Rn,Rm] LDRB Rt,[Rn,Rm] LDRH Rt,[Rn,Rm] LDR Rt,[Rn, Rm, LSL #2] //end = Rn + Rm<<2

107 LDR Pré e Pós Indexado Pré-Indexado: LDR Rd,[Ri,#cte]! LDR Rd,[Ri,Rm]! Primeiro calcula endereço depois acessa memória O! indica que o Ri deve ser atualizado com o endereço recém calculado. LDR R2,[R3,#4]! Pós-Indexado LDR Rd,[R ],#cte LDR Rd,[Ri],Rm Primeiro acessa memória depois calcula endereço Sempre atualiza Ri

108 LDRSB e LDRSH Lê dado da memória e faz extensão de sinal Formatos: LDRSB Rt,[Rn,#off] LDRSH Rt,[Rn,#off] LDRSB Rt,[Rn,Rm] LDRSH Rt,[Rn,Rm]

109 LDR (relativo ao PC) Lê dado da memória O dado está em endereço próximo ao código sendo executado Formatos: LDR Rt,[PC,#100] LDR Rt, label

110 LDRD Lê 64 bits da memória para 2 registradores Usado para carregar inteiros de 64 bits (long long) LDRD Rt, Rt2, label LDRD Rt, Rt2, [...] // relativo ao PC // mesmos modos de // endereçamento que LDR Rt word menos significativo (LSW) está no endereço especificado Rt2 word mais signifivativo (MSW) está no endereço seguinte (+4)

111 STR Escreve dado da memória Formatos: STR STRB STRH mesmas regras que para LDR

112 LDM e STM Tranfere múltiplos registradores de/para memória Formatos: LDM R0,{R0,R1,R2} LDM R1!,{R2-R7} STM R0!,{R2-R4}

113 LDM e STM Variantes: IA = Increment After default DB = Decrement Before acessa memória incrementa endereço decrementa endereço acessa memória EA = Empty Ascending FD = Full Descending LDM = LDMIA, LDMFD STM = STMIA, STMEA

114 PUSH e POP Tranfere múltiplos registradores de/para memória STMFD sp!, {r0,r1,r3-r5} Formatos: PUSH {r0,r1,r3-r5} PUSH {R0-R7} POP {R1,R3-R6} Full Descending Stack old SP r5 r4 r3 r1 r0 SP FD endereço baixo : Full Descending

115 LDM e STM STMDB sp!, {r0,r1,r3-r5} STMIA sp!, {r0,r1,r3-r5} STMFD sp!, {r0,r1,r3-r5} STMEA sp!, {r0,r1,r3-r5} 0x418 SP r5 r4 r3 r1 Old SP Old SP r5 SP r0 0x400 r4 r3 r1 r0 0x3e8 DB : Decrement Before IA : Increment After FD : Full Descending EA : Empty Ascending 155

116 Exercício Acesso à Memória Em C: crie uma struct com 3 campos: um inteiro, um char, e um short e atribua valores a estes campos. Em assembly: some os 3 campos da struct produzindo um resultado de 32 bits com sinal.

117 Projetos: Parte da avaliação (equipes de 1 ou 2 pessoas) 1. Comunicação por CAN, só 4 placas USB device: HID (p.ex. mouse) PWM: gerar onda senoidal.

118 3 - Saltos

119 3 - Saltos B loopa ; salta para o label LoopA (unica instrução condicional que não precisa IT) BL func ; chamada de rotina, armazena endereço de retorno em LR BX LR ; retorno de chamada de rotina BLX R0 ; Chamada de rotina BEQ labeld ; Salto condicional

120 Saltos CBZ Rn, label Testa Rn e salta se 0 CBNZ Rn, label Testa Rn e salta se não-zero Restrições: Só saltos para frente até 130 bytes Não pode ser usado em bloco IT Não modifica flags Só R0 a R7

121 Bloco IT Bloco consiste de 1 a 4 instruções condicionais ITxyz cond x,y,z são T ou E (Then ou Else) ITTE EQ ADDEQ SUBEQ ORRNE

122 Bloco IT A instrução de salto condicional Bcc label (onde cc é uma das condições) não precisa estar num bloco IT As instruções: IT, CBZ, CBNZ, CPSIE, CPSID NÃO podem estar em bloco IT Uma instrução que altera PC, só pode estar num bloco IT se for a última.

123 Condições No Cortex-M3 as outras instruções podem ir em blocos IT

124 Saltos (limites)

125 Exercício 1)

126 Exercício continuação MDC 2) Como transformar em subrotina? 3) Como chamar a partir de outra rotina em assembly? 4) Como chamar a partir de uma função em C?

127 Exercício Qual a maneira mais eficiente de implementar um loop com número fixo de execuções, como por exemplo: for (int i=0; i<10; i++) { // dentro do loop não se usa i a = b<<3 + a; b++; }

128 Módulo 5 Registradores Especiais Modos de Operação Instruções Especiais

129 priviledged

130 Pilha (Stack) pode-se trabalhar apenas com MSP o SP corrente sempre é acessado como R13 ou SP O SP está sempre com alinhamento de Word (i.e. endereços múltiplos de 4) Instruções: PUSH - empilha POP - desempilha Full descending

131 Link Register R14 ou LR Armazena o endereço de retorno de uma subrotina Deve ser salvo antes de chamar outra subrotina

132 Contador de Programa PC ou R15 instrução sendo executada + 4 endereço de instrução é sempre par (bit0 = 0) bit0 do PC é usado para indicar modo Thumb após reset e em algumas instruções de salto: BX e BLX

133 Modo Handler Thread Não-Privilegiado Privilegiado Main (Principal) Processo Pilha Nível de Privilégio

134

135 Stack: selecionado pelo bit1 de CONTROL 0 = main; 1 = process (este stack só pode ser usado em modo Thread) Modo: selecionado pelo IPSR 0 = Thread; >0 exception Privilégio: bit 0 do CONTROL (0 = privilegiado, 1 = não-privilegiado) no Cortex-M0 é sempre privilegiado (sem restrição)

136

137 xpsr

138

139 IPSR IPSR Exception number!= IRQ Number (Table 320)

140 CONTROL CONTROL instruções MSR e MRS após MSR usar ISB para garantir que o novo stack será usado

141 PRIMASK PRIMASK só pode ser escrito em modo privilegiado instruções CPSID e CPSIE, MSR e MRS

142 Modo Privilegiado No modo Privilegiado o código tem acesso a TODOS os recursos. No modo NÃO-Privilegiado o código NÃO tem acesso à: instruções como CPS que permitiriam alterar FAULTMASK e PRIMASK maioria dos registradores do System Control

143 4 - Outros

144 BKPT BKPT #imm #imm é um valor de 0 a 255 entrada no estado de depuração esta instrução é utilizada por debugers instrução não deve ser usada por programadores

145 CPS Change Processor State altera o PRIMASK Formatos: CPSID i CPSIE i // desabilita IRQs // habilita IRQs

146 DMB The Data Memory Barrier (DMB) completa transações pendentes antes de realizar outra transação. DSB The Data Synchronization Barrier (DSB) completa transações pendentes antes de executar a próxima instrução. ISB The Instruction Synchronization Barrier (ISB) garante que o efeito das transações efetuadas seja percebido antes da próxima instrução.

147 Exemplos de Uso Tabela de vetores: usar DMB entre uma alteração no vetor e a habilitação da IRQ correspondente. Alteração no código: usar uma ISB logo após a instrução que altera o código. Alteração no mapa de memória: usar um DSB imediatamente após a instrução que altera o mapa de memória.

148 MSR, MRS MSR Move to Special Reg from Register MSR special_reg, Rn MRS Move to Register from Special Reg MRS Rd, special_reg Special Reg: APSR, IPSR, EPSR, IEPSR, IAPSR, EAPSR, PSR, MSP, PSP, PRIMASK, or CONTROL Rd, Rn não podem ser SP ou PC

149 NOP Não realiza nenhuma operação Pode ser elimininada no pipeline (i.e. pode ser executado em tempo 0) Uso: alinhamento de código em fronteira de word ou double-word

150 SEV Send Event Formato: SEV Informa da ocorrência de um evento Seria usado com WFE que não existe no LPC11xx

151 SVC Chamada ao Supervisor (S.O.) Formato SVC #imm // Gera uma exceção do tipo SVC A ISR pode ler o valor de #imm para identificar o serviço solicitado

152 WFI Wait for Interrupt Formato: WFI entra em modo de baixo consumo até que: exceção IRQ, mesmo que mascarada por PRIMASK solicitação de DEBUG

153 Módulo 6 Acesso à Memória

154

155 Memória Processadores 13xx

156 Módulo 7 Exceções/Interrupções

157 Interrupções Interrupções são uma forma eficiente de se responder às demandas solicitadas pelos periféricos. Alternativa é polling: desperdício de consultas atendimento mais demorado 212

158 Estrutura típica de Interrupção Peripheral 1 P2 IRQ Interrupt Controller Microprocessor Core (e.g Cortex-M) P3 P4 Pn 213

159 Interrupções Princípio de funcionamento durante a execução de um programa, um sinal de hardware (IRQ = Interrupt Request) é ativado. um controlador de interrupções percebe o sinal, verifica se está habilitado (desmascarado) e sua prioridade e então informa o processador da existência de um pedido de interrupção pendente o processador verifica se as interrupções estão habilitadas e finaliza a execução da instrução corrente SALVAMENTO DE CONTEXTO (registradores, palavra de status) [em alguns casos] - muda o ponteiro de pilha para IRQ_STACK busca no vetor de interrupção: identifica quem é a rotina responsável pelo atendimento daquela interrupção específica execução da ISR (parte do salvamento de contexto pode ser feito aqui) informa ao periférico solicitante que a IRQ foi atendida informa ao controlador de interrupção que o atendimento finalizou (EOI) RECUPERA CONTEXTO dá seguimento a execução do programa que foi interrompido 214

160 Interrupções É um processo complexo Qualquer falha em algum passo causa uma parada total do sistema Depuração difícil, principalmente porque é um evento assíncrono Um programador só é realmente um programador de sistemas embarcados quando sabe trabalhar bem com o atendimento de interrupções. Quando se usa RTOS, em geral, passa-se ao RTOS a responsabilidade de tratar as IRQs. 215

161 Controlador de Interrupção Em geral são vetorizados: detectam automaticamente qual dos pedidos de interrupção ativo é o mais prioritário, consultam a tabela de endereços de ISR (vetor de interrupção) e entregam ao processador o endereço da ISR. portanto, a CPU só precisa ler o endereço da ISR e executar a partir dali No Cortex-M: maior eficiência obtida pelo atendimento totalmente realizado pelo HW. 216

162 Desabilitando o Atendimento de IRQs Também chamado de mascaramento de IRQs No controlador de interrupções é possível mascarar / desmascarar IRQs específicas: p.ex. mascarar apenas a IRQ da UART2 No processador é possível mascarar / desmascarar o atendimento de interrupções por completo. 217

163 Teste e Depuração Teste e Depuração de ISRs é uma atividade complexa. Quando finalmente se consegue atender à primeira interrupção: o teste NÃO acaba aqui!!! atender a segunda IRQ do mesmo periférico também requer teste e depuração p.ex. esquecer de enviar um EOI impede o atendimento do pedido seguinte. Importante testar situações de stress: vários pedidos simultâneos de periféricos distintos várias repetições de pedidos de interrupção do mesmo periférico 218

164 Como registrar uma ISR num Cortex-M3 Basta colocar o nome da ISR na tabela de vetores de exceção localizada no endereço 0 da memória. 229

165 Como registrar uma ISR num Cortex-M3 Cortex-M: o vetor de interrupções fica na memória do processador a partir do endereço 0. basta armazenar a tabela com os endereços das ISRs nesta região de memória. 230

166 Interrupções - Conceitos Latência: tempo entre o pedido de interrupção (ativação do sinal IRQ) até o início da execução da ISR: HW: detecção, processamento no Cont. IRQ tempo de finalização da instrução corrente tempo que as IRQs estão desabilitadas outras ISR em execução (aninhamento x prioridade) no device driver no RTOS na aplicação Tempo de Resposta (pior caso): Somar: Pior caso da Latência Pior caso do tempo de execução da ISR. 231

167 Exceções Qualquer solicitação para mudança do fluxo normal de um programa. interrupção detecção de falha / erro (p.ex. acesso desalinhado)

168 Exceções Estados Inativo (inactive) = não ativo nem pendente Pendente (pending) = aguardando atendimento (p.ex. pedido de interrupção irq de periférico) Ativo (active) = em atendimento pode haver mais de uma interrupção em atendimento (interrupções aninhadas nested) Ativo e Pendente = interrupção em atendimento e outro pedido da mesma fonte está pendente

169 Tipos de Exceção Reset reinício da execução (modo Thread) (-3) NMI - prioridade -2 HardFault prioridade -1 falha genérica: representa todas as classes de falhas que não foram tratadas SVC causada pela instrução SVC (Supervisor Call) PendSV solicitação de serviço (p.ex. chaveamento de contexto) SysTick gerado pelo system timer IRQ pedido de interrupção feito por periférico

170 Configurável: prioridade de 0 (default) a 3 Prioridades: valor menor significa maior prioridade PRIMASK: pode mascarar as IRQ com prioridade configurável

171 O LSb deve ser 1 indicando que a rotina de tratamento é em Thumb O IAR coloca o bit0 em 1 automaticamente para todos os labels criados em Thumb

172 Atendimento Um atendimento de exceção ocorre quando: existe uma exceção pendente com prioridade suficiente (*); e o processador está em modo Thread; ou a exceção pendente é de prioridade maior que a exceção sendo atendida (preempção) (*) prioridade suficiente significa prioridade maior do que o limite estabelecido no PRIMASK

173 Atendimento (2) Stacking salva o estado O SP está alinhado em double-word se necessário pula um word antes de começar o empilhamento

174 Atendimento (3) O processador lê do vector_table o endereço do handler; LR := EXC_RETURN (ver próximo slide) após o stacking, a execução se dá a partir do handler, a exceção passa ao status de ativa Se durante o stacking ocorreu outra exceção de maior prioridade então esta é atendida (late-arriving exception) Prof. Dr. Dr. Douglas Douglas Renaux Prof. Renaux

175 Atendimento (4)

176 Retorno de Exceção Ocorre quando uma instrução escreve no PC um dos valores de EXC_RETURN As instruções que podem ser usadas para retorno de exceção são POP e BX

177 Tratamento de Faltas Todas as faltas causam HardFault Trava se a falta ocorre no handler da NMI ou HardFault Faltas: SVC BKPT fora de depuração (i.e. não conectado ao IAR) erro de acesso a memória (erro de barramento) em LD ou ST tentativa de execução em área XN tentativa de execução causando erro de barramento erro de barramento em acesso ao vector_table tentativa de execução de instrução inválida tentativa de execução em modo ARM (T=0) LD ou ST desalinhado

178 Hard Faults

179 Módulo 8 ATPCS

180 ATPCS ARM-Thumb Procedure Call Std Passagem de parâmetros: - primeiros parâmetros em R0.. R3 demais parâmetros pela pilha - retorno: R0 ou R1:R0

181 ATPCS Tipos de Dados Tipo Tamanho Tipo Tamanho char 8 bits [] 32 bits short 16 bits struct ptr = 32 bits int 32 bits float 32 bits unsigned 32 bits double 64 bits long 32 bits enum = int long long 64 bits * 32 bits

182 ATPCS Quem tem a obrigação de salvar o valor dos registradores caso interesse manter este valor após a chamada de uma função? - - rotina chamada: deve salvar R4 R11 antes de alterar R0 R3,R12 podem ser livremente utilizados pela rotina chamada

183 Código de Entrada e Saída de Função PUSH {R4-R7,LR} POP {R4-R7,LR} MOV PC,LR PUSH {R4-R7,LR} POP {R4-R7,PC}

184 Exercício continuação MDC 2) Como transformar em subrotina? 3) Como chamar a partir de outra rotina em assembly? 4) Como chamar a partir de uma função em C?

185 Exercício de Alinhamento C: struct s { char a; short b; char c; int d; }; #pragma pack(2) #pragma pack()

Cortex-M3/M4. Conjunto de Instruções Thumb-2 (Assembly Cortex-M3/M4) Unified Assembler Language (UAL) Estrutura de Código em Assembly 06/09/2018

Cortex-M3/M4. Conjunto de Instruções Thumb-2 (Assembly Cortex-M3/M4) Unified Assembler Language (UAL) Estrutura de Código em Assembly 06/09/2018 Cortex-M3/M4 Conjunto de Instruções Thumb-2 (Assembly Cortex-M3/M4) Prof. Hugo Vieira Neto 2018/2 Arquitetura ARMv7E-M Conjunto de instruções Thumb-2 Material de apoio: Referência Rápida do Conjunto de

Leia mais

EL68E Sistemas Embarcados Prof. Douglas RENAUX

EL68E Sistemas Embarcados Prof. Douglas RENAUX EL68E Sistemas Embarcados Prof. Douglas RENAUX ARM Histórico Ano 1984-1985 Evento Desenvolvimento do primeiro RISC comercial na Acorn Computers Ltd (Cambridge UK) ARM = Acorn RISC Machine 1990 Fundação

Leia mais

SISTEMAS EMBARCADOS. Conjunto de Instruções Thumb2. Prof. André Schneider de Oliveira

SISTEMAS EMBARCADOS. Conjunto de Instruções Thumb2. Prof. André Schneider de Oliveira Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Conjunto de Instruções Thumb2 Prof. André Schneider de Oliveira andreoliveira@u6pr.edu.br

Leia mais

Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS

Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Registradores, Instruções Especiais, Exceções e Memórias Prof. André Schneider de Oliveira

Leia mais

Registradores. Registradores e Instruções Especiais. Link Register. Stack Pointer. Registradores Especiais. Contador de Programa 29/03/2018

Registradores. Registradores e Instruções Especiais. Link Register. Stack Pointer. Registradores Especiais. Contador de Programa 29/03/2018 Registradores Registradores e Instruções Especiais Prof. Hugo Vieira Neto Nível de acesso privilegiado MSP = main SP Kernel do S.O. Exceções PSP = process SP Aplicações (threads) PRIMASK Desabilita interrupções

Leia mais

Registradores. Registradores Especiais e Exceções no ARM Cortex-M4. Link Register. Stack Pointer. Registradores Especiais. Contador de Programa

Registradores. Registradores Especiais e Exceções no ARM Cortex-M4. Link Register. Stack Pointer. Registradores Especiais. Contador de Programa Registradores Registradores Especiais e Exceções no ARM Cortex-M4 Prof. Hugo Vieira Neto 2019/1 Nível de acesso privilegiado MSP = main SP Kernel do S.O. Exceções PSP = process SP Aplicações (threads)

Leia mais

EL68E Sistemas Embarcados

EL68E Sistemas Embarcados EL68E Sistemas Embarcados Prof. Douglas RENAUX www.dainf.ct.utfpr.edu.br/~douglas Arquitetura ARM Prof. Douglas RENAUX Acorn BBC Micro 1981 Developer Acorn Computers Type 8-bit home computer Release date

Leia mais

Instruções Assembly. César Yutaka Ofuchi (Adaptado do Prof. Hugo Vieira Neto) César Ofuchi

Instruções Assembly. César Yutaka Ofuchi (Adaptado do Prof. Hugo Vieira Neto) César Ofuchi 1 Instruções Assembly César Yutaka Ofuchi ofuchi@utfpr.edu.br (Adaptado do Prof. Hugo Vieira Neto) 2 Instruções Novo Workspace IAR 1- Fazer download do novo workspace no site em laboratório2 2 Corrigir

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski Aula 2 Cibele Lemos Freire Viginoski Registradores R0-R7: disponíveis para todas as instruções R8-R15: disponíveis para algumas instruções R13: SP (Stack Pointer) Pilha obrigatoriamente LIFO decrescente

Leia mais

Universidade de São Paulo

Universidade de São Paulo Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.

Leia mais

EL68E Sistemas Embarcados Prof. Douglas RENAUX

EL68E Sistemas Embarcados Prof. Douglas RENAUX EL68E Sistemas Embarcados Prof. Douglas RENAUX ARM Histórico Ano 1984-1985 Evento Desenvolvimento do primeiro RISC comercial na Acorn Computers Ltd (Cambridge UK) ARM = Acorn RISC Machine 1990 Fundação

Leia mais

Paradigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 18/08/2016

Paradigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 18/08/2016 Paradigma CISC Arquitetura ARM Cortex-M3 Prof. Hugo Vieira Neto Complex Instruction Set Computer Conjunto de instruções inicialmente simples Avanços tecnológicos permitiram a fabricação de computadores

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI3441 Arquitetura de Sistemas Embarcados - Instruções de Desvio Loop - Ponto Flutuante - Multiplicação e Divisão - Pseudo-Instruções - Processadores ARM Escola Politécnica da Universidade de São Paulo

Leia mais

SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3

SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3 Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3 Prof. André Schneider de Oliveira andreoliveira@utfpr.edu.br

Leia mais

Arquitetura Cortex-M

Arquitetura Cortex-M 1 Arquitetura Cortex-M César Yutaka Ofuchi ofuchi@utfpr.edu.br (Adaptado do Prof. Hugo Vieira Neto/Prof. Douglas Renaux) Referências Joseph Yiu The definitive guide to the arm córtex-m3 (second edition)

Leia mais

Arquitetura ARM Cortex

Arquitetura ARM Cortex 1 Arquitetura ARM Cortex César Yutaka Ofuchi ofuchi@utfpr.edu.br (Adaptado do Prof. Hugo Vieira Neto) 2 Porque ARM Cortex M3? Performance Baixo Consumo Baixo Custo Determinismo: garantia de execução críticas

Leia mais

Paradigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 16/03/2018

Paradigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 16/03/2018 Paradigma CISC Arquitetura ARM Cortex-M3 Prof. Hugo Vieira Neto Complex Instruction Set Computer Conjunto de instruções inicialmente simples Avanços tecnológicos permitiram a fabricação de computadores

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem

Leia mais

Aula 8. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura ARM

Aula 8. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura ARM Aula 8 Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura ARM Repertório de Instruções O conjunto de instruções possui uma largura fixa de 32 bits É o conjunto padrão de instruções

Leia mais

7/4/2010. Aula 8. Engenharia de Sistemas Embarcados. Repertório de Instruções. Prof. Abel Guilhermino Tópico: Arquitetura ARM

7/4/2010. Aula 8. Engenharia de Sistemas Embarcados. Repertório de Instruções. Prof. Abel Guilhermino Tópico: Arquitetura ARM Repertório de Instruções Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura ARM Aula 8 O conjunto de instruções possui uma largura fixa de 32 bits É o conjunto padrão de instruções

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI3441 Arquitetura de Sistemas Embarcados - Ponto Flutuante Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio Seabra

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador: Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.

Leia mais

Revisão: Modo Real, pt 2 Interrupções

Revisão: Modo Real, pt 2 Interrupções Revisão: Modo Real, pt 2 Interrupções Interrupção Evento (interno ou externo) que faz o processador parar o programa em execução para tratar a interrupção Ex: ler o teclado, comunicação com os dispositivos

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

Leia mais

Advanced RISC Machine

Advanced RISC Machine Advanced RISC Machine ARM Vítor da Rosa Sumário Introdução História Evolução ARM Ltd Arquitetura & Organização Primeiros Processadores ARM7TDMI ARM9TDMI Referências História Out/83, a Acorn Computers Ltd

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Arquitetura ARM. Prof. André Schneider de Oliveira. Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN)

Arquitetura ARM. Prof. André Schneider de Oliveira. Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) Arquitetura ARM Prof. André Schneider de Oliveira andreoliveira@u6pr.edu.br O Processador ARM O processador

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 Arquitetura de Computadores SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Leia mais

ArchC. Wesley Nunes Gonçalves

ArchC. Wesley Nunes Gonçalves Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção

Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção 1 Modo de Endereçamento Determina como o operando é obtido durante a execução de uma ins trução.

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Historia ARM Começou a vida como parte da Acorn Computer. 1978 Arcon Computer de Cambridge produziam computadores e foram sucesso no Reino

Leia mais

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Arquitetura de Computadores II. Arm 9. Rodrigo Padilha Thaiane Lopes

Arquitetura de Computadores II. Arm 9. Rodrigo Padilha Thaiane Lopes Arquitetura de Computadores II Arm 9 Rodrigo Padilha Thaiane Lopes 26 de Novembro de 2007 Introdução Este trabalho pretende apresentar instruções de máquinas, utilizando a arquitetura Arm9. São apresentadas

Leia mais

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço

Leia mais

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador

Leia mais

Controladores do IBM-PC. Gustavo G. Parma

Controladores do IBM-PC. Gustavo G. Parma Controladores do IBM-PC Gustavo G. Parma IBM-PC baseado em ISA Sistema de interrupção do x86 Duas entradas de solicitação de interrupção NMI: Non-maskable interruption Erro de paridade da RAM Channel Check

Leia mais

Estrutura Básica de um Computador

Estrutura Básica de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura Básica de um Computador Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção

Leia mais

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia Informática e de Computadores

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação 1998-2010 - Volnys Bernal 1 1998-2010 - Volnys Bernal 2 Agenda Revisão: Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Arquitetura Geral Espaço de Endereçamento Processador e s Laboratório

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Sistemas Embarcados. KIT LPCXPresso1343 e BaseBoard. (Adaptado do Prof. Hugo Vieira Neto) César Yutaka Ofuchi

Sistemas Embarcados. KIT LPCXPresso1343 e BaseBoard. (Adaptado do Prof. Hugo Vieira Neto) César Yutaka Ofuchi 1 Sistemas Embarcados KIT LPCXPresso1343 e BaseBoard (Adaptado do Prof. Hugo Vieira Neto) César Yutaka Ofuchi ofuchi@utfpr.edu.br Ambiente de Desenvolvimento IAR Embedded Workbench for ARM Utilizar versão

Leia mais

OMAP Open Multimedia Application Platform

OMAP Open Multimedia Application Platform OMAP Open Multimedia Application Platform Ricardo Miotto Redin rmredin@inf.ufrgs.br Roteiro Visão Geral Arquitetura Organização O que está por vir... Referências 14/7/2006 2 Visão Geral (1/4) 14/7/2006

Leia mais

Estudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei

Estudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei Estudo sobre a Arquitetura AVR32 Bruno George de Moraes Gustavo Henrique Nihei Motivação Século XX - advento dos dispositivos portáteis Alto poder computacional Baixo consumo de energia Grande parte dos

Leia mais

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicação

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU William Stallings Organização de computadores digitais Capítulo 11 Estrutura e função da CPU Encruzilhada na arquitetura de computadores 2004/2005 Antiga opinião Nova visão a energia é de graça, os transistores

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

Leia mais

Sistemas Digitais Transferências entre Registradores

Sistemas Digitais Transferências entre Registradores Sistemas Digitais Transferências entre Registradores Referência Bibliográfica: Logic and Computer Design Fundamentals Mano & Kime Adaptações: josé artur quilici-gonzalez Sumário Transferências entre Registradores

Leia mais

Infra-estrutura de Hardware

Infra-estrutura de Hardware CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação

Leia mais

Interrupção. Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga Interrupção Prof. Adilson Gonzaga Estrutura de Programação Assembly Programa Principal Chamada de Sub-rotina1 Programa Principal Chamada de Sub-rotina2 Sub-rotina1 Subrotina2 Programa Principal Chamada

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

MIPS ISA (Instruction Set Architecture)

MIPS ISA (Instruction Set Architecture) MIPS ISA (Instruction Set Architecture) MIcroprocessor without Interlocking Pipeline Stages MIPS Processador RISC de 32 bits Referência dos Processadores RISC Mais de 100 Milhões de processadores vendidos

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015

Leia mais

Organização de Memórias

Organização de Memórias Intel 8051 O Intel 8051 é um microcontrolador de 8 bits que pertence a família MCS-51 da Intel e foi lançado em 1977. É tido como o microcontrolador mais popular do mundo, pois é muito versátil e possui

Leia mais

Infraestrutura de Hardware. Instruindo um Computador

Infraestrutura de Hardware. Instruindo um Computador Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath

Leia mais

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES RCM00014 Haswell wafer ARQUITETURA DE COMPUTADORES Prof. Luciano Bertini Site: http://www.professores.uff.br/lbertini/ Objetivos do Curso Entendimento mais aprofundado do funcionamento

Leia mais

lw, sw add, sub, and, or, slt beq, j

lw, sw add, sub, and, or, slt beq, j Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores Aula 11 - Multiprocessamento Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.

Leia mais

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos Xtal1 e Xtal2 da CPU.

Leia mais

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Capítulo 3 Como o Processador Funciona Arquitetura von Neumann Como discutido anteriormente, os projetos dos computadores modernos são baseados

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Processadores 8086 Registradores: 16 bits 1978 Data bus:

Leia mais

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin 1 Definições Nível ISA (Instruction Set Architecture). Está posicionado entre o nível da microarquitetura e o nível do sistema operacional. É a interface entre o software e o hardware. Nesse nível está

Leia mais

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema

Leia mais

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES SEL 0415 Aula 11 Microcontrolador 8051 Parte 3 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 415 INTERRUPÇÃO Estrutura de Interrupção do 8051 n 5 Fontes [ 2 Externas

Leia mais

Conjunto de Instruções. Alisson Brito

Conjunto de Instruções. Alisson Brito Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES RCM00014 Haswell wafer ARQUITETURA DE COMPUTADORES Prof. Luciano Bertini Site: http://www.professores.uff.br/lbertini/ Objetivos do Curso Entendimento mais aprofundado do funcionamento

Leia mais

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/ Sistemas Digitais Prof. Gustavo Oliveira Cavalcanti gustavooc@poli.br https://sites.google.com/a/poli.br/professorgustavooc/ Conteúdo Programático (Organização e Arquitetura) Arquitetura e história dos

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Família 8051 (introdução) 2011/1

Família 8051 (introdução) 2011/1 Família 8051 (introdução) 2011/1 Refresh Microprocessador vs. microcontrolador. Periféricos built-in. Single-chip computer 2 Objetivos Histórico Modelos da família original Principais características Diagrama

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Conjunto de Instruções: Elementos de uma instrução: Operation Code (Opcode): especifica a operação a ser executada. Source operand reference:

Leia mais

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a 5197 - Sistema Digitais Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a Roteiro A Família AVR Introdução ao ATmega328 Características Gerais Memórias Família AVR AVR = Advanced Virtual RISC Fundadores

Leia mais

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC Sistemas Digitais 2 o Semestre Projeto CPU Data da apresentação: 26/27 de outubro

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

Arquitetura de Sistemas Embarcados

Arquitetura de Sistemas Embarcados Arquitetura de Sistemas Embarcados Edna Barros (ensb @cin.ufpe.br) Centro de Informática UFPE Introdução a Arquitetura ARM (Advanced( RISC Machine) História do ARM Originalmente significava: ARM Acorn

Leia mais

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016 GBC06 Arq. e Org. de Computadores I 17/10/2016 Organização de Computadores μarquitetura Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior...

Leia mais

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I.

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I. UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Arquitectura de um microprocessador básico (Qual o hardware necessário para executar instruções e poder chamar subrotinas?) Uso da memória Guardar instruções

Leia mais

Organização e Projeto de Computadores

Organização e Projeto de Computadores Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída

Leia mais