Arquitetura de Computadores

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

Download "Arquitetura de Computadores"

Transcrição

1 Arquitetura de Computadores

2 Apresentação Teóricas Prof. Helder Daniel Gab: 2.66 Práticas Prof. Amine Berquia Gab: 2.?? AA2011/2012 ArqC - DEEI - UAlg 2 /

3 Programa Práticas (resumido) Introdução Representação de dados Arquitetura MIPS Registos Memória Instruções MIPS Saltos Condições / Ciclos Funções Stack Recursividade Exceções Diretivas Aritmética Lógica / Shift Acesso/escrita de memória I/O AA2011/2012 ArqC - DEEI - UAlg 3 /

4 Disclaimer As apresentações mostradas nas aulas Praticas não abrangem toda a matéria apresentada. Desta forma os alunos deverão assistir a todas as aulas. Estas apresentações encontram-se na versão beta 0.1, pelo que poderão apresentar algumas incorreções. Agradece-se que esses erros sejam comunicados para que sejam corrigidos. Aceitam-se sugestões para a melhoria das apresentações. AA2011/2012 ArqC - DEEI - UAlg 4 /

5 Arquitetura de Computadores Definições... a estrutura de um computador que um programador de código máquina tem de entender para escrever corretamente um programa para essa máquina (P&H) Por outras palavras: a parte do conjunto de instruções visível ao programador Descrição lógica dos componentes básicos + operações básicas (do computador) Através de uma Linguagem chamada Assembly AA2011/2012 ArqC - DEEI - UAlg 5 /

6 Arquitetura de Computadores (2) Todos os processadores têm a mesma arquitetura? Não! As arquiteturas dividem-se em famílias MIPS, PIC, SPARC, Alpha, Motorola, Intel, etc... Cada família têm a sua própria arquitetura Consequentemente, cada arquitetura tem a sua linguagem Assembly ( idioma ) A mesma arquitetura implica o mesmo hardware? Não! AMD e Intel utilizam mesma arquitetura (e.g. x86) ter mesma arquitetura correr mesmos programas AA2011/2012 ArqC - DEEI - UAlg 6 /

7 Idioma do Computador Para compreender a arquitetura de um computador Aprender o idioma do computador Idioma conjunto de palavras Palavras da linguagem do computador Instruções Idioma do computador Conjunto de instruções Instruction Set Arquitecture (ISA) Parte da arquitetura relacionada com a programação AA2011/2012 ArqC - DEEI - UAlg 7 /

8 Código Máquina O computador fala binário Instruções em código máquina: É difícil para os humanos ler código máquina Preferimos representar as instruções num formato simbólico chamado: Assembly: add $t0, $t1, $t2 Muito mais simples de ler! AA2011/2012 ArqC - DEEI - UAlg 8 /

9 Do código fonte ao código máquina Compilar Assemblar Linkar Compilador: tradutor para assembly de cada arquitetura p.ex. com gcc pode-se pedir compilar apenas: gcc -S programa.c Assemblador: produz código máquina (ficheiros objeto.o) Tradução de assembly para código máquina: ASSEMBLAGEM p.ex. com gcc pode-se pedir compilar e assemblar apenas: gcc -c programa.c Não tem ligação às bibliotecas, por isso, não pode ser executado Linkador: Liga os vários ficheiros objeto (com as bibliotecas) e produz o executável Nesta cadeira, vamos trabalhar com compiladores para MIPS32 AA2011/2012 ArqC - DEEI - UAlg 9 /

10 Camadas do Computador AA2011/2012 ArqC - DEEI - UAlg 10 /

11 Linguagem Assembly É a visualização da arquitetura de um computador em termos de programação Estudá-la é o mesmo que estudar a arquitetura do processador para o qual se programa Objetivo: conhecer melhor o funcionamento dos computadores AA2011/2012 ArqC - DEEI - UAlg 11 /

12 Linguagem Assembly (2) Linguagem de baixo nível (mais baixo só binário) Uma instrução Assembly corresponde a uma instrução máquina (Assembly puro) Exemplo de programa em Assembly MIPS (não puro):.data msg_ola:.asciiz "Ola mundo!\n";.text main: la $4, msg_ola li $2, 4 syscall li $2, 10 syscall AA2011/2012 ArqC - DEEI - UAlg 12 /

13 Linguagem Assembly (3) Não é frequente programar-se em Assembly Os programas são, normalmente, feitos numa linguagem de alto nível (e.g. Java, C) Programas feitos em: Linguagens de alto nível são independentes (supostamente) da máquina onde correm Java são totalmente independentes do processador onde correm Assembly são escritos completamente em função do processador AA2011/2012 ArqC - DEEI - UAlg 13 /

14 Assembly, para quê? Além dos motivos pedagógicos (arquitetura) A linguagem assembly é ideal para problemas onde a arquitetura do processador precise ser visível Sistemas operativos, compiladores, drivers, gráficos de baixo nível Sistemas Embebidos (principalmente), onde o processador é parte de uma máquina criada para um problema específico AA2011/2012 ArqC - DEEI - UAlg 14 /

15 MIPS32 Porquê? MIPS: Microprocessor without Interlocked Pipeline Stages É uma arquitetura RISC De todas as ISAs, a MIPS32 é das mais simples Simples = Eficiente Simples = Mais fácil de aprender mais simples que IA32 (A ISA para a arquitetura x86) Abrange os conceitos básicos de qualquer arquitetura mais evoluída AA2011/2012 ArqC - DEEI - UAlg 15 /

16 Utilizadores de MIPS Routers Cisco, Linksys Sony Playstation 2, e PSP Dispositivos WinCE Telemóveis Tablets etc... AA2011/2012 ArqC - DEEI - UAlg 16 /

17 Emulação Outra vez: Arquitetura de um processador? Descrição lógica dos componentes e operações básicas Pode ser implementada em hardware ou em software! Em hardware: processador (em silício) Em software: emulador (em execução num computador) Emuladores da arquitetura MIPS: PCSPIM, xspim, MARS, AA2011/2012 ArqC - DEEI - UAlg 17 /

18 MARS (1) Vamos utilizar o emulador da arquitetura MIPS32, MARS MARS: MIPS Assembler and Runtime Simulator Funciona sobre a JVM (JRE) Pode ser descarregado em: ou na tutoria eletrónica AA2011/2012 ArqC - DEEI - UAlg 18 /

19 MARS (2) AA2011/2012 ArqC - DEEI - UAlg 19 /

20 MARS (3) AA2011/2012 ArqC - DEEI - UAlg 20 /

21 Série de Fibonacci

22 Exercícios Explique em que consiste a Arquitetura de um Computador Diga se computadores com arquiteturas diferentes podem correr programas compilados em arquiteturas diferentes. Explique porquê. Relacione os termos Arquitetura de Computador e Instruction Set Arquitecture Explique o que é a Linguagem Assembly, e como é que esta é, normalmente, produzida? Explique o que é a Emulação, no contexto da cadeira. Descreva o processo pelo qual, um programa escrito numa linguagem de alto nível, tem de passar até poder ser executado num computador. Diga qual a arquitetura que vamos utilizar na cadeira. O que é o MARS? AA2011/2012 ArqC - DEEI - UAlg 22 /

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Arquitetura de Computadores Definições... a estrutura de um computador que um programador de código máquina tem de entender para escrever corretamente um programa para essa

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicação

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Meio pelo qual se pode indicar os passos que devem ser realizados pelo computador para resolver problemas; Através da linguagem,

Leia mais

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina Níveis de Abstracção Nível 5 Nível 4 Nível 3 Nível 2 Nível 1 Nível 0 Aplicação Programa de Alto Nível Programa em Assembly Programa em Máquina Micro-programa em de Transferência de Registos Sistema Digital

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

ARQUITECTURA DE COMPUTADORES 2013/2014 2º SEMESTRE

ARQUITECTURA DE COMPUTADORES 2013/2014 2º SEMESTRE ARQUITECTURA DE COMPUTADORES 2013/2014 2º SEMESTRE Objectivos da Disciplina Príncipios gerais da arquitectura de computadores Estrutura e comportamento de um computador Programação em assembly Processadores

Leia mais

Arquitetura do SET de instruções Instruction SET. CISC vs RISC. What s assembly as to do with it?

Arquitetura do SET de instruções Instruction SET. CISC vs RISC. What s assembly as to do with it? Arquitetura do SET de instruções Instruction SET CISC vs RISC What s assembly as to do with it? Low-level - high-level programming language Assambley CODE section.text global _start ;must be declared for

Leia mais

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1) Introdução Arquitetura de Hardware Introdução (Aula 2) Organização Estruturada de Computadores 01- Monitor 02- Placa-Mãe 03- Processador 04- Memória RAM 05- Placas de Rede, Som, Vídeo, Fax... 06- Fonte

Leia mais

Introdução. (Aula 2) Organização Estruturada de Computadores

Introdução. (Aula 2) Organização Estruturada de Computadores Introdução (Aula 2) Organização Estruturada de Computadores Introdução Arquitetura de Hardware 01- Monitor 02- Placa-Mãe 03- Processador 04- Memória RAM 05- Placas de Rede, Som, Vídeo, Fax... 06- Fonte

Leia mais

Algoritmos Computacionais

Algoritmos Computacionais UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Instituto de Informática UFG 1o. Semestre / 2006 Adaptado do material do prof. Fábio Moreira Costa Programa e Introdução Assunto do curso

Leia mais

Arquitectura e Organização de Computadores

Arquitectura e Organização de Computadores Arquitectura e Organização de Computadores (micro-arquitectura) atributos visíveis ao programador: I.S.A. tamanho da palavra (bits) registos Componentes que realizam a arquitectura: organização do CPU

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

Introdução à Organização de Computadores. Aula 8

Introdução à Organização de Computadores. Aula 8 SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Aula teórica 7. Preparado por eng.tatiana Kovalenko Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I RISC versus CISC Gabriel P. Silva 04.11.2014 Introdução Um dos objetivos de uma arquitetura de

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna BCC201 Introdução à Computação Turmas 31, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca puca@iceb.ufop.br Aula 2 Introdução:

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores Aula 11 - Multiprocessamento Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 2º Ano do Curso de Engenharia de Sistemas e de Computadores João M. P. Cardoso Faculdade de Ciências e Tecnologia Universidade do Algarve Email: jmcardo@ualg.pt Gab. 2.63 Telef.

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 14 de Fevereiro, 2013 José Monteiro

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 7ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Apresentação. Informação geral + Conceitos iniciais

Apresentação. Informação geral + Conceitos iniciais Apresentação Informação geral + Informação geral Página da cadeira Objectivos principais Compreender a importância dos algoritmos e dos programas de computador para a resolução de problemas em engenharia.

Leia mais

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos Apresentação Computação e Programação (CP) 2013/2014 Aula 1 Objetivos Ficar a saber: funcionamento da unidade curricular (UC) Computação

Leia mais

Arquitectura e Organização de Computadores

Arquitectura e Organização de Computadores Arquitectura e Organização de Computadores (micro-arquitectura) atributos visíveis ao programador: I.S.A. tamanho da palavra (bits) registos Componentes que realizam a arquitectura: organização do CPU

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Disciplina: PEOO Professor: Eberton da Silva Marinho e-mail: ebertonsm@gmail.com Data:

Leia mais

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

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível. Aula 3 SOFTWARE (programas) Um programa (software) consiste em uma sequência de instruções escritas numa linguagem precisa chamada linguagem de programação. Estas instruções são traduzidas em um compilador,

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

Introdução à plataforma Java

Introdução à plataforma Java Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves prof.gago@gmail.com O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que

Leia mais

Aula Fev-07 Arquitectura de Computadores 2006/07

Aula Fev-07 Arquitectura de Computadores 2006/07 Apresentação Aula 1 26-Fev-07 Arquitectura de Computadores 2006/07 1 - Aula 1 Estrutura desta aula Apresentação da cadeira Objectivos Bibliografia Conhecimentos prévios Estrutura das aulas Avaliação 26-Fev-07

Leia mais

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. Estruturada 2. Orientada a eventos 3. Orientada a objetos d) Sistemas Operacionais

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

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

Linguagens de máquina, linguagens simbólicas e linguagens de alto nível

Linguagens de máquina, linguagens simbólicas e linguagens de alto nível Linguagens de máquina, linguagens simbólicas e linguagens de alto nível 1. Linguagens de máquina Qualquer computador pode entender diretamente apenas sua própria linguagem de máquina. A linguagem de máquina

Leia mais

Sistema Computacional

Sistema Computacional Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.

Leia mais

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores Engenharia Informática (5374) - 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) - 1º ano, 1º semestre Bioengenharia (9099) 2º ano, 1º semestre Ciências Biomédicas (10135) 2º ano, 1º semestre

Leia mais

4 O conceito de variável

4 O conceito de variável 4 O conceito de variável Para resolver problemas no computador é necessário manipular dados, sejam números ou caracteres. Se alguém precisa calcular o resultado de uma única conta provavelmente o melhor

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

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Linguagens de Programação DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Tópicos da aula

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?

Leia mais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Compiladores e Interpretadores Compiladores

Leia mais

Aula Introdutória. Arquitetura e Organização de Computadores

Aula Introdutória. Arquitetura e Organização de Computadores GBC036 Arq. e Org. de Computadores 1 Aula Introdutória Arquitetura e Organização de Computadores Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Nesta Aula

Leia mais

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador

Leia mais

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining Arquitecturas Alternativas Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining X86-64 Qual é o ISA que temos nas máquinas Intel actuais? O x86-64 que é uma extensão para

Leia mais

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia Informática e de Computadores

Leia mais

SSC304 Introdução à Programação Para Engenharias

SSC304 Introdução à Programação Para Engenharias Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Estrutura de um Computador GE4 Bio GE4Bio Grupo de Estudos

Leia mais

Arquitetura e Organização de computadores

Arquitetura e Organização de computadores Arquitetura e Organização de computadores Aula 1: Organização e evolução de computador, parte 1 Prof. MSc. Pedro Brandão Neto pedroobn@gmail.com Sistemas de Informação - UNDB Introdução Computador Digital

Leia mais

Organização de um computador. O que é um computador Organização de um computador Arquitectura de von Neumann

Organização de um computador. O que é um computador Organização de um computador Arquitectura de von Neumann Organização de um computador O que é um computador Organização de um computador Arquitectura de von Neumann Execução de um programa Como um computador executa um programa? O que é um computador? E um programa?

Leia mais

Arquitetura de Computadores. Conjunto de Instruções

Arquitetura de Computadores. Conjunto de Instruções Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas

Leia mais

Aula 2 - Programação de Computadores - CI208 1/21

Aula 2 - Programação de Computadores - CI208 1/21 Aula 2 - Programação de Computadores - CI208 Professor: Leonardo Gomes leonardog@inf.ufpr.br Universidade Federal do Paraná Brazil 2016 - Segundo semestre Aula 2 - Programação de Computadores - CI208 1/21

Leia mais

Sistemas Operacionais. Conceitos de Hardware e Arquitetura de computadores

Sistemas Operacionais. Conceitos de Hardware e Arquitetura de computadores Sistemas Operacionais Conceitos de Hardware e Arquitetura de computadores Arquitetura de Von Neumann Criada em 1945 Memória Unidade Lógica-Aritmética Unidade de Controle Entrada e Saída Um desktop atual

Leia mais

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

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

Métodos de implementação de linguagens. Kellen Pinagé

Métodos de implementação de linguagens. Kellen Pinagé Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1

AJProença, Sistemas de Computação, UMinho, 2017/18 1 Introdução aos Sistemas de Computação (3) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.

Leia mais

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física

Leia mais

Introdução à Computação Parte 2

Introdução à Computação Parte 2 Introdução à Computação Parte 2 José Gustavo de Souza Paiva Computação Objetivo básico auxiliar os seres humanos em trabalhos repetitivos e bra çais, diminuindo esfor ços e economizando tempo O computador

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. O Engenho Analítico é o primeiro

Leia mais

Classificação das linguagens de programação

Classificação das linguagens de programação Introdução Linguagem É um meio de comunicação entre pessoas. Faculdade de expressão audível e articulada do homem. Conjunto de sinais falados, escritos ou gesticulados de que se serve o homem para demonstrar

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INFORMÁTICA Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INFORMÁTICA Ano Lectivo 2017/2018 Programa da Unidade Curricular INFORMÁTICA Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Gestão das Organizações Desportivas 3. Ciclo de Estudos 1º 4.

Leia mais

Infra- Estrutura de Hardware

Infra- Estrutura de Hardware Infra- Estrutura de Hardware Conceitos Básicos de Arquitetura de Computadores Universidade Federal Rural de Pernambuco Professor: Abner Corrêa Barros Computador: Hardware + So=ware Computador: Hardware

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

1.1 Linguagens de Programação

1.1 Linguagens de Programação Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode

Leia mais

SSC0902 Organização e Arquitetura de Computadores

SSC0902 Organização e Arquitetura de Computadores SSC0902 Organização e Arquitetura de Computadores 3ª Aula Assembly MIPS Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor without interlocked pipeline stages (microprocessador

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura

Leia mais

Mestrado em Engenharia Física Tecnológica

Mestrado em Engenharia Física Tecnológica 2 a Aula - Os Meus Primeiros Programas em C Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física Instituto Superior Técnico Universidade

Leia mais

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina Sâmia Rodrigues Gorayeb Arquitetura de Computadores Linguagem de Máquina Arquitetura de Computadores Agenda: Linguagem de máquina 1. Introdução 2. Característica 3. Programas Compilados 4. Programas Interpretados

Leia mais

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Algoritmos e Linguagens de Programação Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Conceitos Básicos Para dizer o que um computador deve fazer devemos programá-lo através de instruções

Leia mais

Introdução ao Assembly usando o Simulador SPIM

Introdução ao Assembly usando o Simulador SPIM Arquitectura de Computadores 2004 / 2005 Introdução ao Assembly usando o Simulador SPIM Guia dos Laboratórios Departamento de Matemática e Engenharias Universidade da Madeira Planeamento dos Laboratórios:

Leia mais

Arquitetura e Organização de computadores

Arquitetura e Organização de computadores Arquitetura e Organização de computadores Aula 1: Organização e evolução de computador, parte 2 Prof. MSc. Pedro Brandão Neto, pedroobn@gmail.com Sistemas de Informação - UNDB Introdução 2 Máquinas Multiníveis

Leia mais

16. Compilação no Linux

16. Compilação no Linux 16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código

Leia mais

Microcontroladores e Interfaces

Microcontroladores e Interfaces Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2004/2005 http://www.dei.uminho.pt/lic/mint Aula A2 7 Mar 06 - M Uma Retrospectiva sobre a Arquitectura

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Ferramentas Programação. UDESC - Prof. Juliano Maia 1 Ferramentas Programação UDESC - Prof. Juliano Maia 1 Índice Seção 1 Linguagens de Programação Seção 2 Interpretador Seção 3 Compilador / Linkeditor Seção 4 Ambientes de Desenvolvimento UDESC - Prof. Juliano

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I Sistemas Operacionais I Revisão de conceitos Sistemas Operacionais I Dionisio Gava Junior Componentes básicos Componentes Básicos da Tecnologia da Informação Hardware CPU, Memória e Periféricos de E/S.

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Linguagem Técnica I. Prof. Jonatas Bastos

Linguagem Técnica I. Prof. Jonatas Bastos Linguagem Técnica I Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com 1 Objetivo da Disciplina p Entender os conceitos da programação orientada a objetos; p Aplicar conceitos básicos relativos a objetos

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES FUNDAMENTOS DA PROGRAMAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2014-1 Objetivos Compreender do que é composto um programa Compreender e conhecer as diferentes formas de

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

Função Fundamental do SO

Função Fundamental do SO Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a

Leia mais

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

Organização e Arquitetura de Computadores INTRODUÇÃO Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA Informática Aplicada 2009.2 Campus Angicos LISTA DE EXERCÍCIOS 01 Professor: Araken de Medeiros Santos INTRODUÇÃO À INFORMÁTICA 1. Cite alguns problemas que o uso de válvulas provocava nos computadores

Leia mais

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And

Leia mais

Organização Básica de computadores e linguagem de montagem

Organização Básica de computadores e linguagem de montagem Organização Básica de computadores e linguagem de montagem Prof. Edson Borin 1 o Semestre de 2012 Regras do Curso http://www.ic.unicamp.br/~edson/disciplinas/mc404/2012-1s/ Porque Aprender Linguagem de

Leia mais

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais