Академический Документы
Профессиональный Документы
Культура Документы
Introduo Computao
Introduo a Computao
Computao
Qumica
Cincias
Biologicas
Artes
Plsticas
Computao
Fsica
Matemtica
Pedagogia
Computao
Introduo Computao
Marcial Porto Fernandez
Mariela Ins Corts
3 edio
Fortaleza - Cear
2015
Qumica
Cincias
Biologia
Biolgicas
Artes
Artes
Plsticas
Computao
Informtica
Fsica
Matemtica
Pedagogia
Copyright 2015. Todos os direitos reservados desta edio UAB/UECE. Nenhuma parte deste
material poder ser reproduzida, transmitida e gravada, por qualquer meio eletrnico, por fotocpia
e outros, sem a prvia autorizao, por escrito, dos autores.
Editora Filiada
Presidenta da Repblica
Dilma Vana Rousseff
Ministro da Educao
Renato Janine Ribeiro
Presidente da CAPES
Carlos Afonso Nobre
Diretor de Educao a Distncia da CAPES
Jean Marc Georges Mutzig
Governador do Estado do Cear
Camilo Sobreira de Santana
Reitor da Universidade Estadual do Cear
Jos Jackson Coelho Sampaio
Vice-Reitor
Hidelbrando dos Santos Soares
Pr-Reitora de Graduao
Marclia Chagas Barreto
Coordenador da SATE e UAB/UECE
Francisco Fbio Castelo Branco
Coordenadora Adjunta UAB/UECE
Elosa Maia Vidal
Diretor do CCT/UECE
Luciano Moura Cavalcante
Coordenador da Licenciatura em Informtica
Francisco Assis Amaral Bastos
Coordenadora de Tutoria e Docncia em Informtica
Maria Wilda Fernandes
Editor da EdUECE
Erasmo Miessa Ruiz
Coordenadora Editorial
Rocylnia Isidio de Oliveira
Projeto Grfico e Capa
Roberto Santos
Diagramador
Francisco Jos da Silva Saraiva
Conselho Editorial
Antnio Luciano Pontes
Eduardo Diatahy Bezerra de Menezes
Emanuel ngelo da Rocha Fragoso
Francisco Horcio da Silva Frota
Francisco Josnio Camelo Parente
Gisafran Nazareno Mota Juc
Jos Ferreira Nunes
Liduina Farias Almeida da Costa
Lucili Grangeiro Cortez
Luiz Cruz Lima
Manfredo Ramos
Marcelo Gurgel Carlos da Silva
Marcony Silva Cunha
Maria do Socorro Ferreira Osterne
Maria Salete Bessa Jorge
Silvia Maria Nbrega-Therrien
Conselho Consultivo
Antnio Torres Montenegro (UFPE)
Eliane P. Zamith Brito (FGV)
Homero Santiago (USP)
Ieda Maria Alves (USP)
Manuel Domingos Neto (UFF)
Maria do Socorro Silva Arago (UFC)
Maria Lrida Callou de Arajo e Mendona (UNIFOR)
Pierre Salama (Universidade de Paris VIII)
Romeu Gomes (FIOCRUZ)
Tlio Batista Franco (UFF)
Sumrio
Parte 1 - Histrico, aplicaes e conceitos da Tecnologia
da Informao.............................................................................................................5
Captulo 1 - Histrio e evoluo dos computadores...............................7
Introduo...............................................................................................................7
1. Precursores do computador..............................................................................8
2. As mquinas de primeira gerao (1930-1958) ............................................15
3. Computadores de segunda gerao (1955-1965) .......................................17
4. Computadores de terceira gerao (1965-1980) .........................................18
5. Computadores de quarta gerao (1980 - ...)................................................19
Captulo 13 - Instrues.....................................................................................101
Captulo 14 - Instruction Set Architecture - ISA.....................................105
1. Numero de operandos e localizao ...........................................................106
Sobre os autores...................................................................................................121
Parte
Histrico,
aplicaes e conceitos da
Tecnologia da Informao
Introduo Computao
Mais precisamente,
um algoritmo determina
um conjunto ordenado e
no-ambiguo de passos
que definem uma atividade
finita.
1.
FERNANDEZ, M. P; CORTS, M. I.
1. Precursores do computador
A histria da tecnologia se desenvolveu paralelamente e quase to antiga
quanto a histria da evoluo humana. Um marco considerado fundamental
neste contexto o inicio das atividades agrcolas, a partir do desenvolvimento de melhores tcnicas de domnio do homem sobre a natureza,em relao
aos seus antecessores. Este marco estabelece uma mudana radical nos
hbitos at ento nmades do homem pr-historico, para se tornar sedentrio e garantir seu territrio para a agricultura e a criao de animais. Surgem
assim aldeias e povoados e inicia-se uma era de grandes descobertas.
Com o desenvolvimento da lavoura tornou-se necessrio um mtodo
para a contagem do tempo, delimitando as pocas de plantio e colheita. O primeiro passo do homem rumo cincia e tecnologia a concepo da idia
de nmero. Inicialmente era utilizado um mecanismo de comparao entre
conjuntos de elementos, passando a comparar por agrupamentos, na medida
que os conjuntos cresciam em tamanho. No entanto, esta abordagem ainda
no era muito prtica, pois a contagem era feita utilizando-se os dedos das
prprias mos, mas foi importante por dar origem ao sistema de numerao
de base decimal.
A compreenso do conceito de nmero como uma idia abstrata, e no
somente como uma qualidade de um determinado objeto, no foi um processo imediato. Conforme Bertrand Russell, foram necessrios muitos anos para
se descobrir que um par de faises e um par de dias eram ambos instncias
do nmero dois. Esta dissociao representa o primeiro passo em direo a
um sistema de notao, e da para a aritmtica. Para auxlio deste mtodo,
eram usados gravetos, contas ou marcas na parede.
Introduo Computao 9
Com a evoluo da humanidade se fizeram necessrias novas invenes na tentativa de criar dispositivos mecnicos para auxiliar a fazer clculos.
Apesar dos computadores eletrnicos terem efetivamente aparecido somente
na dcada de 40, os fundamentos em que se baseiam remontam a centenas
ou at mesmo milhares de anos.
10
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao
11
12
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 13
Saiba Mais
Teares de Jacquard (1801)
O francs Joseph-Marie Jacquard (1752-1834) introduziu a primeira mquina para
substituir o trabalho humano. Era uma mquina que automatizava os processos mecnicos de fabricao de tecido. Para executar um determinado tranado, a fiandeira
deveria ter um plano ou programa que lhe dissesse quais fios deveria passar por cima
ou por baixo, em que momento repetir o desenho, etc. A evoluo chave propiciada
pela mquina de Jacquard era o uso de uma srie de cartes cujas perfuraes estavam configuradas para descrever o modelo a ser produzido.
A abordagem utilizada por Jacquard implementa o conceito de armazenamento
de informaes em placas perfuradas com o objetivo de controlar uma mquina de
tecelagem. Este conceito ser posteriormente estendido para sua aplicao no processamento de dados.
O sucesso foi total e em 1812 havia na Frana 11.000 teares de Jacquard, e despertou na sociedade daquela poca, temor pelo desemprego, provocando uma grande
reao popular contra essa espcie de pr-automao.
14
FERNANDEZ, M. P; CORTS, M. I.
A maquina era constituda de unidade de controle de memria aritmtica e de entrada e sada, e sua operao era governada por um conjunto de
cartes perfurados, de modo que, de acordo com os resultados dos clculos
intermedirios, a mquina poderia saltar os cartes, modificando dessa forma
o curso dos clculos.
Babbage investiu toda sua fortuna pessoal e de seu filho, que com ele
trabalhou durante anos, na construo de sua mquina Analtica, vindo a falecer em 1871, sem findar a construo.
Introduo Computao 15
Para refletir:
Quando chegou o primeiro computador no Brasil? Quais eram suas caractersticas?
Rel: eletrom cuja
funo abrir ou fechar
contatos eltricos com o
intuito de interromper ou
estabelecer circuitos.
2.
3.
16
FERNANDEZ, M. P; CORTS, M. I.
Este novo marco na evoluo dos computadores determina o surgimento dos computadores chamados de Primeira Gerao.
A principal vantagem das mquinas a rel sobre as mquinas mecnicas era, sem dvida, a maior velocidade de processamento (milissegundos).
Ainda, um outro aspecto positivo era a possibilidade de funcionamento contnuo, apresentando uma menor taxa de erros de clculo.
Os computadores da primeira gerao contavam com dispositivos de
entrada/sada primitivos. A grande utilidade dessas mquinas era no processamento de dados, os quais eram ingressados e armazenados com base na
utilizao de cartes perfurados.
Por outro lado existia uma srie de desvantagens como: custo elevado,
relativa lentido, pouca confiabilidade, grande quantidade de energia consumida e necessitavam de grandes instalaes de ar condicionado para dissipar o
calor gerado por um grande nmero de vlvulas (cerca de 20 mil). Os computadores mais representativos desta gerao foram: o MARK I, ABC (Atanasoff
Berry Computer), ENIAC (Electronic Numeric Integrator and Calculator).
Juntamente com o ENIAC, ocorreu tambm o desenvolvimento na
rea de perifricos de computador com o aparecimento de equipamentos tais
como as unidades de fita magntica, impressoras, etc.
Introduo Computao 17
O novo conceito de programao introduzido por Von Neuman deu origem a muitos outros projetos nos quais ele prprio esteve envolvido, como
por exemplo, o EDVAC (Electronic Discrete Variable Automatic Computer), o
IBM 650 (o primeiro computador da IBM), e o UNIVAC (Universal Automatic
Computer), que foi o primeiro computador a ser fabricado em linha.
18
FERNANDEZ, M. P; CORTS, M. I.
Para refletir
Pesquise sobre os computadores que foram os principais representantes desta gerao e descreva suas caractersticas.
Introduo Computao 19
20
FERNANDEZ, M. P; CORTS, M. I.
No incio dessa gerao nasceu a empresa americana Intel, que comeou a desenvolver o primeiro microprocessador, o Intel 4004 que manipulava
palavras binrias de 4 bits, um circuito integrado com 2250 transistores, equivalente ao ENIAC.
O 4004 foi seguido pelo Intel 8008 de 8 bits e, mais tarde, pelo Intel
8080. O primeiro microcomputador da histria foi o Altair 8800, que usava o
chip Intel 8088, tornou-se padro mundial da poca para os microcomputadores de uso pessoal, abrindo uma nova era na histria da informtica.
Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena empresa, a Apple, onde construram, segundo conta a lenda, numa garagem de
fundo de quintal, o Apple I. Um ano depois, com um novo e melhor projeto,
surge o Apple II, primeiro microcomputador com grande sucesso comercial
seguido, mais tarde, pelo Apple III.
A IBM decidiu entrar no mercado de computadores pessoais, introduzindo o PC (IBM Personal Computer), um microcomputador com tecnologia
de 16 bits, estabelecendo o Intel 8088 como sua CPU. Lanado em 1981, o
PC se tornou campeo de vendas da historia dos computadores. Um PC tem
a seguinte configurao tpica 256 a 640 K de memria RAM na placa principal, duas unidades de disco flexvel de 360 K, controlador de vdeo grfico,
monitor monocromtico e interface serial ou paralela para a impressora. Seu
clock era de 4,77 MHz.
Com o sucesso impulsionado pela IBM PC, a Intel continuou fazendo
verses cada vez mais poderosas. Os principais modelos de PC so: PC-XT,
PC-XT 286, PC-AT386, PC 486.
O IBM PC vinha equipada com o sistema operacional MS-DOS, fornecido pela novata Microsoft Corporation.
Em 1993 chegou ao mercado o Pentium, cuja verso Pentium III possui
cerca de nove milhes de transistores. O Pentium trouxe um novo flego s chamadas estaes de trabalho. Uma caracterstica comum s mquinas das geraes at ento, a existncia de uma nica CPU para executar o processamento.
Uma das novidades que o Pentium trouxe que possibilita a simulao
de dois processadores, ou seja, um princpio de paralelizao antes possvel
apenas em supercomputadores e que agora est ao alcance dos usurios
de microcomputadores. Mais recentemente, j existem computadores funcionando com mais de uma CPU.
Os atuais avanos em pesquisa e o projeto de novas tecnologias para os
computadores esto possibilitando o surgimento da quinta gerao. Dois avanos que configuram um divisor de guas so o processamento paralelo, que
quebrou o paradigma de von Neumann, e a tecnologia dos supercondutores.
Introduo Computao 21
Atividades de avaliao
1. Pesquise sobre os computadores que foram os principais representantes
desta gerao e descreva suas caractersticas.
Captulo
Tecnologias de
computadores e suas
aplicaes
Na tecnologia atual, podemos classificar os computadores de acordo com
a suas capacidades e finalidades de uso para o qual foram desenvolvidos.
Possivelmente os computadores pessoais sejam os mais amplamente utilizados e conhecidos, no entanto existem outras variantes que sero analisadas
nesta seo.
A quarta gerao de computadores cujo domnio se estende at nossos
dias, impulsionada principalmente pela capacidade dos engenheiros e fabricantes de chips em empacotar cada vez mais transistores por pastilha, a cada
ano. A cada incremento, so gerados computadores com memrias maiores e
processadores mais poderosos.
A evoluo tecnologica observada nas ltimas dcadas comprova que
o nmero de transistores dobra a cada 18 meses, e a previso indica que
essa taxa ser mantida no futuro. Esta constatao conhecida como Lei de
Moore, que d fundamento ao chamado crculo virtuoso onde:
24
FERNANDEZ, M. P; CORTS, M. I.
1. Computador descartvel
Quem no recebeu alguma vez um carto de congratulaes musical? Ou
deu de presente para a me? Pois , esta tal vez seja a aplicao mais simples de computador descartvel. Trata-se de um nico chip sonoro descartvel, porem com capacidade computacional maior do que o maior computador
do mundo de 1955.
No entanto, utilidades mais interessantes sugiram a partir do desenvolvimento do chip RFID (Radio Frequency IDentification ou identificao por
radiofrequencia). Estes chips de baixssimo custo (centavos), no possuem
bateria e a sua espessura de menos de 0,5 mm., possuem um minsculo
radiotransponder e um nico numero de 128 bits embutido.
Esta tecnologia utilizada para a identificao automtica atravs de
sinais de rdio, recuperando e armazenando dados remotamente atravs de
dispositivos chamados de tags RFID: quando pulsados por uma antena transmissora externa, so alimentados pelo sinal de radio de entrada por tempo
suficiente para transmitir seu numero de volta antena.
Uma tag pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Alm das tags passivas, que respondem
ao sinal enviado pela base transmissora, existem ainda as tags ativas, dotadas de bateria, que lhes permite enviar o prprio sinal. So bem mais caras
que as tags passivas.
A principal funcionalidade dos tags RFID a identificao de todo tipo
de objeto, inclusive seres vivos. No caso de objetos, estes tags viriam substituir os populares cdigos de barras.
Implantes em animais. Este tipo de sistema usado na identificao dos
animais ajuda no gerenciamento dos mesmos entre as companhias, no
controle de epidemias e garantia de qualidade e procedncia. A identificao animal por sistemas de RFID pode ser feita de quatro maneiras
diferentes: colares, brincos, injetveis ou ingerveis (bolus).
Introduo Computao 25
Para refletir
Descreva outras aplicaes possveis para dispositivos RFID.
2. Microcontrolador
A grande maioria de aparelhos utilizados diariamente, inclusive para uso domestico, possuem computadores embutidos ou microcontroladores. Estes
dispositivos so utilizados para gerenciar as funcionalidades do aparelho e
manipular a sua interface com o usurio. Podemos encontrar microcontroladores em uma grande variedade de aparelhos, por exemplo:
26
FERNANDEZ, M. P; CORTS, M. I.
Eletrodomsticos
Aparelhos de comunicao
Perifricos de computadores
Equipamento de entretenimento
Aparelhos de reproduo de imagens
Equipamentos mdicos
Armamentos militares
Dispositivos de vendas
Brinquedos
Um carro moderno, por exemplo, pode conter at 50 microcomputadores, que executam diferentes atividades tais como injeo, radio, GPS, etc. A
previso que dentro de poucos anos, quase tudo o que depende de energia
eltrica ou baterias para funcionar, possua um microcontrolador.
Um microcontrolador (tambm denominado MCU ou C) um pequeno computador-num-chip, mas completos. Cada microprocessador contem
um processador, memria e funes de entrada/sada. Dentre as funes
de entrada/sada temos: controle de botes do aparelho, controle de luzes
e sons, etc. Os microcontroladores podem ser de propsito geral ou de propsito especifico.
A tecnologia de microcontroladores regida principalmente pela varivel de custo, de forma a tornar vivel economicamente o controle eletrnico
de muitos processos. Microcontroladores geralmente so encomendados por
milhes de unidades. Neste caso, um centavo a mais ou a menos pode determinar a escolha por um determinado fornecedor.
Desta forma, a escolha por uma arquitetura decidida com base principalmente no custo de fabricao. Outros fatores que influenciam o custo dos
microcontroladores a quantidade de bits, quantidade de memria e tipo. Por
outro lado, o aumento na capacidade de processamento sempre necessrio para conseguir atender s necessidades dos produtos de tecnologia mais
avanada.
Outra caracterstica dos microcontradores o funcionamento em tempo real, ou seja, que devem ser capazes de detectar um evento e dar uma
resposta imediata.
Finalmente, uma caracterstica inerente de sistemas embutidos (como
o caso de microncontroladores) a restrio fsica em termos de tamanho,
peso, consumo, etc. Estas restries podem ser contornadas colocando os
Introduo Computao 27
dispositivos para hibernar enquanto nenhum evento interessante for percebido pelos perifricos, reduzindo o consumo de energia diminui. As duas ultimas
caractersticas fazem com que a arquitetura destes dispositivos precise ser
projetada cuidadosamente.
Microcontroladores so usados com freqncia em produtos e dispositivos de controle automtico, tais como sistemas de controle em motores de
automveis, controles remotos, mquinas de escritrio, ferramentas e brinquedos. Ao reduzir o tamanho, custo e consumo de energia em comparao
com um projeto que usa microprocessador, memria e dispositivos de E/S
separados, microcontroladores tornam vivel economicamente o controle eletrnico de muitos processos.
Cerca de 50% dos microcontroladores vendidos so controladores
simples, outros 20% so processadores de sinais digitais (DSPs) mais especializados. Os microcontroladores podem ser encontrados em praticamente
todos os dispositivos eletrnicos digitais que nos cercam: Teclado do computador, dentro do monitor, Harddisk, relgio de pulso, rdio relgio, mquinas de
lavar, forno de microondas, telefones, etc. Voc est certamente cercado de
dezenas deles agora.
Certamente eles foram to ou mais importantes para a revoluo dos
produtos eletrnicos que os computadores. Eles permitiram a evoluo de
equipamentos que a anos no evoluiam, como os motores a combusto,
que agora com o novo controle eletrnico podem funcionar com sistema bicombustivel e poluindo menos e as mquinas fotogrficas, que migraram de
processos quimico/mecanico a circuitos com microcontroladores+Sensores
Digitais+Memria.
3. Computador de jogos
Os computadores de jogos so computadores normais, com recursos grficos especiais e capacidade de som, mas software limitado e pouca capacidade de extenso. Inicialmente projetados para jogos simples, eram utilizados
CPU de baixo valor. Com o passar dos anos evoluram se tornando poderosos
e capazes de competir em desempenho com computadores pessoais.
Os produtos de tecnologia vieram se tornar populares conhecidos genericamente como videogame. O primeiro foi lanado em 3 de dezembro de
1994 no Japo e quase um ano depois nos Estados Unidos, pela Sony. O
PlayStation foi um sucesso de vendas, chegando a 100 milhes de unidades
at 2006 quando sua produo foi encerrada. Posteriormente a tecnologia
evoluiu para o PlayStation 2 e 3. O PlayStation consistia em um console independente de jogos composta de uma unidade leitora de CD-ROM e ranhuras
28
FERNANDEZ, M. P; CORTS, M. I.
5. Servidor
Cliente-servidor um
modelo computacional
que separa clientes
e servidores, sendo
interligados entre si
geralmente utilizandose uma rede de
computadores. Cada
instncia de um cliente
pode enviar requisies
de dado para algum dos
servidores conectados
e esperar pela resposta.
Por sua vez, algum dos
servidores disponveis
pode aceitar tais
requisies, process-las e
retornar o resultado para o
cliente. Apesar do conceito
ser aplicado em diversos
usos e aplicaes, a
arquitetura praticamente
a mesma.
4.
Introduo Computao 29
30
FERNANDEZ, M. P; CORTS, M. I.
7. Mainframe - Supercomputadores
Os mainframes so computadores de grande porte fsico, desde que ocupam
uma sala inteira, da mesma forma que os seus antecessores dos anos 60. A
sua principal caracterstica a sua capacidade de E/S, equipadas com colees de discos para armazenamento de dados.
Esta classe de computadores geralmente hospeda software legado h
algumas dcadas, desenvolvidos especialmente para esses sistemas. por
conta do grande risco em reprogramar e migrar essas aplicaes para mquinas menores, que faz com que muitas organizaes continuem a manter por
milhes de dlares esses sistemas, em lugar de comprar um novo.
A histria dos supercomputadores comea, de fato, no final de 1975
com o Cray-1. As aplicaes para esses computadores so muito especiais e
incluem laboratrios e centros de pesquisa aeroespaciais, empresas de altssima tecnologia, previso do tempo e a produo de efeitos e imagens computadorizadas de alta qualidade. Os supercomputadores so os mais poderosos, mais rpidos e de maior custo. Utilizam o conceito de processamento
paralelo e so mquinas vetoriais, isto , podem executar a mesma operao
em diversas variveis simultaneamente.
Atividades de avaliao
1. Pesquise quais as caractersticas e responsabilidades do Servidor de banco de dados e Servidor FTP.
2. Pesquise mais algum outro tipo de servidor que no tinha sido mencionado.
Captulo
Introduo cincia da
computao
Cincia da Computao o estudo dos algoritmos e suas aplicaes, bem como
das estruturas matemticas indispensveis formulao precisa dos conceitos
fundamentais da teoria da computabilidade e da computao aplicada.
Os estudos oriundos da Cincia da Computao podem ser aplicados
em qualquer rea do conhecimento humano em que seja possvel definir
mtodos de resoluo de problemas baseados em repeties previamente
observadas. Desempenha por isso um papel importante na rea de cincia
da computao a formalizao matemtica de algoritmos, como forma de representar problemas decidveis, i.e., os que so susceptveis de reduo a
operaes elementares bsicas, capazes de serem reproduzidas atravs de
um dispositivo mecnico/eletrnico capaz de armazenar e manipular dados.
Um destes dispositivos o computador digital, de uso generalizado, nos
dias de hoje, pelo custo reduzido dos componentes eletrnicos que formam o
seu hardware.
A Cincia da Computao constitui uma base cientifica para diversos
tpicos voltados programao de computadores, processamento da informao e estudo de solues algortmicas propriamente dito.
Um dos conceitos fundamentais da Cincia da Computao o algoritmo. Como citado nas primeiras sees desta unidade, um algoritmo determina um conjunto ordenado e no-ambiguo de passos que definem uma atividade finita. De forma geral, esta atividade finita visa a resoluo de um problema.
Os algoritmos, na forma de programas, so executados em computadores. Para que um algoritmo seja executado no computador precisa ser representado de forma apropriada para que possa ser interpretado por uma mquina
ou por um ser humano de forma correta e sem ambiguidades.
Estudos baseados em lingstica e gramtica se preocupam pela traduo do algoritmo conceitual em um conjunto de comandos com uma sintaxe
32
FERNANDEZ, M. P; CORTS, M. I.
Pseudocdigos: Sistema
notacional nos quais idias
podem ser informalmente
expressas durante o
desenvolvimento de um
algoritmo.
5.
As linguagens de programao possibilitam escrever algoritmos num formato de fcil traduo para a linguagem da mquina, mas mantendo a familiaridade com a linguagem de pseudocdigo5 utilizada na descrio do algoritmo.
O desenvolvimento histrico das linguagens de programao modernas
visa, a cada nova gerao, elevar o nvel de abstrao de forma a propiciar
cada vez mais independncia da mquina. Nos primeiros dispositivos computacionais, os programas eram codificados no hardware, no interior da unidade
de controle. Esta abordagem torna estes dispositivos muito inflexveis, dada a
dificuldade de alterar os programas.
Neste contexto surge o conceito de programa armazenado na memria
principal, da mesma forma que os dados. Para isso, os programadores comearam a utilizar linguagem de mquina na escrita dos seus algoritmos. Este
mtodo era muito laborioso e complexo, uma vez que os cdigos de operao
e operandos eram representados atravs de dgitos numricos, o que tornava
a programao muito propensa a erros. O primeiro passo para melhorar a
situao foi a utilizao de nomes descritivos para as posies de memria e
mnemnicos (em lugar de cdigos hexadecimais), para expressar os cdigos
de operao.
A partir da utilizao desta tcnica, surgiu a necessidade de traduo dos programas escritos nesta notao para a linguagem de mquina.
Surgiram assim as linguagens de montagem. Fica assim como responsabilidade do sistema operacional, a utilizao da linguagem de montagem para
traduzir o programa e, posteriormente, armazenando a verso traduzida para
um uso posterior.
No entanto, o problema da dependncia com a mquina continuava
existindo, agora em relao linguagem de montagem. Alem disso, existia a
dificuldade de programar em um nvel muito baixo de abstrao (ou seja muito
detalhado), o que prejudicava o desenvolvimento do projeto da soluo.
A necessidade de primitivas de alto nvel propiciou o surgimento das
linguagens de terceira gerao, para o desenvolvimento de software, as quais
por sua vez, foram projetadas com base nas primitivas de baixo nvel j conhecidas. Por exemplo:
assign Total the value Valor + Imposto
Introduo Computao 33
O desenvolvimento das linguagens de terceira gerao conseguiu atender o objetivo de independncia de plataforma de uma forma muito mais prxima ao raciocnio utilizado na anlise e resoluo de problemas.
Na medida em que um maior nvel de abstrao se torna uma necessidade surgem os chamados ambientes de programao, os quais possibilitam
a utilizao de conceitos mais abstratos na programao dos algoritmos.
A perspectiva nestes ambientes que a mquina se adapta ao raciocnio humano, em contrapartida das linguagens de geraes anteriores, onde o
ser humano precisava se adaptar mquina. Uma propriedade inerente destes ambientes a facilidade de utilizao e a possibilidade de customizao,
sem auxilio de especialistas.
De forma geral, a programao nestes ambientes facilitada pela utilizao de menus e seleo de cones na tela os quais representam atalhos de alto
nvel para a execuo de instrues de nvel mais baixo. Estes pacotes ou ambientes de programao so denominados de linguagens de quarta gerao.
Finalmente, as linguagens classificadas como de quinta gerao, tem
como base principal a programao declarativa, e geralmente possuem um
enfoque mais especializado (programao lgica).
Saiba Mais
Um Sistema de Informao (SI), coleta, processa, armazena, analisa e dissemina informaes com o propsito especifico. Como qualquer outro sistema, um sistema de informao abrange entradas (dados) sadas (relatrios, clculos), processa essas entradas
e sadas e gera sadas que so enviadas para o usurio ou outros sistemas. possvel
incluir um mecanismo de resposta feedback que controle a operao. E como qualquer
outro sistema, um sistema de informao opera dentro de um ambiente.
Atividades de avaliao
1. O que significa dizer que uma linguagem de programao independente
de mquina?
2. O que significa que uma linguagem possui um nvel mais alto que as geraes anteriores?
3. Escreva um algoritmo em pseudocdigo para realizar alguma atividade
domstica.
Captulo
41
Tecnologia da Informao
Antes mesmo da popularizao dos computadores, existia uma noo da importncia do cuidado e tratamento da informao como uma forma de preservar o histrico, para que, eventualmente, possa ser utilizado na analise de
fatores do passado para o entendimento do presente e, principalmente, na
tomada de deciso de aes futuras. Deste este ponto de vista, a informao
pode ser interpretada como um elemento que pode adicionar certo grau de
competitividade s organizaes.
Antigamente, os sistemas de informao nas organizaes se baseavam basicamente em tcnicas de arquivamento e recuperao de informaes de grandes arquivos de forma manual, sob a responsabilidade de um
arquivador. O processo era relativamente simples, porem muito trabalhoso,
tornando difcil e propensa a erros a recuperao da informao e principalmente a atualizao dos dados.
Com o avano da tecnologia, no sculo XX a informao comeou
a fluir e se multiplicar a velocidade assustadora. Era o advento da Era da
Informao. Um marco desta nova fase a inveno do telgrafo eltrico em
1837, e a partir dali o desenvolvimento de meios de comunicao de massivos, e at mais recentemente, o surgimento da grande rede de comunicao de dados que a Internet. Esta globalizao propiciou um crescimento
exponencial do volume de dados disponveis, tornando um desafio a coleta,
organizao, catalogao e posterior recuperao de forma eficiente e segura
da informao.
No ambiente complexo e turbulento que nos encontramos essencial
para as organizaes o estmulo ao resgate do conhecimento organizacional
como auxlio no processo de deciso e na busca de vantagens competitivas.
Como conseqncia do processo de globalizao, o contexto mundial, em
permanente mudana, vive permanentemente submetido s implicaes decorrentes de grandes transformaes polticas, econmicas e tecnolgicas.
Neste cenrio, a informao passa a ser considerada um recurso essencial
nas tomadas de deciso. Para Beck (2007), atualmente, toda empresa est
envolta com amplos e diversos tipos de informao e, para competir neste
36
FERNANDEZ, M. P; CORTS, M. I.
Gesto de Conhecimento:
envolve as atividades
de coleta, seleo,
disponibilizao e,
disseminao de
informaes.
6.
O sub-sistema automatizado consiste em um conjunto de recursos tecnolgicos e computacionais para gerao e uso da informao de forma a
viabilizar a Gesto do Conhecimento6 para a tomada de deciso e a elaborao de estratgias a partir de novos bancos de dados originados dos bancos
de dados operacionais da empresa como, por exemplo, o data warehouse, o
data mining, entre outros.
Essas ferramentas, alm de dar subsdios para a tomada de deciso,
esto voltadas disseminao do conhecimento na organizao, seja atravs
de melhores prticas de trabalho, seja atravs do registro de discusses para a
disseminao de conhecimento, como por exemplo o Groupware e a Intranet.
Esse conjunto de recursos chamado de Tecnologia da Informao
(TI). As aplicaes de TI so diversas e esto ligadas s mais diversas reas,
de forma a automatizar os processos organizacionais. Atravs da TI, pequenas e grandes empresas podem alcanar maior produtividade e competitividade, alcanando o sucesso e alavancando maiores rendimentos.
A TI exerce um importante papel no mbito da gesto do conhecimento reduzindo distncias e propiciando a transferncia do conhecimento de forma on-line. No domnio da gesto do conhecimento, o beneficio
principal da utilizao de recursos computacionais a sua capacidade de
armazenamento e comunicao de computadores ligados em rede fazendo deles propiciadores e disseminadores de conhecimento (DAVENPORT
e PRUSAK, 1998).
Introduo Computao 37
A TI envolve a organizao de recursos computacionais tais como hardware, software e mecanismos de comunicao, em um sistema capaz de
executar um conjunto de tarefas. Alem dos recursos computacionais, tecnologias relativas ao planejamento e desenvolvimento de sistemas, suporte ao
software, e aos processos de produo e operao, tambm so considerados elementos de TI.
Por outro lado, tecnologias intelectuais tais como mtodos, teorias e
metodologias utilizadas para lidar com o ciclo da informao, tambm so
consideradas sustento da TI. Neste conjunto podem ser consideradas, por
exemplo, tcnicas de classificao, que no necessariamente requerem uso
de mquinas, mas apenas um esquema para serem aplicadas.
Tcnicas que se mostraram eficientes geralmente so automatizadas
pela elaborao de um algoritmo ou software, de forma a facilitar a sua aplicao sistemtica. Seguindo o exemplo das tecnologias de classificao e
organizao de informaes, a sua origem se remonta ao surgimento das primeiras bibliotecas. Hoje em dia praticamente toda biblioteca tem seu acervo
gerenciado atravs de um sistema computacional.
O sucesso e difuso dos sistemas de informao alcanados atravs
da rpida evoluo e surgimento de novas Tecnologias de Informao fazem
com que praticamente todas as atividades desenvolvidas na sociedade atual
sejam sustentadas eficientemente atravs dos recursos da informtica, e com
custos cada vez mais reduzidos.
O processamento de informao uma atividade central em diversas
reas, tais como economia, transportes, produo, imprensa, comunicao.
A necessidade pela difuso social da informao de domnio pblico ou privado em larga escala de transmisso possvel somente atravs de sistemas tecnolgicos inteligentes.
Uma conseqncia do desenvolvimento tecnolgico a intensificao
da comunicao pessoal e institucional, atravs de programas de processamento de texto, de formao de bancos de dados, de editorao eletrnica,
bem de tecnologias que permitem a transmisso de documentos, envio de
mensagens e arquivos, assim como consultas a computadores remotos (via
rede mundial de computadores, como a internet).
Em contrapartida aos enormes benefcios atingidos pela utilizao da TI
nos diversas atividades, alguns problemas podem ser apontados em relao
privacidade dos indivduos e ao seu direito informao, pois os cidados
geralmente no tem acesso a grande quantidade de informao sobre eles,
coletadas por instituies particulares ou pblicas.
38
FERNANDEZ, M. P; CORTS, M. I.
Embora a TI sustente os processos de Gesto do Conhecimento, a eficcia final destes processos depende da interpretao deste conhecimento
pelos homens, e sua transformao em aes. Sendo assim, a tecnologia da
informao, isoladamente, no pode ser a base da criao e gesto de conhecimento organizacional, mas o suporte dentro desse processo.
Sntese do captulo
Neste captulo foi apresentado o histrico da evoluo dos computadores, a
partir da descrio dos dispositivos mecnicos precursores dos computadores utilizados atualmente. Foi feita uma breve retrospectiva das geraes que
determinam os estgios da evoluo dos computadores at os dias de hoje.
Neste captulo tambm foram apresentados os principais conceitos que
definem a Cincia da Computao, apresentando brevemente as principais
disciplinas que a compes. Para concluir foi apresentada a importncia da
Tecnologia de informao (TI) no processo de construo e disseminao do
conhecimento nas organizaes, de forma a aumentar o alcance e a velocidade da transferncia do conhecimento.
http://www.cotianet.com.br/bit/hist/Default.htm
Charles Babbage Institute http://www.cbi.umn.edu/
http://www.daniel.prof.ufu.br/icc.html
Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5. Edio. So Paulo: Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5.
Edio. So Paulo: Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5. Edio. So Paulo: Editora Bookman. 2000.
Parte
Representao e
processamento da informao
Captulo
Representao e
processamento da
informao
Introduo
Neste captulo sero apresentadas as formas de representao das informaes nos computadores. Assim como o ser humano tem a fala e a escrita para
representar as informaes, o computador tem a sua prpria representao
para que possa trat-las e process-las. Iniciamos apresentando a unidade
bsica de representao de informao no computador, o bit, e mostramos
tambm a representao de bytes (bloco de bits), de letras e nmeros.
Em seguida apresentamos uma introduo ao sistema binrio e a forma
como os nmeros so representados e mostramos como realizamos as operaes matemticas em um computador. Finalmente apresentamos uma introduo lgica digital mostrando os tipos mais comuns de portas lgicas, que
estabelecem a forma de como um computador pode processar as informaes.
Para um computador qualquer informao deve ser codificada com
uma linguagem apropriada para seu mundo, que diferente do mundo dos
humanos. Para o mundo eletrnico o ideal que essa linguagem tenha dois
estados, ligado e desligado, ou simplesmente, 0 e 1. Por isso a base mais
importante para o computador a base 2, da o nome binrio.
Vamos comear com algumas definies sobre a representao de informaes em um computador.
bit: unidade bsica de representao digital.
byte: conjunto de 8 bits.
nybble: um bloco de 4 bits.
palavra ou word: conjunto de 32 bits
meia-palavra ou halfword: um bloco de 16 bits
palavra-dupla ou doubleword: conjunto de 64 bits
A definio de palavra no est claramente definida. Ela geralmente
se refere ao nmero de bits usados simultaneamente em um computador.
42
FERNANDEZ, M. P; CORTS, M. I.
Atualmente a maioria dos computadores usa uma palavra de 32 bits. No entanto, cada vez mais, arquiteturas de 64 bits esto sendo construdas o que
muda o tamanho da palavra. Entretanto, por ser o mais comum, ao longo
desse texto usaremos palavra com 32 bits.
1. Identificando os bits
conveniente identificarmos cada bit individualmente para que possamos
referenci-los pelo nome. Daremos um rtulo para cada bit, da direita para a
esquerda, sendo 0 (zero) o ndice mais direita do bloco.
Por exemplo, suponha que voc tenha um nmero com n-bits.
Poderamos identific-los como: bn-1, bn-2, ...., b1, b0.
Tambm comum definir mais dois termos para um bloco com n-bits:
bit menos significativo ou least significant bit: Bit b0. comum abreviar
como LSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte menos significativo).
bit mais significativo ou most significant bit: Bit bn-1. comum abreviar
como MSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte mais significativo).
Vale lembrar que o termo menos significativo no significa que ele seja
"menos importante". Na verdade essa denominao est relacionada com o
menor ndice de sua posio. Todos temos cincia que alterar esse bit (ou
seja, mud-lo de 0 para 1, ou 1 para 0) iria afetar o valor global assim como
qualquer outro bit. Da mesma forma, o bit "mais significativos" no significa
mais importante, mas apenas que seu ndice o maior do bloco.
2. Strings e vetores
7.
Introduo Computao 43
Ento, o nome de string de bits pode ser bom, porque pode ser usado para qualquer comprimento de uma string. So igualmente string de bits
os chamados vetores de bit. Neste caso, um vetor geralmente significa uma
"coordenada" com n argumentos. Por exemplo, quando voc trabalha com
grficos em 2 ou 3 dimenses, as coordenadas so escritas como (2,3) ou
(2,3,1), ento, 0010 poderia significar (0,0,1,0), ou seja, uma coordenada em
quatro dimenses.
Claro que, quando as pessoas falam de vetores eles geralmente no
pensam nisso como uma coordenada, mas sim em uma sequncia de valores
com posies numeradas. Em todo o caso, vamos cham-lo simplesmente
de strings.
3. Representao de dados
Imagine que voc est em um teclado, no entanto, um teclado horrvel. Esse
teclado tem apenas duas teclas para se usar: 'a' e 'b'. impossvel escrever
uma mensagem para algum usando apenas duas teclas, afinal, quantas palavras s usam as letras' a 'e' b '? No muitas.
No entanto, ainda possvel enviar mensagens. Como? Voc pode
codificar a mensagem utilizando um cdigo, por exemplo, o cdigo ASCII8.
O cdigo ASCII atribui um nmero a cada letra ou smbolo do teclado. Por
exemplo, 'A' codificado para o valor numrico 65 (na base 10) ou 0100 0001
(na base 2). Computadores codificam em binrio, o que significa, que todas as
letras podem ser codificados em 0's e 1's, mais simples para um computador
entender. Se considerarmos 'a' como 0 e 'b' como 1, ento voc pode codificar
a letra A como "abaa aaab" ou 0100 0001 em binrio.
ASCII: acrnimo de
American Standard
Code for Information
Interchange, padro de
representao binria de
letras e nmeros.
8.
44
FERNANDEZ, M. P; CORTS, M. I.
Atividades de avaliao
1. Pesquise outros tipos de representao de nmeros e caracteres.
Captulo
Sistemas de Numerao
Um sistema de numerao um conjunto de caracteres e regras matemticas usadas para representar um nmero.
Os sistemas numricos nasceram com o incio de nossa civilizao.
Alguns exemplos so o sistema numrico romano (numerais romanos), o sistema numrico chins, o sistema numrico grego, e o sistema numrico rabe. Nossos nmeros contemporneos so baseados nesse ltimo.
O sistema mais usado a base 10 ou o sistema decimal, que usa uma base
10 para operaes e conseqentemente muito simples se usar (que ns temos
usado desde o pr-escolar!). Os outros sistemas so o sistema hexadecimal e o
sistema binrio. Estes sistemas usam a base 16 e a base 2, respectivamente. Os
sistemas hexadecimais e binrios sero discutidos a seguir.
Por que ns usamos a base 10? Olhe suas prprias duas mos e conte
seus dedos! A palavra dgito se origina de digitus, palavra latina que significa
dedo. Ns todos aprendemos na escola que cada dgito em um nmero corresponde ao valor de seu lugar. Por exemplo, 245 seria (2 x 100) + (4 x 10) +
(5 x 1) = 245. Graficamente temos:
100
2
10
4
1
5
1. O sistema binrio
O sistema binrio9 tem uma base 2, significando que do valor de cada coluna
2 vezes o valor da coluna direita, comeando com o dgito mais a direito,
com o valor igual a 1. Usamos apenas os dgitos 0 e 1. Por exemplo, o nmero
111101101 representado graficamente temos:
9.
46
FERNANDEZ, M. P; CORTS, M. I.
256
1
128
1
64
1
32
1
16
0
8
1
4
1
2
0
1
1
Assim ns temos:
(1 x 256) + (1 x 128) + (1 x 64) + (1 x 32) + (0 x 16) + (1 x 8) + (1 x 4) + (0 x 2)
+ (1 x 1) = 4096 + 256 + 128 + 64 + 32 + 8 + 4 + 1 = 493
Assim, 111101101 no sistema binrio igual a 493 no sistema decimal.
O sistema binrio til nos computadores porque nos circuitos eletrnicos temos dois estados distintos, ligado ou desligado, representando 1 ou 0.
Outra vantagem do sistema binrio porque o transistor (que executa a funo de chave no circuito eletrnico) consome um mnimo de energia quando
ele funciona nos estados de corte e saturao, respectivamente 0 ou 1. Isso
permite circuitos mais densos e ocupando menos espaos, possibilitando dispositivos mais compactos, mais velozes e mais econmicos (usando menos
pilha, por exemplo).
256
0
128
0
64
1
32
1
16
0
8
0
4
1
2
1
1
0
Apresentamos o mtodo para converter nmeros de binrio ao decimal. Como podemos fazer o inverso? Vamos mostrar a converso do nmero 500 em binrio. Utilizando nosso diagrama de potencias de dois, devemos
escrever os valores nos lugares da esquerda para a direita at completar o
valor desejado.
Como 500 menor que 512 o primeiro dgito ser 0. Escrevemos ento,
0 sob o valor 512.
512
0
256
128
64
32
16
Introduo Computao 47
256 menor que 500, assim escrevemos um 1 sob 256 e subtramos 256 de
500. Agora vamos usar o resultado (244) na posio seguinte. Assim temos:
512
0
256
1
128
64
32
16
256
1
128
1
64
32
16
8
0
4
1
2
0
1
0
256
1
128
1
64
1
32
1
16
1
2. O sistema hexadecimal
O sistema hexadecimal10 tm uma base 16, significando que cada coluna
igual a 16 vezes a coluna a sua direita, comeando com o valor 1 na coluna
mais a direita. Com isso temos:
65536
0
4096
4
256
A
16
3
1
8
Sistema hexadecimal:
Sistema numrico com
base 16.
10.
48
FERNANDEZ, M. P; CORTS, M. I.
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
8
9
A
B
C
D
E
F
1000
1001
1010
1011
1100
1101
1110
1111
4096
256
16
0000
0100
1010
0011
0100
16
Multiplicamos agora cada dgito hexadecimal pelo nmero em seu cabealho (lembre-se que o A-F representa 10-15 respectivamente)
256 x 7 + 16 x 14 (E) + 1 x 15 (F)
Totalizando o resultado, temos:
1792 + 224 + 15 = 2031
Assim chegamos ao valor final: 7EF em hexadecimal igual a 2031
em decimal.
Converter do decimal para hexadecimal um pouquinho mais complicado. Para este exemplo usaremos 293. Inicialmente escrevemos a tabela com
os valores em decimal na ordem da direita para a esquerda. Cada dgito a esquerda deve ter o valor de 16 vezes maior que o da direita, comeando com 1.
4096
0
256
16
Introduo Computao 49
Colocamos um 0 sob o valor 4096 da tabela que maior do que o nmero a ser convertido, 2031. Dividimos o nmero a ser convertido por 256,
que o valor mais elevado da tabela e menor do que o nmero a ser convertido. Neste caso, 293 divididos por 256 igual a 1, com um resto 37. Em seguida,
escrevemos o resultado (1) e usamos o resto (37) para o clculo seguinte.
4096
0
256
1
16
Dividir agora o resto do ltimo clculo (37) pelo valor seguinte (16). 37
por 16 igual a 2 com um resto 5. Escrevemos o resultado (2) sob 16 e dividimos o resto (5) pelo valor seguinte (1)
4096
0
256
1
16
2
5 divididos por 1 igual a 5 sem resto, assim colocamos o valor (5) sob
1 e est concludo. Assim:
4096
0
256
1
16
2
1
5
Atividades de avaliao
1. Converta o nmero 10110011 binrio em hexadecimal e decimal.
2. Converta o nmero 863 decimal em binrio e hexadecimal.
3. Converta o nmero 37D2 hexadecimal em binrio e decimal.
Captulo
71
Aritmtica binria
As operaes aritmticas11 so possveis em nmeros binrios assim como
nos nmeros decimais. De fato os procedimentos so completamente similares em ambos os sistemas, assim como em qualquer base de numerao. A
multiplicao e a diviso no so realmente difceis, mas como a no familiaridade com os nmeros binrios causa bastante dificuldade para os humanos.
Entretanto, como iremos mostrar, para os computadores extremamente fcil.
Observar que ao adicionar dois 1 produz um resultado com dois dgitos, significa que ns temos um vai um para a posio seguinte, da mesma
forma como fazemos na adio decimal. Vejam o exemplo abaixo de uma
soma binria e a mesma soma em decimal.
1 1
3
+ 1 0 1 + 5
-------- ---1000
8
Aritmtica binria:
operaes com dois
ou mais nmeros na
representao binria sem
necessidade de converso
para outra base
11.
52
FERNANDEZ, M. P; CORTS, M. I.
11111
00010011
19
+ 00111110 + 62
- ----------
- ------- 01010001 81
1.2. Subtrao
A subtrao semelhante adio, sendo que agora, se no houver quantidade para subtrair fazemos um emprstimo da ordem acima.
-1
1
0
1
5
1 1
- 3
------- ------ 0 1 0
2
Introduo Computao 53
1.3. Multiplicao
A multiplicao consiste em uma srie de somas. Operamos da mesma forma
que uma multiplicao na base 10.
101
5
x10 x 2
- -----
- ------
000 10
101
-----
1010
23
3
----69
54
FERNANDEZ, M. P; CORTS, M. I.
1.4. Diviso
A diviso consiste em uma srie de subtraes binrias, semelhante a uma
diviso na base 10.
1 1 0 6
1 0 2
-----------
---1 1 0
3
- 1 0 (10)
-------010
- 1 0 (01)
-------0 0 0 (11)
Introduo Computao 55
roda vai de 0 a 9, a roda a sua esquerda diminui uma posio. Quando todas
as rodas so 0, ns interpretamos o valor como o inteiro 0 (zero).
Vamos supor agora que ns temos um circuito de adio que possa
armazenar nmeros inteiros com 4 dgitos (imagine um odmetro com 4 dgitos). Vamos realizar a soma (-2) + 5 = 3. Vamos considerar que a sequncia
0000 seja igual a 0. Nesse circuito vamos representar o valor (-2) com a seqncia 9998, isto , diminumos 2 unidades de 0000, e o valor (5) com 0005,
para ento, realizamos a soma tradicional. Primeiramente adicionamos 8 e 5
que d 3 e vai 1. Em seguida, adiciona 9 e 1, dando 0 e vai 1. Para os demais,
o valor ser 0 com vai 1, assim que o resultado final ser 0003 positivo. Este
resultado correto, tanto pelo valor como pelo sinal.
importante observar que na representao de complemento de 10
com uma quantidade limitada de dgitos, no podemos usar toda a faixa de valores. Nesse exemplo, os valores 0001 a 4999 representam nmeros inteiros
positivos, enquanto os valores 5000 a 9999 representam nmeros negativos,
respectivamente de -4999 a -1. Outro problema o estouro do registro, se
somarmos 1 ao nmero 4999 no teremos 5000, mas -4999. Um circuito extra
pode detectar essa ocorrncia e corrigir o valor.
Vamos terminar esta seo dando um mtodo simples para computar o valor absoluto de um inteiro nessa representao. Basta tomar cada
dgito individual, substitu-lo por 9 menos o seu valor original, e ento no
final, adiciona 1 ao nmero obtido. Assim por exemplo, o nmero 9998
transforma-se em 0001 que somando 1 fica 0002 negativo, que a resposta correta.
Complemento de
dois: Tcnica para
possibilitar a soma e
subtrao de nmeros
positivos e negativos na
representao binria
12.
56
FERNANDEZ, M. P; CORTS, M. I.
S
0
Mantissa
8 9
31
Introduo Computao 57
Sinal
Expoente
Mantissa
Implcito
Total (bits)
Simples
Dupla
1
1
8
11
23
52
1
1
32
64
Atividades de avaliao
1. Converta os nmeros decimais 19 e 32 em binrios, calcule a soma deles
em binrio e converta novamente para decimal para conferir o resultado.
2. Converta os nmeros decimais 14 e -8 em binrios complemento de dois,
calcule a soma deles em binrio e converta novamente para decimal para
conferir o resultado. (dica: use um nmero de 5 bits).
Captulo
8
Portas lgicas
1. Portas bsicas13
Portas bsicas so portas fundamentais que podem formar outras portas com
funes especiais. As portas bsicas so: E, OU e NO.
Portas bsicas:
dispositivo que implementa
funes lgicas bsicas
para todas as funes
lgicas.
13.
60
FERNANDEZ, M. P; CORTS, M. I.
A tabela de verdade para uma porta E com duas entradas mostrada abaixo:
x
0
0
1
1
y
0
1
0
1
z
0
0
0
1
A tabela de verdade para uma porta OU com duas entradas olha como esta:
x
0
0
1
1
y
0
1
0
1
z
0
1
1
1
Introduo Computao 61
y
1
0
2. Portas compostas14
s vezes, prtico combinar funes das portas bsicas em portas mais
complexas a fim reduzir o espao em diagramas de circuito. Nesta seo, ns
mostraremos algumas portas compostas junto com suas tabelas de verdade.
Portas Compostas:
estrutura de lgica
complexa implementado
atravs da associao de
vrias portas bsicas.
14.
y
0
1
0
1
z
1
1
1
0
62
FERNANDEZ, M. P; CORTS, M. I.
y
0
1
0
1
z
1
0
0
0
Introduo Computao 63
A tabela de verdade para uma porta OU-EXCLUSIVO com duas entradas mostrada abaixo:
x
0
0
1
1
y
0
1
0
1
z
0
1
1
0
Meio-somador: Circuito
que realiza a soma de um
bit utilizando portas lgicas
bsicas.
15.
y
0
1
0
1
z
0
1
1
0
c
0
0
0
1
64
FERNANDEZ, M. P; CORTS, M. I.
Somador completo:
Circuito somador
que realiza a soma
considerando vai-um. O
somador completo pode
ser cascateado para
formar um somador de
nmero contendo vrios
bits.
16.
Somador Completo16
Apesar do meio somador informar o bit de vai um, ele no considera o vai um
do bit anterior, assim ele s pode ser usado para somar o bit menos significativo.
Para realizar uma soma completa precisamos utilizar o circuito somador completo que tanto informa o vai-um para o prximo bit, como considera
o vai-um do bit anterior da soma. O diagrama do somador completo mostrado abaixo:
Introduo Computao 65
Sntese do captulo
Este captulo apresentou as formas de representao de informaes em um
computador. Foi mostrado a unidade bsica de informao, o bit, e as representaes de dados em byte, caracteres e nmeros. Foi apresentada uma
introduo ao sistema binrio e a representao de nmeros e operaes
matemticas. Finalmente mostramos uma introduo lgica digital e as principais portas lgicas existentes assim como a composio de portas mais
complexas.
Atividades de avaliao
1. Construa um somador de 4 bits utilizando blocos somadores-completos
mostrado na figura abaixo:
66
FERNANDEZ, M. P; CORTS, M. I.
Referncias
THOMAS FLOYD. Sistemas Digitais. 9 Ed. Editora: Bookman, 2007.
RONALD J. TOCCI, NEAL S. WIDMER, GREGORY L. MOSS. Sistemas
Digitais: Princpios e Aplicaes. 10 Ed. So Paulo: Editora Pearson Prentice-Hall, 2007.
ANDREW S. TANENBAUM. Organizao Estruturada de Computadores. 5 Ed. So Paulo: Editora Pearson Prentice-Hall, 2006.
JOHN L. HENNESSY, DAVID A. PATTERSON. Organizao e Projeto de
Computadores. 3 Ed. So Paulo: Editora Campus, 2005.
Parte
Arquitetura de computadores
Captulo
9
Arquitetura de
computadores
Introduo
Neste captulo ser apresentada a arquitetura de um computador genrico
com a funo de cada um dos seus componentes principais. Ser apresentada a relao entre hardware17 e software18 mostrando os fatores relevantes
que influenciam o desempenho.
Sero apresentados a estrutura da Unidade Central de Processamento
(CPU) com seus principais componentes, alm das caractersticas que determinam a sua capacidade de processamento.
Tambm sero mostrados as caractersticas dos diversos tipos de memria e a interao de cada uma com os demais componentes do computador. Finalmente, sero mostrados os diversos dispositivos de entrada e sada
existentes que permitem a utilizao dos computadores pelo ser humano de
forma confortvel e eficaz.
Os primeiros computadores do mundo eram as pessoas. Por isso, para
chamar os primeiros os computadores mecnicos ou eletrnicos foram dados
nomes das pessoas que executavam o trabalho de computar. O computador era uma profisso (exercida predominante por mulheres) cujo trabalho
era executar os clculos repetitivos exigidos para computar tabelas de navegao, cartas de mars e posies planetrias.
Imagine que voc tenha um trabalho de ficar hora aps hora, dia aps
dia, fazendo nada alm de computar multiplicaes. Com o tempo o cansao
iria conduzir negligncia e ao erro. Por isso, durante vrios sculos os inventores tm procurado por uma maneira que mecanize (isto , encontrar um
mecanismo que pudesse executar) esta tarefa.
A mquina que voc pensa ser um computador chamado mais precisamente computador eletrnico digital de uso geral. de uso geral porque
pode ser programado para executar uma grande variedade de aplicaes
(que fazem a diferente de um computador de propsito especfico, projetado
para executar somente uma funo).
Hardware: conjunto de
componentes fsicos de
um computador como
processador, memria,
disco, etc.
17.
Software: conjunto de
comandos lgicos que
fazem um computador
funcionar como programas,
sistema operacional, etc.
18.
70
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 71
CPU: acrnimo de
Central Processing Unit
ou Unidade Central de
Processamento. Unidade
responsvel por realizar
o processamento no
computador.
19.
Memria:
componente construdo
com material
semi-condutor ou
magntico responsvel
por armazenar,
temporariamente ou
permanentemente, os
dados em um computador.
20.
72
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 73
Atividades de avaliao
1. Observando a Figura 17 avalie os componentes de uma arquitetura de
computadores que podem limitar o desempenho. Proponha solues
para resolver esse gargalo.
2. Pesquise sobre a histria do computador e liste as invenes mais importantes.
3. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de processamento numrico (muitas operaes matemticas)?
4. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de armazenamento de dados (muitos dados guardados e consultados)?
Captulo
10
Unidade central de
processamento e
memria
1. Processador
O processador o componente do computador que faz o processamento
real dos dados. Um microprocessador uma unidade do processador central
(CPU) encapsulada dentro de um microchip. o crebro do computador,
mas devemos considerar ser um termo um pouco exagerado pois ele realmente apenas um circuito eletrnico constitudo por interruptores que executam instrues simples mas com muita rapidez.
O circuito integrado do microprocessador contm uma placa de silcio
que contm milhes de transistores e outros componentes fabricados no prprio silcio. Como os transistores no chip so muito minsculos, mesmo uma
pequena descarga de corrente, como a eletricidade esttica da mo do tcnico, pode destru-lo. Eis porque todos os circuitos integrados devem ser manipulados de forma que minimize a possibilidade de descarga esttica atravs
de acessrios apropriados (pulseira aterrada).
Por causa da grande quantidade de circuitos encapsulados em uma
rea to minscula, a energia necessria para seu funcionamento gera muito
calor e exige sistemas de resfriamento para evitar o superaquecimento do
chip. Na placa me de um computador o chip do processador central coberta por um grande dissipador de calor em metal com aletas para permitir que o
fluxo de ar dos ventiladores de refrigerao retirem o calor gerado pelo chip.
76
FERNANDEZ, M. P; CORTS, M. I.
o computador funciona; mas, o pulso de disparo no pode funcionar mais rapidamente do que a capacidade de velocidade dos chips. Com a melhoria da
tecnologia de construo dos chips, a velocidade em que eles podem funcionar
aumentou, aumentando a velocidade de processamento. Em razo disso, atualmente o processador central funciona mais rapidamente do que o barramento
da placa me, que geralmente usa uma frao da taxa do processador central.
Herts (Hz):
unidade de medida de
freqncia, significando
quantidade de ciclos por
segundo.
21.
M egah e r tz (MHz):
unidade de medida de
freqncia, significando
quantidade de milhes de
ciclos por segundo.
22.
G i g a h e r t z (GHz):
unidade de medida de
freqncia, significando
quantidade de bilhes de
ciclos por segundo.
23.
Introduo Computao 77
C I S C : processador
com conjunto de instruo
complexa.
24.
R I S C : processador
com conjunto de instruo
reduzida.
25.
78
FERNANDEZ, M. P; CORTS, M. I.
2. Barramento de dados
26.
O barramento de dados a estrada eltrica com vrias vias que ligam o processador central aos outros componentes da placa me, tal como memria
RAM, disco rgido e controladores de I/O. Esse barramento chamado Front
Side Bus (FSB)26. O tamanho da palavra do barramento de dados determina
quantos bits podem ser movidos simultaneamente ao longo dele, tipicamente
nos computadores modernos usa-se 32 bits ou 64 bits.
A velocidade de relgio dos outros componentes ligados ao barramento de dados na placa me mais lenta do que a velocidade de relgio do
processador central. Por isso comum na especificao de um computador
diferenciar a velocidade do processador, tipicamente na ordem de gigahertz, e
a velocidade do barramento, tipicamente centenas de megahertz.
3. Memria
A memria de um microcomputador o lugar onde os programas e os dados
so armazenados quando esto sendo usados. Existem vrios tipos de memrias em um microcomputador que sero comentadas a seguir:
Introduo Computao 79
plo, causado por um relmpago na rede eltrica) pode fazer com que o RAM
perca seus dados. Por esse motivo, a RAM chamada de voltil (ou aquilo
que se evapora facilmente) e por isso importante salvar frequentemente seu
trabalho em um armazenamento mais permanente, tal como um disco rgido.
O tipo especfico de RAM usado em um computador poderia ser DRAM
(RAM Dinmica), ou SDRAM (RAM Dinmica Sncrona) ou RDRAM (RAM
Dinmico Rambus), mas no se preocupe sobre os detalhes. Apenas tenha
cuidado para escolher o modelo apropriado para seu sistema quando voc
compra mais memria RAM.
O RAM instalado geralmente na
placa me em soquetes como DIMMs (Dual
Inline Memory Module), pequena placa de
circuito impresso com chips de memria
RAM (Figura 19). A arquitetura da placa
me limitar a quantidade de memria RAM
extra voc pode adicionar. O tamanho da
memria RAM medido em bytes, quiloFigura 19 - Mdulo DIMM de
bytes, megabytes, etc.
Memria RAM (Spansion)
80
FERNANDEZ, M. P; CORTS, M. I.
Captulo
11
Dispositivos de
armazenamento
Os dispositivos de armazenamento, tais como unidades de disco, armazenam
programas e arquivos de dados quando no esto sendo usados. Ao contrrio
das memrias RAM, os dados armazenados nestes dispositivos no desaparecem quando a energia desligada.
Os tipos principais de dispositivos de armazenamento so: discos magnticos, disco de estado-slido e disco tico.
1. Disco rgido
Um disco rgido um dispositivo mecnico constitudo por discos de metal e
revestidos com xido de metal que permite ser magnetizado. Uma cabea
pequena de leitura/gravao eletromagntica na extremidade de um brao
mvel magnetiza pontos minsculos no disco para armazenar dados. Todos
esse componente so lacrados em uma caixa hermeticamente fechada. A
distncia entre o disco e a cabea de leitura/gravao comparvel ao de um
gro de poeira, caso exista alguma sujeira na superfcie do disco poder danificar definitivamente a unidade de disco.
Os pontos magnticos magnetizados em
um sentido representam o valor binrio um e
os pontos magnetizados no sentido oposto representam um zero. A mesma cabea eletromagntica pode mais tarde detectar o sentido
do campo magntico dos pontos quando o disco passa debaixo da cabea, identificando se o
dado 0 ou 1 conforme o sentido de magnetizao. A Figura 20 mostra um disco rgido com Figura 20 - Disco Rgido IBM
seus principais componentes.
Os discos rgidos so avaliadas por sua capacidade de armazenamento,
tipicamente dezenas ou centenas de gigabyte. Outra mtrica de avaliao
quanto rapidamente os discos giram (em RPM, Rotaes por Minuto), que
82
FERNANDEZ, M. P; CORTS, M. I.
2. Disquete flexvel
Um disquete flexvel um disco plstico flexvel de mylar (tipo de plstico)
coberto com xido de metal que magnetizado atravs de uma cabea magntica, de forma semelhante ao disco rgido. As disquetes flexveis tem 3.5
de dimetro e dispe de uma capacidade de 1.44 MB para armazenamento.
O disquete dispe de um obturador que protege a superfcie de disco da sujeira e das impresses digitais, o obturador desliza expondo a mdia
magntica quando o disco introduzido na unidade de leitura de modo que as
cabeas de leitura/gravao possam alcanar o disco magnetizvel.
Uma trava plstica pode ser deslizado para desbloquear um furo no
canto do disquete para proteger o disco de escrita (assim dados no podem
ser acidentalmente apagados). O tempo de acesso muito mais lento do que
um disco rgido, e a vida til significativamente mais curta.
As unidades de disquete flexvel esto caindo em desuso. A maioria dos
computadores novos no dispe dessa interface. O motivo desse abandono a reduo de custo de outras mdias com maior capacidade, como CD
Regravvel, DVD Regravvel e Memria Flash (pen drive), com capacidades
de centenas de megabytes a vrios gigabytes.
Introduo Computao 83
4. CD-ROM
Um CD-ROM um dispositivo de memria tica com capacidade de at 700
MB. O tico significa que a luz usada para ler os dados do disco (no uma
mdia magntica). Os CD-ROM so muito baratos se produzidos em grandes
quantidades e a maioria de software so distribudos em CD-ROM.
Os dados so armazenados em um CD-ROM atravs de pequenos poos gravados na camada plstica interna que aluminizada e recoberta com
uma outra camada plstica transparente para proteo. Um raio laser projetado sobre o disco girando reflete uma sequncias dos poos e no-poos que
converte em dados zero e um.
O desempenho de CD-ROM so avaliadas pela velocidade, tal como
32x, que significa 32 vezes mais rpido do que a primeira gerao de CD-ROM.
84
FERNANDEZ, M. P; CORTS, M. I.
4.2. DVD
Os discos de DVD-ROM so mdias ticas similares aos CD-ROM, mas com
uma capacidade de armazenamento maior. Os DVD permitem gravao de
4.7 GB de dados em mdia de camada nica ou 8.54 GB em camada dupla.
Como um CD, os DVD tem igualmente tem variaes de gravao
como DVD-R para o gravvel e DVD-RW para o regravvel. As velocidades
de leitura de DVD so avaliadas nos termos de quantas vezes ele mais rpido que os drives originais de DVD, por exemplo, um disco 6x equivale a dizer
que ele 6 vezes mais rpido que os primeiros DVD.
Atividades de avaliao
1. Relacione os principais componentes de uma CPU e descreva a funo
de cada um.
2. Por que importante para um computador teu um relgio nico?
3. Diga a diferena entre memria RAM e memria ROM?
4. Qual a forma de codificao de dados que podemos usar em discos rgidos
e flexveis e unidade de CD ou DVD?
Captulo
12
Sistemas de entrada
e sada
Em computao, o sistema de entrada/sada, em ingls Input/Output, tambm
conhecido pela sigla I/O, referem a comunicao entre um sistema de processamento de dados (como um computador) e o mundo exterior, seja ele um ser
humano ou um outro sistema de processamento de dados. As entradas so
os sinais ou os dados recebidos pelo sistema, e as sadas so os sinais ou os
dados emitidos por ele.
Os dispositivos de I/O so usados por uma pessoa (ou por outro sistema) para comunicar-se com um computador. Por exemplo, teclados e mouses so dispositivos de entrada de um computador, enquanto o monitores e
impressoras so considerados dispositivos de sada de um computador. Os
dispositivos para comunicao entre computadores, tais como modem e placas de rede, so tipicamente para entrada e sada.
Em um computador a combinao do processador central e da memria central (isto , a memria que o processador pode ler e escrever a diretamente) considerada o crebro de um computador. Qualquer transferncia
de informao entre esse bloco e qualquer outra unidade considerada tambm I/O, como por exemplo, uma unidade de disco magntico ou tico.
Abaixo vamos discutir a variedade de dispositivos usados para a entrada e a sada do computador.
1. Dispositivos de Entrada
1.1. Teclado
O teclado de computador utilizado para incluir informaes de texto no computador, como se faz na datilografia. O teclado pode tambm ser usado para inserir
os comandos que controlam o computador para executar determinadas aes.
Os comandos so escolhidos tipicamente de um menu na tela usando um mouse, mas geralmente h alguns atalhos de teclado para esses comandos.
86
FERNANDEZ, M. P; CORTS, M. I.
2. Dispositivos Apontadores
As interfaces grficas (chamadas GUI) exigem algum tipo do dispositivo para
posicionar o cursor na tela. Os dispositivos apontadores tpicos so: mouse,
almofada de toque e trackball. Os dispositivos apontadores, tais como mouse,
se conectaram ao PC atravs de portas seriais (mais antigos), porta PS/2 ou
a porta USB (os mais novos).
2.1. Mouse
O dispositivo apontador mouse apoia-se em sua
superfcie de trabalho, como uma mesa, e movido com sua mo. Nos mouses mais velhos uma
esfera na parte inferior rola na superfcie enquanto
voc move o mouse, e os rolos internos detetam o
movimento da esfera e transmitem a informao ao
computador atravs do cabo. O nome mouse (rato Figura 22 - Mouse
em ingls) vem da semelhana do dispositivo em com fio (Clone)
forma de concha com um cabo. A Figura 22 mostra
um mouse tradicional.
O mouse tico (mais recente) no usa uma esfera de rolamento, mas
uma luz e um sensor tico para detetar por reflexo o movimento do mouse
seguindo a rugosidade da superfcie da mesa. Os mouses ticos evitam o problema de uma esfera suja no mouse, que faz com que os mouses antigos percam a preciso se a esfera e os rolos internos no so limpos frequentemente.
Um mouse pode ser sem fio, comunicando-se com o computador atravs das ondas de rdio (geralmente usando o protocolo Bluetooth), tornando
desnecessrio o cabo para ligar ao computador (no entanto, ele vai precisar
de baterias internas).
Introduo Computao 87
Um mouse inclui uma ou vrias teclas (as vezes uma roda) para permitir
que os usurios interajam com a interface grfica. O mouse tradicional de PC
tem duas teclas para acionar comandos, e a roda serve para deslizar a imagem na tela do computador.
2.3. Trackball
O trackball como um mouse de cabea para baixo, com a esfera situada
na parte superior. Voc usa seus dedos para rolar o trackball, e os rolos internos (similares ao de um mouse) detetam o movimento que transmitido ao
computador. Os trackballs tm a vantagem sobre mouses porque o corpo do
trackball permanece estacionrio em sua mesa, assim que voc no precisa
tanto espao para usar o trackball.
3. Tablet grfico
Um tablet grfico consiste em uma rea eletrnica de escrita e uma pena especial que escreve sobre ela. Os tablets grficos permitem que artistas criem
imagens grficas com movimentos e as aes similares aos de ferramentas
de desenho tradicionais. A pena do tablet grfico sensvel a presso, assim
que pressionando obtemos um trao mais grosso ou mais fino.
88
FERNANDEZ, M. P; CORTS, M. I.
4. Scanner
Um scanner um dispositivo que l imagens em uma pgina impressa em papel produzindo uma imagem feita de pixis minsculos dos valores diferentes
de brilho e da cor que so representados numericamente e transmitidos ao
computador digitalmente. Os scanners fazem a leitura de figuras, mas podem
tambm fazer a leitura de pginas do texto que, atravs de software OCR
(reconhecimento de carter tico) que vai identificar as formas individuais das
letras e criar uma linha de texto da pgina em formato digital.
5. Microfone
Um microfone pode ser ligados a um computador atravs de uma entrada de
som. O som digitalizado convertido em nmeros digitais que representam o
som analgico original podendo ser armazenado no computador e reproduzido mais tarde.
6. Dispositivos de sada
6.1. Monitor CRT
O dispositivo de sada tradicional de um computador para um ser humano
um monitor CRT (tubo de raio de catdico). Assim como um aparelho de televiso, o monitor CRT contem um grande tubo de raio de catdico que projeta
um feixe de eltron em direo tela gerando uma imagem dos pontos coloridos no interior da tela. Os monitores do CRT so pesados e consomem mais
energia que as telas LCD.
O tamanho de tela do monitor medido diagonalmente em polegadas.
Nem toda a rea da tela pode ser til para mostrar imagem, assim muitas
vezes tambm indicada a rea visvel. A resoluo do monitor o nmero
mximo de pixis que pode mostrar horizontalmente e verticalmente (como
800 x 600, ou 1024 x 768, ou 1600 x 1200).
A maioria de monitores podem indicar diversas resolues abaixo de
seu valor mximo. Quanto maior a quantidade de pixeis possveis maior a
qualidade do monitor. Os pixis so os pontos pequenos que fazem a imagem
na tela. O afastamento dos pontos minsculos do fsforo da tela chamado
distncia entre pontos, tambm conhecido como dot pitch (dp). Uma tela com
distncia entre pontos menor produz umas imagens mais definida.
Introduo Computao 89
90
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 91
7.2. Modem
Modem vem do acrnimo Modulador/Demodulador e consiste em uma interface que serializa os dados e transmite atravs de uma linha telefnica. Um
modem usando tanto para transmitir como para receber, e caso a linha telefnica seja de boa qualidade pode alcanar distncias bastante grandes.
A velocidade mxima 56 Kbps, e cada vez mais tem sido substitudo por
dispositivos de alta velocidade.
92
FERNANDEZ, M. P; CORTS, M. I.
Sntese do captulo
Este captulo apresentou a arquitetura de um computador genrico e a funo dos diversos componentes que o compe. Foi mostrado a arquitetura da
Unidade Central de Processamento (CPU), seus respectivos componentes
e suas funes. Foram mostrados os diversos tipos de memrias detalhando suas funes conforme suas caractersticas, alm de mostrar suas aplicaes na arquitetura proposta. Finalmente, foram mostrados os diversos
dispositivos de entrada e sada que facilitam a utilizao do computador pelos seres humanos.
Atividades de avaliao
1. Qual o dispositivo de entrada e sada de maior velocidade? Por que ele
pode ter essa velocidade?
2. Para melhorar a velocidade na comunicao entre computador e dispositivos de entrada/sada usa-se um mecanismo chamado DMA (Direct
Memory Access). Pesquise e explique suas caractersticas e funcionamento.
3. Comente as vantagens e desvantagens de se transmitir dados em paralelo
ou serial entre dispositivos de entrada e sada e computador.
@
Introduo Computao 93
Referncias
FERNANDO DE CASTRO VELLOSO. Informtica: Conceitos Bsicos.
7 Ed. Editora: Campus, 2004.
JOHN L. HENNESSY, DAVID A. PATTERSON. Arquitetura de Computadores: Uma Abordagem Quantitativa. 4 Ed. Editora: Campus, 2008.
WILLIAN STALLINGS. Arquitetura e Organizao de Computadores. 5
Ed. Editora: Pearson, 2002.
Parte
Conjunto de instrues
e endereamento
Introduo Computao 97
Introduo
O termo software faz parte cada vez mais do vocabulrio das pessoas com
os mais diversos interesses, seja no contexto do profissional (software de escritrio), ou de entretenimento (software de jogos). De forma geral, software
o conjunto de produtos que inclui principalmente programas de computador,
geralmente acompanhados de manuais, especificaes e outros documentos.
Por outro lado, o conjunto de instrues que compem o programa a
ser seguido e executado pelo computador, tambm chamado de software,
assim como o comportamento observado a partir da sua execuo.
De forma geral, as instrues que compem os programas so escritas
utilizando uma linguagem de programao de alto nvel de abstrao. Uma
linguagem classificada como sendo de alto nvel indica que possui caractersticas que a torna mais prxima da linguagem natural humana. Em contrapartida, uma linguagem dita de baixo nvel, mais prxima da linguagem compreendida pelo hardware. Como exemplo de linguagens de programao de alto
nvel podemos citar: Pascal, Fortran, C.
As instrues de alto nvel precisam ser traduzidas ou interpretadas,
para posteriormente serem executadas por um processador ou mquina virtual. Para que o processador possa interpretar e executar um programa, seu
conjunto de instrues precisa ser escrito em linguagem de mquina27 ou assembly language. O resultado deste processo o programa em linguagem de
montagem ou linguagem de mquina. Cada arquitetura possui uma linguagem de montagem particular.
Finalmente, o programa em linguagem de montagem convertido para
um programa em cdigo objeto pelo montador (assembler). O montador traduz
diretamente uma instruo da forma textual para a forma de cdigo binrio. Neste
formato final a instruo carregada na memria e interpretada pelo processador.
Linguagem de Mquina:
representao numrica
utilizada diretamente pelo
processador
27.
98
FERNANDEZ, M. P; CORTS, M. I.
Saiba Mais
A linguagem Assembly uma linguagem de baixo nvel para programacao de computadores. Esta linguagem implementa uma representao simblica de cdigos de maquina numricos e considera outras restries para uma arquitetura de CPU particular.
Esta representao usualmente definida pelo fabricante de hardware, e baseada
em abreviaturas das palavras em ingls (mnemnicos), de forma a facilitar o trabalho
dos programadores. A linguagem de maquina especifica a uma determinada arquitetura de computador fsica e virtual, diferentemente das linguagens de alto nvel, as
quais so portveis.
Desde o ponto de vista do software, um computador pode ser estruturado como uma serie (ou nveis) de abstraes, onde a serie superior representa um incremento em relao serie que a precede. Em cada nvel utilizada
uma linguagem com propriedades diferenciadas, onde cada linguagem usa a
sua antecessora (nvel imediatamente inferior), como base. A linguagem ou
nvel que fica mais embaixo mais simples de forma a ser entendido pelo
computador, enquanto que a que fica mais acima a mais sofisticada e complexa, porem, mais prxima do entendimento humano.
O nvel mais baixo o nvel lgico digital, composto por circuitos eletrnicos estudados no captulo 2.
Introduo Computao 99
Praticando
1. Que significa que uma linguagem de programao classificada como sendo de baixo ou alto nvel?
2. Quais linguagens de alto nvel voc conhece? De exemplos de instrues de uma
linguagem de alto nvel.
3. Um programa em uma linguagem de alto nvel pode ser traduzido ou interpretado
pelo processador. Pesquise qual a diferencia entre esses dois conceitos.
13
Captulo
Instrues
De forma geral, uma nica instruo em linguagem de alto nvel equivalente a vrias instrues em linguagem de mquina. Por exemplo, observe
a seguinte instruo de linguagem de alto nvel em Pascal: X = X + Y, onde
as variveis X e Y correspondem s posies de memria 312 e 311. Esse
comando alto nvel pode ser implementado atravs do seguinte conjunto de
instrues de mquina:
1. Carregar um registrador com o contedo da posio de memria 312.
2. Adicionar o contedo da posio de memria 311.
3. Armazenar o contedo do registrador na posio 312.
Em linguagem de maquina, as instrues so representadas atravs de
mnemnicos, que vinculam o nome da instruo sua funo. Alguns exemplos comuns so:
ADD Adio
SUB Subtrao
MPY Multiplicao
DIV Diviso
LOAD Carregar dados na memria
STOR Armazenar dados na memria
Tudo o que a maquina pode fazer controlado pelo seu conjunto de
instrues. As instrues permitem movimentar dados, realizar operaes
aritmticas e lgicas, e de comparao, a partir das quais possvel desviar a
execuo do programa segundo os resultados obtidos.
Cada instruo deve conter toda a informao necessria para que a
CPU possa execut-la. Uma instruo de mquina normalmente composta
pelos seguintes elementos:
Cdigo de operao: cdigo binrio que especifica a operao a
ser executada.
102
FERNANDEZ, M. P; CORTS, M. I.
Em algumas mquinas, todas as instrues tem o mesmo comprimento; em outras podem existir comprimentos diferentes. No primeiro caso, a decodificao fica mais fcil, mas pode acarretar desperdio de espao.
Atividades de avaliao
1. Quais seriam as vantagens de um computador estruturado em nveis possuir mais ou menos nveis?
2. Explique os diferentes papeis dos registradores no contexto do ciclo de
execuo de uma instruo.
3. Considere o conjunto de passos seguidos para a execuo de uma instruo. Qual a finalidade do passo 3? O que aconteceria se este passo
fosse omitido?
4. Considere as seguintes tarefas: (1) somar 100 nmeros armazenados na
memria principal e (2) somar um nmero a ele mesmo 100 vezes. Apesar
de ambos os programas precisarem de 100 adies, o segundo poder
ser executado muito mais rapidamente do que o primeiro? Por que?
Captulo
141
Instruction Set
Architecture - ISA
Esse nvel est posicionado entre o nvel da microarquitetura28 e o sistema
operacional e faz s vezes de interface entre o software (compiladores) e o
hardware, facilitando a portabilidade de programas escritos em diversas linguagens entre diferentes computadores.
A estratgia utilizada pelos projetistas para reduzir esse gap semntico
criar uma representao intermediaria o nvel ISA e construir hardware que
possa executar programas de nvel ISA diretamente. Desta forma. A ISA projetada de forma a tornar compatveis as necessidades de ambas as camadas.
Alem disso, desde o ponto de vista do cliente, de suma importncia
que a ISA seja compatvel entre os diversos modelos de computadores, de
forma a suportar a portabilidade dos programas antigos para uma nova arquitetura, sem que sejam necessrias alteraes. Desta forma surge o conceito
de arquitetura para uma famlia de computadores, os quais compartilham um
conjunto de propriedades e caractersticas em comum.
O conjunto de instrues do processador uma questo central para a
definio e implementao da sua arquitetura (por exemplo: operaes realizadas pela unidade lgica e aritmtica, numero e funo dos registradores, etc.).
O conjunto de instrues caracterizado pelos tipos de instrues e
operandos, numero e localizao dos operandos em instrues aritmticas e
lgicas, modos de endereamento para acesso aos dados na memria, e o
formato dos cdigos de instruo.
Consequentemente existe uma dependncia direta entre o projeto do
conjunto de instrues e o projeto da arquitetura do computador, e vice versa.
Analogamente, os tipos de operando que podem ser diretamente manipulados
por uma arquitetura dependem, claro, dos tipos de instrues oferecidas.
As instrues oferecidas por uma arquitetura podem ser classificadas
em trs categorias diferentes, de acordo com o tipo de operao que realizam.
Uma arquitetura de uso geral fornece pelo menos trs categorias de instrues bsicas a seguir:
Nvel da
Microarquiteturta: composto
normalmente de 8 a 32
registradores que compem
uma memoria local, e um
circuito capaz de executar
operaes aritmeticas
simples (ALU).
28.
106
FERNANDEZ, M. P; CORTS, M. I.
Instrues aritmticas e lgicas: so as instrues que realizam operaes aritmticas sobre nmeros inteiros (adio, subtrao) e operaes
lgicas bit-a-bit (AND, OR);
Instrues de movimentao de dados: so instrues que transferem
dados entre os registradores ou entre os registradores e a memria principal; E/S.
Instrues de transferncia de controle: so instrues de desvio e
de chamada de rotina, que transferem o controle da execuo para uma
instruo especifica dentro do cdigo do programa.
Instrues de armazenamento de dados: so instrues de memria.
Arquiteturas destinadas para uma aplicao especfica ou domnio especifico podem oferecer outros tipos de instrues, especializadas para aquela aplicao. A Unidade 2 apresenta os principais tipos de dados normalmente
representados em uma arquitetura de uso geral.
Comentrio
SUB
Y, A, B
YA-B
MPY
T, D, E
TDxE
ADD
T, T, C
TT+C
DIV
Y, Y, T
YYT
Comentrio
Y, A
YA
SUB
Y, B
YT-B
MOVE
T, D
TD
MPY
T, E
TTxE
ADD
T, C
TTxC
DIV
Y, T
YYT
Comentrio
LOAD
AC D
MPY
AC AC x E
ADD
AC AC + C
STOR
Y AC
LOAD
AC A
SUB
AC AC -B
DIV
AC AC Y
STOR
Y AC
108
FERNANDEZ, M. P; CORTS, M. I.
Praticando
1. Analise o exemplo apresentado e descreva em portugus a seqncia de instrues
de maquina utilizadas em cada caso.
2. Computar o seguinte comando utilizando instrues de um, dois e trs operandos:
Z = (C x B) (A x E - D)
A partir do nmero de operandos explicitamente referenciados e da localizao destes operandos, possvel classificar as arquiteturas nos seguintes tipos:
Arquiteturas memria-memria: as instrues aritmticas/lgicas usam
trs operandos e todos os operandos podem estar na memria;
Arquiteturas registrador-memria: as instrues aritmticas/lgicas usam
dois operandos, sendo que apenas um deles pode residir na memria;
Registradores: Os
registradores so
memrias utilizadas para
realizar as operaes na
CPU. Essas memrias
so muito rpidas e
de tamanho pequeno,
geralmente suficiente para
guardar menos de uma
dezena de valores.
29.
Atividades de avaliao
1. As linguagens de mquina so especficas de uma dada mquina. Que
significa que cada tipo de computador tem sua prpria linguagem de mquina? Explique por que isto acontece.
Captulo
15
Modos de endereamento
Grande parte das instrues tem operandos, os quais devem ser localizados
para realizar a operao. Os operandos podem encontrar-se em registradores, na memria principal ou embutidos implicitamente na prpria instruo.
O modo de endereamento determina a forma em que uma instruo especifica a localizao dos seus operandos. Existem trs modos de endereamento bsicos:
Modo registrador: a instruo indica explicitamente o registrador de dados
onde se encontra o operando (fonte ou destino);
Modo imediato: o operando se encontra dentro do prprio cdigo da instruo;
Modo implcito: a localizao do operando no indicada explicitamente
na instruo. Por exemplo, nas chamadas arquiteturas acumulador, um dos
operandos-fonte e o operando-destino nas instrues aritmticas/lgicas encontra-se sempre em um registrador especial, o acumulador.
Existem diferentes arquiteturas que podem ser utilizadas para o endereamento de dados armazenados na memria principal. Um modo de endereamento referente memria indica como deve ser obtido o endereo
da locao de memria onde se encontra o dado que ser acessado. Este
endereo chamado endereo efetivo.
Apesar da variedade mencionada, possvel identificar alguns modos
de endereamento referentes memria que so oferecidos pela maioria das
arquiteturas. Por outro lado, quase todas as arquiteturas fornecem mais de um
modo de endereamento. Todos estes modos envolvem decises em relao
a quantidade de posies de memria endereveis e/ou flexibilidade de endereamento e/ou complexidade do calculo. Estes modos de endereamento
mais comuns esto relacionados na tabela a seguir.
112
FERNANDEZ, M. P; CORTS, M. I.
114
FERNANDEZ, M. P; CORTS, M. I.
Atividades de avaliao
1. Quais so os modos de endereamento mais comuns? Apresente um
exemplo de uso para cada caso (diferente do apresentado no texto).
2. Por que dito que o modo de endereamento relativo base combina
as capacidades do endereamento direto e do indireto via registrador?
Explique.
3. O processo de decodificao da instruo critico. Como voc justificaria
esta afirmao?
Captulo
161
Os primeiros computadores eram baseados em conjuntos de instrues simples e pequenos. No entanto, a procura por maior desempenho fez com que
as instrues se tornassem mais complexas e poderosas.
Com o objetivo de diminuir a grande lacuna semntica entre as necessidades das pessoas expressas em linguagens de alto nvel e o que o computador pode fazer, os projetistas de computadores investiram na definio de
instrues complexas.
Na medida em que as instrues de mquina ficaram mais prximas
das instrues de linguagens de alto nvel, aparentemente a tarefa dos compiladores ficou simplificada. No entanto, a utilizao de um conjunto de instrues mais rico requer de uma unidade de controle mais complexa capaz de
interpretar30 e executar as instrues, aumentando consequentemente o tempo de execuo de cada instruo individual. Por outro lado, outras atividades
do compilador tais como otimizao do cdigo gerado pode ser dificultada.
Um exemplo de arquitetura CISC Pentium da Intel.
Desta forma, considerando que os benefcios na utilizao de conjuntos
de instrues complexos no se apresentaram muito claros, novos estudos
sobre o comportamento da execuo de programas em linguagens de alto
nvel orientaram o projeto de um novo tipo de arquitetura: o computador com
um conjunto reduzido de instrues (RISC).
Arquiteturas RISC compartilham as seguintes caractersticas:
Conjunto limitado de instrues simples com formato fixo, facilitando a
decodificao e acesso aos operandos.
Uma instruo por ciclo pode ser implementada diretamente pelo hardware, reduzindo o tempo de execuo (no precisavam de interpretao).
Grande nmero de registradores ou o uso de um compilador que otimize
o uso dos mesmos.
Operaes de registrador para registrador.
Interpretar: no processo
de interpretacao, cada
instrucao examinada
e decodificada
individualmente, para ser
imediatamente executada.
Diferentemente do que
na traducao, nenhum
programa traduzido
gerado.
30.
118
FERNANDEZ, M. P; CORTS, M. I.
Sntese do captulo
Neste captulo foi apresentado o conceito central de instruo, suas caractersticas, componentes, tipos e modos de endereamento. Foi apresentada a
noo de maquina multinvel, e a forma de funcionamento.
Com base no conceito de instruo e linguagem de mquina, foi discutida a importncia da ISA -Arquitetura do Conjunto de Instrues, no contexto
do projeto da arquitetura do computador, sua influencia e restries. Foram
analisadas as propriedades das duas principais arquiteturas: RISC e CISC,
fazendo uma anlise de vantagens e desvantagens de cada uma delas, as
quais serviram de base para a elicitao dos princpios do projeto dos computadores modernos.
Atividades de avaliao
1. Especifique as caractersticas das arquiteturas RISC e CISC fazendo um
comparativo de vantagens e desvantagens de cada uma delas.
2. Qual a causa principal do alto desempenho da arquitetura RISC?
Paralelismo: o
paralelismo tem duas
formas gerais: paralelismo
no nvel de instruo e
paralelismo no nvel do
processador. No primeiro
caso, uma nica CPU
capaz de executar
um maior numero de
instrues por segundo.
No segundo caso, varias
CPUs trabalham juntas no
mesmo problema.
31.
120
FERNANDEZ, M. P; CORTS, M. I.
Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5 ta. Edio. Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5 ta.
Edio. Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5 ta. Edio. Editora Bookman. 2000.
Sobre os autores
Marcial Porto Fernandez: possui graduao em Engenharia Eletrnica e
Computao pela Universidade Federal do Rio de Janeiro (1988), mestrado
em Engenharia Eltrica pela Universidade Federal do Rio de Janeiro (1998)
e doutorado em Engenharia Eltrica pela Universidade Federal do Rio de
Janeiro (2002). Atualmente professor adjunto da Universidade Estadual
do Cear e assessor tcnico da Empresa de Tecnologia da Informao do
Cear. Tem experincia na rea de Cincia da Computao, com nfase em
Teleinformtica, atuando principalmente nos seguintes temas: gerenciamento
de redes, redes ticas, redes mveis e sem fio e arquitetura de computadores.
Mariela Ins Corts: atualmente Professora Adjunta de da Universidade
Estadual do Cear (UECE). Possui doutorado em Informtica pela Pontifcia
Universidade Catlica do Rio de Janeiro (PUC-Rio, 2003), mestrado em
Sistemas e Computao pelo Instituto Militar de Engenharia (IME, 1998) e
graduao pela Universidad Nacional de La Plata, Argentina - Analista de
Computacin (1996). Tem experincia na rea de Cincia da Computao,
com nfase em Evoluo de software e gerncia de projetos de software,
atuando principalmente nos seguintes temas: evoluo de framework, refactorings, agent societies e multi-agent systems, gerencia de projetos de desenvolvimento de software.
Computao
Introduo Computao
Introduo a Computao
Computao
Qumica
Cincias
Biologicas
Artes
Plsticas
Computao
Fsica
Matemtica
Pedagogia
Computao
Introduo Computao
Marcial Porto Fernandez
Mariela Ins Corts
3 edio
Fortaleza - Cear
2015
Qumica
Cincias
Biologia
Biolgicas
Artes
Artes
Plsticas
Computao
Informtica
Fsica
Matemtica
Pedagogia
Copyright 2015. Todos os direitos reservados desta edio UAB/UECE. Nenhuma parte deste
material poder ser reproduzida, transmitida e gravada, por qualquer meio eletrnico, por fotocpia
e outros, sem a prvia autorizao, por escrito, dos autores.
Editora Filiada
Presidenta da Repblica
Dilma Vana Rousseff
Ministro da Educao
Renato Janine Ribeiro
Presidente da CAPES
Carlos Afonso Nobre
Diretor de Educao a Distncia da CAPES
Jean Marc Georges Mutzig
Governador do Estado do Cear
Camilo Sobreira de Santana
Reitor da Universidade Estadual do Cear
Jos Jackson Coelho Sampaio
Vice-Reitor
Hidelbrando dos Santos Soares
Pr-Reitora de Graduao
Marclia Chagas Barreto
Coordenador da SATE e UAB/UECE
Francisco Fbio Castelo Branco
Coordenadora Adjunta UAB/UECE
Elosa Maia Vidal
Diretor do CCT/UECE
Luciano Moura Cavalcante
Coordenador da Licenciatura em Informtica
Francisco Assis Amaral Bastos
Coordenadora de Tutoria e Docncia em Informtica
Maria Wilda Fernandes
Editor da EdUECE
Erasmo Miessa Ruiz
Coordenadora Editorial
Rocylnia Isidio de Oliveira
Projeto Grfico e Capa
Roberto Santos
Diagramador
Francisco Jos da Silva Saraiva
Conselho Editorial
Antnio Luciano Pontes
Eduardo Diatahy Bezerra de Menezes
Emanuel ngelo da Rocha Fragoso
Francisco Horcio da Silva Frota
Francisco Josnio Camelo Parente
Gisafran Nazareno Mota Juc
Jos Ferreira Nunes
Liduina Farias Almeida da Costa
Lucili Grangeiro Cortez
Luiz Cruz Lima
Manfredo Ramos
Marcelo Gurgel Carlos da Silva
Marcony Silva Cunha
Maria do Socorro Ferreira Osterne
Maria Salete Bessa Jorge
Silvia Maria Nbrega-Therrien
Conselho Consultivo
Antnio Torres Montenegro (UFPE)
Eliane P. Zamith Brito (FGV)
Homero Santiago (USP)
Ieda Maria Alves (USP)
Manuel Domingos Neto (UFF)
Maria do Socorro Silva Arago (UFC)
Maria Lrida Callou de Arajo e Mendona (UNIFOR)
Pierre Salama (Universidade de Paris VIII)
Romeu Gomes (FIOCRUZ)
Tlio Batista Franco (UFF)
Sumrio
Parte 1 - Histrico, aplicaes e conceitos da Tecnologia
da Informao.............................................................................................................5
Captulo 1 - Histrio e evoluo dos computadores...............................7
Introduo...............................................................................................................7
1. Precursores do computador..............................................................................8
2. As mquinas de primeira gerao (1930-1958) ............................................15
3. Computadores de segunda gerao (1955-1965) .......................................17
4. Computadores de terceira gerao (1965-1980) .........................................18
5. Computadores de quarta gerao (1980 - ...)................................................19
Captulo 13 - Instrues.....................................................................................101
Captulo 14 - Instruction Set Architecture - ISA.....................................105
1. Numero de operandos e localizao ...........................................................106
Sobre os autores...................................................................................................121
Parte
Histrico,
aplicaes e conceitos da
Tecnologia da Informao
Introduo Computao
Mais precisamente,
um algoritmo determina
um conjunto ordenado e
no-ambiguo de passos
que definem uma atividade
finita.
1.
FERNANDEZ, M. P; CORTS, M. I.
1. Precursores do computador
A histria da tecnologia se desenvolveu paralelamente e quase to antiga
quanto a histria da evoluo humana. Um marco considerado fundamental
neste contexto o inicio das atividades agrcolas, a partir do desenvolvimento de melhores tcnicas de domnio do homem sobre a natureza,em relao
aos seus antecessores. Este marco estabelece uma mudana radical nos
hbitos at ento nmades do homem pr-historico, para se tornar sedentrio e garantir seu territrio para a agricultura e a criao de animais. Surgem
assim aldeias e povoados e inicia-se uma era de grandes descobertas.
Com o desenvolvimento da lavoura tornou-se necessrio um mtodo
para a contagem do tempo, delimitando as pocas de plantio e colheita. O primeiro passo do homem rumo cincia e tecnologia a concepo da idia
de nmero. Inicialmente era utilizado um mecanismo de comparao entre
conjuntos de elementos, passando a comparar por agrupamentos, na medida
que os conjuntos cresciam em tamanho. No entanto, esta abordagem ainda
no era muito prtica, pois a contagem era feita utilizando-se os dedos das
prprias mos, mas foi importante por dar origem ao sistema de numerao
de base decimal.
A compreenso do conceito de nmero como uma idia abstrata, e no
somente como uma qualidade de um determinado objeto, no foi um processo imediato. Conforme Bertrand Russell, foram necessrios muitos anos para
se descobrir que um par de faises e um par de dias eram ambos instncias
do nmero dois. Esta dissociao representa o primeiro passo em direo a
um sistema de notao, e da para a aritmtica. Para auxlio deste mtodo,
eram usados gravetos, contas ou marcas na parede.
Introduo Computao 9
Com a evoluo da humanidade se fizeram necessrias novas invenes na tentativa de criar dispositivos mecnicos para auxiliar a fazer clculos.
Apesar dos computadores eletrnicos terem efetivamente aparecido somente
na dcada de 40, os fundamentos em que se baseiam remontam a centenas
ou at mesmo milhares de anos.
10
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao
11
12
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 13
Saiba Mais
Teares de Jacquard (1801)
O francs Joseph-Marie Jacquard (1752-1834) introduziu a primeira mquina para
substituir o trabalho humano. Era uma mquina que automatizava os processos mecnicos de fabricao de tecido. Para executar um determinado tranado, a fiandeira
deveria ter um plano ou programa que lhe dissesse quais fios deveria passar por cima
ou por baixo, em que momento repetir o desenho, etc. A evoluo chave propiciada
pela mquina de Jacquard era o uso de uma srie de cartes cujas perfuraes estavam configuradas para descrever o modelo a ser produzido.
A abordagem utilizada por Jacquard implementa o conceito de armazenamento
de informaes em placas perfuradas com o objetivo de controlar uma mquina de
tecelagem. Este conceito ser posteriormente estendido para sua aplicao no processamento de dados.
O sucesso foi total e em 1812 havia na Frana 11.000 teares de Jacquard, e despertou na sociedade daquela poca, temor pelo desemprego, provocando uma grande
reao popular contra essa espcie de pr-automao.
14
FERNANDEZ, M. P; CORTS, M. I.
A maquina era constituda de unidade de controle de memria aritmtica e de entrada e sada, e sua operao era governada por um conjunto de
cartes perfurados, de modo que, de acordo com os resultados dos clculos
intermedirios, a mquina poderia saltar os cartes, modificando dessa forma
o curso dos clculos.
Babbage investiu toda sua fortuna pessoal e de seu filho, que com ele
trabalhou durante anos, na construo de sua mquina Analtica, vindo a falecer em 1871, sem findar a construo.
Introduo Computao 15
Para refletir:
Quando chegou o primeiro computador no Brasil? Quais eram suas caractersticas?
Rel: eletrom cuja
funo abrir ou fechar
contatos eltricos com o
intuito de interromper ou
estabelecer circuitos.
2.
3.
16
FERNANDEZ, M. P; CORTS, M. I.
Este novo marco na evoluo dos computadores determina o surgimento dos computadores chamados de Primeira Gerao.
A principal vantagem das mquinas a rel sobre as mquinas mecnicas era, sem dvida, a maior velocidade de processamento (milissegundos).
Ainda, um outro aspecto positivo era a possibilidade de funcionamento contnuo, apresentando uma menor taxa de erros de clculo.
Os computadores da primeira gerao contavam com dispositivos de
entrada/sada primitivos. A grande utilidade dessas mquinas era no processamento de dados, os quais eram ingressados e armazenados com base na
utilizao de cartes perfurados.
Por outro lado existia uma srie de desvantagens como: custo elevado,
relativa lentido, pouca confiabilidade, grande quantidade de energia consumida e necessitavam de grandes instalaes de ar condicionado para dissipar o
calor gerado por um grande nmero de vlvulas (cerca de 20 mil). Os computadores mais representativos desta gerao foram: o MARK I, ABC (Atanasoff
Berry Computer), ENIAC (Electronic Numeric Integrator and Calculator).
Juntamente com o ENIAC, ocorreu tambm o desenvolvimento na
rea de perifricos de computador com o aparecimento de equipamentos tais
como as unidades de fita magntica, impressoras, etc.
Introduo Computao 17
O novo conceito de programao introduzido por Von Neuman deu origem a muitos outros projetos nos quais ele prprio esteve envolvido, como
por exemplo, o EDVAC (Electronic Discrete Variable Automatic Computer), o
IBM 650 (o primeiro computador da IBM), e o UNIVAC (Universal Automatic
Computer), que foi o primeiro computador a ser fabricado em linha.
18
FERNANDEZ, M. P; CORTS, M. I.
Para refletir
Pesquise sobre os computadores que foram os principais representantes desta gerao e descreva suas caractersticas.
Introduo Computao 19
20
FERNANDEZ, M. P; CORTS, M. I.
No incio dessa gerao nasceu a empresa americana Intel, que comeou a desenvolver o primeiro microprocessador, o Intel 4004 que manipulava
palavras binrias de 4 bits, um circuito integrado com 2250 transistores, equivalente ao ENIAC.
O 4004 foi seguido pelo Intel 8008 de 8 bits e, mais tarde, pelo Intel
8080. O primeiro microcomputador da histria foi o Altair 8800, que usava o
chip Intel 8088, tornou-se padro mundial da poca para os microcomputadores de uso pessoal, abrindo uma nova era na histria da informtica.
Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena empresa, a Apple, onde construram, segundo conta a lenda, numa garagem de
fundo de quintal, o Apple I. Um ano depois, com um novo e melhor projeto,
surge o Apple II, primeiro microcomputador com grande sucesso comercial
seguido, mais tarde, pelo Apple III.
A IBM decidiu entrar no mercado de computadores pessoais, introduzindo o PC (IBM Personal Computer), um microcomputador com tecnologia
de 16 bits, estabelecendo o Intel 8088 como sua CPU. Lanado em 1981, o
PC se tornou campeo de vendas da historia dos computadores. Um PC tem
a seguinte configurao tpica 256 a 640 K de memria RAM na placa principal, duas unidades de disco flexvel de 360 K, controlador de vdeo grfico,
monitor monocromtico e interface serial ou paralela para a impressora. Seu
clock era de 4,77 MHz.
Com o sucesso impulsionado pela IBM PC, a Intel continuou fazendo
verses cada vez mais poderosas. Os principais modelos de PC so: PC-XT,
PC-XT 286, PC-AT386, PC 486.
O IBM PC vinha equipada com o sistema operacional MS-DOS, fornecido pela novata Microsoft Corporation.
Em 1993 chegou ao mercado o Pentium, cuja verso Pentium III possui
cerca de nove milhes de transistores. O Pentium trouxe um novo flego s chamadas estaes de trabalho. Uma caracterstica comum s mquinas das geraes at ento, a existncia de uma nica CPU para executar o processamento.
Uma das novidades que o Pentium trouxe que possibilita a simulao
de dois processadores, ou seja, um princpio de paralelizao antes possvel
apenas em supercomputadores e que agora est ao alcance dos usurios
de microcomputadores. Mais recentemente, j existem computadores funcionando com mais de uma CPU.
Os atuais avanos em pesquisa e o projeto de novas tecnologias para os
computadores esto possibilitando o surgimento da quinta gerao. Dois avanos que configuram um divisor de guas so o processamento paralelo, que
quebrou o paradigma de von Neumann, e a tecnologia dos supercondutores.
Introduo Computao 21
Atividades de avaliao
1. Pesquise sobre os computadores que foram os principais representantes
desta gerao e descreva suas caractersticas.
Captulo
Tecnologias de
computadores e suas
aplicaes
Na tecnologia atual, podemos classificar os computadores de acordo com
a suas capacidades e finalidades de uso para o qual foram desenvolvidos.
Possivelmente os computadores pessoais sejam os mais amplamente utilizados e conhecidos, no entanto existem outras variantes que sero analisadas
nesta seo.
A quarta gerao de computadores cujo domnio se estende at nossos
dias, impulsionada principalmente pela capacidade dos engenheiros e fabricantes de chips em empacotar cada vez mais transistores por pastilha, a cada
ano. A cada incremento, so gerados computadores com memrias maiores e
processadores mais poderosos.
A evoluo tecnologica observada nas ltimas dcadas comprova que
o nmero de transistores dobra a cada 18 meses, e a previso indica que
essa taxa ser mantida no futuro. Esta constatao conhecida como Lei de
Moore, que d fundamento ao chamado crculo virtuoso onde:
24
FERNANDEZ, M. P; CORTS, M. I.
1. Computador descartvel
Quem no recebeu alguma vez um carto de congratulaes musical? Ou
deu de presente para a me? Pois , esta tal vez seja a aplicao mais simples de computador descartvel. Trata-se de um nico chip sonoro descartvel, porem com capacidade computacional maior do que o maior computador
do mundo de 1955.
No entanto, utilidades mais interessantes sugiram a partir do desenvolvimento do chip RFID (Radio Frequency IDentification ou identificao por
radiofrequencia). Estes chips de baixssimo custo (centavos), no possuem
bateria e a sua espessura de menos de 0,5 mm., possuem um minsculo
radiotransponder e um nico numero de 128 bits embutido.
Esta tecnologia utilizada para a identificao automtica atravs de
sinais de rdio, recuperando e armazenando dados remotamente atravs de
dispositivos chamados de tags RFID: quando pulsados por uma antena transmissora externa, so alimentados pelo sinal de radio de entrada por tempo
suficiente para transmitir seu numero de volta antena.
Uma tag pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Alm das tags passivas, que respondem
ao sinal enviado pela base transmissora, existem ainda as tags ativas, dotadas de bateria, que lhes permite enviar o prprio sinal. So bem mais caras
que as tags passivas.
A principal funcionalidade dos tags RFID a identificao de todo tipo
de objeto, inclusive seres vivos. No caso de objetos, estes tags viriam substituir os populares cdigos de barras.
Implantes em animais. Este tipo de sistema usado na identificao dos
animais ajuda no gerenciamento dos mesmos entre as companhias, no
controle de epidemias e garantia de qualidade e procedncia. A identificao animal por sistemas de RFID pode ser feita de quatro maneiras
diferentes: colares, brincos, injetveis ou ingerveis (bolus).
Introduo Computao 25
Para refletir
Descreva outras aplicaes possveis para dispositivos RFID.
2. Microcontrolador
A grande maioria de aparelhos utilizados diariamente, inclusive para uso domestico, possuem computadores embutidos ou microcontroladores. Estes
dispositivos so utilizados para gerenciar as funcionalidades do aparelho e
manipular a sua interface com o usurio. Podemos encontrar microcontroladores em uma grande variedade de aparelhos, por exemplo:
26
FERNANDEZ, M. P; CORTS, M. I.
Eletrodomsticos
Aparelhos de comunicao
Perifricos de computadores
Equipamento de entretenimento
Aparelhos de reproduo de imagens
Equipamentos mdicos
Armamentos militares
Dispositivos de vendas
Brinquedos
Um carro moderno, por exemplo, pode conter at 50 microcomputadores, que executam diferentes atividades tais como injeo, radio, GPS, etc. A
previso que dentro de poucos anos, quase tudo o que depende de energia
eltrica ou baterias para funcionar, possua um microcontrolador.
Um microcontrolador (tambm denominado MCU ou C) um pequeno computador-num-chip, mas completos. Cada microprocessador contem
um processador, memria e funes de entrada/sada. Dentre as funes
de entrada/sada temos: controle de botes do aparelho, controle de luzes
e sons, etc. Os microcontroladores podem ser de propsito geral ou de propsito especifico.
A tecnologia de microcontroladores regida principalmente pela varivel de custo, de forma a tornar vivel economicamente o controle eletrnico
de muitos processos. Microcontroladores geralmente so encomendados por
milhes de unidades. Neste caso, um centavo a mais ou a menos pode determinar a escolha por um determinado fornecedor.
Desta forma, a escolha por uma arquitetura decidida com base principalmente no custo de fabricao. Outros fatores que influenciam o custo dos
microcontroladores a quantidade de bits, quantidade de memria e tipo. Por
outro lado, o aumento na capacidade de processamento sempre necessrio para conseguir atender s necessidades dos produtos de tecnologia mais
avanada.
Outra caracterstica dos microcontradores o funcionamento em tempo real, ou seja, que devem ser capazes de detectar um evento e dar uma
resposta imediata.
Finalmente, uma caracterstica inerente de sistemas embutidos (como
o caso de microncontroladores) a restrio fsica em termos de tamanho,
peso, consumo, etc. Estas restries podem ser contornadas colocando os
Introduo Computao 27
dispositivos para hibernar enquanto nenhum evento interessante for percebido pelos perifricos, reduzindo o consumo de energia diminui. As duas ultimas
caractersticas fazem com que a arquitetura destes dispositivos precise ser
projetada cuidadosamente.
Microcontroladores so usados com freqncia em produtos e dispositivos de controle automtico, tais como sistemas de controle em motores de
automveis, controles remotos, mquinas de escritrio, ferramentas e brinquedos. Ao reduzir o tamanho, custo e consumo de energia em comparao
com um projeto que usa microprocessador, memria e dispositivos de E/S
separados, microcontroladores tornam vivel economicamente o controle eletrnico de muitos processos.
Cerca de 50% dos microcontroladores vendidos so controladores
simples, outros 20% so processadores de sinais digitais (DSPs) mais especializados. Os microcontroladores podem ser encontrados em praticamente
todos os dispositivos eletrnicos digitais que nos cercam: Teclado do computador, dentro do monitor, Harddisk, relgio de pulso, rdio relgio, mquinas de
lavar, forno de microondas, telefones, etc. Voc est certamente cercado de
dezenas deles agora.
Certamente eles foram to ou mais importantes para a revoluo dos
produtos eletrnicos que os computadores. Eles permitiram a evoluo de
equipamentos que a anos no evoluiam, como os motores a combusto,
que agora com o novo controle eletrnico podem funcionar com sistema bicombustivel e poluindo menos e as mquinas fotogrficas, que migraram de
processos quimico/mecanico a circuitos com microcontroladores+Sensores
Digitais+Memria.
3. Computador de jogos
Os computadores de jogos so computadores normais, com recursos grficos especiais e capacidade de som, mas software limitado e pouca capacidade de extenso. Inicialmente projetados para jogos simples, eram utilizados
CPU de baixo valor. Com o passar dos anos evoluram se tornando poderosos
e capazes de competir em desempenho com computadores pessoais.
Os produtos de tecnologia vieram se tornar populares conhecidos genericamente como videogame. O primeiro foi lanado em 3 de dezembro de
1994 no Japo e quase um ano depois nos Estados Unidos, pela Sony. O
PlayStation foi um sucesso de vendas, chegando a 100 milhes de unidades
at 2006 quando sua produo foi encerrada. Posteriormente a tecnologia
evoluiu para o PlayStation 2 e 3. O PlayStation consistia em um console independente de jogos composta de uma unidade leitora de CD-ROM e ranhuras
28
FERNANDEZ, M. P; CORTS, M. I.
5. Servidor
Cliente-servidor um
modelo computacional
que separa clientes
e servidores, sendo
interligados entre si
geralmente utilizandose uma rede de
computadores. Cada
instncia de um cliente
pode enviar requisies
de dado para algum dos
servidores conectados
e esperar pela resposta.
Por sua vez, algum dos
servidores disponveis
pode aceitar tais
requisies, process-las e
retornar o resultado para o
cliente. Apesar do conceito
ser aplicado em diversos
usos e aplicaes, a
arquitetura praticamente
a mesma.
4.
Introduo Computao 29
30
FERNANDEZ, M. P; CORTS, M. I.
7. Mainframe - Supercomputadores
Os mainframes so computadores de grande porte fsico, desde que ocupam
uma sala inteira, da mesma forma que os seus antecessores dos anos 60. A
sua principal caracterstica a sua capacidade de E/S, equipadas com colees de discos para armazenamento de dados.
Esta classe de computadores geralmente hospeda software legado h
algumas dcadas, desenvolvidos especialmente para esses sistemas. por
conta do grande risco em reprogramar e migrar essas aplicaes para mquinas menores, que faz com que muitas organizaes continuem a manter por
milhes de dlares esses sistemas, em lugar de comprar um novo.
A histria dos supercomputadores comea, de fato, no final de 1975
com o Cray-1. As aplicaes para esses computadores so muito especiais e
incluem laboratrios e centros de pesquisa aeroespaciais, empresas de altssima tecnologia, previso do tempo e a produo de efeitos e imagens computadorizadas de alta qualidade. Os supercomputadores so os mais poderosos, mais rpidos e de maior custo. Utilizam o conceito de processamento
paralelo e so mquinas vetoriais, isto , podem executar a mesma operao
em diversas variveis simultaneamente.
Atividades de avaliao
1. Pesquise quais as caractersticas e responsabilidades do Servidor de banco de dados e Servidor FTP.
2. Pesquise mais algum outro tipo de servidor que no tinha sido mencionado.
Captulo
Introduo cincia da
computao
Cincia da Computao o estudo dos algoritmos e suas aplicaes, bem como
das estruturas matemticas indispensveis formulao precisa dos conceitos
fundamentais da teoria da computabilidade e da computao aplicada.
Os estudos oriundos da Cincia da Computao podem ser aplicados
em qualquer rea do conhecimento humano em que seja possvel definir
mtodos de resoluo de problemas baseados em repeties previamente
observadas. Desempenha por isso um papel importante na rea de cincia
da computao a formalizao matemtica de algoritmos, como forma de representar problemas decidveis, i.e., os que so susceptveis de reduo a
operaes elementares bsicas, capazes de serem reproduzidas atravs de
um dispositivo mecnico/eletrnico capaz de armazenar e manipular dados.
Um destes dispositivos o computador digital, de uso generalizado, nos
dias de hoje, pelo custo reduzido dos componentes eletrnicos que formam o
seu hardware.
A Cincia da Computao constitui uma base cientifica para diversos
tpicos voltados programao de computadores, processamento da informao e estudo de solues algortmicas propriamente dito.
Um dos conceitos fundamentais da Cincia da Computao o algoritmo. Como citado nas primeiras sees desta unidade, um algoritmo determina um conjunto ordenado e no-ambiguo de passos que definem uma atividade finita. De forma geral, esta atividade finita visa a resoluo de um problema.
Os algoritmos, na forma de programas, so executados em computadores. Para que um algoritmo seja executado no computador precisa ser representado de forma apropriada para que possa ser interpretado por uma mquina
ou por um ser humano de forma correta e sem ambiguidades.
Estudos baseados em lingstica e gramtica se preocupam pela traduo do algoritmo conceitual em um conjunto de comandos com uma sintaxe
32
FERNANDEZ, M. P; CORTS, M. I.
Pseudocdigos: Sistema
notacional nos quais idias
podem ser informalmente
expressas durante o
desenvolvimento de um
algoritmo.
5.
As linguagens de programao possibilitam escrever algoritmos num formato de fcil traduo para a linguagem da mquina, mas mantendo a familiaridade com a linguagem de pseudocdigo5 utilizada na descrio do algoritmo.
O desenvolvimento histrico das linguagens de programao modernas
visa, a cada nova gerao, elevar o nvel de abstrao de forma a propiciar
cada vez mais independncia da mquina. Nos primeiros dispositivos computacionais, os programas eram codificados no hardware, no interior da unidade
de controle. Esta abordagem torna estes dispositivos muito inflexveis, dada a
dificuldade de alterar os programas.
Neste contexto surge o conceito de programa armazenado na memria
principal, da mesma forma que os dados. Para isso, os programadores comearam a utilizar linguagem de mquina na escrita dos seus algoritmos. Este
mtodo era muito laborioso e complexo, uma vez que os cdigos de operao
e operandos eram representados atravs de dgitos numricos, o que tornava
a programao muito propensa a erros. O primeiro passo para melhorar a
situao foi a utilizao de nomes descritivos para as posies de memria e
mnemnicos (em lugar de cdigos hexadecimais), para expressar os cdigos
de operao.
A partir da utilizao desta tcnica, surgiu a necessidade de traduo dos programas escritos nesta notao para a linguagem de mquina.
Surgiram assim as linguagens de montagem. Fica assim como responsabilidade do sistema operacional, a utilizao da linguagem de montagem para
traduzir o programa e, posteriormente, armazenando a verso traduzida para
um uso posterior.
No entanto, o problema da dependncia com a mquina continuava
existindo, agora em relao linguagem de montagem. Alem disso, existia a
dificuldade de programar em um nvel muito baixo de abstrao (ou seja muito
detalhado), o que prejudicava o desenvolvimento do projeto da soluo.
A necessidade de primitivas de alto nvel propiciou o surgimento das
linguagens de terceira gerao, para o desenvolvimento de software, as quais
por sua vez, foram projetadas com base nas primitivas de baixo nvel j conhecidas. Por exemplo:
assign Total the value Valor + Imposto
Introduo Computao 33
O desenvolvimento das linguagens de terceira gerao conseguiu atender o objetivo de independncia de plataforma de uma forma muito mais prxima ao raciocnio utilizado na anlise e resoluo de problemas.
Na medida em que um maior nvel de abstrao se torna uma necessidade surgem os chamados ambientes de programao, os quais possibilitam
a utilizao de conceitos mais abstratos na programao dos algoritmos.
A perspectiva nestes ambientes que a mquina se adapta ao raciocnio humano, em contrapartida das linguagens de geraes anteriores, onde o
ser humano precisava se adaptar mquina. Uma propriedade inerente destes ambientes a facilidade de utilizao e a possibilidade de customizao,
sem auxilio de especialistas.
De forma geral, a programao nestes ambientes facilitada pela utilizao de menus e seleo de cones na tela os quais representam atalhos de alto
nvel para a execuo de instrues de nvel mais baixo. Estes pacotes ou ambientes de programao so denominados de linguagens de quarta gerao.
Finalmente, as linguagens classificadas como de quinta gerao, tem
como base principal a programao declarativa, e geralmente possuem um
enfoque mais especializado (programao lgica).
Saiba Mais
Um Sistema de Informao (SI), coleta, processa, armazena, analisa e dissemina informaes com o propsito especifico. Como qualquer outro sistema, um sistema de informao abrange entradas (dados) sadas (relatrios, clculos), processa essas entradas
e sadas e gera sadas que so enviadas para o usurio ou outros sistemas. possvel
incluir um mecanismo de resposta feedback que controle a operao. E como qualquer
outro sistema, um sistema de informao opera dentro de um ambiente.
Atividades de avaliao
1. O que significa dizer que uma linguagem de programao independente
de mquina?
2. O que significa que uma linguagem possui um nvel mais alto que as geraes anteriores?
3. Escreva um algoritmo em pseudocdigo para realizar alguma atividade
domstica.
Captulo
41
Tecnologia da Informao
Antes mesmo da popularizao dos computadores, existia uma noo da importncia do cuidado e tratamento da informao como uma forma de preservar o histrico, para que, eventualmente, possa ser utilizado na analise de
fatores do passado para o entendimento do presente e, principalmente, na
tomada de deciso de aes futuras. Deste este ponto de vista, a informao
pode ser interpretada como um elemento que pode adicionar certo grau de
competitividade s organizaes.
Antigamente, os sistemas de informao nas organizaes se baseavam basicamente em tcnicas de arquivamento e recuperao de informaes de grandes arquivos de forma manual, sob a responsabilidade de um
arquivador. O processo era relativamente simples, porem muito trabalhoso,
tornando difcil e propensa a erros a recuperao da informao e principalmente a atualizao dos dados.
Com o avano da tecnologia, no sculo XX a informao comeou
a fluir e se multiplicar a velocidade assustadora. Era o advento da Era da
Informao. Um marco desta nova fase a inveno do telgrafo eltrico em
1837, e a partir dali o desenvolvimento de meios de comunicao de massivos, e at mais recentemente, o surgimento da grande rede de comunicao de dados que a Internet. Esta globalizao propiciou um crescimento
exponencial do volume de dados disponveis, tornando um desafio a coleta,
organizao, catalogao e posterior recuperao de forma eficiente e segura
da informao.
No ambiente complexo e turbulento que nos encontramos essencial
para as organizaes o estmulo ao resgate do conhecimento organizacional
como auxlio no processo de deciso e na busca de vantagens competitivas.
Como conseqncia do processo de globalizao, o contexto mundial, em
permanente mudana, vive permanentemente submetido s implicaes decorrentes de grandes transformaes polticas, econmicas e tecnolgicas.
Neste cenrio, a informao passa a ser considerada um recurso essencial
nas tomadas de deciso. Para Beck (2007), atualmente, toda empresa est
envolta com amplos e diversos tipos de informao e, para competir neste
36
FERNANDEZ, M. P; CORTS, M. I.
Gesto de Conhecimento:
envolve as atividades
de coleta, seleo,
disponibilizao e,
disseminao de
informaes.
6.
O sub-sistema automatizado consiste em um conjunto de recursos tecnolgicos e computacionais para gerao e uso da informao de forma a
viabilizar a Gesto do Conhecimento6 para a tomada de deciso e a elaborao de estratgias a partir de novos bancos de dados originados dos bancos
de dados operacionais da empresa como, por exemplo, o data warehouse, o
data mining, entre outros.
Essas ferramentas, alm de dar subsdios para a tomada de deciso,
esto voltadas disseminao do conhecimento na organizao, seja atravs
de melhores prticas de trabalho, seja atravs do registro de discusses para a
disseminao de conhecimento, como por exemplo o Groupware e a Intranet.
Esse conjunto de recursos chamado de Tecnologia da Informao
(TI). As aplicaes de TI so diversas e esto ligadas s mais diversas reas,
de forma a automatizar os processos organizacionais. Atravs da TI, pequenas e grandes empresas podem alcanar maior produtividade e competitividade, alcanando o sucesso e alavancando maiores rendimentos.
A TI exerce um importante papel no mbito da gesto do conhecimento reduzindo distncias e propiciando a transferncia do conhecimento de forma on-line. No domnio da gesto do conhecimento, o beneficio
principal da utilizao de recursos computacionais a sua capacidade de
armazenamento e comunicao de computadores ligados em rede fazendo deles propiciadores e disseminadores de conhecimento (DAVENPORT
e PRUSAK, 1998).
Introduo Computao 37
A TI envolve a organizao de recursos computacionais tais como hardware, software e mecanismos de comunicao, em um sistema capaz de
executar um conjunto de tarefas. Alem dos recursos computacionais, tecnologias relativas ao planejamento e desenvolvimento de sistemas, suporte ao
software, e aos processos de produo e operao, tambm so considerados elementos de TI.
Por outro lado, tecnologias intelectuais tais como mtodos, teorias e
metodologias utilizadas para lidar com o ciclo da informao, tambm so
consideradas sustento da TI. Neste conjunto podem ser consideradas, por
exemplo, tcnicas de classificao, que no necessariamente requerem uso
de mquinas, mas apenas um esquema para serem aplicadas.
Tcnicas que se mostraram eficientes geralmente so automatizadas
pela elaborao de um algoritmo ou software, de forma a facilitar a sua aplicao sistemtica. Seguindo o exemplo das tecnologias de classificao e
organizao de informaes, a sua origem se remonta ao surgimento das primeiras bibliotecas. Hoje em dia praticamente toda biblioteca tem seu acervo
gerenciado atravs de um sistema computacional.
O sucesso e difuso dos sistemas de informao alcanados atravs
da rpida evoluo e surgimento de novas Tecnologias de Informao fazem
com que praticamente todas as atividades desenvolvidas na sociedade atual
sejam sustentadas eficientemente atravs dos recursos da informtica, e com
custos cada vez mais reduzidos.
O processamento de informao uma atividade central em diversas
reas, tais como economia, transportes, produo, imprensa, comunicao.
A necessidade pela difuso social da informao de domnio pblico ou privado em larga escala de transmisso possvel somente atravs de sistemas tecnolgicos inteligentes.
Uma conseqncia do desenvolvimento tecnolgico a intensificao
da comunicao pessoal e institucional, atravs de programas de processamento de texto, de formao de bancos de dados, de editorao eletrnica,
bem de tecnologias que permitem a transmisso de documentos, envio de
mensagens e arquivos, assim como consultas a computadores remotos (via
rede mundial de computadores, como a internet).
Em contrapartida aos enormes benefcios atingidos pela utilizao da TI
nos diversas atividades, alguns problemas podem ser apontados em relao
privacidade dos indivduos e ao seu direito informao, pois os cidados
geralmente no tem acesso a grande quantidade de informao sobre eles,
coletadas por instituies particulares ou pblicas.
38
FERNANDEZ, M. P; CORTS, M. I.
Embora a TI sustente os processos de Gesto do Conhecimento, a eficcia final destes processos depende da interpretao deste conhecimento
pelos homens, e sua transformao em aes. Sendo assim, a tecnologia da
informao, isoladamente, no pode ser a base da criao e gesto de conhecimento organizacional, mas o suporte dentro desse processo.
Sntese do captulo
Neste captulo foi apresentado o histrico da evoluo dos computadores, a
partir da descrio dos dispositivos mecnicos precursores dos computadores utilizados atualmente. Foi feita uma breve retrospectiva das geraes que
determinam os estgios da evoluo dos computadores at os dias de hoje.
Neste captulo tambm foram apresentados os principais conceitos que
definem a Cincia da Computao, apresentando brevemente as principais
disciplinas que a compes. Para concluir foi apresentada a importncia da
Tecnologia de informao (TI) no processo de construo e disseminao do
conhecimento nas organizaes, de forma a aumentar o alcance e a velocidade da transferncia do conhecimento.
http://www.cotianet.com.br/bit/hist/Default.htm
Charles Babbage Institute http://www.cbi.umn.edu/
http://www.daniel.prof.ufu.br/icc.html
Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5. Edio. So Paulo: Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5.
Edio. So Paulo: Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5. Edio. So Paulo: Editora Bookman. 2000.
Parte
Representao e
processamento da informao
Captulo
Representao e
processamento da
informao
Introduo
Neste captulo sero apresentadas as formas de representao das informaes nos computadores. Assim como o ser humano tem a fala e a escrita para
representar as informaes, o computador tem a sua prpria representao
para que possa trat-las e process-las. Iniciamos apresentando a unidade
bsica de representao de informao no computador, o bit, e mostramos
tambm a representao de bytes (bloco de bits), de letras e nmeros.
Em seguida apresentamos uma introduo ao sistema binrio e a forma
como os nmeros so representados e mostramos como realizamos as operaes matemticas em um computador. Finalmente apresentamos uma introduo lgica digital mostrando os tipos mais comuns de portas lgicas, que
estabelecem a forma de como um computador pode processar as informaes.
Para um computador qualquer informao deve ser codificada com
uma linguagem apropriada para seu mundo, que diferente do mundo dos
humanos. Para o mundo eletrnico o ideal que essa linguagem tenha dois
estados, ligado e desligado, ou simplesmente, 0 e 1. Por isso a base mais
importante para o computador a base 2, da o nome binrio.
Vamos comear com algumas definies sobre a representao de informaes em um computador.
bit: unidade bsica de representao digital.
byte: conjunto de 8 bits.
nybble: um bloco de 4 bits.
palavra ou word: conjunto de 32 bits
meia-palavra ou halfword: um bloco de 16 bits
palavra-dupla ou doubleword: conjunto de 64 bits
A definio de palavra no est claramente definida. Ela geralmente
se refere ao nmero de bits usados simultaneamente em um computador.
42
FERNANDEZ, M. P; CORTS, M. I.
Atualmente a maioria dos computadores usa uma palavra de 32 bits. No entanto, cada vez mais, arquiteturas de 64 bits esto sendo construdas o que
muda o tamanho da palavra. Entretanto, por ser o mais comum, ao longo
desse texto usaremos palavra com 32 bits.
1. Identificando os bits
conveniente identificarmos cada bit individualmente para que possamos
referenci-los pelo nome. Daremos um rtulo para cada bit, da direita para a
esquerda, sendo 0 (zero) o ndice mais direita do bloco.
Por exemplo, suponha que voc tenha um nmero com n-bits.
Poderamos identific-los como: bn-1, bn-2, ...., b1, b0.
Tambm comum definir mais dois termos para um bloco com n-bits:
bit menos significativo ou least significant bit: Bit b0. comum abreviar
como LSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte menos significativo).
bit mais significativo ou most significant bit: Bit bn-1. comum abreviar
como MSb com o 'b', em minsculas para representar bit. (Quando estiver
em letras maisculas, isso significar byte mais significativo).
Vale lembrar que o termo menos significativo no significa que ele seja
"menos importante". Na verdade essa denominao est relacionada com o
menor ndice de sua posio. Todos temos cincia que alterar esse bit (ou
seja, mud-lo de 0 para 1, ou 1 para 0) iria afetar o valor global assim como
qualquer outro bit. Da mesma forma, o bit "mais significativos" no significa
mais importante, mas apenas que seu ndice o maior do bloco.
2. Strings e vetores
7.
Introduo Computao 43
Ento, o nome de string de bits pode ser bom, porque pode ser usado para qualquer comprimento de uma string. So igualmente string de bits
os chamados vetores de bit. Neste caso, um vetor geralmente significa uma
"coordenada" com n argumentos. Por exemplo, quando voc trabalha com
grficos em 2 ou 3 dimenses, as coordenadas so escritas como (2,3) ou
(2,3,1), ento, 0010 poderia significar (0,0,1,0), ou seja, uma coordenada em
quatro dimenses.
Claro que, quando as pessoas falam de vetores eles geralmente no
pensam nisso como uma coordenada, mas sim em uma sequncia de valores
com posies numeradas. Em todo o caso, vamos cham-lo simplesmente
de strings.
3. Representao de dados
Imagine que voc est em um teclado, no entanto, um teclado horrvel. Esse
teclado tem apenas duas teclas para se usar: 'a' e 'b'. impossvel escrever
uma mensagem para algum usando apenas duas teclas, afinal, quantas palavras s usam as letras' a 'e' b '? No muitas.
No entanto, ainda possvel enviar mensagens. Como? Voc pode
codificar a mensagem utilizando um cdigo, por exemplo, o cdigo ASCII8.
O cdigo ASCII atribui um nmero a cada letra ou smbolo do teclado. Por
exemplo, 'A' codificado para o valor numrico 65 (na base 10) ou 0100 0001
(na base 2). Computadores codificam em binrio, o que significa, que todas as
letras podem ser codificados em 0's e 1's, mais simples para um computador
entender. Se considerarmos 'a' como 0 e 'b' como 1, ento voc pode codificar
a letra A como "abaa aaab" ou 0100 0001 em binrio.
ASCII: acrnimo de
American Standard
Code for Information
Interchange, padro de
representao binria de
letras e nmeros.
8.
44
FERNANDEZ, M. P; CORTS, M. I.
Atividades de avaliao
1. Pesquise outros tipos de representao de nmeros e caracteres.
Captulo
Sistemas de Numerao
Um sistema de numerao um conjunto de caracteres e regras matemticas usadas para representar um nmero.
Os sistemas numricos nasceram com o incio de nossa civilizao.
Alguns exemplos so o sistema numrico romano (numerais romanos), o sistema numrico chins, o sistema numrico grego, e o sistema numrico rabe. Nossos nmeros contemporneos so baseados nesse ltimo.
O sistema mais usado a base 10 ou o sistema decimal, que usa uma base
10 para operaes e conseqentemente muito simples se usar (que ns temos
usado desde o pr-escolar!). Os outros sistemas so o sistema hexadecimal e o
sistema binrio. Estes sistemas usam a base 16 e a base 2, respectivamente. Os
sistemas hexadecimais e binrios sero discutidos a seguir.
Por que ns usamos a base 10? Olhe suas prprias duas mos e conte
seus dedos! A palavra dgito se origina de digitus, palavra latina que significa
dedo. Ns todos aprendemos na escola que cada dgito em um nmero corresponde ao valor de seu lugar. Por exemplo, 245 seria (2 x 100) + (4 x 10) +
(5 x 1) = 245. Graficamente temos:
100
2
10
4
1
5
1. O sistema binrio
O sistema binrio9 tem uma base 2, significando que do valor de cada coluna
2 vezes o valor da coluna direita, comeando com o dgito mais a direito,
com o valor igual a 1. Usamos apenas os dgitos 0 e 1. Por exemplo, o nmero
111101101 representado graficamente temos:
9.
46
FERNANDEZ, M. P; CORTS, M. I.
256
1
128
1
64
1
32
1
16
0
8
1
4
1
2
0
1
1
Assim ns temos:
(1 x 256) + (1 x 128) + (1 x 64) + (1 x 32) + (0 x 16) + (1 x 8) + (1 x 4) + (0 x 2)
+ (1 x 1) = 4096 + 256 + 128 + 64 + 32 + 8 + 4 + 1 = 493
Assim, 111101101 no sistema binrio igual a 493 no sistema decimal.
O sistema binrio til nos computadores porque nos circuitos eletrnicos temos dois estados distintos, ligado ou desligado, representando 1 ou 0.
Outra vantagem do sistema binrio porque o transistor (que executa a funo de chave no circuito eletrnico) consome um mnimo de energia quando
ele funciona nos estados de corte e saturao, respectivamente 0 ou 1. Isso
permite circuitos mais densos e ocupando menos espaos, possibilitando dispositivos mais compactos, mais velozes e mais econmicos (usando menos
pilha, por exemplo).
256
0
128
0
64
1
32
1
16
0
8
0
4
1
2
1
1
0
Apresentamos o mtodo para converter nmeros de binrio ao decimal. Como podemos fazer o inverso? Vamos mostrar a converso do nmero 500 em binrio. Utilizando nosso diagrama de potencias de dois, devemos
escrever os valores nos lugares da esquerda para a direita at completar o
valor desejado.
Como 500 menor que 512 o primeiro dgito ser 0. Escrevemos ento,
0 sob o valor 512.
512
0
256
128
64
32
16
Introduo Computao 47
256 menor que 500, assim escrevemos um 1 sob 256 e subtramos 256 de
500. Agora vamos usar o resultado (244) na posio seguinte. Assim temos:
512
0
256
1
128
64
32
16
256
1
128
1
64
32
16
8
0
4
1
2
0
1
0
256
1
128
1
64
1
32
1
16
1
2. O sistema hexadecimal
O sistema hexadecimal10 tm uma base 16, significando que cada coluna
igual a 16 vezes a coluna a sua direita, comeando com o valor 1 na coluna
mais a direita. Com isso temos:
65536
0
4096
4
256
A
16
3
1
8
Sistema hexadecimal:
Sistema numrico com
base 16.
10.
48
FERNANDEZ, M. P; CORTS, M. I.
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
8
9
A
B
C
D
E
F
1000
1001
1010
1011
1100
1101
1110
1111
4096
256
16
0000
0100
1010
0011
0100
16
Multiplicamos agora cada dgito hexadecimal pelo nmero em seu cabealho (lembre-se que o A-F representa 10-15 respectivamente)
256 x 7 + 16 x 14 (E) + 1 x 15 (F)
Totalizando o resultado, temos:
1792 + 224 + 15 = 2031
Assim chegamos ao valor final: 7EF em hexadecimal igual a 2031
em decimal.
Converter do decimal para hexadecimal um pouquinho mais complicado. Para este exemplo usaremos 293. Inicialmente escrevemos a tabela com
os valores em decimal na ordem da direita para a esquerda. Cada dgito a esquerda deve ter o valor de 16 vezes maior que o da direita, comeando com 1.
4096
0
256
16
Introduo Computao 49
Colocamos um 0 sob o valor 4096 da tabela que maior do que o nmero a ser convertido, 2031. Dividimos o nmero a ser convertido por 256,
que o valor mais elevado da tabela e menor do que o nmero a ser convertido. Neste caso, 293 divididos por 256 igual a 1, com um resto 37. Em seguida,
escrevemos o resultado (1) e usamos o resto (37) para o clculo seguinte.
4096
0
256
1
16
Dividir agora o resto do ltimo clculo (37) pelo valor seguinte (16). 37
por 16 igual a 2 com um resto 5. Escrevemos o resultado (2) sob 16 e dividimos o resto (5) pelo valor seguinte (1)
4096
0
256
1
16
2
5 divididos por 1 igual a 5 sem resto, assim colocamos o valor (5) sob
1 e est concludo. Assim:
4096
0
256
1
16
2
1
5
Atividades de avaliao
1. Converta o nmero 10110011 binrio em hexadecimal e decimal.
2. Converta o nmero 863 decimal em binrio e hexadecimal.
3. Converta o nmero 37D2 hexadecimal em binrio e decimal.
Captulo
71
Aritmtica binria
As operaes aritmticas11 so possveis em nmeros binrios assim como
nos nmeros decimais. De fato os procedimentos so completamente similares em ambos os sistemas, assim como em qualquer base de numerao. A
multiplicao e a diviso no so realmente difceis, mas como a no familiaridade com os nmeros binrios causa bastante dificuldade para os humanos.
Entretanto, como iremos mostrar, para os computadores extremamente fcil.
Observar que ao adicionar dois 1 produz um resultado com dois dgitos, significa que ns temos um vai um para a posio seguinte, da mesma
forma como fazemos na adio decimal. Vejam o exemplo abaixo de uma
soma binria e a mesma soma em decimal.
1 1
3
+ 1 0 1 + 5
-------- ---1000
8
Aritmtica binria:
operaes com dois
ou mais nmeros na
representao binria sem
necessidade de converso
para outra base
11.
52
FERNANDEZ, M. P; CORTS, M. I.
11111
00010011
19
+ 00111110 + 62
- ----------
- ------- 01010001 81
1.2. Subtrao
A subtrao semelhante adio, sendo que agora, se no houver quantidade para subtrair fazemos um emprstimo da ordem acima.
-1
1
0
1
5
1 1
- 3
------- ------ 0 1 0
2
Introduo Computao 53
1.3. Multiplicao
A multiplicao consiste em uma srie de somas. Operamos da mesma forma
que uma multiplicao na base 10.
101
5
x10 x 2
- -----
- ------
000 10
101
-----
1010
23
3
----69
54
FERNANDEZ, M. P; CORTS, M. I.
1.4. Diviso
A diviso consiste em uma srie de subtraes binrias, semelhante a uma
diviso na base 10.
1 1 0 6
1 0 2
-----------
---1 1 0
3
- 1 0 (10)
-------010
- 1 0 (01)
-------0 0 0 (11)
Introduo Computao 55
roda vai de 0 a 9, a roda a sua esquerda diminui uma posio. Quando todas
as rodas so 0, ns interpretamos o valor como o inteiro 0 (zero).
Vamos supor agora que ns temos um circuito de adio que possa
armazenar nmeros inteiros com 4 dgitos (imagine um odmetro com 4 dgitos). Vamos realizar a soma (-2) + 5 = 3. Vamos considerar que a sequncia
0000 seja igual a 0. Nesse circuito vamos representar o valor (-2) com a seqncia 9998, isto , diminumos 2 unidades de 0000, e o valor (5) com 0005,
para ento, realizamos a soma tradicional. Primeiramente adicionamos 8 e 5
que d 3 e vai 1. Em seguida, adiciona 9 e 1, dando 0 e vai 1. Para os demais,
o valor ser 0 com vai 1, assim que o resultado final ser 0003 positivo. Este
resultado correto, tanto pelo valor como pelo sinal.
importante observar que na representao de complemento de 10
com uma quantidade limitada de dgitos, no podemos usar toda a faixa de valores. Nesse exemplo, os valores 0001 a 4999 representam nmeros inteiros
positivos, enquanto os valores 5000 a 9999 representam nmeros negativos,
respectivamente de -4999 a -1. Outro problema o estouro do registro, se
somarmos 1 ao nmero 4999 no teremos 5000, mas -4999. Um circuito extra
pode detectar essa ocorrncia e corrigir o valor.
Vamos terminar esta seo dando um mtodo simples para computar o valor absoluto de um inteiro nessa representao. Basta tomar cada
dgito individual, substitu-lo por 9 menos o seu valor original, e ento no
final, adiciona 1 ao nmero obtido. Assim por exemplo, o nmero 9998
transforma-se em 0001 que somando 1 fica 0002 negativo, que a resposta correta.
Complemento de
dois: Tcnica para
possibilitar a soma e
subtrao de nmeros
positivos e negativos na
representao binria
12.
56
FERNANDEZ, M. P; CORTS, M. I.
S
0
Mantissa
8 9
31
Introduo Computao 57
Sinal
Expoente
Mantissa
Implcito
Total (bits)
Simples
Dupla
1
1
8
11
23
52
1
1
32
64
Atividades de avaliao
1. Converta os nmeros decimais 19 e 32 em binrios, calcule a soma deles
em binrio e converta novamente para decimal para conferir o resultado.
2. Converta os nmeros decimais 14 e -8 em binrios complemento de dois,
calcule a soma deles em binrio e converta novamente para decimal para
conferir o resultado. (dica: use um nmero de 5 bits).
Captulo
8
Portas lgicas
1. Portas bsicas13
Portas bsicas so portas fundamentais que podem formar outras portas com
funes especiais. As portas bsicas so: E, OU e NO.
Portas bsicas:
dispositivo que implementa
funes lgicas bsicas
para todas as funes
lgicas.
13.
60
FERNANDEZ, M. P; CORTS, M. I.
A tabela de verdade para uma porta E com duas entradas mostrada abaixo:
x
0
0
1
1
y
0
1
0
1
z
0
0
0
1
A tabela de verdade para uma porta OU com duas entradas olha como esta:
x
0
0
1
1
y
0
1
0
1
z
0
1
1
1
Introduo Computao 61
y
1
0
2. Portas compostas14
s vezes, prtico combinar funes das portas bsicas em portas mais
complexas a fim reduzir o espao em diagramas de circuito. Nesta seo, ns
mostraremos algumas portas compostas junto com suas tabelas de verdade.
Portas Compostas:
estrutura de lgica
complexa implementado
atravs da associao de
vrias portas bsicas.
14.
y
0
1
0
1
z
1
1
1
0
62
FERNANDEZ, M. P; CORTS, M. I.
y
0
1
0
1
z
1
0
0
0
Introduo Computao 63
A tabela de verdade para uma porta OU-EXCLUSIVO com duas entradas mostrada abaixo:
x
0
0
1
1
y
0
1
0
1
z
0
1
1
0
Meio-somador: Circuito
que realiza a soma de um
bit utilizando portas lgicas
bsicas.
15.
y
0
1
0
1
z
0
1
1
0
c
0
0
0
1
64
FERNANDEZ, M. P; CORTS, M. I.
Somador completo:
Circuito somador
que realiza a soma
considerando vai-um. O
somador completo pode
ser cascateado para
formar um somador de
nmero contendo vrios
bits.
16.
Somador Completo16
Apesar do meio somador informar o bit de vai um, ele no considera o vai um
do bit anterior, assim ele s pode ser usado para somar o bit menos significativo.
Para realizar uma soma completa precisamos utilizar o circuito somador completo que tanto informa o vai-um para o prximo bit, como considera
o vai-um do bit anterior da soma. O diagrama do somador completo mostrado abaixo:
Introduo Computao 65
Sntese do captulo
Este captulo apresentou as formas de representao de informaes em um
computador. Foi mostrado a unidade bsica de informao, o bit, e as representaes de dados em byte, caracteres e nmeros. Foi apresentada uma
introduo ao sistema binrio e a representao de nmeros e operaes
matemticas. Finalmente mostramos uma introduo lgica digital e as principais portas lgicas existentes assim como a composio de portas mais
complexas.
Atividades de avaliao
1. Construa um somador de 4 bits utilizando blocos somadores-completos
mostrado na figura abaixo:
66
FERNANDEZ, M. P; CORTS, M. I.
Referncias
THOMAS FLOYD. Sistemas Digitais. 9 Ed. Editora: Bookman, 2007.
RONALD J. TOCCI, NEAL S. WIDMER, GREGORY L. MOSS. Sistemas
Digitais: Princpios e Aplicaes. 10 Ed. So Paulo: Editora Pearson Prentice-Hall, 2007.
ANDREW S. TANENBAUM. Organizao Estruturada de Computadores. 5 Ed. So Paulo: Editora Pearson Prentice-Hall, 2006.
JOHN L. HENNESSY, DAVID A. PATTERSON. Organizao e Projeto de
Computadores. 3 Ed. So Paulo: Editora Campus, 2005.
Parte
Arquitetura de computadores
Captulo
9
Arquitetura de
computadores
Introduo
Neste captulo ser apresentada a arquitetura de um computador genrico
com a funo de cada um dos seus componentes principais. Ser apresentada a relao entre hardware17 e software18 mostrando os fatores relevantes
que influenciam o desempenho.
Sero apresentados a estrutura da Unidade Central de Processamento
(CPU) com seus principais componentes, alm das caractersticas que determinam a sua capacidade de processamento.
Tambm sero mostrados as caractersticas dos diversos tipos de memria e a interao de cada uma com os demais componentes do computador. Finalmente, sero mostrados os diversos dispositivos de entrada e sada
existentes que permitem a utilizao dos computadores pelo ser humano de
forma confortvel e eficaz.
Os primeiros computadores do mundo eram as pessoas. Por isso, para
chamar os primeiros os computadores mecnicos ou eletrnicos foram dados
nomes das pessoas que executavam o trabalho de computar. O computador era uma profisso (exercida predominante por mulheres) cujo trabalho
era executar os clculos repetitivos exigidos para computar tabelas de navegao, cartas de mars e posies planetrias.
Imagine que voc tenha um trabalho de ficar hora aps hora, dia aps
dia, fazendo nada alm de computar multiplicaes. Com o tempo o cansao
iria conduzir negligncia e ao erro. Por isso, durante vrios sculos os inventores tm procurado por uma maneira que mecanize (isto , encontrar um
mecanismo que pudesse executar) esta tarefa.
A mquina que voc pensa ser um computador chamado mais precisamente computador eletrnico digital de uso geral. de uso geral porque
pode ser programado para executar uma grande variedade de aplicaes
(que fazem a diferente de um computador de propsito especfico, projetado
para executar somente uma funo).
Hardware: conjunto de
componentes fsicos de
um computador como
processador, memria,
disco, etc.
17.
Software: conjunto de
comandos lgicos que
fazem um computador
funcionar como programas,
sistema operacional, etc.
18.
70
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 71
CPU: acrnimo de
Central Processing Unit
ou Unidade Central de
Processamento. Unidade
responsvel por realizar
o processamento no
computador.
19.
Memria:
componente construdo
com material
semi-condutor ou
magntico responsvel
por armazenar,
temporariamente ou
permanentemente, os
dados em um computador.
20.
72
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 73
Atividades de avaliao
1. Observando a Figura 17 avalie os componentes de uma arquitetura de
computadores que podem limitar o desempenho. Proponha solues
para resolver esse gargalo.
2. Pesquise sobre a histria do computador e liste as invenes mais importantes.
3. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de processamento numrico (muitas operaes matemticas)?
4. Qual mdulo de uma arquitetura de computadores deve ser mais rpido
para melhorar o desempenho de um sistema de armazenamento de dados (muitos dados guardados e consultados)?
Captulo
10
Unidade central de
processamento e
memria
1. Processador
O processador o componente do computador que faz o processamento
real dos dados. Um microprocessador uma unidade do processador central
(CPU) encapsulada dentro de um microchip. o crebro do computador,
mas devemos considerar ser um termo um pouco exagerado pois ele realmente apenas um circuito eletrnico constitudo por interruptores que executam instrues simples mas com muita rapidez.
O circuito integrado do microprocessador contm uma placa de silcio
que contm milhes de transistores e outros componentes fabricados no prprio silcio. Como os transistores no chip so muito minsculos, mesmo uma
pequena descarga de corrente, como a eletricidade esttica da mo do tcnico, pode destru-lo. Eis porque todos os circuitos integrados devem ser manipulados de forma que minimize a possibilidade de descarga esttica atravs
de acessrios apropriados (pulseira aterrada).
Por causa da grande quantidade de circuitos encapsulados em uma
rea to minscula, a energia necessria para seu funcionamento gera muito
calor e exige sistemas de resfriamento para evitar o superaquecimento do
chip. Na placa me de um computador o chip do processador central coberta por um grande dissipador de calor em metal com aletas para permitir que o
fluxo de ar dos ventiladores de refrigerao retirem o calor gerado pelo chip.
76
FERNANDEZ, M. P; CORTS, M. I.
o computador funciona; mas, o pulso de disparo no pode funcionar mais rapidamente do que a capacidade de velocidade dos chips. Com a melhoria da
tecnologia de construo dos chips, a velocidade em que eles podem funcionar
aumentou, aumentando a velocidade de processamento. Em razo disso, atualmente o processador central funciona mais rapidamente do que o barramento
da placa me, que geralmente usa uma frao da taxa do processador central.
Herts (Hz):
unidade de medida de
freqncia, significando
quantidade de ciclos por
segundo.
21.
M egah e r tz (MHz):
unidade de medida de
freqncia, significando
quantidade de milhes de
ciclos por segundo.
22.
G i g a h e r t z (GHz):
unidade de medida de
freqncia, significando
quantidade de bilhes de
ciclos por segundo.
23.
Introduo Computao 77
C I S C : processador
com conjunto de instruo
complexa.
24.
R I S C : processador
com conjunto de instruo
reduzida.
25.
78
FERNANDEZ, M. P; CORTS, M. I.
2. Barramento de dados
26.
O barramento de dados a estrada eltrica com vrias vias que ligam o processador central aos outros componentes da placa me, tal como memria
RAM, disco rgido e controladores de I/O. Esse barramento chamado Front
Side Bus (FSB)26. O tamanho da palavra do barramento de dados determina
quantos bits podem ser movidos simultaneamente ao longo dele, tipicamente
nos computadores modernos usa-se 32 bits ou 64 bits.
A velocidade de relgio dos outros componentes ligados ao barramento de dados na placa me mais lenta do que a velocidade de relgio do
processador central. Por isso comum na especificao de um computador
diferenciar a velocidade do processador, tipicamente na ordem de gigahertz, e
a velocidade do barramento, tipicamente centenas de megahertz.
3. Memria
A memria de um microcomputador o lugar onde os programas e os dados
so armazenados quando esto sendo usados. Existem vrios tipos de memrias em um microcomputador que sero comentadas a seguir:
Introduo Computao 79
plo, causado por um relmpago na rede eltrica) pode fazer com que o RAM
perca seus dados. Por esse motivo, a RAM chamada de voltil (ou aquilo
que se evapora facilmente) e por isso importante salvar frequentemente seu
trabalho em um armazenamento mais permanente, tal como um disco rgido.
O tipo especfico de RAM usado em um computador poderia ser DRAM
(RAM Dinmica), ou SDRAM (RAM Dinmica Sncrona) ou RDRAM (RAM
Dinmico Rambus), mas no se preocupe sobre os detalhes. Apenas tenha
cuidado para escolher o modelo apropriado para seu sistema quando voc
compra mais memria RAM.
O RAM instalado geralmente na
placa me em soquetes como DIMMs (Dual
Inline Memory Module), pequena placa de
circuito impresso com chips de memria
RAM (Figura 19). A arquitetura da placa
me limitar a quantidade de memria RAM
extra voc pode adicionar. O tamanho da
memria RAM medido em bytes, quiloFigura 19 - Mdulo DIMM de
bytes, megabytes, etc.
Memria RAM (Spansion)
80
FERNANDEZ, M. P; CORTS, M. I.
Captulo
11
Dispositivos de
armazenamento
Os dispositivos de armazenamento, tais como unidades de disco, armazenam
programas e arquivos de dados quando no esto sendo usados. Ao contrrio
das memrias RAM, os dados armazenados nestes dispositivos no desaparecem quando a energia desligada.
Os tipos principais de dispositivos de armazenamento so: discos magnticos, disco de estado-slido e disco tico.
1. Disco rgido
Um disco rgido um dispositivo mecnico constitudo por discos de metal e
revestidos com xido de metal que permite ser magnetizado. Uma cabea
pequena de leitura/gravao eletromagntica na extremidade de um brao
mvel magnetiza pontos minsculos no disco para armazenar dados. Todos
esse componente so lacrados em uma caixa hermeticamente fechada. A
distncia entre o disco e a cabea de leitura/gravao comparvel ao de um
gro de poeira, caso exista alguma sujeira na superfcie do disco poder danificar definitivamente a unidade de disco.
Os pontos magnticos magnetizados em
um sentido representam o valor binrio um e
os pontos magnetizados no sentido oposto representam um zero. A mesma cabea eletromagntica pode mais tarde detectar o sentido
do campo magntico dos pontos quando o disco passa debaixo da cabea, identificando se o
dado 0 ou 1 conforme o sentido de magnetizao. A Figura 20 mostra um disco rgido com Figura 20 - Disco Rgido IBM
seus principais componentes.
Os discos rgidos so avaliadas por sua capacidade de armazenamento,
tipicamente dezenas ou centenas de gigabyte. Outra mtrica de avaliao
quanto rapidamente os discos giram (em RPM, Rotaes por Minuto), que
82
FERNANDEZ, M. P; CORTS, M. I.
2. Disquete flexvel
Um disquete flexvel um disco plstico flexvel de mylar (tipo de plstico)
coberto com xido de metal que magnetizado atravs de uma cabea magntica, de forma semelhante ao disco rgido. As disquetes flexveis tem 3.5
de dimetro e dispe de uma capacidade de 1.44 MB para armazenamento.
O disquete dispe de um obturador que protege a superfcie de disco da sujeira e das impresses digitais, o obturador desliza expondo a mdia
magntica quando o disco introduzido na unidade de leitura de modo que as
cabeas de leitura/gravao possam alcanar o disco magnetizvel.
Uma trava plstica pode ser deslizado para desbloquear um furo no
canto do disquete para proteger o disco de escrita (assim dados no podem
ser acidentalmente apagados). O tempo de acesso muito mais lento do que
um disco rgido, e a vida til significativamente mais curta.
As unidades de disquete flexvel esto caindo em desuso. A maioria dos
computadores novos no dispe dessa interface. O motivo desse abandono a reduo de custo de outras mdias com maior capacidade, como CD
Regravvel, DVD Regravvel e Memria Flash (pen drive), com capacidades
de centenas de megabytes a vrios gigabytes.
Introduo Computao 83
4. CD-ROM
Um CD-ROM um dispositivo de memria tica com capacidade de at 700
MB. O tico significa que a luz usada para ler os dados do disco (no uma
mdia magntica). Os CD-ROM so muito baratos se produzidos em grandes
quantidades e a maioria de software so distribudos em CD-ROM.
Os dados so armazenados em um CD-ROM atravs de pequenos poos gravados na camada plstica interna que aluminizada e recoberta com
uma outra camada plstica transparente para proteo. Um raio laser projetado sobre o disco girando reflete uma sequncias dos poos e no-poos que
converte em dados zero e um.
O desempenho de CD-ROM so avaliadas pela velocidade, tal como
32x, que significa 32 vezes mais rpido do que a primeira gerao de CD-ROM.
84
FERNANDEZ, M. P; CORTS, M. I.
4.2. DVD
Os discos de DVD-ROM so mdias ticas similares aos CD-ROM, mas com
uma capacidade de armazenamento maior. Os DVD permitem gravao de
4.7 GB de dados em mdia de camada nica ou 8.54 GB em camada dupla.
Como um CD, os DVD tem igualmente tem variaes de gravao
como DVD-R para o gravvel e DVD-RW para o regravvel. As velocidades
de leitura de DVD so avaliadas nos termos de quantas vezes ele mais rpido que os drives originais de DVD, por exemplo, um disco 6x equivale a dizer
que ele 6 vezes mais rpido que os primeiros DVD.
Atividades de avaliao
1. Relacione os principais componentes de uma CPU e descreva a funo
de cada um.
2. Por que importante para um computador teu um relgio nico?
3. Diga a diferena entre memria RAM e memria ROM?
4. Qual a forma de codificao de dados que podemos usar em discos rgidos
e flexveis e unidade de CD ou DVD?
Captulo
12
Sistemas de entrada
e sada
Em computao, o sistema de entrada/sada, em ingls Input/Output, tambm
conhecido pela sigla I/O, referem a comunicao entre um sistema de processamento de dados (como um computador) e o mundo exterior, seja ele um ser
humano ou um outro sistema de processamento de dados. As entradas so
os sinais ou os dados recebidos pelo sistema, e as sadas so os sinais ou os
dados emitidos por ele.
Os dispositivos de I/O so usados por uma pessoa (ou por outro sistema) para comunicar-se com um computador. Por exemplo, teclados e mouses so dispositivos de entrada de um computador, enquanto o monitores e
impressoras so considerados dispositivos de sada de um computador. Os
dispositivos para comunicao entre computadores, tais como modem e placas de rede, so tipicamente para entrada e sada.
Em um computador a combinao do processador central e da memria central (isto , a memria que o processador pode ler e escrever a diretamente) considerada o crebro de um computador. Qualquer transferncia
de informao entre esse bloco e qualquer outra unidade considerada tambm I/O, como por exemplo, uma unidade de disco magntico ou tico.
Abaixo vamos discutir a variedade de dispositivos usados para a entrada e a sada do computador.
1. Dispositivos de Entrada
1.1. Teclado
O teclado de computador utilizado para incluir informaes de texto no computador, como se faz na datilografia. O teclado pode tambm ser usado para inserir
os comandos que controlam o computador para executar determinadas aes.
Os comandos so escolhidos tipicamente de um menu na tela usando um mouse, mas geralmente h alguns atalhos de teclado para esses comandos.
86
FERNANDEZ, M. P; CORTS, M. I.
2. Dispositivos Apontadores
As interfaces grficas (chamadas GUI) exigem algum tipo do dispositivo para
posicionar o cursor na tela. Os dispositivos apontadores tpicos so: mouse,
almofada de toque e trackball. Os dispositivos apontadores, tais como mouse,
se conectaram ao PC atravs de portas seriais (mais antigos), porta PS/2 ou
a porta USB (os mais novos).
2.1. Mouse
O dispositivo apontador mouse apoia-se em sua
superfcie de trabalho, como uma mesa, e movido com sua mo. Nos mouses mais velhos uma
esfera na parte inferior rola na superfcie enquanto
voc move o mouse, e os rolos internos detetam o
movimento da esfera e transmitem a informao ao
computador atravs do cabo. O nome mouse (rato Figura 22 - Mouse
em ingls) vem da semelhana do dispositivo em com fio (Clone)
forma de concha com um cabo. A Figura 22 mostra
um mouse tradicional.
O mouse tico (mais recente) no usa uma esfera de rolamento, mas
uma luz e um sensor tico para detetar por reflexo o movimento do mouse
seguindo a rugosidade da superfcie da mesa. Os mouses ticos evitam o problema de uma esfera suja no mouse, que faz com que os mouses antigos percam a preciso se a esfera e os rolos internos no so limpos frequentemente.
Um mouse pode ser sem fio, comunicando-se com o computador atravs das ondas de rdio (geralmente usando o protocolo Bluetooth), tornando
desnecessrio o cabo para ligar ao computador (no entanto, ele vai precisar
de baterias internas).
Introduo Computao 87
Um mouse inclui uma ou vrias teclas (as vezes uma roda) para permitir
que os usurios interajam com a interface grfica. O mouse tradicional de PC
tem duas teclas para acionar comandos, e a roda serve para deslizar a imagem na tela do computador.
2.3. Trackball
O trackball como um mouse de cabea para baixo, com a esfera situada
na parte superior. Voc usa seus dedos para rolar o trackball, e os rolos internos (similares ao de um mouse) detetam o movimento que transmitido ao
computador. Os trackballs tm a vantagem sobre mouses porque o corpo do
trackball permanece estacionrio em sua mesa, assim que voc no precisa
tanto espao para usar o trackball.
3. Tablet grfico
Um tablet grfico consiste em uma rea eletrnica de escrita e uma pena especial que escreve sobre ela. Os tablets grficos permitem que artistas criem
imagens grficas com movimentos e as aes similares aos de ferramentas
de desenho tradicionais. A pena do tablet grfico sensvel a presso, assim
que pressionando obtemos um trao mais grosso ou mais fino.
88
FERNANDEZ, M. P; CORTS, M. I.
4. Scanner
Um scanner um dispositivo que l imagens em uma pgina impressa em papel produzindo uma imagem feita de pixis minsculos dos valores diferentes
de brilho e da cor que so representados numericamente e transmitidos ao
computador digitalmente. Os scanners fazem a leitura de figuras, mas podem
tambm fazer a leitura de pginas do texto que, atravs de software OCR
(reconhecimento de carter tico) que vai identificar as formas individuais das
letras e criar uma linha de texto da pgina em formato digital.
5. Microfone
Um microfone pode ser ligados a um computador atravs de uma entrada de
som. O som digitalizado convertido em nmeros digitais que representam o
som analgico original podendo ser armazenado no computador e reproduzido mais tarde.
6. Dispositivos de sada
6.1. Monitor CRT
O dispositivo de sada tradicional de um computador para um ser humano
um monitor CRT (tubo de raio de catdico). Assim como um aparelho de televiso, o monitor CRT contem um grande tubo de raio de catdico que projeta
um feixe de eltron em direo tela gerando uma imagem dos pontos coloridos no interior da tela. Os monitores do CRT so pesados e consomem mais
energia que as telas LCD.
O tamanho de tela do monitor medido diagonalmente em polegadas.
Nem toda a rea da tela pode ser til para mostrar imagem, assim muitas
vezes tambm indicada a rea visvel. A resoluo do monitor o nmero
mximo de pixis que pode mostrar horizontalmente e verticalmente (como
800 x 600, ou 1024 x 768, ou 1600 x 1200).
A maioria de monitores podem indicar diversas resolues abaixo de
seu valor mximo. Quanto maior a quantidade de pixeis possveis maior a
qualidade do monitor. Os pixis so os pontos pequenos que fazem a imagem
na tela. O afastamento dos pontos minsculos do fsforo da tela chamado
distncia entre pontos, tambm conhecido como dot pitch (dp). Uma tela com
distncia entre pontos menor produz umas imagens mais definida.
Introduo Computao 89
90
FERNANDEZ, M. P; CORTS, M. I.
Introduo Computao 91
7.2. Modem
Modem vem do acrnimo Modulador/Demodulador e consiste em uma interface que serializa os dados e transmite atravs de uma linha telefnica. Um
modem usando tanto para transmitir como para receber, e caso a linha telefnica seja de boa qualidade pode alcanar distncias bastante grandes.
A velocidade mxima 56 Kbps, e cada vez mais tem sido substitudo por
dispositivos de alta velocidade.
92
FERNANDEZ, M. P; CORTS, M. I.
Sntese do captulo
Este captulo apresentou a arquitetura de um computador genrico e a funo dos diversos componentes que o compe. Foi mostrado a arquitetura da
Unidade Central de Processamento (CPU), seus respectivos componentes
e suas funes. Foram mostrados os diversos tipos de memrias detalhando suas funes conforme suas caractersticas, alm de mostrar suas aplicaes na arquitetura proposta. Finalmente, foram mostrados os diversos
dispositivos de entrada e sada que facilitam a utilizao do computador pelos seres humanos.
Atividades de avaliao
1. Qual o dispositivo de entrada e sada de maior velocidade? Por que ele
pode ter essa velocidade?
2. Para melhorar a velocidade na comunicao entre computador e dispositivos de entrada/sada usa-se um mecanismo chamado DMA (Direct
Memory Access). Pesquise e explique suas caractersticas e funcionamento.
3. Comente as vantagens e desvantagens de se transmitir dados em paralelo
ou serial entre dispositivos de entrada e sada e computador.
@
Introduo Computao 93
Referncias
FERNANDO DE CASTRO VELLOSO. Informtica: Conceitos Bsicos.
7 Ed. Editora: Campus, 2004.
JOHN L. HENNESSY, DAVID A. PATTERSON. Arquitetura de Computadores: Uma Abordagem Quantitativa. 4 Ed. Editora: Campus, 2008.
WILLIAN STALLINGS. Arquitetura e Organizao de Computadores. 5
Ed. Editora: Pearson, 2002.
Parte
Conjunto de instrues
e endereamento
Introduo Computao 97
Introduo
O termo software faz parte cada vez mais do vocabulrio das pessoas com
os mais diversos interesses, seja no contexto do profissional (software de escritrio), ou de entretenimento (software de jogos). De forma geral, software
o conjunto de produtos que inclui principalmente programas de computador,
geralmente acompanhados de manuais, especificaes e outros documentos.
Por outro lado, o conjunto de instrues que compem o programa a
ser seguido e executado pelo computador, tambm chamado de software,
assim como o comportamento observado a partir da sua execuo.
De forma geral, as instrues que compem os programas so escritas
utilizando uma linguagem de programao de alto nvel de abstrao. Uma
linguagem classificada como sendo de alto nvel indica que possui caractersticas que a torna mais prxima da linguagem natural humana. Em contrapartida, uma linguagem dita de baixo nvel, mais prxima da linguagem compreendida pelo hardware. Como exemplo de linguagens de programao de alto
nvel podemos citar: Pascal, Fortran, C.
As instrues de alto nvel precisam ser traduzidas ou interpretadas,
para posteriormente serem executadas por um processador ou mquina virtual. Para que o processador possa interpretar e executar um programa, seu
conjunto de instrues precisa ser escrito em linguagem de mquina27 ou assembly language. O resultado deste processo o programa em linguagem de
montagem ou linguagem de mquina. Cada arquitetura possui uma linguagem de montagem particular.
Finalmente, o programa em linguagem de montagem convertido para
um programa em cdigo objeto pelo montador (assembler). O montador traduz
diretamente uma instruo da forma textual para a forma de cdigo binrio. Neste
formato final a instruo carregada na memria e interpretada pelo processador.
Linguagem de Mquina:
representao numrica
utilizada diretamente pelo
processador
27.
98
FERNANDEZ, M. P; CORTS, M. I.
Saiba Mais
A linguagem Assembly uma linguagem de baixo nvel para programacao de computadores. Esta linguagem implementa uma representao simblica de cdigos de maquina numricos e considera outras restries para uma arquitetura de CPU particular.
Esta representao usualmente definida pelo fabricante de hardware, e baseada
em abreviaturas das palavras em ingls (mnemnicos), de forma a facilitar o trabalho
dos programadores. A linguagem de maquina especifica a uma determinada arquitetura de computador fsica e virtual, diferentemente das linguagens de alto nvel, as
quais so portveis.
Desde o ponto de vista do software, um computador pode ser estruturado como uma serie (ou nveis) de abstraes, onde a serie superior representa um incremento em relao serie que a precede. Em cada nvel utilizada
uma linguagem com propriedades diferenciadas, onde cada linguagem usa a
sua antecessora (nvel imediatamente inferior), como base. A linguagem ou
nvel que fica mais embaixo mais simples de forma a ser entendido pelo
computador, enquanto que a que fica mais acima a mais sofisticada e complexa, porem, mais prxima do entendimento humano.
O nvel mais baixo o nvel lgico digital, composto por circuitos eletrnicos estudados no captulo 2.
Introduo Computao 99
Praticando
1. Que significa que uma linguagem de programao classificada como sendo de baixo ou alto nvel?
2. Quais linguagens de alto nvel voc conhece? De exemplos de instrues de uma
linguagem de alto nvel.
3. Um programa em uma linguagem de alto nvel pode ser traduzido ou interpretado
pelo processador. Pesquise qual a diferencia entre esses dois conceitos.
13
Captulo
Instrues
De forma geral, uma nica instruo em linguagem de alto nvel equivalente a vrias instrues em linguagem de mquina. Por exemplo, observe
a seguinte instruo de linguagem de alto nvel em Pascal: X = X + Y, onde
as variveis X e Y correspondem s posies de memria 312 e 311. Esse
comando alto nvel pode ser implementado atravs do seguinte conjunto de
instrues de mquina:
1. Carregar um registrador com o contedo da posio de memria 312.
2. Adicionar o contedo da posio de memria 311.
3. Armazenar o contedo do registrador na posio 312.
Em linguagem de maquina, as instrues so representadas atravs de
mnemnicos, que vinculam o nome da instruo sua funo. Alguns exemplos comuns so:
ADD Adio
SUB Subtrao
MPY Multiplicao
DIV Diviso
LOAD Carregar dados na memria
STOR Armazenar dados na memria
Tudo o que a maquina pode fazer controlado pelo seu conjunto de
instrues. As instrues permitem movimentar dados, realizar operaes
aritmticas e lgicas, e de comparao, a partir das quais possvel desviar a
execuo do programa segundo os resultados obtidos.
Cada instruo deve conter toda a informao necessria para que a
CPU possa execut-la. Uma instruo de mquina normalmente composta
pelos seguintes elementos:
Cdigo de operao: cdigo binrio que especifica a operao a
ser executada.
102
FERNANDEZ, M. P; CORTS, M. I.
Em algumas mquinas, todas as instrues tem o mesmo comprimento; em outras podem existir comprimentos diferentes. No primeiro caso, a decodificao fica mais fcil, mas pode acarretar desperdio de espao.
Atividades de avaliao
1. Quais seriam as vantagens de um computador estruturado em nveis possuir mais ou menos nveis?
2. Explique os diferentes papeis dos registradores no contexto do ciclo de
execuo de uma instruo.
3. Considere o conjunto de passos seguidos para a execuo de uma instruo. Qual a finalidade do passo 3? O que aconteceria se este passo
fosse omitido?
4. Considere as seguintes tarefas: (1) somar 100 nmeros armazenados na
memria principal e (2) somar um nmero a ele mesmo 100 vezes. Apesar
de ambos os programas precisarem de 100 adies, o segundo poder
ser executado muito mais rapidamente do que o primeiro? Por que?
Captulo
141
Instruction Set
Architecture - ISA
Esse nvel est posicionado entre o nvel da microarquitetura28 e o sistema
operacional e faz s vezes de interface entre o software (compiladores) e o
hardware, facilitando a portabilidade de programas escritos em diversas linguagens entre diferentes computadores.
A estratgia utilizada pelos projetistas para reduzir esse gap semntico
criar uma representao intermediaria o nvel ISA e construir hardware que
possa executar programas de nvel ISA diretamente. Desta forma. A ISA projetada de forma a tornar compatveis as necessidades de ambas as camadas.
Alem disso, desde o ponto de vista do cliente, de suma importncia
que a ISA seja compatvel entre os diversos modelos de computadores, de
forma a suportar a portabilidade dos programas antigos para uma nova arquitetura, sem que sejam necessrias alteraes. Desta forma surge o conceito
de arquitetura para uma famlia de computadores, os quais compartilham um
conjunto de propriedades e caractersticas em comum.
O conjunto de instrues do processador uma questo central para a
definio e implementao da sua arquitetura (por exemplo: operaes realizadas pela unidade lgica e aritmtica, numero e funo dos registradores, etc.).
O conjunto de instrues caracterizado pelos tipos de instrues e
operandos, numero e localizao dos operandos em instrues aritmticas e
lgicas, modos de endereamento para acesso aos dados na memria, e o
formato dos cdigos de instruo.
Consequentemente existe uma dependncia direta entre o projeto do
conjunto de instrues e o projeto da arquitetura do computador, e vice versa.
Analogamente, os tipos de operando que podem ser diretamente manipulados
por uma arquitetura dependem, claro, dos tipos de instrues oferecidas.
As instrues oferecidas por uma arquitetura podem ser classificadas
em trs categorias diferentes, de acordo com o tipo de operao que realizam.
Uma arquitetura de uso geral fornece pelo menos trs categorias de instrues bsicas a seguir:
Nvel da
Microarquiteturta: composto
normalmente de 8 a 32
registradores que compem
uma memoria local, e um
circuito capaz de executar
operaes aritmeticas
simples (ALU).
28.
106
FERNANDEZ, M. P; CORTS, M. I.
Instrues aritmticas e lgicas: so as instrues que realizam operaes aritmticas sobre nmeros inteiros (adio, subtrao) e operaes
lgicas bit-a-bit (AND, OR);
Instrues de movimentao de dados: so instrues que transferem
dados entre os registradores ou entre os registradores e a memria principal; E/S.
Instrues de transferncia de controle: so instrues de desvio e
de chamada de rotina, que transferem o controle da execuo para uma
instruo especifica dentro do cdigo do programa.
Instrues de armazenamento de dados: so instrues de memria.
Arquiteturas destinadas para uma aplicao especfica ou domnio especifico podem oferecer outros tipos de instrues, especializadas para aquela aplicao. A Unidade 2 apresenta os principais tipos de dados normalmente
representados em uma arquitetura de uso geral.
Comentrio
SUB
Y, A, B
YA-B
MPY
T, D, E
TDxE
ADD
T, T, C
TT+C
DIV
Y, Y, T
YYT
Comentrio
Y, A
YA
SUB
Y, B
YT-B
MOVE
T, D
TD
MPY
T, E
TTxE
ADD
T, C
TTxC
DIV
Y, T
YYT
Comentrio
LOAD
AC D
MPY
AC AC x E
ADD
AC AC + C
STOR
Y AC
LOAD
AC A
SUB
AC AC -B
DIV
AC AC Y
STOR
Y AC
108
FERNANDEZ, M. P; CORTS, M. I.
Praticando
1. Analise o exemplo apresentado e descreva em portugus a seqncia de instrues
de maquina utilizadas em cada caso.
2. Computar o seguinte comando utilizando instrues de um, dois e trs operandos:
Z = (C x B) (A x E - D)
A partir do nmero de operandos explicitamente referenciados e da localizao destes operandos, possvel classificar as arquiteturas nos seguintes tipos:
Arquiteturas memria-memria: as instrues aritmticas/lgicas usam
trs operandos e todos os operandos podem estar na memria;
Arquiteturas registrador-memria: as instrues aritmticas/lgicas usam
dois operandos, sendo que apenas um deles pode residir na memria;
Registradores: Os
registradores so
memrias utilizadas para
realizar as operaes na
CPU. Essas memrias
so muito rpidas e
de tamanho pequeno,
geralmente suficiente para
guardar menos de uma
dezena de valores.
29.
Atividades de avaliao
1. As linguagens de mquina so especficas de uma dada mquina. Que
significa que cada tipo de computador tem sua prpria linguagem de mquina? Explique por que isto acontece.
Captulo
15
Modos de endereamento
Grande parte das instrues tem operandos, os quais devem ser localizados
para realizar a operao. Os operandos podem encontrar-se em registradores, na memria principal ou embutidos implicitamente na prpria instruo.
O modo de endereamento determina a forma em que uma instruo especifica a localizao dos seus operandos. Existem trs modos de endereamento bsicos:
Modo registrador: a instruo indica explicitamente o registrador de dados
onde se encontra o operando (fonte ou destino);
Modo imediato: o operando se encontra dentro do prprio cdigo da instruo;
Modo implcito: a localizao do operando no indicada explicitamente
na instruo. Por exemplo, nas chamadas arquiteturas acumulador, um dos
operandos-fonte e o operando-destino nas instrues aritmticas/lgicas encontra-se sempre em um registrador especial, o acumulador.
Existem diferentes arquiteturas que podem ser utilizadas para o endereamento de dados armazenados na memria principal. Um modo de endereamento referente memria indica como deve ser obtido o endereo
da locao de memria onde se encontra o dado que ser acessado. Este
endereo chamado endereo efetivo.
Apesar da variedade mencionada, possvel identificar alguns modos
de endereamento referentes memria que so oferecidos pela maioria das
arquiteturas. Por outro lado, quase todas as arquiteturas fornecem mais de um
modo de endereamento. Todos estes modos envolvem decises em relao
a quantidade de posies de memria endereveis e/ou flexibilidade de endereamento e/ou complexidade do calculo. Estes modos de endereamento
mais comuns esto relacionados na tabela a seguir.
112
FERNANDEZ, M. P; CORTS, M. I.
114
FERNANDEZ, M. P; CORTS, M. I.
Atividades de avaliao
1. Quais so os modos de endereamento mais comuns? Apresente um
exemplo de uso para cada caso (diferente do apresentado no texto).
2. Por que dito que o modo de endereamento relativo base combina
as capacidades do endereamento direto e do indireto via registrador?
Explique.
3. O processo de decodificao da instruo critico. Como voc justificaria
esta afirmao?
Captulo
161
Os primeiros computadores eram baseados em conjuntos de instrues simples e pequenos. No entanto, a procura por maior desempenho fez com que
as instrues se tornassem mais complexas e poderosas.
Com o objetivo de diminuir a grande lacuna semntica entre as necessidades das pessoas expressas em linguagens de alto nvel e o que o computador pode fazer, os projetistas de computadores investiram na definio de
instrues complexas.
Na medida em que as instrues de mquina ficaram mais prximas
das instrues de linguagens de alto nvel, aparentemente a tarefa dos compiladores ficou simplificada. No entanto, a utilizao de um conjunto de instrues mais rico requer de uma unidade de controle mais complexa capaz de
interpretar30 e executar as instrues, aumentando consequentemente o tempo de execuo de cada instruo individual. Por outro lado, outras atividades
do compilador tais como otimizao do cdigo gerado pode ser dificultada.
Um exemplo de arquitetura CISC Pentium da Intel.
Desta forma, considerando que os benefcios na utilizao de conjuntos
de instrues complexos no se apresentaram muito claros, novos estudos
sobre o comportamento da execuo de programas em linguagens de alto
nvel orientaram o projeto de um novo tipo de arquitetura: o computador com
um conjunto reduzido de instrues (RISC).
Arquiteturas RISC compartilham as seguintes caractersticas:
Conjunto limitado de instrues simples com formato fixo, facilitando a
decodificao e acesso aos operandos.
Uma instruo por ciclo pode ser implementada diretamente pelo hardware, reduzindo o tempo de execuo (no precisavam de interpretao).
Grande nmero de registradores ou o uso de um compilador que otimize
o uso dos mesmos.
Operaes de registrador para registrador.
Interpretar: no processo
de interpretacao, cada
instrucao examinada
e decodificada
individualmente, para ser
imediatamente executada.
Diferentemente do que
na traducao, nenhum
programa traduzido
gerado.
30.
118
FERNANDEZ, M. P; CORTS, M. I.
Sntese do captulo
Neste captulo foi apresentado o conceito central de instruo, suas caractersticas, componentes, tipos e modos de endereamento. Foi apresentada a
noo de maquina multinvel, e a forma de funcionamento.
Com base no conceito de instruo e linguagem de mquina, foi discutida a importncia da ISA -Arquitetura do Conjunto de Instrues, no contexto
do projeto da arquitetura do computador, sua influencia e restries. Foram
analisadas as propriedades das duas principais arquiteturas: RISC e CISC,
fazendo uma anlise de vantagens e desvantagens de cada uma delas, as
quais serviram de base para a elicitao dos princpios do projeto dos computadores modernos.
Atividades de avaliao
1. Especifique as caractersticas das arquiteturas RISC e CISC fazendo um
comparativo de vantagens e desvantagens de cada uma delas.
2. Qual a causa principal do alto desempenho da arquitetura RISC?
Paralelismo: o
paralelismo tem duas
formas gerais: paralelismo
no nvel de instruo e
paralelismo no nvel do
processador. No primeiro
caso, uma nica CPU
capaz de executar
um maior numero de
instrues por segundo.
No segundo caso, varias
CPUs trabalham juntas no
mesmo problema.
31.
120
FERNANDEZ, M. P; CORTS, M. I.
Referncias
TANENBAUM, ANDREW S. Organizao Estruturada de Computadores. 5 ta. Edio. Editora Pearson. 2007.
STALLINGS WILLIAM. Estrutura e Organizao de Computadores. 5 ta.
Edio. Editora Pearson. 2004.
BROOKSHEAR GLENN J. Cincia da Computao Uma viso abrangente. 5 ta. Edio. Editora Bookman. 2000.
Sobre os autores
Marcial Porto Fernandez: possui graduao em Engenharia Eletrnica e
Computao pela Universidade Federal do Rio de Janeiro (1988), mestrado
em Engenharia Eltrica pela Universidade Federal do Rio de Janeiro (1998)
e doutorado em Engenharia Eltrica pela Universidade Federal do Rio de
Janeiro (2002). Atualmente professor adjunto da Universidade Estadual
do Cear e assessor tcnico da Empresa de Tecnologia da Informao do
Cear. Tem experincia na rea de Cincia da Computao, com nfase em
Teleinformtica, atuando principalmente nos seguintes temas: gerenciamento
de redes, redes ticas, redes mveis e sem fio e arquitetura de computadores.
Mariela Ins Corts: atualmente Professora Adjunta de da Universidade
Estadual do Cear (UECE). Possui doutorado em Informtica pela Pontifcia
Universidade Catlica do Rio de Janeiro (PUC-Rio, 2003), mestrado em
Sistemas e Computao pelo Instituto Militar de Engenharia (IME, 1998) e
graduao pela Universidad Nacional de La Plata, Argentina - Analista de
Computacin (1996). Tem experincia na rea de Cincia da Computao,
com nfase em Evoluo de software e gerncia de projetos de software,
atuando principalmente nos seguintes temas: evoluo de framework, refactorings, agent societies e multi-agent systems, gerencia de projetos de desenvolvimento de software.
Computao
Introduo Computao
Introduo a Computao
Computao
Qumica
Cincias
Biologicas
Artes
Plsticas
Computao
Fsica
Matemtica
Pedagogia