6.arquitetura dos computadores

61
1 Apostila de Arquitetura dos Computadores Versão Preliminar – Setembro de 2005

Upload: leofrazao

Post on 10-Oct-2015

20 views

Category:

Documents


0 download

TRANSCRIPT

  • 1Apostila de Arquitetura dos Computadores

    Verso Preliminar Setembro de 2005

  • 2Captulo 1 Evoluo Histrica dos Computadores

    1.1 INTRODUO:

    1.1.1 Conceituao:Mrio A. Monteiro (Introduo Organizao de Computadores)

    Um computador uma mquina (composta de partes eletrnicas e eletromecnicas) capaz desistematicamente coletar, manipular e fornecer resultados das manipulaes de informaes paraum ou mais objetivos.

    Processamento de dados consiste em uma srie de atividades ordenadamente realizadas, com oobjetivo de produzir um arranjo determinado de informaes a partir de outras obtidasinicialmente.

    Dado pode ser definido como a matria-prima originalmente obtida de uma ou mais fontes (etapada coleta).

    Informao o resultado do processamento, isto , o dado processado ou acabado.

    Figura 3.1 Etapas bsicas de um processamento de dados.

    1.1.2 Sistemas:

    Um sistema um conjunto de partes coordenadas que concorrem para a realizao de umdeterminado objetivo.

    O enfoque sistemtico se faz presente em vrias reas do desenvolvimento comercial, cientfico,industrial e social.

    Sistema de processamento de dados (SPD) so aqueles responsveis pela coleta, armazenamento,processamento e recuperao, em equipamento eletrnico, dos dados necessrios ao funcionamentode um outro sistema maior: o sistema de informao.

    a) Sistema de computao;b) Sistema de aplicao.

    Sistema de informao de uma empresa pode ser conceituado como o conjunto de mtodos,processos e equipamentos necessrios para se obter, processar e utilizar informaes dentro daempresa.Os sistemas de informaes se desenvolvem segundo duas dimenses:

    a) componentes da organizao: diversos setores funcionais;b) nvel de deciso: operacional, gerencial e alto nvel da organizao.

    Sistema de informaes gerenciais (SIG) o sistema que engloba todos os componentes e todosos nveis de deciso de uma organizao.

    Dados Processamento Resultado: Informao

  • 31.1.3 Sistemas de Computao:

    Programa um conjunto de instrues.

    Figura 3.2 Algoritmo para soma de 100 nmeros.

    Um programa de computador a formalizao de um algoritmo em linguagem inteligvel pelocomputador.

    Linguagem binria a linguagem de comunicao dos computadores.Na linguagem binria os caracteres inteligveis no so A, B, +, 0, etc., mas apenas zero(0) e

    um (1).

    Essa linguagem tambm chamada de linguagem de mquina, , para os seres humanos, tediosa demanipular, difcil de compreender e fcil de acarretar erros. Por essa razo, foram desenvolvidasoutras linguagens, mais prximas do entendimento dos operadores, genericamente chamadas deLinguagens de programao.

    Instrues de mquinas entendidas pelos computadores:a) executar operaes aritmticas sobre dois nmeros;b) executar operaes lgicas sobre dois nmeros;c) mover um conjunto de bits (um nmero ou parte) de um ponto para outro do

    computador;d) desviar a seqncia do programa;e) comunicao com algum dispositivo de entrada ou sada de dados.

    Hardware o conjunto formado pelos circuitos eletrnicos e partes eletromecnicas de umcomputador.

    Software consiste em programas, de qualquer tipo e em qualquer linguagem, que so introduzidosna mquina para faz-la trabalhar, passo a passo, e produzir algum trabalho.

    1.2 HISTRICO:

    comum encontrar uma diviso histrica da evoluo dos computadores segundo o elementobsico de sua organizao: Vlvulas, transistores, circuito integrado, pastilhas de alta e muito altaintegrao.

    1.2.1. poca dos dispositivos mecnicos (500 a.c 1880)

    O conceito de efetuar clculo surgiu com os babilnios e sua inveno o baco.A primeira evoluo do baco aconteceu em 1642, quando o filosofo e matemtico Blaise Pascalconstruiu um contador mecnico que realizava soma e subtrao.

    1. Escrever e guardar N = 0 e SOMA = 0;2. Ler nmero da entrada;3. Somar valor do nmero ao de SOMA e guardar resultado como SOMA;4. Somar 1 ao valor de N e guardar resultado como novo N;5. Se valor de N for menor que 100, ento passar para item 2;6. Seno: imprimir valor de SOMA;7. Parar.

  • 41.2.2. poca dos dispositivos Eletromecnicos (1888-1930)

    Com a inveno do motor eltrico surgiu uma grande quantidade de mquinas de somar acionadaspor motores eltricos, baseados no princpio de funcionamento da mquina de Pascal.Em 1889, Hollerith desenvolveu o carto perfurado para guardar dados e uma mquina tabuladoramecnica, acionada por um motor eltrico, que contava, classificava e ordenava informaesarmazenadas no carto perfurado.Em 1914, foi criada a IBM.At a dcada de 1980, os cartes perfurados foram um dos principais elementos de entrada de dadosdos computadores digitais, tais como IBM/360/370.

    1.2.3. poca dos componentes eletrnicos Primeiras Invenes (1930-1945)

    O problema dos computadores mecnicos era:a) baixa velocidade de processamento;b) falta de confiabilidade dos resultados.

    1.2.4. poca dos componentes eletrnicos (1945 - ?)

    1.2.4.1. Primeira Gerao: Computadores vlvulaO 1o computador eletrnico digital ENIAC (Electronic Numerical Integrator And Computer):

    Projetado de 1943 a 1946; Funcionou at 1955; Possua 17.000 vlvulas e 8000 Km de cabos; Pesava 30 toneladas; Consumia grande quantidade de energia e vlvulas que queimava freqentemente; 10.000 operaes por segundo; 20 registradores que guardavam valor numrico de 10 dgitos; Era uma mquina decimal, no binria, cada dgito representado por um anel de 10

    vlvulas; Programao feita atravs da recolocao dos fios.

    Em 1945 foi iniciada a construo do IAS (Von Neumann), que para os estudos de arquitetura decomputadores, ele fundamental.

    Era constitudo de quatro unidades principais: a memria, a UCP, a UC e dispositivosde entrada e sada;

    memria de 1.000 posies, chamadas de palavras, cada uma podendo armazenar 40dgitos binrios (bits);

    tantos dados como instrues eram representados na forma binria r armazenados namesma memria;

    Resumindo, o IAS possua caractersticas de arquitetura que permaneceram ao longo do tempo. Asmquinas evoluram consideravelmente em velocidade, capacidade de armazenamento,miniaturizao, consumo de energia e calor, mas a arquitetura bsica permaneceu.

    1.2.4.2. Segunda Gerao: Computadores TransistorizadosA eletrnica moderna surgiu em 23 de Dezembro de 1947.Os transistores se tornaram no s sucesso em toda a industria eletrnica (custo, tamanho edesempenho melhores que os dispositivos a vlvula), como tambm formaram a base de todos oscomputadores digitais. O fato de que se pode ligar e desligar a corrente eltrica em um dispositivo a base de toda a lgica digital.A primeira companhia a lanar comercialmente um computador transistorizado foi a NCR.A IBM tambm teve grande participao transformou a srie 700 em 7000.

  • 51.2.4.3. Terceira Gerao: Computadores com Circuitos IntegradosEm Outubro de 1958, Jack Kilby, da Texas Instruments Co., colocou dois circuitos em uma s peade germnio. O dispositivo resultante era rudimentar e a interconexo tinha que ser realizadas porfios externos, mas reconhecido como o primeiro circuito integrado, CI, fabricado no mundo.Robert Noyce utilizou tecnologia para integrar vrios circuitos em uma s partilha de silcio.Em 1964, a IBM lanou a sua mais famosa famlia, a srie 1360.

    1.2.4.4. Quarta Gerao: Computadores que utilizam VLSI (Very Large Scale Integration)Integrao em larga escala, caracteriza uma classe de dispositivos eletrnicos capazes de armazenar,em um nico invlucro, milhares e milhares de diminutos componentes.

    1.2.5. Computadores Pessoais - Microcomputadores

    Em 1971, a Intel Corporation, produziu uma CPU em uma s pastilha de circuito integrado,denominado INTEL-4004, que possua palavra de 4 bits e tinha cerca de 2.300 transistores napastilha.

    Logo em seguida, a Intel lanou o INTEL 8008 com 8 bits de palavra e 16 K de memria.Quadro Comparativo de caractersticas de microprocessadores

    Microprocessador Data deLanamento

    Palavra deDados

    Endereamento Mximo

    Intel 4004 1971 4 1K bytesIntel 8080 1973 8 64K bytesIntel 8088 1980 16 1M bytesIntel 80286 1982 16 16M bytesIntel 80386 1985 32 4G bytesIntel 80486 1989 32 4G bytes

    Intel Pentium 1993 32 4G bytesMotorola MC 6800 1974 8 64K bytes

    MC 68000 1979 32 16M bytesMC 68010 1983 32 16M bytesMC 68020 1984 32 4G bytesMC 68030 1987 32 4G bytesMC 68040 1989 32 4G bytesZilog Z 80 1974 8 64K bytes

    Zilog Z 8000 1979 16 1M bytes

  • 6Captulo 2 Sistemas de Numerao e Aritmtica Computacional

    2.1 SISTEMAS DE NUMERAO:

    Sistemas de numerao so formas de representao de valores. Existem os sistemas no-posicionais e os posicionais. Nos no-posicionais o smbolo no depende da posio. Por exemplo,os numerais romanos: o smbolo X vale 10 em qualquer posio que estiver no nmero, seja IX ouLXV. J nos posicionais, o valor do smbolo muda com a posio. Por exemplo: o smbolo 6 dentrodo nmero 625 significa o valor 600, mas no nmero 461 significa 60.Diariamente trabalhamos com o sistema posicional decimal, assim chamado por ter dez smbolos:0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Como tem dez smbolos, dizemos tambm que possui base 10.Como sabemos, o computador funciona em binrio, ou seja, representaes de nmero somentecom os smbolos 0 e 1. Este um sistema de numerao com base 2 ou binrio.Na eletrnica ainda comum trabalhar-se com o sistema octal, que possui base 8, cujos smbolosso: 0, 1, 2, 3, 4, 5, 6, 7.Para o endereamento da memria do computador utilizado o sistema de numerao hexadecimal,de base 16, formado pelos smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.So estes quatro sistemas de numerao que sero o fundamento do estudo da computao, sendonecessrios para compreenso da organizao de sua arquitetura.Para compreendermos melhor a relao entre eles, devemos estudar a converso de uma base paraoutra.

    2.2 CONVERSO ENTRE BASES:

    2.2.1 De binrio, octal, e hexadecimal para decimal:

    Segue-se a regra simples: smbolo x baseposio

    Ou seja, eleva-se a base a converter potncia cujo valor sua posio no nmero e multiplica-sepelo smbolo.Assim, de binrio (base 2) para decimal (base 10), podemos fazer, por exemplo:Ex1:(100101)2 = 1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20

    = 32 + 0 + 0 + 4 + 0 + 1 = 37

    Ex2:(110,10)2 = 1 x 22 + 1 x 21 + 0 x 20 + 1 x 2-1 + 0 x 2-2

    = 4 + 2 + 0 + 0,5 + 0 = 6,5E de octal (base 8) para decimal:Ex1:(473)8 = 4 x 82 + 7 x 81 + 3 x 80

    = 256 + 56 + 3= 315

    Ex2:(115,2)8 = 1 x 82 + 1 x 81 + 5 x 80 + 2 x 8-1

    = 64 + 8 + 5 + 0,25 = 77,25

  • 7Finalmente, de hexadecimal (base 16) para decimal:Ex1:(B108)16 = B x 163 + 1 x 162 + 0 x 161 + 8 x 160

    = 45056 + 256 + 0 + 8 = 45320

    Ex2:(F0,1)16 = F x 161 + 0 x 160 + 1 x 16-1

    = 240 + 0 + 0,0625 = 240,0625

    2.2.2 Converso de decimal para binrio, octal e hexadecimal:

    Para converter nmeros da base 10 para outras bases, segue-se a seguinte regra:

    Divide-se o nmero a ser convertido pela base desejada; toma-se o quociente resultante e divide-senovamente pela base at que o quociente seja zero; os restos das divises formam o nmeroconvertido; o primeiro resto representa o ltimo dgito do nmero; o ltimo quociente representa oprimeiro dgito do nmero;

    Para converso de decimal para binrio, temos o exemplo:

    (174)10: 174 / 2 = 87 resto 087 / 2 = 43 resto 143 / 2 = 21 resto 121 / 2 = 10 resto 110 / 2 = 5 resto 05 / 2 = 2 resto 12 / 2 = 1 resto 0ltimo quociente: 1 ==> 10101110 (174)10 = (10101110)2

    De decimal para octal:(749)10: 749 / 8 = 93 resto 593 / 8 = 11 resto 511 / 8 = 1 resto 3ltimo quociente: 1 ==> 1355 (749)10 = (1355)8

    E de decimal para hexadecimal:

    (155)10: 155 / 16 = 9 resto 11 (B)ltimo quociente: 9 ==> 9B (155)10 = (9B)16

    2.2.3 Converso de binrio para octal

    Basta converter cada trs smbolos binrios em um octal, partindo-se da direita. Caso faltemsmbolos para completar trs, completa-se com zeros. Exemplo:

    (010 101)2 = (25)8

  • 82.2.4 Converso de octal para binrio:

    O oposto do mtodo anterior: pega-se cada valor e converte-se pela tabela em trs smbolosbinrios. Exemplo:

    (356)8 = (11 101 110,)2

    2.2.5 Converso de binrio para hexadecimal:

    Semelhante a converso de octal, apenas pegando cada quatro smbolos binrios para umhexadecimal, convertidos a partir da tabela. Exemplo:

    (1101 1010 0100)2 = (DA4)16

    2.2.6 Converso de hexadecimal para binrio:

    Oposto do mtodo anterior. Exemplo:

    (CAFE)16 = (1100 1010 1111 1110)2

    TABELA DE CONVERSODECIMAL BINRIO OCTAL HEXADECIMAL0 0000 0 01 0001 1 12 0010 2 23 0011 3 34 0100 4 45 0101 5 56 0110 6 67 0111 7 78 1000 10 89 1001 11 910 1010 12 A11 1011 13 B12 1100 14 C13 1101 15 D14 1110 16 E15 1111 17 F

  • 92.3 ARITMTICA COMPUTACIONAL:

    Todo sistema de computao moderno construdo de modo a ser capaz de armazenar, interpretar emanipular informaes codificadas na forma binria. Alm disso, muitos deles possuem acapacidade de representar valores e efetuar operaes aritmticas utilizando recursos de outrasbases da potncia de 2 (mais especialmente as bases octal - base 8 e hexadecimal - base 16). Esse o caso, por exemplo, de representao e aritmtica de nmeros em ponto flutuante; alguns sistemasde computao IBM empregam a base 16 quando efetuam aritmtica em ponto flutuante.

    2.3.1 Procedimento de Adio:

    Tendo em vista que toda representao de valores nos computadores digitais realizada no sistemabinrio, obvio, ento, que as operaes aritmticas efetuadas pela mquina sejam tambmrealizadas na mesma base de representao, a base 2.As operaes de adio nas bases 2, 8 e 16 so realizadas de modo idntico ao que estamosacostumados a usar para a base 10, exceto no que refere quantidade de algarismos disponveis(que, em cada base, diferente). Esse fato acarreta diferena nos valores encontrados, mas no nomodo como as operaes so realizadas.

    Adio de Nmeros Binrios

    A operao de soma de dois nmeros em base 2 efetuada de modo semelhante soma decimal,levando-se em conta, apenas, que s h dois algarismos disponveis (0 e 1). Assim:0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0, com "vai 1"

    Ex1: 111111 1 vai 1 101101,01+100111,111010101,00

    Ex2: 1 11 1 vai 1 11001,1101+11100,1110110110,1011

    Do mesmo modo que operamos na base decimal, a soma efetuada algarismo por algarismo, demaneia que, quando somamos 1 com 1, obtemos como algarismo resultante 0 e sobra o valor 1 paraser somado aos algarismos da parcela imediatamente seguinte esquerda (valor de uma base - 2);esse o valor que denominamos "vai 1". Se os dois algarismos serem somados so de valor igual a1, e ainda temos o "vai 1" para o algarismo da esquerda.

    Resumindo:1 + 1 + 1 = 1 com "vai 1";1 + 0 + 1 = 0 com "vai 1".

    Adio de Nmeros Octais e Hexadecimais

    Os procedimentos para adio nas bases 8(octal) e 16(hexadecimal) tambm no diferem da base10, exceto quanto quantidade de algarismos diferentes em cada base, conforme j mencionamosanteriormente.

  • 10

    No caso da base octal, temos 7 algarismos disponveis e, portanto, a soma de 2 algarismosproduzindo um valor superior a 7 implica a utilizao do conceito de "vai 1" consiste em um valorigual a 8 na ordem inferior).Para a base 16, o "vai 1" somente ocorre quando a soma de 2 algarismos excede o valor da base, 16.

    Ex: Soma com aritmtica em base 8:

    Ex1: 11 3463+1524 5207

    Ex2:1 1 1 422,74+513,741136,70

    Ex3:111 1 27,416+55,635105,253

    A execuo detalhada do algoritmo de soma para o Ex1 apresentada a seguir, de modo que sepossa compreender melhor o processo:3 + 4 = 7, valor colocado na coluna, em resultado;6 + 2 = 8 (no h algarismo na base 8 - o maior algarismo 7). Assim, temos: 8 = 8 + 0; o 0 colocado na coluna como resultado e o 8 passado para a esquerda com valor 1 ( o "vai 1"), pois 8unidades de uma ordem representam apenas 1 unidade de ordem superior - mais esquerda);4 + 5 +1 ("vai 1") = 10 (10=8 + 2); logo, 2 na coluna de resultado e "vai 1" esquerda,representando o valor 8).3 + 1 + 1 ("vai 1") = 5, colocado na coluna resultado.O processo semelhante para os exemplos (2) e (3).

    Ex: Soma com aritmtica em base 16:

    Ex1: 11 1 3A54,3B+ 1BE8,7A 563C,B5

    Ex2: 1 11 3A943B+23B7D5 5E4C10

    Ex3: 11 1 1 2AC79+B7EEC E2 B65

    A execuo detalhada do algoritmo de soma para o Ex1 apresentada a seguir, de modo que sepossa compreender melhor o processo:

    10(A) + 11(B) = 21, que excede 5 da base 16. Logo, coloca-se 5 na linha "soma" e "vai 1" para aesquerda;7 + 3 + 1 = 11 (algarismo B);8 + 4 = 12 (algarismo C);14(E) + 5 = 19, que excede de 3 a base 16. Logo, coloca-se na linha "soma" e "vai 1" para aesquerda;10(A) + 11(B) + 1 = 22, que excede 6 da base 16 e "vai 1";1 + 3 + 1 = 5.

  • 11

    2.3.2 Procedimento de Subtrao:

    Os procedimentos para execuo da operao de subtrao em bases 2, 8, 16, ou qualquer outra nodecimal seguem as mesmas regras adotadas para a base 10, variando, conforme j mencionadodiversas vezes, quanto quantidade de algarismos existentes em cada base.Essas regras so:minuendo - subtraendo = diferena;operaes realizada algarismo por algarismo;se o algarismo do minuendo for menor que o algarismo do subtraendo, adiciona-se ao minuendo umvalor igual ao da base (2 ou 8 ou 16). Esse valor corresponde a uma unidade subtrada (emprstimo)do algarismo esquerda do minuendo;resultado colocado na coluna, na parcela diferena.

    Subtrao de Nmeros Binrios

    A subtrao em base 2, na forma convencional usada tambm no sistema decimal (minuendo -subtraendo = diferena), relativamente mais complicada por dispormos apenas dos algarismos 0 e1. Assim, 0 menos 1 necessita de um "emprstimo" de um valor igual base (no caso 2), obtidodo primeiro algarismo diferente de zero, existente esquerda. Se estivssemos operando na basedecimal, o "emprstimo" seria de valor igual a 10.Ex1: 2

    002 101101- 100111 000110

    Ex2: 1 02 022 100110001- 010101101 010000100

    A execuo detalhada do algoritmo de soma para o Ex2 apresentada a seguir, de modo que sepossa compreender melhor o processo:1 1 = 00 0 = 00 1 no possvel. Retira-se 1 da 5a ordem, a partir da direita, ficando 2 unidades na 4a ordem.Dessas 2 unidades, retira-se 1 para a 3a ordem (nesta 3a ordem ficam, ento, 2), restando 1 nesta 4a

    ordem. Logo 2-1 = 1.1 1 = 00 0 = 01 1 = 00 0 = 00 1 no possvel. Retira-se 1 da ordem esquerda, que fica com zero e passa-se 2 para a direita.Logo 2 1 = 10 0 = 0

    Subtrao de nmeros Octais e Hexadecimais

    Os procedimentos para realizao da operao de subtrao com valores representados em base 8(octal) ou 16 (hexadecimal) so os mesmos das bases 2 ou 10, porm com a j conhecida diferenaem termos de algarismos disponveis.

  • 12

    Ex: Subtrao com valores em base 8:

    Ex1: 8 248 48 3526,53- 2764,36 0542,15

    Ex2: 88 6208 7312- 3465 3625

    Ex: Subtrao com valores em base 16:

    Ex1: 16 3B16 D16 4C7BE8- 1E9 27A 2DE96E

    Ex2: 16 3816A 16C16 49AB,8D5- FC8,AB8 39E2,E1D

    2.3.3 - Adio Utilizando Nmeros Com Sinal:

    O Meio normal para representar nmeros com sinal (+ ou -) adicionando-se um BIT ao nmero,chamado BIT de sinal (BIT mais representativo).

    Conveno:0: BIT DE SINAL que representa um nmero positivo;1: BIT DE SINAL que representa um nmero negativo.

    Ex:0 0111 = (+7)101 0111 = (-7)10Bit de sinal

    2.3.4 Aritmtica Complementar:

    * Complemento Aritmtico: definido como sendo o que falta a um nmero para atingir o seumdulo. Mdulo de um nmero de um dgito a quantidade de nmeros diferentes que podemosdistinguir.Ex: Sistema Decimal Mdulo 10

    2 84 6

    No sistema binrio, composto por dois smbolos, isto , os BITS 0 e 1, um complemento do outro.

  • 13

    * Subtrao no sistema complemento-de-2:Obteno do complemento-de-2 de um nmero binrio:- Troca-se cada 0 por 1 e vice-versa (complemento-de-1);- Soma-se 1 ao resultado.Ex.: 1001 0110 (complemento-de-1)

    + 1 0111 (complemento-de-2)

    OBS: A principal vantagem do uso de complemento executar a SUBTRAO pelo processo daADIO.

    Dois nmeros positivos

    (+7) 0 0111+ (+3) 0 0011 (+10) 0 1010

    Nmero positivo e nmero negativo (+7) 0 0111 0 0111+ (-3) 1 0011 +1 1101 Complemento-de-2 100100 (+4) Dois nmeros negativos

    (-7) 1 0111 1 1001+ (-3) 1 0011 +1 1101 Complemento-de-2 11 0110

    Descomplementar (1 1010) (-10)

    * Fazer complemento-de-2 no nmero negativo;* Somar os nmeros;* Descomplementar o resultado da soma.

    Veja mais detalhes sobre este assunto no Captulo 3.

  • 14

    Captulo 3 Representao de Dados

    Em um computador so armazenados e processados apenas dados e instrues. Um programa decomputador formado por uma seqncia de instrues que operam sobre um conjunto de dados(os dados so os operandos das instrues). Um computador executa operaes sobre dadosnumricos (os nmeros) ou alfabticos (letras e smbolos). Por outro lado, um computador somenteopera sobre valores representados em notao binria, isto , somente "entende" bits - uns e zeros.Assim, os dados precisam ser representados no computador (na memria e no processador) sempreatravs de bits, de uma forma que o computador possa interpretar corretamente o seu significado eexecutar as operaes adequadas.

    Em outras palavras, isso significa que preciso definir uma forma de representar os dados,codificados em uns e zeros, que possam ser interpretados pelo computador, de forma correta eeficiente (com bom desempenho e pouco consumo de memria).

    TIPOS DE DADOS

    Um programa (a seqncia de instrues) dever manipular diferentes tipos de dados.Os dados podem ser:--numricos---- ponto fixo (nmeros inteiros)---- ponto flutuante (nmeros reais ou fracionrios)---- BCD (representao decimal codificada em binrio)-----alfabticos----- letras, nmeros e smbolos (codificados em ASCII e EBCDIC)

    O tipo de dado que est sendo fornecido ao programa dever ser informado pelo programador,atravs de declaraes, fazendo com que o programa interprete o dado fornecido de acordo com adeclarao. Por exemplo, na linguagem C, declaraes tipo

    int num; (inteiro) oufloat sal (real);

    indicam que a varivel num um nmero inteiro (int) e a varivel sal um nmero real (float),representao cientfica, isto , representado na forma

    [(Sinal) Valor x Base (elevada a Expoente)].

    Declaraes tipo char letra ; indicam que a varivel um caractere.

  • 15

    DADOS NUMRICOS

    A forma mais intuitiva de representar nmeros seria atravs da converso do nmero decimal paraseu correspondente em binrio. Como os computadores operam sempre em binrio, essa seria aforma mais imediata e eficiente.

    Os nmeros podem ser positivos ou negativos. Um aspecto primordial a ser definido seria entocomo representar o sinal. Nesta representao foi definida a utilizao de mais um bit narepresentao (o bit mais representativo), representando o sinal, com a seguinte conveno:

    bit 0 ==> sinal positivobit 1 ==> sinal negativo.

    A seguir, apresentamos exemplos de nmeros e sua representao em binrio:

    Valor decimal Valor binrio com 8 bits (7 + bit de sinal)+9 00001001 (bit inicial 0 significa positivo)-9 10001001 (bit inicial 1 significa negativo)+127 01111111 (bit inicial 0 significa positivo)-127 11111111 (bit inicial 1 significa negativo)

    Assim, uma representao em binrio com n bits teria disponveis para a representao do nmeron-1 bits (o bit mais significativo representa o sinal). Essa representao tem o nome derepresentao em sinal e magnitude .

    REPRESENTAO DE NMEROS INTEIROS (PONTO FIXO)

    Dados numricos ponto fixo so nmeros inteiros, isto , sem parte fracionria.Os dados NUMRICOS INTEIROS POSITIVOS so sempre representados com o sinal(convencionado que bit mais significativo 0 = sinal positivo) e em seguida o valor do dado embinrio.Porm, devido complexidade dos algoritmos para os computadores operarem com NMEROSNEGATIVOS quando se usa a representao em sinal e magnitude (acima sumariamenteapresentada), so comumente adotadas outras formas que facilitam e tornam mais eficiente amanipulao de operaes aritmticas em computadores: as representaes em complemento.

    Vamos analisar cada uma dessas representaes.

    REPRESENTAO EM SINAL E MAGNITUDE

    A magnitude (isto , o valor absoluto, que independe de sinal) de um nmero representada embinrio. O sinal representado por um bit (o bit mais significativo, isto , o bit mais esquerda narepresentao). Por conveno, o bit de sinal 0 (zero) significa que o nmero positivo e o bit 1representa nmero negativo.

  • 16

    O valor dos bits usados para representar a magnitude independe do sinal, isto , sendo o nmeropositivo ou negativo, a representao binria da magnitude ser a mesma, o que varia apenas o bitde sinal.Ex.:0011 = +31011 = -3(011 equivale ao valor absoluto 3)

    FAIXA DE REPRESENTAO

    A representao na base b em sinal e magnitude com n bits (incluindo o bit de sinal) possui bn

    representaes e permite representar bn -1 valores, de vez que h duas representaes para o zero.A faixa de representao de uma representao na base 2 em sinal e magnitude com n bits(incluindo o bit de sinal) possui2n representaes, representando os valores entre - ( 2n-1-1) e + ( 2n-1-1).O maior valor inteiro positivo ser ento + ( 2n-1-1) e o menor valor inteiro negativo ser - ( 2n-1-1).

    Obs1.: o nmero de bits para a representao determinado no projeto do computador.Obs2.: em sinal e magnitude, existem duas representaes para o zero.

    ARITMTICA EM SINAL E MAGNITUDE

    Algoritmo da somaa) verificar o sinal das parcelasb) se os sinais forem iguais:-- repetir o sinal-- somar as magnitudesc) se os sinais forem diferentes-- verificar qual parcela tem maior magnitude-- repetir o sinal da maior magnitude-- subtrair a menor magnitude da maior magnitude

    Algoritmo da subtraoO algoritmo da subtrao o mesmo da soma, sendo feita como se fosse uma soma de doisnmeros que tem os sinais diferentes.

    A representao em sinal e magnitude apresenta uma grande desvantagem: ela exige um grandenmero de testes para se realizar uma simples soma de dois nmeros inteiros. O algoritmo acimadescrito complicado de ser realizado no computador, o que resulta em baixa eficincia (execuolenta). Um outro ponto negativo termos duas representaes para o zero.

  • 17

    REPRESENTAO DE NMEROS EM COMPLEMENTO

    Complemento a diferena entre cada algarismo do nmero e o maior algarismo possvel na base.Uma vantagem da utilizao da representao em complemento que a subtrao entre doisnmeros pode ser substituda pela sua soma em complemento.

    REPRESENTAO DE NMEROS POSITIVOS EM COMPLEMENTO

    A representao de nmeros positivos em complemento no tem qualquer alterao, isto , idntica representao em sinal e magnitude.

    REPRESENTAO DE NMEROS NEGATIVOS EM COMPLEMENTO A (BASE - 1)

    A representao dos nmeros inteiros negativos obtida efetuando-se: (base - 1) menos cadaalgarismo do nmero. Fica mais fcil entender atravs de exemplos:

    Ex.1: Calcular o complemento a (base - 1) do nmero 29710.Se a base 10, ento 10-1 = 9 e o complemento a (base -1) ser igual a complemento a 9

    Ex.2: Calcular o complemento a (base - 1) do nmero 3A7EH.Se a base 16, ento 10H-1 = F e o complemento a (base -1) ser igual a complemento a F.

    Portanto:Ex.1 Ex.2

    (base -1) --->999 FFFF-297 -3A7E

    Complemento --->702 C581

    Caso Particular: Nmeros na Base 2 (Complemento a 1)

    Para se obter o complemento a 1 de um nmero binrio, devemos subtrair cada algarismo de 1.Uma particularidade dos nmeros binrios que, para efetuar esta operao, basta inverter todosos bits.

    Como exemplo, vamos calcular o complemento a 1 (C1) de um nmero binrio 0011 com 4 dgitos.

    1111-00111100 (C1)

    Portanto, bastaria inverter todos os bits!

  • 18

    Vamos analisar como ficaria a representao em C1 dos nmeros binrios de 4 dgitos:Decimal(positivo)

    Binrio (se o nmero positivo, no h alterao)

    Decimal(negativo)

    Binrio (emC1)

    0 0000 0 11111 0001 -1 11102 0010 -2 11013 0011 -3 11004 0100 -4 10115 0101 -5 10106 0110 -6 10017 0111 -7 1000

    FAIXA DE REPRESENTAO

    A representao na base b em complemento a (base-1) com n bits possui bn representaes epermite representar bn -1 valores. H duas representaes para o zero.A faixa de representao de uma representao na base 2 em complemento a (base-1) com n bits amesma que em sinal e magnitude e pode ser calculada como2n valores, entre - ( 2n-1-1) e + ( 2n-1-1)O maior valor inteiro positivo ser ento + ( 2n-1-1) e o menor valor inteiro negativo ser - ( 2n-1-1).

    Obs1.: o nmero de bits para a representao determinado no projeto do computador.Obs2.: em C1 tambm existem duas representaes para o zero.

    Vamos verificar qual a faixa de representao nos seguintes exemplos:

    Base 10 com 3 dgitos: a representao varia de 000 a 999 (103 representaes), representando osnmeros de -499 a -1 (faixa negativa), de +1 a +499 (faixa positiva).

    Base 10 Faixa Inferior (positiva) Faixa Superior (negativa)C1 1 2.... 498 499 500 501 ..... 997 998

    Nmero representado 1 2 .... 498 499 -499 -498 ..... -2 -1

    O zero pode ser representado tanto por 000 quanto por 999.

  • 19

    Base 16 com 4 dgitos: a representao varia de 0000 a FFFF, representando os nmeros de -7FFF a-0001 (faixa negativa) e de +0001 a +7FFF (faixa positiva).

    Base 16 Faixa Inferior (positiva) Faixa Superior (negativa)C1 0001 0002 ... 7FFF 8000 8001 ....FFFE

    Nmero representado 0001 0002 ... 7FFF -7FFF -7FFE ...... -0001

    O zero pode ser representado tanto por 0000 quanto por FFFF.

    Obs: Podemos concluir que, tal como na representao em sinal e magnitude, sempre que emuma representao em complemento o primeiro dgito binrio for 1, o nmero representado negativo! Mas importante notar que o bit mais significativo, na representao emcomplemento, ao contrrio do que ocorre na representao em sinal e magnitude, NOREPRESENTA O SINAL DE NEGATIVO!

    ARITMTICA EM COMPLEMENTO A (BASE - 1)

    Na aritmtica em complemento a (base-1), basta somar os nmeros, sendo que um nmero negativoestar representado por seu complemento. Ex.: Somar + 123 com - 418 (decimal).

    Sinal emagnitude

    Complemento a (base-1) Verificao

    -418 581 (C9) 999+123 +123 -295-295 704 704

    Verificamos que o resultado 704 (C9) um nmero negativo, isto , o complemento a 9 (base 10 -1)de 295.

    Repare que a subtrao (ou soma de um nmero positivo com um nmero negativo) se transforma,nesta representao, em uma soma em complemento, isto , a soma dos complementos do nmeropositivo com o nmero negativo! Portanto, numa subtrao (realizada atravs de soma emcomplemento), se o nmero positivo, mantenha-o; se o nmero negativo, complemente-o; e a, s somar! Dessa forma, podemos constatar que o algoritmo da soma em complemento muito maissimples que o da soma em sinal e magnitude, de vez que no requer nenhum teste. No entanto,continuamos com duas representaes para o zero. Vamos a seguir discutir a soluo para esseproblema.

    REPRESENTAO DE NMEROS NEGATIVOS EM COMPLEMENTO A BASE

    A representao dos nmeros inteiros negativos em complemento a base obtida subtraindo-se dabase cada algarismo do nmero. Ora, seria a mesma coisa subtrair cada algarismo de (base-1), isto, calcular o complemento a (base -1) e depois somar 1 ao resultado, ou seja:

    b - N = [(b-1) - N] + 1.

    Ou seja, encontramos o complemento a (base-1) do nmero (o que facilita muito no caso dosnmeros binrios) e depois somamos 1 ao resultado. Fica mais fcil entender atravs de exemplos:

  • 20

    Ex.1: Calcular o complemento a base do nmero 29710.Se a base 10, o complemento a base ser igual a complemento a 10.

    Ex.2: Calcular o complemento a base do nmero 3A7Eh.Se a base 16 (lembremos mais uma vez que o H ou h depois do nmero simboliza "hexadecimal"),o complemento a base ser igual a complemento a 1610 ou 10h.

    Portanto, calculando o complemento a base dos nmeros acima, temos:Ex.

    1Ex.1 (alternativa) Ex.2

    1000 999 FFFF

    - 297 -297 -3A7E702 702 C581

    +001 +0001703 C582

    Caso Particular: Nmeros na Base 2 (Complemento a 2)

    Para se obter o complemento a 2 de um nmero binrio, a regra geral nos diz para subtrair cadaalgarismo de 2. Ora, seria a mesma coisa subtrair cada algarismo de 1 (complemento a 1) e depoissomar 1 ao resultado, ou seja: (2-N) = (1-N) + 1. Assim, tirando partido da particularidade dosnmeros binrios anteriormente apresentada (para obter o C1 de um nmero binrio, basta invertertodos os bits), para obter o C2 de um nmero obtemos primeiro o C1 (invertendo os bits) e depoissomamos 1 ao resultado.

    Como exemplo, vamos calcular o complemento a 2 (C2) de um nmero binrio 0011 com 4 dgitos.

    1111-00111100 (C1)

    +00011101 (C2)

    Vamos analisar como ficaria a representao em C2 dos nmeros binrios de 4 dgitos:

    Decimal (positivo) Binrio (se o nmero positivo, no h alterao)

    Decimal(negativo)

    Binrio (C2)

    0 0000 -1 11111 0001 -2 11102 0010 -3 11013 0011 -4 11004 0100 -5 10115 0101 -6 10106 0110 -7 10017 0111 -8 1000

    Vemos assim que em C2, no h duas representaes para o valor 0 e conseqentementeabriu-se lugar para mais uma representao - no caso, mais um nmero negativo pode serrepresentado.

  • 21

    FAIXA DE REPRESENTAO

    A representao na base b em complemento a base com n bits possui bn representaes e permiterepresentar bn valores.A faixa de representao de uma representao na base 2 em complemento a base com n bits podeser calculada como

    2n valores (entre - 2n-1 e + 2n-1-1), sendo 2 a base.

    O maior valor inteiro positivo ser ento + ( 2n-1-1) e o menor valor inteiro negativo ser - ( 2n-1).

    Obs1.: o nmero de bits para a representao determinado no projeto do computador.Obs2.: nesta representao somente existe uma representao para o zero e h mais um nmeronegativo representado!

    Nos exemplos acima, vamos verificar qual a faixa de representao:

    Base 10 com 3 dgitos: de 0 a 999 (103 valores), representando de -500 a -1 (faixa negativa) e de 1 a+499 (faixa positiva). O zero tem apenas uma representao: 000.

    Base 10 Faixa Inferior (positiva) Faixa Superior (negativa)C2 1 2 .... 499 500 501 ..... 999

    Nmero representado 1 2 .... 499 -500 -499 ... -1

    Base 16 com 4 dgitos: de 0 a FFFF, representando -8000 a -1 (faixa negativa) e de 0 a +7FFF(faixa positiva). O zero tem apenas uma representao: 0000.

    Base 16 Faixa Inferior (positiva) Faixa Superior (negativa)C2 0001 0002 ... 7FFF 8000 F001 ...... FFFF

    Nmero representado 0001 0002 ... 7FFF -8000 -7FFF... -0001

    Obs: Podemos concluir que, tal como na representao em sinal e magnitude e emcomplemento a (base-1), sempre que em uma representao em complemento a base oprimeiro dgito binrio for 1, o nmero representado negativo! Mas importante notar queo bit mais significativo, na representao em complemento, ao contrrio do que ocorre narepresentao em sinal e magnitude, NO REPRESENTA O SINAL DE NEGATIVO!

  • 22

    ARITMTICA EM COMPLEMENTO A BASE

    Na aritmtica em complemento a base, basta somar os nmeros, sendo que um nmero negativoestar representado por seu complemento a base. Ex.: Somar +123 com -418 (decimal).

    Sinal emagnitude Clculo C2 C2 Verificao

    -418 999 582 999+123 -418 +123 -295-295 581 (C1) 705 (C2) 704

    +001 +001582 (C2) 705

    Verificamos que o resultado 705 (C2) um nmero negativo, isto , o complemento a 10 (base 10)de 295.

    Repare que a subtrao (ou soma de um nmero positivo com um nmero negativo) se transformaem uma soma em complemento, isto , a soma dos complementos do nmero positivo com onmero negativo! Portanto, se o nmero postivo, mantenha-o; se o nmero negativo,complemente-o; e a, s somar! Dessa forma, podemos constatar que o algoritmo da soma emcomplemento muito mais simples que o da soma em sinal e magnitude, de vez que no requernenhum teste.

  • 23

    ARITMTICA BINRIA E EM COMPLEMENTO

    Nesta seo, vamos rever os conceitos j apresentados sobre aritmtica binria e em complemento eresolver alguns exerccios para exemplo. Inicialmente, vamos considerar apenas nmeros positivos(o sinal no ser representado).

    Exemplo de Operaes de Adio

    BASE 2 BASE 8 BASE 8 BASE 16 BASE 16111 11 _11 111 1110111 0762 7142 A679 6FACB

    +0101 +0365 +0576 +49FB +4ED931100 1347 7740 F074 BE85E

    Exemplo de Operaes de Subtrao

    BASE 2 BASE 8 BASE 8 BASE 16 BASE 16111 0762 7142 A679 6FACB

    -101 -0365 -0576 -49FB -4ED93010 0375 6344 5C7E 20D38

    Exerccio:

    Suponha um sistema posicional de numerao na base 6. Determine os valores de R, S, T, V, X e Z.

    RVTZR+ SRSVZ

    TFXVZS

    Inicialmente, devemos considerar que cada uma das letras representa um algarismo, sem qualquervalor pr-determinado.

    a) T = 1, porque: T s pode ser 1; a soma de dois algarismos, em qualquer base b, ser no mximoigual a (2b) -1 e portanto o "vai-um" nunca ser "vai dois"!.b) V = 0, porque: como Z + V = Z, concluimos que V = 0 e a soma R + Z = S (no vai-um).c) S = 5, porque T + S = 0 o que significa que T + S = 6 (porque no pode ser 0, logo 0 + base = 6e vai um para a prxima casa) e como T = 1, temos portanto S = 5.d) Assim, R + V = X, como V = 0 e veio 1 da casa anterior, temos que X = 1 + R

    Substituindo, temos que R + S = Z + 6 logoR - Z = 1R + Z= 5; somando as expresses, temos 2R = 6 ouR = 3 logoZ = 2 eX = 4

  • 24

    ARITMTICA EM COMPLEMENTO - SOMA EM COMPLEMENTO A UM

    O algoritmo da soma em complemento a um :

    a) Somar os dois nmeros, bit a bit, inclusive o bit de sinal.b) Avaliao dos casos de "vai-um":b.1) Se no ocorreu vai-um para o bit de sinal nem para fora do nmero:--- este o resultado correto;b.2) Se ocorrer "vai-um" s para o bit de sinal (e no para fora do nmero):--- incorreto - ocorreu overflow------- (isto significa que o resultado excede a faixa de representao para o nmero de bitsadotado).b.3.1) Se ocorrer "vai-um" para fora do nmero:--- para obter o resultado final, soma-se o "vai-um" externo (para fora do nmero) ao resultado dasoma; o bit para fora do nmero (que excede o nmero de bits adotado na representao) desprezado.b.3.2) Nesta soma final tambm pode ocorrer "vai-um" no ltimo bit;--- se o nmero de "vai-um" ocorridos (para o bit de sinal, para fora do nmero ou na soma final)for par (o que equivale a inverter duas vezes o sinal),------ o resultado est correto;--- se o nmero for mpar (1 ou 3 "vai-um"):------ o resultado est incorreto - ocorreu overflow.

    Exemplos (referidos aos casos acima), considerando representao com 6 bits:

    caso b.1:15 +10 = 2510

    caso b.2:15 + 22 = 3710

    caso b.3:-15 -10 = -2510

    caso b.3:-15 -22 = -3710

    _111 1111 11 1001111 (+) 001111 (+) 110000 (-) 110000 (-)

    +001010 (+) +010110 (+) +110101 (-) +101001 (-)011001 (+) 100101 (-) 100101 011001

    +______1 +______1100110 (-) 011010 (+)

    CORRETO OVERFLOW CORRETO OVERFLOW

    (no ocorreu "vai-um")

    (s ocorreu "vai-um"para o bit de sinal)

    (ocorreu "vai-um" p/bit de sinal e p/ forado n mas no nasoma final - n de"vai-um" par)

    (ocorreu "vai-um" s p/fora do n mas no nasoma final - n de "vai-um" mpar)

    obs.: soma de dois npositivos no poderiadar negativo

    obs.: soma de dois nnegativos no poderiadar positivo

    A faixa de representao com 6 bits em C1 vai de -31 a +31. Conferindo as contas pelarepresentao decimal, vemos que os resultados fora desta faixa excedem a faixa da representao eno podem ser representados com 6 bits (portanto, com este nmero de bits, ocorre overflow).

    Existe um teste prtico que, quando ambos os nmeros tem o mesmo sinal, pode mostrar se ocorreuoverflow e o resultado obtido est incorreto: basta ver que na soma de dois nmeros negativos, oresultado s pode ser negativo, e a soma de dois nmeros positivos s poderia dar resultadopositivo!

  • 25

    ARITMTICA EM COMPLEMENTO - SOMA EM COMPLEMENTO A DOIS

    O algoritmo da soma (ou subtrao) em complemento a dois :

    a) Somar os dois nmeros, bit a bit, inclusive o bit de sinal.b) Despreza-se o bit para fora do nmero, se houver.c.1) Se no ocorreu vai-um para o bit de sinal nem para fora do nmero ouc.2) Se ocorrer "vai-um" tanto para o bit de sinal quanto para fora do nmero (equivale a inverterduas vezes o sinal):--- o resultado est correto;d.1) Se ocorrer "vai-um" s para o bit de sinal (e no para fora do nmero):d.2) Se no ocorrer "vai-um" para o bit de sinal e somente ocorrer para fora do nmero:--- o resultado incorreto - ocorreu overflow------- (isto significa que o resultado excede a faixa de representao para o nmero de bitsadotado).Nota: Podemos constatar que o algoritmo de soma em C2 bem mais simples que o de soma emC1.

    Exemplos (referidos aos casos acima), considerando representao com 6 bits:

    caso c.1:15+10 = 2510

    caso d.1:15 + 17 = 3210

    caso c.2:-15 -10 = -2510

    caso c.2:-15 -17 = -3210

    caso d.2:-15 -27 = -4210

    _111 11111 1 111111 1____1001111 (+) 001111 (+) 110001 (-) 110001 (-) 110001 (-)

    +001010 (+) +010001 (+) +110110 (-) +101111 (-) +100101 (-)011001 (+) 100000 (-) 100111 (-) 100000 (-) 010110 (+)CORRETO OVERFLOW CORRETO CORRETO OVERFLOW

    (no ocorreu"vai-um")

    (s ocorreu "vai-um" para o bit desinal)

    (ocorreu "vai-um" p/ bit desinal e p/ fora don - o n de "vai-um" par)

    (ocorreu "vai-um" p/ bit desinal e p/ fora don - o n de "vai-um" par)

    (s ocorreu "vai-um" p/ fora do n -o n de "vai-um" mpar)

    obs.: soma de npositivos nopoderia darnegativo

    (despreza-se o"vai-um" parafora do nmero)

    (despreza-se o"vai-um" parafora do nmero)

    obs.: soma de nnegativos nopoderia dar positivo(despreza "vai-um"p/ fora do n)

    A faixa de repreentao com 6 bits em C2 vai de -32 a +31. Conferindo as contas pelarepresentao decimal, vemos que os resultados fora desta faixa esto necessariamente incorretos(ocorreu overflow)

    Pode-se aplicar o mesmo teste prtico que, quando ambos os nmeros tem o mesmo sinal, podemostrar se ocorreu overflow e o resultado obtido est incorreto: basta ver que na soma de doisnmeros negativos, o resultado s pode ser negativo, e a soma de dois nmeros positivos s poderiadar resultado positivo!

  • 26

    ARITMTICA EM SINAL E MAGNITUDE

    Em sinal e magnitude, o algoritmo da soma :

    a) Se os nmeros forem de mesmo sinal, basta somar os dois nmeros e manter o sinal;b) Se os nmeros forem de sinais diferentes, subtrai-se o menor nmero do maior; o sinal ser o domaior nmero.c) Tem-se overflow sempre que ocorrer "vai-um" da magnitude para o bit de sinal (o nmero de bitsda magnitude foi excedido).

    __1 11

    0010 (positivo) 1001(negativo)

    0110 (positivo emaior)

    1110 (negativo emaior)

    1110 (negativo)

    +0101 (positivo) +1101(negativo)

    +1010 (negativo emenor)

    +0100 (positivo emenor)

    +1101 (negativo)

    0111 1110 0100 1010 1011CORRETO CORRETO CORRETO CORRETO OVERFLOW

    ambospositivos ->soma e mantmo sinal positivo

    ambosnegativos ->soma e mantmo sinalnegativo

    sinais contrrios-> subtraimaior magnitude positivo ->resultado positivo

    sinais contrrios-> subtraimaior magnitude negativo -> resultado negativo

    ambos negativos-> soma"vai-um" para bitde sinal ->overflow

  • 27

    REPRESENTAO DE NMEROS REAIS

    At agora, passamos por cima de alguns outros problemas. Os dados numricos podem serfracionrios (tais como 57,683). Como representar essa parte fracionria (aps a vrgula que asepara da parte inteira), de forma que permita processamento eficiente e armazenamento com poucoconsumo de memria? Vamos analisar esses problemas logo frente.

    NMEROS REAIS

    Nmeros reais so aqueles com parte fracionria (por exemplo, 57,683). Estamos acostumados arepresentar esses nmeros no formato parte inteira, vrgula (ou ponto), parte fracionria:

    Esta representao, embora cmoda para clculos no papel, no adequada para processamento nocomputador.

    REPRESENTAO EM PONTO FLUTUANTE

    Consideremos o nmero 57,683 usado acima como exemplo. Este nmero pode ser tambmexpresso como 57,683 x 100. E tambm poderia ser expresso com 57683 x 10-3 ou ainda 0,57683 x102. Na realidade, qualquer nmero - inteiro ou fracionrio - pode ser expresso neste formatonmero x base expoente , em que variamos duas coisas: a posio da vrgula (que delimita a partefracionria) e a potncia qual elevamos a base. Essa representao denominada representaoem ponto flutuante, pois o ponto varia sua posio, modificando, em conseqncia, o valorrepresentado.

    REPRESENTAO NORMALIZADA

    Na representao normalizada, o nmero preparado movendo a vrgula para a direita ou para aesquerda de forma que o nmero seja menor que 1, o mais prximo possvel de 1, obviamentemultiplicado por uma potncia da base de forma a manter o valor do nmero. Em geral, issosignifica que o primeiro dgito significativo seguir imediatamente ao ponto (ou vrgula).

    Por exemplo:57,68310 --> normalizando ==> 0,57683 x 102

    0,000462810 --> normalizando ==> 0,4628 x 10-3

    0,000010112 --> normalizando ==> 0,1011 x 2-4

    De forma genrica, podemos representar a forma normalizada: nmero x base expoente

    A parte do nmero representado dessa forma normalizada (os algarismos significativos), damos onome de mantissa.e portanto podemos representar: 0,M x B e

    onde M a mantissa, B a base e e o expoente.

  • 28

    REPRESENTAO DE NMEROS REAIS NO COMPUTADOR

    Uma forma comum de representao de nmeros reais no computador pode ser expressa comosegue:

    Pode-se notar que a base no expressa. Como a base, para cada computador, ser sempre amesma, no h necessidade de apresentar a base na representao (no exemplo, a base 2).Dizemos que a base implcita.

    Para cada computador, o nmero total M de bits para a representao, o nmero de bits para SN(sinal do nmero), para SE (sinal do expoente), para a mantissa e para o expoente, so pr-definidosem projeto.

    Assim, podemos concluir que, quanto maior o nmero de bits para o expoente, maior ser a faixa denmeros que o computador pode representar (maior alcance); e quanto maior o nmero de bits paraa mantissa, maior a preciso da representao. Porm, reduzindo-se a mantissa, perde-se preciso eh maior a necessidade de truncar o nmero (truncar um nmero cortar algarismos significativosque no podem ser representados).

    Considerando-se a representao acima, na base implcita 2:maior expoente possvel E: 2x 1maior mantissa possvel: 2y 1maior nmero real: +(0.111...1 x 2E) sendo E = 2x 1menor nmero real: -(0.111...1 x 2E) sendo E = 2x 1menor real positivo: +(0.100...0 x 2 -E sendo E = 2x 1maior real negativo: -(0.100...0 x 2 -E sendo E = 2x 1

  • 29

    FAIXA DE REPRESENTAO

    Como vimos anteriormente, a representao em ponto flutuante tem limites de alcance e depreciso. O alcance limitado pelo nmero de bits do expoente. A preciso determinada pelonmero de bits da mantissa.

    Ocorre overflow quando o valor absoluto do dado a ser representado excede a capacidade derepresentao, porque o nmero de bits do expoente (neste caso, positivo) insuficiente pararepresentar o dado.

    Um outro problema ocorre na regio de nmeros prximos de zero, que tem o maior expoentenegativo possvel. Ocorre underflow quando o valor absoluto do dado a ser representado topequeno que fica menor que o menor valor absoluto representvel. Nesse caso, o expoente negativo mas no representa os nmeros muito prximos de zero e ocorre uma descontinuidade narepresentao, com os nmeros prximos a zero no sendo representados.

    Underflow no o mesmo que impreciso. Dados na faixa de underflow no podem serrepresentados, ocorrendo estouro no expoente. No caso de impreciso, a normalizao permite queo dado seja representado, porm com perda de preciso.

    CARACTERSTICA

    Caracterstica o expoente, representado na forma de excesso de n, ou seja,CARACTERSTICA = EXPOENTE + EXCESSO

    A representao substituindo expoente por caracterstica acarreta que todas as caractersticas seropositivas, de forma que possvel eliminar a representao do sinal do expoente.

    Se CARACTERSTICA = EXPOENTE + EXCESSO,sendo M o nmero de bits para a representao da caracterstica, temos:0 = - 2M-1 + EXCESSO logo: EXCESSO = + 2M-1

  • 30

    EXEMPLO DE REPRESENTAO EM PONTO FLUTUANTEa) Representao no IBM /370A famlia IBM /370 representa os dados em ponto flutuante com base implcita = 16, no seguinteformato:

    sendoSN = sinal do dadoCARACTERSTICA = o expoente, representado na forma de excesso de n, ou seja,CARACTERSTICA = EXPOENTE + EXCESSO

    No caso da IBM, o excesso de 6410, portanto: CARACTERSTICA = EXPOENTE + 6410Exemplificando: expoente = 810, logo caracterstica = 810 + 6410 = 7210Assim, uma caracterstica entre 0 e 6310 significa que o expoente negativo, enquanto umacaracterstica entre 65 e 127 significa que o expoente positivo (caracterstica igual a 6410 significaexpoente igual a 0).

    Exemplo: Representar 25,510Como a base implcita 16, vamos converter para hexadecimal: 25 / 16 = 1, resto 9 logo: 2510 =1916Parte fracionria: 0.5 x 16 = 8,0Logo: 25,510 = 19,816 x 160

    Normalizando: 19,816 x 160 = 0,19816 x 162. Em binrio com 24 bits, a mantissa normalizada ser:0,19816 = 0001.1001.1000.0000.0000.0000

    Obs.: Como o nmero 0,19816 ser representado em 24 bits, os bits no representativos ( direita)sero preenchidos com zeros.

    Como o expoente 2, a caracterstica ser: 210 + 6410 = 6610. Em binrio com 7 bits, ser: 100.0010

    Portanto, a representao ser:

  • 31

    b) Representao no PDP 11

    Os microcomputadores PDP 11 representam os dados em ponto flutuante com base implcita = 2,no seguinte formato:

    sendoSN = sinal do dadoCARACTERSTICA = o expoente, representado na forma de excesso de n, ou seja,CARACTERSTICA = EXPOENTE + EXCESSO

    No caso do PDP 11, o excesso de 12810, portanto: CARACTERSTICA = EXPOENTE + 12810Exemplificando: expoente = - 28 logo caracterstica = - 2810 + 12810 = 10010Assim, uma caracterstica entre 0 e 12710 significa que o expoente negativo, enquanto umacaracterstica entre 129 e 255 significa que o expoente positivo (caracterstica igual a 1280significa expoente igual a 0).

    Exemplo: Representar 25,510Como a base implcita 2, vamos converter para binrio: 2510 = 110012Parte fracionria: 0.5 x 2 = 1,0Logo: 25,510 = 11001,12 x 20

    Normalizando: 11001,12 x 20 = 0,1100112 x 25.

    Obs.: Como a base implcita no PDP 11 2, o nmero normalizado comear SEMPRE por 0,1.Assim, como o primeiro dgito da mantissa ser sempre 1, o PDP 11 economiza um bit na mantissano armazenando o primeiro bit da mantissa, j que est implcito que todos os nmeros teromantissa iniciando com 1. O bit economizado dessa forma permite que, embora a mantissa no PDPseja representada com 23 bits e no IBM /370 com 24 bits, a preciso na representao a mesma.Obs.1: Leia-se o SEMPRE da obs. acima como quase sempre . A nica exceo corre por conta dozero, que nesse caso tem um tratamento especial.Em binrio com 23 bits, a mantissa normalizada ser (lembrando que o primeiro bit 1 no representado):0,1100112 = 100.1100.0000.0000.0000.0000

    Obs.: Como o nmero 0,1100112 ser representado em 23 bits, os bits no representativos ( direita)sero preenchidos com zeros.Como o expoente 5, a caracterstica ser: 510 + 12810 = 13310. Em binrio com 8 bits, ser:1000.0101Portanto, a representao ser:

  • 32

    Exerccio: Qual das representaes de ponto flutuante nos dois computadores exemplificados acimatem o maior alcance?Resp.: O alcance de uma representao depende do valor da base implcita, elevado ao maior valorque a caracterstica pode assumir.O maior alcance ser o que tiver o maior valor de Be ou seja, base elevada ao maior valor possvelda caracterstica.O IBM /370 tem 7 bits para caracterstica (maior caracterstica = 63) e base implcita 16, portanto1663 = (24) 63 = 2252

    O PDP tem 8 bits para caracterstica (maior caracterstica = 127) e base implcita 2, portanto 2127

    Concluso: A representao em ponto flutuante do IBM /370 tem maior alcance que a do PDP 11.

    REPRESENTAO DE CARACTERES E SMBOLOS

    A representao de caracteres e smbolos em computador feita atribuindo-se a cada caractere ousmbolo um cdigo binrio. Desta forma so construdas tabelas (padres) em que cada cdigobinrio representa para o computador um determinado caractere ou smbolo.

    Cada computador (ou cada fabricante) adota um determinado padro. O nmero de bits que serutilizado no padro uma deciso do fabricante e determinar quantos caracteres (e smbolos)podero ser representados.

    Nota: Se um padro utiliza 7 bits, ser possvel representar at 27 = 128 caracteres e smbolos e com8 bits sero 28 = 256.

    O principal padro hoje utilizado o ASCII, de 7 bits, com uma variao de 8 bits (ASCIIextendido) em que o 8 bit permite representar outros 128 smbolos.

    Nota 1: Nos computadores PC, devido s diferenas lingsticas, com a necessidade de representarcaracteres diferentes para para dar suporte a outras lnguas que no o ingls, foram criadas diversas"pginas de cdigo". Por exemplo, a pgina de cdigo 437 refere-se aos Estados Unidos, a 850 aMultilinge (Latin I), a 860 para Portugus (incluindo caracteres que no existem no ingls, taiscomo e os acentos).

    Nota 2: ASCII um acrnimo para American Standard Code for Information Interchange (ouCdigo Padro Americano para Intercmbio de Informaes).

  • 33

    A seguir, apresentamos alguns exemplos de cdigos da tabela ASCII:

    Decimal Binrio Caractere48 a 57 0011.0000 a 0011.1001 de 0 at 9 (algarismos)65 a 90 0100.0001 a 0101.1010 de A at Z (maisculas)97 a 122 0110.0001 a 0111.1010 de a at z (minsculas)

    36 0010.0100 $42 0010.1010 *43 0010.1011 +63 0011.1111 ?64 0100.0000 @128 1000.0000 135 1000.0111 132 1000.0100 142 1000.1110 172 1010.1100 167 1010.0111 166 1010.0110 225 1110.0001 241 1111.0001

    Nota: At 127, os cdigos pertencem tabela ASCII padro, enquanto os cdigos entre 128 e 255fazem parte do ASCII extendida, podendo variar o caractere ou smbolo representado conforme apgina de cdigo configurada.

    Outros padres foram e ainda so usados, por exemplo o EBCDIC (Extended Binary CodedDecimal Interchange Code, de 8 bits, usados nos computadores de grande porte IBM).

  • 34

    Captulo 4 Organizao Interna de um Computador

    Vimos que um sistema de computador um conjunto de componentes que so integrados parafuncionar como um nico elemento e tem por objetivo realizar manipulaes com dados; isto ,realizar algum tipo de operao com os dados de modo a obter informaes teis.

    4.1 MODELO DE VON NEUMANN

    Para podermos entender a importncia da arquitetura Von Neumann vamos comear fazendo umapergunta: qual a diferena entre uma calculadora e um computador?

    Uma calculadora bsica realiza apenas as funes pr-determinadas em seu teclado. Se desejarmosfazer um novo tipo de operao, isto s ser possvel com a modificao dos circuitos eletrnicosque compem a calculadora, alm do seu teclado, para a incluso da nova funo. No h, portanto,flexibilidade para realizar alteraes na calculadora para se adaptar a novas aplicaes.

    O computador, por sua vez, um equipamento que oferece a possibilidade de ser configuradofacilmente para novas tarefas, de acordo com as necessidades de cada aplicao que for requeridapelo usurio.

    A grande inovao da proposta de Von Neumann foi uma nova forma de organizao para ocomputador que permitisse um alto grau de flexibilidade, de forma a adapt-lo facilmente paradiversas aplicaes.

    Modelo de Von Neumann

    O conceito de programa armazenado foi um dos conceitos fundamentais apresentados por VonNeumann que permitiu essa flexibilidade. Em seu modelo de computador foi introduzido o conceitode memria, um dispositivo de armazenamento temporrio, para onde programas (e dados)diferentes poderiam ser carregados a partir de uma unidade de entrada, para serem executadospela unidade aritmtica e lgica, com os resultados sendo transferidos da memria para uma

  • 35

    unidade de sada, tudo isso sob a coordenao de uma unidade de controle. Deste modo, ficavagarantida a flexibilidade do computador, que pode ter o seu funcionamento facilmente alteradomediante o uso de programas e dados diferentes, de acordo com a aplicao de cada usurio.

    Sendo mais formal, os componentes da mquina de Von Neumann (Figura) podem ser descritosassim:

    Memria: a unidade onde as instrues, os dados de entrada, as tabelas de referncia, e osresultados intermedirios devem ser armazenados para permitir a execuo de um programa.

    Controle: a unidade responsvel pelo seqenciamento das operaes e pelo controle das demaisunidades do computador.

    Aritmtica: a unidade que ir executar as operaes aritmticas e lgicas tais como: soma,subtrao, multiplicao, diviso, raiz quadrada, movimentao entre a unidade aritmtica e amemria, verificao do sinal do resultado, converso de decimal para binrio e vice-versa. Umtotal de 10 operaes fundamentais foi definido por Von Neumann. chamada abreviadamente deUAL.

    Entrada: a unidade que transfere a informao (numrica ou no) do meio externo. Todas astransferncias devem ser feitas para a memria e nunca diretamente para a unidade de controle.

    Sada: a unidade que transfere a informao (numrica ou no) para o meio externo. Todas astransferncias devem ser feitas da memria para o meio externo, e nunca diretamente da unidade decontrole.

    Von Neumann, em uma analogia com o comportamento dos neurnios, sugere o uso da numeraobinria para a representao interna dos nmeros, ao invs da numerao decimal, pela evidenteeconomia que isto proporciona no tempo gasto nos clculos e na complexidade dos circuitos. Asvlvulas foram escolhidas como elementos bsicos por serem dispositivos com o menor tempo dechaveamento (mudana do valor lgico 0 para o valor lgico 1) existentes com a tecnologiadisponvel naquela poca. O uso de um sinal eltrico peridico para cadenciar todas as operaes docomputador foi tambm proposto, dando origem ao que chamamos de relgio do computador.

    Este modelo de organizao proposto por Von Neumann continua sendo utilizado no projeto dosprocessadores comerciais nos dias de hoje. O estudo de suas caractersticas permite umacompreenso adequada do funcionamento dos computadores utilizados comercialmente hoje emdia.

  • 36

    4.2 MODELO DE BARRAMENTO DE SISTEMA

    O modelo de Von Neumann passou por um refinamento que recebeu o nome de modelo debarramento de sistema (Figura acima). Nesse modelo, a unidade de controle e a unidadearitmtica so vistas como um s elemento e recebem o nome de processador. As unidades deentrada e sada so vistas tambm em uma nica unidade, chamada agora de unidade deentrada/sada. A memria continua sendo vista com uma unidade independente, com as mesmasfunes da arquitetura de Von Neumann.

    Um elemento novo que surge o prprio barramento de sistema, que faz a interligao entre oprocessador, a memria e a unidade de entrada/sada. O barramento de sistema composto pelosbarramentos de endereo, dados e controle.

    O barramento de endereos transporta os sinais de endereo atravs de fios ou trilhas at a memria.

    Sinais estes que vo, principalmente, determinar qual a posio de memria que ir ser lida ouescrita. Os endereos podem ser fornecidos tanto pelo processador como pela unidade de entrada/sada. A informao dessa posio de memria, que est sendo lida ou escrita na memria, transitapelo barramento de dados, que bidirecional. Apesar do nome, tanto instrues como os dadospropriamente ditos circulam por esse barramento.

    O barramento de controle indica qual a natureza da operao que vai ser realizada: leitura ouescrita, na maior parte dos casos, e possui tambm sinais para a arbitragem do barramento, paradeterminar quem vai utilizar o barramento naquele momento, que pode ser tanto o processadorcomo a unidade de entrada/sada.

    Eventualmente, nos modernos computadores, existe tambm um barramento dedicado para ligar osperifricos unidade de entrada/sada. Isso permite que o acesso do processador memria se faacom maior eficincia, pela diminuio do trfego de dados no barramento de sistema.

    A seguir vamos examinar cada um dos componentes do modelo de barramento de sistema com maisdetalhes.

    Unidade Central de Processamento (Processador) o componente vital do sistema decomputao, responsvel pela realizao das operaes de processamento (os clculosmatemticos com os dados, etc.) e pelo controle de quando e o que deve ser realizado, durante a

  • 37

    execuo de um programa. Tal controle realizado atravs da emisso de sinais apropriados decontrole.

    A funo da UCP consiste, ento, em:

    a) buscar uma instruo na memria, uma de cada vez;

    b) interpretar que operao a instruo est explicitando (pode ser e soma de dois nmeros,uma multiplicao, etc.);

    c) buscar os dados onde estiverem armazenados, para traz-los at a UCP;

    d) executar efetivamente a operao com os dados, guardar o resultado no local definido nainstruo;

    e) reiniciar o processo apanhando nova instruo.

    Memria o componente de um sistema de informao cuja funo armazenar asinformaes que so, foram ou sero manipuladas pelo sistema. Os programa e os dados soarmazenados na memria para execuo imediata (memria principal) ou para execuo ou usoposterior (memria secundria). H duas nicas aes que podem ser realizadas: 1) a de guardarum elemento na memria, ento chamamos de armazenar e a operao associada a esta ao de escrita ou gravao (write) ou 2) recuperao de um elemento da memria, ao derecuperar, e operao de leitura (read).

    Dispositivos de Entrada e Sada serve basicamente para permitir que o sistema decomputao se comunique com o mundo externo, realizando ainda, a interligao, a conversodas linguagens do sistema para a linguagem do meio externo e vice-versa. Os seres humanosentendem smbolos como A, b, *, ?, etc. e o computador entende sinais eltricos que podemassumir um valor de +3Volts para representar 1 e ou outro valor, 0 Volts para representar 0. Oteclado (dispositivo de ENTRADA) interliga o usurio e o computador, por exemplo, quandopressionamos a tecla A, os circuitos eletrnicos existentes no teclado convertem a pressomecnica em um grupo de sinais eltricos, alguns com voltagem alta (bit 1) e outras comvoltagem baixa (bit 0), que corresponde, para o computador, ao caractere A. Os dispositivos deSADA operam de modo semelhante, porm em sentido inverso, do computador para o mundoexterior, convertendo os sinais eltricos em smbolos conhecidos por ns.

    4.3 BIT, CARACTERE, BYTE E PALAVRA:

    Bit a menor unidade de informao armazenvel em um computador. Bit a contrao daspalavras inglesas Binary Digit. O bit pode ter, ento, somente dois valores: 0 e 1.Evidentemente, com possibilidades to limitadas, o bit pouco pode representar isoladamente;por essa razo, as informaes manipuladas por um computador so codificadas em gruposordenados de bits, de modo a terem um significado til.

    Caractere o menor grupo de bits representando uma informao til e inteligvel para o serhumano. Qualquer caractere a ser armazenado em um sistema de computao convertido emum conjunto de bits previamente definidos para o referido sistema (chama-se cdigo derepresentao de caracteres). Cada sistema poder definir como (quantos bits e como seorganizam) cada conjunto de bits ir representar um determinado caractere.

  • 38

    Byte o grupo de 8 bits, tratados de forma individual, como unidade de armazenamento etransferncia. Como os principais cdigos de representao de caracteres utilizam 8 bits porcaractere, os conceitos de byte e caractere tornam-se semelhantes e as palavras, quasesinnimas.

    costume, no mercado, construrem memria cujo acesso, armazenagem e recuperao deinformaes so efetuadas byte a byte (ou caractere a caractere). Por exemplo, 16 Kbytes dememria ou 12 Mbytes. O K e M, so letras indicativas de um valor numrico fixo, utilizado parareduzir a quantidade de algarismos representativos de um nmero, onde K representa mil vezes e Mmilhes.

    Como os computadores so binrios, toda indicaes numricas referem-se a potncia de 2, ou seja,o K representa 210 = 1.024 unidades e M 1.024 * 1.024 = 1.048.576 caracteres ou bytes.

    Palavra um conjunto de bits que representam uma informao til, mas estaria associadaao tipo de interao entre a MP (memria principal) e a UCP, que individual, informao porinformao, ou seja, a UCP processa informao por informao, armazena e recupera nmero anmero (cada uma estaria associada a uma palavra).

    De modo geral, usam-se dois valores diferentes: um relacionado unidade de armazenamento obyte e o outro para indicar a unidade de transferncia e processamento a palavra (que na quasetotalidade de computadores, possui um nmero de bits mltiplo de 1 byte 16 ou 32 bits o valormais comum.

    4.4 CLASSIFICAO DE SISTEMAS DE COMPUTAO:

    Microcomputadores surgiram comercialmente por volta de 1974, atravs dodesenvolvimento dos microprocessadores (todos os componentes de uma UCP em uma nicapastilha) e o nome foi justamente devido ao tamanho e capacidade de processamento, ambospequenos em relao ao que j existia no mercado.

    H no mercado vrias categorias de microcomputadores, classificadas quanto ao tamanho fsico doequipamento e a sua portabilidade:

    a) Mesa ou desktop;

    b) Torre (maior disponibilidade para instalao de dispositivos de entrada e sada);

    c) Laptops;

    d) Notebooks e sub-notebooks;

    e) Palmtops.

    Estao de Trabalho essencialmente um microcomputador projetado para realizar tarefaspesadas, em geral na rea cientfica ou industrial, tais como complexas computaesmatemticas e a composio, manipulao e apresentao de grficos e imagens de altssimaresoluo. Especialmente no que se refere a velocidade do processador e a capacidade dememria, a potncia de uma estao de trabalho semelhante de um minicomputador. Ex:IBM RS/6000.

    Minicomputadores so mquinas projetadas para atender simultaneamente a demanda porexecuo de programas de vrios usurios, embora a quantidade de usurio e de programas noseja to grande quanto se pode encontrar em computadores de grande porte. A capacidade desuportar mltiplos usurios e programas requer alm de velocidade de processamento e

  • 39

    capacidade/velocidade de memria, uma extensa potencialidade para manipular diversosdispositivos de entrada e sada. Ex: IBM AS/400.

    Computador de Grande Porte so sistemas projetados para manusear considervel volumede dados e executar simultaneamente programas de uma grande quantidade de usurios. Essasmquinas podem interagir com centenas de usurios em um dado instante, como, por exemplo,um sistema de reserva de passagens areas, bem como uma contnua solicitao deprocessamento por parte dos incontveis terminais conectados diretamente ao sistema, aos quaisos computadores tm que atender e responder em poucos segundos. Ex: IBM 3090 e ControlData CDC 6600.

    Supercomputadores so projetados primariamente para atender a um nico propsito:realizar grandes quantidades de clculos matemticos o mais rapidamente possvel, tipopreviso do tempo, simulao, modelagem tridimensional, etc. Ex: IBM 9021 e CRAY Y-MP.

    4.5 MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES:

    A medida geral de desempenho de um sistema de computador depende fundamentalmente dacapacidade e velocidade de seus diferentes componentes, da velocidade com que estes secomunicam entre si e do grau de compatibilidade que possa existir entre eles.

    Desempenho dos Processadores medido em termos de sua velocidade de trabalho; comoseu trabalho executar instrues, criou-se a unidade chamada MIPS milhes de instruespor segundo e tambm a unidade MFLOPS milhes de operaes de ponto flutuante porsegundo, que uma medida tpica de estaes de trabalho e de supercomputadores, pois estescostumam trabalhar mais com clculos matemticos.

    Tempo de Acesso uma unidade de medida mais apropriada, estando relacionada velocidade de cada componente e do canal de interligao entre os dois (UCP e memria).

    Tempo de Resposta a medida ligada ao desempenho global do sistema e no de um ououtro componente. Trata-se do perodo de tempo gasto entre o instante em que o usurio iniciouuma solicitao ou interrogao e o instante em que o sistema apresentou ao usurio a suaresposta ou atendeu sua solicitao. Ex: o intervalo de tempo entre a solicitao de um saldode conta em um terminal bancrio e apresentao no vdeo da resposta (o saldo da conta).

    Vazo (throughput) define a quantidade de aes ou transaes que podem ser realizadaspor um sistema na unidade de tempo. Por exemplo, a quantidade de atualizaes que podem serfeitas em um sistema de controle do estoque de uma empresa.

  • 40

    Captulo 5 Funes de cada Componente de um Computador

    Iremos detalhar neste captulo os aspectos que envolvem os componentes do sistema computador:Processador, Memria e Entrada e Sada.

    5.1 UNIDADE CENTRAL DE PROCESSAMENTO

    A Unidade Central de Processamento - UCP (em ingls, Central Processing Unity - CPU) aresponsvel pelo processamento e execuo dos programas armazenados na MP. As funes daUCP so: executar as instrues e controlar as operaes no computador.Um programa, para ser efetivamente executado pelo processador, deve ser constitudo de uma sriede instrues de mquina. Para que a execuo tenha incio, as instruesdevem ser armazenadas em clulas sucessivas, na MP.A funo da UCP consiste, ento, em:a) Buscar uma instruo na memria (operao de leitura), uma de cada

    vez;b) Interpretar que operao a instruo est explicitando (pode ser soma

    de dois nmeros, uma multiplicao, uma operao de entrada ou desada de dados, ou ainda uma operao de movimentao de um dadode uma clula para outra);

    c) Buscar os dados onde estiverem armazenados, para traz-los at aUCP;

    d) Executar efetivamente a operao com os dados, guardar o resultado(se houver algum) no local definido na instruo; e, finalmente;

    e) Reiniciar o processo apanhando nova instruo.

    Estas etapas compem o que se denomina um ciclo de instruo. Esteciclo se repete indefinidamente (ver Figura 5.8) at que o sistema sejadesligado, ou ocorra algum tipo de erro, ou seja, encontrada uma instruode parada.

    As atividades realizadas pela UCP podem ser divididas em duas grandes categorias funcionais:funo processamento e funo controle.

    5.1.1 Funo Processamento

    Vimos que processamento de dados a ao de manipular um ou mais valores (dados) em certaseqncia de aes, de modo a produzir um resultado til. O resultado muda conforme o tipo deoperao realizada. Por exemplo, se uma instruo define que deve ser realizada uma operao deadio sobre os valores A = 5 e B = 3, o sistema, ao interpretar a instruo, gera as aessubseqentes que redundaro no resultado igual a 5+3 = 8. Por outro lado, se o sistema interpretaruma outra instruo que define a operao de subtrao, ele deve gerar outras aes de modo que oresultado seja 5-3 = 2 (e no mais 8).Processar o dado executar com ele uma ao que produza algum tipo de resultado. Este , pois, aatividade-fim do sistema; ele existe para processar dados. O dispositivo principal desta rea deatividade de uma UCP chamado ULA Unidade Lgica e Aritmtica. Os demais componentesrelacionados com a funo processamento so os registradores, que servem para armazenar dados(ou para guardar resultados) a ser usados pela ULA. A interligao entre estes componentes efetuada pelo barramento interno da UCP.

    Figura 5.8 Ciclo de Instruo.

  • 41

    5.1.1.1. Unidade Lgica e Aritmtica ULA:

    o dispositivo que realmente executa as operaes matemticas com os dados. Tais operaespodem ser:

    Soma Subtrao Multiplicao DivisoOp. Lgica AND Op. Lgica OR Op. Lgica XOR Op. ComplementoDeslocamento direita Deslocamento esquerda Incremento Decremento

    Tais operaes podem utilizar dois valores (operaes aritmticas e lgicas), por isso a ULA possuiduas entradas, ver Figura 5.9, ou apenas um valor (operaes com complemento). A ULA umaglomerado de circuitos lgicos e componentes eletrnicos simples que, integrados, realizam asoperaes j mencionadas.

    Figura 5.9 Esquema da UCP, destacando-se os elementos que contribuem para a realizao da funo processamento.

    5.1.1.2. Registradores:

    Para que o dado seja transferido para a ULA, necessrio que ele permanea, mesmo que por umbreve instante, armazenado em um registrador (a memria da UCP). Alm disso, o resultado de umaoperao aritmtica ou lgica realizada na ULA deve ser armazenado temporariamente, de modoque possa ser reutilizado mais adiante (por outra instruo) ou apenas para ser, em seguida,transferido para a memria.Para atender a este propsito, a UCP fabricada com certa quantidade de registradores, destinadosao armazenamento de dados. Serve de memria auxiliar da ULA. H sistemas nos quais um dessesregistradores, denominado Acumulador ACC, alm de armazenar dados, serve de elemento deligao da UAL com os restantes dispositivos da UCP.Em geral, os registradores de dados da UCP tm uma largura (quantidade de bits que podemarmazenar) igual da palavra. O tamanho dos processadores IBM/370 era de 32 bits, a mesma

    Sendo que os elementos emamarelo, da UCP, so osque contribuem para arealizao da funoprocessamento.

  • 42

    largura dos 16 registradores de emprego geral neles existentes. O microprocessador Intel 8088, quemoveu os primeiros sistemas IBM PC, possui registradores de 16 bits cada um, tamanho idntico aodefinido para a palavra.

    A quantidade e o uso dos registradores variam bastantes de modelo para modelo de UCP. AsFiguras 5.10 e 5.11 apresentam exemplos de organizao de registradores de dados em algumasUCP.

    Alm dos registradores de dados, a UCP possui sempre outros registradores (que no participamdiretamente da funo processamento), com funes especficas ou que funcionam para a rea decontrole. Entre estes registradores podemos citar desde j o Registrador de Instruo RI e ocontador de instruo CI, alm do Registrador de Endereo de Memria REM e o Registradorde Dados de Memria RDM.

    Figura 5.10 Diagrama (simplificado) em bloco da UCP Intel 8085, apenas com osdispositivos bsicos da rea de processamento.

    Figura 5.11 Diagrama (simplificado) em bloco da UCP Intel 8086, mostrandoapenas os dispositivos bsicos da rea de processamento.

    5.1.1.2. A Influncia do Tamanho da Palavra:

    A capacidade de processamento de uma UCP (a velocidade com que realiza o ciclo de umainstruo) em grande parte determinada pelas facilidades embutidas no hardware da ULA (ela ,s hardware) para realizar as operaes matemticas projetadas.Um dos elementos fundamentais para isso a definio do tamanho da palavra da UCP. O valorescolhido no projeto de fabricao da UCP determinar o tamanho dos elementos ligados rea deprocessamento, entre estes a ULA.

    Reg. Temp.

    Flags

    ULA

    Reg. Temp.AH AL

    BLBHCH CLOH DL

    Barramento Interno

    Reg. de Emprego geral

    AH + AL += 16 bitsULA = 16 bits

    B = C = D = E = H = L = 8 bitsULA = 8 bits

    ACC Reg. Temp. Flags

    ULA

    Reg. B Reg. CReg. EReg. D

    Reg. H Reg. L

    Barramento Interno

  • 43

    Um tamanho maior ou menor de palavra (e, por conseguinte, da ULA, dos registradores de dados,do barramento interno) acarreta, sem dvida, diferenas fundamentais de desempenho da UCP.Vejamos um exemplo simples sobre a influncia do tamanho da palavra na capacidade deprocessamento.Vamos realizar a soma de dois valores, A = 3A25 e B = 172C, ambos nmeros inteiros, sem sinal,com 16 bits de tamanho cada um. A referida soma ser simulada em 2 sistemas de computao,sistema 1 e sistema 2.O sistema 1 possui palavras de 8 bit, e a memria principal tem 64K clulas de 8 bits cada uma,conforme mostrado na Figura 5.10.O sistema 2 possui palavras de 16 bits, e a memria principal possui um espao de endereamentode 1M clulas, todas tambm com 8 bits cada uma, conforme mostrado na Figura 5.11.

    Operao de soma no sistema 1:a) A operao realizada em duas etapas lgicas, porque cada valor tem 16 bits e a UCP (ULA,

    registrador ACC e barramento de dados) s permite armazenar, processar e transferir dados com8 bits de tamanho.

    b) Na primeira etapa so transferidos para a ULA, via ACC e barramento de dados, a 1a metade decada nmero (25 para o nmero A e 2C para o nmero B) e eles so somados.

    c) Na segunda etapa a operao realizada de forma idntica, exceto para a 2a parte dos valores(3A para o nmero A e 17 para o nmero B).

    d) A operao completa gasta um perodo de tempo igual a T1.

    A Figura 5.12 mostra este exemplo em um digrama em bloco de uma UCP semelhante do sistema1, com a transferncia dos valores sendo efetuada de 8 em 8 bits de cada vez.

    Operao de soma no sistema 2:a) A operao realizada em uma etapa lgica, porque a UCP fabricada para operar valores de

    16 bits de tamanho, mesmo tamanho dos nmeros.b) A operao completa gasta um perodo de tempo igual a T2.

    A Figura 5.13 mostra este exemplo em um digrama em bloco de uma UCP semelhante do sistema2, com a transferncia dos valores sendo efetuada de 16 em 16 bits de cada vez.Considere que a operao de soma no sistema 1 realizada em duas etapas e a mesma operao nosistema 2 realizada em uma etapa, o tempo T2 deve ser aproximadamente a metade do tempo T1.Isto torna a capacidade da UCP do sistema 2 bem maior que a capacidade do sistema 1.

    NOTA: Nos exemplos anteriores foram consideradas vrias simplificaes, no somente naarquitetura dos dois sistemas, como tambm no processo de soma, visando no complicar aexplicao do essencial a influncia do tamanho da palavra na variao da capacidade deprocessamento dos sistemas. Nenhuma das simplificaes feitas comprometeu a concluso final.

  • 44

    Figura 5.12 Exemplo de uma operao de soma de 2 nmeros, A e B, em um computador com palavra de 8 bits.

    Figura 5.13 Exemplo de uma operao de soma de 2 nmeros, A e B, em um computador com palavra de 16 bits.

    No projeto de uma UCP, a definio do tamanho da palavra tem enorme influncia no desempenhoglobal de toda a UCP e, por conseguinte, do sistema como um todo. Vejamos:a) Influencia no desempenho devido ao maior ou menor tempo na execuo de instrues com

    operaes matemticas na ULA, conforme demonstrado no exemplo anterior;b) Influencia no desempenho devido ao tamanho escolhido para o barramento interno e externo da

    UCP. Em geral, obtm-se o mximo de desempenho quando a largura (tamanho) do barramento

    25+2C (1a)3A+17 (2a)

    ULA

    8 bits

    ACC = 8 bits

    Barramento de dados

    8 bits

    UCP

    3A25172C

    0

    MP

    3A25172C

    8 bits8 bits

    A

    B

    UCP Palavra de 8 bitsMemria de 64K bytes

    Operao: somar 2 nmeros com 16 bits de tamanhoA = 3A25 e B = 172C (realizada em duas etapas)

    3A25+172C (1a)

    ULA

    16 bits

    ACC = 16 bits

    Barramento de dados

    16 bitsUCP

    3A25172C

    0

    MP

    3A25172C

    8 bits8 bits

    A

    B

    UCP Palavra de 16 bitsMemria de 1M bytes

    Operao: somar 2 nmeros com 16 bits de tamanhoA = 3A25 e B = 172C (realizada em uma nica etapa)

  • 45

    de dados , no mnimo, igual ao tamanho da palavra (como nos exemplos mostrados). Se alargura do barramento for, p. ex., igual a 16 bits em um sistema com palavra de 32 bits (ULA eregistradores de 32 bits), ento o movimento de 4 bytes de um dado tipo caractere requererdois ciclos de tempo do barramento, ao passo que em barramento de 32 bits requereria apenasum ciclo de tempo;

    c) Influencia tambm na implementao fsica do acesso memria. Embora atualmente acapacidade das memrias seja medida em bytes (porque as clulas so sempre de largura igual a8 bits), o movimento de dados entre UCP e memria normalmente medido em palavras,porque o barramento de dados que une o RDM (ou MBR) memria deve acompanhar emlargura o valor da palavra. Para uma UCP de 32 bits de palavra, p. ex., desejvel que amemria seja organizada de modo que sejam acessadas 4 clulas contguas (4 bytes = 32 bits)em um nico ciclo de memria. Se isto no ocorrer, a UCP dever ficar em estado de espera(wait state).

    5.1.2 Funo Controle

    A rea de controle de uma UCP a parte funcional que realiza (uma etapa de cada vez, em sistemasde execuo serial, ou vrias etapas simultaneamente, em sistemas de execuo pipelining) asatividades de:a) Busca de instruo que ser executada, armazenando-a em um registrador especialmente

    projetado para esta finalidade;b) Interpretao das aes a serem desencadeadas com a execuo da instruo (se uma soma,

    uma subtrao, uma complementao, etc.); ec) Gerao de sinais de controle apropriado para ativao requerida para a execuo propriamente

    dita da instruo identificada. Esses sinais de controle so enviados aos diversos componentesdo sistema, sejam internos da UCP (como a ULA) ou externos (como a memria ou E/S).

    Em outras palavras, a rea de controle projetada para entender o que fazer, como fazer e comandarquem vai fazer no momento adequado. Podemos fazer uma analogia com os seres humanos,imaginando que a rea de controle o crebro que comanda o ato de andar, e as reas doprocessamento so os msculos e ossos das pessoas que realizam efetivamente o ato. Os nervos soanlogos ao barramento de interligao entre os diversos elementos.

    Na Figura 5.9 apresentada anteriormente, os elementos em Azul so os que contribuem para arealizao da funo de controle.

    Os dispositivos bsicos que devem fazer parte daquela rea funcional so: Unidade de controle (UC); Decodificador; Registrador de instruo (RI); Contador de Instruo (CI) ou PC Program Counter; Relgio ou Clock; Registradores de endereo de memria (REM) e de dados da memria (RDM).

    A quantidade, a complexidade e a disposio dos componentes que realizam as funes de controlevariam consideravelmente de UCP para UCP, porm, essencialmente, os dispositivos indicados (emazul na Figura 5.9) so os mesmos.

  • 46

    5.1.2.1. A Unidade de Controle:

    o dispositivo mais complexo da UCP. Possui a lgica necessria para realizar a movimentao dedados e instruo de e para a UCP, atravs de sinais de controle, que emite em instantes de tempoprogramados. Este dispositivo controla a ao da ULA. Os sinais de controle emitidos pela UCocorrem em vrios instantes durante o perodo de realizao de um ciclo de instruo e, de modogeral, todos possuem uma durao fixa e igual, originada em um gerador de sinais usualmenteconhecido como relgio (clock).

    5.1.2.2. O Relgio:

    o dispositivo gerador de pulsos cuja durao chamada de ciclo. A quantidade de vezes em queeste pulso bsico se repete em um segundo define a unidade de medida do relgio, denominadafreqncia, a qual tambm usamos para definir velocidade na UCP. A Figura 5.14 mostra umexemplo de um relgio (em geral, um gerador de cristal de quartzo) e os pulsos por ele gerados.Um ciclo de relgio ou de mquina o intervalo de tempo entre o incio de um pulso e o incio doseguinte. Este ciclo est relacionado realizao de uma operao elementar, durante o ciclo deuma instruo (operao elementar pode ser, p. ex., uma microinstruo, que parte do ciclo deuma instruo de mquina, que veremos posteriormente). No entanto, mesmo esta operaoelementar no se realiza em um s passo e, por essa razo, costuma-se dividir o ciclo de mquinaem ciclos menos (subciclos), defasados no tempo, de modo que cada um aciona um passo diferenteda operao elementar. A Figura 3.14 mostra o ciclo bsico e os 5 subciclos gerados por umretardador (exemplo dos ciclos do processador Intel 8085).

    5.1.2.3. Registrador de Instruo - RI:

    o registrador que tem a funo especfica de armazenar a instruo a ser executada pela UCP. Aose iniciar um ciclo de instruo, a UC emite o sinal de controle que acarretar a realizao de umciclo de leitura para buscar a instruo na memria (uma cpia dela), e que, via barramento dedados e RDM, ser armazenado no RI.

    5.1.2.4. Contador de Instruo - CI:

    o registrador cuja funo especfica armazenar o endereo da prxima instruo a ser executada.To logo a instruo que vai ser executada seja buscada (lida) da memria para a UCP (incio dociclo de instruo), o sistema providencia a modificao do contedo do CI de modo que ele passe aarmazenar o endereo da prxima instruo na seqncia. Por isso, comum definir a funo CIcomo sendo a de armazenar o endereo da prxima instruo, que o que realmente ele fazdurante a maior parte da realizao de um ciclo de instruo.O CI um registrador crucial para o processo de controle e de seqenciamento da execuo dosprogramas.

    RelgioGerador

    DeTempo

    T0Unidade

    DeControle

    T0

    T1T2T3T4T5

    (a) Diagrama em Bloco do conjunto de tempo da rea de controle.

  • 47

    Figura 5.14 Diagrama em bloco da UC, mostrando o relgio e um conjunto de ciclos de tempo.

    5.1.2.5. Decodificador de Instruo:

    um dispositivo utilizado para identificar as operaes a serem realizadas, que estocorrelacionadas instruo em execuo. Em outras palavras, cada instruo uma ordem para quea UCP realize uma determinada operao. Como so muitas instruo, necessrio que cada umapossua uma identificao prpria e nica. A unidade de controle est, por sua vez, preparada parasinalizar adequadamente aos diversos dispositivos da UCP, conforme ela tenha identificado ainstruo a ser executada.O decodificador recebe na entrada um conjunto de bits previamente escolhidos e especficos paraidentificar uma instruo de mquina (cada instruo tem um valor prprio) e possui 2N sadas,sendo N a quantidade de algarismos binrios do valor de entrada.A Figura 5.15 mostra um exemplo de configurao de decodificador com entrada de 4 bits e 16sadas. Cada linha de sada aciona de modo diferente a UC e esta, por sua vez, emite diferentessinais de controle, conforme a linha de sada decodificada.

    T1

    T2

    T3

    T0

    T4

    T51 Ciclo = T0

    1 Subciclo = T0/5

    (b) Diagrama de tempo do ciclo do processador (T0) e seus 5 subciclos.

    Registradorde Instruo UC

    E0 a E2

    S0 a S15

    DecodificadorSinais deControle

    E EntradaS Sada

    (a) Diagrama em bloco da decodificao em uma UCP.

  • 48

    E0 E1 E2 E3 S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S150 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 00 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 00 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 01 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 01 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 01 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 01 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 01 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

    Figura 5.15 Exemplo de um decodificador com 4 entradas e 16 sadas.

    5.1.2.6. Registrador de Dados de Memria RDM e Registrador de Endereos de Memria - REM:

    So os registradores utilizados pela UCP e memria para comunicao e transferncia deinformao conforme j explicado. Em geral, o RDM (ou MBR Memory Buffer Register) possuium tamanho (capacidade de armazenamento de bits) igual ao da palavra e do barramento de dados,enquanto o REM (ou MAR Memory Address Register) possui um tamanho igual ao dosendereos da memria (e, consequentemente, do barramento de endereo do sistema). Peladefinio de bits do REM podemos calcular qual o espao mximo de endereamento da memriaprincipal de um computador.

  • 49

    5.2 MEMRIA:

    5.2.1 Tecnologia de fabricao:

    Ao longo do tempo, diversas tecnologias vm sendo desenvolvidas para a fabricao de memria.Atualmente algumas dessas tecnologias j so obsoletas, como as memrias de ncleo de ferrite(magnticas), algumas das tecnologias mais conhecidas so: Memria de semicondutores so dispositivos fabricados com circuitos eletrnicos e

    baseados em semicondutores. So rpidas e relativamente caras, se comparadas com outros tipos.Registradores e memria principal so exemplos de memrias de semicondutores ou, maissimplesmente, memrias eletrnicas.

    Memrias de meio magntico so dispositivos, como os disquetes, discos rgidos e fitasmagnticas, fabricados de modo a armazenar informaes sob a forma de campos magnticos.Eles possuem caractersticas magnticas semelhantes s das fitas cassetes de som, as quais somemrias no volteis.

    5.2.2 Hierarquia de Memria:

    A MP no o nico dispositivo de armazenamento de um computador. Em funo de c