ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa



Documentos relacionados
ALP Algoritmos e Programação. . Linguagens para Computadores

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Figura 1 - O computador

Introdução às Linguagens de Programação

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Introdução à Arquitetura de Computadores IFES Campus Serra

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

1. NÍVEL CONVENCIONAL DE MÁQUINA

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Fundamentos de Microinformática. Ricardo José Cabeça de Souza 2010 Fundamentos 3

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Programação de Computadores III

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

ARQUITETURA DE COMPUTADORES

Introdução à Arquitetura de Computadores

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Disciplina: Organização de computadores

Curso Técnico em Redes

Introdução à Lógica de Programação

COMPILADORES E INTERPRETADORES

Componentes do Computador e. aula 3. Profa. Débora Matos

Sistemas Operacionais

Conceitos básicos de programação

FundamentosemInformática

Java. Marcio de Carvalho Victorino

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

UFRPE Prof. Gustavo Callou

Software Básico (INF1018)

Edeyson Andrade Gomes

Universidade do Contestado Campus Concórdia. Curso de Sistemas de Informação Prof.: Maico Petry. Noções de Software

Introdução ao Processamento de Dados (IPD)

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

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

Geração de código intermediário. Novembro 2006

Introdução a Informática. Prof.: Roberto Franciscatto

3 Revisão de Software

Parte II Introdução a Linguagens de Programação

RISC - Reduced Instruction Set Computer

Linguagem de Programação I

Geração e Otimização de Código

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Introdução à Programação e Algoritmos. Aécio Costa

O Processo de Programação

Introdução à Programação 2006/07. Computadores e Programação

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

1 - Processamento de dados

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática

UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Dadas a base e a altura de um triangulo, determinar sua área.

O modelo do computador

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Linguagens de Programação

Organização e Arquitetura de Computadores I. de Computadores

O Hardware e o Software do Computador

Tecnologia da Informação. Visão Geral sobre Informática

Lição 1 Introdução à programação de computadores

Capítulo 1 Introdução

Introdução à Programação de Computadores

Adriano Mauro Cansian 2

Computadores XXI: Busca e execução Final

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

MC-102 Aula 01. Instituto de Computação Unicamp

Usando o simulador MIPS

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

1.1. Organização de um Sistema Computacional

Componentes da linguagem C++

Disciplina: Introdução à informática Profª Érica Barcelos

Introdução à Programação

Organização de Computadores I

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

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES INTRODUÇÃO

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

Sistemas Operacionais

BARRAMENTO DO SISTEMA

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

Sobre C. Linguagem de Programação C

Linguagens de programação

Algoritmos e Programação I

Processamento de Dados

ICC Introdução para JavaScript

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Organização de Computadores

Linguagem de Montagem 2. Operações e Operandos

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

TE11008 Arquitetura e Organização de Computadores Nível da Linguagem de Montagem p. 1

Compiladores INTRODUÇÃO.

Transcrição:

ARQUITETURA DE COMPUTADORES 1 Rogério Spindula Rosa

2 EXECUÇÃO DE PROGRAMAS

PROGRAMA 3

4

INTRODUÇÃO Hoje é raro escrever um programa diretamente em linguagem de computador em virtude da enorme dificuldade de se organizar as instruções sem erro e dos problemas de entendimento e manutenção do programa. 5

LINGUAGEM DE PROGRAMAÇÃO É uma linguagem criada para instruir um computador a realizar suas tarefas. Um programa completo é frequentemente denominado código. Codificar um algoritimo significa converter suas declarações em um comando ou instrução específico de uma certa linguagem de programação. 6

LINGUAGEM DE MÁQUINA O tipo mais primitivo é a linguagem que o computador entende diretamente, isto é, as instruções que podem ser diretamente executadas pela CPU. Um programa em linguagem de máquina é uma sequência de algarismos binários, alguns dos quais representam instruções e outros, os dados a serem manipulados. 7

8

ASSEMBLY Linguagem que representa as instruções por símbolos, e não por números 0101 ADD (Somar) Não precisa mais guardar os endereços reais de memória onde os dados e as instruções estarão armazenados. (variáveis - NOME, SALARIO) 9

Uma instrução de linguagem de máquina do tipo 1110 0100 1001 1001 ou E499 Pode ser mais facilmente entendida se representada na forma simbólica: ADD SALARIO 10

LINGUAGEM DE MONTAGEM Para se usar linguagem de montagem em um computador, é necessário que haja um meio de converter os símbolos alfabéticos utilizados no programa em código de máquina, de modo a ser compreendido pela UCP. O processo de conversão é chamado de montagem e é realizado por um programa demonimando Montador. O montador lê cada instrução em linguagem de montagem e cria uma instrução equivalente em linguagem de máquina 11

LINGUAGEM DE ALTO NÍVEL Linguagens que refletem mais os procedimentos utilizados na solução de um problema, sem a preocupação do tipo de UCP ou de memória onde o programa será executado. Nível afastado da máquina. 12

Linguage m Data Observações FORTRAN 1957 1ª linguagem de alto nível. Desenvolvida para realização de cálculos numéricos ALGOL 1958 Pesquisa e desenvolvimento COBOL 1959 1ª linguagem desenvolvida para fins comerciais BASIC 1964 Desenvolvida em Universidade, tornou-se conhecida quando do lançamento do IBM-PC, que veio com um interpretador da linguagem, escrito por Bill Gates e Paul Allen. PASCAL 1968 1ª linguagem estruturada C 1967 Linguagem para programação de sistemas operacionais e compiladores DELPHI 1994 Baseada na linguagem Object Pascal, uma versão do Pascal orientada a objetos. JAVA 1996 Desenvolvida pela SUN, sendo independente da plataforma onde é executada. 13

14

MONTAGEM É a tradução mais rápida e simples que existe, é realizada por um programa denominado montador (Assembler). A montagem é realizada para traduzir um programa em linguagem de montagem para seu equivalente em linguagem binária, executável. 15

FLUXO DO PROCESSO DE MONTAGEM 16

FUNÇÕES DO MONTADOR Substituir códigos simbólicos por valores numéricos (binário) Substituir nomes simbólicos de endereços por valores numéricos dos endereços Reservar espaço de memória para o armazenamento das instruções e dados Converter valores constantes para o código binário. Examinar cada instrução. O montador não pode gerar um código de operação de uma instrução que não existe. 17

COMPILAÇÃO Quando se pretende converter para a linguagem de máquina um programa escrito em linguagem de mais alto nível que o da liguagem de montagem, então o método utilizado se chama Compilação. 18

COMPILAÇÃO Processo de análise de um programa escrito, o programa fonte (código fonte) e sua conversão em um programa equivalente,porém descrito em linguagem binária de máquina, denominado programa objeto (ou códigoobjeto). O programa que realiza esta tarefa é denominado compilador. 19

COMPILAÇÃO É um processo semelhante ao de montagem Análise do programa-fonte Criação de tabelas auxiliares Geração do código-objeto em linguagem de máquina 20

PROCESSO DE COMPILAÇÃO 21

LIGAÇÃO OU LINKEDIÇÃO Quando um programador escreve um programa, ele não se preocupa em codificar determinadas operações, porque o código binário necessário para realizar aquelas tarefas já existe armazenado no sistema 22

LIBRARIES - BIBLIOTECAS As rotinas externas ao programa são normalmente organizadas em arquivos, que constituem diretórios específicos para cada um grupo de rotinas. Esses diretórios são denominados Bibliotecas. Uma biblioteca é uma coleção de códigos-objeto, um para cada rotina específica. Quando um programa deseja usar uma dessas rotinas, ele insere uma chamada no seu código (library call). 23

COMPILAÇÃO E LINKEDIÇÃO 24

INTERPRETAÇÃO O método de interpretação se caracteriza por realizar as fases (compilação, ligação e execução), comando a comando, do programa-fonte. O programa-fonte é diretamente executado (interpretado) por um outro programa (interpretador) e produz um resultado. Não há produtos intermediários, como código-objeto ou código executável. 25

INTERPRETAÇÃO Cada comando do código-fonte é lido pelo interpretador, é convertido em código executável e imediatamente executado, antes que o comando seguinte seja lido. 26

COMPILAÇÃO X INTERPRETAÇÃO 27

COMPILAÇÃO X INTERPRETAÇÃO Uso dos recursos de computação durante o processo de compilação e interpretação 28