Funcionamento básico de um computador
|
|
|
- Ruy Sintra Tuschinski
- 9 Há anos
- Visualizações:
Transcrição
1 Funcionamento básico um computador Processador Unida dados Unida controlo Arquitetura computador básica Linguagem assembly Exemplos Arquitetura Computadores Funcionamento básico um computador
2 Estrutura um computador Processador Memória Instruções Unida Controlo Memória Unida Periféricos (entradas/saídas) Arquitetura Computadores Funcionamento básico um computador 2
3 Memória: elemento fundamental Valor a escrever Processador Memória Instruções Célula 0 Célula Célula 2 Célula 3 Célula 4 Célula 5 Célula 6 Célula 7 Célula Célula 9 Célula 0 Célula Célula 2 Célula 3 Célula 4 Célula 5 Valor lido Unida Controlo Unida Memória Periféricos (entradas/saídas) Os periféricos são uma espécie células memória cujos bits ligam ao mundo exterior. Arquitetura Computadores Funcionamento básico um computador 3
4 Unida dados (versão ) Problema: Um somador tem duas entradas, mas a memória só tem uma saída. Solução: um registo para memorizar um dos operandos - do.º operando 2 - do 2.º operando ESCR_A Registo A.º operando Somador Memória dados 2.º operando resultado da soma Arquitetura Computadores Funcionamento básico um computador 4
5 Unida dados (versão 2) Problema: Resultado não po ir para a memória Solução: Usar o registo para esse efeito (tem ser báscula; trinco não). O registo chama-se tradicionalmente acumulador. enreço do 2.º operando ESCR_A Registo A.º operando Somador Memória dados 2.º operando resultado da soma Arquitetura Computadores Funcionamento básico um computador 5
6 Unida dados (versão 3) Problema: Entrada do registo não po vir dois lados (registo e memória) Solução: Usar um multiplexer para selecionar a entrada. SEL_A ESCR_A enreço MUX Registo A Memória dados.º operando 2.º operando Somador resultado da soma Arquitetura Computadores Funcionamento básico um computador 6
7 Unida dados (versão 4) Problema: Como guardar resultados na memória? Solução: Ligar saída do registo à entrada da memória (o resultado vai sempre para o registo, pois copia-se) SEL_A ESCR_A enreço MUX Registo A Somador Memória dados.º operando 2.º operando resultado da soma Arquitetura Computadores Funcionamento básico um computador 7
8 Unida dados (versão 5) Problema: Como suportar várias operações? Solução: Usar uma ALU (Arithmetic and Logic Unit). O sinal SEL_ALU seleciona a operação. SEL_A ESCR_A enreço MUX Registo A Memória dados.º operando 2.º operando SEL_ALU ALU resultado da operação Arquitetura Computadores Funcionamento básico um computador
9 Estrutura da ALU.º operando 2.º operando Somador entrada transporte SEL_ALU (0) SEL_ALU () Multiplexer resultado Arquitetura Computadores Funcionamento básico um computador 9
10 Instruções com sinais controlo enreço instruções Memória instruções enreço dados Memória dados SEL_A ESCR_A MUX Registo A.º operando 2.º operando SEL_ALU ALU resultado da operação Arquitetura Computadores Funcionamento básico um computador 0
11 Contador programa (PC) enreço instruções PC Memória instruções enreço dados Memória dados SEL_A ESCR_A MUX Registo A.º operando 2.º operando SEL_ALU ALU resultado da operação Arquitetura Computadores Funcionamento básico um computador
12 Vamos fazer um programa! Objetivo: somar um número com todos os inteiros positivos menores que ele. soma = N + (N-) + (N-2) soma 0 (inicializa soma com zero) 2. temp N (inicializa temp com N) 3. Se (temp < 0) salta para (se temp for negativo, salta para o fim) 4. Se (temp = 0) salta para (se temp for zero, salta para o fim) 5. soma soma + temp (adiciona temp a soma) 6. temp temp (crementa temp) 7. Salta para 4 (salta para o passo 4). Salta para (fim do programa) Arquitetura Computadores Funcionamento básico um computador 2
13 Variáveis em memória soma e temp serão células memória cujo conteúdo vai variando ao longo do tempo (o registo A é só para ir efetuando os cálculos intermédios). Cada célula memória tem um enreço (por exemplo, soma fica em 40H e temp em 4H).. M[40H] 0 (inicializa soma com zero) 2. M[4H] N (inicializa temp com N) 3. Se (M[4H] < 0) salta para (se temp for negativo, salta para o fim) 4. Se (M[4H] = 0) salta para (se temp for zero, salta para o fim) 5. M[40H] M[40H] + M[4H] (adiciona temp a soma) 6. M[4H] M[4H] (crementa temp) 7. Salta para 4 (salta para o passo 4). Salta para (fim do programa) Arquitetura Computadores Funcionamento básico um computador 3
14 Constantes simbólicas s só números é muito confuso! Constante simbólica = intificador com um valor Define-se uma vez e pois po usar-se como se fosse o número com que ela foi finida. soma EQU 40H (finição do enreço da variável soma) temp EQU 4H (finição do enreço da variável temp). M[soma] 0 (inicializa soma com zero) 2. M[temp] N (inicializa temp com N) 3. Se (M[temp] < 0) salta para (se temp for negativo, salta para o fim) 4. Se (M[temp] = 0) salta para (se temp for zero, salta para o fim) 5. M[soma] M[soma] + M[temp] (adiciona temp a soma) 6. M[temp] M[temp] (crementa temp) 7. Salta para 4 (salta para o passo 4). Salta para (fim do programa) Arquitetura Computadores Funcionamento básico um computador 4
15 s dados e instruções As variáveis ficam na memórias dados As instruções ficam na memória instruções Cada passo do algoritmo é uma instrução O número do passo é o enreço na memória instruções soma EQU 40H (finição do enreço da variável soma) temp EQU 4H (finição do enreço da variável temp). M[soma] 0 (inicializa soma com zero) 2. M[temp] N (inicializa temp com N) 3. Se (M[temp] < 0) salta para (se temp for negativo, salta para o fim) 4. Se (M[temp] = 0) salta para (se temp for zero, salta para o fim) 5. M[soma] M[soma] + M[temp] (adiciona temp a soma) 6. M[temp] M[temp] (crementa temp) 7. Salta para 4 (salta para o passo 4). Salta para (fim do programa) Arquitetura Computadores Funcionamento básico um computador 5
16 PC (Contador Programa) O PC vai evoluindo instrução a instrução (mas os enreços das memórias começam em 0 e não em ). Após cada instrução, o PC contém o enreço da instrução seguinte. Saltar equivale a escrever um novo valor no PC. soma EQU 40H (finição do enreço da variável soma) temp EQU 4H (finição do enreço da variável temp) 0 M[soma] 0 (inicializa soma com zero) M[temp] N (inicializa temp com N) 2 Se (M[temp] < 0) PC 7 (se temp for negativo, salta para o fim) 3 Se (M[temp] = 0) PC 7 (se temp for zero, salta para o fim) 4 M[soma] M[soma] + M[temp] (adiciona temp a soma) 5 M[temp] M[temp] (crementa temp) 6 PC 3 (salta para o enreço 3) 7 PC 7 (fim do programa) Arquitetura Computadores Funcionamento básico um computador 6
17 Vamos somar! Número instruções executadas PC soma temp Valores após a execução da instrução (PC enreça a seguinte): soma EQU 40H (finição do enreço da variável soma) temp EQU 4H (finição do enreço da variável temp) 0 M[soma] 0 (inicializa soma com zero) M[temp] N (inicializa temp com N) Já chega!!!! 2 Se (M[temp] < 0) PC 7 (se temp for negativo, salta para o fim) 3 Se (M[temp] = 0) PC 7 (se temp for zero, salta para o fim) 4 M[soma] M[soma] + M[temp] (adiciona temp a soma) 5 M[temp] M[temp] (crementa temp) 6 PC 3 (salta para o enreço 3) 7 PC 7 (fim do programa) Arquitetura Computadores Funcionamento básico um computador 7
18 Constantes Cada instrução po ter a 3 constantes. Tamanho das instruções: variável (complica o controlo), ou fixo com 3 constantes (sperdício memória). Constantes soma 0 temp N temp 0 7 temp 0 7 soma soma temp temp temp M[soma] 0 M[temp] N 2 Se (M[temp] < 0) PC 7 3 Se (M[temp] = 0) PC 7 4 M[soma] M[soma] + M[temp] 5 M[temp] M[temp] 6 PC 3 7 PC 7 Arquitetura Computadores Funcionamento básico um computador
19 Solução para as constantes Decompôr instruções com várias constantes em instruções mais simples, cada uma só com uma constante. Já não há enreços e valores numéricos na mesma instrução. Usa-se um registo auxiliar (A) para guardar valores entre instruções. 0 M[soma] 0 M[temp] N 0 A 0 M[soma] A 2 A N 3 M[temp] A 2 Se (M[temp] < 0) PC 7 4 (A < 0) : PC 2 3 Se (M[temp] = 0) PC 7 5 (A = 0) : PC 2 4 M[soma] M[soma] + M[temp] 5 M[temp] M[temp] 6 A A + M[soma] 7 M[soma] A A M[temp] 9 A A 0 M[temp] A 6 PC 3 PC 5 7 PC 7 2 PC 2 Arquitetura Computadores Funcionamento básico um computador 9
20 Que operações são necessárias? Para correr o programa anterior, o hardware tem suportar as seguintes operações: Operação Escrever uma constante no registo A A 0 Armazenar o registo A na memória Ler uma célula memória e escrever no registo A Operação com o registo A e uma célula memória como operandos M[soma] A A M[temp] Exemplo A A + M[soma] Operação com o registo A e uma constante como operandos A A Salto incondicional PC 7 Salto condicional (A = 0) : PC 2 Esta notação signa-se RTL (Register Transfer Language) Arquitetura Computadores Funcionamento básico um computador 20
21 Linguagem assembly Categoria Transferência dados Instrução assembly Significado Opco Descrição em RTL LD valor Load (imediato) 00H A valor LD [enreço] Load (memória) 0H A M[enreço] ST [enreço] Store (memória) 02H M[enreço] A ADD valor Add (imediato) 03H A A + valor Operações aritméticas ADD [enreço] Add (memória) 04H A A + M[enreço] SUB valor Subtract (imediato) 05H A A valor Operações lógicas Saltos SUB [enreço] Subtract (memória) 06H A A M[enreço] AND valor AND (imediato) 07H A A valor AND [enreço] AND (memória) 0H A A M[enreço] OR valor OR (imediato) 09H A A valor OR [enreço] OR (memória) 0AH A A M[enreço] JMP enreço Jump 0BH PC enreço JZ enreço Jump if zero 0CH (A=0) : PC enreço JN enreço Jump if negative 0DH (A<0) : PC enreço Diversos NOP No operation 0EH Arquitetura Computadores Funcionamento básico um computador 2
22 Programação em assembly Programa em RTL 0 A 0 M[soma] A 2 A N 3 M[temp] A 4 (A < 0) : PC 2 5 (A = 0) : PC 2 6 A A + M[soma] 7 M[soma] A A M[temp] 9 A A 0 M[temp] A PC 5 2 PC 2 00H 0H 02H 03H 04H 05H 06H 07H 0H 09H 0AH 0BH 0CH Programa em assembly início: LD 0 ST [soma] LD N ST [temp] JN fim teste: JZ fim ADD [soma] ST [soma] LD [temp] SUB ST [temp] JMP teste fim: JMP fim Arquitetura Computadores Funcionamento básico um computador 22
23 Opco 00H 0H 02H 03H 04H 05H 06H 07H 0H 09H 0AH 0BH 0CH 0DH 0EH Vamos assemblar! Assembly LD valor LD [enreço] ST [enreço] ADD valor ADD [enreço] SUB valor SUB [enreço] AND valor AND [enreço] OR valor OR [enreço] JMP enreço JZ enreço JN enreço NOP End. Assembly Máquina 00H 0H 02H 03H 04H 05H 06H 07H 0H 09H 0AH 0BH 0CH início: LD 0 ST [soma] LD N ST [temp] JN fim teste: JZ fim ADD [soma] ST [soma] LD [temp] SUB ST [temp] JMP teste fim: JMP fim As mnemónicas são convertidas em opcos As constantes simbólicas são convertidas em números Assumindo: soma = 40H; temp = 4H; N = 00 00H 02 40H 00 0H 02 4H 0D 0CH 0C 0CH 04 40H 02 40H 0 4H 05 0H 02 4H 0B 05H 0B 0CH Arquitetura Computadores Funcionamento básico um computador 23
24 Além da memória: periféricos Processador (saída) (entrada) dados (entrada) (saída) Memória dados instruções instruções Instrução 2 Instrução Memória instruções (entrada) (saída) RD Periférico saída Periférico entrada Vermelho Amarelo Ver Arquitetura Computadores Funcionamento básico um computador 24
25 Problema na escrita Processador (saída) (entrada) dados (entrada) (saída) Memória dados instruções instruções Instrução 2 Instrução Memória instruções (entrada) (saída) RD Periférico saída Periférico entrada Vermelho Amarelo Ver Arquitetura Computadores Funcionamento básico um computador 25
26 Problema na leitura Processador (saída) (entrada) dados (entrada) (saída) Memória dados instruções instruções Instrução 2 Instrução Memória instruções (entrada) (saída) RD Periférico saída Periférico entrada Vermelho Amarelo Ver Arquitetura Computadores Funcionamento básico um computador 26
27 Registos com saída tri-state Saídas normais ligadas entre si pom dar conflito. Com saída em tri-state, pom ligar-se várias saídas entre si (mas só uma po ter o buffer tri-state ligado!) D C N Registo N bits Output Enable Activo N Q Buffer tri-state N OE - Output Enable Saída Q saída Inactivo Desligada Arquitetura Computadores Funcionamento básico um computador 27
28 Solução: acesso selectivo (saída) (entrada) Processador (entrada) dados bit maior peso (saída) CS Memória dados instruções Instrução 2 (entrada) CS Periférico saída 0 Vermelho Amarelo 2 Ver instruções Instrução Memória instruções (saída) CS RD Periférico entrada 0 0 Arquitetura Computadores Funcionamento básico um computador 2
29 Acesso à memória/periféricos Sinais Inativo () - leitura Ativo (0) - escrita Inativo () Sem efeito no dispositivo CS Memória Lê dados Escreve dados Ativo (0) Periférico entrada Lê dados Sem efeito Periférico saída Sem efeito Escreve dados Arquitetura Computadores Funcionamento básico um computador 29
30 Mapa enreços Dispositivo Gama enreços em escrita ( ativo) Gama enreços em leitura ( inativo) Memória dados 0 27 (00H 7FH) 0 27 (00H 7FH) Periférico saída (0H FFH) Nenhum (o sinal do periférico está inativo) Periférico entrada Nenhum (o sinal RD do periférico está inativo) (0H FFH) Arquitetura Computadores Funcionamento básico um computador 30
31 Escrita na memória dados (saída) (entrada) Processador (entrada) dados bit maior peso (saída) CS Memória dados instruções Instrução 2 (entrada) CS Periférico saída 0 Vermelho Amarelo 2 Ver instruções Instrução Memória instruções (saída) CS RD Periférico entrada 0 0 Arquitetura Computadores Funcionamento básico um computador 3
32 Escrita no periférico saída (saída) (entrada) Processador (entrada) dados bit maior peso (saída) CS Memória dados instruções Instrução 2 (entrada) CS Periférico saída 0 Vermelho Amarelo 2 Ver instruções Instrução Memória instruções (saída) CS RD Periférico entrada 0 0 Arquitetura Computadores Funcionamento básico um computador 32
33 Leitura da memória dados (saída) (entrada) Processador (entrada) dados bit maior peso (saída) CS Memória dados instruções Instrução 2 (entrada) CS Periférico saída 0 Vermelho Amarelo 2 Ver instruções Instrução Memória instruções (saída) CS RD Periférico entrada 0 0 Arquitetura Computadores Funcionamento básico um computador 33
34 Leitura do periférico entrada (saída) (entrada) Processador (entrada) dados bit maior peso (saída) CS Memória dados instruções Instrução 2 (entrada) CS Periférico saída 0 Vermelho Amarelo 2 Ver instruções Instrução Memória instruções (saída) CS RD Periférico entrada 0 0 Arquitetura Computadores Funcionamento básico um computador 34
35 Programa: semáforo simples ; constantes dados vermelho EQU 0H ; valor do vermelho (lâmpada liga ao bit 0) amarelo EQU 02H ; valor do amarelo (lâmpada liga ao bit ) ver EQU 04H ; valor do ver (lâmpada liga ao bit 2) ; constantes enreços semáforo EQU 0H ; enreço 2 (periférico saída) ; programa início: LD ver ; Carrega o registo A com o valor para semáforo ver ST [semáforo] ; Atualiza o periférico saída semver: NOP ; faz um compasso espera (saída) (entrada) NOP ; faz um compasso espera (entrada) (saída) NOP ; faz um compasso espera Processador dados LD amarelo ; Carrega o registo A com o valor bit para maior pesosemáforo amarelo CS ST [semáforo] ; Atualiza o periférico saída semamarelo: LD vermelho ; Carrega o registo instruções A com Instruçãoo valor para semáforo vermelho (entrada) ST [semáforo] ; Atualiza o periférico saída 2 CS semverm: NOP ; faz um compasso espera NOP ; faz um compasso espera NOP ; faz um compasso Instrução espera instruções NOP ; faz um compasso espera (saída) JMP início ; vai fazer mais uma ronda Memória instruções CS RD Memória dados Periférico saída Periférico entrada Arquitetura Computadores Funcionamento básico um computador 35
36 Programa (cont.) Processador (saída) (entrada) dados bit maior peso (entrada) (saída) CS Memória dados ; constantes dados instruções Instrução vermelho EQU 0H ; valor do vermelho (lâmpada liga ao bit 0) 2 amarelo EQU 02H ; valor do amarelo (lâmpada liga ao bit ) ver EQU 04H ; valor do ver (lâmpada liga ao bit 2) instruções ; constantes enreços semáforo EQU 0H ; enreço 2 (periférico saída) Memória instruções (entrada) ; programa início: LD ver ; Carrega o registo A com o valor para semáforo ver ST [semáforo] ; Atualiza o periférico saída semver: NOP ; faz um compasso espera NOP ; faz um compasso espera NOP ; faz um compasso espera LD amarelo ; Carrega o registo A com o valor para semáforo amarelo ST [semáforo] ; Atualiza o periférico saída semamarelo: LD vermelho ; Carrega o registo A com o valor para semáforo vermelho ST [semáforo] ; Atualiza o periférico saída semverm: NOP ; faz um compasso espera NOP ; faz um compasso espera NOP ; faz um compasso espera NOP ; faz um compasso espera JMP início ; vai fazer mais uma ronda Instrução CS (saída) CS RD Periférico saída Periférico entrada José Delgado 20 Arquitetura Computadores Funcionamento básico um computador 36
37 Vamos correr o programa! Processador instruções instruções (saída) (entrada) dados Instrução 2 Instrução Memória instruções bit maior peso (entrada) (saída) CS (entrada) CS (saída) CS RD Memória dados Periférico saída Periférico entrada início: LD ver ST [semáforo] semver: NOP NOP NOP LD amarelo ST [semáforo] semamarelo: LD vermelho ST [semáforo] semverm: NOP NOP NOP NOP JMP início Passo a passo Contínuo Seguinte Arquitetura Computadores Funcionamento básico um computador 37
38 Outro exemplo: contar bits a em 76H. contador 0 (inicializa contador bits a zero) 2. máscara 0H (inicializa máscara a ) 3. Se (máscara valor = 0) salta para 5 (se o bit está a zero, passa ao próximo) 4. contador contador + (bit está a, incrementa contador) 5. Se (máscara = 0H) salta para (se já testou a última máscara, termina) 6. máscara máscara + máscara (duplica máscara para slocar bit para a esquerda) 7. Salta para 3 (vai testar o novo bit). Salta para (fim do algoritmo) posição em teste Máscara Valor (76H) Valor AND máscara Bit a Contador bits a Não Sim Sim Não Sim Sim Sim Não 5 Arquitetura Computadores Funcionamento básico um computador 40
39 Programa para contar bits a valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) contador EQU 00H ; da célula memória que guarda ; o valor corrente do contador bits a máscara EQU 0H ; da célula memória que guarda ; o valor corrente da máscara início: LD 0 ; Inicializa o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; Vai buscar novo a máscara atual SUB máscarafinal ; Compara com a máscara final, fazendo a subtração JZ fim ; Se r zero, eram iguais e portanto já terminou LD [máscara] ; Tem carregar a máscara novo ADD [máscara] ; Soma com ela própria para a multiplicar por 2 ST [máscara] ; Atualiza o valor da máscara na memória JMP teste ; Vai fazer mais um teste com a nova máscara fim: JMP fim ; Fim do programa Arquitetura Computadores Funcionamento básico um computador 4
40 Definições valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) contador EQU 00H ; da célula memória que guarda ; o valor corrente do contador bits a máscara EQU 0H ; da célula memória que guarda ; o valor corrente da máscara início: LD 0 ; Inicializa o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; Vai buscar novo a máscara atual SUB máscarafinal ; Compara com a máscara final, fazendo a subtração JZ fim ; Se r zero, eram iguais e portanto já terminou LD [máscara] ; Tem carregar a máscara novo ADD [máscara] ; Soma com ela própria para a multiplicar por 2 ST [máscara] ; Atualiza o valor da máscara na memória JMP teste ; Vai fazer mais um teste com a nova máscara fim: JMP fim ; Fim do programa Arquitetura Computadores Funcionamento básico um computador 42
41 Inicializa contador valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) contador EQU 00H ; da célula memória que guarda ; o valor corrente do contador bits a máscara EQU 0H ; da célula memória que guarda ; o valor corrente da máscara início: LD 0 ; Inicializa o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o. contador 0 ST [contador] (inicializa ; e atualiza contador novo na memória bits a zero) 2. máscara próximo: 0H LD [máscara] (inicializa ; vai buscar máscara novo a 0000 a máscara 000) atual SUB máscarafinal ; compara com a máscara final, fazendo a subtração 3. Se (máscara valor JZ = 0) fim salta para 5 (se ; se o r bit zero, está a eram zero, iguais passa e ao portanto próximo) já terminou 4. contador contador LD + [máscara] (bit ; tem está a carregar, incrementa a máscara contador) novo 5. Se (máscara = 0H) ADD salta [máscara] para (se ; soma já testou com ela a última própria máscara, para a multiplicar termina) por 2 6. máscara máscara ST + [máscara] (duplica ; atualiza máscara o valor para da máscara slocar na bit memória para a esquerda) JMP teste ; vai fazer mais um teste com a nova máscara 7. Salta para 3 (vai testar o novo bit) fim: JMP fim ; fim do programa. Salta para (fim do algoritmo) Arquitetura Computadores Funcionamento básico um computador 43
42 Inicializa máscara valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) contador EQU 00H ; da célula memória que guarda ; o valor corrente do contador bits a máscara EQU 0H ; da célula memória que guarda ; o valor corrente da máscara início: LD 0 ; Inicializa o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o. contador 0 ST [contador] (inicializa ; e atualiza contador novo na bits memória a zero) 2. máscara próximo: 0H LD [máscara] (inicializa ; vai buscar máscara novo a máscara ) atual SUB máscarafinal ; compara com a máscara final, fazendo a subtração 3. Se (máscara valor JZ = 0) fim salta para 5 (se ; se o r bit zero, está a eram zero, iguais passa e ao portanto próximo) já terminou 4. contador contador LD + [máscara] (bit ; tem está a carregar, incrementa a máscara contador) novo 5. Se (máscara = 0H) ADD salta [máscara] para (se ; soma já testou com ela a última própria máscara, para a multiplicar termina) por 2 6. máscara máscara ST + [máscara] (duplica ; atualiza máscara o valor para da máscara slocar na bit memória para a esquerda) JMP teste ; vai fazer mais um teste com a nova máscara 7. Salta para 3 (vai testar o novo bit) fim: JMP fim ; fim do programa. Salta para (fim do algoritmo) Arquitetura Computadores Funcionamento básico um computador 44
43 AND máscara e valor valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) contador EQU 00H ; da célula memória que guarda ; o valor corrente do contador bits a máscara EQU 0H ; da célula memória que guarda ; o valor corrente da máscara início: LD 0 ; Inicializa o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o. contador 0 ST [contador] (inicializa ; e atualiza contador novo na bits memória a zero) 2. máscara próximo: 0H LD [máscara] (inicializa ; vai buscar máscara novo a 0000 a máscara 000) atual SUB máscarafinal ; compara com máscara final, fazendo a subtração 3. Se (máscara valor JZ = fim 0) salta para 5 ; (se se o r bit zero, está eram a zero, iguais passa e portanto ao próximo) já terminou 4. contador contador LD + [máscara] (bit ; tem está a carregar, incrementa a máscara contador) novo 5. Se (máscara = 0H) ADD salta [máscara] para (se ; soma já testou com ela a última própria máscara, para a multiplicar termina) por 2 6. máscara máscara ST + [máscara] (duplica ; atualiza máscara o valor para da máscara slocar na bit memória para a esquerda) JMP teste ; vai fazer mais um teste com a nova máscara 7. Salta para 3 (vai testar o novo bit) fim: JMP fim ; fim do programa. Salta para (fim do algoritmo) Arquitetura Computadores Funcionamento básico um computador 45
44 Incrementa contador valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) contador EQU 00H ; da célula memória que guarda ; o valor corrente do contador bits a máscara EQU 0H ; da célula memória que guarda ; o valor corrente da máscara início: LD 0 ; Inicializa o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; vai buscar novo a máscara atual. SUB máscarafinal ; compara com a máscara final, fazendo a subtração contador 0 JZ fim ; se (inicializa r zero, contador eram iguais bits e portanto a zero) já terminou 2. máscara 0H LD [máscara] ; tem (inicializa carregar máscara a máscara a ) novo 3. Se (máscara ADD valor = [máscara] 0) salta para 5 ; soma (se o com bit está ela a própria zero, passa para a ao multiplicar próximo) por 2 4. contador contador ST [máscara] + ; atualiza (bit está o valor a, incrementa da máscara na contador) memória JMP teste ; vai fazer mais um teste com a nova máscara 5. Se fim: (máscara = JMP 0H) salta fim para ; fim (se do já testou programa a última máscara, termina) 6. máscara máscara + máscara (duplica máscara para slocar bit para a esquerda) 7. Salta para 3 (vai testar o novo bit). Salta para José Delgado 203 Arquitetura (fim Computadores algoritmo) Funcionamento básico um computador 46
45 Testa máscara. contador 0 (inicializa contador bits a zero) 2. máscara valor 0H EQU 76H (inicializa ; valor cujo máscara número a 0000 bits 000) a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) 3. Se (máscara valor = 0) salta para 5 (se o bit está a zero, passa ao próximo) máscarafinal EQU 0H ; em binário (máscara final) 4. contador contador + (bit está a, incrementa contador) 5. Se contador (máscara = 0H) EQU salta 00H para (se ; enreço já testou da a célula última memória máscara, que termina) guarda 6. máscara máscara + máscara (duplica ; o valor máscara corrente para do contador slocar bit bits para a a esquerda) 7. Salta máscara para 3 EQU 0H (vai ; enreço testar o da novo célula bit) memória que guarda ; o valor corrente da máscara. Salta início: para LD 0 (fim ; Inicializa do algoritmo) o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; Vai buscar novo a máscara atual SUB máscarafinal ; Compara com a máscara final, fazendo a subtração JZ fim ; Se r zero, eram iguais e portanto já terminou LD [máscara] ; Tem carregar a máscara novo ADD [máscara] ; Soma com ela própria para a multiplicar por 2 ST [máscara] ; Atualiza o valor da máscara na memória JMP teste ; Vai fazer mais um teste com a nova máscara fim: JMP fim ; Fim do programa Arquitetura Computadores Funcionamento básico um computador 47
46 Duplica máscara. contador 0 (inicializa contador bits a zero) 2. máscara valor 0H EQU 76H (inicializa ; valor cujo máscara número a 0000 bits 000) a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) 3. Se (máscara valor = 0) salta para 5 (se o bit está a zero, passa ao próximo) máscarafinal EQU 0H ; em binário (máscara final) 4. contador contador + (bit está a, incrementa contador) 5. Se contador (máscara = 0H) EQU salta 00H para (se ; enreço já testou da a célula última máscara, memória termina) que guarda 6. máscara máscara + máscara (duplica ; o valor corrente máscara do para contador slocar bits bit a para a esquerda) 7. Salta máscara para 3 EQU 0H (vai ; enreço testar o da novo célula bit) memória que guarda ; o valor corrente da máscara. Salta início: para LD 0 (fim ; Inicializa do algoritmo) o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; Vai buscar novo a máscara atual SUB máscarafinal ; Compara com a máscara final, fazendo a subtração JZ fim ; Se r zero, eram iguais e portanto já terminou LD [máscara] ; Tem carregar a máscara novo ADD [máscara] ; Soma com ela própria para a multiplicar por 2 ST [máscara] ; Atualiza o valor da máscara na memória JMP teste ; Vai fazer mais um teste com a nova máscara fim: JMP fim ; Fim do programa Arquitetura Computadores Funcionamento básico um computador 4
47 Salta para teste. contador 0 (inicializa contador bits a zero) 2. máscara valor 0H EQU 76H (inicializa ; valor cujo máscara número a 0000 bits 000) a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) 3. Se (máscara valor = 0) salta para 5 (se o bit está a zero, passa ao próximo) máscarafinal EQU 0H ; em binário (máscara final) 4. contador contador + (bit está a, incrementa contador) 5. Se contador (máscara = 0H) EQU salta 00H para (se ; enreço já testou da a célula última máscara, memória termina) que guarda 6. máscara máscara + máscara (duplica ; o valor máscara corrente para do contador slocar bit bits para a a esquerda) 7. Salta máscara para 3 EQU 0H (vai ; enreço testar da o novo célula bit) memória que guarda ; o valor corrente da máscara. Salta início: para LD 0 (fim ; Inicializa do algoritmo) o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; Vai buscar novo a máscara atual SUB máscarafinal ; Compara com a máscara final, fazendo a subtração JZ fim ; Se r zero, eram iguais e portanto já terminou LD [máscara] ; Tem carregar a máscara novo ADD [máscara] ; Soma com ela própria para a multiplicar por 2 ST [máscara] ; Atualiza o valor da máscara na memória JMP teste ; Vai fazer mais um teste com a nova máscara fim: JMP fim ; Fim do programa Arquitetura Computadores Funcionamento básico um computador 49
48 Salta para fim. contador 0 (inicializa contador bits a zero) 2. máscara valor 0H EQU 76H (inicializa ; valor cujo máscara número a 0000 bits 000) a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) 3. Se (máscara valor = 0) salta para 5 (se o bit está a zero, passa ao próximo) máscarafinal EQU 0H ; em binário (máscara final) 4. contador contador + (bit está a, incrementa contador) 5. Se contador (máscara = 0H) EQU salta 00H para (se ; enreço já testou da a célula última máscara, memória termina) que guarda 6. máscara máscara + máscara (duplica ; o valor máscara corrente para do contador slocar bit bits para a a esquerda) 7. Salta máscara para 3 EQU 0H (vai ; enreço testar o da novo célula bit) memória que guarda ; o valor corrente da máscara. Salta início: para LD 0 (fim ; Inicializa do algoritmo) o registo A a zero ST [contador] ; Inicializa o contador bits com zero LD máscarainicial ; Carrega valor da máscara inicial ST [máscara] ; Atualiza na memória teste: AND valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; Vai buscar novo a máscara atual SUB máscarafinal ; Compara com a máscara final, fazendo a subtração JZ fim ; Se r zero, eram iguais e portanto já terminou LD [máscara] ; Tem carregar a máscara novo ADD [máscara] ; Soma com ela própria para a multiplicar por 2 ST [máscara] ; Atualiza o valor da máscara na memória JMP teste ; Vai fazer mais um teste com a nova máscara fim: JMP fim ; Fim do programa Arquitetura Computadores Funcionamento básico um computador 50
49 Um só registo muitas instruções valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) contador EQU 00H ; da célula memória que guarda ; o valor corrente Isto do contador é só para bits a máscara EQU 0H ; da célula memória que guarda ; o valor corrente da máscara início: LD 0 ; Inicializa o incrementar registo A a zero a ST [contador] ; Inicializa o contador Tudo bits na com zero LD máscarainicial ; Carrega valor da variável máscara inicial na ST [máscara] ; Atualiza na memória! Mas teste: AND valor ; Isola o bit que se memória! quer ver se é JZ próximo ; Se o bit for zero, tudo passa à passa máscara seguinte LD [contador] ; O bit é, vai buscar o valor atual do contador ADD ; Incrementa-o Isto pelo é só registo! para ST [contador] ; e atualiza novo na memória próximo: LD [máscara] ; Vai buscar inicializar novo a máscara atual a SUB máscarafinal ; Compara com a máscara final, fazendo a subtração JZ fim ; Se r zero, eram variável iguais e portanto na já terminou LD [máscara] ; Tem carregar a máscara novo ADD [máscara] ; Soma com ela própria memória! para a multiplicar por 2 ST [máscara] ; Atualiza o valor da máscara na memória JMP teste ; Vai fazer mais um teste com a nova máscara fim: JMP fim ; Fim do programa Arquitetura Computadores Funcionamento básico um computador 5
50 Se houvesse 3 registos valor EQU 76H ; Valor cujo número bits a é para ser contado máscarainicial EQU 0H ; em binário (máscara inicial) máscarafinal EQU 0H ; em binário (máscara final) ; Utilização dos registos: ; A valores intermédios ; B valor atual do contador bits a ; C valor atual da máscara Cada LD MOV e instrução ST tem passam registo Mais simples! dois para operandos Um (primeiro registo MOV só acesso signa à resultado memória! e não Incrementar a variável é só contador EQU 00H ; da célula memória que guardará ; o número bits a no fim da contagem início: MOV B, 0 ; Inicializa o contador po assim! bits ser com zero constante) MOV C, máscarainicial ; Inicializa registo C com valor da máscara inicial MOV A, C ; Coloca também a máscara inicial no registo A teste: AND A, valor ; Isola o bit que se quer ver se é JZ próximo ; Se o bit for zero, passa à máscara seguinte ADD B, ; O bit é, incrementa o valor atual do contador próximo: CMP C, máscarafinal ; Compara com a máscara final JZ acaba ; Se forem iguais, já terminou ADD C, C ; Soma máscara com ela própria para a multiplicar por 2 JMP teste ; Vai fazer mais um teste com a nova máscara acaba: MOV [contador], B ; Se for necessário, po armazenar o número ; bits a numa célula memória bits estado) fim: JMP fim ; Fim do programa Subtrai os operandos, mas não armazena o resultado (atualiza Arquitetura Computadores Funcionamento básico um computador 52
51 Banco registos do PEPE-6 R0 R R2 R3 R4 R5 R6 R7 R R9 R0 R R2 R3 R4 R RL SP RE BTE TEMP Arquitetura Computadores Funcionamento básico um computador 53
52 A ilusão memórias separadas instruções Núcleo do processador enreços instruções dados dados Interface memória enreços dados/instruções Memória principal (dados e instruções) enreços dados Processador As memórias comerciais só têm uma ligação dados bidireccional (para poupar pinos e reduzir o custo) O núcleo do processador vê quatro ligações unidirecionais. A interface memória arbitra e coorna os acessos. Arquitetura Computadores Funcionamento básico um computador 54
53 PEPE-: processador instruções uniciclo enreço instruções PC Memória instruções enreço dados Memória dados SEL_A ESCR_A MUX Registo A.º operando 2.º operando SEL_ALU ALU resultado da operação O PEPE- executa as instruções num só ciclo relógio, mas exige ligações à memória separadas. Parece rápido, mas não é bem assim (a frequência relógio é limitada pela operação mais lenta!). A sua gran vantagem é ser simples. Arquitetura Computadores Funcionamento básico um computador 55
54 Interface memória PEPE-6: processador instruções multi-ciclo Processador Unida controlo Bus enreços Bus controlo Unida dados Bus dados O PEPE-6 já po usar as memórias comerciais. Cada instrução tem morar vários ciclos relógio ( frequência mais elevada). Arquitetura Computadores Funcionamento básico um computador 56
55 Estrutura um processador Função 000 Unida 00 controlo Registo Bits 00 instrução estado: A + Z Zero 0 R0 A B C Transporte 0 R A (carry) B R2 N Negativo R3 A B O Excesso (overflow) CLK 00 0 R4 Controlo R5 R6 R7 R R9 R0 R R2 R3 R4 R5 Saída (F) A A + B A - B relógio PC A + B + carry O N C Z flags Máquina estados Registo estado RL SP RE BTE TEMP A Banco registos MPX B Unida aritmética e lógica (ALU) Unida processamento dados entradas Circuito saídas combinatório F MPX enreços dados dados/instr. Interface memória Bus end. Bus dados Bus contr. Arquitetura Computadores Funcionamento básico um computador 57
56 Operação entre registos Unida controlo PC Banco registos R R + R2 Unida processamento dados CLK Registo instrução Controlo A MPX B Unida aritmética e lógica (ALU) F enreços dados dados/instr. Interface memória Bus end. Bus dados Bus contr. flags MPX Arquitetura Computadores Funcionamento básico um computador 5
57 . Unida controlo especifica registos (A, B, stino), função da Unida ALU, seleção dos multiplexers, controlo flags a atualizar 2. Registo stino e flags são PC atualizadas Registo instrução CLK Operação entre registos Tudo ocorre em 2 ciclos relógio: Controlo flags R0 R R2 R3 R4 R5 R6 R7 A R R9 R0 R R2 R3 R4 R5 Função Saída (F) 000 A 00 A + Unida B Banco 00 A - B registos 0 dados Banco A + B + carry 00 registos A + 0 A B MPX 0 enreços A B A B B dados Bits estado: Z Zero C Transporte (carry) N Negativo O Excesso (overflow) Unida aritmética e lógica (ALU) F MPX processamento dados/instr. R R + R2 Interface memória O N C Z RL SP RE BTE TEMP Bus end. Bus dados Bus contr. Arquitetura Computadores Funcionamento básico um computador 59
58 Leitura da memória São Unida os sinais que vêm da unida controlo controlo que comandam tudo o que acontece. PC É como se os dados fossem água. Para Registo a encaminhar basta abrir e fechar instrução comportas. Controlo CLK flags A Banco registos MPX B Unida aritmética e lógica (ALU) F MPX enreços Unida processamento dados dados dados/instr. R3 M[R] Interface memória Bus end. Bus dados Bus contr. Arquitetura Computadores Funcionamento básico um computador 60
59 Escrita na memória São Unida os sinais que vêm da unida controlo controlo que comandam tudo o que acontece. PC É como se os dados fossem água. Para Registo a encaminhar basta abrir e fechar instrução comportas. Controlo CLK flags A Banco registos MPX B Unida aritmética e lógica (ALU) F MPX enreços Unida processamento dados dados dados/instr. M[R2] R Interface memória Bus end. Bus dados Bus contr. Arquitetura Computadores Funcionamento básico um computador 6
60 Busca instrução (fetch) Unida controlo PC Banco registos Unida processamento dados RI M[PC] PC PC + 2 CLK Registo instrução Controlo A MPX B Unida aritmética e lógica (ALU) F enreços dados dados/instr. Interface memória Bus end. Bus dados Bus contr. flags MPX Arquitetura Computadores Funcionamento básico um computador 62
61 Instrução salto Unida controlo PC Banco registos PC PC + R2 Unida processamento dados CLK Registo instrução Controlo A MPX B Unida aritmética e lógica (ALU) F enreços dados dados/instr. Interface memória Bus end. Bus dados Bus contr. flags MPX Arquitetura Computadores Funcionamento básico um computador 63
62 Ciclo do processador Unida controlo PC Banco registos Busca instrução Descodifica Busca operandos (memória) (registos) Escreve resultado Unida Executa processamento dados CLK Registo instrução Controlo MPX A B Unida aritmética e lógica (ALU) F enreços dados dados/instr. Interface memória Bus end. Bus dados Bus contr. flags MPX Arquitetura Computadores Funcionamento básico um computador 64
63 Unida controlo CLK Registo instrução Controlo PC flags Exemplo A Banco registos MPX B Unida aritmética e lógica (ALU) F MPX enreços MOV [R3], R Unida processamento RI M[PC] PC dados PC + 2 R2 R M[R3] M[R3] R R + R2 dados dados/instr. MOV R2, [R3] ADD R, R2 Interface memória Bus end. Bus dados Bus contr. Arquitetura Computadores Funcionamento básico um computador 65
64 Exercícios. Indique quais os estágios fundamentais do ciclo instrução um processador e a sua finalida. 2. Sobre o diagrama básico do processador indique quais as principais operações elementares para ler da memória e executar as seguintes instruções: ADD R, ; R R + AND R, R2 ; R R R2 MOV R2, [R3] ; R2 M[R3] MOV [R], R2 ; M[R] R2 Arquitetura Computadores Funcionamento básico um computador 66
65 Exercícios (cont.) 3. Um processador efetuou as seguintes operações elementares: RI M[PC] PC PC + 2 R M[R3] RI M[PC] PC PC + 2 R2 R2 R RI M[PC] PC PC + 2 M[R] R2 RI M[PC] PC PC + 2 PC PC + FFFEH a) Quantas instruções executou nesta sequência? b) Que instruções executou? Basta screver com uma frase simples o que cada instrução faz. c) Suponha que o processador (e os seus registos) são 6 bits. Diga qual a instrução que o processador executará a seguir à última sta sequência. Arquitetura Computadores Funcionamento básico um computador 67
66 Programação do computador Linguagem natural Linguagem programação Linguagem assembly "...positar 000 euros..." Programador saldo = saldo + 000; Compilador ADD R, 000 Assemblador Código máquina 000 Arquitetura Computadores Funcionamento básico um computador 6
67 Linguagem assembly conta: ADD R, R2 ; soma ao saldo Mnemónica comentário Etiqueta º operando 2º operando Uma instrução por linha Formatação rígida Comentários qb (escritos logo ao fazer o código!) As instruções refletem diretamente os recursos do processador Arquitetura Computadores Funcionamento básico um computador 69
68 Comentários das instruções Em cada linha, o assembler ignora o caráter ; e os que se lhe seguem (até ao fim ssa linha) Praticamente todas as linhas assembly vem ter comentário, pois a programação é baixo nível. Exemplo: Comentários Sem comentários. INÚTEIS! O que é isto?! PLACE 000H Saldo: WORD 0 PLACE 0000H Deposita: MOV R3, 00 MOV R, Saldo MOV R2, [R] ADD R2, R3 MOV [R], R2... ; Início Começa da enreços zona dados em 000H ; variável Saldo inicializada conta bancária a 0 ; Início Começa do enreços programa em 0000H ; Valor Coloca positar 00 em R3 na conta ; Coloca o enreço da variável Saldo em R ; Lê o memória valor do enreçada saldo por R ; Acrescenta soma R2 e R3 o valor a positar ao saldo ; Atualiza Escreve a memória variável enreçada Saldo por R ;... Arquitetura Computadores Funcionamento básico um computador 70
69 Classes instruções Classe instruções Instruções aritméticas Instruções bit Instruções transferência dados Instruções controlo fluxo Descrição e exemplos Lidam com números em complemento para 2 ADD, SUB, CMP, MUL, DIV Lidam com sequências bits AND, OR, SET, SHR, ROL Transferem dados entre dois registos ou entre um registo e a memória MOV, SWAP Controlam a sequência execução instruções, pondo tomar cisões JMP, JZ, JNZ, CALL, RET Arquitetura Computadores Funcionamento básico um computador 7
70 Registos do processador Os recursos mais importantes que as instruções manipulam são os registos. O PEPE tem os seguintes registos (todos 6 bits): PC (Program Counter); 6 registos (R0 a R5), sendo alguns especiais (a ver mais tar) R0 R R2 R3 R4 R5 R6 R7 R R9 R0 R R2 R3 R4 R RL SP RE BTE TEMP PC Arquitetura Computadores Funcionamento básico um computador 72
71 Bits estado (flags) Fazem parte do Registo Estado (RE). Fornecem indicações sobre o resultado da operação anterior (nem todas as instruções os alteram). Pom influenciar o resultado da operação seguinte. Bit estado mais importantes: (Z) Zero (C) Transporte (carry) (V) Excesso (overflow) (N) Negativo Fica a se o resultado uma operação: for zero tiver transporte não couber na palavra do processador for negativo Arquitetura Computadores Funcionamento básico um computador 73
72 Exemplo com o simulador ; Exemplos instruções simples no PEPE MOV R2, 25H ; coloca uma constante um byte no R2 MOV R3, 234H ; coloca uma constante dois bytes no R3 ADD R2, R3 ; exemplo soma SUB R2, R2 ; para dar zero e ver os bits estado MOV R4, 5 ; ilustrar ciclo 5 iterações ciclo: SUB R4, ; crementa contador e afecta bits estado JNZ ciclo ; salta se ainda não tiver chegado a 0 SHR R3, 2 ; slocamento 2 bits à direita fim: JMP fim ; forma expedita "terminar" Arquitetura Computadores Funcionamento básico um computador 74
73 Implementar no PEPE Objectivo: somar um número com todos os inteiros positivos menores que ele. soma = N + (N-) + (N-2) soma 0 (inicializa soma com zero) 2. temp N (inicializa temp com N) 3. Se (temp < 0) salta para (se temp for negativo, salta para o fim) 4. Se (temp = 0) salta para (se temp for zero, salta para o fim) 5. soma soma + temp (adiciona temp a soma) 6. temp temp (crementa temp) 7. Salta para 4 (salta para o passo 4). Salta para (fim do programa) Arquitetura Computadores Funcionamento básico um computador 75
74 Outro exemplo: contar bits a em 76H. contador 0 (inicializa contador bits a zero) 2. máscara 0H (inicializa máscara a ) 3. Se (máscara valor = 0) salta para 5 (se o bit está a zero, passa ao próximo) 4. contador contador + (bit está a, incrementa contador) 5. Se (máscara = 0H) salta para (se já testou a última máscara, termina) 6. máscara máscara + máscara (duplica máscara para slocar bit para a esquerda) 7. Salta para 3 (vai testar o novo bit). Salta para (fim do algoritmo) posição em teste Máscara Valor (76H) Máscara AND Valor Bit a Contador bits a Não Sim Sim Não Sim Sim Sim Não 5 Arquitetura Computadores Funcionamento básico um computador 76
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 [email protected] http://dase.ifpe.edu.br/~alsm
Funcionamento básico de um computador
Funcionamento básico de um computador Processador Unidade de dados Unidade de controlo Arquitetura de computador básica Linguagem assembly Exemplos Arquitetura de Computadores Funcionamento básico de um
Introdução à arquitetura do hardware
Introdução à arquitetura do hardware Descodificação de endereços Núcleo do processador Microprogramação Arquitetura de Computadores Introdução à arquitetura do hardware 1 Espaço de endereçamento (com 16
Projetando um Computador
Objetivo Projetando um Computador Parte II (2) Projetando um Computador Parte II Arquitetura do Processador BIP Apresentar as noções do funcionamento de um computador através da descrição da arquitetura
Projetando um Computador Parte II Arquitetura do Processador BIP
Projetando um Computador Parte II Arquitetura do Processador BIP Prof. Dr. Cesar Albenes Zeferino ([email protected]) Objetivo Projetando um Computador Parte II (2) Apresentar as noções do funcionamento
Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante
Microcontroladores e Microprocessadores Conversão de Bases Prof. Samuel Cavalcante Conteúdo Conversão de Qualquer base para Decimal Decimal para Binário Hexadecimal para binário Componentes básicos de
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Evolução e Desempenho dos Computadores Slide 1 Conceitos Arquitetura do Computador Refere-se aos atributos que são visíveis para o programador. Ex: conjunto
http://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis!
http://www.ic.uff.br/~boeres/fac.html! 1 Conteúdos: Debora, Edcarllos, livros! slides disponíveis! Unidade central de Processamento realiza operações básicas codificadas em 0s e 1s instrução contém código
TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS
TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS Autor: Prof. Heliliano Carlos Sartori Guedes [email protected]
Oganização e Arquitetura de Computadores
Oganização e Arquitetura de Computadores Capítulo 14 e 15 Unidade de Controle Parte I Operação da Unidade de Controle 1 Micro-Operações Um computador executa um programa Ciclo: Busca/Executa Cada ciclo
Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1
Caminho de Dados e Controle Prof. Leonardo Barreto Campos 1 Sumário Introdução; Convenções Lógicas de Projeto; Construindo um Caminho de Dados; O Controle da ULA; Projeto da Unidade de Controle Principal;
Data Path / Control Path Controle do MIPS
Organização e Arquitetura de Computadores Unidade de Controle Uniciclo A unidade de controle deve, a partir do código da instrução, fornecer os sinais que realizam as instruções na unidade operativa. Sequência
Introdução. Software Básico Aula 3. Prof. Dr. Rogério Vargas.
Introdução Software Básico Aula 3 Prof. Dr. Rogério Vargas http://rogerio.in Provocação Você já se perguntou como é que os programas que você escreve são traduzidos em instruções executáveis pelas estruturas
12 de Março de 2007 1. Aula 5
12 de Março de 2007 1 Multiplicação e divisão inteiras Aula 5 Estrutura desta aula Multiplicação básica Multiplicações melhoradas Multiplicação em complemento para 2 Algoritmo de Booth Divisão básica Ref:
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
Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva
Arquitetura de Computadores - Operação da Unidade de Controle por Helcio Wagner da Silva Microoperações Execução de programa... Ciclo de instrução Ciclo de instrução Ciclo de instrução Busca Indireto Execução
Neander - características
NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados
Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples
Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço
Fundamentos de Arquitetura e Organização de Computadores
Fundamentos de Arquitetura e Organização de Computadores Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se
Construção de uma via de dados, abordagem monociclo, multiciclo e pipeline
INSTITUTO FEDERAL DO RIO GRANDE DO NORTE DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES DISCIPLINA: ORGANIZAÇÃO DE COMPUTADORES Construção
Linguagens de Programação:
Capítulo I : Noções Gerais 11 Linguagens de Programação: Como comunicar com o computador? Linguagem Máquina: Conjunto básico de instruções, em código binário, características de cada computador, correspondentes
Introdução a Programação Aula 01
Introdução a Programação Aula 01 Prof. Bruno Crestani Calegaro Curso de Sistemas de Informação ELC1064 Lógica e Algoritmo 1 O que é um computador? Máquina programável genérica Constituído por: Processador
Linguagem de Montagem do NeanderX
Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação
ORGANIZAÇÃO DE COMPUTADORES
Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e
Figura 8: modelo de Von Neumann
3. ORGANIZAÇÃO DE SISTEMA DE COMPUTADORES Olá, caro aluno! Neste capítulo vamos ver como são organizados os componentes que formam um sistema computacional. O conceito é histórico, mas é aplicado até os
A Arquitetura: conjunto de instruções
A Arquitetura: conjunto de instruções código instrução comentário 0000 NOP Nenhuma operação 0001 STA MEM() AC 0010 LDA AC MEM() 0011 ADD AC MEM() + AC 0100 OR AC MEM() OR AC 0101 AND AC MEM() AND AC 0110
Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Solução Lista de Exercícios Processadores
Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação
Prova Modelo. Nome: Número:
Arquitectura de Computadores (2008/2009) Licenciatura em Engenharia Informática Prova Modelo 27 de Abril de 2009 Duração: 56 min. + 5 min. de tolerância Nome: Número: Isto trata-se de uma prova modelo
- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: [email protected]
Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: [email protected] Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem
Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução
Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido
Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz
Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar
Informática Aplicada
Informática Aplicada Aula 1 Introdução Diogo Pinheiro Fernandes Pedrosa Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi-Árido Introdução Informática informação aplicada; Pressupõe
Sistemas Numéricos. Tiago Alves de Oliveira
Sistemas Numéricos Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Operações aritméticas binária e hexadecimal Operações lógicas binárias e decimais Representação Interna de
Arquitetura de Computadores Moderna
Arquitetura de Computadores Moderna Eduardo Barrére ([email protected]) DCC/UFJF Baseado no material do prof. Marcelo Lobosco Agenda Visão Geral Objetivos do Curso Ementa Bibliografia Avaliações
Introdução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16
Introdução aos Computadores Introdução à Ciência de Computadores Nelma Moreira Departamento de Ciência de Computadores da FCUP Outubro 2011 Introdução aos Computadores Introdução à Ciência de Computadores
Arquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Interconexão do Computador Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha [email protected] Material do prof. Sílvio Fernandes -
Histórico e Evolução da Computação
Lista de Exercícios Introdução à Informática Professor: Sérgio Salazar Histórico e Evolução da Computação O 1º computador foi o ENIAC, utilizado para montar tabelas para o cálculo de projéteis na 2ª Guerra
Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO
Linguagem de Montagem Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO 1 Introdução Independente da linguagem de programação utilizada, todo programa
ção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura
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
Aritmética Computacional. Prof. Leonardo Barreto Campos 1
Aritmética Computacional Prof. Leonardo Barreto Campos Sumário Introdução; Representação de Números Inteiros; Aritmética de Números Inteiros; Representação de Números de Ponto Flutuante; Aritmética de
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n
Processador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine [email protected] [email protected] 1 Processador Organização básica de um computador: 2 Processador
Arquitetura de Computadores - Módulos de E/S. por Helcio Wagner da Silva
Arquitetura de Computadores - Módulos de E/S por Helcio Wagner da Silva Modelo Geral de um Módulo de E/S Barramento de Endereço Barramento de Dados Barramento de Controle Módulo de E/S Conexões com Dispositivos
Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples
Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e
Laboratório de Microprocessadores e Microcontroladores. Experimento 7: Conversor Analógico/Digital e Conversor Digital/Analógico
Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 7: Conversor Analógico/Digital e Conversor Digital/Analógico
O Sistema de Computação
Departamento de Ciência da Computação - UFF O Sistema de Computação Profa. Débora Christina Muchaluat Saade [email protected] O Sistema de Computação Capítulo 2 Livro do Mário Monteiro Componentes
Conjunto de Instruções (ISA) I
Conjunto de Instruções (ISA) I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-16 José Costa (DEI/IST) Conjunto de Instruções
Do alto-nível ao assembly
Do alto-nível ao assembly Compiladores Cristina C. Vieira 1 Viagem Como são implementadas as estruturas computacionais em assembly? Revisão dos conceitos relacionados com a programação em assembly para
Prof. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
Prof. Adilson Gonzaga. Interface com Displays
Prof. Adilson Gonzaga Interface com Displays Interface com Displays de 7 Segmentos 2 Um Display de 7 segmentos é formado por 7 LED s (a,b,c,d,e,f,g) que são previamente encapsulados e conectados de duas
NEANDERWIN - Resumo operacional
NEANDERWIN - Resumo operacional Sumário Listagem geral das instruções... 2 NOP... 2 LDI imed... 2 STA ender... 2 LDA ender... 3 ADD ender... 3 SUB ender... 3 OR ender... 4 AND ender... 4 NOT... 4 JMP ender...
INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA
INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Engenharia de Eletrónica e Telecomunicações e de Computadores e Engenharia Informática e de Computadores e Engenharia Informática, Redes e Telecomunicações INSTITUTO
OBSERVAÇÕES: EXERCÍCIOS
OBSERVAÇÕES: 1. Esta lista de exercícios poderá ser resolvida individualmente ou em grupos de 2 pessoas. 2. A lista possui 25 exercícios, destes você deve responder os 5 primeiros exercícios e os outros
Capítulo VI Circuitos Aritméticos
Capítulo VI Circuitos Aritméticos Introdução No capítulo anterior estudamos a soma e subtração de números binários. Neste capítulo estudaremos como as operações aritméticas de soma e subtração entre números
T1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA
T1: T2: T3: T4: T5: T6: T7: T: P: Arquitectura de Computadores I - 2002/03 TEÓRICA As questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma
Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v
CIRCUITOS SEQUENCIAIS ESTRUTURA GERAL Varáveis de entrada Variáveis de saída Variáveis de estado Circ. combinatório Memória Circuito Combinatório Memória Actual Seguinte CIRCUITOS SEQUENCIAIS Exemplo :
Capítulo 6. Aritmética Computacional. 6.1 Números com Sinal e Números sem Sinal
61 Capítulo 6 Aritmética Computacional As palavras de um computador são compostas por bits e podem representar números armazenados na memória. Estes números podem ter diferentes significados, como inteiros
RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos
Teste de Arquitectura de Computadores LEIC, LERCI e LEE IST - Taguspark Profs responsáveis: José Delgado e Rui Rocha 2º Semestre 2004/2005 1º teste, turno B 2 de Abril de 2004 RESOLUÇÃO Início: 10H00 FIM:
Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO
Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO Introdução Existem situações onde é necessário repetir um determinado trecho de um programa um certo número de vezes. Assim,
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
Microprocessadores CPU. Unidade de Controle. Prof. Henrique
Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um
Programação ao nível da máquina. Operações lógicas e aritméticas
Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic
Organização e Projeto de Computadores
Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída
Introdução à Arquitetura de Computadores
LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Tutorial do P3 Referência 2014 / 2015 INSTITUTO SUPERIOR TÉCNICO Paulo Lopes, José Costa 2014/2015 2 1.
Arquitetura FPU: Implementação MIPS32. Guilherme Fernandes Raphanelli Diogo D. Fonseca dos Santos
Arquitetura FPU: Implementação MIPS32 Guilherme Fernandes Raphanelli Diogo D. Fonseca dos Santos Introdução O suporte para operações de ponto flutuante nas diferentes arquiteturas é normalmente dado através
Módulos Combinatórios
Arquitectura de Computadores I Engenharia Informática (11537) Tecnologias e Sistemas de Informação (6616) Módulos Combinatórios Nuno Pombo / Miguel Neto Arquitectura Computadores I 2014/2015 1 Somadores
10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções...
10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10 4 10. CPU (CENTRAL PROCESSOR UNIT) Como vimos no capítulo
flutuante 11. Aritmética de vírgula Operações em números fraccionários
11. Aritmética de vírgula flutuante Vamos falar de aritmética não-inteira (i.e., fraccionária, ou de vírgula flutuante ). Este capítulo pode ser adiado pois precisas de conceitos teóricos importantes sobre
Vírgula flutuante Aula 6
Vírgula flutuante Aula 6 17 de Março de 2005 1 Estrutura desta aula Números em vírgula flutuante Formatos dos números em vírgula fixa e em vírgula flutuante A norma IEEE 754 Normalizações, expoentes, zeros
Conjunto de Instruções (ISA) II
Conjunto de Instruções (ISA) II José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-18 José Costa (DEI/IST) Conjunto de Instruções
Microprocessadores e Aplicações
Microprocessadores e Aplicações Planificação das aulas teóricas e aulas práticas Ano Lectivo 2005/ 2006 Aula 1 Semana 26 a 30 de Setembro - Apresentação 1. Apresentação da disciplina aos alunos: a. Programa
Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização
Microprocessadores I Aula 6 Arquitetura do Microprocessador 8085 - Pinagem e Diagrama de Temporização 1 O 8085 contém em seu CI circuitos para executar operações de cálculos e comunicação com periféricos.
2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-Taguspark 1.º Semestre 2014/2015 Duração: 60 minutos 16 dezembro 2014
2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-Taguspark 1.º Semestre 2014/2015 Duração: 60 minutos 16 dezembro 2014 NOME NÚMERO 1. (1,5+1,5 + 1 valores) Considere o seguinte programa,
Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016
Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09
Microprocessadores. Arquitectura Geral de Microprocessador
Arquitectura Geral de Microprocessador António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal [email protected] Modelo de von Neuman Barramento de Endereços µprocessador Memória Entrada/Saída
O Computador Neander Neander - Computador Hipotético Didático
Neander - Computador Hipotético Didático [Weber 2001] Fundamentos de Arquitetura de Computadores. Raul Weber - Ed. Sagra. Site - ftp://ftp.inf.ufrgs.br/pub/inf107/ Arquitetura: características gerais Largura
Introdução aos Sistemas de Microprocessadores
Introdução aos Sistemas de Microprocessadores 1 GENERALIDADES Um sistema utilizando microprocessadores é um sistema constituído por Microprocessador, memória, dispositivos de entradas e saídas e por barramentos
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
Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação
Algoritmos e Lógica de Programação Linguagem de Programação C Linguagem C Entrada e Saída de dados Reinaldo Gomes [email protected] Fluxo de Saída Padrão Saída Formatada: ( ) Tem a função de
SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL
MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL Setembro de MEMÓRIAS - SUMÁRIO: MEMÓRIAS INTEGRADAS RAM ROM PROM EPROM LÓGICA PROGRAMÁVEL PLAs PALs FPGAs Setembro de MEMÓRIAS - MEMÓRIAS Na sequência do estudo
Os conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro?
Resumo. O uso de uma variável é necessário quando você não sabe ainda um valor ou uma função, ou seja, quando há uma situação de mudança que impede a determinação direta destes valores. Uma variável pode
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
Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: [email protected]
Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: [email protected] Conceito final será constituído de duas avaliações: 1ª Conceito avaliação teórica 2ª Conceito
O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho
O que é Microsoft Excel? Microsoft Excel O Microsoft Excel é um programa para manipulação de planilhas eletrônicas. Oito em cada dez pessoas utilizam o Microsoft Excel pra trabalhar com cálculos e sistemas
Figura 1 - Somador para dois números de 4 bits com extensores lógicos (EL) e Aritméticos(EA).
Projeto de uma Unidade Lógico-Aritmética (ULA) Uma unidade lógico-aritmética (ULA) é responsável pelas operações lógicas e aritméticas básicas num processador. As operações aritméticas tipicamente realizadas
Introdução à programação em linguagem assembly
Introdução à programação em linguagem assembly Espaço de endereçamento Instruções de acesso à memória Modos de endereçamento Diretivas Tabelas Pilha Rotinas Arquitetura de Computadores Introdução à programação
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.
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
Montadores e Compiladores
Montadores e Compiladores Prof. Idevar Gonçalves de Souza Júnior Conteúdo Programático Resumido Revisão da Arquitetura de Computadores Introdução a Teoria das Linguagens Compilação e Interpretação Análise
