Introdução a computação

Post on 06-Jun-2015

860 views 1 download

Transcript of Introdução a computação

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

Prof. Sérgio Souza Costa

Sobre mim

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

prof.sergio.costa@gmail.com

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/

Um breve histórico da 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

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

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

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

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

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

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)

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.

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

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).

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?

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

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

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

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

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.

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.

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

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.

A arquitetura de Von Neumann

Modelo de barramento de sistema (arquitetura Von Neumman)

UC Registradores ULA

E/S Memória

Periféricos

BARRAMENTO

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

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

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

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

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

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

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

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

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).

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.

Unidade Central de Processamento

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

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.

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.

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.

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.

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.

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).

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.

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).

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.

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.

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

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

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.

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

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

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

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

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

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.

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

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

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