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

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

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

Transcrição

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

2 Provocação Você já se perguntou como é que os programas que você escreve são traduzidos em instruções executáveis pelas estruturas elementares em uma Arquitetura de Von Neumann?

3 Objetivo da disciplina Entender como funciona um computador Nível de Linguagem de Montagem e de Máquina Ideia Geral Compreender a interação entre componentes de hw e sw Entender a hierarquia de abstrações implementada por esses sistemas

4 Hierarquia de Abstrações

5 Assembly (não é Assembler ) Uso de mnemônicos Cada linha do código fonte possui apenas uma instrução para o processador (CPU) ex.: mov %eax, %edx

6 Assembly X Assembler Sufixo ER em inglês Programa assembly: usa o sistema operacional (por exemplo para E/S) Um montador ou assembler traduz: assembly linguagem de máquina Nós queremos: lidar com aspectos da programação assembly e linguagem de máquina. Hardware: nos interessa na medida em que influencia essa programação

7 Geração de um Executável É necessário traduzir o programa para linguagem de máquina Isto é feito em 4 etapas

8 Geração de um Executável É necessário traduzir o programa para linguagem de máquina Isto é feito em 4 etapas A propósito: eu usarei o compilador GCC do Linux!

9 1. Pré-Processamento Muda o programa conforme diretivas (#) #include <stdio.h> Incluir o arquivo sdio.h Gera um programa expandido (normalmente com extensão.i)

10 2. Compilação Traduz o programa.i em assembly Formato típico de saída da maioria dos compiladores Compiladores é uma disciplina regular dos cursos de Ciência da Computação

11 3. Montagem Transforma o código em assembly para linguagem de máquina Programa objeto Armazenado como um arquivo binário Extensão:.o

12 4. Ligação O ligador (linker) gera o programa executável a partir do.o gerado pelo assembler. Porém, pode haver funções padrão da linguagem (por ex., printf) que não estão definidas no programa, mas em outro arquivo.o précompilado (no caso, printf.o). O ligador faz a junção dos programas objetos necessários para gerar o executável.

13 Pra que estudar isso? Programando em linguagem de alto nível (C, C++, etc.) o programador não se preocupa com o gerenciamento de memória, e compilador ajuda a detectar vários erros relacionados a sintaxe e tipos de dados. Porém, é importante conhecer linguagem assembly e o que está por baixo do programa para: 1. Otimizar desempenho de programas Um switch é sempre mais eficiente que uma cadeia de if-else? Por que loops funcionalmente equivalentes podem ter desempenhos significativamente diferentes na execução?

14 Pra que estudar isso? 2. Entender erros de ligação Costumam ser os erros mais chatos em programação: referências não resolvidas, etc. 3. Se tornar mais preparado para evitar bugs, por exemplo, devido às limitações das representações dos tipos e na manipulação da memória Representações finitas de tipos: int s não são inteiros e float s não são reais e máquina arredonda ou trunca números. x 2 > 0 int: * =??? (x + y) + z = x + (y + z) float: 1e20 + (-1e ) =?? Memória não é confinada (bounded) em C. Exemplo de possível erro: main main () () { { long long int int a[2]; a[2]; double double d d = = 3.14; 3.14; a[2] a[2] = = ; ; /* /* Referência Referência out out of of bounds bounds */ */ printf("d printf("d = = %.15g\n", %.15g\n", d); d); exit(0); exit(0); } }

15 Pra que estudar isso? 4. Ser capaz de fazer engenharia reversa entender como um compilador gera código, ou como (uma parte) de um executável funciona 5. Obter uma primeira noção de como programar sistemas embarcados processadores específicos controle de máquinas- para os quais não existe ainda linguagem de alto nível

16 Onde a gente vai se debruçar

17 Onde a gente vai se debruçar Representação de dados, mecanismos de controle, funções, pilha, variáveis locais

18 Onde a gente vai se debruçar Representação de dados, mecanismos de controle, funções, pilha, variáveis locais Linguagem de montagem

19 Onde a gente vai se debruçar Representação de dados, mecanismos de controle, funções, pilha, variáveis locais Linguagem de montagem Interrupções Interação com SO

20 Onde a gente vai se debruçar Representação de dados, mecanismos de controle, funções, pilha, variáveis locais Linguagem de montagem Interrupções Interação com SO Ligação

21 Executando um programa >./hello >hello, word > O programa binário (executável) possui instruções em código de máquina O shell do SO lê o conteúdo para a memória e dispara (run) a execução Isso depende do HW

22 Um programa na Anatomia da Máquina

23 CPU (Central Processing Unit) Unidade de Controle Unidade Aritmética e Lógica (ALU) Conjunto de registradores Memória muito rápida contidos na CPU Instruções transferem dados entre memória e registradores Operandos ficam em registradores Exemplos de registradores PC (program counter): endereço da próxima instrução IR (Instruction register): instrução a ser executada Registradores de propósito geral

24 Fetch-Decode-Execute (busca-decodifica-executa) Algoritmo básico da CPU Busca instrução (copia em IR) Atualiza PC (para a próxima instrução) Decodifica instrução Busca microprograma e operandos na memória Executa instrução Aritméticas e lógicas / transferência de dados / desvio de fluxo Escreve na memória Seta flags de status

25 Esquema de instruções da CPU load copia um dado da memória para um registrador store copia um dado de um registrador para a memória operate copia dados de registradores para a ULA e executa uma operação jump extrai um endereço de uma instrução e escreve no PC

26 Memória Armazena dados e instruções de um programa Uma espécie de array sendo que Instruções ocupam um espaço variável Espaço dos dados depende do tipo Os registradores podem armazenar endereços O tamanho dos registradores limita o número de endereços acessáveis Registradores de 32 bits: 2 32 = Registradores de 64 bits: 2 64 =

27 Memória Virtual Cada processo possui uma memória próxima Mapeada em um espaço na memória real Pode extrapolar a memória RAM e usar parte do disco Responsabilidade do SO

28 Um programa na Anatomia da Máquina Hello, word \n Código de hello

29 Um programa na Anatomia da Máquina Hello, word \n Código de hello Hello word

30 O que queremos aprender? Armazenamento e representação dados Linguagem de Montagem (IA32) Conjunto típico de instruções Modelo de execução de linguagem de alto nível Expressões, atribuições, estruturas de controle Chamada de procedimentos Pilha de execução, registro de ativação, parâmetros Representação de ponto flutuante Interação com SO, interrupções Compilação e Ligação

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

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

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

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

Introdução a Programação Aula 01

Introdução a Programação Aula 01 Introdução a Programação Aula 01 Prof. Bruno Crestani Calegaro Curso de Sistemas de Informação ELC1064 Lógica e Algoritmo 1 O que é um computador? Máquina programável genérica Constituído por: Processador

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

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

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

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 03

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 03 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 03 Conceitos básicos de Sistemas Operacionais Hardware Software Concorrência

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

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

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

Linguagem de Programação I

Linguagem de Programação I Linguagem de ção I Curso de Sistemas de Informação Karla Donato Fook karladf@ifmaedubr DESU / DAI 2016 O que é um programa de computador? 2 1 de computador E_1 E_n Resultado Entrada(s) Processamento Saída(s)

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

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Interconexão do Computador Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes -

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

Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva

Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva Arquitetura de Computadores - Operação da Unidade de Controle por Helcio Wagner da Silva Microoperações Execução de programa... Ciclo de instrução Ciclo de instrução Ciclo de instrução Busca Indireto Execução

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

Infra-Estrutura de Software. Introdução

Infra-Estrutura de Software. Introdução Infra-Estrutura de Software Introdução Objetivos das duas próximas aulas Ao final da aula de quinta-feira você deverá ser capaz de: Descrever os componentes básicos de um computador Explicar como o sistema

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

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

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

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

Histórico e Evolução da Computação

Histórico e Evolução da Computação Lista de Exercícios Introdução à Informática Professor: Sérgio Salazar Histórico e Evolução da Computação O 1º computador foi o ENIAC, utilizado para montar tabelas para o cálculo de projéteis na 2ª Guerra

Leia mais

Linguagens de Programação:

Linguagens de Programação: Capítulo I : Noções Gerais 11 Linguagens de Programação: Como comunicar com o computador? Linguagem Máquina: Conjunto básico de instruções, em código binário, características de cada computador, correspondentes

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

Linguagem de Montagem Assembly

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

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

MATA49 Programação de Software Básico

MATA49 Programação de Software Básico MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Arquitetura dos processadores Intel PROF. LEANDRO ANDRADE 2 Um pouco de história... Como sabemos

Leia mais

Infra-Estrutura de Software. Introdução

Infra-Estrutura de Software. Introdução Infra-Estrutura de Software Introdução Computador Moderno Componentes físicos (hardware) Um ou mais processadores Memória Discos Impressoras Um Sistema Complexo!!! Vários outros dispositivos de E/S (tela,

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

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

Linux e Computação Científica

Linux e Computação Científica Linux e Computação Científica Sumário Motivação Noções de Sistemas Operacionais Ferramental Computação Científica Motivação Financeira Linux é livre Desempenho Linux gerencia melhor recursos de processdor,

Leia mais

Introdução à Computação: Arquitetura von Neumann

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann 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

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

Universidade Federal da Paraíba Centro de Informática Departamento de Informática

Universidade Federal da Paraíba Centro de Informática Departamento de Informática Universidade Federal da Paraíba Centro de Informática Departamento de Informática Disciplina: Introdução à Programação Horário: T08002, I08002 Sala: CISB01 T10002, I10002 Sala: CI304 Número de Créditos:

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

BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória

BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória Prof. Jesús P. Mena-Chalco 1Q-2016 1 Cloud9 Crie uma conta no c9.io Apenas é requerido criar uma área (máquina

Leia mais

AULA 3 Alocação dinâmica de memória: Ponteiros

AULA 3 Alocação dinâmica de memória: Ponteiros UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 3 Alocação dinâmica de memória: Ponteiros Estrutura de Dados 1 Variáveis X Ponteiros VARIÁVEL - Estrutura para armazenamento

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. João Bosco Jr. Bibliografia Livro Texto Organização Estruturada De Computadores Autor: Tanenbaum, Andrew S. Editora: Prentice Hall Brasil Outros Livros Arquitetura E Organização

Leia mais

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA 8 Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos:

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

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

Introdução à Informática. Alexandre Meslin

Introdução à Informática. Alexandre Meslin Introdução à Informática Alexandre Meslin (meslin@nce.ufrj.br) Organização da Memória Conceito de hierarquia de memória Memória principal e memórias secundárias Projeto lógico da memória principal Memórias

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

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

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

Gerenciamento de Memória Minix 3.1.7

Gerenciamento de Memória Minix 3.1.7 Gerenciamento de Memória Minix 3.1.7 Prof. Alexandre Beletti Introdução Não utiliza paginação Não faz swapping (está disponível, mas inativo) PM = gerencia processos e memória Chamadas de sistemas: Memória

Leia mais

AGT0001 Algoritmos Aula 01 O Computador

AGT0001 Algoritmos Aula 01 O Computador AGT0001 Algoritmos Aula 01 O Computador Karina Girardi Roggia karina.roggia@udesc.br Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016

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

Programação Estruturada

Programação Estruturada Programação Estruturada Organização de um ambiente computacional Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC

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

Infraestrutura de Software. CIn.ufpe.br

Infraestrutura de Software. CIn.ufpe.br Infraestrutura de Software Introdução Sistema Operacional Mecanismo de abstração dos dispositivos subjacentes Gerenciador de recursos (ex. processador, memória, impressora) Middleware Plataforma de suporte

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015

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

Lic. Engenharia de Sistemas e Informática

Lic. Engenharia de Sistemas e Informática Conceitos de Sistemas Informáticos Lic. Engenharia de Sistemas e Informática 1º ano 2004/05 Luís Paulo Santos Módulo Arquitectura de Computadores Execução de Programas LPSantos, CSI: Arquitectura de Computadores,

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

Introdução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem

Introdução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem Nível da Linguagem de Montagem (Aula 15) Linguagem de Montagem Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Introdução Tradutores Programas que convertem um programa

Leia mais

Tipos Abstratos de Dados (TAD)

Tipos Abstratos de Dados (TAD) Instituto de C Tipos Abstratos de Dados (TAD) Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Módulos e Compilação em separado

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

Arquitetura de Computadores - Módulos de E/S. por Helcio Wagner da Silva

Arquitetura de Computadores - Módulos de E/S. por Helcio Wagner da Silva Arquitetura de Computadores - Módulos de E/S por Helcio Wagner da Silva Modelo Geral de um Módulo de E/S Barramento de Endereço Barramento de Dados Barramento de Controle Módulo de E/S Conexões com Dispositivos

Leia mais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

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

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Introdução à Programação de Computadores Parte I

Introdução à Programação de Computadores Parte I Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado

Leia mais

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

1. Estrutura de Dados

1. Estrutura de Dados 1. Estrutura de Dados Não existe vitória sem sacrifício! Filme Transformers Um computador é uma máquina que manipula informações. O estudo da ciência da computação inclui o exame da organização, manipulação

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

Microcontroladores. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos www.decom.ufop.br/alex/ alexvbh@gmail.com

Microcontroladores. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos www.decom.ufop.br/alex/ alexvbh@gmail.com Microcontroladores Curso Engenharia de Controle e Automação Alex Vidigal Bastos www.decom.ufop.br/alex/ alexvbh@gmail.com 1 Sumário Microprocessadores CPU Microcontrolador Firmaware Registrador Registradores

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Alexandre Meslin (meslin@nce.ufrj.br) Objetivo do Curso Apresentar os conceitos básicos de informática, de software e de hardware. Introduzir os conceitos relativos à representação

Leia mais

Maratona de Programação - Dicas Para Iniciantes

Maratona de Programação - Dicas Para Iniciantes Sumário Maratona de Programação - Dicas Para Iniciantes Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Informática Cascavel, 2009 Sumário Sumário 1 Conceitos

Leia mais

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 ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Algoritmo e Lógica de Programação. Conceitos de Linguagens de Programação

Algoritmo e Lógica de Programação. Conceitos de Linguagens de Programação Algoritmo e Lógica de Programação Conceitos de Linguagens de Programação SUMÁRIO 1. LINGUAGENS DE PROGRAMAÇÃO...3 1.1 CLASSIFICAÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO...3 1.1.1 Linguagens de Alto Nível Comparadas

Leia mais

Conceitos básicos sobre computadores (continuação)

Conceitos básicos sobre computadores (continuação) SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores (continuação) Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário O que é um computador e

Leia mais

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador

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

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de

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

Aula 01. Breve História dos Computadores Informatiquês O Computador Software vs. Hardware. Introdução à Informática. Prof. Fábio Nelson.

Aula 01. Breve História dos Computadores Informatiquês O Computador Software vs. Hardware. Introdução à Informática. Prof. Fábio Nelson. Aula 01 Breve História dos Computadores Informatiquês O Computador Software vs. Hardware Slide 1 de Qual é a origem etimológica da palavra COMPUTADOR? Computador procede do latim computatore. Ao pé da

Leia mais

MICROPROCESSADORES. Aula 10

MICROPROCESSADORES. Aula 10 MICROPROCESSADORES Aula 10 Conteúdo 1. O QUE É UM PROCESSADOR? 2. HISTÓRICO 3. COMPONENTES 4. INFORMAÇÕES IMPORTANTES 5. LINHA DE PROCESSADORES DA INTEL 6. LINHA DE PROCESSADORES DA AMD 7. REFERÊNCIAS

Leia mais

MC-102 - Teste de Mesa e Comandos Repetitivos

MC-102 - Teste de Mesa e Comandos Repetitivos MC-102 - Teste de Mesa e Comandos Repetitivos Elaborado por Raoni Teixeira e Editado por Danillo Roberto Pereira Instituto de Computação Unicamp Primeiro Semestre de 2013 Introdução Introdução Pode acontecer

Leia mais

Introdução aos Sistemas Computacionais 2008/09

Introdução aos Sistemas Computacionais 2008/09 Nome: Introdução aos Sistemas Computacionais 2008/09 Exame 2ª Época 6 Fevereiro 2009 ATENÇÃO: A duração da prova é de 3 horas. Só poderá haver desistências após a primeira hora. Não é permitido o uso de

Leia mais

INFORMÁTICA. www.fatodigital.com.br. Introdução à Informática Hardware CONHECIMENTOS BÁSICOS EM INFORMÁTICA

INFORMÁTICA. www.fatodigital.com.br. Introdução à Informática Hardware CONHECIMENTOS BÁSICOS EM INFORMÁTICA Introdução à Informática Hardware 1 CONHECIMENTOS BÁSICOS EM INFORMÁTICA Hardware - parte física do equipamento, ou seja, tudo aquilo que é palpável. Software - programas. Peopleware - parte humana do

Leia mais

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador Kelly Rosa Braghetto DCC IME USP 25 de março de 2014 MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 1

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html

Leia mais

Algoritmos APRENDENDO A PROGRAMAR COM C#

Algoritmos APRENDENDO A PROGRAMAR COM C# Algoritmos APRENDENDO A PROGRAMAR COM C# Alô Mundo AULA 01 Conhecendo o ambiente O objetivo principal desse programa não é mostrar a mensagem Alo Mundo. O objetivo é apresentar o ambiente de desenvolvimento

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

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

- 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

Software Básico (INF1018)

Software Básico (INF1018) Software Básico (INF1018) http://www.inf.puc-rio.br/~inf1018 Noemi Rodriguez (noemi@inf.puc-rio.br) Ana Lúcia de Moura (amoura@inf.puc-rio.br) 1 Objetivo do curso Entender como funciona um computador típico,

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 2 Introdução: conceitos, máquinas de níveis. Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva O que é um sistema operacional? um provedor de abstrações

Leia mais

Programando em Assembly

Programando em Assembly Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)

Leia mais

Sistemas de Computação

Sistemas de Computação Sistemas de Computação Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/30 Assembly

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

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva ARQUITETURA DE COMPUTADORES Professor: Clayton Rodrigues da Siva OBJETIVO DA AULA Objetivo: Conhecer a estrutura da arquitetura da Máquina de Von Neumann. Saber quais as funcionalidades de cada componente

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre

Leia mais

INTERFACE PARALELA. Área: Eletrônica Nível de conhecimento necessário: básico. Autor:

INTERFACE PARALELA. Área: Eletrônica Nível de conhecimento necessário: básico. Autor: INTERFACE PARALELA Área: Eletrônica Nível de conhecimento necessário: básico Tópicos abordados: O que é a interface paralela? Quantas entradas e saídas ela possui? Construindo a interface Manipulando no

Leia mais