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 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

3 Acorn BBC Micro 1981

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

5 Acorn Archimedes

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

7 Pipeline Fonte: ARM

8 Fonte: ARM

9 Versões ISA após ARM7TDMI

10 ARM Cortex

11 ARM Cortex

12 ARM Cortex

13 ARM Cortex

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

16 Baixo Custo x 8 bits

17 ARMv8-A (64 bits)

18 Exynos 5250 com Cortex-A15 dual core

19

20 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

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

22

23

24 RISC x CISC

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

26 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

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

28 Segunda Geração PDP-1

29 Terceira Geração VAX 11/780

30 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?

31 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

32 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

33

34 Aspectos Econômicos na Produção de Circuitos Integrados

35 Processor Transistor count Date of introductio n Manufactu rer Process Area 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 AMD K10 quadcore 2M L3 26,000,000 [ 12] 463,000,00 0 [11] 2007 ARM 65 nm 2007 AMD 65 nm 283 mm² Quad-Core + GPU Core i7 Xbox One Main SoC 1,400,000, Intel 22 nm 160 mm² 5,000,000, Microsoft/AMD 28 nm 363 mm²

36 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?

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

38 Pipeline

39 Módulo 3 A arquitetura Cortex-M3

40 Cortex-M3 internal structure

41 Instruções do Cortex-M0

42

43

44

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

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

47 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

48

49

50

51

52

53

54

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

56 Restrições de USO: PC e SP Muitas instruções tem restrição de uso do PC e do SP como operando ou como registrador destino. Ver restrições de uso das instruções.

57 Restrições

58 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

59 1 - Lógicas e Aritméticas Instrução Descrição ADD, ADDS, ADCS SUB, SUBS RSBS Soma, soma com carry Subtrai 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

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

61 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 * 2 n

62 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 / 2 n

63 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 / 2 n

64 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 / 2 n (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

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

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

67 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

68 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

69 Exercícios 1- init: MOV r1,#3 MOV r2,#5 MOVS r3,#-6 ADD r0,r2,r3 ADDS r0,r2,r3 ADDS r0,#9 CMP r0,#8 SUBS r0,#10 SUBS r0,#256 SUBS r0,#3000 ASR r0,#5 interpretação dos valores numéricos interpretação dos flags corrigir e explicar erros de montagem 2- escreva um programa em assembly para descobrir qual o valor corrente de PC, ou seja, qual o valor de PC quando a instrução no endereço i está sendo executada. Explique o que descobriu.

70 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

71 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

72 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

73 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

74 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

75 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

76 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!

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

78 Exercícios 4. Alterar os bits 5 a 9 do registrador R10 para a) Usando AND/OR/ b) Usando instruções de bit-field (após os próximos slides) sua solução deve funcionar para qualquer que seja o valor atual de R10.

79 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

80 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

81 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

82 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

83 2 - Acesso à Memória

84 Acessos Alinhados um acesso é 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

85 LDR Lê dado da memória Formatos: LDR Rt,[Rn] LDR Rt,[Rn,#off] LDRB Rt,[Rn,#off] LDRH Rt,[Rn,#off] Restrições: só R0.. R7 e SP #off: (SP), (R0-R7), (LDRH) (LDRB); só valores positivos #off deve ser *4 para LDR e *2 para LDRH

86 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

87 LDR Pré e Pós Indexado Pré-Indexado: LDR Rd,[Ri,#cte] LDR Rd,[Ri,Rm] Primeiro calcula endereço depois acessa memória Para atualizar o Ri usar! 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

88 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] Restrições: só R0.. R7 e SP (para offset imediato) #off: (SP), (R0-R7), (LDRH) (LDRB) #off deve ser *4 para LDR e *2 para LDRH

89 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 Restrições: só R0.. R7

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

91 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} LDM = LDMIA, LDMFD STM = STMIA, STMEA

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

93 LDM e STM STMDB sp!, {r0,r1,r3-r5} STMFD sp!, {r0,r1,r3-r5} Old SP SP r5 r4 r3 r1 r0 DB : Decrement Before FD : Full Descending

94 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

95 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

96 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

97 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.

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

99 Saltos (limites)

100 Exercício 1)

101 Exercício - continuação 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?

102 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++; }

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

104 priviledged

105 Prática 1. Utilizando o kit LPC Xpresso + placa base e o workspace - Código Exemplo Lab0 2. Recompilar e iniciar a depuração para o projeto oled_periph 3. Com o depurador parado no início da função main: 1. Quais os registradores que podem ser acessados a partir do depurador? 2. Quais tem bits individualizados e quais os significados deles? 3. O valor que o depurador apresenta para o PC é o valor real ou um valor modificado?

106 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

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

108 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

109 Prática 4. Escreva instruções em assembly que alterem os registradores SP, LR, PC 1. Como acompanhar as alterações? 2. Como visualizar o conteúdo da pilha?

110 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)

111

112 xpsr

113

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

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

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

117 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

118 Prática 4. Escreva instruções em assembly que alterem os registradores SP, LR, PC 1. Como acompanhar as alterações? 2. Como visualizar o conteúdo da pilha? 5. Com o depurador parado: 1. Quais registradores tem bits individualizados e quais os significados deles? 6. No início da função main: a) Qual o estado do processador? Quais bits de quais registradores foram usados para obter esta informação? 7. Coloque um breakpoint no corpo da função SysTick_Handler e execute até parar nele: a) Qual o estado do processador? Quais bits de quais registradores foram usados para obter esta informação? b) Qual o valor de LR? Há uma instrução válida neste endereço?

119 4 - Outros

120 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

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

122 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.

123 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.

124 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

125 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

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

127 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

128 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

129 Módulo 6 Acesso à Memória

130

131 Memória Processadores 13xx

132 Módulo 7 Exceções

133 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)

134 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

135 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

136 Tipos de Exceção MemManage: falhas de acesso à memória detectadas pela MPU. Se desabilitado, escala para HardFault BusFault: outras falhas no barramento de memória que não as MemManage. UsageFault: Falhas de execução que não são relacionadas ao barramento de memória. P. ex. instrução indefinida ou estado inválido.

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

138 Exception Handlers (Rotinas de Tratamento de Exceção) ISR (Interrupt Service Routine) Rotina de Tratamento de Interrupção para IRQ 0 até IRQ 31 Fault Handler Rotina de Tratamento de Falta para HardFault System Handler Rotina de Tratamento de Exceções do Sistema para NMI, PendSV, SVC, SysTick

139 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

140 Atendimento e Retorno Preempção: se um handler está em execução uma exceção de maior prioridade pode causar preempção. Chama-se de exceções aninhadas. Retorno: ocorre ao término da execução do handler se: não há exceção pendente com prioridade suficiente para ser atendida o handler que terminou não é de uma late-arriving exception Tail-chaining (encadeamento): se ao término de um handler existir uma exceção pendente apta a ser tratada então não se executa a seqüência de POP / PUSH Late-arriving (chegada tardia): Mecanismo que acelera a preempção. Uma exceção de maior prioridade ocorre durante o salvamento de estado (PUSHs). Neste caso a exceção de maior prioridade é atendida e, por tailchaining, em seguida a de menor prioridade.

141

142 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

143 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

144 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)

145 Atendimento (4)

146 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

147 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

148 Hard Faults

149 Módulo 8 ATPCS

150 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

151 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

152 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

153 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}

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

EL68E Sistemas Embarcados Prof. Douglas RENAUX

EL68E Sistemas Embarcados Prof. Douglas RENAUX EL68E Sistemas Embarcados Prof. Douglas RENAUX Arquitetura ARM Prof. Douglas RENAUX ARM Histórico Ano 1984-1985 Evento Desenvolvimento do primeiro RISC comercial na Acorn Computers Ltd (Cambridge UK) ARM

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

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

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

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

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

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

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

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

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

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

MONTAGEM E MANUTENÇÃO DE COMPUTADORES

MONTAGEM E MANUTENÇÃO DE COMPUTADORES Álvaro Elias Flôres alvaro.flores@sc.senai.br MONTAGEM E MANUTENÇÃO DE COMPUTADORES Introdução A atividade de um computador pode ser definida por um modelo simples: Introdução Na etapa de processamento

Leia mais

Introdução. Registos. ARM flags

Introdução. Registos. ARM flags Introdução A arquitectura ARM tem sido revista e modificada ao longo do tempo, dando origem a variantes como: v1, v2, v2a, v3, v4, v4t, v4te. As realizações do processador são também diversas, visam o

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

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

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

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

sumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3

sumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3 sumário 1 bases numéricas 1 1.1 introdução... 2 1.2 representação de números... 3 1.3 transformação entre bases... 4 1.3.1 método polinomial...4 1.3.2 método de subtrações...5 1.3.3 método das divisões...6

Leia mais

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

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

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

2º Estudo Dirigido CAP 3

2º Estudo Dirigido CAP 3 2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e

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

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 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

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

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086). Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972

Leia mais

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização.

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 1. Um programa P foi compilado com um compilador

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

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação

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

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios

MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios 2 o semestre de 2014 - Turmas E/F Prof. Edson Borin Questão 1. Qual a diferença entre as formas de armazenamento de dados

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

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

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

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

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

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Aula 14 Funcionamento de Processadores (Visão específica)

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm

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

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

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

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

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários armazenados em memória. Prof. Adilson Gonzaga 1 As ordens ou comandos

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 28 Operação da Unidade de Controle Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/44 Apresentação 1. Bases Teóricas 2. Organização de computadores...

Leia mais

Sistemas de Computação. Instruções de Linguagem de Máquina

Sistemas de Computação. Instruções de Linguagem de Máquina Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de

Leia mais

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Hardware 2 Unidades Funcionais Processador / U C P Unidade Lógica e Aritmética Unidade de Controle Registradores Memória Principal Dispositivos de

Leia mais

Arquitetura de Computadores. Conjunto de Instruções

Arquitetura de Computadores. Conjunto de Instruções Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas

Leia mais

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções Capítulo 2 Hennessy Patterson 1 Instruções Linguagem da máquina Vamos trabalhar com a arquitetura do conjunto de instruções MIPS (Micrrocessor without interlocked pipeline stages Micrrocessador sem estágios

Leia mais

CEFET-RS Curso de Eletrônica

CEFET-RS Curso de Eletrônica CEFET-RS Curso de Eletrônica 4.2 - Interrupção no PC robertacnobre@gmail.com e sandro@cefetrs.tche.br Unidade 04.2.1 Interrupção no PC Processo em que um periférico, de entrada ou saída, avisa que precisa

Leia mais

Memórias. EL68E Sistemas Embarcados. Tecnologias de Memórias. Conceitos. Profs. Douglas Renaux e Hugo Vieira Neto

Memórias. EL68E Sistemas Embarcados. Tecnologias de Memórias. Conceitos. Profs. Douglas Renaux e Hugo Vieira Neto EL68E Sistemas Embarcados Profs. Douglas Renaux e Hugo Vieira Neto Memórias Tecnologias de Memórias Voláteis x Não-Voláteis Estáticas x Dinâmicas Tipos: ROM PROM EPROM Flash SRAM SDRAM DDR Conceitos Organização

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. Dr. Daniel Caetano 2011-2 Lembretes Compreender a função da unidade de controle Apresentar o ciclo

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

Leia mais

Processadores para computação de alto desempenho

Processadores para computação de alto desempenho Processadores para computação de alto desempenho Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Arquitetura do Conjunto de Instruções Tópicos a serem abordados: Métricas das

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico

Leia mais

Organização de Computadores Processadores. Professor: Francisco Ary

Organização de Computadores Processadores. Professor: Francisco Ary Organização de Computadores Processadores Professor: Francisco Ary Introdução O que vimos no último encontro: O que é um computador; Arquitetura Três partes principais: Processador; Memória; e Sistema

Leia mais

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 1 Introdução Arquitetura e Organização 1. Arquitetura

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

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 3 Visão de alto nível da função e interconexão do computador slide 1 Conceito de programa Sistemas hardwired são inflexíveis.

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Microprocessadores. Cap. 2 Microprocessador, operação de hardware e computação

Microprocessadores. Cap. 2 Microprocessador, operação de hardware e computação Microprocessadores Cap. 2 Microprocessador, operação de hardware e computação Sumário 2.1 Arquiteturas microprocessadas 2.2. Diagrama de blocos (arquitetura, registradores, ALU, etc.) 2.3. Barramentos

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 3 Visão de alto nível da função e interconexão do computador Os textos nestas caixas foram adicionados pelo Prof. Joubert

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. MSc. Tiago Alves de Oliveira Lembretes Compreender a função da unidade de controle Apresentar o ciclo

Leia mais

Disciplina de Organização de Computadores I

Disciplina de Organização de Computadores I USP - ICMC - SSC SSC 0610 - Eng. Comp. - 2o. Semestre 2010 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/

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

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

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

Leia mais

Símbolos e abreviaturas utilizadas na descrição das instruções

Símbolos e abreviaturas utilizadas na descrição das instruções Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

Microcontrolador 8051

Microcontrolador 8051 Microcontrolador 8051 Inicialmente fabricado pela INTEL, atualmente fabricado por várias empresas; Possui uma grande variedade de dispositivos, com diversas características, porém compatíveis em software;

Leia mais

Arquitetura de Um Processador I

Arquitetura de Um Processador I Arquitetura de Um Processador I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-08 José Costa (DEI/IST) Arquitetura de

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

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina) Processamento e Linguagem de Máquina O processador Programação Assembler (Linguagem de Máquina) O PROCESSADOR Literatura Tanenbaum e Stallings Abordagens similares mas divergentes Foco maior em funcionamento

Leia mais

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução Estrutura de Sistemas Operacionais 1.1 Silberschatz, Galvin and Gagne 2005 Capítulo 1: Introdução O que faz um sistema operacional? Revisão da organização de um computador Revisão de alguns conceitos de

Leia mais

O Microprocessador O Microprocessador O Microprocessador O Microprocessador O Microprocessador 68000

O Microprocessador O Microprocessador O Microprocessador O Microprocessador O Microprocessador 68000 ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPTO. DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS LABORATÓRIO DE PROCESSADORES I A Família de Microprocessador 68000 PCS 2497-03/2009 - Prof. C.E.Cugnasca

Leia mais

Arquitectura de Computadores ARQC MIPS. Serviços de Sistemas Exemplos. Serviços de Sistema

Arquitectura de Computadores ARQC MIPS. Serviços de Sistemas Exemplos. Serviços de Sistema Arquitectura de Computadores ARQC MIPS Serviços de Sistemas Exemplos Serviços de Sistema Exemplo 1 Somar duas variáveis veis em um registrador register int a=1, b=3, c; c = a + b; (usar os códigos c de

Leia mais

ci212 E/S (i): interface com CPU e SO Entrada e Saída

ci212 E/S (i): interface com CPU e SO Entrada e Saída Entrada e Saída Tipos e Características de Dispositivos Dispositivos, Interfaces com CPU e com Sist Operacional Modelo de dispositivo Espaços de endereçamento e hierarquia de barramentos Modos de acesso

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 5 Introdução A Unidade de Controle O Ciclo de Instrução

Leia mais

Aula 10 Processadores de Propósito Geral

Aula 10 Processadores de Propósito Geral Aula 10 Processadores de Propósito Geral Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 O que é um microprocessador? Máquina

Leia mais

3. Unidade Central de Processamento

3. Unidade Central de Processamento 3. Unidade Central de Processamento Um microprocessador é um chip responsável por buscar e executar instruções e dados existentes na memória RAM. Vai de regra as instruções são bastante simples, como por

Leia mais

CURSO TÉCNICO EM INFORMÁTICA

CURSO TÉCNICO EM INFORMÁTICA 1 CURSO TÉCNICO EM INFORMÁTICA Montagem e Manutenção de Computadores Prof.: Denis Willian de Moura Diniz PROCESSADORES PARTE II 2 ULA UNIDADE LÓGICA E ARITMÉTICA A ULA - Arithmetic Logic Unit - que em

Leia mais

Sumário. Sistemas Operativos 1

Sumário. Sistemas Operativos 1 Sumário Requisitos mínimos do hardware para suportar um SO protegido (ex: Windows/Linux) Mecanismos hardware de suporte nas arquitecturas x86/x64 Sequência de chamada de serviços sistema no Windows a 32

Leia mais