Your SlideShare is downloading. ×
0
Softwares
Conceitos Básicos
     Software:
            elemento em um computador que permite o
            uso de seus recursos físi...
Elementos constituintes do software
     Qualquer informação que
     possa ser armazenada
     eletronicamente
     Conte...
Características do Software
     O software, ao contrário do hardware, não é um
     produto manufaturado em série, sendo ...
Programas & Instruções
     Programas: faceta mais conhecida do software.
            um programa é uma lista ordenada de ...
Programas & Instruções
     O procedimento adotado pelo processador na
     execução de uma instrução é similar para todos...
Ciclos de busca e execução de uma
                 instrução
                        Ciclo de
                       Execu...
Linguagens de Programação
     Embora possam ser escritos usando-se as
     instruções, os programas são criados, na maior...
Geração                  Tipo da                                        Características
                       Linguagem
 ...
Tipos de programas executáveis
             quanto ao uso de memória
     Programas Residentes
            Ocupam um lugar...
Exemplo de alocação de programas
              na memória
Posição
  N


                                             Área ...
Exemplo de alocação de programas
              na memória
Posição                                      Área Livre
  N
    ...
Hierarquia de hardware e software
            em um computador
     O software pode ser
     classificado hierarquicamente...
Software Básico
     Correspondem aos programas que geram
     programas executáveis, ou que se
     comunicam diretamente...
Sistema Operacional
     Essencial a qualquer computador, executando funções
     básicas como: leitura do teclado, escrit...
Sistema Operacional




Introdução à Ciência
Introduç
da Computação
   Computaç                  Eduardo Nicola F. Zagari ...
Utilitários
     Programas que executam tarefas
     envolvendo a gerência dos recursos em
     um computador, sendo norma...
Tradutores
     A CPU dos computadores atuais só entende e
     tem capacidade de executar instruções em uma
     linguage...
Hierarquia das linguagens em um
                  computador

       Ling. Natural
       Ling. de Alto Nível
       Ling....
Tradutores
     Como a distância entre estas duas linguagens é muito
     grande, foram criadas várias linguagens intermed...
Tradutores
     As instruções do programa são armazenadas na memória do
     computador em grupos de bits, p.ex.: 10111001...
Tradutores
     Atualmente existem centenas de linguagens, nos
     mais diversos níveis, desenvolvidas para as mais
     ...
Exemplo Programa
program ACERTE_NUMERO (input, output);
 var     number, guess : integer;
 begin
  number := 2;
  writeln(...
Mesmo exemplo na linguagem montadora dos micro-
   processadores 80x86 Intel para execução em DOS
                     ORG...
Tradutores
     Os programas anteriores são chamados de programas-fonte por
     estarem escritos na linguagem simbólica e...
Interpretadores
     Os interpretadores são                                  Programa-fonte
     programas que lêem
     i...
Compiladores
     Os compiladores traduzem todas as instruções
     diretamente para a Linguagem de Máquina, a partir do
 ...
Compilação de vários programas-fonte que são
    ligados para criar um único programa
                       Programa-font...
Então, agora responda:
   como um mesmo
  programa pode ser
 executado em tantas
máquinas diferentes ?
Software Aplicativo
     São programas que atendem ao usuário final:
            processadores de texto, planilhas, sistem...
Bases de Dados
     É uma coleção de informação organizada de forma que possa ser
     manuseada de forma seletiva
     Sã...
Sistema de Gerência de
             Bases de Dados
     Programas usados para manipular uma base de dados,
     permitindo...
Editores de Texto
     Programas que permitem criar, visualizar,
     imprimir e modificar documentos.
                   ...
Processadores de Texto
     Gerência de Arquivos                  Macros
     Configuração de                       Compos...
Geradores de Planilhas
     Planilhas são arquivos tabulares de dados onde cada
     valor está associado a outros valores...
Geradores de Planilhas

                35

                30

                25                                        ...
Programas Gráficos
     Esta categoria engloba os aplicativos que permitem a
     visualização e manipulação de figuras, c...
Padrões
     Mapa de Bits

         Formato                                       Características

           BMP         ...
Padrões
     Gráficos Vetoriais
                       Formato                                   Descrição
               ...
A CPU e a execução dos softwares
     A CPU (Central Processing Unit - Unidade
     Central de Processamento) é formada po...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”
 Uma arquitetura simples contém                  ...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”

     Contador de Programa (PC) - É o registrador...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”

     Acumulador (AC) - É um registrador especial...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”

     Unidade Aritmética e Lógica (ALU) - É o
   ...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”
     Registradores de Dados (A, B, etc.) - São
  ...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”

     Registradores de Índices X, Y - São registr...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”

     Pilha (“Stack”) - É formada por porção da m...
Arquitetura básica de uma CPU baseada
       na “máquina de von Neumann”

     Ponteiro da Pilha (SP) - É um registrador d...
Carga do programa para execução

     O programa precisa ser carregado da memória
     secundária para a memória RAM para ...
Upcoming SlideShare
Loading in...5
×

ICC-07 Softwares - Introdução

4,814

Published on

Softwares: softwares básicos (sistemas operacionais, utilitários, tradutores, compiladores, interpretadores) e softwares aplicativos (bases de dados, editores e processadores de texto, geradores de planilhas, programas gráficos). Arquitetura Básica de uma Máquina de Von Newman.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,814
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
229
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "ICC-07 Softwares - Introdução"

  1. 1. Softwares
  2. 2. Conceitos Básicos Software: elemento em um computador que permite o uso de seus recursos físicos (hardware), de forma a cumprir uma determinada tarefa Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 2
  3. 3. Elementos constituintes do software Qualquer informação que possa ser armazenada eletronicamente Conteúdo de um programa que ao ser executado produz uma função documentos planejada dados Estruturas de dados que programa permitam que os programas manipulem adequadamente a informação instrução Add ax,bx Documentos que descrevam a operação e o uso de programas Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 3
  4. 4. Características do Software O software, ao contrário do hardware, não é um produto manufaturado em série, sendo obtido como resultado de um processo abstrato de criação, exibindo as seguintes características: É um elemento lógico, sendo desenvolvido ou projetado, e não manufaturado. É maleável, permitindo mudanças durante seu ciclo de vida. A maioria do software ainda é feita sob medida ao invés de ser criada a partir de módulos pré- existentes. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 4
  5. 5. Programas & Instruções Programas: faceta mais conhecida do software. um programa é uma lista ordenada de instruções que causa um comportamento pré-determinado no computador ao ser executada. uma instrução é composta de uma operação elementar, que possa ser executada pelo processador, e dos dados associados a esta operação. Exemplo: ADD AX,BX Significado: AX = AX + BX, sendo AX e BX registradores da CPU. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 5
  6. 6. Programas & Instruções O procedimento adotado pelo processador na execução de uma instrução é similar para todos os computadores e pode ser resumido como: Ao ser ligado o computador, sua CPU automaticamente lê uma posição de memória ROM onde está o primeiro byte da primeira instrução. Este primeiro byte, pelo seu código binário, dirá à CPU se a instrução é de um, dois, três ou quatro bytes. Se for uma instrução de um byte, depois de buscado este byte na memória, a CPU irá executá-lo Se for uma instrução de mais de um byte, a CPU vai buscar todos os outros antes de executá-la. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 6
  7. 7. Ciclos de busca e execução de uma instrução Ciclo de Execução Ciclos de Busca da da CPU Instrução Instrução 1ª instrução Memória ROM o ciclo de instrução para uma instrução de n bytes contém n+1 fases, Demais onde as n primeiras fases instruções consistem de ciclos de e dados busca na memória dos Memória bytes da instrução, RAM seguidos pelo ciclo de execução da instrução. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 7
  8. 8. Linguagens de Programação Embora possam ser escritos usando-se as instruções, os programas são criados, na maioria das vezes, usando-se comandos pré-definidos de mais alto nível de abstração (mais complexos que as instruções), que posteriormente são convertidos em instruções. Um conjunto fechado e completo de comandos é chamado de “linguagem de programação”. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 8
  9. 9. Geração Tipo da Características Linguagem 1ª Linguagem de A programação era feita diretamente com as instruções (e dados) Máquina escritos em binário, na forma como seriam executados pelo processador (programa-executável). 2ª Linguagem de A programação é feita usando-se representações simbólicas Montagem (nomes) para dados e instruções, que facilitem seu uso e entendimento pelo programador, criando-se um arquivo chamado de "programa-fonte". Posteriormente o programa-fonte deve ser convertido na forma executável (linguagem de máquina). 3ª Linguagem de Linguagens orientadas por procedimentos, com comandos que Alto Nível enfatizam o algoritmo matemático que corresponde a solução de um dado problema, sendo independentes das instruções de qualquer processador em particular. Como no caso anterior, criaa- se um programa-fonte que deve posteriormente ser convertido em instruções em linguagem de máquina de um processador específico, para possibilitar sua execução. 4ª Linguagem de Linguagens orientadas para a solução de problemas, classificadas Muito Alto Nível em vários tipos como: linguagens de consulta, geradores de aplicação, linguagens descritivas e, planilhas eletrônicas, processadores de texto, gerenciadores de banco de dados, etc Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 9
  10. 10. Tipos de programas executáveis quanto ao uso de memória Programas Residentes Ocupam um lugar "permanente" na memória principal do computador. Por esta razão, eles podem ser executados a qualquer momento, uma vez instalados, sem a necessidade de se carregar na memória primeiro. Programas Transientes São aqueles que são alocados na memória principal quando são executados. A cada chamada de um determinado programa executável, o mesmo é carregado totalmente na memória principal do computador, sendo descartado em seguida, liberando espaço da memória para outros programas. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 10
  11. 11. Exemplo de alocação de programas na memória Posição N Área Livre Rotinas para comando dos periféricos de E/S (B.I.O.S.) Posição Sistema Operacional 0 Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 11
  12. 12. Exemplo de alocação de programas na memória Posição Área Livre N Programa Residente Rotinas para comando dos periféricos de E/S (B.I.O.S.) Posição Sistema Operacional 0 Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 12
  13. 13. Hierarquia de hardware e software em um computador O software pode ser classificado hierarquicamente em software básico (também chamado software de sistema) Software Aplicativo e software aplicativo Por software aplicativo designam-se os programas orientados ao usuário final tais como: processadores de texto, bancos de dados, planilhas, Software Básico etc. Para ser criado e executar um programa aplicativo requer outros programas que fazem sua conexão com o hardware do computador, classificados Hardware coletivamente como software básico. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 13
  14. 14. Software Básico Correspondem aos programas que geram programas executáveis, ou que se comunicam diretamente com o hardware, executando funções de controle deste, permitindo seu uso pelos programas aplicativos. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 14
  15. 15. Sistema Operacional Essencial a qualquer computador, executando funções básicas como: leitura do teclado, escrita no vídeo, acesso ao disco, etc. Em muitos computadores os sistemas operacionais permitem que múltiplos usuários e/ou múltiplas aplicações estejam em execução ao mesmo tempo (via multiprogramação ou multiprocessamento). De acordo com suas características um sistema operacional pode ser: Multi-Usuário Multi-Processado Multi-Tarefa (multi-programado) Multi-Fluxo (multi-thread) Reativo: responde a eventos externos em tempo real. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 15
  16. 16. Sistema Operacional Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 16
  17. 17. Utilitários Programas que executam tarefas envolvendo a gerência dos recursos em um computador, sendo normalmente parte ou atuando conjugados ao sistema operacional. Exemplos de utilitários são os programas de controle do acesso ao disco, vídeo, etc Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 17
  18. 18. Tradutores A CPU dos computadores atuais só entende e tem capacidade de executar instruções em uma linguagem de nível muito baixo - Linguagem de Máquina ou (Linguagem "da" Máquina, uma vez que é diferente para cada CPU). Por outro lado, os usuários utilizam para se comunicar uma linguagem com um nível muitíssimo elevado - Linguagem Natural (português, inglês, etc). Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 18
  19. 19. Hierarquia das linguagens em um computador Ling. Natural Ling. de Alto Nível Ling. Montadora Ling. de Máquina Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 19
  20. 20. Tradutores Como a distância entre estas duas linguagens é muito grande, foram criadas várias linguagens intermediárias (ainda distantes da Linguagem Natural) com capacidade de traduzir um conjunto de instruções de nível superior ao nível da máquina. Todos os computadores, executam programas através de instruções em Linguagem de Máquina, chamados conjunto ou “set” de instruções - instruction set - do processador e está permanentemente gravado no processador desde a sua fabricação. Programa de computador um arranjo dessas ações elementares com um dado objetivo. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 20
  21. 21. Tradutores As instruções do programa são armazenadas na memória do computador em grupos de bits, p.ex.: 10111001 00011101 Linguagem de Montagem Para que os programadores não necessitassem lembrar cada uma das seqüências possíveis e os seus significados em Assemblers. Linguagens Assembly são chamadas de "baixo nível" porque estão muito próximas da Linguagem de Máquina cada comando em Linguagem Montadora é traduzido diretamente para o comando em LM correspondente. Seres humanos não pensam na forma de símbolos abreviados. Por que, então, não se comunicar com o computador numa Linguagem Natural? Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 21
  22. 22. Tradutores Atualmente existem centenas de linguagens, nos mais diversos níveis, desenvolvidas para as mais variadas aplicações. Linguagens como VisualBasic, C e C++ são de alto nível. Elas não são exatamente linguagens correntes, mas utilizam uma simbologia menos hermética que a LM, que tenta se aproximar das linguagens naturais e nos transmitem informações que dificilmente veríamos numa programa em Linguagem Montadora. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 22
  23. 23. Exemplo Programa program ACERTE_NUMERO (input, output); var number, guess : integer; begin number := 2; writeln('Escolha um numero entre 1 e 10'); readln( guess ); if number = guess then writeln('Voce acertou. Parabens!') else writeln('Lamento. Voce errou.') end. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 23
  24. 24. Mesmo exemplo na linguagem montadora dos micro- processadores 80x86 Intel para execução em DOS ORG 100 JMP inic msg1 DB ' Escolha um numero entre 1 e 10',13,10,'$' msg2 DB ' Voce acertou. Parabens ',13,10,'$' msg3 DB ' Lamento. Voce errou ',13,10,'$' inic: MOV AH,9 LEA DX,msg1 INT 21H MOV AH,1 INT 21H LEA DX,msg2 CMP AL,2 JZ ok LEA DX,msg3 ok: MOV AH,9 INT 21H MOV AH,4CH INT 21H Introdução à Ciência Introduç END da Computação Computaç Eduardo Nicola F. Zagari 24
  25. 25. Tradutores Os programas anteriores são chamados de programas-fonte por estarem escritos na linguagem simbólica e precisarem ser traduzidos para a linguagem de máquina. O programa ou código objeto é o resultado da tradução, quando se usa um compilador. O processo de tradução pode ser realizado por dois tipos de tradutores: os compiladores e os interpretadores. Ambos têm a mesma função, mas diferem quanto ao modo de realizarem a tradução. Interpretada opera só com programa FONTE Tradução Compilada a partir do FONTE gera OBJETO Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 25
  26. 26. Interpretadores Os interpretadores são Programa-fonte programas que lêem instruções escritas com caracteres ASCII e imediatamente executam Interpretação o que a instrução manda. de um Vantagem comando facilidade no desenvolvimento dos programas, mas precisam Execução ser traduzidos toda vez que do forem executados comando Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 26
  27. 27. Compiladores Os compiladores traduzem todas as instruções diretamente para a Linguagem de Máquina, a partir do texto em ASCII do programa um programa compilado é executado muito mais rapidamente que o mesmo programa interpretado Dependendo da linguagem de alto nível utilizada, a compilação se dará em etapas. Linkedição - há a necessidade de se juntar essas funções (ou bibliotecas) previamente compiladas A grande desvantagem do objeto é de não ser possível modificá-lo. Para tal é necessário retomar o fonte, fazer as alterações e recompilá-lo. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 27
  28. 28. Compilação de vários programas-fonte que são ligados para criar um único programa Programa-fonte 1 Programa-fonte N Compilação Compilação Programa-objeto 1 Programa-objeto N Biblioteca de Ligação Rotinas em Linguagem de Máquina Programa Para LIGAÇÃO Executável Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 28
  29. 29. Então, agora responda: como um mesmo programa pode ser executado em tantas máquinas diferentes ?
  30. 30. Software Aplicativo São programas que atendem ao usuário final: processadores de texto, planilhas, sistemas de gerência de bases de dados, programas gráficos, etc Necessitam do sistema operacional (software básico) para sua execução. Além destes exemplos, temos os sistemas desenvolvidos para atender as necessidades empresariais em geral. podem ser pacotes configuráveis para instalação em diversas empresas ou podem ser customizados, ou seja, desenvolvidos especificamente para atender uma determinada empresa. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 30
  31. 31. Bases de Dados É uma coleção de informação organizada de forma que possa ser manuseada de forma seletiva São organizadas tradicionalmente em: Campo (field): unidade básica de informação. Registro (record): conjunto de campos relacionados entre si segundo uma regra específica. Arquivo: conjunto de "records" relacionados entre si. As bases de dados podem ser organizadas também na forma de hipertextos, onde itens de informação podem ser figuras, texto, vídeos, etc, os quais podem ser associados livremente com quaisquer outros itens. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 31
  32. 32. Sistema de Gerência de Bases de Dados Programas usados para manipular uma base de dados, permitindo operações de consulta, inserção, supressão, e organização dos itens. Base de Dados é um conjunto de arquivos organizados de acordo com uma lógica que permita o acesso por intermédio de um gerenciador específico. Ex.: Base de Dados de Clientes, de Vendas, Acadêmico, Contábil, etc. Banco de Dados é o gerenciador citado na definição anterior. Ex.: Oracle, Sybase, SQL-Server, DB-2 IBM, etc. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 32
  33. 33. Editores de Texto Programas que permitem criar, visualizar, imprimir e modificar documentos. Função Descrição Inserção de texto Função primária de edição. Permite inserir texto em qualquer posição do documento. Supressão de texto Apagamento de caracteres, palavras, linhas, parágrafos, ou mesmo do documento inteiro. Recorte & Colagem Remoção de uma porção de texto para inserção (opcional) em outro ponto do documento. Cópia Duplicação de uma porção de texto. Dimensionamento de Página Ajuste do tamanho da página e das margens laterais, superior e inferior. Busca & Substituição Pesquisa no texto por um conjunto de caracteres, com sua eventual substituição por outro conjunto especificado. Ajuste de linha Movimento automático para a próxima linha quando a linha atual for completamente preenchida. Introduç Impressão Introdução à Ciência Impressão do documento. 33 da Computação Computaç Eduardo Nicola F. Zagari
  34. 34. Processadores de Texto Gerência de Arquivos Macros Configuração de Composição Fontes Verificação Ortográfica Notas & Referências Indexação Cruzadas Dicionário de Gráficos Sinônimos Cabeçalhos & Rodapés Múltiplas Janelas Layout WYSIWYG Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 34
  35. 35. Geradores de Planilhas Planilhas são arquivos tabulares de dados onde cada valor está associado a outros valores segundo regras definidas pelo usuário a alteração de um dado valor causa a mudança de seus associados Célula: cada local de entrada de dados da tabela Fórmula: relação entre células Programas geradores de planilhas permitem criação e manipulação de planilhas sua representação em formatos de saída gráficos como diagramas de barras, linhas, diagramas tri-dimensionais, etc. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 35
  36. 36. Geradores de Planilhas 35 30 25 Jan Fev 20 Mar 15 Abr Maio 10 Jun 5 0 Alimentação Gasolina Hotel Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 36
  37. 37. Programas Gráficos Esta categoria engloba os aplicativos que permitem a visualização e manipulação de figuras, como sua função principal, dentre os quais destacam-se: Desenho & Pintura Ilustração Apresentação Animação CAD Editoração Eletrônica Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 37
  38. 38. Padrões Mapa de Bits Formato Características BMP Padrão de mapa de bits do Windows GIF Padrão de mapa de bits criado pela Compuserve. Permite a criação de imagens com fundo transparente para a WEB. TIFF Permite a alteração da resolução, tamanho e número de cores usadas na imagem. JPG Formato definido por um consórcio de empresa, permitindo a compressão da imagem, havendo entretanto perda de resolução ou no número de cores usadas. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 38
  39. 39. Padrões Gráficos Vetoriais Formato Descrição CGM Formato desenvolvido por um consórcio de empresas. DXF Formato criado pela AutoDesk, hoje um padrão para arquivos de CAD EPS formato para representação de imagens no para impressoras post-script. HPGL Um dos primeiros formatos para gráficos vetorizados, é ainda muito usado por aplicações de CAD. WMF Padrão para troca de arquivos de imagens vetoriais no ambiente windows. Pode conter também imagens em mapas de bits. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 39
  40. 40. A CPU e a execução dos softwares A CPU (Central Processing Unit - Unidade Central de Processamento) é formada por componentes que manipulam valores binários e desempenham todas as operações previstas. Registradores ou Registros que são, portanto, locais ou posições de memória privilegiados, pois estão no mesmo circuito integrado da CPU. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 40
  41. 41. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Uma arquitetura simples contém os seguintes componentes ou registradores: Contador de Programa (Program Counter - PC) Memória Principal Acumulador (AC) ou diversos registradores de dados A, B, etc. Unidade Aritmética e Lógica (Arithmetic and Logic Unit - ALU) Registradores de Índices X, Y Registradores de Estado ou Status Flags – F Decodificador de Instrução Circuitos acionadores da execução da instrução decodificada Pilha (Stack) Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 41
  42. 42. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Contador de Programa (PC) - É o registrador que contém o valor binário do endereço numérico ou posição da instrução de máquina que está sendo executada. Após a execução da instrução o PC muda automaticamente de valor e indica o endereço da próxima instrução a ser executada. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 42
  43. 43. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Acumulador (AC) - É um registrador especial da CPU. Serve para armazenar o dado que foi trazido da memória principal para receber o tratamento previsto pela instrução: deslocamento (shift) ou rotação (rotate) de bits para a direita ou esquerda operações aritméticas e lógicas: contém um dos operandos e armazena o resultado da operação escrita ou leitura: guarda um valor que foi lido ou será escrito Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 43
  44. 44. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Unidade Aritmética e Lógica (ALU) - É o componente que executa, em conjunto com o AC ou outros registradores, as operações aritméticas (adição e subtração binária) e operações lógicas (verificação de sinais e composição de bits através de operações AND, OR, NOT, etc.). Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 44
  45. 45. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Registradores de Dados (A, B, etc.) - São registradores menos utilizados que o AC e servem, em geral, para efetuar operações que auxiliam a manipulação de dados pelo AC. Por exemplo, podem guardar temporariamente os dados do acumulador ou memória, ou podem ser incrementados ou decrementados, servindo como contador, etc. Não são, em geral, utilizados para operações aritméticas ou lógicas, deslocamentos, etc. Normalmente, o registrador A é o acumulador (AC). Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 45
  46. 46. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Registradores de Índices X, Y - São registradores que contêm uma das partes (denominada índice) que entram na formação (indexação) do endereço final ou efetivo da memória a ser usado como operando de uma instrução. Decodificador - É um circuito que recebe os bits do código de operação da instrução de máquina, identifica o tipo de operação a ser executada e comanda a execução dessa instrução. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 46
  47. 47. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Pilha (“Stack”) - É formada por porção da memória principal, e cujo tamanho varia de acordo com a utilização. Seu endereço está acessível através do registrador chamado Ponteiro da Pilha (Stack Pointer - SP). Pode ser usada como registrador para guardar dado, ou, mais comumente, guardar endereço de retorno de subrotina ou salvar conteúdo de registradores numa mudança de contexto, etc. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 47
  48. 48. Arquitetura básica de uma CPU baseada na “máquina de von Neumann” Ponteiro da Pilha (SP) - É um registrador da CPU que guarda o endereço ou posição atual disponível na pilha definida na memória. Pode ser decrementado ou incrementado através de instruções apropriadas. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 48
  49. 49. Carga do programa para execução O programa precisa ser carregado da memória secundária para a memória RAM para ser executado. Essa carga (LOAD) significa copiar o programa inteiro, instrução por instrução numa determinada área contínua da memória RAM disponível. Entretanto, nem sempre é possível carregar todo o programa, p.ex., porque o programa é maior que a RAM disponível. Tal problema pode ser resolvido pelo Sistema Operacional através de Overlay ou por Memória Virtual. Introdução à Ciência Introduç da Computação Computaç Eduardo Nicola F. Zagari 49
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×