introdução a computação

58
Introdução a computação: Histórico e organização Prof. Sérgio Souza Costa

Upload: sergio-souza-costa

Post on 06-Jun-2015

860 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introdução a computação

Introdução a computação: Histórico e organização

Prof. Sérgio Souza Costa

Page 2: Introdução a computação

Sobre mim

Sérgio Souza CostaProfessor - UFMADoutor em Computação Aplicada (INPE)

[email protected]

https://sites.google.com/site/profsergiocosta/home

https://twitter.com/profsergiocosta

http://gplus.to/sergiosozuzacosta

http://www.slideshare.net/skosta/presentations?order=popular

http://br.linkedin.com/pub/s%C3%A9rgio-souza-costa/20/9b0/ba9/

Page 3: Introdução a computação

Um breve histórico da computação

Page 4: Introdução a computação
Page 6: Introdução a computação

séc.I a.C. Uma única máquina de calcular datada desse período foi descoberta e continua sendo um mistério

Page 7: Introdução a computação

800. Al-Kharazmi introduziu a escrita dos ca ́lculos no lugar do uso do a ́baco.

Mais antigo manuscrito europeu com numerais indo- ara ́bico

Aula sobre sistemas de numeração

Page 8: Introdução a computação

1623 Schickard começa a construir o “relógio de calcular” em Tübingen: reconhecido em geral como o primeiro computador digital

Page 9: Introdução a computação

1630 Oughtred inventa a régua de cálculo: considerada por muitos o primeiro computador analógico

Page 10: Introdução a computação

1642 Pascal inventa uma excelente máquina de calcular, capaz de manipular números de oito dígitos

Page 11: Introdução a computação

1673 Leibniz inventa uma máquina de calcular mais simples e mais eficiente, capaz de calcular raízes quadradas início

Page 12: Introdução a computação

séc.XIX O tecelão francês Jacquard cria cartões para controlar padrões de tecelagem em seus teares — a primeira programação de uma máquina (precursor dos cartões perfurados)

Page 13: Introdução a computação

1823 Babbage começa a trabalhar em sua Máquina de Diferenças nº 1

A condessa Augusta Ada King, filha do poeta inglês Lord Byron, foi assistente de Babbage ajudando-o na programação do computador, tornando-se assim na primeira mulher programadora.

Page 14: Introdução a computação

1854 Boole publica seu artigo sobre lógica binária. A base dos circuitos lógicos e processadores.

Page 15: Introdução a computação

1896 Hollerith usa sua máquina de leitura de cartões para o censo dos Estados Unidos

Quando foi usada para o censo dos Estados Unidos

de 1890, a máquina de Hollerith conseguiu processar

todos os dados em seis semanas. (No censo anterior,

de 1880, o processo demandara três anos). Em 1896

Hollerith entrou no mundo dos negócios, criando sua

Tabulating Machine Company, que mais tarde veio a

se transformar na International Business Machine

Corporation (IBM).

Page 16: Introdução a computação

191x - Lógicos, filosofos e matemáticos se questionam se a matemática é completa. O paradoxo de Russel:

Bertrand Russel

O barbeiro é um homem da cidade que faz a barba de todos aqueles, e somente dos homens da cidade que não barbeiam a si mesmos. Tudo isso parece perfeitamente lógico, até que se coloca a questão paradoxal:● Quem barbeia o barbeiro?

Page 17: Introdução a computação

1937 Turing publica “On computable numbers”, delineando os limites teóricos de qualquer computador futuro

http://morphett.info/turing/turing.html

Page 18: Introdução a computação

194x - Primeiros computadores eletrônicos, Colossus, Mark,

Page 19: Introdução a computação

1945, Grace Hopper, enquanto trabalhava no MARK II, encontrou o primeiro bug de computador no sentido literal do termo.

Page 20: Introdução a computação

Batizado de ENIAC (Electronic Numeric Integrator and Calculator), era um computador que podia fazer aproximadamente 5000 cálculos por segundo. Foi útil, por exemplo, para calcular o ângulo e trajetória de bombas. O ENIAC foi o primeiro computador a não possuir mais nenhuma peça mecânica.

O ENIAC fazia 5 mil adições e subtrações, 350 multiplicações ou 50 divisões por segundo .

ENIAC tinha 18.000 válvulas, ocupava uma área de 170m² e

pesava 30 toneladas.

1946 ficou pronto o que se costuma chamar de o primeiro computador. A data do início de sua construção (1943) foi estabelecida como um marco da computação.

Page 21: Introdução a computação

A programação do ENIAC (Electronic Numerator, Integrator, Analyzer, and Computer) exigia dias de trabalho para sua programação através de modificações físicas.

Page 22: Introdução a computação

1949 EDVAC (Eletronic Discrete Variable Automatic Computer) se torna operacional

Engenheiro matemático húngaro e naturalizado americano desenvolveu um projeto de computador baseado na lógica, com armazenamento eletrônico da informação e de dados de programação. O computador processaria os dados de acordo com as necessidades do usuário, ou seja, as instruções não viriam pré-determinadas. Mais tarde esse computador foi construído recebendo o nome de EDVAC.

Outro computador projetado por Von Neumman, foi o IAS. Neste site está disponível um simulador para este computador.

Von Neumann

Page 23: Introdução a computação

1951, O primeiro UNIVAC foi entregue ao escritório do censo dos Estados Unidos. Considerado o primeiro computador “comercial”.

Presper Eckert e John Mauchly os pioneiros da informática fundaram a companhia, com o objetivo de fabricar máquinas baseadas em suas experiências com o ENIAC e o EDVAC.

Page 24: Introdução a computação

A arquitetura de Von Neumann

Page 25: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Page 26: Introdução a computação

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Modelo de barramento de sistema (arquitetura Von Neumman)

Nela foi introduzido o conceito de memória, um dispositivo de armazenamento temporário, para onde programas (e dados) diferentes

Page 27: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

poderiam ser carregados a partir de uma unidade de entrada,

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Page 28: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

para serem executados pela unidade aritmética e lógica (ULA)

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Page 29: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

com os resultados sendo transferidos da memória para uma unidade de saída,

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Page 30: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

coordenado por uma unidade de controle (UC)

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Page 31: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

No barramento de sistema são transmitidos endereços, dados e sinais entre o processador, memória e unidade de entrada/saída

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Page 32: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

No barramento de sistema são transmitidos endereços, dados e sinais entre o processador, memória e unidade de entrada/saída.

Um barramento pode ainda ser interno ao processador, conectando as suas partes(UC, ULA e Registradores)

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

Page 33: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

No barramento de sistema são transmitidos endereços, dados e sinais entre o processador, memória e unidade de entrada/saída.

Um barramento pode ainda ser interno ao processador, conectando as suas partes(UC, ULA e Registradores)

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTONesse modelo, as unidades de controle e logica aritmética são agrupadas em uma única unidade unidade nomeada de unidade central de processamento (UCP). Processador

Page 34: Introdução a computação

Modelo de barramento de sistema (arquitetura Von Neumman)

No barramento de sistema são transmitidos endereços, dados e sinais entre o processador, memória e unidade de entrada/saída.

Um barramento pode ainda ser interno ao processador, conectando as suas partes(UC, ULA e Registradores)

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTONesse modelo, as unidades de controle e logica aritmética são agrupadas em uma única unidade unidade nomeada de unidade central de processamento (UCP). Processador

As unidades de entrada e saída são também agrupadas como uma unidade de entrada e saída (E/S).

Page 35: Introdução a computação

Unidade Central de Processamento

A unidade de processamento, conhecida como UCP (unidade central de processamento) ou do inglês CPU (central processing unit) tem como função executar programas armazenados na memoria buscando suas instruções e executando-as uma após a outra.

Page 36: Introdução a computação

Unidade Central de Processamento

Nos primeiros computadores estas tarefas eram implementadas em circuitos de grandes dimensões, utilizando milhares de válvulas e transistores.

Page 37: Introdução a computação

Unidade Central de Processamento

Porém, com o surgimento dos circuitos integrados estas tarefas passaram a ser implementadas por estes, que são conhecidos como microprocessadores.

Page 38: Introdução a computação

Unidade Central de Processamento

As tarefas de um processador podem ser resumidas a cinco:

1. Buscar instrução na memória.2. Interpretar e decodificar a instrução, determinando a ação

requerida.3. Caso necessário, buscar dados na memoria ou em um

modulo de E/S. 4. Executar a instrução, o que pode requerer operações

aritmética ou lógica sobre os dados.5. Escrever os resultados da execução na memória ou em um

módulo de E/S.

Page 39: Introdução a computação

Unidade Central de Processamento

Estas tarefas são executadas por três diferentes unidades que compõe o processador. ● Unidade Lo ́gica e Aritme ́tica (ULA) executa as operac ̧o ̃es

lo ́gicas (Ou, E, negac ̧a ̃o, etc.) e aritme ́ticas (adic ̧o ̃es, subtrac ̧o ̃es, etc.).

● A unidade de Controle (UC) interpreta e decodifica as instruções de maquina, transferindo dados e instruções.

● E os registradores armazenam dados temporários necessários para o correto funcionamento da unidade de processamento, como por exemplo a posição da ultima instrução.

Page 40: Introdução a computação

Memórias

Um processador tem como tarefa executar programas sobre dados, onde ambos residem em um ou mais dispositivos de armazenamento conhecidos como memória.

Então, todo computador possui diferentes tipos de memorias constituídas por um conjunto de circuitos capazes de armazenar por diferentes períodos os dados e programas.

Page 41: Introdução a computação

Memórias - Classificação

Estas podem ser classificados em diferentes categorias. Por exemplo, elas podem ser classificadas como primarias e secundárias.

As primarias são acessadas diretamente pelo processador.

Nas secundarias onde a informação precisa ser carregada primeiro para a memória primária.

Page 42: Introdução a computação

Memórias – Tipos de acesso

Os dispositivos de armazenamento, possuem diferentes tipos de acesso refletindo no seu tempo de acesso, ou seja, o período de tempo gasto decorrido desde a solicitação e a transferência da instrução ou dado. Os principais tipos de acesso são: sequencial e aleatório

Sequencial: os dados são armazenados e acessados sequencialmente, um após o outro. A fita magnética é um típico exemplo deste dispositivo. O tempo de acesso será variável dependendo da localização do dado.

Aleatório: os dados são endereçáveis, sendo acessados e armazenados diretamente com o mesmo custo computacional, ou seja, sempre o mesmo tempo de acesso. A memória principal e alguns sistemas de memória cache utilizam esse tipo de acesso, sendo conhecidas pela sigla inglês RAM (Random Acess Memory – Memoria de acesso aleatório).

Page 43: Introdução a computação

Memórias – Tipos de acesso

Sequencial: os dados são armazenados e acessados sequencialmente, um após o outro. A fita magnética é um típico exemplo deste dispositivo. O tempo de acesso será variável dependendo da localização do dado.

Page 44: Introdução a computação

Memórias – Tipos de acesso

Aleatório: os dados são endereçáveis, sendo acessados e armazenados diretamente com o mesmo custo computacional, ou seja, sempre o mesmo tempo de acesso. A memória principal e alguns sistemas de memória cache utilizam esse tipo de acesso, sendo conhecidas pela sigla inglês RAM (Random Acess Memory – Memoria de acesso aleatório).

Page 45: Introdução a computação

Memórias – Tempo de acesso

Além do tempo de acesso, outra característica importante é a capacidade de armazenamento. A capacidade diz respeito a ̀ quantidade de informação que pode ser armazenada indicada usualmente por múltiplos do byte como megabyte, gigabyte e terabyte.

Page 46: Introdução a computação

Memórias – Tempo de acesso e custo

Além do tempo de acesso, outra característica importante é a capacidade de armazenamento. A capacidade diz respeito a ̀ quantidade de informação que pode ser armazenada indicada usualmente por múltiplos do byte como megabyte, gigabyte e terabyte.

Por fim, o custo de produção também é outro quesito importante na escolha do tipo de memoria. Usualmente, quanto menor o tempo de acesso, maior o custo de produção.

Page 47: Introdução a computação

Memórias – Subsistema de memoria

Deste modo, um sistema computacional utiliza diversos tipos de memoria interligadas e estruturadas, podendo ser denominado de subsistema de memória

Page 48: Introdução a computação

Representação de dados

Os computadores atuais processam dados a partir de dois níveis.

a presença (1 = ligado) ou a ausência (0 = desligado) de energia.

Os dígitos 0 e 1 são os únicos elementos do sistema de numeração de base 2 (sistema binário).

Bits e Bytes

Page 49: Introdução a computação

Representação de dados

Os computadores atuais processam dados a partir de dois níveis.

a presença (1 = ligado) ou a ausência (0 = desligado) de energia.

Os dígitos 0 e 1 são os únicos elementos do sistema de numeração de base 2 (sistema binário).

Bits e Bytes

Falaremos melhor sobre o sistema binário mais a frente.

Page 50: Introdução a computação

Representação de dados

BIT (BInary digiT)

● bit (dígito binário) é utilizado para representar todos os dados armazenados e processados pelos computadores, inclusive os caracteres.

● Para isso utiliza-se uma tabela, onde para cada caracter existe um valor númerico.

Bits e Bytes

Page 51: Introdução a computação

Bits Símbolos

2 4

3 8

4 16

5 32

6 64

7 128

8 256

9 512

10 1.024 ~= 1K

Representação de dados

Page 52: Introdução a computação

BYTE (BInary TErm)

● Um byte é formado pela combinação de 8 bits

● 1Byte = 8 bits

● Em um byte podemos ter 256 combinações diferentes: 28 = 256

Representação de dados

Page 53: Introdução a computação

Bit b 2 estados: 0 e 1

Byte B 8 bits

Quilobyte KB 1.024 bytes 210 = ~ 1.024

Megabyte MB 1.024 Kb 220 = ~ 1.048.576

Gigabyte GB 1.024 Mb 230 = ~ 1.073.741.824

Terabyte TB 1.024 Gb 240 = ~1.099.511.627.776

Representação de dados

Page 54: Introdução a computação

Representação de dados

Todas as letras, números e caracteres são codificados pelos equipamentos através dos bytes que os representam, permitindo a comunicação entre o usuário e a máquina.

Letra A = 01000001 Número 0 = 00110000Letra B = 01000010 Número 1 = 00110001

Page 55: Introdução a computação

Dispositivos de entrada e saída (E/S)

Os dispositivos de entrada e saída são essenciais para que possamos interagir com os computadores. Mesmo os sistemas de processamento em lote (batch) requerem uma entrada inicial que depois de processada pode ser enviada para alguma impressora.

Page 56: Introdução a computação

Vídeos recomendados

● A evolução da informática, dos computadores e da internet● http://www.youtube.com/watch?v=vtVxC9ocEu4

● Piratas do vale do silicio● O triunfo dos nerds

● http://www.youtube.com/watch?v=A1xZeGQxdew● Bill Gates e Steve Jobs (Entrevista)

● http://www.youtube.com/watch?v=pO0AlZ2gjRA● Série Bits e Bytes - 02 - Hadware e software: http://www.

youtube.com/watch?v=MGIlJ5YhF7Q&list=PL86BAC985192AD142

Page 57: Introdução a computação

Vídeos recomendados

● A evolução da informática, dos computadores e da internet● http://www.youtube.com/watch?v=vtVxC9ocEu4

● Piratas do vale do silicio● O triunfo dos nerds

● http://www.youtube.com/watch?v=A1xZeGQxdew

● Bill Gates e Steve Jobs (Entrevista)● http://www.youtube.com/watch?v=pO0AlZ2gjRA

Page 58: Introdução a computação

Leitura recomendada

● Capítulo 1 da Apostila Introdução a Ciência da Computação (José Rosa, Silvia Mendes, Nelson de Carvalho Mendes).

● Capitulos 4, 5 e 6 do Livro Historia da Computação. http://www.pucrs.br/edipucrs/online/historiadacomputacao.pdf