Home
Introdução à Computação - Página para produção de livros do
Contents
1. es da Ci ncia da computa o Sendo esta formaliza o descrita a seguir Um algoritmo um conjunto n o amb guo e ordenado de passos execut veis que definem um processo finito Em sua defini o o algoritmo requer um conjunto de passos ordenados isto significa que estes pas sos devem ser bem definidos e estruturados para uma ordem de execu o Isto n o quer dizer que estes passos devem ser executados sempre em uma nica sequ ncia consistindo de um primeiro passo seguido por um segundo e assim por diante Muitos algoritmos conhecidos como algoritmos pa ralelos cont m mais do que uma sequ ncia de passos cada um sendo projetado para executar um processo distinto em m quinas multiprocessadas Logo as sequ ncias dos passos podem intercalar Introdu o Computa o 59 76 entre si dependendo do ambiente de execu o entretanto dentro de uma mesma sequ ncia sua ordem de execu o n o muda durante o processo Seguindo a defini o todo algoritmo deve consistir em passos execut veis Considere a seguinte Instru o Fa a uma lista de todos os n meros inteiros mpares Sendo um algoritmo para sua solu o imposs vel de ser realizado pois existe uma infinidade de n meros inteiros mpares Logo um algoritmo deve ser eficaz ou seja que possa ser resolvido Podemos criar um algoritmo para solucionar a instru o acima modificando sua descri o Fa a uma lista de todos os n meros inteiros mpares no I
2. 2 2 4 M sica Para representar uma m sica podemos imagin la como sendo apenas uma partitura e salvar todas as informa es contidas nela Depois a m sica poder ser ouvida tocando a partitura salva Marcha Soldado Figura 2 2 Partitura da m sica Marcha Soldado Introdu o Computa o 22 1 16 Nota amp Os toques dos antigos celulares monof nicos utilizavam este sistema para reproduzir as m sicas salvando apenas as notas dos tons O formato de arquivo MID utiliza esta estrat gia Voc pode baixar esta m sica em https github com edusantana introducao a computacao livro raw master arquivos midias marcha soldado mid Voc deve est pensando Mas as m sicas MP3 que escuto tamb m tem voz como ela represen tada Os sons tamb m podem ser representados atrav s das frequ ncias de ondas Figura 2 3 22 que os caracterizam Mais tarde quando voc desejar escutar as m sicas o computador ser capaz de reproduzir os mesmos sons Figura 2 3 Representa o de uma m sica atrav s de ondas Se poss vel acessem este v deo sobre a representa o da informa o Figura 2 4 V deo sobre Representa o da Informa o http youtu be y eCItEibHI 2 3 Recapitulando Neste cap tulo voc aprendeu o que s o bits e bytes e a import ncia do ltimo para salvar dados no computador Em seguida vimos como dados podem ser representados atrav s de uma tabela e como calcular quantos
3. Num Byte Num Byte Num Byte Num Byte Num Byte 00000000 8 00001000 16 00010000 24 00011000 248 11111000 00000001 9 00001001 17 00010001 25 00011001 249 11111001 LTTTIOIO MITON MITO MINTON MITO 00000111 15 00001111 23 00010111 31 00011111 255 11111111 JM ONA A UI NI el oO Nota Usualmente os bits s o representados utilizando o sistema hexadecimal pois eles ocupam menos espa o Por exemplo a sequ ncia de bits 1111 1000 expressa por F8 em hexa decimal 2 2 2 Texto Nesta se o n s iremos aprender como o computador representa texto Novamente podemos utilizar uma tabela definindo os caracteres que desejamos representar e suas correspond ncias bin rias O ASCII o padr o de representa o de caracteres mais conhecido Na Tabela 2 4 20 apresentado um extrato da tabela ASCII onde cada caractere possui sua representa o em bits Este padr o l As representa es de n meros negativos e reais ponto flutuante tamb m s o poss veis utilizando outras estrat gias Introdu o Computa o 20 76 tamb m inclui outros caracteres de controle n o apresentados na tabela como fim de linha e final de arquivo composi o de um texto realizada informado a sequ ncia de caracteres contidos nele Tabela 2 4 Extrato da tabela ASCH Cara cterByte Cara cterByte CaracterByte CaracterByte CaracterByte 01100007 A 01000001 n ONONIO N 01001110 O 001100
4. O surgimento da pascaline no entanto n o agradou a todos alguns empregados queriam destruir a m quina com medo de perder seus empregos Introdu o Computa o 6 76 Dica Voc pode consultar a biografia de Pascal em hitp mww thocp net biographies pascal blaise htm l 1 1 4 Leibniz A primeira calculadora com quatro opera es Em 1672 o Alem o Gottfried Wilhelm Leibniz foi o primeiro a inventar uma calculadora que realizava as 4 opera es b sicas adi o subtra o multiplica o e divis o A adi o utilizava um mecanismo baseado na Pascaline mas as opera es de multiplica o realizavam a sequ ncia de somas autom ti cas Leibniz tamb m foi o primeiro a defender a utiliza o do sistema bin rio que fundamental nos computadores digitais que utilizamos hoje 1 1 5 M quinas Program veis Um marco na hist ria foi a inven o de m quinas program veis que funcionavam de forma diferente de acordo com uma programa o que lhes era fornecida 1 1 5 1 Tear de Jacquard Em 1804 o Franc s Joseph Marie Jacquard inventou uma m quina de tear que tran ava o tecido de acordo com uma programa o que era fornecida atrav s de furos num cart o Figura 1 8 M quina de tear usando programa o atrav s de cart es perfurados Inven o de Jacquard revolucionou a industria de tecido e em 1806 ela foi declarada propriedade p blica e ele foi recompensado com uma pens o e royalties por
5. Resultado 1000 Expoente 110 2 na Nota o de Excesso Representa o do resultado 01101010 01011100 em Ponto Flutuante 01101000 3 8 L gica Bin ria George Boole publicou a lgebra booleana em 1854 sendo um sistema completo que permitia a constru o de modelos matem ticos para o processamento computacional O fascinante na l gica booleana partir de tr s operadores b sicos que veremos a seguir e construir Circuitos L gicos capazes de realizar as diversas opera es necess rias para um computador A seguir a descri o de cada um dos 3 operadores b sicos A Figura 3 8 representa os valores da tabela de valores Tabela Verdade dos operadores e a representa o gr fica sendo tamb m chamadas de portas l gicas 3 8 1 Operador NOT O operador un rio NOT nega o bin ria resulta no complemento do operando ou seja ser um bit 1 se o operando for O e ser O caso contr rio conforme podemos confirmar pela tabela de verdade onde A o bit de entrada e S a resposta ou bit de sa da 3 8 2 Operador AND O operador bin rio AND ou conjun o bin ria devolve um bit 1 sempre que ambos operandos sejam 1 conforme podemos confirmar pela tabela de verdade onde A e B s o bits de entrada e S o bit resposta ou bit de sa da 3 8 3 Operador OR O operador bin rio OR ou disjun o bin ria devolve um bit 1 sempre que pelo menos um dos ope randos seja 1 conforme podemos confirmar pela tabel
6. apresenta um Circuito Digital Somador de Dois Bits Introdu o Computa o 46 76 Figura 3 9 Circuito Digital Somador de Dois Bits formado pelas portas l gicas b sicas AND OR NOT Propomos ao leitor tentar acompanhar passo a passo o circuito digital proposto e entender como poss veis entradas bin rias em A e B ter o o resultado esperado nas sa das soma e carry Em seus testes utilize a Tabela 3 4 46 e se tiver alguma d vida sobre os valores da tabela revisem a opera o de soma com dois bits onde a sa da soma representa o valor da soma na unidade corrente e o carry representa o vai um da opera o Tabela 3 4 Tabela de valores da opera o de Soma de Dois Bits Introdu o Computa o 47 16 m m Figura 3 10 V deo sobre o Circuito Digital Somador de 2 Bits http youtu be ESyDNF2c1Qw m E 3 9 Recapitulando Neste cap tulo estudamos a origem dos sistemas de numera o Aprendemos a trabalhar com os sistemas de numera o mais utilizados na computa o Aprendemos mais profundamente o funci onamento do sistema bin rio sua aritm tica representa o de n meros negativos representa o de n meros fracion rios e a l gica bin ria proposta por George Boole Por fim demos uma introdu o sobre como o computador consegue realizar as opera es aritm ticas a partir de porta l gica b sica demonstrando o poder da matem tica no aux lio dos procedimentos comput
7. avalia o Este processo o mesmo utilizado na produ o de softwares livres Para contribuir com um erro sugest o ou cr tica atrav s de um envio de uma mensagem acesse https github com edusantana introducao a computacao livro issues new Introdu o Computa o xii s Comunidade escrito errado no cap tulo X No one is assigned 4 No milestone Write Preview Comments are parsed with GitHub Flavored Markdown 0 P gina 32 Onde est escrito A cominidade de software livrre O correto seria A comunidade de software livre selecting them Figura 2 Exemplo de contribui o atrav s do Issue track Manual sobre produ o dos livros Caso voc deseja submeter corre es precisar compreender o processo de produ o dos livros O manual que o descreve pode ser acessado em http producao virtual ufpb br Introdu o Computa o 1 76 Capitulo 1 Hist ria dos computadores OBJETIVOS DO CAP TULO Ao final deste cap tulo voc dever ser capaz de e Citar os precursores dos computadores e Discorrer sobre a import ncia do surgimento dos cart es perfurados e Descrever como eram os computadores em cada uma das 5 gera es e Explicar porque a palavra bug passou a ser empregada para designar defeitos e Relatar a import ncia do circuito integrado no processo de fabrica o dos computado res Os computadores fazem parte do dia a dia da sociedade contempor nea mas voc con
8. em um poss vel mapa de mem ria Os endere os acima de 2048 s o reservados para uso do sistema operacional O espa o do usu rio onde um programa do usu rio ser carregado A por o do espa o de endere amento entre 2 e 2 2 1 est reservada para dispositivos de E S importante manter clara a distin o entre o que endere o e o que dado Uma palavra na me m ria pode ter distintas representa es dependendo do seu uso Ela pode armazenar uma instru o contendo a opera o e os operandos dados de entrada para a realiza o de uma espec fica opera o mas tamb m pode armazenar o endere o de uma outra regi o de mem ria Logo o endere o um apontador para uma posi o de mem ria que cont m dados e estes s o informa es significativas para a realiza o de alguma atividade no computador ou a representa o de alguma informa o 4 1 2 Unidade Central de Processamento UCP A Unidade Central de Processamento ilustrada na Figura 4 3 52 composta por duas partes prin cipais a unidade l gica e aritm tica ULA formada por circuitos que manipulam os dados atrav s de opera es bin rias dois operandos e un rias um operando Exemplos incluem a soma e opera dores l gicos and or e not E a unidade de controle cujos circuitos s o respons veis por coordenar as opera es da UCP Introdu o Computa o 52 76 Unidade Central de Processamento Registradores Unidade d
9. o Computa o 5 76 1 1 3 As rodas dentadas de Pascal Pascaline Em 1642 o franc s Blaise Pascal aos 19 anos de idade foi o primeiro a inventar um dispositivo mec nico para realiza o de c lculos O dispositivo conhecido como As rodas dentadas de Pascal ou Pascaline Figura 1 7 5 Pascal era filho de um cobrador de impostos e auxiliava o pai na realiza o de c lculos utilizando um Instrumento similar ao baco Mas segundo ele o trabalho era muito entediante o que o levou a elaborar um dispositivo para realiza o de somas e subtra o ER BR ER E RR O RR Dra D De Dran a pa pe ira ii mm nim fim rh iia anim iim Photo A Neve es Figura 1 7 Pascaline de 8 d gitos aberta mostrando as engrenagens acima e a apresenta o da m quina fechada abaixo O mecanismo de funcionamento o mesmo utilizado at hoje nos od metros de carros onde as engrenagens s o organizadas de tal forma a simular o vai um para a pr xima casa decimal nas opera es de adi o Dica Existe um anima o demonstrando o funcionamento da m quina pascaline voc pode acess lo atrav s do seguinte link http flherese eveilleau pagesperso orange fr pages truc mat textes pascaline htm As opera es de soma eram realizadas girando as engrenagens em um sentido e as opera es de subtra o no sentido oposto enquanto que as opera es de multiplica o utilizavam v rios giros da soma manualmente
10. 1 2 4 Quarta Gera o 1977 1991 Os computadores da quarta gera o s o reconhecidos pelo surgimento dos processadores unidade central de processamento Os sistemas operacionais como MS DOS UNIX Apple s Macintosh fo ram constru dos Linguagens de programa o orientadas a objeto como C e Smalltalk foram de senvolvidas Discos r gidos eram utilizados como mem ria secund ria Impressoras matriciais e os teclados com os layouts atuais foram criados nesta poca Os computadores eram mais confi veis mais r pidos menores e com maior capacidade de armaze namento Esta gera o marcada pela venda de computadores pessoais Figura 16 Introdu o Computa o 16 76 Figura 1 23 Computador pessoal da quarta gera o 1 2 5 Quinta Gera o 1991 dias atuais Os computadores da quinta gera o usam processadores com milh es de transistores Nesta gera o surgiram as arquiteturas de 64 bits os processadores que utilizam tecnologias RISC e CISC discos r gidos com capacidade superior a 600GB pen drives com mais de 1GB de mem ria e utiliza o de disco tico com mais de 50GB de armazenamento Figura 1 24 Computador da quinta gera o A quinta gera o est sendo marcada pela intelig ncia artificial e por sua conectividade A inteli g ncia artificial pode ser verificada em jogos e robores ao conseguir desafiar a intelig ncia humana A conectividade cada vez mais um requisito das ind s
11. Precursores dos computadores S o considerados precursores dos computadores todos os instrumentos ou m quinas que contribu ram com ideias para a cria o dos mesmos Dentre eles o surgimento de uma m quina program vel foi um grande marco na hist ria dos computadores Vamos iniciar nossos estudos com um instrumento que talvez voc conhe a e provavelmente j utili zou na escola o baco 1 1 1 baco O baco foi um dos primeiros instrumentos desenvolvidos para auxiliar os humanos na realiza o de c lculos Muitos atribuem sua cria o China mas existem evid ncias deles na Babil nia no ano 300 A C Introdu o Computa o 3 76 a dia T Es ki E e de mal e E 7 EE z T p Wa a a 87 as Ije Pe Um j vd ge wor ga e E h 1E A ieii mh p a m E hs T E iii 1d i E pe r AE tado el Prep E Ri A e iz Figura 1 3 Ilustra o de um baco A ideia b sico no baco considerar as contas bolinhas contidas na parte inferior chamada de ch o do baco com valor unit rio e cada conta contida na parte superior chamada de c u do baco com valor de cinco unidades Cada valor unit rio tem representa o diferente dependendo da coluna em que se encontra logo uma unidade na primeira coluna tem valor 1 em nosso sistema num rico j uma unidade na segunda coluna tem valor 10 Dica Voc pode conhecer mais sobre O baco no seguinte site http www educ
12. Principal UCP Controladores Figura 4 1 Arquitetural geral de um computador Esta se o apresenta uma descri o sobre cada unidade desta Arquitetura descrevendo seus compo nentes e fun es b sicas 4 1 1 Mem ria Principal A mem ria do computador consiste numa cole o de registradores numerados consecutivamente en dere ados onde cada um possui um tamanho denominado de tamanho da palavra que pode variar em 16 32 64 e 128 bits com a palavra de 32 bits sendo a mais comum hoje em dia e a palavra de 64 bits aumentando de popularidade Cada registrador tem um endere o chamado de localiza o na mem ria estas s o organizadas line armente em ordem consecutiva O n mero nico que identifica cada palavra chamado de endere o A mem ria possui um espa o de endere amento representado pelo tamanho em bits do seu endere o logo um espa o de endere amento de 32 bits pode acessar qualquer palavra de mem ria em qualquer lugar no intervalo de O a 232 1 O espa o de endere amento pode ser dividido em regi es distintas usadas pelo sistema operacional dispositivos de E S programas de usu rio e pilha do sistema operacional Introdu o Computa o 51 76 Reservado para o Sistema Operacional Espa o do Usu rio Apontador da Pilha Terminal E cniiid Figura 4 2 Mapa de Mem ria do Computador As regi es ilustradas na Figura 4 2 comp
13. a a0 a a a a a maca aEa Gu ERRAR RL RAT a 1 1 5 1 TeardeJacquard lt s r esr asrtet eds ure nET 1 1 5 2 A M quina Diferencial 1 1 5 3 A M quina Anal tica 1 1 5 4 A Primeira programadora 1 1 6 Linbhad tempofp se s seast estesgss A 1 2 As gera es dos computadores a a aa a 1 2 1 Primeira Gera o 1946 1954 a aaa 1 2 1 1 Alan Turing O pai da Ci ncia da Computa o aoaaa 1 2 2 Segunda Gera o 1955 1964 1 2 3 Terceira Gera o 1964 1977 1 2 4 Quarta Gera o 1977 1991 a ccclclcll 1 2 5 Quinta Gera o 1991 dias atuais a a a a a 1 3 Recap itulando a aa a 2 Representa o da informa o 2 1 Conceito de bit e byte 2 2 Possibilidades de representa o n nonoo ZM NO a ea aa a a a a AE JM EEEE E E E E E E E E E E E E E E 2 2 3 Imagem Do Rec apitulandoj sassassarendLEEEERETRAAD ERES E 2 4 Atividades NO NO NO NO OO DD DRA AACS N N m ala ama QN A A O O Introdu o Computa o V 3 Sistemas de numera o 24 3 1 No es de Sistema de Numera o aoao a 24 3 1 1 Sistema de numera o Eg pcio 3000 a C aaa a 25 3 1 2 Sistemas de numera o Babil nico 2000 a C a aa a aaa 25 3 1 3 Sistema de numera o Romano o o aooo a a 26 Bda Agar ga a 21 3 2 Sistema de Numera o Posicional aoao 28 3 2 1 Base de um Sistema de Numera o aooaa a 28 3 3 Convers es entre base
14. bits s o necess rios para representar as informa es que desejamos Por ltimo vimos como n meros textos Imagens e m sicas podem ser representadas atrav s de bits Introdu o Computa o 23 76 2 4 Atividades 1 Utilizando o m todo de representa o de n meros estudado Se o 19 represente os n meros 32 64 e 128 em bytes 2 Como voc representaria todos os meses do ano em bits 3 Quantos bits s o necess rios para representar 150 possibilidades diferentes 4 x Como voc representaria as horas em bits 5 X Como voc representaria o tabuleiro abaixo em bin rio Quantos bytes sua estrat gia utiliza Introdu o Computa o 24 76 Cap tulo 3 Sistemas de numera o OBJETIVOS DO CAP TULO Ao final deste cap tulo voc dever ser capaz de e Entender a origem dos sistemas de numera o na hist ria e Explicar o funcionamento do sistema de numera o bin rio e Ser capaz de efetuar opera es da aritm tica e l gica bin ria e Compreender como a l gica bin ria permite criar opera es mais complexas no com putador Um numeral um s mbolo ou grupo de s mbolos que representa um n mero em um determi nado instante da hist ria humana Tem se que numa determinada escrita ou poca os numerais diferenciaram se dos n meros do mesmo modo que as palavras se diferenciaram das coisas a que se referem Os s mbolos 11 onze e XI onze em latim s o numerais diferentes repre
15. cada m quina que fosse constru da Introdu o Computa o 7 716 Figura 1 9 Esquerda Jacquard perfurando os cart es Direita cart es perfurados 1 1 5 2 A M quina Diferencial Em 1822 o matem tico ingl s Charles Babbage prop s a constru o de uma m quina de calcular que ocuparia uma sala inteira O prop sito da m quina seria de corrigir os erros das tabelas de logaritmos muito utilizadas pelo governo brit nico devido as grandes navega es A constru o da m quina no entanto excedeu em or amento e tempo na sua constru o foi inclusive o projeto mais caro que o governo brit nico j havia financiado Eventualmente os subs dios foram retirados e o projeto abortado E em cao um p lt el VE sta 4 a TT vv a 2 ve ao eae Aan a a qa a Faa g a re quem e que ru ai I e c o lt 49 i f es a a 6 e ms q eo qo LA Figura 1 10 Pequena se o da m quina diferencial de Charles Babbage V deo de uma r plica da M quina Diferencial de Charles Barbage Introdu o Computa o 8 76 Figura 1 11 Demonstra o da M quina Diferencial de Charles Babbage http youtu be BIbQsKpg3 Ak 1 1 5 3 A M quina Anal tica Ap s a inacabada m quina diferencial em 1837 Charles Babbage anunciou um projeto para cons tru o da M quina Anal tica Influencia
16. de Numera o Posicional O m todo de numera o de quantidades ao qual estamos acostumados utiliza um sistema de nume ra o posicional Isto significa que a posi o ocupada por cada algarismo em um n mero altera seu valor de uma pot ncia de 10 na base 10 para cada casa esquerda Por exemplo No sistema decimal base 10 no n mero 125 o algarismo 1 representa 100 uma centena ou 102 o 2 representa 20 duas dezenas ou 2 x 105 05 representa 5 mesmo 5 unidades ou 5x100 Assim em nossa nota o 125 1x102 2x10 5x10 3 2 1 Base de um Sistema de Numera o A base de um sistema a quantidade de algarismos dispon veis na representa o A base 10 hoje a mais usualmente empregada embora n o seja a nica utilizada No com rcio pedimos uma d zia de rosas base 12 e marcamos o tempo em minutos e segundos base 60 Quando lidamos com computadores muito comum e conveniente o uso de outras bases as mais importantes s o a bin ria base 2 octal base 8 e hexadecimal base 16 Introdu o Computa o 29 76 Um sistema num rico de base k precisa de k s mbolos diferentes para representar seus d gitos de O a k 1 Os n meros decimais s o formados a partir de 10 d gitos decimais GIZ ZAG L J os n meros na base bin ria s o representados a partir de dois d gitos O octal necessita de oito Qu do A ao AS 6 4 No caso de n meros hexadecimais s o necess rios 16 algarismos Portanto s
17. es e este conte do armazenado no registrador de instru es Por fim o conte do do contador de instru es incrementado ficando pronto para a pr xima fase de busca Decodifica o a unidade de controle separa os campos da instru o contida no registrador de instru es de acordo com o tipo de opera o identificando os operandos da Instru o Execu o os circuitos espec ficos da ULA s o ativados os dados de entrada carregados e a tarefa indicada na instru o executada Ao final da execu o a unidade de controle recome ar o ciclo partindo da fase de busca 4 3 Recapitulando Neste cap tulo estudamos a Arquitetura b sica de um computador identificamos cada um dos seus componentes descrevendo suas funcionalidades principais e um resumo de seu funcionamento in terno Descrevemos como estes componentes interagem entre si para o funcionamento do computa dor dentre estes componentes estudamos a Unidade Central de Processamento a Mem ria Principal os dispositivos de Entrada e Sa da e os Barramentos Introdu o Computa o 57 76 Por fim demos uma introdu o sobre como o computador consegue executar um programa desenvol vido em linguagem de m quina apresentando para isso o conceito de ciclo de m quina 4 4 Atividades 1 Qual o papel de cada unidade dentro da UCP 2 Qual a fun o dos registradores existentes na UCP 3 Qual a import ncia dos Barramentos na Arquitetura de um comp
18. mero escolhido maior asjus Jogador escolhe o 13 e descobre que o n mero escolhido est entre 9e 12 am x x x x x x x x 9 10 11 Q2 35 26 Jogador escolhe o 11 e descobre que o n mero escolhido est entre 12 e 12 ma x x x x x x x x x 0 x 12 2 2 26 16 Jogador escolhe o 12 e descobre o n mero finalizando ojogo y x x x x x x x x X 30 x 12 1 2 165 Figura 5 5 Proposta de algoritmo para o imprenssadinho Nota QD Antes de propor esta atividade a seus alunos que tal tentar elaborar um algoritmo que forma lize sua solu o Descreva testes a serem efetuados e instru es para descrever as decis es a serem tomadas Introdu o Computa o 63 76 5 2 Linguagem de Programa o Imagine aplica es para redes sociais como o Facebook jogos eletr nicos e decodificadores de v deo digital sendo implementados em linguagem de m quina linguagem bin ria seria uma tarefa imposs vel Para isso linguagens de programa o foram desenvolvidas para permitir que algoritmos sejam aceit veis para os humanos e facilmente convertidos em instru es de linguagem de m quina Podemos definir uma linguagem de programa o como um conjunto de palavras vocabul rio e de regras sintaxe que permite a formula o de instru es a um computador 5 2 1 Primeiras gera es Os c digos interpretados pelos primeiros computadores consistiam em instru es co
19. novas Informa es atrav s de bits com o aux lio de uma tabela Voc provavelmente j ouviu algu m falar que os computadores trabalham internamente apenas com 0 e 1 zero e um Tudo o que voc assiste escuta ou cria no computador processado internamente atrav s de sequ ncias de zeros e uns O computador ao ler estas sequ ncias consegue interpret las e em seguida apresentar as informa es contidas nelas Neste cap tulo estudaremos o conceito e bit e byte e como eles podem ser utilizados para representar diversas informa es Vamos come ar nossos estudos aprendendo sobre os bits e bytes 2 1 Conceito de bit e byte Um bit ou d gito bin rio binary digit a unidade b sica que os computadores e sistemas digitais utilizam para trabalhar ele pode assumir apenas dois valores O ou 1 Um byte uma sequ ncia de 8 bits Fisicamente um bit pode ser representado de v rias formas atrav s de dois valores de voltagem apli cados num fio diferentes dire es de magnetiza o em uma fita magn tica entre outras O importante que seja poss vel identificar dois estados diferentes A Importante O byte a menor unidade de armazenamento utilizada pelos computadores Isto quer dizer que n s nunca conseguiremos salvar menos do que 8 bits Na pr xima se o iremos estudar como os bits e bytes s o utilizados na representa o de dados e m dias Introdu o Computa o 18 76 2 2 Possibilidades de repr
20. o unidade central de processamento mem ria principal e seus dispositivos de entrada e sa da O software constitu do pelos programas que lhe permitem atender s necessidades dos usu rios Ele abriga programas fornecidos pelos fabricantes do computador e programas desenvolvidos pelo usu rio Neste cap tulo iremos identificar como estes dois elementos unidos permitem que atividades pr programadas atrav s de uma linguagem sejam executas de forma autom tica pelo computador 4 1 Arquitetura de um Computador Os circuitos de um computador que executam opera es sobre dados tais como adi o e subtra o s o isolados em uma regi o chamada Unidade Central de Processamento UCP CPU Central Processing Unit ou processador Os dados que est o armazenados na mem ria principal do computador s o transferidos atrav s de barramentos que interligam estes componentes comunica o com o mundo externo os usu rios se d pelos dispositivos de Entrada e Sa da E S comunica o entre o computador e estes dispositivos se d atrav s dos controladores de cada dispo sitivo de E S Em computadores comuns estes controladores correspondem placas de circuito encai xadas na placa principal do computador placa m e Est ilustrada na Figura 4 1 50 a arquitetura b sica de um computador demonstrando a organiza o de seus componentes b sicos Introdu o Computa o 50 76 Barramentos Mem ria
21. o bastante utilizadas para representar informa es Em uma coluna colocamos o que de sejamos representar e na outra sua representa o bin ria N o h uma ordem particular por exemplo na Tabela 2 2 Solteiro era representado por 00 mas poder amos construir outra tabela em que seria codificado como 11 l se um um Introdu o Computa o 19 76 Importante O termo codificar significa traduzir um conte do para a sua representa o bin ria Percebam tamb m que quando todas as informa es desejadas j foram representadas podem existir sequ ncias bin rias que n o possuem significado definido que foi o caso da sequ ncia 11 para a l mpada Tabela 2 2 18 2 2 1 N meros Independente do que desejamos representar o primeiro passo verificar quantas informa es diferen tes iremos utilizar e com base nestas Informa es podemos calcular quantos bits ser o necess rios para representar todas as possibilidades Para representar n meros necess rio estabelecer o intervalo que desejamos utilizar pois precisamos definir quantas possibilidades diferentes queremos representar J vimos que com 8 bits podemos representar 256 possibilidades n meros diferentes Para representar n meros inteiros e positivos podemos construir uma tabela com todas estas possibilidades Na Tabela 2 3 temos exemplos de como alguns desses n meros s o representados Tabela 2 3 Representa o de n meros utilizando um byte
22. primeiros sistemas de numera o que temos conhecimento o eg pcio quefoi desenvolvido pelas civiliza es que viviam no vale do Rio Nilo ao nordeste da Africa Observem na Figura 25 os s mbolos e a representa o de alguns n meros nesse sistema de numera o Bast o 1 N Calcanhar 10 2 Rolo de corda 100 bd Flor de l tus 1000 4 Dedo apontado 10000 Ex Peixe 100000 No Homem 1000000 ESTES E OS IHE A Ann T JO quo did fare mn PE Figura 3 1 Sistema de Numera o Eg pcio Este sistema adota o princ pio aditivo ou seja os s mbolos possuem seus respectivos valores indivi duais e juntos passam a formar novos valores pela simples adi o destes 3 1 2 Sistemas de numera o Babil nico 2000 a C Os babil nios viviam na Mesopot mia nos vales dos rios Tigres e Eufrates na Asia Esta regi o ocupada atualmente pelo Iraque Na escrita dos n meros o sistema de numera o dos babil nios se parecia muito com o sistema de numera o desenvolvido pelos eg pcios ambos eram aditivos Observe na Figura 126 os s mbolos e a representa o de alguns n meros de 7 a 59 nesse sistema de numera o Introdu o Computa o 26 76 R S PR DE PS ER lt lt TT FIT lt nd AS Pa ri TT LT TT lt TT Nr FITET L Y FaT TITIT Figura 3 2 Sistema de Numera o Babil nico Dica Agora com voc Qual seria o valor que cada s mbolo babil nico seguindo os exemplos da Figura 8
23. tal como uma subtra o decimal Solu o 11 1 00 01010 10010 Introdu o Computa o 36 76 Figura 3 5 V deo sobre Soma e Subtra o Bin ria http youtu be NeQBC9Z5SFHk 3 5 2 Subtra o nos computadores Na eletr nica digital de dispositivos tais como computadores circuitos simples custam menos e ope ram mais r pido do que circuitos mais complexos Logo n meros em complemento de dois s o usados na aritm tica pois eles permitem o uso dos circuitos mais simples baratos e r pidos Uma caracter stica do sistema de complemento de dois que tanto os n meros com sinal quanto os n meros sem sinal podem ser somados pelo mesmo circuito Por exemplo suponha que voc deseja somar os n meros sem sinal 13210 e 1410 10000100 132 0 00001 110 l4io 10010010 14610 O microprocessador tem um circuito na ULA Unidade L gica e Aritm tica que pode somar n me ros bin rios sem sinal quando aparece o padr o 10000100 em uma entrada e 000011105 na outra entrada resulta 100100105 na sa da Surge a pergunta como a ULA sabe que os padr es de bits nas entradas representam n mero sem sinal e n o n meros em complemento de dois E a resposta n o sabe A ULA sempre soma como se as entradas fossem n meros bin rios sem sinal Sempre produzir o resultado correto mesmo se as entradas forem n meros em complemento de dois 100001002 12410 000011 10 1410 100100102 11010 Isto comprova um
24. trabalhar com estes elementos b sicos durante o projeto de uma casa o arquiteto pensa em termos de salas varanda portas e etc Com esta filosofia os pesquisadores de computa o desenvolveram a terceira gera o de linguagens de programa o sendo suas primitivas b sicas de alto n vel e independentes de m quina um diferen cial das linguagens anteriores Estas linguagens s o desenvolvidas para usos mais especialisados Os exemplos mais conhecidos desta primeira fase das linguagens de alto n vel s o o FORTRAN FOR mula TRANslation que foi desenvolvido para aplica es cient ficas e de engenharia e o COBOL Common Business Oriented Language desenvolvido para aplica es comerciais O objetivo das linguagens de alto n vel era descrever opera es sem se preocupar quais instru es de m quina seriam necess rias para implementar estas opera es Uma vez identificado este conjunto de primitivas de alto n vel necess rias para o algoritmo um programa conhecido como tradutor acionado para converter programas escritos na linguagem de alto n vel em programas com linguagem de m quina Este software entre outros ser o melhor detalhados na Se o 5 3 64 Introdu o Computa o 64 76 5 2 2 Paradigma de Programa o Um paradigma de programa o fornece e determina a vis o que o programador possui sobre a estrutu ra o e execu o do programa Os paradigmas representam abordagens fundamentalmente diferente
25. zip Clonando o reposit rio Use o comando git clone https github com edusantana introducao a computacao livro https github com edusantana introducao a computacao livro archive master zip Depois de baixar o arquivo descompacte o Introdu o Computa o XI EM Nota Independente do m todo utilizado para acessar os arquivos os c digos fontes est o organi zados por cap tulos no diret rio livro capitulos code CD Aten o Os c digos acessados por estes m todos s o referentes vers o mais nova do livro em produ o E poss vel que eles sejam diferentes da vers o que voc tenha no impresso Contribuindo com o livro Voc pode contribuir com a atualiza o e corre o deste livro A tabela a seguir resume os m todos de contribui es dispon veis M todo de contribui o Issue track Submiss o de corre o Tabela 1 M todos para contribui o do livro Habilidades necess rias Inscri o no site do github Preenchimento de um formul rio Realizar fork de projetos Atualizar texto do livro Realizar PullRequest Contribui o atrav s do Issue track Descri o Consiste em acessar o reposit rio do livro e submeter um erro uma sugest o ou uma cr tica atrav s da cria o de um Issue Quando provid ncias forem tomadas voc ser notificado disso Consiste em acessar os arquivos fontes do livro realizar a corre o desejada e submet la para
26. 00 01100010 B 01000010 o OOII O 01001111 1 00110001 0100011 C 01000011 p 01110000 P 01010000 2 00110010 01100100 D 01000100 q 01110001 Q 01010001 3 00110011 O1IO0I0I E 01000101 r ONN0010 R 01010010 4 00110100 OTOOTO 001010 ONOONT G ONO0NI ONO T 01010100 6 00110110 01101000 OTTO ONOIOOT 1 ONON0O v ONIONO V 01010110 8 00111000 ONIOIOIO J ONONOIO w ONIONMI W O10011 9 001100 ONONONT K OIOI x O11100 X ONO OOo L 01001100 y ONNN001 Y omno Z 01101101 M 01001101 01111010 Z 01011010 B l w mona o alal ol I Importante Percebam que neste sistema os caracteres s o representados por exatamente um byte que o tamanho m nimo poss vel de ser salvo no computador Talvez voc tenha percebido a aus ncia dos caracteres especiais como o B al m dos caracteres acentuados como etc Isto porque o padr o ASCII foi criado por americanos para codificar as mensagens escritas no idioma ingl s que n o possuem tais caracteres Por esta raz o existem v rios outros sistemas de codifica o para melhor representar as mensagens do idioma que se deseja utilizar alguns exemplos s o Unicode UTF 8 e ISO 8859 1 padr o latino americano Dica Fa a um teste Abra um editor de texto como o bloco de notas gedit ou kate n o use o Word Digite abc no documento em branco e salve o Em seguida verifique o tamanho do arquivo dependendo da co
27. 2 26 lt 3 1 3 Sistema de numera o Romano O sistema de numera o romano apesar das dificuldades operat rias que apresentava foi utilizado na Europa durante muitos s culos Esse sistema de numera o foi desenvolvido pela civiliza o romana cuja sede era a cidade de Roma situada na It lia Ainda hoje utilizamos esse sistema de numera o em algumas situa es tais como e na designa o de papas e reis na designa o de s culos e datas e na indica o de cap tulos e volumes de livros e nos mostradores de alguns rel gios etc Com o passar dos anos o sistema de numera o romano Figura 3 3 27 sofreu um longo processo de evolu o Inicialmente os romanos utilizavam apenas o principio aditivo sendo que um mesmo s mbolo podia ser repetido at no m ximo quatro vezes Posteriormente eles evolu ram este sistema passando a utilizar tamb m o princ pio subtrativo al m de permitir a repeti o de um mesmo s mbolo no m ximo tr s vezes Introdu o Computa o 21 1 16 Numera o romana antiga Numera o romana moderna Princ pio aditivo Princ pio subtrativo aa IV 1 1 1 1 4 5 1 4 Neon IX 5 1 1 1 1 9 10 1 9 Princ pio Princ pio Princ pio Princ pio aditivo subtrativo e aditivo subtrativo e aditivo aditivo 16 XVI XVI 1 2 Il II 17 XVII XVII 3 Ill III 18 XVIII XVIII Iil IV 19 XVIIII XIX 5 V V 20 XX XX 6 VI VI 40 XXXX XL 7 VII VII 50 L L 8
28. 859 para a base 10 4859 4x9 8x9 5x92 324 72 5 40l Introdu o Computa o 32 76 3 3 3 Convers o de n meros da base 10 para uma base b qualquer A convers o de n meros da base 10 para uma base qualquer emprega algoritmos que ser o o inverso dos anteriores O n mero decimal ser dividido sucessivas vezes pela base o resto de cada divis o ocupar sucessivamente as posi es de ordem 0 1 2 e assim por diante at que o resto da ltima divis o que resulta em quociente 0 ocupe a posi o de mais alta ordem e Convers o do n mero 1919 para a base 2 9 2 9 2 1 a 1 a 1 4 2 a 0 2 2 d Logo temos 1910 100115 Usando a convers o anterior como prova real temos 10011 1x2 0x2 0x22 1x2 1x2 19 Convers o do n mero 27810 para a base 16 Logo temos 27810 11627816 Introdu o Computa o 33 76 3 4 N meros Bin rios Negativos Os computadores lidam com n meros positivos e n meros negativos sendo necess rio encontrar uma representa o para n meros com sinal negativo Existe uma grande variedade de op es das quais nesta se o ser o apresentadas apenas tr s para representar valores negativos e sinal e amplitude magnitude S M complemento de 1 complemento de 2 3 4 1 Sinal e Amplitude Magnitude S M Como o pr prio nome indica a representa o sinal e amplitude utiliza um bit para representar o sinal o b
29. ALL usadas para a mudan a do fluxo normal de um programa implementando assim os desvios condicionais c digos de repeti o chamada de fun o e retorno A codifica o de uma instru o composta de duas partes o campo c digo da opera o e o campo do operando Introdu o Computa o 55 76 Campo do c digo da opera o Campo do operando Podemos observar no exemplo a seguir a codifica o da opera o STORE e seus operandos C digo da Operandos opera o Padr ode bits 16 bits 11 12 F 3 Forma Hexadecimal 4 digitos O primeiro d gito hexadecimal o 11 representa neste exemplo a opera o STORE armazena o conte do de um registrador em mem ria O d gito hexadecimal seguinte representa o identificador do registrador valor 12 que possui o conte do a ser gravado e j o par de d gitos hexadecimais F3 representa o endere o na mem ria principal onde o conte do do registrador 12 ser guardado Podemos traduzir este c digo da seguinte forma Armazene o padr o de bits contido no registrador 12 para a c lula de mem ria de endere o F3 4 2 2 Executando Programas em Linguagem de M quina Um programa uma sequ ncia de instru es em uma linguagem a ser executada com o objetivo de realizar uma determinada atividade pr programada O programa em linguagem de m quina fica posto na mem ria principal sendo de responsabilidade da unidade de controle a busca por cada instru o d
30. Introdu o Computa o Introdu o Computa o por Gilberto Farias e Eduardo Santana Medeiros Ed v1 0 POF Er DELATEX Introdu o Computa o Copyright O 2013 UAB Voc tem a liberdade de Compartilhar copiar distribuir e transmitir a obra Remixar criar obras derivadas Sob as seguintes condi es Atribui o Voc deve creditar a obra da forma especificada pelo autor ou licenciante mas n o de maneira que sugira que estes concedem qualquer aval a voc ou ao seu uso da obra Uso n o comercial Voc n o pode usar esta obra para fins comerciais Compartilhamento pela mesma licen a Se voc alterar transformar ou criar em cima desta obra voc poder distribuir a obra resultante apenas sob a mesma licen a ou sob uma licen a similar presente Para maiores informa es consulte http creativecommons org licenses by nc sa 3 0 br Introdu o Computa o li COLLABORATORS TITLE Introdu o Computa o ACTION DATE SIGNATURE WRITTEN BY Gilberto Farias e 20 de maio de 2013 Eduardo Santana Medeiros REVISION HISTORY NUMBER DATE DESCRIPTION NAME v1 0 Mar o 2013 Primeira vers o do livro Gilberto Farias Eduardo Santana Introdu o Computa o IV Sum rio 1 Hist ria dos computadores 1 1 Precursores dos computadores 1 1 1 baco EEEE EREEREER READERS 1 1 3 As rodas dentadas de Pascal Pascaline
31. O S 7 A maioria das pessoas apenas consegue contar at 10 com os seus dedos contudo os enge nheiros inform ticos podem fazer melhor Como Cada dedo conta como um bit valendo 1 se esticado e O se dobrado a Com este m todo at quanto poss vel contar usando ambas as m os b Considere que um dos dedos na extremidade da m o o bit do sinal numa representa o em complemento para 2 Qual a gama de valores que poss vel representar com ambas as m os 8 Efetue as opera es Aritm ticas no sistema bin rio a 1001010105 1010101115 b 1010101105 0101101115 c 1000000005 0000100115 d 1111111115 1010101015 9 Converta para a representa o em Ponto Flutuante com 12 bits 1 sinal 4 expoente 8 mantissa os seguintes valores dados em base 10 apresente todos os c lculos a 12 b 10 75 c 8 25 Introdu o Computa o 49 76 Capitulo 4 Organiza o e Funcionamento do Computa dor OBJETIVOS DO CAP TULO Ao final deste cap tulo voc dever ser capaz de e Descrever a arquitetura geral de um computador e Descrever seus componentes b sicos e suas fun es como por exemplo a UCP a me m ria principal e os dispositivos de E S e Descrever o ciclo de m quina respons vel pela execu o de programas de computador Um sistema de computador integrado pelo seu hardware e seu software O hardware o equipa mento propriamente dito e seus elementos b sicos s
32. VIII VIII 90 LXXXX XC 9 Vi IX 100 C C 10 X X 400 CCCC CD 11 XI XI 500 D D 12 XII XII 1000 M M Figura 3 3 Sistema de Numera o Romano 3 1 4 Sistemas de numera o Indo Ar bico Os hindus que viviam no vale do Rio Indo onde hoje o Paquist o conseguiram desenvolver um sistema de numera o que reunia as diferentes caracter sticas dos antigos sistemas Tratava se de um sistema posicional decimal Posicional porque um mesmo s mbolo representava valores diferentes dependendo da posi o ocupada e decimal porque era utilizado um agrupamento de dez s mbolos Esse sistema posicional decimal criado pelos hindus corresponde ao nosso atual sistema de nu mera o j estudado por voc nas s ries anteriores Por terem sido os rabes os respons veis pela divulga o desse sistema Ele ficou conhecido como sistema de numera o indo ar bico Os dez s mbolos utilizados para representar os n meros denominam se algarismos indo ar bicos S o eles 0 1 2 3 4 5 6 7 8 9 Introdu o Computa o 28 76 Dica Veja na Figura 3 4 28 as principais mudan as ocorridas nos s mbolos indo ar bicos ao longo do tempo Figura 3 4 Sistema de numera o Indo Ar bico Observe que inicialmente os hindus n o utilizavam o zero A cria o de um s mbolo para o nada ou seja o zero foi uma das grandes inven es dos hindus Fonte http www programandoomundo com Sistema 20Indo Arabico htm 3 2 Sistema
33. a mantissa como mostrado na Figura 3 6 41 Sinal Expoente Mantissa Figura 3 6 Divis o de 1 byte nos campos da Nota o de Ponto Flutuante Seja um byte contendo o padr o de bits 01101011 Interpretando este padr o no formato que acaba mos de definir constatamos que o bit de sinal 0 o expoente 110 e a mantissa 1011 Para decodificarmos o byte extra mos primeiro a mantissa e colocamos o ponto bin rio sua es querda obtendo RE E Em seguida extra mos o conte do do campo do expoente e o interpretamos como um inteiro codi ficado em tr s bits pelo m todo de representa o de excesso nos dando o n mero positivo 2 vide Tabela 3 3 40 Isto indica que devemos deslocar o ponto bin rio dois bits direita um expoente negativo codifica um deslocamento para a esquerda do ponto bin rio com a adi o do valor 0 Como resultado temos 10 11 Que representa na Nota o de Ponto Fixo 1x2 0x224 1x2 4 1x2 240 0 5 0 25 2 75 Em seguida notamos que o bit de sinal do nosso exemplo O assim o valor representado positivo 2 75 Introdu o Computa o 42 76 Figura 3 7 V deo sobre o Nota o de Ponto Flutuante http youtu be psyH7eBVLr4 Nota O uso da nota o de excesso para representar o expoente no sistema de Ponto Flutuante se d pela compara o relativa das amplitudes de dois valores consistindo apenas em empare Ihar as suas rep
34. a de verdade onde A e B s o os bits de entrada e S o bit resposta ou bit de sa da Introdu o Computa o 45 76 AND A 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 NOT A D 5 ou A 5 E A 0 1 1 0 Figura 3 8 Representa o gr fica dos operadores l gicos AND OR e NOT com seus valores de entrada e sa da 3 8 4 A soma em um Computador Neste cap tulo aprendemos sobre os sistemas de numera o dando nfase ao sistema bin rio sendo este o sistema adotado pelos computadores Aprendemos como funciona a aritm tica bin ria soma subtra o representa o negativa dos n meros entre outros Em seguida foi apresentada a l gica bin ria e seus tr s comandos b sicos AND OR NOT Mas como um computador soma de fato Primeiramente precisamos abordar as portas l gicas elas s o a base para as outras opera es A constru o de uma porta l gica utiliza conhecimentos de circuitos eletr nicos formados por diodos resist ncias capacitores entre outros que s o abordados em cursos avan ados da Eletr nica Anal gica entretanto seu entendimento foge ao escopo deste livro Dica Para melhores detalhes sobre portas l gicas visite http www dcmm puc rio br cursos eletronica html sld001 htm O importante agora sabermos que existem portas l gicas que seguem a l gica bin ria j apresentada e que estas portas podem ser combinadas formando os Circuitos Digitais A Figura Figura 3 9 46
35. a para a montagem chamado contador de localiza o O contador de localiza o gerencia o endere o da instru o executada e dos itens de dados durante a montagem que geralmente iniciali zada com O zero No In cio do primeiro passo incrementado de acordo com o tamanho de cada Instru o Durante este passo o montador tamb m efetua quaisquer opera es aritm ticas em tempo de monta gem e insere as defini es de todos os r tulos de fun es e vari veis e as constantes em uma tabela chamada Tabela de S mbolos A raz o principal para exigir uma segunda passagem permitir que s mbolos sejam usados no pro grama antes de serem definidos Ap s a primeira passagem o montador ter identificado todos os s mbolos e os colocado na Tabela de S mbolos j durante a segunda passagem gerar c digo de m quina inserindo os identificadores dos s mbolos que agora s o conhecidos Introdu o Computa o 69 76 5 3 4 Liga o e Carregamento A maioria dos programas composto de mais de um procedimento Os compiladores e os montadores geralmente traduzem um procedimento de cada vez colocando a sa da da tradu o em disco Antes que o programa possa rodar todos os seus procedimentos precisam ser localizados e ligados uns aos outros de maneira a formarem um nico c digo 5 3 4 1 Liga o A fun o do ligador coletar procedimentos traduzidos separadamente e lig los uns aos outros para que eles possam ex
36. acaopublica rj gov br oficinas matematica abaco 03 html 1 1 2 Ossos de Napier Em 1614 John Napier l se Neper descobriu os c lculos logaritmos A inven o dos logaritmos surgiu no mundo como um rel mpago Nenhum trabalho pr vio anunciava ou fazia prever a sua chegada Surge isolada e abruptamente no pen samento humano sem que se possa considerar consequ ncia de obras ou de pesquisas anteriores Lord Moulton Napier tamb m inventou o que ficou conhecido por Ossos de Napier Figura 1 4 4 que auxiliavam na realiza o de multiplica es baseando se na teoria de logaritmos Introdu o Computa o 4 76 l A 3 4 5 E GE 8 E SET OF RODS Figura 1 4 Ilustra o dos Ossos de Napier NNE R R JN acl JS e E NESSAS ESE ES SNBAENSSNANSE JA a HA 35 Ea P A E Za A Figura 1 5 Ilustra o da opera o de multiplica o utilizando os ossos de Napier 46785399 x 7 Nota Para conhecer como os Ossos de Napier funcionam consulte http eu thais blogspot com br 2010 08 como funcionam os bastoes de napier html ou http en wikipedia org wiki Napier 27s_bones em ingl s A cria o da R gua de C lculo Figura 1 6 4 em 1632 na Inglaterra foi diretamente influenciada pelos Ossos de Napier Esta r gua chegou a ser utilizada pelos engenheiros da NASA na d cada de 1960 nos programas que levaram o homem Lua Figura 1 6 R gua de C lculo Introdu
37. acionais 3 10 Atividades 1 Efetue as seguintes convers es a Converta para decimal 110101 e 10015 b Converta para octal 1101110111012 e 11111115 c Converta para hexadecimal 1011001011002 d Converta para bin rio FF1F 16 e ABC16 2 Efetue as seguintes convers es a Converta para decimal 1101 015 e 10 015 Ponto Fixo b Converta para octal 110111011101 e 11111115 Converta para hexadecimal 101100101100 Q O Converta para bin rio OxFFIF Hexadecimal 3 Converta o n mero 5 para uma representa o bin ria usando 4 bits com as seguintes repre senta es Em programa o costumamos representar n meros hexadecimais iniciando o com 0x portanto O0xFFIF equivale a FF1F46 Introdu o Computa o 48 76 a Sinal e amplitude b Complemento para 1 c Complemento para 2 d Nota o de Excesso 4 Converta o n mero 33 para uma representa o bin ria usando 6 bits com as seguintes repre senta es a Sinal e amplitude b Complemento para 1 c Complemento para 2 5 Converta para decimal o valor em bin rio usando apenas 5 bits 101012 considerando as se guintes representa es a Inteiro sem sinal b Sinal e amplitude c Complemento de 2 6 Efetue os seguintes c lculos usando aritm tica bin ria de 8 bits em complemento de 2 ou seja primeiro converta o valor para bin rio e depois efetue a opera o aritm tica Aga 12010 70 080 lt 10010 6010 ai Q
38. ada de linguagem fonte e a linguagem para a qual ela ser convertida conhecida como linguagem alvo Tanto a linguagem fonte quanto a linguagem alvo definem n veis de abstra o espec ficos Se existir um processador que possa executar diretamente programas escritos na linguagem fonte n o h necessidade de se traduzir o programa fonte para uma linguagem alvo O m todo de tradu o empregado quando h um processador seja ele implementado em hardware ou por Interpreta o dispon vel para executar programas expressos na linguagem alvo mas n o na linguagem fonte Se a tradu o tiver sido feita corretamente a execu o do programa traduzido vai obter exatamente os mesmos resultados que a execu o do programa fonte obteria se houvesse um processador que o executasse diretamente importante observar a diferen a entre tradu o e interpreta o Na tradu o o programa original expresso na linguagem fonte n o executado diretamente Em vez da execu o direta esse programa precisa ser convertido para um programa equivalente conhecido como programa objeto ou programa bin rio execut vel que ser executado ap s o t rmino do processo de tradu o Logo a tradu o envolve dois passos distintos e Gera o de um programa equivalente na linguagem alvo e Execu o do programa obtido No processo de interpreta o existe apenas um nico passo a execu o do programa original na linguagem fonte Nesta
39. ados e Realize as atividades propostas pelo professor da disciplina Caixas de di logo Durante o texto foram colocadas caixas de di logo nesta se o apresentamos os significados delas Nota Esta caixa utilizada para realizar alguma reflex o O Dica Esta caixa utilizada quando desejamos remeter a materiais complementares E Importante Esta caixa utilizada para chamar aten o sobre algo importante Cuidado Esta caixa utilizada para alertar sobre algo potencialmente perigoso O D Introdu o Computa o IX Aten o Esta caixa utilizada para alertar sobre algo potencialmente perigoso Os significados das caixas s o apenas uma refer ncia podendo ser adaptados conforme as inten es dos autores V deos Os v deos s o apresentados da seguinte forma m m Figura 1 Exemplo de v deo http youtu be uDMs TyySek m Nota Na vers o impressa ir aparecer uma imagem quadriculada Isto o qrcode http pt wikipedia org wiki C C3 B3digo QR contendo o link do v deo Caso voc tenha um celular com acesso a internet poder acionar um programa de leitura de grcode para acessar o v deo Na vers o digital voc poder assistir o v deo clicando diretamente sobre o link ou acio nando o play na vers o em HTML Compreendendo as refer ncias Durante o texto n s podemos ter v rias refer ncias Refer ncias a cap tulos Refer ncias a se es Como
40. cipal na concep o do algoritmo No paradigma imperativo rotinas de controle manipulam os dados que s o elementos passivos J na orienta o a objetos os dados s o considerados objetos auto gerenci veis formados pelos pr prios dados e pelas rotinas respons veis pela manipula o destes dados 5 3 Tradutor e Interpretador Ao receber uma bicicleta no natal Carlinhos precisa ler o manual de instru es e seguir passo a passo as tarefas descritas no documento para poder se divertir com seu presente Podemos dizer que Carlinhos um interpretador dos comandos fornecidos pelo manual de instru es Entretanto seu pai encontrou uma promo o na internet e comprou um produto fabricado na Fran a e o menino ao se deparar com o manual percebeu que o mesmo n o poderia ser interpretado j que n o sabia ler em franc s Para resolver o problema seu pai contratou um tradutor de franc s para portugu s assim este novo manual p de ser interpretado por Carlinhos e enfim sua bicicleta seria montada No computador o problema de Carlinhos se repete diariamente havendo a necessidade de softwares b sicos para traduzir e interpretar os diversos programas dos usu rios escritos em diversas linguagens existentes Os softwares que convertem um programa de usu rio escrito em uma linguagem para outra Introdu o Computa o 65 76 linguagem s o chamados de tradutores A linguagem na qual o programa original est expresso cha m
41. cos e em que ordem eles devem ser executados como por exemplo os passos a serem tomados para calcular as notas que ser o impressas nos boletins dos alunos de uma escola Quando os procedimentos de um algoritmo envolvem o processamento de dados a informa o lida de uma fonte de entrada processada e retornada sob novo valor ap s processamento o que geralmente realizado com o aux lio de um conjunto de instru es e estrutura de dados Figura 5 3 a Aut mato su o do s culo XIX escrevendo um poema Figura 5 4 b Aut mato do filme A Inven o de Hugo Cabret Algoritmos podem ser implementados em circuitos el tricos ou at mesmo em dispositivos mec nicos aut matos vide Figura 5 3 e Figura 5 4 61 Mania dos inventores do s culo XIX os aut ma tos eram m quinas totalmente mec nicas constru das com a capacidade de serem programadas para realizar um conjunto de atividades aut nomas Em 2011 o filme A Inven o de Hugo Cabret tradu o brasileira do cineasta Martin Scorsese traz a hist ria do ilusionista Georges M li s precursor do cinema e um colecionador de aut matos sendo uma de suas m quinas o fio condutor desta hist ria O aut mato espec fico era capaz de desenhar a cena emblem tica do seu filme Viagem Lua Entretanto a maioria dos algoritmos s o desenvolvidos para programas de computador para isto existe uma grande variedade de linguagens de programa o cada uma com carac
42. difica o utilizada pelo seu editor o arquivo poder ter de 3 a 8 bytes 2 2 3 Imagem Uma das formas poss veis para representar imagens trat las como grades de pontos ou pixels Ao atribuir uma cor para cada ponto podemos ent o pintar a imagem Na Figura 2 1 21 n s temos uma Imagem e um recorte em destaque mostrando a grade de pontos com suas respectivas cores Al m das cores dos pontos tamb m necess rio definir o tamanho da grade quantos pontos teremos na horizontal e na vertical tamb m conhecida como resolu o da imagem Sem a resolu o ter amos apenas um linha de pontos coloridos Introdu o Computa o 21 76 Figura 2 1 Fotografia evidenciando a grade de pontos Um sistema popular de representa o de cores o RGB onde reservado um byte para os tons de cada uma das cores prim rias vermelho verde e azul Como um byte permite representar 256 tons de uma cor ao total s o poss veis representar 16 milh es 256x256x256 de cores Nota Atrav s do sistema RGB podemos representar as tr s cores prim rias e as suas derivadas que s o as cores resultantes das misturas das cores prim rias Neste sistema o branco interpretado como sendo a uni o de todas as cores e o preto a aus ncia de cor Este sistema utilizado pelo formato de imagem BMP O sistema RGBA inclui tamb m um canal alpha respons vel por representar a transpar ncia do ponto utilizado pelo formato de imagem PNG
43. dificadas como d gitos num ricos Escrever programas nesta linguagem al m de ser tedioso pass vel de muitos erros que devem ser localizados e corrigidos para finalizar o trabalho Na d cada de 40 pesquisadores desenvolveram um sistema de nota o onde instru es num ricas podem ser representadas por mnem nicos Por exemplo a instru o Mova o conte do do registrador 3 para o registrador 1 expressa numericamente como 4056 usando uma linguagem de m quina J em um sistema mnem nico podemos representar esta instru o como MOV R3 R6 Com o uso do sistema mnem nico programas chamados montadores assemblers em ingl s foram desenvolvidos para converter express es mnem nicas em linguagem de m quina Por isso muitas vezes as linguagens mnem nicas s o conhecidas como linguagem assembly Apesar da melhoria acarretada com a ado o do sistema mnem nico sua programa o ainda traz muitos dissabores aos desenvolvedores A linguagem uma troca direta de comandos b sicos da linguagem de m quina tornando a sua programa o totalmente amarrada a arquitetura da m quina em que o c digo est sendo desenvolvido depend ncia de plataforma E a filosofia de desenvolvi mento era toda baseada em comandos de mais baixo n vel da m quina Fazendo uma analogia com a constru o de uma casa seria necess rio pensar em sua constru o a partir de tijolos canos cimento pedra e etc Embora toda constru o precise
44. do desta forma acessar cada m dulo individualmente na mem ria Esse tipo de carregamento chamado de carregamento com reloca o O carregador simplesmente modifica endere os reloc veis dentro de um nico m dulo de carregamento para que v rios programas passem a residir na mem ria simultaneamente 5 4 Interpretadores O software interpretador um programa de computador que executa instru es escritas em uma lin guagem de programa o Por exemplo as linguagens Basic Prolog Python e Java s o frequente mente interpretados Um interpretador geralmente usa uma das seguintes estrat gias para a execu o do programa executar o c digo fonte diretamente ou traduzir o c digo fonte em alguma eficiente representa o intermedi ria e depois executar este c digo Para isso certos tipos de tradutores transformam uma linguagem fonte em uma linguagem simpli ficada chamada de c digo intermedi rio que pode ser diretamente executado por um programa chamado interpretador N s podemos imaginar o c digo intermedi rio como uma linguagem de m quina de um computador abstrato projetado para executar o c digo fonte Introdu o Computa o 70 76 Interpretadores s o em geral menores que compiladores e facilitam a implementa o de constru es complexas em linguagens de programa o Entretanto o tempo de execu o de um programa interpretado geralmente maior que o tempo de execu o deste mesmo programa com
45. do pelo tear de Jacquard Babbage prop s uma m quina de prop sito gen rico utilizando uma programa o atrav s de cart es perfurados Babbage trouxe um grande avan o intelectual na utiliza o de cart es perfurados enquanto Jacquard utilizava os cart es apenas para acionar ou desativar o funcionamento uma determinada se o da m quina de tear Babbage percebeu que os cart es poderiam ser utilizados para armazenar ideias abs tratas sejam elas Instru es ou n meros e que poderiam ser referenciados posteriormente adontando para sua m quina o conceito de mem ria Figura 1 12 M quina Anal tica e os cart es perfurados Ele percebeu que os cart es perfurados poderiam ser utilizados para guardar n meros sendo utiliza dos como um mecanismo de armazenamento de dados e futuramente poderiam ser referenciados Ele idealizou o que hoje chamamos de unidade de armazenamento e unidade de processamento de dados A principal funcionalidade que a diferenciava das m quinas de calcular era a utiliza o de instru es condicionais A m quina poderia executar fluxos diferentes baseada em condi es que eram avaliadas conforme instru es perfuradas nos cart es Nenhum dos dois projetos de Babbage foram conclu dos a m quina anal tica se fosse constru da teria o tamanho de uma locomotiva Introdu o Computa o 9 76 1 1 5 4 A Primeira programadora A condessa de Lovelace Ada Byron se interessou pela m quina ana
46. du o Computa o 11 76 code tradutor main c Lae oe Vrcecce ca nocd cdo pe ine Main Tore e e Eo A es oeae VSome seja als b Ceuetrar d o 5 neste VU Sblop ca o Gelynl o Dica Caso voc tenha baixado o c digo deste livro basta entrar na pasta a seguir onde estes arquivos j existem livro capitulos code tradutor Passo 2 Usar o Compilador do cc Ele ir processar cada arquivo c e gerar um arquivo s com o c digo Assembly respectivo Linguagem Fonte Linguagem C Linguagem Alvo Assembly Comando cc S main c teste c Passo 3 Usar o montador da aplica o cc Ele ir processar cada arquivo s e gerar um arquivo o com o c digo objeto respectivo Linguagem Fonte Assembly Linguagem Alvo C digo Objeto Comando cc c main s teste s Os passos 2 e 3 geralmente s o realizados juntos para 1sso basta realizar o seguinte co mando cc c main c teste c Gerando assim um arquivo com C digo Objeto 0 para cada arquivo c pulando o c digo assembly c digo intermedi rio Passo 4 Usar o ligador do cc Ele ir processar todos os arquivos o e lig los em um nico arquivo bin rio execut vel Linguagem Fonte C digo Objeto Linguagem Alvo C digo Bin rio Execut vel Introdu o Computa o 72 76 Comando cc main o teste o o exec Nota exec foi o nome dado ao arquivo execut vel gerado pelo ligador do cc logo o usu rio pode escolher qualquer nome para o mesmo Pass
47. e Unidade L gica e Controle Aritm tica ULA Contador de instru o Registrador de instru o Figura 4 3 Componente l gicos da UCP Para o armazenamento e a comunica o entre estas duas unidades a UCP cont m circuitos de arma zenamento chamados de registradores que se assemelham s c lulas de armazenamento da mem ria principal Alguns registradores funcionam como posi es intermedi rias de armazenamento para os dados ma nipulados pela UCP Nestes registradores s o armazenados os dados de entrada para a ULA e ainda proporcionam um local de armazenamento para o resultado das opera es Os dados a serem manipulados pela ULA tem origem na mem ria principal sendo de responsabi lidade da unidade de controle transferir estes dados aos registradores informar ULA sobre quais registradores est o os dados de entrada ativar o circuito da opera o apropriada e informar em que registrador deve guardar o resultado da opera o A transfer ncia desta informa o oriunda da mem ria principal se d atrav s do barramento que respons vel por transmitir padr es de bits entre a UCP os dispositivos de E S e a mem ria principal Nota Q Executar uma simples opera o de soma mais complexo que apenas somar estes n me ros Coordenado pela unidade de controle os registradores intermediam a comunica o da mem ria principal e a ULA Este processo pode ser resumido assim PASSOS 1 Obter da me
48. e arredondamento devido o campo da mantissa ter apenas quatro bits enquanto por quest o de precis o seriam necess rios no m nimo cinco bits 3 7 3 1 Overflow e Underflow Os projetistas do hardware devem encontrar um compromisso entre a mantissa e o expoente dos n meros em ponto flutuante A rela o entre mantissa e expoente expressa do seguinte modo o aumento do n mero de bits reservados mantissa aumenta a precis o do n mero enquanto o aumento do n mero de bits reservados ao expoente aumenta o Intervalo de varia o dos n meros representados Quando o expoente muito grande ou muito pequeno para ser armazenado no espa o reservado para ele ocorrem os fen menos chamados de overflow e underflow respectivamente Outro fen meno o pr prio overflow da mantissa como mostrado acima 3 7 4 Adi o e Subtra o em Ponto Flutuante A adi o e a subtra o de ponto flutuante tratam os expoentes junto com o valor dos operandos logo h a necessidade de equalizar os expoentes e efetuar a opera o sobre a mantissa equalizada e o resultado deve ser normalizado para a representa o utilizada Vamos analisar a seguinte adi o em Ponto Flutuante 01101010 01011100 Processo Mantissa 1 1010 Expoente 110 2 na Nota o de Excesso Mantissa 2 1100 Expoente 101 1 na Nota o de Excesso Equalizando os expoentes temos Introdu o Computa o 44 76 1 0100 0 1100 10 0000 Normalizando
49. e m quina sua decodifica o e o gerenciamento da execu o desta instru o com o aux lio da ULA Ap s o t rmino de cada instru o o processo se repete dando continuidade ao ciclo de m quina este ciclo est ilustrado na Figura 4 5 56 Introdu o Computa o 56 76 1 Busca a pr xima instru o da mem ria principal indicado pelo contador de instru es e incrementa o contador de instru es 3 Execu o da a o solicitada pela instru o 2 Decodifica o do padr o de bits contido no registrador de instru es contida no registrador de instru es NA Figura 4 5 As tr s fases do ciclo de m quina Para o controle deste ciclo a unidade de controle possui dois registradores de prop sito espec fico o contador de instru es e o registrador de instru es No contador de instru es armazenado o endere o de mem ria da pr xima instru o a ser executada assim a unidade de controle fica infor mada sobre a posi o do programa em execu o J o registrador de instru es guarda a instru o de m quina que est em execu o Como ilustrado na Figura 4 5 56 o ciclo de m quina divido em tr s fases Em cada fase a unidade de controle utiliza seus registradores para auxili la na execu o das Instru es Busca a unidade de controle pede para a mem ria principal transferir a instru o contida no endere o de mem ria indicado pelo contador de instru
50. e seu trabalho foi desenvolvida na rea de espionagem e por isso somente em 1975 veio a ser considerado o pai da Ci ncia da Computa o Se poss vel assista ao v deo do Globo Ci ncia sobre a vida e obra de Alan Turing Figura 1 17 Vida e Obra de Alan Turing http youtu be y IuxaHLOvO Introdu o Computa o 12 76 O primeiro bug da hist ria A palavra bug inseto em ingl s empregada atualmente para designar um defeito geral mente de software Mas sua utiliza o com este sentido remonta a esta poca Conta a hist ria que um dia o computador apresentou defeito Ao serem investigadas as causas verificou se que um inseto havia prejudicado seu funcionamento A foto abaixo suposta mente indica a presen a do primeiro bug 0 gr Qu dama sad WA ER Pon sy 0245 er 4 037 YG PPT comb d0o S nk n P F da entes Q ve los MP ng Jj Yl S FASOSF a by PRO 2 Iboyatyis Com de adsob7lns i Rins g 0353 pA spuid qod hh Lelo 70 Panel T bd motha n relay E of buq being found At hoje os insetos costumam invadir os equipamentos eletr nicos portanto observe os atentamente evite deixar comida pr ximo ao computador e n o fique sem utiliz lo por um longo per odo 1 2 2 Segunda Gera o 1955 1964 A segunda gera o de computadores foi marcada pela substitui o da v lvula pelo transistor O tran sistor revolucionou a eletr nica em geral e os computadores em especial El
51. ecutar como uma unidade chamada programa bin rio execut vel Se o compilador ou o montador lesse um conjunto de procedimentos fonte e produzisse diretamente um programa em linguagem de m quina pronto para ser executado bastaria que um nico comando fonte fosse alterado para que todos os procedimentos fonte tivessem que ser novamente traduzidos Usando a t cnica do m dulo objeto separado o nico procedimento a ser novamente traduzido se ria aquele modificado Havendo a necessidade de realizar apenas a etapa de liga o dos m dulos separados novamente sendo esta tarefa mais r pida que a tradu o 5 3 4 2 Carregamento O carregador um programa que coloca um m dulo de carregamento na mem ria principal Concei tualmente a tarefa do carregador n o dif cil Ele deve carregar os v rios segmentos de mem ria com seus valores corretos e inicializar certos registradores tais como o apontador para pilha do sistema respons vel pelo escopo das rotinas que estar o em execu o e o contador de instru es contido no processador com seus valores Iniciais indicando assim onde o programa deve ser iniciado Em Sistemas Operacionais modernos v rios programas est o residentes na mem ria a todo Instante e n o h como o montador ou o ligador saber em quais endere os os m dulos de um programa ir o re sidir O carregador deve relocar estes m dulos durante o carregamento adicionando um deslocamento a todos os endere os permitin
52. egra an loga do complemento de 2 bin ria ou seja primeiro deve ser feito o complemento de 9 para cada n mero individualmente e depois deve ser somado o valor 1 Este m todo permite CPU realizar subtra o e adi o com o mesmo circuito O m todo que a CPU usa para realizar subtra o de pouca import ncia para o uso de microprocessadores 3 5 3 Multiplica o e divis o bin ria Vamos ver agora a tabuada da multiplica o ga 0s g O x 1 0 De RO 1x1 1 Nota O processo id ntico multiplica o entre n meros decimais Exemplo Efetuar 1015 x 1105 Solu o Introdu o Computa o 38 76 1015 gt o x 110 io 000 101 101 11110 3010 No entanto a multiplica o em computadores feita tamb m por um artif cio para multiplicar A por n somamos A com A n 1 vezes Exemplo 4x3 44 4 4 12 E a divis o tamb m pode ser feita por subtra es sucessivas at o resultado zerar ou ficar negativo Este artif cio serve apenas para divis es inteiras Por exemplo 16 45 16 4 12512 4 858 4 454 4 0 O n mero de subtra es indica o resultado da divis o inteira neste caso igual a 4 Nota Q Podemos concluir que qualquer opera o aritm tica pode ser realizada em computadores atrav s de somas diretas ou em complemento Com isso diminui se o n mero de circuitos l gicos de opera es para o processador 3 6 Representa o de N mero Fracion rio no Sistema B
53. er o mais 6 s mbolos al m dos dez algarismos ar bicos Em geral usam se as letras mai sculas de A a F to SADO Te TARG EE A representa o 318109 base 10 significa 31810 3x 10 1x 10 8x 10 Generalizando representamos uma quantidade N qualquer numa dada base b com um n mero tal como segue Np a X b a x b a x bY Abaixo o n mero 35 ser expresso nas bases elencadas acima Decimal 35 3x10 5x10 30 5 3510 Bin rio 35 1x27 0x24 0x22 0x22 1x214 1x22 32 0 0 0 2 1 100011 Octal 35 4x8 3x8 32 3 43g Hexadecimal 35 2x16 3x16 32 3 2346 3 3 Convers es entre bases Nesta se o iremos analisar as regras gerais para converter n meros entre duas bases quaisquer 3 3 1 Convers es entre as bases 2 8e 16 As convers es mais simples s o as que envolvem bases que s o pot ncias entre si Vamos exemplificar com a convers o entre a base 2 e a base 8 Como 23 8 ent o a convers o funciona da seguinte forma Introdu o Computa o 30 76 separando os algarismos de um n mero bin rio base 2 em grupos de tr s algarismos come ando sempre da direita para a esquerda e convertendo cada grupo de tr s algarismos para seu equivalente em octal teremos a representa o do n mero em octal Por exemplo 10101001 010 101 0015 Olhando a tabela de convers o direta temos Tabela 3 1 Convers o direta de bin rio para octal e vice versa B
54. es eram muito menores do que as v lvulas a v cuo e tinham outras vantagens n o exigiam tempo de pr aquecimento con sumiam menos energia geravam menos calor e eram mais r pidos e confi veis No final da d cada de 50 os transistores foram incorporados aos computadores Dica Para saber mais sobre o funcionamento dos transistores consulte htip pt wikipedia org wiki Introdu o Computa o 13 76 Figura 1 18 Circuito com v rios transistores esquerda Compara o do circuito com v lvulas canto superior direito com um circuito composto de transistores Inferior direito Na segunda gera o o conceito de Unidade Central de Procedimento CPU mem ria linguagem de programa o e entrada e sa da foram desenvolvidos O tamanho dos computadores diminuiu con sideravelmente Outro desenvolvimento importante foi a mudan a da linguagem de m quina para a linguagem assembly tamb m conhecida como linguagem simb lica A linguagem assembly possibi lita a utiliza o de mnem nicos para representar as instru es de m quina Figura 1 19 Computadores IBM da segunda gera o Em seguida vieram as linguagens de alto n vel como por exemplo Fortran e Cobol No mesmo per odo surgiu o armazenamento em disco complementando os sistemas de fita magn tica e possibi litando ao usu rio acesso r pido aos dados desejados 1 2 3 Terceira Gera o 1964 1977 A terceira gera o de computadores marcada pela utili
55. esenta o Como um bit s pode assumir dois valores 0 ou 1 s ser poss vel representar exatamente dois estados distintos Na Tabela 2 1 18 n s temos exemplos de como podemos associar significados aos valores do bit Por exemplo em um sistema com trava eletr nica o valor 0 poderia indicar que a porta estava fechada enquanto 1 indicaria que a porta est aberta Em outro sistema que registra o estado civil O poderia representar Solteiro enquanto 1 seria Casado Tabela 2 1 Representa es com um bit Bit Detector de movimento Estado civil Desligada Solteiro i Casado Para representar mais de dois valores distintos n s precisamos de uma sequ ncia de bits maior Na Tabela 2 2 18 n s temos exemplos de representa es utilizando sequ ncias com 2 bits obtendo 4 possibilidades Nesta caso o estado civil Casado passou a ser representado pela sequ ncia 01 Tabela 2 2 Representa es com dois bits Sequencia de Bits Estado civil 00 Desligada Solteiro 01 Ligada com intensidade Casado baixa 10 Ligada com intensidade Divorciado alta Vi vo Nota Observe que o n mero de possibilidades diferentes que podemos representar depende do tamanho da sequ ncia de bits que estamos utilizando mais precisamente atamanho E 2 2 22 4 2 8 24 16 2 32 26 64 2 128 28 256 possibilidades um byte 16 bits 65 535 32 bits 4 294 967 295 64 bits 18 446 44 0 3 709 591 615 As tabelas s
56. esentado por 111001005 com 8 bits Como o bit da esquerda 1 este n mero negativo Invertendo todos os bits 000110115 Somando uma unidade 000110115 1 000111005 2810 Logo 111001005 2810 3 5 Aritm tica Bin ria Como o computador manipula os dados n meros atrav s de uma representa o bin ria iremos es tudar agora a aritm tica do sistema bin rio a mesma usada pela ULA Unidade L gica e Aritm tica dos processadores 3 5 1 Soma e Subtra o Bin ria A tabuada da soma aritm tica em 0 te as um para O digito C ordem superror e vel qm p ra o digito de ordem sup rier HH HO fo RO orere Introdu o Computa o 35 76 Por exemplo Efetuar 011100 0110105 Nota Soma se as posi es da direita para esquerda tal como uma soma decimal Solu o 0 1 11 0 0 vai um 0 11010 1 10110 A tabuada da subtra o aritm tica bin ria Q 0 0 O 1 1 vem um do pr ximo ag 1 1 1 0 Nota Como imposs vel tirar 1 de O o artif cio pedir emprestado 1 da casa de ordem superior ou seja na realidade o que se faz subtrair 12 de 102 e encontramos 1 gt como resultado devendo ent o subtrair 1 do d gito de ordem superior Este algoritmo exatamente o mesmo da subtra o em decimal Por exemplo 1111005 0110105 eN Nota n o esque a subtrai se as colunas da direita para a esquerda
57. eus correspondentes em linguagem de m quina Isto o contr rio da compila o onde um comando em linguagem de alto n vel pode ser traduzido em v rios comandos em linguagem de m quina 5 3 3 1 Por que usar uma Linguagem de Montagem Programar em uma linguagem de montagem n o f cil Al m da dificuldade o desenvolvimento de um programa na linguagem de montagem consome mais tempo do que seu desenvolvimento em uma linguagem de alto n vel A depura o e manuten o dos programas em linguagem de montagem s o mais complicados Nessas condi es por que algu m escolheria programar em uma linguagem de montagem Existem duas raz es que justificam esta op o performance e acesso aos recursos da m quina Um expert na linguagem de montagem pode produzir um c digo menor e muito mais eficiente do que o gerado por um programador usando linguagem de alto n vel Introdu o Computa o 68 76 Em segundo lugar certos procedimentos precisam ter acesso total ao hardware Por exemplo se a m quina alvo tiver um bit para expressar o overflow de opera es aritm ticas um programa em lin guagem de montagem pode testar diretamente este bit coisa que um programa em Java n o pode fazer Al m disso um programa em linguagem de montagem pode executar qualquer uma das instru es do conjunto de instru es da m quina alvo 5 3 3 2 Tarefas do montador Embora a montagem seja um processo simples tedioso e pass vel de erros q
58. hece a hist ria deles Conhecer a hist ria dos computadores Importante pois atrav s do estudo do passado que pode mos compreender e valorizar o presente Ao decorrer do cap tulo veremos exemplos de como ideias simples contribu ram para evolu o da humanidade Mas o que um computador A palavra computador significa aquele que faz c lculos seja ele pessoa ou m quina Sem d vida as pessoas foram os primeiros computadores j que passavam horas realizando contas e mais contas Inclusive veremos mais a adiante que o surgimento de uma simples calculadora causou revolta pois as pessoas tiveram medo de perder seus empregos Mas n o vamos precipitar nossos estudos vamos come ar pelo in cio Nota Daqui e em diante sempre que mencinarmos a palavra computador estaremos nos referindo ao seu sentido usual de m quinas Neste cap tulo iremos conhecer os Instrumentos e m quinas precursores dos computadores e sabere mos em qual momento da hist ria surgiram as m quinas program veis Em seguida estudaremos as gera es de computadores procurando entender a sua evolu o Para ajud lo na leitura que se segue convidamos a assistir estes v deos sobre a Hist ria do Compu tador Introdu o Computa o 2 76 m m sa Figura 1 1 Hist ria do Computador 1 http youtu be Ixgh3 AhiL3E m e m m y Figura 1 2 Hist ria do Computador 2 http youtu be dWiUZsoLDOM m 1 1
59. idades de Entrada Sa da n n a aa a a ACRE Rasa a CANA BESC asma ganda RE 4 2 1 Linguagem de M quina ccccccccl e 4 3 Recapitulando cccclll SER ao Tal PD O O rere 5 Algoritmos Linguagem de Programa o Tradutor e Interpretador 5 1 Algoritmos secs PALEADLASSARILCALG RE RA SE A E 5 1 1 Exemplo de um Algoritmo ccccccccll 5 1 2 Programa de Computador c cccccccccll 5 1 3 Construindo um algoritmo em sala de aulal cccccccccc ADRs aC Rasa aSg Aa 5 2 1 Primeiras gera es essas bnigribe DEDE EE BE RU E dd EE E E E E E GEASS EEEEREEREEEETEEEFERFET Sod TOURO sspvssisrisrsss PSL ERRAR 5 3 2 Processo de Compila o ccccccccc A 5 3 2 1 Passos da compila o cccccccc e O E q a SM OU CR DOF DOE Gi SE GE DD DR NE VE O GD 5 3 3 1 Por que usar uma Linguagem de Montagem cccccc 5 3 3 2 Tarefas do montador ccccccll 5 3 3 3 Montadores de dois passos c ccccccccccc TEE DD E E 33AT LISO ssa saaa DEEM SEMDE REA NA E R Dedo CANCO MIMO cspssaREESRESLECArU LUND 5 4 Interpretadores assaFAEBABAGAIERAALADES ESSES EA 5 5 Usando os Softwares B sicos cccccccccl 5 6 Recapitulandoj ss s se s ds SE E E A AIR PR arere aaaea ra r 6 Indice Remissivo 49 49 50 51 53 53 54 54 55 56 57 58 58 59 6l 62 63 63 64 64 65 66 66 67 67 68 68 69 69 69 69 70 73 73 75 Introdu o Computa o vii Pref cio texto Processo g
60. il de Produ o de Livros O processo gil e este curso tamb m ser A Importante Leia com aten o os objetivos e a descri o do curso antes de se inscrever Quer saber mais Consulte Processo gil de Produ o de Livros vii e Fazer lista f cil e Incluir refer ncias brincadeira de crian a Exemplo de como inserir c digos no texto Fimelpnos Teesta D n luad ao p IoC marn we a o a soma 2 3 oane E VSome Gel a pr CSsnberents 5 en Toupre o Cd nl o P blico alvo O p blico alvo desse livro s o os alunos de Licenciatura em Computa o na modalidade dist ncia Ele foi concebido para ser utilizado numa disciplina de Introdu o Computa o no primeiro semestre do curso Embora ele tenha sido feito para atender aos alunos da Universidade Federal da Para ba o seu uso n o se restringe a esta universidade podendo ser adotado por outras universidades que adotam o sistema UAB Introdu o Computa o viii M todo de Elabora o Este livro foi realizado com Financiamento da CAPES Como voc deve estudar cada capitulo e Leia a vis o geral do cap tulo e Estude os conte dos das se es e Realize as atividades no final do cap tulo e Verifique se voc atingiu os objetivos do cap tulo NA SALA DE AULA DO CURSO e Tire d vidas e discuta sobre as atividades do livro com outros integrantes do curso e Leia materiais complementares eventualmente disponibiliz
61. in rio 3 6 1 Nota o de Ponto Fixo Esta nota o conhecida como Nota o de Ponto Fixo utiliza um ponto que funciona da mesma forma que o ponto da nota o decimal Em outras palavras os d gitos esquerda do ponto representam a parte inteira do valor funcionando da mesma forma que a nota o bin ria E os d gitos direita do ponto representam a parte n o inteira sendo o expoente da base 2 decrementada em 1 a cada casa afastada do ponto Exemplo 10 101 1x2 1x2 parte inteira 1x2 0x2 0x2 parte fracion ria 2 0 5 0 125 2 62510 Introdu o Computa o 39 76 3 6 1 1 Soma e subtra o de n meros fracion rios Para somarmos e subtrarrmos duas representa es bin rias contendo ponto basta alinharmos os pon tos e aplicarmos o mesmo algoritmo de adi o ou subtra o bin ria demonstrada anteriormente Exemplos lOl DE 510 x110 gt 6 000 101 101 11110 30 3 7 Fundamentos da Nota o de Ponto Flutuante A utiliza o da nota o de ponto flutuante muito grande em computadores tanto para c lculos matem ticos com precis o renderiza o de imagens digitais cria o de imagens pelo computador entre outros Os processadores atuais se dedicam muito em aperfei oar a t cnica de seus chips para a aritm tica de ponto flutuante devido demanda de aplicativos gr ficos e jogos 3D que se utilizam muito deste recurso Nesta subse o iremos descrever os f
62. in rio Octal 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 Logo 0102 2g 1012 5g 0015 1g 101010015 251g Vamos agora exemplificar com uma convers o entre as bases 2 e 16 Como 24 16 seguindo o processo anterior basta separarmos em grupos de quatro algarismos e converter cada grupo seguindo a Tabela 3 2 30 Por exemplo 110101011012 0110 1010 11015 Olhando a tabela de convers o direta temos Tabela 3 2 Convers o direta de bin rio para hexadecimal e vice versa Bin rio Hexadecimal Bin rio Hexadecimal 0000 0 1000 8 0001 1 1001 9 0010 2 1010 A 0011 3 1011 B 0100 C orol D Introdu o Computa o 31 76 Tabela 3 2 continued Bin rio Hexadecimal Bin rio Hexadecimal 0110 E 0111 7 1111 F Logo 01102 616 10102 Ass 11015 Di6 11010101101 6ADi6 Vamos agora analisar a convers o inversa Por exemplo Asli A 8 116 Sabemos que A16 10105 816 10005 116 00015 Portanto A8Sl16 1010100000012 3 3 2 Convers o de n meros em uma base b qualquer para a base 10 Vamos lembrar a express o geral j apresentada Np ao X b axbl a X bY A melhor forma de fazer a convers o usando essa express o Como exemplo o n mero 101101 ter calculado seu valor na base 10 1011015 1x2 F02 1x22 1x22 0x2 N 4510 Outros exemplos Converter A546 para a base 10 A516 10x 16 5x16 160 5 16510 Converter 4
63. ion Tape Drive 7770 Audio Response Unit 2311 Disk Storage 2740 Keyboard Printer 1403 Printer Figure 16 Machine to machine communication i ai l IBM Series 360 Figura 1 21 Arquitetura plug vel da s rie 360 da IBM Introdu o Computa o 15 76 A IBM que at ent o liderava o mercado de computadores passou a perder espa o quando concor rentes passaram a vender perif ricos mais baratos e que eram compat veis com sua arquitetura No final desta gera o j come aram a surgir os computadores pessoais Figura 15 Figura 1 22 Computador Apple I Outro evento importante desta poca foi que a IBM passou a separar a cria o de hardware do de senvolvimento de sistemas Iniciando o mercado da ind stria de softwares Isto foi poss vel devido a utiliza o das linguagens de alto n vel nestes computadores Linguagem de alto n vel Uma linguagem considerada de alto n vel quando ela pode representar ideias abstratas de forma simples diferente da linguagem de baixo n vel que representa as pr prias instru es de m quina Exemplo de linguagem de alto n vel xXx y 7 2 Mesmo c digo em baixo n vel assembly load y carrega valor de y mul 7 multiplica valor carregado por 7 add 2 adiciona 2 store x salva o valor do ltimo resultado em x Os c digos load mul adde store s o os mnem nicos que representam as instru es em c digo de m quina bin rio
64. it mais esquerda O para indicar um valor positivo 1 para indicar um valor negativo 10 010105 10 0 11010 3 4 2 Complemento de 1 Na representa o em complemento de 1 invertem se todos os bits de um n mero para representar o seu complementar assim se converte um valor positivo para um negativo e vice versa Quando o bit mais esquerda 0 esse valor positivo se for 1 ent o negativo Exemplo 10010 011001005 com 8 bits Invertendo todos os bits 100110115 10040 Importante O problema desta representa o que existem 2 padr es de bits para o 0 havendo assim desperd cio de representa o 010 000000005 111111115 3 4 3 Complemento de 2 A solu o encontrada consiste em representar os n meros em complemento de 2 Para determinar o negativo de um n mero Inverte se todos os seus bits e soma se uma unidade Exemplo Introdu o Computa o 34 76 Representa o bin ria 101 0 011001015 com 8 bits Invertendo todos os bits 100110105 Somando uma unidade 100110105 1 100110115 101 0 representa o em complemento para 2 tem as seguintes caracter sticas o bit da esquerda indica o sinal possui processo para converter um n mero de positivo para negativo e de negativo para positivo o O tem uma representa o nica todos os bits a O e a gama de valores que poss vel representar com n bits 2 1 2n1 1 Exemplo Qual o n mero repr
65. l tica de Babbage e se comuni cava com ele atrav s de cartas e encontros Ela passou a escrever programas que a m quina poderia ser capaz de executar caso fosse constru da Ela foi a primeira a reconhecer a necessidade de loops e sub rotinas Por esta contribui o Ada ficou reconhecida na hist ria como a primeira programadora Figura 1 13 Ada Lovelace primeira programadora 1 1 6 Linha do tempo baco Ossos de Napier R gua de C lculo Pascaline 300 AC 1614 1632 1642 Calculadora 4 op 1672 Tear de Jacquard 1822 1837 Figura 1 14 Linha do tempo dos precursores dos computadores 1 2 As gera es dos computadores Os computadores s o m quinas capazes de realizar v rios c lculos automaticamente al m de possuir dispositivos de armazenamento e de entrada e sa da Nesta se o iremos ver a evolu o dos computadores at os dias atuais 1 2 1 Primeira Gera o 1946 1954 A primeira gera o dos computadores marcada pela utiliza o de v lvulas A v lvula um tubo de vidro similar a uma l mpada fechada sem ar em seu interior ou seja um ambiente fechado a v cuo e contendo eletrodos cuja finalidade controlar o fluxo de el trons As v lvulas aqueciam bastante e costumavam queimar com facilidade Introdu o Computa o 10 76 DE GASES GRADE AUXILIAR GRADE SUPRESSORA GRADE DE CONTROLE CALEFATOR C TODO MICA Figura 1 15 As v lvulas eram do tamanho de uma l
66. m ria um dos valores da soma e guardar em um registrador 2 Obter da mem ria o outro n mero a ser somado e armazen lo em outro registrador 3 Acionar o circuito de adi o tendo os registradores do passo 1 e 2 como entrada e escolher outro registrador para armazenar o resultado Introdu o Computa o 53 76 4 Armazenar o resultado na mem ria principal 5 Finalizar opera o 4 1 3 Unidades de Entrada Saida Entrada Sa da E S compreende todas as maneiras como o computador se comunica com os usu rios e outras m quinas ou dispositivos Os dispositivos de entrada aceitam dados e instru es do usu rio os dispositivos de sa da retornam os dados processados Os dispositivos de sa da mais comuns s o a tela de v deo conhecida como monitor e a Impressora Os dispositivos de entrada mais conhecidos s o teclado e mouse Os sistemas de multim dia possuem alto falante como sa da e microfone como entrada adicional Os dispositivos de E S trabalham com a mem ria do computador do seguinte modo os dados capta dos pelos dispositivos de entrada s o representados em pulsos el tricos e transmitidos ao computador ali estes pulsos s o convertidos em dados bin rios e armazenados na mem ria do computador No caminho inverso a informa o bin ria transformada em pulso el trico e encaminhada para o dispo sitivo de sa da especialista para trat lo e gerar uma sa da ao usu rio Um dispositivo especial de E S de u
67. m computador o disco r gido HD nele s o armazenados todos os dados que devem persistir num sistema computacional mesmo na aus ncia de energia Todos os programas que n o est o em execu o se encontram no disco seu nico problema o tempo excessivo para a recupera o e escrita de uma Informa o havendo assim a necessidade de se trabalhar com a mem ria vol til mem ria principal mais r pida por m mais cara 4 1 4 O Modelo de Barramento O objetivo do barramento reduzir o n mero de interconex es entre a UCP e seus subsistemas Em lugar de mantermos um caminho de comunica o entre a mem ria e cada um dos dispositivos de entrada e sa da a UCP interconectada com os mesmos via barramento de sistema compartilhado Entrada e Saida EIS dados endere o controle Figura 4 4 Modelo de Barramento do Computador Os componentes s o interconectados ao barramento da forma ilustrada na Figura 4 4 53 A UCP gera endere os que s o colocados no barramento de endere os e a mem ria recebe endere os do mesmo O caminho inverso desta opera o n o poss vel como pode ser observado na figura Introdu o Computa o 54 76 Durante a execu o de um programa cada instru o levada at ULA Unidade L gica e Aritm tica a partir da mem ria uma instru o de cada vez junto com qualquer dado que seja necess rio para execut la A sa da do programa colocada em um dispo
68. mpada Al m disso a programa o era realizada diretamente na linguagem de m quina o que dificultava a programa o e consequentemente despendia muito tempo O armazenamento dos dados era realizado em cart es perfurados que depois passaram a ser feitos em fita magn tica Um dos representantes desta gera o o ENIAC Ele possu a 177 468 v lvulas pesava 30 toneladas tinha 180 m de rea constru da sua velocidade era da ordem de 100 kHz e possuia apenas 200 bits de mem ria RAM Figura 1 16 ENIAC representante da primeira gera o dos computadores Nenhum dos computadores da primeira gera o possu am aplica o comercial eram utilizados para fins bal sticos predi o clim tica c lculos de energia at mica e outros fins cient ficos 1 2 1 1 Alan Turing O pai da Ci ncia da Computa o Alan Mathison Turing 23 de Junho de 1912 7 de Junho de 1954 foi um matem tico l gico criptoanalista e cientista da computa o brit nico Foi influente no desenvolvimento da ci ncia da computa o e proporcionou uma formaliza o do conceito de algoritmo e computa o com a m quina de Turing desempenhando um papel importante na cria o do computador moderno Durante a Segunda Guerra Mundial Turing trabalhou para a intelig ncia brit nica em Bletchley Park num centro especializado em quebra de c digos Por um tempo ele foi chefe de Hut 8 a se o respons vel Introdu o Computa o 11 76 pela c
69. ntervalo 1 100 Por fim os passos em um algoritmo n o podem ser amb guos isto significa que durante a execu o de um algoritmo o estado atual do processamento deve ser suficiente para determinar nica e completamente as a es requeridas por cada passo 5 1 1 Exemplo de um Algoritmo Guilherme recebe alguns convidados que est o visitando a cidade em sua casa e precisa ensin los a chegar igreja para a missa do domingo O anfitri o muito organizado apresenta o mapa de seu bairro como visto na Figuraf5 1 e prop e o seguinte algoritmo para que seus amigos n o se percam nas ruas da cidade Algoritmo Tire o carro da garagem Pegue a rua esquerda Siga em frente Pegue a primeira rua direita Siga em frente Pegue a primeira rua esquerda Siga em frente Pegue a primeira direita Siga em frente Procure a igreja no lado esquerdo Estacione cem frente a Igrc jJd Introdu o Computa o 60 76 Casa de Guilherme A a Casa de Guilherme A Figura 5 2 Rota para igreja descrita no algoritmo Neste exemplo os passos s o descritos em sua ordem de execu o de forma concisa e sem dubiedades em seu entendimento Nota Que tal fazer um algoritmo Como seria o algoritmo para Guilherme ensinar seus amigos a chegarem no banco Introdu o Computa o 61 76 5 1 2 Programa de Computador Um programa de computador essencialmente um algoritmo que diz ao computador os passos espe c fi
70. o 5 Executar o C digo Execut vel No linux para carregar um c digo execut vel e coloc lo em execu o basta seguir o seguinte comando Comando J ERECC Passo 6 Modificar o c digo do arquivo teste c EDITAR A IMPLEMENTA O DA FUN O SUBTRAI Trocar return opl op2 Por return opl op2 Nota O conte do do arquivo teste c ficar igual a code tradutor teste c tinclide teste n Ligue Ss oma Ine OO ane Op X Cerro OPEO IOC Splojcteul nE oO TE Op Tecn Opl F op Passo 7 Compilar apenas o arquivo teste c Comando Co O te sce oc Passo 8 Ligar os c digos objetos novamente Comando cc main o teste o o exec Introdu o Computa o 73 76 Passo 9 Executar o novo C digo Execut vel Observar a diferen a das execu es Comando exec Importante N Podemos observar a utilidade do software ligador pois ap s o Passo 6 n o h necessi dade de recompilar todos os c digos fonte apenas o arquivo teste c gerando assim um novo arquivo objeto teste o que ser ligado ao arquivo main o arquivo n o modificado formando o novo c digo execut vel exec Dica Voc pode assistir esta pr tica no seguinte v deo E e Figura 5 7 Pr tica de softwares b sicos http youtu be dVL3XQFNY80 5 6 Recapitulando Neste cap tulo estudamos o conceito de algoritmo e vimos que o mesmo pode ser implementado por diversos mecanismos mec nicos e el tricos Um algoritmo de
71. o c digo resultante para padr es de tr s bits de compri mento Exemplo O valor 1 equivale a 1015 O valor 1 equivale a 0115 Nota ES No sistema de Nota o de Excesso f cil distinguir entre padr es que representam valo res negativos e positivos pois aqueles que apresentam um O no bit mais significativo s o n meros negativos servindo o mesmo como bit de sinal 3 7 2 Nota o de Ponto Flutuante O primeiro ponto a ser discutido o motivo da cria o da Nota o de Ponto Flutuante j que na se o anterior j t nhamos trabalhado com a representa o de n meros n o inteiros utilizando a Nota o de Ponto Fixo O problema do Ponto Fixo que o tamanho da parte inteira e da fracion ria fica fixo com rela o a seu armazenamento em mem ria logo para n meros com a parte apenas Inteira a regi o alocada para tratar a parte fracion ria ser inutilizada e vice versa Logo para evitar este desperd cio criou se a Nota o de Ponto Flutuante 3 7 2 1 Ponto Flutuante Vamos explicar a nota o de ponto flutuante por meio de um exemplo que emprega somente um byte de mem ria Primeiramente escolhemos o bit mais significativo do byte para ser o bit de sinal do n mero Um 0 neste bit significa que o valor representado n o negativo enquanto o 1 indica que negativo Introdu o Computa o 41 76 Em seguida dividimos os sete bits restantes em dois grupos o campo de expoente e o campo d
72. pilado pois o interpretador deve analisar cada declara o no programa a cada vez que executado e depois executar a a o desejada enquanto que o c digo compilado apenas executa a a o dentro de um contexto fixo anteriormente determinado pela compila o Este tempo no processo de an lise conhecido como overhead interpretativa 5 5 Usando os Softwares B sicos A ferramenta cc um ambiente completo para a compila o montagem e liga o dos programas de usu rio desenvolvidos na linguagem C Nesta pr tica iremos identificar cada passo no processo de transformar um c digo de alto n vel Linguagem C em um arquivo bin rio execut vel Nota Q O cc um compilador da GNU utilizado principalmente no sistem operacional Linux ou de tipo Unix Para execut lo voc precisa abrir um terminal e escrever os comandos indicados nesta pr tica Voc j deve conhec lo da disciplina Introdu o a Programa o Nota Lembre se de os c digos fontes do livro est o dispon veis para download e as intru es de como baix los est o em Baixando os c digos fontes x Passo 1 Escreva em qualquer editor de texto os seguintes textos e salve com o nome sugerido para cada arquivo code tradutor teste h Soma n memnos is email o pi mic on ubera auTO aa e a a a S a a code tradutor teste c ane ad Eeo eN Int somal int op Int op i peca OPL R Ope Toc sulocrea time col tnt cpZ i Fetucn Opl op2 Intro
73. ponto muito importante O somador na ULA sempre soma padr es de bits como se eles fossem n meros bin rios sem sinal a nossa interpreta o destes padr es que decide se n meros com ou sem sinal est o sendo tratados O bom do complemento de dois que os padr es de bits podem ser interpretados de qualquer maneira Isto nos permite trabalhar com n meros com e sem sinal sem requerer diferentes circuitos para cada padr o Introdu o Computa o 37 76 A aritm tica de complemento de dois tamb m simplifica a ULA em outro ponto Todo microproces sador precisa da instru o de subtra o Assim a ULA deve ser capacitada a subtrair um n mero de outro Entretanto se isto necessitar de um circuito de subtra o separado a complexidade e o custo da ULA seriam aumentados Felizmente a aritm tica de complemento de dois permite a ULA realizar opera es de subtra o usando um circuito somador Ou seja a CPU usa o mesmo circuito tanto para soma como para subtra o 3 5 2 1 Subtra o em complemento de dois Uma vez que o complemento de dois foi formado a CPU pode realizar uma subtra o indiretamente pela adi o do complemento de dois do Subtraendo com Minuendo N o esquecendo de ignorar o ltimo transporte da adi o Como exemplo temos a subtra o de 6919 Minuendo por 2610 Subtraendo Jogue fora o transporte final Fica o desafio de descobrir porque o valor 7419 o complemento de 10 do n mero 2610 a r
74. r e software tradutor 7 O compilador e o montador s o softwares tradutores Qual a diferen a entre eles Introdu o Computa o 75 76 Capitulo 6 ndice Remissivo A Imagem Algoritmos Interpretadores an lise l xica an lise sem ntica L an lise sint tica ligador o AND Linguagem de M quina Arquitetura Linguagem de Programa o Arredondamento M ASCII M sica B Mem ria Principal Barramento Montador i no Daanen Multiplica o bin ria base bin ria N base decimal 29 A ERN base octal 29 Negativo B3 Bin rio NOT Bit Nota o de Excesso Byte E O c digo intermedi rio a Calculadora 6 Overiow carregador CISC P CISC Paradigma de Programa o Compila o Ponto Fixo Complemento de 1 33 Ponto Flutuante Complemento de 2 contador de instru es R registrador de instru es D Representa o Decimal Imagem M sica H N meros Hardware Texto Hexadecimal RISC T6 RISC 54 Introdu o Computa o S Sinal Sistema bin rio 6 Sistema de Numera o Software Soma bin ria somador Subtra o bin ria T Texto Tradutores U Underflow Unidade Central de Processamento unidade de controle Unidade de Entrada Unidade de Sa da unidade l gica e aritm tica 76 76
75. resenta es da esquerda para a direita em busca do primeiro bit em que os dois diferem Assim se ambos os bits de sinal forem iguais a 0 o maior dos dois valores aquele que apresentar da esquerda para a direita um 1 no bit em que os padr es diferem logo ao comparar 00101010 gt 00011001 A Conclui se que o primeiro padr o maior que o segundo sem haver a necessidade de decodificar as representa es em Ponto Flutuante tarefa que seria mais custosa Quando os bits de sinal forem iguais a 1 o maior n mero aquele que apresentar o 0 na diferen a dos padr es sempre percorrendo o n mero da esquerda para a direita 3 7 3 Problema com Arredondamento Consideremos o inc modo problema de representar o n mero 2 625 no sistema de ponto flutuante de um byte Primeiramente escrevemos 2 625 em bin rio obtendo 10 101 Entretanto ao copiarmos este c digo no campo da mantissa n o haver espa o suficiente e o ltimo 1 o qual representa a ltima parcela 0 125 se perde como pode ser observado na figura abaixo 2 62510 10 101 Expoente 110 Mantissa 10101 Logo temos Introdu o Computa o 43 76 0 1 1 0 1 0 1 o 1 Expoente bit perdido Mantissa Ao ignorarmos este problema e continuarmos a preencher o campo do expoente e do bit do sinal teremos o padr o de bits 01101010 que representa o valor 2 5 e n o 2 625 o fen meno assim ob servado denominado erro d
76. riptoan lise da frota naval alem Planejou uma s rie de t cnicas para quebrar os c digos ale m es incluindo o m todo da bombe uma m quina eletromec nica que poderia encontrar defini es para a m quina de criptografia alem a Enigma Ap s a guerra trabalhou no Laborat rio Nacional de F sica do Reino Unido onde criou um dos primeiros projetos para um computador de programa armazenado o ACE Aos 24 anos de idade consagrou se com a proje o de uma m quina que de acordo com um sistema formal pudesse fazer opera es computacionais Mostrou como um simples sistema autom tico po deria manipular s mbolos de um sistema de regras pr prias A m quina te rica de Turing pode indicar que sistemas poderosos poderiam ser constru dos Tornou poss vel o processamento de s mbolos li gando a abstra o de sistemas cognitivos e a realidade concreta dos n meros Isto buscado at hoje por pesquisadores de sistemas com Intelig ncia Artificial IA Para comprovar a intelig ncia artifi cial ou n o de um computador Turing desenvolveu um teste que consistia em um operador n o poder diferenciar se as respostas a perguntas elaboradas pelo operador eram vindas ou n o de um compu tador Caso afirmativo o computador poderia ser considerado como dotado de intelig ncia artificial Sua m quina pode ser programada de tal modo que pode imitar qualquer sistema formal A ideia de computabilidade come ou a ser delineada A maior parte d
77. s oo oa a e 29 3 3 1 Convers es entre as bases 2 8 e 16 aana a a a a a a a aa 29 EPRETE 31 3 3 3 Convers o de n meros da base 10 para uma base b qualquer 2 32 Pera e a pe e a ga 33 3 4 1 Sinal e Amplitude Magnitude S M ooa a 33 J42 Complemeontode Ife sses rs ase repedt py RE ER EE E A 33 3 4 3 Complemento de 2 a aaa a 33 3 5 Aritm tica Bin ria aaa A 34 3 5 1 Soma e Subtra o Bin ria aoaaa 34 EREEREER EEEE EERE REEE EE 36 3 5 2 1 Subtra o em complemento de dois a a a aaa aa 37 3 5 3 Multiplica o e divis o bin ria 37 pen REa sda se 38 3 6 1 Nota o de Ponto Fixol ccccccccl 38 3 6 1 1 Soma e subtra o de n meros fracion rios ccccc 39 E SE q e E dO E MR E jr E 39 3 7 1 Nota o de EXCESSO mca sis LESTE LESS 39 aeaaea a REM Sae 40 3 2 l __ Ponto Fl tuantej s s s sse srs E Sa 40 REDES anna 42 3 7 3 1 Overflow e Underflow cccccccc e 43 E E E 43 E E E E E 44 281 Operador NOT ssa a sea anaray enren E e 44 E E Pi E E E E E ssa E 44 3 8 3 Operador OR aaa E O A SO 44 ee ee a a a DR O E 45 E E E E EE E E E E E E E 47 3 10 Atividades aoaaa a a E E E E E a 47 Introdu o Computa o vi 4 Organiza o e Funcionamento do Computador 4 1 Arquitetura de um Computador cccccccll All Mem ria Principal s lt s sa assas ndana d iesin ma nmani 4 1 2 Unidade Central de Processamento UCP a oaoa a 4 1 3 Un
78. s para a constru o de solu es para os problemas portanto afetam todo o processo de desenvolvimento de software A seguir ser o descritos os paradigmas de programa o cl ssicos Paradigma imperativo Descreve a computa o como a es enunciados ou comandos que mudam o estado vari veis de um programa Muito parecido com o comportamento imperativo das linguagens naturais que expressam ordens como visto no algoritmo das rotas Paradigma declarativo Descreve propriedades da solu o desejada n o especificando como o algoritmo em si deve agir Muito popular em linguagens de marca o sendo utilizado na programa o das p gi nas web linguagem HTML e descri o de documentos multim dia como a linguagem Nested Context Language NCL adota pelo padr o brasileiro de TV Digital Paradigma funcional Trata a computa o como uma avalia o de fun es matem ticas Ela enfatiza a aplica o de fun es em contraste da programa o imperativa que enfatiza mudan as no estado do pro grama Neste paradigma ao se pensar em uma fun o simples de calculo de m dias de notas usamos o aux lio de fun es mais primitivas podendo a fun o Media Numeros ser represen tada pela express o Divide Soma Numeros Conta Numeros logo a fun o Divide opera com os resultados das fun es Soma e Conta Paradigma orientado a objeto Neste paradigma diferente do paradigma imperativo os dados passam a ter um papel prin
79. s projetado instru es bem planejadas a adi o de outras instru es mais espec ficas se torna desnecess ria pois uma combina o das instru es b sicas tem o mesmo efeito l gico da instru o espec fica A decis o entre instru es espec ficas ou instru es de uso geral levou a disputa de duas filosofias de projetos para as UCPs A primeira chamada computador com conjunto m nimo de instru es Reduced Instruction Set Computer RISC tem em sua defesa o fato de criar m quinas simples e eficientes O contraponto a filosofia do computador com conjunto de instru es complexas Complex Instruction Set Computer CISC que tem como argumento a facilidade de programa o j que uma nica Instru o capaz de realizar v rias tarefas individuais do RISC As duas filosofias tem entrada no mercado sendo o CISC adotado pela fam lia Pentium da Intel e o RISC adotado pela Apple Computer IBM e Motorola Existem tr s tipos de instru es as Instru es de transfer ncia de dados que realizam c pia de valores entre registradores da UCP e a mem ria principal como por exemplo STORE e LOAD as Instru es l gicas e aritm ticas que ativam os circuitos espec ficos da ULA para a realiza o das opera es como por exemplo ADD SHIFT OR AND e etc e por fim as instru es de controle respons veis por tratar a sequ ncia da execu o do programa sem haver manipula o de seus dados como por exemplo o JUMP e C
80. scrito em um computador atrav s de uma linguagem de programa o S o diversos os n veis de abstra o em cada linguagem cada uma com um objetivo distinto Para que todas estas linguagens possam coexistir no computador foram criados software b sicos com o objetivo de realizar a execu o do algoritmo descrito atrav s destas linguagens de programa o Dentre os softwares b sicos estudados vimos os Tradutores e Interpretadores cada um com seu uso exclusivo Os Tradutores ainda podem ser classificados em Compiladores e Montadores ambos tendo como objetivo traduzir uma linguagem fonte para uma linguagem alvo cujo Interpretador seja imple mentado no computador corrente 5 7 Atividades 1 Quais os ganhos que as linguagens de programa o de alto n vel trazem para os programadores Introdu o Computa o 74 76 2 Descreva 3 diferentes paradigmas de programa o 3 Sistemas Operacionais s o tipos de software b sico Quais os tipos de softwares b sicos exis tentes 4 Marque a alternativa correta Um interpretador a partir de um programa fonte Gera um programa objeto para posterior execu o a b Efetua a tradu o para uma linguagem de mais alto n vel O Interpreta erros de l gica d Executa instru o a instru o sem gerar um programa objeto e N o detecta erros de sintaxe 5 Qual a fun o de uma linguagem de montagem linguagem assembly 6 Quais as diferen as entre software interpretado
81. se o iremos analisar a fun o dos softwares b sicos compilador montador ligador carre gador e interpretador Programas necess rios para que os softwares dos usu rios implementados em alguma linguagem de programa o espec fica possam ser executados em um computador 5 3 1 Tradutores Os tradutores podem ser divididos em dois grupos dependendo da rela o existente entre a linguagem fonte e a linguagem alvo Quando a linguagem fonte for essencialmente uma representa o simb lica para uma linguagem de m quina num rica o tradutor chamado de montador e a linguagem fonte chamada de linguagem de montagem Quando a linguagem fonte for uma linguagem de alto n vel como o caso do Pascal ou do C e a linguagem alvo for uma linguagem de m quina num rica ou uma representa o simb lica desta linguagem linguagem de montagem o tradutor chamado de compilador Podemos observa na Figura todos os passos necess rios para que um algoritmo expresso em uma linguagem de programa o possa ser carregado em mem ria para ser executado por um computador Cada fase possui um conjunto de entradas e sa das de seu processamento Estas fases e seus respectivos softwares envolvidos s o descritas nas se es seguintes Introdu o Computa o 66 76 Programa Bin rio Execut vel Figura 5 6 Etapas do processo de compila o 5 3 2 Processo de Compila o Diferente do processo de montagem de um programa em ling
82. sentativos do mesmo n mero apenas escrito em idiomas e pocas diferentes Este cap tulo debru a se sobre os v rios aspectos dos sistemas de numerais Entraremos em mais detalhes sobre o sistema de numera o bin ria devido a sua utiliza o nos com putadores permitindo assim que o mesmo realize pequenas opera es aritm ticas que servir o como base para grandes opera es como busca ordena o e indexa o de informa o entre outras opera es comuns do dia a dia 3 1 No es de Sistema de Numera o H milhares de anos o modo de vida era muito diferente do atual Os homens primitivos n o tinham necessidade de contar Eles n o compravam n o vendiam portanto n o usavam dinheiro Com o passar dos anos os costumes foram mudando e o homem passou a cultivar a terra a criar animais a construir casas e a comercializar Com isso surgiu a necessidade de contar A vida foi tornando se cada vez mais complexa Surgiram as primeiras aldeias que lentamente foram crescendo tornando se cidades Algumas cidades se desenvolveram dando origem s grandes civiliza es Com o progresso e o alto grau de organiza o das antigas civiliza es a necessidade de aprimorar os processos de contagem e seus registros tornou se fundamental Foram criados ent o s mbolos e regras originando assim os diferentes sistemas de numera o Introdu o Computa o 25 76 3 1 1 Sistema de numera o Eg pcio 3000 a C Um dos
83. sitivo tal como display de v deo ou disco A comunica o entre os tr s componentes UCP mem ria e E S feita sempre pelos barra mentos 4 2 Programando um computador A grande evolu o na arquitetura dos computadores foi a flexibilidade da unidade de controle quanto ao tratamento de instru es Em suas primeiras vers es existiam circuitos f sicos montados na uni dade de controle que realizavam algumas atividades espec ficas e sempre que o usu rio quisesse utilizar outras opera es era necess rio reprogramar fisicamente a fia o do circuito para que a nova opera o pudesse ser executada O leitor deve perceber que esta estrat gia tornaria qualquer programa o invi vel para leigos da rea de circuitos eletr nicos Esta se o apresenta o funcionamento atual da UCP para executar os progra mas do sistema e de usu rios 4 2 1 Linguagem de M quina A unidade de controle moderna projetada para reconhecer instru es codificadas como padr es de bits Ao conjunto de instru es dado o nome de linguagem de m quina e cada uma destas instru es chamada de instru o de m quina Algo que pode surpreender o leitor a pequena quantidade necess ria para a UCP decodificar sendo atrav s da combina o destas poucas instru es bem planejadas que o computador desenvolve ta refas de usos gerais nas mais diversas situa es em nosso cotidiano E a grandeza da Ci ncia da Computa o que se tivermo
84. ter sticas espec ficas que podem facilitar a implementa o de determinados algoritmos ou atender a prop sitos mais gerais definiremos melhor uma linguagem de programa o na Se o 5 2 63 Introdu o Computa o 62 76 5 1 3 Construindo um algoritmo em sala de aula Imagine que o leitor queira ensinar o conceito de algoritmo para um grupo de alunos Uma forma muito interessante de abordar a constru o de um primeiro algoritmo em sala apresentar um jogo que utilize uma sequ ncia de passos l gicos para sua resolu o Pe a para os alunos pensarem em uma solu o e definir comandos em portugu s a serem seguidos pelo seu colega ao lado para resolver o problema atrav s de sua solu o proposta Se o colega obtiver xito na resolu o do jogo seu algoritmo ter sido validado Propomos a abordagem do conhecido jogo imprensadinho onde o jogador tem o objetivo de adi vinhar um n mero escolhido aleatoriamente pelo seu advers rio dentro de um intervalo de valores pr estabelecido O jogador pergunta por qualquer n mero dentro deste intervalo e o advers rio tem que responder se o n mero escolhido foi descoberto ou n o O jogador ainda pode perguntar se o n mero a ser encontrado maior ou menor que o n mero corrente testado O jogo acaba quando o jogador descobre o n mero escolhido Advers rio escolhe n mero 12 1 2 3 4 5 6 7 a 9 10 11 Q2 13 14 15 16 Jogador escolhe o 8 e descobre que o n
85. trias de computadores Hoje em dia queremos que nossos computadores se conectem ao celular a televis o e a muitos outros dispositivos como geladeira e c meras de seguran a 1 3 Recapitulando Estudamos neste cap tulo a hist ria do computador Conhecemos os precursores do computador iniciando pelo o baco que auxiliava a humanidade na realiza o de c lculos Muitos s culos depois Napier descobriu os logaritmos e inventou os ossos de Napier Pascal inventou uma m quina que era capaz de realizar somas e subtra es atrav s de engrenagens Tamb m vimos que no s culo XIX o Tear de Jacquard introduziu o uso de cart es perfurados e mais tarde Charles Babbage adaptou a ideia para o uso em sistemas computacionais embora nunca tenha terminado a constru o de suas m quinas Em seguida conclu mos os estudos do cap tulo aprendendo sobre as gera es dos computadores inicialmente com o uso de velas depois com transistores e finalmente com a utiliza o de circuitos integrados e como eles revolucionaram a fabrica o dos computadores Introdu o Computa o 17 76 Cap tulo 2 Representa o da informa o OBJETIVOS DO CAP TULO Ao final deste cap tulo voc dever ser capaz de e Explicar o que s o bit e byte e a import ncia do ltimo para representa o da informa o e Explicar como n meros textos Imagens e m sicas podem ser expressos atrav s de sequ ncias de bits e Ser capaz de representar
86. uagem de montagem para um programa em linguagem de m quina que bastante simples pois existe um mapeamento direto de um para um entre os comandos em linguagem de montagem e os equivalentes em c digo bin rio o processo de compila o de linguagens muito mais complexo 5 3 2 1 Passos da compila o Considere o comando simples abaixo A B 4 O compilador tem que resolver um n mero grande de tarefas na convers o deste comando em um ou mais comandos em linguagem de montagem 1 Reduzir o texto do programa para s mbolos b sicos da linguagem como identificadores tais como A e B demarca es como o valor constante 4 e delimitadores do programa tais como e Esta parte da compila o chamada de an lise l xica 2 Decodificar os s mbolos para reconhecer a estrutura do programa No comando usado acima por exemplo um programa chamado parser deve reconhecer o comando como sendo uma atri bui o de valores da forma lt Identificador gt lt Express o gt onde lt Express o gt decodificado na forma Introdu o Computa o 67 76 Cldenctricecdos Ci cComspanre Essa tarefa chamada de an lise sint tica 3 An lise de nomes associar os nomes A e B com vari veis do programa e associ los tamb m a posi es de mem ria espec ficas onde essas vari veis ser o armazenadas durante a execu o 4 An lise de tipos determinar os tipos de todos os dados No caso anterior as vari
87. uando feito manual mente Montadores comerciais t m ao menos as seguintes caracter sticas e Permitem ao programador especificar posi o de valores de dados e programas durante a execu o e Permitem que o programador de in cio realize valores de dados na mem ria antes da execu o do programa e Implementam mnem nicos em linguagem de montagem para todas as instru es da m quina e modos de endere amento e traduzem comandos em linguagem de montagem v lidos nos seus equivalentes em linguagem de m quina e Permitem o uso de r tulos simb licos para representar endere os e constantes e Incluem um mecanismo que permite que vari veis sejam definidas em um programa em linguagem de montagem e usadas em outros programas separadamente e Possibilitam a expans o de macros ou seja rotinas semelhantes s fun es em linguagem de alto n vel que podem ser definidas uma vez e ent o instanciadas quantas vezes necess rio 5 3 3 3 Montadores de dois passos A maioria dos montadores leem textos do programa em linguagem de montagem duas vezes e s o chamados de montadores de dois passos O primeiro passo serve para determinar o endere o de todos os itens de dados e instru es de m quina e selecionar quais instru es devem ser geradas para cada Instru o em linguagem de montagem mais ainda n o ger las Os endere os dos itens de dados e instru es s o determinados por meio do uso de um contador de program
88. undamentos da aritm tica de ponto flutuante para isso ser o apresentados alguns conceitos b sicos que juntamente com os conceitos da se o anterior servir o para o entendimento do processo desta aritm tica em um sistema computacional 3 7 1 Nota o de Excesso Para trabalhar com a Nota o Ponto Flutuante precisamos entender a representa o dos n meros Inteiros negativos e n o negativos utilizando a Nota o de Excesso Neste sistema cada n mero codificado como um padr o de bits de comprimento convencionado Para estabelecer um sistema de excesso primeiro escolhemos o comprimento do padr o a ser empre gado em seguida escrevemos todos os diferentes padr es de bits com este comprimento na ordem em que eles seriam gerados se estiv ssemos contando em bin rio Logo observamos que o primeiro desses padr es que representa um d gito 1 como seu bit mais significativo figura aproximadamente no centro da lista Introdu o Computa o 40 76 Tabela 3 3 Nota o de excesso com 3 bits Valor Bin rio Nota o de Excesso Valor Representado 000 4 001 3 010 2 011 1 100 centro 0 101 1 110 2 111 3 Como podemos observar na Tabela 40 escolhemos este padr o para representar o ZERO os padr es que o seguem ser o utilizados para representar 1 2 3 os padr es que o precedem ser o adotados para a representa o dos inteiros negativos 1 2 3 Logo na Tabela 3 3 podemos observar
89. utador 4 Como a unidade de controle gerencia o ciclo de m quina de um computador 5 Descreva o caminho percorrido entre os componentes de um computador para que uma soma de dois operandos tenha seu resultado apresentando em um monitor de v deo Introdu o Computa o 58 76 Capitulo 5 Algoritmos Linguagem de Programa o Tra dutor e Interpretador OBJETIVOS DO CAP TULO Ao final deste cap tulo voc dever ser capaz de e Apresentar o conceito de algoritmos e Apresentar como os algoritmos s o formalizados nos computadores atrav s de lingua gens de programa o e Descrever os softwares b sicos que permitem ao computador entender os algoritmos descritos nas linguagens de programa o 5 1 Algoritmos Historiadores trazem diverg ncias sobre a origem da palavra algoritmo sendo a mais difundida de vido ao seu sobrenome a de Mohamed ben Musa Al Khwarizmi um matem tico persa do s culo IX cujas obras foram traduzidas no ocidente no s culo XII tendo uma delas recebido o nome Algorithmi de numero indorum indiano acerca dos algoritmos que trabalham sobre o sistema de numera o decimal Independente de sua real etimologia a ideia principal contida na palavra refere se descri o sistem tica da maneira de se realizar alguma tarefa Para a Ci ncia da computa o o conceito de algoritmo foi formalizado em 1936 por Alan Turing M quina de Turing e Alonzo Church que formaram as primeiras funda
90. veis A e B e a constante 4 seriam reconhecidas como sendo do tipo int em algumas linguagens As an lises de nome e tipo s o tamb m conhecidas como an lise sem ntica determina o significado dos componentes do programa 5 Mapeamento de a es e gera o de c digo associar comandos do programa com uma sequ n cia em linguagem de montagem apropriada No caso anterior a sequ ncia em linguagem de montagem poderia ser Comando de atribui o WB CO Carrege vari vel B em um registrador ade cela cr gt Calcule o valor da express o sin Cia e a PS Vi saca E aii quail do ne qerl mel mo 6 Existem passos adicionais que o compilador deve tomar tais como alocar vari veis a registra dores usar registradores e quando o programador desejar otimizar o programa O otimizador de c digo independente de m quina um m dulo opcional presente na grande maioria dos compiladores que objetiva melhorar o c digo intermedi rio de modo que o programa objeto produzido ao fim da compila o seja menor ocupe menos espa o de mem ria e ou mais r pido tenha tempo de execu o menor A sa da do otimizador de c digo um novo c digo intermedi rio 5 3 3 Processo de Montagem O processo de traduzir um programa em linguagem de montagem para programa em linguagem de m quina chamado de processo de montagem Este processo muito simples uma vez que existe um mapeamento um para um de comandos em linguagem de montagem para s
91. voc deve estudar cada cap tulo viii Caixas de di logo viii Refer ncias a imagens e tabelas Figura 2 Tabela 1 Introdu o Computa o Nota Na vers o impressa o n mero que aparece entre chaves corresponde ao n mero da p gina onde se entra o conte do referenciado Nas vers es digitais do livro voc poder clicar no link da refer ncia C digos e comandos Os c digos ou comandos s o apresentados com a seguinte forma o ce S main c teste c No exemplo a seguir temos outra apresenta o de c digo fonte Desta vez de um arquivo main c que se encontra dentro do diret rio code tradutor O diret rio tradutor faz refer ncia ao cap tulo onde o c digo ser apresentado code tradutor main c n e e e tincid odo h gt E mata tat a e a soma 5 oee E ema S p snorradto Ss enc sinicio Stlorre o Gelo lo y Baixando os c digos fontes Existem duas formas de acessar os c digos fontes contidos neste livro Acesso on line individual Voc pode acessar individualmente os arquivos deste livro pelo endere o https github com edusantana introducao a computacao livro tree master livro capitulos code Baixando todos os c digos Voc tamb m pode baixar o c digo fonte do livro inteiro que cont m todos os c digos menci onados no livro Existem duas formas de baixar o c digo inteiro atrav s de um arquivo zip ou clonando o reposit rio Arquivo
92. za o dos circuitos integrados feitos de sil cio Tamb m conhecidos como microchips eles eram constru dos integrando um grande n mero de transistores o que possibilitou a constru o de equipamentos menores e mais baratos Introdu o Computa o 14 76 Figura 1 20 Compara o do tamanho do circuito integrado com uma moeda esquerda e um chip direita Mas o diferencial dos circuitos integrados n o era o apenas o tamanho mas o processo de fabrica o que possibilitava a constru o de v rios circuitos simultaneamente facilitando a produ o em massa Este avan o pode ser comparado ao advento da impressa que revolucionou a produ o dos livros Nota Didaticamente os circuitos integrados s o categorizados de acordo com a quantidade de integra o que eles possuem e LSI Large Scale Integration 100 transistores computadores da terceira gera o e VLSI Very Large Scale Integration 1 000 transistores computadores da quarta gera o e ULSI Ultra Large Scale Integration milh es de transistores computadores da quinta gera o Um computador que representa esta gera o foi o IBM s System 360 voltado para o setor comercial e cient fico Ele possu a uma arquitetura plug vel na qual o cliente poderia substituir as pe as que dessem defeitos Al m disso um conjunto de perif ricos eram vendidos conforme a necessidade do cliente 2540 Card Read Punch 2265 Data Entry amp Display Stat
Download Pdf Manuals
Related Search
Related Contents
Le Carnet de battue interactif Mode d`emploi Manuel d`utilisation Grundig 32 VLE 7130 BF Flat Panel Television User Manual User`s Manual Télécharger "Détecteur de fumée" (SAVE THESE INSTRUCTIONS) Progress Lighting P3976-20 Installation Guide PDFファイル ShIP Installation Manual Copyright © All rights reserved.
Failed to retrieve file