MARCOS VINICIUS JORGE COSTA ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES



Documentos relacionados
Arquitetura de Computadores. Prof. Marcelo Mikosz Gonçalves

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

Capítulo 1 Introdução

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

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

Marcos da Arquitetura de Computadores. Sediane Carmem Lunardi Hernandes

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


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

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

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

Sistema de Computação

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

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

1. NÍVEL CONVENCIONAL DE MÁQUINA

Arquitetura e Organização de Computadores

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

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

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

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

Fundamentos de Informática 1ºSemestre

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

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

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

Arquitetura de Computadores

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 3

- Aula 1 - ARQUITETURA DE COMPUTADORES

3. Arquitetura Básica do Computador

Computador Digital Circuitos de um computador (Hardware)

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

1. CAPÍTULO COMPUTADORES

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

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

Arquitetura de Computadores. por Helcio Wagner da Silva


André Aziz Francielle Santos

Calculadoras Mecânicas

Tipos de Computadores. Sediane Carmem Lunardi Hernandes

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

3. O NIVEL DA LINGUAGEM DE MONTAGEM

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

Máquinas Multiníveis

Processamento de dados - Aula I

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

Curso Técnico em Redes

1.1. Organização de um Sistema Computacional

AUTOMAÇÃO DE ESCRITÓRIOS ADE

Curso Técnico em Redes de computadores. Evolução Histórica dos Computadores

Dadas a base e a altura de um triangulo, determinar sua área.

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Introdução à Computação

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

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

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

Histórico dos Computadores

Fundamentos da Informática. História dos Computadores Prof. Hélder Almeida

Introdução à Arquitetura de Computadores IFES Campus Serra

O modelo do computador

Sistemas Operacionais

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

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

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

Informática. A Era da Computação - Aula 1 ClevertonHentz

INFORMÁTICA APLICADA À ADMINISTRAÇÃO I

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

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

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

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

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

ARQUITETURA DE COMPUTADORES

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

Tópicos da aula. Histórico e Evolução dos Computadores. Noções Básicas de Arquitetura de Computadores

ARQUITETURA DE COMPUTADORES

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

INTRODUÇÃO À COMPUTAÇÃO

Histórico da Evolução dos Computadores

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Sistemas Operacionais. Prof. André Y. Kusumoto

SUMÁRIO. Evolução. Do passado ao presente. Futuro. Cálculos manuais Calculadoras mecânicas Máquinas eletrônicas

Sistemas Operacionais Introdução. Professora: Michelle Nery

Introdução à Engenharia de Computação

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Montagem e Manutenção. Luís Guilherme A. Pontes

Orientação a Objetos

Fundamentos e Suporte de Computadores. Professora Monalize

Organização de Computadores I

1. - Os engenhos calculadores

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

Figura 1 - O computador

O que é Arquitetura de Computadores?

Técnicas de Manutenção de Computadores

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

Introdução. Software (Parte III)

PARANÁ GOVERNO DO ESTADO

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Transcrição:

MARCOS VINICIUS JORGE COSTA ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES Computador é uma máquina criada para resolver alguns problemas para as pessoas, desde que seja programado com todas as informações necessárias. Um conjunto de instruções é denominado programa. Para que um computador possa executar todo e qualquer programa, o mesmo deve ser instruído para tal. Linguagem de máquina, são chamadas as instruções básicas entre o computador e o seu usuário/programador. Desde o projeto de um novo computador até a fase de manufatura, são idealizadas e inseridas noções simples de linguagem e programação, para que a sua utilização seja a mais simples possível, sem complicações. Toda a complexidade do sistema pode ser projetada de um modo estruturado. Há um conflito entre o que as pessoas querem e o que os computadores querem. 1.1.1 LINGUAGENS, NÍVEIS E MÁQUINAS REAIS Surgem vários problemas quando o usuário insiste para que a máquina execute determinada linguagem L1, sendo que em sua concepção ela foi instruída somente para executar programas em linguagem L0. Podemos resolver esses conflitos, substituindo cada instrução por uma equivalente escrita na linguagem do computador. Outra técnica é escrever um programa em L0 que reconheça programas escritos em L1, executando e examinando uma instrução por vez, interpretando assim os programas L1 como dados de entrada, e a seqüência de instruções resultante seria L0. Damos o nome de interpretação o que foi escrito no parágrafo anterior, e interpretador o programa que o realiza. Tradução e interpretação

coexistem, em ambos os casos o computador executa instruções em L1 que geram seqüências de instrução em L0. Na tradução, todo programa L1 é transformado em programa L0. O programa L0 é o dominante, sendo carregado na memória do computador. O programa L1 é então descartado. Na interpretação, depois de efetuada a decodificação e varredura das instruções L1, ela é feita automaticamente, sem que nenhum programa traduzido seja gerado. Poderíamos ter em mente a existência de determinada máquina real, que teria apenas a linguagem L1. Se o custo-benefício em produzir tal máquina fosse plausível, não haveria a necessidade de termos a linguagem L0. Sendo assim, seria mais fácil fazer toda programação em L1 para que os computadores os executassem no automático. Mesmo sendo complicado e financeiramente fora de questão construir tal máquina real com linguagem L1, muitas pessoas ainda assim produziriam programas para elas. Esses mesmos programas poderiam ser codificados para a linguagem L0, e poderiam ser executados pelos computadores já existentes. Podemos sim escrever programas para máquinas reais da mesma forma como elas existem hoje em dia. Não desanimes se prática, as linguagens L0 e L1 tiverem seus atritos. Mesmo L1 sendo de longe muito melhor que L0, nem sempre L1 será o ideal para a grande maioria das aplicações. A idéia primordial na criação da linguagem L1, é que ela poderia se expressar numa linguagem mais adequada para máquinas do que para pessoas. Outra coisa lógica a se fazer, seria criar um conjunto de instruções designada a pessoas, ao invés de máquinas. São diversas as possibilidades de se criar uma série de linguagens, onde as linguagens atuais usariam sempre as antecessoras como base. Na relação máquina/linguagem, cada equipamento tem sua própria linguagem, que consiste em todas as informações colocadas pelo programador para que a máquina realize determinada tarefa a qual foi programada. A máquina define uma linguagem, e a linguagem define a máquina. Seria inviável construir uma máquina para executar uma determinada linguagem em especial. Todo projeto antes de ser manufaturado, têm de ser prático e ter seu custo benefício muito bem aceito pela sociedade. Programas escritos numa linguagem que não fossem L0 não seriam executados automaticamente, teriam que ser traduzidos para uma linguagem adequada. O mais importante é

observarmos o resultado disso tudo, independente se o programador quisesse que a máquina executasse assim ou assado. O ideal é saber se o programa está sendo executado conforme foi designado. Quem realmente deseja saber como funciona um computador, deve estudar todos os níveis de programação. 1.1.2 MÁQUINAS MULTINÍVEIS CONTEMPORÂNEAS A grande maioria dos computadores modernos são compostos de 2 ou até 6 níveis. Onde o nível inferior denominado nível 0 é o responsável pelo hardware da máquina, a estrutura lógica do equipamento. Nessa base estão alguns objetos denominados portas, embora construídos com componentes analógicos, podem ser manipulados facilmente como se fossem objetos digitais. Uma parcela dessas portas, se combinadas podem formar uma memória de 1bit. O conjunto dessas memórias em grupos de 16, 32 ou 64bits podem formar um registrador. Um registrador pode conter um único valor binário ou até algum valor máximo. No nível 1 denominado nível de micro arquitetura, temos um conjunto de 8 a 32 registradores, formando assim a memória local do equipamento. Temos um determinado circuito chamado ALU, que é o responsável em executar operações aritméticas simples. A ligação entre os registradores e a ALU é essencial para a transmissão de dados. A transição de dados em algumas máquinas é controlada por um micro-programa ou então ela é gerenciada diretamente pelo hardware. Nas máquinas que têm o caminho de dados controlados por software, o micro-programa é quem examina e executa as informações uma a uma. O nível 2 é denominado nível de arquitetura do conjunto de instruções ou nível ISA. Para todo computador produzido, existe um manual de referência de linguagem da máquina, que aborda somente o nível ISA. As instruções descritas nesses manuais nada mais são do que instruções executadas pelo micro-programa ou circuitos de execução do hardware.

Em geral, o próximo nível é híbrido. A maior parte de suas instruções está em linguagem do nível ISA. Possuindo um conjunto de novas instruções, podendo gerenciar dois ou mais programas ao mesmo tempo, melhorando o uso da memória local. Todas as melhorias do nível 3 são executadas por um interpretador que roda em nível 2, denominado de sistema operacional. Híbrido aqui nesse caso, denomina-se tal pelo fato de duas operações estarem sendo executadas em paralelo. Uma sendo executada pelo micro-programa e a outra sendo executada pelo sistema operacional. Os níveis mais baixos são projetados para os usuários finais, a nível doméstico. Os níveis 4 e superiores, são o caminho para que programadores de diversos aplicativos possam intervir e resolver os problemas que surgirem. Uma grande mudança no nível 4 é o suporte aos níveis mais altos. Enquanto que os níveis 1, 2 e 3 são sempre interpretados, os níveis 4 e 5 são definidos por tradução. A grande diferença entre os três primeiros níveis e os níveis superiores, está na utilização de linguagem aplicada a eles. As linguagens da máquina no nível1, 2 e 3 são numéricas, bem compreendidas pelas máquinas, causando confusão nas pessoas. Após o nível 4, a linguagem da máquina possui palavras e abreviações de fácil entendimento pelas pessoas. O nível 4, denominado nível da linguagem de montagem(assembly), é uma forma simbólica para alguma linguagem subjacente. A partir desse nível, as pessoas podem escrever programas para os níveis 1, 2 e 3 de uma forma menos desagradável, em relação a linguagem da máquina propriamente dita. Os programas em linguagem de montagem, precisam ser traduzidos para a linguagem no nível 1, 2 e 3 para que a máquina real possa assimilar. O programa que realiza todo esse processo é o assembler. O nível 5 faz uso de linguagem preferencialmente usada por programadores que necessitam resolver algum problema a vista. Para essa linguagem específica, damos o nome de linguagem de alto nível. Existem diversas delas, as mais conhecidas são: C, C++, Java e etc. Muitos programas escritos nessas linguagens, na maioria das vezes são interpretados, ao invés de serem traduzidos. Programas em Java, geralmente são traduzidos numa linguagem parecida com a linguagem ISA, para em seguida ser interpretada. Muitas vezes, o nível 5 é considerado interpretador de uma certa aplicação específica, como a matemática simbólica. Chamamos de

arquitetura, o conjunto de dados, operações e características pertinentes a cada nível. Um exemplo de arquitetura: a quantidade de memória disponível para utilização do programador. 1.1.3 EVOLUÇÃO DE MÁQUINAS MULTINÍVEIS Examinando brevemente o desenvolvimento histórico, poderemos ver o quanto evoluíram as máquinas no decorrer dos tempos. Um programa escrito em linguagem de máquina (nível1), podem ser executado diretamente pelos circuitos eletrônicos (nível 0) de um computador sem a interferência de um interpretador ou tradutor. O hardware do computador é formado pelo conjunto de circuitos eletrônicos, memória e dispositivos de entrada/saída. O hardware consiste em objetos tangíveis, ao invés de idéias abstratas, algoritmos ou instruções. O software faz o caminho oposto, ele é formado de algoritmos, com instruções de como fazer determinada tarefa e que chamamos de programas. Os mesmos podem ser armazenados em disco rígido, disco flexível, cd-rom, etc. Nos primeiros computadores, a fronteira entre software e hardware era muito nítida. No decorrer dos anos essa distinção tornou-se não muito convincente por causa da evolução dos computadores. Hardware e software são equivalentes, qualquer operação realizada por software pode ser embutida diretamente no hardware. Qualquer instrução executada em hardware também pode ser simulada em software. A INVENÇÃO DA MICROPROGRAMAÇÃO Os primeiros computadores da década de 40 possuíam dois níveis apenas, o nível ISA que era responsável por toda a programação, e o nível lógico que executava os programas. Na época, além de serem complicados, os circuitos lógicos também não eram confiáveis. Somente em meados de

1951, um pesquisador da Universidade de Cambridge, Maurice Wilkes, deu a idéia de projetar um computador de três níveis para simplificar de vez o hardware. Essa máquina, com um interpretador embutido (o microprograma), teria a função de executar programas de nível ISA por interpretação. Por conta do número menor de instruções e o hardware tendo apenas que executar micro-programas, ao invés de executar programas de nível ISA, reduziu-se o número de circuitos eletrônicos presentes. Poucas máquinas de três níveis foram produzidas na década de 50, muitas outras foram produzidas na década de 60 e a partir de 1970, esse sistema era dominante, as máquinas utilizavam um micro-programa que interpretava o nível ISA. A INVENÇÃO DO SISTEMA OPERACIONAL Nos primórdios, a maioria dos computadores era acessível a todos. Para operar a máquina, era preciso fazer reserva pelo período que fosse necessário, assinar uma planilha de utilização caso fosse executar um programa. O procedimento para a execução de determinados programas como o FORTRAN, foi muito comum em vários centros de computação por muitos anos. Ele forçava os operadores a aprender como operar as máquinas e o que fazer em caso de pane do equipamento. Por volta de 1960, tentaram reduzir o desperdício de tempo automatizando o serviço do operador, criando-se um programa denominado sistema operacional que ficaria definitivamente no computador. A partir da idéia inicial de que o sistema operacional fosse projetado para facilitar o trabalho do operador, daria início ao desenvolvimento de uma nova máquina real. Enquanto o cartão *FORTRAN era como uma instrução virtual compilar programa, o cartão *DATA era uma instrução virtual executar programa. Nos anos seguintes, os sistemas operacionais tornaram-se cada vez mais sofisticados. Por volta de 1960, pesquisadores de Dartmouth College, do MIT e muitos outros lugares, desenvolveram sistemas operacionais capazes de fazer com que os programas se comunicassem diretamente com os computadores.

MIGRAÇÃO DE FUNCIONALIDADE PARA MICROCÓDIGO Em 1970, quando a micro-programação era comum, os projetistas perceberam que poderiam acrescentar novas instruções ampliando o micro-programa. Essa revolução gerou uma disputa acirrada entre os projetistas, que competiam entre si para ver quem produzia mais e melhores conjuntos de instruções. Percebendo a facilidade em acrescentar novas instruções, os projetistas começaram a procurar outras características para adicionar aos micro-programas. ELIMINAÇÃO DA MICROPROGRAMAÇÃO Os micro-programas tiveram seu auge nas décadas de 60 e 70. Foram ficando lentos à medida que ficavam mais volumosos. Alguns pesquisadores perceberam essa deficiência e resolveram eliminar o microprograma. Houve uma redução drástica no conjunto de instruções, e as restantes teriam que ser executadas diretamente, controlando os dados por hardware tornado as máquinas mais ágeis. De certo modo, o projeto de computadores fechou seu círculo, voltando ao que era antes de Wilkes inventar a micro-programação. 1.2 MARCOS DA ARQUITETURA DE COMPUTADORES Durante a evolução dos computadores centenas deles foram desenvolvidos e construídos. A maioria já foi esquecida faz tempo, mas muitos tiveram um impacto significativo para a época.

1.2.1 A GERAÇÃO ZERO-COMPUTADORES MÊCANICOS (1642-1945) A primeira máquina de calcular operacional foi idealizada por um cientista francês, Blaise Pascal (1623-1662) sendo construída em 1642 quando Pascal tinha apenas 19 anos. Sua máquina poderia efetuar apenas operações de adição e subtração. Somente 30 anos depois, o grande matemático alemão, Barão Gottfried Wilhelm Von Leibniz (1646-1716), construiu uma máquina que fazia operações de multiplicar e dividir também. Durante 150 anos nada de grande importância aconteceu, até que Charles Babbage, um professor de matemática da Universidade de Cambridge, inventou e desenvolveu a primeira máquina diferencial. Além de somar e subtrair, esse dispositivo fazia cálculos em tabelas para uso da navegação naval. Uma característica importante da máquina diferencial era seu método de saída, ela perfurava os resultados de leitura em uma chapa de gravação de bronze com uma punção de aço. Mesmo funcionando razoavelmente, pelo fato dessa máquina realizar apenas um algoritmo, Babbage começou a gastar tempo e dinheiro, não só de sua família como também do governo na criação de uma máquina analítica. Essa máquina possuía quatro componentes, a armazenagem (memória), o moinho (unidade de cálculo), a seção de entrada (leitora de cartões perfurados) e a seção de saída (seção perfurada e impressa). O grande diferencial da máquina analítica, é que ela era de uso geral, capaz de diversas aplicações. Babbage percebendo que a máquina analítica era programável, e tendo a necessidade de um software, o matemático contratou uma jovem chamada Ada Augusta Lovelace, que ficou encarregada de desenvolver o software adequado, tornando-se assim a primeira programadora de computadores do mundo. A linguagem de programação ADA têm esse nome em sua homenagem. Os computadores modernos têm uma estrutura similar à da máquina analítica, podemos dizer que Babbage foi o avô do computador moderno. Um importante desenvolvimento ocorreu no final da década de 1930, por conta de um estudante alemão chamado Konrad Zuse. Utilizando relés eletromagnéticos, ele construiu uma série de máquinas calculadoras automáticas. Ele não conseguiu financiamento do governo porque teve

início a Segunda Guerra Mundial, e os seus projetos foram destruídos devido ao bombardeio em Berlim no ano de 1944. Por isso seus trabalhos não tiveram nenhuma influência sobre as máquinas seguintes. Outras duas pessoas também projetaram calculadoras, um ano depois nos EUA, John Atanasoff no Iowa State College e George Stibbitz no Bell Labs. A máquina de Atanasoff era muito avançada para a época, infelizmente ela nunca se tornou operacional, assim como Babbage, Atanasoff foi um visionário derrotado pela tecnologia de hardware inadequada para seu tempo. Ao contrário a máquina de Atanasoff, a máquina de Stibbitz mesmo sendo inferior, funcionava de verdade. Ele fez uma demonstração pública em 1940, em uma conferência no Dartmouth College, onde um dos presentes era o famoso professor de física da Universidade da Pensilvânia, professor John Mauchley. Após concluir seu doutorado, um jovem chamado Howard Aiken, percebendo a importância em realizar cálculos com uma máquina, decidiu pesquisar sobre o trabalho de Babbage e resolveu construir um computador de uso geral com relés. Sua primeira máquina denominada Mark I, Aiken finalizou em Harward em 1944. A segunda máquina, a Mark II, quando Aiken concluiu seu projeto, os computadores de relés já estavam obsoletos. Começava a era da eletrônica. 1.2.2 A PRIMEIRA GERAÇÃO-VÁLVULAS (1945-1955) O grande impulso para os computadores eletrônicos foi no período da Segunda Guerra Mundial. Mesmo interceptando as mensagens de comando enviadas pelos alemães, os britânicos tiveram muitas dificuldades, porque as mensagens eram codificadas por um equipamento chamado ENIGMA. Os britânicos conseguiram adquirir uma máquina ENIGMA, através da inteligência polonesa que por sua vez, roubaram dos alemães. Só que para decifrar uma mensagem codificada, utilizavam muitos cálculos, e para que a mensagem fosse útil, teria que ser concluída em pouco tempo. Para agilizar o processo, o governo britânico criou um laboratório para a construção de um computador, o COLOSSUS, sendo

considerado o primeiro computador digital do mundo. A guerra afetou grandemente a computação nos Estados Unidos. John Mauchley sabendo do interesse do exército em máquinas de calcular mecânica, junto com seu aluno de pós-graduação J. Presper Eckert construíram um computador eletrônico chamado ENIAC (Eletronic Numerical Integrator And Compute). Após o final da Guerra, Mauchley e Eckert ministraram um curso onde descreveriam seu trabalho. Ao término do curso muitos outros pesquisadoresdecidiram construir computadores eletrônicos. O primeiro deles foi o EDSAC, construído por Maurice Wilkes em 1949 na Universidade de Cambridge. Outros também foram produzidos, como o JHONIAC da Rand Corporation, o ILLIAC da Universidade de Illinois, o MANIAC do Los Alamos Laboratory e o WEIZAC do Weizmann Institute de Israel. O EDVAC (Electronic Discrete Variable Automatic Compute) seria o projeto sucessor desenvolvido por Mauchley e Eckert. Esse projeto ficou comprometido quando eles decidiram deixar a Universidade da Pensilvânia para fundarem sua própria empresa, a Eckert-Mauchley Computer Corporation, na Filadélfia. Após várias fusões, a empresa se tornou o que é hoje, a Unisys Corporation. Recorrendo aos tribunais em busca da patente pela invenção do computador digital, o juiz determinou que a patente de Eckert-Mauchley era inválida. Enquanto Eckert e Mauchley trabalhavam com afinco, John Von Neumann decidiu criar sua própria versão do EDVAC, a máquina IAS. Seu projeto básico inicial ficou conhecido como máquina de Von Neumann. A máquina de Von Neumann consistia de cinco partes básicas: a memória, a unidade de lógica e aritmética, a unidade de controle e o equipamento de entrada e saída. 1.2.3 A SEGUNDA GERAÇÃO-TRANSISTORES (1955-1965) Dez anos após a invenção do transistor em 1948, os computadores com transistores revolucionaram o mundo, tornando os computadores de válvulas obsoletos.

1.2.4 A TERCEIRA GERAÇÃO-CIRCUITOS INTEGRADOS (1965-1980) Com a invenção do circuito integrado de silício em 1958 por Robert Noyce, foi possível agrupar dezenas de transistores em um único chip. Em favor dessa tecnologia era possível construir computadores mais rápidos,menores e mais baratos que os antecessores transistorizados. 1.2.5 A QUARTA GERAÇÃO-INTEGRAÇAÕ EM ESCALA MUITO GRANDE (1980-?) Somente na década de 1980, com a criação da VLSI (Very Large Scale Integration) ou integração em escala muito grande, foi possível colocar milhões de transistores em um único chip. Em 1980 os preços dos computadores vinha caindo de tal forma, que qualquer pessoa poderia ter seu próprio computador, era o início da era do computador pessoal. Um dos ícones dessa época foi o computador da Apple projetado por Steve Jobs e Steve Wozniak. 1.2.6 A QUINTA GERAÇÃO-COMPUTADORES INVISÍVEIS Os fabricantes de computadores europeus e americanos entraram em pânico quando em 1981, o governo japonês decretou que investiria 500 milhões de dólares para que as empresas locais desenvolvessem computadores de 5ª geração com tecnologia baseada em inteligência artificial. Nessa época os computadores da chamada 5ª geração encolheram. O Newton da Apple, lançado em 1993 não era maior do que um toca-fitas portátil.

1.3 ZOOLÓGICO DE COMPUTADORES Brevemente nas sessões anteriores, vimos um pouco da história dos sistemas de computação. Veremos agora o presente e o futuro da computação. 1.3.1 FORÇAS TECNOLÓGICAS E ECONÔMICAS Os avanços da indústria de computadores, cresce a níveis fantásticos. O grande diferencial é a enorme capacidade dos fabricantes em empacotar mais transistores por chip a cada ano. 1.3.2 TIPOS DE COMPUTADOR. Computador descartável. Micro controlador. Computador de jogos. Computador pessoal. Servidor. Conjunto de estações de trabalho. Mainframe 1.3.3 COMPUTADORES DESCARTÁVEIS O desenvolvimento mais importante na área dos computadores descartáveis é o chip RFID (Radio Frequency Identification) ou identificação por radiofreqüência. Esses chips com um determinado código RFID, poderiam muito bem substituir os famosos códigos de barra dos produtos.

1.3.4 MICROCONTROLADORES Aqui temos computadores embutidos em dispositivos, mas que não são vendidos como computadores. Exemplos: eletrodomésticos(microondas), aparelhos de comunicação(fax), aparelhos de reprodução de imagem(televisores), equipamentos médicos(aparelho de raio x), brinquedos(carrinho de controle remoto) entre outros. Ao passo que os chips RFID são sistemas mínimos, os micro controladores são computadores pequenos e complexos. 1.3.5 COMPUTADORES DE JOGOS Nesse nível estão as máquinas de videogame, computadores normais, com recursos de som e gráficos específicos para entretenimento, nada mais do que isso. 1.3.6 COMPUTADORES PESSOAIS O termo computador pessoal engloba praticamente os computadores de mesa e os notebooks. São mais encorpados que os computadores de jogos. Possuem drive de cd rom/dvd, placa de som, placa de vídeo, pente de memória, disco rígido para armazenar toda informação, processador, placa-mãe, cooler para dissipar calor, sistema operacional, etc. 1.3.7 SERVIDORES São computadores pessoais turbinados, sendo utilizados geralmente em empresas. Podem possuir um único processador ou múltiplos processadores, com uma capacidade de trabalho me rede de alta velocidade.

1.3.8 CONJUNTOS DE ESTAÇÕES DE TRABALHO Levando em conta a relação preço/desempenho das estações de trabalho e dos computadores pessoais, nos últimos anos os projetistas de sistema começaram a conectar uma infinidade de máquinas, que eles chamaram de COWS( Clusters of Workstations ). São estações de trabalho conectadas por rede. 1.3.9 MAINFRAMES Grandes computadores que chegam a ocupar uma sala inteira. Mesmo sendo caríssimos, é normal eles serem mantidos em operação devido ao alto custo de investimento em softwares, dados e procedimentos de operação. Ao passo que muitas empresas gastam pequenas fortunas adquirindo novos equipamentos ao invés de reprogramar os já existentes em seu poder. 1.4 EXEMPLO DE FAMÍLIAS DE COMPUTADORES Vamos focar os três tipos de computadores mais comuns: computadores pessoais, servidores e computadores embutidos.. Computadores pessoais: executam toda tarefa segundo a necessidade do usuário. Servidores: executam todo o serviço de rede pertinente. Computadores embutidos: são invisíveis aos usuários, mas controlam desde um microondas até um carro

1.4.1 INTRODUÇÃO AO PENTIUM 4 Durante 1968, Robert Noyce, o inventor do circuito integrado de silício, em parceria com Gordon Moore e Arthur Rock, fundaram a Intel Corporation, fabricante de chips de memória. No primeiro ano de operação, a Intel não vendeu mais do que 3 mil dólares em chips, a partir daí os negócios foram expandindo. No decorrer dos anos substituiu o nome dos chips que antes levavam apenas números por um nome definitivo, Pentium. Foi decisão judicial. 1.4.2 INTRODUÇÃO AO ULTRASPARC III Na década de 1970, mesmo o Unix sendo popular nas universidades, nenhum computador pessoal o executava. Desiludido e cansado de ir até a central de computadores para usar o Unix, um estudante alemão chamado Andy Bechtolsheim decidiu sozinho resolver esse problema, construindo para uso pessoal uma estação de trabalho Unix, batizada de SUN-1 (Stanford University Network). 1.4.3 INTRODUÇÃO AO 8051 Enquanto que o Pentium 4 era usado em computadores pessoais, o ULTRASPARC III usado em servidores, o 8051 era exclusivo para sistemas embutidos. O 8051, devido a sua popularidade era utilizado como objeto de estudos pelos pesquisadores para testar novas tecnologias em matéria de consumo de energia e para observar sua tolerância a falhas também.