2. Sobre mim
Sérgio Souza Costa
Professor - UFMA
Doutor 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/
5. 400 a.C. Formas primitivas de ábaco usadas na China e na
Babilônia
6. séc.I a.C. Uma única máquina de calcular datada desse
período foi descoberta e continua sendo um mistério
7. 800. Al-Kharazmi introduziu a escrita dos
cálculos no lugar do uso do ábaco.
Mais antigo manuscrito europeu com numerais indo-
arábico
Aula sobre sistemas de numeração
8. 1623 Schickard começa a construir o “relógio de calcular” em
Tübingen: reconhecido em geral como o primeiro computador
digital
9. 1630 Oughtred inventa a régua de cálculo: considerada por muitos
o primeiro computador analógico
10. 1642 Pascal inventa uma excelente máquina de calcular, capaz
de manipular números de oito dígitos
11. 1673 Leibniz inventa uma máquina de calcular mais simples e
mais eficiente, capaz de calcular raízes quadradas início
12. 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)
13. 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.
14. 1854 Boole publica seu artigo sobre lógica binária. A base dos
circuitos lógicos e processadores.
15. 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 process
todos os dados em seis semanas. (No censo anterio
de 1880, o processo demandara três anos). Em 189
Hollerith entrou no mundo dos negócios, criando s
Tabulating Machine Company, que mais tarde veio
se transformar na International Business Machine
Corporation (IBM).
16. 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?
17. 1937 Turing publica “On computable numbers”, delineando os
limites teóricos de qualquer computador futuro
http://morphett.info/turing/turing.html
19. 1945, Grace Hopper, enquanto trabalhava no MARK II,
encontrou o primeiro bug de computador no sentido literal do
termo.
20. 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.
21. 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.
22. 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
23. 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.
27. 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
28. 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
29. 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
30. 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
31. 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
32. 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
33. 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
Nesse 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
34. 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
Nesse 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).
35. 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.
36. Unidade Central de Processamento
Nos primeiros computadores estas tarefas eram
implementadas em circuitos de grandes dimensões,
utilizando milhares de válvulas e transistores.
37. 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.
38. 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.
39. Unidade Central de Processamento
Estas tarefas são executadas por três diferentes
unidades que compõe o processador.
● Unidade Lógica e Aritmética (ULA) executa as operações
lógicas (Ou, E, negação, etc.) e aritméticas (adições,
subtraçõ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.
40. 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.
41. 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.
42. 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).
43. 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.
44. 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).
45. Memórias – Tempo de acesso
Além do tempo de acesso, outra característica importante é a
capacidade de armazenamento. A capacidade diz respeito à
quantidade de informação que pode ser armazenada indicada
usualmente por múltiplos do byte como megabyte, gigabyte e
terabyte.
46. 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 à
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.
47. 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
48. 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
49. 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.
50. 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
52. 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
53. 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
54. 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 = 00110000
Letra B = 01000010 Número 1 = 00110001
55. 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.
56. 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
57. 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
58. 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