apostila curso aluno integrado- módulo ii- hardware

26
MÓDULO II HARDWARES Unidade I: Introdução ao Hardware O QUE SE ESPERA O objetivo desta proposta de estudo, é que ao final dessa jornada, você compreenda os conceitos e fundamentos relacionados a alguns modelos de computadores modernos e quais são os seus principais componentes e processos. E, assim, possa entender que, ao contrário do que pregam os comerciais da mídia, o desempenho de um computador é resultado de uma conjunção de fatores, e não uma consequência direta da velocidade do processador. DE ONDE PARTIMOS Aqui, partimos da visão de que, o que se esconde dentro da maioria dos computadores pessoais, nada mais é que um grupo de componentes eletrônicos integrados, dispostos sobre um grande circuito denominado placa-mãe, que os interconecta e permite que se coordenem a fim de executar determinado processamento. Unidade II - Processador PROCESSADORES Você já deve ter notado a ênfase que é dada, nas lojas e na mídia em geral, ao processador, quando o assunto é modelos de computadores. De todos os componentes de um computador, o prcessador, sem dúvida, é aquele sobre o qual mais fábulas foram criadas ao longo da história. Fabricantes de microeletrônicos e, sobretudo, o comércio varejista, frequentemente se valem da falta de compreensão a respeito do funcionamento de tais componentes, a fim de promover suas vendas. Vale dizer que, embora existam processadores destinados aos mais diversos fins, e que sejam empregados, em parte considerável dos eletrodomésticos produzidos recentemente, a maioria das pessoas se acostumou a associar o termo a um tipo bastante específico de processador: os microprocessadores de propósitos gerais. São eles, exatamente, que propomos aqui, como foco da atenção. CONTEÚDO COMPLEMENTAR PROCESSADORES AMD Clique aqui http://www.youtube.com/watch?v=MV20Sr1n2CI e assista o vídeo para entender um pouco mais sobre a arquitetura dos processadores AMD.

Upload: jessica-marques

Post on 25-Jul-2015

1.172 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Apostila Curso Aluno Integrado- Módulo II- Hardware

MÓDULO II – HARDWARES

Unidade I: Introdução ao Hardware

O QUE SE ESPERA

O objetivo desta proposta de estudo, é que ao final dessa jornada, você compreenda os conceitos e

fundamentos relacionados a alguns modelos de computadores modernos e quais são os seus principais

componentes e processos. E, assim, possa entender que, ao contrário do que pregam os comerciais da mídia,

o desempenho de um computador é resultado de uma conjunção de fatores, e não uma consequência direta

da velocidade do processador.

DE ONDE PARTIMOS

Aqui, partimos da visão de que, o que se esconde dentro da maioria dos computadores pessoais, nada mais é

que um grupo de componentes eletrônicos integrados, dispostos sobre um grande circuito denominado

placa-mãe, que os interconecta e permite que se coordenem a fim de executar determinado processamento.

Unidade II - Processador

PROCESSADORES

Você já deve ter notado a ênfase que é dada, nas lojas e na

mídia em geral, ao processador, quando o assunto é

modelos de computadores. De todos os componentes de um

computador, o prcessador, sem dúvida, é aquele sobre o

qual mais fábulas foram criadas ao longo da história.

Fabricantes de microeletrônicos e, sobretudo, o comércio

varejista, frequentemente se valem da falta de compreensão

a respeito do funcionamento de tais componentes, a fim de

promover suas vendas.

Vale dizer que, embora existam processadores destinados

aos mais diversos fins, e que sejam empregados, em parte

considerável dos eletrodomésticos produzidos

recentemente, a maioria das pessoas se acostumou a

associar o termo a um tipo bastante específico de processador: os microprocessadores de propósitos gerais.

São eles, exatamente, que propomos aqui, como foco da atenção.

CONTEÚDO COMPLEMENTAR

PROCESSADORES AMD

Clique aqui http://www.youtube.com/watch?v=MV20Sr1n2CI

e assista o vídeo para entender um pouco mais sobre a arquitetura dos

processadores AMD.

Page 2: Apostila Curso Aluno Integrado- Módulo II- Hardware

GERADORES DE CLOCK

Observe ainda, que intimamente associado à unidade central de

processamento, existe um circuito bastante simples,

denominado gerador de clock, responsável pelo envio

periódico de sinais elétricos ao barramento frontal, que ditarão

a frequência de trabalho do processador.

O circuito gerador de clock é bastante simples. Isso é verdade,

e ele não seria digno de maiores detalhes, não fosse a

criatividade da indústria de publicidade: quando um ator de

comercial de TV anuncia a venda de um “computador com processador de 1 giga”, ele inconscientemente

faz referência à frequência de cerca de 1 bilhão de vezes por segundo, com que o gerador de clock envia

pulsos elétricos ao processador através do barramento frontal, e que o processador executa instruções

contidas na memória RAM.

Então, você fica imaginando... Que frequências como aquelas, em que trabalham o gerador de clock e a

unidade central de processamento, ao primeiro contato podem parecer muito elevadas, e na realidade foi

exatamente nisso que elas se transformaram. Sob o prisma da física, chegou-se ao ponto em que o aumento

sistemático da frequência de operação do clock, como resultado da busca incessante por melhoria de

desempenho, encontrou como limitante, a velocidade de propagação de impulsos eletromagnéticos.

Isto em virtude de que, voltando ao exemplo do processador de 1 giga, a onda elétrica vinda do gerador de

clock (resultante da criação momentânea de um campo magnético sobre um condutor metálico típico) teria

que desencadear todas as alterações de estados nos circuitos afetados pela respectiva instrução, antes da

ocorrência do próximo impulso, ou seja, em um intervalo de aproximadamente um bilionésimo de segundo.

Considerando, de um modo geral, que a velocidade de propagação de radiações eletromagnéticas se situa na

faixa dos 300.000 km/s, não é complicado perceber que na nossa máquina de exemplo, entre dois sinais

consecutivos de clock, a malha disponível para o fluxo da corrente, obrigatoriamente, deveria possuir alguns

poucos centímetros, sob a pena de que, caso assim não o fosse, um sinal de clock se sobreporia ao anterior, e

fatalmente causaria a corrupção do estado intermediário, armazenado nos circuitos.

A CORRIDA PELO DESEMPENHO

É importante saber que, como consequência, a

corrida pelo aumento de desempenho implicou

na aceleração da corrida pela integração de

componentes. Esta última trouxe à tona um

problema antigo, mas que ainda não havia

recebido a atenção necessária, da indústria de

microeletrônicos: o da degradação da energia

elétrica em forma de calor. À medida que as

técnicas de miniaturização foram sendo

empregadas na fabricação de componentes

eletrônicos, menores se tornaram as suas

capacidades de trocar calor com o meio, uma

vez que a facilidade com que dois corpos

Page 3: Apostila Curso Aluno Integrado- Módulo II- Hardware

trocam calor é proporcional, entre outros fatores, à dimensão da superfície que os separa, o que fazia, e de

certa forma ainda faz, com que o calor dissipado pela corrente que fluía através deles, se acumulasse e, em

casos extremos, danificasse o componente.

DISSIPADORES DE CALOR

Agora observe na figura ao lado, que certos circuitos não periféricos, a exemplo da unidade central de

processamento, o northbridge, o southbridge, e processadores gráficos em geral, são especialmente

penalizados pelo problema da dissipação excessiva de calor. E não é por outra razão, que dificilmente um

iniciante consegue localizá-los dentro de um computador aberto, senão por ter se tornado prática comum

associá-los a dissipadores: estruturas usualmente fabricadas com cerâmica ou metal, possuidoras de alto

poder de condutibilidade térmica, e que por tal, favorecem o fluxo do calor dissipado.

O QUE É UMA INSTRUÇÃO?

Um programa de computador é um arquivo que contém uma sequência de instruções destinadas ao

processador. Enquanto o programa não está sendo executado, o arquivo fica armazenado no disco rígido da

máquina. No momento em que é executado - o que ocorre, por exemplo, quando você dá um duplo clique

sobre o ícone que o representa - as instruções do programa são copiadas para a memória RAM e enviadas

uma a uma para o processador. O processador, então, as interpreta e executa as operações necessárias. Os

processadores modernos suportam uma variedade de instruções, e elas podem representar diversos conceitos

distintos: somar dois números, pintar um pixel na tela com uma cor específica, obter ou enviar informações

para dispositivos periféricos, são alguns exemplos.

Processadores podem ser vistos como operários que trabalham seguindo as ordens contidas em um plano de

atividades disponibilizado por um chefe, aqui chamado de programador de computador. Assim como na vida

real, a relação de trabalho entre um operário e um chefe costuma ser estipulada por um contrato, também

entre processador e programador há regras que devem ser obedecidas. Assim, um processador reconhece

apenas um conjunto específico de instruções, de forma que qualquer plano que o ordene executar um tipo

diferente de atividade, será interrompido bruscamente. Isto pode acontecer, por exemplo, em virtude da ação

de um programador descuidado, ou quando as instruções contidas em um programa são corrompidas por um

vírus.

CICLO DE EXECUÇÃO DE INSTRUÇÕES

Por outro lado, podemos perceber que a existência do ciclo de processamento pouco nos diz a respeito da

organização interna do processador. A verdade é que existem, dentro do núcleo da maioria dos

Page 4: Apostila Curso Aluno Integrado- Módulo II- Hardware

processadores modernos, três repartições, sendo que cada uma, encontra-se envolvida em uma ou mais

etapas do ciclo fetch-decode-execute, em português, busca-decodificação-execução. De tal modo que a

busca e a decodificação de instruções são relegadas a uma repartição denominada unidade de controle, ao

passo que a etapa seguinte, de execução, é atribuída à unidade lógica e aritmética. Para melhor compreensão

do que comentamos aqui, sobre essas estruturas, o convidamos a observar a ilustração no diagrama de

blocos da figura.

REGISTRADORES

Vale observarmos que, durante os instantes que sucedem a busca e precedem a decodificação, certos dados

referentes à instrução a ser executada são temporariamente armazenados em unidades de memória

denominadas registradores, com funções semelhantes aos módulos RAM, mas com uma distinção

importante: registradores são mantidos internamente aos processadores e, por esta e outras razões, os dados

que encerram podem ser acessados em muito menor tempo. Esse recurso é considerado extremamente

importante, quando se percebe o quanto é difícil a tarefa de manter a sincronia e o desempenho do sistema

como um todo.

Bom, imaginamos que até aqui, você já deve ter uma ideia um pouco mais clara sobre o ciclo busca-

decodificação-execução de execução de instruções em um processador moderno e suas estruturas

relacionadas. No entanto, gostaríamos de lhe informar que ainda existem outros personagens envolvidos, e

que a partir de agora, eles também entrarão em cena. Imagine o seguinte cenário: você acabou de voltar de

uma festa, e lá, você tinha tirado um monte de fotos com sua câmera fotográfica digital. Chegando em casa,

você conecta a câmera no computador e para sua surpresa... Você percebe que esqueceu de usar o flash em

todas as fotos! Elas estariam perdidas, e você, com certeza, apagaria todas elas. Mas por mera coincidência,

você se lembra de um programa que tinha instalado alguns dias antes, no seu computador, para edição de

imagens. Nossa, que alívio! Hein? Então, você decide usar esse programa para alterar a luminosidade das

Page 5: Apostila Curso Aluno Integrado- Módulo II- Hardware

fotos e, embora o resultado não fique lá essas coisas, se formos comparar com uma foto tirada com flash,

pelo menos você consegue distinguir seus amigos nas fotos, e vai poder assim, guardá-las como recordação.

PROGRAMAS DE EDIÇÃO DE IMAGENS

Há recursos interessantes em programas de edição de imagens. Aliás, há muitos recursos interessantes neste

tipo de software. Mas uma das funcionalidades mais notáveis é que, processamentos como os de alteração da

iluminação de uma imagem possuem natureza repetitiva. Intuitivamente, como você deve saber, imagens

digitais são formadas por um conjunto de pontos denominados pixels. A única coisa que programas de

edição de imagens fazem, na maioria das vezes, é alterar as propriedades de cada um dos pixels que

compõem os arquivos sobre os quais eles operam. Então, é de se supor que as instruções do programa usadas

para se alterar a luminosidade de qualquer pixel de uma imagem, sejam exatamente iguais às instruções

usadas na alteração de quaisquer outros pixels da mesma imagem.

Page 6: Apostila Curso Aluno Integrado- Módulo II- Hardware

MEMÓRIA CACHE

Agora, já com esses outros personagens em cena, voltando ao contexto do ciclo de execução de instruções,

fica evidente o quanto seria trabalhoso se o processador acessasse, para cada pixel da imagem, a mesma

instrução da memória RAM. Será que ele não poderia simplesmente armazenar dentro de si, instruções que

fossem executadas repetidamente, evitando assim, acessar o barramento da memória e ter que esperar até

que os módulos RAM estivessem prontos para enviá-las? De fato, é exatamente isso o que ocorre dentro da

maioria dos processadores atuais. Essa região interna ao processador, onde são armazenadas instruções

repetidas, é denominada memória cache, e é justamente a capacidade de armazenamento dessas estruturas,

um dos fatores que mais contribuem para o desempenho de um processador. Isso se explica pelo fato de que,

independente do tipo de software, seja ele um programa de edição de imagens, um navegador, ou um player

de vídeo, a ocorrência repetitiva de instruções idênticas é bastante comum.

CONTEÚDO COMPLEMENTAR

ARMAZENAMENTO NA MEMÓRIA CACHE

Cique nos links abaixo para entender como funciona o armazenamento em cache.

http://www.youtube.com/watch?v=MPTafFFnQJA – Parte 1

http://www.youtube.com/watch?v=jAwoT9vgSzo – Parte 2

CONCLUSÃO

Poderíamos detalhar mais o funcionamento das memórias cache, mas para o momento, consideramos como

suficiente que você entenda as razões que as tornam importantes. Este conhecimento, aliado às informações

que serão apresentadas nas seções seguintes, permitirão que você tome a decisão mais sensata no momento

em que precisar adquirir o seu próprio computador.

Page 7: Apostila Curso Aluno Integrado- Módulo II- Hardware

Unidade III – Memória RAM

RECAPITULANDO

Como vimos nas etapas anteriores, um resultado importante do aumento da frequência de trabalho do

processador foi o encurtamento das distâncias que separam os componentes, de modo que o intervalo de

tempo entre dois pulsos consecutivos de clock fosse suficiente para que a corrente elétrica caminhasse pelo

circuito. O passo que seguiu essa técnica foi manter ainda mais próximos do processador, aqueles

componentes envolvidos em cargas de trabalho pesadas, permitindo que pudessem se comunicar através de

barramentos velozes. Assim surgiu o northbridge.

MEMÓRIA RAM E CONTROLADOR DE MEMÓRIA

Talvez você não tenha vivido essa experiência, mas na época em que o vídeo cassete era o sonho dos

consumidores, não era raro ser surpreendido com avisos solicitando que, antes de se devolver uma fita VHS

alugada, deveria rebobiná-la. Caso você não tenha passado por isso, rebobinar significa retroceder o rolo de

filme contido dentro da fita, até o início, deixando-a preparada para o próximo cliente da locadora que

tivesse interesse em alugá-la. Esse procedimento era necessário porque, usando os recursos de um vídeo

cassete, não era possível partir de uma cena do filme e avançar instantaneamente para outra cena qualquer.

Por essa razão, fitas de vídeo cassete são enquadradas como dispositivos de armazenamento de acesso

sequencial.

Page 8: Apostila Curso Aluno Integrado- Módulo II- Hardware

Agora, uma desvantagem própria dos dispositivos de armazenamento de acesso sequencial, reside no fato de

que, quanto maior sua capacidade, maior o tempo perdido na localização de determinada informação. Essa

limitação foi responsável pela mobilização da indústria eletrônica com vistas à invenção de dispositivos de

armazenamento de acesso randômico, que oferecem velocidades constantes de acesso, independentes,

portanto, da localização do dado em seu interior.

CONTEÚDO COMPLEMENTAR

COMO FUNCIONA A MEMÓRIA RAM

Clique nos links abaixo para ver vídeos no Youtube e entender melhor o funcionamento da memória RAM.

http://www.youtube.com/watch?v=mYbYGFWeG_Y - Parte 1

http://www.youtube.com/watch?v=3AJ3_q0Yo28 - Parte 2

http://www.youtube.com/watch?v=V19chQm8s0c - Parte 3

DISPOSITIVOS DE ARMAZENAMENTO DE ACESSO RANDÔMICO

Clique abaixo para assistir a vídeo aula da evolução dos dispositivos de armazenamento.

http://www.youtube.com/watch?v=bp_Bu0sd9l8

E SE NÃO HOUVESSE CONTROLADORES DE MEMÓRIA?

Você pode observar, como exemplificado no vídeo, que durante o ciclo busca-decodificação-execução, ao

fazer uma busca em RAM por uma instrução, basta ao processador se comunicar com o controlador e

solicitar a instrução contida no endereço 1000, ou 20.000 ou qualquer que seja a localização na sequência de

endereços. Portanto, não há necessidade de informar precisamente em quais módulos e chip ela se encontra.

Então, se o plano sair como combinado, alguns bilionésimos de segundo depois de feita a solicitação, o

processador terá “em mãos” o dado requerido.

O GARGALO DE VON NEUMANN

Como você pode perceber, até aqui, preocupamos em enumerar as cenas da peça onde atua a memória

RAM, mas foram poucas as intervenções orientadas à apresentação de tais dispositivos como componentes

independentes. A verdade é que o desconforto histórico causado pelo descompasso existente entre memória

e processador (o que é apresentado, no vídeo ao lado, como Gargalo de Von Neumann) gerou uma variedade

de modelos tão diversificada que sua apresentação só poderia soar coerente se feita após a exposição de seu

uso.

Sendo assim, vale ressaltarmos que, do ponto de vista taxonômico, as referências anteriores à memória

RAM foram pouco precisas. A rigor, memórias RAM não compreendem um único tipo de dispositivo

eletrônico, mas uma variedade inteira. Você gostaria de saber em decorrência do quê, não é mesmo? Bom,

elas, corriqueiramente, são classificadas de acordo com critérios referentes a certas características de seus

módulos, como: encapsulamento, dinamicidade e volatilidade. Vamos analisar cada um deles.

CONTEÚDO COMPLEMENTAR

ARQUITETURA DE VON NEUMANN

Clique abaixo e veja o video de alunos do curso de Engenharia da Computação da UPE/POLI sobre a

Arquitetura de Von Neumann.

http://www.youtube.com/watch?v=IfbU5ZxyPDM

Page 9: Apostila Curso Aluno Integrado- Módulo II- Hardware

ENCAPSULAMENTO

Mediante o critério do encapsulamento, classificam-se os dispositivos de memória RAM em três grupos

distintos: SIMM, DIMM e RIMM. Na prática, esse critério poderia ser relevante, se durante a corrida na

disputa pela aceitação do mercado, a combinação de desempenho e o preço acessível das memórias DIMM

não tivesse conferido a elas tamanha vantagem sobre os modelos concorrentes. Passada essa fase da

competição, tudo o que restou foram anedotas sobre as memórias SIMM, referentes a tempos em que,

quando não instaladas aos pares, impediam que o computador sequer fosse ligado. Ainda, associada à beleza

desses dissipadores metálicos que, ao mesmo tempo em que cobriam os chips dos módulos RIMM e

ocultavam o preço exorbitante com que eram vendidos, também revelavam o desfecho menos ambicioso,

restrito a nichos específicos, daquela tecnologia por vezes considerada a antecipação de uma receita de

sucesso para a aceitação em massa que ela jamais obteve.

Observe a Figura, nela há representações dos três formatos de encapsulamento discutidos. As memórias

RAM dos tipos SIMM e DIMM são identificadas, respectivamente, por perfurações circulares e

semicirculares contidas nas extremidades de seus módulos. Veja que a identificação das memórias RIMM e

seus chamativos dissipadores, não apresentam dúvida.

VOLATILIDADE

O critério da volatilidade, como o próprio nome sugere, divide as memórias RAM em dois grupos: o das

memórias RAM voláteis, representado por dispositivos cujos conteúdos dependem de realimentação elétrica;

e o grupo das memórias RAM não voláteis, cujos conteúdos independem de realimentação. Entretanto, é

importante que você esteja atento ao fato de que o uso popular da expressão “memória RAM” tratou

injustamente de consagrar as RAM voláteis como as únicas representantes da classe.

VOLATILIDADE, NA PRÁTICA

No exemplo apresentado no vídeo anterior, tratamos das RAM voláteis. Agora, focaremos as memórias

RAM não voláteis que têm ganhado notícia, pois elas são o meio mais difundido de armazenamento do

conteúdo de players de áudio e vídeo portáteis. Podemos ainda, destacar outro emprego de fundamental

importância e menor visibilidade da variedade não volátil das memórias RAM, que é o que consiste na

fabricação de circuitos que contêm um tipo híbrido de hardware e software denominado BIOS. Este assunto

será discutido mais adiante, em uma seção à parte.

Page 10: Apostila Curso Aluno Integrado- Módulo II- Hardware

DINAMICIDADE

Continuando a nossa discussão sobre a taxonomia das memórias RAM, chegamos à dinamicidade, o mais

importante dos três critérios e que, como sugere a palavra, responde pela divisão das RAM em dois grupos

distintos: as memórias estáticas e as memórias dinâmicas.

As memórias RAM estáticas, comumente denominadas SRAM, são compostas por uma infinidade de

circuitos denominados flip-flops. Esses circuitos são portadores de certas propriedades que a manutenção de

determinados regimes de tensão elétrica, em seus terminais de entrada, gera, em seus terminais de saída,

correntes que podem ser interpretadas como os dois estados, 0 e 1, correspondentes aos possíveis valores da

menor unidade de informação digital: o já mencionado bit.

As memórias RAM dinâmicas, comumente denominadas DRAM, devem sua estruturação a um conjunto

muito numeroso de capacitores, cada um dos quais com potencial de representar os dois estados de um bit;

bastando para tanto que esteja eletrizado ou descarregado.

Assim como os nossos corpos que constantemente se eletrizam e perdem a carga elétrica resultante do atrito

com o ar, a carga elétrica repassada aos capacitores que compreendem os módulos de memória DRAM

também é perdida no ambiente em que se encontram. Por conta disso, os módulos de memória fabricados

com esta tecnologia precisam ser periodicamente realimentados. Esta tarefa repetitiva de realimentação

elétrica de módulos de memória DRAM é mais conhecida pelo termo em inglês refresh, e é mais uma das

responsabilidades que fazem do controlador de memória um dos componentes fundamentais dos

computadores modernos.

DINAMICIDADE E MEMÓRIAS DDR

Vale destacarmos que as memórias DRAM são tradicionalmente caracterizadas por trabalhar sob o ritmo do

circuito gerador de clock associado ao barramento frontal. Diz-se, por isso, que elas são memórias

“síncronas”. Os modelos mais comercializados, atualmente, de módulos DRAM, são memórias síncronas,

Page 11: Apostila Curso Aluno Integrado- Módulo II- Hardware

capazes de operar a frequências muito altas e com larguras de banda consideráveis. Ao anunciá-las, a

indústria exibiu mais uma vez sua preferência pelas siglas, batizando-as de DDR.

CONCLUSÃO

Discutimos bastante a respeito das memórias de acesso randômico, mas mesmo assim, não esgotamos esse

assunto. Nem era essa a nossa intenção, pois a cada dia novos modelos, baseados em novas tecnologias, são

lançados no mercado e, a quantidade de informações que trazem consigo, torna-se inesgotável, até mesmo

para quem se dedica exclusivamente ao estudo da área. Nosso intuito foi apresentar uma imagem mais coesa

desse campo, baseada na identificação de grupos de componentes com características semelhantes e na

análise das aplicações desses grupos. Esperamos que assim, você tenha uma visão mais clara dessa questão

e, nas mãos, a capacidade de fazer escolhas que, na prática, sejam mais adequadas.

Unidade IV – Componentes Gráficos

COMPONENTES DE PROCESSAMENTO GRÁFICO

Enquanto falávamos sobre o ciclo de execução de instruções, ressaltamos a importância do controlador de

memória ao descrever sua principal responsabilidade: oferecer para o restante dos componentes do sistema

uma representação menos complexa da memória RAM, de forma que seu conteúdo pudesse ser acessado

através de endereços lineares, ao invés da abordagem baseada em módulos e chips. De forma análoga à

maneira com que o controlador de memória reduz a complexidade inerente ao acesso à memória RAM, um

circuito denominado controlador de vídeo simplifica o acesso ao conteúdo exibido no monitor de vídeo. Mas

de que forma? Você poderá encontrar as respostas a esta e outras questões nesta seção.

Page 12: Apostila Curso Aluno Integrado- Módulo II- Hardware

TUBOS DE RAIOS CATÓDICOS

Até recentemente, a maior parte dos modelos de monitores disponíveis no mercado era do tipo CRT.

Monitores CRT, como ilustra a figura, em suma, são constituídos por uma ampola de vidro forrada

internamente por um material luminescente, no interior da qual se aloja um dispositivo eletrônico

denominado tubo de raios catódicos, capaz de emitir feixes de elétrons. Por meio da aplicação de um campo

magnético sobre os feixes de elétrons, é possível desviar a direção de suas trajetórias, fazendo-os chocar em

pontos e instantes específicos da região interna da ampola, iluminando-os, assim, com intensidades e cores

desejadas.

MEMÓRIA DE VÍDEO

Os estímulos elétricos responsáveis pela ativação do campo magnético que causa a deflexão dos feixes

emitidos pelo canhão de elétrons, como descrita anteriormente, é uma das mais maiores responsabilidades de

um componente mencionado no início desta unidade: o controlador de vídeo. A região da memória RAM

acessada a cada nova varredura pelo controlador de vídeo, que contém as cores com as quais devem ser

pintados os pixels que compõem a imagem da tela, é denominada memória de vídeo ou framebuffer.

Page 13: Apostila Curso Aluno Integrado- Módulo II- Hardware

FLICKERING

A capacidade de retenção de energia do material luminescente, entretanto, é extremamente reduzida; o que

torna o fenômeno da irradiação luminosa dos minúsculos pontos que compõem a imagem na tela,

incrivelmente efêmero. Imediatamente após terem sido energizados, sua luminosidade começa a diminuir; e

não seriam necessários mais do que alguns poucos décimos de segundos para que o decaimento fosse

percebido por qualquer pessoa. Tal limitação foi, em parte, resolvida por meio de uma ideia engenhosa:

periodicamente, sob uma frequência configurável denominada taxa de refresh, CRTs varrem a superfície

interna de sua tela, reenergizando os pontos que compõem a imagem exibida. Diz-se, em parte, porque

monitores incapazes de operar sob taxas de refresh mais altas, geralmente os mais baratos, causam um

desconforto visual típico, decorrente de um fenômeno sensorial denominado flickering, caracterizado pela

sensação de cintilância do conteúdo da tela.

TEARING

Você já sabe que um game altera o conteúdo da memória de vídeo, e que esta última é acessada pelo

controlador de vídeo de modo que ele possa instruir o monitor sobre como colorir os pixels da tela. Imagine,

então, se a memória de vídeo dos computadores fosse dividida em duas áreas distintas: uma referente às

cores dos pixels contidos na metade superior da tela, e outra referente às cores dos pixels da metade inferior.

Suponha também que a varredura feita pelo controlador de vídeo pudesse ser dividida em duas etapas: uma

para cada região da tela. Nestas circunstâncias, seria possível ocorrer o seguinte:

O fato comentado anteriormente, de o controlador de vídeo, ao completar a varredura, acessar a área da

memória de vídeo referente à metade inferior da tela e instruir o monitor a exibir um fragmento de imagem,

é denominado tearing, e é responsável pela frustração dos mais diversos tipos de usuários: desde os amantes

de games, para os quais as menores inconsistências visuais são razões suficientes para se deixarem irritar;

até usuários comuns, geralmente ansiosos por tirar proveito das experiências que o mercado publicitário não

Page 14: Apostila Curso Aluno Integrado- Módulo II- Hardware

teme por garantir. Embora confundido com o flickering, que é causado por taxas de refresh muito baixas, o

tearing resulta, na maior parte das vezes, da imperícia de desenvolvedores de software que ignoram o

funcionamento interno das máquinas, especialmente no que diz respeito à maneira com que seus

componentes se comunicam.

DOUBLE BUFFERING

Controladores de vídeo, sempre que concluem a varredura da última linha da tela, notificam tal evento aos

programas interessados; que por sua vez, devem interpretar tal notificação como a chegada do momento

mais propício para a alteração do conteúdo da memória de vídeo. Ocorre que determinados tipos de software

recorrem a cálculos computacionais tão intensivos, que mesmo que trabalhassem de forma coordenada com

o controlador de vídeo, produziriam flickering, caso a geração fosse feita diretamente sobre a memória de

vídeo. A solução empregada por tais softwares, na classe dos quais se enquadra, a título de curiosidade, boa

parte dos games modernos, reside em gerar a imagem em uma segunda área da memória RAM e transferi-la

de uma só vez, e no instante adequado, para a memória de vídeo. Esta técnica é conhecida por double

buffering. A política de intercomunicação da qual participam, neste caso, o controlador de vídeo e outros

componentes do sistema, é denominada interrupção, e será um dos assuntos da próxima unidade.

Page 15: Apostila Curso Aluno Integrado- Módulo II- Hardware

PIXELS

Um tubo de raios catódicos, a bem da verdade, desencadeia efeitos luminescentes de uma única cor;

vermelha, verde ou azul. Assim, a representação convincente do espectro de luz visível, por uma limitação

física, prescinde da atuação conjunta de três tubos, incumbidos da luminescência simultânea de uma tríade

de pontos, que em conjunto compõem um pixel na tela. Essa tríade que forma um pixel, normalmente se

encontra em uma disposição triangular equilateral e cada um dos pontos ocupa um dos vértices do triângulo.

A distância entre os centros de dois pontos de mesma cor pertencentes a pixels adjacentes é denominada dot

pitch, e configura um fator crucial para a exibição nítida de imagens. Com isso, normalmente, quanto menor

o dot pitch, melhor e também mais caro será o monitor.

TAXA DE CONTRASTE

A taxa de contraste de um monitor de vídeo, por exemplo, nada mais é que uma medida indireta da diferença

de luminosidade existente entre o ponto mais brilhante que o dispositivo é capaz de exibir, e o ponto menos

brilhante; quaisquer que sejam as cores desses pontos. E a importância dessa taxa de contraste está

diretamente relacionada à fisiologia humana como, por exemplo, a da sensibilidade dos nossos olhos às

variações de luminosidade que é ainda maior que nossa capacidade de distinguir várias escalas de cores.

Assim, quanto maior a taxa de contraste de um monitor, maior será a sua fidelidade na representação do

brilho de uma imagem, e mais caro será seu preço. Trataremos dessa questão da fisiologia do olho humano

mais adiante, quando formos discutir certas técnicas computacionais para compactação de imagens.

RESOLUÇÃO DO VÍDEO

Quando tratamos do princípio de funcionamento dos monitores CRT, vimos que a imagem formada na tela é

composta por um conjunto de pontos, agrupados em tríades denominadas pixels. Os pixels, por sua vez,

encontram-se dispostos na tela sob a conformação de uma matriz semelhante à de um tabuleiro de xadrez,

com duas significativas diferenças: primeiro, há muito mais pixels na tela de um monitor do que há casas em

um tabuleiro; e segundo, o número de pixels pode ser alterado para valores pré-estabelecidos. Assim, a

resolução máxima de um monitor de vídeo indica a maior quantidade de pixels, consideradas as direções

horizontal e vertical, que podem ser usados para se representar imagens na tela. E da mesma forma que um

pintor, por mais habilidoso que seja, será incapaz de pintar um retrato pequenino com um pincel grande de

cerdas espessas, um monitor não conseguirá exibir imagens detalhadas com precisão satisfatória em áreas

muito reduzidas, tarefa a que seria submetido caso sua resolução tivesse sido alterada para valores pequenos,

Page 16: Apostila Curso Aluno Integrado- Módulo II- Hardware

em que os centros dos pixels adjacentes se encontram mais distantes uns dos outros. Como você já deve

imaginar, quanto maior a resolução máxima de um monitor de vídeo, maior será seu preço.

A METÁFORA DO DESKTOP

Em meados da década de 80, quando a indústria de microcomputadores dava seus primeiros passos em

direção à tentativa de popularização da metáfora do desktop, tão profundamente dependente das interfaces

gráficas de interação, surgiu a necessidade da adoção de padrões que pudessem nortear o desenvolvimento

das tecnologias envolvidas. Um desses padrões foi denominado VGA, e tinha por objetivo definir recursos

mínimos de hardware, que permitissem alavancar a disseminação das interfaces gráficas. A partir de então,

aos fabricantes de monitores de vídeo interessados no usufruto das óbvias vantagens advindas da associação

dos nomes de seus produtos ao de um padrão tão requisitado quanto o VGA, bastava equipá-los com

conectores baratos e telas requintadas para a época: capazes de exibir imagens coloridas sobre uma matriz

que deveria possuir 640 pixels na largura e 480 pixels na altura.

O PADRÃO VGA

Do ponto de vista histórico, alguns fatos referentes ao desenvolvimento do

padrão VGA parecem irônicos. A qualidade superior dos monitores

compatíveis com aquele padrão foi, sem dúvida alguma, essencial para sua

permanência no mercado; tal afirmativa representa a conclusão a que se chega

depois de considerada como são voláteis as tecnologias empregadas na criação

de computadores pessoais. O irônico, no entanto, é que a história tratou de

conceder créditos não à qualidade das telas de vídeo VGA, intangível por

natureza, mas sim ao conector barato que as ligavam ao gabinete do

computador. E tamanho foi o desequilíbrio nessa concessão, que ainda hoje,

não é exagero dizer que a maior parte das pessoas ignora completamente a

Page 17: Apostila Curso Aluno Integrado- Módulo II- Hardware

existência da sigla VGA, embora saiba que o monitor de vídeo, a que tem acesso, está ligado ao computador

por meio de um cabo decorado, em uma de suas extremidades, por um belo conector azul.

Ainda mais surpreendente é o fato de que, mesmo que não tenham acesso a

computadores pessoais, essas pessoas, muito provavelmente, têm contato direto

com telas compatíveis com o padrão VGA. A matriz de 640 por 480 pixels que

muitos consideraram fadada ao esquecimento, hoje em dia atua como coadjuvante

no épico da convergência tecnológica, equipando telefones celulares, câmeras

fotográficas digitais e handhelds dos mais variados modelos. Elas, enfim, voltaram

a ser o canal por meio do qual a informação flui entre homens e máquinas.

CONECTIVIDADE

Tecnologias usadas na construção dos componentes de ligação entre um computador e um monitor de vídeo

compreendem o fator da conectividade; e como já era de se imaginar, são responsáveis, em parte, pelo preço

destes equipamentos. Recentemente, diversas tecnologias de conexão foram criadas; a maioria das quais,

inventadas com o propósito único de reverter certas limitações impregnadas no padrão VGA. A seguir,

analisaremos brevemente três destas limitações, e também as respostas dadas a elas pela indústria de

microeletrônicos: os padrões de conexão DVI e HDMI.

INTERFERÊNCIA ELETROMAGNÉTICA

No início do século XX, o físico dinamarquês,

Hans Christian Oersted, fez uma descoberta interessante. Ele percebeu que a agulha de uma bússola, que em

condições normais se mantinha alinhada com o campo magnético terrestre, sofria uma deflexão sempre que

um fio metálico presente em suas proximidades era percorrido por uma corrente elétrica. A explicação dada

por Oersted, para tal fenômeno, se baseava na teoria de que o movimento ordenado de elétrons através do

condutor, provocava em suas vizinhanças, o aparecimento de um novo campo magnético, cuja interação

com o campo magnético terrestre era responsável pelo movimento da agulha. Pela primeira vez na história,

fenômenos elétricos puderam ser formalmente associados a fenômenos magnéticos.

O PADRÃO DVI

Em dispositivos cujo aproveitamento da corrente elétrica se dá apenas no nível

térmico, a exemplo de chuveiros e ferros de passar, a presença de ruídos na

corrente é absolutamente desprezível. Entretanto, dispositivos eletrônicos mais

refinados, como é o caso de computadores modernos, se valem de mecanismos

de sincronia bastante precisos para atribuição de significado aos sinais

transportados pela corrente elétrica. E tamanha é a delicadeza dessa operação,

que ruídos mínimos no sinal são capazes de alterar seu significado. O padrão de

conectividade DVI foi criado, entre outras razões, como meio de se contornar

as limitações do padrão VGA inerentes a este quesito.

Page 18: Apostila Curso Aluno Integrado- Módulo II- Hardware

O PADRÃO HDMI

A tecnologia de conectividade HDMI foi desenvolvida por um consórcio

de empresas formado com o intuito de oferecer meios que suprissem as

demandas inerentes à transmissão digital de conteúdo audiovisual. Uma

preocupação secundária dos participantes do consórcio era a disseminação

de mecanismos que impedissem, ou ao menos dificultassem, a subversão

de direitos autorais digitais; o que se concretizou com a criação de um

padrão atrelado denominado HDCP.

A UNIDADE DE PROCESSAMENTO GRÁFICO

Para finalizar esta unidade, nos ateremos à análise de um componente de importância central dos

computadores pessoais modernos, o qual, até agora, apenas ousamos citar: a Unidade de Processamento

Gráfico, ou simplesmente GPU como sugere, em inglês, o nome que dá origem à sigla. Concomitantemente,

ainda seguindo a filosofia adotada no início deste curso, veremos como se dá a interdependência da GPU

com o restante do sistema e de que maneira eles se coordenam a fim de executar as tarefas que lhes são

cabidas.

A revolução causada pela invenção do desktop atuou como força aceleradora da convergência tecnológica, e

fomentou práticas que os pioneiros da informática sequer vislumbraram há menos de um século. Assim, a

compartimentalização da GPU em unidades funcionais distintas revela a motivação oculta por trás de sua

origem: primordialmente, processadores gráficos foram projetados como solução para as restrições de

desempenho provenientes do emprego dos computadores na realização de tarefas antes desempenhadas

apenas por dispositivos especializados. Usar a tela do computador para assistir vídeos de alta definição ou se

divertir com games de última geração tornou-se prática comum entre uma parcela significativa da

população. Mas, em termos práticos, que operações são essas das quais tanto se valem os ambientes de

desktop, a exibição de vídeos em alta definição e a execução de games? Vamos analisar, caso a caso, nos

slides a seguir.

Page 19: Apostila Curso Aluno Integrado- Módulo II- Hardware

OPERAÇÕES GRÁFICAS 2D

O termo ambiente de desktop trata de um estilo de interface de usuário encontrada atualmente por toda a

parte, baseada na metáfora do desktop, em que os softwares mais frequentemente usados e as configurações

mais comuns do sistema são dispostos de maneira que o usuário possa acessá-los com o mínimo de

dificuldade. Seguindo esta tendência, ambientes de desktop modernos fazem uso, por exemplo, de janelas

transparentes que permitem a visualização do conteúdo sobre o qual ela se posta. Em meados de 1980, dois

pesquisadores publicaram um artigo notável, em que fundamentaram teoricamente uma álgebra destinada à

representação de operações voltadas à composição digital de imagens.

Esse modelo matemático levou o nome de seus idealizadores, Thomas

Porter e Tom Duff; e tornou possível a simulação da transparência em

elementos de interface. Entretanto, a demanda computacional

associada à exibição de elementos transparentes, por anos a fio, atuou

como um estorvo à disseminação daquelas técnicas; e tamanho era o

comprometimento que causavam no desempenho dos processadores

de propósitos gerais, que só se tornaram prevalecentes com o advento

de componentes de processamento gráfico dedicados: as GPUs.

Além de operações de composição de imagens citadas acima, as engines 2D das GPUs modernas são

capazes de realizar uma infinidade de outras tarefas. É bem provável que ao menos uma vez você já tenha

usado seu computador para assistir vídeos em DVD. A depender da resolução usada na tela do seu monitor,

e obviamente da disponibilidade de uma GPU em sua máquina, sem que tenha se dado conta, você pode ter

visto não o vídeo contido no DVD, mas uma representação da versão íntegra, redimensionada a fim de

ocupar mais harmonicamente o espaço da tela. Os cálculos matemáticos usados no redimensionamento dos

quadros que compõem um vídeo são frequentemente relegados à GPU. Caso o vídeo tenha sido apresentado

com legendas, maiores ainda são as chances de que uma GPU tenha sido envolvida.

Isso porque os cálculos para exibição de caracteres, denominados algoritmos de rasterização de glifos,

também são computacionalmente pesados. Por esta mesma razão, as cores de fundo das janelas opacas do

desktop, em geral, são preenchidas pela GPU através de operações denominadas fill. E a ela, normalmente,

também cabe a tarefa da exibição dos ícones presentes na área de trabalho, e do cursor do mouse, ambas

executadas por intermédio de operações bit blit. De uma forma geral, uma operação gráfica é realizada por

meio de aceleração 2D sempre que sua execução envolve os recursos computacionais da engine 2D da GPU.

OPERAÇÕES GRÁFICAS 3D

De forma análoga, diz-se que quaisquer processamentos

executados com o auxílio da engine 3D de um processador

gráfico são realizados em regime de aceleração 3D.

Podemos ver a representação destas duas operações

através da interação ao lado. O mapeamento de texturas é

um procedimento muito comum em games modernos por

meio do qual uma imagem (textura) qualquer é aplicada

sobre um objeto tridimensional. Já a rotação consiste nos

movimentos que este objeto tridimensional é capaz de

realizar. Clique e arraste a textura até o cubo, aplicando-a

Page 20: Apostila Curso Aluno Integrado- Módulo II- Hardware

sobre ele, assim teremos uma textura mapeada em um cubo. Para rotacionar o cubo basta clicar no botão

“Girar o Cubo”. Mapeamentos de texturas e rotações no espaço, como você pode perceber, são

procedimentos bastante complexos do ponto de vista computacional; e são, frequentemente, delegados à

engine 3D de uma GPU.

Assim, finalizamos a quarta unidade do módulo Hardware. Nas próximas unidades trataremos dos

componentes de um computador pessoal moderno que se ligam ao processador através de barramentos

menos velozes.

Unidade V – Barramento de média velocidade

INTRODUÇÃO

A partir deste ponto, voltaremos nossa análise às

responsabilidades que são atribuídas aos componentes

periféricos de um computador pessoal. A nossa intenção é

oferecer uma visão realista das formas como esses

componentes se relacionam com os restantes e, assim, levá-lo

a perceber que o funcionamento de um computador moderno,

diferente da ideia que se tem, não se reduz apenas ao

entendimento de seus componentes centrais. Se um

computador pudesse ser visto como uma colcha de retalhos,

ou seja, fabricado com periféricos e fios que se cruzam e

entrecruzam, esta unidade certamente seria destinada ao

estudo das técnicas usadas para unir os componentes uns aos

outros.

MÉTODOS DE I/O

Os recursos de um computador que permitem a execução de operações semelhantes às citadas no vídeo

deste slide, por meio das quais é possível estabelecer uma troca de informações entre o processador e os

dispositivos periféricos, são denominados métodos de I/O, e representam um conceito-chave da computação

moderna. Denomina-se ainda operações de I/O as operações oferecidas por cada método. A seguir,

analisaremos mais detalhadamente três dos mais comuns métodos de I/O: I/O baseado em mapeamento de

porta, I/O baseado em mapeamento de memória, e I/O baseado em interrupção.

CONTEÚDO COMPLEMENTAR

MÉTODOS DE I/O

Neste vídeo podemos perceber de maneira bem ilustrada como as informações

transitam dentro dos computadores. Clique abaixo e assista!

http://www.youtube.com/watch?v=UZ14m_yVmO4

EXEMPLO DE I/O BASEADO EM MAPEAMENTO DE PORTA

Para tanto, analisemos com mais detalhes, através da ilustração, o primeiro exemplo citado há instantes

atrás. Sempre que você digita em um computador, imediatamente após cada tecla ser pressionada, um sinal

elétrico denominado

scan code contendo o valor da referida tecla, é enviado do teclado para um componente denominado

controlador de teclado, que normalmente se encontra afixado sobre a placa mãe. O controlador de teclado

armazena o valor da tecla em uma área de armazenamento temporário e, envia um sinal, avisando o

Page 21: Apostila Curso Aluno Integrado- Módulo II- Hardware

processador a respeito do evento. O processador, então, se comunica com o controlador de teclado de forma

a obter o valor da tecla digitada e, somente após, o exibe na tela.

I/O BASEADO EM MAPEAMENTO DE PORTA

A comunicação entre o processador e o dispositivo periférico, no caso em questão, representado pelo

controlador de teclado, é baseada no conceito de portas de I/O, que são valores numéricos associados a

alguns dispositivos periféricos conectados à máquina. Podemos dizer que o relacionamento das portas de I/O

com os dispositivos, ocorre de maneira semelhante à forma com que se relacionam números de telefones e

pessoas. Assim como é possível estabelecer contato com uma pessoa pelo seu número de telefone, também é

possível acessar funcionalidades, de alguns dispositivos, através da execução de uma variedade específica de

instruções, em conjunto, denominadas instruções de I/O, que tomam como parâmetro, um valor numérico

pré-estabelecido, correspondente a uma porta de I/O. O método de I/O propiciado por computadores que

oferecem suporte à execução de instruções de I/O, que a propósito compreendem a maior parte dos

computadores pessoais, é denominado I/O baseado em mapeamento de porta, ou simplesmente PMIO.

I/O BASEADO EM MAPEAMENTO DE MEMÓRIA

Um segundo método de I/O muito comum é denominado I/O

baseado em mapeamento de memória, ou MMIO.

Dispositivos periféricos projetados para oferecer suporte a

este método de comunicação mantêm vigilância constante

sobre as operações que envolvem o acesso à memória RAM;

reagindo de maneira específica sempre que ocorrem

alterações em áreas da memória RAM monitoradas por eles.

Page 22: Apostila Curso Aluno Integrado- Módulo II- Hardware

Você já deve ter notado que, nos instantes que sucedem

a inicialização de um computador, os elementos de

interação disponíveis para o usuário não são formados

de janelas ou botões. Até o momento em que o sistema

se habilita a exibir imagens, tudo o que se vê na tela são

caracteres brancos dispostos sobre um fundo preto. Diz-

se, por essa razão, que o computador opera em modo

texto logo após sua inicialização, e em modo gráfico a

partir desse momento. Sempre que é necessário exibir

um caractere em modo texto ou um pixel em modo

gráfico, é possível fazê-lo por meio da execução de

uma instrução que modifica uma região específica da

memória RAM, previamente reservada para esta função. Este é um exemplo típico de I/O baseado em

mapeamento de memória.

Como você já deve saber, os processadores pessoais modernos compreendem conjuntos enormes de

instruções. Embora todos eles sejam capazes de executar os mesmos tipos de processamentos, a

disponibilidade de instruções designadas especificamente para a solução de certos tipos de problemas é uma

conveniência valiosa para programadores de computadores. Computadores que fazem uso de processadores

capazes de lidar com diversidades grandes de instruções são enquadrados em uma categoria denominada

CISC, em contraponto aos computadores RISC.

I/O BASEADO EM INTERRUPÇÃO

O terceiro e último método de comunicação discutido aqui é denominado I/O baseado em interrupção.

Através desse método, um dispositivo periférico que necessita enviar dados para processamento, gera um

sinal elétrico denominado interrupção, direcionado ao processador, para notificá-lo a respeito da necessidade

de atenção. Como resposta, o processador interrompe imediatamente qualquer programa que esteja

executando e então atende a requisição do dispositivo periférico, obtendo dele as informações convenientes

e processando-as de maneira adequada. Ao final do atendimento a essa solicitação da requisição, o

processador retoma o programa interrompido como se nada tivesse acontecido. Observe que a iniciativa

relativa ao estabelecimento da comunicação, no caso do método de I/O baseado em interrupção, cabe

invariavelmente ao dispositivo periférico, ao passo que nos métodos de PMIO e MMIO, cabe ao

processador.

CONTROLADOR DE INTERRUPÇÕES

Uma questão, entretanto, precisa ser esclarecida: embora a

maioria dos computadores modernos conte com uma

diversidade imensa de dispositivos periféricos, seus

processadores contam apenas com alguns poucos pinos,

quando não um único, dedicados ao recebimento de

interrupções. E pelas mesmas razões que é preciso

coordenar os veículos que se dirigem a uma mesma rodovia,

vindos de estradas diferentes, também foi necessário

racionalizar o uso do pino de interrupções do processador.

Isso foi preciso, para que as interrupções advindas de

dispositivos diferentes, e mesmo aquelas vindas de um

mesmo dispositivo, não se chocassem umas com as outras.

A solução para esse problema tomou a forma de um componente eletrônico conhecido por controlador de

interrupções.

A figura ilustra um controlador de interrupções. A rigor, ele é constituído não por um, mas dois

componentes eletrônicos, denominado controlador mestre de interrupções e controlador escravo de

interrupções. Esses controladores são associados em cascata e mantidos em contato por um dos vários pinos

Page 23: Apostila Curso Aluno Integrado- Módulo II- Hardware

metálicos que os compõem. Cada um dos referidos pinos é identificado por um valor numérico e é reservado

para uso de um único dispositivo periférico. O controlador de interrupções mestre permanece conectado ao

pino de interrupções do processador, e tal é a organização deste conjunto, que qualquer interrupção gerada

por periféricos do sistema pode ser, seguramente, encaminhada para o processador.

EXEMPLO COMPLETO DE I/O

Voltando novamente ao exemplo do tratamento da interrupção gerada pelo pressionamento de uma tecla, e

nos valendo da figura do slide anterior, que indica que o pino de número 1 do controlador mestre de

interrupções é alocado para uso exclusivo do teclado, é possível descrever a situação ainda mais

detalhadamente. Assim, quando um usuário pressiona uma tecla, um sinal elétrico contendo a identificação

da tecla pressionada é enviado do teclado para o controlador de teclado, situado sobre a placa mãe. O

controlador de teclado, ao receber o sinal, gera uma interrupção que chega ao controlador mestre de

interrupções que, por sua vez, envia um sinal para o processador, informando-o acerca dos detalhes

referentes ao dispositivo periférico em questão. Ciente da natureza do periférico, o processador é capaz de

atendê-lo tomando as medidas adequadas; o que no caso do teclado implica na exibição, em tela, do

caractere associado à tecla pressionada.

Page 24: Apostila Curso Aluno Integrado- Módulo II- Hardware

CONTROLADOR DE INTERRUPÇÕES 8259

Assim, finalizamos a análise dos princípios

envolvidos na comunicação entre os componentes

de um computador. Certamente, ainda há espaço

para explorar mais o conteúdo apresentado.

Máquinas modernas, por exemplo, contam com

uma quantidade de dispositivos periféricos que

facilmente ultrapassa o limite imposto pela

disponibilidade de pinos do controlador de

interrupções, descrito nesta unidade. Além do que,

como já foi mencionado em outra ocasião, a maior

parte dos computadores pessoais, comercializados

atualmente, é equipada não com um, mas com

vários núcleos de processamento, encerrados em

um único revestimento cerâmico. Isso nos leva a crer que a carga resultante do tratamento das interrupções

vindas de um número grande de dispositivos, devesse ser distribuída igualmente pelos núcleos, para evitar

que alguns permanecessem sobrecarregados, ao passo que outros ficassem sem ter o que fazer. As soluções

para esses problemas foram asseguradas por meio de extensões implementadas sobre a estrutura básica do

controlador de interrupções, que culminaram no desenvolvimento de uma série de componentes que,

atuando em conjunto, são capazes de lidar com a diversidade atual de periféricos e processadores, da qual

todos nós temos nos beneficiado.

PIT, O TIMER DE INTERVALO PROGRAMÁVEL

No início do século XX, dois cientistas publicaram um estudo que

desvendou um dos grandes mistérios da medicina. Embora as

explorações acerca do funcionamento do corpo humano tivessem

alcançado resultados incríveis, até aquele momento ninguém havia

dado explicações que justificassem, de modo convincente, um

fenômeno muito simples: o batimento do coração. Pesquisadores já

haviam montado parte do quebra-cabeça, ao descreverem as

influências de determinados hormônios sobre a frequência cardíaca,

mas a razão direta das contrações do coração permanecia

desconhecida. A busca pela explicação perdurou até 1907, quando

Arthur Keith e Martin Flack anunciaram a descoberta de um

aglomerado de células denominado nódulo sinoatrial, disposto no

interior do músculo cardíaco, responsável pelo envio de sinais

elétricos que, em último caso, induziam a contração do miocárdio.

Do ponto de vista biológico, o batimento do coração faz parte de uma rede complexa de atividades orgânicas

que propiciam a homeostase - estado de equilíbrio fisiológico indispensável a todo ser vivente -, e que se

estendem desde as esferas macroscópicas, nas quais se situam, por exemplo, os movimentos peristálticos da

digestão, até as microscópicas, nas quais ocorre a transformação da energia contida nos alimentos que

ingerimos. Quando observado pelo prisma do processamento de informações, levando em conta sua relação

com o sistema nervoso central, entretanto, o batimento do coração pode ser visto como uma atividade de

suporte, imprescindível ao funcionamento do sistema nervoso central.

Page 25: Apostila Curso Aluno Integrado- Módulo II- Hardware

Por diversas vezes, você já deve ter tido a sensação de que vários programas são executados

simultaneamente em seu computador. Ouvir música enquanto navegamos na internet ou digitamos um texto

são práticas tão comuns, que nós sequer temos a noção de quanto são complexos os desafios escondidos por

trás das interfaces amigáveis de usuário. A bem da verdade, todo computador pessoal moderno faz uso de

um software bastante complexo, denominado sistema operacional, que tem como principal finalidade a

gestão dos recursos da máquina.

Linus-Ubuntu Windows Mac

Como você viu na unidade II deste módulo, o processador é um

dos recursos mais importantes de um computador e, por isso, o

sistema operacional deve buscar meios de utilizá-lo de forma

tão otimizada quanto possível, levando em conta os perfis das

cargas de trabalho a que eventualmente será submetido. Uma

maneira bastante eficiente de usar o processador de um

computador pessoal típico, consiste em promover uma

alternância de processamento entre os programas que o usuário

deseja executar ao mesmo tempo. Assim, desde que os cuidados

devidos sejam tomados, é possível executar o navegador de

internet durante uma fração muito pequena de segundos, pausá-

lo enquanto outros programas quaisquer são executados durante

intervalos de tempo semelhantes, e dar prosseguimento à

execução do navegador como se ele jamais tivesse sido

interrompido. Uma questão crucial referente à implementação

de esquemas desse tipo, reside no fato de que, se a fração de segundos em que os programas permanecem

inativos for cuidadosamente escolhida, o usuário não perceberá o rodízio a que eles estão submetidos, e terá

a impressão de ter sido atendido pela execução simultânea e contínua de vários programas. A função

descrita aqui e ilustrada na figura, que compreende sucessivas ativações e inativações de programas a fim de

propiciar melhorias na qualidade da experiência do usuário, é denominada escalonamento de processos. E

como você verá mais detalhadamente em outro módulo, é uma das atividades de suporte mais importantes

de um computador.

Seria perfeitamente possível implementar uma extensão do sistema operacional que periodicamente o

informasse sobre a necessidade da execução de atividades de suporte, a exemplo do escalonamento de

processos, mas a carga envolvida seria alta demais. A alternativa à qual recorrem os sistemas operacionais

modernos, é fazer uso das facilidades oferecidas por um circuito integrado denominado timer de intervalo

programável, ou simplesmente PIT, presente em praticamente todos os computadores pessoais. Então, assim

como o nódulo sinoatrial informa o coração sobre o momento exato de se contrair, os PITs podem ser

programados para avisar o processador sobre a hora exata da execução de atividades de suporte. Dessa

forma, cabe aos sistemas operacionais programar o PIT durante a inicialização da máquina, de modo que ele

Page 26: Apostila Curso Aluno Integrado- Módulo II- Hardware

passe a gerar sinais periódicos de interrupção, em resposta aos quais são executadas ações específicas para

aquele dispositivo. O que no caso do PIT inclui a decisão referente à possibilidade do escalonamento de

processos.

A origem do emprego de PITs em computadores pessoais, no entanto, data de meados da década de 80,

época em que os requisitos impostos pelo software, sobre o hardware, eram bem diferentes dos atuais. Desde

então, classes inteiras de aplicativos surgiram. Sistemas de tempo real, cuja exatidão pode ser comprometida

por atrasos mínimos de processamento, tornaram-se mais comuns. Sistemas multimídia, que dependem de

um controle rígido sobre a taxa de transmissão de canais de áudio e vídeo, passaram a fazer parte do

cotidiano das pessoas, e disseminaram consigo a necessidade de componentes de hardware mais apurados,

capazes de suprir as demandas geradas pelas inovações dos softwares. Pouco a pouco, fontes de interrupções

como o PIT estão sendo substituídas por componentes mais precisos, em alguns casos denominados HPET.

Organização e realização:

LabTime (Laboratório de Tecnologia da Informação e Mídias Educacionais)

UFG (Universidade Federal de Goiás)

MEC (Ministério da Educação)