Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/14/13

Documentos relacionados
Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

INF1004 e INF1005: Programação 1. Introdução à Programação

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C

INF A: Introdução à programação

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ORGANIZAÇÃO DE COMPUTADORES

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Arquiteturas de Computadores

Componentes do Computador

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES. Prof. Dr. Daniel Caetano

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

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

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À ORGANIZAÇÃO PARA ENGENHARIA DE COMPUTADORES. Prof. Dr. Daniel Caetano

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Organização de Computadores I

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

Arquitetura de Computadores Aula 10 - Processadores

Programação de Computadores:

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária

Conjunto de Instruções

Aproximações e Erros

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

Fábio Rodrigues / Israel Lucania

Organização e Arquitetura de Computadores I

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

LÓGICA DE PROGRAMAÇÃO

Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.

INF 1005 Programação I - Prof. Hélio Lopes 24/04/2012

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

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

ARQUITETURA DE COMPUTADORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Métodos Numéricos - Notas de Aula

SSC0611 Arquitetura de Computadores

Prof. Leonardo Augusto Casillo

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Organização e Arquitetura de Computadores I

Linguagem C: Introdução

Cap. 2 Expressões na linguagem C

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35.

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

ELETRÔNICA DIGITAL I

Estrutura de Dados Conceitos Iniciais

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

Cálculo Numérico. Erros em processamento Numéricos

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

Introdução à Programação

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

2. E presse cada um dos seguintes números inteiros decimais na representação sinal e magnitude e complemento a 2, utilizando 8 bits Resposta:

ARQUITECTURA DE COMPUTADORES

3. Linguagem de Programação C

Representação da Informação no Computador

SSC0112 Organização de Computadores Digitais I

Linguagem de Maquina II. Visão Geral

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

ECT1203 Linguagem de Programação

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

Disciplina: Introdução à Engenharia da Computação

Organização de Computadores

Arquitetura e Organização de Computadores

Material Didático Unificado.

Arquitetura de Computadores. Conjunto de Instruções

Introdução à Computação

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

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

ARQUITETURA DE COMPUTADORES

Organização e Arquitetura de Computadores I

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Organização e Arquitetura de Computadores INTRODUÇÃO

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35. e) 347 f) 513.

Introdução à Linguagem C Variáveis e Expressões

Unidade II. Organização de Computadores. Prof. Renato Lellis

SISTEMA DE NUMERAÇÃO. Introdução a Informática. Vinícius Pádua

Números binários e erros

Disciplina de Algoritmos e Programação

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

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

controle de fluxo repetições iterativas

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Considere uma máquina que utiliza uma palavra de 10 bits. Suponha o seguinte padrão de bits:

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 2 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS

Aritmética dos Computadores

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Caracteres e Cadeias de Caracteres

William Stallings Computer Organization and Architecture

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

Transcrição:

Introdução INF005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC introdução tópicos modelo de computador o que é um programa um programa na memória decifrando um código referência Capítulo da apostila

modelo de um computador hardware - componentes físicos software - programas computador hipotético memória posições com endereços 0 a n registrador (register) armazena resultado de operação instruções endereço 0 register conteúdo (valor) instrução read pos write pos storeconst num pos add pos pos sub pos pos mul pos pos div pos pos store pos descrição lê um número do teclado e grava-o no endereço pos escreve na tela o número que está em pos grava número num em pos calcula pos + pos e grava resultado em register calcula pos - pos e grava resultado em register calcula pos pos e grava resultado em register calcula pos / pos e grava resultado em register grava o número que está em register em pos

da soma de.5 mais um número lido do teclado 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 read 0 storeconst.5 add 0 store write variáveis valor, valor, valor início leia valor valor =.5 valor = valor + valor escreva valor fim EX. 0 da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. 0 0 0 0 reg. reg. reg. reg. val. write >

da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????????????? reg.??? reg.??? reg.??? reg.??? write > da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write Suponha que o usuário digite o valor. read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????????????? reg.??? reg.??? reg.??? reg.??? write > 4

da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????????????? reg.??? reg.??? reg.??? reg.??? write > da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????????????? 0 0 0 0 reg.??? reg.??? reg.??? reg.??? write > 5

da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????????????? 0 0 0 0 reg.??? reg.??? reg.??? reg.??? write > da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????.5.5.5 0 0 0 0 reg.??? reg.??? reg.??? reg.??? write > 6

da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????.5.5.5 0 0 0 0 reg.??? reg.??? reg.??? reg.??? write > da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????.5.5.5 0 0 0 0 reg.??? reg.??? reg. 5.5 reg. 5.5 write > 7

da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.???????????????????????????.5.5.5 0 0 0 0 reg.??? reg.??? reg. 5.5 reg. 5.5 write > da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.????????????????????? 5.5???.5.5.5 0 0 0 0 reg.??? reg.??? reg. 5.5 reg. 5.5 write > 8

da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.????????????????????? 5.5???.5.5.5 0 0 0 0 reg.??? reg.??? reg. 5.5 reg. 5.5 write > da soma de.5 mais um número lido do teclado. read 0. storeconst.5. add 0 4. store 5. write read 0 storeconst.5 add 0 store > end. val. end. val. end. val. end. val.????????????????????? 5.5???.5.5.5 0 0 0 0 reg.??? reg.??? reg. 5.5 reg. 5.5 write > 5.5 9

dúvidas? EX. 0 da soma de.5 mais um número lido do teclado Programa visto anteriormente: read 0 storeconst.5 add 0 store write Este programa também funciona? read 0 storeconst.5 add 0 store 0 write 0 Este programa também funciona? read 0 storeconst.5 add 0 store 0 write sim não sim não 0

Como fica um programa na memória? Suponha que, no nosso computador hipotético: cada posição de memória tem 8 subseções cada subseção pode armazenar um algarismo de 0 a 9 Como representar um número inteiro? 0 é representado por considerando apenas inteiros positivos, o maior número seria: 9 9 9 9 9 9 9 9 Como fica um programa na memória? Como representar um número negativo? reservando uma subseção para o sinal (por exemplo, a primeira) S se 0 indica positivo e indica negativo, temos: - representado por -457 representado por 0 0 0 0 0 0 0 0 0 0 4 5 7

Como fica um programa na memória? Como representar um número fracionário? reservando subseções para (ponto fixo): sinal parte inteira S I I I I parte fracionária segundo essa convenção: -57.4 é representado por F F F 0 5 7 4 0 0 Qual é o maior inteiro que poderíamos representar utilizando essa convenção? 0 9 9 9 9 9 9 9 E o menor inteiro positivo? 0 0 0 0 0 0 0 Como fica um programa na memória? Como representar um número fracionário? assumindo a seguinte notação científica: -57.4 = -0.574x0 reservando subseções para (ponto flutuante): mantissa (com sinal) Ms M M M M expoente (com sinal) segundo essa convenção: Es E E -57.4 é representado por Qual é o maior número? E o menor positivo? 5 7 4 0 0 0 9 9 9 9 0 9 9 0 0 0 0 9 9

Como fica um programa na memória? E se o número não couber? 0.9999x0 99 + : overflow.975: perda de precisão.97 0 9 7 0 0 Como fica um programa na memória? Como representar instruções? associando um código a cada instrução read: 0; write: ; storeconst: ; add: ; sub: 4; mul: 5; div: 6; store: 7 dependendo da instrução, os valores seguintes indicam parâmetros read pos; write pos; storeconst val pos; add pos pos; ; store pos read 0 storeconst.5 add 0 store write # código de 'read' : 0 # 0 0 0 0 0 0 0 0 # código de 'storeconst' : 0 5 0 0 0 0 #.5 (valor real) 0 0 0 0 0 0 0 # 0 0 0 0 0 0 0 # código de 'add' : # 0 0 0 0 0 0 0 0 # 0 0 0 0 0 0 0 7 # código de 'store' : 7 0 0 0 0 0 0 0 # 0 0 0 0 0 0 0 # código de 'write' : 0 0 0 0 0 0 0 #

dúvidas? decifrando o código EX. 0 Considerando a representação numérica e o código utilizado, o que faz o programa a seguir? read: 0; write: ; storeconst: ; add: ; sub: 4; mul: 5; div: 6; store: 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 código equivalente descrição em português memória a cada passo end P P P P4 P5 P6 P7 0 reg 4

decifrando o código EX. 04 Considerando a representação numérica e o código utilizado, o que faz o programa a seguir? read: 0; write: ; storeconst: ; add: ; sub: 4; mul: 5; div: 6; store: 7 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 código equivalente descrição em português memória a cada passo end P P P P4 P5 P6 P7 0 reg dúvidas? Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 5