Você está na página 1de 109

PROF.

JOO PAULO DE BRITO GONALVES

INTRODUO INFORMTICA

CACHOEIRO DE ITAPEMIRIM 2009

introducao_informatica.indd 1

15/07/2009 15:03:53

Governo Federal Ministro de Educao Fernando Haddad Ifes Instituto Federal do Esprito Santo Reitor Dnio Rebello Arantes Pr-Reitora de Ensino Cristiane Tenan Schlittler dos Santos Coordenadora do CEAD Centro de Educao a Distncia Yvina Pavan Baldo Coordenadoras da UAB Universidade Aberta do Brasil Yvina Pavan Baldo Maria das Graas Zamborlini Curso Licenciatura em Informtica Coordenao de Curso Giovany Frossard Teixeira Designer Instrucional Jonathan Toczek Souza Professor Especialista/Autor Joo Paulo de Brito Gonalves

G635i Gonalves, Joo Paulo de Brito Introduo informtica / Joo Paulo de Brito Gonalves. 2009. Cachoeiro de Itapemirim: Ifes, 2009. 109 folhas. Material do curso de Licenciatura de Informtica Distncia Instituto Federal do Esprito Santo, Campus Cachoeiro de Itapemirim, 2009. 1. Informtica - Introduo. 2. Processamento de dados. 3. Computadores Evoluo. I. Ttulo. CDD 004.25

DIREITOS RESERVADOS Ifes Instituto Federal do Esprito Santo Av. Vitria Jucutuquara Vitria ES - CEP - (27) 3331.2139 Crditos de autoria da editorao Capa: Juliana Cristina da Silva Projeto grfico: Juliana Cristina da Silva / Nelson Torres Iconografia: Nelson Torres Editorao eletrnica: Duo Translations Reviso de texto: Zenas Vieira Romano COPYRIGHT proibida a reproduo, mesmo que parcial, por qualquer meio, sem autorizao escrita dos autores e do detentor dos direitos autorais.

Licenciatura em Informtica

introducao_informatica.indd 2

15/07/2009 15:03:55

Ol, Aluno(a)!

um prazer t-lo conosco. O Ifes oferece a voc, em parceria com as Prefeituras e com o Governo Federal, o Curso de Licenciatura em Informtica, na modalidade distncia. Apesar de este curso ser ofertado distncia, esperamos que haja proximidade entre ns, pois, hoje, graas aos recursos da tecnologia da informao (e-mails, chat, videoconfernca, etc.), podemos manter uma comunicao efetiva. importante que voc conhea toda a equipe envolvida neste curso: coordenadores, professores especialistas, tutores distncia e tutores presenciais. Assim, quando precisar de algum tipo de ajuda, saber a quem recorrer. Na EaD - Educao a Distncia - voc o grande responsvel pelo sucesso da aprendizagem. Por isso necessrio que se organize para os estudos e para a realizao de todas as atividades, nos prazos estabelecidos, conforme orientao dos Professores Especialistas e Tutores. Fique atento s orientaes de estudo que se encontram no Manual do Aluno! A EaD, pela sua caracterstica de amplitude e pelo uso de tecnologias modernas, representa uma nova forma de aprender, respeitando, sempre, o seu tempo. Desejamos a voc sucesso e dedicao!

Equipe do Ifes

Introduo Informtica

introducao_informatica.indd 3

15/07/2009 15:03:55

ICONOGRAFIA
Veja, abaixo, alguns smbolos utilizados neste material para gui-lo em seus estudos.

Fala do Professor

Conceitos importantes. Fique atento!

Atividades que devem ser elaboradas por voc, aps a leitura dos textos.

Indicao de leituras complemtares, referentes ao contedo estudado.

Destaque de algo importante, referente ao contedo apresentado. Ateno!

Reflexo/questionamento sobre algo importante referente ao contedo apresentado.

Espao reservado para as anotaes que voc julgar necessrias.

Licenciatura em Informtica

introducao_informatica.indd 4

15/07/2009 15:03:55

INTRODUO INFORMTICA

Cap. 1 - CONCEITOS DE PROCESSAMENTO DE DADOS 9


1.1. Dados X Informao 9 1.2 Processamento de Dados 13 1.2.1 Entrada 14 1.2.2 Processamento 14 1.2.3 Sada 14 1.2.4 Armazenamento 14

Cap. 2 - EVOLUO DOS COMPUTADORES 17


2.1 Geraes de Computadores 17 2.1.1 Gerao Zero 17 2.1.2 Primeira Gerao 22 2.1.3 Segunda Gerao 24 2.1.4 Terceira Gerao 25 2.2 A Era dos Microcomputadores e das Interfaces Grficas 26

Cap. 3 - SISTEMAS NUMRICOS 33


3.1 Introduo aos Sistemas Numricos 33 3.1.1. Sistema Binrio 34 3.1.2 Sistema Hexadecimal 35 3.2 Representao Interna de Dados no Computador 39 3.2.1. Cdigo Ascii 41

Cap. 4 - ORGANIZAO E ARQUITETURA DE SISTEMAS DE COMPUTADORES ATUAIS 45


4.1 Hardware X Software 45 4.1.1. Software Bsico 46 4.1.2 Utilitrios 47 4.1.3 Aplicativos 48 4.2 O Conceito de Arquitetura 48 4.3 Nveis de Arquitetura 50 4.4 Compilao de Programas 51 4.5 Execuo de Programas 53

Introduo Informtica

introducao_informatica.indd 5

15/07/2009 15:03:56

Cap. 5 - MEMRIA 57
5.1 5.2 5.2 5.3 Introduo 57 Tipos de Dispositivos de Memria 59 Endereamento da Memria Principal 61 A Interao entre Processador e Memria Principal 63 5.4 Memrias Cache 65

Cap. 6 - PROCESSADORES 71
6.1 6.2 6.3 6.4 A Seo de Processamento 71 A Execuo de Instrues 74 A Seo de Controle 75 O Sinal de Clock 77

Cap. 7 - DISPOSITIVOS DE DISCO 81


7.1 Introduo 81 7.2 Discos Rgidos 82 7.2.1 Geometria de um HD 84 7.3 Taxa de Transferncia Interna e Externa 85

Cap. 8 - DISPOSITIVOS DE ENTRADA E SADA 89


8.1 Introduo aos Dispositivos de E/S 89 8.2 Organizao de uma Interface de E/S 91 8.3 Tcnicas de Transferncia de Dados 93 8.3.1. E/S com Polling 93 8.3.2 E/S com Interrupo 95 8.3.3 E/S com Acesso Direto Memria 96

Cap. 9 - TPICOS AVANADOS EM ARQUITETURA DE COMPUTADORES 99


9.1 A tcnica de pipelining 99 9.2 Arquiteturas Superescalares 101 9.3 Arquiteturas RISC x CISC 102 9.3.1 A Filosofia RISC 104 9.4 Arquiteturas Paralelas 106

REFERNCIAS BIBLIOGRFICAS 109

Licenciatura em Informtica

introducao_informatica.indd 6

15/07/2009 15:03:56

APRESENTAO
Ol! Meu nome Joo Paulo de Brito Gonalves, responsvel pela disciplina Introduo Informtica. Atuo como professor do Ifes h um ano e j lecionei em outras instituies de ensino superior (FACIG, UNIPAC e DOCTUM). Sou graduado em Cincia da Computao (2003) pela UFJF e Mestre em Informtica (2006) pelo IME. Atualmente fao ps-graduao em Administrao em Redes Linux pela Universidade Federal de Lavras. Minhas reas de interesse so: Redes de Computadores, com nfase em servios de rede, Sistemas Operacionais com nfase em virtualizao e Organizao e Arquitetura de Computadores. Nesta disciplina, voc conhecer a organizao bsica de um computador e ter as noes iniciais sobre informtica que sero essenciais no decorrer do seu curso. Visto que uma disciplina introdutria, sendo, portanto, oferecida no primeiro semestre, no sero necessrios conhecimentos prvios acerca dos assuntos aqui abordados. O objetivo deste material auxili-lo no estudo da disciplina Introduo Informtica, por meio de dicas e sugestes que destacam os pontos mais importantes a serem estudados. Aqui voc encontrar conceitos com os quais trabalharemos ao longo de todo o Curso, o que no dispensa a utilizao dos outros livros que fazem parte da bibliografia sugerida. Em geral, para ser bem sucedido neste curso, importante que se faam os exerccios e se estude regularmente, evitando-se, dessa forma, o acmulo de contedo. Por falar nisso, acumular contedo deve ser evitado em qualquer processo educacional, pois compromete o aprendizado do aluno e torna o ato de estudar montono e enfadonho. Deve ser ainda mais evitado em EaD, pois a organizao do tempo se torna essencial para o sucesso de qualquer empreitada. Ento, se voc pode tornar o seu aprendizado uma viagem divertida por um universo novo e rico em possibilidades, por que no faz-lo? Assim, desejo a voc muito sucesso e empenho nesta etapa que se inicia!

Prof. Joo Paulo de Brito Gonalves

Introduo Informtica

introducao_informatica.indd 7

15/07/2009 15:03:56

Licenciatura em Informtica

introducao_informatica.indd 8

15/07/2009 15:03:56

CONCEITOS DE PROCESSAMENTO DE DADOS

Prezado aluno, Comearemos nossa primeira aula com uma viso geral sobre a funo primordial dos computadores, que a transformao de dados em informaes teis para ns, seres humanos. A despeito de quo diferentes so as formas atravs das quais os computadores realizam esta tarefa, o ciclo entrada-processamentosada est presente em todas as abordagens. Entender como esse ciclo acontece e conhecer os dispositivos participantes do processo so os objetivos que esperamos que voc alcance ao final do captulo, quando voc dever comprovar seus conhecimentos realizando os exerccios propostos. Bom estudo!

1.1. Dados X Informao


Com o crescimento das atividades do homem em vrios setores da vida, e com o aumento do fluxo de informaes, surge, cada vez mais, a necessidade de organizar tais informaes de forma prtica, rpida e segura. Houve um tempo em que arquivos com pastas suspensas eram bastante utilizados e muito teis para o armazenamento de informaes. Atualmente, esse tipo de recurso no atende necessidade de armazenamento e organizao dos dados, devido grande produo de informaes e ao tempo desperdiado em pesquisas com essa forma de armazenamento. Ento, comeou a surgir a necessidade do uso de algum dispositivo que permitisse o armazenamento destes dados de forma eletrnica. Mas o que so dados?

Dados so conjuntos de informao em estado bruto que, atravs de determinados processos, se transformam em informao.

Introduo Informtica

introducao_informatica.indd 9

15/07/2009 15:03:56

10 Captulo 1

Ou seja, os dados, por si s, no apresentam significado til para o ser humano, so apenas smbolos, letras ou nmeros. Um exemplo ilustrativo o processo de criao de textos com um editor de texto. Quando inserimos os caracteres que iro compor o texto, letras, nmeros e caracteres especiais, estes individualmente no possuem significado til para o ser humano. Entretanto, ao ser agrupado sob a forma de um texto, o conjunto passa a expressar algum significado, se tornando com isso, informao. Mas o que ento informao?

Informao um conjunto de resultados que so obtidos aps um processamento, e que geralmente possui significado, de forma a ser til em algum processo da atividade humana.

Muitas pessoas associam o conceito de informao ao uso do computador de forma indissocivel, entretanto a transformao de dados em informaes acontece desde os primrdios da humanidade. O que o computador realiza na verdade, o processamento automtico de dados, que pode ser definido como qualquer atividade que, utilizando informaes (ou dados), efetua transformaes para obter novas informaes (ou dados) como resultado. Voltando ao exemplo do editor de texto, as transformaes envolvidas na criao do texto seriam o agrupamento e a formatao dos dados para formar o texto completo. Desta definio da principal funo do computador, podemos derivar uma definio para o prprio computador.

O Computador uma ferramenta que permite a realizao do processamento automtico (ou eletrnico) de dados, visando criao de informao.

Os computadores vm ocupando espao, esto cada vez mais presentes, at mesmo em lugares antes inimaginveis. No cinema, por exemplo, os filmes so projetados com auxlio de computadores; em uma farmcia, por menor que ela seja, sempre existe um computador para registrar os produtos e os preos. Tudo isso sem falar nas grandes empresas, bancos, supermercados, escolas, hospitais, enfim, onde a utilizao desses equipamentos for til.

Licenciatura em Informtica

introducao_informatica.indd S1:10

15/07/2009 15:03:56

11 Conceitos de Processamento de Dados

E em quantas partes se divide um computador? Bom, podemos considerar duas formas de diviso. Uma a diviso externa, que visvel para qualquer pessoa. A outra a diviso interna, onde esto os componentes de sua arquitetura, que permitem que ele realize processamento automtico de dados. Por ora, vamos conhecer a organizao externa dos computadores, que se encontra na figura 1.1.

Figura 1.1: organizao externa do computador Fonte: Histria do Computador (2009)

Na diviso acima ilustrada, encontramos dispositivos bastante conhecidos do nosso dia-dia. Temos o teclado, til para a entrada de dados no computador, o mouse, tambm usado para inserir comandos de clique e posicionamento dentro do computador, o monitor, utilizado para apresentar as informaes geradas dentro do computador para o usurio, e o gabinete, que contm um conjunto de componentes e dispositivos responsveis pelo processamento e funcionamento do computador e equipamentos auxiliares. Os computadores podem ser classificados de acordo com seu porte e funcionalidade. Uma classificao simples pode ser feita assim: a) computadores de porte manual ou PDAs; b) notebooks ou computadores portteis; c) computadores de mesa ou desktops; e, d) mainframes ou computadores de grande porte e os supercomputadores.
Introduo Informtica

introducao_informatica.indd S1:11

15/07/2009 15:03:56

12 Captulo 1

Vale citar que, por conta das intersees existentes entre funcionalidades de dispositivos eletrnicos temos, por exemplo, telefones celulares atuando como computadores. Com isso, torna-se um tanto complexa uma diviso em categorias distintas.

PDA (Personal Digital Assistants) ou Handheld, o Assistente Pessoal Digital, um computador de dimenses reduzidas, dotado de grande capacidade computacional, cumprindo as funes de agenda e sistema de escritrio elementar, com possibilidade de interconexo com um computador pessoal em uma rede sem fios

Um mainframe um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informaes. Os mainframes so capazes de oferecer servios de processamento a milhares de usurios atravs de milhares de terminais conectados diretamente ou atravs de uma rede.

Este o momento de chamar sua ateno para uma importante associao que caso no tenha sido feita, importante que se faa agora. Lendo os pargrafos anteriores, voc prestou ateno quando foi descrito que o teclado e o mouse permitem a entrada de dados e comandos e o monitor permite a sada das informaes? Lembrase, ainda, que foi dito anteriormente que a funo primordial do computador a transformao automtica de dados visando gerar informao? Desta forma, acho que j possvel visualizar na sua vida prtica esta dinmica, no ?

Alm do teclado e do mouse como dispositivos de entrada e do monitor como dispositivo de sada, que outros dispositivos do computador voc imaginaria com as mesmas funes?

Licenciatura em Informtica

introducao_informatica.indd S1:12

15/07/2009 15:03:56

13 Conceitos de Processamento de Dados

1.2 Processamento de Dados


Como falado anteriormente, a funo primordial do computador a transformao de dados em informaes teis para ns, seres humanos. Mas, como realizada esta transformao? Em linhas gerais, podemos definir o ciclo de processamento do computador como composto por trs etapas bsicas: entrada, processamento e sada. Na etapa de entrada, os dados so inseridos de forma eletrnica no computador atravs de dispositivos projetados para esta finalidade, chamados de dispositivos de entrada. Na etapa de processamento, os dados so manipulados internamente no computador de forma a gerar os dados de sada, ou informao que so visualizados atravs de dispositivos de sada. Caso estas informaes geradas sejam relevantes para o uso posterior do usurio, elas podem ser armazenadas em dispositivos de armazenamento.

Figura 1.2: ciclo entrada-processamento-sada

Os dispositivos envolvidos neste processo so muitos, sendo que a figura 1.3 nos d uma ideia da tamanha diversidade existente. As prximas sees abordaro cada uma das classes de dispositivos envolvidos no processo.

Figura 1.3: exemplos de dispositivos de entrada, sada, processamento e armazenamento Fonte: Histria do Computador (2009) Introduo Informtica

introducao_informatica.indd S1:13

15/07/2009 15:03:56

14 Captulo 1

1.2.1 Entrada Os dispositivos de entrada permitem ao usurio comunicar-se com o computador. Podem ser utilizados para recolher dados de entrada fornecidos pelo usurio e emitir comandos. O teclado, o mouse e o joystick so exemplos de dispositivos de entrada. 1.2.2 Processamento A Unidade de Processamento Central (CPU) o processador, dispositivo principal de um computador. O processador processa instrues, efetua clculos e gere o fluxo da informao. A CPU est para um computador assim como o crebro est para o ser humano. O processador o responsvel pela execuo das instrues do programa (software), recorrendo a todos os componentes da arquitetura envolvente para realizar as tarefas que no dependam exclusivamente de si (ex.: leitura do teclado, impresso, apresentao no monitor etc.). Podemos, ento, dizer que o processador recebe os dados de entrada, efetua operaes com eles e devolve as informaes atravs dos dispositivos de sada. 1.2.3 Sada Os dispositivos de sada permitem que o computador se comunique com o usurio. Eles convertem informaes eletrnicas produzidas pelos programas instalados no computador em uma forma inteligvel pelo homem, com o fim de serem apresentadas aos usurios finais. Ainda que seja possvel receber informaes dos computadores em uma multiplicidade de formas, os monitores de vdeo e as impressoras foram, e ainda so, as formas mais comuns de sada de dados dos computadores. 1.2.4 Armazenamento Um dispositivo de armazenamento usado para guardar informao para um uso posterior. Desta forma, estes dispositivos podem ser usados tanto para leitura de arquivos quanto para sua gravao. Um dos principais dispositivos de armazenamento o disco rgido ou HD (Hard Disk), pois armazena todos os programas e dados, que ficam gravados no computador aps o seu desligamento. Alm dele, so dispositivos de armazenamento: disquetes, CDs, DVDs etc.

Licenciatura em Informtica

introducao_informatica.indd S1:14

15/07/2009 15:03:56

15 Conceitos de Processamento de Dados

[1] MONTEIRO, M. A., Introduo a Organizao de Computadores. Editora LTC, 2006 [2] MURDOCCA, M. J.; HEURING V.P., Introduo a Arquitetura de Computadores, Rio de Janeiro, Editora Campus, 2001. [3] PATTERSON, D. A.; HENESSY, J. L., Organizao e Projeto de Computadores. Editora LTC, 2000 [4] TANENBAUM, A. S., Organizao Estruturada de Computadores. Editora LTC, 1999

Atividades Responda s questes abaixo e depois envie-as pelo ambiente Moodle, seguindo as instrues de formato e data de entrega descritas na Tarefa 1: a) Diferencie dados de informao e explique como um gerado a partir do outro. b) Quais as funes dos dispositivos de entrada? Cite pelo menos dois exemplos diferentes dos vistos no captulo. c) Quais as funes dos dispositivos de sada? Cite pelo menos dois exemplos diferentes dos vistos no captulo. d) Quais as funes dos dispositivos de armazenamento? Cite pelo menos dois exemplos diferentes dos vistos no captulo. 3 At alguns anos atrs existiam os termos notebook e lap-top para designar computadores portteis, que podiam ser carregados em uma maleta. Hoje em dia, estes termos so considerados intercambiveis sendo que vemos uma predominncia de uso do termo notebook. Entretanto, quando foram originalmente criados, estes dois termos designavam computadores diferentes. Pesquise na Internet as diferenas entre eles. 4 Pesquise e descreva as diferenas entre os PDAs e os Smartphones.

Introduo Informtica

introducao_informatica.indd S1:15

15/07/2009 15:03:56

16 Captulo 1

Licenciatura em Informtica

introducao_informatica.indd S1:16

15/07/2009 15:03:57

17

EVOLUO DOS COMPUTADORES

Prezado aluno, Agora que voc j entende a funo primordial de um computador e consegue visualizar como o processo de uso acontece em linhas gerais, hora de entender como o computador chegou at sua forma atual. Neste captulo, voc conhecer as principais invenes que participaram desta evoluo e como elas se complementaram em um processo contnuo de desenvolvimento. Ao final da leitura do captulo, os objetivos que voc deve atingir so: entender a importncia das invenes histricas para a criao dos computadores e o impacto que estas transformaes tiveram em nossa sociedade atual. Na atividade proposta no ambiente voc dever entender um pouco mais uma inveno de sua escolha, descrevendo-a em uma tarefa descrita ao final do captulo. Bom estudo!

2.1 Geraes de Computadores


2.1.1 Gerao Zero Desde os primrdios da humanidade, o ser humano vem buscando criar uma srie de auxlios para ajud-lo em suas necessidades de clculo e resoluo de problemas. Os homens primitivos no tinham necessidade de contar, pois o que necessitavam para a sua sobrevivncia era retirado da prpria natureza. A necessidade de contar comeou com o desenvolvimento das atividades humanas, quando o homem foi deixando de ser pescador e coletor de alimentos para fixar-se no solo. O homem comeou a plantar, produzir alimentos, construir casas, protees e fortificaes, e passou a domesticar animais, usando os mesmos para obter a l e o leite, tornando-se criador de animais domsticos, o que trouxe profundas modificaes na vida humana.

Introduo Informtica

introducao_informatica.indd S1:17

15/07/2009 15:03:57

18 Captulo 2

As primeiras formas de agricultura de que se tem notcia, foram criadas h cerca de dez mil anos na regio que hoje denominada Oriente Mdio. A agricultura passou ento a exigir o conhecimento do tempo, das estaes do ano e das fases da Lua. Assim comearam a surgir as primeiras formas de calendrio. No pastoreio, o pastor usava vrias formas para controlar o seu rebanho. Pela manh, ele soltava os seus carneiros e analisava ao final da tarde, se algum tinha sido roubado, fugido, se perdido do rebanho ou se havia sido acrescentado um novo carneiro ao rebanho. Assim eles tinham a correspondncia um a um, onde cada carneiro correspondia a uma pedrinha que era armazenada em um saco. No caso das pedrinhas, cada animal que saa para o pasto de manh correspondia a uma pedra que era guardada em um saco de couro. No final do dia, quando os animais voltavam do pasto, era feita a correspondncia inversa, onde, para cada animal que retornava, era retirada uma pedra do saco. Se no final do dia sobrasse alguma pedra, porque faltava algum dos animais e se algum fosse acrescentado ao rebanho, era s acrescentar mais uma pedra. A palavra que usamos hoje, clculo, derivada da palavra latina calculus, que significa pedra pequena. A correspondncia unidade a unidade no era feita somente com pedras, mas eram usados tambm ns em cordas, marcas nas paredes, talhes em ossos, desenhos nas cavernas e outros tipos de marcao. Devido s limitaes mentais dos homens primitivos, eles necessitaram com o tempo criar uma srie de auxlios para ajud-los em sua crescente necessidade de calcular. Uma das ferramentas mais antigas j criadas para ajudar o homem a calcular foi o baco. O baco surgiu aproximadamente a 4.000 a.C. Em sua verso original, ele era formado por uma placa de argila, onde se escreviam algarismos que auxiliavam nos clculos. Aps aprimoramentos, cerca de 200 a.C., o baco era constitudo por uma moldura retangular de madeira, com varetas paralelas e pedras deslizantes. Um dos bacos mais populares foi desenvolvido na China, foi chamado de Suan-Pan e era usado para adies e subtraes.

Licenciatura em Informtica

introducao_informatica.indd S1:18

15/07/2009 15:03:57

19 Evoluo dos Computadores

Figura 2.1 baco Fonte: Histria do Computador (2009)

Passaram-se sculos sem que qualquer inveno ficasse registrada at que fossem criados os bastes de Napier no final do sculo XVI. Eram tabelas mveis de multiplicao e diviso feitas de marfim. O responsvel foi um nobre escocs chamado John Napier, inventor tambm dos logaritmos. Apesar de dispositivos semelhantes aos bastes terem sido usados desde o final do sculo XVI, eles s apareceram documentados a partir de 1614. Um conjunto completo de bastes de Napier consiste em 9 peas: uma para cada dgito de 1 a 9 e ajudava no processo de multiplicao de nmeros. Em 1642, um francs de 18 anos de nome Blaise Pascal, inventou a primeira mquina de somar, a Pascalina, que executava operaes aritmticas, quando se giravam os discos interligados. Essa mquina foi a precursora das calculadoras mecnicas.

Figura 2.2 Pascalina Fonte: Histria do Computador (2009)

Em 1802, Joseph Jacquard, na Frana, passou a utilizar cartes perfurados, para controlar suas mquinas de tear e automatiz-las. Esse processo despertou, j nessa poca, temor pelo desemprego, provocando uma grande reao popular contra essa espcie de pr-automao.

Introduo Informtica

introducao_informatica.indd S1:19

15/07/2009 15:03:57

20 Captulo 2

Entre 1802 e 1822, Charles Babbage (1792-1871), um matemtico e engenheiro britnico, construiu a mquina de diferenas que baseavase tambm no princpio de discos giratrios e era operada por uma simples manivela. Babbage considerado o precursor dos modernos computadores eletrnicos digitais.

Figura 2.3 Mquinas das Diferenas Fonte: Histria do Computador (2009)

Em 1833, Babbage projetou uma mquina bastante aperfeioada, que chamou de Mquina Analtica. A Mquina Analtica poderia ser programada para calcular vrias funes diferentes, era constituda de unidade de controle de memria aritmtica e de entrada e sada. Sua operao era governada por conjunto de cartes perfurados, de modo que, de acordo com os resultados dos clculos intermedirios, a mquina poderia saltar os cartes, modificando dessa forma o curso dos clculos. Porm, sua mquina s pde ser concluda anos aps a sua morte, tornando-se a base para a estrutura dos computadores atuais, o que fez com que Charles Babbage fosse considerado como o Pai do Computador. De fato, o projeto de mquina de Babbage muito se aproxima do projeto das mquinas atuais, pois possua dispositivos de entrada e sada, uma memria e engrenagens que permitiam o processamento.

Figura 2.4 Mquina Analtica Fonte: Histria do Computador (2009)

Licenciatura em Informtica

introducao_informatica.indd S1:20

15/07/2009 15:03:59

21 Evoluo dos Computadores

Aproximadamente em 1885, Herman Hollerith, funcionrio do Departamento de Recenseamento dos E.U.A, percebeu que a realizao do censo anual demorava cerca de 10 anos para ser concludo e que a maioria das perguntas tinha como resposta sim ou no. Em 1886 idealizou um carto perfurado que guardaria as informaes coletadas no censo e uma mquina capaz de tabular essas informaes. Construiu ento a Mquina de Recenseamento ou Mquina Tabuladora, perfurando-se cerca de 56 milhes de cartes. Com isso, ele conseguiu obter os resultados em tempo recorde, isto , 3 anos depois do censo ele j tinha os resultados. A mquina foi sucesso nos EUA e foi usada no censo do Canad, ustria e Rssia. Em funo dos resultados obtidos com seu invento, Hollerith, em 1896, fundou uma companhia chamada TMC - Tabulation Machine Company, associando-se, em 1914 a duas outras pequenas empresas, e formando a , que se tornou, em 1924, a conhecida IBM - Internacional Business Machine. Com a chegada da Segunda Guerra Mundial, houve a necessidade de se projetar mquinas capazes de executar clculos balsticos com rapidez e preciso, para serem utilizadas na indstria blica. Desta forma, houve um grande impulso no desenvolvimento dos computadores, e surgiram os primeiros sistemas hbridos eletromecnicos. Com isso, surgiu, em 1944, o primeiro computador eletromecnico, o MARK I, (construdo na Universidade de Harvard, pela equipe do professor H. Aiken, com a ajuda financeira da IBM, que investiu US$ 500.000,00 no projeto). Esse computador, era controlado por programa e usava o sistema decimal, tinha cerca de 15 metros de comprimento e 2,5 metros de altura e era envolvido por uma caixa de vidro e de ao inoxidvel brilhante. Aps ele, foi iniciado o projeto de um computador totalmente eletrnico, iniciando a 1 gerao de computadores.

Figura 2.5 MARK I (IBM archives) Fonte: Histria do Computador (2009)

Introduo Informtica

introducao_informatica.indd S1:21

15/07/2009 15:03:59

22 Captulo 2

2.1.2 Primeira Gerao A primeira gerao de computadores marcada pelo surgimento dos primeiros computadores eletrnicos. Um grande nmero de projetos foram implementados, baseados na utilizao de rels e vlvulas eletrnicas para a realizao de clculos automaticamente.

Os rels so eletroms cuja funo abrir ou fechar contatos eltricos com o intuito de interromper ou estabelecer circuitos. J a vlvula um dispositivo que conduz a corrente eltrica num s sentido.

Uma das grandes vantagens da primeira gerao em relao s mquinas eletromecnicas era, sem dvida, a maior velocidade de processamento. Entretanto, por serem todos baseados em tecnologias de vlvulas eletrnicas, normalmente quebravam aps no muitas horas de uso, devido ao alto aquecimento que as vlvulas alcanavam em pouco tempo de uso. Em 1943, um projeto britnico, sob a liderana do matemtico Alan Turing, colocou em operao uma srie de mquinas mais ambiciosas, dentre elas o Colossus que, ao invs de rels eletromecnicos, usava 2.000 vlvulas eletrnicas. O Colossus trabalhava com smbolos perfurados numa argola de fita de papel que, inserida na mquina de leitura fotoeltrica, comparava a mensagem cifrada com os cdigos conhecidos at encontrar uma coincidncia. Ele processava 25.000 caracteres por segundo e foi muito usado para decifrar cdigos alemes secretos. Talvez o computador mais relevante desta gerao seja o ENIAC (Eletronic Numerical Interpreter and Calculator ou seja, Computador e Intrprete Numrico Eletrnico), projetado para fins militares pelo Departamento de Material de Guerra do Exrcito dos EUA, na Universidade de Pensilvnia. Era o primeiro computador digital eletrnico de grande escala e foi projetado por John W. Mauchly e J. Presper Eckert. A entrada de dados no ENIAC era baseada na tecnologia de cartes perfurados e os programas eram modificados atravs de reconfiguraes no circuito. Apesar das dvidas com relao sua confiabilidade, o ENIAC permaneceu operacional por mais de 10 anos e em algumas operaes, conseguia ser at mil vezes mais rpido que o MARK I.

Licenciatura em Informtica

introducao_informatica.indd S1:22

15/07/2009 15:04:00

23 Evoluo dos Computadores

Figura 2.6 ENIAC Fonte: Histria do Computador (2009)

O ENIAC realmente possua dimenses gigantescas. Veja o ENIAC em nmeros: 18.000 vlvulas 70.000 resistores 10.000 capacitores Peso: 30 toneladas rea: 1 400 m2 Consumo: 150 quilowatts de potncia 5000 adies ou 300 multiplicaes por segundo

Uma das maiores contribuies da poca para a evoluo dos computadores veio de um dos consultores que trabalhavam com o ENIAC, chamado John Von Neumann. Ele percebia as dificuldades inerentes programao destes computadores e delineou com isso os elementos crticos de um sistema de computador (memria, processador e dispositivos de entrada e sada) e o conceito de programa armazenado em memria, que at hoje a base da arquitetura dos computadores. O novo conceito de programao introduzido por Von Neumann deu origem a muitos outros projetos, nos quais ele prprio esteve envolvido, como por exemplo, o EDVAC (Electronic Discrete Variable Automatic Computer), e o IBM 650 (o primeiro computador da IBM). O invento de perifricos como a impressora e dispositivos de fita magntica, e particularmente do transistor, marcaram o fim da primeira gerao de computadores e o incio da segunda, composta por computadores menores e mais econmicos.

Introduo Informtica

introducao_informatica.indd S1:23

15/07/2009 15:04:00

24 Captulo 2

Pode parecer estranho e at engraado que mquinas to grandes e ineficientes como o ENIAC e o EDSAC fossem o que havia de melhor naquela poca. Entretanto, preciso entender que elas eram o que de melhor a tecnologia existente poderia construir. Como no existia nada mais avanado na poca, elas eram consideradas o topo da evoluo tecnolgica humana. Voc pode no ter pensado nisso, mas daqui talvez 60, 70 anos os computadores sero totalmente diferentes dos que temos agora, alm de muito mais rpidos e econmicos. Provavelmente, algum daquela poca olhar para um velho computador de mesa encostado em um canto e ficar imaginando como um computador daqueles pode ter sido o que havia de melhor no mundo em uma poca passada....

2.1.3 Segunda Gerao A segunda gerao foi marcada por computadores transistorizados, ou seja, que usavam um componente eletrnico chamado transistor. Este componente apresentava um consumo e aquecimento muito menores que as vlvulas, alm de serem mais confiveis. Por conta de tambm possuir dimenses menores, sua adoo contribuiu para uma reduo no tamanho dos computadores da poca. Em 1952, John Mauchly e Presper Eckert abriram sua prpria firma na Filadfia e criaram o UNIVAC (Universal Automatic Computer, ou seja, Computador Automtico Universal), destinado ao uso comercial. Mquina eletrnica de programa armazenado, que recebia instrues de uma fita magntica de alta velocidade ao invs dos cartes perfurados, o UNIVAC foi utilizado para prever os resultados de uma eleio presidencial. O UNIVAC marcou tambm o surgimento de dois perifricos: o UNITYPER e UNIPRINTER.

Figura 2.7 UNIVAC e seus perifricos Fonte: Histria do Computador (2009)

Licenciatura em Informtica

introducao_informatica.indd S1:24

15/07/2009 15:04:00

25 Evoluo dos Computadores

Em 1955, conclui-se o primeiro computador transistorizado, feito pela Bell Laboratories: o TRADIC, com 800 transistores, cada um em seu prprio recipiente.

O transistor um componente eletrnico que comeou a se popularizar na dcada de 1950 tendo sido o principal responsvel pela revoluo da eletrnica na dcada de 1960, e cujas funes principais so amplificar e chavear sinais eltricos.

Figura 2.8 TRADIC Fonte: Histria do Computador (2009)

2.1.4 Terceira Gerao De 1958 a 1959, Robert Noyce, Jean Hoerni, Jack Kilby e Kurt Lehovec participaram do projeto de desenvolvimento do primeiro CI - Circuito Integrado. O circuito intergrado um conjunto de transistores e outros componentes eletrnicos miniaturizados e montados numa nica pastilha de silcio. A tecnologia dos circuitos integrados, que permitiu a substituio de dezenas de transistores numa nica pea de silcio, viabilizou o surgimento de computadores de menores dimenses, mais rpidos e menos caros. Em 1960, a IBM lana o IBM/360, cuja srie marcou uma nova tendncia na construo de computadores com o uso de CI. Os computadores desta srie eram mais poderosos e baratos e aceitavam uma grande variedade de perifricos, tornando-se com isso um enorme sucesso comercial.

Introduo Informtica

introducao_informatica.indd S1:25

15/07/2009 15:04:01

26 Captulo 2

Em 1965, a Digital Equipment introduz o PDP-8, primeiro minicomputador comercial com preo competitivo. Naquela poca, o nvel de integrao existente nos chips era de pequena escala de integrao (SSI Small Scale of Integration) com a qual cerca de mil transistores podiam integrar-se no circuito de uma pastilha. Com o passar dos anos, foram desenvolvidas escalas maiores de integrao, de forma a conseguir alocar mais transistores em uma mesma pastilha de silcio.

Figura 2.9 IBM 360 Fonte: Histria do Computador (2009)

Um outro computador desta gerao que conheceu grande sucesso, particularmente nas universidades e centros de pesquisa, foi o minicomputador da srie PDP-11. A inveno dos circuitos integrados teve efeito importante na vitria dos Estados Unidos na disputa espacial com a antiga Unio Sovitica e na conquista da Lua, pois tornou possvel o embarque de computadores mais complexos em foguetes, necessrios para o xito das misses espaciais.

2.2 A Era dos Microcomputadores e das Interfaces Grficas


Em 1974, Ed Roberts, do MITS (Micro Instrumentation and Telemetry Systems), em Albuquerque - Novo Mxico, construiu um microcomputador chamado ALTAIR 8800. Esse microcomputador, construdo com base no processador da Intel, o 8080, descendente do processador Intel 8008, tornou-se um grande sucesso, marcando o incio de uma indstria multibilionria. Roberts esperava vender cerca de oitocentos ALTAIR por ano, mas teve dificuldades para satisfazer 4.000 pedidos. O ALTAIR considerado o primeiro microcomputador comercial criado, e marcou o incio da era de popularizao dos computadores para usurios domsticos.
Licenciatura em Informtica

introducao_informatica.indd S1:26

15/07/2009 15:04:01

27 Evoluo dos Computadores

Nesta poca, dois estudantes, William (Bill) Gates e Paul Allen criam o primeiro software para microcomputador, uma adaptao do BASIC (Beginners All-Purpose Symbolic Instruction Code, ou Cdigo de Instrues Simblicas para todos os Propsitos dos Principiantes) para o ALTAIR. Anos mais tarde, Gates e Allen fundaram a Microsoft, uma das mais bem sucedidas companhias de software para microcomputadores. Enquanto a comercial criado, e marcou o incio da era de popularizao dos computadores para usurios domsticos. Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena empresa, a Apple, onde construram, numa garagem de fundo de quintal, o Apple I. Um ano depois, com um novo e melhor projeto, surge o Apple II, primeiro microcomputador com grande sucesso comercial e, mais tarde, o Apple III. A Apple se tornou uma das maiores fabricantes de microcomputadores e se expandiu rapidamente. Percebendo o rpido crescimento da Apple, a IBM comeou a ficar apreensiva, dado que at ento ela era a maior fabricante de computadores e lder no mercado mundial. At ver o sucesso da Apple, a IBM nunca acreditou que microcomputadores seriam um mercado rentvel, sendo acreditando que o lucro residia nos grandes mainframes empresariais. Rapidamente, a IBM requisita um projeto de um microcomputador para disputar mercado com a Apple, chamado de IBM PC. Aps um acordo de parceria entre a Intel e a Microsoft, a IBM montou e lanou o primeiro PC Personal Computer (Computador Pessoal), com o processador chamado 8088 e usando o sistema operacional MS-DOS. Desta forma, firmou-se uma acirrada disputa que permitiu que milhares de pessoas possussem computadores pessoais em suas casas. Entretanto, ainda havia um problema: todos os computadores da poca possuam a chamada interface de linha de comando, ou seja, a forma atravs da qual o usurio interagia com os computadores era sempre usando comandos inseridos via teclado em uma tela geralmente de baixa resoluo. Com o uso cada vez mais crescente dos computadores por pessoas com pouco conhecimento de informtica, comeava a existir a necessidade da criao de uma forma mais fcil de interao com o sistema. Em uma visita aos laboratrios da Xerox, Steve Jobs, da Apple entrou em contato com tecnologias de ponta que estavam sendo desenvolvidas: a interface grfica e o mouse, um dispositivo apontador que foi ridicularizado na poca. Percebendo o imenso potencial de usabilidade que tais dispositivos teriam, Steve Jobs passa a exigir no projeto de seus computadores o uso da interface grfica, culminando em 1984
Introduo Informtica

introducao_informatica.indd S1:27

15/07/2009 15:04:01

28 Captulo 2

com o lanamento do Macintosh, a linha de computadores mais conhecida da empresa. Posteriormente, a Microsoft lana o WINDOWS 1.0, que foi uma interface grfica para o MS-DOS e era executado no IBM-PC. Essa interface evoluiu para novas verses, culminando no Microsoft Windows, um sistema utilizado por milhes de usurios ao redor do mundo. Hoje existe uma clara tendncia por computadores cada vez menores, mais rpidos e com interface cada vez mais intuitiva, com o uso de dispositivos de fcil interao com o usurio, como telas sensveis ao toque, por exemplo.

ATIVIDADE 1 Descreva em no mximo trs linhas as principais caractersticas de cada gerao de computadores (3 Linhas para cada gerao comeando na gerao zero).

___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________

Licenciatura em Informtica

introducao_informatica.indd S1:28

15/07/2009 15:04:01

29 Evoluo dos Computadores

Figura 2.10 Apple II Fonte: Histria do Computador (2009)

Interface Grfica do usurio um tipo de interface que permite a interao com dispositivos digitais, atravs de elementos grficos como cones e outros indicadores visuais, em contraste interface de linha de comando. A interao feita atravs do mouse ou do teclado, com os quais o usurio capaz de selecionar smbolos e manipul-los de forma a obter algum resultado prtico. Os smbolos so chamados cones e so agrupados em uma tela grfica colorida de alta resoluo.

Figura 2.11 Macintosh Fonte: Histria do Computador (2009)

Introduo Informtica

introducao_informatica.indd S1:29

15/07/2009 15:04:01

30

O crebro humano, de um ponto de vista estritamente funcional, pode ser definido como um sistema complexo de 100 bilhes de neurnios. Para conter o mesmo nmero de elementos do crebro, um computador dos anos 40 (vlvulas) teria as dimenses de So Paulo, enquanto no final dos anos 50 (transistores) teria as dimenses do Cristo Redentor e nos anos 60 (circuitos integrados de baixo nvel de integrao) teria as dimenses de um nibus. Atualmente, crebro e computador esto se equiparando em termos de dimenses.

[1] MONTEIRO, M. A., Introduo a Organizao de Computadores. Editora LTC, 2006 [2] MURDOCCA, M. J.; HEURING V.P., Introduo a Arquitetura de Computadores, Rio de Janeiro, Editora Campus, 2001. [3] PATTERSON, D. A.; HENESSY, J. L., Organizao e Projeto de Computadores. Editora LTC, 2000 [4] TANENBAUM, A. S., Organizao Estruturada de Computadores. Editora LTC, 1999

Atividade 2 Agora hora de voc entender um pouco melhor uma inveno que tenha contribudo para a evoluo dos computadores. No sei se voc percebeu, mas foram dados poucos detalhes acerca de cada inveno, primeiramente para permitir uma maior fluidez ao texto e tambm para que voc possa complementar as informaes dadas com as pesquisas feitas no seu trabalho. Desta forma, leia o enunciado da Tarefa 2 no ambiente e siga as regras de formatao e entrega de seu trabalho sobre uma inveno especfica. Lembre-se de que a escolha da inveno a ser estudada deve ser feita no Wiki prprio para tal, colocando seu nome na frente da inveno que voc escolher. Bom trabalho!

Licenciatura em Informtica

introducao_informatica.indd S1:30

15/07/2009 15:04:02

31

Para quem se interessa pela histria da informtica, indico dois filmes que podem ser interessantes para aumentar seu conhecimento: O primeiro o filme Enigma (2001), com DOUGRAY SCOTT e KATE WINSLET e conta um pouco da histria dos computadores Colossus e Enigma, usados para cifrar e decifrar cdigos na 2 Guerra Mundial. O filme reconstitui bem a tecnologia da poca, embora seja historicamente falho, pois atribui a um matemtico fictcio os feitos realizados pelo cientista Alan Turing. Talvez voc tenha um pouco de dificuldade para ach-lo nas locadoras, mas ainda sim vale a pena. O segundo filme Piratas da Informtica (1999), que conta a ascenso da Apple e da Microsoft, as duas maiores empresas de informtica do planeta. Em busca da liderana do mercado Steve Jobs (Noah Wyle) e Bill Gates (Anthony Michael Hall), fundadores das empresas, enfrentam-se em uma guerra de bastidores. Apesar de mais antigo que o anterior, provvel que voc tenha mais facilidade em ach-lo nas locadoras, pois ele amplamente utilizado em escolas e faculdades quando se fala em histria da informtica. Como todo filme, vrios dilogos so fictcios, mas pelo menos a reconstituio dos acontecimentos mais fiel histria. Vale muito a pena.

Introduo Informtica

introducao_informatica.indd S1:31

15/07/2009 15:04:02

32 Captulo 2

Licenciatura em Informtica

introducao_informatica.indd S1:32

15/07/2009 15:04:02

33 Mtodos e Linguagem Estratgias Cde Estudo

SISTEMAS NUMRICOS

Prezado aluno, Agora que voc j entendeu alguns conceitos bsicos sobre a organizao do computador e viu como foi seu processo de evoluo, est na hora de conhecer como o computador entende internamente os dados inseridos pelo usurio. Veremos que seria muito complexo para o computador entender os dados da forma como entendemos. Sendo assim, ele usa uma linguagem muito mais simples para tal, onde existem apenas dois smbolos, o 0 (zero) e o 1 (um). Ao final da leitura do captulo, os objetivos que voc deve atingir so: entender a importncia dos sistemas binrio e hexadecimal para os computadores e como nmeros expressos em um sistema podem ser transformados em nmeros em outro sistema numrico. Na atividade proposta no ambiente, voc dever realizar os exerccios que esto no final do captulo e envi-los de acordo com as instrues. Bom estudo!

3.1 Introduo aos Sistemas Numricos

Sistemas numricos so sistemas de notao usados para representar quantidades abstratas denominadas nmeros. Um sistema numrico definido pela base que utiliza. A base o nmero de smbolos diferentes, ou algarismos, necessrios para representar um nmero qualquer, dos infinitos possveis no sistema.

Vimos no captulo passado que os homens primitivos no tinham necessidade de contar, pois o que necessitavam para a sua sobrevivncia era retirado da prpria natureza. A necessidade de contar comeou com o desenvolvimento das atividades humanas, quando o homem foi deixando de ser pescador e coletor de alimentos para fixar-se no solo.
Introduo Informtica

introducao_informatica.indd S1:33

15/07/2009 15:04:02

34 Captulo 3

Desta necessidade primitiva de clculo, surgiram os sistemas numricos para que fosse possvel representar uma variedade sem limites de diferentes nmeros. Talvez o primeiro sistema numrico moderno existente seja o sistema decimal devido sua natural associao com os dedos das mos. O sistema decimal um sistema de notao posicional. Em um sistema de nmero posicional, um nmero representado por uma sequncia de dgitos na qual cada posio de dgito tem um peso associado. Tomando como exemplo o sistema decimal, ou base 10, que o sistema numrico que utilizamos diariamente (0, 1, 2, ... 9), o valor D, que o valor absoluto de um nmero decimal de 4 dgitos d3d2d1d0 D = d3*103 + d2*102 + d1*101 + d0*100. Desta forma, o nmero 547 pode ser representado como 547(10) = 5x102 + 4x101 + 7x100 = 500 + 40 + 7 = 547. 3.1.1. Sistema Binrio O sistema binrio, ou base 2, apresenta unicamente dois dgitos: 0,1. Nesse sistema a contagem realizada do seguinte modo: 0, 1, 10, 11, 100, 101, 110, 111, 1000, ... O sistema numrico binrio moderno foi documentado de forma abrangente por Gottfried Leibniz no sculo XVIII em seu artigo Explication de lArithmtique Binaire. O sistema de Leibniz utilizou 0 e 1, tal como o sistema numrico binrio corrente nos dias de hoje. Para se converter um nmero binrio em um nmero decimal, multiplica-se o algarismo do nmero binrio pela base elevada ao expoente de sua posio no nmero, sendo que a base do nmero binrio sempre dois. Por exemplo: 1001 = 1x23 + 0x22 + 0x21 + 1x20 = 8 + 0 + 0 + 1 = 9 Desta forma, o dgito menos significativo (mais a esquerda) sempre multiplicado por 20, sendo que este expoente acrescido a 1 medida que vamos seguindo os dgitos da esquerda para a direita. Aps fazer as devidas multiplicaes de dgito por base elevada ao expoente, s somar as parcelas. Para se transformar um nmero decimal em um nmero binrio, divide-se o nmero decimal pela base 2, obtendo um resultado e um resto. Caso o resultado possa ainda ter outra diviso pela base, tornar-se- a fazer esta operao, at termos um resultado que no possa mais ser dividido pela base, ou seja, d como quociente o resultado zero. Com isso, teremos o nmero em questo, sendo o primeiro dgito igual ao ltimo resultado. Por exemplo, para achar o nmero binrio correspondente ao nmero decimal 18, poderamos realizar a seguinte operao:
Licenciatura em Informtica

introducao_informatica.indd S1:34

15/07/2009 15:04:02

35 Sistemas Numricos

Figura 3.1: converso decimal - binrio Desta forma, podemos perceber que aps realizarmos a diviso, s precisamos pegar os restos das divises sucessivamente feitas, de trs para frente para, desta forma, compormos o nmero binrio correspondente. 3.1.2 Sistema Hexadecimal No sistema hexadecimal utilizam-se 16 smbolos diferentes, que vo de 0 a 9 e a partir do 9, temos as letras de A a F. Essas letras representam os nmeros de 10 a 15. Assim, ns contamos os dgitos hexadecimais da seguinte forma: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Ainda possvel utilizar um H ao final do nmero, para mostrar que se trata de um nmero hexadecimal. Para convertermos um nmero hexadecimal em nmero binrio, tomase cada grupo de quatro algarismos binrios da direita para a esquerda, e se faz a converso desses grupos individualmente em algarismos hexadecimais, mas obedecendo sempre a transformao com quatro dgitos binrios para cada digito hexadecimal. Desta forma:

Figura 3.2: exemplos de converso binrio - hexadecimal Introduo Informtica

introducao_informatica.indd S1:35

15/07/2009 15:04:02

36 Captulo 3

A figura 3.3 mostra a correlao entre os sistemas decimal, binrio e hexadecimal.

Figura 3.3 - correlao entre os sistemas binrio, decimal e hexadecimal

Para se converter um nmero hexadecimal em um nmero binrio toma-se cada algarismo hexadecimal e transforma-o em binrio individualmente, mas obedecendo sempre a transformao com quatro dgitos binrios para cada nmero hexadecimal. Por exemplo:

Figura 3.4- converso de um nmero hexadecimal em binrio

Licenciatura em Informtica

introducao_informatica.indd S1:36

15/07/2009 15:04:02

37 Sistemas Numricos

Voc deve estar se perguntando por que precisamos de quatro algarismos binrios para cada nmero hexadecimal. Isto se deve ao fato de que, para representarmos todos os algarismos hexadecimais de 0 a F, precisamos de 4 algarismos binrios, pois o 0 0000 em binrio e o F 1111.

O nmero binrio correspondente ser a juno dos conjuntos de nmeros binrios criados a partir da converso de cada algarismo hexadecimal. Para convertermos um nmero hexadecimal em decimal, ns utilizamos a mesma frmula utilizada na converso binrio para decimal, sendo a base 2 logicamente trocada por 16. Por exemplo, para convertermos B2Ah em decimal: B2Ah = 11*162 + 2*161 + 10*16= 2816 + 32 + 10 = 2858 Desta forma, necessrio convertermos cada algarismo hexadecimal maior que 9 em um nmero decimal, de modo que possam ser feitas as operaes de multiplicao e soma para se achar o resultado. J para convertermos um nmero decimal em hexadecimal, ns utilizamos a mesma frmula utilizada na converso de um nmero decimal em binrio, dividindo por 16 em vez de 2. Por exemplo, para convertermos 32 em hexadecimal:

Figura 3.5- converso de um nmero decimal em hexadecimal

Recolhemos ento os restos de trs para frente para criarmos o nmero hexadecimal correspondente. Desta forma, foi possvel entender o processo de converso entre os sistemas numricos mais comuns. Mas qual a utilidade destes sistemas para a informtica em geral? Entenderemos isto na prxima seo.

Introduo Informtica

introducao_informatica.indd S1:37

15/07/2009 15:04:02

38 Captulo 3

Observe que quanto menor a base do sistema maior em quantidade de algarismos so os nmeros que podem ser formados pelo sistema. Por exemplo, um nmero em notao binria ser sempre maior que seu correspondente em notao decimal, e bem maior que seu correspondente em hexadecimal.

ATIVIDADE 1 Realize as seguintes converses: a) converta os seguintes nmeros do sistema binrio para o sistema decimal: 1110 1010 1100110001 b) converta os seguintes nmeros decimais para o sistema binrio: 21 552 715 c) transforme os nmeros abaixo de binrio para hexadecimal: 1100011 11000111100011100 1000110011 d) Transforme os nmeros hexadecimais abaixo em nmeros binrios: 1EDH ABFH 37 H

Licenciatura em Informtica

introducao_informatica.indd S1:38

15/07/2009 15:04:03

39 Sistemas Numricos

3.2 Representao Interna de Dados no Computador


Ainda que possamos visualizar os dados que entram e saem do computador em uma multiplicidade de formas diferentes, internamente o computador s consegue entender dados armazenados em um formato: o binrio. Portanto, a importncia de conhecer o sistema binrio reside no fato de que este o sistema usado para armazenar todos os tipos de dados do computador. Dentro dele, as informaes geralmente so armazenadas sob a forma de bytes, que o grupamento bsico de bits que o computador opera como uma unidade singular. Um bit o menor elemento dos dados (um dgito binrio) que pode ter valor zero ou um. Via de regra, o byte consiste em oito bits, e utilizado para representar um caractere de dados na maioria dos esquemas de codificao em computador (por exemplo, 8 bits = 1 byte). A capacidade dos dispositivos de memria de um computador normalmente expressa em termos de bytes. As principais unidades de medida existentes so: 1 Byte = 8 bits 1 KB (Kilobyte) = 210 = 1024 bytes 1 MB (Megabyte) = 220 = 1024 Kbytes = 1.048.576 bytes = 1.073.741.824 bytes = 1.099.511.627.776 bytes 1 GB (Gigabyte)= 230 = 1024 MB 1 TB (Terabyte)= 240 = 1024 GB

MUITAS PESSOAS SE QUESTIONAM O PORQU DE AS UNIDADES DE MEDIDA DO BYTE NO SEREM NMEROS MLTIPLOS DE 10. ISTO SE D PELO FATO DE QUE, COMO A BASE USADA BINRIA, OS NMEROS RESULTANTES SEMPRE SO MLTIPLOS DE 2.

A razo pela qual toda a informao no computador representada apenas por dois smbolos que os computadores digitais trabalham internamente com dois nveis de tenso, pelo que o seu sistema de numerao natural o sistema binrio (aceso, apagado). Com efeito, num sistema simples como este possvel simplificar o clculo, com o auxlio da lgica booleana.

Introduo Informtica

introducao_informatica.indd S1:39

15/07/2009 15:04:03

40 Captulo 3

O sistema binrio base para a lgebra booleana (de George Boole matemtico ingls), que permite fazer operaes lgicas e aritmticas usando-se apenas dois dgitos ou dois estados (sim e no, falso e verdadeiro, tudo ou nada, 1 ou 0, ligado e desligado). Toda eletrnica digital e computao est baseada nesse sistema binrio e na lgica de Boole, que permite representar por circuitos eletrnicos digitais (portas lgicas) os nmeros ou caracteres, e realizar operaes lgicas e aritmticas. Os programas de computadores so codificados sob forma binria e armazenados nas mdias (memrias, discos, etc) sob esse formato.

A lgebra de Boole um conjunto de estruturas algbricas que capturam a essncia das operaes lgicas, ou seja, estruturas que permitem equacionar as expresses lgicas. Foi proposta em 1854 pelo o matemtico britnico George Boole, que publicou um artigo fundamental detalhando um sistema lgico que se tornaria conhecido como lgebra Booleana. Seu sistema lgico tornou-se essencial para o desenvolvimento do sistema binrio, particularmente sua aplicao a circuitos eletrnicos.

Os bytes representam todas as letras (maisculas e minsculas), sinais de pontuao, acentos, sinais especiais e at sinais que no podemos ver, mas que servem para comandar o computador e que podem, inclusive, ser enviados pelo teclado ou por outro dispositivo de entrada de dados e instrues. Ainda que tenha ficado clara a importncia do sistema binrio, voc pode estar se perguntando: qual a importncia do sistema hexadecimal neste contexto? O sistema hexadecimal possui uma profunda aplicao na informtica, pelo fato de que dois algarismos hexadecimais so o bastante para representar toda a informao representada por um byte. Voc deve se lembrar que foi dito que quando menor a base do sistema, maior a quantidade necessria de dgitos para representar certo nmero. Desta forma, um nmero muito grande em binrio se torna sensivelmente menor em hexadecimal. Por essa razo, a notao hexadecimal usada para simplificar representaes de grandes volumes de informao armazenados em binrio no computador.

Licenciatura em Informtica

introducao_informatica.indd S1:40

15/07/2009 15:04:03

41 Sistemas Numricos

3.2.1. Cdigo Ascii Nos pargrafos anteriores foi apresentada a ideia de que toda informao existente no computador est organizada na forma de nmeros binrios. Entretanto, essa informao inserida no computador na forma de caracteres inteligveis ao homem. Ento, como o computador representa os caracteres do usurio na forma de nmeros binrios e depois faz o processo inverso? A resposta simples: para essa tarefa so usados cdigos que atribuem a cada caractere do teclado um cdigo binrio nico. Um dos cdigos mais usados e amplamente aceitos o cdigo ASCII. No incio, eram usados cdigos de 7 bits, que permitiam a definio de 128 caracteres, preenchendo completamente os sete bits disponveis. Desses, 33 no so imprimveis, como caracteres de controle atualmente obsoletos, que afetam o processamento do texto. Exceto pelo caractere de espao, o restante composto por caracteres imprimveis. ASCII , portanto, um cdigo de 7 bits, mas muitos computadores manipulam uma quantidade de 8 bits (byte). Portanto, os caracteres ASCII devem ser frequentemente armazenados um por byte, com o bit mais significante igual a 0. O bit extra , algumas vezes, usado para propsitos especficos, dependendo da aplicao. Por exemplo, algumas impressoras reconhecem um ASCII estendido, com os caracteres adicionais iniciando pelo bit mais significativo igual a 1. Esses caracteres habilitam a impressora a imprimir smbolos adicionais, como o alfabeto grego ou fontes do tipo itlico.

Figura 3.6- Cdigo ASCII Fonte: Histria do Computador (2009) Introduo Informtica

introducao_informatica.indd S1:41

15/07/2009 15:04:03

42 Captulo 3

[1] MONTEIRO, M. A., Introduo a Organizao de Computadores. Editora LTC, 2006 [2] MURDOCCA, M. J.; HEURING V.P., Introduo a Arquitetura de Computadores, Rio de Janeiro, Editora Campus, 2001. [3] PATTERSON, D. A.; HENESSY, J. L., Organizao e Projeto de Computadores. Editora LTC, 2000 [4] TANENBAUM, A. S., Organizao Estruturada de Computadores. Editora LTC, 1999

Apesar de ser o mais famoso, cdigo ASCII no a nica codificao binria possvel de caracteres existente. Alm dele, ainda temos outras codificaes como ISO Latin-1, EBCDIC (Extended Binary Coded Decimal Interchange Code) que um padro de propriedade da IBM, os caracteres ANSI, suportados pelo Windows e o padro UNICODE.

Atividades 1 Realize as atividades abaixo e envie-as de acordo com o enunciado da Tarefa 3 do ambiente: Converta para o sistema decimal: a) 11000102 = b) 01111002 = c) 1000010102 = d) 1010110012 = e) 20F16 = f) 4BE16 = g) 100A16 = h) 9F016 =

Licenciatura em Informtica

introducao_informatica.indd S1:42

15/07/2009 15:04:03

43 Sistemas Numricos

2 - Converta para o sistema binrio: a) 14410 = b) 30110 = c) 7210 = d) 23110 = e) 20216 = f) F1616 = g) AA0B16 = h) D99F16 = 3 - Converta para o sistema hexadecimal:

a) 125310 = b) 81910 = c) 301410 = d) 160010 = e) 01110110112 = f) 10001100012 = g) 1101110002 = h) 11101

Introduo Informtica

introducao_informatica.indd S1:43

15/07/2009 15:04:03

44 Captulo 3

Licenciatura em Informtica

introducao_informatica.indd S1:44

15/07/2009 15:04:03

45

ORGANIZAO E ARQUITETURA DE SISTEMAS DE COMPUTADORES ATUAIS


Prezado aluno, Agora que voc j obteve conhecimentos acerca da organizao bsica do computador, sua evoluo at os dias atuais e a forma de representao de dados entendida por ele, hora de entender como o computador funciona na prtica e a forma como seus programas do dia-a-dia so executados internamente. Desta forma, voc ir obter um conhecimento mais profundo da mquina, mas a obteno deste conhecimento exigir que voc saiba fazer as devidas associaes sobre tudo que viu at agora. Os objetivos que esperamos de voc ao final deste captulo so: entender as diferenas bsicas entre software e hardware, entender como os mesmos se complementam e compreender como se organiza internamente um sistema computacional. Na atividade proposta no ambiente, voc dever realizar os exerccios que esto no final do captulo. Bom estudo!

4.1 Hardware X Software


At este momento, falamos apenas de dispositivos fsicos do computador, ou seja, dispositivos palpveis, que podem ser tocados. Entretanto, quando pensamos no uso dirio do computador, sempre fazemos uma associao com os programas que usamos em nosso dia-a-dia. Esses programas no so fsicos, como os componentes dos quais falamos at ento, mas so essenciais para nossas atividades. Podemos perceber que h uma clara diferena entre os dispositivos fsicos e os programas, ainda que no seja possvel imaginar o uso do computador sem um deles. Assim sendo, damos a denominao de hardware a todos os itens fsicos do computador e a denominao software a todos os itens lgicos, ou seja, todos os programas instalados no computador.
Introduo Informtica

introducao_informatica.indd S1:45

15/07/2009 15:04:03

46 Captulo 4

O hardware representa a parte fsica (equipamentos) de um computador - sendo constitudo dos seus componentes mecnicos, eltricos e eletrnicos -, incluindo quaisquer equipamentos perifricos, tais como impressora, teclado, modem e mouse.

Alm do hardware e software, ainda existe o Peopleware, que compreende todas as pessoas envolvidas em um sistema de computao, desde engenheiros de hardware e software at usurios finais.

No faz muito sentido pensar no uso de um computador sem software instalado, da mesma forma que no teria nenhuma utilidade ter um software sem um computador para execut-lo. Estas ideias so to difceis de desassociar que geralmente falamos dos dois como um conjunto, sob o nome de sistema computacional ou sistema de computao. Devido sua diversidade e vasta utilidade na atividade humana, o software do computador possui algumas divises conhecidas. A seguir, apresentaremos algumas delas. 4.1.1. Software Bsico Podemos definir software bsico como software usado para controlar ou coordenar o uso do hardware entre vrios programas aplicativos e usurios. Tais softwares caracterizam-se por forte interao com hardware de computador e por um intenso uso de mltiplos usurios. Fazem parte deste grupo a BIOS (Basic Input Output System), os drivers de dispositivos e o sistema operacional.

Os drivers de dispositivo so programas que fazem parte do ncleo do sistema operacional e possuem como funo dirigir ou controlar o funcionamento de um dispositivo (geralmente de entrada e sada), fornecendo uma forma de interao entre este usurio e o dispositivo.

Licenciatura em Informtica

introducao_informatica.indd S1:46

15/07/2009 15:04:03

47 Organizao e Arquitetura de Sistemas de Computadores Atuais

Bios significa Basic Input Output System, ou sistema bsico de entrada e sada. A Bios a primeira camada de software do sistema, que fica gravada em um pequeno chip na placa me, e tem a funo de dar a partida, reconhecendo os dispositivos instalados no micro e realizando a inicializao do sistema.

Um sistema operacional um programa que atua como intermedirio entre o usurio e o hardware de um computador e tem por funo gerenciar os recursos de hardware disponveis, fornecendo ao usurio um ambiente conveniente e eficiente para executar seus programas. O sistema operacional o principal programa do sistema, que controla todos os recursos do computador (dispositivos fsicos e funes de software). Ele tambm tem por funo realizar a interao entre o usurio e os dispositivos do sistema, permitindo um uso mais fcil do computador pelo usurio. Exemplos de sistemas operacionais so o Windows, Linux, UNIX, etc. Dentre suas vrias funes especficas, podemos citar: execuo de programas. gerncia das operaes de entrada/sada. manipulao do sistema de arquivos. deteco de erros alocao de recursos. gesto da memria principal proteo do sistema computacional

Por conta da existncia de uma disciplina especfica sobre o assunto no curso, no entraremos em detalhes adicionais acerca do sistema operacional. 4.1.2 Utilitrios Utilitrios so programas criados para auxiliar a utilizao de um Sistema Operacional. Os utilitrios geralmente no so usados para nenhuma atividade de produo humana direta, mas como o nome diz, so teis para garantir a estabilidade e o bom funcionamento do sistema. A maioria dos sistemas operacionais oferece um conjunto de programas utilitrios que tornam o ambiente mais conveniente para o desenvolvimento e execuo de programas. Esto nesta categoria os verificadores de disco, desfragmentadores de disco etc.

Introduo Informtica

introducao_informatica.indd S1:47

15/07/2009 15:04:03

48 Captulo 4

4.1.3 Aplicativos Como o nome propriamente diz, aplicativos so programas criados para serem aplicados em atividades humanas, como edio de texto, criao de planilhas eletrnicas, comunicao, dentre outros. Possuem geralmente interface grfica de fcil interao com o usurio, permitindo um alto nvel de interatividade. So exemplos de aplicativos: editores de texto, programas para envio de e-mail, programas de editorao grfica, etc.

A diviso de software acima a mais comum, mas no a nica existente. voc conseguiria pensar em alguma outra categoria de software existente no citada no texto?

4.2 O Conceito de Arquitetura


Esta uma seo introdutria sobre arquitetura de computadores. Sendo assim, importante, em primeiro lugar, definir precisamente o significado que aqui ser dado ao termo arquitetura de computador. A arquitetura de um computador um modelo da organizao e funcionamento de um sistema de processamento. A descrio da arquitetura destaca as funes dos componentes bsicos de um computador, a interconexo destes componentes e o modo como os componentes interagem. Esta seo focaliza aqueles tipos de sistemas que j fazem parte do nosso cotidiano profissional, basicamente os microcomputadores. A Figura 1.1 mostra a organizao tpica de um sistema computacional.

Figura 4.1. Organizao tpica de um computador.

Licenciatura em Informtica

introducao_informatica.indd S1:48

15/07/2009 15:04:03

49 Organizao e Arquitetura de Sistemas de Computadores Atuais

Esta figura mostra os trs componentes bsicos de um computador: o processador (tambm conhecido como unidade central de processamento), a memria principal e as interfaces de entrada e sada. O processador o componente ativo, controlador de todo o sistema. o processador que realiza todas as operaes sobre os dados, de acordo com o indicado pelas instrues no cdigo do programa. A memria principal armazena as instrues que so executadas pelo processador, e os dados que sero manipulados. As interfaces de entrada e de sada so as portas de comunicao para o mundo externo, s quais esto conectados os dispositivos perifricos tais como monitor de vdeo, teclado, discos e impressora.

Uma interface de entrada e sada um canal de comunicao entre o computador e um dispositivo de entrada e sada. Essa interface possibilita a comunicao entre o computador e o dispositivo de forma inteligvel, possibilitando ao sistema controlar o funcionamento do dispositivo.

Os componentes bsicos so interconectados por meio de um barramento, atravs do qual o processador realiza o acesso a instrues e dados armazenados na memria principal. tambm atravs desse mesmo barramento que o processador recebe ou envia dados para as interfaces de entrada/sada. Instrues e dados ficam armazenados em locaes de memria, na memria principal. Para realizar o acesso a uma informao, o processador envia para a memria, atravs do barramento, o endereo da locao de memria que contm a informao onde ser feito o acesso. A informao trocada entre o processador e a memria, tambm atravs do barramento. O acesso s interfaces de entrada/sada semelhante, sendo cada interface identificada por um endereo nico. A Figura 4.1 e a discusso a ela associada descrevem sucintamente a arquitetura de um computador. Conforme mencionado acima, essa descrio indica quais so os componentes bsicos da arquitetura (processador, memria principal e interfaces) e suas funes, como esto interconectados (atravs de um barramento) e como interagem (troca de endereos, instrues e dados atravs do barramento). Nos captulos que se seguem, a arquitetura ser descrita com mais detalhes. Por ora, o conhecimento aqui visto o suficiente.

Introduo Informtica

introducao_informatica.indd S1:49

15/07/2009 15:04:04

50 Captulo 4

Observe que foi dada nfase aos componentes internos do computador, no sendo considerados os acessrios externos sem ligao com os componentes internos que a arquitetura de um computador ditada pelos componentes envolvidos em seu sistema de processamento, ou seja, na execuo de programas.

4.3 Nveis de Arquitetura


Na realidade, o conceito de arquitetura pode ser aplicado a diferentes sistemas de hardware e software, levando a diversos nveis de arquitetura conforme mostra a Figura 4.2.

Figura 4.2. Nveis de arquitetura

O nvel de arquitetura de processador descreve a organizao e o funcionamento de um dos componentes de um sistema de processamento. Nesse nvel so descritos os elementos bsicos de um processador, o modo como instrues so executadas pelo processador e o seu conjunto de instrues. O prximo nvel o de arquitetura de computador que, como j visto, descreve o sistema de processamento como um todo. O nvel seguinte o de arquitetura de sistema operacional. Nele, so descritas a organizao e as funes de um sistema operacional e so especificados os servios oferecidos por esse sistema. Finalmente, o nvel de arquitetura de rede de computadores aborda um sistema formado por computadores interligados por um meio de comunicao. No nvel de arquitetura de redes descrita a conexo fsica entre os computadores, bem como os protocolos de comunicao usados na troca de informaes entre os computadores.

Licenciatura em Informtica

introducao_informatica.indd S1:50

15/07/2009 15:04:04

51 Organizao e Arquitetura de Sistemas de Computadores Atuais

muito importante perceber que os nveis de arquitetura no esto isolados. O perfeito entendimento de um nvel mais elevado exige a compreenso de vrios aspectos de um ou mais nveis inferiores. Por exemplo, para entender o gerenciamento de memria virtual um assunto que tratado dentro do nvel de arquitetura de sistema operacional necessrio conhecer o suporte para memria virtual oferecido pelo processador, o que abordado no nvel de arquitetura de processador. Atualmente, est cada vez mais claro que o pleno domnio de algumas reas da computao exige do indivduo uma viso de conjunto destes quatro nveis de arquitetura.

4.4 Compilao de Programas


Em geral, todos os programas usados no seu dia-a-dia so desenvolvidos em uma linguagem de alto nvel como Java, Delphi ou C. O compilador traduz o programa de alto nvel em uma sequncia de instrues de processador. O resultado dessa traduo o programa em linguagem de montagem (assembly language). A linguagem de montagem uma forma de representar textualmente as instrues oferecidas pela arquitetura, j que as mesmas so representadas internamente na forma de nmeros binrios. Cada arquitetura possui uma particular linguagem de montagem. No programa em linguagem de montagem, as instrues so representadas atravs de mnemnicos, que associam o nome da instruo sua funo, como por exemplo, ADD (soma) ou SUB (subtrao). Esta transformao necessria porque para ns, seres humanos, muito mais fcil programar em uma linguagem de programao de alto nvel, ou seja, mais prxima da nossa linguagem natural. Entretanto, como vimos anteriormente, o processador s entende cdigos binrios. Para vencer o abismo semntico entre nossa linguagem e a linguagem do computador, existem os compiladores, que criam uma ponte entre as duas linguagens.

Introduo Informtica

introducao_informatica.indd S1:51

15/07/2009 15:04:04

52 Captulo 4

Figura 4.3. Etapas na compilao de um programa

Linguagem de programao conjunto bem definido de smbolos, regras sintticas e semnticas, utilizado para escrever programas de computador. Em funo de suas peculiaridades, cada linguagem de programao tem seu prprio compilador para cada famlia de equipamentos.

Compilador um programa de computador que substitui cada instruo de uma linguagem de programao por um conjunto de instrues equivalentes de uma linguagem mais prxima do processador. Assim, o processador executa programa em linguagem binria. No processo de compilao, todo o programa traduzido uma nica vez para linguagem de mquina e executado vrias vezes.

O programa em linguagem de montagem convertido para um programa em cdigo objeto pelo montador (assembler). O montador traduz diretamente uma instruo da forma textual para a forma de cdigo binrio. sob a forma binria que a instruo carregada na memria e interpretaLicenciatura em Informtica

introducao_informatica.indd S1:52

15/07/2009 15:04:04

53 Organizao e Arquitetura de Sistemas de Computadores Atuais

da pelo processador. Programas complexos so normalmente estruturados em mdulos. Cada mdulo separadamente compilado e submetido ao montador, gerando diversos mdulos em cdigo objeto. Estes mdulos so reunidos pelo ligador (linker), resultando finalmente no programa executvel que carregado na memria. Desta forma, qualquer programa precisa ser convertido em cdigo binrio para ser executado, ou seja, o computador s consegue entender dados que estejam em binrio.

CADA ARQUITETURA DE PROCESSADOR POSSUI UMA LINGUAGEM DE MONTAGEM EM PARTICULAR QUE CORRESPONDE AO SEU CONJUNTO DE INSTRUES E CADA COMANDO EM LINGUAGEM DE MONTAGEM PRODUZ EXATAMENTE UMA INSTRUO DE MQUINA.

4.5 Execuo de Programas


Como j vimos nas sees passadas, uma das principais funes e utilidades de um sistema computacional para o usurio a possibilidade de execuo de programas teis para a vida prtica. Como j citado, um programa uma sequncia de instrues, que ensinam o computador a resolver de forma automatizada um problema da vida prtica humana. Os programas so codificados em uma linguagem de alto nvel e posteriormente so compilados, gerando assim um cdigo executvel, que na verdade composto por vrias sequncias de nmeros binrios. Mas, como tais cdigos chegam at o computador? Geralmente, os programas so instalados nos computadores atravs de mdias (Cds, DVDs), ou de sites na Web, e aps isso passam a residir no computador sob a forma de arquivos no disco rgido (HD). Entretanto, quando um programa precisa ser executado, ele no pode ser acessado diretamente no HD pelo processador, pois como j citado, necessrio que ele esteja na memria principal para ser executado. Desta forma, quando o usurio quer executar um programa, ele geralmente clica em um cone existente na rea de trabalho do seu sistema operacional. Esse cone (um atalho) nada mais que uma forma mais rpida de acessar o programa no disco rgido, o qual acessado pelo sistema operacional e colocado na memria principal.

Introduo Informtica

introducao_informatica.indd S1:53

15/07/2009 15:04:04

54 Captulo 4

cones - smbolos grficos utilizados como forma de executar aplicativos a partir da interface grfica do sistema operacional ou, dentro de um aplicativo, como forma de inicializar ou executar determinadas tarefas.

O processo de transferncia do programa do disco rgido para a memria principal pode demorar um pequeno intervalo de tempo, dependendo do tamanho do programa. Por isso, existe uma pequena demora (que varia em relao configurao do seu computador) do momento em que se clica em um cone de atalho at o momento em que o programa efetivamente aberto para uso pelo usurio. Aps ser armazenado na memria principal, o programa comea a ser executado pelo processador, que ento permite que o usurio possa usufruir dele. A partir da, entram em ao os dispositivos de entrada e a sada, que so usados para permitir ao usurio efetuar a entrada de dados no programa, e tambm permitir a visualizao dos resultados do processamento nele feitos. Entretanto, caso no sejam gravados em algum dispositivo de armazenamento, as informaes geradas pelo programa sero perdidas, pois a memria principal, onde ficam alojadas as informaes enquanto houver energia na mquina, apagada sempre que o computador desligado. Desta forma, se o usurio considera que os resultados produzidos sero teis em outra ocasio, ele deve arquiv-los em algum dispositivo de armazenamento, que pode ser tanto o disco rgido (que o de uso padro), como alguma mdia removvel (pen-drive, disquete, CD, DVD). Quando o programa no mais apresenta serventia para o usurio, ele pode ser fechado (encerrado), o que acarretar na liberao do espao ocupado por ele na memria principal. Entretanto, seus arquivos continuam existindo no disco rgido, de forma que ele possa ser executado outras vezes.

comum a confuso entre os conceitos de memria principal e disco rgido, sendo que muitas pessoas acreditam que a memria principal dita a quantidade de arquivos que podem ser armazenados no computador. Na verdade, o tamanho do disco rgido que dita a capacidade de armazenamento de arquivos, enquanto o tamanho da memria principal dita a quantidade de programas que podem ser executados simultaneamente. Desta forma, o tamanho da memria principal sempre relacionado velocidade de execuo dos programas no computador.

Licenciatura em Informtica

introducao_informatica.indd S1:54

15/07/2009 15:04:04

55 Organizao e Arquitetura de Sistemas de Computadores Atuais

[1] MONTEIRO, M. A., Introduo a Organizao de Computadores. Editora LTC, 2006 [2] MURDOCCA, M. J.; HEURING V.P., Introduo a Arquitetura de Computadores, Rio de Janeiro, Editora Campus, 2001. [3] PATTERSON, D. A.; HENESSY, J. L., Organizao e Projeto de Computadores. Editora LTC, 2000 [4] TANENBAUM, A. S., Organizao Estruturada de Computadores. Editora LTC, 1999

Atividades Responda s questes abaixo e depois envie-as pelo ambiente Moodle, seguindo as instrues de formato e data de entrega descritas na Tarefa 4: 1) Qual a atividade de um compilador? Por que ele essencial na criao de programas? 2) Qual a diferena entre um programa em linguagem de alto nvel e um programa em linguagem de montagem? 3) Qual a diferena entre um aplicativo e um utilitrio? Cite dois aplicativos e utilitrios que voc no seu dia-dia seja no trabalho, escola ou em casa. 4) Explique com suas palavras, por que na organizao da arquitetura em nveis, o nvel de computador fica acima do processador, o de sistema operacional acima do nvel de computador e o de rede acima dos demais (deixe claro em sua resposta a relao existente entre estes nveis). 5) Utilizando um software de sua escolha, descreva o processo de utilizao dele desde sua inicializao, passando pela gravao de informaes no HD e terminando com seu encerramento. (explique o que acontece internamente no computador em cada etapa do uso do software). 6) Pesquise na Internet e explique com suas palavras qual a diferena entre um erro de compilao e um erro de execuo. 7) Pesquise na Internet e cite pelo menos 3 diferenas entre a forma como a memria principal do computador armazena dados e como o disco rgido armazena os dados.

Introduo Informtica

introducao_informatica.indd S1:55

15/07/2009 15:04:04

56 Captulo 4

Licenciatura em Informtica

introducao_informatica.indd S1:56

15/07/2009 15:04:04

57

MEMRIA

Prezado aluno, Agora que voc j conheceu a arquitetura bsica de um computador, est na hora de conhecer cada um dos componentes desta arquitetura. Este captulo introduz os componentes normalmente encontrados no sub-sistema de memria de um microcomputador ou de uma estao de trabalho, apresenta os principais tipos e caractersticas de dispositivos de memria e analisa a organizao da memria principal. Trata em detalhe o mecanismo de acesso do processador memria principal e, em seguida, apresenta os principais tipos e caractersticas de dispositivos de memria. Finalmente, apresenta os conceitos de memria cache. Como de costume, encerrando-se o captulo, voc deve resolver os exerccios propostos. Bom estudo!

5.1 Introduo
Num sistema de computador, tanto a CPU quanto os dispositivos de E/S (Entrada e Sada) interagem com a memria. Dado que cada contedo (palavra ou byte) armazenado na memria possui seu prprio endereo, a interao feita atravs de uma sequncia de leituras e escritas a endereos de memria especficos. Em um sistema de computador, existem tipos de memria com diferentes caractersticas, que formam uma hierarquia como a ilustrada na figura 5.1

Introduo Informtica

introducao_informatica.indd S1:57

15/07/2009 15:04:04

58 Captulo 5

Figura 5.1 Hierarquia de Memria

A hierarquia de memria pode ser analisada segundo suas capacidades de armazenamento, custo por bit e tempo de acesso. Partindo do nvel mais inferior da Figura 5.1, observa-se que as memrias secundrias so capazes de armazenar uma grande quantidade de informao. Seu custo por bit menor e o seu tempo de acesso relativamente maior do que as memrias dos nveis superiores. As memrias secundrias geralmente so memrias de disco, como HD, DVD, CDs, etc. No segundo nvel, est a memria principal ou memria RAM. Ela capaz de armazenar uma quantidade menor de informao. Seu custo por bit maior e seu tempo de acesso menor do que as memrias secundrias. No nvel seguinte da hierarquia esto as memrias cache. Estas memrias so as mais rpidas e com o maior custo por bit. Por serem muito caras as memrias cache so pequenas, isto , possuem menor capacidade de armazenamento em relao s demais. No topo da hierarquia esto os registradores, unidades temporrias de armazenamento que existem dentro dos processadores. Os registradores possuem um tempo de acesso praticamente nulo, j que se encontram dentro da prpria pastilha do processador, mas tambm possuem uma capacidade de armazenamento muito pequena, geralmente na ordem de 32 ou 64 bits. As memrias dos diferentes nveis da hierarquia so produzidas de acordo com uma srie de tecnologias diferentes. Veremos quais so estas tecnologias na prxima seo.

Licenciatura em Informtica

introducao_informatica.indd S1:58

15/07/2009 15:04:04

59 Memria

5.2 Tipos de Dispositivos de Memria


No sub-sistema de memria de um computador possvel encontrar memrias eletrnicas e memrias de disco. Dentre as memrias eletrnicas, podemos destacar alguns tipos. O primeiro tipo a memria programvel somente de leitura, mais conhecida como PROM (Programmable Read Only Memory). Este tipo de dispositivo permite apenas acessos de leitura. As informaes ali armazenadas so atribudas pelo fabricante do sistema, e no podem ser modificadas aps o seu armazenamento. O segundo tipo a memria programvel e apagvel somente de leitura, ou simplesmente EPROM (Erasable Programmable Read Only Memory). Assim como no caso da PROM, o processador realiza apenas acessos de leitura a uma EPROM. No entanto, ao contrrio da PROM, o contedo de uma memria EPROM pode ser apagado, e a memria pode ser novamente usada para armazenar um novo conjunto de informaes. Apesar de poder ser apagada, este tipo de memria geralmente no pode ser apagada eletricamente, mas sim atravs de operaes utilizando luz ultravioleta. O terceiro tipo so as EEPROM memria eletricamente programvel e apagvel somente de leitura - permitindo que mltiplos endereos sejam apagados ou escritos numa s operao. Em termos leigos, trata-se de um chip reescrevvel que, ao contrrio de uma memria RAM convencional, preserva o seu contedo sem a necessidade de fonte de alimentao, mas que pode ser apagada em uma operao normal do computador. Memrias PROM, EPROM e EEPROM so usadas para armazenar o firmware do computador. Em geral, o firmware formado por subrotinas usadas pelo sistema operacional, e que interagem diretamente com o hardware do computador. O BIOS (Basic Input/Output System) em sistemas microcomputadores do tipo IBM PC um exemplo de firmware. As rotinas que formam o BIOS so armazenadas em memrias do tipo EPROM. O ltimo tipo de dispositivo de memria eletrnica encontrado em um computador a memria de leitura/escrita, ou RAM (Random Access Memory Memria de Acesso Aleatrio). Como a prpria denominao indica, o processador pode efetuar acessos de leitura e escrita a um dispositivo RAM de forma aleatria, ou seja, sem uma ordem definida. Memrias deste tipo so usadas para armazenar as instrues e dados de um programa em execuo. Existem dois tipos de memria RAM: as memrias RAM estticas, ou SRAM (Static RAM) e as me
Introduo Informtica

introducao_informatica.indd S1:59

15/07/2009 15:04:04

60 Captulo 5

mrias RAM dinmicas, ou DRAM (Dynamic RAM). Estes dois tipos de memrias RAM diferem quanto capacidade de armazenamento e ao tempo de acesso. Para memrias fabricadas com a mesma tecnologia, a capacidade de um dispositivo DRAM at 16 vezes maior que a de um dispositivo SRAM. Esta diferena na capacidade de armazenamento deve-se ao modo como uma clula de bit implementada. Nas memrias DRAM, a clula de bit implementada por um circuito eletrnico que ocupa uma rea de integrao menor que a ocupada pelo circuito usado nas memrias SRAM. Como a rea por clula bit menor, para a mesma rea total de integrao o nmero total de clulas de bit em uma DRAM maior. No entanto, as memrias SRAM apresentam uma vantagem sobre as memrias DRAM no que se refere ao tempo de acesso. Para a mesma tecnologia, o tempo de acesso de uma SRAM at 4 vezes menor que o tempo de acesso de uma DRAM. Atualmente, existem memrias SRAM com tempo de acesso de 15 ns, enquanto as memrias dinmicas mais rpidas apresentam um tempo de acesso de 60 ns. Melhorias no tempo de acesso dos dispositivos DRAM no acontecem na mesma taxa que o aumento observado na sua capacidade de armazenamento. Enquanto a tendncia de aumento na capacidade de armazenamento dos dispositivos DRAM de 60% ao ano, quadruplicando a cada trs anos, a tendncia observada indica uma diminuio do tempo de acesso de apenas 30% a cada dez anos. Os dispositivos DRAM so utilizados em sistemas de baixo e mdio custo tais como microcomputadores e estaes de trabalho. Com este tipo de dispositivo possvel dotar um sistema com uma capacidade de memria principal elevada, sem aumentar significativamente o seu custo. No entanto, o uso de dispositivos DRAM favorece a capacidade de armazenamento da memria principal em detrimento do seu tempo de acesso, comprometendo o desempenho do sistema. Em classes de aplicaes grficas, tais como processamento grfico e multimdia, o desempenho um fator cada vez mais importante na faixa de microcomputadores e estaes de trabalho. A soluo para obter o compromisso desejado entre capacidade de armazenamento, desempenho e custo encontra-se no uso apropriado de tecnologias de memria com diferentes relaes entre esses trs fatores. Alm das memrias eletrnicas, temos ainda as memrias de disco, cujos principais exemplos so HDs, disquetes, CDs e DVDs. Por conta da existncia de um captulo exclusivo para estes dispositivos, no entraremos em detalhes sobre os mesmos neste captulo.
Licenciatura em Informtica

introducao_informatica.indd S1:60

15/07/2009 15:04:04

61 Memria

5.2 Endereamento da Memria Principal


A memria principal, mencionada no captulo anterior (item 4.2) conhecida como memria RAM, sigla em ingls para Random Access Memory, que significa Memria de Acesso Aleatrio. uma memria que permite a leitura e a gravao dos dados que esto sendo usados enquanto o computador estiver ligado. uma memria temporria, ou seja, seus dados ficam armazenados nela por tempo determinado. Na verdade, tudo o que voc faz no computador fica na memria RAM enquanto o computador se encontra ligado. As memrias RAM so organizadas em vrias clulas que correspondem a unidades de armazenamento da memria. Cada clula composta de um determinado nmero de bits e pode ser identificada e localizada individualmente por um nico endereo. Todas as clulas de um dado computador tm o mesmo tamanho, isto , todas as clulas daquele computador tero o mesmo nmero de bits. Geralmente, cada clula da memria possui 8 bits de tamanho, perfazendo um byte. Se N o nmero de clulas de uma memria principal, teremos, ento, os endereos da memria definidos de 0 a N-1.

Figura 5.2 Estrutura da Memria Principal

Se N o nmero de endereos ou posies que uma memria principal possui e b o nmero de bits disponveis para enderear em binrio todas as N posies da memria principal, ento vlido deduzir que: N = 2b (l-se 2 elevado a b).
Introduo Informtica

introducao_informatica.indd S1:61

15/07/2009 15:04:05

62 Captulo 5

Desta forma, em um sistema com endereos com nmero de bits igual a b possvel enderear at 2b locaes de memria distintas. No entanto, isto no significa necessariamente que o sistema possui esta capacidade de memria principal instalada. Por exemplo, um sistema baseado no processador 80386 ou 80486 poderia, a princpio, ter uma memria principal de at 232 = 4 Gbytes, mas os sistemas que utilizavam esses processadores no possuam necessariamente essa quantidade de RAM. Portanto, esse apenas um limite mximo de endereamento de posies que a arquitetura do computador suporta. Alm disso, a capacidade da memria principal em bits igual ao produto do nmero de clulas pelo total de bits por clula, de forma que: T = N x M onde T = capacidade da memria em bits N = nmero de endereos M = nmero de bits de cada clula. Dessa forma, para encontrar a capacidade em bytes de uma memria, bastaria encontrar a capacidade em bits e depois multiplicar por 8 (pois cada byte contm 8 bits) ou ento converter o tamanho da clula para bytes e depois multiplicar pelo nmero de clulas. Exemplo:

Em uma memria com uma quantidade de N= 256 endereos, podemos dizer que os endereos vo de 0 a N-1= 255. Desta forma, podemos dizer que b = 8, pois se N = 2b, ento 256 = 2b e desta forma, b = 8.

Licenciatura em Informtica

introducao_informatica.indd S1:62

15/07/2009 15:04:05

63 Memria

Da mesma forma, possvel dizer que se N = 256, e sabemos pela figura que M = 10 bits, ou seja, a capacidade cada clula igual a 10 bits, e se T = M x N, ou seja, a capacidade total da memria dada pelo produto de sua quantidade de clulas multiplicada pela capacidade de cada clula, temos ento que T = 10 x 256 = 2560 bits.

ATIVIDADE 1

Baseado nos clculos que voc acabou de ver, preencha a tabela abaixo:

M 8 BITS 16 BITS 4 BYTES -

E 4 BITS -

N 1 K ENDEREOS -

T 1 K BYTE 256 BITS 4 GBYTES 1 MBYTE

FAIXA DE ENDEREOS 0 A 65.535

5.3 A Interao entre Processador e Memria Principal


O componente bsico da memria principal chamado clula de bit. A clula de bit um circuito eletrnico que armazena um bit de informao. Em uma referncia memria, o processador no realiza o acesso ao contedo de apenas uma clula de bit, mas sim informao armazenada em um grupo de clulas de bits. O menor conjunto de clulas de bits que acessado pelo processador chamado locao de memria. Na maioria dos computadores, uma locao de memria formada por 8 clulas de bits. Como 8 bits formam o chamado byte, uma locao de memria tambm conhecida informalmente como byte de memria. Em um acesso, o processador deve fornecer memria principal uma identificao da locao onde ser feito o acesso. Esta identificao simplesmente um nmero, chamado endereo de memria. No caso de um acesso de leitura, ao receber um endereo de memria, a memria principal seleciona a locao correspondente e fornece ao processador a informao ali contida. No caso de um acesso de escrita,
Introduo Informtica

introducao_informatica.indd S1:63

15/07/2009 15:04:05

64 Captulo 5

a memria principal armazena na locao indicada pelo endereo a informao fornecida pelo processador. Na realidade, processador e a memria principal esto interligados atravs de trs barramentos distintos, conforme mostra a Figura 5.3.

Figura 5.3. Interligao entre processador e memria principal.

O barramento de endereo a via atravs da qual o processador transmite para a memria principal o endereo da locao onde ser feito o acesso. O barramento de dados a via atravs da qual o contedo da locao transferida entre o processador e a memria principal. Por sua vez, o barramento de controle formado por diversos sinais atravs dos quais o processador controla o acesso memria, indicando, por exemplo, se o acesso de leitura ou de escrita. Em um acesso de leitura, o processador inicia o ciclo de barramento colocando o endereo da locao de memria a ser acessada no barramento de endereo. No incio do prximo ciclo de clock o processador ativa um sinal de controle indicando uma operao de leitura. O endereo e o sinal de controle chegam memria que, aps algum tempo, coloca o contedo da locao de memria endereada no barramento de dados. No incio do quarto ciclo de clock, o processador captura a informao presente no barramento de dados e finaliza o ciclo de barramento, desativando o sinal de controle e retirando o endereo. J em uma operao de acesso de escrita na memria, o ciclo de barramento inicia-se com o processador colocando o endereo da locao de memria no barramento de endereo. Alm disso, o processador tamLicenciatura em Informtica

introducao_informatica.indd S1:64

15/07/2009 15:04:05

65 Memria

bm coloca a informao a ser armazenada no barramento de dados. No prximo ciclo de clock, o processador ativa um sinal de controle indicando uma operao de escrita na memria. Ao receber o sinal de escrita, a memria armazena o dado na locao endereada. O processador finaliza o ciclo de barramento retirando o endereo e o dado dos respectivos barramentos, e desativando o sinal de controle.

5.4 Memrias Cache


A memria cache uma pequena memria inserida na pastilha do processador, consequentemente mais prxima deste que a memria principal, conforme mostra a Figura 5.4.

Figura 5.4. Localizao da memria cache.

A memria cache implementada com o mesmo tipo de circuito eletrnico usado nas clulas de bit de uma memria RAM esttica. Por este motivo, a capacidade de armazenamento de uma memria cache geralmente pequena. No entanto, a memria cache apresenta um baixo tempo de acesso, possibilitando que o processador acesse dados ali armazenados em apenas um nico ciclo de clock. Nesta nova organizao, o processador direciona os acessos inicialmente para a memria cache. Se o dado referenciado encontra-se na cache, o acesso completado em apenas um ciclo de clock. Diz-se que ocorre um cache hit quando o dado referenciado pelo processador
Introduo Informtica

introducao_informatica.indd S1:65

15/07/2009 15:04:05

66 Captulo 5

encontra-se na cache. Se o dado no se encontra na cache, diz-se que ocorreu um cache miss. Quando acontece um cache miss, um bloco contendo o dado referenciado e os dados armazenados em sua vizinhana copiado da memria principal para a memria cache. Aps a transferncia deste bloco de dados para a memria cache, o processador completa o acesso. Quando ocorre um cache miss, o acesso consome vrios ciclos de clock para ser completado. Na prtica, observa-se que entre 90% e 98% dos acessos resultam em um cache hit. Isto acontece devido a uma propriedade exibida por vrios tipos de programas, chamada propriedade da localidade de referncia. Segundo essa propriedade, os acessos memria que acontecem ao longo da execuo de um programa no so uniformemente distribudos atravs da memria, mas tendem a se concentrar em pequenas regies da memria durante um certo intervalo de tempo. A localidade de referncia manifesta-se no fato que, durante alguns intervalos de tempo, so feitos acessos a locaes de memria em endereos prximos. O princpio da localidade sugere que, quando feito um acesso a uma locao de memria, existe uma grande probabilidade de que acessos a locaes em endereos vizinhos e prpria regio anteriormente acessada tambm sejam feitos no futuro prximo. Dessa forma, podemos distinguir dois princpios da localidade:

Localidade Temporal (localidade no tempo): se um item referenciado, ele tende a ser referenciado novamente dentro de um espao de tempo curto. Se voc tiver trazido um livro recentemente para sua mesa, a fim de examin-lo, provvel que em breve voc v precisar dele mais uma vez. Localidade Espacial (localidade no espao): se um item referenciado, itens cujos endereos sejam prximos dele tendem a ser logo referenciados. Livros sobre o mesmo tpico so guardados juntos na estante da biblioteca, para maximizar a localidade espacial.

Apliquem-se agora estas propriedades ao funcionamento da memria cache. Como mencionado anteriormente, quando ocorre um cache miss, o dado referenciado copiado da memria principal para a memria cache, juntamente com os dados armazenados nas locaes vizinhas. Segundo a propriedade da localidade, existe uma grande chance de que os acessos aos dados vizinhos tambm sejam feitos em breve. Se estes outros acessos de fato acontecem, ocorrer um cache hit em todos os acessos, que sero completados em um nico ciclo de clock.

Licenciatura em Informtica

introducao_informatica.indd S1:66

15/07/2009 15:04:05

67 Memria

Na realidade, a memria cache armazena os dados que se encontram em regies da memria principal onde se verifica uma concentrao de acessos. Observe que a memria cache tem a capacidade de se adaptar a mudanas nas regies de concentrao de acesso, que ocorrem ao longo da execuo de um programa. Uma nova regio com concentrao de acessos torna-se ativa quando feito um acesso a um dado que se encontra distante dos dados onde foram feitos acessos recentemente. Como provavelmente este dado no se encontra na cache, ocorrer um cache miss. Devido a esse cache miss, sero copiados para a memria cache o dado referenciado e os dados na vizinhana, que pertencem justamente nova regio onde se concentraro os prximos acessos, os quais sero novamente satisfeitos pela cache. Com a incluso de uma memria cache, apenas uma pequena parcela dos acessos realizados sofrem com o alto tempo de acesso da memria principal. Assim, as memrias cache so extremamente importantes no sentido de obter-se um melhor desempenho, tanto que atualmente, a maioria das arquiteturas de computador incluem memrias cache em seu sub-sistema de memria. De um ponto de vista funcional, a memria cache colocada em processador e memria principal. Em termos fsicos, ou seja, da forma como realmente implementada, existem vrios lugares possveis onde ela pode ser encontrada. Em arquiteturas mais antigas, encontramos parte da memria cache fora da pastilha do processador. Entretanto, hoje em dia essas memrias esto presentes internamente, de forma que sua presena em maior ou menor quantidade serve para, muitas vezes, diferenciar um modelo de processador de outro.

Normalmente, a frequncia de cache hit aumenta medida que o tamanho da memria cache aumenta. No entanto, observa-se que a partir de um certo ponto o nmero de cache hits no aumenta significativamente com o aumento da capacidade da memria cache. A partir desse ponto no compensa aumentar o tamanho da memria cache, pois isso acarretaria um aumento no custo do processador que no traria um benefcio proporcional. Para minimizar o efeito dos cache misses residuais, que podem chegar a at 10%, alguns sistemas incorporam duas memrias cache, uma denominada primria ou L1 e a outra secundria ou L2, em uma estrutura conhecida como memria cache em dois nveis (two-level cache). A memria cache primria integrada com o processador em um mesmo dispositivo. Possui um tamanho

Introduo Informtica

introducao_informatica.indd S1:67

15/07/2009 15:04:05

68 Captulo 5

pequeno e apresenta um tempo de acesso que permite acessos em um nico ciclo de clock. Por sua vez, a cache secundria externa ao processador, localizando-se na placa-me do sistema. Possui um tamanho bem maior e apresenta um tempo de acesso maior que a memria cache primria. Um acesso cache secundria normalmente consome dois ou trs ciclos de clock. Em um sistema com essa organizao, a memria cache primria captura a maioria dos acessos realizados pelo processador. Os acessos que resultam em miss so em sua maioria capturados pela memria cache secundria. Apesar de ser um pouco mais lenta que a memria cache primria, a memria cache secundria ainda significativamente mais rpida que a memria principal. Assim, os misses da cache primria apresentam uma penalidade menor quando capturados pela cache secundria do que se fossem direcionados diretamente para a memria principal. Alm disso, como a tecnologia usada na implementao da cache secundria mais barata, o seu tamanho pode aumentar sem as mesmas limitaes de custo da cache primria.

Prezado aluno, Voc que se inicia no mundo da informtica ainda ouvir muitas vezes sobre esse conceito de cache, pois ele amplamente usado no nosso dia-a-dia. Navegadores web, servidores, HDs e muitos dispositivos computacionais utilizam o conceito aqui apresentado para armazenar informaes que podem ser teis posteriormente aos usurios, permitindo desta forma que o tempo de acesso seja reduzido. As formas atravs das quais esse mecanismo criado nos diversos dispositivos que o implementam pode variar, mas lembre-se: o conceito sempre o mesmo!

Atividades Responda s questes abaixo e depois envie-as pelo ambiente Moodle, seguindo as instrues de formato e data de entrega descritas na Tarefa 5: 1) Em uma memria principal com 1 kbyte de capacidade, onde cada clula tem 8 bits responda: 1. quantas clulas tem a memria principal?

Licenciatura em Informtica

introducao_informatica.indd S1:68

15/07/2009 15:04:05

69 Memria

2. quantos bits so necessrios para representar um endereo de memria? 2) Um computador enderea 1K clulas de 16 bits cada uma. Pede-se: a. sua capacidade de memria; b. o maior endereo que o computador pode enderear; 3) Uma memria de um computador tem um espao mximo de endereamento de 2K. Cada clula pode armazenar 16 bits. Qual o valor total de bits que podem ser armazenados nesta memria e qual o tamanho de cada endereo? 4) Explique a diferena de uma memria DRAM e SRAM? 5) Explique a diferena entre uma ROM e RAM? 6) Explique a diferena entre memrias EEPROM, EPROM e PROM: 7) O que so as memrias cache? Por que seu uso melhora o desempenho dos sistemas computacionais? 8) Explique os conceitos de localidade que inspiraram o uso da memria CACHE: 9) Considere uma memria que utiliza ao todo 16 clulas endereveis, e que cada clula possua uma unidade de armazenamento de 8 bits. - Faa um esboo representativo desta memria, exibindo os 3 primeiros endereos e o ltimo endereo (com os valores dos endereos em hexadecimal). - Coloque no contedo das 3 primeiras clulas, o cdigo ASCII para 1 2 3 respectivamente (em hexadecimal) e na clula do ltimo endereo coloque o cdigo ASCII correspondente a primeira letra do seu nome (em hexadecimal). Para isso, use a tabela ASCII inclusa no captulo 3 deste material ou pesquise uma tabela ASCII na Internet.

Introduo Informtica

introducao_informatica.indd S1:69

15/07/2009 15:04:05

70 Captulo 5

Licenciatura em Informtica

introducao_informatica.indd S1:70

15/07/2009 15:04:05

71

PROCESSADORES

Prezado aluno, Como voc j sabe, o processador considerado o crebro do computador, pois o componente responsvel por todo o fluxo de informaes de um micro. Isso significa que todas as informaes passam por ele. Para que os dados de entrada se transformem em dados de sada, eles precisam ser processados, ou seja, o processador o componente por onde todos os dados inseridos no computador passam. Neste captulo, voc entender quais so de forma geral as principais partes do processador. No entraremos muito em detalhes de modelos existentes no mercado, tendo em vista que essas informaes sero obtidas em disciplinas do prximo semestre. Voc tambm aprender aqui o que uma instruo, como ela executada e como o ciclo de clock pode influenciar na velocidade do processo. Desta forma, esperamos que voc saia da leitura deste captulo com todos esses conceitos em mente. Na atividade proposta no ambiente, voc dever realizar os exerccios que se encontram ao final do captulo. Bom estudo!

Este captulo descreve a arquitetura bsica de um processador. Podemos considerar que um processador organizado em duas unidades: a seo de processamento e a seo de controle. Esto descritos aqui os principais componentes de cada uma dessas unidades, bem como a forma utilizada pelo processador para executar as instrues de um programa.

6.1 A Seo de Processamento


A seo de processamento formada basicamente pela unidade lgica e aritmtica (ALU) e por diversos registradores. Esses componentes normalmente esto organizados conforme mostra a Figura 6.1.

Introduo Informtica

introducao_informatica.indd S1:71

15/07/2009 15:04:05

72

Captulo 6

A ALU realiza as operaes aritmticas, tais como adio e subtrao, e operaes lgicas, tais como and, or, not. Podemos dizer ento que a ALU o componente da arquitetura que, de fato, processa os dados. Os registradores so utilizados para armazenar informaes internamente no processador. Um registrador pode ser utilizado tanto para acesso de leitura quanto para acesso de escrita. Ou seja, uma informao armazenada no registrador em uma operao de escrita, enquanto a informao contida no registrador recuperada em uma operao de leitura.

Figura 6.1. Componentes da seo de processamento. Fonte: Tanenbaum, 2001. Adaptao.

A Figura 6.1 mostra aqueles registradores normalmente encontrados na seo de processamento. Os diversos registradores possuem um uso bem definido dentro da arquitetura. De maneira geral, podem ser classificados em trs tipos: registradores de uso geral, registradores de uso especfico e registradores auxiliares. Registradores de uso geral normalmente so usados para armazenar dados que sero processados pela ALU, bem como resultados produzidos pela ALU. Na seo de processamento mostrada na Figura 6.1, existem 32 registradores de uso geral, denominados R0,...,R31. Coletivamente, esses registradores so chamados de conjunto de registradores de dados (data register file). O registrador de estado (status register) associado ALU um registrador de uso especfico, e contm informaes sobre o resultado produzido pela ALU. Este registrador possui bits sinalizadores que so ativados
Licenciatura em Informtica

introducao_informatica.indd S1:72

15/07/2009 15:04:05

73 Processadores

ou desativados1 de acordo com o tipo de resultado produzido pela ALU. Por exemplo, o registrador de estado pode ter um bit denominado Z, o qual ativado quando o resultado for nulo e desativado quando o resultado for no-nulo. Tambm comum encontrar no registrador de estado um bit chamado N que ativado se o resultado for negativo, sendo desativado se o resultado for positivo. Um outro exemplo de registrador de uso especfico o contador de programa (program counter). O contador de programa contm o endereo da locao de memria onde se encontra a prxima instruo a ser executada pelo processador. Os registradores auxiliares normalmente so usados para armazenamento temporrio. Este o caso dos registradores A e B, que armazenam os operandos de entrada da ALU, enquanto estes esto sendo processados. Antes de cada operao da ALU, os operandos so transferidos dos registradores de dados ou da memria principal para estes registradores temporrios. O resultado produzido pela ALU temporariamente armazenado no registrador R at ser transferido para o seu destino, que pode ser um registrador de dados ou a memria principal. A Figura 6.1 mostra dois outros registradores temporrios, denominados MAR (memory address register registrador de endereos da memria) e MDR (memory data register registrador de dados da memria). O MAR armazena o endereo da locao de memria onde ser feito o acesso, ao passo que o MDR armazena temporariamente a informao transferida de ou para a locao de memria endereada por MAR. Em geral, registradores auxiliares no so visveis, no sentido que um programador de baixo nvel no dispe de instrues para acessar diretamente tais registradores. A interligao entre a ALU e os registradores feita atravs de trs vias, chamadas barramentos internos. Os barramentos internos S1 e S2 permitem a transferncia de dados dos registradores para a ALU. O barramento interno D permite a transferncia do resultado produzido pela ALU, temporariamente armazenado no registrador R, para outro registrador. Uma arquitetura de processador uma arquitetura de n bits quando todas as operaes da ALU podem ser realizadas sobre operandos de at n bits. Normalmente, em uma arquitetura de n bits os registradores de dados e os barramentos internos tambm so de n bits, de forma a permitir que os dados sejam armazenados e transferidos de forma eficiente. Por isso existe uma diferena entre processadores de 32 bits e 64 bits, e por sua vez, tambm existem sistemas operacionais de 32 bits e 64 bits.

1 Considera-se aqui que um bit ativado quando ele recebe o valor lgico 1, sendo desativado ao receber o valor lgico 0. Introduo Informtica

introducao_informatica.indd S1:73

15/07/2009 15:04:05

74

Captulo 6

6.2 A Execuo de Instrues


Tendo examinado os componentes e a organizao da seo de processamento, podemos agora analisar como as instrues so executadas. A execuo de uma instruo envolve a realizao de uma sequncia de passos, que podemos chamar de passos de execuo. Em geral, a execuo de uma instruo envolve quatro passos, como mostra a Figura 6.2.

Figura 6.2. Passos na execuo de uma instruo.

No primeiro passo, denominado busca, o processador realiza o acesso ao cdigo binrio da instruo, armazenado na memria principal. A etapa seguinte a decodificao da instruo, na qual as informaes contidas no cdigo da instruo so interpretadas. Em algumas arquiteturas, neste passo tambm so acessados os dados usados pela instruo. Aps a decodificao, a execuo da instruo entra no terceiro passo, denominado execuo, no qual a operao indicada pela instruo (por exemplo, uma operao na ALU) efetuada. Finalmente no quarto passo, chamado resultado, armazenado em um registrador ou na memria o resultado produzido pela instruo. Cada passo de execuo envolve a realizao de vrias operaes bsicas. As operaes bsicas acontecem dentro da seo de processamento, sob a coordenao da seo de controle. Existem quatro principais tipos de operaes bsicas: transferncia de dados entre os registradores e a ALU; transferncia de dados entre os registradores; transferncia de dados entre os registradores e a memria; operaes aritmticas e lgicas realizadas pela ALU. Esta sub-diviso dos passos de execuo em operaes bsicas pode ser visualizada na Figura 2.3.

Figura 6.3. Diviso dos passos de execuo em operaes bsicas.

Licenciatura em Informtica

introducao_informatica.indd S1:74

15/07/2009 15:04:05

75 Processadores

A sub-diviso dos passos sugerida pela Figura 6.3 apenas um exemplo ilustrativo. Os passos de execuo no possuem necessariamente o mesmo nmero de operaes bsicas em todas as instrues. O que diferencia cada instruo justamente o nmero e o tipo de operaes bsicas executadas em cada passo.

6.3 A Seo de Controle


Como mencionado anteriormente, as operaes bsicas que ocorrem dentro da seo de processamento so todas comandadas pela seo de controle. Ao efetuar a busca da instruo, a unidade de controle interpreta a instruo de modo a identificar quais as operaes bsicas que devem ser realizadas e ativa sinais de controle que fazem uma operao bsica de fato acontecer. A Figura 6.4 apresenta um diagrama em blocos da seo de controle e, de forma bastante simplificada e ilustrativa, a sua interligao com a seo de processamento. Como mostra a figura, a seo de controle formada basicamente pela unidade de controle e pelo registrador de instruo ou IR (Instruction Register). A interpretao do cdigo da instruo e a ativao dos sinais de controle so realizados pela unidade de controle. Os sinais de controle que so ativados, bem como a sequncia com que so ativados, depende de cada instruo em particular.

Figura 6.4. A seo de controle e a parte de processamento. Fonte: Tanenbaum, 2001. Adaptao.

A ttulo de exemplo, vamos verificar como a execuo da instruo ADD R1,R2,R3 (soma do contedo dos registradores R1 e R2 com armazenamento posterior do resultado em R3) direcionada pela unidade de controle.
Introduo Informtica

introducao_informatica.indd S1:75

15/07/2009 15:04:06

76

Captulo 6

Para tanto, a seo de processamento na figura acima foi representada com apenas os trs registradores de dados envolvidos na execuo desta instruo. A execuo desta instruo requer as seguintes operaes bsicas: (1) transferncia do contedo do registrador de dados R1 para o registrador temporrio A; (2) transferncia do contedo do registrador de dados R2 para o registrador temporrio B; (3) adio dos dados armazenados nos registradores A e B e armazenamento do resultado no registrador R; (4) transferncia do contedo do registrador R para o registrador R3. A sequncia de ativao do sinais de controle, com as operaes bsicas correspondentes, apresentada na Figura 6.5.
operao bsica sinal de controle descrio da operao bsica

(1) (2)

s1, s2

coloca o contedo de R1, R2 para os barramentos S1,S2, respectivamente. armazena a informao presente nos barramentos S1, S2 em A,B, respectivamente. seleciona a operao de soma na ALU. armazena o resultado produzido pela ALU em R. coloca o contedo de R para o barramento D. armazena a informao presente no barramento D em R3.

s3,s4

(3)

s5

s6 (4) s7

s8

Figura 6.5. Ativao dos sinais de controle e operaes bsicas correspondentes.

Este um exemplo tpico de como a unidade de controle coordena a execuo das operaes bsicas na seo de processamento. Para cada registrador existem sinais que controlam a leitura e a escrita do registrador. Outros sinais indicam ALU a operao aritmtica ou lgica que deve realizada. Para qualquer outro componente na seo de processamento existem os sinais de controle necessrios. Para executar uma operao bsica, a unidade de controle simplesmente ativa os sinais apropriados na sequncia correta.
Licenciatura em Informtica

introducao_informatica.indd S1:76

15/07/2009 15:04:06

77 Processadores

6.4 O Sinal de Clock


Pode-se observar pelo exemplo acima que a ordem na qual os sinais de controle so ativados crtica. Alguns sinais devem obrigatoriamente preceder outros (s3, por exemplo, no pode ser ativado antes de s1), enquanto que outros sinais podem ser ativados simultaneamente (s1 e s2, por exemplo). Mais ainda, para garantir um tempo suficiente para a transmisso da informao atravs dos barramentos internos, em alguns casos deve ser observado um intervalo de tempo mnimo entre a ativao de dois sinais. Para atender as relaes de tempo requeridas na ativao dos sinais de controle, a unidade de controle opera em sincronismo com um sinal de clock. Como mostra a Figura 6.6, uma nova operao bsica executada no momento em que se inicia um novo ciclo de clock. Em muitos casos, vrias operaes bsicas podem ser comandadas simultaneamente, dentro de um mesmo ciclo de clock.

Figura 6.6. A sincronizao da execuo de uma instruo com o sinal de clock.

A execuo de uma instruo consome um certo nmero de ciclos de clock. O nmero de ciclos de clock por instruo no o mesmo para todas as instrues, j que cada instruo pode envolver um nmero diferente de operaes bsicas em cada passo de execuo. A velocidade de um processador, tambm chamada de clock interno, medida em MHz (Megahertz) ou em GHz (Gigahertz), em que 1MHz equivale a um milho de ciclos por segundo, ou seja, o nmero de operaes que o processador pode realizar por segundo. Ento, podemos afirmar que quanto maior for o nmero de Hertz, mais veloz ser o processador. O clock um cristal de quartzo que produz oscilaes que determinam a frequncia (velocidade) do processador. Qualquer processador trabalha com um clock interno e um clock externo. O clock interno determina a velocidade em que um processador deve trabalhar (Ex.: 700 MHz, 1GHz etc) e o clock externo est relacionado ao
Introduo Informtica

introducao_informatica.indd S1:77

15/07/2009 15:04:06

78

Captulo 6

acesso do pro cessador memria RAM. Por exemplo, um processador Pentium/200 possui um clock interno de 200 MHz e um clock externo de 66MHz. Isto significa que o processador realiza aproximadamente 66 milhes de acessos memria por segundo e trabalha a uma velocidade interna de 200 Mhz. O tamanho do ciclo de clock um dos fatores que determinam diretamente o desempenho de um processador. Quanto menor o tamanho do ciclo de clock, menor ser o tempo de execuo das instrues, e assim maior ser o nmero de instrues executadas por unidade de tempo. Ao longo das dcadas de 70 e 80, procurava-se diminuir o tamanho do ciclo de clock com o desenvolvimento de novas tecnologias que permitissem velocidades de operao cada vez maiores. No entanto, as tecnologias de integrao foram se aproximando dos limites impostos pela prpria fsica, tornando esta evoluo mais lenta e elevando os custos. Por este motivo, a reduo do ciclo de clock passou a ser considerada sob o ponto de vista arquitetural. Atualmente, procura-se diminuir o ciclo de clock no somente atravs de novas tecnologias, mas tambm atravs de simplificaes na arquitetura, de modo que a arquitetura possa ser implementada atravs de circuitos mais simples e inerentemente mais rpidos.

Desde os primeiros processadores, duas grandes empresas, a INTEL e a AMD, tm disputado a fabricao de melhores processadores. Outras empresas, como a Cyrix, VIA e WinChip, tentaram entrar nesta disputa, mas essa tentativa no durou muito tempo.

Atividades Responda s questes abaixo e depois envie-as pelo ambiente Moodle, seguindo as instrues de formato e data de entrega descritas na Tarefa 6: 1) De quais componentes formada a seo de processamento? Qual a importncia de cada um deles? 2) Quais os tipos de registradores existentes no processador? 3) O que o Contador de Programa (Program Counter)? Qual a importncia dele no contexto do processamento de instrues? 4) Quais so as etapas do ciclo de execuo de uma instruo? Fale um pouco sobre cada uma delas? 5) Descreva textualmente a execuo da instruo abaixo, divi
Licenciatura em Informtica

introducao_informatica.indd S1:78

15/07/2009 15:04:06

79 Processadores

dindo as operaes bsicas dentro das etapas correspondentes no ciclo da instruo SUB R1 R2 R3 (l-se: subtraia os operandos armazenados em R1 e R2 e armazene o resultado em R3) 6) De que componentes formada a seo de controle? Qual a funo de cada um deles? 7) Considere um processador projetado para acessar a seguinte memria: a) Qual o tamanho do MAR da CPU em bits? b) Qual o tamanho do Registrador PC em bits?

c) Quantas clulas esta memria possui? d) Sabendo que a unidade de armazenamento da memria igual a 8 bits por clula, qual a capacidade total de armazenamento desta memria? e) Qual o valor de MDR ao executar uma operao de leitura na memria com MAR=0000?

Introduo Informtica

introducao_informatica.indd S1:79

15/07/2009 15:04:06

80

Captulo 6

Licenciatura em Informtica

introducao_informatica.indd S1:80

15/07/2009 15:04:06

81

DISPOSITIVOS DE DISCO

Prezado aluno, Quando foi falado no captulo 5 (Memria) sobre as memrias secundrias, foi dito que essas memrias eram representadas em sua grande parte por memrias de disco, como HDs, CDs, DVDs etc... Sabemos que, atualmente, as memrias secundrias so mais baratas que as memrias dos nveis superiores, sendo usadas abundantemente para armazenar e transportar informaes entre computadores. Por conta de sua importncia para o uso do computador no dia-adia, daremos uma nfase maior ao funcionamento dos discos rgidos (HDs), como forma de representar essa classe de dispositivos. Nas atividades propostas ao final do captulo, ser pedido que voc se aprofunde um pouco mais nesse estudo, analisando tambm o funcionamento de outros dispositivos de memorizao. Bom estudo!

7.1 Introduo
Alm da memria principal, que diretamente acessada pela CPU, existe tambm a memria secundria (tambm chamada de memria de massa). Esse tipo de memria no acessada diretamente pela CPU, j que seu acesso feito atravs de interfaces ou controladoras especiais. A memria secundria uma memria do tipo permanente (no se apaga quando o computador est desligado). Ela tem alta capacidade de armazenamento e custo muito mais baixo que o da memria principal. Essa memria no formada por chips, e sim por dispositivos que utilizam outras tecnologias de armazenamento. Geralmente, esses dispositivos so chamados de dispositivos de disco (por usarem geralmente discos para armazenar a informao) ou dispositivos de bloco (por ser o bloco a unidade bsica de transferncia de dados entre estes dispositivos e outros dispositivos de memria). Tais dispositivos, em geral, so criados usando as seguintes tecnologias:
Introduo Informtica

introducao_informatica.indd S1:81

15/07/2009 15:04:06

82

Captulo 7

Memrias de discos magnticos: so dispositivos tais como os disquetes e os discos rgidos, fabricados de modo a armazenar informaes sob a forma de campos magnticos. Eles possuem caractersticas magnticas semelhantes s das fitas cassetes de som, as quais so memrias no volteis, ou seja, armazenam permanentemente a informao. Neste tipo de dispositivo, geralmente a leitura e a gravao de dados se do atravs da mudana de polaridade da superfcie magntica, feita por uma cabea de leitura e escrita, um componente imantado tambm conhecido como cabeote. Memrias de disco ptico: so dispositivos que utilizam formas pticas de armazenamento, baseadas nas caractersticas reflexivas dos materiais, tal como os CD-ROMS e DVDs. Os dispositivos pticos sofreram uma rpida evoluo nos ltimos anos. A figura 7.1 mostra um breve histrico desta evoluo.

7.1 Evoluo dos Dispositivos de Disco ptico Fonte: Histria do Computador (http://www.netangola.com/CCA/pages/marks/computador/bibliogr.htm)

Como exemplo de dispositivo de disco, falaremos com mais detalhes dos HDs na prxima seo.

7.2 Discos Rgidos


O disco rgido (HD) uma das melhores formas de armazenamento de grandes quantidades de dados para uso posterior. A ideia simples: so vrios discos magnticos metlicos (semelhantes a disquetes, porm mais confiveis e com maior preciso) empilhados um sobre o outro, com vrias unidades de leitura e gravao (geralmente 2 para cada disco). A caixa lacrada que os envolve compe o HD.
Licenciatura em Informtica

introducao_informatica.indd S1:82

15/07/2009 15:04:06

83 Dispositivos de Disco

Os discos rgidos so a base do armazenamento de informaes nos computadores, pois geralmente neles que ficam armazenados os arquivos dos usurios e o prprio sistema operacional, possibilitando seu uso independente de quantas vezes o computador seja ligado e desligado. Fisicamente, os discos so relativamente simples, como ilustrado na figura seguinte (7.2).

Figura 7.2. Diviso do disco

Cada lmina de disco do HD possui as duas superfcies recobertas com um material magntico, similar ao das fitas magnticas. Os discos so divididos em trilhas que variam de tamanho segundo o disk driver (o programa que controla o HD). Cada trilha dividida em setores, sendo que um setor a menor unidade de informao que pode ser lida ou escrita em um disco. Um acesso ao disco, ento, deve especificar superfcie, trilha e setor. Os discos, como as fitas, tambm possuem um diretrio com informaes sobre cada arquivo armazenado. Quando se fala em HDs, existe ainda o conceito de cilindro. Um cilindro um grupo de trilhas de mesmo nmero em superfcies diferentes. Digamos por exemplo que um disco tenha 4 cabeas e que o brao posicione estas cabeas de forma que cada uma esteja sobre a trilha 50 da superfcie. Dizemos ento que as cabeas esto posicionadas sobre o cilindro de nmero 50. Alm dos componentes j citados, podemos tambm citar na parte eletromecnica do disco os braos, que so dispositivos mecnicos que servem para movimentar as cabeas de leitura e gravao ao longo da superfcie do disco e as cabeas de leitura e escrita, que so as responsveis pela leitura e gravao de dados na superfcie dos discos. Grosso modo, podemos comparar as cabeas de leitura e escrita s agulhas dos toca-discos, que possibilitam a reproduo dos discos de vinil. Uma diferena fundamental que devemos considerar que ao contrrio da agulha do toca-discos, as cabeas de leitura e escrita nunca tocam efetivamente na superfcie do disco rgido, j que lem e gravam a informao usando eletromagnetismo.
Introduo Informtica

introducao_informatica.indd S1:83

15/07/2009 15:04:06

84

Captulo 7

Geralmente, a superfcie de gravao dos pratos (outro nome dado aos discos do HD) composta de materiais sensveis ao magnetismo (geralmente, xido de ferro). O cabeote de leitura e gravao manipula as molculas desse material atravs de seus plos. Para isso, a polaridade das cabeas muda numa frequncia muito alta: quando est positiva, atrai o plo negativo das molculas e vice-versa. De acordo com essa polaridade que so gravados os bits (0 e 1). No processo de leitura de dados, o cabeote simplesmente l o campo magntico gerado pelas molculas. Uma unidade de disco rgido o componente que mais trabalha em um micro. Os discos magnticos que os compem, onde os dados so armazenados, giram a altas velocidades durante todo o tempo em que o micro est ligado. Cada acesso ao disco rgido faz com que as cabeas de leitura/gravao se movimentem, sempre com preciso microscpica, sendo que a distncia entre uma cabea de leitura/gravao e o meio magntico menor do que um fio de cabelo humano. To severas restries e condies para o correto funcionamento do a impresso de um ambiente sujeito constantemente a defeitos; mas ao invs disso, o que ocorre so unidades de disco rgido desempenhando com afinco a funo de fiis depositrios de informao. Todos os discos rgidos possuem um motor, que faz com que o conjunto de discos gire a uma velocidade de pelo menos 3.600 rpm (3600 rotaes por minuto). Desde o primeiro instante de alimentao eltrica no HD, os discos comeam a girar e no param, sendo que as cabeas de leitura/ gravao nunca os tocam. Nos primeiros HDs, quando era desligada a energia eltrica as cabeas de leitura/gravao permaneciam no lugar do ltimo acesso, possibilitando assim que informaes fossem perdidas na ocorrncia de choques mecnicos. Como soluo, devia-se antes de desligar, estacionar as cabeas em um lugar seguro (utilizando-se um comando chamado park). Atualmente, no existe esta preocupao, pois os HDs usam um motor baseado num atuador eletromagntico voice coil que automaticamente recolhe as cabeas. 7.2.1 Geometria de um HD Diferente dos disquetes, que possuem um tamanho pr-definido, os HDs utilizam alguns parmetros de configurao. Estes parmetros tambm esto presentes nos disquetes, porm sempre pr-definidos (2 cabeas/80 cilindros/18 setores). So eles: Nmero de cabeas (heads): baseada na quantidade de faces que o disco de tal componente possui. Por exemplo, se forem 3 discos magnticos em um HD, sero 6 cabeas (2 para cada face dos discos);
Licenciatura em Informtica

introducao_informatica.indd S1:84

15/07/2009 15:04:06

85 Dispositivos de Disco

Nmero de trilhas: so crculos concntricos que dividem a rea de armazenamento, em alguns casos referenciados por nmero de cilindros; Nmero de setores: so as divises das trilhas. Dentro de cada setor cabem sempre 512 bytes (mesmo em HDs este valor fixo). Para calcular a capacidade de um disco rgido, utiliza-se a frmula abaixo: Capacidade de Armazenamento = n trilhas x n de setores x n cabeas x 512. A maioria dos microcomputadores utiliza hoje o processo de deteco automtica, porm todos os HDs tm (ou deveriam ter) esses dados estampados em sua capa metlica, de modo que o HD possa ser configurado caso o micro no possua deteco automtica ou a mesma no esteja funcionando corretamente. EXEMPLO: Em um HD com 1024 cilindros, 256 cabeas e 63 setores por trilha, qual a capacidade mxima de armazenamento deste dispositivo? RESOLUO: Analisando as informaes do problema, vemos que informado que o HD possui 1024 cilindros. Como vimos anteriormente, um cilindro um grupo de trilhas de mesmo nmero em superfcies diferentes, ou seja, se o HD possui 1024 cilindros, isso implica que cada disco possui 1024 trilhas. Tambm informado que este HD possui 256 cabeas e possui 63 setores por trilha, sendo que cada setor tem capacidade de 512 bytes. Desta forma, inserindo estes dados na frmula apresentada anteriormente, podemos deduzir que: Capacidade de Armazenamento = 1024 x 63 x 256 x 512 = 8455716864 bytes que podem ser convertidos em 8257536 KB, 8064 MB ou 7,875 GB. Com isso, a capacidade total de armazenamento deste HD so 7,875 GB, uma capacidade extremamente pequena para nossos padres atuais.

7.3 Taxa de Transferncia Interna e Externa


Apesar do giro rpido e constante de um disco rgido, ele no capaz de enviar instantaneamente as informaes solicitadas. Sempre
Introduo Informtica

introducao_informatica.indd S1:85

15/07/2009 15:04:06

86

Captulo 7

h um atraso chamado de latncia ou tempo de acesso. Esse atraso medido em milissegundos. A latncia o tempo gasto para a localizao de um setor especfico, determinado pelo tempo necessrio para mover a cabea de leitura/gravao at o cilindro desejado, ativar a cabea e esperar que o cilindro seja lido. Como o posicionamento da cabea em uma trilha fixo, deve-se esperar que o disco gire e que o setor desejado passe pela cabea. Ao atraso gerado por esse processo chamamos de taxa de transferncia interna. A taxa de transferncia interna o mais importante fator que define o desempenho de um disco rgido. Dessa forma, praticamente todos os discos rgidos possuem uma rea interna de memria, para onde so lidos os dados que sero posteriormente transferidos para a placame. Esta rea chamada de cache ou buffer. Quando um disco rgido transfere dados, dois tipos de transferncia esto envolvidos: - Transferncia dos dados da mdia magntica para a cache interna do disco - Transferncia da cache interna do disco para a placa-me. Sabemos que a taxa de transferncia interna trata da primeira transferncia. Em geral, a taxa de transferncia externa muito maior que a interna. Para que o disco rgido possa fazer uma transferncia completa (mdia cache CPU) de forma mais veloz, tanto a transferncia interna quanto a externa precisam ser rpidas.

Prezado aluno, O objetivo deste captulo foi apresentar os principais conceitos relativos ao funcionamento dos dispositivos de armazenamento em disco. As formas possveis de conexo destes dispositivos na prtica e os cuidados que devem ser tomados em tal situao sero apresentados em uma disciplina posterior em seu curso. Entretanto, se voc no entender os conceitos bsicos destes dispositivos, no far muito sentido aprender a lig-los ao computador. por isso que a ordem de apresentao de contedo se d desta forma.

Licenciatura em Informtica

introducao_informatica.indd S1:86

15/07/2009 15:04:06

87 Dispositivos de Disco

Existem vrias interfaces, ou seja, portas para a conexo dos dispositivos de disco placa-me e consequentemente ao resto do computador. At a alguns anos atrs, imperavam as interfaces IDE (l-se I-D-E, separadamente), as quais existiam em dois tipos. A IDE primria (primary) e a IDE secundria (secondary), alm do encaixe para conectar o drive de disquete, chamado FDD (floppy disk drive). Em se tratando de discos rgidos, tambm surgiu o padro SCSI (Small Computer Systems Interface) (que se l scsi). A primeira verso do padro SCSI foi lanada em 1986. A segunda verso, SCSI 2, foi lanada em 1990. Recentemente, vimos o surgimento de um padro novo para dispositivos de disco, muito mais prtico e com taxas de transferncia muito maiores, o padro SATA. Ele possui um alto desempenho e uma maior quantidade de conectores em placas-me mais modernas. Em algumas placas-me atuais, podemos encontrar at seis portas. Esse novo padro chegou ao mercado para substituir, aos poucos, os dispositivos IDE.

Atividades 1) Qual a diferena entre taxa de transferncia interna e externa? 2) Quais so os tipos de tecnologias usadas na construo de memrias de disco? 3) Descreva a geometria bsica de um H.D. 4) Calcule a capacidade de um disco rgido com as seguintes configuraes: 2048 cilindros 512 cabeas 63 setores por trilha 512 bytes por setor 5) Pesquise e descreva como acontece o processo de leitura e gravao de dados em mdias magnticas e mdias ticas. Para exemplificar, descreva o processo de gravao em um CD e no HD, ou em um DVD e no disquete, por exemplo. 6) Pesquise sobre a tecnologia de disco Blu-Ray e as vantagens que esta tecnologia oferece em relao qualidade e capacidade de armazenamento se comparada aos DVDs por exemplo.

Introduo Informtica

introducao_informatica.indd S1:87

15/07/2009 15:04:06

88

Captulo 7

Licenciatura em Informtica

introducao_informatica.indd S1:88

15/07/2009 15:04:06

89

DISPOSITIVOS DE ENTRADA E SADA

Prezado aluno, J foi dito que um computador sem dispositivos de entrada e sada seria uma apenas uma caixa fechada que acende luzes, mas sem utilidade para o usurio. So os dispositivos de E/S que permitem a interao do usurio com o computador, tornando-o til para suas atividades dirias. Essa interao pode acontecer da forma convencional (teclado e monitor) ou atravs de formas de interao mais intuitivas e atrativas (tela sensvel ao toque). Este captulo se inicia descrevendo como processador e interfaces de E/S se comunicam, como a organizao tpica de uma interface de E/S, e como o processador exerce controle sobre um dispositivo perifrico atravs de uma interface de E/S. Em seguida so apresentadas as principais tcnicas de transferncia de dados em operaes de E/S. Ao final do captulo, ambicionamos no s que voc entenda o que um dispositivo de entrada e sada, mas tambm que perceba que ele faz parte de um sistema muito maior dentro do computador e que compreenda como ele interage com o computador. Como no poderia faltar, ao final do captulo voc deve efetuar os exerccios de forma a se aprofundar ainda mais no tema. Bom estudo!

8.1 Introduo aos Dispositivos de E/S


Os dispositivos de entrada e sada (E/S) permitem, com grande variedade de formas, a interao dos usurios com o computador. Os dispositivos de entrada possibilitam a entrada de dados para a sua posterior transformao em informao e seu uso nas atividades dirias do ser humano. A forma mais clssica de entrada de dados no computador ainda em atividade o teclado, seguido pelo mouse, criado no incio da dcada de 80. Hoje, temos formas mais modernas e atrativas
Introduo Informtica

introducao_informatica.indd S1:89

15/07/2009 15:04:07

90

Captulo 8

de interao, como as telas sensveis ao toque, que vm se popularizando nos ltimos anos. Os dispositivos de sada fazem a operao contrria aos dispositivos de entrada, convertendo informaes eletrnicas produzidas pelo sistema de computador em uma forma inteligvel pelo homem para apresentao aos usurios finais. A despeito da multiplicidade de formas pelas quais voc recebe informaes dos computadores, os monitores de vdeo (imagens) e as impressoras (documentos impressos) foram e ainda so as formas mais comuns de sada dos sistemas de computadores. Apesar da enorme variedade de dispositivos de E/S existentes atualmente, a viso que o sistema computacional tem deles um pouco diferente. Na verdade, o processador v apenas interfaces, que so a parte mais interna do dispositivo de E/S. A interface ou controladora responsvel pela comunicao de diversos dispositivos (discos rgidos, drives de CDROM e impressoras, etc.) com o processador. Algumas interfaces ficam embutidas na placa-me, porm algumas placas de expanso possuem a sua prpria interface, como o exemplo das placas de vdeo. Em relao forma como os dados so transmitidos entre a interface de E/S e a memria, podemos classificar as interfaces em paralelas e seriais. A interface paralela transmitia dados em uma nica direo (unidirecional), mas evoluiu para um modo de transmisso bidirecional, capaz de transmitir e receber dados. Esta interface era a padro para a conexo de impressoras com o computador. Entretanto, na atualidade tem sido gradativamente substituda pelas interfaces USB (l-se U-S-B). As interfaces paralelas tm a capacidade de permitir o envio de vrios bits em paralelo em uma nica transmisso. As interfaces seriais tm como caracterstica principal a capacidade de envio de apenas um bit por vez e so usadas principalmente para a conexo de mouses e impressoras do tipo serial, entre outros perifricos. Atualmente, quase todos os mouses e impressoras usam atualmente o conector USB por questes de desempenho e confiabilidade. Mas ainda encontramos placas-me atuais com uma ou duas portas seriais. Na prxima seo, veremos que apesar das diferenas entre os vrios dispositivos de E/S existentes, as interfaces seguem um padro de organizao comum, o que facilita a interao com o resto do sistema.

Licenciatura em Informtica

introducao_informatica.indd S1:90

15/07/2009 15:04:07

91 Dispositivos de Entrada e Sada

8.2 Organizao de uma Interface de E/S


A principal funo de uma interface de E/S tornar os detalhes de operao e controle dos dispositivos perifricos transparentes para o processador. Podemos considerar que uma interface de E/S organizada em duas partes, como mostra a Figura 8.1.

Figura 8.1 Organizao tpica de uma interface de E/S. Fonte: Tanenbaum, 2001. Adaptao.

A parte genrica, como o prprio nome indica, semelhante entre os diferentes tipos de interfaces de E/S. essa poro da interface que vista pelo processador. Em geral, na parte genrica, existem alguns registradores, cujo nmero e funo dependem em parte do tipo de perifrico acoplado interface. No entanto, como mostra a figura acima, na maioria das interfaces, a parte genrica inclui pelo menos um registrador de dados, um registrador de controle e um registrador de estado. O acesso a cada um destes registradores feito pelo processador atravs de um endereo de E/S diferente. O registrador de dados usado para as transferncias de dados entre o processador e o dispositivo perifrico. Em uma operao de sada, o processador escreve um dado neste registrador e a interface se encarrega de envi-lo para o perifrico. No sentido contrrio, em uma operao de entrada, a interface recebe um dado do perifrico e o armazena no registrador de dados. O processador executa ento um acesso de leitura interface o obtm o dado depositado no registrador. O processador usa o registrador de controle para enviar comandos interface. Este comando enviado sob a forma de um cdigo. Cada interface possui um repertrio de comandos prprio. Quando o processador escreve um comando no registrador de controle, a interface interpreta o cdigo do comando e executa a operao solicitada, que pode ser uma operao interna interface ou uma operao sobre o perifrico a ela conectado.

Introduo Informtica

introducao_informatica.indd S1:91

15/07/2009 15:04:07

92

Captulo 8

Finalmente, o registrador de estado usado para veicular informaes gerais sobre uma operao de E/S. Tipicamente, esse registrador possui bits para indicar o trmino de uma operao e para indicar condies de erro que eventualmente possam acontecer durante a operao. A parte especfica interage diretamente com o perifrico, e por isso ela difere bastante entre os diferentes tipos de interfaces. No entanto, apesar das diferenas, a parte especfica possui, na maioria das interfaces, dois conjuntos de sinais. Um deles a prpria via atravs da qual so transferidos os dados entre a interface e o perifrico. O outro conjunto formado pelos sinais usados no controle do perifrico. Como exemplo de interface de E/S, a Figura 8.2 mostra a organizao simplificada de uma interface para unidades de disco rgido, ou seja, HDs. Em sua parte genrica, esta interface possui sete registradores. O registrador de dados (data register) o registrador usado na transferncia de dados. O registrador de comandos (command register) equivale ao registrador de controle descrito anteriormente. Algumas operaes exigem informaes adicionais, que so escritas pelo processador nos registradores de parmetro. O registrador de cilindros (cylinder register) o registrador de parmetro onde o processador escreve o nmero do cilindro (trilha) onde ser feito o acesso. Os registradores de nmero de setor (sector number register) e contador de setores (sector count register) servem para indicar, respectivamente, o nmero do setor inicial e a quantidade de setores que devem ser acessados a partir do setor inicial, de forma a se encontrar o arquivo que ser lido ou gravado. No registrador de setor/drive/cabea (sector/drive/head register), o processador escreve o tamanho do setor em bytes, o nmero da unidade de disco e o nmero da cabea. Finalmente, o registrador de erro (error register) indica alguma condio de erro ocorrida durante o processo de leitura ou gravao de um arquivo. Na parte especfica, a interface possui dois circuitos que realizam a leitura e a escrita de dados no disco. Na figura, o circuito de leitura est representado pelo quadrado Read Control e o circuito de escrita pelo quadrado Write Control. Um terceiro circuito controla a parte mecnica da unidade de disco, fazendo-a avanar na direo desejada de forma a completar a operao.

Licenciatura em Informtica

introducao_informatica.indd S1:92

15/07/2009 15:04:07

93 Dispositivos de Entrada e Sada

Figura 8.2. Organizao simplificada de uma interface para unidades de disco rgido. Fonte: Tanenbaum, 2001. Adaptao.

O exemplo acima mostra a organizao tpica de uma interface de E/S. Optou-se por uma interface de um disco rgido para que fosse possvel complementar o conhecimento sobre o funcionamento do HD, iniciado no captulo anterior. De um lado, a interface possui registradores atravs dos quais o processador envia e recebe dados, indica o tipo e os parmetros da operao de E/S e obtm informaes sobre o sucesso da operao. Do outro lado, a interface possui os circuitos e sinais necessrios para controlar um perifrico particular. Organizao semelhante pode ser encontrada em interfaces para monitores, impressoras e teclados, entre outros.

8.3 Tcnicas de Transferncia de Dados


Em geral, uma operao de E/S envolve a transferncia de dados entre a memria e a interface de E/S. Esta transferncia pode partir da memria para a interface (dispositivo de sada) ou da interface para a memria (dispositivo de entrada). Existem basicamente trs tcnicas de como realizar essa transferncia, que so discutidas a seguir. 8.3.1. E/S com Polling Na E/S com polling, o processador controla toda a transferncia de dados entre a memria e a interface de E/S. Para entender como funciona essa tcnica, considere o exemplo de
Introduo Informtica

introducao_informatica.indd S1:93

15/07/2009 15:04:07

94

Captulo 8

uma operao de escrita em um setor de disco. Suponha que a interface controladora de disco semelhante quela mostrada na Figura 8.2. Nor malmente, o registrador de estado possui um bit, chamado done bit, que desativado quando um dado escrito no registrador de dados, sendo ativado quando este dado escrito no setor do disco. O diagrama na Figura 8.3 mostra como acontece a escrita de um setor de disco usando-se E/S com polling.

Figura 8.3. Exemplo de E/S com polling.

Aps escrever um dado no registrador de dados, o processador l o registrador de estado e testa o done bit, para verificar se o mesmo j foi escrito no setor do disco. Esse teste do bit de estado chamado polling. O processador continua realizando o polling at encontrar o done bit ativado, o que indica que o dado j foi escrito no setor do disco. Quando isto acontece, e se ainda existe algum dado a ser enviado, o processador escreve o novo dado no registrador de dados e reinicia o polling. O ciclo repetido at que todos os dados tenham sido escritos no setor do disco. A principal vantagem da E/S com polling a sua simplicidade. No entanto, essa tcnica possui a desvantagem de que o processador fica dedicado operao de E/S. Isto pode ser extremamente ineficiente, sob o ponto de vista da utilizao do processador. Considere uma operao de envio de um bloco de caracteres para uma impressora. O tempo de impresso de um caractere infinitamente maior que o tempo de execuo de uma instruo. Manter o processador em polling durante o tempo de impresso de cada caractere um desperdcio, j que durante esse
Licenciatura em Informtica

introducao_informatica.indd S1:94

15/07/2009 15:04:07

95 Dispositivos de Entrada e Sada

intervalo de tempo o processador poderia executar alguns milhes de instrues de um outro programa. Devido ao fato de que o processador fica dedicado operao de E/S at o seu trmino, o uso da tcnica de E/S com polling restrito apenas a sistemas onde somente um programa pode se encontrar em execuo a cada instante. 8.3.2 E/S com Interrupo Na E/S com polling, o processador fica dedicado operao de E/S porque ele o responsvel por determinar quando um novo dado pode ser transferido entre a memria e a interface de E/S. O mesmo no acontece na E/S com interrupo. Nessa tcnica, a interface responsvel por notificar o processador quando um novo dado pode ser transferido. A interface deve gerar um sinal de interrupo, atravs do qual ela notifica o processador quando uma operao de E/S foi concluda. Considere novamente o exemplo da operao de escrita de um setor de disco. O diagrama na Figura 8.4 mostra como a operao realizada atravs de E/S com interrupo. A operao dividida em duas fases. Na fase de disparo da operao, o processador envia para a interface o comando e os nmeros da trilha e do setor. Ao final da fase de disparo, o processador passa a executar uma outra atividade qualquer, por exemplo, parte de um outro programa. A interface inicia a fase de transferncia de dados fazendo um pedido de interrupo ao processador, atravs do sinal de interrupo. Ao receber o pedido de interrupo, o processador suspende a execuo do programa corrente e passa a executar uma rotina especial, chamada rotina de servio de interrupo (tambm chamada device driver ou device handler). Nessa rotina, o processador verifica inicialmente se o ltimo dado j foi enviado. Se este o caso, o processador conclui a escrita do setor do disco lendo o registrador de estado da interface. Caso contrrio, o processador envia um novo dado e retorna para o programa que se encontrava em execuo.

Figura 8.4. Exemplo de E/S com interrupo.

Introduo Informtica

introducao_informatica.indd S1:95

15/07/2009 15:04:07

96

Captulo 8

Durante a fase de transferncia de dados, a interface faz um pedido de interrupo a cada dado escrito no setor do disco. O processador responde ao pedido de interrupo executando a rotina de servio e enviando um novo dado. Isto se repete at que todos os dados tenham sido escritos no setor do disco. Normalmente, a interface de disco conhece o tamanho do setor e mantm uma contagem dos dados j recebidos, de forma que ela pode determinar quando deve encerrar a sequncia de pedidos de interrupo. Na E/S com interrupo, o processador no fica dedicado operao de E/S. O processador alocado somente quando realmente deve ser transferido um dado entre a memria e a interface, resultando em uma utilizao mais eficiente do processador. No entanto, essa tcnica apresenta uma desvantagem quanto velocidade de transferncia dos dados. Isso se deve ao fato de que na realidade, o que contribui para aumentar o tempo de latncia o fato de que o processador ainda o responsvel por controlar a transferncia de dados. Para atender perifricos com alta taxa de transferncia, usa-se a tcnica de E/S com acesso direto memria, que ser analisada a seguir, onde o processador no toma parte na fase de transferncia de dados. 8.3.3 E/S com Acesso Direto Memria Na E/S com DMA (Direct Memory Access), um componente do sub-sistema de E/S chamado controlador de DMA responsvel por transferir os dados entre a memria e a interface de E/S. Considere novamente o exemplo da operao de escrita de um setor de disco. Na fase de disparo da operao, o processador informa ao controlador de DMA o nmero de dados a serem transferidos, o endereo do primeiro dado e o sentido da transferncia (no caso do exemplo, o sentido de transferncia da memria para a interface de E/S). Em seguida, o processador envia para a interface controladora de disco o nmero de trilha, o nmero de setor e o comando da operao. O processador participa apenas da fase de disparo. Na fase de transferncia de dados, o controlador de DMA assume o controle dos barramentos para realizar a transferncia entre a memria e a interface. Para tanto, o controlador de DMA coloca o processador em um estado, chamado hold state, no qual o processador fica impedido de iniciar ciclos de barramento. Note que na E/S com DMA a transferncia de cada dado envolve apenas uma leitura de memria e uma escrita de interface de E/S, realizadas
Licenciatura em Informtica

introducao_informatica.indd S1:96

15/07/2009 15:04:07

97 Dispositivos de Entrada e Sada

pelo prprio controlador de DMA. A E/S com DMA efetivamente elimina o tempo de latncia associado a cada dado transferido, que existe na E/S com interrupo. Isto permite que a E/S com DMA atinja taxas de transferncia bem maiores que as tcnicas de E/S que envolvem o controle do processador. Em geral, possvel ter vrias interfaces de E/S operando com a tcnica de acesso direto memria. Para que isso ocorra, o controlador de DMA possui vrias entradas para pedido de DMA. O controlador de DMA associa a cada uma destas entradas um conjunto independente de registradores para armazenar o nmero de dados a serem transferidos, o endereo inicial e o sentido da transferncia. Um grupo de sinais de controle com seus respectivos registradores formam o chamado canal de DMA.

Existem vrios padres de barramento que interligam interfaces de dispositivos de entrada e sada placa-me. Por barramento, entende-se uma forma de conexo que interliga uma placa de expanso ou uma controladora de dispositivo placa-me, permitindo que o dispositivo interaja com ela. Esses barramentos so chamados coletivamente de barramento de sistema. Algumas caractersticas do barramento de sistema, tais como largura do barramento de endereo e do barramento de dados, so determinadas pelo processador. Outras caractersticas esto relacionadas com o sub-sistema de E/S, como por exemplo, o nmero de sinais de interrupo e o nmero de canais de DMA disponveis no barramento de controle. O barramento de sistema no IBM-PC modelo XT era, na realidade, uma simples extenso dos barramentos do processador Intel 8088. O nmero de sinais de interrupo e de canais de DMA era bastante limitado. O IBM-PC XT foi substitudo pelo IBM-PC AT, cujo barramento de sistema tornou-se o padro ISA (Industry Standard Architecture). Com o ISA, o nmero de sinais de interrupo e de canais de DMA foi quase duplicado, enquanto que o desempenho das operaes de E/S com DMA aumentou em 60%. Apesar da diferena na largura dos barramentos de endereo e de dados, o padro ISA permite a conexo de interfaces originalmente projetadas para o barramento IBM-PC XT. Com o lanamento dos processadores Intel 80386 e 80486, aumentaram as exigncias quanto ao desempenho de E/S. Para fazer face a essas exigncias, foi criado o padro ISA estendido, ou EISA (Extended Industry Standard Architecture).

Introduo Informtica

introducao_informatica.indd S1:97

15/07/2009 15:04:07

98

Captulo 8

Aps o surgimento do padro EISA, surgiu o padro PCI, que uma interface de 64 bits num pacote de 32 bits. Uma caracterstica importante dos padres de barramento como o EISA e o PCI o compartilhamento de interrupes. Essa tcnica permite que dois dispositivos utilizem a mesma interrupo. Alm dos barramentos j citados, ainda podemos citar outros, criados com propsitos bastante especficos: o barramento AGP, criado pela Intel exclusivamente para conectar placas de vdeo, e os slots AMR e CNR, tambm criados pela Intel. O AMR foi desenvolvido para a instalao de placa de som ou placa de modem, e o CNR para a instalao de placa de som, placa de modem ou placa de rede. H pouco tempo, foi lanado um novo tipo de slot PCI chamado PCI Express, tambm conhecido como PCI-X.

Agora hora de voc entender um pouco melhor sobre os dispositivos de entrada e sada. Procuramos no entrar em muitos detalhes sobre o assunto, pois queremos que voc descreva melhor os dispositivos existentes no trabalho proposto na Tarefa 8, no ambiente. Ento, leia o enunciado da tarefa no ambiente e siga as regras de formatao e entrega de seu trabalho sobre um dispositivo de entrada e sada especfico. Lembre-se de que a escolha do dispositivo de entrada e sada deve ser feita no Wiki prprio para tal, colocando seu nome na frente do dispositivo que voc escolher. Bom trabalho!

Licenciatura em Informtica

introducao_informatica.indd S1:98

15/07/2009 15:04:07

99

TPICOS AVANADOS EM ARQUITETURA DE COMPUTADORES


Prezado aluno, Este captulo discute alguns tpicos que atualmente representam o estado-da-arte na rea de arquitetura de computadores. Inicialmente, so apresentadas a tcnica de pipelining (l-se pip-linin) e as arquiteturas superescalares, dois conceitos que se baseiam na execuo paralela de instrues para aumentar o desempenho de um processador. Em seguida, introduzida a filosofia RISC, cujos princpios so adotados pela maioria dos processadores lanados recentemente. Por fim, sero abordados brevemente os sistemas paralelos. Entender esses conceitos baseados nos conhecimentos pr-estabelecidos na disciplina e perceber as melhorias de desempenho trazidas por eles so os objetivos que esperamos de voc ao final do captulo. Como no poderia faltar, voc deve efetuar os exerccios ao final do captulo, de forma a se aprofundar ainda mais no tema.

9.1 A tcnica de pipelining


No captulo 6 foi apresentado o mecanismo bsico de execuo de instrues, no qual as instrues so executadas sequencialmente. Naquele modo, a execuo de uma nova instruo inicia-se somente quando a execuo da instruo anterior completada. Isto significa que apenas uma instruo encontra-se em execuo a cada instante de tempo. Ao contrrio da forma de execuo sequencial, a tcnica de pipelining permite que vrias instrues sejam executadas simultaneamente. Nessa tcnica, os passos de execuo de uma instruo so realizados por unidades independentes, denominadas estgios do pipeline. A figura 9.1(a) mostra a representao de um pipeline com quatro estgios.

Introduo Informtica

introducao_informatica.indd S1:99

15/07/2009 15:04:07

100

Captulo 9

Figura 9.1. Execuo de instrues em pipeline. Fonte: Tanenbaum, 2001. Adaptao.

Neste pipeline, o estgio b realiza a busca da instruo, o estgio d decodifica a instruo, o estgio e executa a operao indicada pela instruo, e finalmente o estgio r armazena o resultado produzido pela instruo. A execuo de uma instruo inicia-se pelo estgio b, sendo completada no estgio r. Ao ser finalizado um passo em um certo estgio, a instruo avana para o estgio seguinte. Em condies normais, uma instruo avana para o estgio seguinte a cada novo ciclo de clock. Dessa forma, a execuo de uma instruo passa a funcionar como uma linha de produo, onde ao invs de cada passo acontecer necessariamente aps o anterior, os passos podem ser feitos em paralelo, aumentando o desempenho computacional, como em uma linha de produo de uma fbrica. Imagine a montagem de um carro em uma fbrica. Se ela acontecesse de forma totalmente sequencial, com cada pequena pea dependendo da conexo da anterior, provavelmente a montagem de todo o carro levaria vrios dias, inviabilizando a produo em larga escala. Pense dessa maneira tambm em relao ao pipeline. Ele favorece uma execuo muito mais rpida das instrues computacionais por permitir que vrios passos sejam feitos em paralelo. O modo de execuo em pipeline mostrado na figura 9.1(b). Na figura, percebe-se a posio das instrues dentro do pipeline ao final de cada ciclo de clock.
Licenciatura em Informtica

introducao_informatica.indd S1:100

15/07/2009 15:04:07

101 Tpicos Avanados em Arquitetura de Computadores

No ciclo c1, a instruo i1 buscada pelo estgio b. No ciclo c2, a instruo i1 decodificada pelo estgio d, enquanto o estgio b busca uma nova instruo, i2. No ciclo c3, o estgio e executa a operao indicada pela instruo i1, ao mesmo tempo que o estgio d decodifica a instruo i2 e o estgio b busca a instruo i3. No ciclo c4 o resultado da instruo i1 armazenado pelo estgio r. Ainda em c4, as instrues i2 e i3 avanam para o prximo estgio, e o estgio b acessa a instruo i4. Note que novas instrues entram no pipeline antes que a execuo das instrues anteriores seja completada. Quando o pipeline se encontra cheio, vrias instrues esto sendo executadas em paralelo, uma em cada estgio do pipeline. No pipeline da figura 9.1(b), a cada instante de tempo at quatro instrues podem se encontrar em execuo. Na realidade, o aspecto mais importante na tcnica de pipeline que ela permite que uma instruo seja completada a cada ciclo de clock. Isso pode ser visto a partir da figura 9.2.

Figura 9.2. Completando instrues a cada ciclo de clock. Fonte: Tanenbaum, 2001. Adaptao.

A figura anterior mostra a continuao da execuo iniciada na figura 9.1(b). Ao final do ciclo c4 a execuo da instruo i1 completada, ao final do ciclo c5 a execuo de i2 completada, e assim por diante. Entre os ciclos c4 e c7 so completadas quatro instrues, i1, i2, i3 e i4. Isto significa que, em mdia, foi necessrio um ciclo para executar cada instruo, quando em uma situao normal, cada instruo demoraria 4 ciclos para ser completada. Quanto menor o tempo que um processador consome para executar um programa, maior ser o seu desempenho.

9.2 Arquiteturas Superescalares


Na tcnica de pipelining, vista anteriormente, apenas uma instruo completada por ciclo (veja a figura 9.2). Seria possvel aumentar ainda mais o desempenho caso fosse possvel elevar esse valor para acima desta mdia.
Introduo Informtica

introducao_informatica.indd S1:101

15/07/2009 15:04:08

102

Captulo 9

Para obter um aumento adicional no desempenho, seria necessrio permitir que mais de uma instruo fosse completada a cada ciclo. Essa a ideia central nas arquiteturas superescalares. Uma arquitetura superescalar dotada de mltiplas unidades funcionais independentes, que executam instrues em paralelo. A cada ciclo, vrias instrues podem ser enviadas, ou despachadas, para execuo nestas unidades funcionais. Desta forma, possvel completar a execuo de vrias instrues a cada ciclo de clock, e assim aumentar o desempenho alm de 1 instruo/ciclo. A cada ciclo, a unidade de despacho, responsvel por enviar as instrues para o processamento, acessa e decodifica um certo nmero de instrues, e verifica quais destas instrues podem ser despachadas para as unidades funcionais. Tipicamente, uma instruo despachada quando a unidade funcional apropriada encontra-se disponvel e quando no existe uma dependncia de dados entre esta instruo e uma outra instruo ainda em execuo. Os processadores mais recentes destinados a aplicaes de alto desempenho apresentam arquiteturas superescalares, como o processador Pentium, lanado pela Intel Corp, em 1993. A verso inicial do Pentium operava com uma frequncia de clock de 66 Mhz. Hoje, o Pentium chega a frequncias que ultrapassam os 3 Ghz, sendo considerado um dos melhores processadores para mquinas desktop no mercado.

9.3 Arquiteturas RISC x CISC


Uma das principais tendncias nas arquiteturas de processador que surgiram ao longo das dcadas de 70 e 80 foi a crescente sofisticao dos seus conjuntos de instrues. Nelas, operaes que antes eram realizadas por uma sequncia de vrias instrues passaram a ser executadas por uma nica instruo. Tal sofisticao das instrues decorria das limitaes de hardware e de software disponveis na poca. As principais limitaes do hardware estavam na capacidade de armazenamento e na velocidade da memria principal. Os dispositivos de memria apresentavam baixa densidade e alto tempo de acesso. Devido baixa capacidade de armazenamento da memria principal, era desejvel que o cdigo executvel de um programa tivesse tamanho reduzido. A velocidade da memria principal contribua para reforar essa necessidade. O tempo de acesso memria principal era em mdia 10 vezes maior que o tempo de execuo de uma instruo com operandos em registradores.
Licenciatura em Informtica

introducao_informatica.indd S1:102

15/07/2009 15:04:08

103 Tpicos Avanados em Arquitetura de Computadores

Esse desbalanceamento levou ao princpio amplamente aceito na poca de que o tempo de execuo de um programa seria proporcional ao tamanho do seu cdigo. Programas longos teriam um maior tempo de execuo devido ao maior nmero de instrues acessadas na memria. Assim, desejava-se reduzir o tamanho do cdigo no somente para economizar espao, mas tambm para se obter um melhor desempenho. Do lado do software, o estado inicial dos compiladores apresentavam limitaes que se somavam s do hardware. Como ainda no haviam sido desenvolvidas tcnicas eficientes de otimizao de cdigo, o cdigo ento gerado por um compilador era, em geral, maior do que o cdigo do mesmo programa quando escrito diretamente em linguagem assembly. Programas em linguagens de alto nvel eram assim considerados ineficientes em termos de espao e tempo de execuo. No entanto, a crescente complexidade das aplicaes foi tornando proibitiva a programao em linguagem assembly. medida que as aplicaes se tornavam mais sofisticadas, o uso de linguagens assembly resultava em uma dificuldade e custo de desenvolvimento cada vez maiores. O uso de linguagens de alto nvel tornava-se imprescindvel. Tais circunstncias motivaram o desenvolvimento de arquiteturas para suportar o uso de linguagens de alto nvel. Programas de alto nvel compilados para tais arquiteturas deveriam ser to eficientes quanto programas escritos em assembly. Para alcanar o seu objetivo, a abordagem usada nas arquiteturas complexas foi elevar o nvel de funcionalidade do conjunto de instrues, criando as arquiteturas chamadas de CISC. Os processadores construdos segundo a arquitetura CISC (Complex Instruction Set Computer) possuem uma grande quantidade de complexas instrues, vrios modos de endereamento (a memria), poucos registradores de dados (propsito geral) e processamento controlado por microprograma. A filosofia que o hardware mais rpido que o software. Ento, um conjunto poderoso de instrues produziria programas executveis pequenos, ou seja, com poucas instrues. Foram propostas e implementadas unidades lgica-aritmtica complexas, unidades de multiplicao, unidades de diviso, e clculo de funes matemticas como trigonometria e logaritmos. Quanto movimentao de dados, verificou-se o surgimento de inmeros tipos de endereamento de memria, instrues que permitiram a movimentao de blocos de dados e instrues para tratamento de vetores e matrizes.
Introduo Informtica

introducao_informatica.indd S1:103

15/07/2009 15:04:08

104

Captulo 9

Todo este desenvolvimento acarretou em um problema: a dificuldade em aumentar a frequncia de operao. Devido complexidade envolvida, os circuitos se tornaram muito grandes, ocupando uma rea considervel em silcio. Esse fato dificulta a reduo do ciclo de operao. Assim, o argumento central o de que as arquiteturas complexas apresentam um mau compromisso entre funcionalidade e desempenho, porque se paga com uma perda no desempenho por uma funcionalidade que no efetivamente utilizada. Foi essa constatao que levou ideia de simplificar o conjunto de instrues para se obter arquiteturas com melhor desempenho, ideia que discutida a seguir. 9.3.1 A Filosofia RISC As desvantagens das arquiteturas complexas relacionadas acima constituem um dos fatores que motivaram a filosofia RISC (Reduced Instruction Set Computers). Um outro fator foi o rpido avano tecnolgico ocorrido ao longo da dcada de 80. Como visto, as arquiteturas complexas surgiram devido s limitaes na capacidade de armazenamento e no tempo de acesso da memria principal. No entanto, a partir da dcada de 80 verificou-se um aprimoramento significativo na tecnologia de memrias semicondutoras. A capacidade de armazenamento dos dispositivos de memria aumentava rapidamente: a tendncia era de um crescimento na capacidade de armazenamento de 60% ao ano, com uma quadruplicao a cada trs anos. Alm disso, devido ao aperfeioamento dos processos de fabricao e produo em larga escala, havia uma constante diminuio no preo dos dispositivos de memria. A queda no preo possibilitava que novos sistemas fossem equipados com uma memria principal cada vez maior. O aumento na capacidade de armazenamento e a queda do preo dos dispositivos de memria praticamente eliminaram as limitaes quanto ao tamanho da memria principal. O desbalanceamento entre a velocidade do processador e a velocidade da memria principal tambm foi atenuado com novos processos de fabricao, mas deixou realmente de ser um fator limitante com a introduo das memrias cache. O novo quadro que existia no incio da dcada de 80 era, ento, o seguinte: surgiam evidncias de que instrues complexas no necessariamente contribuam para melhorar o desempenho. Ao mesmo tempo, eram minimizadas as limitaes no tamanho e na velocidade da memria principal. Assim, enquanto eram apontadas desvantagens no uso de instrues com alto nvel de funcionalidade, desapareciam as circunsLicenciatura em Informtica

introducao_informatica.indd S1:104

15/07/2009 15:04:08

105 Tpicos Avanados em Arquitetura de Computadores

tncias que haviam justificado essa abordagem. Esse novo quadro motivou e viabilizou a proposta das arquiteturas RISC. O princpio bsico na filosofia RISC a simplicidade das instrues. Arquiteturas RISC fornecem apenas aquelas instrues simples mais frequentemente usadas na codificao de programas de alto nvel. Uma instruo complexa includa na arquitetura somente se forem satisfeitos dois critrios. Primeiro, a utilizao da instruo dever ser significativa, ou seja, a instruo dever ser realmente til na codificao de diferentes tipos de programas escritos em diferentes linguagens. Segundo, o ganho final no desempenho dever ser maior do que eventuais perdas no tempo de execuo das instrues simples que ocorram com o acrscimo da instruo complexa. As mquinas RISC apareceram no incio dos anos 80 em laboratrios de empresas como a IBM e em instituies de pesquisa. Na IBM, foram inseridas em computadores como o IBM 801. Nas demais instituies, surgiram RISC I e RISC II na Universidade da Califrnia/Berkeley e MIPS na Universidade de Stanford. Em 1985, todas as trs tecnologias estavam operacionais. Tais pesquisas no tinham a inteno de revolucionar o projeto de processadores. Por exemplo: inicialmente, os projetos de Berkeley e Stanford tinham como foco o projeto de mquinas eficientes, mas simples o suficiente para poderem ser implementados em ambiente universitrio. As caractersticas principais de uma mquina RISC so: Conjunto de instrues limitado, com um formato fixo e simples (no ultrapassando o tamanho da palavra); Poucos modos de endereamento; Apenas as instrues LOAD e STORE para acesso memria; Grande nmero de registradores ou a utilizao de compiladores que otimizam a utilizao de registradores; nfase na otimizao da pipeline de instrues.

A arquitetura RISC permitiu a implementao de circuitos operando a uma frequncia elevada, devido ao fato de necessitar de circuitos muito mais simples comparados aos processadores CISC. Tudo isso devido ao fato de implementar apenas um conjunto limitado e otimizado de instrues. Os circuitos de cada estgio de um pipeline RISC so muito mais simples, o que para o mundo da microeletrnica significa menos atrasos e mais velocidade. claro que alta frequncia de operao no sinnimo

Introduo Informtica

introducao_informatica.indd S1:105

15/07/2009 15:04:08

106

Captulo 9

de processamento veloz ( um grande apelo de mercado), mas a arquitetura RISC abriu novas fronteiras para o projeto de microprocessadores.

9.4 Arquiteturas Paralelas


Tradicionalmente, o computador tem sido visto como uma mquina sequencial. A maioria das linguagens de programao requer que o programador especifique um programa como uma sequncia de instrues. Os processadores executam programas por meio da execuo sequencial de instrues de mquina. Cada instruo executada como uma sequncia de operaes (busca de instruo, decodificao, execuo da operao, armazenamento dos resultados). Essa viso do computador nunca foi totalmente verdadeira. No nvel de microoperaes, vrios sinais de controle so gerados ao mesmo tempo. A tcnica de pipeline de instrues tem sido usada h muito tempo, estendendo essa sobreposio pelo menos para as operaes de busca e execuo de instrues. Esses so dois exemplos de execuo de funes em paralelo. Essa abordagem levada mais adiante em uma organizao superescalar, que explora o paralelismo em nvel de instruo. Nas mquinas superescalares, existem diversas unidades de execuo em um mesmo processador, que podem assim executar vrias instrues de um mesmo programa em paralelo. medida que a tecnologia evoluiu e o custo do hardware do computador tornou-se mais baixo, os projetistas de computadores tm buscado outras oportunidades de explorao do paralelismo, usualmente para melhorar o desempenho e, em alguns casos, para aumentar a disponibilidade do sistema. Um sistema paralelo aquele onde existem vrios processadores e mdulos de memria, que se comunicam atravs de uma certa estrutura de interconexo, que pode ser a prpria placa-me do computador ou uma rede de computadores. Esses assuntos sero melhor abordados nas disciplinas seguintes a esta no curso. Na disciplina de Sistemas Operacionais, por exemplo, voc ter uma viso da gerncia do computador, feita por um software chamado de sistema operacional, e os desafios que so inerentes ao processo gerencial. Na disciplina de Redes de Computadores, voc subir mais um nvel, e ver como vrios sistemas computacionais podem ser interligados, trocando informaes e compartilhando recursos.

Licenciatura em Informtica

introducao_informatica.indd S1:106

15/07/2009 15:04:08

107 Tpicos Avanados em Arquitetura de Computadores

O uso de sistemas com vrios processadores explorando o paralelismo, j comum no mercado de servidores. Entretanto, no mercado de computadores desktop, apenas recentemente este uso tem se tornado mais comum. Em meados de 2005, foram lanados os primeiros processadores com dois ncleos, o Pentium D e o Pentium Extreme Edition. O Pentium D formado por dois ncleos de Pentium 4, dentro do mesmo encapsulamento. Depois vieram outros modelos, tanto da empresa AMD quanto da Intel. No incio de 2007, os processadores com mais de um ncleo j formavam uma generosa lista. Apesar dos clocks serem elevados, a arquitetura do Pentium D era menos eficiente que as usadas de outros processadores contemporneos, como o Athlon e o Pentium M (plataforma Centrino, para notebooks). Por isso um Pentium 4 precisava operar com clock muito elevado para ter bom desempenho. Em 2006 a Intel criou a nova arquitetura Core, baseada no ncleo do Pentium M, para substituir a arquitetura anterior, que j completava seis anos. Os novos processadores Core 2 Duo, Core 2 Quad e Core 2 Extreme usam a nova arquitetura Core, muito mais eficiente que a anterior.

Prezado aluno, Chegamos ao fim de nossa disciplina sobre Introduo Informtica. Em nenhum momento foi nosso objetivo nesta disciplina esgotar a discusso acerca dos conceitos da organizao de um computador, j que o assunto imensamente amplo e ganha novos contornos a cada descoberta. O que visamos com este material introduzi-lo nos conceitos bsicos da Informtica, que iro permear as disciplinas que voc acompanhar no decorrer do curso. No transcorrer da disciplina, foram abordados os fundamentos bsicos da informtica e os tpicos principais da organizao dos computadores, como: processador, memria, dispositivos de entrada e sada e dispositivos de armazenamento. Desejamos que voc tenha muito sucesso nos desafios que se seguiro no curso e que nunca perca a empolgao e a curiosidade neste fantstico mundo de descobertas que voc comea a vivenciar agora. Boa sorte!!!

Introduo Informtica

introducao_informatica.indd S1:107

15/07/2009 15:04:08

108

Captulo 9

Atividades 1) Pesquise e responda: se as mquinas RISC so bem mais eficientes, por que, ento, a tecnologia RISC no suplantou completamente a CISC? 2) Realize uma pesquisa e apresente exemplos de processadores que utilizam a filosofia RISC e exemplos de processadores que utilizem a filosofia CISC. Em particular procure sobre processadores que so utilizados em microondas, telefones celulares, palmtops e outros dispositivos eletrnicos comuns. 3) Descreva o procedimento para execuo de instrues adotando as seguintes estratgias: a) Pipeline b) Arquiteturas Superescalares c) Multiprocessadores d) Multicomputadores 4) A Lei de Moore prega que o poder de processamento dos chips teria um aumento de 100% a cada perodo de 18 meses. Entretanto, temos observado que essa lei no est mais sendo empregada em relao frequncia em Hertz dos processadores, pois ela se aproxima dos limites possveis. Ento, como voc acha que os processadores de dois ou mais ncleos podem ajudar nesse processo?

Licenciatura em Informtica

introducao_informatica.indd S1:108

15/07/2009 15:04:08

109

CASTRO, Maria Clicia Stelling, Arquitetura de Computadores, Juiz de Fora, 1999. Histria do Computador. Capturado on-line em 20/02/2009. Disponvel em http://www.netangola.com/CCA/pages/marks/ computador/bibliogr.htm MEIRELLES, F. S., Informtica: novas aplicaes com microcomputadores, So Paulo, Makron, 1997. MONTEIRO, Mrio A. Introduo Organizao de Computadores. Editora LTC, 2001 MURDOCCA, M. J.; HEURING V.P., Introduo Arquitetura de Computadores, Rio de Janeiro, Editora Campus, 2001. PATTERSON, DAVID A. & HENNESSY John L., Organizao e Projeto de Computadores. Editora LTC, 2000 TANENBAUM, Andrew S. Organizao Estruturada de Computadores. Editora LTC, 1999 TOCZEK, Jonathan Souza, Apostila de Apoio a disciplina de Processamento de Dados, Vitria. VASSOLER, Gilmar, Organizao estruturada de computadores, Vitria, IFES, 2007.

Introduo Informtica

introducao_informatica.indd S1:109

15/07/2009 15:04:08

Você também pode gostar