Issuu on Google+

Tecnologia da Informação (Introdução ao Processamento de dados)

Ricardo Marciano (adaptação)

Tecnologia da Informação - 1Fev/ 2011


Objetivos • • • • •

Evolução histórica da computação. Representação digital da informação: números, códigos, sons, imagens etc. Sistemas de numeração. Noções de arquitetura e organização de computadores. Noções de redes de computadores e sistemas distribuídos. Noções de máquinas abstratas.

Tecnologia da Informação - 2Fev/ 2011


Bibliografia 1. 2. 3. 4.

5. 6. 7.

STALLINGS, W. - Arquitetura e Organização de Computadores, 5a ed., Prentice Hall, 2002 TANENBAUM, A.S. – Organização Estruturada de Computadores, 5a ed., Prentice Hall, 2007 MONTEIRO, M.A. – Introdução à Organização de Computadores. 5. ed., LTC, 2007. KIRNER, C.; MENDES, S.B.T. – Sistemas Operacionais Distribuídos: Aspectos Gerais e Análise de sua Estrutura. Editora Campus, 1989. NULL. L., LOBUR, J. – The Essencials of Computer Organization and Architecture. 2nd. ed., Jones and Bartlett Pub., 2006. WEBER, R. F. Fundamentos de Arquitetura de Computadores. 3 ed., Sagra Luzzatto, 2008 DIVERIO, T.A.; MENEZES, P.B. – Teoria da Computação: Máquinas Universais e Computabilidade. 2 ed., Sagra Luzzatto, 2008.

Tecnologia da Informação - 3Fev/ 2011


Avaliação • Por bimestre: – Prova bimestral → 70% – Trabalho → 30%

• Cálculo da média final: Mfinal = (MB1*2 + MB2*3)/5

Tecnologia da Informação - 4Fev/ 2011


Pré-história • Pré-história das calculadoras – O primeiro dispositivo de cálculos foi o ábaco, originário da China em 2000 AC.

Tecnologia da Informação - 5Fev/ 2011


Régua de cálculo •

No início do século XVII, o escocês John Napier inventou um dispositivo chamado Ossos de Napier que são tabelas de multiplicação gravadas em bastão, o que evitava a memorização da tabuada, e que trouxe grande auxílio ao uso de logaritmos, em execução de operações aritméticas como multiplicações e divisões longas. Hoje, o dispositivo aperfeiçoado é empregado freqüentemente pelos engenheiros, através da régua de cálculo.

Tecnologia da Informação - 6Fev/ 2011


Calculadoras • •

A primeira calculadora somente somava e subtraía e foi inventada por Blaise Pascal na França em 1642, para ajudar o seu pai. A máquina contém como elemento essencial uma roda dentada construída com 10 "dentes". Cada "dente" corresponde a um algarismo, de 0 a 9. A primeira roda da direita corresponde às unidades, a imediatamente à sua esquerda corresponde às dezenas, a seguinte às centenas e sucessivamente.

Tecnologia da Informação - 7Fev/ 2011


A máquina de Leibniz •

Cerca de 30 anos após a construção da máquina de Pascal, Gottfried Wilhem Von Leibniz inventou um dispositivo constituído por um conjunto com dez "dentes", cada um dos quais mais comprido que o anterior, que permitiu efetuar de modo automático a multiplicação e divisão.

Tecnologia da Informação - 8Fev/ 2011


Alan Turing • • •

Alan Turing imaginou uma máquina “universal” que pudesse realizar cálculos automaticamente, demonstrando que um conjunto de estruturas simples podia resolver qualquer problema complexo. Esta máquina não chegou a ser montada. Entretanto ele e a sua equipe desenvolveram o Colossus, um dos primeiros computadores do mundo, visto aqui em operação durante a Segunda Guerra Mundial. Essa máquina enorme continha 1.500 válvulas, e sempre alguma se queimava em alguns minutos. O Colossus era capaz de processar 5.000 caracteres por segundo, e foi responsável pela decodificação das mensagens alemãs "Enigma".

Tecnologia da Informação - 9Fev/ 2011


• • • •

John Von Neumann

Matemático brilhante, fugiu da Alemanha nazista para os Estados Unidos, professor em Princeton, participou do projeto para a construção da bomba atômica. Foi convidado para o projeto ENIAC (Electronic Numeric Integrator And Calculator). O trabalho estava sob a orientação de engenheiros eletrônicos mas, como matemático, analisou o problema de modo diferente e redigiu um relatório que estruturou a arquitetura dos modernos computadores. Ele e sua equipe desenvolveram o EDVAC (Electronic Discrete Variable Computer) onde, foi aplicada a idéia de programação interna que trata do armazenamento de programas, codificados de acordo com certos critérios na memória do computador e não em dispositivos externos, como ocorria até então. Esse procedimento aumenta a operacionalidade dos programas, pois grupos de instruções podem ser executados várias vezes e na ordem que se fizer necessária.

Tecnologia da Informação - 10 Fev/ 2011


Computadores modernos • Mudanças tecnológicas: – vacuum tube -> transistor -> IC -> VLSI – Nanocircuitos – dobram a cada 1.5 anos: capacidade de memória velocidade do processador (devido a avanços tecnológicos e organização)

Tecnologia da Informação - 11 Fev/ 2011


Problemas • Nos anos 60/70: – minimizar espaço em memória melhora o desempenho

• Problema atual: – – – –

hierarquia de memórias paralelismo dos processadores otimização dos compiladores sistema operacional...

Tecnologia da Informação - 12 Fev/ 2011


O que é um computador? •

Componentes:

– – – –

entrada (mouse, teclado) saída (monitor, impressora) memória (discos, DRAM, SRAM, CD) rede

Tecnologia da Informação - 13 Fev/ 2011


Sistemas de Numeração • Existem várias regras que permitem ler e escrever qualquer número, usando poucas palavras e poucos símbolos. • O conjunto de tais regras constitui um Sistema de Numeração. Estes sistemas, têm variado com as épocas e com os povos.

Tecnologia da Informação - 14 Fev/ 2011


Base de um Sistema • É o número de elementos necessários para formar um conjunto padrão que auxilie a contagem de objetos. • Assim, quando falamos em base 10, estamos pensando na formação de conjuntos com dez elementos, isto é, dada uma coleção de objetos, procuramos saber quantos conjuntos de 10 podem ser formados. • A base 10 é usada desde a Antigüidade, dada a correspondência com os dedos das duas mãos. Se tivéssemos 8 e não 10 dedos nas mãos qual seria a nossa base de numeração?

Tecnologia da Informação - 15 Fev/ 2011


Outras bases • Um sistema de base 12, é aquele que forma conjuntos de doze elementos. É nessa base que costumeiramente se contam as (em dúzias) as frutas, os ovos etc. • A contagem do tempo, desde os antigos babilônios, é feita na base sessenta (o conjunto de sessenta segundos constitui um minuto) • A civilização Maia, da América Central, usava a base vinte para a contagem de seus objetos • Os computadores utilizam a base dois... Tecnologia da Informação - 16 Fev/ 2011


Base decimal • Principais características: – é de base dez; – usa somente os dez numerais indo-arábicos (algarismos) 1,2,3,4,5,6,7,8,9 e 0 para escrever todos os números. – Obedece ao Princípio da Posição Decimal. “Todo algarismo escrito imediatamente à esquerda de outro representa unidades de ordem imediatamente superior (dez vezes) à desse outro” exemplo: 33 o primeiro 3 “vale” trinta (3x10) e o segundo 3 “vale” três mesmo!

Tecnologia da Informação - 17 Fev/ 2011


Egípcio Há 6.000 anos os Egípcios utilizavam um sistema decimal (dez cajados valem um osso, dez ossos valem uma corda etc.) os números eram escritos segundo o Princípio de Justaposição. Porém não conheciam o Princípio da Posição, razão porque se tornava difícil a representação de números grandes.

Tecnologia da Informação - 19 Fev/ 2011


Exemplos

Tecnologia da Informação - 20 Fev/ 2011


Babilônio Há 5.000 anos atrás eles utilizavam um sistema de base sessenta com símbolos cuneiformes. Números usados:

Regras para escrever: • Para números menores que sessenta obedece ao mesmo princípio da justaposição usado pelos Tecnologia da Informação - 21 Fev/ 2011 egípcios.


Babilônio • Para números maiores que sessenta usa-se (e pela primeira vez na história!) o Princípio da Posição de base sessenta (Princípio Sexagesimal). Exemplos:

Tecnologia da Informação - 22 Fev/ 2011


Romano Há 2.100 anos atrás os romanos utilizavam os seguintes numerais: I : um V: cinco X: dez L: cinqüenta X: cem D: quinhentos M : mil Regras para escrever: • Somente os numerais I, X, C e M podem ser repetidos no máximo 3 vezes consecutivas. • Se um numeral (ou mais) está à direita de outro de igual ou maior valor, somam-se os seus valores (princípio aditivo da justaposição) e se está (com exceção de V, L, D e M) à esquerda de outro de valor imediatamente superior, subtraem-se (princípio subtrativo da justaposição).

Tecnologia da Informação - 23 Fev/ 2011


Romano • Para aumentar o valor do número 1.000 vezes, coloca-se um traço horizontal sobre o numeral (com exceção do I); para aumenta-lo um milhão de vezes colocam-se dois traços e assim sucessivamente. Exemplos: 3 = III

9 = IX 21 = XXI

206 = CCVI

1.969 = MCMLXIX Nos sistemas antigos, não existia o ZERO que foi introduzido pelos hindus há 1500 anos atrás. Tecnologia da Informação - 24 Fev/ 2011


Exercícios • • • •

Escreva 110 em: egípcio, babilônio e romano Escreva 2.345.678 em egípcio Escreva 2.004 em romano Escreva 735 em babilônio

Tecnologia da Informação - 25 Fev/ 2011


Sistemas modernos Os vários sistemas de numeração que hoje prevalecem, se valem do Princípio da Posição, que varia de acordo com a base adotada, que em várias aplicações não é mais a base 10. Os computadores utilizam a base dois (Sistema de Numeração Binário), usando somente dois numerais: 0 e 1, para descrever qualquer número. Tecnologia da Informação - 27 Fev/ 2011


Mudança de base Ou decomposição, é conversão de um número escrito em uma determinada base para uma outra qualquer, exemplo: • Base 10: (0 1 2 3 4 5 6 7 8 9) 5.386 = 5 x 1000 + 3 x 100 + 8 x 10 + 6 = 5 x 10³ + 3 x 10² + 8 x 10¹ + 6 x 10º • Base 8: (0 1 2 3 4 5 6 7 8) 12348 = 1 x 8³ + 2 x 8² + 3 x 8¹ + 4 x 8º 12348 = 1 x 512 + 2 x 64 + 3 x 8 + 4 x 1 12348 =Tecnologia 512 + 128 +da24Informação +4 - 28 Fev/ 2011


Mudança de base • Base 16: (0 1 2 3 4 5 6 7 8 9 A B C D E F) 1A2F16 = 1 x 16³ + A x 16² + 2 x 16¹ + F x 16º = 1 x 16³ + 10 x 16² + 2 x 16¹ + 16 x 16º = 4096 + 2560 + 32 + 16 = 669410

Tecnologia da Informação - 29 Fev/ 2011


Exercícios •

Converta para a base 10: 1. 12345 2. 11012 3. 11013 4. 20204 5. 678 6. AB12 7. AB16 8. 1F12 9. 1112 10. 112

Tecnologia da Informação - 30 Fev/ 2011


Mudança de base • Da base10 para a base 2: 3010 = 111102

Tecnologia da Informação - 31 Fev/ 2011


Mudança de base • Da base 10 para a base 4: 3010 =1324

da2Informação - 32 Fev/ 2011 = 1 xTecnologia 4² + 3 x 4¹ + x 4º


Exercícios •

Converta para a base 10: 1. 1012 2. 10112 3. CD16 4. 11013 5. 1234 6. 389 7. 1011 8. 10112 9. 458 10. 667

Tecnologia da Informação - 33 Fev/ 2011


Exercícios •

Converta os números para as bases desejadas: 1. 110112 para a base 16 2. 112 para a base 16 3. 2308 para a base 2 4. 12312 para a base 8 5. 11012 para a base 6 6. 567 para a base 3 7. FA16 para a base 12 8. 12013 para a base 2 9. 1455 para a base 8 10. 1212 para a base 4

Tecnologia da Informação - 34 Fev/ 2011


Adição • Regras de Adição Regra 1: Regra 2: Regra 3: Regra 4:

0+0=0 0+1=1 1+0=1 1+1= 0

Exemplos: 100 4 + 010 2 110 6

e vai 1 = 10

11 0 1 1 5 + 0 1 1 3 1 0 0 0 8 1

Tecnologia da Informação - 36 Fev/ 2011


Exercícios •

Efetue as seguintes somas binárias: 1. 1101 + 1001 = 2. 1010 + 1011 = 3. 1111 + 1000 = 4. 1001 + 1100 = 5. 1111 + 0001 = 6. 1001 + 1010 = 7. 11111 + 101 = 8. 111 + 10001 = 9. 101 + 11001 = 10. 1000 + 0001 =

Tecnologia da Informação - 37 Fev/ 2011


Subtração • Regras de Subtração Regra 1: 0 - 0 = 0 Regra 2: 0 - 1 = 1 e empresta 1 Regra 3: 1 - 0 = 1 Regra 4: 1 - 1 = 0 Exemplos:

-

1 1

3

1 0 10 1 0 0

10

10 0

2

- 1 0

2

-0

1 1

1

7

0

1

1

0 1

1

0

0 1

1

3

0

1 3

Lembrar que a subtração começa da

direita para a esquerda Tecnologia da Informação - 38 Fev/ 2011


Exercícios •

Efetue as seguintes subtrações binárias: 1. 1111 – 101 = 2. 1010 – 11 = 3. 10000 – 1 = 4. 1000010 – 11 = 5. 1010 – 11 = 6. 10001 – 1 = 7. 101010 – 10101 = 8. 100 – 10 = 9. 1011 – 10 = 10. 1111- 1000 =

Tecnologia da Informação - 39 Fev/ 2011


Multiplicação • Regras de Multiplicação

Regra 1: 0 x 0 = 0 Regra 2: 0 x 1 = 0 Regra 3: 1 x 0 = 0 Regra 4: 1 x 1 = 1 Exemplos: 1000

1000

11010

1100

x1

x0

x10

x11

1000

0000

00000

1100

11010

1100

110100

100100

Tecnologia da Informação - 40 Fev/ 2011


Exercícios •

Efetue as seguintes multiplicações binárias: 1. 111 x 10 = 2. 1110 x 11 = 3. 110 x 101 = 4. 1010 x 101 = 5. 10 x 1010 = 6. 111 x 101 = 7. 10001 x 1001 = 8. 1010 x 1010 = 9. 111 x 101 = 10. 1010 x 11 =

Tecnologia da Informação - 41 Fev/ 2011


Divisão • Usa-se as mesmas regras de multiplicação e subtração, da divisão longa, para numeros em base 10:

Tecnologia da Informação - 42 Fev/ 2011


Exercícios • Efetue as seguintes divisões binárias: 1. 111 : 10 = 2. 1110 : 11 = 3. 110 : 101 = 4. 1010 : 101 = 5. 10 : 101 = 6. 111 : 101 = 7. 10001 : 1001 = 8. 1010 : 1010 = 9. 111 : 101 = 10.1010 : 11 =

Tecnologia da Informação - 43 Fev/ 2011


Números com Sinal • Os NÚMEROS INTEIROS POSITIVOS são sempre representados com o sinal, convencionado que: – Bit mais significativo 0 = sinal positivo, e – Bit mais significativo 0 = sinal negativo. • Representações em Complemento: – Facilitam e tornam mais eficiente a manipulação de operações aritméticas em computadores. – Diminuem a complexidade em operações com números negativos. – Dependem da forma de representação, tamanho do número em bits, escolhida.

Tecnologia da Informação - 45 Fev/ 2011


Forma de Representação • A magnitude (ou valor absoluto, independe de sinal) de um número é representada em binário. • O sinal é representado por um bit (o bit mais significativo, isto é, o bit mais à esquerda na representação). • Por convenção, o bit de sinal 0 (zero) significa que o número é positivo e o bit 1 representa número negativo. • O valor dos bits usados para representar a magnitude independe do sinal, isto é, sendo o número positivo ou negativo, a representação binária da magnitude será a mesma, o que varia é apenas o bit de sinal, por exemplo: 0011 = +3  1011 =da -3Informação (011 equivale -ao valor2011 absoluto 3) Tecnologia 46 Fev/


Representação em Complemento • Complemento é a diferença entre cada algarismo do número e o maior algarismo possível na base. • Uma vantagem da utilização da representação em complemento é que a subtração entre dois números pode ser substituída pela sua soma em complemento. • O números positivos são representados da forma usual, entretanto os negativos são obtidos efetuando-se: (base 1) menos cada algarismo do número, por exemplo:

– Se a base é 10, então base – 1 = 10 – 1 = 9, assim o complemento será igual ao complemento a 9. – Se a base é 16h, então base – 1 = 16h – 1 = F, assim o complemento será igual ao 2011 Tecnologia da Informação - 47 Fev/ complemento a F.


Exemplo em Decimal •

Conversão para C1, com 3 dígitos: a) -310 = C110 sabe-se que 310 = 00310 então: 999 -003 996

(C1, em decimal! )

b) -1010 = C110 999 -010 989

(C1, em decimal! )

Tecnologia da Informação - 48 Fev/ 2011


Representação na Base 10 • Base 10 com 3 dígitos: a representação varia de 000 a 999 (103 representações), representando os números de -499 a -1 (faixa negativa), de +1 a +499 (faixa positiva). • O zero pode ser representado tanto por 000 quanto por 999.

Base 10 Faixa Inferior (positiva) C1

Faixa Superior (negativa)

1 2 .... 498 500 501.... 499 997Fev/ 998 Tecnologia da Informação - 49 2011


Exercícios •

Converta para C1: 1. 310 = (decimal de 4 dígitos) 2. -710 = (decimal de 3 dígitos) 3. -2310 = (decimal de 4 dígitos) 4. 3110 =

(decimal de 5 dígitos)

5. -12310 = (decimal de 4 dígitos)

Tecnologia da Informação - 50 Fev/ 2011


Exemplo em Hexadecimal •

Conversão para C1, com 4 dígitos: a) -316 = C116 sabe-se que 316 = 0000316 então: FFFF -0003 FFFC

(C1, em hexadecimal! )

b) -FFFE16 = C116 FFFF -FFFE 0001 (C1, em hexadecimal! ) Tecnologia da Informação - 51 Fev/ 2011


Representação na Base 16 • Base 16 com 4 dígitos: a representação varia de 0000 a FFFF, representando os números de –7FFF a -0001 (faixa negativa), de +0001 a +7FFF (faixa positiva). • O zero pode ser representado tanto por 0000 quanto por FFFF.

Base 16 Faixa Inferior (negativa) C1

Faixa Superior (positiva)

0001 8000 8001.... 0002 .... FFFE Tecnologia da Informação - 52 Fev/ 2011 7FFF


Exercícios • Converta para C1: 1. 316 = (hexadecimal de 4 dígitos) 2. -716 = (hexadecimal de 3 dígitos) 3. -2A16 = (hexadecimal de 4 dígitos) 4. 3F16 = (hexadecimal de 5 dígitos) 5. -12316 =

(hexadecimal de 4 dígitos)

Tecnologia da Informação - 53 Fev/ 2011


Exemplo em Binário •

Conversão para C1, com 5 bits: a) -310 = sabe-se que 310 = 000112 então: 11111 -00011 11100 (em binário para encontrar o C1, basta inverter os dígitos! ) b) -1010 =

1010 = 010102 →

101012

Tecnologia da Informação - 54 Fev/ 2011


Faixa de Representação • A representação na base b em complemento de 1 - C1 com n bits possui bn representações e permite representar bn -1 valores. Há duas representações para o zero. • A faixa de representação na base 2 em C1 com n bits é a mesma que em sinal e magnitude e pode ser calculada como 2n valores, entre - ( 2n-1-1) e + ( 2n-1-1) O maior valor inteiro positivo será então + ( 2n-1-1) e o menor valor inteiro negativo será - ( 2n-1-1).

Tecnologia da Informação - 55 Fev/ 2011


Representação de C1 em 4 bits Decimal (positivo) 0 1 2 3 4 5 6 7

Binário (se o número é positivo, não há alteração) 0000 0001 0010 0011 0100 0101 0110 0111

Decimal (negativo)

Binário (C1)

0 -1 -2 -3 -4 -5 -6 -7

1111 1110 1101 1100 1011 1010 1001 1000

Nesse caso existem 2 representações para o zero!

Tecnologia da Informação - 56 Fev/ 2011


Exercícios •

Representar (em complemento de 1): 1. - 1110 em binário de 5 bits 2. - 1910 em binário de 6 bits 3. - 2810 em binário de 7 bits 4. - 3210 em binário de 7 bits 5. - 310 em binário de 4 bits

Tecnologia da Informação - 57 Fev/ 2011


Representação de C2 em 4 bits Decimal (positivo) 0 1 2 3 4 5 6 7

Binário (se o número é positivo, não há alteração) 0000 0001 0010 0011 0100 0101 0110 0111

Decimal (negativo)

Binário (C2)

-1 -2 -3 -4 -5 -6 -7

1111 1110 1101 1100 1011 1010 1001

Nesse caso só existe 1 representação para o zero, o que permite representar mais um número: -8 → 1000 Tecnologia da Informação - 58 Fev/ 2011 2


Exemplo na Base 10 • Base 10 com 3 dígitos: a representação varia de 000 a 999 (103 representações), representando os números de -500 a -1 (faixa negativa), de +1 a +499 (faixa positiva). • O zero pode ser representado somente por 000.

Base 10 Faixa Inferior (negativa) C1

Faixa Superior (positiva)

1 2 .... 498 500 501.... 499 999Fev/ 2011 Tecnologia da Informação - 59


Exemplo na Base 16 • Base 16 com 4 dígitos: a representação varia de 0000 a FFFF, representando os números de -8000 a -0001 (faixa negativa), de 0000 a +7FFF (faixa positiva). • O zero pode ser representado tanto por 0000 quanto por FFFF.

Base 16 Faixa Inferior (negativa) C2

Faixa Superior (positiva)

0001 8000 8001.... 0002 .... FFFF Tecnologia da Informação - 60 Fev/ 2011 7FFF


Exercícios •

Representar (em C2): 1. - 1310 em binário de 5 bits 2. - 1010 em binário de 6 bits 3. - 1910 em binário de 7 bits 4. - 2310 em binário de 7 bits 5. - 910 em binário de 4 bits

Tecnologia da Informação - 61 Fev/ 2011


Soma/Subtração em C2 Algoritmo: a) Somar os dois números, bit a bit, inclusive o bit de sinal. b) Despreza-se o bit para fora do número, se houver. c) O resultado está correto: c1) Se não ocorreu vai-um para o bit de sinal nem para fora do número, ou c2) Se ocorrer "vai-um" tanto para o bit de sinal quanto para fora do número (equivale a inverter duas vezes o sinal).

d) O resultado é incorreto - ocorreu overflow:

d1) Se ocorrer "vai-um" só para o bit de sinal (e não para fora do número), ou d2) Se não ocorrer "vai-um" para o bit de sinal e somente ocorrer para fora do número.

Isto significa que o resultado excede a faixa de representação para oTecnologia número de bits daadotado). Informação - 62 Fev/ 2011


Exemplo

Tecnologia da Informação - 63 Fev/ 2011


Tecnologia da Informação