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