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
Sistemas de Numeração Antigos
Tecnologia da Informação - 18 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 de Numeração Modernos
Tecnologia da Informação - 26 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
Operações Aritméticas
Tecnologia da Informação - 35 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 01 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
Problemas de Representação
Tecnologia da Informação - 44 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 complemento a F.
Tecnologia da Informação - 47 Fev/ 2011
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)
Faixa Superior (negativa)
C1
1 2 .... 498 499
500 501.... 997 998
Número 1 2 .... 498 499 representado
-499 -498 .... -2 -1
Tecnologia da Informação - 49 Fev/ 2011
Exercícios •
Converta para C1: 1. 310 = (decimal de 4 dígitos) 2. -710 = 3. -2310 =
(decimal de 3 dígitos) (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)
Faixa Superior (positiva)
C1
0001 0002 .... 7FFF
8000 8001.... FFFE
Número representado
0001 0002 .... 7FFF
-7FFF -7FFE .... -0001
Tecnologia da Informação - 52 Fev/ 2011
Exercícios • Converta para C1: 1. 316 = (hexadecimal de 4 dígitos) 2. -716 = 3. -2A16 =
(hexadecimal de 3 dígitos) (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)
Faixa Superior (positiva)
C1
1 2 .... 498 499
500 501.... 999
Número 1 2 .... 498 499 representado
-500 -499 .... -1
Tecnologia da Informação - 59 Fev/ 2011
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)
Faixa Superior (positiva)
C2
0001 0002 .... 7FFF
8000 8001.... FFFF
Número representado
0001 0002 .... 7FFF
-8000 -7FFF .... -0001
Tecnologia da Informação - 60 Fev/ 2011
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