Вы находитесь на странице: 1из 74

Tecnologia da Informtica

Saul Azzolin Bonaldo

Santa Maria - RS
2011
Presidncia da Repblica Federativa do Brasil

Ministrio da Educao

Secretaria de Educao a Distncia

Colgio Tcnico Industrial de Santa Maria


Este Material Didtico foi elaborado pelo Colgio Tcnico Industrial de Santa Maria
para o Sistema Escola Tcnica Aberta do Brasil e-Tec Brasil.
Comisso de Acompanhamento e Validao Comisso de Acompanhamento e Validao
Universidade Federal de Santa Catarina/UFSC Colgio Tcnico Industrial de Santa Maria/CTISM

Coordenao Institucional Coordenador Institucional


Araci Hack Catapan/UFSC Paulo Roberto Colusso/CTISM

Coordenao do Projeto Professor-autor


Silvia Modesto Nassar/UFSC Saul Azzolin Bonaldo/CTISM

Cordenao de Design Instrucional Coordenao Tcnica


Beatriz Helena Dal Molin/UNIOESTE Iza Neuza Teixeira Bohrer/CTISM

Designers Intrucionais Coordenao de Design


Helena Maria Maullmann/UFSC Erika Goellner/CTISM
Jorge Luiz Silva Hermenegildo/CEFET-SC
Reviso Pedaggica
WEB Designers Andressa Rosemrie de Menezes Costa/CTISM
Beatriz Helena Dal Molin/UNIOESTE Francine Netto Martins Tadielo/CTISM
Mrcia Freire Rocha Cordeiro Machado/ETUFPR Marcia Migliore Freo/CTISM

Superviso de Projeto Grfico Reviso Textual


Ana Carine Garca Montero/UFSC Lourdes Maria Grotto de Moura/CTISM
Vera da Silva Oliveira/CTISM
Diagramao
Joo Ricardo Zattar/UFSC Reviso Tcnica
Lus Henrique Lindler/UFSC Eduardo Lehnhart Vargas/CTISM

Reviso Ilustrao e Diagramao


Lcia Locatelli Flres/UFSC Gustavo Schwendler/CTISM
Leandro Felipe Aguilar Freitas/CTISM
Marcel Santos Jacques/CTISM
Muren Fernandes Massia/CTISM
Rafael Cavalli Viapiana/CTISM
Ricardo Antunes Machado/CTISM

Ficha catalogrfica elaborada por Maristela Eckhardt CRB 10/737


Biblioteca Central UFSM

B697t Bonaldo, Saul Azzolin


Tecnologia da informtica / Saul Azzolin Bonaldo. 3. ed.
Santa Maria:Universidade Federal de Santa Maria, Colgio
Tcnico Industrial de Santa Maria, Curso Tcnico em Automao
Industrial, 2011.
73 p. : il. ; 21 cm.

INSTITUTO 1. Informtica 2. Tecnologia 3. Arquitetura de computadores


FEDERAL 4. Software 5. Programa Escola Aberta do Brasil I. Universidade
RIO GRANDE
DO SUL Federal de Santa Maria. Curso Tcnico em Automao Industrial

CDU 004
Apresentao e-Tec Brasil

Prezado estudante,

Bem-vindo ao e-Tec Brasil!

Voc faz parte de uma rede nacional pblica de ensino, a Escola Tcnica
Aberta do Brasil, instituda pelo Decreto n 6.301, de 12 de dezembro 2007,
com o objetivo de democratizar o acesso ao ensino tcnico pblico, na mo-
dalidade a distncia. O programa resultado de uma parceria entre o Minis-
trio da Educao, por meio das Secretarias de Educao a Distncia (SEED)
e de Educao Profissional e Tecnolgica (SETEC), as universidades e escolas
tcnicas estaduais e federais.

A educao a distncia no nosso pas, de dimenses continentais e gran-


de diversidade regional e cultural, longe de distanciar, aproxima as pessoas
ao garantir acesso educao de qualidade, e promover o fortalecimento
da formao de jovens moradores de regies distantes dos grandes centros
geograficamente ou economicamente.

O e-Tec Brasil leva os cursos tcnicos a locais distantes das instituies de en-
sino e para a periferia das grandes cidades, incentivando os jovens a concluir
o ensino mdio. Os cursos so ofertados pelas instituies pblicas de ensino
e o atendimento ao estudante realizado em escolas-polo integrantes das
redes pblicas municipais e estaduais.

O Ministrio da Educao, as instituies pblicas de ensino tcnico, seus


servidores tcnicos e professores acreditam que uma educao profissional
qualificada integradora do ensino mdio e educao tcnica, capaz de
promover o cidado com capacidades para produzir, mas tambm com auto-
nomia diante das diferentes dimenses da realidade: cultural, social, familiar,
esportiva, poltica e tica.

Ns acreditamos em voc!
Desejamos sucesso na sua formao profissional!
Ministrio da Educao
Janeiro de 2010

Nosso contato
etecbrasil@mec.gov.br

3 e-Tec Brasil
Indicao de cones

Os cones so elementos grficos utilizados para ampliar as formas de


linguagem e facilitar a organizao e a leitura hipertextual.

Ateno: indica pontos de maior relevncia no texto.

Saiba mais: oferece novas informaes que enriquecem o


assunto ou curiosidades e notcias recentes relacionadas ao
tema estudado.

Glossrio: indica a definio de um termo, palavra ou expresso


utilizada no texto.

Mdias integradas: sempre que se desejar que os estudantes


desenvolvam atividades empregando diferentes mdias: vdeos,
filmes, jornais, ambiente AVEA e outras.

Atividades de aprendizagem: apresenta atividades em


diferentes nveis de aprendizagem para que o estudante possa
realiz-las e conferir o seu domnio do tema estudado.

5 e-Tec Brasil
e-Tec Brasil 6 Tecnologia da Informtica
Sumrio

Palavra do professor-autor 9

Apresentao da disciplina 11

Projeto instrucional 13

Aula 1 Sistemas, cdigos numricos e aritimtica binria 15


1.1 Histrico 15
1.2 Sistemas de numerao 16

Aula 2 A arquitetura de um computador 27


2.1 Modelo de Von Neumann 27
2.2 Tipos de instrues 29
2.3 Memrias 30
2.4 Unidade central de processamento 35
2.5 Instrues 42
2.6 Estratgias de implementao de processadores 45

Aula 3 Traduo de programas 49


3.1 Programa em linguagem de mquina 49
3.2 Linguagens de montagem 50
3.3 Linguagens de programao 51
3.4 Traduo 53
3.5 Montagem 53
3.6 Compilao 55
3.7 Bibliotecas 56
3.8 Ligao 56
3.9 Interpretao 57
3.10 Compilao e interpretao: comparao 58
3.11 Emuladores e mquinas virtuais 59

Aula 4 Entradas e sadas 63


4.1 Consideraes iniciais 63
4.2 Tipos de dispositivos 64

7 e-Tec Brasil
4.3 Fomas de comunicao 65
4.4 Formas de transmisso 67
4.5 Transmisso simplex, half-duplex e full-duplex 69

Referncias 72

Currculo do professor-autor 73

e-Tec Brasil
Palavra do professor-autor

Em meu princpio est meu fim.


T. S. Eliot, East Coker

Juntamente com o progresso das comunicaes, fenmenos interessantes


surgiram: o advento do rdio no causou estragos na vendagem de jornais,
a televiso no acabou com o rdio e a internet no decretou o fim de
nenhuma das mdias tradicionais jornal, rdio e televiso.

provvel que o grande interesse dos indivduos por informao e conhe-


cimento explique esse fenmeno. Sabemos tambm que, quanto mais livre
for uma nao, maior a liberdade de informao. Quando surgem governos
ditatoriais, uma das primeiras decises decretar o fim da liberdade de
imprensa, seja fechando jornais, emissoras de rdio e televiso, seja criando
conselhos de regulamentao, chegando at mesmo a tentativas de restrio
ao livre acesso internet, atravs do bloqueio a determinados sites, ou a
tentativas de catalogar usurios e armazenar seus rastros.

No entanto, o livre acesso informao traz outra consequncia: hoje, ns


dispomos de acesso instantneo a uma quantidade de informao muito
maior do que conseguimos tratar. E a principal ferramenta responsvel pela
disseminao da informao pelos mais diversos meios o computador.

Assim, o objetivo principal desta disciplina oportunizar aos estudantes co-


nhecimentos sobre a arquitetura de computadores e sobre o funcionamento
desse equipamento onipresente no mundo atual.

Acreditamos na sua capacidade de crescimento profissional e trabalhamos


para que esta disciplina desempenhe um importante papel nesse sentido.
Parabns pela escolha do curso e mos obra!

Saul Azzolin Bonaldo

9 e-Tec Brasil
Apresentao da disciplina

A disciplina de Tecnologia da Informtica apresenta-se na forma presencial e


a distncia. A carga horria total de 30 horas, sendo 24 horas no Ambiente
Virtual de Ensino Aprendizagem (AVEA), 4 horas terico-prticas presenciais,
divididas em dois encontros de 2 horas e, ainda, 2 horas destinadas ava-
liao presencial.

Este material didtico contm as palavras do professor-autor, projeto instru-


cional, referncias e roteiro de estudo dividido em quatro unidades:

1. Sistemas e cdigos numricos e aritmtica binria;

2. A arquitetura de um computador;

3. Traduo de programas;

4. Entradas e sadas.

Estas aulas sero estudadas de forma sequencial, permitindo ao aluno


conhecer o funcionamento dos computadores, relacionando os conheci-
mentos adquiridos nas unidades estudadas, visando identificar suas diversas
aplicaes em automao industrial.

Cada aula de estudo apresenta uma introduo, objetivos e um roteiro de


estudo, composto por textos, figuras, exemplos, equaes, links, mdias inte-
gradas, questionamentos, reflexes, lembretes, atividades de aprendizagem
e sntese. As atividades de aprendizagem, dispostas quase ao final da aula,
visam a reforar o entendimento dos conceitos, bem como as aplicaes do
assunto estudado ao cotidiano. O resumo serve como reforo ao contedo
apresentado na aula e auxilia o estudante na passagem de uma aula para
a outra. Devido ao fato da Tecnologia da Informtica estar em constante
mutao e evoluo, sero disponibilizadas no AVEA atividades de aprendi-
zagem adicionais. Os questionamentos presentes no material didtico, bem
como as atividades de aprendizagem sero objetos de discusso em fruns
especficos no AVEA.

11 e-Tec Brasil
No AVEA sero utilizados recursos como hipertextos, animaes, simula-
es, vdeos e imagens, vinculando o ambiente virtual ao material didtico.
Tambm disponibilizados cronogramas de estudo, atividades de aprendiza-
gem e atividades de avaliao para cada aula, contendo instrues, perodos
e prazos. As atividades de aprendizagem e de avaliao sero desenvolvidas
atravs da participao em fruns e chats, bem como pela realizao de
tarefas, exerccios e pesquisas complementares. Essas atividades sero ava-
liadas pelo professor e pelos tutores da disciplina, cujos resultados e sugestes
sero divulgados aos alunos.

Os critrios para a avaliao da disciplina sero disponibilizados no ambiente


virtual, contemplando as atividades de aprendizagem e de avaliao no
AVEA, atividades prticas presenciais e avaliao presencial.

O cronograma de aulas prticas presenciais, bem como pr-requisitos,


tarefas, procedimentos e instrues de segurana nos laboratrios prticos,
sero disponibilizados no AVEA.

e-Tec Brasil 12
Palavra instrucional
Projeto do professor-autor

Disciplina: Tecnologia da Informtica (carga horria: 30h).

Ementa: Sistemas e cdigos numricos e aritmtica binria. A arquitetura de


um computador. Traduo de programas. Entradas e sadas.

CARGA
OBJETIVOS DE
AULA MATERIAIS HORRIA
APRENDIZAGEM
(horas)
Reconhecer, atravs do histrico da
Ambiente virtual: plataforma
eletricidade, a importncia dos sistemas
moodle.
1. Sistemas, numricos na evoluo da humanidade.
Apostila didtica.
cdigos numricos Compreender os elementos bsicos da 06
Recursos de apoio: links de
e aritmtica binria base decimal: bit e byte.
leitura complementar indicados
Conhecer a aritmtica binria e a
na apostila.
representao dos resultados.
Ambiente virtual: plataforma
Compreender o funcionamento bsico
moodle.
da arquitetura de Von Neumann.
2. A arquitetura de Apostila didtica.
Relacionar as diferentes partes 06
um computador Recursos de apoio: links de
constitutivas de um computador que
leitura complementar indicados
obedece ao modelo de Von Neumann.
na apostila.
Entender por que programas em
Ambiente virtual: plataforma
linguagem de alto nvel devem ser
moodle.
traduzidos para linguagem de mquina.
3. Traduo de Apostila didtica.
Compreender como se d a interpretao 06
programas Recursos de apoio: links de
e compilao de programas.
leitura complementar indicados
Conhecer emuladores e mquinas
na apostila.
virtuais e compreender sua importncia.
Entender de que forma nossos comandos
ingressam no computador.
Compreender como podemos ter acesso Ambiente virtual: plataforma
aos resultados do processamento das moodle.
4. Entradas e informaes pelo computador. Apostila didtica.
06
sadas Diferenciar as diversas formas de Recursos de apoio: links de
comunicao de e para o computador, leitura complementar indicados
bem como a maneira como se d o na apostila.
armazenamento de informaes em um
computador.

13 e-Tec Brasil
Aula 1 Sistemas, cdigos numricos
e aritmtica binria
H tantas auroras que no brilharam ainda.
Rig-Veda

Objetivos

Reconhecer, atravs do histrico da eletricidade, a importncia dos


sistemas numricos na evoluo da humanidade.

Compreender os elementos bsicos da base decimal: bit e byte.

Conhecer a aritmtica binria e a representao dos resultados.

1.1 Histrico
Alm de transmitidas e recebidas, as informaes podem ser armazenadas
e depois reproduzidas em livros, em discos, em fotografias e na memria
humana. Dessa forma, uma informao original pode ser transmitida muitas
vezes e pelos mais diversos meios.
O termo multimdia vem da
palavra inglesa multimedia
O processamento da informao relaciona-se com o armazenamento, a e representa os diversos meios
pelos quais as informaes so
transmisso, a combinao e a comparao da informao. transmitidas e compartilhadas
(multimeios).

De certa forma, cada ser vivo tambm um computador. Nesse caso, os


sentidos so meios de receber sinais do meio ambiente. Essas impresses
sensoriais so transmitidas por uma rede nervosa ao crebro atravs de sinais
eltricos e qumicos. Os sons emitidos pelos seres vivos so tambm meios
de transmitir informaes a outros seres; so mensagens que exprimem von-
tades, impresses, ordens, etc.

O crebro humano possui dois hemisfrios, sendo que o comportamento


do hemisfrio direito assemelha-se ao funcionamento de um processador
paralelo, e o comportamento do hemisfrio esquerdo assemelha-se ao fun-
cionamento de um processador serial.
Saiba mais em:
http://www.ted.com/index.
A evoluo do ser humano permitiu que, com o aumento do poder com- php/talks/jill_bolte_taylor_s_
powerful_stroke_of_insight.html
putacional de seu crebro e demais rgos, fosse possvel criar e utilizar

Aula 1 - Sistemas, cdigos numricos e aritmtica binria 15 e-Tec Brasil


LINGUAGENS. Depois das palavras, vieram regras para combin-las: as leis
da GRAMTICA e da LGICA. Aps isso, surgiram os nmeros, que servem
para expressar quantidades. Os nmeros podem ser representados com os
dedos (dedo = dgito). Possivelmente, vem da o sistema numrico o deci-
mal (dez dedos) universalmente aceito pelo Sistema Internacional de Uni-
dades, ao qual estamos todos acostumados.

1.2 Sistemas de numerao


Os sistemas de numerao tm por objetivo estabelecer smbolos e conven-
es para representar quantidades, de forma a registrar a informao quan-
titativa e poder process-la. A representao de quantidades faz-se com os
nmeros.
O homem utilizou diversos
sistemas numricos antes de
adotar o sistema decimal. No estudo da Tecnologia da Informtica, de grande importncia o conhe-
Resqucios de bases numricas
ancestrais persistem at hoje, cimento de alguns sistemas de numerao e cdigos numricos.
como a base 60, utilizada
na contagem do tempo e na
trigonometria. O sistema decimal utilizado por ns no dia a dia e , sem dvida, o mais
importante sistema numrico. Trata-se de um sistema que possui dez alga-
rismos, com os quais podemos formar qualquer nmero atravs da lei geral
de formao de nmeros.

Os demais sistemas a serem estudados tambm so importantes, j que os


sistemas digitais no trabalham com nmeros decimais, e sim com nmeros
binrios. Isto ocorre porque os dispositivos eletrnicos presentes nos circuitos
digitais e nos computadores so projetados para operao em dois estados
Veremos mais adiante os
porqus da escolha do sistema (operao binria).
binrio por parte dos projetistas
de computadores.
Os sistemas de numerao so definidos pela base que eles utilizam, isto
, o nmero de dgitos que o sistema utiliza. Em qualquer um dos sistemas
de numerao, um nmero uma cadeia de dgitos, dentro da qual cada
posio tem um determinado peso dentro dessa cadeia. O valor do nmero
o valor da soma dos produtos dos dgitos pelo seu respectivo peso. Por
exemplo, o nmero decimal 765 pode ser representado da seguinte forma,
representado como na ilustrao a seguir:

e-Tec Brasil 16 Tecnologia da Informtica


Nesse exemplo, nota-se que o algarismo menos significativo (5) multiplica a
unidade (1 ou 100), o segundo algarismo (6) multiplica a dezena (10 ou 101),
e o mais significativo (7) multiplica a centena (100 ou 102). A soma dos resul-
tados ir representar o nmero. Portanto, pode-se afirmar que, de maneira
geral, a regra bsica de formao de um nmero consiste no somatrio de
cada algarismo correspondente multiplicado pela base (no exemplo, o n-
mero 10) elevada por um ndice, conforme o posicionamento do algarismo
no nmero. Assim, um sistema de numerao genrico pode ser expresso
da seguinte forma:

A BASE de um sistema de numerao igual ao nmero de dgitos que


o sistema utiliza. O NOME DO SISTEMA define o nmero de dgitos do
sistema. Portanto, o SISTEMA DECIMAL, como o prprio nome diz, utiliza
10 DGITOS (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9) e possui BASE 10.

1.1.1 Sistema binrio


No sistema binrio, os dgitos podem assumir somente dois valores possveis
que so: 0 e 1. A base desse sistema 2. A vantagem do sistema
Em sistemas eletrnicos, o dgito
binrio reside no fato de que, possuindo apenas dois dgitos, esses so fa- binrio (0 ou 1) chamado de
cilmente representados por uma chave aberta e uma chave fechada, ou um BIT, enquanto que um conjunto
de 4 bits denominado NIBBLE.
rel ativado e um rel desativado, ou um transistor saturado e um transistor O BYTE, termo bastante
utilizado principalmente na rea
cortado, o que torna simples a implementao de sistemas digitais mecni- de informtica, constitudo de
cos, eletromecnicos ou eletrnicos. 8 bits.

a) Converso binrio decimal


A converso de binrio para decimal feita diretamente, somando-se os pro-
dutos dos dgitos (0 e 1) pelo seu respectivo peso. O valor resultante for-
nece o nmero na base 10 ou no sistema decimal. Veja os exemplos a seguir:

Aula 1 - Sistemas, cdigos numricos e aritmtica binria 17 e-Tec Brasil


b) Converso decimal binrio
A forma como se converte um nmero decimal para binrio diferente para
nmeros inteiros e nmeros fracionrios.

Para converter um nmero decimal inteiro em binrio, aplica-se o mtodo


das divises sucessivas. Esse mtodo consiste em efetuar sucessivas divises
pela base a ser convertida at o ltimo quociente possvel. O nmero trans-
formado ser composto por este ltimo quociente (algarismo mais significa-
tivo) e todos os restos, na ordem inversa s divises. Dessa forma, o sentido
de leitura dos restos do ltimo obtido para o primeiro. Veja ilustrao a
seguir.

Para obter o cdigo binrio de um nmero fracionrio (decimal), multiplica-se


por 2 o nmero aps a vrgula. Separa-se a parte inteira do resultado ob-
tido e multiplica-se a parte fracionria por 2 novamente. Prossegue-se o
processo at que se atinja uma aproximao desejada ou at que a parte
fracionria se torna nula. A sequncia de 0 e 1 obtidas pelas partes

e-Tec Brasil 18 Tecnologia da Informtica


inteiras, comeando pelo primeiro inteiro obtido, ser a representao do
nmero decimal fracionrio no sistema binrio. Veja o exemplo a seguir:

Se tivermos um nmero decimal, como, por exemplo, (56,625)10, deve-se


converter separadamente a parte inteira e a parte fracionria nos seus
nmeros binrios equivalentes e, depois, agrupar os nmeros obtidos.

1.1.2 Sistema octal


O sistema octal possui 8 dgitos e utiliza a base 8. Os dgitos so idnti-
cos aos dgitos do sistema decimal de 0 at 7. Esse sistema pouco utilizado
no campo da Eletrnica Digital. Trata-se apenas de um sistema numrico
intermedirio entre os sistemas binrio e hexadecimal.

a) Converso octal binrio


Para se converter um nmero octal em seu equivalente binrio, cada dgito
octal deve ser convertido no seu equivalente binrio de trs dgitos, confor-
me ilustrado a seguir.

b) Converso binrio octal


A converso de binrio em octal o processo inverso ao apresentado no
caso anterior, isto , converte-se cada grupo de 3 dgitos binrios pelo seu
equivalente octal. Deve-se tomar cuidado para iniciar a converso dos grupos
de 3 dgitos binrios sempre a partir do dgito menos significativo, conforme
ilustrado a seguir.

Aula 1 - Sistemas, cdigos numricos e aritmtica binria 19 e-Tec Brasil


c) Converso octal decimal
A converso octal em decimal feita diretamente, somando-se os produtos
dos dgitos octais com o peso do dgito dentro da cadeia de numerao, con-
forme ilustrado a seguir.

d) Converso decimal octal


A converso de um nmero decimal (inteiro ou fracionrio) em seu equiva-
lente octal (inteiro ou fracionrio) feita de forma idntica converso de
decimal para binrio, ou seja, atravs do mtodo das divises sucessivas,
conforme ilustrado a seguir.

software
a parte lgica, ou seja, o
conjunto de instrues e dados
processado pelos circuitos
eletrnicos do hardware.
Toda interao dos usurios
de computadores modernos
realizada atravs do software,
que a camada, colocada sobre
o hardware, que trans-forma o
computador em algo til para o
ser humano.
1.1.3 Sistema hexadecimal
Os nmeros hexadecimais so amplamente utilizados para a representao
hardware
a parte fsica do computador, de nmeros e de dados binrios na operao com micro-processadores e
ou seja, o conjunto de tambm no mapeamento de memrias em sistemas digitais. Trata-se de um
componentes eletrnicos,
circuitos integrados e placas, sistema numrico muito importante, aplicado em projetos de software e
que se comunicam atravs de
barramentos.
hardware.

e-Tec Brasil 20 Tecnologia da Informtica


Os algarismos deste sistema so enumerados da seguinte forma: 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Nota-se que a letra A representa o algarismo A,
que por sua vez representa a quantidade dez. O mesmo ocorre para a letra
B, que representa o algarismo B e a quantidade onze, sucedendo assim at
o algarismo F, que representa a quantidade quinze.

a) Converso hexadecimal binrio


Para converter um nmero hexadecimal em seu equivalente binrio cada
dgito hexadecimal deve ser convertido no seu equivalente binrio de quatro
dgitos, conforme ilustrado a seguir.

b) Converso binrio hexadecimal


A converso de binrio em hexadecimal o processo inverso ao apresenta-
do no caso anterior, isto , converte-se cada grupo de 4 dgitos binrios em
seu equivalente hexadecimal. Da mesma forma que na converso de binrio
para octal deve-se tomar cuidado para iniciar a converso sempre a partir do
dgito menos significativo. Veja o exemplo a seguir:

c) Converso hexadecimal decimal


A converso hexadecimal para decimal feita diretamente, aplicando a
definio do sistema de numerao genrico na base 16, somando-se os
produtos dos dgitos hexadecimais ao peso do dgito, de acordo com sua
base, conforme ilustrado a seguir.

Aula 1 - Sistemas, cdigos numricos e aritmtica binria 21 e-Tec Brasil


d) Converso decimal hexadecimal
A converso de um nmero decimal (inteiro ou fracionrio) em seu equiva-
lente hexadecimal (inteiro ou fracionrio) feita de forma idntica converso
de decimal para binrio, conforme ilustrado a seguir.

1.1.4 Cdigo BCD ou 8421


O cdigo BCD ou 8421 significa dgitos decimais codificados em binrios.
Isto quer dizer que, nesse cdigo, cada dgito decimal substitudo direta-
mente pelo seu equivalente binrio de quatro dgitos.

Os nmeros BCD so teis sempre que a informao decimal transfe-


rida para dentro ou para fora de um sistema digital. Os circuitos no interior
de uma calculadora, por exemplo, podem processar nmeros BCD, j que
introduzimos nmeros decimais no teclado e vemos como resposta um
nmero decimal. J em computadores, os nmeros BCD tm valor e aplicao
limitados, uma vez que os computadores operam com dgitos alfanumricos.

Deve-se ressaltar que as seis ltimas combinaes de nmeros binrios de


Relgios binrios em cdigo
BCD, veja em: quatro bits no so utilizadas no cdigo BCD, conforme ilustrao a seguir.
http://www.glassgiant.com/
geek/binaryclock/binary_clock_
flash.swf

e-Tec Brasil 22 Tecnologia da Informtica


preciso estar atento para no confundir um nmero BCD com um nmero
binrio. O exemplo abaixo ilustra a diferenciao.

Resumo
Nessa aula, estudamos os sistemas de numerao mais utilizados em infor-
mtica, bem como a converso de um sistema em outro. Sabemos que os
computadores trabalham com nmeros de uma forma diversa da que ns
trabalhamos: ns, seres humanos, utilizamos o sistema decimal, ou seja, o
sistema numrico de base dez, enquanto que os computadores, por suas
caractersticas constitutivas, trabalham com o sistema binrio, ou seja, com
base 2. No entanto, os computadores no processam somente nmeros,
mas tambm outros tipos de informao. E esse ser o tema das prximas
aulas. A seguir, mostrada uma tabela com as equivalncias entre os siste-
mas numricos estudados (Tabela 1.1).

Aula 1 - Sistemas, cdigos numricos e aritmtica binria 23 e-Tec Brasil


Tabela 1.1: Equivalncias entre os sistemas de numerao estudados
decimal hexadecimal binrio octal
0 0 0000 00
1 1 0001 01
2 2 0010 02

3 3 0011 03

4 4 0100 04

5 5 0101 05

6 6 0110 06

7 7 0111 07

8 8 1000 10

9 9 1001 11

10 A 1010 12

11 B 1011 13

12 C 1100 14

13 D 1101 15

14 E 1110 16

15 F 1111 17

Atividades de aprendizagem
1. Converta para o sistema decimal os seguintes nmeros:

a) 0101012 =

b) 10101012 =

c) 110110112 =

d) 0001000100012 =

e) 108 =

f) 6668 =

g) 15008 =

h) 20078 =

e-Tec Brasil 24 Tecnologia da Informtica


i) EAD16 =

Explore as funcionalidades
j) FACA16 = de sua calculadora cientfica.
A maioria das calculadoras
cientficas realiza as operaes
2. Por que o nmero 2008 no pode ser octal? A quais das bases, dentre as estudadas nesta aula.
estudadas, ele poderia pertencer?

3. Quantos bits existem em 4 bytes?

4. Quantos bits so necessrios para representar o nmero EAD16?

Aula 1 - Sistemas, cdigos numricos e aritmtica binria 25 e-Tec Brasil


Aula 2 A arquitetura
de um computador
Hardware aquilo que voc chuta,
Software aquilo que voc xinga.
Ditado popular

Objetivos

Compreender o funcionamento bsico da arquitetura de Von Neumann.

Relacionar as diferentes partes constitutivas de um computador


que obedece ao modelo de Von Neumann.

2.1 Modelo de Von Neumann


Von Neumann props construir computadores que:

1. codificassem instrues que pudessem ser armazenadas na memria e


sugeriu que se usassem cadeias de uns e zeros (binrio) para codific-los;
Saiba mais sobre Von
Neumann em:
2. armazenassem na memria as instrues e todas as informaes neces- http://pt.wikipedia.org/wiki/
John_von_neumann
srias para a execuo da tarefa desejada;

3. ao processarem o programa, as instrues fossem buscadas diretamente


na memria.

Dessa forma, um computador tpico possui trs componentes bsicos, con-


forme Quadro 2.1:

Quadro 2.1: Componentes bsicos de um computador


Unidade Central de Processamento (UCP ou CPU, como mais conhecida);
Memria Principal;
Sistema de Entrada e Sada.

A CPU exerce o controle do computador; responsvel pela busca das instrues


(as quais esto em sequncia), pela sua decodificao (ou interpretao) e exe-
cuo. A busca e a decodificao das instrues so realizadas pela Unidade de
Controle, enquanto que a execuo fica ao encargo da Unidade Operativa.

Aula 2 - A arquitetura de um computador 27 e-Tec Brasil


A unidade operativa, por sua vez, composta pela Unidade Lgica e Arit-
mtica e por um conjunto de Registradores de uso genrico. A Memria
Principal armazena as instrues e os dados a serem processados pela CPU.
Por fim, o Sistema de Entrada e Sada E/S (I/O Input/Output system, em
ingls) tem como funo conectar o computador ao meio externo, a fim de
torn-lo verdadeiramente til ao ser humano. Observe a Figura 2.1 a seguir.

Figura 2.1: Diagrama de blocos de um computador com arquitetura convencional


Fonte: CTISM

O sistema de entrada e sada composto por um meio fsico de conexo,


chamado barramento (bus), e um conjunto de dispositivos de entrada e
sada, chamados perifricos. Os perifricos, geralmente so sistemas mistos,
perifricos
So aparelhos ou placas que do tipo eletromecnico, que permitem ao usurio entrar com os dados ou,
enviam ou recebem informaes
do computador. Em informtica, ainda, obter ou visualizar os resultados. Podemos citar alguns exemplos de
o termo perifrico aplica-se a perifricos: teclado, vdeo, impressora, mouse, unidades de disco flexvel e
qualquer equipamento acessrio
que seja ligado CPU (unidade memrias flash, unidades de disco rgido (winchester), modem, placa de
central de processamento), som, scanner, pen drives e cartes de memria. Alguns perifricos permitem
ou, um sentido mais amplo, o
computador. somente a entrada de dados (teclado), outros s permitem a sada (vdeo e

e-Tec Brasil 28 Tecnologia da Informtica


impressora) e outros, ainda, permitem tanto a entrada como a sada (unida-
des de discos magnticos e pen drives).

Associado a cada perifrico existente num computador, h um circuito


especfico de controle de interface de E/S (I/O interface processor), cuja
funo adaptar os sinais gerados pelo perifrico conforme as necessidades
do computador. Veja a Figura 2.2 a seguir.

Figura 2.2: Subunidades da unidade central de processamento (CPU)


Fonte: CTISM

O diagrama de blocos da Figura 2.1 representa o modelo convencional de


um computador, tambm conhecido como modelo (ou arquitetura) de Von
Neumann, por ser descendente direto do computador desenvolvido em 1946
por Von Neumann e sua equipe. A maior parte dos computadores ainda hoje
(2009) apresenta traos dessa arquitetura. Suas principais caractersticas so:

Quadro 2.2: Caractersticas dos computadores


possuem uma unidade de processamento central, para a execuo de operaes lgicas e aritmticas;
possuem uma unidade de controle de programa, a qual determina o sequenciamento das instrues a serem executadas
por meio de sinais de controle;
as instrues dos programas so armazenadas de maneira sequencial, facilitando sua busca;

possuem registradores dedicados ao armazenamento dos operandos e dos resultados das operaes;

tm unidade de armazenamento central, na qual so guardados programas e dados de forma compartilhada;

possuem um nico barramento do sistema, o qual deve ser usado de forma compartilhada para a transferncia de dados

e instrues entre os diversos blocos.

2.2 Tipos de instrues


As funes possveis de serem executadas pela CPU esto definidas no seu con-
junto de instrues. Um computador tpico possui entre 50 e 200 instrues
distintas, que podem ser divididas em trs grupos, conforme sua natureza:

Aula 2 - A arquitetura de um computador 29 e-Tec Brasil


Instrues de transferncia de dados;

Instrues de processamento de dados;

Instrues de controle.

As instrues de transferncia de dados apenas movem as informaes,


sem alterar seu contedo. As transferncias podem ocorrer dentro da CPU,
As instrues lgicas,
ou portas lgicas, so operaes entre a CPU e a memria principal, entre algum perifrico e a CPU, ou entre
matemticas baseadas na algum perifrico e a memria principal. As instrues de processamento
lgebra de Booble. Portas
lgicas assunto para a prxima de dados transformam as informaes, utilizando para isso os recursos de
etapa do curso de Automao
Industrial. Para familiarizar-se hardware disponveis na unidade operativa da CPU. Neste grupo, encon-
ao assunto, acesse o link: tram-se as instrues aritmticas, tais como adio, subtrao e multipli-
http://www.users.rdc.puc-rio.br/
rmano/ptlog.html cao, e as instrues lgicas, tais como adio lgica (ou), multiplicao
lgica (e), complementao (no ou) e ou-exclusivo. As instrues de con-
trole determinam a sequncia segundo a qual as instrues so executadas,
permitindo que o controle seja transferido de uma parte do programa para
outra, ou entre diferentes subprogramas. Exemplos de instrues desse tipo
so jump (salto), chamadas de sub-rotina e retorno de sub-rotina.

A unidade de controle responsvel por controlar o endereo da memria


principal no qual esto armazenadas as instrues. Para tanto, existe um re-
gistrador especial, denominado contador de programa (program counter
PC), cuja funo armazenar o endereo no qual est armazenada a ins-
truo que est sendo executada. Como normalmente as instrues so ar-
mazenadas e carregadas em sequncia, a operao mais comum realizada
sobre o contedo do PC a soma um (incremento).

Existem ainda outros registradores que facilitam o acesso s instrues e aos


dados. Por exemplo, uma regio contnua da memria, denominada pilha
(stack), utilizada na transferncia do controle do sistema (computador)
entre subprogramas. O apontador de pilha (stack pointer SP) um regis-
trador usado no controle da posio de memria para colocar/retirar dados
do topo da pilha.

ferrite
um material ferromagntico, 2.3 Memrias
composto de ferro, boro, brio,
estrncio ou molibdnio. O
2.3.1 Tecnologias
Ferrite tem alta permeabilidade As primeiras tecnologias utilizadas em memrias foram as memrias de
magntica, porm no retm
magnetismo. ncleos magnticos (ferrite). As memrias modernas so compostas por cir-

e-Tec Brasil 30 Tecnologia da Informtica


cuitos semicondutores, com novas tecnologias sendo criadas a cada ano,
permitindo que grandes quantidades de clulas de memria sejam encapsu-
ladas em pequenas pastilhas.

2.3.2 Hierarquia de memria


A Memria Principal (MP) no o nico dispositivo de armazenamento de um
computador. Em funo de caractersticas como tempo de acesso, capacidade
de armazenamento, custo, etc., h uma hierarquia de dispositivos de mem-
ria em computadores. Observe a Quadro 2.3 a seguir:

Quadro 2.3: Caractersticas dos diversos tipos de memria


Tipo Capacidade Velocidade Custo Localizao Volatilidade

registrador bytes muito alta muito alto UCP voltil

memria cache Kbytes alta alto UCP/placa voltil

memria
Mbytes mdia mdio placa voltil
principal

memria
Gbytes baixa baixo externa no voltil
auxiliar

A UCP v nessa ordem e acessa primeiro a memria que est mais prxima.
Verificamos no diagrama abaixo (Figura 2.3) que, quanto mais prxima da
UCP, maior a velocidade, maior custo, porm, menor capacidade de arma-
zenamento.

Figura 2.3: Hierarquia da memria de 5 nveis


Fonte: CTISM

Aula 2 - A arquitetura de um computador 31 e-Tec Brasil


a) Registradores
Registradores so dispositivos de armazenamento temporrio, localizados
na UCP, extremamente rpidos, com capacidade para apenas um dado (uma
palavra). Devido a sua tecnologia de construo e por estar localizado na
prpria pastilha (chip) da UCP, so muito caros.

chip
um dispositivo O conceito de registrador surgiu da necessidade de a UCP armazenar tem-
microeletrnico que consiste
de muitos transistores e outros
porariamente dados intermedirios durante um processamento. Isso ocorre,
componentes interligados, por exemplo, quando um dado resultado de operao precisa ser armazena-
capazes de desempenhar muitas
funes. Suas dimenses so do at que o resultado de uma busca da memria esteja disponvel para com
extremamente reduzidas; os ele realizar uma nova operao.
componentes so formados
em pastilhas de material
semicondutor de silcio. A
importncia da integrao
Registradores so VOLTEIS, isto , dependem de estar energizados para
est no baixo custo, no alto manter armazenado seu contedo.
desempenho e no tamanho
reduzido dos circuitos aliado
alta confiabilidade e estabilidade b) Memria cache
de funcionamento.
Com o desenvolvimento da tecnologia de construo da UCP, as velocidades
foram ficando muito mais altas que as das memrias, as quais no tiveram
a mesma evoluo de velocidade. Pelas mais variadas razes, o aperfeioa-
mento das memrias foi maior no fator capacidade. Dessa forma, os tempos
de acesso s memrias foram ficando insatisfatrios e a UCP, ao buscar um
dado na memria, precisa ficar esperando muitos ciclos de mquina at que
a memria retorne o dado buscado (wait states), configurando um garga-
lo (bottleneck) ao desempenho do sistema.

Por esse motivo, desenvolveram-se outras arquiteturas de memria privile-


giando a velocidade de acesso. A arquitetura da memria cache muito
diferente da arquitetura da memria principal, e o acesso a ela , muitas
cache
um termo do ingls que deriva vezes, mais rpido. No entanto, o custo de fabricao da memria cache
do francs cacher (esconder,
em portugus). Na prtica,
muito maior que o da memria principal. Dessa forma, no economica-
para os demais componentes mente vivel construir um computador somente com tecnologia de memria
do sistema, tudo se passa
como se no houvesse cache, cache. Criou-se, ento, um artifcio, incorporando-se ao computador uma
j que nenhum deles, exceto pequena poro de memria cache, localizada entre a UCP e a MP (memria
o subsistema que controla
o acesso memria, toma principal), que funciona como um espelho de parte da MP.
conhecimento de sua existncia.
Os dados nele armazenados so
fornecidos como se proviessem Desenvolveram-se, ainda, algoritmos que fazem com que, a cada momento,
diretamente do local de
armazenamento original, apenas a memria cache armazene a poro de cdigo ou dados (por exemplo,
mais rapidamente. essa a uma sub-rotina) que esto sendo usados pela UCP. Essa transferncia (MP
razo do nome, j que as coisas
se passam como se os dados <--> Cache) feita pelo hardware: ela independe do software, que ignora
estivessem escondidos na
cache.
se existe ou no memria cache, portanto ignora essa transferncia; nem

e-Tec Brasil 32 Tecnologia da Informtica


o programador nem o sistema operacional tem controle sobre essa movi-
mentao.
A memria cache opera
em funo de um princpio
Memrias cache tambm so VOLTEIS, isto , dependem de estar energi- estatstico comprovado: em
geral, os programas tendem
zadas para manter gravado seu contedo. a referenciar vrias vezes
pequenos trechos de programas,
como loops, sub-rotinas,
c) Memrias auxiliares funes e s tem sentido
porque programas executados
Memrias auxiliares resolvem problemas de armazenamento de grandes linearmente so raros. Desta
quantidades de informaes. A capacidade da MP limitada pelo seu custo forma, algoritmos (chamados
algoritmos de cache) podem
relativamente alto, enquanto que as memrias auxiliares tm maior capa- controlar qual parte do cdigo
ficar copiada na cache a cada
cidade e menor custo. Dessa forma, o custo por bit armazenado muito momento.
menor. Outra vantagem importante que as memrias auxiliares no so
VOLTEIS, isto , no dependem de estar energizadas para manter gravado
seu contedo.

Os principais dispositivos de memria auxiliar so: discos rgidos (ou HD),


Cache de disco no a mesma
drives de disquete, unidades de fita, CD-ROM, DVD, unidades tico-magn- tecnologia da memria cache.
Trata-se do emprego do mesmo
ticas, pendrives e cartes de memria. conceito da memria cache,
para acelerar a transferncia
de dados entre disco, MP e
d) Memria principal UCP, usando um programa (um
Conforme definimos anteriormente, a memria principal a parte do software, por ex.: SmartDrive)
para manter um espelho do
computador em que programas e dados so armazenados para processa- contedo de parte do disco (a
mais provvel de ser requisitada
mento. A informao permanece na memria principal apenas enquanto a seguir pela UCP) gravado em
necessrio para seu emprego pela UCP e, aps isso, a rea de MP ocupa- uma parte da Memria Principal.
Recentemente, as unidades de
da pela informao liberada para ser, posteriormente, sobregravada por disco passaram a incorporar em
outra informao. Quem controla a utilizao da memria principal o sua interface chips de memria
para acelerar a transferncia de
sistema operacional. dados, utilizando um algoritmo
de cache.

A memria precisa ter uma organizao que permita ao computador guar-


dar e recuperar informaes quando necessrio. Portanto, no basta trans-
ferir informaes para a memria. preciso haver uma maneira de encon-
trar essa informao mais tarde, quando ela for necessria e, para isso,
preciso haver um mecanismo que registre exatamente onde a informao
foi armazenada.

Sendo assim, a memria principal organizada em clulas. Clula a menor


unidade da memria que pode ser endereada (no possvel buscar uma
parte da clula) e tem um tamanho fixo (para cada mquina). As mem-
rias so compostas por um determinado nmero de clulas ou posies.
Cada clula composta por um determinado nmero de bits. Todas as clu-

Aula 2 - A arquitetura de um computador 33 e-Tec Brasil


las de um dado computador tm o mesmo tamanho, isto , todas as clulas
daquele computador tero o mesmo nmero de bits.
Uma clula no significa o
mesmo que uma palavra;
uma clula no contm Cada clula identificada por um endereo nico, pelo qual referenciada
necessariamente uma palavra.
Palavra a unidade de pelo sistema e pelos programas. As clulas so numeradas sequencialmente,
processamento da UCP. Uma
palavra deve representar uma a uma, de 0 a (N-1); esse nmero chamado de endereo da clula.
um dado ou uma instruo, Endereo o localizador da clula, que permite identificar, sem sombra de
que poderia ser processada,
armazenada ou transferida dvida, uma clula. Assim, cada clula pode ser identificada pelo seu endereo.
em uma nica operao.
No entanto, em geral no
assim que acontece e os 2.3.3 Classificao das memrias
computadores comerciais no
seguem um padro nico para Quanto leitura e escrita, as memrias podem ser classificadas como:
a organizao da UCP e MP.
Computadores comerciais (tais
como, por exemplo, os baseados R/W Read and Write (memria de leitura e escrita), comumente (e impro-
nos processadores Intel 486) priamente) chamada de RAM (Random Access Memory ou memria de
podem ter o tamanho da palavra
definido como de 32 bits, porm acesso aleatrio), embora no seja a nica RAM.
sua estrutura de memria tem
clulas de 16 bits.
Esta memria permite operaes de escrita e leitura pelo usurio e pelos
programas. Seu tempo de acesso independe do endereo acessado. cons-
truda com tecnologia de semicondutores (bipolar, CCD), pode ser esttica
(SRAM) ou dinmica (DRAM) e voltil. A MP construda com memria
R/W.

ROM Read Only Memory ou Memria apenas de Leitura


Esta memria permite apenas a leitura e, uma vez gravada, no pode mais ser alterada. Tambm de acesso aleatrio
(isto , tambm uma RAM), mas no voltil. utilizada geralmente por fabricantes para gravar programas que no
devem ser alterados ou apagados acidentalmente (tal como a BIOS Basic Input Output System e microprogra-
madores de memrias de controle). A ROM mais lenta que a R/W e barata, porm o processo produtivo depende
de ser programada.

PROM Programmable Read Only Memory ou Memria apenas de Leitura


Programvel
Esta memria um ROM programvel (em condies e com mquinas adequadas, chamadas queimadores de PROM)
e geralmente comprada virgem (sem nada gravado); muito utilizada no processo de testar programas no lugar
da ROM, ou sempre que se queira produzir ROM em quantidades pequenas. Uma vez programada (em fbrica ou no),
no pode mais ser alterada.

EPROM Erasable Programmable Read Only Memory ou Memria apenas


de Leitura, Programvel e Eletronicamente Altervel
Tambm chamada EAROM (Electrically Alterable ROM). Esta memria um PROM apagvel para o processo ele-
trnico, sob controle da UCP, com equipamento e programas adequados. mais cara e geralmente utilizada em dispo-
sitivos aos quais se deseja permitir a alterao, possibilitando a carga de novas verses de programas distncia ou,
ento, para possibilitar a reprogramao dinmica de funes especficas de um determinado programa, geralmente
relativas ao hardware.

e-Tec Brasil 34 Tecnologia da Informtica


2.4 Unidade central de processamento
A Unidade Central de Processamento UCP (Central Processing Unity CPU)
a responsvel pelo processamento e pela execuo dos programas arma-
zenados na MP. As funes da UCP compreendem executar as instrues e
controlar as operaes no computador. A UCP composta de duas partes:

ULA ou UAL Unidade Lgica e Aritmtica tem por funo a efetiva


execuo das instrues;

UC Unidade de Controle Principal tem por funes a busca, a inter-


pretao, o controle de execuo das instrues e o controle dos demais
componentes do computador. Veja a Figura 2.4.

Figura 2.4: Diagrama esquemtico da UAL


Fonte: CTISM

A seguir, apresentado o diagrama esquemtico de uma UCP (Figura 2.5).

Aula 2 - A arquitetura de um computador 35 e-Tec Brasil


Figura 2.5: Diagrama principal da CPU
Fonte: CTISM

Registradores importantes na UCP:

Na UC, CI (Contador de Instrues, PC Program Counter) arma-


zenado o endereo da prxima instruo a ser executada.

Na UC, RI (Registrador de Instruo, IR Instruction Register)


Os dados so representados, no
barramento, na forma de sinais armazenada a instruo a ser executada.
de tenso, sendo que um sinal
de tenso de uns poucos volts
(high) representa o bit 1, e Na UAL, ACC (Acumulador, ACC Accumulator) so armazenados
um sinal prximo de zero volts
(low) representa o bit 0. os dados (de entrada e resultados) para as operaes na ULA; o acumula-
dor um dos principais elementos que definem o tamanho da palavra do
computador. O tamanho da palavra igual ao tamanho do acumulador.

e-Tec Brasil 36 Tecnologia da Informtica


2.4.1 Comunicao entre memria principal e UCP
a) Barramentos
Os diversos componentes dos computadores comunicam-se atravs de bar-
ramentos. Um barramento um conjunto de condutores eltricos que inter-
ligam os diversos componentes de um computador entre si. Para um dado
ser transportado de um componente a outro, preciso emitir os sinais de
controle necessrios para o componente-origem colocar o dado no barra-
mento e para o componente-destino ler o dado do barramento. Como um
dado composto por bits (geralmente um ou mais bytes), o barramento
dever ter tantas linhas condutoras quantos forem os bits a serem transpor-
tados de cada vez.

Assim, se quisermos transferir um byte por exemplo, 01100100 da UCP


para a memria principal, os circuitos de controle encarregam-se de colocar
o byte 01100100 no barramento, ou seja, colocaro sinais de tenso high
nas 3, 6 e 7 linhas do barramento (por conveno, os bits so sempre or-
denados da direita para a esquerda) e informaro a memria para ler o dado
no barramento.

A comunicao entre MP e UCP usa dois registradores da UCP chamados


de Registrador de Endereos de Memria REM ou, em ingls, Memory
Address Register (MAR), bem como o Registrador de Dados da Memria
RDM ou, em ingls, Memory Buffer Register (MBR). Veja a Figura 2.6.

Tempo de ciclo (ou ciclo de memria) conceituado como o tempo decorri-


do entre dois ciclos sucessivos de acesso memria. As memrias dinmicas
perdem seu contedo em alguns instantes e dependem de peridica atu-
alizao (ciclo de refresh). No caso das SRAMs (Static RAM ou mem-
rias estticas), que no dependem de refresh, o tempo de ciclo igual
ao tempo de acesso. As memrias dinmicas, no entanto, requerem ciclos
peridicos de refresh, o que faz com que a memria fique indisponvel
para novas transferncias a intervalos regulares necessrios para os ciclos
de refresh. Assim, as memrias DRAM tm ciclo de memria maior que o
tempo de acesso.

Aula 2 - A arquitetura de um computador 37 e-Tec Brasil


Figura 2.6: Esquema de funcionamento da comunicao MP / UCP
Fonte: CTISM

UCP / MP
Barramento de endereos unidirecional (s a UCP envia dados write ou
l dados read da MP);

Barramento de dados bidirecional;

Barramento de controle bidirecional.

Registradores
REM Registrador de Endereos de Memria (MAR Memory Address Register);

RDM Registrador de Dados de Memria (MBR Memory Buffer Register).

b) Palavra (unidade de informao)


Palavra a unidade de informao do sistema UCP / MP. A conceituao mais
usada define palavra como capacidade de manipulao de bits do ncleo do
computador (UCP e MP). Pressupe-se, assim, que todos os elementos do
ncleo do computador (o que inclui o tamanho da UAL e do acumulador
e registradores gerais da UCP e o barramento de dados) tenham a mesma
largura (processem simultaneamente o mesmo nmero de bits), o que nem
sempre acontece. Muitas vezes, encontram-se computadores em que o
tamanho da UAL e do acumulador (e registradores gerais) no corresponde

e-Tec Brasil 38 Tecnologia da Informtica


ao tamanho dos barramentos. Dessa forma, encontram-se especificaes de
computadores de 64 bits, mesmo quando seu barramento de dados de
32 bits, nesse caso, referindo-se exclusivamente capacidade de manipula-
o da UCP de 64 bits (isto , sua UAL e seu acumulador tm 64 bits). Essa
conceituao imprecisa, s vezes, enganosa e pode levar a erros de avalia-
o da capacidade de processamento de um computador. Portanto, deve-se
analisar caso a caso, porque a simples meno ao tamanho da palavra no
uma terminologia que permite definir, de forma conclusiva, a arquitetura
do computador.

2.4.2 Tempo de acesso


Tempo de acesso (ou tempo de acesso para leitura) o tempo decorrido
entre uma requisio de leitura de uma posio de memria e o instante em
que a informao requerida est disponvel para utilizao pela UCP. Ou seja,
o tempo que a memria consome para colocar o contedo de uma clula
no barramento de dados. O tempo de acesso de uma memria depende da
tecnologia da memria.

O tempo de acesso de qualquer memria tipo RAM (Random Access Memory


ou memria de acesso aleatrio) independente do endereo a ser acessado
(a posio de memria a ser escrita ou lida), isto , o tempo de acesso o
mesmo, qualquer que seja o endereo acessado.

2.4.3 Funcionamento
A MP pode ser acessada atravs de duas operaes: Ler ou Escrever. Ler da
memria significa requisitar MP o contedo de uma determinada clula
(recuperar uma informao). Essa operao de recuperao da informao
armazenada na MP consiste na transferncia de um conjunto de bits (cpia)
da MP para a UCP e no destrutiva, isto , o contedo da clula no
alterado. Seu sentido da MP para a UCP.

Passos executados pelo hardware:

A UCP armazena no REM o endereo onde a informao requerida est


armazenada;

A UCP comanda uma leitura;

O contedo da posio identificada pelo endereo contido no REM


transferido para o RDM e fica disponvel para a UCP.

Aula 2 - A arquitetura de um computador 39 e-Tec Brasil


Escrever na memria significa escrever uma informao em uma clula da
MP (armazenar uma informao). Essa operao de armazenamento da in-
formao na MP consiste na transferncia de um conjunto de bits da UCP
para a MP e destrutiva (isso significa que qualquer informao que estiver
gravada naquela clula ser sobregravada). Seu sentido da UCP para a MP.

2.4.4 Lgica temporizada


Conforme vimos ao analisar a comunicao entre UCP e memria, as instru-
es, os dados e os endereos trafegam no computador atravs dos barra-
mentos (de dados, de endereos e de controle), sob a forma de bits represen-
tados por sinais eltricos: uma tenso positiva alta (high geralmente entre
2,2V e 5V, dependendo do processador) significando 1, e uma tenso baixa
(low prxima de zero) significando 0. Mas, os dados no computador
no ficam estticos; pelo contrrio, a cada ciclo (cada estado) dos circuitos,
os sinais variam de forma a representar novas instrues, dados e endereos.
Ou seja, os sinais ficam estticos apenas por um curto espao de tempo, ne-
cessrio e suficiente para os circuitos poderem detectar os sinais presentes no
barramento, naquele instante e reagir de forma apropriada. Assim, periodi-
camente, uma nova configurao de bits colocada nos circuitos e tudo isso
s faz sentido se pudermos, de alguma forma, organizar e sincronizar essas
variaes, de modo que, num dado instante, os diversos circuitos do compu-
tador possam congelar uma configurao de bits e process-las. Para isso,
preciso que exista outro elemento que fornea uma base de tempo para que
os circuitos e os sinais se sincronizem. Este circuito chamado clock o rel-
gio interno do computador. Cada um dos diferentes estados que os circuitos
clock
a frequncia de trabalho do assumem, limitados pelo sinal do clock, chamado ciclo de operao.
processador, indica quantas
operaes por segundo sero
executadas pelo processador. A Unidade de Controle da UCP envia a todos os componentes do computador
um sinal eltrico regular o pulso de clock que, por sua vez, fornece uma
referncia de tempo para todas as atividades e permite o sincronismo das
operaes internas. O clock um pulso alternado de sinais de tenso, gerado
pelo circuito de relgio, composto de um cristal oscilador e circuitos auxiliares.

Cada um dos intervalos regulares de tempo definidos pelo clock delimitado


pelo incio da descida do sinal, equivalendo um ciclo excurso do sinal por
um low e um high do pulso. O tempo do ciclo equivale ao perodo da
oscilao. Sabemos que perodo o inverso da frequncia. Ou seja:

P=1/f

e-Tec Brasil 40 Tecnologia da Informtica


A frequncia f do clock medida em Hertz. Inversamente, a durao de cada
ciclo chamada de perodo. Por exemplo, se f = 10 Hz, temos que P = 1/10
= 0,1 s (Figura 2.7).

Figura 2.7: Diagrama temporal


Fonte: CTISM

Um MHz (1 megahertz) equivale a um milho de ciclos por segundo. Sendo


a frequncia de um processador medida em megahertz ou em gigahertz, o
perodo ser, ento, medido em nanossegundos, como vemos no exemplo
na Quadro 2.4:

Quadro 2.4: Medidas


f = 10 MHz = 10 x 106 Hz
P = 1/10.106 = 100 ns (100 nanosegundos)
f = 1 GHz = 1 x 109 Hz
P = 1/109 = 1 ns (1 picosegundo)

Sempre que se fala sobre mquinas velozes, citam-se nmeros em gigahertz.


Para um melhor entendimento sobre o que ocorre na mquina, em vez de
Se tivermos dois processadores
falar sobre a frequncia do clock, seria mais ilustrativo discutir outra grande- operando em um mesmo clock,
za: o perodo, que pode ser definido como o tempo de durao de cada ciclo poderemos ter desempenhos
completamente diferentes,
ou simplesmente tempo de ciclo. visto que o desempenho
do processador deve ser
analisado por um conjunto de
Quando se diz que um processador de 2 GHz, est se definindo a frequn- caractersticas da arquitetura,
do qual a frequncia do clock
cia de operao de seu processador (seu clock), significando que o processa- apenas um deles e no o mais
dor pode alternar seus estados internos 2 bilhes de vezes por segundo. Isto importante.

acarreta que cada ciclo (equivalente a um estado lgico) de operao dura


1 / 2.000.000.000 s = 0,5 x 10-9 s, ou seja, 0,5 picosegundo.

Os primeiros computadores tinham um nico sinal de clock geral, vlido


para UCP, memria, barramentos de E/S (entrada /sada), etc. Na medida em

Aula 2 - A arquitetura de um computador 41 e-Tec Brasil


que a tecnologia foi se aperfeioando, a frequncia de clock de operao
dos processadores (e, em menor escala, tambm a das memrias) aumentou
em uma escala muito maior que a dos demais componentes. Dessa forma,
foi necessrio criar diferentes pulsos de clock para acomodar as frequncias
de operao dos diferentes componentes. A placa-me de um PC utiliza
uma frequncia-mestra para seu barramento (ciclo de barramento), a qual
multiplicada ou dividida para ser utilizada pelos demais componentes. Por
exemplo, o processador tem essa frequncia multiplicada por 2 a 4, e as
cache secundrias (ciclos entre 10 e 20 ns) usam a prpria frequncia da
placa-me. As memrias cache primrias, por sua vez, so hoje construdas
como parte do processador e usam o mesmo clock do processador.

O efeito prtico do aumento da frequncia de operao que a preciso


de fabricao dos circuitos tambm precisa ser maior. O tamanho de cada
juno de transistor fica menor. Uma juno menor requer menos potncia
para sua operao, menos eltrons para operar uma transio de estados,
menor tempo de propagao do sinal e, consequentemente, menor potn-
cia dissipada.

2.5 Instrues
Para que um programa possa ser executado por um computador, ele precisa
ser constitudo por uma srie de instrues de mquina e estar armazenado
em clulas sucessivas na memria principal. A UCP responsvel pela execuo
das instrues que esto na memria.

Quem executa um programa o hardware e o que ele espera encontrar


um programa em linguagem de mquina, ou seja, uma sequncia de instru-
es de mquina em cdigo binrio. A linguagem de mquina composta
por cdigos binrios, representando instrues, endereos e dados, e est
totalmente vinculada ao conjunto (set) de instrues da mquina.

Um ser humano usa seu conhecimento e inteligncia para traduzir uma tare-
fa complexa (tal como, por exemplo, a tarefa de buscar uma pasta num ar-
quivo) numa srie de passos elementares (identificar o mvel e a gaveta em
que est a pasta, andar at o mvel, abrir a gaveta, encontrar a pasta, retirar
a pasta e fechar a gaveta). Para o computador, uma instruo precisa ser de-
talhada, dividida em pequenas etapas de operaes, que so dependentes
do conjunto de instrues do computador e individualmente executveis.

e-Tec Brasil 42 Tecnologia da Informtica


Fazendo um paralelo com linguagens de alto nvel, o programa elabora-
do pelo programador (o cdigo-fonte composto de instrues complexas)
precisa ser traduzido em pequenas operaes elementares (primitivas),
executveis pelo hardware. Cada uma das instrues tem um cdigo binrio
associado, que o cdigo da operao.

2.5.1 Formato geral de uma instruo


O formato geral de uma instruo segue o definido a seguir:

a) Cdigo de operao ou OPCODE o campo da instruo cujo valor


binrio identifica a operao a ser realizada pelo processador. Cada ins-
truo dever ter um cdigo nico que a identifique.

b) Operando(s) (so) o(s) campo(s) da instruo cujo valor binrio si-


naliza a localizao do dado (ou o prprio dado) que ser manipulado
(processado) pela instruo durante a operao. Em geral, um operando
identifica o endereo de memria em que est contido o dado que ser
manipulado, ou pode conter o endereo no qual o resultado da operao
ser armazenado. Finalmente, um operando pode tambm indicar um
registrador, que conter o dado propriamente dito ou um endereo de
memria em que est armazenado o dado. Os operandos fornecem os
dados da instruo. Por exemplo, uma instruo tpica de um programa
em linguagem assembly de um microcontrolador PIC de 8 bits :

Sendo movwf o cdigo da operao, que consiste num mnemnico e


Os mnemnicos possibilitam
representa mover o contedo do acumulador w para o endereo f, e escrever cdigo de um modo
0x05 o operando que representa o endereo de memria f. Dessa muito mais intuitivo, e sem perda
de preciso. Mnemnica, de
forma, ao final da execuo dessa linha do programa, o dado que est no acordo com o Dicionrio Aulete
Digital, uma tcnica para
acumulador w ser transferido para o endereo 0x05 na memria. facilitar a memorizao atravs
de exerccios como, por exemplo,
a combinao de elementos
associveis.

Aula 2 - A arquitetura de um computador 43 e-Tec Brasil


2.5.2 Conjunto de instrues
Quando se projeta um hardware, define-se o seu conjunto (set) de instru-
es, ou seja, o conjunto de instrues elementares que o hardware capaz
de executar. O projeto de um processador centrado no seu conjunto (set)
de instrues.

Funcionalmente, um processador precisa possuir instrues para realizar os


comandos:

Operaes matemticas sendo:

Aritmticas: +, -, x, ;

Lgicas: and, or, xor;

Relacionais: >, <, =;

Operaes de movimentao de dados (memria <--> UCP, reg <--> reg);

Operaes de entrada e sada (leitura e escrita em dispositivos de E/S);

Operaes de controle (desvio de sequncia de execuo, parada).

2.5.3 Ciclo de instruo


As instrues so executadas sequencialmente (a no ser pela ocorrncia de
um desvio), uma a uma.
Em alguns computadores
(usando uma abordagem que
visa reduo de custos), os O ciclo de instruo indica a sequncia de execuo, isto , ele controla o flu-
dados podem ser transportados
usando mais de um ciclo de xo de execuo das instrues. A seguir, ilustrado o ciclo de processamento
barramento.
de uma instruo (fluxograma).

e-Tec Brasil 44 Tecnologia da Informtica


Figura 2.8: Ciclo de instruo
Fonte: CTISM

2.6 Estratgias de implementao


de processadores
As principais estratgias de implementao de processadores que a indstria
de semicondutores adota so o RISC e o CISC.

O CISC (Complex Instruction Set Computer) a arquitetura utilizada nos pro-


cessadores da famlia Pentium e dos Mac de primeira gerao, por exemplo.
Essa arquitetura caracteriza-se por possuir um conjunto de instrues maior
e mais complexo e apresentar um ciclo de processamento mais lento.

O RISC (Reduced Instruction Set Computer), por sua vez, utilizado nos pro-
cessadores Power PC e Sparc, e nos microcontroladores PIC de 8 bits. Essa
arquitetura consiste em um conjunto de instrues menor e mais simples e
possui um ciclo de processamento mais rpido.

Aula 2 - A arquitetura de um computador 45 e-Tec Brasil


Lembramos que em nosso estudo adotaremos o termo instruo, para
as instrues de mquina ou em linguagem Assembly, e comando, para
linguagens de alto nvel. Portanto, o projeto de um processador poderia ser
resumido em:

a) Definir o conjunto de instrues (todas as instrues possveis que o pro-


cessador poder executar), ou seja:

Definir o formato e o tamanho das instrues;

Definir as operaes elementares.

b) Projetar os componentes do processador (UAL, UC, registradores, barra-


mentos). Duas estratgias so possveis na construo do decodificador
de instrues da UC:

Wired Logic (as instrues so todas implementadas em circuito);

Microcdigo (apenas um grupo bsico de instrues so implementadas


em circuito; as demais so montadas atravs de microprogramas que
usam as instrues bsicas, valendo-se, para isso, at mesmo de algorit-
mos de lgica difusa (Fuzzy Logic).

Resumo
Nessa aula, estudamos o funcionamento bsico da arquitetura de Von Neumann,
bem como relacionamos as diferentes partes constitutivas de um computa-
dor que obedece ao modelo de Von Neumann. J conhecemos o hardware
bsico dos computadores e como os sinais eltricos trafegam atravs dos
diferentes componentes fsicos dos computadores. Estamos aptos a avanar
em nossos estudos, passando ao estudo dos softwares que movem estas
poderosas mquinas.

Atividades de aprendizagem
1. Descreva as principais caractersticas da arquitetura de Von Neumann.

2. Faa um comparativo entre os principais tipos de memria quanto


hierarquia.

e-Tec Brasil 46 Tecnologia da Informtica


3. Com relao leitura e escrita, descreva os diversos tipos de memria.

4. Pesquise, na internet, vantagens e desvantagens dentre as principais


estratgias de implementao de processadores.

Aula 2 - A arquitetura de um computador 47 e-Tec Brasil


Aula 3 Traduo de programas

A msica no est no piano.


Alan Curtis Kay

Objetivos

Entender por que programas em linguagem de alto nvel devem


ser traduzidos para linguagem de mquina.

Compreender como se d a interpretao e compilao de pro-


gramas.

Conhecer emuladores e mquinas virtuais e compreender sua im-


portncia.

3.1 Programa em linguagem de mquina


Para executar uma tarefa qualquer, um computador precisa receber instru-
es exatas sobre o que fazer. Uma sequncia adequada de instrues de
computador, para a realizao de uma determinada tarefa, constitui-se de
um PROGRAMA de computador. Uma linguagem de programao um
conjunto de ferramentas, regras de sintaxe e smbolos ou cdigos que nos
permitem escrever programas de computador, destinados a instruir o
computador para a realizao de suas tarefas.

A primeira e mais primitiva linguagem de computador a prpria linguagem


de mquina, aquela que o computador entende diretamente e pode ser
diretamente executada pelos circuitos do processador (pelo hardware).

No incio da era da computao, os programas eram escritos em linguagem


de mquina, isto , as instrues eram escritas diretamente na linguagem do
computador (formada apenas com 1s e 0s). Um programa em linguagem
de mquina uma longa srie de 0s e 1s, ordenados de forma que alguns
representam cdigos de instrues e outros representam os dados que sero
processados (ou indicam onde esses dados esto armazenados). Em um
programa escrito em linguagem de mquina, cada instruo escrita pelo

Aula 3 - Traduo de programas 49 e-Tec Brasil


programador ser individualmente executada, isto , a cada instruo do
programa corresponder uma ao do computador. A relao , portanto,
1 para 1 uma instruo do programa corresponde a uma operao do
computador.

Um programa em linguagem de mquina pode ser apresentado em binrio


(0s e 1s) ou em hexadecimal (usando de 0 a F, ou seja, transformando cada
4 bits em um dgito hexadecimal). A apresentao em hexadecimal torna
mais enxuta a representao (mas no mais simples), contudo serve somente
para visualizao, pois um programa somente pode ser submetido ao
computador em binrio.

Imagine, ento, um programa extenso, escrito usando apenas 1s e 0s;


imagine que, para cada diferente marca ou modelo de computador, as re-
gras para entender esses cdigos sero totalmente diferentes; e finalmente
imagine que voc teria que escrever uma a uma as instrues e os dados
adequadamente codificados e ordenados, perfurar todo o programa em
cartes e submeter toda a massa de cartes ao computador, para final-
mente receber, algumas horas depois, o seu programa de volta com uma
mensagem de erro, do tipo erro no carto X...e mais nada! Um programa
escrito nessa linguagem era difcil de ser escrito sem que se cometessem
muitos erros, e esse processo era longo, demorado, difcil, entediante e,
principalmente, caro.

Um programa em linguagem de mquina era tambm extremamente dif-


cil de ser entendido por outros programadores que futuramente viessem a
trabalhar na sua manuteno. Essa complexidade levou necessidade de
desenvolver tcnicas e ferramentas para tornar a escrita e a manuteno de
programas mais fceis, mais rpida e, principalmente, mais barata.

Cada famlia de computadores possui sua prpria linguagem de mquina.


Um programa em linguagem de mquina dependente do computador, ou
seja, tendo sido escrito para um determinado computador, somente poder
ser executado em computadores da mesma famlia, que lhe sejam 100%
compatveis.

3.2 Linguagens de montagem


A primeira tentativa bem sucedida para resolver o problema acima descrito
foi a criao de uma linguagem em que os cdigos numricos foram substi-

e-Tec Brasil 50 Tecnologia da Informtica


tudos por mnemnicos (palavras ou smbolos como, por exemplo, LOAD =
carregar, e ADD = somar, que se aproximam de palavras comuns da lngua
inglesa). As localizaes dos dados foram substitudas por referncias sim-
blicas. Foram tambm definidas regras de sintaxe de fcil memorizao,
de forma a tornar a escrita de programas e sua posterior manuteno uma
tcnica de complexidade relativamente menor.

Essa linguagem simblica recebeu o nome de Assembly Language (Linguagem


de Montagem). Assim, o programador no mais precisava decorar os cdigos
numricos que representavam as diferentes instrues e os endereos
reais de armazenamento. Bastava decorar mnemnicos para as instrues e
definir nomes para as referncias dos endereos (por exemplo, NOME para
o local onde seriam armazenados os nomes e SALARIO para o local onde
seriam armazenados os salrios, etc.), o que, sem dvida, facilita o trabalho.

importante lembrar que um computador sempre monoglota, isto , ele


entende nica e exclusivamente a sua prpria linguagem de mquina. Por-
tanto, para escrever um programa em outra linguagem, que seja entendido
e processado no computador, preciso ter outro programa que leia o que
este outro escreveu, em linguagem alternativa e o traduza para uma nativa
do computador, isto , a linguagem de mquina entendida pelo computador.

O processo de traduo da linguagem de montagem para a linguagem de


mquina (chamado de montagem) realizado por um programa chamado
Assembler (Montador). O programa Assembler l cada instruo escrita em
linguagem Assembly e a converte em uma instruo equivalente lingua-
gem de mquina; e tambm converte cada uma das referncias simblicas
de memria em endereos reais (resolve as referncias de memria).

A criao de programas montadores facilitou muito o trabalho dos progra-


madores. Outra vantagem menos bvia foi possibilitar o desenvolvimento
de programas de crtica de sintaxe (os debuggers), facilitando o processo de
depurao de erros de programao.

3.3 Linguagens de programao


Apesar da existncia de programas Montadores, o processo continuava lento
e complexo, exigindo do programador uma grande compreenso do processo
e um profundo conhecimento da mquina que ele estava programando. Um
programa de computador ainda era difcil de ser escrito, caro e dependen-

Aula 3 - Traduo de programas 51 e-Tec Brasil


te do computador para o qual foi escrito, j que um programa escrito em
linguagem de mquina para um determinado computador s poderia ser
processado em computadores 100% compatveis com ele.

Esses problemas levaram a uma busca por linguagens que fossem mais sim-
ples de programar e entender, mais rpidas e eficientes; levaram a programas
mais enxutos, com menos instrues, menos dependentes do computador
alvo, mas que processassem com boa eficincia, no acarretando processa-
mento lento no computador.

Foram desenvolvidas diversas linguagens de programao, buscando afastar-


se do modelo centrado no computador. Alm disso, essas linguagens foram
estruturadas buscando refletir melhor os processos humanos de soluo de
problemas. Essas linguagens orientadas para problemas so tambm cha-
madas linguagens de alto nvel, por serem afastadas do nvel de mquina.

Algumas das primeiras linguagens de alto nvel desenvolvidas e amplamente


difundidas foram a FORTRAN (1957), usada basicamente para manipulao
de frmulas; ALGOL (1958), utilizada na manipulao de algoritmos; e
COBOL (1959), utilizada para processamento comercial.

Nas dcadas de 60 e 70 (podemos citar Pascal), a primeira linguagem foi


estruturada de alto nvel; BASIC, linguagem criada para facilitar a programao
por no profissionais; e ADA, linguagem para processamento em tempo real,
criada sob encomenda do DoD (Department of Defense) norte-americano.

Na dcada de 1980, surgiu o C e depois o C++ (com suporte a objetos), que


esto entre as linguagens mais utilizadas hoje.

Cada nova linguagem criada visa a atingir nveis de abstrao mais altos,
isto , afasta cada vez mais o programador do nvel de mquina. Se, por um
lado, essas novas linguagens facilitam muito o trabalho dos programadores,
reduzindo sua necessidade de conhecer o hardware da mquina, por outro
lado, elas cobram um alto preo em termos de desempenho, isto , so cada
vez mais lentas, ao consumir cada vez mais ciclos de mquina e espao em
memria. Esse aumento de exigncia da capacidade de processamento dos
computadores compensado pelo aumento acelerado do poder de proces-
samento dos novos chips e pelos avanos na arquitetura dos computadores.

e-Tec Brasil 52 Tecnologia da Informtica


Tal como na linguagem humana, as linguagens de computadores proliferam
e sempre h problemas que persistem, continuando a busca por uma lingua-
gem ideal a soluo definitiva. A linguagem Java a mais importante
tendncia atual e o mais recente avano na busca pela linguagem universal.
A linguagem Java pretende elevar a abstrao ainda mais um nvel e prope-
se a ser independente da mquina na qual ser executada. Na realidade,
quando no est sendo processado em um processador Java nativo, o c-
digo Java interpretado por um emulador, que uma camada de software
chamada mquina virtual Java (JVM Java Virtual Machine).

3.4 Traduo
Sabemos que um programa escrito por um programador (chamado cdi-
go-fonte) em uma linguagem de alto nvel um conjunto de instrues
que claro para programadores, mas no para computadores. Ou seja, os
computadores entendem nica e exclusivamente suas linguagens nativas, as
linguagens de mquina. Programas em linguagem de alto nvel, a exemplo
dos programas escritos em linguagem de montagem, tambm precisam ser
traduzidos para a linguagem de mquina para serem submetidos ao compu-
tador e processados.

O processo de traduo do programa escrito em uma linguagem simblica


pelo programador cdigo-fonte (source code), para a linguagem de m-
quina do computador cdigo-objeto (object code), chamado compilao
e realizado por um programa chamado compilador (compiler).

3.5 Montagem
Citamos anteriormente uma forma de traduo rpida e simples: a executada
pelo programa montador. O processo de montagem traduz um programa
escrito em linguagem Assembly em um programa equivalente em linguagem
de mquina, possvel de ser executado pelo computador.

A seguir, na Figura 3.1, apresentado o fluxo que representa o processo de


montagem.

Aula 3 - Traduo de programas 53 e-Tec Brasil


Figura 3.1: Processo de montagem
Fonte: CTISM

No processo de montagem, o cdigo-fonte (programa em linguagem simb-


lica escrito pelo programador) examinado, instruo por instruo, e feita
a traduo, gerando o cdigo que ser executado (cdigo-objeto). Os passos
executados pelo programa montador so:

a) Verificar a correo do cdigo de instruo (se o mnemnico corresponde


a uma instruo vlida para o computador, se os campos definidios na
estrutura da linguagem e a sintaxe esto corretos) e substituir os mnem-
nicos pelos cdigos numricos binrios equivalentes. Qualquer erro no c-
digo acarreta a interrupo do processo e a emisso de mensagem de erro;

b) Resolver as referncias de memria: os nomes simblicos adotados pelo


programador so convertidos para endereos reais de memria (valores
numricos binrios de endereos);

c) Reservar espao em memria para o armazenamento das instrues e


dos dados;

d) Converter valores de constantes em binrio.

e-Tec Brasil 54 Tecnologia da Informtica


3.6 Compilao
Compilao o processo de traduo de um programa escrito em linguagem
de alto nvel para cdigo em linguagem de mquina. Esse processo
anlogo ao da montagem (verificao/anlise do cdigo-fonte, resoluo
das referncias de memria, reserva de espao em memria e converso
para cdigo de mquina binrio). O que diferencia a compilao do processo
de montagem sua maior complexidade. No processo de montagem, h
uma relao de 1:1, ou seja, cada instruo do cdigo-fonte resulta em uma
instruo de mquina, enquanto que na compilao a relao mltipla,
cada instruo do cdigo-fonte pode gerar vrias instrues de mquina.
Observe a Figura 3.2 a seguir.

Figura 3.2: Processo de traduo


Fonte: CTISM

Durante a compilao, o cdigo-fonte analisado (anlise lxica, sinttica


e semntica). gerado um cdigo intermedirio e so construdas tabelas
de smbolos; alocam-se as reas de memria para variveis, atribuem-se os
registradores a serem utilizados, e , finalmente, gerado o cdigo-objeto em
linguagem binria de mquina. Em alguns compiladores, gerado um cdigo
intermedirio em Assembly (que pode ser visualizado pelo programador)
e que, em seguida, passa pelo montador para gerar finalmente o cdigo-
objeto em linguagem de mquina.

O cdigo-objeto pode ser absoluto (os endereos constantes so endereos


reais de memria), ou relocvel (os endereos so relativos, tendo como refe-
rncia o incio do programa; j os endereos reais de memria so definidos
apenas em tempo de execuo).

Aula 3 - Traduo de programas 55 e-Tec Brasil


3.7 Bibliotecas
O desenvolvimento de um programa certamente utilizar diversas operaes
que so comuns a muitos programas, como, por exemplo, a execuo de
uma instruo de entrada e sada, a classificao dos dados de um arquivo
ou o clculo de funes matemticas. Uma linguagem de alto nvel geral-
mente incorpora diversas rotinas prontas, que fazem parte da linguagem e
compem bibliotecas (librarys) de funes pr-programadas que podero ser
utilizadas pelo programador, economizando tempo, aumentando a eficin-
cia e evitando erros. Dessa forma, um programa em alto nvel possivelmente
conter diversas chamadas de biblioteca (library calls). Essas funes no
devem ser confundidas com as instrues da linguagem. Na realidade, so
pequenos programas externos que so denominados, atravs de instrues
especiais, de chamada de biblioteca. Para serem executadas, essas rotinas
precisam ser incorporadas ao cdigo do programador, isto , a chamada de
biblioteca precisa ser substituda pelo cdigo propriamente dito, incluindo os
parmetros necessrios.

3.8 Ligao
O cdigo-objeto preparado pelo compilador, em geral, no imediatamente
executvel, pois ainda existe cdigo (as rotinas de biblioteca) a ser incorporado
ao programa. A cada chamada de biblioteca encontrada no cdigo-fonte,
o compilador precisar incluir uma chamada para a rotina e o endereo dos
dados que devem ser passados para a rotina.

A tarefa de examinar o cdigo-objeto, procurar as referncias a rotinas de


biblioteca (que constituem referncias externas no resolvidas), buscar a
rotina da biblioteca, substituir a chamada pelo cdigo (resolver as refe-
rncias externas) e obter os parmetros para inclu-los no cdigo-objeto
executada por um programa chamado ligador (LinkEditor). O resultado da
execuo do ligador o cdigo final, pronto, para ser executado pelo com-
putador, chamado mdulo de carga ou cdigo executvel (Figura 3.3).

e-Tec Brasil 56 Tecnologia da Informtica


Figura 3.3: Processo de compilao e ligao
Fonte: CTISM

O mdulo de carga, aps testado e depurado, isto , depois de resolvidos


todos os erros, tambm chamados bugs, armazenado em memria de
Para saber o significado
massa para ser executado quando necessrio. de BUG, e qual a sua origem,
consulte o link:
http://pt.wikipedia.org/wiki/Bug
O processo de compilao e ligao executado apenas pelo programador
na fase de desenvolvimento e no mais precisar ser executado pelo usurio
quando da execuo do programa.

3.9 Interpretao
Com a apresentao do processo de execuo de um programa em fases
distintas (compilao/ligao/execuo), um programa, para ser executado,
precisa, ter sido convertido para cdigo-objeto pelo compilador e ter pas-
sado pelo ligador (ver Figura 3.4 a seguir). Esse processo o mais utilizado,
porm no o nico.

Figura 3.4: Processo de interpretao


Fonte: CTISM

O mtodo alternativo chama-se interpretao e, a partir do programa-fonte,


realiza as trs fases: compilao, ligao e execuo, comando por comando,
em tempo de execuo. No existem fases distintas nem se produzem cdigos
intermedirios. Todo o processo de converso efetuado em tempo de exe-
cuo e imediatamente executado. Ou seja, cada comando lido, verificado,

Aula 3 - Traduo de programas 57 e-Tec Brasil


convertido em cdigo executvel e imediatamente executado, antes que o
comando seguinte seja lido.

Linguagens como C e Pascal so linguagens tipicamente compiladas, enquanto


que a BASIC foi desenvolvida como linguagem interpretada (hoje tambm exis-
tem linguagens BASIC compiladas). As linguagens de programao tipicamente
de usurio, tais como das planilhas Excel, o Word Basic (linguagem de constru-
o de Macros do Word) e o Access, so exemplos de linguagens interpretadas.

3.10 Compilao e interpretao: comparao


a) Tempo de execuo
No mtodo de interpretao, cada vez que o programa for executado, ha-
ver compilao, ligao e execuo de cada um dos comandos. No m-
todo de compilao, o tempo de execuo do programa reduzido por-
que todos os passos preliminares (compilao e ligao) foram previamente
cumpridos.

b) Consumo de memria
No mtodo de interpretao, o interpretador um programa geralmente
grande, que precisa permanecer na memria durante todo o tempo que du-
rar a execuo do programa. Um programa necessita do interpretador para
ter traduzidos cada um dos seus comandos, um a um, at o trmino de sua
execuo (o interpretador somente descarregado depois do trmino da
execuo do programa).

No mtodo de compilao, o compilador carregado e fica na memria


apenas durante o tempo de compilao, depois descarregado; o ligador
carregado e fica na memria apenas durante o tempo de ligao, depois
descarregado. Essas so funes realizadas pelo programador e execu-
tadas apenas durante o desenvolvimento do programa. Quando o usurio
for executar o programa, apenas o mdulo de carga (cdigo executvel)
carregado e fica na memria durante a execuo. Dessa forma, vemos que
o mtodo de interpretao acarreta um consumo de memria muito mais
elevado durante a execuo do programa.

c) Repetio de interpretao
No mtodo de compilao, um programa compilado e ligado apenas uma
vez, na hora da execuo; carregado apenas o mdulo de carga, que
diretamente executvel. No mtodo de interpretao, cada programa ter
que ser interpretado toda vez que for executado.

e-Tec Brasil 58 Tecnologia da Informtica


Outro aspecto a ser destacado que em programas contendo loops, no m-
todo de interpretao as partes de cdigo pertencentes ao loop sero vrias
vezes repetidas e tero que ser interpretadas tantas vezes quantas o loop
tiver que ser percorrido. No mtodo de compilao, a traduo do cdigo do
loop faz-se uma nica vez, em tempo de compilao e ligao. Essas carac-
tersticas levam a um maior consumo de tempo no mtodo de interpretao,
que , portanto, mais lento.

d) Desenvolvimento de programas e depurao de erros


No mtodo de compilao, a identificao de erros durante a fase de execuo
fica sempre difcil, pois no h mais relao entre comandos do cdigo-fonte
e instrues do executvel.

No mtodo de interpretao, cada comando interpretado e executado


individualmente, a relao entre cdigo fonte e executvel mais direta e
o efeito da execuo (certa ou errada) direta e imediatamente sentida.
Quando a execuo de um comando acarreta erro, quase sempre o erro
pode ser encontrado no comando que acabou de ser executado. Assim,
o interpretador pode informar o erro, indicando o comando ou a varivel
causadora do problema. Essa caracterstica faz com que esse mtodo seja
escolhido sempre que se pretende adotar uma linguagem mais fcil, a no
profissional, ou para a programao ser mais fcil e rpida. Por exemplo, o
mtodo de interpretao usado pela maioria dos Basic (uma linguagem
projetada para ser usada por iniciantes) e por todas as linguagens tpicas de
usurio como Access, Excel, etc.

3.11 Emuladores e mquinas virtuais


Na informtica, um emulador um software que reproduz as funes de um
determinado ambiente a fim de permitir a execuo de outros softwares
sobre ele. Pode ser pela transcrio de instrues de um processador alvo
para o processador no qual ele est rodando, ou pela interpretao de cha-
madas para simular o comportamento de um hardware especfico. O emula-
dor tambm responsvel pela simulao dos circuitos integrados ou chips
do sistema de hardware em um software. Basicamente, um emulador expe
as funes de um sistema para reproduzir seu comportamento, permitindo
que um software criado para uma plataforma funcione em outra.

Uma aplicao interessante dos interpretadores a gerao de cdigo uni-


versal e de mquinas virtuais.

Aula 3 - Traduo de programas 59 e-Tec Brasil


Sabemos que um computador somente capaz de executar programas que
tenham sido desenvolvidos para ele. Assim, um programa desenvolvido para
rodar em PCs, rodando Windows, no funciona em PCs com Linux ou
em Macintosh. Se voc concorda com essa afirmao, imagine ento uma
Linux
um sistema operacional - pgina na internet, com textos, imagens e programas que podem ser visuali-
programa responsvel pelo
funcionamento do computador-
zados e processados por quase todos os computadores. Como isso pode ser
que faz a comunicao entre feito? Como computadores de marcas e modelos diferentes estaro lendo,
hardware (impressora, monitor,
mouse, teclado) e software interpretando e executando corretamente comandos que podem ter sido
(aplicativos em geral). A desenvolvidos usando outro computador?
diferena mais marcante entre
Linux e Windows o fato de
o Linux ser um sistema de
cdigo aberto, desenvolvido
O segredo a utilizao de linguagens padronizadas, tais como: HTML, para
por programadores voluntrios a escrita das pginas; CGI, Java, Java Script, etc., para programas, que so
espalhados por toda internet e
distribudo sob licena pblica. suportadas por diversas plataformas. Assim, cada uma das plataformas (atra-
J o Windows software vs dos programas visualizadores de pginas da internet, conhecidos como
proprietrio, no possui cdigo-
fonte disponvel e voc ainda browsers ou mesmo atravs de seus respectivos sistemas operacionais) pode
precisa comprar uma licena
para ter o direito de us-lo.
interpretar corretamente qualquer pgina feita e hospedada em qualquer
computador.

Uma situao semelhante ocorre quando algum desenvolve um programa


que interpreta o cdigo executvel produzido para um determinado com-
putador e o converte para ser executado em outro computador incompatvel
com o primeiro. Imagine pegar um jogo desenvolvido para os consoles origi-
nais Atari (por exemplo, o PacMan) e poder execut-lo num moderno PC. Ou
pegar um programa que voc tenha escrito (por exemplo, uma planilha) para
um Apple Macintosh e rod-lo num PC. Esse processo, em que um computa-
dor opera como se fosse o outro, conhecido como emulao.

Levando esse conceito um pouco mais adiante, imagine desenvolver um


programa conversor que selecionasse qualquer programa escrito para uma
determinada mquina e interpretasse seu cdigo executvel, traduzindo-o
em tempo de execuo para instrues de outro computador. Esse programa
criaria uma camada de emulao em que uma mquina se comportaria como
outra. Poderamos ter um PC virtual emulado em um Macintosh, que es-
taria, assim, apto a rodar qualquer programa escrito para PC. Esse programa
emulador criaria um ambiente a que chamamos de mquina virtual, isto ,
uma mquina que se comporta como outra, diferente, no compatvel.

Algo parecido foi desenvolvido pela Sun Microsystems na linguagem Java.


Java uma linguagem que, em princpio, permite que programas escritos
nela rodem em qualquer mquina. Na realidade, a Sun desenvolveu uma pla-

e-Tec Brasil 60 Tecnologia da Informtica


taforma Java (JVM - Java Virtual Machine) com caractersticas de ambiente
necessrias para que os programas escritos em Java rodem adequadamente.
A JVM suporta uma representao em software de uma UCP completa, com
sua arquitetura perfeitamente definida, incluindo seu prprio conjunto de
instrues. Os programadores Java escrevem o cdigo usando o conjunto de
instrues definido pela linguagem Java. Essa fonte ser, ento, compilada
gerando o cdigo de mquina virtual Java. Como o cdigo Java universal,
os cdigos-fonte Java e os cdigos-objeto gerados so independentes da
mquina em que o software ser depois processado. Assim, os programado-
res Java no precisam preocupar-se em qual computador ou sistema opera-
cional o programa vai ser executado: desenvolver para Java independente
da mquina.

Mas como possvel que isso funcione, sem desmentir tudo o que antes
dissemos sobre o cdigo de mquina ser dependente do ambiente? Tudo
bem que o cdigo Java rode bem em um processador Java, mas, e em outras
plataformas? Bom, em outras plataformas, programas escritos em Java
rodariam em mquinas virtuais que emulariam o ambiente Java. Isso significa
que as empresas que desenvolvem software construram uma camada de
software que, em tempo de execuo, l o cdigo Java e o interpreta, tra-
duzindo-o para o cdigo nativo daquele ambiente. Esses programas inter-
pretadores permitem que um programa Java seja traduzido, em tempo de
execuo, para o cdigo nativo (ver Figura 3.5) e executado no computador
do usurio, com maior ou menor eficincia, porm sempre mais lentamente
que na mquina Java ideal.

Figura 3.5: Processo cdigo Java


Fonte: CTISM

Aula 3 - Traduo de programas 61 e-Tec Brasil


Resumo
Vimos, nessa aula, que os programas de computadores feitos em algum
tipo de linguagem de programao Pascal, C, C++, Basic devem ser
traduzidos para linguagem de mquina.

Aprendemos que os emuladores permitem que um programa feito para ro-


dar em um determinado computador possa ser rodado em outro sem perder
suas funcionalidades. Portanto, aps estudar hardware e software, resta-nos
conhecer como interagir com o computador, ou seja, como os nossos co-
mandos entram no computador e como podemos ter acesso aos resultados
do processamento das informaes pelo computador.

Atividades de aprendizagem
1. Pesquise na internet sobre a Lei de Moore e suas implicaes no desen-
volvimento dos computadores.

2. Por quais motivos desenvolveram-se os emuladores e as mquinas virtuais?

3. Quais as razes que obrigam os programas escritos em linguagem de


alto nvel, a serem traduzidos para linguagem de mquina?

4. Faa uma tabela comparativa entre compilao e interpretao.

e-Tec Brasil 62 Tecnologia da Informtica


Aula 4 Entradas e sadas

O bom andarilho no deixa rastros.


Lao Tse, Tao-Te King

Objetivos

Entender de que forma nossos comandos ingressam no compu-


tador.

Compreender como podemos ter acesso aos resultados do pro-


cessamento das informaes pelo computador.

Diferenciar as diversas formas de comunicao de e para o


computador, bem como a maneira como se d o armazenamento
de informaes em um computador.

4.1 Consideraes iniciais


Os dispositivos de entrada e sada tm como funes bsicas:

a) A comunicao do usurio com o computador;

b) A comunicao do computador com o meio ambiente (dispositivos exter-


nos a serem monitorados ou controlados);

c) Armazenamento (gravao) de dados.

As caractersticas que regem a comunicao de cada um dos dispositivos


de E/S (entrada e sada) com o ncleo do computador (composto de UCP
e memria principal) so muito diferentes entre si. Cada dispositivo de E/S
comunica-se com o ncleo de forma diversa do outro. Entre outras diferenas,
os dispositivos de entrada e sada so mais lentos que o computador, ca-
racterstica essa que impe restries comunicao, uma vez que o com-
putador precisaria esperar muito tempo pela resposta do dispositivo. Outra
diferena fundamental diz respeito s caractersticas das ligaes dos sinais
dos dispositivos.

Aula 4 - Entradas e sadas 63 e-Tec Brasil


Os primeiros computadores, especialmente os de pequeno porte, eram mui-
to lentos, e os problemas de diferena de velocidade eram resolvidos sem
dificuldade e no representavam um problema importante. Dessa forma, a
ligao dos dispositivos de E/S era feita atravs de circuitos simples (as inter-
faces) que apenas resolviam os aspectos de compatibilizao de sinais el-
tricos entre os dispositivos de E/S e a UCP. Os aspectos relativos a diferenas
de velocidade (especialmente tempo de acesso e taxa de transferncia de
dados) eram resolvidos por programa, isto , por software. Entre esses compo-
nentes, trafegam informaes relativas a dados, endereos e controle.

4.2 Tipos de dispositivos


As funes dos dispositivos de entrada so: coletar informaes e introduzir
as informaes na mquina; converter informaes do homem para a m-
quina e vice-versa; e recuperar informaes dos dispositivos de armazena-
mento.

As funes dos dispositivos de sada so: exibir ou imprimir os resultados do


processamento; controlar dispositivos externos.

A UCP no se comunica diretamente com cada dispositivo de E/S, mas com


interfaces, de forma a compatibilizar as diferentes caractersticas. O pro-
cesso de comunicao (protocolo) feito atravs de transferncia de infor-
maes de controle, endereos e dados propriamente ditos. Inicialmente, a
protocolo
Um conjunto de informaes UCP interroga o dispositivo, enviando o endereo deste e um sinal que indica
ou dados devem ser preparados
de maneira a obedecerem a
se quer mandar ou receber dados atravs da interface. O perifrico, reconhe-
determinadas regras-padro que cendo seu endereo, responde quando est pronto para receber (ou enviar)
os computadores entendem para
poderem ser transmitidos entre os dados. A UCP, ento, transfere (ou recebe) os dados atravs da interface,
um computador e outro. Estas e o dispositivo responde, confirmando o recebimento (ou a transferncia)
regras-padro so chamadas de
protocolo. dos dados (acknowledge ou ACK) ou o no recebimento e, nesse caso, soli-
citando retransmisso (not-acknowledge ou NACK).

A compatibilizao de velocidades feita geralmente por programa, usando


memrias temporrias na interface chamadas buffers - que armazenam
as informaes conforme chegam da UCP, e as liberam para o dispositivo
As interfaces de entrada e
sada so conhecidas por medida que este as pode receber.
diversos nomes, dependendo
do fabricante: Interface de
E/S = Adaptador de Perifrico,
Controladora de E/S, Processador
de Perifrico, Canal de E/S.

e-Tec Brasil 64 Tecnologia da Informtica


4.3 Formas de comunicao
De uma forma geral, a comunicao entre o ncleo do computador e os
dispositivos de E/S poderia ser classificada em dois grupos: comunicao
paralela ou serial. Vamos, a seguir, analisar as caractersticas desses grupos.

4.3.1 Comunicao em paralelo


Na comunicao em paralelo, grupos de bits so transferidos simultanea-
mente (em geral, byte a byte), atravs de diversas linhas condutoras dos
sinais. Dessa forma, como vrios bits so transmitidos simultaneamente a
cada ciclo, a taxa de transferncia de dados (throughput) alta. Veja a Fi-
gura 4.1 a seguir.

Figura 4.1: Trfego de dados em uma transmisso paralela


Fonte: CTISM

No entanto, o processo de transferncia em paralelo envolve um controle


sofisticado e razoavelmente complexo, o que o torna mais caro. Um impor-
tante problema diz respeito propagao dos sinais no meio fsico, isto , no
cabo de conexo entre o dispositivo e a interface. Essa propagao deve ser
feita de modo que os sinais (os bits) correspondentes a cada byte cheguem
simultaneamente extremidade oposta do cabo, na qual sero reagrupados
em bytes. Como os condutores que compem o cabo usualmente tero pe-
quenas diferenas fsicas, a velocidade de propagao dos sinais digitais nos
condutores poder ser ligeiramente diferente nos diversos fios.

Dependendo do comprimento do cabo, pode acontecer que um determina-


do fio conduza sinais de forma mais rpida (ou mais lenta) que os demais e,
dessa forma, um determinado bit x em cada byte ir propagar-se mais rpido
e chegar extremidade do cabo antes que os outros n-1 bits do byte. Esse
fenmeno chamado skew, e as consequncias so catastrficas: os bits n
chegariam fora de ordem (os bytes chegariam embaralhados) e a informa-
o ficaria irrecupervel. Em decorrncia desse problema, h limites para o

Aula 4 - Entradas e sadas 65 e-Tec Brasil


comprimento do cabo que interliga um dispositivo ao computador quando
o modo paralelo usado.

As restries citadas contribuem para que a utilizao da comunicao em


paralelo se limite a aplicaes que demandem altas taxas de transferncia,
normalmente associadas a dispositivos mais velozes tais como unidades de
disco, ou demandem altas taxas de transferncia, como CD-ROM, DVD, ou
mesmo impressoras, e que se situem muito prximo do ncleo do computa-
dor. Em geral, o comprimento dos cabos paralelos limitado at um mximo
de aproximadamente 1,8 metros.

4.3.2 Comunicao serial


Na comunicao serial, os bits so transferidos um a um, atravs de um
nico par condutor. Os bytes a serem transmitidos so serializados, isto ,
so desmontados bit a bit e so individualmente transmitidos, um a um.
Na outra extremidade do condutor, os bits so contados e, quando formam
8 bits, so remontados, reconstituindo os bytes originais. Nesse modo, o
controle comparativamente muito mais simples que no modo paralelo e
de implementao mais barata. Como todos os bits so transferidos pelo
mesmo meio fsico (mesmo par de fios), as eventuais irregularidades afetam
todos os bits igualmente. Portanto, a transmisso serial no afetada por
irregularidades do meio de transmisso e no h skew. Em princpio, a trans-
misso serial intrinsecamente mais lenta que a paralela (pois apenas um bit
transmitido de cada vez). Analise a Figura 4.2.

Figura 4.2: Trfego de dados em uma transmisso serial


Fonte: CTISM

e-Tec Brasil 66 Tecnologia da Informtica


Como os bits so transmitidos sequencialmente um a um, sua utilizao
normalmente indicada apenas para perifricos mais lentos como, por exem-
plo, teclado, mouse, etc., ou quando o problema da distncia for mandat-
rio, como nas comunicaes a distncias mdias (tal como em redes locais)
ou longas (comunicaes via linha telefnica usando modems).

No entanto, ultimamente a transmisso serial tem recebido aperfeioamen-


tos importantes (seja de protocolo, de interface, seja de meio de transmisso)
que permitem o aumento da velocidade de transmisso por um nico par de
fios, cabo coaxial ou de fibra tica. Como o aumento da velocidade de trans-
misso em interfaces paralelas ocasiona mais skew, a tendncia tem sido
no sentido do aperfeioamento das interfaces seriais que, hoje, permitem
taxas de transferncia muito altas com, relativamente, poucas restries de
distncia. Em microcomputadores, a interface USB - Universal Serial Bus
permite, atualmente, ligar at 128 dispositivos a taxas muito altas (centenas
de kbps). Veja a Quadro 4.1.

Quadro 4.1: Comparativo de comunicao


Caracterstica Paralelo Serial
custo maior menor
Saiba mais sobre interfaces
modernas, como a interface
distncia curta sem limite Serial ATA:
http://www.infowester.com/
throughput alto baixo
serialata.php

4.4 Formas de transmisso


A transmisso de caracteres atravs de uma linha de comunicao pode ser
feita por dois diferentes mtodos: transmisso sncrona e assncrona.

4.4.1 Transmisso sncrona


Na transmisso sncrona, o intervalo de tempo entre dois caracteres sub-
sequentes fixo. Nesse mtodo, os dois dispositivos transmissor e recep-
tor so sincronizados, pois existe uma relao direta entre o tempo e os
caracteres transferidos. Quando no h caracteres a serem transferidos, o
transmissor continua enviando caracteres especiais de forma que o intervalo
de tempo entre caracteres mantm-se constante e o receptor sincronizado.
No incio de uma transmisso sncrona, o relgio dos dispositivos transmissor
e receptor so sincronizados atravs de um string (cadeia de caracteres) de
sincronizao e so mantidos sincronizados por longos perodos de tempo
(dependendo da estabilidade dos relgios), podendo transmitir dezenas de
milhares de bits antes de terem necessidade de ressincronizar (Figura 4.3).

Aula 4 - Entradas e sadas 67 e-Tec Brasil


Figura 4.3: Representao temporal dos mtodos de transmisso
Fonte: CTISM

4.4.2 Transmisso assncrona


Na transmisso assncrona, o intervalo de tempo entre os caracteres no
fixo. Podemos exemplificar com um digitador operando um terminal, no
qual podemos verificar que no h um fluxo homogneo de caracteres a se-
rem transmitidos. Como esse fluxo no homogneo, no h como distin-
guir a ausncia de bits sendo transmitidos de um eventual fluxo de bits zero;
assim o receptor nunca saberia quando viria o prximo caractere, portanto,
no teria como identificar o que seria o primeiro bit. Para resolver esses
problemas de transmisso assncrona, foi padronizado que, na ausncia de
caracteres a serem transmitidos, o transmissor mantm a linha sempre no es-
tado 1, isto , transmite ininterruptamente bits 1, o que a distingue tambm
de linha interrompida. Quando for transmitir um caractere, para permitir que
o receptor reconhea o incio do caractere, o transmissor insere um bit de
partida (start bit) antes de cada caractere. Convenciona-se que esse start bit
ser um bit zero, interrompendo assim a sequncia de bits 1 que caracteriza
a linha livre (idle). Para maior segurana, ao final de cada caractere, o trans-
missor insere um (ou dois, dependendo do padro adotado) bit de parada
(stop bits) e convenciona-se ser bits 1 para distingu-los dos bits de partida.
Os bits de informao so transmitidos em intervalos de tempo uniformes
entre o start bit e o(s) stop bit(s). Portanto, o transmissor e o receptor somen-
te estaro sincronizados durante o intervalo de tempo entre os bits de start
e stop. A transmisso assncrona tambm conhecida como start-stop. A
Figura 4.4 exemplifica essa transmisso.

e-Tec Brasil 68 Tecnologia da Informtica


Figura 4.4: Transmisso assncrona
Fonte: CTISM

A taxa de eficincia de uma transmisso de dados medida como a relao


de nmero de bits teis dividido pelo total de bits transmitidos. No mtodo
assncrono, a eficincia menor do que no mtodo sncrono, uma vez que
h necessidade de inserir os bits de partida e parada, de forma que a cada
caractere so inseridos de 2 a 3 bits que no contm informao.

4.5 Transmisso simplex, half-duplex


e full-duplex
Uma comunicao dita simplex quando permite comunicao apenas em
um nico sentido, tendo em uma extremidade um dispositivo transmissor
(transmitter) e do outro um dispositivo receptor (receiver). No h possibili-
dade de o dispositivo receptor enviar dados ou mesmo sinalizar se os dados
foram recebidos corretamente. Transmisses de rdio e televiso so exem-
plos de transmisso simplex.

Uma comunicao dita half-duplex (tambm chamada semi-duplex) quan-


do existem em ambas as extremidades dispositivos que podem transmitir e
receber dados, mas no simultaneamente. Durante uma transmisso half-
duplex, em determinado instante, um dispositivo A ser transmissor e o
outro B ser receptor; em outro instante os papis podem inverter-se, por
exemplo, o dispositivo A poderia transmitir dados que B receberia; em segui-
da, o sentido da transmisso seria invertido e B transmitiria para A a infor-
mao se os dados foram corretamente recebidos ou se foram detectados
erros de transmisso. A operao de troca de sentido de transmisso entre
os dispositivos chamada de turn-around e o tempo necessrio para os dis-
positivos chavearem entre as funes de transmissor e receptor chamado
de turn-around time.

Aula 4 - Entradas e sadas 69 e-Tec Brasil


Uma transmisso dita full-duplex (tambm chamada apenas duplex) quando
dados podem ser transmitidos e recebidos simultaneamente em ambos os
sentidos. Poderamos entender uma linha full-duplex como funcionalmente
equivalente a duas linhas simplex, uma em cada direo. Como as transmis-
ses podem ser simultneas em ambos os sentidos e no existe perda de
tempo com turn-around, uma linha full-duplex pode transmitir mais informa-
es por unidade de tempo (maior throughput) do que uma linha half-duplex,
considerando-se a mesma taxa de transmisso de dados. Veja a Figura 4.5.

Figura 4.5: Transmisso simplex, half-duplex e full-duplex


Fonte: CTISM

Resumo
Sabemos que o usurio comunica-se com o ncleo do computador (compos-
to por UCP e memria principal) atravs de dispositivos de entrada e sada
(dispositivos de E/S ou I/O devices).

Nessa aula, analisamos como funcionam os dispositivos de entrada e sada e


como feita a comunicao entre eles e o ncleo do computador.

Finalizamos tambm o estudo dos princpios da Tecnologia da Informtica.


Vimos que os dispositivos de entrada e sada tm como funes bsicas a
comunicao do usurio com o computador, a comunicao do computador
com o meio e o armazenamento de dados. Portanto, aps termos estudado
hardware e software, vimos quais as variveis envolvidas, quando intera-
gimos com o computador, ou seja, de que maneira os nossos comandos
entram no computador, e como podemos ter acesso aos resultados do pro-
cessamento das informaes pelo computador.

e-Tec Brasil 70 Tecnologia da Informtica


Atividades de aprendizagem
1. Quais as vantagens e desvantagens das transmisses paralela e serial? Na
sua opinio, a transmisso sncrona mais confivel que a assncrona?
Justifique.

2. Diferencie entre si as transmisses simplex, half-duplex e full-duplex.

3. Baseado nos conhecimentos adquiridos e em pesquisas realizadas na in-


ternet, explique por que a interface serial ATA (SATA) pode ser mais rpi-
da que a interface paralela IDE.

Aula 4 - Entradas e sadas 71 e-Tec Brasil


Referncias
DAVID A.; HENNESSY, J. L. Computer Organization & Design: The hardware/software
Interface. New York: Morgan Kaufmann Publishers, Inc, 1998.

ERCEGOVAC, M.; LANG, T.; MORENO, J. Introduo aos Sistemas Digitais. Porto
Alegre: Bookman, 2000.

MANO, Rui. Curso de Tecnlogos em Processamento de Dados. Disponvel em:


<http://wwwusers.rdc.pucrio.br/rmano/rmano.html>. Acesso em: Jul.2010.

STALLINGS, W. Arquitetura e Organizao de Computadores. 5. ed. So Paulo:


Makron Books, 2002.

TANENBAUM, A. S. Organizao Estruturada de Computadores. Rio de Janeiro: LTC,


2001.

TOCCI, R. J. Sistemas Digitais: princpios e aplicaes. 10. ed. So Paulo: Pearson, 2007.

WAKERLY, J. F. Digital Design: principles and practices. 3rd Edition. New York: Prentice
Hall, 2000.

e-Tec Brasil 72
Currculo do professor-autor

Saul Azzolin Bonaldo professor do Colgio Tcnico Industrial (CTISM) da


Universidade Federal de Santa Maria (UFSM). graduado em Engenharia El-
trica e mestre em Engenharia Eltrica pela UFSM. Trabalhou por vrios anos na
iniciativa privada, especialmente no projeto e execuo de instalaes eltricas
em baixa tenso, redes lgicas e sistemas de segurana eletrnica, adquirindo
boa experincia em gesto empresarial e no acompanhamento e execuo de
obras. Foi Inspetor do CREA-RS. No CTISM ministra as disciplinas de Eletrnica,
Circuitos Digitais, Mquinas Eltricas e Projetos Eltricos. Atua tambm como
Coordenador do Curso Tcnico em Automao Industrial. Membro do IEEE
(The Institute of Electrical and Electronics Enginners) e filiado ao IAS (Industry
Application Society), ao PELS (Power Electronics Society) e ao IES (Industrial
Electronics Society). revisor da revista Potentials, publicada pelo IEEE, e da
Industrial Electronic Magazine, publicada pelo IES-IEEE.

73 e-Tec Brasil
e-Tec Brasil 74 Tecnologia da Informtica