Você está na página 1de 74

Tecnologia da Informtica

Saul Azzolin Bonaldo


2011
Santa Maria - RS
RIO GRANDE
DO SUL
INSTITUTO
FEDERAL
Presidncia da Repblica Federativa do Brasil
Ministrio da Educao
Secretaria de Educao a Distncia
Comisso de Acompanhamento e Validao
Universidade Federal de Santa Catarina/UFSC
Coordenao Institucional
Araci Hack Catapan/UFSC
Coordenao do Projeto
Silvia Modesto Nassar/UFSC
Cordenao de Design Instrucional
Beatriz Helena Dal Molin/UNIOESTE
Designers Intrucionais
Helena Maria Maullmann/UFSC
Jorge Luiz Silva Hermenegildo/CEFET-SC
WEB Designers
Beatriz Helena Dal Molin/UNIOESTE
Mrcia Freire Rocha Cordeiro Machado/ETUFPR
Superviso de Projeto Grco
Ana Carine Garca Montero/UFSC
Diagramao
Joo Ricardo Zattar/UFSC
Lus Henrique Lindler/UFSC
Reviso
Lcia Locatelli Flres/UFSC
Comisso de Acompanhamento e Validao
Colgio Tcnico Industrial de Santa Maria/CTISM
Coordenador Institucional
Paulo Roberto Colusso/CTISM
Professor-autor
Saul Azzolin Bonaldo/CTISM
Coordenao Tcnica
Iza Neuza Teixeira Bohrer/CTISM
Coordenao de Design
Erika Goellner/CTISM
Reviso Pedaggica
Andressa Rosemrie de Menezes Costa/CTISM
Francine Netto Martins Tadielo/CTISM
Marcia Migliore Freo/CTISM
Reviso Textual
Lourdes Maria Grotto de Moura/CTISM
Vera da Silva Oliveira/CTISM
Reviso Tcnica
Eduardo Lehnhart Vargas/CTISM
Ilustrao e Diagramao
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 catalogrca elaborada por Maristela Eckhardt CRB 10/737
Biblioteca Central UFSM
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.
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, 2009.
73 p. : il. ; 21 cm.
1. Informtica 2. Tecnologia 3. Arquitetura de computadores
4. Software 5. Programa Escola Aberta do Brasil I. Universidade
Federal de Santa Maria. Curso Tcnico em Automao Industrial
CDU 004
e-Tec Brasil 33
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 Prossional 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
geogracamente 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 prossional
qualicada 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 prossional!
Ministrio da Educao
Janeiro de 2010
Nosso contato
etecbrasil@mec.gov.br
e-Tec Brasil 5
Indicao de cones
Os cones so elementos grcos 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 denio de um termo, palavra ou expresso
utilizada no texto.
Mdias integradas: sempre que se desejar que os estudantes
desenvolvam atividades empregando diferentes mdias: vdeos,
lmes, 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.
Tecnologia da Informtica e-Tec Brasil 6
e-Tec Brasil 7
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
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 9
Palavra do professor-autor
Em meu princpio est meu m.
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 m 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 m 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 prossional e trabalhamos
para que esta disciplina desempenhe um importante papel nesse sentido.
Parabns pela escolha do curso e mos obra!
Saul Azzolin Bonaldo
e-Tec Brasil 11
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 identicar suas diversas
aplicaes em automao industrial.
Cada aula de estudo apresenta uma introduo, objetivos e um roteiro de
estudo, composto por textos, guras, exemplos, equaes, links, mdias inte-
gradas, questionamentos, reexes, lembretes, atividades de aprendizagem
e sntese. As atividades de aprendizagem, dispostas quase ao nal 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
especcos no AVEA.
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 do professor-autor
e-Tec Brasil 13
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.

AULA
OBJETIVOS DE
APRENDIZAGEM
MATERIAIS
CARGA
HORRIA
(horas)
1. Sistemas,
cdigos numricos
e aritmtica binria
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.
Ambiente virtual: plataforma
moodle.
Apostila didtica.
Recursos de apoio: links de
leitura complementar indicados
na apostila.
06
2. A arquitetura de
um computador
Compreender o funcionamento bsico
da arquitetura de Von Neumann.
Relacionar as diferentes partes
constitutivas de um computador que
obedece ao modelo de Von Neumann.
Ambiente virtual: plataforma
moodle.
Apostila didtica.
Recursos de apoio: links de
leitura complementar indicados
na apostila.
06
3. Traduo de
programas
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 programas.
Conhecer emuladores e mquinas
virtuais e compreender sua importncia.
Ambiente virtual: plataforma
moodle.
Apostila didtica.
Recursos de apoio: links de
leitura complementar indicados
na apostila.
06
4. Entradas e
sadas
Entender de que forma nossos comandos
ingressam no computador.
Compreender como podemos ter acesso
aos resultados do processamento 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.
Ambiente virtual: plataforma
moodle.
Apostila didtica.
Recursos de apoio: links de
leitura complementar indicados
na apostila.
06
Projeto instrucional
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 fotograas e na memria
humana. Dessa forma, uma informao original pode ser transmitida muitas
vezes e pelos mais diversos meios.
O processamento da informao relaciona-se com o armazenamento, a
transmisso, a combinao e a comparao da informao.
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.
A evoluo do ser humano permitiu que, com o aumento do poder com-
putacional de seu crebro e demais rgos, fosse possvel criar e utilizar
O termo multimdia vem da
palavra inglesa multimedia
e representa os diversos meios
pelos quais as informaes so
transmitidas e compartilhadas
(multimeios).
Saiba mais em:
http://www.ted.com/index.
php/talks/jill_bolte_taylor_s_
powerful_stroke_of_insight.html
e-Tec Brasil 15 Aula 1 - Sistemas, cdigos numricos e aritmtica binria
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.
No estudo da Tecnologia da Informtica, de grande importncia o conhe-
cimento de alguns sistemas de numerao e cdigos numricos.
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
(operao binria).
Os sistemas de numerao so denidos 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:
O homem utilizou diversos
sistemas numricos antes de
adotar o sistema decimal.
Resqucios de bases numricas
ancestrais persistem at hoje,
como a base 60, utilizada
na contagem do tempo e na
trigonometria.
Veremos mais adiante os
porqus da escolha do sistema
binrio por parte dos projetistas
de computadores.
e-Tec Brasil Tecnologia da Informtica 16
Nesse exemplo, nota-se que o algarismo menos signicativo (5) multiplica a
unidade (1 ou 10
0
), o segundo algarismo (6) multiplica a dezena (10 ou 10
1
),
e o mais signicativo (7) multiplica a centena (100 ou 10
2
). A soma dos resul-
tados ir representar o nmero. Portanto, pode-se armar 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 dene 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
binrio reside no fato de que, possuindo apenas dois dgitos, esses so fa-
cilmente representados por uma chave aberta e uma chave fechada, ou um
rel ativado e um rel desativado, ou um transistor saturado e um transistor
cortado, o que torna simples a implementao de sistemas digitais mecni-
cos, eletromecnicos ou eletrnicos.
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:
Em sistemas eletrnicos, o dgito
binrio (0 ou 1) chamado de
BIT, enquanto que um conjunto
de 4 bits denominado NIBBLE.
O BYTE, termo bastante
utilizado principalmente na rea
de informtica, constitudo de
8 bits.
e-Tec Brasil Aula 1 - Sistemas, cdigos numricos e aritmtica binria 17
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 signica-
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 Tecnologia da Informtica 18
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 signicativo, conforme
ilustrado a seguir.
e-Tec Brasil Aula 1 - Sistemas, cdigos numricos e aritmtica binria 19
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.
1.1.3 Sistema hexadecimal
Os nmeros hexadecimais so amplamente utilizados para a representao
de nmeros e de dados binrios na operao com micro-processadores e
tambm no mapeamento de memrias em sistemas digitais. Trata-se de um
sistema numrico muito importante, aplicado em projetos de software e
hardware.
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.
hardware
a parte fsica do computador,
ou seja, o conjunto de
componentes eletrnicos,
circuitos integrados e placas,
que se comunicam atravs de
barramentos.
e-Tec Brasil Tecnologia da Informtica 20
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 signicativo. Veja o exemplo a seguir:
c) Converso hexadecimal decimal
A converso hexadecimal para decimal feita diretamente, aplicando a
denio 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.
e-Tec Brasil Aula 1 - Sistemas, cdigos numricos e aritmtica binria 21
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 signica dgitos decimais codicados 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
quatro bits no so utilizadas no cdigo BCD, conforme ilustrao a seguir.
Relgios binrios em cdigo
BCD, veja em:
http://www.glassgiant.com/
geek/binaryclock/binary_clock_
ash.swf
e-Tec Brasil Tecnologia da Informtica 22
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).
e-Tec Brasil Aula 1 - Sistemas, cdigos numricos e aritmtica binria 23
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
a) 010101
2
=
b) 1010101
2
=
c) 11011011
2
=
d) 000100010001
2
=
e) 10
8
=
f) 666
8
=
g) 1500
8
=
h) 2007
8
=
1. Converta para o sistema decimal os seguintes nmeros:
e-Tec Brasil Tecnologia da Informtica 24
i) EAD
16
=
j) FACA
16
=
2. Por que o nmero 2008 no pode ser octal? A quais das bases, dentre as
estudadas, ele poderia pertencer?
3. Quantos bits existem em 4 bytes?
4. Quantos bits so necessrios para representar o nmero EAD
16
?
Explore as funcionalidades
de sua calculadora cientca.
A maioria das calculadoras
cientcas realiza as operaes
estudadas nesta aula.
e-Tec Brasil 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. codicassem instrues que pudessem ser armazenadas na memria e
sugeriu que se usassem cadeias de uns e zeros (binrio) para codic-los;
2. armazenassem na memria as instrues e todas as informaes neces-
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 decodicao (ou interpretao) e exe-
cuo. A busca e a decodicao das instrues so realizadas pela Unidade de
Controle, enquanto que a execuo ca ao encargo da Unidade Operativa.
Saiba mais sobre Von
Neumann em:
http://pt.wikipedia.org/wiki/
John_von_neumann
e-Tec Brasil 27 Aula 2 - A arquitetura de um computador
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 m, 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 m 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,
do tipo eletromecnico, que permitem ao usurio entrar com os dados ou,
ainda, obter ou visualizar os resultados. Podemos citar alguns exemplos de
perifricos: teclado, vdeo, impressora, mouse, unidades de disco exvel e
memrias ash, unidades de disco rgido (winchester), modem, placa de
som, scanner, pen drives e cartes de memria. Alguns perifricos permitem
somente a entrada de dados (teclado), outros s permitem a sada (vdeo e
perifricos
So aparelhos ou placas que
enviam ou recebem informaes
do computador. Em informtica,
o termo perifrico aplica-se a
qualquer equipamento acessrio
que seja ligado CPU (unidade
central de processamento),
ou, um sentido mais amplo, o
computador.
e-Tec Brasil Tecnologia da Informtica 28
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
especco 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 denidas 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:
e-Tec Brasil Aula 2 - A arquitetura de um computador 29
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,
entre a CPU e a memria principal, entre algum perifrico e a CPU, ou entre
algum perifrico e a memria principal. As instrues de processamento
de dados transformam as informaes, utilizando para isso os recursos de
hardware disponveis na unidade operativa da CPU. Neste grupo, encon-
tram-se as instrues aritmticas, tais como adio, subtrao e multipli-
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.
2.3 Memrias
2.3.1 Tecnologias
As primeiras tecnologias utilizadas em memrias foram as memrias de
ncleos magnticos (ferrite). As memrias modernas so compostas por cir-
ferrite
um material ferromagntico,
composto de ferro, boro, brio,
estrncio ou molibdnio. O
Ferrite tem alta permeabilidade
magntica, porm no retm
magnetismo.
As instrues lgicas,
ou portas lgicas, so operaes
matemticas baseadas na
lgebra de Booble. Portas
lgicas assunto para a prxima
etapa do curso de Automao
Industrial. Para familiarizar-se
ao assunto, acesse o link:
http://www.users.rdc.puc-rio.br/
rmano/ptlog.html
e-Tec Brasil Tecnologia da Informtica 30
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
principal
Mbytes mdia mdio placa voltil
memria
auxiliar
Gbytes baixa baixo externa no voltil
A UCP v nessa ordem e acessa primeiro a memria que est mais prxima.
Vericamos 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
e-Tec Brasil Aula 2 - A arquitetura de um computador 31
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.
O conceito de registrador surgiu da necessidade de a UCP armazenar tem-
porariamente dados intermedirios durante um processamento. Isso ocorre,
por exemplo, quando um dado resultado de operao precisa ser armazena-
do at que o resultado de uma busca da memria esteja disponvel para com
ele realizar uma nova operao.
Registradores so VOLTEIS, isto , dependem de estar energizados para
manter armazenado seu contedo.
b) Memria cache
Com o desenvolvimento da tecnologia de construo da UCP, as velocidades
foram cando 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 cando insatisfatrios e a UCP, ao buscar um
dado na memria, precisa car esperando muitos ciclos de mquina at que
a memria retorne o dado buscado (wait states), congurando 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
vezes, mais rpido. No entanto, o custo de fabricao da memria cache
muito maior que o da memria principal. Dessa forma, no economica-
mente vivel construir um computador somente com tecnologia de memria
cache. Criou-se, ento, um artifcio, incorporando-se ao computador uma
pequena poro de memria cache, localizada entre a UCP e a MP (memria
principal), que funciona como um espelho de parte da MP.
Desenvolveram-se, ainda, algoritmos que fazem com que, a cada momento,
a memria cache armazene a poro de cdigo ou dados (por exemplo,
uma sub-rotina) que esto sendo usados pela UCP. Essa transferncia (MP
<--> Cache) feita pelo hardware: ela independe do software, que ignora
se existe ou no memria cache, portanto ignora essa transferncia; nem
chip
um dispositivo
microeletrnico que consiste
de muitos transistores e outros
componentes interligados,
capazes de desempenhar muitas
funes. Suas dimenses so
extremamente reduzidas; os
componentes so formados
em pastilhas de material
semicondutor de silcio. A
importncia da integrao
est no baixo custo, no alto
desempenho e no tamanho
reduzido dos circuitos aliado
alta conabilidade e estabilidade
de funcionamento.
cache
um termo do ingls que deriva
do francs cacher (esconder,
em portugus). Na prtica,
para os demais componentes
do sistema, tudo se passa
como se no houvesse cache,
j que nenhum deles, exceto
o subsistema que controla
o acesso memria, toma
conhecimento de sua existncia.
Os dados nele armazenados so
fornecidos como se proviessem
diretamente do local de
armazenamento original, apenas
mais rapidamente. essa a
razo do nome, j que as coisas
se passam como se os dados
estivessem escondidos na
cache.
e-Tec Brasil Tecnologia da Informtica 32
A memria cache opera
em funo de um princpio
estatstico comprovado: em
geral, os programas tendem
a referenciar vrias vezes
pequenos trechos de programas,
como loops, sub-rotinas,
funes e s tem sentido
porque programas executados
linearmente so raros. Desta
forma, algoritmos (chamados
algoritmos de cache) podem
controlar qual parte do cdigo
car copiada na cache a cada
momento.
o programador nem o sistema operacional tem controle sobre essa movi-
mentao.
Memrias cache tambm so VOLTEIS, isto , dependem de estar energi-
zadas para manter gravado seu contedo.
c) Memrias auxiliares
Memrias auxiliares resolvem problemas de armazenamento de grandes
quantidades de informaes. A capacidade da MP limitada pelo seu custo
relativamente alto, enquanto que as memrias auxiliares tm maior capa-
cidade e menor custo. Dessa forma, o custo por bit armazenado muito
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),
drives de disquete, unidades de ta, CD-ROM, DVD, unidades tico-magn-
ticas, pendrives e cartes de memria.
d) Memria principal
Conforme denimos anteriormente, a memria principal a parte do
computador em que programas e dados so armazenados para processa-
mento. A informao permanece na memria principal apenas enquanto
necessrio para seu emprego pela UCP e, aps isso, a rea de MP ocupa-
da pela informao liberada para ser, posteriormente, sobregravada por
outra informao. Quem controla a utilizao da memria principal o
sistema operacional.
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 xo (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-
Cache de disco no a mesma
tecnologia da memria cache.
Trata-se do emprego do mesmo
conceito da memria cache,
para acelerar a transferncia
de dados entre disco, MP e
UCP, usando um programa (um
software, por ex.: SmartDrive)
para manter um espelho do
contedo de parte do disco (a
mais provvel de ser requisitada
a seguir pela UCP) gravado em
uma parte da Memria Principal.
Recentemente, as unidades de
disco passaram a incorporar em
sua interface chips de memria
para acelerar a transferncia de
dados, utilizando um algoritmo
de cache.
e-Tec Brasil Aula 2 - A arquitetura de um computador 33
las de um dado computador tm o mesmo tamanho, isto , todas as clulas
daquele computador tero o mesmo nmero de bits.
Cada clula identicada por um endereo nico, pelo qual referenciada
pelo sistema e pelos programas. As clulas so numeradas sequencialmente,
uma a uma, de 0 a (N-1); esse nmero chamado de endereo da clula.
Endereo o localizador da clula, que permite identicar, sem sombra de
dvida, uma clula. Assim, cada clula pode ser identicada pelo seu endereo.
2.3.3 Classicao das memrias
Quanto leitura e escrita, as memrias podem ser classicadas como:
R/W Read and Write (memria de leitura e escrita), comumente (e impro-
priamente) chamada de RAM (Random Access Memory ou memria de
acesso aleatrio), embora no seja a nica RAM.
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 especcas de um determinado programa, geralmente
relativas ao hardware.
Uma clula no signica o
mesmo que uma palavra;
uma clula no contm
necessariamente uma palavra.
Palavra a unidade de
processamento da UCP. Uma
palavra deve representar
um dado ou uma instruo,
que poderia ser processada,
armazenada ou transferida
em uma nica operao.
No entanto, em geral no
assim que acontece e os
computadores comerciais no
seguem um padro nico para
a organizao da UCP e MP.
Computadores comerciais (tais
como, por exemplo, os baseados
nos processadores Intel 486)
podem ter o tamanho da palavra
denido como de 32 bits, porm
sua estrutura de memria tem
clulas de 16 bits.
e-Tec Brasil Tecnologia da Informtica 34
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).
e-Tec Brasil Aula 2 - A arquitetura de um computador 35
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)
armazenada a instruo a ser executada.
Na UAL, ACC (Acumulador, ACC Accumulator) so armazenados
os dados (de entrada e resultados) para as operaes na ULA; o acumula-
dor um dos principais elementos que denem o tamanho da palavra do
computador. O tamanho da palavra igual ao tamanho do acumulador.
Os dados so representados, no
barramento, na forma de sinais
de tenso, sendo que um sinal
de tenso de uns poucos volts
(high) representa o bit 1, e
um sinal prximo de zero volts
(low) representa o bit 0.
e-Tec Brasil Tecnologia da Informtica 36
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 que 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.
e-Tec Brasil Aula 2 - A arquitetura de um computador 37
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 dene 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 Tecnologia da Informtica 38
ao tamanho dos barramentos. Dessa forma, encontram-se especicaes 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 denir, 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 signica 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 identicada pelo endereo contido no REM
transferido para o RDM e ca disponvel para a UCP.
e-Tec Brasil Aula 2 - A arquitetura de um computador 39
Escrever na memria signica 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 signica 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) signicando 1, e uma tenso baixa
(low prxima de zero) signicando 0. Mas, os dados no computador
no cam 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 cam estticos apenas por um curto espao de tempo, ne-
cessrio e suciente para os circuitos poderem detectar os sinais presentes no
barramento, naquele instante e reagir de forma apropriada. Assim, periodi-
camente, uma nova congurao 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 congurao 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
assumem, limitados pelo sinal do clock, chamado ciclo de operao.
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 denidos 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
clock
a frequncia de trabalho do
processador, indica quantas
operaes por segundo sero
executadas pelo processador.
e-Tec Brasil Tecnologia da Informtica 40
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 10
6
Hz
P = 1/10.10
6
= 100 ns (100 nanosegundos)
f = 1 GHz = 1 x 10
9
Hz
P = 1/10
9
= 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
falar sobre a frequncia do clock, seria mais ilustrativo discutir outra grande-
za: o perodo, que pode ser denido como o tempo de durao de cada ciclo
ou simplesmente tempo de ciclo.
Quando se diz que um processador de 2 GHz, est se denindo a frequn-
cia de operao de seu processador (seu clock), signicando que o processa-
dor pode alternar seus estados internos 2 bilhes de vezes por segundo. Isto
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
Se tivermos dois processadores
operando em um mesmo clock,
poderemos ter desempenhos
completamente diferentes,
visto que o desempenho
do processador deve ser
analisado por um conjunto de
caractersticas da arquitetura,
do qual a frequncia do clock
apenas um deles e no o mais
importante.
e-Tec Brasil Aula 2 - A arquitetura de um computador 41
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 ca 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 (identicar 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 Tecnologia da Informtica 42
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 denido a seguir:
a) Cdigo de operao ou OPCODE o campo da instruo cujo valor
binrio identica a operao a ser realizada pelo processador. Cada ins-
truo dever ter um cdigo nico que a identique.
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
identica 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
representa mover o contedo do acumulador w para o endereo f, e
0x05 o operando que representa o endereo de memria f. Dessa
forma, ao nal da execuo dessa linha do programa, o dado que est no
acumulador w ser transferido para o endereo 0x05 na memria.
Os mnemnicos possibilitam
escrever cdigo de um modo
muito mais intuitivo, e sem perda
de preciso. Mnemnica, de
acordo com o Dicionrio Aulete
Digital, uma tcnica para
facilitar a memorizao atravs
de exerccios como, por exemplo,
a combinao de elementos
associveis.
e-Tec Brasil Aula 2 - A arquitetura de um computador 43
2.5.2 Conjunto de instrues
Quando se projeta um hardware, dene-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.
O ciclo de instruo indica a sequncia de execuo, isto , ele controla o u-
xo de execuo das instrues. A seguir, ilustrado o ciclo de processamento
de uma instruo (uxograma).
Em alguns computadores
(usando uma abordagem que
visa reduo de custos), os
dados podem ser transportados
usando mais de um ciclo de
barramento.
e-Tec Brasil Tecnologia da Informtica 44
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.
e-Tec Brasil Aula 2 - A arquitetura de um computador 45
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) Denir o conjunto de instrues (todas as instrues possveis que o pro-
cessador poder executar), ou seja:
Denir o formato e o tamanho das instrues;
Denir as operaes elementares.
b) Projetar os componentes do processador (UAL, UC, registradores, barra-
mentos). Duas estratgias so possveis na construo do decodicador
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 Tecnologia da Informtica 46
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.
e-Tec Brasil Aula 2 - A arquitetura de um computador 47
e-Tec Brasil
Aula 3 Traduo de programas
A msica no est no piano.
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
Alan Curtis Kay
e-Tec Brasil 49 Aula 3 - Traduo de programas
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 nalmente
imagine que voc teria que escrever uma a uma as instrues e os dados
adequadamente codicados e ordenados, perfurar todo o programa em
cartes e submeter toda a massa de cartes ao computador, para nal-
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 Tecnologia da Informtica 50
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 denidas 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
denir 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-
e-Tec Brasil Aula 3 - Traduo de programas 51
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 ecientes; levaram a programas
mais enxutos, com menos instrues, menos dependentes do computador
alvo, mas que processassem com boa ecincia, 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 reetir 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 prossionais; 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 Tecnologia da Informtica 52
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 denitiva. 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 uxo que representa o processo de
montagem.
e-Tec Brasil Aula 3 - Traduo de programas 53
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) Vericar a correo do cdigo de instruo (se o mnemnico corresponde
a uma instruo vlida para o computador, se os campos denidios 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 Tecnologia da Informtica 54
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 (vericao/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 , nalmente, 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 nalmente 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 denidos
apenas em tempo de execuo).
e-Tec Brasil Aula 3 - Traduo de programas 55
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 classicao 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 ecin-
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 nal, pronto, para ser executado pelo com-
putador, chamado mdulo de carga ou cdigo executvel (Figura 3.3).
e-Tec Brasil Tecnologia da Informtica 56
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
massa para ser executado quando necessrio.
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, vericado,
Para saber o signicado
de BUG, e qual a sua origem,
consulte o link:
http://pt.wikipedia.org/wiki/Bug
e-Tec Brasil Aula 3 - Traduo de programas 57
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 ca na memria
apenas durante o tempo de compilao, depois descarregado; o ligador
carregado e ca 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 ca 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 Tecnologia da Informtica 58
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 identicao de erros durante a fase de execuo
ca 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
prossional, 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 m 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 especco. 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.
e-Tec Brasil Aula 3 - Traduo de programas 59
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 armao, imagine ento uma
pgina na internet, com textos, imagens e programas que podem ser visuali-
zados e processados por quase todos os computadores. Como isso pode ser
feito? Como computadores de marcas e modelos diferentes estaro lendo,
interpretando e executando corretamente comandos que podem ter sido
desenvolvidos usando outro computador?
O segredo a utilizao de linguagens padronizadas, tais como: HTML, para
a escrita das pginas; CGI, Java, Java Script, etc., para programas, que so
suportadas por diversas plataformas. Assim, cada uma das plataformas (atra-
vs dos programas visualizadores de pginas da internet, conhecidos como
browsers ou mesmo atravs de seus respectivos sistemas operacionais) pode
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-
Linux
um sistema operacional -
programa responsvel pelo
funcionamento do computador -
que faz a comunicao entre
hardware (impressora, monitor,
mouse, teclado) e software
(aplicativos em geral). A
diferena mais marcante entre
Linux e Windows o fato de
o Linux ser um sistema de
cdigo aberto, desenvolvido
por programadores voluntrios
espalhados por toda internet e
distribudo sob licena pblica.
J o Windows software
proprietrio, no possui cdigo-
fonte disponvel e voc ainda
precisa comprar uma licena
para ter o direito de us-lo.
e-Tec Brasil Tecnologia da Informtica 60
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 denida, incluindo seu prprio conjunto de
instrues. Os programadores Java escrevem o cdigo usando o conjunto de
instrues denido 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 signica
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 ecincia, porm sempre mais lentamente
que na mquina Java ideal.
Figura 3.5: Processo cdigo Java
Fonte: CTISM
e-Tec Brasil Aula 3 - Traduo de programas 61
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 Tecnologia da Informtica 62
e-Tec Brasil
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.
e-Tec Brasil 63 Aula 4 - Entradas e sadas
Os primeiros computadores, especialmente os de pequeno porte, eram mui-
to lentos, e os problemas de diferena de velocidade eram resolvidos sem
diculdade 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
UCP interroga o dispositivo, enviando o endereo deste e um sinal que indica
se quer mandar ou receber dados atravs da interface. O perifrico, reconhe-
cendo seu endereo, responde quando est pronto para receber (ou enviar)
os dados. A UCP, ento, transfere (ou recebe) os dados atravs da interface,
e o dispositivo responde, conrmando o recebimento (ou a transferncia)
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
medida que este as pode receber.
protocolo
Um conjunto de informaes
ou dados devem ser preparados
de maneira a obedecerem a
determinadas regras-padro que
os computadores entendem para
poderem ser transmitidos entre
um computador e outro. Estas
regras-padro so chamadas de
protocolo.
As interfaces de entrada e
sada so conhecidas por
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 Tecnologia da Informtica 64
4.3 Formas de comunicao
De uma forma geral, a comunicao entre o ncleo do computador e os
dispositivos de E/S poderia ser classicada 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
sosticado 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 os.
Dependendo do comprimento do cabo, pode acontecer que um determina-
do o 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 catastrcas: os bits n
chegariam fora de ordem (os bytes chegariam embaralhados) e a informa-
o caria irrecupervel. Em decorrncia desse problema, h limites para o
e-Tec Brasil Aula 4 - Entradas e sadas 65
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 os), 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 Tecnologia da Informtica 66
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
os, cabo coaxial ou de bra 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
distncia curta sem limite
throughput alto baixo
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 xo. 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).
Saiba mais sobre interfaces
modernas, como a interface
Serial ATA:
http://www.infowester.com/
serialata.php
e-Tec Brasil Aula 4 - Entradas e sadas 67
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
xo. Podemos exemplicar com um digitador operando um terminal, no
qual podemos vericar que no h um uxo homogneo de caracteres a se-
rem transmitidos. Como esse uxo no homogneo, no h como distin-
guir a ausncia de bits sendo transmitidos de um eventual uxo de bits zero;
assim o receptor nunca saberia quando viria o prximo caractere, portanto,
no teria como identicar 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 nal 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 exemplica essa transmisso.
e-Tec Brasil Tecnologia da Informtica 68
Figura 4.4: Transmisso assncrona
Fonte: CTISM
A taxa de ecincia de uma transmisso de dados medida como a relao
de nmero de bits teis dividido pelo total de bits transmitidos. No mtodo
assncrono, a ecincia 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.
e-Tec Brasil Aula 4 - Entradas e sadas 69
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 Tecnologia da Informtica 70
Atividades de aprendizagem
1. Quais as vantagens e desvantagens das transmisses paralela e serial? Na
sua opinio, a transmisso sncrona mais convel que a assncrona?
Justique.
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.
e-Tec Brasil Aula 4 - Entradas e sadas 71
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
e-Tec Brasil 73
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 liado 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.
e-Tec Brasil Tecnologia da Informtica 74

Você também pode gostar