A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Software Básico Introdução aos sistemas de computação Tanembaum, capítulo 1.

Apresentações semelhantes


Apresentação em tema: "Software Básico Introdução aos sistemas de computação Tanembaum, capítulo 1."— Transcrição da apresentação:

1 Software Básico Introdução aos sistemas de computação Tanembaum, capítulo 1

2 Organização Estruturada de Computadores2 A visão do usuário O usuário enxerga software, velocidade, capacidade de armazenamento e funcionalidades de periféricos

3 Organização Estruturada de Computadores3 Visão do computador Circuitos eletrônicos °Transistores interconectados °Chaves ligadas ou desligadas Linguagem de máquina °Conjunto de instruções fundamentais que a máquina executa °Expressa como um padrão de 0s e 1s

4 Organização Estruturada de Computadores4 Adendo: escalas, unidades e convenções Bit (b), Byte (B), Word (w) Kilo (k/K), Mega(M), Giga(G), Tera(T) Mili(m), Micro(µ), Nano(n), Pico(p) Diferentes escalas: °B: bytes (potências de 2) 64 KB = bytes °b: bits (potências de 10) 1 Mb/s = bits por segundo... há divergências... – você sabe o que é Kibi, Mibi, Gibi, Tibi?...

5 Organização Estruturada de Computadores5 Arquiteturas em níveis Qualquer computador atual é extremamente complexo para ser estudado de uma vez… A solução é organizar a máquina em níveis: °cada nível é definido em função do anterior °problemas são expressos em função da interface definida para cada nível °máquinas virtuais e linguagens associadas

6 Organização Estruturada de Computadores6 Máquina virtual Imagine que exista uma máquina hipotética (virtual) capaz de executar a linguagem L °Máquina M Escreva um programa em L °M deve ser capaz de executar esse programa diretamente Mesmo que a máquina virtual seja complexa, o programa ainda pode ser executado a partir da máquina do nível inferior Falha recorrente no livro: máquinas reais

7 Organização Estruturada de Computadores7 Tradução x Interpretação Programas representados em um nível têm que ser convertidos para processamento no nível inferior Tradução (compilação) °Programa na linguagem do nível L é convertido em equivalente no nível L-1 Interpretação °Cada instrução do nível L é analisada e o seu efeito é simulado pelo interpretador (programa de M-1)

8 Organização Estruturada de Computadores8 Linguagens, Níveis e Máquinas Virtuais

9 Organização Estruturada de Computadores9 Arquiteturas em níveis atuais Linguagens de alto nível Linguagem assembly Sistema operacional Linguagem de máquina Microarquitetura Lógica digital Tradução (compilador) Interpretação Tradução (assembler) Interpretação parcial (chamadas do sistema) Interpretação (microprograma)Execução direta Hardware Linguagem de máquina = nível de Arquitetura do Conjunto de Instruções - ISA

10 Organização Estruturada de Computadores10 Arquiteturas em níveis atuais Linguagens de alto nível Linguagem assembly Sistema operacional Linguagem de máquina Microarquitetura Lógica digital Tradução (compilador) Interpretação Tradução (assembler) Interpretação parcial (chamadas do sistema) Interpretação (microprograma)Execução direta Hardware Suporte aos Níveis superiores Programadores de sistemas Programas consistem em séries de números Programadores de aplicações Programas contêm Palavras e abreviações Java: código primeiro compilado para bytecode (semelhante à ISA – nível 2) depois interpretado

11 Arquiteturas em níveis atuais Arquitetura = conjunto de tipos de dados, operações e características de cada nível Arquitetura de um nível trata de aspectos que são visíveis ao usuário daquele nível ex: quantidade de memória disponível é parte da arquitetura aspectos de implementação não fazem parte da arquitetura tecnologia usada para construir memória não é parte da arquitetura

12 Organização Estruturada de Computadores12 Hardware e Software Hardware: objetos tangíveis °Circuitos eletrônicos, componentes físicos Software: idéias abstratas °Algoritmos, programas Início: fronteira era nítida Com o tempo: adição, remoção, fusão de níveis : fronteira indistinta

13 Organização Estruturada de Computadores13 Hardware e Software Software e hardware são logicamente equivalentes! Hardware é apenas software petrificado, Karen Panetta Lentz Qualquer instrução em software pode ser implementada em hardware Qualquer instrução executada em hardware pode ser simulada em software Decisão depende de custo, velocidade, confiabilidade, e frequência de mudanças esperadas.

14 Organização Estruturada de Computadores14 Primeiros computadores, década de 40: 2 níveis: Programação feita no nível ISA Nível lógical digital (hardware) executava Circuitos complicados, dífíceis de entender e de montar Baixa confiabilidade Evolução das máquinas multiníveis ENIAC, 1946

15 Organização Estruturada de Computadores15 Evolução das máquinas multiníveis Invenção da microprogramação (Wilkes, 1951) °Interpretador embutido imutável (microprograma) °Instruções do nível ISA eram interpretadas por várias operações mais simples °Simplificação do hardware: reduzir número de válvulas, aumentar confiabilidade °Tempo de processamento necessário para fazer a interpretação (overhead) °Microprogramação: atingiu seu apogeu na década de 1970

16 Organização Estruturada de Computadores16 A programação evoluiu: °passou a ser feita com cartões perfurados Mas o programador ainda tinha que controlar o computador diretamente °Máquina ociosa Evolução das máquinas multiníveis

17 Organização Estruturada de Computadores17 ~1960: sistema operacional Automatizar trabalho do operador Minimizar desperdício de tempo Programador produzia cartões de controle junto dom o programa que eram lidos e executados pelo SO Evolução das máquinas multiníveis Ex de job no SO FMS *JOB, 5494, BARBARRA * FORTRAN Programa Fortran * DATA Cartões de dados * END

18 Organização Estruturada de Computadores18 Os sistemas operacionais evoluíram: novas instruções, prinipalmente de E/S No início: processamento em batch ou lote (fim dos '50) Várias horas entre instante em que programa entrava na máquina e horário que terminava Sistemas de tempo compartilhado/time sharing (início ´60) Vários programadores se comunicam diretamente com o computador Terminais remotos conectados ao computador central por linhas telefônicas Evolução das máquinas multiníveis IBM 709, 1959

19 Organização Estruturada de Computadores19 Evolução das máquinas multiníveis Migração de funcionalidade para microcódigo ('70) °Extensão do microprograma equivalia a acrescentar novo hardware °Explosão de novas instruções para simplificar a vida do programador assembly °Muitas insruções não eram essenciais pois seu efeito podia ser conseguido com facilidade com outras instruções EX: INC vs. ADD °Exemplos importantes: DEC PDP, DEC VAX °Incorporada aos micro-processadores (menos HW)

20 Organização Estruturada de Computadores20 Evolução das máquinas multiníveis Eliminação da microprogramação ('90) °Microprogramas extensos geram lentidão °Tendência: Eliminar/reduzir microprograma Reduzir drasticamente conjunto de instruções Execução direta das instruções restantes °Compiladores não precisam de instruções complexas °Hardware se tornam mais barato... Mas o mundo continua dando voltas... Java e congêneres utilizam byte codes (interpretados)

21 Organização Estruturada de Computadores21 Um pouco de história Era uma vez...

22 Organização Estruturada de Computadores22 A pré-história Máquinas mecânicas Computadores baseados em relés O computador ABC (não terminado)

23 Computadores Mecânicos (1642 – 1945) Blaise Pascal, 1642: 1ª máquina de calcular operacional ° totalmente mecânico, °funcionava com uma manivela operada à mão, °projetado para ajudar o pai, coletor de impostos, ° fazia soma/subtração

24 Organização Estruturada de Computadores24 Blaise Pascal Pascaline – calculadora simples, 1642

25 Organização Estruturada de Computadores25 Leibniz Calculadora c/ 4 operações básicas, 1672

26 Computadores Mecânicos (1642 – 1945) Charles Babbage (1792 – 1871) °1ª tentativa: dispositivo mecânico soma/subtração, realizava um único algoritmo saída: perfurava resultados sobre chapa e gravação de cobre (prenúncio de CD-Roms) °2ª tentativa (1834): 1ª máquina analítica (ainda mecânica) 4 unidades: armazenagem, moinho, leitora de cartões perfurados, saída perfurada e impressa armazenagem: 1000 palavras de 50 algarismos decimais moinho: soma/subtração/multiplicação/divisão / testes uso geral: podia realizar cálculos diversos Produção de software: Babbage contratou Ada Lovelace – 1ª programadora de computadores

27 Organização Estruturada de Computadores27 Babbage ( ) Engenho diferencial

28 Organização Estruturada de Computadores28 Charles Babbage ( ) Engenho analítico

29 Organização Estruturada de Computadores29 Charles Babbage ( )

30 Computadores Mecânicos (1642 – 1945) Charles Babbage (1792 – 1871) °1ª tentativa: dispositivo mecânico, soma/subtração, realizava um único algoritmo, saída: perfurava resultados sobre chapa e gravação de cobre (prenúncio de CD-Roms) °2ª tentativa (1834): 1ª máquina analítica (ainda inteiramente mecânica) 4 unidades: armazenagem, moinho, leitora de cartões perfurados, saída perfurada e impressa armazenagem: 1000 palavras de 50 algarismos decimais moinho: soma/subtração/multiplicação/divisão / testes uso geral: dependendo dos cartões de entrada, podia realizar cálculos diversos Produção de software: Babbage contratou Ada Lovelace – 1ª programadora de computadores Konrad Zuse, 1930´s: 1ª máquina calculadora automática com relés eletromagnétios °Vários outros esforços nesta época °John Atanasoff: máquina super-avançada para época, baseada em aritmética binária. Máquina nunca se tornou realmente funcional °Howard Aiken,: revisitou trabalho de Babbage e decidiu construir com relés um computador de uso geral. Quando terminou, os computadores de relés estavam obsoletos.

31 Organização Estruturada de Computadores31 Hollerith Proc. de cartões perfurados (censo 1890) Empresa viria a se transformar na IBM (1924)

32 Computadores Mecânicos (1642 – 1945) Konrad Zuse, 1930´s: °1ª máquina calculadora automática com relés eletromagnétios John Atanasoff: °máquina super-avançada para época, baseada em aritmética binária. ° Máquina nunca se tornou realmente funcional Howard Aiken: °revisitou trabalho de Babbage e decidiu construir com relés um computador de uso geral. °Quando terminou, os computadores de relés estavam obsoletos.

33 Organização Estruturada de Computadores33 Atanasoff-Berry Computer (ABC), 1939 Incompleto válvulas lógica binária memória dinâmica

34 Organização Estruturada de Computadores34 Conrad (?) Zuse Máquina digital (relés), 1941

35 Organização Estruturada de Computadores35 Harvard Mark I Calculador baseado em relés Primeiro totalmente automático

36 Organização Estruturada de Computadores36 Primeira geração: válvulas ( ) Substitutos naturais dos relés Menor espaço, maior velocidade, sem partes móveis Grande estímulo para computador eletrônico: Segunda Guerra Mundial Mensagens alemãs enviadas codificadas usando ENIGMA

37 Organização Estruturada de Computadores37 Alan Turing COLOSSUS, 1943 Primeiro computador eletrônico (válvulas) programável Projeto do Governo Britânico Segredo militar por 50 anos Desenvolvido para decodificar msgs nazistas

38 Organização Estruturada de Computadores38 Eckert e Mauchley ENIAC (Eckert e Mauchley, 1946) °Necessidade de cálculos pesados pelo exército dos EUA °Idéias de Atanasoff e outros °18000 válvulas e 1500 relés °30 toneladas, 140 kW °Cabos e 6000 chaves °Arquitetura:20 registradores cada um um número decimal de 10 algarismos °Primeiro bug °Após a guerra,escola de verão

39 Mauchley & Eckert: ENIAC Electronic Numerical Integrator and Compute

40 Mauchley & Eckert: UNIVAC (#1 no mercado)

41 Organização Estruturada de Computadores41 John Von Neumann IAS – a máquina de von Neumann (1952) °Arquitetura dos computadores modernos °Programa armazenado em memória °Unidades de controle e aritmética Memória Unidade de controle Unidade lógica- aritmética Entrada Saída Acumulador

42 John Von Neumann IAS – a máquina de von Neumann (1952) °Memória: 4096 palavras de 40 bits °Cada palavra: 2 instruções de 20 bits ou um inteiro de 40 bits com sinal °Instruções: 8 bits para identificar tipo, 12 bits para especifica um das 4096 palavras de memória °Registrador Acumulador: dentro da Unidade Lógica e Aritmética

43 A Primeira Geração: Válvulas (1945 – 1955) IBM, 1953: 701 °2048 palavras de 36 bits °Início da atuação da IBM no mercado de computadores °Primeiro de uma série de máquinas científicas que passaram a dominar o setor na próxima década

44 Organização Estruturada de Computadores44 Outros computadores da época EDSAC, 1949 UNIVAC, 1951 Whirlwind, 1951 MANIAC, 1952

45 Organização Estruturada de Computadores45 Segunda geração: transistor ( ) Menos falhas, menor espaço DEC PDP-1 IBM 1401 CDC 6600 Burroughs 5000: programação em ALGOL incluíram muitas características no hardware para facilitar tarefa do compilador software também é importante

46 A Segunda Geração: Transistores (1955 – 1965) MIT, 1950´s: TX-0 – Transistorizes eXperimental Computer 0 °1º computador transistorizado °Depois veio o TX-2 que acabou nao dando em nada °Kenneth Olsen, um dos engenheiros, fundou a empresa Digital Equipment Corporation (DEC) em 1957 DEC, 1960: PDP-1 °4096 palavras de 18 bits °Podia executar 200 mil instruções por segundo: metade do desempenho do IBM 7090, o mais rápido na época °Porém o PDP1 custava 120 mil dólares, o 7090 custava milhões °DEC vendeu dezenas de PDP-1: nascia a indústria de minicomputadores °Visor e capacidade de plotar pontos na tela -> criação de videogames

47 Organização Estruturada de Computadores47 DEC PDP-1, 1960 Primeiro mini-computador

48 A Segunda Geração: Transistores (1955 – 1965) IBM: computação científica ° 7090, 7094 tempo de ciclo de 2 microssegundos IBM, processamento comercial, periféricos °1401: máquina pequena voltada para empresas °1401: arquitetura complexa, sem registrador, palavra sem tamanho fixo

49 Organização Estruturada de Computadores49 Control Data: CDC 6600, 1964 Primeiro super-computador °várias unidades de processamento °estrutura pipeline °múltiplas threads °Arquitetura estava décadas a frente do seu tempo Projetista: Seymour Cray

50 Organização Estruturada de Computadores50 DEC PDP-8, 1965 Mini-computador com barramento padrão °Inovação: barramento único (omnibus) conectando cpu, memória, console, E/S Berço do Unix (Bell Labs)

51 Organização Estruturada de Computadores51 Terceira geração: CIs ( ) Invenção do circuito integrado por Robert Noyce em 1958: °dezenas de transistores em um único chip Maior integração permitiu reduções significativas de tamanho

52 Organização Estruturada de Computadores52 IBM System/360 Arquitetura de máquina comum a vários modelos °Família de máquinas compatibilidade °multiprogramação °emulava 1401 e 7090 (máquinas virtuais) °Microprogramado Um microprograma para cada máquina alvo °Espaço de endereçamento: 2 24 bytes: parecia muito no início mas gerou problemas de compatibilidade na década de 80 (memória insuficiente)

53 Organização Estruturada de Computadores53 DEC PDP-11 Bastante popular em universidades Ligado à difusão do Unix Instruções complexas Seguido pela linha VAX

54 Organização Estruturada de Computadores54 Quarta geração: VLSI (1980-?) Integração em Escala Muito Grande Computador em um chip (4004) Explosão dos computadores pessoais °Kit com chip Intel 8080 x Apple IBM decide entrar no mercado de computadores pessoais °IBM Personal Computer construído com peças do mercado (Intel 8080): grande popularidade °Sistemas operacional MS-DOC da Microsoft °Projeto aberto: vários clones, assim nascia a indústria de PCs Apple Macintosh – interface gráfica Microsoft Windows – rompimento com IBM 1992: DEC lança o ALPHA de 64 bits

55 Organização Estruturada de Computadores55 Quarta geração: VLSI (1980-?) Era dos antagonismos: °IBM PC x Macintosh °IBM PC x Workstations °RISC x CISC °DOS/Win x Unix °Microsoft x o resto

56 Organização Estruturada de Computadores56 Quinta geração – computadores invisíveis? A Internet está presente em todo lugar Processadores estão cada vez menores Podem ser embutidos em quase tudo °PDAs °Celulares °Eletro-eletrônicos °Máquinas (automóveis) °Sensores °RFIDs A idéia existe há anos, mas a hora é agora

57 Organização Estruturada de Computadores57 Tendências fundamentais: Lei de Moore O no. de transistores dobra a cada 18 meses

58 Organização Estruturada de Computadores58 Tendências fundamentais: Lei de Moore O no. de transistores dobra a cada 18 meses

59 Organização Estruturada de Computadores59 Tendências fundamentais: Lei de Nathan Software é um gás: ele se expande até ocupar todo o recipiente que o contém Exemplo clássico: Win*

60 Organização Estruturada de Computadores60 Marcos da Arquitetura de Computadores

61 Organização Estruturada de Computadores61 Marcos da Arquitetura de Computadores

62 Organização Estruturada de Computadores62 Espectro dos computadores atuais TipoPreçoAplicação Computador descartável1Cartões musicais Computador embutido10Relógios, carros, eletro-eletrônicos Computador de jogos100Jogos (vídeo-games simples) Computador pessoal1KEstações de trabalho Servidor10KServidores de rede Clusters de estações100KSupercomputadores departamentais Mainframe1MProcessamento de grande volume de dados Supercomputadores10MPrevisão do tempo, armas nucleares

63 Organização Estruturada de Computadores63 Computador Pessoal

64 Organização Estruturada de Computadores64 Exemplos de famílias de computadores Pentium 4 da Intel UltraSPARC III da Sun Microsystems O chip 8051 da Intel, para sistemas embutidos

65 Organização Estruturada de Computadores65 Família de computadores Intel

66 Organização Estruturada de Computadores66 Família de computadores Intel Lei de Moore para chips de CPU (Intel).

67 Organização Estruturada de Computadores67 Família de computadores Intel Chip Pentium 4. Direitos de reprodução da Intel Corporation, 2003, utilização permitida.

68 Organização Estruturada de Computadores68 Família de computadores Sparc Estações de trabalho pessoais Unix Sun computers (Stanford University Network) °The Network is the Computer SPARC: Scalable Processor Architecture °Apenas definiu a arquitetura, diversos fabricantes fizeram suas implementações Exemplo clássico de processador RISC °Posteriormente o conjunto de instruções foi extendido

69 Organização Estruturada de Computadores69 Família MCS-51 Um computador em um chip °CPU 8 bits °Memória ROM °Memória RAM °UART (serial) °Temporizadores °Saídas de controle (binárias ou analógicas)

70 Organização Estruturada de Computadores70 Família MCS-51

71 Organização Estruturada de Computadores71 Próximo capítulo Introdução aos componentes básicos da arquitetura °processador °memória °dispositivos de entrada e saída Princípios de projeto dos vários componentes

72 Organização Estruturada de Computadores72


Carregar ppt "Software Básico Introdução aos sistemas de computação Tanembaum, capítulo 1."

Apresentações semelhantes


Anúncios Google