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

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

Capítulo 1 Introdução.

Apresentações semelhantes


Apresentação em tema: "Capítulo 1 Introdução."— Transcrição da apresentação:

1 Capítulo 1 Introdução

2 Introdução Sopa de letrinhas Computador digital Programa de computador
Circuitos eletrônicos Transistor Linguagem de máquina Níveis e máquinas reais Tradução x Interpretação Portas digitais Registradores Microprograma Sistema Operacional

3 Introdução Um computador digital é uma máquina que pode resolver problemas para as pessoas executando instruções que lhe são dadas. Programa de Computador é então uma sequência de instruções que descreve como fazer uma tarefa

4 Introdução Os circuitos eletrônicos de cada computador podem reconhecer e executar diretamente um conjunto limitado de instruções que raramente são mais complexas que: Some dois números Verifique se um número é zero Copie dados de uma parte para outra da memória do computador

5 Introdução Os programas de computadores para serem executados devem ser traduzidos para instruções de máquina Linguagem de máquina são as instruções primitivas com as quais as pessoas podem se comunicar com o computador

6 Introdução Níveis e máquinas reais
A idéia é projetar um conjunto de instruções que sejam mais convenientes para as pessoas usarem do que as instruções que já vem embutidas na máquina A máquina de nível 0 executa a linguagem de nível 0 A máquina de nível 1 executa a linguagem de nível 1

7 Introdução Níveis e máquinas reais Tradução x Interpretação

8 Introdução Níveis e máquinas reais Tradução
Um programa escrito em L1é traduzido instrução após instrução para a equivalente em L0. O computador então executa o programa L0 em vez do antigo L1

9 Introdução Níveis e máquinas reais Interpretação
Um programa escrito em L0 considera um programa escrito em L1 como entrada de dados e examina instrução a instrução, interpretando-as uma após a outra, obtendo e executando a sequência equivalente de instruções em L0.

10 Introdução Níveis e máquinas reais Tradução x Interpretação
São semelhantes. Em ambos os métodos, o computador executa instruções em L1 que realizam sequências equivalentes em L0 A diferença é que na tradução, todo o programa L1 é convertido para L0. O programa L1 é descartado e então o novo programa L0 é carregado na memória do computador e executado

11 Linguagens, Níveis e Máquinas Reais
Interessa para os desenvolvedores apenas a linguagem de nível superior Cada linguagem usa a antecessora como base, de modo que podemos considerar um computador que use esta técnica como uma série de camadas ou níveis, uma sobre a outra. Máquina multinível.

12 Máquinas Multiníveis Contemporâneas
Utilizam interpretadores e tradutores Voltados aos programadores de aplicação Níveis 4 e 5 utilizam palavras na linguagem Dirigidos à execução dos interpretadores e tradutores que dão suporte aos níveis mais altos Desenvolvidos pelos programadores de sistemas Geralmente utilizam interpretadores Níveis 1,2 e 3 utilizam linguagem numérica Computador de seis níveis. O método de suporte para cada nível está indicado abaixo dele (junto com o nome do programa de suporte).

13 Máquinas Multiníveis Contemporâneas
Nível de Dispositivo ( Abaixo do nível 0) Domínio da engenharia da eletricidade Projetista vê transistores individuais

14 Máquinas Multiníveis Contemporâneas
Nível Lógico Digital (0) É o verdadeiro hardware da máquina Seus circuitos executam os programas em linguagem de máquina Objetos de interesse são as portas Cada porta possui uma ou mais entradas digitais ( 0 ou 1). Computa como saída alguma função simples a partir das entradas, tais como: E (AND) ou OU (OR) Cada porta possui poucos transistores Um pequeno número de portas combinadas forma uma memória de 1 bit ( 0 ou 1) As memórias de 1 bit podem ser combinadas em grupos de 16, 32 ou 64 bits e formam os registradores Portas também podem ser combinadas para formar o próprio mecanismo de computação

15 Máquinas Multiníveis Contemporâneas
Nível da Microarquitetura (1) Formado por um conjunto de 8 a 32 registradores que formam uma memória local e um circuito ALU / ULA Arithmetic Logical Unit (ALU) ou Unidade Lógica e Aritmética é capaz de executar operações simples Os registradores se conectam à ULA para formar um caminho de dados A operação básica de um conjunto de dados consiste em selecionar um ou dois registradores, fazendo com que a ULA efetue algo com eles E.g. some-os e armazene o resultado em algum registrador

16 Máquinas Multiníveis Contemporâneas
Nível da Microarquitetura (1) Em algumas máquinas a operação do caminho de dados é controlada por um programa denominado microprograma, em outras é controlada diretamente por hardware Em máquinas controladas por software, o microprograma é um interpretador para as funções de nível 2 E.g. instrução ADD (SOME) é carregada, seus operando são lidos para dentro do registrador, a soma é calculada na ULA e o resultado é enviado ao local adequado

17 Máquinas Multiníveis Contemporâneas
Nível Instruction Set Architecture - ISA (2) No português, Arquitetura do Conjunto de Instruções Quando descreve um conjunto de instruções, estão de fato descrevendo as instruções executadas por interpretação pelo microprograma ou diretamente pelos circuitos do hardware

18 Máquinas Multiníveis Contemporâneas
Nível de Máquina do Sistema Operacional (3) Híbrido, i.e., algumas instruções são executadas pelo sistema operacional e outras pelo microprograma ou controle incorporado no hardware Grande parte de suas instruções também estão no nível ISA (2) Define novas instruções , uma organização diferente de memória, a capacidade de executar dois ou mais programas ao mesmo tempo

19 Máquinas Multiníveis Contemporâneas
Nível de Máquina do Sistema Operacional (3) As novas funcionalidades do nível 3 são executadas por um interpretador que roda no nível 2, conhecido como sistema operacional O S.O é portanto um interpretador que executa no nível ISA As instruções de nível 3 idênticas às de nível 2 são executadas diretamente pelo microprograma ou hardware e não pelo sistema operacional

20 Máquinas Multiníveis Contemporâneas
Nível da Linguagem de Montagem - Assembly (4) Forma simbólica para uma das linguagens do nível 5 ou superiores Fornece um método para as pessoas escreverem programas para os níveis 1, 2 e 3 em uma forma não tão desagradável quanto a linguagem de máquina real em si Os programas são primeiramente traduzidos para a linguagem da máquina real dos níveis 1, 2 ou 3 e em seguida interpretados Assembler é o programa que realiza a tradução das instruções em nível 4

21 Máquinas Multiníveis Contemporâneas
Nível de Linguagem Orientada a Problemas (5) Consiste em linguagens projetadas para serem usadas pelos programadores de aplicação Denominadas linguagens de alto nível C, C++, C#, JAVA, LISP, PROLOG São Traduzidas para os níveis 3 ou 4 por programas conhecidos como compiladores Podem ser interpretados ao invés de traduzidos, e.g., PHP, ASP JAVA primeiro é traduzido para uma linguagem semelhante à ISA, denominada bytecode JAVA, para em seguida ser interpretada pela JVM

22 Arquitetura de Computadores
É o estudo de como projetar as partes de um computador que sejam visíveis aos programadores, i.e., Tipos de dados, operações e características de cada nível Quantidade de memória disponível

23 Evolução das máquinas multiníveis
Software X Hardware Programas escritos em uma verdadeira linguagem de máquina (nível 1) de um computador, podem ser executados diretamente pelos circuitos eletrônicos (nível 0) do computador sem nenhum interpretador ou tradutor Os circuitos eletrônicos, junto com a memória e dispositivos de entrada e saída, formam o hardware do computador

24 Evolução das máquinas multiníveis
O hardware consiste em: Circuitos Integrados Placas de Circuito Impressos Processador Cabos Memória Fontes de Força Impressora

25 Evolução das máquinas multiníveis
Software consiste em algorítmos, ou seja, instruções detalhadas que dizem como o computador deve fazer algo, e suas representações no computador, denominadas de programas de computador

26 Evolução das máquinas multiníveis
Nos primeiros computadores a fronteira entre Hardware e Software era nítida Com o tempo no entanto essa fronteira ficou bastante indistinta devido à adição, remoção e fusão de níveis à medida que os computadores evoluiram Na verdade Hardware e Software são logicamente equivalentes

27 Evolução das máquinas multiníveis
Qualquer operação feita por software pode também ser realizado por hardware Hardware é software petrificado Qualquer operação feita por hardware pode também ser realizado por software Um chip de computador

28 Evolução das máquinas multiníveis
Invenção da microprogramação Invenção do sistema operacional Migração de funcionalidade para microcódigo Eliminação da microprogramação

29 Evolução das máquinas multiníveis
Invenção da microprogramação Primeiros computadores digitais da década de 40 tinham somente dois níveis: Nível ISA, no qual era feita toda a programação Nível Lógico Digital, executava os programas Em 1951, Maurice Wilkes, pesquisador de Cambridge, sugeriu projetar um computador de três níveis para simplificar bastante o hardware

30 Evolução das máquinas multiníveis
Invenção da microprogramação Assim surge o Microprograma, ou seja, um interpretador embutido, imutável, cuja função era executar programas de nível ISA por interpretação O hardware teria de executar o microprograma, com um número limitado de instruções, consequentemente menor necessidade de circuitos eletrônicos 1950 – Microprograma era pouco utilizado 1960 – Mais difundido 1970 – Idéia dominante

31 Evolução das máquinas multiníveis
Invenção do Sistema Operacional (S.O) Próximo a 1960 foi criado o Sistema Operacional visando diminuir o desperdício de tempo ao automatizar o trabalho das pessoas que queriam submeter jobs a serem executados pelo computador O S.O., era mantido o tempo todo no computador O programador produzia certos cartões de controle para que não fossem confundidos com cartões de programa e de dados (identificados pelo *)

32 Evolução das máquinas multiníveis
Invenção do Sistema Operacional (S.O) Finalidade de contabilidade Instr ução para carregar o compilador A partir de uma fita magnética Leitura do Programa em Fortran e Compilação Instrução para executar o programa traduzido e ler os dados de entrada Exemplo de trabalho para o sistema operacional FMS (Fortran Monitor System) no Mainframe IBM 709

33 Evolução das máquinas multiníveis
Invenção do Sistema Operacional (S.O) Nos anos que se seguiram a 1960, os S.Os tornaram-se cada vez mais sofisticados Novas instruções, características e funções foram adicionadas ao nível ISA, até ele parecer um novo nível O nível de S.O: Funções idênticas ao nível ISA Funções de entrada e saída totalmente diferentes Novas instruções começaram a ficar conhecidas como macros de sistema operacional ou chamadas do supervisor Termo atual é chamada do sistema

34 Evolução das máquinas multiníveis
Invenção do Sistema Operacional (S.O) Início da década de 60 desenvolveram S.Os que permitiam a vários programadores se comunicarem diretamente com o computador, ao invés do sistema em lote ou batch Sistemas tinham terminais remotos ligados ao computador central através de linhas telefônicas Eram os chamados Sistemas de Tempo Compartilhado ou timesharing Os sistemas operacionais fazem mais do que interpretar características adicionais ao nível ISA

35 Evolução das máquinas multiníveis
Invenção do Sistema Operacional (S.O) Sistema de Tempo Compartilhado ou timesharing da década de 60

36 Evolução das máquinas multiníveis
Migração de Funcionalidade para Microcódigo Novas instruções acrescentadas, apenas ampliando o microprograma Podia-se acrescentar novas instruções de máquina (hardware) por programação Explosão virtual de conjuntos de instruções de máquina E.g. instrução INC (mais rápida) e instrução ADD

37 Evolução das máquinas multiníveis
Migração de Funcionalidade para Microcódigo Instruções mais frequentes adicionadas ao microprograma Multiplicação e divisão de inteiros Aritmética para ponto flutuante Chamar e sair de procedimentos Acelerar loops (laços) Manipular cadeias de caracteres Pela facilidade de acrescentar novas instruções, outras características foram adicionadas ao microprograma Aceleração de cálculos que envolvessem vetores (indexação) Movimentação de programas na memória após o início da execução (facilidade de relocação) Sistema de interrupção que avisa o computador quando uma operação de E/S é concluída Comutação de processo – capacidade de interromper um programa e iniciar outro com um pequeno número de instruções Instruções especiais para processar arquivos de áudio, imagem e multimídia

38 Evolução das máquinas multiníveis
Eliminação da Microprogramação Os microprogramas engordaram durante as décadas de 1960 e 1970 Tendiam a ficar cada vez mais lentos quanto mais volumosos Percebeu-se então que eliminando o microprograma, promovendo uma drástica redução no número de instruções, máquinas ficavam mais rápidas Redução drástica no conjunto de instruções Instruções restantes executadas diretamente com caminho de dados controlado por hardware O projeto de computadores fechou um círculo, voltando ao ponto antes da invenção da microprogramação por Wilkes

39 Marcos da Arquitetura de Computadores (1)

40 Marcos da Arquitetura de Computadores (2)

41 Gerações de computadores
Geração Zero Computadores Mecânicos (1642–1945) Primeira Geração Válvulas (1945–1955) Segunda Geração Transistores (1955–1965) Terceira Geração Circuitos Integrados (1965–1980) Quarta Geração Integração em larga escala (1980–?)

42 Gerações de computadores
Geração Zero - Computadores Mecânicos (1642–1945) Cientista Blaise Pascal constroi em 1642 uma máquina de calcular com engrenagens e manivela, operada a mão Efetuava as operações de adição e subtração

43 Gerações de computadores
Geração Zero - Computadores Mecânicos (1642–1945) Em 1672, Matemático Alemão, Leibniz, constroi máquina mecânica que podia multiplicar e dividir, além de somar e subtrair

44 Gerações de computadores
Geração Zero - Computadores Mecânicos (1642–1945) Por volta de 1820, Charles Babbage projetou e construiu a máquina diferencial, capaz de somar e subtrair, era usado para calcular tabelas de números úteis para navegação Executava um único algorítmo Entrada e saída semelhante encontrada nos CD-ROMs perfurando em uma chapa de gravação de cobre

45 Gerações de computadores
Geração Zero - Computadores Mecânicos (1642–1945) Charles Babbage (Avô do computador digital moderno) também criou a máquina analítica inteiramente mecânica Capaz de executar vários algorítmos (programável) Possuia 4 componentes: Armazenagem (memória) Unidade de cálculo conhecida como moinho Seção de entrada (leitora de cartões perfurados) Saída (cartões perfurados e impressora) Primeira programadora: Ada Lovelace (Linguagem Ada em homenagem a ela)

46 Gerações de computadores
Geração Zero - Computadores Mecânicos (1642–1945) No final da década de 1930, Konrad Zuse construiu uma série de máquinas de calcular automáticas usando relés eletromagnéticos.

47 Gerações de computadores
Geração Zero - Computadores Mecânicos (1642–1945) Aiken construiu a Mark I em 1944 Reproduziu com relés o computador de uso geral de Babbage Tinha 72 palavras de 23 algarismos decimais cada Tempo de instrução de 6 s Mark I Mark II

48 Gerações de computadores
Primeira Geração Válvulas (1945–1955) Em 1946, Mauchley e Eckert concluiram a construção de um computador eletrônico conhecido como ENIAC (Eletronic Numerical Integrator And Computer) Consistia de 18 mil válvulas e 1500 relés, pesava 30 toneladas e consumia 140 KW Tinha 20 registradores cada um com capacidade para um número decimal de 10 algarismos Programado com o ajuste de 6 mil interruptores

49 Máquina de Von Neumann Primeira Geração - Válvulas (1945–1955)
John Von Neumman, usou aritmática binária paralela para representar os dígitos Percebeu que programas e dados poderiam ser representados digitalmente na memória do computador, ao invés de usar cabos e interruptores Base de todos os computadores digitais modernos ainda hoje

50 Máquina de Von Neumann Primeira Geração - Válvulas (1945–1955)
Possuía 5 partes: Memória Unidade Lógica e Aritmética Unidade de controle Equipamento de entrada Equipamento de Saída

51 Máquina de Von Neumann Primeira Geração - Válvulas (1945–1955) Memória
Consistia de palavras, cada uma contendo 40 bits (0 ou 1) Cada palavra continha ou 2 instruções de 20 bits ou um inteiro de 40 bits com sinal A instrução tinha 8 bits para indicar o tipo de instrução e 12 bits para indicar uma das palavras da memória

52 Máquina de Von Neumann Primeira Geração - Válvulas (1945–1955)
Unidade Lógica e Aritmética e a Unidade de controle formavam o “cérebro” do computador Nos computadores modernos são combinadas em um único chip denominado CPU Na unidade lógica e aritmética havia um registrador interno especial de 40 bits denominado acumulador Uma instrução típica adicionava uma palavra de memória ao acumulador ou armazenava o conteúdo do acumulador na memória

53 Gerações de computadores
Primeira Geração Válvulas (1945–1955) Paralelamente ao trabalho de Von Neumann, o MIT construia o Whirlwind I Possuia palavras de 16 bits Projetada para controle em tempo real Levou à invenção da memória de núcleo magnético por Jay Forrester e ao primeiro microcomputador comercial

54 Gerações de computadores
Segunda Geração Transistores ( ) O transistor foi inventado no Bell Labs em 1948 Revolucionou os computadores e tornou obsoleto as válvulas TX-0 e TX-2 primeiros computadores transistorizados PDP-1 surgiu em 1964 e podia realizar instruções por segundo Console do TX-0 PDP-1

55 PDP-8 Inovação – Barramento único
Segunda Geração Transistores ( ) Barramento é um conjunto de fios paralelos usados para conectar os componentes de um computador Esta arquitetura é uma ruptura com a da máquina IAS (Von-Neuman) , centrada na memória Foi adotada para todos os outros computadores desde então

56 IBM 360 Terceira Geração Circuitos Integrados (1965-1980)
A invenção do circuito integrado permitiu que dezenas de transistores fossem colocados em um único chip Computadores menores, mais baratos e mais rápidos Exemplo é a linha de produtos IBM 360

57 IBM 360 Terceira Geração Circuitos Integrados (1965-1980) IBM 360
Introduziu os conceitos de multiprogramação Compatibilidade com programas legados dos computadores anteriores 7094 e 1401 da IBM totalmente diferentes, graças ao uso da microprogramação para a emulação do hardware dos computadores antigos

58 Quarta Geração – Integração em Larga Escala (1980 - ? )
VLSI – Very Large Scale Integration, possibilitou colocar dezenas de milhares, centenas de milhares, milhões de transistores em um único chip Computadores menores e mais rápidos Chip intel 8080 IBM PC com chip Intel 8080

59 Quarta Geração – Integração em Larga Escala (1980 - ? )
Na década de 1980, um novo desenvolvimento denominado RISC começou a se impor, substituindo as complicadas arquiteturas CISC por outras mais simples e mais rápidas Década de 1990, surgiram as CPUs superescalares que podiam realizar várias instruções ao mesmo tempo, em ordem diferente da que apareciam nos programas Até 1992, os computadores eram de 8, 16 ou 32 bits. Então a DEC lançou o ALPHA de 64 bits (máquina RISC de 64 bits) Arquitetura CISC X RISC será discutido adiante na disciplina DEC Alpha 64 bits

60 Quinta Geração – Computadores invisíveis
É mais uma mudança de paradigma do que uma nova arquitetura específica Computação Ubíqua ou Computação Pervasiva Computadores estão por toda parte e embutidos em tudo (invisíveis) São parte da estrutura diária, abrindo portas, controlando a luz, janelas, distribuindo dinheiro Modelo definido por Mark Weiser (2002) Chip RFID embutido na mão Chip RFID

61 Forças Econômicas e Tecnológicas
A lei de Moore prevê um aumento anual de 60% no número de transistores que podem ser colocados em um chip. Os dados pontuais informados nesta figura são tamanhos de memória em bits.

62 A gama dos computadores

63 Computador Pessoal Uma placa de circuito impresso é o coração de todo computador pessoal. Esta figura é uma fotografia da placa do Intel D875PBZ. A fotografia é de propriedade da Intel Corporation, 2003 e é usada com permissão.(sob sua permissão)

64 Exemplos de Famílias de computadores
Pentium 4 da Intel UltraSPARC III da Sun Microsystems O chip 8051 da Intel, usado para sistemas embutidos

65 Família de Computadores Intel (1)

66 Família de Computadores Intel (2)
Chip Pentium 4. Direitos de reprodução da Intel Corporation, 2003, utilização permitida.

67 Família de Computadores Intel (2)
Lei de Moore para chips de CPU (Intel).

68 Família MCS-51

69 Unidades Métricas


Carregar ppt "Capítulo 1 Introdução."

Apresentações semelhantes


Anúncios Google