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

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

Introdução à Informática Engenharia Agrícola

AGT0001 Algoritmos Aula 01 O Computador

Engenharia Civil. Conceitos Básicos. Introdução à Computação

Evolução dos computadores

Algoritmos Computacionais

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Sistemas Operacionais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

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

Estrutura de um computador digital. Gustavo Queiroz Fernandes

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

Arquitetura de Computadores

2. A influência do tamanho da palavra

Processador. Processador

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Elementos Físicos do SC e a Classificação de Arquiteturas

Introdução à Ciência da Computação

Conceitos sobre Computadores

Informática I. Aula /09/2006 1

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

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

Estrutura Básica de um Computador

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

Arquitetura de Computadores

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

Componentes de um Computador Típico

Sistema Computacional

COMPUTADOR 2. Professor Adão de Melo Neto

SSC510 Arquitetura de Computadores 1ª AULA

Conceitos básicos de hardware, software e peopleware e modelo de Von Neumann

Introdução à Informática

2. A influência do tamanho da palavra

Informática I. Aula 2. Ementa

Organização de Sistemas Computacionais Processadores: Organização da CPU

Puca Huachi Vaz Penna

Projeto de Algoritmos

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Arquitetura de Von Neumann

Infraestrutura de Hardware. Funcionamento de um Computador

Hardware. Informática

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01

Prof. Sandro Wambier

Arquitetura de Computadores. Infraestrutura de TI: Hardware

Organização de Computadores Aula 05

Sistemas Operacionais. Conceitos de Hardware

Organização de Computadores I

AEDI Introdução Revisão 2

Introdução à Computação MAC0110

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

Introdução à Informática

Conceitos Básicos Processador

AULA 01: APRESENTAÇÃO

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

Algoritmos e Técnicas de Programação. Professora Luciana Faria

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

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

Componentes do Computador

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

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO. Cristina Boeres

Informática Aplicada. Introdução

Fundamentos de Computação

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE

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

ORGANIZAÇÃO DE COMPUTADORES

Aula 12: Memória: Barramentos e Registradores

ORGANIZAÇÃO DE COMPUTADORES


Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Organização e Funcionamento

Aula 17: Organização de Computadores

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

ORGANIZAÇÃO DE COMPUTADORES

Disciplina: Arquitetura de Computadores

Programação de Computadores I - PRG1 Engenharia Elétrica

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

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

FACULDADE PITÁGORAS PRONATEC

Sistemas Operacionais

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho


Unidade Central de Processamento UCP (CPU)

Sistemas Operacionais I

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

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Introdução à Computação MAC0110

Arquitetura de Um Computador

Organização e Arquitetura de Computadores. Leslier S. Corrêa

Sistemas Operacionais. Visão Geral

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

SSC0611 Arquitetura de Computadores

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

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

2. Conceitos Básicos. Introdução à Ciência da Computação.

AULA 2. Prof.: Jadiel Mestre. Introdução à Informática. Introdução à Informática Componentes de um Sistema de Informação

Transcrição:

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador Kelly Rosa Braghetto DCC IME USP 14 de março de 2017 MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 1 / 27

Arquitetura de computadores primórdios Primeiros computadores eletrônicos (como o ENIAC, de 1945): não armazenavam programas; cada novo cálculo exigia que plugues e cabos fossem movidos para reprogramá-lo Programa entrada Controlador (SO) saída UCP Memória UCP = Unidade Central de Processamento Arquitetura do ENIAC MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 2 / 27

Arquitetura de von Neumann (usada nos computadores atuais) John von Neumann (matemático consultor do projeto ENIAC) publicou o conceito de programa armazenado em 1945 Programa Dados entrada Controlador (SO) saída Memória UCP UCP = Unidade Central de Processamento Arquitetura de von Neumann MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 3 / 27

O ciclo de busca e execução Programa: lista de instruções Processador efetua uma computação por meio do ciclo de busca e execução: 1 O processador lê uma instrução da memória 2 O processador executa a instrução MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 4 / 27

Modelo simplificado de um computador barramento de endereço UCP Memória Dispositivos de Entrada/Saída barramento de dados UCP Registradores Unidade Lógica e Aritmética Unidade de Controle MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 5 / 27

Dentro de uma UCP (processador), temos... Unidade Lógica e Aritmética (ULA) Realiza todas as tarefas relacionadas a operações aritméticas (adições, subtrações, etc.) e a operações de comparação (como igual ou maior que) Unidade de Controle (UC) Controla as ações realizadas pelo computador, comandando todos os demais componentes de sua arquitetura 1. Lê dados ou instruções da memória ou dos dispositivos de entrada 2. Decodifica as instruções 3. Alimenta a ULA com as entradas corretas de acordo com as instruções 4. Envia os resultados à memória ou aos dispositivos de saída MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 6 / 27

Dentro de uma UCP (processador), temos... Registradores Um registrador é uma coleção de circuitos que armazenam bits Os registradores de um processador não precisam armazenar uma mesma quantidade de bits (mas é mais fácil de se lidar com eles quando eles são assim) A quantidade de bits que se pode armazenar em um registrador típico do processador é um dos atributos que determinam sua classificação (Ex.: processador de 32-bits, ou de 64-bits, etc.) Cada registrador possui uma função própria. Exemplos: Apontador de instrução (IP, de instruction pointer ou contador de programa (PC, de program counter) aponta para a próxima instrução a executar Registrador de instrução (IR, de instruction register) armazena a instrução em execução Armazenamento de resultados intermediários MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 7 / 27

Registradores UCP Segmento de memória Reg A Reg B Reg C Reg D barramento de endereço 0 1 2 3 4 (célula) RI PC ULA UC barramento de dados. MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 8 / 27

Conjunto de instruções de um processador As instruções são as operações que um processador é capaz de realizar; elas são a parte do processador que é visível para os programadores Cada processador possui o seu próprio conjunto finito de instruções, que pode variar de fabricante para fabricante Mas processadores com arquiteturas internas diferentes podem ter um mesmo conjunto de instruções (ex.: Intel Pentium e AMD Athlon) Um processador executa instruções em uma dada frequência; exemplos de frequências comuns atualmente: 3.7 GHz, para um computador de mesa (desktop) 3.3 GHz, para um computador portátil (notebook) 1.9 Ghz, para um computador de mão (smartphone ) Obs.: GHz = bilhões de instruções por segundo MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 9 / 27

Conjunto de instruções de um processador Operações As instruções de um processador se relacionam às seguintes funcionalidades: operações matemáticas e lógicas movimentação de dados (transferência de dados da memória para os registradores e vice-versa) operações de entrada/saída (leitura ou escrita de dados em dispositivos de entrada e saída) controle do fluxo de execução (desvios condicionais ou incondicionais) MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 10 / 27

Memória A memória do computador pode ser vista como uma lista de células Cada célula pode armazenar uma quantidade fixa e pequena de informação. Uma informação pode ser: uma instrução que diz ao computador o que fazer dados a serem processados pelo processador usando as instruções Cada célula tem um endereço numérico; células contíguas na memória possuem números de endereços sequenciais MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 11 / 27

Tipos de memória Memórias voláteis São chamadas de memória do tipo RAM Random Access Memory Precisam de energia para manter seu conteúdo ( = só funcionam com o computador ligado) Memória não voláteis (ou permanentes) Mantém as informações de forma permanente São mais baratas que as memórias voláteis e possuem maior capacidade de armazenamento, mas são muito mais lentas Exemplo: disco rígido (HD Hard Disc) Um computador pessoal da atualidade possui cerca de 4GB de RAM e 500GB de HD. MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 12 / 27

Um parênteses sobre bytes e bits... Um bit (de binary digit) é a menor unidade de informação que pode ser armazenada ou transmitida Um bit pode assumir somente 2 valores: 0 ou 1 (corte ou passagem de energia respectivamente) Cada célula de uma memória é composta por bits Todas as células de uma mesma memória contêm a mesma quantidade de bits Geralmente, uma célula contém 8 bits 8 bits = 1 byte 1 GB = 10 9 bytes = 1 bilhão de bytes MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 13 / 27

Dispositivos de Entrada e Saída E/S Definem como o computador recebe informação do mundo exterior e como ele devolve informação para o mundo exterior Exemplos de dispositivos de entrada: teclado, mouse, scanner, microfone e câmera Exemplos de dispositivos de saída: monitor, impressora, projetor de vídeo, caixa de som MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 14 / 27

O ciclo de busca e execução (revisitado) A UCP executa cada instrução por meio de uma série de pequenos passos: 1. Lê a próxima instrução na memória e a armazena no registrador de instrução (RI) 2. Muda o registrador contador de programa (PC), para que ele aponte para a instrução seguinte 3. Determina o tipo da instrução que acabou de ser lida 4. Se a instrução usa algum dado da memória, determina onde ele está 5. Carrega o dado, se necessário, em um registrador da UCP 6. Executa a instrução 7. Volta para o passo 1, para começar a execução da instrução seguinte O processador executa esse ciclo infinitas vezes (ou até que o computador seja desligado). MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 15 / 27

Programas Um programa é uma sequência de instruções que ficam armazenadas na memória. Exemplo: O que faz o seguinte programa? Pos. memória Instrução 01 Carregue o RegA com [30] 02 Armazene [RegA] em 31 03 Entre um número e armazene-o em 32 04 Exiba numericamente [32] 05 Carregue o RegA com [32] 06 Se [RegA] < 0 desvie para 11 07 Carregue o RegA com [31] 08 Adicione ao RegA [32] 09 Armazene [RegA] em 31 10 Desvie incondicionalmente para 03 11 Exiba numericamente [31] 12 Pare Obs.: Considere que, no início da execução, a posição de memória 30 contém o valor 0. MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 16 / 27

Como os programas são escritos? Quem define como instruções e dados podem ser usados para produzir algo útil são os algoritmos. Definição informal: Um algoritmo é uma estratégia para resolver um problema. Um algoritmo deve ter as seguintes propriedades: 1. Ser claro e estar definido de forma não ambígua 2. Ser efetivo, ou seja, todos os seus passos devem ser exequíveis 3. Ser finito, ou seja, deve terminar depois de um número limitado de passos MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 17 / 27

Algoritmos Algoritmos são como receitas de bolo: Uma receita de bolo determina como utensílios e equipamentos de cozinha (como recipientes, fornos, etc.) devem ser usados para transformar ingredientes em um bolo Um algoritmo determina como recursos computacionais (memória, processador, dispositivos de E/S, etc.) devem ser usados para processar dados de entrada e produzir a saída desejada MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 18 / 27

Como os programas são escritos? O algoritmo é uma entidade abstrata, que define uma ideia Um programa é uma realização de um algoritmo Um mesmo algoritmo pode ser escrito como programas diferentes, usando linguagens diferentes Da mesma forma que uma receita pode ser escrita de várias formas MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 19 / 27

Algoritmo (exemplo) Como ensinar um computador a fazer a divisão a/b de dois números inteiros a e b quando ele só sabe realizar instruções simples, como somar e subtrair números? [PAUSA PARA VOCÊ PENSAR A RESPEITO] MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 20 / 27

Algoritmo (exemplo) Como ensinar um computador a fazer a divisão a/b de dois números inteiros a e b quando ele só sabe realizar instruções simples, como somar e subtrair números? Um exemplo de solução: 1 Carregue os valores a e b em RegA e RegB 2 Carregue o valor zero em RegC 3 Se RegA <= RegB desvie para 7 4 Incremente o valor em RegC : RegC = RegC +1 5 Subtraia o valor b de RegA : RegA = RegA - RegB 6 Desvie incondicionalmente para 3 7 Imprima o valor em RegC 8 Pare MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 21 / 27

Programas e linguagens de programação Na prática, é muito difícil trabalhar diretamente com instruções de máquina Usando uma linguagem de programação de alto nível fica mais fácil de escrever (e entender!) os programas Problema: um programa escrito em uma linguagem de programação de alto nível não pode ser executado diretamente pelo processador Um programa em uma linguagem de programação de alto nível precisa ser convertido em um programa em uma linguagem de baixo nível (= linguagem de máquina) para que possa ser executado pelo computador Essa conversão é feita por meio de dois tipos de programas: os compiladores e os interpretadores MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 22 / 27

Linguagem de alto nível linguagem de máquina Compilador O compilador lê o programa e o traduz completamente antes que o programa comece a ser executado O programa escrito em linguagem de alto nível é chamado de código fonte O programa traduzido é chamado de código objeto ou executável Uma vez que um programa é compilado, ele pode ser executado repetidamente, sem que uma nova tradução seja necessária Exemplo de linguagem de programação que gera programas que precisam ser compilados: Linguagem C MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 23 / 27

Linguagem de alto nível linguagem de máquina Interpretador O interpretador lê um programa escrito em linguagem de alto nível e o executa Ele processa o programa um pouco de cada vez, alternadamente: ora lendo uma(s) linha(s) do código fonte, ora realizando computações Exemplo de linguagem de programação que gera programas que precisam ser interpretados: Python MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 24 / 27

E já que falamos de código fonte, código objeto...... vale a pena também falar do Sistema de Arquivos Tanto o código fonte quanto o código objeto são armazenados no computador como arquivos Todas as informações que armazenamos nos dispositivos de memória não volátil são armazenadas na forma de arquivos Há 3 tipos básicos de arquivos: aplicativos podem ser executados pelo computador dados são usados como entrada e/ou saída para os aplicativos diretórios (ou pastas) são arquivos que contêm outros arquivos; são usados para organização MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 25 / 27

Cenas dos próximos capítulos... Na próxima aula veremos: O esqueleto de um programa Comandos de entrada, saída, atribuição e repetição Introdução ao uso do ambiente de desenvolvimento (Idle3) E não deixe de ver também: Aula 1 extra uma breve introdução à História da Computação http://www.ime.usp.br/~kellyrb/mac2166_2017/ arquivos/mac2166_aula1_extra.pdf MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 26 / 27

Bibliografia Capítulo 1 Como Funciona um Computador da apostila Introdução à Ciência da Computação Usando a Linguagem C http://www.ime.usp.br/~hitoshi/introducao/ Livro Structured Computer Organization, de A. S. Tanenbaum O computador a papel, de Valdemar W. Setzer http://www.ime.usp.br/~vwsetzer/comp-papel.html MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 27 / 27