Aula 03 - Evolução Hardware Software
Aula 03 - Evolução Hardware Software
Aula 03 - Evolução Hardware Software
Evolues da Computao:
Mquinas e Software
Prof. Andr Desessards Jardim
[email protected]
Evoluo tecnolgica
A evoluo da computao esteve
sempre associada a evoluo da
tecnologia
Alguns dispositivos foram
histricos
importantes
evoluo
marcos
nesta
Evoluo tecnolgica
Rels (eletro-mecnico)
Vlvulas (eletrnico)
Transistor
Circuito integrado
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
Evoluo tecnolgica
Rel
Efeito eletromecnico
Sonora
Calor
Tamanho
Dissipao do calor
Grande nmero de
conexes
muito muito lento
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
Evoluo tecnolgica
Vlvula
Efeito eletrnico
Consome muita energia
Luz
Calor
Tamanho
Dissipao do calor
Grande nmero de
conexes
muito lento
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
Evoluo tecnolgica
Transistor
Efeito semi-condutor
(bipolar - espacial)
Consome menos energia
Tamanho menor (dezenas por um
comparado valvula)
Menor nmero de conexes
Mais rpido
Evoluo tecnolgica
Circuitos Integrados
Semi-condutores
(transistores CMOS planos )
Consome muito, muito
menos energia
Tamanho muito, muito menor
(milhares por um se comparado ao
transistor discreto e bilhes por
um se comparado valvula)
Conexes integradas ao chip
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
Evoluo tecnolgica
Circuitos Integrados
Evoluo tecnolgica
Circuitos Integrados
ENIAC
vlvulas
EDVAC
Vlvulas + memria
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
10
4004 (Intel)
CI: circuito integrado
Microprocessadores em chip
11
Processadores Intel
Microprocessador 4004 (1971)
Intel
4 bits
Bus: 4 bits
Clock: 108 Khz
Transistores: 2250
Memria: 640 Bytes
Primeiro microprocessador
em um chip
12
Processadores Intel
Microprocessador 8008 (1972)
Intel
8 bits
Bus: 8 bits
Clock: 108 Khz
Transistores: 2500
Memria: 16 Kbytes
Primeiro microprocessador
8 bits
13
Processadores Intel
Microprocessador
8080 (1974)
Intel
8 bits
Bus: 8 bits
Clock: 2 Mhz
Transistores: 5000
Memria: 64 Kbytes
Primeira CPU de propsito
geral em um chip
14
Processadores Intel
Microprocessador
8088 (1979)
Intel
16 bits
Bus: 8 bits
Clock: 4,77-8 Mhz
Transistores: 29.000
Memria: 1 Mbytes
Utilizado no 1 IBM PC
em 1981
15
Processadores Intel
Microprocessador 80286 (1982)
Intel
16 bits
Bus: 16 bits
Clock: 8-12 Mhz
Transistores: 134.000
Memria: 16 Mbytes
IBM PC AT
16
Processadores Intel
Microprocessador 80386 (1985)
Intel
32 bits
Bus: 32 bits
Clock: 16-33 Mhz
Transistores: 275.000
Memria: 4 Gbytes
Primeira CPU 32 bits
Multitarefa
17
Processadores Intel
Microprocessador 80486 (1989)
Intel
32 bits
Bus: 32 bits
Clock: 25-100 Mhz
Transistores: 1.180.000
Memria: 4 Gbytes
Possuia 8 K de memria cache
18
Processadores Intel
Microprocessador Pentium (1993)
Intel
32 bits
Bus: 64 bits
Clock: 60-233 Mhz
Transistores: 3.100.000
Memria: 4 Gbytes
2 pipelines (canais de execuo)
19
Processadores Intel
Microprocessador Pentium Pro (1995)
Intel
32 bits
Bus: 64 bits
Clock: 150-200 Mhz
Transistores: 3.100.000
Memria: 64 Gbytes
20
Processadores Intel
Microprocessador Pentium II (1997)
Intel
32 bits
Bus: 64 bits
Clock: 233-400 Mhz
Transistores: 7.500.000
Memria: 64 Gbytes
2 nveis de cache
21
Processadores Intel
Microprocessador Pentium III (1999)
Intel
32 bits
Bus: 64 bits
Clock: 450 M 1.33 Ghz
Transistores: 24.000.000
Memria: 64 Gbytes
22
Processadores Intel
Microprocessador Pentium 4 (2000)
Intel
32 bits
Bus: 64 bits
Clock: 1.30 2.20 Ghz
Transistores: 42.000.000
23
Processadores Intel
Core 2 Quad (2007)
Intel
582.000.000 transistores
(253.043 vezes mais)
Tecnologia de 65nm
(6.500 vezes menor)
2,66 GHz de freqncia
de
operao
(24.630 vezes mais)
24
Processadores Intel
Core i7 (2008)
Intel
64 bits
731.000.000 transistores
Tecnologia de 45 a 32nm
3,5 GHz de frequncia de
operao
25
Evolues no software
26
Software
todo e qualquer programa que
esteja sendo processado por um
computador executando tarefas e/ou
instrues das quais resulte um
resultado
Resultado pode ir para uma memria,
ser impresso, ou ser mostrado na tela
Umprogramadecomputador uma
coleo de instrues que descrevem uma
tarefa a ser realizada por umcomputador
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
27
Software
O Software d flexibilidade ao projeto
Permite a comunicao entre o
usurio e o Hardware
hardwar
e
software
usurio
28
Evoluo do Software
O software tambm evoluiu
Com a chegada do computador pessoal, a
necessidade por software aumentou
assustadoramente
A necessidade de produzir software sem
necessitar de grandes equipes forou a
evoluo
nas
linguagens
de
programao
29
Evoluo do Software
30
Evoluo do Software
1968 Linguagem Pascal
1972 Linguagem C
1975 Incio das linguagens de 4 gerao
e Smaltalk
1978 Ada (baseada em Pascal e
FORTRAN)
1991 Java (pela Sun)
1995 Linguagens visuais (Visual Basic,
Delphi, etc)
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
31
Evoluo do Software
1980 MS-DOS da Microsoft para PC e
compatveis
1982 Planilha eletrnica Lotus
1984 MAC OS
1983 MS Word, processador de textos da
Microsoft
1984 Macintosh OS, com interface grfica
1985 Windows como ambiente operacional
1990 Unix firma-se como ambiente multi-usurio
1992 Windows 3.1 e 3.11
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
32
Evoluo do Software
1993
1995
1998
2001
2007
2008
2009
2012
33
Tipos de Software
Podemos classificar os softwares quanto a
sua finalidade como:
Bsico ou
Aplicativo
34
Software Bsico
Software bsico o conjunto de
softwares que permitem ao usurio criar,
controlar e modificar as aplicaes criadas
Os softwares bsicos so essenciais para
todo computador
Sistema Operacional (SO)
Interface grfica
Linguagens de programao
Utilitrios
35
ligado
ele
automaticamente executa um conjunto de softwares
de inicializao (BIOS)
Em seguida, o sistema operacional carregado
O Sistema Operacional (SO) viabiliza a interao do
usurio com a mquina
Fornece a interface grfica para facilitar a interao
36
Gerenciamento de memria
Gerenciamento do processador
Garante um
concorrentes
tempo
de
processamento
todos
os
processos
Gerenciamento de arquivos
37
38
Janelas
cones (smbolos grficos)
Menus
Caixas de dilogos
Check box, etc...
Dispositivos Apontadores
Mouse
Caneta eletrnica, tablet
Dedo (telas sensveis ao toque)
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
39
Multithreading:
Um
software
pode
simultaneamente
executar
mais
de
uma
tarefa
40
Softwares Utilitrios
Softwares que e apoio a soluo de
problemas, que em geral, so comuns a
maioria dos usurios
Anti
vrus,
compactadores
de
arquivos,
verificadores de memria, particionadores de
disco, etc...
Exemplos:
Norton, WinZip, WinRar, PC Tool, etc...
41
Softwares Aplicativos
So softwares desenvolvidos para resolver
problemas
especficos,
que
no
necessariamente sejam comuns a maior
parte dos usurios
Editores de texto, players, planilhas de
clculos, desenho, entre outros
Exemplos:
MS-Office, Paint, Winamp, etc...
42
Um pouco sobre as
Linguagens de Programao
43
Linguagem de mquina
Umprograma uma coleo de
instrues que descrevem uma tarefa a
ser realizada por umcomputador
Linguagem de mquina formada
pelas instrues primitivas de um
processador (ou computador)
Ou seja, define as instrues que a mquina
pode executar
44
Linguagem de Programao
Aumentar a produtividade dos programadores
Facilitar a expresso de intenes quando
comparado com a linguagem de mquina
Linguagens de programao so projetadas
para
prover
abstrao,
facilitando
a
compreenso dos programas por humanos
Programas
escritos
em
linguagens
de
programao so traduzidos para o cdigo de
mquina do computador que executar o
cdigo (independncia de mquina)
45
Linguagem de montagem
A Linguagem de montagem constitui uma
evoluo da linguagem de mquina,
substituindo cdigo binrio por instrues e
endereos com smbolos mnemnicos.
Inicialmente chamadas de linguagens
simblicas
Um programa especial, chamado montador,
traduz cdigo em linguagem de montagem
para linguagem de mquina
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
Linguagem de Programao
Chamadas de Linguagem de Alto Nvel
Visam:
LP : Abstrao
Primeira Gerao
Trata-se de umalinguagem de programaoque
compreende as caractersticas da arquitetura do
computador (instrues, registradores, etc)
As instrues so cdigos numricos
Segunda gerao
Embora
no
seja
uma
linguagem
nativa
domicroprocessador, uma linguagem Assembly ainda
deve compreender as caractersticas da arquitetura
domicroprocessador
LP de alto nvel
Mais longe docdigo de mquinae mais prximo
linguagem humana
O programador de uma linguagem de alto nvel no
precisa conhecer caractersticas do processador, pois
essas caractersticas so abstradas na linguagem de
alto nvel
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
48
LP : Abstrao
Geraes
das
programao
linguagens
de
Linguagem
de
montagem
49
Tradutor de linguagens de
programao
Todas as linguagens de programao, que
no so de linguagem de mquina,
necessitam de um tradutor
O tradutor converte a linguagem de
programao (cdigo fonte) em instrues
em linguagem de mquina (cdigo objeto)
O tradutor em linguagem de montagem
chamado de montador
Em linguagens de alto nvel, os tradutores
so
divididos
em
compiladores
e
interpretadores
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
50
As linguagens ...
ALGOL 60 (ALGOrithmic Language)
Perodo: 1960
Os padres para Algol 60 so estabelecidos juntamente
por cientistas da computao europeus e americanos
BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "HELLO WORLD!";
WHILE TRUE DO
BEGIN
WRITE (F, *, E);
END;
END.
51
As linguagens ...
BASIC (Beginners All-Purpose Symbolic
Instruction Code)
Perodo: 1964
Desenvolvida por John Kemeny e Thomas Kurtz
10 PRINT "Hello World!
20 GOTO 10
52
As linguagens ...
SIMULA (Primeira linguagem orientada a
objetos)
Perodo: 1967
Desenvolvida por Ole-Johan Dahl e Kristen
Nygaard no Norwegian Computing
Begin
while 1 = 1 do begin
outtext ("Hello World!");
outimage;
end;
End;
53
As linguagens ...
PASCAL
Perodo: 1971
Desenvolvida por Niklaus Wirth
Program Hello (Input, Output);
Begin
Writeln ('Hello World!');
End.
54
As linguagens ...
C (sua predecessora possua o nome de B)
Perodo: 1972
Desenvolvida por Dennis Ritchie nos
Laboratrios da Bell
#include <stdio.h>
main(){
for(;;){
printf ("Hello World!\n");
}
}
55
As linguagens ...
PROLOG
Perodo: 1972
Desenvolvida por Alain Colmerauer na
Universidade de Marseille
% HELLO WORLD.
56
As linguagens ...
ADA
Perodo: 1980
Desenvolvida durante um longo perodo pelo
Departamento de Defesa do EUA para ser
utilizada em controle de processos e aplicaes
embarcadas
with Text_Io; use Text_Io;
procedure hello is
begin
put ("Hello world!");
end hello;
57
As linguagens ...
C++
Perodo: 1983
Desenvolvimento da verso orientada a
objetos de C (uma extenso de C) por Bjarne
Stroustrup nos Laboratrios AT&T Bell
#include <iostream.h>
main(){
for(;;){
cout << "Hello World! ";
}
}
58
As linguagens ...
Java
Perodo: 1991
Orientada a objetos
Baseada em C
por James Gosling Sun Microsystems
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
59
As linguagens ...
http://pt.wikipedia.org/wiki/Linguagem_
de_programa%C3%A7%C3%A3o
http://pt.wikipedia.org/wiki/Anexo:Lista
_de_linguagens_de_programa%C3%A7%C3%A3o
http://startupi.com.br/2014/02/as-linguage
ns-de-programacao-mais-populares-para-2014
/
60
LP no Curso
ICC
Ling. Assembly programao do
Neander
Algoritmos e Programao
Programao I
Conceitos de Linguagens de
Programao
Programao Orientada a Objetos
...
Introduo Cincia da Computao (ICC) Prof. Andr Jardim
61
62