Arquitetura e Organização de computadores
Aula 1: Organização e evolução de computador, parte 3 Prof. MSc. Pedro Brandão Neto
pedroobn@gmail.com Sistemas de Informação - UNDB
Introdução
Durante a evolução digital moderno foram projetadas e construídas centenas de diferentes tipos de computadores. Grande parte já foi esquecida há muito tempo, mas alguns causaram um impacto significativo sobre ideias modernas
Gerações de Computadores
A geração zero - computadores mecânicos (1642 - 1945)
A primeira geração - válvulas (1945-1955)
A segunda geração - transistores (1955-1965)
A terceira geração - circuitos integrados (1965-1980)
A quarta geração - integração em escala muito grande (1980-?)
3
Gerações de Computadores
A geração zero - computadores mecânicos
(1642 - 1945)
Computadores Mecânicos (1642-1945)
Blaise Pascal (1623-1662, França) construiu em 1642 a primeira máquina de calcular, baseada em engrenagens e alavancas, e que apenas permitia fazer adições e subtrações.
5
Computadores Mecânicos (1642-1945)
Baron Gottfried Wilhelm von Leibniz (1646-1716, Alemanha) construiu outra máquina no mesmo estilo, após 30 anos da invenção de Pascal, e que permitia também fazer multiplicações e divisões
Na verdade, ele construiu o equivalente a calculadora de bolso de quatros operações
Charles Babbage (1792-1871, Inglaterra) construiu na Universidade de Cambridge duas máquinas:
I. Máquina diferencial
Esse dispositivo mecânico só podia somar e subtrair
Foi projetado para calcular tabelas de números úteis para a navegação naval
Toda a construção foi projetada para executar um único algoritmo, o método de diferenças finitas que usava polinônimos
Como método de saída, ela perfurava seus resultados sobre uma chapa de gravação de cobre, prenunciando futuros meios de escrita única como cartões perfurados e CD-ROMS
Já como esta máquina só podia executar um único algoritmo, Babbage começou a construção da máquina analítica
Computadores Mecânicos (1642-1945)
7
I. Máquina análitica
Quatro componentes: armazenagem (memória), moinho (unidade de cálculo), seção de entrada (leitora de cartões perfurados) e seção de saída (saída impressa e com perfuração);
A armazenagem consistia em 1000 palavras de 50 algorismos decimais
O moinho podia aceitar operandos da armazenagem e então os somava, subtraía, multiplicava ou dividia, por fim, devolvia o resultado à armazenagem
Máquina de propósito geral
lia instruções (de tratamento aritmético e de desvio condicional) através de cartões perfurados e as executava.
Primeira pessoa a escrever programas: Ada Augusta Lovelace
Computadores Mecânicos (1642-1945)
8
I. Máquina análitica
Babbage não conseguiu depurar completamente o hardware
O problema era que ele precisava de milhares e milhares de dentes e rodas e engrenagens produzidos com um grau de precisão que a tecnologia do século XIX não podia oferecer
Suas ideias estavam muito frente de sua época e até hoje a maioria dos computadores modernos tem uma estrutura muito semelhante à da máquina analítica
Babbage é o avô do computador digital moderno
Computadores Mecânicos (1642-1945)
9
Computadores Mecânicos (1642-1945)
Máquina análitica
Computadores Mecânicos (1642-1945)
Herman Hollerith, funcionário do departamento de recenseamento, em 1880, teve a ideia de conceber uma máquina que, através de processos eletromecânicos, tratasse um conjunto de cartões perfurados onde seriam registrados os dados
O sucesso desta invenção foi tal que Holletith criou uma companhia para a produção em série do seu invento, a Tabulating Machine Company (TMC) que, mais tarde, associando-se a outras empresas deu origem à Internacional Business Machines Corporation (IBM)
11
Konrad Zuse (Alemanha) construiu durante a década de 1930 uma série de máquinas de calcular baseadas em relés eletromagnéticos, mas a Segunda Guerra Mundial impediu o seu avanço e ainda causou a sua destruição.
John Atanasoff (Estados Unidos da América, Iowa State University) e George Stibbitz (Estados Unidos da América, Bell Labs) construiu no final da década de 1930 calculadoras que já usavam aritmética binária e possuíam memória baseada em capacitores.
Howard Aiken (Estados Unidos da América, Harvard University) construiu em 1944 uma máquina de propósito geral chamada Mark I, baseada no trabalho de Babbage, mas que usava relés eletromagnéticos no lugar de engrenagens
Computadores Mecânicos (1642-1945)
Gerações de Computadores
A primeira geração - válvulas (1945-1955)
13
Computadores com válvulas (1945-1955)
O estímulo para o computador eletrônico foi a segunda guerra mundial
Mensagens codificadas usando a máquina ENIGMA
Governo Britânico construiu em 1943 o primeiro computador digital eletrônico, o COLOSSUS, para fins de decodificar as mensagens trocadas pelos alemães durante a Segunda Guerra Mundial, que eram criptografadas pela máquina ENIGMA.
O projeto foi mantido em segredo por 30 anos, por isso, não houve evolução.
Alan Turing participou do projeto.
Computadores com válvulas (1945-1955)
ENIGMA
15
Computadores com válvulas (1945-1955)
John Mauchley, que conhecia o trabalho de Atanasoff, e, seu aluno de pós-graduação, J. Presper Eckert (Estados Unidos da América) construíram em 1946 para fins militares um computador eletrônico chamado ENIAC (Electronic Numerical Integrator and Computer)
18.000 mil válvulas
1.500 relés
30 toneladas
140 quilowats
20 registradores de números decimais de 10 dígitos
Programação feita através de 6 mil interruptores e de milhares de jumpers (cabos de conexão)
John von Neumann participou do projeto.
Computadores com válvulas (1945-1955)
O ENIAC era mil vezes mais rápido do que qualquer máquina anterior, resolvendo 5 mil adições e subtrações, 350 multiplicações ou 50 divisões por segundo.
Apesar de seus inúmeros ventiladores, a temperatura ambiente chegava às vezes aos 67 graus centígrados.
17
Computadores com válvulas (1945-1955)
Computadores com válvulas (1945-1955)
19
Computadores com válvulas (1945-1955)
Em 1945 Von Neumann sugeriu que o sistema binário fosse adotado em todos os computadores, e que as instruções e dados fossem compilados e armazenados internamente no computador, na sequência correta de utilização
A partir dessas ideias, e da álgebra de Boole, introduzida por Boole no início do século XIX, é que Mauchley e Eckert projetaram e construíram o EDVAC (Electronic Discrete Variable Automatic Computer)
O EDVAC, apesar de ser mais moderno, não diminuiu de tamanho e ocupava 100% do espaço que o ENIAC ocupava. Todavia, ele era dotado de cem vezes mais memória interna que o ENIAC
Computadores com válvulas (1945-1955)
EDVAC
21
Computadores com válvulas (1945-1955)
Considerações
Programar computadores com quantidades imensas de interruptores e cabos era uma tarefa lenta, tediosa e mecânica
John Von Neumann percebeu que um programa podia ser representado em forma digital na memória do computador, junto com os dados.
Também, que a aritmética decimal usada pelo ENIAC, com cada dígito representado por 10 válvulas (1 acesa e 9 apagadas), podia ser substituída usando aritmética binária, algo que Atanasoff tinha percebido anos antes
Computadores com válvulas (1945-1955)
John von Neumann (Estados Unidos da América, Instituto de Estudos Avançados de Princeton) construiu em 1952 o computador IAS
Programas e dados representados de forma digital em memória
Processamento baseado em aritmética binária, ao invés de decimal a base de quase todos os computadores digitais
23
Máquina de von Neumann
A máquina de Von Neumann (IAS) contém:
Máquina de von Neumann
Memória
Unidade de
Controle Unidade Aritmética Lógica
Acumulador entrada
saída
• Memória: 4096 palavras de 40 bits (2 instruções de 20 bits ou um inteiro)
• Instrução: 8 bits para indicar o tipo (a operação), 12 tipos para endereçar a memória
• Acumulador: registrador especial de 40 bits
A máquina de Von Neumann (IAS)
25
Máquina de von Neumann
IAS, 1947
Computadores com válvulas (1945-1955)
Eckert-Mauchley Computer Corporation
UNIVAC - O primeiro computador comercial de grande escala
A entrada e saída de informações eram realizadas por uma fita metálica de 1/2 polegada de largura e 400 m de comprimento.
Foram vendidas 46 unidades
27
Computadores com válvulas (1945-1955)
UNIVAC
Computadores com válvulas (1945-1955)
IBM começou a construir computadores:
1953: IBM 701
2048 palavras de 36 bits
Duas instruções por palavra
Máquina para aplicações científicas (numéricas)
1956: IBM 704
1956: IBM 704
4K de memória
Instruções de 36 bits
Hardware para floating-point (números reais)
1958: IBM 709
29
Computadores com válvulas (1945-1955)
IBM 650
Gerações de Computadores
A segunda geração - transistores (1955-1965)
31
Computadores com transistores (1955-1965)
Em 1952, a Bell Laboratories inventava o transistor que apresentava inúmeras vantagens em relação às válvulas
menor aquecimento
maior poder de cálculo
confiabilidade
consumo de energia bem menor - com o adicional de que não necessitava de tempo para aquecer
os cálculos passaram a ser medidos de segundos para microssegundos
Computadores com transistores (1955-1965)
TX-0 (Transistorized eXperimental computer 0)
M.I.T., Lincoln Laboratory
Primeiro computador com transistor
PDP-1 (Primeiro computador comercializado)
1961, DEC (Digital Equipment Corporation), Kenneth Olsen (participante do projeto do TX-2) fundou a DEC em 1957.
Memória: 4K palavras de 18 bits e Ciclo: 5 microsegundos
Primeiro computador com display visual: tela de 512x512 pontos
Preço: US$120,000
Unidades vendidas: algumas dezenas
Nascimento da indústria de minicomputadores
33
Computadores com transistores (1955-1965)
PDP-8
DEC, 1965
Preço: US$16,000 e Unidades vendidas: 50.000
Máquina de 12 bits e Barramento único: omnibus (FIGURA)
7090
IBM (Industry of Business Machine)
Versão transistorizada do IBM 709
7094
1962, IBM
Memória: 32K palavras de 36 bits
Ciclo: 2 microsegundos
1401
1961, IBM
Memória: 4K bytes
Máquina orientada a negócios:
Fitas magnéticas (leitura e escrita)
Cartões (leitura e perfuração)
Impressão relativamente rápida e barata
34
Computadores com transistores (1955-1965)
CPU memory console
terminal paper
tape I/O other I/O
Omnibus
Barramento único do PDP-8 - omnibus
35
Computadores com transistores (1955-1965)
IBM 1401
Computadores com transistores (1955-1965)
6600
1964, CDC (Control Data Corporation)
Projetista: Seymour Cray
Alto grau de paralelismo dentro da CPU:
Várias unidades para adição, multiplicação e divisão trabalhando simultaneamente
Muito mais rápido que o 7094
Pequenos computadores auxiliares para tratamento de entrada e saída
Sucessores: 7600, Cray-1
B5000
Burroughs
Projeto orientado para a execução de programas em Algol-60, linguagem precursora do Pascal
Maior prioridade para o software
Menor prioridade para velocidade de processamento e preço
37
Gerações de Computadores
A terceira geração - circuitos integrados
(1965-1980)
Invenção do circuito integrado de silício, em 1958, Robert Noyce
Transistores, resistores, diodos e outras variações de componentes eletrônicos miniaturizados e montados sobre um único chip aos computadores
Dezenas de transistores em um único chip
Possibilitou construir computadores menores, mais rápidos e mais baratos
Atingindo uma faixa de mercado que abrangia empresas de médio porte, centros de pesquisa e universidades menores
Computadores com circuitos integrados (1965-1980)
39
System/360
IBM, 1965
Família de computadores, com diferentes capacidades de processamento e armazenamento: modelos 30, 40, 50 e 65 (tabela)
Visava substituir o 1401 (comercial) e o 7094 (científico) ao mesmo tempo
Permitia multiprogramação: vários programas em memória em
execução simultânea (quando um aguardava uma operação de entrada ou saída se completar, outro podia executar)
Emulava outros computadores (1401, 7094), devido à sua capacidade de microprogramação
Endereçamento máximo: 16 megabytes (24 bits)
PDP-11
DEC, 1970
Sucessor de 16 bits do PDP-8
Grande sucesso, especialmente nas universidades
Computadores com circuitos integrados (1965-1980)
Família IBM System/360
Propriedade Modelo 30 Modelo 40 Modelo 50 Modelo 65
Desempenho relativo
1 3,5 10 21
Ciclo (nsec) 1000 625 500 250
Memória (KB)
64 256 256 512
Bytes lidos por ciclo
1 2 4 16
Canais para dados
3 3 4 6
41
IBM PC/XT
Computadores com circuitos integrados (1965-1980)
PDP-5
Computadores com circuitos integrados (1965-1980)
43
Gerações de Computadores
A quarta geração - integração em escala muito grande
(1980-?)
Computadores com integração em escala muito Grande (1980-?)
Década de 80: grande compactação dos circuitos integrados
Dezenas de milhares, depois centenas de milhares e finalmente milhões de transistores em um chip
Desempenho aumentou muito
Preços caíram muito
Computadores deixaram de ser privilégio de grandes corporações
Início da era do computador pessoal
45
Computadores com integração em escala muito Grande (1980-?)
A Intel desenvolveu o 1º microprocessador
Intel 4004. Possuía um circuito integrado com 2.250 transistores que funcionava a 4 bits.
Depois foram lançados
Intel 8008 (2.500 transistores),
Em 1971 e 1974 o Intel 8080.
O 1º microcomputador foi produzido em 1975, pela Mits (Micro Instrumentation Telemetry Systems) chamada de Mits Altair 8800
Computadores com integração em escala muito Grande (1980-?)
Altair 8800
47
Primeiros computadores pessoais
Vendidos em kits para o próprio consumidor montar
Placa de circuito impresso
Conjunto de chips (tipicamente Intel 8080)
Alguns cabos
Fonte de alimentação
Floppy disk de 8 polegadas
Software não era fornecido:
o consumidor tinha que escrever seu próprio software
Sistema operacional CP/M
Gary Kildall
Processadores Intel 8080
Floppy disk operating system
Sistema de arquivos
Comandos por teclado
Apple, Apple II
Steve Jobs e Steve Wozniak
Muito popular para uso doméstico e em escolas
Primeiros computadores pessoais
IBM Personal Computer
IBM, 1981
Intel 8088
Projeto de circuitos público:
Objetivo: permitir que outros fabricassem componentes facilmente acopláveis ao PC (plug-in boards)
Conseqüência: indústria de clones
Sistema operacional:
Inicialmente, MS-DOS (criação da Microsoft)
Mais tarde, com CPUs mais poderosas, OS/2, que possui interface gráfica semelhante ao Apple Macintosh
Mais tarde ainda, MS-Windows
49
Lei de Moore
Gordon Moore, 1965, Intel
Número de transistores em um chip dobra a cada 18 meses.
Círculo Virtuoso:
Avanço tecnológico propicia melhores produtos a preços mais baixos.
Preços mais baixos induz ao surgimento de novas aplicações (exemplo, video games)
Novas aplicações aumentam as possibilidades de mercado e fazem surgir novas empresas.
Novas empresas leva a competição, criando demanda econômica para o avanço tecnológico.
Lei de Nathan
Nathan Myhrvold, Microsoft
“Software é como gás: expande até preencher todo o container.”
Exemplo: editores de texto
Troff (década de 80) ocupava alguns milhares de kilobytes de memória
Editores atuais ocupam dezenas de megabytes
51
Categorias de computadores
Tipo Preço ($) Exemplos de aplicação
Descartável 1 Cartões de mensagens
Embutido 10 Relógios, carros, equipamentos
Game 100 Vídeo games
Computadores pessoais 1K Desktops e portáteis Servidores 10K Servidores de rede
Coleção de workstations 100K Minisupercomputador departamental Mainframe 1M Processamento batch em bancos
Supercomputador 10M Previsão de tempo, prospecção de petróleo
Intel
1968: Fundação
Robert Noyce ( inventor do circuito integrado de silício )
Gordon Moore ( Moore’s law )
Arthur Rock ( investidor )
53
Chip Data MHz Transistores Memória Nota
4004 4/1971 0,108 2.300 640 Primeiro microprocessador em um único chip 8008 4/1972 0,108 3.500 16 KB Primeiro microprocessador de 8 bits
8080 4/1974 2 6.000 64 KB Primeira CPU de propósito geral em um chip 8086 6/1978 5-10 29.000 1 MB Primeira CPU de 16 bits em um chip
8088 6/1979 5-8 29.000 1 MB Usado no IBM PC
80286 2/1982 8-12 134.000 16 MB Esquema de proteção de memória 80386 10/1985 16-33 275.000 4 GB Primeira CPU de 32 bits
80486 4/1989 25-100 1,2M 4 GB Cache interno de 8K
Pentium 3/1993 60-233 3,1M 4 GB 2 pipelines; MMX
Pentium Pro 3/1995 150-200 5,5M 4 GB Cache interno em dois níveis Pentium II 5/1997 233-400 7,5M 4 GB Pentium Pro com MMX
Intel
SUN
SUN: Stanford University Network)
1981, Andy Bechtolsheim, alemão, estudante de graduação de Stanford, montou seu próprio computador (SUN-1) para executar Unix, usando CPU Motorola 68020.
“workstation”: Ethernet e TCP/IP para conectar a ARPANET (precursora da Internet)
1987: SPARC (Scalable Processor ARChitecture)
RISC: Reduced Instruction Set
Máquina de 32 bits
1995: UltraSPARC I
Máquina de 64 bits
Orientada a multimídia
VIS: Visual Instruction Set
55