EL68E Sistemas Embarcados Prof. Douglas RENAUX
|
|
- Matheus Amorim Carlos
- 6 Há anos
- Visualizações:
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 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 maisEL68E 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 maisEL68E 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 maisWilliam 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 maisAdvanced 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 maisArchC. 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 maisRegistradores 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 maisOrganizaçã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 maisSistemas 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 maisUniversidade 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 maisProcessador. 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 maisMONTAGEM 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 maisIntroduçã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 maisARQUITETURA 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 maisO 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 maisArquitetura 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 maisArquitetura 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 maisControladores 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 maissumá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 maisSistemas 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 mais2. 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 maisCPU. 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 mais2º 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 maisArquitetura 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 maisOrganizaçã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 maisORGANIZAÇÃ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 maisOrganizaçã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 maisOrganizaçã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 maisNo. 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 maisa) 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 maisInterrupçã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 maisULA. 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 maisWilliam 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 maisO 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 maisMC404: 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 maisFamí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 maisOrganizaçã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 maisESTRUTURA 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 maisARQUITETURA 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 maisArquitetura 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 maisOrganizaçã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 maisAULA 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 maisAula 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 maisSistemas 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 maisIntroduçã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 maisDisciplina: 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 maisUFRJ 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 maisSSC510 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 maisArquitetura 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 maisProf. 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 maisPCS-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 maisOrganizaçã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 maisSistemas 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 maisHardware 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 maisArquitetura 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 maisOrganizaçã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 maisCEFET-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 maisMemó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 maisARQUITETURA 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 maisArquitectura 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 maisProcessadores 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 maisRelembrando 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 maisSistemas 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 maisOrganizaçã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 maisArquitetura 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 maisUniversidade 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 maisWilliam 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 maisNí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 maisCPU. 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 maisRelembrando 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 maisMicroprocessadores. 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 maisWilliam 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 maisOs 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 maisArquitetura 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 maisARQUITETURA 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 maisDisciplina 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 maisARQUITETURA 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 maisSEL-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 maisSí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 maisProcessador: 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 mais14/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 maisArquitetura 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 maisMicrocontrolador 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 maisArquitetura 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 maisSSC0611 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 maisNEANDERWIN. 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 maisOrganizaçã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 maisProcessamento 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 maisEstrutura 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 maisO 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 maisArquitectura 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 maisci212 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 maisARQUITETURA 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 maisAula 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 mais3. 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 maisCURSO 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 maisSumá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