mac211_aula1

  • Upload
    bb

  • View
    5

  • Download
    0

Embed Size (px)

DESCRIPTION

aula 1

Citation preview

  • Disciplinas do BCC Viso Geral de MAC0211 Histria da Computao Referncias

    [MAC0211] Laboratrio de Programao IAula 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

    MAC422SOs

    MAC438Prog. Concor.

    MAC413TPOO

    MAC342Lab. XP

    MAC441POO

    MAC454Middleware

    optativas

    projeto desistemas

    MAC242Lab. Prog. II

    MAC332Eng. Soft.

    MAC426BDs

    programao dealto nvel

    MAC110Intro. CC

    MAC122Algoritmos

    MAC323EDs

    MAC316Linguagens

    linguagem demontagem

    MAC211Lab. Prog. I

    linguagemde mquina |

    microlinguagem

    MAC412Organizaode Comps.

    circuitoslgicos

    MAC329lg. Bool.

    circuitoseltricos

    Fsica IIEletricidade

    suporteterico

    MAC338Anlise deAlgoritmos

    MAC239MtodosFormais

    Obs.: Esquema criado pelo prof. Fabio Kon

    MAC0211 Lab. Prog. I | Aula 1 Introduo DCCIMEUSP 2 / 27

  • Disciplinas do BCC Viso Geral de MAC0211 Histria da Computao Referncias

    Tpicos que veremos neste curso (parte 1)

    I Rpida introduo ao histrico da evoluo dos computadorespessoais e aos conceitos bsicos de arquitetura decomputadores

    I Linguagem de montagem, montadores, ligao de programas,interrupes, interface com linguagens de alto nvel, interfacecom hardware

    I Ferramentas para o gerenciamento de compilao deprogramas e bibliotecas (ex.: make e ant)

    I Modularizao de cdigoI 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)

    I Tcnicas de depurao e testes de programasI Ferramentas auxiliares no desenvolvimento de programas (ex.:

    gerenciadores de verses, ambientes de desenvolvimento)I Expresses regulares, geradores de analisadores lxicos (ex.:

    flex)I Noo bsica de gramticas, geradores de analisadores

    sintticos (ex.: bison)I Entrada e sada padro, concatenao de programas atravs de

    pipelinesI 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

    I Prova 2 (P2) data prevista: 20/06

    I Prova Substitutiva (P3) data prevista: 27/06

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

    I Exerccio Programa 2 (EP2), projeto a ser desenvolvido ao longo dosemestre, composto por 3 partes avaliadas de forma independente

    I EP2A data prevista: 05/05I EP2B data prevista: 02/06I EP2C data prevista: 28/06

    I Clculo da mdia final (MF):I MP = (P1+P2)/2

    ME = (2*EP1 + EP2A + EP2B + 2*EP2C)/6I Se MP >= 5 e ME >= 5, ento MF = (3*MP + 2*ME)/5Seno 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)

    Maio/2013

    I 02/05 break 2(Semana do Dia doTrabalho)

    I 05/05 entrega EP2AI 07/05 prova 1I 28/05 e 30/05 break 3

    (Semana de Corpus Christi)

    Abril/2013

    I 07/04 entrega EP1I 30/04 break 2

    (Semana do Dia doTrabalho)

    Junho/2013

    I 02/06 entrega EP2BI 20/06 prova 2I 27/06 prova subI 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 CalculadorasI baco (Mesopotmia, por volta de 5500 a.C.) na forma

    padro, til somente para somas e subtraesI Rgua de clculo (William Oughtred, Inglaterra, 1638)

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

    I Mquina de Pascal (Blaise Pascal, Frana, 1642) primeiracalculadora mecnica da histria; realizava somas e subtraes.Em 1694, uma verso aprimorada capaz de fazer multiplicaese divises foi criada pelo alemo Gottfried Wilhelm Leibniz

    I Arithmomtre (Charles Xavier Thomas, Frana, 1820) primeira calculadora mecnica comercializada com sucesso

    Essas mquinas no podem ser consideradas computadores, porqueno 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

    I Rgua de clculo

    I Mquina de Pascal

    I Arithmomtre

    MAC0211 Lab. Prog. I | Aula 1 Introduo 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 MarieJacquard, na Frana

    I Capaz de desenhar padresde alta complexidade

    I Desenhos (flores, folhas,figuras geomtricas) eramcodificados em cartesperfurados

    I Despertou muitos protestosde artesos (que temiam odesemprego que poderia sercausado 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

    I Ada Lovelace me da programao (18151852): escreveuprogramas para a mquina de Babagge; inventou a palavraalgoritmo (homenagem ao matemtico Al-Khawarizmi, 720 d.C.)

    I Herman Hollerith (18601929): criou cartes perfurados para usono censo americano (1890); essa tecnologia levou criao da IBM

    I Alan Turing (19121954): realizou diversas contribuies prticas etericas Cincia da Computao (teoria da computabilidade,criptologia, programao, redes neurais, inteligncia artificial).

    I John Von Neumann (19031957): matemtico que desenvolveuestudos 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 clculosI Usados na resoluo de problemas especficos (cada mquina

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

    I Eram gigantescos e sofriam constantemente com osuperaquecimento

    I Cada vlvula acesa ou apagada representava uma instruo mquina

    I Exemplo: ENIAC (Electronic Numerical Integrator andComputer), criado em 1945; considerado por muitos o primeirocomputador 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 segundoI 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, pelaBell Laboratories, a partir de silcio (material utilizado at hojeem placas e outros componentes)

    I Vantagens dos transistores sobre as vlvulas: so menores,dissipam menos calor e no se quebram por choque fsico

    I Computadores 100 vezes menores que os da 1a geraoI Mais econmicos (em consumo de energia e preo das peas)I Programveis em linguagem de montagem (Assembly), em

    substituio linguagem de mquinaI Exemplo: IBM 7094 (1962)

    O transistor considerado uma das maiores invenes da histria moderna; tornoupossvel a revoluo dos computadores e equipamentos eletrnicos. Razo: pode serproduzido 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 7094I Usava imensas unidades de fita magntica para o armazenamento de

    informaes para uso posterior, alm de sistemas de cartes perfuradosI 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 ominiaturizao de componentes eletrnicos

    I Aumentos significativos na velocidade e eficincia doscomputadores

    I Teclados e monitores para a entrada e sada de dadosI Primeiros sistemas operacionais (no grficos)I Capacidade de upgrade nas mquinasI 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 360I Vendeu mais de 30.000 unidades

    MicroprocessadorIntel 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 primeirocircuito integrado que incorporou todos os elementos de umcomputador: UCP, memria, controle de entrada/sada

    I Surgimento dos microcomputadores, de menos de 20 kgI 1975 um dos primeiros computadores pessoais de sucesso:

    Altair 8800 (vendido como um kit de montar por revistasespecializadas); os barramentos desenhados para o Altair setornaram um padro de facto

    I 1975 criao de interpretador para BASIC (Bill Gates e PaulAllen); fundao da Microsoft

    I 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

    Microprocessador Intel 8080

    Altair 8800

    Apple I

    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 SOgrfico comercial o Macintosh (1984) 1; Microsoft seestabelece com o SO MS-DOS (1981) para IBM-PCs e maistarde lana sua interface grfica, o Windows 1.0 (1985).

    I Anos 90: popularizao da Internet e criao da Web (1991);nascimento do Linux (1991); intensifica-se o movimento dosoftware livre.

    1A 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

    AtualidadeI Computao paralela, processadores com mltiplos ncleos

    (multi-core)I Computadores portteis (notebooks, smartphones)I Computao ubquaI 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 MooreI Em 1965, Gordon E. Moore, co-fundador da Intel, escreveu um

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

    I Essa profecia se mostrou estranhamente precisa!Razo parcial: a indstria de semicondutores usa a Lei deMoore para traar seus objetivos em pesquisa edesenvolvimento.

    I A lei impacta:I velocidade de processamento, capacidade da memriaI 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 paramanipulao de nmeros

    I 1958 ALGOL 58 (ALGOrithm Language): primeira linguagemestruturada; deu origem a maioria das linguagens modernas

    I 1958 LISP (LISt Processing): projetada para uso em intelignciaartificial

    I 1959 COBOL (COmmom Business Oriented Language): eficazpara manipulao de entrada/sada de dados

    I 1964 BASIC (Beginners All-purpose Symbolic Instruction Code)I 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 deFORTRAN, COBOL e ALGOL

    I 1970 PROLOG (PROgrammation en LOGique): linguagem paraprogramao lgica

    I 1972 C: uma das linguagens mais usadas at hoje

    I 1980 Smalltalk: deu fora orientao a objetos, reunindo omelhor de LISP, Simula 67 e Logo

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

    I 1987 PERL (Practical Extracting and Report Language):linguagem baseada em scripts

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

    I 2000 C#: mistura de C++ e Java, criada pela MicrosoftMAC0211 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 Objetoshttp://ccsl.ime.usp.br/files/books/intro-java-cc.pdf

    I Chapter 2 Computer Evolution and Performance do livroComputer Organization and Architecture, de WilliamStallings

    I O microchip: pequena inveno, grande revoluo, LSI Poli-USPhttp://www.lsi.usp.br/~chip/como_funcionam.html

    I Notas das aulas de MAC0211 de 2010, feitas pelo Prof. Konhttp://www.ime.usp.br/~kon/MAC211

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

    I Do cdigo fonte ao executvelI O ciclo de busca e execuoI Arquitetura dos processadores Intel da famlia 80x86I Linguagem de montagem por qu?I Sistema de numerao binrio e hexadecimal

    MAC0211 Lab. Prog. I | Aula 1 Introduo DCCIMEUSP 27 / 27

    Disciplinas do BCCViso Geral de MAC0211Histria da Computao