Você está na página 1de 56

Algoritmos e Estruturas de Dados I IEC012

Estrutura do Computador

Prof. Raimundo Barreto


rbarreto@icomp.ufam.edu.br www.icomp.ufam.edu.br/rbarreto/aed1.html

Introduo

O que diferencia o computador de outras mquinas ou utenslios? R: As outras mquinas tm uma finalidade bem especfica. Qual a finalidade de um liquidificador? Quantos botes so necessrios?

Introduo

O computador tem mltiplas finalidades e funes: pode ser utilizado para fazer clculos, para escrever textos, para armazenar e organizar os dados cadastrais dos clientes de uma loja, etc.

Introduo

Para operar uma mquina com essa Para operar uma mquina com essa caracterstica, no bastam alguns caracterstica, no bastam alguns botes. preciso utilizar um programa, botes. preciso utilizar um programa, que permita ao usurio da mquina que permita ao usurio da mquina especificar o que ele deseja. especificar o que ele deseja.

Computador

um conjunto de componentes eletrnicos capazes de efetuar diversos tipos de tratamento automtico de informaes ou processamento de dados. Dividido em hardware e software

Hardware

a parte fsica do computador, ou seja, o conjunto dos componentes eltricos, eletrnicos, eletromagnticos e mecnicos que se comunicam atravs de barramentos.

Software

a parte lgica do computador, o conjunto de instrues ou programas que direcionam o hardware para a soluo de problemas. Software bsico e aplicativos

Dispositivos de Entrada e Sada

Entrada: teclado, mouse, cmeras, microfone, scanner, joystick, leitora de cdigo de barras, Sada: monitor de vdeo, impressora, alto-falante, modem, ...

Memrias

RAM (Random Access Memory)


Leitura e escrita Acesso rpido Acesso aleatrio Volatidade

ROM (Read Only Memory)


Somente de leitura No-voltil Disco rgido

Memria Auxiliar

Estrutura de um Computador

Arquitetura de Von Neumann

Comparao com ser humano

Representao da Informao

Qual a melhor forma de representar os dados dentro do computador? Sistema decimal: 10 smbolos (algarismos 0 a 9): a forma usual que os humanos utilizam para representar dados. Para utilizar um sistema decimal, os circuitos precisariam estar aptos a distinguir, sem erro, 10 nveis diferentes de tenso eltrica, o que muito difcil e/ou muito caro. O sistema mais seguro o que trabalha com o menor nmero possvel de nveis de tenso: dois nveis. Isto implica utilizar um sistema de numerao binrio.

Representao da Informao

A unidade bsica da informao o bit (binary digit) que usada na Computao e na Teoria da Informao. O bit s pode assumir dois valores: 0 (desligado) ou 1 (ligado). Um conjunto de bits pode representar qualquer quantidade de informaes:

1 bit - duas informaes : 0 1 2 bits - quatro informaes: 00 01 10 11 3 bits - oito informaes: 000 001 010 011 100 101 110 111 n bits - 2n informaes

Representao da Informao

Um conjunto muito til o de 8 bits, denominado de byte que pode representar 256 informaes. Em geral, os bytes so agrupados em mltiplos, da seguinte forma: Kilobyte = 1024 bytes ( 1024 = 210 ) Megabyte = 1024 kilobytes Gigabyte = 1024 megabytes .

Representao da Informao

Todos os caracteres, algarismos e smbolos utilizados habitualmente podem ser armazenados em bytes, organizando-se uma tabela. O padro mais conhecido o cdigo ASCII (American Standard Code for Information Interchange).

Representao da Informao

Sistema de Numerao

Quando enfrentamos situaes em que queremos saber quantos nossa primeira atitude contar.

Histrico da informao

Os egpcios representavam sua linguagem atravs dos hierglifos gravados em papiros. Os chineses gravavam mensagens nos cascos de tartarugas. Os incas usavam fios com ns (os quipos).

A medida em que a complexidade dos clculos aumentam, surge a necessidade de um instrumento, para auxiliar o raciocnio matemtico. Surge assim, h cerca de 2.500 anos, o BACO.

Blaise Pascal
Pascaline

1642 - Apenas conseguia fazer diretamente operaes de adio e subtrao. As operaes de multiplicao e diviso podiam ser feitas por repetio.

John Napier
Ossos de Napier

Em 1617, Napier inventou uma srie de cilindros denominados "Ossos de Napier" (ou Bastes de Napier) que continham uma srie de quadrados com nmeros . Ao ajustar alguns quadrados junto a outros, podia-se multiplicar e dividir os nmeros.

Wilhelm Schickard
Relgio Contador

1623 - A calculadora mecnica combinava o conceito dos "Bastes" de Napier com um adicionador que possibilitava multiplicar nmeros de 6 dgitos. Tinha dispositivos que permitiam a memorizao de resultados dos clculos intermedirios e um sino que soava quando os clculos excediam a capacidade.

William Oughtred
Rgua de Clculo

1623 - A calculadora mecnica combinava o conceito dos "Bastes" de Napier com um adicionador que possibilitava multiplicar nmeros de 6 dgitos. Tinha dispositivos que permitiam a memorizao de resultados dos clculos intermedirios e um sino que soava quando os clculos excediam a capacidade.

Charles Babbage
Mquina Diferencial

Inglaterra (1822): Era capaz de resolver equaes polinmicas atravs de diferenas entre nmeros, e assim, de efetuar os clculos necessrios para construir tabelas de logaritmos. Tinha a capacidade de receber dados, process-los, armazen-los e exibilos. Babbage ficou conhecido como o pai do computador. Devido a problemas de engenharia o projeto do Engenho Analtico jamais foi concludo.

Konrad Zuse
Z1

Em 1938 Konrad Zuse (engenheiro alemo ) terminou a construo do Z1, que utilizava o mecanismo binrio, uma memria e uma parte controladora, com uma memria de 64 palavras, onde cada palavra continha 22 bits, e entrada de dados feita por fita perfurada. Era assim a primeira mquina programvel binria do mundo.

Hermann Hollerith
Carto Perfurado

1890: Utilizando o princpio descoberto por Jacquard para comando automtico de teares, Hermann Hollerith - funcionrio do United States Census Bureau - inventou, em 1880, uma mquina para realizar as operaes de recenseamento da populao. A mquina fazia a leitura de cartes de papel perfurados em cdigo BCD (Binary Coded Decimal) e efetuava contagens da informao. A fbrica de Hollerith depois chamou-se de IBM.

Programao do ENIAC

Tabuada na ponta dos dedos

Essa tcnica conhecida como a tabuada acima dos cinco. Qual o valor de 7 x 8? 7 = 5 + 2, portanto em uma das mos feche dois dedos, e deixe os trs levantados;

8 = 5 + 3, portanto na outra mo feche trs dedos e deixe os dois levantados.

Tabuada na ponta dos dedos

Temos 5 dedos fechados. Isto corresponde a 5 dezenas = 50. Pegue os dedos levantados de cada uma das mos e multiplique-os: 3 x 2 = 6 Agora some 50 + 6 = 56. Pronto, 7 x 8 = 56.

Agrupamentos
Voc j reparou que, quando precisamos contar uma grande quantidade de coisas, vamos separando os objetos em montes ou em grupos, pois isto facilita a contagem?

Sistema de Numerao Egipcio

Sistema de Numerao Romano

Sistema de Numerao Maia

Sistema de Numerao Indo-Arbico

Diversas hipteses existem sobre a concepo dos algarismos arbicos.

Base de um Sistema de Numerao


A base de um sistema a quantidade de algarismos disponvel na representao. A base 10 hoje a mais usualmente empregada, embora no seja a nica utilizada. No comrcio pedimos uma dzia de rosas ou uma grosa de parafusos (base 12) e tambm marcamos o tempo em minutos (base 60). Os computadores utilizam a base 2 (sistema binrio) e os programadores, por facilidade, usam em geral uma base que seja uma potncia de 2, tal como 24 (sistema hexadecimal) ou eventualmente ainda 23 (sistema octal).

Sistema Decimal
Forma Posicional 123,456 = 100 + 20 + 3 + 0,4 + 0,005 + 0,0006 Forma Polinomial 123,456 = 1x102 + 2x101 + 3x100 + 4x10-1 + 5x10-2 + 6x10-3 Onde 10 a base do sistema

Sistema Binrio

No sistema binrio (ou de base 2) s existe dois nmeros, ou seja, zero e um (0 e 1). Foi documentado por Gottfried Leibniz no sculo XVIII em seu artigo Explication de l'Arithmtique Binaire.

Sistema Binrio

Em 1854, o matemtico britnico George Boole detalhou um sistema lgico conhecido como lgebra Booleana, essencial para o desenvolvimento de circuitos eletrnicos. Em 1937, Claude Shannon defendeu sua tese que implementava lgebra Booleana e aritmtica binria utilizando circuitos eltricos. A tese de Shannon fundou o projeto de circuitos digitais.

Sistema Binrio

Os computadores modernos utilizam apenas o sistema binrio. Essa deciso de projeto deve-se maior facilidade de representao interna no computador, que obtida atravs de dois diferentes nveis de tenso. Havendo apenas dois algarismos, portanto dgitos binrios, o elemento mnimo de informao nos computadores foi apelidado de bit (uma contrao do ingls binary digit).

Sistema Binrio

Sistema Binrio

A representao binria perfeitamente adequada para utilizao pelos computadores. No entanto, um nmero representado em binrio apresenta muitos bits, ficando longo e passvel de erros quando manipulado por seres humanos.

Sistema Binrio

Sistema Binrio

0x23 0 3

+ +

0x22 0

+ +

1x21 2

+ +

1x20 1

Sistema Binrio

1x23 8 10

+ +

0x22 0

+ +

1x21 2

+ +

0x20 0

Sistema Binrio

1x23 8 15

+ +

1x22 4

+ +

1x21 2

+ +

1x20 1

Outras Bases Comuns

Converso de Decimal para Binrio


Para transformar um nmero decimal inteiro em um nmero em uma base binria basta fazer divises inteiras sucessivas do nmero por 2 e, depois, reunir os restos em ordem inversa. Por exemplo, qual ser a representao de 1310 na base 2? Executando divises sucessivas at encontrar quociente 0, obtemos:

Assim, tomando os restos das divises em ordem contrria a que eles aparecem conclumos que: 1310 = 11012

Converso de Binrio para Decimal

Qual o valor de 1101 na base 10? Para tanto, basta calcular: N10 = 1x23 + 1x22 + 0x21 + 1x20 N10 = 8 + 4 + 0 + 1 N10 = 13

Mtodo do Complemento de Dois


Se o nmero for positivo, mantenha-se como est. Se o nmero for negativo, transforma-se para o complemento de um e soma-se um. Por exemplo: +410 representado por 000001002. Como seria a representao de -410? N=000001002 C1=111110112 C1+1=111111002.

Mtodo do Complemento de Dois


Suponha que cada inteiro em nosso computador imaginrio tenha um total de 4 bits. Uma varivel inteira poder assumir 24 = 16 valores diferentes. A conveno complemento-de-dois usa esses 16 valores para representar os nmeros, de -23 at +23-1 8, 7, 6, 5, 4, 3, 2, 1, +0, +1, +2, +3, +4, +5, +6, +7 .

Mtodo do Complemento de Dois


8 7 6 5 4 3 2 1 +0 +1 +2 +3 +4 +5 +6 +7 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111

Mtodo do Complemento de Dois


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

7 + 1 = -8 (e no 8) 7 + 3 = -6 (e no 10) 6 + 6 = -4 (e no 12)

Mtodo do Complemento de Dois

Em todas estas somas ocorre overflow (= transbordamento). Isso no constitui um erro (mas tem que ser previsto) e o computador continua trabalhando normalmente.

Mtodo do Complemento de Dois Adio


11

0+0=0 0+1=1 1+0=1 1 + 1 = 0 (e vai 1)

110 111 1101

Mtodo do Complemento de Dois Subtrao


Com o uso do mtodo C2, s h adio. Ex.: A = 1011 (decimal 11) e B = 0110 (decimal 6). A B = 1011 + C2(0110) = 1011 + 1010 = 10101, Que indica que o resultado positivo e o valor igual a 5 (0101). B A = 0110 + C2(1011) = 0110 + 0101 = 01011, Como o resultado negativo, C2(01011) = 1011, resultando no valor igual a -5 (1011).

Questes

Você também pode gostar