CAPÍTULO 1 INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Máquina programável, de propósito geral, que processa informação.

Documentos relacionados
Introdução à Computação: História dos computadores

Arquitetura de Computadores

Introdução INTRODUÇÃO À COMPUTAÇÃO M. Sistema Computacional. Máquina Virtual. Solução 8/10/10. O problema de comunicação humanocomputador

Capítulo 1 Introdução

Arquitetura de Computadores. Prof. Marcelo Mikosz Gonçalves

ARQUITETURA DE COMPUTADORES. Estágios da Evolução dos Computadores. Prof.: Agostinho S. Riofrio

- Aula 2 ESTÁGIOS DA EVOLUÇÃO DA ARQUITETURA DOS COMPUTADORES

26/02/2010 CONCEITOS BÁSICOS ARQUITETURA DE COMPUTADORES. O problema de comunicação humano-computador

1. INTRODUÇÃO. Computador Digital: É uma máquina capaz de solucionar problemas através da execução de instruções que lhe são fornecidas.

Evolução... Introdução (Aula 1) Histórico da Arquitetura de Computadores

Marcos da Arquitetura de Computadores. Sediane Carmem Lunardi Hernandes

Introdução (Aula 1) Histórico da Arquitetura de Computadores

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

Arquitetura e Organização de Computadores

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Calculadoras Mecânicas

Parte 01. Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

A Evolução dos Computadores: do ENIAC ao Jaguar

Fundamentos de Informática 1ºSemestre

Organização Básica de computadores e linguagem de montagem

Gerações de Máquinas. Geração Zero. Evolução dos Computadores Breve Histórico. Evolução dos Computadores Breve Histórico

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

História e Organização Básica de Computadores

Breve História da Computação. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2. Semestre 2007

LABORATÓRIO DE INFORMÁTICA. História da Computação

ARQUITETURA DE COMPUTADORES

Sumário. Organização de Computadores Módulo 3. Primeira Geração Válvulas ( ) Primeira Geração Válvulas ( )

Informática Instrumental Aula 1. Prof. Msc. Fernando Nakayama de Queiroz

Organização de Computadores I

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 3

Aula 26: Arquiteturas RISC vs. CISC

O que é Arquitetura de Computadores?

Conceitos e Evolução Capítulos 1 e 2

Computador Digital Circuitos de um computador (Hardware)

Máquinas Multiníveis

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

Sistema de Computação

Gerações de Computadores. INF005 - Arquitetura de Computadores e Software Básico Aula 3 Flávia Maristela (flavia@flaviamaristela.

Fundamentos de Programação I

André Aziz Francielle Santos

INFORMÁTICA APLICADA À ADMINISTRAÇÃO I

Organização de Computadores 1

SIS17 - Arquitetura de Computadores. Introdução (Parte III)

Curso Técnico em Redes

INFORMÁTICA HISTÓRIA DA INFORMÁTICA 1º PD PROFESSOR

ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES. CEFETES - UnED Serra

Histórico dos Computadores

Introdução à Computação

AULA 01 CONCEITOS BÁSICOS DE PROGRAMAÇÃO. Eduardo Camargo de Siqueira INFORMÁTICA APLICADA TÉCNICO EM ELETRÔNICA

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira CIRCUITOS DIGITAIS Engenharia de Computação

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Informática, Internet e Multimídia. Profa. Késsia R. C. Marchi

Arquitetura de Computadores Moderna

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

1. Histórico e Evolução dos Computadores


Introdução à Computação e suas Aplicações

SIS17-Arquitetura de Computadores

Edeyson Andrade Gomes

- Aula 1 - ARQUITETURA DE COMPUTADORES

Arquiteturas RISC. (Reduced Instructions Set Computers)

Organização e Arquitetura de Computadores I. de Computadores

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

A História do Computador. Linguagem de Programação Rone Ilídio/ Natã Goulart UFSJ - CAP

Sistemas Operacionais

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Introdução à Arquitetura de Computadores IFES Campus Serra

Organização de Computadores

Histórico da Evolução dos Computadores

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

1. NÍVEL CONVENCIONAL DE MÁQUINA

Disciplina de Informática. Profª. Me. Valéria Espíndola Lessa

RESUMO DO LIVRO. A linguagem de máquinas e o custo são analisados antes do computador ser projetado. LINGUAGEM, NÍVEIS E MÁQUINA REAIS

O Computador. Conceito

História e Evolução dos computadores

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Técnicas Computacionais para Engenharia I

Máquinas Multiníveis Aula 04. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

Fundamentos e Suporte de Computadores. Professora Monalize

Sistemas Computacionais II Professor Frederico Sauer

Introdução à Arquitetura de Computadores

Componentes do Computador e. aula 3. Profa. Débora Matos

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Surgimento da Informática

Profº Célio Conrado 1

Organização e Arquitetura de Computadores I. de Computadores

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Introdução à Informática HISTÓRICO E TIPOS DE COMPUTADORES

Processamento de dados - Aula I

Figura 1 - O computador

Transcrição:

CAPÍTULO 1 INTRODUÇÃO À ARQUITETURA DE COMPUTADORES 1.1 Introdução Computador: Programa: Instrução: Linguagem: Máquina programável, de propósito geral, que processa informação. Seqüência de instruções (de uma dada linguagem de programação) que operam sobre dados, realizando um processamento de informação específico. Operação que realiza algum processamento básico de informação. Exemplo: somar dois números, armazenar um dado, etc. (Linguagem de Programação). Conjunto de instruções associadas a uma sintaxe e uma semântica específicas. COMPUTADOR (HARDWARE + SOFTWARE) OPERADOR (HUMANO) E/S CPU MEMÓRIA Linguagem Humana: Vaga. Complexa. Simbólica. Linguagem de Máquina: Precisa. Simples. Numérica. Figura 1.1 O problema de comunicação humano-computador. Problema: Como expressar as especificações de processamento de informação definidas por um operador humano de uma forma que possa ser entendida pelo computador?

Solução: L h... L i... L 2 L 1 L 0 onde, L h = Linguagem humana, L i = linguagem intermediária, (i = 1, 2,...), L 0 = Linguagem entendida pelo hardware. A linguagem L i+1 é mais complexa que a linguagem L i. Máquina Virtual de Nível i: Máquina virtual M i que possui uma linguagem associada L i cujas instruções operam sobre um espaço de memória virtual associado. Conversão L i+1 L i : Tradução: Programa Tradutor (no nível L i ) converte um programa escrito na linguagem L i+1 (Programa Fonte) em um programa na linguagem L i (Programa Objeto). O programa tradutor pode ser: Compilador. Montador. Interpretação: Programa Interpretador (no nível L i ) converte cada instrução de um programa em L i+1 para a sua equivalente em L i, executando-a na máquina M i imediatamente após a sua conversão. As instruções são convertidas e executadas uma a uma, seqüêncialmente. Máquina Multi-Nível: Computador pode ser visto como um conjunto hierárquico de máquinas virtuais. A máquina M i, mais simples, interpreta ou traduz instruções ou programas da máquina M i+1, mais complexa. De modo geral: Níveis baixos: linguagens de natureza numérica, interpretadas. Níveis altos: linguagens de natureza simbólica, traduzidas. Vantagens da estruturação em Níveis: Para o usuário: o programador de nível i não precisa conhecer detalhes das linguagens de níveis inferiores ao mesmo. Para o projetista: o computador pode ser concebido de uma maneira estruturada, modular e compreensível, simplificando o projeto. Arquitetura: Aspectos visíveis ao usuário. Exemplo: tipos de dados, tipos de instruções, organização de memória, organização de endereçamento, relação entre instruções e organização de memória, etc.

Nível n, Máquina Virtual Mn, Linguagem de Máquina Ln Programas em Ln interpretados por Interpretador rodando num nível inferior ou traduzidos para uma linguagem de nível inferior. Nível 3, Máquina Virtual M3, Linguagem de Máquina L3 Nível 2, Máquina Virtual M2, Linguagem de Máquina L2 Programas em L2 interpretados por Interpretador rodando em M1 ou M0 ou traduzidos para L1 ou L0. Nível 1, Máquina Virtual M1, Linguagem de Máquina L1 Programas em L1 interpretados por Interpretador rodando em M0 ou traduzidos para L0. Nível 0, Máquina Real M0, Linguagem de Máquina L0 Programas em L0 executados diretamente pelos circuitos lógicos Figura 1.2. A Máquina Multi-Nível.

Níveis numa Máquina Real: L 0 : Nível de Lógica Digital - Hardware. Os circuitos lógicos interpretam as instruções do nível 1 (microinstruções). L 1 : Nível de Microprogramação. Microprograma interpreta "Macroinstruções" (Instruções do nível 2). Microprograma composto por microinstruções simples (conjunto tipicamente < 20). Movimentação de dados, teste de dados, operações lógicas e aritméticas, etc. L 2 : Nivel de Linguagem de Máquina Convencional. Instruções interpretadas pelo microprograma. Interface entre compilação e interpretação. L 3 : Nível de Sistema Operacional. Instruções de L 2 mais instruções que automatizam as ações do operador. Gerenciamento de memória, execução em paralelo, E/S em nível de arquivos, etc. L 4 : Nível de Linguagem de Montagem. Representação simbólica da Linguagem de Máquina, traduzida por programa Montador. L 5 : Nível de Linguagens orientadas a problema. Linguagens de alto nível (C, LISP, Fortran, etc.). Traduzidas por programa Compilador.

Nível 5, Linguagens Orientadas a Problema Nível 4, Linguagem de Montagem Tradução (Compilador). Tradução (Montador). Nível 3, Sistema Operacional Nível 2, Arquitetura do Conjunto de Instruções Nível 1, Microarquitetura Interpretação parcial (Sistema Operacional). Interpretação (microprograma) ou execução direta. Nível 0, Lógica Digital O Hardware é o Interpretador. Figura 1.3. Níveis típicos numa máquina real.

1.2 Evolução das Arquiteturas de Computadores Geração Zero Computadores Mecânicos (? 1945) - Pré-História: Cálculo Manual. Idéia de Número. - História antiga (Oriente): Ábaco. - Napier (Século XVII). Logaritmos - Régua de Cálculo. - Pascal (século XVII). Calculadora mecânica (soma e subtração). - Leibnitz (século XVII). Calculadora mecânica (multiplicação e divisão). - Charles Babbage (Século XIX). Máquina Diferencial dedicada para cálculos náuticos (algoritmo de diferenças finitas). Mecânica. Saída em prato de cobre perfurado. - Charles Babbage (Século XIX). Máquina Analítica (mecânica, não construída). Máquina de propósito geral, programável linguagem de montagem simples). Primeira programadora: Ada Lovelace. Características: Unidade de Entrada (leitura de cartões perfurados). Unidade de Armazenamento (memória de 1.000 palavras de 50 dígitos decimais). Unidade de Processamento ( Engenho ). Aceita operandos da unidade de armazenamento, realiza as quatro operações, armazena resultado na unidade de armazenamento. Admitia instruções de teste e desvio condicional. Unidade de Saída (impressa e perfurada em cartões). - Konrad Zuse (Alemanha, 1930): máquinas de calcular automáticas eletromecânicas (relés). Destruídas no bombardeio aliado a Berlim, não influenciaram máquinas posteriores. - Atanasoff (EUA, Iowa State College): máquina de calcular eletromecânica (não chegou a funcionar). baseada em aritmética binária. Memória baseada em capacitores (precursora das memórias DRAM). - Stibbitz (EUA, Bell Labs): máquina de calcular eletromecânica. Demonstração pública de funcionamento em 1940. - Aiken (EUA, Harvard, 1944): Mark I, Computador eletromecânico baseado nas idéias de Babbage, financiado pela IBM. Características: Memória de 72 palavras de 23 dígitos decimais. 6 segundos para executar uma instrução. Entrada e Saída através de fita de papel perfurada. - Mark II, sucessor do Mark I.

Primeira Geração Válvulas (1945-1955) - Nível de Lógica Digital (hardware) e Nível de Linguagem de Máquina Covencional (nível ISA - Instruction Set Architecture). - Alan Turing (Inglaterra, 1943): COLOSSUS, 1 o computador eletrônico digital. Desenvolvido para quebrar códigos do almirantado alemão gerados pela máquina ENIGMA. Mantida em segredo por 30 anos, não influenciou máquinas subseqüentes. - John Mauchley, Eckert, Von Newmann (EUA, 1946): ENIAC (Electronic Numerical Integrator and Computer). Construído com base nos trabalhos de Atanasoff e Stibbitz para cálculo de tabelas de direção de tiro de artilharia pesada. Algumas características: 18.000 válvulas, 1.500 relés, 30 toneladas, 140 quilowatts. 20 registradores de 10 dígitos decimais cada. Programação por hardware (chaves e soquetes). - Mauchley e Eckert divulgam publicamente o ENIAC, outros grupos desenvolvem computadores: EDSAC (Wilkes, 1949), JOHNIAC (Rand Corporation), ILLIAC (Univ. de Illinois), MANIAC (lab. de Los Alamos), WEIZAC (Israel). - Mauchley e Eckert abandonam o projeto EDVAC para fundar a empresa que viria a ser a UNISYS. - Von Newmann desenvolve o projeto IAS (Máquina de Von Newmann, usada primeiro no EDSAC). Conceitos que são usados até os dias de hoje. Características: Programa armazenado em memória. Aritmética binária inteira. Componentes: Memória, Unidade Lógica Aritmética, Unidade de Controle, Dispositivos de Entrada e Saída. Memória de 4096 palavras de 40 bits. Palavras armazenam instruções de 20 bits ou inteiros com sinal (40 bits). Formato de instrução: tipo de instrução (8 bits), operando (endereço de 12 bits). Acumulador, registrador especial de 40 bits na ULA. Instrução típica combina palavra na memória com palavra no acumulador e armazena resultado no mesmo.

Entrada Saída Unidade Lógica Aritmética Acumulador Unidade de Controle Memória Figura 1.4. A Máquina de Von Newmann. - Whirlwind I (MIT). Máquina de 16 bits para controle de processos. Levou ao desenvolvimento das memórias de núcleo magnético e ao primeiro minicomputador comercial. - IBM, em 1953, lança o IBM 701 (2 K palavras de 36 bits, duas instruções por palavra). Dá início a uma série de computadores científicos ponto flutuante a válvula. (Último, IBM 709, 1958). - Somente governos e grandes corporações tinham condições de adquirir computadores.

Segunda Geração Transistores (1955-1965) - Em 1951 Wilkes lança a idéia do nível de microprogramação. O projeto baseado nesta idéia permite simplificar o hardware e aumentar a complexidade do conjunto de instruções. Diretriz de projeto difundida nos anos 60 e 70. - Invenção do transistor (Bell Labs, 1948). Redução dramática em tamanho, consumo, tempo de processamento e custo. - Computador pode ser adquirido por Departamentos de Empresas. - Minicomputador transistorizado = dezenas de milhares de US$, mainframe a válvula = milhões de US$. - Olsen (MIT): TX0 (Transistorized experimental computer 0). Máquina de 16 bits, da linha do Whirlwind I. - Olsen funda a DEC (Digital Equipment Corporation), 1957. - DEC lança o PDP1 (1961). Caracterísitcas: US$ 120.000. 4 K palavras de 18 bits. Clock de 200 khertz (5 microssegundos). Video com 512x512 pixels. Primeiro videogame. - DEC lança o PDP8, sucesso de vendas (50.000 unidades). Barato: US$ 16.000. Máquina de 12 bits com barramento único (Omnibus), adotado pelas máquinas subseqüentes. - IBM lança o 709 seguido do 7094, com clock de 2 microssegundos e memória de núcleos magnéticos de 32 K palavras de 36 bits, dominando o mercado de computação científica. - IBM lança o 1401, pequeno e barato, para aplicações comerciais. Entrada e Saída em fitas magnéticas ou cartões perfurados. Memória de 4 K posições de 8 bits. Palavras e registradores de tamanho variável. - Cray, da CDC (Control Data Corporation), lança em 1964 o CDC6600 (aplicações científicas). Características: Cerca de 10 vezes mais rápido que o 7094. Esquema de processamento paralelo: módulos indpendentes para soma, multiplicação, etc. (Execução de até 10 instruções simultâneas). conjunto de pequenos processadores para gerência de tarefas e processamento de Entrada/Saída. - A Burroughs lança o B5000, projetada para rodar eficientemente programas escritos em Algol.

- Surge o nível de Sistema Operacional (por volta de 1960): Automatizam-se procedimentos realizados pelo operador (compilação, carregamento e execução do programa, etc.). Introduzem-se novas instruções: macros do sistema ou chamadas ao supervisor (chamadas de sistema). Inicialmente sistemas tipo batch. No início dos anos 60 surgem os Sistemas de Tempo Compartilhado, que permitem a comunicação simultânea de vários programadores diretamente com o computador a partir de vários terminais. Terceira Geração Circuitos Integrados (1965-1980) - Em 1958, Noyce desenvolve um processo de integração de circuitos eletrônicos em substrato de silício. Redução dramática em tamanho, consumo, tempo de processamento e custo. - Migração de funcionalidades para o micro código: Facilidade de incorporar novas instruções: multiplicação e divisão de inteiros, aritmética em ponto flutuante, manipulação de strings, etc. Inflação dos conjuntos de instruções (perda de desempenho). Novas funcionalidades: cálculo matricial, facilidades de relocação de programas na memória, sistemas de interrupção, troca de contexto entre processos, etc. - Em 1964, substituindo o 7094 (aplicações científicas) e o 1401 (aplicações comerciais), duas máquinas radicalmente diferentes, a IBM lança uma única linha de novos produtos, o System/360: Implementado usando circuitos integrados. Família de computadores (baseadas na mesma linguagem de montagem). Compatibilidade e reutilização de software. Capacidade de Multiprogramação: execução simultânea de vários programas. O uso de microprogramação facilitou o surgimento da capacidade de emulação de outras máquinas, permitindo a reutilização de software. 16 registradores de 32 bits para operações aritméticas. Memória orientada a byte. Grande espaço de endereçamento (2 24 bytes = 16 M bytes) - A DEC introduz a série PDP11 de 16 bits, registradores de 32 bits e memória orientada a byte.

Quarta Geração Circuitos VLSI (1980-?) - Integração em Escala Muito Alta (Very Large Scale Integration - VLSI). Milhões de transistores em um chip. Redução dramática em tamanho, consumo, tempo de processamento e custo. - Microprocessador (CPU em um chip). - Computador pode ser adquirido por pessoas físicas (Computador Pessoal). - Aplicações iterativas, processamento de texto, planilhas eletrônicas. - Primeiros modelos vendidos em kits, com base no processador INTEL 8080. - Kildall escreve o sistema operacional CP/M para máquinas baseadas no 8080. - Jobs e Wozniak lançam o Apple e o Apple II, sucesso de mercado no início da década de 80. - Em 1981, a IBM entra no mercado de computadores pessoais lançando o PC-XT, baseado no processador INTEL8088 e no sistema operacional MS-DOS da Microsoft. dominando o mercado. - A arquitetura aberta do PC-XT faz surgir uma nova industria, produtora de clones mais baratos desta máquina. - A IBM desenvolve o sistema operacional OS/2, com interface gráfica semelhante à do Apple e à do Macintosh. - A Microsoft lança o sistema operacional Windows, que derrota o OS/2 e se torna padrão para computadores pessoais. - O envolvimento INTEL Microsoft resulta na hegemonia da família de computadores baseados em processadores INTEL e no sistema operacional Windows. - PC s cada vez mais poderosos e baratos são desenvolvidos. Novos processadores obedecem à Lei de Moore: o número de transistores integrados em um chip dobra a cada 18 meses. - Em meados da década de 80 surge o conceito de máquinas RISC (Reduced Instruction Set Computer) em oposição às máquinas CISC (Complex Instruction Set Computer). - Eliminação da microprogramação. Funcionalidade do microprograma migra para o hardware, melhorando o desempenho. - Na década de 90 surgem os processadores superescalares, capazes de executar várias instruções simultaneamente, numa ordem que pode ser diferente daquela do programa.

Tipos de Computadores Tipo Preço (US$) Exemplo de Aplicação Computadores de uso 1 Cartões de felicitações. comum Computadores 10 Relógios, automóveis, etc. embarcados Computador para 100 Videogames. jogos Computador Pessoal 1 K Computador de mesa ou portátil. Servidor 10 K Servidor de rede. Conjunto de estações 100 K Superminicomputador para usos de trabalho diversos Mainframe 1 M Processamentos de dados em batch para aplicações bancárias. Supercomputador 10 M Previsão do tempo, simulação de reações nucleares, etc. Figura 1.5. Tipos de computadores na atualidade.