FUNDAMENTOS E ARQUITETURA DE COMPUTADORES Professor Me. Aparecido Vilela Junior GRADUAÇÃO ANÁLISE DE SISTEMAS MARINGÁ-PR 2012 Reitor: Wilson de Matos Silva Vice-Reitor: Wilson de Matos Silva Filho Pró-Reitor de Administração: Wilson de Matos Silva Filho Presidente da Mantenedora: Cláudio Ferdinandi NEAD - Núcleo de Educação a Distância Diretoria do NEAD: Willian Victor Kendrick de Matos Silva Coordenação Pedagógica: Gislene Miotto Catolino Raymundo Coordenação de Marketing: Bruno Jorge Coordenação Comercial: Helder Machado Coordenação de Tecnologia: Fabrício Ricardo Lazilha Coordenação de Curso: Danilo Xavier Saes Supervisora do Núcleo de Produção de Materiais: Nalva Aparecida da Rosa Moura Capa e Editoração: Daniel Fuverki Hey, Fernando Henrique Mendes, Luiz Fernando Rokubuiti e Renata Sguissardi Supervisão de Materiais: Nádila de Almeida Toledo Revisão Textual e Normas: Cristiane de Oliveira Alves, Gabriela Fonseca Tofanelo, Janaína Bicudo Kikuchi, Jaquelina Kutsunugi e Maria Fernanda Canova Vasconcelos. Ficha catalográfica elaborada pela Biblioteca Central - CESUMAR CENTRO UNIVERSITÁRIO DE MARINGÁ. Núcleo de Educação a distância: C397 Fundamentos e arquitetura de computadores / Aparecido Vilela Junior. Maringá - PR, 2012. 153 p. “Graduação em Análise de Sistemas - EaD”. 1. Computador. 2. Circuitos lógicos. 3.Software. 4.EaD. I. Título. CDD - 22 ed. 004.22 CIP - NBR 12899 - AACR/2 “As imagens utilizadas neste livro foram obtidas a partir dos sites PHOTOS.COM e SHUTTERSTOCK.COM”. Av. Guedner, 1610 - Jd. Aclimação - (44) 3027-6360 - CEP 87050-390 - Maringá - Paraná - www.cesumar.br NEAD - Núcleo de Educação a Distância - bl. 4 sl. 1 e 2 - (44) 3027-6363 - [email protected] - www.ead.cesumar.br FUNDAMENTOS E ARQUITETURA DE COMPUTADORES Professor Me. Aparecido Vilela Junior APRESENTAÇÃO DO REITOR Viver e trabalhar em uma sociedade global é um grande desafio para todos os cidadãos. A busca por tecnologia, informação, conhecimento de qualidade, novas habilidades para liderança e solução de problemas com eficiência tornou-se uma questão de sobrevivência no mundo do trabalho. Cada um de nós tem uma grande responsabilidade: as escolhas que fizermos por nós e pelos nossos fará grande diferença no futuro. Com essa visão, o Cesumar – Centro Universitário de Maringá – assume o compromisso de democratizar o conhecimento por meio de alta tecnologia e contribuir para o futuro dos brasileiros. No cumprimento de sua missão – “promover a educação de qualidade nas diferentes áreas do conhecimento, formando profissionais cidadãos que contribuam para o desenvolvimento de uma sociedade justa e solidária” –, o Cesumar busca a integração do ensino-pesquisaextensão com as demandas institucionais e sociais; a realização de uma prática acadêmica que contribua para o desenvolvimento da consciência social e política e, por fim, a democratização do conhecimento acadêmico com a articulação e a integração com a sociedade. Diante disso, o Cesumar almeja ser reconhecido como uma instituição universitária de referência regional e nacional pela qualidade e compromisso do corpo docente; aquisição de competências institucionais para o desenvolvimento de linhas de pesquisa; consolidação da extensão universitária; qualidade da oferta dos ensinos presencial e a distância; bemestar e satisfação da comunidade interna; qualidade da gestão acadêmica e administrativa; compromisso social de inclusão; processos de cooperação e parceria com o mundo do trabalho, como também pelo compromisso e relacionamento permanente com os egressos, incentivando a educação continuada. Professor Wilson de Matos Silva Reitor FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 5 Caro aluno, “ensinar não é transferir conhecimento, mas criar as possibilidades para a sua produção ou a sua construção” (FREIRE, 1996, p. 25). Tenho a certeza de que no Núcleo de Educação a Distância do Cesumar, você terá à sua disposição todas as condições para se fazer um competente profissional e, assim, colaborar efetivamente para o desenvolvimento da realidade social em que está inserido. Todas as atividades de estudo presentes neste material foram desenvolvidas para atender o seu processo de formação e contemplam as diretrizes curriculares dos cursos de graduação, determinadas pelo Ministério da Educação (MEC). Desta forma, buscando atender essas necessidades, dispomos de uma equipe de profissionais multidisciplinares para que, independente da distância geográfica que você esteja, possamos interagir e, assim, fazer-se presentes no seu processo de ensino-aprendizagem-conhecimento. Neste sentido, por meio de um modelo pedagógico interativo, possibilitamos que, efetivamente, você construa e amplie a sua rede de conhecimentos. Essa interatividade será vivenciada especialmente no ambiente virtual de aprendizagem – AVA – no qual disponibilizamos, além do material produzido em linguagem dialógica, aulas sobre os conteúdos abordados, atividades de estudo, enfim, um mundo de linguagens diferenciadas e ricas de possibilidades efetivas para a sua aprendizagem. Assim sendo, todas as atividades de ensino, disponibilizadas para o seu processo de formação, têm por intuito possibilitar o desenvolvimento de novas competências necessárias para que você se aproprie do conhecimento de forma colaborativa. Portanto, recomendo que durante a realização de seu curso, você procure interagir com os textos, fazer anotações, responder às atividades de autoestudo, participar ativamente dos fóruns, ver as indicações de leitura e realizar novas pesquisas sobre os assuntos tratados, pois tais atividades lhe possibilitarão organizar o seu processo educativo e, assim, superar os desafios na construção de conhecimentos. Para finalizar essa mensagem de boas-vindas, lhe estendo o convite para que caminhe conosco na Comunidade do Conhecimento e vivencie a oportunidade de constituir-se sujeito do seu processo de aprendizagem e membro de uma comunidade mais universal e igualitária. Um grande abraço e ótimos momentos de construção de aprendizagem! Professora Gislene Miotto Catolino Raymundo Coordenadora Pedagógica do NEAD- CESUMAR 6 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância APRESENTAÇÃO Livro: FUNDAMENTOS E ARQUITETURA DE COMPUTADORES Professor Me. Aparecido Vilela Junior Olá, amigo(a) aluno(a). Este é o livro de Fundamentos e Arquitetura de Computadores, que foi desenvolvido especialmente para você de forma a instruí-lo sobre o universo da Tecnologia de Informática em relação a sua arquitetura. Meu nome é Aparecido Vilela Junior e fui o autor deste livro. Vou contar um pouco do meu DNA profissional a você! Cursei a Universidade Estadual de Maringá (UEM), tendo me graduado no ano de 1991, ano em que iniciei a minha carreira profissional na área de TI, chegando até o cargo de Coordenador de Gestão e Sócio de uma empresa de Desenvolvimento. Cursei três Pós-Graduações até que em 2007 finalizei o Mestrado em Ciências da Computação, também na Universidade Estadual de Maringá. Docente a mais de 18 anos e no CESUMAR desde 2010, onde atuo nos cursos presenciais tendo como uma das matérias Fundamentos e Arquitetura de Computadores. Como não estamos estudando a minha vida pessoal, vamos passar ao Livro. Nosso livro está dividido em CINCO UNIDADES e antes de entrarmos nas unidades em si, quero exemplificar a importância que a Fundamentação e Arquitetura de Computadores tem em relação a TI, afinal este livro tem o objetivo de fornecer as bases necessárias para que você possa entender as matérias que serão estudadas e que servirão de alicerce para o exercício de sua futura profissão. Olhando ao nosso redor, certamente notaremos a presença de diversos equipamentos eletrônicos, porém não teremos a visão mais aprofundada dos componentes/recursos e como ela utiliza-os. Devido a todo avanço tecnológico, hoje é impossível imaginar as nossas vidas sem esses recursos que fazem parte do nosso cotidiano. Até a confecção e leitura deste livro faz parte desse avanço, onde utilizamos para isso softwares específicos capazes de permitir que isso se realize. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 7 O primeiro questionamento que fazemos quando nos vemos diante de tanta tecnologia é qual computador/periférico/software adquirir? E essa pergunta também ecoa no ambiente empresarial, qual máquina devo utilizar? As respostas a essas perguntas estão neste livro. Existe uma grande lacuna entre o que é conveniente para as pessoas e o que conveniente para computadores. As pessoas querem fazer X, mas os computadores só podem fazer Y, o que dá origem ao problema. O objetivo deste livro é explicar como esse problema pode ser resolvido. A Unidade I do livro abordará a História do Computador, as características pertencentes a cada uma dentro da sua Evolução. Na Unidade II, iremos tratar do que o computador entende, ou seja, números. Abordaremos as formas de representação que o computador trabalha, os bits, bytes e hexadecimais. Será também abordada a configuração e construção de circuitos lógicos. Na Unidade III, a abordagem será sobre as Interfaces que o computador possui (Paralela/ Serial e USB), as formas de Entrada e Saída dos dados e também citar alguns dispositivos de Armazenamento Secundário. Na Unidade IV, iremos abordar o computador internamente, ou seja, a CPU, os processadores, memórias e demais componentes que auxiliam a essa máquina fantástica. A unidade V tratará dos softwares responsáveis pelo funcionamento do computador: os Sistemas Operacionais. Também será abordado nesta unidade os tipos de software e aplicações. Agora que foram apresentadas as unidades que serão estudadas, reafirmo que conhecer o Fundamento e a Arquitetura dos Computadores é essencial para as tomadas de decisão na vida pessoal e principalmente profissional. Este é o objetivo deste livro! Vamos as nossas unidades! 8 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância SUMÁRIO UNIDADE I HISTÓRIA DO COMPUTADOR GERAÇÕES DE COMPUTADORES 16 HISTÓRIA DOS COMPUTADORES 24 TIPOS DE COMPUTADORES 26 UNIDADE II REPRESENTAÇÃO DE DADOS E CIRCUITOS LÓGICOS DE ELÉTRONS A BITS 43 BIT 44 BYTE44 NOTAÇÃO POSICIONAL – BASE DECIMAL 46 CONVERSÃO DE DECIMAL PARA BINÁRIO 51 CONVERSÃO HEXADECIMAL PARA BINÁRIO 53 CONVERSÃO BINÁRIO PARA HEXADECIMAL 54 CIRCUITOS LÓGICOS 54 TABELA-VERDADE56 OPERAÇÃO OR (‘OU’) COM PORTA OR 56 PORTA OR 57 OPERAÇÃO AND (‘E’) COM PORTA AND 58 PORTA AND 59 OPERAÇÃO NOT (‘NÃO’) OU INVERSÃO 59 UNIDADE III COMPONENTES DE UM COMPUTADOR COMPONENTES DE UM COMPUTADOR – ENTRADA E SAÍDA 69 BARRAMENTO 70 INTERRUPÇÕES72 POLLING73 INTERFACES74 DISPOSITIVOS DE E/S 78 EQUIPAMENTOS DE TELECOMUNICAÇÕES 85 ARMAZENAMENTO SECUNDÁRIO 87 UNIDADE IV POR DENTRO DO COMPUTADOR ORGANIZAÇÃO DO PROCESSADOR 103 POR DENTRO DO COMPUTADOR 105 COMPONENTES DA MEMÓRIA 114 ROM115 PROCESSADORES RISC 121 PROCESSADORES CISC 122 PROCESSADORES COM DOIS OU MAIS NÚCLEOS 124 UNIDADE V SOFTWARE – SISTEMAS OPERACIONAIS E APLICATIVOS SOFTWARE – SISTEMAS OPERACIONAIS E APLICATIVOS 131 MS-DOS133 SOFTWARES APLICATIVOS 140 CLASSIFICAÇÃO DOS SOFTWARES APLICATIVOS 140 SOFTWARE DE DOMÍNIO PÚBLICO 141 CATEGORIAS DE SOFTWARES 142 MONTAGEM E COMPILAÇÃO 146 CONCLUSÃO151 REFERÊNCIAS152 UNIDADE I HISTÓRIA DO COMPUTADOR Professor Me. Aparecido Vilela Junior Objetivos de Aprendizagem • Apresentar conceitos dos Computadores e componentes. • Diferenciar os computadores. • Descrever o Histórico das Gerações de Computadores. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade: • Gerações de Computadores • A história dos Computadores • Tipos de Computadores INTRODUÇÃO Olá, caro(a) aluno(a)! Seja bem-vindo à estrutura dos computadores. Nesta unidade, iremos trabalhar as bases necessárias para que você entenda a arquitetura dos computadores. Abordaremos a História do Computador e a sua Evolução, desde os primórdios (válvulas) até os tablets. As gerações e os tipos de computadores serão abordados de forma que você entenda suas características e principais diferenças. Podemos iniciar perguntando, o que é um Computador? Um computador digital é uma máquina que pode resolver problemas para as pessoas executando instruções que lhe são dadas. Uma sequência de instruções que descreve como realizar certa tarefa é denominada programa. Os circuitos eletrônicos de cada computador podem reconhecer e executar diretamente um conjunto limitado de instruções simples, e, para que os programas possam ser executados, todos devem antes ser convertidos em instruções. Essas instruções básicas raramente são mais complicadas do que: • Somar dois números. • Verificar um número para ver se ele é zero. • Copiar dados de uma parte da memória do computador para outra. Juntando as instruções primitivas de um computador, formamos uma linguagem com as qual as pessoas podem se comunicar com ele, ou seja, a linguagem de máquina. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 15 Os projetistas buscam fazer com que as instruções primitivas sejam o mais simples possível, coerentes com os requisitos de utilização e desempenho idealizados pelo computador, de modo a reduzir a complexidade e o custo da eletrônica necessária. GERAÇÕES DE COMPUTADORES Os computadores inicialmente eram poderosas máquinas (até no tamanho), utilizadas como máquinas de calcular. Durante a evolução do computador digital moderno, foram projetadas e construídas centenas de diferentes tipos de computadores. Os computadores em sua grande parte já foram esquecidos há muito tempo, mas alguns causaram um impacto significativo sobre ideias modernas. É sobre essa evolução que trataremos abaixo. Geração Zero – Computadores Mecânicos (1642-1945) A primeira pessoa a construir uma máquina de calcular operacional foi o cientista Blaise Pascal, em honra de quem a linguagem Pascal foi batizada. Projetado para ajudar seu pai (coletor de impostos do governo francês), era inteiramente mecânico, usava engrenagens e funcionava com uma manivela operada à mão, podendo efetuar apenas operações de adição e subtração. Durante 150 anos nada de muito importante aconteceu, até que um professor de matemática da Universidade Cambridge, Charles Babbage (inventou também o velocímetro), projetou e construiu a máquina diferencial. Projetada para calcular tabelas de números úteis para a navegação naval, a característica mais interessante da máquina diferencial era seu método de saída: ela perfurava seus resultados sobre uma chapa de gravação de cobre com uma punção de aço, prenunciando futuros meios de escrita única como cartões perfurados e CD-ROMS. Mais tarde também criou a máquina analítica, que possui quatro componentes: a armazenagem 16 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância (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 (saída perfurada e impressa). Tendo como seus grandes avanços a leitura de cartões perfurados e a execução das instruções ali contidas. Figura: Máquina diferencial de Babage Fonte: <http://www.biografiasyvidas.com/biografia/b/fotos/babbage_2.jpg> A era da eletrônica inicia a partir de Howard Aiken em 1944, que descobriu o trabalho de Babbage e decidiu construir com relés o computador de uso geral, a Mark I. A entrada e saída utilizavam fita de papel perfurada. Quando Aiken conclui o sucessor dessa máquina, a Mark II, os computadores de relés já estavam obsoletos. A era eletrônica tinha começado. A Primeira Geração – Válvulas (1945-1955) O estímulo para o computador eletrônico foi a Segunda Guerra Mundial. Durante a fase inicial da guerra, as instruções de comando eram enviadas aos submarinos alemães por rádio, que eram interceptadas, mas não decifradas, pois as mensagens eram codificadas utilizando um dispositivo denominado ENIGMA. Para decifrar uma mensagem dessas era preciso uma quantidade enorme de cálculos. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 17 Nasce então o COLOSSUS em 1930 (primeiro computador eletrônico para decodificar essas mensagens), fruto dos laboratórios britânicos e do matemático Alan Turing. A guerra também afetou a computação nos Estados Unidos. O exército precisava de tabelas de alcance para mirar sua artilharia pesada e produzia essas tabelas contratando centenas de mulheres para fazer os cálculos necessários. Em 1943, John Mauchley e seu aluno de pós-graduação J. Presper Eckert passaram a construir um computador eletrônico ao qual deram o nome de ENIAC (Eletronic Numerical Integrator And Compute – integrador e computador numérico eletrônico). Consistindo de 18 mil válvulas e 1.500 relés, pesava 30 toneladas e consumia 140 quilowatts de energia. Em termos de arquitetura, a máquina tinha 20 registradores, cada um com capacidade para conter um número decimal de 10 algarismos. Sendo programado para com o ajuste de 6 mil interruptores multiposição e com a conexão de uma imensa quantidade de soquetes. Figura Interna do ENIAC, programando sua operação Fonte:<http://t2.gstatic.com/images?q=tbn:ANd9GcQQL2mU1EkXLuXrv44OGKBjL6oGQWJ8VEvqkb 0Oz97xFrGbC4VusQ> Após isso, começam a trabalhar em seu sucessor, o EDVAC (Eletronic Discrete Variable Automatic Compute). 18 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância John Von Newmann, matemático húngaro naturalizado norte-americano, propôs, nos anos 40 do século XX, um padrão de arquitetura de computadores que ainda hoje é seguido, sendo hoje em dia altamente pesquisada uma alternativa a esse padrão. Ainda não se tem de fato uma ideia que seja melhor que a desse cientista. A máquina proposta por Von Neumann conta com os seguintes componentes: uma Memória, uma Unidade Aritmética e Lógica (ULA), uma Unidade Central de Processamento (UCP), composta por diversos Registradores, e uma Unidade de Controle (UC), cuja função é a mesma da tabela de controle da máquina de Turing Universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados. Fonte:<http://t0.gstatic.com/images?q=tbn:ANd9GcT5JVTYfTZfu8w66jU6qjduy2BBVqghTky0OyOoQWF6Eyw0qjXkfA> A memória armazena dados e instruções de programas. A CPU é encarregada de buscar as instruções e dados da memória, executar as instruções e então armazenar os valores resultantes de volta na memória. Os dispositivos de entrada (tais como teclado, mouse e microfone) e dispositivos de saída (tais como a tela, alto-falantes e impressora) possibilitam a interação com o usuário, permitindo que as pessoas forneçam entradas e exibindo dados, instruções e os resultados das computações. Enquanto tudo isso estava acontecendo, a IBM era uma pequena empresa dedicada ao negócio FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 19 de produzir perfuradoras de cartões e máquinas mecânicas de classificação de cartões. Em 1958, a IBM iniciou a produção de sua última máquina de válvulas. A Segunda Geração – Transistores (1955-1965) O transistor foi inventado no Bell Labs em 1948, por John Bardeen, Walter Brattain e William Shockley, pelo qual receberam o Prêmio Nobel de Física em 1956. Em 10 anos o transistor revolucionou os computadores e, ao final da década de 50, os computadores de válvulas estavam obsoletos. O nome transistor foi derivado de sua “função”, que era ser um resistor de transferência, que em inglês, é escrito como transfer resistor. O transistor foi descoberto durante alguns estudos de superfícies em torno de um diodo de ponto de contato. O mais incrível nessa descoberta é o fato de que esta (a descoberta) foi acidental, uma vez que os laboratórios estavam procurando um dispositivo de estado sólido equivalentes à válvula eletrônica. Os transistores eram muito menores do que as válvulas a vácuo e tinham numerosas outras vantagens: não exigiam tempo de pré-aquecimento, consumiam menos energia, geravam muito menos calor e eram mais rápidos e confiáveis. Outro desenvolvimento importante que surgiu nessa geração foi a mudança da linguagem de máquina para as linguagens assembly, também chamadas de linguagens simbólicas. Depois do desenvolvimento das linguagens simbólicas, vieram as linguagens de alto nível como, por exemplo, FORTRAN (1954) e COBOL (1959). Os computadores eram usados principalmente por negócios, universidades e organizações governamentais. Não havia chegado ao público em geral. A parte real da evolução estava prestes a iniciar. 20 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância A Terceira Geração – Circuitos Integrados (1965-1980) Fonte: SHUTTERSTOCK.COM Um dos elementos mais abundantes na crosta terrestre é o silício, uma substância não metálica encontrada na areia da praia, bem como em praticamente todas as rochas e argilas. Circuitos Integrados são feitos de silício porque esse é um semicondutor. Um circuito integrado (CI) é um circuito eletrônico completo por um pequeno chip de silício. Em 1965 os CIs começaram a substituir os transistores nos computadores. A invenção do circuito integrado de silício por Robert Noyce em 1958 permitiu que dezenas de transistores fossem colocados em um único chip. Esse empacotamento possibilitava a construção de computadores menores mais rápidos e mais baratos do que seus precursores transistorizados. Alguns dos componentes mais significativos dessa geração são descritos a seguir. Os chips passam a ser considerados um avanço em termos de geração porque tinham características desejáveis: confiabilidade, tamanho reduzido e custo baixo. Técnicas de produção em grandes volumes tornaram possível a manufatura de circuitos integrados baratos. O início da terceira geração foi anunciado pela série IBM 360 (que recebeu esse nome em FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 21 função de um círculo completo de serviço – 360 graus) em 1964. Iniciava também o uso do computador para a área comercial. O Sistema Operacional tornouse mais sofisticado durante a terceira geração. Diversos programas podiam ser executados no mesmo intervalo de tempo, compartilhando recursos do computador. A Quarta Geração – Microprocessador e Integração em escala muito grande (1980-?) Fonte: SHUTTERSTOCK.COM Na década de 1970, os computadores ganharam drasticamente em termos de velocidade, confiabilidade e capacidade de armazenamento, mas o ingresso na quarta geração foi evolucionário. A quarta geração foi uma extensão da tecnologia de terceira geração. Na primeira parte da terceira geração, desenvolveram-se chips especializados para memória e lógica de computador. Na segunda parte, o processador de uso geral em um único chip, também conhecido como microprocessador, que se tornou comercialmente disponível em 1971. Em nenhum outro lugar o alcance da potência do computador é mais patente do que no uso do microprocessador. Além das aplicações comuns em relógios digitais, calculadoras de bolso e computadores pessoais, você pode esperar encontrá-lo virtualmente em todas as máquinas domésticas ou de escritórios: carros, máquinas copiadoras, aparelhos de televisão, máquinas de fazer pão etc. 22 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Na década de 1980, a VLSI (Very Large Scale Integration – integração em escala muito grande) tinha possibilitado colocar primeiro dezenas de milhares, depois centenas de milhares e, por fim, milhões de transistores em um único chip. Esse desenvolvimento logo levou a computadores menores e mais rápidos. Agora a geração era dos computadores pessoais. Apple, IBM foram os pioneiros. A Apple com o Macintosh, o primeiro computador que vinha com uma GUI (Graphical User Interface – Interface Gráfica de Usuário), semelhante a agora popular interface Windows. Esse primeiro mercado do computador pessoal levou ao desejo até então inaudito por computadores pessoais. Até 1992, computadores pessoais eram de 8, 16 ou 32 bits. Então, a DEC apareceu com seu revolucionário Alpha de 64 bits, uma verdadeira máquina RISC de 64 bits, cujo desempenho ultrapassava por grande margem o de todos os outros computadores pessoais. Seu sucesso foi modesto, mas quase uma década se passou antes que as máquinas de 64 bits começassem a ter grande sucesso e, na maior parte das vezes, como servidores top de linha. Os computadores atuais são 100 vezes menores que os da primeira geração, e um único chip é bem mais poderoso do que o ENIAC. A Quinta Geração – Computadores Invisíveis Em 1981, o governo japonês anunciou que estava planejando gastar 500 milhões de dólares para ajudar empresas japonesas a desenvolver computadores de quinta geração que seriam baseados em inteligência artificial e representariam um salto quântico em relação aos computadores “burros” da quarta geração. A despeito do grande barulho, o projeto japonês fracassou e foi abandonado sem alarde. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 23 A quinta geração aconteceu, mas de modo inesperado: os computadores encolheram. O Newton da Apple mostrou que um computador podia ser construído dentro de um invólucro que não era maior que um tocador de fitas cassete portátil. O Newton usava a escrita à mão para entrada do usuário, o que provou ser um grande obstáculo, mas nas máquinas posteriores dessa classe, agora denominadas PDAs (Personal Digital Assistants), aprimoraram as interfaces de usuário e tornaram-se muito populares. Muitas dessas têm quase ou até maior a capacidade de computação que computadores pessoais de alguns anos atrás. Ainda mais importantes são os computadores “invisíveis” embutidos em eletrodomésticos, relógios, cartões bancários e diversos outros dispositivos (BECHINI et al., 2004). Esses processadores permitem maior funcionalidade e custo mais baixo em uma ampla variedade de aplicações. Assista à história do computador acessando o vídeo: <http://www.youtube.com/watch?v=rtfUMyqzB-4&feature=related>. HISTÓRIA DOS COMPUTADORES A indústria de computadores está avançando como nenhuma outra. Com a capacidade dos fabricantes de chips de aplicarem cada vez mais pacotes de transistores por chip todo ano, a matemática é simples, quanto mais transistores temos em contrapartida memórias maiores e processadores mais poderosos. Computadores pessoais são as máquinas das quais você “pode se aproximar mais”, seja você um amador ou um profissional. Não há nada como ter seu próprio computador pessoal. 24 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância A lei de Moore ficou bastante conhecida em relação à computação. Relata que o número de transistores dobra a cada 18 meses, o que equivale a um aumento de 60% do número de transistores por ano. A lei de Moore criou o que os economistas chamam de círculo virtuoso. Progressos na tecnologia (transistores/chips) levam a melhores produtos e preços mais baixos. Preços mais baixos levam a novas aplicações. Para ajudar esse raciocínio, traçaremos uma cronologia representada pelos tipos de computadores. Apple abrindo o caminho O primeiro computador pessoal disponível ao público foi o MITS Altair, produzido em 1975. Era uma máquina espetacular, carregada de chaves e botões, mas sem nenhum teclado ou tela. Foram necessários dois adolescentes, Steve Jobs e Steve Wozniak, para prender a imaginação do público com o primeiro computador Apple. O primeiro computador Apple, o Apple I, não foi um sucesso comercial: o Apple II é que deu estabilidade aos primeiros anos da companhia. A combinação do Apple II e do software de planilha eletrônica denominado VisiCalc que chamou a atenção da comunidade de negócios e impulsionou os computadores pessoais para o local de trabalho. Padrão IBM-PC A IBM após anunciar seu primeiro computador, no início da década de 1980, avançou para capturar a maior fatia de mercado em apenas 18 meses. O mais importante ainda é que sua máquina tornou-se padrão para as outras indústrias. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 25 A máquina IBM incluía inovações como, por exemplo, uma linha de tela de 80 caracteres, um teclado com maiúsculas e minúsculas e a possibilidade de acrescentar memória. A IBM oferecia slots de expansão internos para que os fabricantes de equipamentos periféricos pudessem construir acessórios para o PC IBM. A IBM fornecia esquemas de hardware e listagens de software para empresas que quisessem devolver produtos em conjunto com o novo PC. Muitos dos novos produtos aceleraram a demanda pela máquina IBM. Diversas empresas surgiram apenas para prover suporte ao IBM PC. Os computadores pessoais, compatíveis com IBM, agora dominam o mercado, deixando a IBM com uma fatia de mercado pequena em comparação ao seu sucesso original. Padrão Microsoft/Intel Na história da indústria de computadores, o destaque era a mudança do hardware. Entretanto, os usuários de computador pessoal agora se concentram mais na tremenda variedade de software. A força predominante em termos de software de computador pessoal é a Microsoft Corporation. O sistema operacional Windows é usado em computadores controlados por um microprocessador da Intel Corporation: essa potente combinação, apelidada de Wintel, tornouse a força predominante nas vendas de computadores pessoais. TIPOS DE COMPUTADORES Os ganhos concedidos pela lei de Moore podem ser usados de vários modos. Um deles é construir computadores cada vez mais poderosos a preço constante. Uma outra abordagem é construir o mesmo computador por uma quantia de dinheiro cada vez menor a cada ano. 26 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância A indústria dos computadores, além de efetuar ambas as coisas, criou uma ampla variedade de computadores disponíveis agora. Uma categorização dos computadores (isso existe para que não achemos que um desktop é um servidor, e vice-versa). Alguns tipos de computadores podem ser observados na tabela abaixo. Tipo Preço (US$) Exemplo de Aplicação Computador Descartável 0,5 Cartões de felicitação Microcontrolador 5 Relógios, carros, eletrodomésticos Computador de Jogos 50 Videogames domésticos Computador Pessoal 500 Computadores de mesa ou notebook Servidor 5K Servidor de Rede Conjunto de Estações de trabalho 50 – 500 K Minissupercomputador departamental Mainframe Processamento de dados em bloco em um banco 5M Fonte: o autor Computadores Descartáveis Na extremidade inferior desse tipo, encontramos um chip colado na parte interna de um cartão de congratulações. O desenvolvimento mais importante na área dos computadores descartáveis é o chip RFID (Radio Frequency IDentification – identificação por radiofrequência). São chips com menos de 0.5 mm de espessura que contêm um minúsculo radio transponder e um número de 128 bits embutido. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 27 Fonte: SHUTTERSTOCK.COM Algumas utilizações: código de barras de produtos. Já foram feitos testes experimentais nos quais os fabricantes anexaram chips RFID (em vez de código de barras) a seus produtos à venda em lojas. O processo agora nas vendas é levar o carrinho de compras para fora da loja, onde cada produto se identifica, o cliente também pode ser identificado por um chip embutido em seu cartão (fim das filas maçantes) e um controle maior visto que com 128 bits cada produto pode ser único com seu lote, data de vencimento etc. Outra utilização estudada: rastreamento de veículos, sistema de transporte de bagagens aéreas, transporte de encomendas. A tecnologia usada em chips RFID está se desenvolvendo rapidamente. Os menores são passivos (não têm alimentação interna), apenas transmitindo seus números exclusivos quando consultados. Os maiores podem conter uma pequena bateria e um computador primitivo, e são capazes de fazer alguns cálculos. Os smart cards usados em transações financeiras estão nessa categoria. Microcontroladores Fonte: <http://static.hsw.com.br/gif/microcontroller-ch.jpg> 28 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Computadores que estão embutidos em dispositivos que não são vendidos como computadores. Os computadores embutidos, às vezes denominados microcontroladores, gerenciam os dispositivos e manipulam a interface de usuário. São encontrados em grande variedade de aparelhos diferentes, entre eles, os seguintes: Eletrodomésticos (rádio relógio, máquina de lavar, secadora, forno de micro-ondas, alarme antifurto). 1. Aparelhos de comunicação (telefone sem fio, telefone celular, fax). 2. Periféricos de Computadores (impressora, scanner, modem, drive de CD-ROM). 3. Equipamentos de entretenimento (VCR, DVD, aparelho de som, MP3 player, transdutores de TV). 4. Aparelhos de reprodução de imagens (TV, câmera digital, fotocopiadora). 5. Equipamentos médicos (raios-X, MRI (ressonância magnética), monitor cardíaco, termômetro digital). 6. Sistema de armazenamentos militares (míssil teleguiado, ICBM (míssil balístico intercontinental), torpedo). 7. Dispositivos de vendas (máquina de venda automática, caixa eletrônico (ATM), caixa registradora). 8. Brinquedos (bonecas que falam, consoles de jogos, carros com radiocontrole). Um carro hoje poderia facilmente conter 50 microcontroladores que executam subsistemas, como freio, antitravamento, injeção de combustível, rádio e GPS. Uma família poderia ter facilmente centenas de computadores sem saber. Dentro de FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 29 alguns anos, praticamente tudo o que funciona por energia elétrica ou baterias conterá um microcontrolador. Minicontroladores são computadores pequenos, mas completos, contendo um processador, memória e capacidade de E/S (entrada e saída realizada por botões e interruptores). Os microcontroladores de uso geral apresentam importantes diferenças em relação aos PCs. a) Custo: os preços variam muito dependendo de quantos bits tem, de quanta memória tem, e de que tipo é a memória, além de outros fatores. b) Funcionamento em tempo real: recebem um estímulo e devem dar uma resposta instantânea. A necessidade de funcionar em tempo real costuma causar impacto na arquitetura. c) Sistema embutido: limitações físicas em termos de tamanho, peso, consumo de bateria e outras limitações elétricas e mecânicas. A evolução dos computadores, da informática e internet, por meio do vídeo: <http://www.youtube.com/watch?v=vtVxC9ocEu4>. Computadores de Jogos Máquinas de videogames. São computadores normais, com recursos gráficos especiais e capacidade de som, mas software limitado e pouca capacidade de extensão. A história nos mostra que os primeiros começaram como CPUs de baixo valor para jogos simples, como pingue-pongue em aparelhos de televisão e com o passar dos anos evoluíram para sistemas mais poderosos, rivalizando com o desempenho de computadores pessoais e até ultrapassando esse desempenho em certas dimensões (por exemplo, o PS3 que tem seu 30 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância núcleo utilizado como servidor, devido ao seu alto desempenho). As principais diferenças entre uma máquina de jogos e PC não está tanto na CPU, mas no fato de que máquinas de jogos são sistemas fechados e talvez o mais importante é que as máquinas de jogos são cuidadosamente otimizadas para uma área de aplicação: jogos de alta interatividade em 3-D com alta qualidade de áudio estéreo. As mesmas empresas que fabricam as principais máquinas de jogos também produzem máquinas de jogos portáteis, que são alimentadas por baterias e estão mais próximas dos sistemas embutidos que já discutimos do que dos computadores pessoais. Computadores Pessoais O termo “computadores pessoais” abrange computadores de mesa e notebooks. Costumam vir equipados com gigabytes de memória e um disco rígido, um drive de CD-ROM/DVD, interface de rede, monitor de alta resolução e outros periféricos. Têm sistema operacional elaborado, muitas opções de expansão e uma imensa faixa de softwares disponíveis. O núcleo (“coração”) de todo computador pessoal é uma placa de circuito impresso que está no fundo da caixa (gabinete). Em geral essa placa contém a CPU, memória, vários dispositivos de E/S (como um chip de som), bem como as interfaces para teclado, mouse, disco, rede etc., e alguns encaixes (slots) de expansão. Notebooks são basicamente PCs em uma embalagem menor e utilizam os mesmos componentes de hardware, mas em tamanho menores. Também executam os mesmos softwares que os PCs de mesa. Outro tipo de máquina estreitamente relacionado são os PDAs. Embora sejam menores que o notebook, cada um tem uma CPU, memória, teclado, visor e a maioria das outras características FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 31 de um computador pessoal em miniatura. Fonte:<http://upload.wikimedia.org/wikipedia/commons/4/41/Personal_computer%2C_exploded_5. svg> Servidores Fonte: SHUTTERSTOCK.COM Computadores pessoais reforçados ou estações de trabalho são muito usados como servidores de rede, tanto em redes locais (em geral dentro de uma empresa) quanto na Internet. Os servidores vêm em configurações com um único processador e com múltiplos processadores, tem gigabytes de memória, centenas de gigabytes de espaço de disco rígido e capacidade de rede mais rápida. 32 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Executam os mesmos sistemas operacionais que os computadores pessoais, com alguma variação (principalmente segurança). Conjunto de Estações de trabalho Fonte: SHUTTERSTOCK.COM Devido às melhorias quase contínuas na relação preço/desempenho de estações de trabalho e computadores pessoais, nos últimos anos os projetistas de sistemas começaram a conectar grandes números deles para formar os Clusters (COWs – Clusters of Workstations). Os clusters consistem em PCs ou estações de trabalho padrão conectados por redes de gigabytes que executam software especial, permitindo que todas as máquinas trabalhem juntas em um único problema, muitas vezes científico ou de engenharia. O principal acréscimo é a capacidade de trabalho em rede de alta velocidade, com um conjunto de máquinas que podem chegar até milhares. O fator limitador é a verba disponível, devido ao baixo preço por componente, agora departamentos individuais podem ter essas máquinas. Outra utilização de um COW é como um servidor Web de Internet. Quando um site espera receber milhares de requisições por minuto para suas páginas, a solução mais econômica costuma ser um aglomerado com centenas e até milhares de servidores (essa utilização normalmente é denominada Server farm). FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 33 Mainframes Fonte: SHUTTERSTOCK.COM Computadores que ocupam uma sala e nos fazem voltar à década de 1960. A maioria é descendente direta dos mainframes IBM 360 adquiridos há décadas. A maioria não é muito mais rápida do que servidores de grande potência, mas sempre têm mais capacidade de E/S e costuma ser equipada com vastas coleções de discos que contêm normalmente milhares de gigabytes de dados. Embora caros, são mantidos principalmente pelo alto investimento em software, dados, procedimentos de operação e pessoal que representam. Ocasionou o problema do Ano 2000, causado pelos programadores COBOL nas décadas de 60 e 70, porque representavam o ano com 2 algarismos (dígitos) decimais para economizar memória. Eles nunca imaginaram que seus softwares durariam três ou quatro décadas. Além de sua utilização para executar software herdado de 30 anos de existência, a Internet deu um fôlego a esses mainframes. Ela achou um novo nicho, como poderosos servidores de Internet, por exemplo, porque podem manipular quantidades maciças de transações de e-commerce por segundo. 34 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Supercomputadores Possuíam CPUs extremamente rápidas, muito gigabytes de memória principal e discos e redes muito velozes. Eram usados para cálculos maciços nas áreas científicas e de engenharia, como a simulação de colisão de galáxias, a síntese de novos medicamentos ou a modelagem do fluxo ao redor da asa de um avião. Fonte: <http://info.abril.com.br/noticias/blogs/geek-list/files/2010/04/01-Jaguar-Cray1.jpg> O supercomputador acima é o XT Jaguar, fabricado pela Cray. O todo-poderoso está instalado em solo americano, no laboratório Oak Ridge National, em Tennessee, e roda um sistema baseado em Linux. Os cientistas usam os seus 224.162 núcleos de processamento para gerar uma potência de 1.750 teraflops de processamento e pesquisar temas relacionados à geração de energia limpa, entre outras coisas. Contudo, nos últimos anos os COWS passaram a oferecer a mesma capacidade de computação a preços muito mais baixos, e os verdadeiros supercomputadores agora são uma raça em extinção. Computadores Notebook Computadores pequenos e leves. Com suas capacidades se comparando às dos computadores FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 35 de mesa: Em relação ao processamento e memória, têm performance e desempenho similares. A maioria tem disco rígido e uma unidade de CD-ROM. Tipicamente, mais caros do que um computador de mesa equivalente. Fonte: SHUTTERSTOCK.COM Tablet Fonte: SHUTTERSTOCK.COM Dispositivo pessoal que se assemelha ao formato de uma prancheta, podendo ser utilizado para acesso à Internet, leitura de livros, jornais e revistas, jogos. Atualmente apresenta uma tela touchscreen (tela sensível ao toque), que é o dispositivo principal de entrada. 36 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Suas funcionalidades são acionadas pelas pontas dos dedos ou uma caneta. É um novo conceito, e embora possua diversas funcionalidades, não deve ser igualado a um computador completo. Os tablets possuem um Sistema Operacional feito para eles (por exemplo, o Ipad2 – Apple e o Galaxy Tab – Samsung), ao invés de utilizar o mesmo sistema operacional do computador. A popularização deste tipo de computador começa a se dar com o lançamento do Ipad da Apple. As empresas que não tiverem seu site/aplicativo nos próximos anos não terão sucesso no mercado! CONSIDERAÇÕES FINAIS Esta unidade foi de importância fundamental para que você se familiarizasse com os computadores, seu conceito, suas gerações. Além do mais, entender o computador é importante NÃO apenas para a sua vida profissional, mas também para a vida pessoal, para saber quais decisões tomar em relação à aquisição e necessidades que possam surgir desta. Em suma, agora, passado o estudo dessa unidade, você será capaz de entender como foi a evolução dos computadores até chegar aos atuais, que você está neste momento utilizando para fazer o seu curso. Vamos em frente! FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 37 Assista ao vídeo sobre a história e evolução no site do museu do computador: <http://www.museudocomputador.com.br/>. ATIVIDADE DE AUTOESTUDO 1. Você interage com o computador no seu dia a dia. Defina-o! 2. Os RFID’s (citados no tópico computadores invisíveis) definem uma nova abordagem, principalmente as etiquetas. Na sua cidade, quais os ramos de estabelecimentos comerciais que poderiam utilizar o RFID e como poderiam ser utilizados além de etiquetas? 3. Na evolução, chegamos aos smartphones e tablets. Cite necessidades que podem ser atendidas com essa tecnologia e o que seria utilizado para atendê-las nos locais que você frequenta. 4. O que significou a padronização do IBM-PC 360 para os fabricantes e para a evolução dos computadores? 38 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância CAPRON, H. L.; JOHNSON, J. A.; SANTOS, José Carlos Barbosa dos. Introdução à informática. São Paulo: Pearson Prentice Hall, 2004. 368 p. SILBERSCHATZ, Abraham; GALVIN, Peter Baer; GAGNE, Greg. Fundamentos de sistemas operacionais. Rio de Janeiro: LTC, 2011. 515 p. VERDE, Raul. Computadores digitais-2. Lisboa: Dinalivro, 1984. 545 p. WEBER, Raul Fernando. Fundamentos de arquitetura de computadores. 3. ed. Porto Alegre: Bookman, 2008. 306 p. (Série Livros didáticos; 8). FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 39 40 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância UNIDADE II REPRESENTAÇÃO DE DADOS E CIRCUITOS LÓGICOS Professor Me. Aparecido Vilela Junior Objetivos de Aprendizagem • Cobrir os métodos mais comuns que os sistemas de computadores utilizam para representar dados e como as operações aritméticas são executadas sobre estas representações. • Fazer distinção entre representações digitais e analógicas. • Estudar como os bits (dígitos binários) são representados por sinais elétricos. • Verificar a representação dos dados internamente (padrão de bits e sinal elétrico). • Descrever como a informação pode ser representada usando apenas dois estados (1 e 0). • Converter um número binário em seu equivalente decimal. • Reconhecer as características básicas do sistema de numeração binário. • Conhecer uma tabela-verdade. • Criar circuitos lógicos. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade: • Representação Numérica • Bit e Byte • Notação Posicional Base 10 e Base 2 • Conversão Decimal x Binário • Conversão Binário x Decimal • Conversão para Hexadecimal • Tabela-Verdade • Circuitos Lógicos INTRODUÇÃO Olá, querido(a) acadêmico(a)! Nesta unidade, iremos estudar a representação numérica que os computadores trabalham, passeando pelos bits, bytes e hexadecimais. É importante sabermos que o computador entende somente números e por isso a sua introdução neste mundo interno da comunicação dos computadores. Esta unidade também vai tratar da construção de circuitos lógicos, circuitos esses que são usados em circuitos eletrônicos, por causa das situações que os sinais deste tipo de circuito podem apresentar de sinal, presença de sinal (1) e ausência de sinal (0), por isso a necessidade e a importância desta unidade, no livro. DE ELÉTRONS A BITS Os computadores modernos são sistemas digitais (vimos isso na unidade anterior), o que significa que eles interpretam os sinais elétricos como possuindo um conjunto de valores discretos, ao invés de quantidades analógicas. Ao mesmo tempo em que isto aumenta o número de sinais necessários para transportar uma determinada quantidade de informação ,facilita o armazenamento de informações e faz com que os sistemas digitais sejam menos sujeitos a ruídos elétricos do que os analógicos. A convenção de sinais de um sistema digital determina como os sinais elétricos analógicos são interpretados como valores. Cada sinal carrega um de dois valores, dependendo do nível de tensão do sinal. Tensões baixas são interpretadas como 0 e tensões altas são interpretadas como 1. Representando as Informações Toda informação introduzida em um computador (sejam dados que serão processados ou FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 43 instruções de um programa) precisa ser estendida pela máquina, para que possa interpretá-la e processá-la. O computador, sendo um equipamento eletrônico, armazena e movimenta as informações internamente sob forma eletrônica; esta pode ser um valor de voltagem ou corrente (na memória secundária as informações são armazenadas sob forma magnética ou ótica). Considerando que é muito mais simples e confiável projetar um circuito capaz de gerar e manipular o menor número possível de valores distintos, optou-se por uma máquina binária, isto é, capaz de entender apenas dois valores: 0 e 1. Dessa forma, os computadores digitais são totalmente binários. Toda informação introduzida em um computador é convertida para a forma binária, mediante o emprego de um código qualquer de armazenamento. BIT A menor unidade de informação armazenável em um computador é o algarismo binário ou dígito binário, conhecido como bit (BInary DigiT). O bit pode ter, então, somente dois valores: 0 e 1. O bit pouco pode representar isoladamente; por essa razão, as informações manipuladas por um computador são codificadas em grupos ordenados de bits, de modo a terem um significado útil. BYTE A maioria dos microcomputadores manipula e armazena informações e dados binários em grupos de 8 bits. Por isso, a sequência de 8 bits recebe um nome especial: ela é denominada byte. Um byte é constituído sempre de 8 bits e pode representar quaisquer tipos de dados ou 44 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância informações. O menor grupo ordenado de bits representando uma informação útil para o ser humano é o caractere. Qualquer caractere a ser armazenado em um sistema de computação é convertido em um conjunto de bits previamente definido para o referido sistema. Cada sistema poderá definir como (quantos bits e como se organizam) cada conjunto de bits irá representar um determinado caractere. Dentre eles, podemos citar: • BCD – Binary Code Decimal – grupo de 6 bits/caractere, permitindo a codificação de 64 caracteres (praticamente não é mais empregado). • EBCDIC – Extend Binary Coded Decimal Interchange Code – exclusivo da IBM – grupo de 8 bits permitindo a codificação de 256 símbolos diferentes. • ASCII – Americam Standard Code for Information Interchange – usado pelos demais fabricantes, com 8 bits, desenvolvido para aplicações com os microcomputadores de 16 bits (IBM-PC e compatíveis). É costume, no mercado, construírem memórias cujo acesso, armazenamento e recuperação de informações são efetuados byte a byte (ou caractere a caractere). Por essa razão, em anúncios de computadores, menciona que ele possui “2Gbytes de memória”. Como os computadores são binários, todas as indicações numéricas referem-se à potência de 2, e, por essa razão, o K representa 1.024 unidades (décima potência de 2 ou 210). A tabela abaixo relaciona as medidas de armazenamento mais utilizadas: FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 45 Quantidade de Bytes Valor Aproximado Nome 2 = 1.024 B 1.000 B 1 kB – KILOBYTE 2 = 1.048.576 B 1.000.000 B = 1.000 kB 1 MB – MEGABYTE 2 = 1.073.741.824 B 1.000.000.000 B = 1.000 MB 1 GB – GIGABYTE 2 = 1.099.511.627.776 B 1.000.000.000.000 B = 1.000 GB 1 TB – TERABYTE 2 = 1.125.899.906.842.624 B 1.000.000.000.000.000 B = 1.000 TB 1 PB – PETABYTE 260 = 1.152.921.504.606.846.976 B 1.000.000.000.000.000. 000 B = 1.000 PB 1 EB – EXABYTE 2 = 1.180.591.620.717.411.303.424 B 1.000.000.000.000.000.000.000 = 1.000 EB 1 ZB = ZETABYTE 10 20 30 40 50 70 2 = 1.208.925.819.614.629.174.706.176 1.000.000.000.000.000.000.000.000 = 1.000 ZB 1 YB = YOTTABYTE 80 Fonte: o autor NOTAÇÃO POSICIONAL – BASE DECIMAL Desde os primórdios da civilização, o homem vem adotando formas e métodos específicos para representar números, tornando possível, com eles, contar objetos e efetuar operações aritméticas (soma, subtração etc.). A forma mais empregada de representação numérica é chamada notação posicional. Nela, os algarismos componentes de um número assumem valores diferentes, dependendo de sua posição relativa ao número. O valor total do número é a soma dos valores relativos de cada algarismo. Desse modo, é a posição do algarismo ou dígito que determina seu valor. A formação de números e operações com eles efetuadas dependem, nos sistemas posicionais, da quantidade de algarismos diferentes disponíveis no referido sistema. Há muito tempo a cultura ocidental adotou um sistema de numeração que possui dez diferentes algarismos – 0,1,2,3,4,5,6,7,8,9 – e por essa razão, foi chamada de sistema decimal. A quantidade de algarismos disponíveis em um dado sistema de numeração é chamada de 46 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância base; a base serve para contarmos grandezas maiores, indicando a noção de grupamento. O sistema de dez algarismos acima tem base 10; um outro sistema que tem apenas dois algarismos diferentes (0 e 1) é de base 2, e assim por diante. Exemplificando o conceito posicional, utilizando o número 1572, representado na base 10, escrito da seguinte forma: 157210. Em base decimal, por ser a mais usual, costuma-se dispensar o indicador de base, escrevendose apenas o número 1572. Neste exemplo, o número é composto de quatro algarismos: 1,5,7,2 e cada algarismo possui um valor correspondente à sua posição no número. Assim, o algarismo 2 representa 2 unidades. Neste caso, o valor absoluto do algarismo é igual ao seu valor relativo por se tratar da primeira posição, considerando o aspecto 2 x 100 (2 vezes a potência 0 na base 10). Enquanto o 7 representa 7 dezenas, pois seria representado por 7 x 101 (7 vezes a potência 1 na base 10), e assim, aumentando a potência para cada posição do algarismo na base 10, teríamos como valor total: 1 x 103 + 5 x 102 + 7 x 101 + 2 x 100 = 1000 + 500 + 70 + 2 = 157210. Generalizando, em um sistema qualquer de numeração posicional, um número N é a expressão da seguinte forma: N = (dn-1,dn-2,dn-3... d1 d0) b onde : d: indica cada algarismo do número; n-1,n-2,n-3,1,0: índice, indicam a posição de cada algarismo; b: indica a base de numeração; n: indica o número de dígitos inteiros. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 47 O valor do número pode ser obtido do seguinte somatório: N = dn-1 x bn-1 + dn-2 x bn-2 + ... d1 x b1 + d0 x b0 • Resumindo: o número 1951: 1 milhar + nove centenas + 5 dezenas + 1 unidade, é representado por: Fonte: o autor Utilizando-se a notação posicional indicada na expressão acima, representam-se números em qualquer base. Representações Binárias de inteiros positivos Sistemas que mapeiam cada sinal elétrico sobre dois valores conhecidos como sistemas binários e a informação que cada sinal carrega é chamada de um bit (forma abreviada para BInary digiT – dígito binário). Sistemas com mais valores por sinal (bit) são possíveis, mas são muito complexos para projetar seus circuitos e para interpretar, por esse motivo, praticamente todos os sistemas digitais são binários. Inteiros positivos são representados utilizando o sistema binário de numeração posicional (base 2), semelhante ao sistema de numeração posicional utilizada na aritmética decimal (base 10). 48 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Para números binários a base é 2: assim, cada posição do número representa uma potência crescente de 2, em vez de uma potência crescente de 10. Por exemplo, o número binário 100111 = (1 x 25) + (0 x 24) + (0 x 23) + (1 x 22) + (1 x 21) + (1 x 20), que corresponde a: 32 + 0 + 0 + 4 + 2 + 1, equivalente ao número 39 na base decimal. Os valores binários são usualmente precedidos pelo prefixo “0b” para identificá-los como binários, diferente dos números decimais. Ilustrando graficamente o número 11010112 para melhor exemplificar: Fonte: o autor Outras bases de numeração Entre as bases diferentes da 10, consideremos apenas as bases 2 e potência de 2, visto que todo computador digital representa internamente as informações em algarismos binários, ou seja, trabalha na base 2. Como os números representados em base 2 são muito extensos (quanto menor a base de numeração maior é a quantidade de algarismos necessários FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 49 para indicar um valor) e, portanto, de difícil manipulação visual, costuma-se representar externamente os valores binários em outra base de valor mais elevado. Isso permite maior compactação de algarismos e melhor visualização dos valores. Em geral, usam-se as bases octal e hexadecimal, em vez da base decimal, por ser mais simples e rápido converter valores binários (base 2) para valores em bases múltiplas de 2. A notação hexadecimal, na qual cada dígito tem 16 valores possíveis, é frequentemente utilizada para representar números binários. Na notação hexadecimal, os números de 0 a 9 têm o mesmo valor que na notação decimal, e as letras A até F (ou a até f – maiúsculas e minúsculas são irrelevantes na notação hexadecimal) são utilizadas para representar os números de 10 até 15 como indicado na tabela abaixo: Número decimal Representação Binária Representação Hexadecimal 0 0b0000 0x0 1 0b0001 0x 1 2 0b0010 0x 2 3 0b0011 0x 3 4 0b0100 0x 4 5 0b0101 0x 5 6 0b0110 0x 6 7 0b0111 0x 7 8 0b1000 0x 8 9 0b1001 0x 9 10 0b1010 0x A 11 0b1011 0x B 12 0b1100 0x C 13 0b1101 0x D 14 0b1110 0x E 15 0b1111 0x F Fonte: o autor 50 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Normalmente, para diferenciar números hexadecimais de números decimais ou números binários, emprega-se a notação “0x” colocada à esquerda do número. CONVERSÃO DE DECIMAL PARA BINÁRIO A conversão de sistemas numéricos pode ser realizada utilizando o método matemático da divisão. Esse método serve para conversão entre quaisquer sistemas de numeração. O método matemático consiste de divisões sucessivas pela base do sistema no qual será representado o valor, nesse caso como queremos converter um valor decimal para binário, o número utilizado para as divisões sucessivas será o 2 (base do sistema binário). A divisão com resto deve ser utilizada para se obter o resultado final. Fonte: o autor Verifique, conforme o exemplo acima, que a leitura vem do final do resultado obtido pelas FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 51 divisões até a primeira divisão efetuada, encontrando-se então o valor referenciado no sistema numérico a que se referia a conversão. Uma outra maneira de fazermos a conversão pode ser realizada por meio da montagem de uma tabela, com seus valores já convertidos na base, por exemplo, para montarmos uma tabela de conversão para o sistema numérico binário, que utiliza a base 2, teríamos uma tabela, como o exemplo abaixo: Fonte: o autor Encontrando agora o valor máximo que pode ser subtraído no número decimal que se quer converter com a tabela, basta marcar com 1 o valor correspondente e assim sucessivamente, até zerar a subtração. Completar com 0 (zero) as colunas da tabela que não foram preenchidas com 1, e pronto, podemos obter o número correspondente à conversão em binário (111000101002). 52 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância CONVERSÃO HEXADECIMAL PARA BINÁRIO Muito utilizado na informática por ser “uma conciliação razoável entre o que está mais próximo do equipamento e o que é prático para as pessoas utilizarem”. Cada dígito hexadecimal corresponde a um conjunto de quatro dígitos binários. Portanto, para converter a representação hexadecimal 2BC16 para o sistema numérico binário, cada dígito do hexadecimal deve ser convertido para binário separadamente (lembrando que cada dígito hexadecimal corresponde a 4 dígitos binários), temos o seguinte valor: 216 (hexadecimal) corresponde a 210 (decimal) -> 00102 (binário) B16 (hexadecimal) corresponde a 1110 (decimal) -> 10112 (binário) C16 (hexadecimal) corresponde a 1210 (decimal) -> 11002 (binário) Fonte: o autor Agrupando todos os números binários encontrados, chegamos ao número convertido 0010101111002. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 53 CONVERSÃO BINÁRIO PARA HEXADECIMAL Tendo o número Binário, basta agrupá-lo de 4 em 4 dígitos da direita para a esquerda, e utilizar a tabela de representação hexadecimal, ilustrada acima, para apresentar o sistema numérico hexadecimal. Na falta de dígitos à esquerda, completar com zeros; esse procedimento não alterará o valor representado. Por exemplo: converter o número 111000111002 para o seu correspondente hexadecimal. Fonte: o autor Usar a tabela para converter cada grupo de quatro dígitos binários para hexadecimal. CIRCUITOS LÓGICOS A vida está repleta de exemplos de circunstâncias em que se pode dizer que se está em um estado ou em outro. Por exemplo, uma luz está acesa ou apagada, uma porta está aberta ou fechada, agora está chovendo ou não. Em 1854, um matemático chamado George Boole escreveu “Uma Investigação das leis do pensamento”, em que ele descrevia o modo como se toma decisões lógicas com base em 54 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância circunstâncias verdadeiras ou falsas. O método que ele descreveu é conhecido como lógica booleana. A lógica booleana usa símbolos para representar uma expressão lógica que possui um de dois valores possíveis: verdadeiro ou falso. A expressão lógica pode ser a porta está fechada, o botão está pressionado ou o nível do combustível está baixo. A principal utilidade dessas expressões lógicas é descrever o relacionamento entre as saídas dos circuitos lógico (as decisões) e as entradas (as circunstâncias). As portas lógicas, que estaremos estudando, são circuitos lógicos mais básicos, sendo estes os blocos fundamentais a partir dos quais outros circuitos lógicos e sistemas digitais são construídos. Constantes e Variáveis Booleanas A principal diferença entre a álgebra booleana e a convencional é que, na booleana, as constantes e variáveis podem ter apenas dois valores possíveis, 0 ou 1. As variáveis booleanas 0 e 1 não representam efetivamente números, mas o estado do nível de tensão de uma variável, o qual é denominada nível lógico. A álgebra booleana é um modo de expressar a relação entre as entradas e saídas de um circuito lógico. As entradas são consideradas variáveis lógicas, cujo nível lógico determina a qualquer momento os níveis das saídas. Como os valores possíveis de uma variável são apenas dois, a álgebra booleana é mais fácil de ser manipulada que a álgebra convencional. A álgebra booleana tem de fato apenas três operações básicas: OR (OU), AND (E) e NOT (NÃO). Essas operações básicas são denominadas operações lógicas. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 55 TABELA-VERDADE Uma tabela-verdade é uma técnica para descrever como a saída de um circuito lógico depende dos níveis lógicos presentes nas entradas do circuito. Fonte: o autor A figura acima ilustra uma tabela-verdade para um tipo de circuito lógico de duas entradas e relaciona todas as combinações possíveis para os níveis lógicos presentes nas entradas A e B com o correspondente nível lógico de saída. OPERAÇÃO OR (‘OU’) COM PORTA OR A operação OR é a primeira das três operações booleanas a ser estudada. Um exemplo dessa operação é a lâmpada interna de um veículo. A lâmpada dentro do veículo deve ser acionada se o interruptor for acionado OU (OR) se a porta do veículo for aberta. A letra ‘A’ pode ser utilizada para representar um interruptor acionado (verdadeiro ou falso) e a letra ‘B’, porta do veículo aberta (verdadeiro ou falso). A letra ‘x’ pode representar uma lâmpada acesa (verdadeiro ou falso). 56 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância A tabela-verdade na figura abaixo mostra o que acontece quando duas entradas lógicas, A e B, são combinadas usando uma operação OR para produzir a saída x. A tabela mostra que x será um nível lógico 1 para cada combinação de níveis de entradas em que uma ou mais entradas forem 1. O único caso em que x é um nível 0 acontece quando ambas as entradas são 0. Fonte: o autor Na expressão x = A+B, o sinal “+” não representa a adição convencional e sim a operação OR. PORTA OR Em circuitos digitais, uma porta OR é um circuito que tem duas ou mais entradas e cuja saída é igual à combinação das entradas por meio da operação OR. A figura abaixo mostra o símbolo lógico para uma porta OR de duas entradas. As entradas A e B são níveis lógicos de tensão, e a saída x é um nível lógico de tensão cujo valor é o resultado da operação OR entre A e B. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 57 Em outras palavras, a porta OR acima opera de modo que sua saída será ALTA (nível lógico 1) se a entrada A ou B ou ambas foram nível lógico 1. A saída de uma porta OR será nível BAIXO (nível lógico 0) apenas se todas as entradas forem nível 0. OPERAÇÃO AND (‘E’) COM PORTA AND A operação AND é a segunda operação booleana básica. Como exemplo do uso do lógico AND, considere um veículo que somente acionará a partida se o câmbio estiver posicionado na posição N (Neutro) AND (E) o cinto de segurança do motorista estiver posicionado corretamente. Digamos que a letra A representa câmbio na posição Neutro, e a letra B cinto de segurança do motorista na posição correta. A tabela-verdade abaixo mostra o que acontece quando duas entradas lógicas A e B são combinadas usando uma operação AND para gerar a saída x. Fonte: o autor A tabela mostra que x será nível lógico 1 apenas quando A e B forem 1. Para qualquer outro caso em que uma das entradas for 0, a saída será 0. Na expressão x = A.B, o sinal (.) representa a operação booleana AND; não é multiplicação. 58 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância PORTA AND O símbolo lógico para uma porta AND de duas entradas é mostrado na figura abaixo. A saída da porta AND é igual ao produto lógico AND das entradas, que é x=AB. Em outras palavras, a porta AND é um circuito que opera de modo que sua saída seja nível ALTO somente quando todas as entradas também o forem. Para todos os outros casos, a saída da porta AND é nível BAIXO. OPERAÇÃO NOT (‘NÃO’) OU INVERSÃO A operação NOT, também denominada INVERSÃO, é diferente das operações OR e AND pelo fato de poder ser realizada sobre uma única variável de entrada. Por exemplo, se a variável A for submetida à operação de inversão, o resultado de x pode ser expresso como: Ā. Em que a barra sobre o nome da variável representa a operação de inversão. Essa expressão é lida como “x é igual a A negado”, o “x é igual ao inverso de A” ou “x é igual ao complemento de A”. Circuito NOT (Inversor) A figura abaixo mostra o símbolo para o circuito NOT, mais comumente denominado INVERSOR. Esse circuito tem sempre apenas uma entrada, e seu nível lógico de saída é o oposto ao nível lógico de entrada. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 59 A figura mostra como um inversor afeta um sinal de entrada. Ele inverte (complementa) o sinal de entrada em todos os pontos da forma de onda, de maneira que se a entrada for 0, a saída é igual a 1, e vice-versa. Descrevendo Circuitos Lógicos Algebricamente Qualquer circuito lógico, independentemente de sua complexidade, pode ser descrito usandose as três operações booleanas básicas, porque as portas OR, AND e INVERSOR são os blocos fundamentais dos sistemas digitais. A expressão para a saída de uma porta AND é escrita assim: A.B (S1). Essa saída da porta AND está conectada em uma entrada da porta OR, cuja entrada é a C. A porta OR opera sobre as entradas de modo que a saída é uma soma lógica delas. Assim podemos expressar a saída da porta OR como x = A.B + C (essa expressão final poderia ser escrita como x = C + A.B, visto que não importa qual termo da soma lógica é escrito primeiro). Precedência de Operador Ocasionalmente, pode haver uma confusão em qual operação deve ser realizada primeiro em uma expressão. A expressão A.B + C pode ser interpretada de duas maneiras diferentes: (1) operação OR de A.B com C ou operação AND de A com a soma lógica de B + C. Para evitar essa confusão, deve ficar entendido que se uma expressão tiver operações AND 60 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância e OR, a operação AND é realizada primeiro, a menos que existam parênteses na expressão. Nesse caso, a operação dentro do parênteses é realizada primeiro. Essa regra para determinar a ordem das operações é a mesma usada na álgebra convencional. Circuitos com Inversores Lógicos Sempre que um INVERSOR estiver presente em um circuito lógico, a expressão para a saída do INVERSOR será igual à expressão de entrada com uma barra sobre ele. Conforme ilustra a figura abaixo. As saídas que tiverem somente a “bola” na sua ponta representam também o inversor, conforme a figura abaixo. Implementando Circuitos a partir de Expressões Booleanas Quando a operação de um circuito é definida como uma expressão booleana, podemos desenhar o diagrama do circuito lógico diretamente a partir da expressão. Por exemplo, se precisarmos de um circuito definido por x = A.B.C, saberemos imediatamente que precisamos de uma porta AND de três entradas. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 61 Se precisarmos de um circuito definido por x = , podemos usar uma porta OR de duas entradas com um inversor em uma das entradas. O mesmo raciocínio pode ser estendido para circuitos mais complexos. Suponha que desejemos construir um circuito cuja saída seja S=(A+B).C.(B+D). Essa expressão booleana nos diz que é necessário termos duas portas OR com duas entradas, (A+B) e (B+D); e uma porta AND com três entradas iguais. O circuito é ilustrado na figura abaixo. Circuitos Lógicos Combinacionais Quando o nível de saída desejado de um circuito lógico é dado para todas as condições de entradas possíveis, os resultados podem ser convenientemente apresentados em uma tabelaverdade. A expressão booleana para o circuito requerido pode então ser obtida a partir dessa tabela. Por exemplo, considere a tabela-verdade abaixo, nela é mostrada que um circuito tem duas 62 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância entradas A e B, e saída x. A tabela-verdade mostra que a saída x, será nível 1 apenas para o caso em que A = 1 e B = 0. A B x 0 0 0 0 1 0 1 0 1 1 1 0 A partir dessas informações, pode-se determinar o circuito lógico para a operação desejada. Ou seja, quando a entrada A for 1, e a entrada B for 0, ou seja, negada, o circuito lógico é acionado. Vamos a um exemplo prático, utilizando Circuito Lógico Combinacional: em uma banca de TCC há três pessoas que são escolhidas para avaliarem as apresentações de alunos. Os três avaliadores devem votar se o aluno está aprovado ou reprovado. Você foi contratado para automatizar esse sistema, inserindo botões nas mesas de cada avaliador. Caso o avaliador aprove o aluno, ele deverá pressionar o botão. Caso não aprove deverá manter o botão solto. Se um aluno for aprovado pela maioria dos avaliadores, uma lâmpada será acionada. Caso o aluno não seja aprovado, a lâmpada permanecerá desligada. O primeiro passo para obter o circuito é a construção da tabela-verdade, analisando o problema acima, temos 3 entradas, que são os botões, quando eles forem pressionados emitirão o sinal 1. A saída S será nível ALTO (1) , quando mais de uma entrada tiver sido pressionada, ao mesmo tempo, ou seja, a maioria para aprovação. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 63 A B C S 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Ao examinarmos a tabela-verdade, podemos verificar que as saídas em x podem ser apresentadas por meio da expressão: CONSIDERAÇÕES FINAIS Como vimos o hardware somente entende números. Desde o bit que é a menor unidade de informação até seus conjuntos (Byte e Hexadecimais). Conhecê-los e estudá-los é primordial para o entendimento de outras áreas como armazenamento de dados, localização de endereços de memória, comunicação entre os periféricos de Entradas e Saídas etc. A construção dos circuitos lógicos abre também um universo de possibilidades de operações combinacionais com as portas lógicas, gerando circuitos eletrônicos com alto poder de resolução de problemas e necessidades. 64 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância ATIVIDADE DE AUTOESTUDO 1. Crie o Circuito lógico para o exemplo do Circuito Combinacional, apresentado no final desta unidade. 2. Seu computador trabalha com 32 ou 64 bits? Quais são os ganhos se o seu computador for de 32 e for alterado para 64 bits? 3. Vimos que um Circuito Combinacional pode ser utilizado para atender às mais diversas necessidades. Crie um circuito para avisar que a luz do carro está ligada quando a chave do carro não está no contato, e que as portas do carro estão abertas quando a chave está no contato. 4. Crie um Circuito Combinacional para atender a uma necessidade sua ou da sua empresa. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 65 UNIDADE III COMPONENTES DE UM COMPUTADOR Professor Me. Aparecido Vilela Junior Objetivos de Aprendizagem • Estudar os componentes de Entradas e Saídas mais utilizados. • Compreender a comunicação entre os componentes de Entradas e Saídas por meio do barramento. • Entender os meios de Armazenamento Secundários. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade: • Componentes de um computador – Entrada e Saída • Barramentos e suas funções • Interrupções • Componentes de Entrada e Saída • Equipamentos de telecomunicações • Meios de Armazenamento (Discos, Fitas etc.) INTRODUÇÃO Olá, acadêmico. Quando falamos em computador e sua arquitetura, não podemos deixar de estudar os dispositivos de entrada e saída. Nesta unidade, estaremos analisando as formas de acesso de entradas às informações (as mais comuns), assim como, após o processamento, as suas saídas. Serão abordadas as interfaces de Entrada/Saídas conhecidas: Paralela, Serial e USB. Ao se tratar de Entradas e Saídas, serão também inserido nesta unidade os meios de armazenamento secundários e os equipamentos de telecomunicações, visto que estes dois complementam, pois as informações podem ser armazenadas (gravadas), ou transmitidas. COMPONENTES DE UM COMPUTADOR – ENTRADA E SAÍDA Além do processador e um conjunto de módulos de memória, o terceiro elemento-chave de um sistema de computação é um conjunto de módulos de E/S. Cada módulo se conecta ao barramento do sistema ou comutador central e controla um ou mais dispositivos periféricos. Para que possamos desfrutar da rapidez e flexibilidade de um computador, não basta sabermos que ele pode armazenar na memória os programas de dados que desejamos processar e nem que ele pode executar mais de um bilhão de instruções por segundo. É preciso que o programa que temos escrito em uma folha de papel e os dados que serão manipulados sejam inseridos no sistema, caractere por caractere, inclusive os espaços em branco entre os caracteres, os sinais de pontuação e os símbolos de operações matemáticas. Os projetistas de computadores têm a tendência de dirigir sua atenção primeiramente para o processador, depois para o sistema de memória e, por último, para o sistema de E/S. Isso FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 69 ocorre, em parte, porque os testes e as unidades de medição que têm sido utilizados para comparar sistemas de computadores são voltados para os tempos de execução de programa que efetuam cálculos intensivos, os quais não utilizam muito o sistema de E/S. Outro motivo é que algumas das técnicas utilizadas para implementar os sistemas de E/S dificultam melhorar o seu desempenho à mesma taxa pela qual o desempenho dos processadores tem melhorado. Um módulo de E/S não é simplesmente um conjunto de conectores mecânicos que conectam um dispositivo fisicamente ao barramento do sistema, mais do que isso, o módulo de E/S contém uma lógica para realizar uma função de comunicação entre o periférico e o barramento. Os sistemas de E/S podem ser divididos em dois componentes principais: os próprios dispositivos de E/S e as tecnologias usadas para fazer a interface dos dispositivos de E/S. Nesta unidade apresentaremos as duas divisões sendo que quanto aos dispositivos, devido a grande e enorme variedade, não conseguiremos abranger uma apresentação completa, apresentando uma visão geral de como são projetados e acessados, além de citarmos os mais comuns. BARRAMENTO Praticamente todos os componentes de um computador, como processadores, memórias, placas de vídeo e diversos outros, são conectados à placa-mãe a partir do que chamamos de barramento. Sem entrar em termos técnicos, ele é o encaixe de que cada peça precisa para funcionar corretamente. Há barramentos específicos para praticamente todos os componentes conectados ao sistema, geralmente em siglas muito conhecidas pelos usuários, mas que não são atreladas diretamente à função que realizam. 70 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Os primeiros computadores faziam acesso à sua memória principal por meio do barramento de E/S, ao invés de um barramento de memória distinto. Essa configuração reduzia o número de sinais indo para o processador ou computador, mas significou que a memória principal teve também que compartilhar a largura da banda disponível do barramento de E/S. Ao longo do tempo, os computadores evoluíram para conexões distintas, para a memória e para o barramento de E/S, de modo a aumentar a largura de banda. Atualmente, os barramentos distintos de memória e de E/S são utilizados para fazer a comunicação com o sistema de memória e o sistema de E/S. Esses barramentos comunicamse com o processador por meio de um módulo de comutação. Os barramentos fornecem uma especificação sobre como os dados e comandos são transferidos entre processador e os dispositivos de E/S e como diversos dispositivos competem pela utilização do barramento. Os sistemas que utilizam barramentos de E/S são muito flexíveis, permitindo que um sistema suporte muitos dispositivos de E/S diferentes e permite que estes dispositivos sejam mudados, à medida que as suas necessidades mudam. Acesso ao Barramento Cada tipo de barramento define um protocolo (PCI, SCSI etc.) sobre como os dispositivos podem acessar o barramento, quando esses dados podem ser enviados. Esse envio é controlado pela política de arbitramento, que é utilizada para decidir qual dispositivo pode acessar o barramento em um dado momento. A maioria dos barramentos permite que qualquer dispositivo sobre o barramento solicite o seu uso e tenha uma política para decidir qual dispositivo obtém o seu uso, se acontecer de mais de um dispositivo solicitar o acesso ao mesmo tempo (o que ocorre constantemente). A política de arbitragem dos barramentos pode estabelecer um ID para determinado dispositivo FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 71 e assim a prioridade pode ser estabelecida mediante um ID mais alto. Outra política de arbitragem utilizada é a de decidir qual dispositivo pode utilizar o barramento por meio do tempo de execução de uma operação. Alguns protocolos de barramentos podem estabelecer limites sobre o tempo que uma única operação pode demorar a ser completada, ajustado assim as solicitações e prioridades. Configurações do barramento de sistema e de frequência do núcleo para os processadores Intel, disponível em: <http://www.intel.com/support/pt/processors/sb/cs-030111.htm>. INTERRUPÇÕES É o mecanismo utilizado pela maioria dos processadores para tratar de um evento que a grande maioria dos dispositivos de E/S geram: os assíncronos – eventos que ocorrem em intervalos que o processador não pode prever ou controlar, mas aos quais o processador precisa responder com razoável rapidez para fornecer um desempenho aceitável. Por exemplo: o teclado – o processador não pode prever quando o usuário pressionará uma tecla, mas precisa reagir ao pressionar da tecla em um tempo de resposta muito baixo (menos de 1 segundo) ou o tempo de resposta será notado pelo usuário. As interrupções então permitem que os dispositivos solicitem que o processador pare o que está fazendo no momento e execute um software para processar a solicitação do dispositivo. As interrupções também são utilizadas quando o processador precisa executar uma operação 72 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância de longa duração em algum dispositivo de E/S e quer ser capaz de fazer outro trabalho, enquanto espera que a operação seja completada. Como são implementadas as interrupções Para implementar interrupções, o processador designa um sinal conhecido como uma linha de solicitação de interrupção para cada dispositivo que pode emitir uma interrupção. A cada dispositivo também é designado uma linha de reconhecimento de interrupção que o processador utiliza para sinalizar ao dispositivo que ele recebe e começou a processar a solicitação de interrupção. POLLING O polling é uma alternativa para o uso de interrupções com dispositivos de E/S. No polling, o processador verifica periodicamente cada um dos seus dispositivos de E/S para verificar se quaisquer deles têm uma solicitação que precisa ser tratada. Utilizar o polling, em vez de interrupções, pode fornecer vantagens de desempenho se o processador não tiver nenhum outro trabalho que ele possa estar fazendo, enquanto as operações de E/S estão em andamento. O polling apresenta desvantagens, o que torna as Interrupções a opção preferida. a)O polling consome recursos de processamento, mesmo quando não há solicitações de E/S esperando. b) Os sistemas que utilizam polling exigem que o software que está sendo executado no processador (seja o sistema operacional, seja o programa do usuário) efetue a sondagem. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 73 Mapeamento em Memória das E/S Para utilizar o sistema de E/S, o processador precisa ser capaz de enviar comandos para os dispositivos de E/S e ler dados a partir deles. Para a maioria dos sistemas, é utilizado o mecanismo da E/S mapeada em memória. Na E/S mapeada em memória, os registradores de comando (também chamados registradores de controle) de cada dispositivo de E/S aparecem para o programador como se fossem posições de memória. INTERFACES Interface Paralela Em relação aos computadores, sabemos que ele possui saídas e entradas. A Porta Paralela nada mais é do que um dispositivo de entrada e saída paralelo. Transmitir de forma paralela é transmitir vários bits ao mesmo tempo. Em uma primeira impressão, a transmissão paralela pode parecer a mais apropriada. Porém, não podemos esquecer do conceito de multiplexação (baseada no fato de comutar vários bits de forma rápida transmitidos por um único fio, ou seja, de forma serial). A porta paralela, por não possuir uma alta velocidade de transmissão, tem, atualmente, sua aplicação limitada a impressoras e scanners. Atualmente, em caso de transmissões rápidas, se utiliza a interface USB (Universal Serial Bus), que atinge taxas de transmissão bem maiores. Na comunicação em paralelo, grupos de bits são transferidos simultaneamente (em geral, byte a byte) por meio de diversas linhas condutoras dos sinais. Desta forma, como vários bits são 74 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância transmitidos simultaneamente a cada ciclo, a taxa de transferência de dados (“throughput”) é alta. Fonte: <http://wwwusers.rdc.puc-rio.br/rmano/comparal.gif> No entanto, o processo de transferência em paralelo envolve um controle sofisticado e é razoavelmente complexo, o que o torna mais caro. Um dos problemas importantes diz respeito à propagação dos sinais no meio físico, isto é, no cabo de conexão entre o dispositivo e a interface. Essa propagação deve se fazer de modo que os sinais (os bits) correspondentes a cada byte cheguem simultaneamente à extremidade oposta do cabo, onde então serão reagrupados em bytes. Interface Serial Como o nome indica, é transmitir em série, ou seja, um bit após o outro. Os bytes a serem transmitidos são serializados, isto é, são “desmontados” bit a bit, e são individualmente transmitidos, um a um. Na outra extremidade do condutor, os bits são contados e, quando formam 8 bits, são remontados, reconstituindo os bytes originais. Nesse modo, o controle é comparativamente muito mais simples que no modo paralelo e é de FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 75 implementação mais barata. Como todos os bits são transferidos pelo mesmo meio físico (mesmo par de fios), as eventuais irregularidades afetam todos os bits igualmente. Portanto, a transmissão serial não é afetada por irregularidades do meio de transmissão. No entanto, a transmissão serial é intrinsecamente mais lenta (de vez que apenas um bit é transmitido de cada vez). Fonte: <http://wwwusers.rdc.puc-rio.br/rmano/comserie.gif> Interface USB USB é a sigla para Universal Serial Bus. Trata-se de uma tecnologia que tornou mais simples, fácil e rápida a conexão de diversos tipos de aparelhos (câmeras digitais, HDs externos, pen drives, mouses, teclados, MP3-players, impressoras, scanners, leitor de cartões etc.) ao computador, evitando assim o uso de um tipo específico de conector para cada dispositivo. Em 1995, um conjunto de empresas – entre elas, Microsoft, Intel, NEC, IBM e Apple – formaram um consórcio para estabelecer um padrão que facilitasse a conexão de dispositivos ao computador. Pouco tempo depois disso, as primeiras especificações comerciais do que ficou conhecido como Universal Serial Bus (USB) surgiram. 76 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Para saber mais sobre a USB e como ela foi criada, este fórum foi o primeiro criado pelas empresas para a troca de informações e consolidação para a criação comercial da interface USB. <http://www.usb.org/home> O barramento USB pode ser utilizado para prover energia elétrica a determinados dispositivos. Para que isso seja possível, os cabos USB contam com quatro fios internos: VBus (VCC), D+, D- e GND. O primeiro é o responsável pela alimentação elétrica. O segundo e o terceiro são utilizados na transmissão de dados (a letra “D” provém de data, dado em inglês). O quarto, por sua vez, é para controle elétrico, servindo como “fio-terra”. Os cabos USB devem ter, no máximo, 5 metros de comprimento. Isso é necessário porque, em cabos maiores, o tempo de transmissão dos dados pode exceder o limite de 1500 nanossegundos. Quando isso ocorre, a informação é considerada perdida. Vantagens do padrão USB Um dos principais motivos que levou à criação da tecnologia USB é a necessidade de facilitar a conexão de variados dispositivos ao computador. Sendo assim, o USB oferece uma série de vantagens: - Padrão de conexão:qualquerdispositivocompatívelcomoUSBusapadrõesdefinidosde conexão. - Plug and play: quase todos os dispositivos USB são concebidos para serem conectados ao computador e utilizados logo em seguida. - Alimentaçãoelétrica: a maioria dos dispositivos que usam USB não precisa ser ligada a uma fonte de energia, já que a própria conexão USB é capaz de fornecer eletricidade. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 77 - Conexãodeváriosaparelhosaomesmotempo: é possível conectar até 127 dispositivos ao mesmo tempo em uma única porta USB. - Ampla compatibilidade: o padrão USB é compatível com diversas plataformas e sistemas operacionais. O Windows, por exemplo, o suporta desde a versão 98. Sistemas operacionais Linux e Mac também são compatíveis. Atualmente, é possível encontrar portas USB em vários outros aparelhos, como televisores, sistemas de comunicação de carros e até aparelhos de som. Com a popularização de tecnologias de comunicação sem fio, como Bluetooth e Wi-Fi, há quem questione o futuro do USB, uma vez que a tendência é a de que todos os dispositivos passem a se comunicar sem o uso de cabos. DISPOSITIVOS DE E/S Existe um número enorme de dispositivos de E/S para os sistemas de computadores atuais, os quais podem ser divididos genericamente em categorias: • Dispositivos que recebem dados. • Recebem entrada de dados diretamente do usuário, como teclados e mouse, tendem a ter exigências relativamente baixas de largura de banda, mas exigem respostas imediatas. • 78 Dispositivos que apresentam saída de dados FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância • Dispositivos como placas de vídeo, impressoras e placas de som podem exigir uma quantidade significativa de largura de banda de saída, mas pouca largura de banda de entrada. • Dispositivos que interagem com outras máquinas. • Dispositivos como drivers de disco, CD-ROMs, interfaces de rede e assim por diante, frequentemente precisam de larguras de banda altas em ambas as direções e baixo tempo de resposta do processador para que possam atingir seu desempenho de pico. Compreender as necessidades de diferentes dispositivos de E/S é fundamental para obter um melhor desempenho geral do sistema. Terminais Terminais de computador consistem em duas partes: um teclado e um monitor. No mundo dos mainframes, essas partes costumam ser integradas em um único dispositivo ligado ao computador principal por uma linha serial ou por uma linha telefônica. Nos setores de reserva de passagens aéreas e bancário e em outros setores que usam mainframes, esses dispositivos ainda têm ampla utilização. No mundo dos computadores pessoais, o teclado e o monitor são dispositivos independentes. Qualquer que seja o caso, a tecnologia das duas partes é a mesma. Teclados Fonte: SHUTTERSTOCK.COM FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 79 Há uma grande variedade de teclados. O IBM PC original vinha com um teclado munido de um contato mecânico sob cada tecla, que dava retorno tátil e emitia um clique quando a tecla era apertada corretamente. Hoje, os teclados mais baratos têm teclas que fazem apenas contato mecânico quando acionados. Os melhores têm uma lâmina de material elastomérico – espécie de uma borracha – entre as teclas e a placa de circuito impresso que está por baixo. Hoje, com o advento das portas USB, temos teclados “sem fio”. Monitor CRT Fonte: SHUTTERSTOCK.COM Um monitor é uma caixa que contém CRT (Cathode Ray Tube – tubo de raios catódicos). O CRT contém um canhão que pode emitir um feixe de elétrons contra uma tela fosforescente próxima a parte frontal do tubo. Monitores de Tela Plana (LCD) Fonte: SHUTTERSTOCK.COM CRTs são muito volumosos e pesados para serem usados, principalmente em notebook (já pensou no peso?), portanto era preciso uma tecnologia completamente diferente para suas telas. A mais comum é a tecnologia LCD (Liquid Crystal Display – monitor de cristal líquido). 80 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância É uma tecnologia de alta complexidade, tem muitas variações e está mudando rapidamente. Uma tela de monitor de LCD consiste em duas placas de vídeo paralelas entre as quais há um volume selado que contém um cristal líquido. Monitor LED Fonte: SHUTTERSTOCK.COM Como toda a computação, nem bem nos acostumamos com as telas planas de LCD e a evolução chega com os LEDs (Light Emiting Diode – diodo emissor de luz) que nos oferecem uma taxa de contraste jamais vista. Milhares de microlâmpadas ficam posicionadas nas bordas, iluminando uma placa transparente, cheia de ranhuras. Essas ranhuras são responsáveis por dissipar a luz emitida pelos LEDs. A tela de gel que forma a imagem e o sistema de abertura ou fechamento de microportinhas são idênticos ao de LCD, a diferença é que você tem muito menos luz emitida pelo monitor se comparado aos painéis LCD, isso proporciona uma taxa de contraste infinitamente superior, em alguns casos, chega a proporção de 5.000.000:1 (5 milhões por 1), enquanto os monitores de LCD chegam no máximo a 60.000:1. A economia de energia também é grande, cerca de 40%. Monitor 3D Fonte: SHUTTERSTOCK.COM O 3D nada mais é do que imagens de duas dimensões (altura e largura) elaboradas e FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 81 posicionadas de forma que parecem imagens de três dimensões. Para enxergar o efeito 3D, é necessário fazer o uso de óculos especiais. São eles que vão transmitir uma imagem diferente para cada olho, alterando o ângulo das imagens e fazendo com que o cérebro crie uma ilusão de profundidade. Utilizam os monitores de LCD/LED, o mecanismo e os óculos fazem com que o monitor exiba a imagem em 3D. Os óculos não podem faltar e são fundamentais para que a tecnologia funcione bem, se você olhar a olho nu diretamente para a tela, a imagem vai ficar embaçada, com os óculos eles vão deixar a imagem nítida e, obtendo o efeito esperado. Fonte: <http://supermouser.com.br/blog/noticias/como-funciona-a-tecnologia-3d/> 82 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Mouse Fonte: SHUTTERSTOCK.COM À medida que o tempo passa, os computadores estão sendo usados por pessoas menos versadas sobre o modo do funcionamento dos computadores. Computadores da geração ENIAC eram usados somente por pessoas que os construíram. Antigamente, a maioria dos computadores tinha interfaces de linha de comando, para os quais os usuários digitavam comandos, o que dificultava para quem não conhecia os comandos. Uma interface amigável foi construída, com o advento de apontar e clicar. E o meio mais comum para que o usuário apontasse algo na tela era o mouse (agora com as construções dos tablets e smartphones, estamos na era do touch-screen, ou seja, só precisamos tocar na tela). O mouse pode apresentar 2 tipos: Mouses mecânicos: possuíam duas rodinhas, ou esferas. Mouses óticos: possui um LED e um fotodetector na parte de baixo. Impressoras Fonte: SHUTTERSTOCK.COM FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 83 Após o usuário preparar um documento ou buscar uma página na WEB, muitas vezes quer imprimir seu trabalho, portanto, todos os computadores podem ser equipados com uma impressora. Impressora Matricial Fonte: SHUTTERSTOCK.COM É o tipo mais barato de impressora, na qual um cabeçote de impressão que contém entre 7 e 24 agulhas ativadas eletromagneticamente varre cada linha de impressão. Impressoras matriciais são baratas, em especial no que se refere a materiais de consumo e muito confiáveis, porém são lentas, ruidosas e de má qualidade gráfica. São muito utilizadas para imprimir formulários grandes, imprimir em tiras de papel de pequenas dimensões (recibos de caixas) e também a impressão de formulários contínuos. Impressoras Jato de Tinta São as favoritas para uso doméstico de preço baixo. O cabeçote de impressão móvel, com seu cartucho de tinta, movimenta-se sobre o papel preso a uma correia, enquanto a tinta é injetada no papel por meio de seus pequeníssimos bicos. 84 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Ovolumedecargadasgotículasdetintadeumaimpressoraédeumpicolitro,oquesignificaque100 milhões delas caberiam muito bem em um único pingo d’água. Impressoras a Laser Combina uma imagem de alta qualidade, excelente flexibilidade, grande velocidade e custo moderado em um único periférico. Impressoras a laser utilizam a mesma tecnologia das máquinas fotocopiadoras. Na verdade, muitas empresas fabricam equipamentos que combinam cópia e impressão (quando não com fax junto). EQUIPAMENTOS DE TELECOMUNICAÇÕES Modem Com o crescimento da utilização de computadores nos últimos anos, é comum que um computador precisasse se comunicar com outro. A comunicação era realizada por uma linha telefônica com uma provedora de Internet (ISP – Internet Service Provider). Uma linha telefônica não é adequada para transmissão de sinais de computador (lembra que ele representa 0 e 1?). O modem é um Hardware que pode ser instalado no interior do gabinete ou externamente (logo, torna-se um periférico). Seu nome vem de Modulador e Demodulador de sinais, ou seja, transforma tipos de sinais para o tráfego de dados. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 85 ADSL Fonte: SHUTTERSTOCK.COM O modem ADSL (Asymmetric Digital Subscriber Lines – Linhas digitais de Assinante Assimétricas) é um processador digital que foi montado para agir como 250 modems funcionando em paralelo e frequências diferentes. Uma vez que a maioria dos modems ADSL é externa, o computador deve estar conectado a ele a alta velocidade. A conexão é com uma placa Ethernet (padrão de rede local, popular e barato) no computador. Ocasionalmente, utiliza-se a porta USB em vez da Ethernet. Tecnologia 3G A tecnologia 3G, para chegar até ela, tivemos que passar pela primeira que não foi tratada popularmente de 1G, mas que significa a primeira geração de telefones móveis analógicos, utilizados para enviar e receber voz com qualidade desejável, (alguns se lembram dos cortes que eram dados em determinados momentos). No início da década de 90, a telefonia móvel passa por algumas mudanças, o que podemos chamar de 2G, surgem os protocolos GSM, TDMA, CDMA, protocolos esses que permitiam os serviços de SMS, melhoraram a maneira como os dados eram enviados e recebidos, ou seja, uma telefonia móvel de melhor qualidade. Em 2003, surge a tecnologia 3G. Esta, enquanto era desenvolvida, tinha em paralelo o 86 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância desenvolvimento das redes sem fio (wireless). Esta, além da qualidade de comunicação da telefonia móvel, permite acesso à internet, videoconferência, TV, GPS, e-mail, além do suporte maior a dados e voz. A tecnologia 4G, deverá ser totalmente via IP, com isso, teremos total interação entre as redes de computadores, redes sem fio e celulares. Câmeras Digitais Fonte: SHUTTERSTOCK.COM Uma utilização cada vez mais popular é a fotografia digital, o que transforma câmeras digitais em uma espécie de periféricos de computadores. ARMAZENAMENTO SECUNDÁRIO Seja qual for o tamanho da memória principal, ela sempre será muito pequena. As pessoas sempre querem armazenar mais informações do que a memória pode conter principalmente porque, à medida que a tecnologia melhora, elas começam a pensar em armazenar mais coisas que antes estavam inteiramente no reino da ficção científica. A solução para armazenar grandes quantidades de dados é uma hierarquia de memória. A memória de massa ou memória secundária é utilizada para gravar grande quantidade de dados que, assim, não são perdidos com o desligamento do computador. Como em geral a memória secundária não é acessada diretamente pela ULA, mas por FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 87 dispositivos de entrada e saída, o acesso a essa memória é muito mais lento do que o acesso à memória primária. Assim, cada dispositivo encontra-se com um buffer de escrita e leitura para melhorar o desempenho. Discos Magnéticos Discos rígidos são um dos componentes mais importantes de sistemas de E/S com relação ao desempenho. Além de dar suporte à memória virtual, eles são utilizados para o armazenamento permanente de dados. Os discos flexíveis são utilizados para transferir pequenas quantidades de dados de um computador para outro. A capacidade de dados típica de um disco de 3,5 polegadas é de 1,44 MByte, enquanto os discos rígidos estão hoje ultrapassando a capacidade de TBybes (TeraBytes). Discos flexíveis foram utilizados durante cerca de 20 anos, mas os computadores modernos geralmente são vendidos sem eles. Os discos flexíveis hoje são muito bem representados pelos dispositivos USB (mais tarde os descreveremos). Discos Rígidos Fonte: <http://www.guiadohardware.net/tutoriais/disco-rigido/> 88 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Um disco rígido é tipicamente constituído de diversos pratos, superfícies planas nas quais são armazenados os dados. Cada prato tem seu próprio cabeçote de leitura/escrita, permitindo que dados em pratos diferentes sejam acessados em paralelo. Em cada prato, os dados são organizados em trilhas (anéis concêntricos) e setores (partes de um anel). Em um disco rígido, cada setor contém a mesma quantidade de dados. Nos discos rígidos mais antigos, cada trilha continha o mesmo número de setores. Isso facilitava o controle do dispositivo. Os discos mais recentes armazenam os dados de forma diferente, mantendo quase constante a densidade na qual os bits são escritos e variando o número de setores armazenados em cada trilha, de modo que as trilhas mais distantes do centro do disco contêm mais dados. O tempo para completar uma operação de leitura ou escrita em um disco pode ser dividido em três partes: • O tempo de posicionamento (seek) Tempo de demora para mover o cabeçote de leitura/escrita da trilha onde ela está naquele momento até onde estão os dados solicitados. • A latência rotacional Tempo necessário para que o início do setor solicitado chegue sob o cabeçote o tempo de transferência. • Tempo que demora para ler ou escrever o setor. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 89 Se um disco gira a 10.000 RPM (rotações por minuto) e uma trilha tem 1024 setores, uma rotação do disco demora 6ms para ser completada. O tempo de transferência de um setor é igual ao tempo de rotação do disco dividido por 1024 ou, aproximadamente, 6 microssegundos. Discos IDE Fonte: SHUTTERSTOCK.COM A tecnologia evoluiu rapidamente e passou do controlador em uma placa separada para o controlador integrado com os drives, começando com drives IDE (Integration Drive Eletronics – eletrônica de drives integrados) em meados da década de 1980. Discos SCSI Os discos SCSI (Small Computer System Interface – interface para sistemas computacionais pequenos) não são diferentes de discos IDE em relação ao modo como seus cilindros, trilhas e setores são organizados, mas têm uma interface diferente e taxas de transferência muito mais elevadas. O SCSI é mais do que apenas uma interface de disco rígido é um barramento ao qual podem ser conectados um controlador SCSI e até sete dispositivos (um ou mais discos rígidos SCSI, CD-ROM, gravadores de CD, scanners, unidades de fita e outros periféricos SCSI). 90 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância RAID Fonte: SHUTTERSTOCK.COM O desempenho da CPU vem aumentando exponencialmente na última década e dobra aproximadamente a cada 18 meses. O mesmo não acontece com o desempenho do disco. Para isso, Patterson et al. (1988) sugeriram seis organizações diferentes que poderiam ser utilizadas para melhorar o desempenho, originando assim uma nova classe de dispositivos, o RAID (Redundant Array of Independent Disks – arranjo redundante de discos baratos). A ideia fundamental de um RAID é instalar uma caixa cheia de discos próxima ao computador, em geral, um grande servidor, substituir a placa do controlador de disco por um controlador RAID, copiar os dados para o RAID e então continuar a execução normal. CD-ROMs Fonte: SHUTTERSTOCK.COM A primeira geração de discos óticos foi inventada pela Philips, em 1980. Discos óticos foram desenvolvidos na sua forma inicial para gravar programas de televisão, mas foram utilizados para a função de dispositivos de armazenamento para computadores, FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 91 ocasionados pela sua grande capacidade e baixo preço são muito utilizados para distribuir softwares, livros, filmes e dados de todos os tipos, bem como para fazer back-up de discos rígidos. O sistema de arquivos tem três níveis. O nível 1 usa nomes de arquivo de até 8 caracteres que têm a opção de ser ou não seguidos de uma extensão de até 3 caracteres (a convenção de nomeação de arquivos MS-DOS), sendo alterado a partir do nível 2 para 32 caracteres, e o nível 3 permite nomes muito longos. CD graváveis De início, o equipamento necessário para produzir um CD-ROM mestre ou (CD de áudio) era muito caro. Como sempre na indústria de computadores, com o tempo e com a produção em série por diversos fabricantes, o custo vai caindo. A partir da década de 90 os gravadores de CD tornam-se mais populares e acessíveis, mesmo possuindo uma crítica diferença em relação aos discos magnéticos (permitiam regravações), pois uma vez gravados não podiam ser apagados. Ainda assim, a realização do backup de grandes discos rígidos foi o nicho encontrado. Esses drives são conhecidos como CDRs (CD-Recordables – CDs graváveis). CDs Regraváveis Embora todos estejam acostumados com mídias que aceitam apenas uma escrita, existe uma demanda para CD-ROMs regraváveis, tecnologia disponível que ficou conhecida como CDRW (CD-ReWritable), que usa um meio do mesmo tamanho do CDR. O que muda é a sua composição, ao invés de corantes cianina usa uma liga de prata. Essa liga tem dois estados estáveis: cristalino e amorfo, com diferentes refletividades. O principal motivo para a não substituição dos CD-ROMs são o seu custo, que é mais caro e as aplicações de backup de discos rígidos que garante que o fato de que uma vez escrito, o 92 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância CD não pode ser apagado acidentalmente. DVD Fonte: SHUTTERSTOCK.COM O formato básico do CD/CD-ROM está na praça desde 1980, com a melhora da tecnologia, os discos óticos de capacidade mais alta são economicamente viáveis e há uma grande demanda por eles. Na época, as grandes produtoras de filmes possuíam a necessidade de trocar suas fitas analógicas de vídeo por discos digitais, buscando uma qualidade melhor, facilidade de fabricação, durabilidade e que não necessitassem ser rebobinados. Essa combinação tecnológica e a demanda das indústrias resultaram no DVD (Digital Versatile Disk – disco versátil digital). Usa o mesmo desenho geral dos CDs, com algumas novidades, entre elas uma espiral mais apertada. Foram definidos quatro formatos de DVDs: 1- Uma face, uma camada (4,7 GB) é o mais comum comercializado. 2- Uma face, duas camadas (8,5 GB) é o mais comum utilizado pelas indústrias cinematográficas. 3- Duas faces, uma camada (9,4 GB). 4- Duas faces, duas camadas (17 GB). Os formatos criados foram mais políticos entre os fabricantes e as indústrias, em que a FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 93 conciliação foi a criação de todos os formatos, sendo que o mercado é que determina qual sobrevive. A incompatibilidade existente entre discos destinados ao EUA, Europa e demais continentes foi porque Hollywoodexigiuessacaracterística,porquefilmesnovossãosemprelançadosantesnosEUAedepois despachados para o mundo. A ideia era que as locadoras de vídeo não pudessem comprar vídeos dosEUA,oquereduziriaasreceitasdefilmesnovosnoscinemasdaEuropaeoutroscontinentes. Blu-Ray Fonte: SHUTTERSTOCK.COM O DVD mal acabou de ser lançado e seu sucessor já ameaçava. O sucessor do DVD é o Blu-Ray (raio azul), chamado assim porque um laser azul, que tem o comprimento de onda mais curto, permite um foco mais preciso, em vez do vermelho utilizado pelos DVDs. Discos Blu-Ray de uma face contêm cerca de 25GB de dados; os de dupla face contêm cerca de 50GB. Espera-se que com o tempo o Blu-Ray substitua os CD-ROMs e DVDs, mas essa transição ainda levará alguns anos. 94 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância HVD – Holographic Versatile Disc Fonte: <http://ibxk.com.br/materias/artHVDdicholo3.jpg> Holographic Versatile Disc ou HVD é a próxima tecnologia de discos ópticos que promete suceder o Blu-Ray e o HD-DVD. As vantagens deste disco é a sua capacidade, incríveis 3.9 TBs, que podem ser lidos a uma velocidade de 1 Gbps. O disco é composto por duas camadas, que são acedidas por meio de dois lasers, um verde-azulado (532 nm) e outro vermelho (650 nm). A primeira camada, a acedida pelo laser verde, contém a informação propriamente dita, já a segunda camada contém um índice dos arquivos (ou dos seus segmentos) e a sua posição na camada de dados, o que permite poupar espaço e tem um ganho bastante significativo na velocidade de leitura. Ultimamente, referente ao HD-DVD, Blu-Ray, DVD e ao CD, andamos tentando compactar memória com lasers menores, linhas de leitura em verticais, e também com camadas e duplas-faces. A vantagem da Tecnologia Holográfica é que, ao contrário das mídias citadas anteriormente, que marcam cada ponto como um bit, ela pode marcar vários bits no mesmo ponto por meio de “queima por ângulos”. Memória Flash (pen drive) Consiste em um chip que, diferente da RAM, não é volátil e mantém sua memória quando desligada a energia. São dispositivos pequenos que podem ser facilmente modificados e FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 95 reprogramados, tornando-os populares na atualidade. Memória Flash é uma memória de computador do tipo EEPROM que permite que múltiplos endereços sejam apagados ou escritos em uma só operação. Em termos leigos, trata-se de um chip reescrevível que, ao contrário de uma RAM, preserva o seu conteúdo sem a necessidade de fonte de alimentação. Esta memória é comumente usada em cartões de memória drives flash, USB e em iPod. Também vem começando a ser chamado de disco sólido pelo grande futuro que tem pela frente, já que além de ser muito mais resistente que os discos rígidos atuais, apresenta menor consumo, maiores taxas de transferência, latências e peso muito mais baixos. Chega a utilizar apenas 5% dos recursos normalmente empregados na alimentação de discos rígidos. Já é utilizado em notebooks, o que será expandido para a versão desktop nos próximos 5 anos. Memória USB Flash Drive Fonte: SHUTTERSTOCK.COM Também designado como Pen Drive, é um dispositivo de armazenamento constituído por uma memória flash tendo uma fisionomia semelhante à de um isqueiro ou chaveiro e uma ligação USB tipo A permitindo a sua conexão a uma porta USB de um computador. As capacidades atuais de armazenamento são 64 MB, 128 MB, 256 MB, 512 MB, 1 GB a 64 GB. A velocidade de transferência de dados pode variar dependendo do tipo de entrada: USB 1.1: 1,5 a 12 Mbits/s. USB 2.0: apesar do USB 2.0 poder transferir dados até 480 Mbit/s, o flash drive está limitado pela largura de banda da memória nela contida, com uma velocidade máxima real de, 96 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância aproximadamente, 100 Mbits/s. Existem, normalmente, três partes de um drive flash: • O Conector USB macho do tipo A – interface com o computador. • O Controlador USB Mass Storage – acede à memória flash. • O NAND flash – armazena a informação. Oscilador de cristal – produz um sinal de relógio com 12 MHz, que é usado para ler ou enviar dados a cada pulso. Componentes opcionais Alguns drivers podem também incluir: • Jumpers e pinos de teste – para testes durante a sua produção. • LEDs – que indicam quando se está a ler ou a escrever no drive. • Interruptor de modo de escrita – para que não se possa apagar algo do dispositivo. Cartão de memória Fonte: SHUTTERSTOCK.COM Cartão de memória ou cartão de memória flash é um dispositivo de armazenamento de dados com memória flash utilizado em videogames, câmeras digitais, telefones celulares, palms/ PDAs, MP3 players, computadores e outros aparelhos eletrônicos. Podem ser regravados várias vezes, não necessitam de eletricidade para manter os dados armazenados, são portáteis FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 97 e suportam condições de uso e armazenamento mais rigorosos que outros dispositivos baseados em peças móveis. CONSIDERAÇÕES FINAIS Nesta unidade, estudamos os principais tipos de dispositivos de entrada e saída e também os meios de armazenamento. Verificamos que um sistema de E/S de um computador contém dispositivos de armazenamento de dados, dispositivos que recebem dados do mundo externo e dispositivos que transmitem dados para o mundo externo. Foram mostradas que as operações de E/S são realizadas por meio de uma grande variedade de dispositivos externos, que oferecem um meio de trocar dados entre o ambiente externo e o computador. Um dispositivo externo se conecta ao computador com uma conexão com módulo de E/S e o dispositivo externo. Um dispositivo externo conectado a um módulo de E/S normalmente é chamado de dispositivo periférico, ou simplesmente periférico. Com o estudo desta unidade, você já tem capacidade de analisar e até planejar o tipo de periférico/dispositivo mais adequado para o computador trabalhar com eficiência e resultado. ATIVIDADE DE AUTOESTUDO 1. Atualmente, as impressoras fiscais vêm com a interface USB, mas a sua grande maioria ainda trabalha com Interface Serial. Pesquise sobre essa mudança e, além das vantagens já citadas nesse material, quais outros benefícios ocorreram com a mudança de Interface? 2. Nas Interfaces Paralelas, dependendo do comprimento do cabo, pode ocorrer que um determinado fio conduza sinais mais rápidos (ou mais lento) que os demais fios e que desta forma um determinado bit x em cada byte se propague mais rápido. Quais os problemas que podem causar caso isso ocorra? 3. Qual o tipo de armazenamento secundário que seu computador trabalha? Defina suas características técnicas. 98 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 4. Qual o tipo de cartão de memória que seu computador pessoal/empresa possui? Qual você indicaria para um melhor custo/benefício? DE ROSE, César A. F.; NAVAUX, Philippe Olivier Alexandre. Arquiteturas paralelas. Porto Alegre: Bookman, 2008. 152 p. (Série Livros didáticos; 15) ISBN 9788577803095 MENDONÇA, Alexandre; ZELENOVSKY, Ricardo. Monte seu protótipo ISA controlado por FPGA. Rio de Janeiro: MZ, 2001. 107 p. PATTERSON, David; HENNESSY, John L.; VIEIRA, Daniel; JOÃO JUNIOR, Mario. Organização e projeto de computadores: a interface hardware/ software. 3. ed. Rio de Janeiro: Elsevier, 2005. 484 p. TANENBAUM, Andrew S. Organização estruturada de computadores. 5. ed. São Paulo: Pearson, 2010. 449 p. ISBN 978-85-7605-067-4 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 99 ZELENOVSKY, Ricardo; MENDONÇA, Alexandre. PC: um guia prático de hardware e interfaceamento. 3. ed. Rio de Janeiro: MZ, 2006. 1175 p. 100 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância UNIDADE IV POR DENTRO DO COMPUTADOR Professor Me. Aparecido Vilela Junior Objetivos de Aprendizagem • Estudar a Unidade Central de Processamento e suas características. • Compreender a forma de trabalho interna do hardware. • Entender o que significa o “clock” da máquina. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade: • Unidade Central de Processamento • Unidade de Controle e Unidade Lógica e Aritmética • Barramentos • Clock do Sistema • Placa-mãe (Motherboard) • Hierarquia de Memória INTRODUÇÃO Olá, caro(a) aluno(a). Quando falamos em hardware, há um mundo fechado e obscuro dentro daquela caixa (gabinete) que iremos desvendar agora, verificando suas atribuições, características e finalidades. Os computadores internamente são constituídos por circuitos eletrônicos, mas como é realizada a sua comunicação? Como ao conectar um teclado ou uma impressora é realizada a comunicação entre esses componentes? Como é realizado o processamento dos cálculos de uma planilha eletrônica? É sobre as questões acima e uma série de outras que fazemos que esta unidade que iremos estudar buscará atender, ou seja, o computador e sua forma de comunicação interna, a forma que as informações trafegam internamente, o que torna o desempenho do computador melhor, os tipos de memória e sua forma de processamento. Nesta unidade, iremos entender o funcionamento de um processador e dos componentes que auxiliam na sua performance: cache, registradores, barramentos. ORGANIZAÇÃO DO PROCESSADOR Para entender a organização do processador, vamos considerar os requisitos que lhe são exigidos: • Buscar Instruções: o Processador lê uma instrução da memória (registrador, cache, memória principal). • Interpretar Instruções: a execução de uma instrução pode requerer efetuar alguma FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 103 operação aritmética ou de E/S. • Processar os dados: a execução de uma instrução pode requerer efetuar alguma operação aritmética ou lógica com os dados. • Gravar os dados: os resultados de uma execução podem requerer gravar dados para a memória ou um módulo de E/S. Para fazer essas coisas, deve estar claro que o processador precisa armazenar alguns dados temporariamente. Ele deve lembrar a posição da última instrução executante para que possa saber onde obter a próxima instrução a ser executada. Em outras palavras, o computador precisa de uma pequena memória interna. Fonte: <http://www.di.ufpb.br/raimundo/ArqDI/arqrai.jpg> A figura acima detalha melhor o processador. São indicados os caminhos de transferência de dados e de sinais de controle, o que inclui um elemento denominado barramento interno da CPU. Esse elemento é necessário para transferir dados entre os vários registradores e a ULA (Unidade Lógica e Aritmética), uma vez que esta última apenas opera sobre dados localizados 104 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância na memória interna da CPU. A figura mostra ainda os elementos básicos típicos de uma ULA. POR DENTRO DO COMPUTADOR A Unidade Central de Processamento Fonte: SHUTTERSTOCK.COM É onde o computador executa seu principal trabalho. A Unidade Central de Processamento, também conhecida como CPU, é a responsável por converter as entradas de dados em saídas de informações (que poderão ser armazenadas, impressas, exibidas). Essas conversões são realizadas por um conjunto amplo e complexo de circuitos eletrônicos que executam instruções armazenadas de um programa. A CPU interage diretamente com a Memória (nas próximas unidades descreveremos mais sobre os meios de armazenamento), tanto para obter instruções (um cálculo, uma comparação etc.), como também para dados (obter um valor armazenado na memória, por exemplo). A CPU é composta por Unidade de Controle e Unidade Lógica e Aritmética, em que cada parte dessa composição tem uma função específica. A Unidade de Controle Dispostas por circuitos que utilizam sinais elétricos para coordenar o computador inteiro e FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 105 realizar as instruções armazenadas em um programa. Para realizar essa função, a Unidade de Controle deve comunicar-se com a Memória e com a Unidade Lógica e Aritmética (ULA). A unidade de controle não executa instruções, a sua função é de comandar outras partes do sistema para fazer isso. A Unidade Lógica e Aritmética Conhecida por ULA e também disposta por circuitos elétricos, contém os circuitos eletrônicos que executam todas as operações lógicas e aritméticas. Possui a função de executar quatro tipos de operações: adição, subtração, multiplicação e divisão. Além, é claro, como indicado pelo seu nome, executa operações lógicas (comparações), podendo estas ser: números, letras ou caracteres especiais. Essa operação gera como resultado Falso ou Verdadeiro. As operações lógicas podem testar três condições: 1. Condição de Igualdade: é o teste da condição igual a, em que é comparado se os valores determinados são iguais. 2. Condição menor que: compara dois valores para determinar se o primeiro é menor que o segundo. 3. Condição maior que: compara dois valores para determinar se o primeiro é maior que o segundo. Ciclo de Máquina Toda instrução antes de ser executada deve ser colocada na memória, trabalho esse realizado pelos dispositivos de entrada ou de armazenamento secundário (hard-disk, por exemplo), após carregados na memória são executados alguns passos: a) A unidade de controle localiza a informação/instrução e deposita no registrador. 106 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância b) A unidade de controle codifica a instrução (nesse instante ela verifica se é um cálculo ou uma instrução lógica) e determina um endereço na memória. c) A unidade de controle transfere os dados da memória para a ULA realizar a devida operação. d) A unidade de controle armazena o resultado dessa operação na memória ou em um registrador. No final do processo, a UC instrui a memória a enviar o resultado para um meio de armazenamento secundário ou a um dispositivo de saída. Clock de Sistema É o que produz os pulsos a uma taxa fixa para sincronizar todas as operações de um computador. Os equipamentos de computador (hardware) funcionam mediante sinais elétricos que ficam variando entre corrente alta (1) e corrente baixa (0). O clock de sistema é completo quando o sinal elétrico sai de um nível baixo e vai para um nível alto, voltando depois para o nível baixo. É durante esses ciclos que o processador recebe, os dados e instruções vindos do software, ou seja, quanto mais clock um processador recebe mais dados e instruções ele consegue executar ao mesmo tempo e aumentar o desempenho da máquina. É claro que não é somente o clock que definirá o desempenho do hardware, pois tudo depende da tecnologia/arquitetura do processador. Por exemplo, um Core 2 DUO de 2,66 GHz não tem a mesma performance de um Core 2 QUAD de 2,66 GHz, apesar dos dois terem o mesmo clock, mas depende da tecnologia, pois o Core 2 Quad tem 4 núcleos, já o Core 2 Duo possui 2, e muitos outros fatores de diferença. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 107 A unidade de medida de Clock é Hz (Heartz) que equivale a oscilações por segundo. Na prática são utilizados os múltiplos a cada 1000 vezes do clock. • KHz – lê-se quilo-hertz, que equivale a 1.000Hz. • MHz – lê-se mega-hertz, que equivale a 1.000KHz. • GHz – lê-se giga-hertz, que equivale a 1.000MHz. • THz – lê-se tera-hertz, que equivale a 1.000GHz. Localização dos dados Como vimos anteriormente, as Unidades de Controle carregam os dados/instruções e os depositam na memória para que ela possa manipular esses dados. Ela deve ser capaz de localizá-los também. Esta localização é identificada por um endereço, que será disponibilizada para cada dado ou instrução. Assim como uma caixa postal que tem seu endereço, o seu número de endereço permanece fixo, o que muda são os dados ou instruções que são armazenados. A diferença do endereço de memória é que o elo pode somente conter uma informação (instrução ou dado), quando a Unidade de Controle coloca uma nova instrução, em uma localização da memória, o conteúdo sobrepõe o anterior. A localização é arbitrária – toda a localização que não foi utilizada pode ser usada. Placa-mãe (MotherBoard) Fonte: SHUTTERSTOCK.COM 108 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância As placas-mãe, antes somente alojadas nos gabinetes, agora também são encontradas dentro do compartimento do monitor. os quais também são conhecidos como unidade de sistema, é responsável por armazenar os componentes eletrônicos do computador, tendo como componente principal a placa-mãe ou motherboard. A placa-mãe é a placa com um conjunto de chips e conexões capaz de organizar as funcionalidades do computador. Tem como principal componente a Unidade Central de Processamento, com mais alguns dispositivos comuns como dispositivos de armazenamento (principal e secundário). Ao adquirir um produto, é importante avaliar se ele é “à prova de futuro”, ou seja, se determinado item não vai se desatualizar tão facilmente. Microprocessadores Podemos defini-lo como um minúsculo quadrado de silício. Contém milhões de minúsculos transistores, que são comutadores eletrônicos que podem permitir ou não a passagem de corrente elétrica. A CPU pode ser colocada em um chip, ela é denominada microprocessador, também conhecidos como chip lógico, quando é utilizado para controlar dispositivos especializados (os computadores de bordo dos carros é um exemplo). Os microprocessadores geralmente são compostos pela unidade de controle, unidade lógica e aritmética, registradores e o clock do sistema. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 109 Atualmente, os engenheiros colocam tanto circuitos em um único chip quanto os que cabiam em computadores do tamanho de uma sala no início da computação. Sobre Processadores com a Intel, acesse: <http://www.youtube.com/watch?v=fWCSMQso6Us>. Barramentos Quando tratamos das Entradas e Saídas, descrevemos o barramento e sua importância no hardware, agora em relação a esta unidade, estaremos descrevendo a sua atuação no contexto geral e qual a sua composição e forma de trabalho. Um barramento é um caminho de comunicação que conecta dois ou mais dispositivos. Esses caminhos múltiplos que o barramento possui são de comunicação ou linhas. A principal característica de um barramento é que ele é um meio de transmissão compartilhado, ou seja, vários dispositivos se conectam ao barramento, e um sinal transmitido por qualquer dispositivo será recebido por todos os outros dispositivos conectados ao barramento. Somente um dispositivo de cada vez pode ser transmitido com sucesso. As linhas transmitem os sinais representado pelos binários 0 e 1, sendo que uma sequência de dígitos pode ser transmitida por uma única linha. Um conjunto de linhas pode ser utilizado para transmitir esses dígitos em paralelo, ou seja, ao tentar transmitir uma unidade de dados que contenha 8 bits, os mesmos poderão ser transmitidos por 8 linhas de barramento. Existem diversos barramentos diferentes, oferecendo caminhos diferentes entre os componentes em diversos níveis de hierarquia do sistema de computação. Um deles é o barramento de sistema responsável por conectar os principais componentes do computador 110 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância (processador, memória, E/S). Estrutura do Barramento Toda a estrutura de interconexão de computador mais comum é baseada no uso de um ou mais barramentos do sistema. O barramento consiste, normalmente, de 50 a centenas de linhas separadas. Cada linha recebe um significado ou função particular. Os barramentos podem ser classificados em três grupos funcionais: a) Linhas de dados: oferecem um caminho para a movimentação de dados entre os módulos do sistema. Essas linhas, coletivamente, são chamadas de barramento de dados, também conhecido como largura do barramento dos dados. b) Linhas de endereço: usadas para informar a origem ou destino dos dados do barramento de dados. Também são usadas para endereçar portas de E/S. c) Linhas de controle: utilizadas para controlar o acesso e o uso de linhas de dados e endereço. As linhas de dados e endereços são compartilhadas por todos os componentes, necessitando haver um meio de controle do seu uso. As linhas de controle são constituídas por: • Escrita de Memória: sua característica é posicionar os dados do barramento no endereço. • Leitura de Memória: busca no endereço posicionado e coloca no barramento. • Escrita de E/S: envia os dados do barramento para a porta do endereço de E/S. • Leitura de E/S: envia os dados das portas do endereço de E/S para o barramento. • ACK de barramento: sinaliza que os dados foram aceitos pelo barramento. • Solicitação de barramento: sinal que algum módulo precisa obter o controle do barramento. • Concessão do barramento: um módulo que solicitou recebe o controle. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 111 • Requisição de Interrupção: interrupção está pendente. • ACK de interrupção: interrupção pendente reconhecida. • Clock: operações de controle. • Reset: inicializa os módulos. As operações do barramento funcionam da seguinte maneira: obtêm o uso do barramento e transferem os dados por meio do barramento. Fonte: <http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/PCIExpress.jpg/250px-PCIExpress. jpg> Largura do Barramento Largura do Barramento: a largura do barramento de dados tem um impacto sobre o desempenho do sistema: quanto mais largo o barramento de dados, maior o número de bits transferidos de cada vez e quanto ao barramento de endereço, quanto mais largo, maior o intervalo de locais que podem ser referenciados. PCI Fonte: SHUTTERSTOCK.COM 112 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância O barramento PCI (Peripheral Component Interconnect) é um barramento de grande largura de banda, independente de processador, que pode funcionar como um barramento periférico. O PCI oferece melhor desempenho de sistema para subsistemas de E/S de alta velocidade, sendo utilizado para adaptadores de vídeo gráficos, controladores de interface de rede, controladores de disco etc. O PCI foi projetado para admitir uma série de configurações baseadas em microprocessadores, incluindo sistemas de processador único e múltiplo. Hierarquia de Memória A manipulação das informações (instruções de um programa e dados) é realizada por meio de muitas memórias do computador, estas interligam-se de forma bem estruturada, constituindo um sistema em si, parte do sistema global de computação que pode ser denominado como subsistema de memória. O subsistema é projetado de modo que seus componentes sejam organizados hierarquicamente, conforme mostrado na estrutura abaixo: Fonte: <http://www.di.ufpb.br/raimundo/Hierarquia/piramide.jpg> Alguns parâmetros são utilizados para análise das características de cada tipo de memória que compõe a hierarquia apresentada acima: • Tempo de acesso: indica quanto tempo a memória gasta para colocar uma informação no endereço respectivo. O tempo de acesso depende do modo como o sistema é construído FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 113 e da velocidade dos seus circuitos. • Capacidade: é a quantidade de informação que pode ser armazenada em uma memória; a unidade de medida mais comum é o byte, embora possam ser usadas outras unidades como células (no caso de memória principal ou cache), setores (no caso de discos) e bits (no caso de registradores). • Volatilidade: memórias podem ser do tipo volátil ou não volátil. Uma memória não volátil é a que retém a informação armazenada quando a energia elétrica é desligada. • Temporariedade: trata-se de uma característica que indica o conceito de tempo de permanência da informação em um dado tipo de memória. • Custo: ela deve ser razoável em relação a outros componentes. A ilustração da hierarquia nos remete à sinalização que enquanto desce: • Diminui o custo por bit. • Aumenta a capacidade. • Aumenta o tempo de acesso. • Aumenta a frequência de acesso à memória pelo computador. Memórias mais caras, menores e mais rápidas são complementadas por memórias mais baratas, maiores e mais lentas. COMPONENTES DA MEMÓRIA Memória Semicondutora A maioria dos computadores modernos usa a memória semicondutora, composta de milhares de minúsculos circuitos, produzidos em grande escala de maneira econômica, com confiabilidade, tamanho reduzido, baixo custo e menor consumo de energia. 114 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância A memória semicondutora é volátil, ou seja, requer corrente elétrica contínua para representar dados. Se a corrente é interrompida, os dados são perdidos. Um semicondutor bastante conhecido é o CMOS (Complementary Metal Oxide Semicondutor), encontrado nos computadores pessoais como CMOS RAM, que armazena informações necessárias para o computador ser iniciado: hora, data e dados de configuração de hardware, graças à energia de uma bateria. Com o computador em funcionamento, o CMOS RAM pode ser atualizado e o novo conteúdo permanecerá até ser modificado. ROM Memória somente de leitura (Read-Only Memory – ROM) contém programas e dados registrados permanentemente nesse tipo de memória na fábrica. Portanto, só permite leitura, ou seja, suas informações são gravadas pelo fabricante uma única vez e não podem ser alteradas ou apagadas depois, podendo apenas ser acessadas. Ou seja, seu conteúdo é gravado de modo permanente. Podem ser lidos, mas não modificados pelo usuário, somente com ferramentas especializadas (gravadores de ROM), podem ser alteradas as instruções contidas em alguns chips. Esses chips são denominados PROM (Programmable Read-Only Memory) ou chips de memória somente de leitura programáveis. A ROM é responsável por conter a rotina e inicialização (boot). É não volátil – seu conteúdo não é perdido quando a energia elétrica é desligada. Existem alguns tipos básicos de memória ROM: - PROM (Programmable Read-Only Memory): tem sua gravação feita por aparelhos especiais que trabalham mediante uma reação física com elementos elétricos. Os dados grava- FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 115 dos na memória PROM não podem ser apagados ou alterados. - EPROM (Electrically Programmable Read-Only Memory): os dados gravados na memória EPROM podem ser apagados pelo uso de radiação ultravioleta permitindo sua reutilização. É o tipo de memória ROM geralmente usado para armazenar a BIOS do computador. - EEPROMs (Electrically Erasable Programmable Read-Only Memory): tipo similar à EPROM. Seu conteúdo pode ser apagado aplicando-se uma voltagem específica aos pinos de programação. Portanto, pode ter seu conteúdo modificado eletricamente, mesmo quando já estiver funcionando em um circuito eletrônico. - FlashROM: memória flash semelhante às EEPROMs. São mais rápidas e de menor custo. É um tipo de chip de memória para BIOS de computador que permite que esta seja atualizada por meio de softwares apropriados. Esta atualização pode ser feita por disquete ou até mesmo pelo sistema operacional. Tudo depende dos recursos que o fabricante da placa-mãe em questão disponibiliza. - CD-ROM são discos ópticos que retêm os dados não permitindo sua alteração. Memória RAM Fonte: SHUTTERSTOCK.COM Na placa-mãe também ficam encaixados os módulos da memória principal, também chamados de “pentes” de memória RAM (Random Access Memory), a memória de acesso aleatório. Esses módulos de memória são os responsáveis pelo armazenamento dos dados e das instruções que o processador precisa para executar suas tarefas. É para a memória RAM que são transferidos os programas (ou parte deles) e os dados 116 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância que estão sendo trabalhados nesse momento. É principalmente nela que é executada a maioria das operações, portanto é nesta memória que ocorrem as operações da CPU. Este tipo de memória permite tanto a leitura como a gravação e a regravação de dados. No entanto, assim que os módulos deixam de ser alimentados eletricamente, ou seja, quando o computador é desligado, a memória RAM é apagada, ou seja, perde todos os seus dados. Assim, a memória RAM é uma memória temporária (volátil). Daí vem a necessidade de guardar (salvar) o resultado do processamento no disco rígido antes de desligá-lo. A razão da existência e importância da memória RAM está na sua velocidade de leitura dos dados, que é muito grande. Todas as informações que estão contidas nela podem ser acessadas de maneira mais rápida do que as informações que estão no disco rígido, no disquete ou no CD-ROM, que são consideradas tipos de memórias secundárias. Essas, apesar de terem acesso mais lento, são permanentes, ou seja, as informações nelas gravadas ficam armazenadas mesmo quando o micro está desligado. Velocidade Os módulos, também chamados “pentes” de memória RAM, variam em capacidade de armazenamento e em velocidade. Em princípio, quanto mais memória RAM o computador tiver, tanto mais rápido será o seu funcionamento e mais facilmente ele suportará a execução de funções simultâneas. Os tamanhos de memória RAM foram aumentando gradativamente: 16, 32, 64, 128, 256, 512 MB, até chegar às atuais hoje, com seus GigaBytes de armazenamento, e assim por diante. Quando se escolhe um computador, esta especificação é quase tão importante quanto a capacidade do processador, pois a simples adição de mais memória pode deixar um computador mais rápido, sem que haja a necessidade de trocá-lo por um modelo mais moderno. Evidentemente aumentar a memória RAM não garante um processador mais rápido, mas o torna mais eficiente, já que perde menos tempo para recuperar os dados armazenados na FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 117 memória virtual. Essa memória é um recurso pelo qual o sistema operacional utiliza o do disco rígido como uma extensão da RAM quando essa memória está totalmente ocupada. Como a memória física é mais veloz que o disco rígido, o desempenho do computador melhora. Tipos de RAM Cada tipo tem uma forma de encapsulamento e um modo de funcionamento. - DRAM (Dynamic Random Access Memory): é o tipo dinâmico. Os módulos possuem alta capacidade, podendo comportar grandes quantidades de dados. No entanto, o acesso a essas informações costuma ser mais lento que nas memórias estáticas. Em compensação tem preços bem menores que as memórias do tipo estático, pois utiliza uma tecnologia mais simples. - SRAM (Static Random Access Memory): é o tipo estático. São muito mais rápidas que as memórias DRAM, porém armazenam menor quantidade de dados. Memória Flash As memórias flash vêm de encontro a uma necessidade: aumentar a velocidade de acesso aos meios de armazenamentos secundários. As memórias flash são utilizadas em telefones celulares, câmeras digitais, gravadores de músicas digitais etc., e estão substituindo os hard-disks em alguns computadores. A memória flash é não volátil. Fonte: SHUTTERSTOCK.COM 118 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Registradores São áreas de armazenamento temporário de alta velocidade que servem a propósitos especiais e destinam-se a instruções ou dados. Não fazem parte da memória, são áreas de armazenamento temporário. Os registradores são coordenados pela unidade de controle, com a função de: guardar e transferir instruções ou dados e fazer comparações aritméticas ou lógicas em alta velocidade. Algumas funções específicas dos registradores fazem com que eles se diferenciem das memórias, como manter a instrução que está sendo executada em um determinado momento ou controlar onde a próxima instrução a ser executada será armazenada na memória, identificada por um endereço. Resumindo, os registradores guardam os dados que estão diretamente relacionados com a operação que está sendo executada. Cache Área de armazenamento temporário projetada para acelerar a transferência de dados dentro do computador, surgiu com a falta de velocidade que não mais acompanhava a velocidade dos processadores, causando “espera”, o que resultava em perda de desempenho. A memória cache é um tipo de memória ultrarrápido, que armazena os dados mais frequentemente usados pelo processador. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 119 Princípios da Memória Cache Fonte: SHUTTERSTOCK.COM O uso da memória cache visa obter velocidade de memória próxima das memórias mais rápidas que existem e, ao mesmo tempo, disponibilizar uma memória de grande capacidade ao preço da memória semicondutora mais barata. Existe uma memória principal relativamente grande e lenta junto com a memória cache, menor e mais rápida. A cache contém uma cópia de partes da memória principal. Quando este precisa ler dados da memória RAM, um circuito especial transfere blocos de dados muito utilizados da RAM para a memória cache. Assim, no próximo acesso do processador, este consultará a memória cache que é bem mais rápida, permitindo o processamento de dados de maneira mais eficiente. Quando o processador tenta ler uma palavra da memória, é feita uma verificação para determinar se a palavra está na cache. Se estiver, ela é entregue ao processador. Se não, um bloco da memória principal, consistindo em algum número fixo de palavras, é lido para a cache e depois a palavra é fornecida ao processador, etapa que é mais lenta. Desta forma, podemos concluir que a memória cache atua como um intermediário, fazendo com que um processador nem sempre necessite chegar à memória RAM para acessar os dados dos quais necessita. O trabalho da memória cache é tão importante que sem ela o desempenho de um processador pode ser seriamente comprometido. 120 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Os processadores basicamente têm três tipos de cache: L1 (a letra L é uma abreviação de Level – Nível), cache L2 e cache L3. O L1 é o cache mais próximo ao processador, é uma pequena porção de memória estática. A cache L2 é mais lenta e normalmente maior que a cache L1, e a cache L3 é mais lenta e normalmente maior que a cache L2. Antigamente, um tipo distinguia do outro pelo fato de a memória cache L1 estar localizada junto ao núcleo do processador, enquanto que a cache L2 ficava localizada na placa-mãe. Atualmente, ambos os tipos ficam localizados dentro do chip do processador, sendo que, em muitos casos, a cache L1 é dividida em duas partes: “L1 para dados” e “L1 para instruções”. Vale ressaltar que, dependendo da arquitetura do processador, é possível o surgimento de modelos que tenham um terceiro nível de cache (L3). Mas isso não é novidade: a AMD chegou a ter um processador, em 1999, chamado K6-III que contava com cache L1 e L2 internamente, algo incomum à época, já que naquele tempo o cache L2 se localizava na placa-mãe. Com isso, esta última acabou assumindo o papel de cache L3. Ainda é um tipo de cache raro devido à complexidade dos processadores atuais, com suas áreas chegando a milhões de transistores por micrómetros ou picómetros de área. Ela será muito útil e é possível a necessidade futura de níveis ainda mais elevados de cache, como L4 e assim por diante. PROCESSADORES RISC Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções (RISC) é uma linha de arquitetura de computadores que favorece um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores modernos são RISCs, por exemplo, DEC Alpha, SPARC, FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 121 MIPS e PowerPC. O tipo de microprocessador mais largamente usado em desktops, o x86, é mais CISC do que RISC, embora chips mais novos traduzam instruções x86 baseadas em arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execução. Os processadores baseados na computação de conjunto de instruções reduzido não têm microprogramação, as instruções são executadas diretamente pelo hardware. Como característica, esta arquitetura, além de não ter microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade. Características comuns a maior parte dos processadores RISC: • número de instruções limitado; • codificação de instruções em uma palavra de tamanho fixo; • execução sem microcódigo; • altas taxas de execução (próximas a 1 instrução/ciclo); • poucos modos de endereçamento; • operações envolvendo a memória principal restritas a transferências (LOAD, STORE); • operações lógicas e aritméticas entre registradores, tipicamente com instruções de três endereços. PROCESSADORES CISC CISC (Complex Instruction Set Computer, ou, em uma tradução literal, “Computador com um Conjunto Complexo de Instruções”): é um processador capaz de executar centenas de instruções complexas diferentes sendo, assim, extremamente versátil. Exemplos de 122 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância processadores CISC são os 386 e os 486 da Intel. Um modelo CISC Fonte: <http://imagens.0fx66.com/2009/02/486cpudim-296x300.jpg> Os processadores baseados na computação de conjunto de instruções complexas contêm uma microprogramação, ou seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas na sua microprogramação. Seria como quebrar estas instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no microcódigo do processador). Examinando do ponto de vista um pouco mais prático, a vantagem da arquitetura CISC é que já temos muitas das instruções guardadas no próprio processador, o que facilita o trabalho dos programadores de linguagem de máquina; disponibilizando, assim, praticamente todas as instruções que serão usadas em seus programas. Os processadores CISC têm a vantagem de reduzir o tamanho do código executável por já possuírem muito do código comum em vários programas, em forma de uma única instrução. Esta arquitetura processa e trata grandes e complexas instruções, nomeadamente operações de multiplicação e divisão, mas também executa e/ou descodifica grandes quantidades de operações, parecendo possuir outro processador pelo fato da maioria dos algoritmos já se encontrarem no processador, sendo o seu tempo de restabelecimento praticamente nulo. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 123 Processadores CISC possuem internamente núcleos RISC. Assim, a parte CISC do processador pode cuidar das instruções mais complexas, enquanto que o núcleo RISC pode cuidar das mais simples, nas quais é mais rápido. Parece que o futuro nos reserva uma fusão destas duas tecnologias. Um bom exemplo de processador híbrido é o Pentium Pro. PROCESSADORES COM DOIS OU MAIS NÚCLEOS Há tempos que é possível encontrar no mercado placas-mãe que contam com dois ou mais slots para processadores. A maioria esmagadora dessas placas são usadas em computadores especiais, como servidores e workstations, que são utilizados em aplicações que exigem grandes recursos de processamento. Para aplicações domésticas e de escritório, no entanto, computadores com dois ou mais processadores são inviáveis devido aos elevados custos que esses equipamentos representam, razão pela qual é conveniente a esses nichos de mercado contar com processadores cada vez mais rápidos. Até um passado não muito distante, o usuário tinha noção do quão rápido eram os processadores de acordo com a taxa de seu clock interno. O problema é que, quando um determinado valor de clock é alcançado, torna-se mais difícil desenvolver outro chip com clock maior. Limitações físicas e tecnológicas são os motivos para isso. Uma delas é a questão da temperatura: quanto mais mega-hertz um processador tiver, mais calor ele gerará. Uma das formas encontradas pelos fabricantes para lidar com essa limitação é fabricar e disponibilizar processadores com dois núcleos (dual-core) ou mais (multi-core). Mas, o que isso significa? Processadores desse tipo contam com dois ou mais núcleos distintos no 124 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância mesmo circuito integrado, como se houvesse dois processadores dentro de um. Dessa forma, o processador pode lidar com dois processos por vez, um para cada núcleo, melhorando o desempenho do computador como um todo. Note que, em um chip de único núcleo, o usuário pode ter a impressão de que vários processos são executados simultaneamente, já que a máquina está quase sempre executando mais de uma aplicação ao mesmo tempo. Na verdade, o que acontece é que o processador dedica determinados intervalos de tempo a cada processo e isso ocorre de maneira tão rápida, que se tem a impressão de processamento simultâneo. Pelo menos, teoricamente, é possível fabricar processadores com dezenas de núcleos. No momento em que este artigo era escrito no InfoWester, era possível encontrar processadores com 2, 3 e 4 núcleos (dual-core, triple-clore e quad-core, respectivamente). É importante ressaltar que ter processadores com dois ou mais núcleos não implica, necessariamente, em computadores que são proporcionalmente mais rápidos. Uma série de fatores influencia nesse quesito, como as velocidades limitadas das memórias e dos dispositivos de entrada e saída, e as formas como os programas são desenvolvidos. Na imagem abaixo, uma montagem que ilustra o interior de um processador Intel Core 2 Extreme Quad-Core (com 4 núcleos). Base do processador Intel core i7-940 Fonte: Wikimedia Commons FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 125 No site da Intel, você tem as informações técnicas e com mais riqueza de detalhes: <http://www.intel.com/portugues/products/processor/core2duo/index.htm> CONSIDERAÇÕES FINAIS Como vimos, o bom funcionamento e desempenho do computador contam com vários componentes para satisfazer essa condição. Conhecê-los e estudá-los é primordial para o entendimento de outras áreas de estudo como o desempenho, comunicação. Agora, você acadêmico, já tem base para adentrar na próxima unidade: os softwares que ajudam na interação máquina x computador – os sistemas operacionais e os softwares aplicativos. ATIVIDADE DE AUTOESTUDO 1. Qual a memória RAM instalada no seu micro? Qual a capacidade dessa memória? 2. Qual a configuração da Placa-Mãe instalada no seu micro? Qual o processador que ela possui? 3. No computador que você utiliza para assistir às aulas, há como atualizá-lo em relação à memória RAM, processador? Cite quais as novas características que instalaria para deixá-lo melhor. 4. A largura de um barramento influencia em quais aspectos de um computador? 126 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância CARTER, Nicholas; MILLER JR., Ralph. Teoria e problemas de arquitetura de computadores. Porto Alegre: Bookman, 2003. 240 p. (Coleção Schaum). FERRI, Enrique Humberto Hernandez. Introdução ao 80386/486. [s.l.] [s.n.], São Paulo: Érica. 356 p. WHITE, Ron. Como funciona o computador. 3. ed. Emeryville: Ziff-Davis; São Paulo: Quark, 1993. 202 p. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 127 UNIDADE V SOFTWARE – SISTEMAS OPERACIONAIS E APLICATIVOS Professor Me. Aparecido Vilela Junior Objetivos de Aprendizagem • Estudar os Sistemas Operacionais e sua Evolução. • Compreender como os Softwares são classificados. • Analisar os Tipos de Software. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade: • Sistemas Operacionais • Sistemas Operacionais classificados por tipo de computador • Classificação dos softwares Aplicativos • Linguagens de Programação INTRODUÇÃO Olá, querido(a) aluno(a). Quando falamos em Fundamentos e Arquitetura de Computadores, além do hardware é necessário saber como é feita a interação entre máquina e usuário. Quem é responsável por desempenhar esse papel e facilitar essa comunicação é o Sistema Operacional. Estudaremos os sistemas operacionais mais importantes, inclusive os atuais para Mobile e também os softwares aplicativos no mercado. Trataremos das formas que os softwares podem ser comercializados e sua classificação. Serão, também, discutidas as linguagens de programação e como a linguagem natural que escrevemos pode ser “entendida” pelo computador. SOFTWARE – SISTEMAS OPERACIONAIS E APLICATIVOS Sistemas Operacionais O computador, quando sai da linha de montagem, ainda dentro de uma fábrica, não tem função nenhuma, pois o hardware por si só não funciona. Para sua utilização o hardware precisa do software para funcionar. O software que possui essa função é chamado de Sistema Operacional (SO). Sistema Operacional é um conjunto de programas que se encontra entre o software aplicativo e o hardware. O software aplicativo possibilita que os usuários trabalhem proveitosamente, por exemplo, uma planilha de cálculo e um editor de texto (esse tipo de software será mais detalhado na sequência). O kernel (núcleo) é a parte mais importante de um sistema operacional. Sua função é gerenciar FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 131 todos os recursos do computador. O kernel permanece na memória, e por isso é chamado de residente. Responsável por controlar todo o sistema operacional, quando necessita, carrega do dispositivo de armazenamento para a memória outros programas, os chamados não residentes. Ao ligar um computador, um pequeno programa armazenado em um chip de ROM realiza alguns testes de componentes de hardware internos, e o sistema operacional (kernel) é carregado do hard-disk para a memória. Esse processo de inicialização é chamado de bootstrapping ou booting do sistema. Booting deriva-se da expressão raise oneself by one’s own bootstraps, ou seja, realizar algo sem precisar da ajuda de outros. O SO, em grande parte do seu trabalho, não pode ser visto pelo usuário, muitas tarefas essenciais são executadas em segundo plano. O SO tem três funções principais: a) Manter os recursos do computador (CPU, Memória, Hard-Disk). b) Estabelecer uma interface com o usuário. c) Executar e oferecer recursos para softwares aplicativos. A comunicação com o SO é feita a todo o momento para utilizar um pacote de software aplicativo e executar várias tarefas de gerenciamento. O estabelecimento dessa comunicação é feita por meio das interfaces com o usuário, que estabelece como o usuário interage com o SO. 132 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância As duas formas básicas de interação com o SO são as interfaces de linhas de comando e a interface gráfica (GUI – Graphical User Interface). A interface de linha de comando utiliza texto e exige que os comandos completos do SO sejam digitados. Os SO MS-DOS, Linux e muitos outros SO de computadores de grande porte utilizam a interface de linhas de comando. As interfaces gráficas usam imagens e menus para que os usuários introduzam comandos, exemplos de SO que utilizam essas interfaces são o Windows e Mac. Atualmente, muitas instalações de Linux e Unix são configuradas para oferecer uma GUI. Sistemas Operacionais para Computadores Pessoais Os softwares aplicativos são constituídos para serem executados de acordo com a plataforma. O termo plataforma refere-se a uma combinação de hardware de computador e sistema operacional. A plataforma de microcomputador mais comum compõe-se de alguma versão do Microsoft Windows em execução em PC com o processador Intel. Muitas vezes, o software aplicativo pode ser executado somente em uma plataforma. Os fabricantes de software têm que optar pela plataforma para a qual desenvolverão um pacote de software aplicativo, embora alguns desenvolvam para mais de uma plataforma. Embora os SO difiram entre si, muitas das suas funções básicas são similares. Vamos abaixo, examinar alguns SO. MS-DOS O sistema operacional MS-DOS foi introduzido na década de 1980 e utiliza uma interface com o usuário de linha de comando. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 133 Quando um computador que usa o MS-DOS (frequentemente chamado de DOS) é iniciado, a tela se apresenta vazia exceto pelos caracteres C:\> que aparece no canto superior esquerdo, onde o C: \ refere-se à unidade de disco; o > é o prompt, um símbolo que indica que o sistema está à espera de alguma instrução. Para executar determinado programa do DOS, é necessário digitar um comando, um nome que chama um programa específico do DOS. Alguns dos comandos mais comuns do DOS são relacionados aos arquivos, tais como: copiar arquivos de um meio de armazenamento para outro, apagar arquivos etc. As interfaces de linha de comando, por não serem muito amigáveis, foram amplamente substituídas pelas GUIs. Microsoft Windows O Windows se iniciou como um ambiente operacional para MS-DOS, outra camada adicionada para separar o sistema operacional do usuário e, dessa forma, torná-lo mais fácil de usar. Essa camada é chamada de Shell, porque forma uma “cobertura”, com ícones e menus, sobre o sistema operacional. A partir do Windows 95, o Windows tornou-se um sistema operacional independente, ou seja, não necessita que o DOS esteja instalado. A grande vantagem operacional do Windows em relação ao DOS são os recursos disponibilizados aos seus usuários, os quais, ao invés de linhas de comando (DOS), agora trabalham com menus e imagens (ícones) nas telas, o que o torna mais "amigável" (não precisa mais decorar um comando de linha). Os ícones e menus possibilitam que o usuário aponte e dê um clique com o mouse, um método que pode agilizar o uso do computador, tornando-o mais fácil e intuitivo. 134 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância O Windows suporta Plug and Play, um conceito que permite que o computador se autoconfigure quando um novo componente é adicionado. Para que o Plug and Play funcione, os componentes de hardware também devem suportar o padrão Plug and Play. Uma tecnologia Windows bastante utilizada é a OLE (Object Linking and Embedding – Vinculação e incorporação de objetos) que permite incorporar e vincular um documento a outro. WindowsPhone(Mobile) O sistema operacional Windows Phone foi projetado para substituir o Windows Mobile. Baseado no Kernel do Windows CE, foi desenvolvido pela Microsoft para smartphones. Juntamente com touchscreens, uma grande variedade de fatores são desencadeados para a plataforma, tais como: teclados deslizantes, botões frontais mínimos etc. A maioria das versões do Windows Phone tem um conjunto de recursos padrão para a multitarefa e a capacidade de navegar em um sistema de arquivos semelhantes ao Windows para desktop, com suporte para muitos dos mesmos tipos de arquivos, ou seja, vem com um conjunto de aplicações para executar tarefas básicas. Mais informações sobre toda a linha de sistemas operacionais Windows podem ser adquiridas em: <http://windows.microsoft.com/pt-BR/windows/explore/get-to-know>. Mac OS Mac OS foi nomeado pela empresa Apple como “Software de Sistema Mac” no início, um sistema operacional especialmente desenvolvido apenas para processadores 68 k primeiros FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 135 Motorola. O Mac OS ocupa um papel especial no mundo dos sistemas desktop. A primeira versão foi chamada de “Sistema 1” e apareceu junto com o Mac em 1984. O ambiente de trabalho clássico é projetado como um único sistema operacional do usuário e quase oculta completamente o caminho completo para arquivos e diretórios. A representação gráfica é reduzida para a essência. A interface é muito fácil de usar e não precisa do botão direito do mouse para interação do usuário. Mac Os inclui uma interface de linha de comando. A otimização do sistema operacional no acompanhamento da evolução do hardware tem a desvantagem que o software do sistema não pode ser instalado em qualquer Mac. A compatibilidade de aplicações para sistemas Mac também podem variar de acordo com cada versão. Unix A história do Unix tem início em 1969, dentro dos Laboratórios da AT&T, juntamente com a GE (Generic Eletric) e o MIT, em um projeto chamado MULTICS, tendo como objetivo criar um sistema operacional com a finalidade de permitir que milhares de usuários usassem simultaneamente um grande computador. Um projeto ambicioso para a época, que acabou falhando. Neste mesmo ano, o engenheiro de projetos, Ken Thompson, teve a ideia de criar um sistema de arquivos para o novo kernel, criando uma estrutura hierárquica de diretórios onde os arquivos podiam ser armazenados em forma ordenada. Uma característica importante é que o UNIX foi concebido para ser independente da arquitetura do hardware, permitindo a sua instalação em vários tipos de máquinas, sendo necessário 136 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância escrever um manual. Várias empresas auxiliam no crescimento do UNIX por meio de implementações e nesse ponto a AT&T percebeu que o seu sistema operacional é um produto de alto valor e resolveu proibir o estudo no meio acadêmico, para proteger seu segredo comercial. Muitas universidades usavam o código fonte do UNIX para ensinar sistemas operacionais, a partir da proibição o ensino passou a ser teórico. Tanenbaum, autor de vários livros sobre sistema operacional e também de arquitetura, escreveu um sistema operacional do tipo UNIX (para driblar a proibição) sem usar uma única linha de programação, batizando esse sistema operacional e Minix, que foi utilizado para criar uma nova versão do UNIX, que recebeu o nome de LINUX. Linux O Linux firmou posição entre 1995 e 1999. Desde então, tem sido uma alternativa séria para os assim chamados sistemas UNIX proprietários. O que se pode afirmar é que a vitória do código aberto sobre o código proprietário é uma grande lição, que prova, mais uma vez, que o interesse individual não tem chance de sobrepujar a dedicação e o trabalho que dão suporte ao interesse coletivo. O Linux é um sistema operacional que se caracteriza pela estabilidade e versatilidade de um software livre (podemos fazer cópias livremente). Sistema Operacional de Código Aberto – Open-Source (mais a frente, esta unidade tratará desta classificação de software), provando mais uma vez que o interesse individual não tem chance contra a dedicação, interesse e o trabalho coletivo. A filosofia de criação do Linux bate de frente com o Windows, que é um Sistema Operacional Comercial. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 137 Há várias distribuições de Linux (centenas), sendo que o Sistema Operacional é o mesmo, o que difere uma versão da outra são certas características, tais como facilidade na instalação, facilidade de configurar, segurança e aplicativos que compõem o Sistema Operacional. A internet passou a ser a maior fonte de informação e o reduto dos colaboradores voluntários, por isso o grande avanço desse Sistema Operacional, onde vários programadores, profissionais de infraestrutura, modificam, testam e validam a qualidade do Sistema Operacional que mais cresceu nos últimos anos. Você pode buscar mais informações sobre Linux, visitando o site: <http://br-linux.org/faq-linux/>. Android O Android é um Sistema Operacional Aberto para celulares que espera ser um dos melhores, se não o melhor, já criado. O Android já começou acertando na parte do desenvolvimento: enquanto a Apple liberou o SDK para desenvolvedores apenas um ano após o lançamento do aparelho, o Google lançou o SDK antes do lançamento do celular. O primeiro dispositivo a contar com o Android foi o HTC Dream, lançado em 22 de outubro de 2008. Desde então, vários celulares contam com o sistema. No Brasil, o primeiro aparelho a rodar o sistema Google foi o HTC Magic, no mês de setembro de 2009. 138 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância De acordo com a Gartner, mais de 67 milhões de aparelhos com sistema operacional Android foram vendidos em todo o mundo (mais de 22% do mercado mundial). O Sistema Android hoje conta com mais de 84,7 mil dispositivos por aqui. Não é à toa, portanto, que a Motorola viu suas vendas crescerem, já que a empresa apostou no sistema Operacional da Google para alavancar as vendas de seus produtos. iOS/4 O iOS é o sistema operacional para mobile da Apple, derivado do Mac OS X. Lançado primeiramente para iPhone, o sistema também é compatível com outros aparelhos da empresa, como iPod, iPad, iPod Touch e Apple TV. A interface de usuário do iOS é baseado no conceito de manipulação direta, usando gestos multi-touch (assim como o Android). Essa interação inclui gestos, como um toque, ou girando-a em três dimensões (um resultado comum é a mudança de modo retrato para paisagem). O iOS é utilizado por cerca de 16% dos usuários de smartphone. Sistemas Operacionais para grande porte Pelo fato desses computadores geralmente serem adquiridos por empresas e universidades, eles podem ser usados por muitos usuários ao mesmo tempo, diferente da situação que geralmente estamos acostumados, ou seja, um usuário por vez, ao contrário temos várias pessoas usando simultaneamente um computador de grande porte. O sistema operacional para grande porte deve prever uma série de interferências e quais soluções para compartilhar os recursos do computador. O maior problema é quanto a problemas de compartilhamento, ou seja, vários usuários compartilhando CPU, memória, armazenamento e impressora. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 139 Os recursos compartilhados são alocados, no que computacionalmente denominamos Alocação de recursos, que pode ser definido como o processo de atribuição de recursos do computador a determinados programas para que sejam usados. Esses mesmos recursos são removidos quando o programa é finalizado. SOFTWARES APLICATIVOS Os softwares aplicativos podem ser personalizados ou oferecidos em pacotes. Muitas corporações contratam programadores de softwares (pessoas que projetam, desenvolvem, testam e implementam software) para desenvolver software personalizado. Uma grande variedade de softwares está disponível para ajudá-lo em inúmeras tarefas, como redigir textos, preparar orçamentos, armazenar e recuperar informações, criar gráficos, jogar etc. Esse conjunto de software é que torna os computadores utilitários imprescindíveis. Os softwares de computadores pessoais são projetados para serem amigáveis (o termo “amigável ao usuário” faz referência à facilidade de manuseio e até ser intuitivo), para que possam ser utilizados com um mínimo de treinamento e documentação. CLASSIFICAÇÃO DOS SOFTWARES APLICATIVOS Os softwares aplicativos podem ser adquiridos através da seguinte classificação: Freeware Software gratuito. Quando o autor faz a opção por oferecê-lo gratuitamente a todos. Essa classificação de software é protegida por direitos autorais, ou seja, o autor mantém a propriedade legal e pode impor restrições de uso. Os softwares freeware são disponibilizados somente com o seu código-objeto, ou seja, 140 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância somente o seu executável. Software de Domínio Público Os softwares nesta classificação não são protegidos por direitos autorais e podem ser usados, ou mesmo alterados, sem restrição alguma. Esses softwares são desenvolvidos por universidades e instituições de pesquisa, geralmente são de domínio público. Software aberto Também conhecido como software open-source é uma variação do freeware. Enquanto os softwares freeware são disponibilizados somente o executável, os softwares abertos são disponibilizados com seu código-fonte, o que habilita a sua modificação. Essa modalidade de software na área comercial é cada vez mais comum, especialmente os projetados para serem executados no sistema operacional Linux Shareware É uma categoria de software que muitas vezes é confundido com freeware. O freeware é distribuído gratuitamente, mas apenas por um período experimental. Muitos autores oferecem incentivos para a sua aquisição (compra), tais como: documentação gratuita, suporte e/ou atualizações, para que as pessoas optem por registrá-lo. Software Comercial Softwares como os processadores de textos ou planilhas eletrônicas. São os chamados softwares empacotados. Software protegido por direitos autorais e custa mais do que o Shareware. Não se deve copiar um software comercial sem permissão do fabricante, pois esse ato ocasiona o delito de pirataria. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 141 Os fabricantes têm o direito de processar os infratores com todo o rigor da lei. CATEGORIAS DE SOFTWARES Softwares de Produção Usuários domésticos ou comerciais, em sua maioria, são atraídos por softwares de produtividade, que tornam o trabalho mais rápido e facilitam a sua vida. Os principais tipos de softwares dentro dessa categoria são: os processadores de textos, as planilhas eletrônicas, gerenciamento de banco de dados, gráficos e comunicações. A combinação desses softwares também pode ser encontrada em um único pacote. Esses softwares, atualmente, podem ser encontrados em todas as classificações: freeware, shareware, open-source e comercial. Processadores de Textos Software de computador pessoal mais amplamente usado. Utilizados para redigir memorandos, relatórios, correspondências, minutas de reunião e qualquer outro material que seja necessário utilizar texto. Encontra-se no território da editoração eletrônica (desktop publishing). Planilhas Eletrônicas Compostas de linhas e colunas, utilizadas como ferramentas de negócios. O software de planilha eletrônica recalcula de maneira automática os resultados quando um número é alterado, permitindo que os profissionais da área de negócios experimentem diferentes 142 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância combinações de números e obtenham os resultados rapidamente. Gerenciamento de Banco de Dados O SGBB (Sistema Gerenciador de Banco de Dados) – manipula dados de diversas maneiras. Ele pode armazenar dados, atualizá-los, manipulá-los, recuperá-los, relatá-los em uma variedade de modos de visualização e imprimi-los de diversas formas. Os SGBGs podem ser úteis para qualquer pessoa que precise controlar um grande número de fatos relacionados. Gráficos Os gráficos, mapas e tabelas auxiliam as pessoas a comparar, detectar tendências mais facilmente e tomar decisões mais rapidamente. A informação visual é mais atraente do que uma página numérica. Os pacotes de apresentação gráfica possibilitam que as pessoas desenvolvam apresentações de slides profissionais contendo gráficos, áudio e vídeo de alta qualidade. Comunicações Do ponto de vista de um indivíduo, o termo sistema de comunicações significa que é possível ligar o computador a uma linha telefônica ou a um cabo e comunicar-se com o computador do escritório, acessar dados armazenados em outro computador em outro local ou enviar uma mensagem a um amigo. O usuário necessita de um software denominado navegador (browser) para acessar sites Web e outras partes da Internet. Existem no mercado atualmente os home-offices (escritórios em casa), que permitem que FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 143 as pessoas, utilizando softwares adequados, trabalhem em suas casas e façam reuniões remotas, diminuindo custo de locomoção e estrutura da empresa. Gerenciadores de Informações São programas que oferecem as funções necessárias para controlar todas as atividades de sua atarefada vida. Os recursos variam de acordo com o produto, mas, em geral, incluem calendários de compromissos, catálogos de endereços, gerenciador de tarefas, bloco de notas e calculadora. Esses recursos são todos integrados, sendo possível exibir sua agenda diária, semanal ou mensal, mostrando todas as reuniões e as informações de contato relativas aos participantes, uma lista de anotações com prazos e anotações que você fez sobre as tarefas, ou até mesmo utilizar um alarme para que o sistema avise antes. Software de Negócios Os softwares de negócios podem ser adquiridos ou feitos sob personalização (encomenda). Muitas empresas usam pacotes-padrão para tarefas-padrão, como folha de pagamento e contas a receber. Alguns fornecedores de software se especializam em determinado segmento “vertical” de negócios, servindo cliente semelhante, como farmácias, autopeças etc. Software de Mercado Vertical Software desenvolvido especialmente para um negócio em particular. Este software é direcionado ao usuário e geralmente apresenta opções com uma série de telas fáceis de acompanhar que minimizam o treinamento necessário. 144 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância O fornecedor inclui o software como parte do pacote completo que também inclui hardware, instalação, treinamento e suporte. Linguagens de Programação Uma linguagem de programação é uma linguagem criada para instruir o computador a realizar suas tarefas. Um programa completo, escrito em uma linguagem de programação, é frequentemente denominado de código. Portanto, codificar um algoritmo significa converter suas declarações em um comando ou instruções específicas de uma certa linguagem de programação. O tipo mais primitivo de linguagem de programação é a linguagem que o computador entende diretamente, isto é, as instruções que podem ser diretamente executadas pelo hardware, conhecida como linguagem de máquina, que foi utilizada pela primeira geração de computadores. Uma instrução de máquina é um conjunto de bits, divididos em subconjuntos, com funções determinadas: um subconjunto estabelece o código de operação e o outro define a localização dos dados. Uma linguagem que refletisse mais os procedimentos utilizados na solução de um problema, sem preocupações com o tipo de CPU, ou de memória, foi o grande passo para a criação de uma linguagem mais simples. Essa linguagem, por ser estruturada de acordo com a compreensão e intenção do programador, é conhecida como “linguagem de alto nível”. Uma linguagem de alto nível, ou orientada ao problema, permite que o programador especifique a realização de ações do computador com muito menos instruções. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 145 Desde o aparecimento de linguagens com FORTRAN, COBOL, BASIC e agora com Java, linguagens para dispositivos móveis (Android SDK), dezenas de linguagens de alto nível foram desenvolvidas, seja para uso geral ou para resolver tipos mais específicos de problemas. MONTAGEM E COMPILAÇÃO Os programas de computador, como vimos anteriormente, são escritos em formas simbólicas de representar as instruções que o programador deseja que sejam realizadas. Mas as máquinas continuam entendendo somente em binário, e por isso, sempre há necessidade de conversão ou tradução de um programa em linguagem simbólica para outro, equivalente, em linguagem binária. Montagem A tradução mais simples e rápida que existe denomina-se montagem e é realizada por um programa denominado montador (assembler). A montagem é realizada para traduzir um programa em linguagem de montagem para seu equivalente em linguagem binária, executável. Basicamente, as funções de um montador são: • Substituir códigos de operações simbólicas por valores numéricos (por exemplo, substituir LOAD por 00101101). • Substituir nomes simbólicos de endereços por valores numéricos dos endereços. • Reservar espaços de memória para o armazenamento de instruções. • Converter valores de constantes para o código binário. 146 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância Compilação Para converter para linguagem de máquina um programa escrito em linguagem de mais alto nível que o da linguagem de montagem, então o método utilizado chama-se Compilação. Portanto, Compilação é o processo de análise de um programa escrito em linguagem de alto nível, o programa fonte (ou código-fonte) e sua conversão (ou tradução) em um programa equivalente, só que descrito em linguagem binária de máquina (código-objeto). O programa que fará essa conversão é denominado Compilador. Durante a compilação o código-fonte é analisado, comando por comando. Inicialmente, o compilador realizará uma análise do código-fonte, dividido em três partes funcionalmente distintas: • Análise Léxica: consiste em decompor o programa fonte em seus elementos individuais distintos (comandos, operadores, variáveis etc.), os quais são verificados de acordo com as regras da linguagem (por exemplo, em C, o sinal de igual é composto por dois símbolos ==), gerando mensagem de erro se for encontrada alguma incorreção. • Análise Sintática: consiste na criação de estruturas de cada comando, na verificação da correção dessas estruturas e na alimentação da tabela de símbolos com as informações geradas. • Análise Semântica: consiste em realizar pelo compilador as regras semânticas estáticas da linguagem, produzindo da mesma forma que os demais analisadores, mensagens de erros para as incorreções ou inconsistências semânticas. Ligação ou Linkedição Quando um programador escreve um programa, ele não se preocupa em codificar determinadas operações, porque o código binário necessário para realizar aquelas tarefas já existe armazenado no sistema. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 147 É preciso apenas que o código em questão seja buscado onde estiver e incorporado ao programa. Um código gerado por um compilador não é imediatamente executável, visto que ainda há código binário a ser incluído no programa, como uma chamada de rotina de impressão, ou uma chamada de rotina para cálculo etc. Interpretação A Interpretação, embora tenha o mesmo resultado final das outras três fases descritas anteriores, apresenta o modo de realização da interpretação bastante diverso do método de compilação/ligação/execução. O método de interpretação se caracteriza por realizar as três fases (compilação, ligação e execução) comando a comando, do programa-fonte. Não há, pois, um processo explícito de compilação e ligação. Na realidade, um programa-fonte é diretamente executado (interpretado) por um programa (o interpretador) e produz o resultado. Não há produtos intermediários, como o código-objeto ou código executável, como acontece no método anterior. Em resumo, pelo método de interpretação, cada comando do código-fonte é lido pelo interpretador, é convertido em código executável e imediatamente executado antes que o comando seguinte seja lido. Compilação x Interpretação Ambos os métodos possuem vantagens e desvantagens oriundas do modo próprio de funcionamento de cada um. 148 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância A principal vantagem da interpretação sobre a compilação é sua capacidade de identificar e indicar um erro no programa-fonte, seja na etapa de conversão da fonte para executável (estática), seja na execução do código binário (dinâmica), isto é, erro na lógica do algoritmo ou na inconsistência entre o valor do dado e o tipo de dado definido. Uma razoável desvantagem da interpretação é o consumo de memória. O método de compilação utiliza memória apenas por períodos definidos de tempo, ou seja, só permanece na memória durante a fase de compilação; ao terminar esta fase, o compilador cede espaço para o ligador e este, em seguida, cede espaço para o carregador executar o código binário. CONSIDERAÇÕES FINAIS Como vimos, são vários os Sistemas Operacionais existentes, tanto por fabricantes como por formas de comercialização e também para os diversos tipos de dispositivos existentes. Conhecer o seu funcionamento e também a sua comercialização é importante para decidirmos o tipo de arquitetura que ela contempla e também como adquiri-la. Os Softwares Aplicativos também foram destaque nesta unidade, pois de nada adiantariam toda a arquitetura se não houvesse o que disponibilizar para o usuário. Também foi abordado um pouco sobre a linguagem de programação e suas formas de “tradução” para que a máquina pudesse entender. ATIVIDADE DE AUTOESTUDO 1. Compare os dois modos: compilação e interpretação. Indique em que circunstâncias um modo é mais vantajoso que o outro. 2. Como a utilização de computadores seria afetada se não houvesse Interfaces Gráficas e se todos os Sistemas Operacionais utilizassem somente interface baseada em comandos? 3. O Mac Os, pelo que foi descrito nesta unidade, se apresenta mais fácil de ser utilizado do que o Windows, mas quem é mais utilizado é o Windows no mercado. Qual sua opinião sobre isso? O que a Apple deve fazer para aumentar sua participação no mercado? FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 149 Embora seja distribuído gratuitamente e considerado bem desenvolvido e eficiente, o Sistema Operacional Linux é rejeitado pela maioria das empresas. O que você acha que deveria acontecer para que mais empresas se dispusessem a instalar o Linux em seus computadores? MACHADO, Francis Berenger; MAIA, Luiz Paulo. Introdução à arquitetura de sistemas operacionais. Rio de Janeiro: Livros Técnicos e Científicos,c1992.143p. PEEK, Jerry; TODINO, Grace; STRANG, John. Aprendendo o sistema operacional UNIX. Rio de Janeiro: Infobook, 1999. 115 p. 150 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância CONCLUSÃO Após a leitura deste livro, você, acadêmico, deve ter percebido que no exercício da sua vida profissional conhecer a arquitetura de um computador é essencial para o seu sucesso. Conhecendo as arquiteturas, você poderá tomar decisões para as empresas, em relação a qual computador (arquitetura), qual dispositivo de entrada/saída, meios de armazenamento, são mais adequados para atender à necessidade. Lembre-se! Você não tem a necessidade de conhecer toda a arquitetura, todos os tipos de memória, ou de CPU´s que existem nesse universo de TI. O que é necessário saber é sobre o que procurar e onde encontrar. Para isso que as aulas e esse material e os demais do seu curso servem. Por isso, nunca se esqueça de estar sempre atento às constantes mudanças que a área da Tecnologia vem sofrendo nos últimos anos, pois você já possui as noções básicas para analisar uma arquitetura, contribuindo assim para o sucesso de seus empreendimentos. Boa Sorte e Sucesso! FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 151 REFERÊNCIAS CAPRON, H. L.; JOHNSON, J. A.; SANTOS, José Carlos Barbosa dos. Introdução à informática. São Paulo: Pearson Prentice Hall, 2007. 350 p. CARTER, Nicholas; MILLER JR., Ralph. Teoria e problemas de arquitetura de computadores. Porto Alegre: Bookman, 2003. 240 p. (Coleção Schaum). DE ROSE, César A. F.; NAVAUX, Philippe Olivier Alexandre. Arquiteturas paralelas. Porto Alegre: Bookman, 2008. 152 p. (Série Livros didáticos; 15) ISBN 9788577803095 FERNANDES, Edil S. T.; SANTOS, Anna Dolejsi; WEBER, Taisy Silva, ed; ESCOLA DE COMPUTAÇÃO (8.: 1992 AGO. 3-12: GRAMADO). Arquiteturas superescalares: detecção e exploração do paralelismo de baixo nível. Porto Alegre: Instituto de Informática da UFRGS, 1992. 135 p. FERRI, Enrique Humberto Hernandez. Introdução ao 80386/486. [s.l.] [s.n.], São Paulo. 356 p. FOROUZAN, Behrouz A.; FIGUEIREDO, Glayson Eduardo de. Comunicação de dados e redes de computadores. 3.ed. Porto Alegre: Bookman, 2006. 840p. FOWLER, Martin; FERNANDES, Acauan. Padrões de arquitetura de aplicações corporativas. Porto Alegre: Bookman, 2006. 493 p. ISBN 8536306386 GARCIA, Paulo Alves; MARTINI, José Sidnei Colombo. Eletrônica digital: teoria e laboratório. São Paulo: Érica, 2006. 182 p. MACHADO, Francis Berenger; MAIA, Luiz Paulo. Introdução à arquitetura de sistemas operacionais. Rio de Janeiro: Livros Técnicos e Científicos, c1992. 143 p. _______. Arquitetura de sistemas operacionais. 2. ed. Rio de Janeiro: Livros Técnicos e Científicos, 1999. 232 p. MENDONÇA, Alexandre; FRANÇA, Paulo Roberto; ZELENOVSKY, Ricardo. Hardware: programação virtual de I/0 e interrupções. Rio de Janeiro: MZ, 2001. 256 p. MENDONÇA, Alexandre; ZELENOVSKY, Ricardo. Monte seu protótipo ISA controlado por 152 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância FPGA. Rio de Janeiro: MZ, 2001. 107 p. MONTEIRO, Mário A. Introdução à organização de computadores. 4. ed. Rio de Janeiro: Livros Técnicos e Científicos, 2002. 498 p. PEEK, Jerry; TODINO, Grace; STRANG, John. Aprendendo o sistema operacional UNIX. Rio de Janeiro: Infobook, 1999. 115 p. PATTERSON, David; HENNESSY, John L.; VIEIRA, Daniel; JOÃO JUNIOR, Mario. Organização e projeto de computadores: a interface hardware/software. 3. ed. Rio de Janeiro: Elsevier, 2005. 484 p. SILBERSCHATZ, Abraham; GALVIN, Peter Baer; GAGNE, Greg. Fundamentos de sistemas operacionais. Rio de Janeiro: LTC, 2011. 515 p. TANENBAUM, Andrew S. Organização estruturada de computadores. 5. ed. São Paulo: Pearson, 2010. 449 p. ISBN 978-85-7605-067-4 VERDE, Raul. Computadores digitais-2. Lisboa: Dinalivro, 1984. 545 p. WEBER, Raul Fernando. Arquitetura de computadores pessoais. 2. ed. Porto Alegre: Sagra – DC Luzzatto, 2008. 271 p (Série Livros didáticos; 6). _______. Fundamentos de arquitetura de computadores. 3. ed. Porto Alegre: Bookman, 2008. 306 p (Série Livros didáticos; 8). WHITE, Ron. Como funciona o computador. 2. ed. Emeryville: Ziff-Davis; São Paulo: Quark, 1993. 202 p. ZELENOVSKY, Ricardo; MENDONÇA, Alexandre. PC: um guia prático de hardware e interfaceamento. 4. ed. Rio de Janeiro: MZ, 2006. 1175 p. FUNDAMENTOS E ARQUITETURA DE COMPUTADORES | Educação a Distância 153