Arquitetura FPU: Implementação no MIPS32

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

Download "Arquitetura FPU: Implementação no MIPS32"

Transcrição

1 Universidade Federal de Santa Catarina CTC - Centro Tecnológico Ciências da Computação INE Linguagem Assembly Arquitetura FPU: Implementação no MIPS32 Alunos: Guilherme Fernandes Raphanelli Diogo D. Fonseca dos Santos

2 SUMÁRIO 1. Introdução Representação Binária Registradores Formato de Valores para FPRs Instruções Exceções na FPU Invalid Operation Exception Division By Zero Exception Underflow Exception Overflow Exception Inexact Exception Exercícios Detecção de Overflow para Multiplicação Visualização de Contexto...10 APÊNDICE A Detecção de overflow em multipicação em Ponto flutuante...12 APÊNDICE B Visualização de CONTExto da FPU...14

3 1 1. Introdução O suporte para operações de ponto flutuante nas diferentes arquiteturas é normalmente dado através de componentes diferentes de onde ocorrem as operações com inteiros. Estes componentes são designados como Floating-Point Unit (FPU), ou unidade de ponto flutuante. Na arquitetura MIPS32 - chamada de MIPS ao longo do documento - a FPU é implementada principalmente através do Co-processador 1, o co-processador de ponto flutuante, também conhecido como floating-point accelerator (FPA). Para utilizar a FPU no MIPS é necessário que ela esteja habilitada. Para isto é necessário habilitar o Co-processador 1 através de uma operação privilegiada fornecida pelo Coprocessador de Controle do Sistema. Este documento abordará diferentes aspectos da FPU do MIPS, expostos no seguintes capítulos: 2. Representação Binária A arquitetura MIPS segue o padrão Institute of Electrical and Electronics Engineers (IEEE) 754, o IEEE Standard for Binary Floating-Point Arithmetic. Este padrão define os tipos de dados em ponto flutuante, as operações aritméticas, de comparação e de conversão básicas, e um modelo computacional. A FPU do MIPS oferece suporte aos tipos de dados em ponto flutuante e ao tipos de dados em ponto fixo. Os tipos de dados em ponto flutuante implementados são os single precision, ou de precisão única, e double precision, ou de precisão dobrada, como definidos pelo IEEE 754. O tipo de dado em ponto fixo é o de inteiros sinalizados, fornecido pela arquitetura da CPU. Os formatos definidos são os seguintes:

4 ponto flutuante 32-bit single precision (tipo S, pode ser visto na Figura 1). ponto flutuante 64-bit double precision (tipo D, pode ser visto na Figura 2). ponto fixo 32-bit word (tipo W, pode ser visto na Figura 3). 2 Figura 1 - Formato tipo S Figura 2 - Formato tipo D O formato tipo W oferece a mesma representação utilizada pela CPU nas operações de ponto fixo, mas não suportando inteiros não sinalizados. O formato tipo S é uma representação de ponto flutuante com 32-bits, tendo 8 bits para o expoente, 23 bits de mantissa e 1 para sinalização. O tipo D estende esta representação para 11 bits de expoente e 52 de mantissa. Para acomodar este formato na arquitetura MIPS32, a FPU divide o número em dois registradores de 32- bits, como mostrado na Figura 2. Figura 3 - Formato tipo W 3. Registradores As CPUs MIPS possuem 32 registradores de ponto flutuante, normalmente referidos como $f0-f$31. Entretanto, mesmo as CPUs MIPS32 possuem suporte a números ponto flutuante double precision de 64 bits. Assim, estas CPUs apenas

5 realizam operações aritméticas nos 16 registradores pares, sendo os 16 registradores ímpares usados para cuidar dos 32 bits mais significativos destes números de 64 bits. Para a manipulação de dados inteiros qualquer registrador pode ser utilizado. 3 Registrador Nome Uso $f0,$f2 fv0-fv1 Valor retornado por funções. $f4,$f6,$f8,$f10 ft0-ft3 Temporários. $f12,$f14 fa0-fa1 Argumentos de funções $f16,$f18 ft4-ft5 Temporários. $f20,$f22,$f24 $f26,$f28,$f30 fs0-fs5 Variáveis de registro. Tabela 1 - Convenção para Registradores da FPU Assim como os registradores de uso geral, os registradores de operando ponto flutuante (FPR) também possuem uma convenção de nomes e de uso. A convenção de uso é análoga à dos registrados de uso geral. A Tabela 1 descreve estas convenções. A arquitetura MIPS32 também suporta registradores para controle de ponto flutuante, os Floating Point Control registers (FCRs). Existem 5 registradores para controle da FPU, com 32 bits cada. Os registradores suportados são os seguintes: FIR - FP Implementation and Revision register FCCR - FP Condition Codes register FEXR - FP Exceptions register

6 4 FENR - FP Enables register FCSR - FP Control/Status register O acesso a estes registradores não é privilegiado, eles podem ser acessados por qualquer programa que consiga executar instruções de ponto flutuante. Os FCRs podem ser acessados através das instruções CTC1 e CFC Formato de Valores para FPRs Ao contrário da CPU, a FPU não interpreta a codificação binária dos operadores de origem nem produz uma codificação binária para o resultado de cada operação. Um valor guardado em um FPR tem um formato, ou tipo, e pode ser usado apenas por instruções que operam nesse formato. Este formato pode ser: uninterpreted (não interpretado), unknown (desconhecido), ou um dos tipos numéricos válidos, single, double ou word. Um valor é definido como uninterpreted após ser carregado em um registrador ponto flutuante como dado binário, o que acontece usando moves a partir de inteiros ou loads. Assim que este registrador for utilizado por uma função de formato específico, o valor será definido como sendo do mesmo formato. O formato unknown é utilizado quando uma operação de um formato utiliza um registrador de origem com um valor de formato diferente. Neste caso, tanto o valor utilizado quanto o resultado são definidos como unknown. 4. Instruções Os co-processadores, assim como a CPU, operam em dados naturalmente alinhados. A FPU possui loads e stores que

7 usam o mesmo tipo de endereçamento registrador+offset usado pela CPU. As instruções da FPU possuem formatos diferentes dos especificados para as instruções da CPU. As instruições normalmente possuem uma versão double e uma single, identificadas por d e s respectivamente. A Tabela 2 mostra algumas destas instruções. 5 Instrução lwc1 fd, disp(rs) swc1 fd, disp(rs) mtc1 rs, fd mfc1 rd, fs mov.s fs,fd Uso fd = *(rs + disp). Load da memória para registrador. Pode-se usar as pseudo-intruções l.s fd, address (single) ou l.d(double). *(rs+disp) = fd. Store do registrador para memória. Pseudo-instruções: s.s ou s.d. fd = rs. Move de registrador inteiro (rs) para registrador fp (fd). 32bits não interpretados. rd = fs. Move de registrador fp para registrador inteiro. 32bits não interpretados. fd = fs. Move entre registradores fp. mov.d fs,fd add.s fd, fs1, fs2 fd = fs1 + fs2. add.d fd, fs1, fs2 mul.s fd, fs1, fs2 fd = fs1 x fs2. mul.d fd, fs1, fs2 Tabela 2 - Instruções FP MIPS32 A FPU oferece diversas operações além das operações básicas mostradas na Tabela 2. As operações podem ser separadas em 6 classes distintas: Instruções para transferência de dados, instruções aritméticas, instruções de conversão, instruções para mover valores de operando formatados, instruções condicionais e instruções variadas. Estas operações podem ser encontradas em [2].

8 6 5. Exceções na FPU As exceções FPU são implementadas na arquitetura MIPS FPU com os campos Cause, Enable e campos de Flag do registrador Control/Status. Os bits de Flag implementam os flags de status de exceção IEEE, e os bit Cause e Enable controlam o trapping de exceções. Cada campo tem um bit para cada uma das cinco condições de exceção da IEEE. A FPU possui um modo de funcionamento especial, o precise exception mode. Neste modo o trap é gerado antes que a instrução que causou a exceção, ou qualquer instrução em seguida, possa terminar e escrever seus resultados. Se desejado, o software que detecta a exceção pode recomeçar a execução da instrução interrompida depois de tratá-la. As cinco exceções FPU IEEE implementadas na arquitetura MIPS32 são: Invalid-Operation Exception (Operação Inválida), Division-By-Zero Exception (Divisão por zero), Underflow Exception, Overflow Exception e Inexact Exception. Estas exceções serão explicadas a seguir. 5.1.Invalid Operation Exception Algumas situações que são definadas como uma operação inválida: Um ou ambos os operandos de uma operação aritmética sinalizam NaN. Adição ou subtração: subtração de infinitos. Multiplicação: 0 vezes infinito, com quaisquer sinais. Divisão: 0/0 ou divisão de infinitos, com quaisquer sinais.

9 7 5.2.Division By Zero Exception Acusa-se uma execeção de Divisão por zero se o divisor for zero e o dividendo for um número finito diferente de zero. O resultado, caso nenhuma trap ocorra, é definido como infinito. As divisões (0/0) e ( /0) não causam a exceção de divisão por zero. O resultado de (0/0) é uma exceção inválida da operação. O resultado de ( /0) é uma infinidade corretamente sinalizada. 5.3.Underflow Exception Duas situações podem causar uma exceção de underflow: Tininess: a criação de um resultado não-zero minúsculo que, por ser minúsculo, pode causar alguma outra exceção mais tarde como o excesso na divisão. Perda de exatidão: a perda de exatidão extraordinária que ocorre na aproximação de tais números minúsculos com números não-normalizados. 5.4.Overflow Exception Uma exceção de overflow acontece quando o valor de um resultado arredondado em ponto flutuante, caso o expoente não tivesse limites, é maior do que o formato de destino com o maior número finito. 5.5.Inexact Exception

10 8 Uma Inexact Exception ocorre nas seguintes situações: O resultado arredondado de uma operação não é exato. O resultado arredondado de uma operação gera overflow sem ocasionar um trap de overflow. 6. Exercícios O exercício de detecção de overflow para multiplicação e o de visualização de contexto desenvolvidos em sala de aula foram modificados para utilizarem a FPU. Muitas modificações foram necessárias dadas as diferenças entre a CPU e a FPU, e pelas dificuldades do ambiente de testes. As ferramentas SPIM e gxemul foram utilizadas para reproduzir ao máximo as condições sob as quais os exercícios foram feitos no laboratório. 6.1.Detecção de Overflow para Multiplicação O exercício original era realizar manualmente a detecção de overflow de uma multiplicação, o que para números inteiros era realizado comparando-se os sinais. Os números de ponto flutuante, segundo o padrão IEEE 754 implementado pelo MIPS32, possuem um indicador próprio de overflow, tornando desnecessária a técnica anterior. Quando uma operação em ponto flutuante gera um número muito grande para ser armazenado, situação conhecida como overflow, a FPU automaticamente define todos os bits de expoente do registrador destino como 1. Esta configuração significa um número tido como infinito, positivo ou negativo dependendo do bit de sinal, podendo ser utilizada para a verificação do overflow. O código fonte criado pode ser visto no Apêndice A.

11 As primeiras diferenças com relação ao código anterior do exercício surgem no momento da entrada de dados do usuário. O código de chamada de sistema 6 é utilizado, ao invés do 5 original, para obter um número em ponto flutuante. Esta chamada de sistema coloca o número recebido no registrador $f0. 9 Figura 4 - Multiplicação em Ponto Flutuante Depois de multiplicados os números recebidos, o resultado é movido para um registrador de uso geral. Operações de bits são utilizadas para se isolar os bits de expoente e verificar se todos estão habilitados. Caso afirmativo, é caracterizada a ocorrência de overflow e ocorre a notificação ao usuário. Caso contrário, o resultado é apresentado utilizando-se o código de chamada de sistema 2, que imprime um número em ponto flutuante. Esta chamada de sistema utiliza o registrador $f12 como argumento. Uma operação bem sucedida pode ser vista na Figura 4, e uma onde ocorre overflow na Figura 5. Figura 5 - Overflow Detectado

12 Visualização de Contexto O objetivo deste exercício era a visualização do estado dos registradores de uso geral. Isto era realizado através da chamada de funções implementadas em C, utilizando o template para assembly. Para o exercício original era necessário o salvamento de contexto, mas tratando-se dos registradores da FPU isto não é necessário, já que estes registradores são completamente independentes do fluxo normal dos programas. O código fonte novo pode ser visto no Apêndice B. As primeiras dificuldades encontradas para imprimir o estado atual dos registradores da FPU foram relativas à falta de acesso direto através do template de assembly a estes registradores. Sendo assim, a maneira encontrada para realizar a tarefa foi, para cada registrador, copiar o valor do registrador de ponto flutuante para um registrador de uso geral, imprimindo-se então o valor deste registrador. Para facilitar a impressão das mensagens relativas a cada registrador, a estrutura da função print_register foi modificada, adicionando-lhe um argumento. A Figura 6, que pode ser encontrada junto ao código no Apêndice II, mostra o funcionamento deste programa. Uma versão modificada deste código foi implementada para verificar a consistência das informações através do SPIM. A Figura 7 mostra o resultado, podendo ser encontrada junto ao código no Apêndice B. REFERÊNCIAS BIBLIOGRÁFICAS 1 SWEETMAN, D. See MIPS Run. EUA. Morgan Kaufmann Publishers, 1999.

13 2 MIPS Technologies. MIPS32 Architecture For Programmers Volume I: Introduction to the MIPS32 Architecture. mar

14 12 APÊNDICE A DETECÇÃO DE OVERFLOW EM MULTIPICAÇÃO EM PONTO FLUTUANTE ### ### Area de Dados ### data get_v1:.asciiz "Enter the first value: " get_v2:.asciiz "Enter the second value: " put_res:.asciiz "The result is equal " overflow:.asciiz "Ocorreu overflow. " ### ### Area de Codigo ### text.globl main main: addiu $sp, $sp, -4 sw $ra, 0($sp) la $a0, get_v1 li $v0, 4 li $v0, 6 mov.d $f12, $f0 la $a0, get_v2 li $v0, 4 li $v0, 6 mul.s $f12, $f12, $f0 mfc1 $t0, $f12 srl $t0, $t0, 23 addi $t1, $zero, 255 and $t0, $t0, $t1 bne $t0, $t1, result over: la $a0, overflow li $v0, 4 j prologue result: la $a0, put_res li $v0, 4 li $v0, 2

15 13 prologue: lw $ra, 0($sp) addiu $sp, $sp, 4 jr $ra ### ### Funcao para imprimir elemento na tela ### data.globl newline newline:.asciiz "\n".globl comma comma:.asciiz ",".text.globl print_cmd print_cmd: beq $a0, $zero, F0 li $v0, 1 li $v0, 4 la $a0 comma jr $ra F0:li $v0, 4 la $a0 newline jr $ra.globl print_int print_int: li $v0, 1 li $v0, 4 la $a0 newline jr $ra.globl print_string print_string: li $v0, 4 jr $ra Código 1 - multiplicação. asm

16 14 APÊNDICE B VISUALIZAÇÃO DE CONTEXTO DA FPU ### ### Area de Dados ### data n1:.float 3.5 n2:.float msg:.asciiz "Mostrando registradores da FPU: \n" ### ### Area de Codigo ### extern print_register.extern printstr.text.globl main: main addiu $sp, $sp, -4 sw $ra, 0($sp) l.s l.s $f4, n1 $f6, n2 mul.s $f12, $f4, $f6 cvt.d.s $f22, $f12 mul.d $f24, $f22, $f22 mul.d $f26, $f24, $f24 la jal $4, msg printstr #Imprimindo $f0 mfc1 $16, $f0 addi $4, $0, 16 addi $5, $0, 0 jal print_register #Imprimindo $f1 mfc1 $16, $f1 addi $4, $0, 16 addi $5, $0, 1 jal print_register mfc1 $16, $f2 addi $4, $0, 16 addi $5, $0, 2 jal print_register mfc1 $16, $f3 addi $4, $0, 16 addi $5, $0, 3

17 15 jal print_register mfc1 $16, $f4 addi $4, $0, 16 addi $5, $0, 4 jal print_register mfc1 $16, $f5 addi $4, $0, 16 addi $5, $0, 5 jal print_register mfc1 $16, $f6 addi $4, $0, 16 addi $5, $0, 6 jal print_register mfc1 $16, $f7 addi $4, $0, 16 addi $5, $0, 7 jal print_register ### Código encurtado, continuava assim para todos os registradores ### mfc1 $16, $f31 addi $4, $0, 16 addi $5, $0, 31 jal print_register.globl prologue prologue: lw $ra, 0($sp) addiu $sp, $sp, 4 jr $ra Código 2 - contexto.asm ### ### Area de Dados ### data n1:.float 3.5 n2:.float msg:.asciiz "Mostrando registradores da FPU: \n" ### ### Area de Codigo ### text.globl main main: addiu $sp, $sp, -4 sw $ra, 0($sp)

18 16 l.s l.s $f4, n1 $f6, n2 mul.s $f12, $f4, $f6 cvt.d.s $f22, $f12 mul.d $f24, $f22, $f22 mul.d $f26, $f24, $f24.globl prologue prologue: lw $ra, 0($sp) addiu $sp, $sp, 4 jr $ra Código 3 - Programa auxiliar, contexto- spim. asm Figura 6 - Resultado da Execução do programa contexto.asm

19 Figura 7 - Visualização do contexto através do SPIM 17

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

Leia mais

Aritmética Computacional. Prof. Leonardo Barreto Campos 1

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

Leia mais

EA960 Aritmética e Representação Numérica

EA960 Aritmética e Representação Numérica EA960 Aritmética e Representação Numérica Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato Introdução Até o momento, nos preocupamos

Leia mais

Arquitetura de Computadores II MIPS64. Prof. Gabriel P. Silva

Arquitetura de Computadores II MIPS64. Prof. Gabriel P. Silva Arquitetura de Computadores II MIPS64 Prof. Gabriel P. Silva C:=A+B: Tipos de Arquitetura MIPS64 Arquitetura do tipo Load/Store 32 registradores de uso geral de 64 bits. 32 registradores de ponto flutuante

Leia mais

UNIMINAS. 101.. Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: 00110101. Sinal do expoente: -(na realidade, háh

UNIMINAS. 101.. Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: 00110101. Sinal do expoente: -(na realidade, háh Representação em Ponto Flutuante Utiliza-se a representação científica normalizada: 2500 = 2,5 x 10 3 0,00009 = 9,0 x 10-5. Mantissa: 1 =< M < 2. Na realidade, trabalha-se na base 2: -1,00110101 x 2-1012

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

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

Informática Aplicada

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

Leia mais

Projetando um Computador

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

Leia mais

Arquitetura e Organização de Processadores. Aula 2. Processadores RISC Apresentação do processador MIPS

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

Leia mais

flutuante 11. Aritmética de vírgula Operações em números fraccionários

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

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Aritmética Computacional - Ponto Flutuante - Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas lâminas dos profs Ney Calazans e Fernando

Leia mais

Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1

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;

Leia mais

Capítulo 6. Aritmética Computacional. 6.1 Números com Sinal e Números sem Sinal

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

Leia mais

Introdução. Software Básico Aula 3. Prof. Dr. Rogério Vargas.

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

Leia mais

Projetando um Computador Parte II Arquitetura do Processador BIP

Projetando um Computador Parte II Arquitetura do Processador BIP Projetando um Computador Parte II Arquitetura do Processador BIP Prof. Dr. Cesar Albenes Zeferino (zeferino@univali.br) Objetivo Projetando um Computador Parte II (2) Apresentar as noções do funcionamento

Leia mais

Guilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva

Guilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva Guilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva Formatos Representações Especiais Arredondamentos Operações Exceções rev. 2008 2 O padrão (ANSI /IEEE Std 754-1985,

Leia mais

Capítulo VI Circuitos Aritméticos

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

Leia mais

Fundamentos de Arquitetura e Organização de Computadores

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

Leia mais

Data Path / Control Path Controle do MIPS

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

Leia mais

Prova Modelo. Nome: Número:

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

Leia mais

Organização e Arquitetura de Computadores I

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

Leia mais

Construção de uma via de dados, abordagem monociclo, multiciclo e pipeline

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

Leia mais

Vírgula flutuante Aula 6

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

Leia mais

Representações de caracteres

Representações de caracteres Representações de caracteres Sistemas de Numeração A necessidade de contar é algo que acompanha o ser humano desde tempos imemoriais. Sistemas de Numeração Usando o polegar para indicar em cada dedo a

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

O Conjunto de Instruções do Processador

O Conjunto de Instruções do Processador 26 Capítulo 4 O Conjunto de Instruções do Processador O conjunto de instruções é um dos pontos centrais na arquitetura de um processador. Vários aspectos na definição e implementação da arquitetura são

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

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

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

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Sistemas Numéricos. Tiago Alves de Oliveira

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

Leia mais

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

Oganização e Arquitetura de Computadores

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

Leia mais

Detecção de erros de comunicação de dados CRC

Detecção de erros de comunicação de dados CRC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Detecção de erros de comunicação de dados CRC Rui Barbosa 12/04/2011 Í NDI CE 1. Introdução... 4 2. Cyclic Redundancy Check... 5 2.1. Fundamentos Teóricos...

Leia mais

Sistemas Distribuídos Capítulo 4 - Aula 5

Sistemas Distribuídos Capítulo 4 - Aula 5 Sistemas Distribuídos Capítulo 4 - Aula 5 Aula Passada Clusters de Servidores Migração de Código Comunicação (Cap. 4) Aula de hoje Chamada de Procedimento Remoto - RPC Fundamentos 1 Chamada de Procedimento

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

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

O Sistema de Computação

O Sistema de Computação Departamento de Ciência da Computação - UFF O Sistema de Computação Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br O Sistema de Computação Capítulo 2 Livro do Mário Monteiro Componentes

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Aritmética de Ponto Flutuante. 1. Da aritmética de Inteiros a aritmética de Pontos Flutuantes : Números inteiros deixam de representar uma parte

Leia mais

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 TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS Autor: Prof. Heliliano Carlos Sartori Guedes prof.helilianoguedes@gmail.com

Leia mais

Arquitetura de Computadores Moderna

Arquitetura de Computadores Moderna Arquitetura de Computadores Moderna Eduardo Barrére (eduardo.barrere@ice.ufjf.br) DCC/UFJF Baseado no material do prof. Marcelo Lobosco Agenda Visão Geral Objetivos do Curso Ementa Bibliografia Avaliações

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

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS Código BCD; Comparação entre BCD e Binário; Circuitos Digitais para BCD; Código Gray; Código ASCII; Detecção de erros pelo método de Paridade O que é um Código?

Leia mais

Manual do Usuário SISCOLE - Sistema de Cadastro de Organismos e Laboratórios Estrangeiros

Manual do Usuário SISCOLE - Sistema de Cadastro de Organismos e Laboratórios Estrangeiros Manual do Usuário SISCOLE - Sistema de Cadastro de Organismos e Laboratórios Estrangeiros MANUAL DO USUÁRIO 1. SOBRE O SISTEMA 1.1 Informações básicas Nome: SISCOLE - Sistema de Cadastro de Organismos

Leia mais

Arquitetura de Computadores EL66C 1a. Prova - Gabarito 26/04/10

Arquitetura de Computadores EL66C 1a. Prova - Gabarito 26/04/10 1. Questão [2,0] Com respeito a operação em modo protegido, da arquitetura IA-32, pede-se: a) [1,0] Qual a finalidade do campo word count' em um descritor tipo call gate? Forneça um exemplo de sua utilização.

Leia mais

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014 Sistemas Digitais II Interface com o mundo analógico Prof. Marlon Henrique Teixeira Abril/2014 Objetivos Compreender a teoria de funcionamento e as limitações dos circuitos de diversos tipos de conversores

Leia mais

Sistemas de Vírgula Flutuante

Sistemas de Vírgula Flutuante Luiz C. G. Lopes Departamento de Matemática e Engenharias Universidade da Madeira MAT 2 05 2007/08 Definição. Diz-se que um número real x R\{0} é um número de vírgula flutuante normalizado se forem verificadas

Leia mais

Exercícios: comandos de repetição

Exercícios: comandos de repetição UNIVERSIDADE FEDERAL DE UBERLÂNDIA Lista de exercícios de programação em linguagem C Exercícios: comandos de repetição 1) Elabore um programa que faça leitura de vários números inteiros, até que se digite

Leia mais

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante

Leia mais

Do alto-nível ao assembly

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

Leia mais

Na Aula Anterior... Operações Aritméticas e Lógicas

Na Aula Anterior... Operações Aritméticas e Lógicas GBC36Arq. e Org. de Computadores I 29/8/26 Na Aula Anterior... Operações Aritméticas e Lógicas A linguagem Assembly; Montadores; Ligadores; Ligação Estática; Ligação Dinâmica; Universidade Federal de Uberlândia

Leia mais

Gestão das E/S por Interrupções

Gestão das E/S por Interrupções 7 Gestão das E/S por Interrupções Never interrupt your enemy when he is making a mistake. Napoleão Bonaparte Neste capítulo iremos conhecer o mecanismo de excepções do processador MIPS e no fim deste capítulo

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

LINGUAGEM JAVA - RESUMO

LINGUAGEM JAVA - RESUMO LINGUAGEM JAVA - RESUMO 1.1. Estrutura Geral de um Programa 1. ESTRUTURAS BÁSICAS public class nome do programa public static void main(string[] args) instruções do programa 1.2. Tipos Primitivos de Dados

Leia mais

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA INFORMÁTICA BÁSICA Conceitos c++ Prof. Demétrios Coutinho C a m p u s P a u d o s F e r r o s D i s c i p l i n a d e O r g a n i z a ç ã o d e A l g o r i t m o s D e m e t r i o s. c o u t i n h o @

Leia mais

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média. 1) Inicializar um vetor de inteiros com números de 0 a 99 2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média 3)

Leia mais

Figura 8: modelo de Von Neumann

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

Leia mais

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

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 reinaldo@cefet-al.br Fluxo de Saída Padrão Saída Formatada: ( ) Tem a função de

Leia mais

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para

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

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Escreva um programa que leia 10 números

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA DEPARTAMENTO: Fundamentos da Computação DISCIPLINA: Arquitetura de Computadores I CÓDIGO: 46185 CRÉDITOS: 04 CARGA HORÁRIA:

Leia mais

INTEGRAIS INTEGRAL INDEFINIDA

INTEGRAIS INTEGRAL INDEFINIDA INTEGRAIS INTEGRAL INDEFINIDA A integração indefinida ou anti-derivação é a operação inversa da derivação, da mesma forma que a subtração é a operação inversa da adição ou a divisão é a operação inversa

Leia mais

Prof. Adilson Gonzaga. Interface com Displays

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

Leia mais

Na Aula Anterior... Operações Aritméticas e Lógicas. Nesta Aula. Instruções Aritméticas (N e Z) Exemplo 11/03/2019

Na Aula Anterior... Operações Aritméticas e Lógicas. Nesta Aula. Instruções Aritméticas (N e Z) Exemplo 11/03/2019 GBC046 Arq. e Org. de Computadores II Operações Aritméticas e Lógicas Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... A linguagem Assembly;

Leia mais

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

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

Leia mais

O Jogo da Velha Dançarina

O Jogo da Velha Dançarina Departamento de Ciência da Computação IME-USP MAC 110 Introdução à Computação para BM, BE, BMA IME Primeiro Semestre de 2011 1 Introdução Primeiro Exercício-Programa (EP1) O Jogo da Velha Dançarina Prazo

Leia mais

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3.1. Compilação de um Programa C O compilador C realiza a compilação do código-fonte de um programa em cinco etapas: edição, pré-processamento, compilação,

Leia mais

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 05: Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE SÃO PROCEDIMENTOS? Procedimentos são um conjunto

Leia mais

a) 2 b) 3 c) 4 d) 5 e) 6

a) 2 b) 3 c) 4 d) 5 e) 6 Recordando operações básicas 01. Calcule as expressões abaixo: a) 2254 + 1258 = b) 300+590 = c) 210+460= d) 104+23 = e) 239 54 = f) 655-340 = g) 216-56= h) 35 x 15 = i) 50 x 210 = j) 366 x 23 = k) 355

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem

Leia mais

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014 Objetivos 7. Funções de Lógica Combinacional Fazer distinção entre meio-somadores e somadores-completos Usar somadores-completos para implementar somadores binários em paralelo Explicar as diferenças entre

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

Capítulo 2. Representação de números em vírgula flutuante

Capítulo 2. Representação de números em vírgula flutuante Capítulo 2 Representação de números em vírgula flutuante Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Números inteiros Os computadores foram

Leia mais

MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL

MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL PREFEITURA DE JUIZ DE FORA SECRETARIA DA FAZENDA SUBSECRETARIA DO SISTEMA DE CONTROLE INTERNO DEPARTAMENTO DE NORMAS TÉCNICAS MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL DATA:

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

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

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

Leia mais

Exercícios: Comandos de Repetição

Exercícios: Comandos de Repetição Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Comandos de Repetição 1. Elabore um programa que faça leitura de vários

Leia mais

O SOFTWARE R EM AULAS DE MATEMÁTICA

O SOFTWARE R EM AULAS DE MATEMÁTICA O SOFTWARE R EM AULAS DE MATEMÁTICA Renata Teófilo de Sousa (autora) Graduanda - Curso de Matemática UVA Arlécia Albuquerque Melo (co-autora) Graduanda - Curso de Matemática UVA Nilton José Neves Cordeiro

Leia mais

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt A lista é individual e deve ser escrita à mão. 1) Uma importante

Leia mais

Programação para Computação

Programação para Computação Programação para Computação Prova 1 22/09/2008 Resolução Prof. Marcus Vinícius Midena Ramos Engenharia de Computação UNIVASF Questão 1 (1,2 ponto): Descreva, de forma clara, completa e concisa, a sintaxe

Leia mais

ISA Instruction Set Architecture (Revisão) Na Aula Anterior... Nesta Aula. Conceitos. Tipos de Dados. Tipos de Dados 11/03/2019

ISA Instruction Set Architecture (Revisão) Na Aula Anterior... Nesta Aula. Conceitos. Tipos de Dados. Tipos de Dados 11/03/2019 GBC046 Arq. e Org. de Computadores II ISA Instruction Set Architecture (Revisão) Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... Anatomia

Leia mais

12 de Março de 2007 1. Aula 5

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:

Leia mais

Resolução de sistemas de equações lineares: Método de eliminação de Gauss

Resolução de sistemas de equações lineares: Método de eliminação de Gauss Resolução de sistemas de equações lineares: Método de eliminação de Gauss Marina Andretta ICMC-USP 21 de março de 2012 Baseado no livro Análise Numérica, de R L Burden e J D Faires Marina Andretta (ICMC-USP)

Leia mais

Especificação do Projeto de Processador RISC

Especificação do Projeto de Processador RISC UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO Especificação do Projeto de Processador RISC mycpu Neste documento é apresentada a especificação do projeto da disciplina Organização e Arquitetura de Computadores

Leia mais

Cadastro de Usuários Manual de Usuário 09/05/2011 FAPESP

Cadastro de Usuários Manual de Usuário 09/05/2011 FAPESP Cadastro de Usuários Manual de Usuário 09/05/2011 FAPESP Conteúdo Introdução... 3 Procedimento para cadastro... 3 Cadastro de Usuário Pesquisador... 4 Cadastro de Usuário Comum... 10 Ativação de Conta...

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Descrever requisitos funcionais e não funcionais Explicar como os requisitos de software podem

Leia mais

Aproximações e Erros

Aproximações e Erros Aproximações e Erros Lucia Catabriga e Andréa Maria Pedrosa Valli Laboratório de Computação de Alto Desempenho (LCAD) Departamento de Informática Universidade Federal do Espírito Santo - UFES, Vitória,

Leia mais

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Structs 1. Utilizando estrutura, fazer um programa em C que permita

Leia mais

Multiplicador Binário com Sinal

Multiplicador Binário com Sinal Multiplicador Binário com Sinal Edson T. Midorikawa/2010 RESUMO Nesta experiência será implementado circuito para multiplicação binária com sinal. Deve ser aplicada a metodologia para projeto estruturado

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

Organização e Arquitetura de Computadores I

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

Leia mais

Sistemas 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

Anterior Sumário Próximo MATRIZES, DETERMINANTES E SISTEMAS

Anterior Sumário Próximo MATRIZES, DETERMINANTES E SISTEMAS Anterior Sumário Próximo MATRIZES, DETERMINANTES E SISTEMAS Clicando em, o usuário é conduzido para uma tela onde os conteúdos estão separados por blocos, que são acessados a medida que clicamos em cada

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

UM PROCESSADOR SIMPLES

UM PROCESSADOR SIMPLES UM PROCESSADOR SIMPLES Versão 2015 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de um núcleo de um processador simples. Na parte experimental este projeto deverá ser sintetizado

Leia mais

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.) I. INTRODUÇÃO Quando se faz um experimento, deseja-se comparar o resultado obtido

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

Montadores e Compiladores

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

Leia mais