P. 1
Fundamentos de Computacao Guilhen

Fundamentos de Computacao Guilhen

|Views: 173|Likes:
Publicado poryankleebr

More info:

Published by: yankleebr on Dec 16, 2010
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/16/2010

pdf

text

original

Fundamentos da Computação Apostila de Informática I.

Fundamentos de computação

LFG-TI

Prof. Bruno Guilhen
Um sistema analógico contém dispositivos que manipulam quantidades físicas que são repressentadas na forma analógica. Em sistemas analógicos, as quantidaddes físicas podem variar ao longo de uma faixa continua de valores. Por exemplo, as quantidades físicas podem variar ao longo de uma faixa continua de valores. Por exemplo, a amplitude do sinal de saída de um alto-falante em um receptor de rádio pode apresentar qualquer valor entre zero e o seu valor máximo (limite). Outros sistemas analógicos comuns são amplificadores de áudio, equipamentos de gravação/reprodução de fita magnética e um simples reguladore de luminosidade (dimmer). O que é um computador digital? Um computador digital é uma combinação de dispositivos e circuitos digitais que podem realizar uma seqüência programada de operações com mínima intervenção humana. A seqüência de operações é chmada de programa. O programa é um conjunto de instruções codificadas que é armazenado na memória interna do computador juntamente com todos os dados de que o programa necessita. Quando o computador é comandado a executar o programa, ele executa as instruções na ordem em que foram armazenadas na memória até que o programa termine. Ele faz isso em uma velocidade extremamente alta. Como os computadores “pensam”? Computadores não pensam! O programador do computador fornece um programa de instruções e de dados que especificam cada detalhe sobre o que fazer e quando fazer. O computdor é simplesmente uma máquina de alta velocidade que pode manipular dados, resolver problemas e tomar decisões, tudo isso sob o controle de um programa. Se o programador cometer um erro no programa ou entrar com os dados errados, o computador produzirá resultados incorretos. Um ditado popular na computação diz “lixo na entrada – lixo na saída”. A organização básica de um computador. A organização básica de um computador consiste em máquinas que podem ser divididas em até seis níveis. O esquema abaixo mostra cada um dos níveis e o estado de cada nível em relação a atuação de cada nível. Começando pelo nível 0, na parte mais baixa do esquema temos ai o hardware da máquina. Abaixo desse nível ainda poderíamos falar do circuito eletrônico propriamente dito, mas isso não pertence ao escopo dos concursos para analistas de sistemas e sim para engenheiros eletricistas que precisam saber o a constituição física do transistor entre outras coisas. Dos padrões que frequentemente aparecem em concursos para analistas de sistemas o nível mais baixo que estudaremos será o da lógica digital, nível 0, onde são encontradas as portas (AND, OR, NOT, XOR) aquelas que possuem entradas binárias, e são compostas de transistores formando as portas. As portas podem formar, por exemplo, as memórias de 1 bit e que conjulgadas formam os registradores. Cada um dos seis níveis podem assim serem descritos:

1.1. Introdução A Informática atua em todas as áreas do conhecimento humano. A sua utilização passou a ser um diferencial para pessoas e empresas, visto que, o controle da informação passou a ser algo essencial para se obter maior flexibilidade no mercado. Assim, o profissional, que melhor integrar sua área de atuação com a informática, atingirá, com mais rapidez, os seus objetivos e, conseqüentemente, o seu sucesso. Então o que vem a ser um computador? É um sistema constituído por HARDWARE , SOFTWARE e PEOPLEWARE. HADWARE – Parte física COMPUTADOR SOFTWARE – Parte lógica PEOPLEWARE - Usuário A evolução dos Computadores Eletrônicos. Os computadores eletrônicos evoluíram baseados em quatro gerações assim descritas: 1ª Geração(1951 – 1958) – Tinham como característica principal o uso de válvulas, alto consumo de energia e tamanho aproximado de 140m2 , geravam uma grande quantidade de calor. 2ª Geração(1959 – 1965) – Tinham como característica principal o uso de transistores, elemento que revolucionou o mundo da eletrônica, dando aos computadores mais rapidez e um tamanho bem menor que a geração anterior. 3ª Geração(1965 – 1969) – Tinham como característica principal o tamanho reduzido para médio e pequeno porte, ainda com o lançamento do IBM/360 esses computadores passaram a possuir a tecnologia dos circuitos integrados no seu modo primário. 4ª Geração(1970 até os dias atuais) – Característica principal: domínio da tecnologia dos Circuitos Integrados (semicondutores a silício) CHIP VLSI. Os processadores atuais utilizam de 22 a 30 milhões de transistores integrados na pastilha de silício. 1.2.

II.

Organização e Arquitetura de Computadores

Sistemas Analógicos e Digitais. Um sistema digital é uma combinação de dispositivos projetados para manipular informação lógica ou quantridades físicas que são representadas no formato digital; ou seja, assim as quantidades podem assumir apenas valores dicretos. Esses dispositivos são na maioria das vezes eletrônicos, mas podem, tambe, ser mecânicos, magnéticos ou pneumáticos. Alguns dos sistemas digitais mais conhecidos são s computdores digitais e as calculadoras, os equipamentos digitais de áudio e vídeo e o sistema de telefonia (o maior sistema digital do mundo).

www.concursosdeti.com.br

1

www.brunoguilhen.com.br

disposistovos de E/S. a ULA e a unidade de controle são mostradas eletrônico para que ele opere com dez níveis de tensão combinadas em uma unidade denominada Unidade Central diferentes (cada um representando um caractere decimal. a unidade de entrada e a unidade de saída. memória.com. é muito difícil projetar um equipamento Na figura 1. Isso é feito para separar a 9).  Serve para executar as microinstruções do nível 1. essenciais: a unidade lógica e aritmética (ULA ou ALU). a unidade de memória. UCP.br 2 www. Por esse motivo.com.concursosdeti.Fundamentos da Computação LFG-TI Prof./REG) PERIFÉRICOS DE SAIDA M E M Ó R IA SE C U N D Á R IA Figura 1 – Organização básica de um computador temporário para os dados dentro do CPU sem necessidade Todos os computadores contêm cinco elementos ou unidades de acessar a memória externa.) Nível de Arquitetura de conjunto de Instruções Interpretação (microprograma) Nível de Microarquitetura Hardware Nível lógico digital Nível 0 – NÍVEL LÓGICO DIGITAL  É considerado o hardware do computador sendo formado pelos circuitos eletrônicos (transistores). flexibilizar e possibitar o desenvolvimento de instruções mais potentes em nível de máquina convencional.  Nem todas as máquinas possuem este nível como é o caso das máquinas RISC. estão fluindo. Por outro lado.  É o verdadeiro nível de linguagem de máquina. A interconexão básica dessas III.L. compõe o que é conhecido por firmware em tem por função interpretar e traduzir as instruções que lhe são submetidas pelos níveis superiores. Nível 5 Nível de linguagem orientado a problemas Tradução (compilador) Nível de linguagem de montagem (Assembly) Tradução (assembler) Nível do Sistema Operacional da máquina Interpretação parcial (S.P. a unidade de controle. é muito fácil projetar um circuito o “cérebro” real do processador das outras unidades. dispositivos de comunicação e interfaces.O. a CPU usualmente é implementada em níveis de tensão. / U. Por exemplo. o microprocessador. o sistema de numeração decimal não é na qual os dados.brunoguilhen. como sistema básico de numeração para suas operações. residente em memória permanente (ROM).br . Em um eletrônico simples e preciso que opere com apenas dois microprocessador. as informações ou os sinais de controle conveniente para ser implementado em sistemas digitais. A seguir é possível acompanhar o esquema de um compudor dividido em seis níveis. quase todos os sistemas um único chip.A. bem como.C. 0 de Processamento (UCP ou CPU).C. Nível 1 – NÍVEL DE MICROARQUITETURA  Nesse nível os registradores formam a memória local e um circuito denominado ALU (Unidade Lógica e Aritmética) que é capaz de operações aritméticas simples.  Algumas vantagens do nível de microprogramação sãode falicitar o projeto e a construção dos circuitos digitais. A CPU também tem um digitais usam o sistema de numeração binário (base 2) conjunto de registradores que realiza funções especiais. Sistema de Numeração e Codificação unidades é mostrada na figura 1. (U. através da implementação de parte da lógica digital dentro Nível 4 Nível 3 Nível 2 Nível 1 Nível 0 MEMÓRIA CENTRAL ( RAM / ROM) PERIFÉRICOS DE ENTRADA U. As setas indicam a direção Infelizmente. Esses registradores também possibilitam o armazenamento www. Bruno Guilhen do firmware. O microprograma.

161 + 1. O primeiro método é quando o número decimal é simplesmente expresso como uma soma de potências de 2.20 = 11002 1210 = 1. achando zero no quociente pega-se os restos Base de um Sistema de Numeração Como se sabe. utiliza-se certas unidades de medida em bytes. No sistema binário há apenas dois símbolos ou valores possíveis para os dígitos: 0 e 1. isto é.br . Bruno Guilhen embora outros sistemas de numeração sejam.21 + 0. O Byte A maioria dos microcomputaodres manipula e armazena informações e dados binários em grupos de 8 bits. é um sistema posicional em que cada digito (bit) possui um certo peso de acordo com a posição relativa do bit menos significativo (LSB). + as onde a0>0 e cada ai é um inteiro não negativo maior que k.brunoguilhen. Exemplo: 45(10) = 32 + 8 + 4 + 1 = 25 + 0 + 23 + 22 + 0 + 20 = 1 0 1 1 0 1(2) 45(10) = 101101(2) Observe que um bit 0 é colocado nas posições 21 e 24.com. é comum que o sistema binário use um numero maior de dígitos para expressar um determinado valor.81 + 4. a seguinte equivalência: 101002 = 248 = 2010 = 1416 Teorema da Representação por Base Seja k qualquer inteiro maior que 1 (lembre que a palavra inteiro é usada apenas para números representados na base decimal).160 = 1116 1210 = 1. respectivamente.. em Eletrônica e Computação. visto que. usados juntamente com o sistema binário. Andrews). 1 bilhão de bytes) 240 B= 1. Conversão entre Diferentes Bases As bases octal e hexadecimal também são muito úteis em computação. o termo digito binário (binary digit) é quase sermpre abreviado com o uso do termo bit. o qual será usado a partir de então. o número decimal 20 é representado por 2010.concursosdeti. Esta representação de n é unica e é chamada de representação de n na base k. mil bytes) 220 = 1024 KB (aprox. esse ssutena de base e também pode ser usado para representar qualquer quantidade que possa ser representada em decimal ou em qualquer outro sistema de numeração. como por exemplo. d. A base hexadecimal é composta por dígitos e letras da seguinte forma: 0 a 9 e as letras a.024 bytes (aprox. e os bits 1s e 0s são colocados nos locais apropriados. para cada inteiro positivo n. Nesse método executa-se a divisão sucessiva pelo decimal 2 até achar um quociente 0. Como o computador utiliza dezenas.024 GB (aprox.024 MB (aprox. Um byte é constituído sempre de 8 bits e pode representar quaisquer tipos de dados ou informações. como: 1 Kilobyte = 1 KB 1 Megabyte = 1MB 1 Gigabyte = 1GB 1 Terabyte = 1TB 1 Petabyte = 1PB 1 Exabyte = 1EB 210 = 1.80 Nos próximos capítulos esse assunto de mudança de base será melhor abordado. 1 milhão de bytes) 230 B= 1. escreve-se o número e um www.. Então. b. A seguir será trabalhado os principais métodos de conversão em base.23 + 1. Lembre-se de que precisamos de 3 ou 4 dígitos binários para a mudança de base octal e hexadecimal. No sistema binário.com.Fundamentos da Computação LFG-TI Prof. todas as posições têm de ser consideradas. as bases mais utilizadas para sistemas de numeração são:  Binária (Base 2)  Octal (Base 8)  Decimal (Base 10)  Hexadecimal (Base 16) Uma relação entre elas pode ser visualizada na tabela a seguir Binária Octal Decimal Hexadecimal 00000 00 00 00 00001 01 01 01 00010 02 02 02 00011 03 03 03 00100 04 04 04 00101 05 05 05 00110 06 06 06 00111 07 07 07 01000 10 08 08 01001 11 09 09 01010 12 10 0A 01011 13 11 0B 01100 14 12 0C 01101 15 13 0D 01110 16 14 0E 01111 17 15 0F De acordo com a tabela acima. A base octal é representada com 8 dígitos que variam entre 0 e 7.22 + 0. e e f. muitas vezes.100 = 1210 1710 = 1. o de George E. Tem-se portanto. Um outro exemplo de conversão de decimal para binário é o método de divisões sucessivas por 2.br 3 www. centenas e até bilhões de bytes. Sistema de numeração binário O sistema de numeração binário é o mais importante sistema de numeração em sistemas digitais. Entretanto. existe uma representação (a prova deste teorema você encontra em qualquer bom livro de teoria numérica. de modo que uma seqüência de 8 bits recebe um nome especial: ela é denominada byte. c. Exemplos: 1210 = 1.101 + 2. 1 trilhão de bytes) 250 B = 1024 TB 260B = 1024 PB índice indicando a base em que está representado. Binário para Decimal 1001101(2) = 1x26+0x25+0x24+1x23+1x22+0x21+1x20 = 64 + 0 + 0 + 8 + 4 + 0 + 1 1100101(2) = 77(10) Decimal para Binário Há duas maneiras de converter um número decimal inteiro para seu equivalente no sistema binário. n = a0ks + a1ks-1 + .

mas. Por exemplo. A 7(16) 266  33 + o resto 2 8 33  4 + o resto 1 8 4  0 + o resto 4 8 266(10) = 4 1 2(8) Sistema de numeração Hexadecimal www. o que significa que ele tem oito dígitos possíveis: 0. O código permite não só uma melhor compreensão sobre a lógica do funcionamento do computador. Bruno Guilhen dessa divisão (que sempre é 0 ou 1) pegando da direita para a esquerda (será escrito de modo inverso) onde o primeiro binário ( o mais significativo. No modo extendido o ASCII forma 256 caracteres. 25  12 + o resto 1 2 12  6 + o resto 0 2 6  3 + o resto 0 2 3  1 + o resto 1 2 1  0 + o resto 1 2 25(10) = 1 1 0 0 1(2) Usando N bits.75(10) Conversão de decimal para octal. a fim de possibilitar a comunicação entre os computadores. hoje conhecido como código ASCII. ele tem 16 símbolos. O sistema de numeração octal é muitas vezes utilizado no trabalho com computadores digitais. 6. O sistema octal tem base oito. Bemer e sua equipe para desenvolver o "American Standard Code for Information Interchange" (Código Padrão Norte-americano para Intercâmbio de Informações). aquele que fica mais a esquerda) será o último resto. Assim. 2. ] ) e alguns códigos de controle ( <Crtl> ) que são utilizados para converter todos os símbolos em números binários. {. Assim. objetivando permitir a troca de dados entre máquinas de diferentes tipos e fabricantes.6(8) = 2x(8 ) + 4x(8 ) + 6x(8 ) = 20. 356(16) = 3 x 162 + 5 x 161 + 6 x 160 356(16) = 854(10) 2AF(16)= 2 x 162 + 10 x 161 + 15 x 160 2AF(16) = 687(10) Conversão de decimal para hexadecimal Nesse caso o método de divisões sucessivas será usado novamente. como é usado no idioma inglês moderno. porém com um fator de divisão 8 em vez de 2.br 4 www. 5. pode-se representar números decimais na faixa de 0 a 2N – 1. De acordo com os mesmos métodos utilizados anteriormente.concursosdeti. Conversão de hexadecimal para decimal Um número hexadecimal pode ser convertido para seu equivalente decimal devido ao fato de que a posição de cada digito hexa tem um peso que é uma potência de 16. foi proposto o uso de um código comum. Veja a conversão do decimal 42310 para Hexadecimal. 1. que usa a escala do decimal 0 a 127. os quais efetivamente podem ser processados. Vale lembrar que cada dígito hexadecimal é representado por um grupo de 4 digitos binários.br . em um total de 2N números diferentes. também. Sistema de numeração Octal. É baseado no alfabeto romano. 8. 1 0 -1 423  26 + o resto 7 16 26  1 + o resto 10 16 1  0 + o resto 1 16 423(10) = 1 Códigos Alfanuméricos Código ASCII Antes de maio de 1961 a maioria dos sistemas de computadores tinha uma maneira particular de representar os caracteres alfanuméricos. Um número decimal pode ser convertido para octal usando o mesmo método de divisões sucessivas que foi usadona conversão de decimal para binário.brunoguilhen. E os dígitos hexadecimais de A até F são equivalentes aos valores decimais de 10 até 15. Conversão de octal para decimal 372(8) = 3x(82) + 7x(81) + 2x(80) = 250(10) 24. Assim cada dígito de um número octal pode ter qualquer valor de 0 a 7. entendido por quase todos os computadores. O "American National Standards Institute" aceitou a proposta de Robert W. 3. Veja um exemplo de conversão do número 26610 para a base octal. Assim. só que neste caso essa divisão será por 16. 7. números.Fundamentos da Computação LFG-TI Prof.com. o número 25 na base decimal quando convertido em binário por esse método fica: O sistema de numeração hexadecimal usa a base 16. 4. Veja um exemplo de conversão do número 356 da base hexadecimal para a base decimal.com. impressoras e programas de edição de texto. acentos e sinais diversos ( por exemplo: <. ASCII é um código numérico usado para representar os caracteres. e visa padronizar a forma pela qual os computadores representam letras.

< = > ? Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Hexadecimal 0 1 2 3 4 5 6 7 8 9 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F cilindro.concursosdeti.o caráter 27 representa a função "escape" determinada pela tecla <ESC>.com. cujos símbolos não aparecem no teclado. .br . Binário 0000 0000 0000 0001 0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 0000 0111 0000 0100 0000 1001 0000 1010 0000 1011 0000 1100 0000 1101 0000 1110 0000 1111 0001 0000 0001 0001 0001 0010 0001 0011 0001 0100 0001 0101 0001 0110 0001 0111 0001 1000 0001 1001 0001 1010 0001 1011 0001 1100 0001 1101 0001 1110 0001 1111 0010 0000 0010 0001 0010 0010 0010 0011 0010 0100 0010 0101 0010 0110 0010 0111 0010 1000 0010 1001 0010 1010 0010 1011 0010 1100 0010 1101 0010 1110 0010 FFFF 0011 0000 0011 0001 0011 0010 0011 0011 0011 0100 0011 0101 0011 0110 0011 0111 0011 1000 0011 1001 0011 1010 0011 1011 0011 1100 0011 1101 0011 1110 0011 1111 Comentário Caracter Nulo Começo de cabeçalho de Tx Começo de texto Fim de texto Fim de transmissão Interroga Confirmação Sinal sonoro Volta um caracter Tabulação Horizontal Próxima linha Tabulação Vertical Próxima Página Início da Linha Shift-out Shift-in Data link escape Controle de dispositivo Controle de dispositivo Controle de dispositivo Controle de dispositivo Negativa de Confirmação Synchronous idle Fim de transmissão de bloco Cancela Fim de meio de transmissão Substitui Escape Separador de Arquivo Separador de Grupo Separador de registro Separador de Unidade www. Por exemplo: . / 0 1 2 3 4 5 6 7 8 9 : . . fitas de papel perfurado e impressoras de Caracter NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE D1 D2 D3 D4 NAK SYN ETB CAN EM SUB ESC FS GS RS US Espaço ! " # $ % & ' ( ) * + . que faz com que uma impressora avance seu papel. pois os primeiros códigos (de 0 a 31) foram reservados para caracteres de controle. que controlam funções ou equipamentos. Esses caracteres de controle tiveram sua origem nos primórdios da computação.brunoguilhen. E eles são numerados de 32 a 126. Bruno Guilhen possibilita a utilização de caracteres.com.o caráter 10 representa a função "LINE FEED". É importante notar que há apenas 95 caracteres que podem ser impressos.Fundamentos da Computação LFG-TI Prof. encontrada no canto superior esquerdo nos teclados.o caráter 24 representa a função "cancel". ou seja. quando eram utilizadas máquinas Teletype (como máquinas de escrever eletro-mecânicas).br 5 www. . portanto muitos deles são dirigidos a estes equipamentos.

br .br 6 www. caracteres de línguas mortas e caracteres especiais para desenhos. Representa caracteres extras.brunoguilhen.com.Fundamentos da Computação @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DELETE 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F LFG-TI 0100 0000 0100 0001 0100 0010 0100 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0100 1001 0100 1010 0100 1011 0100 1100 0100 1101 0100 1110 0100 1111 0101 0000 0101 0001 0101 0010 0101 0011 0101 0100 0101 0101 0101 0110 0101 0111 0101 1000 0101 1001 0101 1010 0101 1011 0101 1100 0101 1101 0101 1110 0101 1111 0110 0000 0110 0001 0110 0010 0110 0011 0110 0100 0110 0101 0110 0110 0110 0111 0110 1000 0110 1001 0110 1010 0110 1011 0110 1100 0110 1101 0110 1110 0110 1111 0111 0000 0111 0001 0111 0010 0111 0011 0111 0100 0111 0101 0111 0110 0111 0111 0111 1000 0111 1001 0111 1010 0111 1011 0111 1100 0111 1101 0111 1110 0111 1111 Prof.com.concursosdeti. Bruno Guilhen Tabela ASCII – Extendida. caracteres especiais para desenhas figures www.

Deve surgir a letra A maiúscula na tela do programa. Também há conjunto de caracteres que se constitui em um padrão mais universal chamado ISO Latin 1. o mesmo emitirá um aviso de instalação sob demanda para o idioma usado no referido site. que pode ser usado em quase todos os idiomas. baseado no ASCII). Neste caso. Foi criado pelo Consórcio Unicode e é baseado no padrão ISO 10646 (ISO = International Organization for Standardization = Organização Internacional de Padronização). Vários sistemas operacionais. É o padrão mundial. O UNICODE Unicode é o padrão universal de codificação de caracteres. o que permite um valor máximo bem maior que o anterior: 65. Cada caracter possui 2 bytes ( 16 bits ). inserir o CD do Windows e adicionar o Mapa de Caracteres. Usuários do browser Mozilla Firefox 1.0 (para Windows) podem clicar em “View" ou "Exibir” em seguida em “Character Encoding" ou "Codificação” para verificar a opção “Western (ISO 8859-1)" marcada. caracteres truncados ou estranhos. que contém caracteres adicionais para as linguagens européias. Isto vale também para os browsers do Linux Mozilla.br 7 www. Cada caractere só possui 1 byte ( 8 bits ). não importando a plataforma (a máquina e/ou sistema operacional em uso). basta clicar em "Iniciar\Programas\Acessórios\Ferramentas do Sistema\Mapa de Caracteres". podemos ver o Mapa de Caracteres do Windows XP.com. 16 bits (UTF-16) e 32 bits (UTF-32). que é usado em muitos sistemas operacionais e em programas para navegação na Internet. Outras codificações Há vários conjuntos de caracteres hoje em dia. por exemplo é o padrão Latin-1 (Alfabeto Latino 1) que nós usamos. similar ao ASCII.com. faltando acentuação. esta opção é parecida. onde podemos ver "Europeu Ocidental (Windows) marcada. certifique-se de que o código de caracteres esteja marcado como “Western (ISO 8859-1)” . Este padrão está sendo largamente implementado e já pode ser visto como um substituto para o padrão ASCII (que é definido pelo ISO 646). pressione <Alt> e o número 65 (no teclado numérico ativado). é possível que não esteja instalado. Por exemplo. ou seja. será necessário ir ao Painel de Controle.536 caracteres. há um conjunto de caracteres denominado ISO. Essa codificação existe em três formas: em 8 bits (UTF-8. O ISO 8859-1. O Unicode também é conhecido como "UCS = Universal Character Set = Conjunto Universal de Caracteres". Para ter acesso a esse mapa. Bruno Guilhen Como conseguir um caracter que não está no teclado Pressionando a tecla <ALT> e o número do caracter (D) aparecerá o dígito correspondente em um processador de texto. Konkeror. Galeon. É o padrão ocidental.concursosdeti. gerando um máximo de 256 caracteres. dentre eles o ISO 8859-“X” que define o conjunto completo de alfabetos de todos os idiomas. clicar em Adicionar ou Remover Programas. UTF-8: "Unicode Transformation Format-8". www.brunoguilhen. o programa ou o idioma. etc. Sua criação foi baseada na tabela ASCII. Dica: Quando acontecer de você acessar um site (usando o Firefox) e os caracteres da página não ficarem completamente legíveis. No exemplo da figura 40. Levante os 2 dedos juntos. Faça uma experiência: abra o Word ou o Notepad. basta clicar em “More Encodings" ou "Mais”.br . utilizado também no Brasil. Nota: Arte ASCII é aquela onde os únicos elementos utilizados são os caracteres disponíveis no teclado do computador. O Unicode fornece um número único para cada caractere. Para ver outras opções de codificação. Foi desenvolvido para resolver problemas que existiam com outros sistemas de codificação. No Internet Explorer 6. No caso do Internet Explorer. programas e browsers modernos suportam o Unicode. Duas das mais importantes codificações atualmente utilizadas são: ISO: "International Standardization Organization". Caso não encontre nesse caminho. pois não eram suficientes para suportar todos os caracteres e idiomas. Existem diversas normas e/ou padrões da ISO.Fundamentos da Computação LFG-TI Prof.

. Os computadores manipulam tanto números positivos quanto números negativos... bit de mais alta ordem. subtração... Se o tamanho de uma palavra é igual a n bits.. serem positivos ou negativos. em qualquer base.concursosdeti.. Como o tamanho de uma palavra manipulada por um computador tem tamanho limitado. os números que podem ser representados também têm tamanho limitado...Fundamentos da Computação LFG-TI Prof. 2.... 0111 1101 = 125 0111 1110 = 126 0111 1111 = 127 No conjunto acima nota-se que o número mais a esquerda é zero.. A seguir está representada uma seqüência de números binários (8 dígitos) representados em complemento 2. os bits são numerados como 0. Para que você tenha a mesma visão da tabela acima. 1111 1101 = -3 1111 1110 = -2 1111 1111 = -1 No conjunto acima nota-se que o número mais a esquerda é um. multiplicação e divisão... logo o número é negativo. uma regra simples para transformar um número binário em sua representação em complemento a 2 é a seguinte: 1) copie da direita para a esquerda todos os bits até encontrar o primeiro bit 1 inclusive e 2) inverta todos os demais bits logo abaixo esta ilustrado um exemplo da obtenção de representação em complemento a 2 de um número binário com 4 dígitos. da direita para a esquerda em uma palavra... a base 2 é a mais adequada para os computadores porque tratam com somente dois valores 0 e 1. elas gerarem resultados que não podem ser representados na quantidade de bits reservados ocorre o que denominados de overflow (números muito grandes) ou underflow (números muito pequenos)..1. Bruno Guilhen Figura 40 – Mapa de Caracteres do Windows XP Ainda no exemplo da figura 40. Aritmética Computacional As palavras de um computador são compostas por bits e podem representar números armazenados na memória. os algoritmos adequados para operações aritméticas e sua implicação no conjunto de instruções da máquina. é necessário marcar a caixa "Modo de exibição avançado".. 1000 0001 = -127 (o número mais a direita indica o sinal) 1000 0010 = -126 1000 0011 = -125 .. é preciso ressaltar que: 1.. .. vai depender do número de fontes que estiver instalado em seu computador.br . Da aritmética temos que.. Por exemplo. e a expressão bit mais significativo para designar o www.. Nesta convenção os números que possuem 0s à esquerda são considerados positivos e os números com 1s à esquerda são considerados negativos. 0000 0000 = 0 0000 0001 = 1 0000 0010 = 2 0000 0011 = 3 ...br 8 www. Utilizamos a expressão bit menos significativo para designar o bit 0.. 0110 = 6 na base 10 1001 (número binário invertido) + 0001 (soma com 1) 1010 (complemento a 2) usando a regra: 0110 ->1010 A respresentação em complento a 2 tem a vantagem de representar números negativos sempre com o bit 1 em sua posição mais significativa.brunoguilhen. o valor do iésimo dígito d de um número é dado por: d x basei... Estes números podem ter diferentes significados.. Estes valores são implementados facilmente através de circuitos elétricos. o maior número possível de ser representado é igual a 2n..2. A manipulação dos números inclui operações de soma. onde i começa em 0 e cresce da direita para a esquerda. Se ao realizarmos operações sobre os números. Porém.. que são representados em complemento a 2. logo o número é positivo.3.... o hardware só precisa testar este bit para verificar se o número é positivo ou negativo. Porém.. como inteiros ou reais. IV.. O objetivo deste capítulo é mostrar como o hardware implementa a representação dos números. como por exemplo o bit 31 numa palavra de 32 bits.. Números com Sinal e Números sem Sinal Os números podem ser representados em qualquer base. Os caracteres mudam de acordo com o tipo de fonte escolhida. Portanto.com. Assim. Este bit é conhecido como bit de sinal. de acordo com a posição ocupada pelo dígito.com. O complemento a 2 é obtido invertendo-se o número binário e depois somando 1 a este valor.. Portanto. o número 1011 na base dois é igual a: (1x23) + (0x22) + (1x21) + (1x20) = (1x8) + (0x4) + (1x2) + (1x0) = 8 + 0 + 2 + 1 = 11. Tanto o overflow quanto o underflow geram exceções e são tratados pelo sistema operacional.

gerando um carry out no bit mais significativo do resultado da operação. bit a bit.com. Bruno Guilhen Adição e Subtração Numa soma os bits são somados um a um da direita para a esquerda. para armazenar um valor pertencente ao resultado da operação.com. OR e XOR. a equação lógica para gerar o bit soma é dada por: Soma = (a . O overflow ocorre quando somamos dois operandos positivos e obtemos um resultado negativo. o bit de sinal também é usado para armazenar um valor pertencente ao resultado da operação. 710 = 0 1 1 12 610 = 0 1 1 02 1310 = 1 1 0 12 110 = 0 0 0 12 Construção de uma Unidade Lógica Aritmética A unidade lógica aritmética (ALU – Arithmetic Logic Unit) é o dispositivo que realiza as operações lógicas e aritméticas. se o resultado obtido não puder ser representado pela quantidade de bits que formam uma palavra. b . A seguir mostr-se as operações de soma (6+7) e subtração (7-6) bit a bit entre dois números representados com 4 dígitos binários. Os carry outs gerados pelos bits menos significativos da operação podem ser propagados por toda a extensão do somador. A seguir mostra-se as operações lógicas. Assim. portas OR.Fundamentos da Computação LFG-TI Prof. pois elas são mapeadas diretamente com componentes do hardware. ou vice-versa. O exame de caracteres individuais (8 bits) dentro de uma palavra é um bom exemplo dessa necessidade. CarryIn) + (a. A operação de subtração usa a adição. necessitamos de um circuito com duas entradas para os operandos. Para completar o projeto de uma ALU de n bits podemos conectar n somadores de um bit. com os carries sendo passados para o próximo bit à esquerda. Operações Lógicas Os computadores manipulam palavras. Lembre-se que a máquina trata com números representados em complemento a 2. Como citado anteriormente. uma saída para a soma resultante. dentro do processador. manipular campos de bits dentro de uma palavra ou mesmo bits individuais. Este somador é denominado somador de carry propagado.brunoguilhen. Neste caso. Isto significa que utilizamos o bit de sinal. b . à esquerda. nunca ocorrerá overflow ou underflow. OR e XOR.CarryIn) + (a. mas é muito útil. O subtraendo é simplesmente negado antes de ser somado ao minuendo. que podem ser implementadas a partir dos blocos de hardware mencionados anteriormente. A Figura 41 mostra este somador.br 9 www. www. NOT (inversores) e multiplexadores. uma entrada relativa ao carry in e uma saída para o carry out. b . Supondo que temos apenas um bit para ser somado. Um dos tipos de instrução utilizados são as de deslocamento de bits. definidas pelo conjunto de instruções. Isto porque operandos com sinais contrários nunca podem ser maior do que qualquer dos operandos. As instruções podem deslocar bits tanto à direita quanto à esquerda. AND. as arquiteturas de conjuntos de intruções incluem instruções para manipulação de bits. de deslocamento à direita. CarryIn). Pode existir a detecção por hardware que gera uma exceção.concursosdeti. AND. As implementações de operações lógicas são as mais simples de serem realizadas. e que depois é tratada por software. carryin ) + ( a .b). E. Outras instruções lógicas muito úteis são que implementadas na unidade lógica e aritmética de um processador são as operações NOT. Figura 41. b . A ALU é construída basicamente por quatro blocos básicos de hardware: portas AND. gerando um carry. Elas podem ser tratadas tanto por hardware quanto por software. Se somarmos ou subtrairmos dois números com sinais contrários. Raciocínio semelhante é realizado para detectar a ocorrência do underflow numa subtração. Os projetistas de um sistema devem decidir onde tratar a ocorrência de overflow ou de underflow em operações aritméticas. A equação lógica para gerar o bit carry out é dada por: CarryOut = (b. carryin ) + ( a .CarryIn) + (a .br . NOT. A próxima função a ser incluída é a adição. também. Todos os bits são movidos para o lado determinado e os bits que ficam vazios são preenchidos com 0s. Somador de um bit Podemos especificar as saídas soma e carry out através de equações lógicas. tanto a soma como a subtração podem gerar overflow ou underflow.

Utilizando a abreviação ci para representar o iésimo bit de carry. deslocando os produtos intermedários um dígitos à esquerda em relação ao imediatamente anterior. a cada passo da multiplicação: 1. 4. soma o Multiplicando à metade esquerda do Produto e coloca o resultado na metade à esquerda do resgistrador Produto. e produzidos dois resultados o quociente e o resto. 1. Fim. respectivamente. O problema com o somador de carry propagado está relacionado a velocidade de propagação do carry. O algoritmo começa com o Multiplicador na metade à direta do registrador Produto. bi) e (ai + bi) são tradicionamente chamados de gerador (gi) e propagador (pi). portanto levar a circuitos lógicos relativamente grandes e caros. nestes esquemas são utilizadas mais portas lógicas o que provoca um aumento no custo. ci Qualquer equação lógica pode ser implementada com uma lógica de dois níveis. Usando estas relações para definir ci + 1. Subtrai o registrador Divisor da metade à esquerda do registrador Resto e armazena o resultado na metade esquerda do registrador Resto. 1. ci Os termos (ai . Este efeito é realizado acrescentando uma entrada complementada de b ao somador e ativando o carry in do bit menos significativo para um. Mesmo esta formulação mais simplificada pode gerar equações muito grandes e. podemos substrituir um string de 1s no multiplicador por uma subtração quando encontramos o primeiro 1. Produto = 0. www. Dentre as operações aritméticas é a que aparece menos freqüentemente nos códigos dos programs.com. o Resto e o Quociente. meio e fim de um string de 1s. Testa se Produto é igual a 0 ou 1. bi) = (ai . Bruno Guilhen A operação de subtração pode ser realizada somando-se o minuendo com a negação do subtraendo. Divisão A divisão é a operação recíproca da multiplicação. dependendo do número de bits a serem somados. ci) + (ai . Assim. e por uma soma ao encontrarmos o último 1 do string.com. é necessário que seja detectada a divisão por zero. que é realizada seqüencialmente. Além disso. se desejarmos maior velocidade na multiplicação de números inteiros por uma potência de 2. Considerando os dígitos binários 0 e 1. ou 2. pois os registradores Produto e Multiplicador podem combinados em um só. bi) + (ai + bi) . Verifica se foram realizadas todas as repetições necessárias de acordo com o tamanho da palavra. o dividendo e o divisor. ignorando o quociente. Para solucionar este problema existem diversos esquemas para antecipar o carry.b. A relação entre os componentes da divisão pode ser expressa da seguinte forma: dividendo = quociente x divisor + resto. Algoritmo da divisão Da mesma forma que foram combinados registradores na multiplicação. coloque 0 (multiplicando x 0) no lugar apropriado. 6.concursosdeti. Naturalmente um string de 0s não precisa ser considerado. da direita para a esquerda. temos apenas duas possibilidades de escolha. Por exemplo. Desloca o registrador Produto 1 bit à direita. Os somadores que utilizam o esquema de carry lookahead baseiam sua implementação em vários níveis de abstração. Porém. coloque uma cópia do multiplicando (multiplicando x 1) no lugar apropriado. 5.Fundamentos da Computação LFG-TI Prof. que ainda hoje são operações mais rápidas do que operações de soma. se o dígito do multiplicador for igual a 0. Produto = 1. A simplicidade do projeto do hardware de um somador para números de complemento a 2 demonstra porque esta representação tornou-se um padrão para operações aritméticas inteiras em computadores. Algoritmo da multiplicação Este algoritmo precisa apenas de dois passos principais: o teste do produto e o seu deslocamento. O raciocínio de Booth foi classificar os grupos de bits como início. basta que utilizemos operações de deslocamento indicando a quantidade de deslocamentos igual ao expoente. ci) + (ai . podemos escrever a equação do carry como: ci = (bi .brunoguilhen. O algoritmo começa com o Resto na metade à esquerda do registrador Resto. a multiplicação também precisa tratar a ocorrência de overflow. e 0 na metade à esquerda. é necessário desenvolver um algoritmo em hardware que seja eficiente para realizar a multiplicação. também na divisão são combinados dois registradores. Ao escolhermos a versão invertida de b obtemos: a+ b + 1 = a + ( b + 1) = a + (-b) = a . se não volta ao item 1. O somador então calcula a + b + 1. um multiplicando e um multiplicador para gerar um operando produto. Além disso. 2. Uma observação importante é que o número de bits do produto final (n+m) é maior do que o número de bits do multiplicando (n) ou do multiplicador (m). que é matematicamente inválida. Desloca o registrador Resto 1 bit à esquerda. os programas usam a divisão simplesmente para obter o resto. 2. passa ao item 4. Booth buscou atingir maior velocidade de processamento utilizando operações de deslocamento. A grande vantagem do algoritmo de Booth é tratar com facilidade os números com sinal. Um método elegante de multiplicar números com sinal recebeu o nome de algoritmo de Booth. onde o resto é sempre menor que o divisor. Às vezes. 3. Multiplicação Para realizar a multiplicação são necessários dois operandos. Um dos esquema para antecipar o carry é denominado carry lookahead. obtemos: ci + 1 = gi + pi . Baseado nesta observação.br 10 www. Num projeto de hardware a velocidade é um fator crítico. e o Quociente na metade à direita.br . se o dígito do multiplicador for igual a 1. O algoritmo da multiplicação diz que os dígitos do multiplicando devem ser multiplicados pelos dígitos do multiplicador um de cada vez. No algoritmo da divisão são utilizados dois operandos. Ele foi elaborado a partir da constatação de que com a capacidade de somar e de subtrair números existem várias maneiras de se calcular um produto.

com. A adoção deste padrão facilita a portabilidade de programas (precisão simples = 1 bit de sinal. 11 bits de expoente e 52 bits de mantissa + 1 implícito = 53). mas é necessária uma manipulação extra nos expoentes e para a normalização do resultado. Algoritmo da multiplicação em ponto flutuante 1. restaura valor original com Divisor + metade esquerda do Resto. na sua essência. Fim. 7. deslocando à direita e incrementando o expoente. Bruno Guilhen 3. neste caso. Testa se Resto é menor do que 0. Teste se overflow ou underflow. 9. 6. Teste se overflow ou underflow. gera exceção. Outra questão que os projetistas devem decidir é se vão ser utilizados os mesmos registradores tanto para números inteiros quanto para números de ponto flutuante. Não. Não. A adoção de registradores diferentes aumenta ligeiramente o número de instruções necessárias a execução do programa. subtraindo o valor do peso da soma para obter o novo expoente. 2. Testa se resultado está normalizado. 5. arredonde a mantissa para o número de bits apropriado. Desloca a metade a esquerda do registrador Resto 1 bit à direita. desloca o registrador Resto 1 bit à esquerda. Não. retorna ao passo 3. 5.br . 8 bits de expoente e 23 bits de mantissa + 1 implícito = 24. utilizam as operações inteiras correspondentes para operar as mantissas. Resto = 0. Fim. se não volta ao item 1. 3. 8. 7. Deve ser observado que as interrupções relativas ao overflow e ao underflow também ocorrem na representação em ponto flutuante. precisão dupla = 1 bit de sinal. Os projetistas do hardware devem encontrar um compromisso entre a mantissa e o expoente dos números em ponto flutuante. Os benefícios estão no fato de não precisar aumentar o tamanho do campo nas instruções para diferenciar os operandos e aumentar a banda passante dos registradores. Não. arredonde a mantissa para o número de bits apropriado. 3. retorna ao passo 3. faça o sinal do produto positivo se ambos os sinais dos operandos originais são os mesmos. A relação entre e mantissa e o expoente é expressa do seguinte modo: o aumento do número de bits reservados à mantissa aumenta a precisão do número. overflow e o underflow ocorrem quando o expoente é muito grande ou muito pequeno. Some as mantissas. Compare o expoente dos dois números. Verifica se foram realizadas todas as repetições necessárias de acordo com o tamanho da palavra. para ser armazenado no espaço reservado a ele. passa ao item 6. www. inserindo 0 no novo bit menos signifiativo. O impacto maior está na criação de um conjunto de instruções de transferência de dados para mover os dados entre os registradores de ponto flutuante e a memória.com. deslocando à direita e incrementando o expoente ou deslocando à esquerda e decrementando o expoente. A partir de 1980 todos os computadores projetados adotam uma representação padrão para números em ponto flutuante denominada IEEE 754. A adição e a multiplicação com números de ponto flutuante. Algoritmo da adição em ponto flutuante 1.concursosdeti. 8. Desloque o menor número à direita até que seu expoente se iguale ao maior número. Normalize a soma. 4. 6. Sim. Soma os expoentes com peso dos dois números. enquanto o aumento do número de bits reservados ao expoente aumenta o intervalo de variação dos números representados. Fim. Não. Normalize o produto se necessário. Ponto Flutuante Assim como os números decimais podem ser representados em notação científica normalizada os números binários também podem. A aritmética computacional que manipula os números binários em notação científica normalizada é denominada de aritmética de ponto flutuante. gera exceção. inserindo 1 no novo bit mais à direita. Multiplique as mantissas. Porém. 4. 7. 2. armazenando na metade esquerda do registrador Resto e deslocando 1 bit à esquerda. 5. Sim. 9. Resto < 0. Sim.br 11 www. 4.Fundamentos da Computação LFG-TI Prof. caso contrário o sinal é negativo. respectivamente. 6.brunoguilhen. Testa se resultado está normalizado.

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->