UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

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

Download "UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação Profa.: Simone Martins Lista 1 - Gabarito 1. Um programa P foi compilado com um compilador C1 e executado em um processador M1, e verificouse que foram executadas 200 instruções com a seguinte distribuição: 15% das instruções executadas foram de armazenamento na memória, 20% para leitura de dados da memória, 25% para desvio, 30% para aritmética com inteiros, 5% para deslocamento de inteiros e 5% para multiplicação de inteiros. As instruções de leitura de dados da memória requerem 2 ciclos de relógio para sua execução, as de desvio, 4 ciclos, as de aritmética, deslocamento e armazenamento na memória 1 ciclo e a de multiplicação de inteiros 10 ciclos. O relógio desta máquina possui frequência de 1GHz. O mesmo programa foi recompilado com uma opção de otimização para converter multiplicações em sequencias de deslocamento e soma com semântica equivalente. Verificou-se que utilizando esta opção de otimização, na nova execução do programa P, 50% das instruções de multiplicação foram convertidas para uma sequencia de 3 instruções deslocamento/soma. a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Para C1 sem otimização: Número de ciclos: = 480 CPI médio = Número de ciclos/número de instruções = 480/200 = 2,4 Para C1 com otimização: Número de ciclos: = 445 Número de instruções: = 210 CPI médio = Número de ciclos/número de instruções = 445/210 = 2,12 b) Considerando-se a métrica tempo de execução, indique se o compilador com otimização possui um melhor desempenho quando executando o programa P do que o compilador sem otimização. Para C1 sem otimização: T C1sem = 2,4 (ciclo do relógio em segundos) 200 Para C1 com otimização: T C2com = 2,12 (ciclo do relógio em segundos) 210 T C1sem /T C1com = 2,4 (ciclo do relógio em segundos) 200 /(2,12 (ciclo do relógio em segundos) 210) = (2,4 200) /(2,12 210) 1,08. Logo em relação à métrica tempo de execução, C1 com otimziação tem melhor desempenho que C1 sem otimização pois possui um menor valor de tempo de execução. c) Considerando-se a métrica MIPS (Milhões de Instruções Por Segundo) indique se o compilador com otimização possui um melhor desempenho quando executando o programa P do que o compilador sem otimização. Para C1 sem otimização: MIPS C1sem = 200 / (200 2,4 (ciclo do relógio em segundos) 10 6 ) Para C1 com otimização: MIPS C1com = 210/ (210 2,12 (ciclo do relógio em segundos) 10 6 ) MIPS C1sem /MIPS C1com = 1 / (2,4 (ciclo do relógio em segundos) 10 6 ) /(1/ (2,12 (ciclo do relógio em segundos) 10 6 )) = (2,12) / (2,4) 0,88. Logo em relação à métrica MIPS, o compilador com otimização tem melhor desempenho que sem otimização pois possui um maior valor de MIPS.

2 2. Considere um processador com relógio de 1 GHz no qual uma operação de adição de um inteiro de 64 bits e uma operação de desvio condicional demandam um ciclo de relógio cada uma. Calcule o tempo aproximado que o loop escrito em C abaixo será executado: unsigned long int i; /* inteiro de 64 bits */ long int x = -1; /* inteiro de 64 bits */ for (i=0;i<(unsigned)(x);i++) { O casting de x para unsigned faz com que o limite superior do loop seja o maior número sem sinal de 64 bits (2 64-1). Em cada iteração do loop, considera-se que são executadas uma operação de desvio condicional e uma de adição. Portanto cada iteração (excetuando a primeira que atribui o valor a i e a última que não executa adição) demanda 2 ciclos de relógio, e o loop será executado aproximadamente em (2 (2 64-1) 10-9 ) , dias 1169 anos 3. Dado o conjunto de bits abaixo indique o que ele representa, assumindo-se que ele é: a) um inteiro em complemento a 2 (decimal) A = = = 1, = A = Ou A= = = b) um inteiro sem sinal (decimal) A= = c) um número ponto flutuante em precisão simples padrão IEEE 754 (decimal) s = 1 expoente = = = 31 mantissa = ( 1) S (1 + mantissa) 2 expoente 127 = = 1 ( ) d) uma instrução MIPS código (6 bits) = = lw rs (5 bits) = = 31 rt (5 bits) = = 15 deslocamento expresso em C2 (16 bits) = Instrução: lw 15, 4096(31)

3 4. Considere o formato abaixo utilizado para representar números em ponto flutuante, utilizando-se as mesmas premissas do padrão IEEE 754. S Exp. em excesso de 15 Mantissa a) Mostre como será a representação de -11, ,75 = -(1011,11) = -(1,01111) 2 +3 S=1 Exp.em excesso de 15 = Mantissa= Logo, representação é b) Calcule o valor em decimal dos seguintes números: b.1) Maior número normalizado positivo +(1, ) = b.2) Menor número normalizado positivo +(1,0) , b.3) Maior número denormalizado positivo +(0, ) , b.4) Menor número denormalizado positivo +(0, ) , As instruções na tabela abaixo não existem para o processador MIPS. Elas são chamadas pseudo instruções e podem ser utilizadas pelo programador porque são traduzidas pelo montador para uma seqüência de instruções MIPS existentes. Produza para cada uma delas uma seqüência de instruções MIPS reais que executem o que está indicado na definição da instrução. Você pode utilizar o registrador $at como auxiliar, se precisar. O identificador big indica um número específico que precisa de 32 bits para ser representado. Pseudo instrução Definição move $t5, $t3 $t5 = $t3 clear $t5 $t5 = 0 lw $t5, big ($t3) $t5=memória[$t3+big] addi $t5, $t3, big $t5 = $t3+big beq $t5, big, L if ($t5 = big) go to L ble $t5, $t3, L if ($t5 <= $t3) go to L Pseudoinstrução O que ela faz Instruções MIPS move $t5,$t3 $t5 = $t3 add $t5, $t3, $zero clear $t5 $t5 = 0 add $t5, $zero, $zero lw $t5, big($t3) $t3 = Memória[$t3+big] lui $at, upper_big ori $at, $at, lower_big add $at, $at, $t3 lw $t5, 0($at)

4 addi $t5, $t3, big $t5 = $t3+big lui $t5, upper_big ori $t5, $t5, lower_big add $t5, $t5, $t3 beq $t5, big, L if ($t5 = big) go to L lui $at, upper_big ori $at, $at, lower_big beq $t5, $at, L ble $t5, $t3, L if ($t5 <= $t3) go to L beq $t5,$t3, L slt $at, $t5, $t3 bne $at, $zero, L 6. Em C, o tipo float é utilizado para representação em ponto flutuante padrão IEEE 754 precisão simples e o tipo double para precisão dupla. a) Analise o programa mostrado abaixo: #include <stdio.h> int main () { float x=0.01; if ((x*100.0)!= 1.0) printf ("Não iguais \n"); else printf ("Iguais \n") return(0); O que você espera que seja impresso? Execute o programa e verifique o que acontece. Era o que você esperava? Esperava que fosse impresso Iguais e, ao contrário do esperado, foi impresso Não iguais b) Compile e execute o programa abaixo: #include <stdio.h> int main () { float x=0.01; x=x*100.0; if (x!= 1.0) printf ("Não iguais \n"); else printf ("Iguais \n") return(0); Execute o programa e verifique o que acontece. Apresentou o mesmo comportamento do programa anterior? Explique o comportamento destes programas. DICA: No processador Pentium, quando uma operação aritmética é executada em ponto flutuante, os operandos são colocados em registradores de 80 bits, com 64 bits para a mantissa, 15 bits para o expoente e 1 bit para sinal. Lembre-se que para armazenar uma variável do tipo float, utilizam-se 32 bits, 23 bits para mantissa, 8 bits para expoente e 1 bit para sinal. Foi impresso Iguais, como esperado. No primeiro programa, compara-se o resultado de x*100 com 1.0. O valor 0.01 atribuído á variável x precisa de um número infinito de bits para ser representado na base 2. O processador Intel realiza a

5 operação x*100 armazenado o valor de x em um registrador de precisão estendida e o resultado x*100 também estará armazenado em um registrador de precisão estendida. Seu valor será diferente de 1.0. No segundo programa, antes da comparação, o resultado da operação x*100 é atribuído a x, o que faz com que o valor armazenado no registrador estendido seja convertido para a representação IEEE 754 em precisão simples pois o tipo da variável x é float. Ao realizar esta conversão, o valor é arredondado de forma igual à representação IEEE 754 de Suponha que para implementar um controle de estoque de uma pequena farmácia, você utilize um vetor de registros. Cada registro é uma estrutura implementada em C que contém o código do remédio, a quantidade total do remédio em estoque, o valor unitário do remédio e o código do fornecedor do remédio. Suponha que a seguinte estrutura de dados seja definida para este problema: typedef struct registroremedio{ short codigo; int quantidade; float preco; char fornecedor[20]; remedio; remedio estoque[1000]; a) As variáveis do tipo char ocupam 1 byte, do tipo short ocupam 2 bytes, do tipo float e do tipo int ocupam 4 bytes, e do tipo ponteiro ocupam 4 bytes e os endereços das variáveis devem ser alinhados de acordo com o espaço que elas ocupam. Indique como cada elemento do vetor será armazenado na memória respeitando-se as restrições de alinhamento. codigo XX quantidade preço fornecedor [20] E E+2 E+4 E+8 E+12 E+32 b) Suponha que você deseje implementar uma função em MIPS equivalente à função C mostrada abaixo. Esta função recebe como parâmetros de entrada o endereço inicial do estoque, o código do remédio e a quantidade do remédio que foi adquirida. A função atualiza a quantidade do remédio em estoque. Caso o código não tenha sido encontrado, o valor -1 deve ser retornado, caso contrário deve ser retornado o valor 0. int atualizaquant ( remédio estoque[1000], short codigo, int quant); { int achou; int i; /* aponta para início do vetor */ i=0; /* inicializa variável de controle da busca */ achou=0; while ((i< 1000) && (achou==0)) { if (estoque[i].codigo == codigo) { /* achou remedio com código, então atualiza quantidade no estoque */ estoque[i].quantidade=estoque[i].quantidade+quant; achou=1; else { /* aponta para próximo elemento */ i=i+1; /* caso código do remédio não tenha sido encontrado, retorna valor -1 */ if (achou!= 1) return(-1)

6 else return (0); Assuma que o endereço inicial do vetor é passado no registrador $a0, o código do remédio em $ao0 e a quantidade em $a1. O valor de retorno deve ser colocado em $v0. Você pode utilizar a pilha para salvar valores que achar necessários. add $t0,$zero, $zero # inicializa variável i li $t1, 1000 # inicializa var. de controle de fim de vetor WHILE beq $t0, $t1, FIM # verifica se atingiu final do vetor lh $t2,0($a0) # carrega valor de código do elemento i em $t2 bne $t2,$a1,nachou # verifica se elemento do estoque é o procurado lw $t3, 4($a0) # obtém quantidade add $t3,$t3,$a2 # calcula nova quantidade sw $t3, 4($a0) # atualiza quantidade add $v0, $zero, $zero # achou o remédio, retorna valor 0 j RET # vai para fim do programa NACHOU addi $a0, $a0,32 # aponta para próximo elemento de estoque addi $t0,$t0,1 # incrementa i j WHILE # retorna para testar condição de fim do while FIM addi $v0, $zero, -1 # caso código não foi encontrado, retorna valor -1 em $v0 RET # retorno da função 8. Considere os três procedimentos com algumas instruções especificadas como a seguir: Procedimento A: Segmento de texto Endereço (hexadecimal) Instrução 0 lw $al, Y 4 jal C 24 sw $s0,w FC Segmento de dados 0 (Y) 4 (último dado) 1C (W) Procedimento B: Segmento de texto Endereço (hexadecimal) Instrução 0 lw $a1, X 4 jal C 8 beq $v0, 0, L1 L1 20 lw $t1,z 2FC Segmento de dados 0 (X) 4 (Z) (último dado) 2C (K) Procedimento C:

7 Segmento de texto Endereço Instrução 0 sw $al, M 3C Segmento de dados 0 (M) (último dado) C (T) Complete as tabelas abaixo referentes ao código gerado pelo montador para as instruções e dados mostrados acima para cada um dos três procedimentos. O montador assume que o segmento de texto e o segmento de dados de cada procedimento iniciam no endereço 0. O registrador $gp é utilizado para endereçar as variáveis localizadas no segmento de dados. Cabeçalho Nome Procedimento A Tamanho de texto 100 Tamanho de dados 20 Segmento de texto Endereço Instrução 0 lw $al, 0($gp) 4 jal 0 24 sw $s0,0($gp) FC Segmento de dados Endereço 0 (Y) 4 1C (W) Informação de relocação Endereço Tipo de instrução Dependência 0 lw Y 4 jal C 24 sw W Tabela de símbolos Label Endereço Y - W - C - Cabeçalho Nome Procedimento B Tamanho de texto 300 Tamanho de dados 30 Segmento de texto Endereço Instrução 0 lw $a1, 0($gp) 4 jal 0 8 beq $v0, 0,5 L1 20 lw $t1,0($gp) 2FC

8 Segmento de dados Endereço 0 (X) 4 (Z) 2C (K) Informação de relocação Endereço Tipo de instrução Dependência 0 lw X 4 jal C 20 lw Z Tabela de símbolos Label Endereço X -- Z -- K -- C -- Cabeçalho Nome Procedimento C Tamanho de texto 40 Tamanho de dados 10 Segmento de texto Endereço Instrução 0 sw $al,0($gp) 3C Segmento de dados Endereço 0 (M) C (T) Informação de relocação Endereço Tipo de instrução Dependência 0 sw M Tabela de símbolos Label Endereço M -- T -- Após o procedimento de montagem os três procedimentos são ligados na ordem A, B e C. O segmento de texto deve ser localizado a partir do endereço , o segmento de dados a partir do endereço (todos expressos em hexa) e o registrador $gp é carregado com o valor Complete a tabela abaixo com as informações geradas pelo ligador. Cabeçalho Nome Procedimento ABC Tamanho de texto 440

9 Tamanho de dados 60 Segmento de texto Endereço Instrução lw $al, 8000($gp) jal sw $s0,801c($gp) 4000FC lw $a1, 8020($gp) jal beq $v0, 0, lw $t1,8024($gp) 4003FC sw $al,8050($gp) 40043C Segmento de dados Endereço (Y) C (W) (X) (Z) C (K) (M) C (T)

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

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Resposta: 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 - Gabarito 1. Um programa P foi compilado com

Leia mais

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

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

Leia mais

Expoente Mantissa Frac. UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Expoente Mantissa Frac. UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃ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 Data de entrega 16/09/2016 por e-mail (simone@ic.uff.br)

Leia mais

Sistemas de Computação Gabarito - Lista 2

Sistemas de Computação Gabarito - Lista 2 Sistemas de Computação 2005.2 Gabarito - Lista 2 1. a) Resposta: CPI=0,5 X 7 + 0,3 X 4 + 0,15 x 6 + 0,05 X 3=3,5 + 1,2 + 0,9 + 0,15=5,75 Tempo de execução=5,75 X 500 X 1.000.000 x 10-9 = 28,75 x 10-1 =2,875

Leia mais

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

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

Leia mais

Procedimentos. Sistemas de Computação

Procedimentos. Sistemas de Computação Procedimentos Chamada de Procedimentos Utilização de procedimentos: Facilitar entendimento do programa Reutilização de código Passos necessários para execução de um procedimento: Os parâmetros a serem

Leia mais

1: 2: 2, [1] [2] 0x x001f8021 $16,$0,$31 13 [3] 0x x

1: 2: 2, [1] [2] 0x x001f8021 $16,$0,$31 13 [3] 0x x Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 14/setembro/2012 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

Disciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 22/abril/2009

Disciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 22/abril/2009 Prova P1 Aluno Disciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 22/abril/2009 Valor das questões: 1) 3 pontos 2) 3 pontos 3) 4 pontos 1. O fragmento de

Leia mais

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

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

Leia mais

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

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

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

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

Leia mais

Representação de Dados (inteiros não negativos)

Representação de Dados (inteiros não negativos) Representação de Dados (inteiros não negativos) 1 Memória Armazena instruções e dados durante a execução de um programa A memória principal pode ser vista como um array de bytes, cada um com seu endereço

Leia mais

Infraestrutura de Hardware. Instruindo um Computador

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

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Laboratório de Programação MIPS entrega 03/05/2018 Prof. Cláudio C. Rodrigues Problemas: P1) Execute as conversões abaixo: a) Converta

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

[1] $2,$0,$3 105 [2] 0x004000e8

[1] $2,$0,$3 105 [2] 0x004000e8 Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 14/setembro/2017 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

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

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

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 Operações Lógicas Embora os primeiros computadores se concentrassem em words completas, logo ficou claro que era útil atuar sobre

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas

Leia mais

Representação de Dados (inteiros não negativos)

Representação de Dados (inteiros não negativos) Representação de Dados (inteiros não negativos) Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Memória Pode ser vista como um array de bytes, identificados por seus "índices" (endereços)

Leia mais

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

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

Leia mais

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1 Conjunto de Instruções Prof. Leonardo Barreto Campos 1 Sumário Introdução; CISC; RISC; MIPS; Representação de Instruções; SPIM; Prof. Leonardo Barreto Campos 2/58 Sumário Operações Lógicas; Instruções

Leia mais

66 [2] 0x x c

66 [2] 0x x c Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 16/setembro/2015 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

Infraestrutura de Hardware. Instruindo um Computador Ponteiros, Execução de Programas em C e Java, Características do Intel x86

Infraestrutura de Hardware. Instruindo um Computador Ponteiros, Execução de Programas em C e Java, Características do Intel x86 Infraestrutura de Hardware Instruindo um Computador Ponteiros, Execução de Programas em C e Java, Características do Intel x86 Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito

Leia mais

Faculdade de Computação

Faculdade de Computação Problemas: Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Laboratório de Programação MIPS entrega 18/04/2016 Prof. Cláudio C. Rodrigues P1) Considere que você é um projetista da

Leia mais

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Infraestrutura de Hardware Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de

Leia mais

SSC0114 Arquitetura de Computadores

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

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais

Dicas: Nas linhas 7 e 8 as constantes imediatas são especificadas como caracteres ASCIIE, o que é aceito pelo montador MARS.

Dicas: Nas linhas 7 e 8 as constantes imediatas são especificadas como caracteres ASCIIE, o que é aceito pelo montador MARS. Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 15/setembro/2016 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

Leia mais

Dados estruturados. Sistemas de Computação

Dados estruturados. Sistemas de Computação Dados estruturados Alocação de arrays TA[L]: Array com elementos do tipo T e tamanho L Região de tamanho L * sizeof(t) bytes alocada contiguamente char string[12]; int val[5]; double a[4]; x x + 12 x x

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

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

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

Leia mais

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA III Março 2014 Índice Instruction Set Revisões Procedimentos Stack Comunicar com pessoas ASCII Programar em MIPS estrutura, input e output Programar em MIPS

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

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

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

Leia mais

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 19/abril/2013 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 18/abril/2012 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é

Leia mais

Disciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 07/outubro/2009

Disciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 07/outubro/2009 Prova P1 Aluno Disciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 07/outubro/2009 Valor das questões: 1) 4 pontos 2) 3 pontos 3) 3 pontos 1. Montagem/Desmontagem

Leia mais

Sistemas de Computação. Representação em Ponto Flutuante

Sistemas de Computação. Representação em Ponto Flutuante Representação em Ponto Flutuante Representação IEEE para ponto flutuante IEEE Standard 754 Estabelecido em 1985 como padrão uniforme para aritmética em ponto flutuante A maioria das CPUs suporta este padrão

Leia mais

Válido Rótulo Bloco bits 8 bits 8 bits 8 bits

Válido Rótulo Bloco bits 8 bits 8 bits 8 bits UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO TCC04.070-Organização de Computadores I Turma :A1 Gabarito - Lista 2 1. a) 256M-1=268435455 b) Log 2 256M=

Leia mais

Linguagem de Montagem Assembly

Linguagem de Montagem Assembly Linguagem de Montagem Assembly Especificações O programa em Assembly Fica sobre a camada do Sistema Operacional Efetua chamadas ao Sistema Operacional O montador Chama-se Assembler Traduz a linguagem de

Leia mais

2. Relativamente ao datapath de ciclo único do MIPS podemos dizer que:

2. Relativamente ao datapath de ciclo único do MIPS podemos dizer que: Preencher na correcção 1: 2: 3: 4: 5: 6: 7: 8: F: Estas 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 das respostas está correcta,

Leia mais

Cap. 2 Expressões na linguagem C

Cap. 2 Expressões na linguagem C Programação de Computadores II Cap. 2 Expressões na linguagem C Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (24) Slides adaptados dos originais

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Arquitetura e Organização de Computadores 1 Prática 2 entrega 10/05/2019 Prof. Cláudio C. Rodrigues Programando a Arquitetura MIPS P1) Traduza os códigos de máquina a seguir para

Leia mais

4. Estruturas Fundamentais de Programação em C

4. Estruturas Fundamentais de Programação em C 4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 CISC RISC MIPS Organização e Arquitetura de Computadores I Sumário Representação de instruções Slide 2 CISC O CISC (Complex Instruction

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

1: 2: 2, [1] [2] 0x x3c011001

1: 2: 2, [1] [2] 0x x3c011001 Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 13/setembro/2013 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2) Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Instruções Comandos utilizados para indicar ao hardware o que deve ser feito Utilizaremos neste curso o conjunto de instruções

Leia mais

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Linguagem de Programação C. Prof. Fabrício Olivetti de França Linguagem de Programação C Prof. Fabrício Olivetti de França Linguagem C 2 Linguagem C Imperativo e estruturado Pequeno conjunto de palavras-chaves, operadores, etc. Tipagem estática, porém fraca Permite

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda

Leia mais

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte Tópicos de hoje: Programação de Computadores II Cap. Expressões na linguagem C Bits, s e Palavras Variáveis e constantes Operadores e expressões Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel.

Leia mais

SSC0611 Arquitetura de Computadores

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

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 25/09/2018 Prof. Cláudio C. Rodrigues Problemas: P1) A Tabela abaixo apresenta o mix de instruções

Leia mais

http://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

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

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Introdução à Linguagem C Eduardo Simões de Albuquerque Instituto de Informática UFG 13/03/2006 1 História Inventada e desenvolvida por Dennis Ritchie em um DEC- PDP 11 Originária de: BCPL desenvolvida

Leia mais

Conjunto de Instruções MIPS Parte IV

Conjunto de Instruções MIPS Parte IV Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Parte IV Transferência de Dados Lógicas Controle Suporte a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores

Leia mais

Guia Rápido MIPS. Tipos de Dados e Formatações

Guia Rápido MIPS. Tipos de Dados e Formatações Tipos de Dados e Formatações Guia Rápido MIPS Tipos de Dados: Todas as instruções são de 32 bits Byte = 8 bits Halfword = 2 bytes Word = 4 bytes Um caractere ocupa 1 byte na memória Um inteiro ocupa 1

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores

Leia mais

Lista de Revisão para a Primeira Avaliação

Lista de Revisão para a Primeira Avaliação Lista de Revisão para a Primeira Avaliação 1. Explique a diferença entre as instruções add e addi. Qual formato de instrução cada uma delas utiliza? 2. Quantos bits a instrução j reserva para o endereço

Leia mais

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans. Lista de associação de números e mnemônicos para os registradores do MIPS

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans. Lista de associação de números e mnemônicos para os registradores do MIPS Prova P1 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 15/abril/2016 Lista de associação de números e mnemônicos para os registradores do MIPS Número (Decimal) Nome

Leia mais

Slides trabalhados durante a quinta aula

Slides trabalhados durante a quinta aula Slides trabalhados durante a quinta aula prática Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício: Construa um algoritmo, representando-o através de um pseudocódigo e de um

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador

Leia mais

Organização e Arquitetura de Computadores I

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

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1 Linguagem C: Variáveis e Operadores Prof. Leonardo Barreto Campos Sumário Variáveis: Tipos de variáveis; Nome da variável; Palavras reservadas; A função printf(); A função scanf(); Variáveis locais; Variáveis

Leia mais

Operações de Controle de Fluxo e Acesso a Memória. Na Aula Anterior... Nesta Aula. Instruções de Controle de Fluxo. if then - else.

Operações de Controle de Fluxo e Acesso a Memória. Na Aula Anterior... Nesta Aula. Instruções de Controle de Fluxo. if then - else. GBC036 Arq. e Org. Computadores I Operações Controle Fluxo e Acesso a Memória Na Aula Anterior... Instruções aritméticas em Z; Formato e Codificação Instruções; Overflow e unrflow; Instruções aritméticas

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO III AULA I, II e III Abril 2014 Índice Aritmética para computadores Intro Adição e subtração Multiplicação Divisão Virgula Flutuante Virgula Flutuante - aritmética

Leia mais

Bits e operações. Sistemas de Computação

Bits e operações. Sistemas de Computação Bits e operações Porque utilizar base 2? Representação na base 10 Estamos acostumados Representação natural para transações financeiras (precisão) Implementação eletrônica na base 10 Difícil de armazenar

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Segundo Laboratório Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/lab2/index.htm Organização de Computadores I Segundo Laboratório 1/16 Primeiro Programa #include

Leia mais

Organização e Arquitetura de Computadores I

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

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Linguagem de Maquina II. Visão Geral

Linguagem de Maquina II. Visão Geral Linguagem de Maquina II Visão Geral Revisão A linguagem de máquina é composta de seqüências binárias (1's e 0's) São interpretadas como instruções pelo hardware A linguagem de montagem e a linguagem de

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

Representação de Números em Ponto Flutuante

Representação de Números em Ponto Flutuante Representação de Números em Ponto Fixo char 8, short 16, int 32, long 32, long long 64 Números de 31 bits + sinal 2 31 < n < +(2 31 1) Números positivos de 32 bits 0 < n < +(2 32 1) Representam 2 32 quantidades

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Introdução à Computação MAC0110

Introdução à Computação MAC0110 Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

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

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2017) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Modificadores de Tipos Os tipos de dados básicos em C podem estar acompanhados por modificadores na declaração de variáveis. Tais modificadores

Leia mais

Sumário. Aula Anterior. Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits.

Sumário. Aula Anterior. Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits. Sumário Aula Anterior Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits Aula 12 1 Sumário Nesta Aula Esclarecimento de dúvidas para o Exame Resolução

Leia mais

RESUMO DE CONCEITOS BÁSICOS DE C

RESUMO DE CONCEITOS BÁSICOS DE C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação RESUMO DE CONCEITOS BÁSICOS DE C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 19/04/2018 Prof. Cláudio C. Rodrigues Problemas: P1) Explique o que há de errado com as métricas de

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados Linguagem de Programação I Aula 06 Linguagem C: Tipos de Dados Da Aula Anterior Linguagens de Programação A Linguagem C: Como tudo começou Principais características da Linguagem C O primeiro programa

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Linguagem C Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João

Leia mais