18
SISTEMAS DE PROGRAMAÇÃO I UNIDADE 1 - INTRODUÇÃO TURMA: 9º Período DISCIPLINA: Sistemas de Programação I PROFESSOR: Pedro Pacheco Bacheti [email protected] www.sites.google.com/site/professorengpedro Cariacica (ES), Agosto de 2014.

SPI - Unidade 1

Embed Size (px)

DESCRIPTION

Conceitos básicos de sistemas de programação

Citation preview

  • SISTEMAS DE PROGRAMAO IUNIDADE 1 - INTRODUO

    TURMA: 9 Perodo

    DISCIPLINA: Sistemas de Programao I

    PROFESSOR: Pedro Pacheco Bacheti

    [email protected]

    www.sites.google.com/site/professorengpedro

    Cariacica (ES), Agosto de 2014.

    mailto:[email protected]://www.sites.google.com/site/professorengpedro
  • CONCEITOS BSICOS

    ________________________________________________________________________________

    O que define um sistema de programao?

    SISTEMAS DE PROGRAMAO I INTRODUO

    Uma linguagem de programao um mtodo padronizado para expressar instrues para um computador.

    um conjunto de regras sintticas e semnticas usadas para definir um programa de um computador.

    Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai processar

    e como estes dados sero armazenados ou transmitidos e quais aes devem ser tomadas sob vrias circunstncias.

  • CONCEITOS BSICOS

    ________________________________________________________________________________

    SISTEMAS DE PROGRAMAO I INTRODUO

  • SISTEMA PROCESSADO

    ________________________________________________________________________________

    Software: Conjunto lgico que permite o usurio controlar, utilizar e programar o hardware do sistema

    microprocessado

    Firmware: uma classe de software presente em dispositivos de hardware, ele permite a comunicao entre

    o software e o hardware.

    Hardware: Conjunto de componentes fsicos que compe o sistema microprocessado.

    Programa: Sequncia de instrues que depois de codificada na forma binria pode residir numa memria

    eletrnica.

    Dados: So nmeros ou caracteres representados no sistema binrio.

    SISTEMAS DE PROGRAMAO I INTRODUO

  • SISTEMA PROCESSADO

    ________________________________________________________________________________

    Cdigo-fonte: Criado em editor de textos, contendo os comandos da linguagem de programao

    Cdigo-objeto: Criado pela converso do cdigo-fonte em linguagem de mquina

    Montador: Ferramenta que permite a traduo de programas-fonte escritos em linguagem de montagem para

    programas-objeto.

    Ligador (Linker): Ferramenta que permite a concatenao de vrios programas-objeto realocveis em um

    nico programa-objeto realocvel.

    Compilador: Sequncia de instrues que depois de codificada na forma binria pode residir numa memria

    eletrnica.

    Alocador: Permite transformar um programa-objeto realocvel em um programa-objeto absoluto, definindo

    assim, as posies de memria a serem utilizadas pelo programa.

    SISTEMAS DE PROGRAMAO I INTRODUO

  • SISTEMA PROCESSADO

    ________________________________________________________________________________

    SISTEMAS DE PROGRAMAO I INTRODUO

  • ESTRUTURA BSICA

    ________________________________________________________________________________

    SISTEMAS DE PROGRAMAO I INTRODUO

  • SISTEMAS DE PROGRAMAO I INTRODUO

    ESTRUTURA BSICA

    ________________________________________________________________________________

    Os dados e as instrues so armazenadas em uma nica memria de leitura e escrita.

    O contedo dessa memria endereado pela sua posio, independente dos tipos de dados nela contidos.

    A execuo de instrues ocorre de modo sequencial (exceto quando essa sequncia explicitamente

    alterada de um instruo para a seguinte).

  • PROCESSADORES DIGITAIS

    ________________________________________________________________________________

    CPU (Unidade Central de Processamento)

    Processa as instrues contidas no programa e divida em:

    Unidade de Controle (UC)

    Unidade Lgica e Aritmtica (ULA)

    Decodificador de Instruo

    Registradores

    SISTEMAS DE PROGRAMAO I INTRODUO

  • EXERCCIOS DE FIXAO

    ________________________________________________________________________________

    1) Defina Firmware

    2) Qual a funo do software para o hardware?

    3) Qual a diferena entre o compilador e o montador?

    4) Qual a funo do ligador (linker)?

    SISTEMAS DE PROGRAMAO I INTRODUO

  • LINGUAGEM DE ALTO NVEL

    LINGUAGEM ASSEMBLY

    LINGUAGEM DE MQUINA

    SISTEMAS DE PROGRAMAO I INTRODUO

    LINGUAGENS

    ________________________________________________________________________________

  • LINGUAGEM DE MQUINA: Informaes binrias as quais configuram e controlam todo

    hardware. Difcil interpretao por parte humana.

    LINGUAGEM DE MONTAGEM: Foi definida com base na linguagem de mquina, onde cada

    instruo representada por um comando mnemnico em caractere alfanumrico. Os

    programas escritos nestas linguagens so especficos para cada famlia de

    microprocessadores.

    LINGUAGENS DE ALTO NVEL: So caracterizadas por apresentar comandos alfanumricos,

    onde cada comando costumas ser implementado por um conjunto de instrues de mquina,

    de forma transparente ao programador, que a princpio no necessita conhecer as

    caractersticas de arquitetura e programao de cada processador para poder progam-lo.

    SISTEMAS DE PROGRAMAO I INTRODUO

    LINGUAGENS

    ________________________________________________________________________________

  • Total domnio do processo de gerao de cdigo por parte do programador, que pode gerar

    programas otimizados e eficientes (menor tamanho, uso de truques de programao,...)

    Necessidade de bons conhecimentos das caractersticas do processador e de seu conjunto de

    instrues, por parte do programador.

    No portabilidade, uma vez que cada processador possui (em geral) arquitetura e conjunto de

    instrues especficos.

    Alto custo de desenvolvimento e depurao dos programas, que so mais difceis e demorados

    de serem produzidos e depurados.

    SISTEMAS DE PROGRAMAO I INTRODUO

    LINGUAGENS: BAIXO NVEL

    ________________________________________________________________________________

  • Portabilidade, ou seja, independncia do processador para o qual se est gerando programas.

    Maior custo do compilador em relao ao custo do montador.

    Necessidade do conhecimento da sintaxe de mais de uma linguagem por parte do

    programador.

    Gerao de programas maiores e menos eficientes.

    Costuma ser 10 vezes mais rpido fazer um programa em linguagem de alto nvel do que em

    linguagem de montagem (assembly).

    SISTEMAS DE PROGRAMAO I INTRODUO

    LINGUAGENS: ALTO NVEL

    ________________________________________________________________________________

  • Hexadecimal Assembly Descrio

    0xF6 MOV @R0,AMove para o registrador endereado pelo registrador R0 o valor do

    Acumulador

    0xE6 MOV A,@R0 Move para o Acumulador o valor do registrador endereado pelo

    registrador R0

    0xE8 MOV A,R0 Move para o Acumulador o valor do registrador R0

    0xA6 80 MOV @R0,080hMove para o registrador endereado pelo registrador o valor do registrador

    de endereo 80 hexadecimal

    0x78 80 MOV R0,#080h Move para o registrador R0 o valor 80 hexadecimal

    0x85 10 20 MOV 010h,020hMove para o registrador endereado em 20 hexadecimal o valor endereado

    em 10 hexadecimal

    Binrio Hexadecimal Assembly

    01110100 01100001 0x74 61 MOV A,061h

    SISTEMAS DE PROGRAMAO I INTRODUO

    LINGUAGENS

    ________________________________________________________________________________

  • SISTEMAS DE PROGRAMAO I INTRODUO

    LINGUAGENS

    ________________________________________________________________________________

  • SISTEMAS DE PROGRAMAO I INTRODUO

    LINGUAGENS: EXEMPLOS

    ________________________________________________________________________________

  • SISTEMAS DE PROGRAMAO I INTRODUO

    EXERCCIOS DE FIXAO

    ________________________________________________________________________________

    1) Cite 02 vantagens de cada uma das linguagens: alto e baixo nvel

    2) Explique qual tipo de linguagem e por qual motivo tal linguagem necessita do compilador

    3) Explique qual etapa necessria para linguagem que no necessita do compilador possa ser carregada em

    uma memria digital. (Informe qual esta linguagem)

    4) O que diferencia os dados das instrues na memria?