ARQUITETURA DE COMPUTADORES - 1866 1 – Introdução: A função de um computador é processar dados. Para processá-los é preciso movê-los até a unidade central de processamento (CPU), armazenar resultados intermediários e finais em locais onde eles possam ser encontrados mais tarde e controlar estas funções de transporte, armazenamento e processamento. Portanto, tudo que um computador faz pode ser classificado como uma destas quatro ações elementares: processar, armazenar e mover dados ou controlar estas atividades. Por mais complexas que pareçam as ações executadas por um computador, elas nada mais são que combinações destas quatro funções básicas. A definição destas ações e a forma como os diversos componentes de um computador são organizados, define aquilo que é conhecido por Arquitetura de Computador e vai determinar aspectos relacionados à qualidade, ao desempenho e à aplicação para a qual o computador vai ser orientado. 1.1 – Conceitos: Processamento de Dados: Tradução do termo inglês Data Processing, pode ser visto como uma série de atividades realizadas ordenadamente, com o objetivo de produzir um arranjo determinado de informações a partir de outras obtidas inicialmente. A manipulação das informações coletadas no início da atividade chama-se processamento. As informações iniciais são usualmente denominadas dados. Os termos dado e informação podem ser tratados como sinônimos ou como termos distintos; dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta) e informação, como o resultado do processamento, isto é, o dado processado ou "acabado". Etapas básicas de um processamento de dados DADOS → PROCESSAMENTO → RESULTADO (Informação) -3- ARQUITETURA DE COMPUTADORES - 1866 A busca de técnicas mais eficazes de processamento de dados, aliada ao natural avanço tecnológico em diversos outros ramos de atividade, como a eletrônica e a mecânica, por exemplo, conduziu o mundo ao desenvolvimento de equipamentos de Processamento Eletrônico de Dados (PED) - os computadores - capazes de coletar, armazenar e processar dados muito mais rapidamente que os antigos meios manuais. Sistemas Conjunto de partes coordenadas que concorrem para a realização de um determinado objetivo. Sistemas de Processamento de Dados (SPD) São aqueles responsáveis pela coleta, armazenamento, processamento e recuperação, em equipamentos de processamento eletrônico, dos dados necessários ao funcionamento de um outro sistema maior: o sistema de informações. Compreende duas partes: • o sistema de computação (o computador e os programas básicos), normalmente fornecido completo pelo fabricante; • os sistemas de aplicação, desenvolvidos pelo usuário ou por terceiros, especificamente dedicados à aplicação de interesse do usuário. Sistemas de Informação (numa empresa) Conjunto de métodos, processos e equipamentos necessários para se obter, processar e utilizar informações dentro da empresa. Desta forma, ele compreende não só o SPD, como também todos os procedimentos manuais necessários a prover informações para um determinado nível de decisão de uma organização. Sistemas de Computação O conjunto formado pelos circuitos eletrônicos e partes eletromecânicas de um computador é conhecido como hardware (ainda não há uma tradução adequada para esta palavra). É a parte física, visível do computador. -4- ARQUITETURA DE COMPUTADORES - 1866 Software consiste em programas, de qualquer tipo e em qualquer linguagem, que são introduzidos na máquina para fazê-la trabalhar, passo a passo, e produzir algum resultado. O hardware sozinho não funciona sem instruções (software) sobre o que e quando fazer. 2 – História dos Computadores: 2.1 – Computadores Mecânicos (Geração 0) Máquina de Pascal (1642) Blaise Pascal construiu um contador mecânico que realizava operações aritméticas de soma e subtração através de rodas e engrenagens dentadas. A máquina baseava-se na existência de um disco para cada potência de 10, sendo que cada um destes era dotado de 10 dígitos (de 0 a 9). Embora fosse capaz de realizar apenas adições e subtrações, outras operações, como multiplicações e divisões podiam ser realizadas através da combinação das primeiras. O calculador de Pascal apresentou duas significativas inovações tecnológicas para sua época: – permitia o uso de "vai 1", passado automaticamente para a parcela seguinte; -5- ARQUITETURA DE COMPUTADORES - 1866 – utilizava o conceito de complemento para realizar operações aritméticas de subtração através de soma de complemento (este conceito é até hoje essencialmente a base de funcionamento dos circuitos de operação aritmética em ponto fixo dos computadores). Máquinas de Babbage (século XIX) Charles Babbage, matemático e engenheiro britânico, projetou dois tipos de máquina: – A máquina de diferenças, dispositivo mecânico que só realizava adições e subtrações (como a máquina de Pascal) e cujos cálculos se baseavam no processo de diferenças finitas, pelo qual é possível calcular fórmulas (até com polinômios e funções trigonométricas) utilizando apenas a operação de adição. – A máquina analítica, capaz de armazenar 1.000 números de 20 algarismos e que possuía um programa que podia modificar o funcionamento da máquina, fazendo-a realizar diferentes cálculos. Mesmos componentes que um computador atual: memória (rodas dentadas de contagem), processador (quatro operações aritméticas), “unidade de controle” (sistema de cartões perfurados para realizar uma certa operação), saída (impressora ou um perfurador de cartões). -6- ARQUITETURA DE COMPUTADORES - 1866 Máquina de Hollerith (1880) Para resolver o problema da computação de dados do censo dos Estados Unidos, o estatístico Herman Hollerith teve a idéia de processar dados a partir de cartões perfurados. O tempo de processamento dos dados do censo baixou de 8 (oito) para 3 (três) anos. A tecnologia de cartões perfurados foi adotada rapidamente por diversos países da Europa, difundindo a utilização das máquinas Hollerith em nível mundial e por longo tempo. Hollerith fundou uma companhia, a Tabulating Machine Company que passaria a fazer parte da IBM. Cartão de Hollerith 2.2 – Computadores Eletrônicos 2.2.1 – Primeira Geração (1945-1955) – Válvulas O primeiro computador eletrônico e digital, construído no mundo para emprego geral, isto é, com programa de instruções que podiam alterar o tipo de cálculo a ser realizado com os dados, foi denominado ENIAC (Electronic Numerical Integrator And Computer) e foi projetado de 1943 a 1946, tendo funcionado daí em diante até 1955, quando foi desmontado. O ENIAC era uma máquina gigantesca, contendo mais de 18.000 válvulas, 10.000 capacitores, 70.000 resistores e 800 quilômetros de cabos. Pesava cerca de 30 toneladas e consumia uma enorme quantidade de eletricidade, além do consumo de válvulas, que queimavam com grande freqüência devido ao calor. -7- ARQUITETURA DE COMPUTADORES - 1866 O ENIAC era extremamente rápido para sua época, realizando cerca de 5.000 operações por segundo. Possuía 20 registradores, cada um deles podendo armazenar um valor numérico de 10 dígitos. Era uma máquina decimal (não binária) e, por isso, cada dígito era representado por um anel de 10 válvulas, uma das quais estava ligada em cada instante, indicando o algarismo desejado. Válvula ENIAC Em 1946, von Neumann e vários outros cientistas em Princeton iniciaram a construção de uma nova máquina, um computador eletrônico de programa armazenado, o IAS. Características básicas do IAS: – quatro unidades principais: memória, UCP, UC e E/S; – memória com 1.000 posições (palavras), cada uma podendo armazenar um valor com 40 bits; – Dados (valores numéricos) e instruções representados da mesma forma binária e armazenados na mesma memória; – 21 instruções de 20 bits cada uma, constituídas de 2 campos, um com 8 bits (código de operação) e o outro com 12 bits (endereço), para localizar cada uma das 1.000 palavras, endereçadas de 000 a 999 (embora pudesse endereçar 4096 (212 = 4K) posições de memória, pois o IAS somente possuía 1.000 endereços. -8- ARQUITETURA DE COMPUTADORES - 1866 Von Neumann e o IAS Arquitetura original da máquina de von Neumann: 2.2.2 – Segunda Geração (1955-1965) – Transistores A Digital Equipment Corporation (DEC) lança a linha PDP. A Control Data Corporation (CDC) lança, em 1964, o CDC-6000, voltado primariamente para o processamento científico. Unidades aritméticas e lógicas e de controle mais complexas. Linguagens de programação de nível superior ao das linguagens Assembly da época (na realidade, o FORTRAN para o IBM 704, em 1957, era ainda de primeira geração). IBM 7090, de 3 milhões de dólares, utilizado em aplicações inovadoras (defesa anti-mísseis, da Força Aérea Americana, sistema de reservas de passagens aéreas). No início dos anos 60, a IBM passa a produzir a linha IBM 7040, menos poderosos que seus predecessores, mas de custo bastante inferior. Na Digital, surge o PDP 8, com arquitetura de 18 bits e com o primeiro sistema operacional de time-sharing do mundo. -9- ARQUITETURA DE COMPUTADORES - 1866 Tinha memória de 4 K e interface para teleimpressora, leitora de papel perfurado e leitora de cartões perfurados. Transistor CDC-6000 2.2.3 – Terceira Geração (1965) – Circuitos Integrados • LSI (Large Scale Integration): o dezenas de transistores colocados em uma única pastilha; o computadores menores, mais rápidos e mais baratos. • Surgimento da técnica de multiprogramação (execução simultânea de vários programas); • Elevada capacidade de processamento; • A IBM inventa o disco rígido e o disco flexível. - 10 - ARQUITETURA DE COMPUTADORES - 1866 2.2.4 – Quarta geração (1980) • VLSI (Very Large Scale Integration) o Milhões de transistores armazenados em uma única pastilha; o Computadores cada vez menores e mais rápidos; o A miniaturização de componentes eletrônicos levou ao surgimento dos computadores pessoais, criando um novo surgimento no mercado; o Intel 4004 (1971): o primeiro microprocessador; o Intel 8080 (1974): microprocessador com um clock de 2MHz, memória RAM de 256 Kbytes. • Surgimento dos computadores pessoais: o Série Intel de “chips” - tornou-se padrão: Exs: 8086, 8088, 80286, 80386, 80486, Pentium. o IBM PC adotou o chip Intel para CPU. Primeiro sucesso comercial da computação pessoal. “Baixo custo” (US$ 5.000,00) e fácil utilização (teclado, monitor de vídeo de fósforo verde e Sistema Operacional MSDOS). IBM PC - 11 - ARQUITETURA DE COMPUTADORES - 1866 2.2.5 – Quinta geração (1990 – ... ) • ULSI (Ultra Large Scale Integration) o Componentes cada vez menores de mais baixo custo, o que permitiu a evolução de aplicações computacionais mais complexas. • Evolução das aplicações: o Sistemas especialistas, sistemas multimídia, banco de dados distribuídos, inteligência artificial, redes neurais, etc. o Necessidade de maior capacidade de processamento e armazenamento de dados. • Aplicações: o Caixas eletrônicos; o Computadores em automóveis; o Laptops; o Projeto genoma (é o nome de um trabalho conjunto realizado por diversos países visando desvendar o código genético de um organismo – podendo ser animal, vegetal, de fungos, bactérias ou de um vírus – através do seu mapeamento); o World Wide Web; o Computação distribuída em escala mundial (é uma referência à computação paralela e descentralizada, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comum). - 12 -