Você está na página 1de 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

[MAC0211] Laboratrio de Programao I


Aula 1 Introduo
Kelly Rosa Braghetto
DCCIMEUSP

26 de fevereiro de 2013

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

1 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Viso geral de algumas das disciplinas do BCC


optativas
MAC422
SOs

MAC438
Prog. Concor.

MAC413
TPOO

MAC342
Lab. XP

projeto de
sistemas

MAC242
Lab. Prog. II

MAC332
Eng. Soft.

MAC426
BDs

programao de
alto nvel

MAC110
Intro. CC

MAC122
Algoritmos

MAC323
EDs

linguagem de
montagem

MAC211
Lab. Prog. I

linguagem
de mquina |
microlinguagem

MAC412
Organizao
de Comps.

circuitos
lgicos

MAC329
lg. Bool.

circuitos
eltricos

Fsica II
Eletricidade

suporte
terico

MAC338
Anlise de
Algoritmos

MAC0211 Lab. Prog. I | Aula 1 Introduo

MAC239
Mtodos
Formais

MAC441
POO

MAC454
Middleware

MAC316
Linguagens

Obs.: Esquema criado pelo prof. Fabio Kon


DCCIMEUSP

2 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Tpicos que veremos neste curso (parte 1)

Rpida introduo ao histrico da evoluo dos computadores


pessoais e aos conceitos bsicos de arquitetura de
computadores

Linguagem de montagem, montadores, ligao de programas,


interrupes, interface com linguagens de alto nvel, interface
com hardware

Ferramentas para o gerenciamento de compilao de


programas e bibliotecas (ex.: make e ant)

Modularizao de cdigo

Construo de um programa de mdio porte em uma


linguagem procedimental (ex.: C )

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

3 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Tpicos que veremos neste curso (parte 2)

Tcnicas de depurao e testes de programas

Ferramentas auxiliares no desenvolvimento de programas (ex.:


gerenciadores de verses, ambientes de desenvolvimento)

Expresses regulares, geradores de analisadores lxicos (ex.:


flex)

Noo bsica de gramticas, geradores de analisadores


sintticos (ex.: bison)

Entrada e sada padro, concatenao de programas atravs de


pipelines

Linguagens de processamento de texto (ex.: awk e perl )

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

4 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Forma de avaliao
I

Prova 1 (P1) data prevista: 07/05

Prova 2 (P2) data prevista: 20/06

Prova Substitutiva (P3) data prevista: 27/06

Exerccio Programa 1 (EP1), em Assembly data prevista: 07/04

Exerccio Programa 2 (EP2), projeto a ser desenvolvido ao longo do


semestre, composto por 3 partes avaliadas de forma independente
I
I
I

EP2A data prevista: 05/05


EP2B data prevista: 02/06
EP2C data prevista: 28/06

Clculo da mdia final (MF):


I

MP = (P1+P2)/2
ME = (2*EP1 + EP2A + EP2B + 2*EP2C)/6
Se MP >= 5 e ME >= 5, ento MF = (3*MP + 2*ME)/5
Seno MF = menor nota entre MP e ME

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

5 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Datas importantes
Maro/2013
I

26/03 e 28/03 break 1


(Semana Santa)

Abril/2013
I

07/04 entrega EP1

30/04 break 2
(Semana do Dia do
Trabalho)

Maio/2013
I

02/05 break 2
(Semana do Dia do
Trabalho)

Junho/2013

05/05 entrega EP2A

02/06 entrega EP2B

07/05 prova 1

20/06 prova 2

28/05 e 30/05 break 3


(Semana de Corpus Christi)

27/06 prova sub

28/06 entrega EP2C

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

6 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


Primrdios Calculadoras
I

baco (Mesopotmia, por volta de 5500 a.C.) na forma


padro, til somente para somas e subtraes

Rgua de clculo (William Oughtred, Inglaterra, 1638)


baseada nos estudos sobre logaritmos do escocs John Napier;
ajudava na multiplicao de grandes nmeros

Mquina de Pascal (Blaise Pascal, Frana, 1642) primeira


calculadora mecnica da histria; realizava somas e subtraes.
Em 1694, uma verso aprimorada capaz de fazer multiplicaes
e divises foi criada pelo alemo Gottfried Wilhelm Leibniz

Arithmomtre (Charles Xavier Thomas, Frana, 1820)


primeira calculadora mecnica comercializada com sucesso

Essas mquinas no podem ser consideradas computadores, porque


no eram programveis!
MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

7 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


Primrdios Calculadoras (imagens)
I

baco

Rgua de clculo

MAC0211 Lab. Prog. I | Aula 1 Introduo

Mquina de Pascal

Arithmomtre

DCCIMEUSP

8 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


Primrdios Tear semi-automtico (1790)
I

Criado por Joseph Marie


Jacquard, na Frana

Capaz de desenhar padres


de alta complexidade

Desenhos (flores, folhas,


figuras geomtricas) eram
codificados em cartes
perfurados

Despertou muitos protestos


de artesos (que temiam o
desemprego que poderia ser
causado pelas mquinas)

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

9 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


Primrdios Nomes importantes
I

Charles Babbage (1791-1871): projetou uma mquina programvel


a mquina analtica (1833). Mas no conseguiu constru-la

Ada Lovelace me da programao (18151852): escreveu


programas para a mquina de Babagge; inventou a palavra
algoritmo (homenagem ao matemtico Al-Khawarizmi, 720 d.C.)

Herman Hollerith (18601929): criou cartes perfurados para uso


no censo americano (1890); essa tecnologia levou criao da IBM

Alan Turing (19121954): realizou diversas contribuies prticas e


tericas Cincia da Computao (teoria da computabilidade,
criptologia, programao, redes neurais, inteligncia artificial).

John Von Neumann (19031957): matemtico que desenvolveu


estudos que conduziram arquitetura do computador moderno

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

10 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


1a Gerao Computadores a vlvula (19411957)
I

Destinados apenas a funes de clculos

Usados na resoluo de problemas especficos (cada mquina


possuia o seu prprio cdigo; novas funes requeriam a
reprogramao completa do computador)

Eram gigantescos e sofriam constantemente com o


superaquecimento

Cada vlvula acesa ou apagada representava uma instruo


mquina

Exemplo: ENIAC (Electronic Numerical Integrator and


Computer), criado em 1945; considerado por muitos o primeiro
computador eletrnico digital

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

11 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


ENIAC (1945)
I 30 toneladas; 18 mil vlvulas; 4500 clculos por segundo
I inspirou von Neumann a desenvolver o conceito de programa armazenado em
memria (base da arquitetura usada at hoje)

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

12 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


2a Gerao Computadores a transistores (1958-1964)
I

Transistores: componentes eletrnicos criados em 1947, pela


Bell Laboratories, a partir de silcio (material utilizado at hoje
em placas e outros componentes)

Vantagens dos transistores sobre as vlvulas: so menores,


dissipam menos calor e no se quebram por choque fsico

Computadores 100 vezes menores que os da 1a gerao

Mais econmicos (em consumo de energia e preo das peas)

Programveis em linguagem de montagem (Assembly ), em


substituio linguagem de mquina

Exemplo: IBM 7094 (1962)

O transistor considerado uma das maiores invenes da histria moderna; tornou


possvel a revoluo dos computadores e equipamentos eletrnicos. Razo: pode ser
produzido em grandes quantidades usando tcnicas simples, resultando baixo custo.
MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

13 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


IBM 7094
I Usava imensas unidades de fita magntica para o armazenamento de
informaes para uso posterior, alm de sistemas de cartes perfurados
I Sucesso de vendas mais de 10.000 unidades vendidas

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

14 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador

3a Gerao Circuitos Integrados (19651970)


I

Circuitos integrados feitos de silcio permitiram o


miniaturizao de componentes eletrnicos

Aumentos significativos na velocidade e eficincia dos


computadores

Teclados e monitores para a entrada e sada de dados

Primeiros sistemas operacionais (no grficos)

Capacidade de upgrade nas mquinas

Exemplo: IBM 360 (1965)

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

15 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


IBM 360
I Vendeu mais de 30.000 unidades

Microprocessador
Intel 4004

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

16 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


4a Gerao Microprocessadores (de 1971 at hoje)
I

1971: primeiro microprocessador (o Intel 4004). Foi o primeiro


circuito integrado que incorporou todos os elementos de um
computador: UCP, memria, controle de entrada/sada

Surgimento dos microcomputadores, de menos de 20 kg

1975 um dos primeiros computadores pessoais de sucesso:


Altair 8800 (vendido como um kit de montar por revistas
especializadas); os barramentos desenhados para o Altair se
tornaram um padro de facto

1975 criao de interpretador para BASIC (Bill Gates e Paul


Allen); fundao da Microsoft

1976 criao da Apple (Steve Jobs e Steve Wozniac);


criao dos computadores Apple I (1976) e Apple II (1977)

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

17 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


Altair 8800, Apple I e Apple II

Apple I
Microprocessador Intel 8080

Altair 8800
Apple II
MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

18 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador

4a Gerao Microprocessadores (de 1971 at hoje)


I

Anos 80: IBM lana PC (1981); Apple cria primeiro SO


grfico comercial o Macintosh (1984) 1 ; Microsoft se
estabelece com o SO MS-DOS (1981) para IBM-PCs e mais
tarde lana sua interface grfica, o Windows 1.0 (1985).

Anos 90: popularizao da Internet e criao da Web (1991);


nascimento do Linux (1991); intensifica-se o movimento do
software livre.

A Xerox j havia inventado uma interface baseada em janelas em 1973.

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

19 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador

Atualidade
I

Computao paralela, processadores com mltiplos ncleos


(multi-core)

Computadores portteis (notebooks, smartphones)

Computao ubqua

Computao verde

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

20 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


Lei de Moore
I

Em 1965, Gordon E. Moore, co-fundador da Intel, escreveu um


artigo chamando a ateno para um padro que ele havia
observado: o nmero de componentes nos circuitos integrados
dobrou todos os anos, desde a inveno do circuito integrado
(em 1958). Alm disso, Moore profetizou que essa tendncia
de crescimento continuaria pelo menos pelos prximos 10 anos.

Essa profecia se mostrou estranhamente precisa!


Razo parcial: a indstria de semicondutores usa a Lei de
Moore para traar seus objetivos em pesquisa e
desenvolvimento.
A lei impacta:

I
I

velocidade de processamento, capacidade da memria


diferentes equipamentos (computadores, sensores, mquinas
fotogrficas, celulares, etc.)

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

21 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Histria da computao e da arquitetura do computador


Qtde de transistores por microprocessador (1971 2011)

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

22 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Evoluo das linguagens de programao


Primrdios das linguagens de programao de alto nvel
I

1957 FORTRAN (FORmula TRANslating): eficaz para


manipulao de nmeros

1958 ALGOL 58 (ALGOrithm Language): primeira linguagem


estruturada; deu origem a maioria das linguagens modernas

1958 LISP (LISt Processing): projetada para uso em inteligncia


artificial

1959 COBOL (COmmom Business Oriented Language): eficaz


para manipulao de entrada/sada de dados

1964 BASIC (Beginners All-purpose Symbolic Instruction Code)

1967 Simula 67: incluia todos os conceitos fundamentais da


orientao a objetos

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

23 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Evoluo das linguagens de programao


Algumas das linguagens de alto nvel da atualidade
I

1970 PASCAL: linguagem para o ensino; combina o melhor de


FORTRAN, COBOL e ALGOL

1970 PROLOG (PROgrammation en LOGique): linguagem para


programao lgica

1972 C: uma das linguagens mais usadas at hoje

1980 Smalltalk: deu fora orientao a objetos, reunindo o


melhor de LISP, Simula 67 e Logo

1983 C++ e Objective-C: extenso de C para programao OO

1987 PERL (Practical Extracting and Report Language):


linguagem baseada em scripts

1995 Java: lanada como "a linguagem para a Internet"

2000 C#: mistura de C++ e Java, criada pela Microsoft

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

24 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Popularidade das linguagens de programao

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

25 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Bibliografia e materiais recomendados


I

Captulo 2 Histria da Computao da apostila Introduo


Cincia da Computao com Java e Orientao a Objetos
http://ccsl.ime.usp.br/files/books/intro-java-cc.pdf

Chapter 2 Computer Evolution and Performance do livro


Computer Organization and Architecture, de William
Stallings

O microchip: pequena inveno, grande revoluo, LSI


Poli-USP
http://www.lsi.usp.br/~chip/como_funcionam.html

Notas das aulas de MAC0211 de 2010, feitas pelo Prof. Kon


http://www.ime.usp.br/~kon/MAC211

Wikipdia http://pt.wikipedia.org/

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

26 / 27

Disciplinas do BCC

Viso Geral de MAC0211

Histria da Computao

Referncias

Cenas dos prximos captulos...

Do cdigo fonte ao executvel

O ciclo de busca e execuo

Arquitetura dos processadores Intel da famlia 80x86

Linguagem de montagem por qu?

Sistema de numerao binrio e hexadecimal

MAC0211 Lab. Prog. I | Aula 1 Introduo

DCCIMEUSP

27 / 27

Você também pode gostar