45
Prof. Erwin Alexander Uhlmann 02/08/2010 C IÊNCIA DA C OMPUTAÇÃO Computação Básica Ao término deste curso, espera-se que o aluno seja capaz de compreender o avanço da Informática desde o seu surgimento até os dias atuais, selecionar a melhor configuração de Hardware/software necessários a uma determinada demanda no meio profissional, utilizar adequadamente os recursos de software e hardware dos computadores, identificar e utilizar adequadamente os principais softwares aplicativos na resolução de problemas analisando seu funcionamento.

Ciência da Computação - institutosiegen.com.br · 02/08/2010 CIÊNCIA DA COMPUTAÇÃO Computação Básica Ao término deste curso, espera-se que o aluno seja capaz de ... Arquitetura

Embed Size (px)

Citation preview

Prof. Erwin Alexander Uhlmann

02/08/2010

CIÊNCIA DA COMPUTAÇÃO

Computação Básica

Ao término deste curso, espera-se que o aluno seja capaz de

compreender o avanço da Informática desde o seu surgimento até

os dias atuais, selecionar a melhor configuração de

Hardware/software necessários a uma determinada demanda no

meio profissional, utilizar adequadamente os recursos de software e

hardware dos computadores, identificar e utilizar adequadamente os

principais softwares aplicativos na resolução de problemas

analisando seu funcionamento.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 1

CIÊNCIA DA COMPUTAÇÃO

SUMÁRIO 1. EMENTA: ....................................................................................................................................... 3

2. OBJETIVOS: .................................................................................................................................. 3

3. COMPETÊNCIAS e HABILIDADES: ............................................................................................ 3

4. CONTEÚDO PROGRAMÁTICO: ................................................................................................ 3

5. Conceitos básicos sobre o hardware ................................................................................... 3

6. Conceitos básicos sobre o peopleware .............................................................................. 3

7. Conceitos básicos sobre o software ..................................................................................... 4

8. CRONOGRAMA DAS ATIVIDADES: ......................................................................................... 4

9. BIBLIOGRAFIA: ............................................................................................................................. 5

BÁSICA: ............................................................................................................................................. 5

COMPLEMENTAR:............................................................................................................................ 5

SUPLEMENTAR: ................................................................................................................................. 5

Aula 1 .................................................................................................................................................... 6

O Computador ............................................................................................................................... 6

Número e Numeral......................................................................................................................... 6

Método de multiplicação dos romanos. .............................................................................. 7

Ábaco ........................................................................................................................................... 7

Aula 2 .................................................................................................................................................. 20

Sistemas de numeração ............................................................................................................. 20

Números Decimais.................................................................................................................... 20

Sistema binário .......................................................................................................................... 20

Sistema Hexadecimal .............................................................................................................. 21

Sistema Octal ............................................................................................................................ 22

Cálculos com binários ................................................................................................................. 22

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 2

Soma ........................................................................................................................................... 22

Subtração................................................................................................................................... 23

Multiplicação............................................................................................................................. 23

Divisão ......................................................................................................................................... 23

Aula 3 .................................................................................................................................................. 25

Conversão de bases .................................................................................................................... 25

Aula 4 .................................................................................................................................................. 27

Sistema Hexadecimal .................................................................................................................. 27

Sistema Octal ................................................................................................................................ 27

bit, Byte e a Palavra..................................................................................................................... 28

Codificação EBCDIC ............................................................................................................... 28

Codificação BCD ..................................................................................................................... 28

Codificação Hexadecimal .................................................................................................... 29

Codificação ASCII .................................................................................................................... 29

Aula 5 .................................................................................................................................................. 31

Eletrica ... eletrônica – circuitos elétricos ................................................................................ 31

Aula 6 .................................................................................................................................................. 34

Portas lógicas ................................................................................................................................ 34

Aula 7 .................................................................................................. Erro! Indicador não definido.

Memória Principal ........................................................................................................................ 38

Organização da Memória ......................................................................................................... 38

Aula 7 .................................................................................................................................................. 38

Arquitetura de Computadores ................................................................................................. 38

Aula 8 .................................................................................................................................................. 41

Linguagem de Máquina................................................................................................................. 41

Padrões de Instrução .................................................................................................................. 41

Instruções Aritméticas/Lógicas .............................................................................................. 41

Controle ...................................................................................................................................... 42

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 3

Computação Básica

1. EMENTA: Ao aluno desta disciplina será apresentada uma visão ampla do papel e potencial da

informática para o futuro profissional em Ciência da Computação; conhecimentos

práticos do computador e seu funcionamento; noções de Internet, pesquisas e

criação de páginas bem como de aplicativos como Planilhas Eletrônicas e

Processadores de Texto.

2. OBJETIVOS: Ao término deste curso, espera-se que o aluno seja capaz de:

Compreender o avanço da Informática desde o seu surgimento até os dias

atuais.

Selecionar a melhor configuração de Hardware/software necessários a uma

determinada demanda no meio profissional.

Utilizar adequadamente os recursos de software e hardware dos computa-

dores.

Identificar e utilizar adequadamente os principais softwares aplicativos na

resolução de problemas analisando seu funcionamento.

3. COMPETÊNCIAS E HABILIDADES: Capacitar o aluno a escolher entre as tecnologias, compreender plenamente seu

funcionamento seja de hardware ou de software, as interferências dele na sociedade

e suas potencialidades.

4. CONTEÚDO PROGRAMÁTICO: Informática - Evolução e Conceitos

Processamento de Dados: Componentes / Plataformas

Conceito e Evolução da Informática: Conhecimento x Informação

Componentes da Informática (Hardware, Peopleware e Software)

Onde e por que utilizar o computador

5. CONCEITOS BÁSICOS SOBRE O HARDWARE Arquitetura, componentes e periféricos

Memórias do Computador e CPU

Configurações e Padrões atuais

Principais opções de mercado

Tendências das evoluções

6. CONCEITOS BÁSICOS SOBRE O PEOPLEWARE Descrição de cargos dos profissionais de informática

A importância do usuário no contexto da Informática

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 4

7. CONCEITOS BÁSICOS SOBRE O SOFTWARE Tipos e níveis de Software

Sistema Operacional, Linguagens, Aplicativos e Utilitários

Estrutura de arquivos, documentação e Banco de dados

Prática no Pacote MS Office da Microsoft

8. CRONOGRAMA DAS ATIVIDADES:

Aula TP Conteúdo/Atividades Estratégia de Aula /

Recursos

1 4 Apresentação do Programa e

Metodologia de Ensino / Aprendizagem

Aula expositiva em sala de

aula.

06/08

2 4 (Informática Básica – ALCADE, GARCIA,

PEÑUELAS – Pearson – cap. 1.1 ao 1.5)

Classificação das gerações de

computadores, história da evolução do

computador, desde a criação dos

números, métodos de cálculos, tabelas

e réguas de cálculos, máquinas de

cálcular (Pasqualina, Hollerith,

Aula expositiva em sala de

aula.

13/08

3 4 (cap. 1.6 ao 1.7) pag. 234

Classificação dos computadores

criação do conceito de digital, binário,

liga/desliga, computadores de 1ª, 2ª, 3ª,

4ª e a controversa 5ª geração modernos

quanto ao uso e quanto à sua

construção.

Aula expositiva em sala de

aula.

20/08

4 4 Conceitos básicos sobre Software e

Peopleware

Aula expositiva em sala de

aula.

27/08

5 4 Atividade em sala de assimilação do

conteúdo

Aula expositiva em sala de

aula.

03/09

6 4 (Informática Básica – ALCADE, GARCIA,

PEÑUELAS – Pearson – cap. 3.1 ao 3.2)

Conceitos e componentes básicos de

um computador: Memória, CPU e I/O.

Aula expositiva em sala de

aula.

10/09

7 4 (Informática Básica – ALCADE, GARCIA,

PEÑUELAS – Pearson – cap. 2.1 ao 2.8)

Arquitetura de Computadores:

Conceitos de bit, byte e unidades de

medida e velocidade ex: GHz, MHz, GB,

MB...

Aula expositiva em sala de

aula.

17/09

8 4 Avaliação B1 24/09

9 4 Sistemas de Numeração: Conversão

Binário – Decimal

Aula expositiva em sala de

aula.

01/10

10 4 Sistemas de Numeração: Conversão

Octal – Hexadecimal

Aula expositiva em sala de

aula.

08/10

11 4 Feriado Aula expositiva em sala de

aula.

15/10

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 5

12 4 (Informática Básica – ALCADE, GARCIA,

PEÑUELAS – Pearson – cap. 3.3 ao 3.9?)

Operações: com binários - adição e

subtração

Aula expositiva em sala de

aula.

22/10

13 4 Operações: com binários -

multiplicação e divisão

Aula expositiva em sala de

aula.

29/10

14 4 Exercícios de fixação contemplando as

conversões

Aula expositiva em sala de

aula.

05/11

15 4 Prática: Tipos softwares: Aplicativos e

Utilitários

Aula expositiva em sala de

aula.

12/11

16 4 Prática: Primeiras noções em Word -

Operações Básicas, Selecionando o

Texto, Estilos e Cores, Efeitos no Texto,

Espaçamento de Caracteres,

Alterações de Fontes , Aplicando o

Recuo Alinhamento de Texto, Margens e

Recuos, Espaço entre Parágrafos e

Linhas, Tabulação.

19/11

17 4 Avaliação B2 26/11

18 4 Avaliação Substitutiva 03/12

19 4 Exames Finais 10/12

20 4 17/12

9. BIBLIOGRAFIA:

BÁSICA: 1. MANZANO, Andre Luiz N. G;

MANZANO, Maria Izabel N. G. Estudo dirigido: 2. informática básica. 4. ed. São Paulo:

Erica, 2002. 3. PERSPECTION, Inc. Microsoft Word

Versão 2002. São Paulo: Makron Books, 2002. 4. CAPRON, H. L.; JOHNSON, J. A.

Introdução a Informática - 8ª Ed. São Paulo: Pearson Education, 2004.

COMPLEMENTAR: 1. MANZANO, Andre Luiz N. G;

MANZANO, Maria Izabel N. G. Estudo dirigido: 2. informática básica. 4. ed. São Paulo:

Erica, 2002.

SUPLEMENTAR: 1. PERSPECTION, Inc. Microsoft Word

Versão 2002. São Paulo: Makron Books, 2002. 2. CAPRON, H. L.; JOHNSON, J. A.

Introdução a Informática - 8ª Ed. São Paulo: Pearson Education, 2004.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 6

AULA 1

O Computador Stonehenge – auxílio no cálculo do solstício, equinócio, luas. - Menires de 3 a 6m de

altura feito em cerca de 2.600 a.C. - 1.700 a.C

Segundo o dicionário Priberam:

“adj. e s. m.,

que ou aquele que faz cômputos, que calcula;

s. m.,

Inform.,

aparelho concebido para desempenhar cálculos e operações lógicas com facilidade,

rapidez e fiabilidade, segundo instruções (programas) nele introduzidas, constituído, de

um modo geral, por unidade(s) de introdução (input), unidade de processamento

central (C.P.U. ), unidade de armazenamento principal permanente, memória

temporária e unidade(s) de saída (output);

- pessoal: tipo de computador concebido para ser usado por um utilizador de cada

vez, baseado num microprocessador (pequeno circuito integrado) que desempenha

as funções de unidade de processamento central;

microcomputador.”

Número e Numeral A diferença entre número e numeral é que erroneamente utilizamos a expressão para

dizer o “número 10”, quando na verdade deveríamos utilizar a expressão “ o numeral

10” ou “numeral que expressa graficamente o número 10”.

Número é o valor absoluto e numeral é o grafismo utilizado para representar um

número.

O 1º grande passo rumo à ciência foi a concepção dos números. É na verdade a idéia

comum de comparação de quantidades entre dois conjuntos.

Exemplo:

Existem tantos cavalos quantas pedras.

Existe tanta água na moringa quanto no jarro.

Passou-se tanto tempo quanto uma viajem de cavalo para a babilônia.

A evolução natural foi à criação de comparativos.

Exemplo:

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 7

A pedra grande equivale a 10 ovelhas e a pequena à uma.

Cada dedo equivale a uma ovelha e cada mão equivale a 5.

Primeiros métodos de cálculos

Método de multiplicação dos romanos.

Os romanos decoravam a tabuada apenas até o 5, do 6 em diante, utilizavam-se as

mãos no auxílio aos cálculos.

Cada mão vale 5, para a diferença, levantam-se os dedos necessários, depois soma-

se os dedos levantados e multiplica-se os abaixados.

Exemplo:

7 x 8

Levante dois dedos de cada mão. Some os dedos levantados. Resultado 5.

Multiplique os abaixados. 2 x 3 = 6.

Ábaco

Assim que o homem percebeu que utilizar pedaços de madeira com pó, barro e

outros meios de escrita também auxiliavam nos cálculos, a evolução foi o ábaco.

O funcionamento do ábaco era da seguinte forma:

Uma caixa quadrada, com uma divisão horizontal à cerca de 2/3 da base e 4, 5, 6 ou

mais hastes longitudinais com contas inseridas.

Na parte superior da caixa, da DIREITA para à ESQUERDA, as contas valem 5, 50, 500,

5000, e assim por diante.

Na parte inferior, também da DIREITA para à ESQUERDA, cada conta vale

1,10,100,1000 e assim por diante.

O número que se quisesse representar deveria conter as contas juntas à divisão.

Exemplo:

O número 5: Apenas a primeira conta da parte superior da DIREITA junto à divisão.

O Número 6: A 1ª conta superior da com a primeira conta inferior.

O nº 236: A 1ª conta superior e uma inferior, a segunda haste com 3 contas da parte

inferior e a 3ª haste com 2 contas da parte inferior.

Monte os números:

436

506

508

2345

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 8

Auxílios manuais nos cálculos escritos.

Nosso método de multiplicação atual é uma evolução – ou derivação – do método

tabular árabe.

Mostrar exemplo.

x 2 1 7

1 2 1 7

4 8 4 2 // 8

3 0 3 8

Na 1ª linha é feito o produto de dígito do número 217 por 1.

Na 2ª de 217 por 4.

Observe que 4 por 7 exige o transporte do dígito 2 que é colocado na parte de cima

da diagonal.

O produto é conseguido pela soma dos dígitos nas diagonais:

8

4 + 2 + 7 = 3 (vai 1)

(1) + 8 + 1 = 0 (vai 1)

(1) + 2 = 3

Logo = 3.038

Exercícios.

John Napier, nobre escocês, teólogo e matemático observou a seguinte sequência:

1 2 4 8 16 32 64 128 ...

0 1 2 3 4 5 6 7 …

Esta descoberta tornou mais simples os cálculos aritméticos, transformando operações

de multiplicação em operações de soma, e divisão em operações de subtração.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 9

A tábua de logaritmos consiste basicamente de duas colunas de números. A cada

número da esquerda corresponde um número à sua direita, chamado o seu logaritmo.

Para multiplicar dois números, por exemplo, basta somar seus logaritmos.

Exemplo:

4 x 16 → Procure na coluna da ESQUERDA os números 4 e 16.

Some seus logaritmos. (direita).

Encontre o na coluna de ESQUERDA qual o nº correspondente à soma dos logaritmos.

Nº Log

1 0

2 1

4 2

8 3

16 4

32 5

64 6

128 7

256 8

512 9

1024 10

Exercícios:

64 x 8 = 6 + 3 = 9 = 512

128 x 4 = 7 + 2 = 9 = 512

128 : 16 = 7 – 4 = 3 = 8

512 : 32 = 9 – 5 = 5 = 32

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 10

Auxílios mecânicos para os Cálculos

Pesquise mais em:

http://www-03.ibm.com/ibm/history/exhibits/attic2/attic2_057.html

John Napier, generalizou o procedimento tabular dos árabes e em 1617 desenvolveu

um dispositivo simples e barato constituído de uma caixa de madeira com bastões de

ossos e cilindros com as tabelas, de 1 a 9.

No século XVII foi inventada a régua de cálculo aplicando-se as idéias dos logaritmos.

As operações de multiplicação e divisão são executadas simplesmente somando ou

subtraindo a distância medida na régua externa, aquela marcada na régua interna

deslizante. A régua de cálculo é, na verdade, uma tábua compacta de logaritmos.

Em 1642 o filósofo Blaise Pascal construiu uma calculadora (a primeira máquina de

somar) para auxiliar seu pai, coletor de impostos. Inventou uma máquina capaz de

registrar valores decimais baseada na rotação de rodas dentadas de 10 posições (0 a

9). Quando uma roda excedia 10 unidades, ou seja, uma volta, acionava a roda

seguinte (assim como um odômetro atual). Com tal máquina era possível somar e

subtrair.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 11

Em 1673, Gottfried Wilhelm von Leibnitz, filósofo e matemático alemão, utilizando o fato

de que uma multiplicação é a soma de uma mesma parcela um certo número de

vezes, mostrou como um multiplicador mecânico com dois contadores (um para

efetuar a adição e outro para determinar quando a adição deve parar) poderia ser

implementado. Esta máquina foi construída em 1694.

5 x 3 = 5 + 5 + 5

Então aqui se começa a observar que não só buscava-se um mecanismo que fizesse

contas automaticamente, mas que para além de se inventar um mecanismo, nada se

conseguiria se também não fosse inventada a programação deste mecanismo.

Cada mecanismo novo era como uma máquina industrial.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 12

Uma máquina de injetora atual pode possuir dois tipos de programação. Mecânica e

digital. A programação mecânica é elaborada com as peças, com o hardware.

Quando o produto passar pelo duto, um sensor ligará um braço mecânico que abrirá

um compartimento com um saco plástico e ao final do ciclo do braço que abriu o

compartimento, duas peças em formato de pinça, aquecidas, deverão fechar o saco

plástico para acondicionar o produto.

Na programação digital, o cilo mecânico foi substituído pelos cilos de um processador,

ou seja, pelo clock.

A grande questão é elaborar uma programação que seja lógica e “fale” com a

máquina.

Atualmente além dessa preocupação existe também a exigência de que o programa,

também “fale” a linguagem do usuário, a usabilidade.

Auxílio mecânicos automáticos

Leonardo Da Vinci começou se enveredar pelo mundo da informática por volta do

ano 1425-1519 com uma máquina de engrenagens que de forma exponencial

mostravam o resultado em voltas.

Cada engrenagem era ligada ao eixo de outra e essa a outra e assim por diante.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 13

Em 1728 o engenheiro francês Basile Bouchon construiu um tear, que podia tecer

desenhos de seda, de acordo com fichas perfuradas. As agulhas só passariam pelos

furos feitos nestas fichas. Conforme os ciclos da máquina as fichas mudavam de

posição e conseqüentemente mudavam o desenhos ou as cores.

Em 1801 Joseph Marie Jacquard conclui o tear com cartões e aperfeiçoou,

influenciando significativamente as idéias de como comandar, programar, as

máquinas.

Em 1812, Charles P. Babbage, matemático inglês, ao consultar tabelas de logaritmos

com erros, resolveu construir uma máquina de computar tabelas matemáticas que

resolvesse os erros encontrados. O principal era encontrar uma forma de resolver

problemas com uma metodologia única.

Exemplo:

B = A³

Para calcular qualquer que fosse o valor atribuído à A, deveria-se utilizar a adição. Se

A = 8 de veríamos somar os números existentes na tabelas de Napier até chegar ao

resultado, ou seja:

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 14

SE B = A³ e A = 8, então B=8³.

Para calcular 8³ devemos fazer a multiplicação de 8 por ele mesmo 3 vezes, então:

8 x 8 x 8 = 512

Como o dispositivo de Babage não tinha como computar a multiplicação, então

deveria-se seguir por adição.

8 + 8 + 8 + 8 + 8 + 8 ... até chegar à 512.

Com o auxílio de Napier e a tabela de logs, vejamos:

0 1 2 3 4 5 6 7 8 9

1 2 4 8 16 32 64 128 512 1024

Tenha em mente, sempre é utilizada a base de log 2, a base binária.

Ele desenvolveu um sistema que possibilitasse então a utilização das variáveis.

A B(A=x³) D1 D2 D3

0 0 1

1 1

2 8 7 6

3 27 19 12 6

4 64 37 18 6

5 125 61 24 6

6 216 91 30 6

7 343 127 36 6

Ele percebeu que com contas de + e de – seria possível resolver de forma rápida e

mecanicamente reduzida, uma exponenciação, somando-se 343+127+36+6 = 512

Essa máquina era chamada de A máquina de Diferencial de Babage, pois calculava

as diferenças entre B, D1, D2 e D3.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 15

A evolução natural veio em 1820 com Charles Xavier Thomas, que projetou primeira

máquina de calcular de uso comercial. Mesmo não sendo ainda totalmente

automática, ela somava, subtraia, multiplicava e dividia a partir de pinos móveis.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 16

Em 1875, Frank Baldwin inventou uma máquina com as mesmas funções a partir de

pinos móveis.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 17

Dorr E. Felt criou o computômetro em 1887, a antecedente das caixas registradoras

atuais.

Foi então que Herman Hollerith inventou uma máquina que registrava os números e

valores em cartões perfurados e sua leitura se dava ao introduzir o cartão e os pinos

que passavam pelos furos “liam” os valores. Eram as máquinas tabuladoras.

A partir dessas máquinas Hollerith montou um sistema para apuração das eleições

americanas. O sucesso foi tamanho que ele fundou Tabulating Machine Company ou

a TMC, que virou Computing Tabulating Recording, CTR, e depois INTERNATIONAL

BUSINESS MACHINES, IBM.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 18

As válvulas passaram então a assumir o papel das engrenagens.

O cada dente da engrenagem e sua depressão passou a ser traduzido como 0 e 1, ou

seja, ligado e desligado.

Automatismo completo

A diferença entre o conceito de Babage e os computadores atuais é que antes se

utilizavam engrenagens e agora os relés e fazem esta função.

Mais de um século depois de Babage, em 1937, Howard G. Aiken construiu uma

máquina capaz de calcular diferenciais integrais com dispositivos eletromecânicos. Era

MARK I, que começou a funcionar em 1944.

Em 1946 o primeiro computador digital entrou em funcionamento, o ENIAC (Eletronic

Numerical Integrator And Calculator), com 19.000 válvulas, 1.500 relés, diversos

resistores, capacitores, indutores e um consumo de cerca de 200KW/h e sua memória

registrava até 20 números de 10 dígitos cada.

O ENIAC armazenava apenas os números, pois os programas eram construídos

interligando plugs em painéis como as antigas centrais telefônicas, o que era

demorado e inconveniente, além de ser propenso a erros.

J. Von Neumann, em 1946 apresentou um artigo que propunha o armazenamento dos

dados e dos programas, o que influenciou a arquitetura até hoje dos computadores.

A máquina proposta era o EDVAC (Eletronic Dicrete Variable Automatic Computer).

Que foi de fato construída em 1948 e a partir deste, os computadores feitos em escala

comercial com o UNIVAC utilizado para o censo de 1951 nos EUA.

Evolução tecnológica

Como vimos, os primeiros computadores eram eletromecânicos, com a invenção do

transistor pela Bell, em 1948, a redução dos componentes era evidente e sua

capacidade ampliada, seu consumo reduzido, e a propensão aos erros minimizada,

pois as válvulas esquentavam e queimavam facilmente com o próprio calor ou por

fatores externos com o insetos.

Estes, aliás, foram os responsáveis por um termo até hoje conhecido. O Bug.

Nos computadores da segunda geração – sendo o de Babage de primeira geração - ,

as válvulas atraiam insetos que queimavam as válvulas e os programas paravam de

funcionar, foi então que o problema conhecido se tornou expressão. Veja se não

temos um Bug na máquina. Isto se tornou sinônimo de erro, até o Bug do milênio.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 19

Conectar todos os transistores era uma tarefa árdua, então surgiram os circuitos

impressos e os transistores vinham já previamente alocados nessas placas plásticas e

conectados por filamentos metálicos impressos nessa placa. Eram os computadores

de terceira geração.

A placa se tornou uma pastilha ou chip, com a redução dos transistores, essa pastilha

passou a se chamar LSI ou VLSI (Very Large Scale Integration), sendo os computadores

de quarta geração.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 20

AULA 2

Sistemas de numeração

Números Decimais

Os números que utilizamos procedem dos fenícios e posteriormente aperfeiçoados

pelos árabes. Os números arábicos obedecem a escala decimal, ou seja, de 0 à 9.

Depois da invenção do Zero, os números agregados ao Zero poderiam crescer

indefinidamente.

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21...

Assim o número 1967deve ser lido:

+ 1000

+ 900

+ 60

+ 7

1 x 1000 +

9 x 100 +

6 x 10 +

7 x 1

1967 1967

ou 1 x 10³ + 9 x 10² + 6 x 10¹ + 7 x 10º = 1967

Sistema binário

Para representar os números no sistema binário devemos seguir a mesma lógica dos

logs de base binária, ou seja, base 2.

Logo a tabela abaixo demonstra a evolução dos números.

Decimal Binário

0

1

2

3

00

01

10

11

Como a base é 2, o máximo de combinações será 4, por que 2² = 4. 0,1,2,3. Para o

numeral 4, 2² não basta, é preciso um número maior, então, 2³ = 8, de 0 à 7.

Decimal Binário

0

1

2

3

4

5

6

7

00

01

10

11

100

101

110

111

Elabore o número 8, 16, 32, 33, 34 e 35 em binário.

O número 1968 seria representado desta forma:

111101100000

Por que:

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 21

10000000000

1000000000

100000000

10000000

0000000

100000

10000

0000

000

00

0

1 x 210

1 x 29

1 x 28

1 x 27

0 x 26

1 x 25

1 x 24

0 x 23

0 x 22

0 x 21

0 x 20

1024

512

256

128

0

32

16

0

0

0

0

11110110000 1968

Veja outro exemplo, com o número 1976:

10000000000

1000000000

100000000

10000000

0000000

100000

10000

1000

000

00

0

1 x 210

1 x 29

1 x 28

1 x 27

0 x 26

1 x 25

1 x 24

1 x 23

0 x 22

0 x 21

0 x 20

1024

512

256

128

0

32

16

8

0

0

0

11110111000 1976

Por fim, o número 2010:

10000000000

1000000000

100000000

10000000

1000000

000000

10000

1000

000

10

0

1 x 210

1 x 29

1 x 28

1 x 27

1 x 26

0 x 25

1 x 24

1 x 23

0 x 22

0 x 21

1 x 20

1024

512

256

128

64

32

16

8

4

2

1

11111011010 2010

Sistema Hexadecimal

Decimal Binário Hexadecimal

0

1

2

3

4

5

6

7

8

9

10

11

12

13

0000

0001

0010

0011

0100

0100

0101

0110

0111

1000

1001

1010

1011

1100

0

1

2

3

4

5

6

7

8

9

A

B

C

D

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 22

14

15

16

17...

1110

1111

10000

10001

E

F

10

11

Para se criar combinações possíveis para que se possibilite expressar os números de 0 a

9, são necessários 4 bits, no entanto por meio da análise combinatória, 4 dígitos

combinados entre si, permitem até 16 combinações diferentes. Como existem apenas

10 dígitos unitários, os outros 6 foram expressos pelo sistema hexadecimal como A, B, C,

D, E e F.

Sistema Octal

Decimal Binário Octal

0

1

2

3

4

5

6

7

8

9

10

000

001

010

011

100

101

110

111

1000

1001

1010

0

1

2

3

4

5

6

7

10

11

12

Mas que curioso...

Em binário:

Decimal Binário

1

2

4

8

16

32

64

128

01

10

100

1000

10000

100000

1000000

10000000

Em Octal:

Decimal Octal

1

8

16

32

64

128

01

10

20

40

100

200

Em Hexadecimal:

Decimal Binário

1

8

16

32

64

128

01

08

10

20

40

80

Por quê?

Cálculos com binários

Soma

A soma é simples.

Vamos pensar nos numerais do sistema decimal conhecido.

1+0=0 o inverso também se aplica 0+1=1

Para 1+1=2, o resultado 2, deve ser expresso em binário, tendo em vista que, desculpe,

digitei errado, fiz tudo em binário mesmo... SIM! São Iguais!!!

Binário

1+0=0, 0+1=1, 0+0=0 e 1+1=10

Então...

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 23

Decimal Binário Decimal Binário

1 +1 2

0001

0001+

0010

8

+4

12

1000

0100+

1100

23 +15 38

10111

1111+

100110

321

+123

444

101000001

+1111011

110111100

Subtração

A subtração já um pouco diferente.

1-1, ou seja, (+1) –(+1) = 0, 1-0 = 1, 0-1, apesar de não ser aplicável é contabilizável

com números de maior quantidade de bits.

Decimal Binário Decimal Binário

1 -1 0

0001

0001-

0000

8

-4

4

1000*

0100-

0100

23 -15 8

10111

1111-

1000

321

-123

198

101000001

-1111011

11000110

*Como foi feito?

Da esquerda para a direita: 0-0=0, 0-0=0, 0-1 – roube o 1 da casa à esquerda e passe à

0, então passa a ficar 1-1 na terceira casa da direita para a esquerda e a quarta casa,

que era 1-0, o 1 foi emprestado para a terceira casa, pois era 0-1 e agora é 1-1, então

a quarta ficou0-0=0.

Multiplicação

Também semelhante ao sistema decimal, porém a somatória segue o sistema binário.

A tabela de multiplicação é: 0 x 0 = 0, 0 x 1 = 0, 1 x 0 = 0 e 1 x 1 = 1.

Decimal Binário Decimal Binário

1 x1 1

0001

0001x

0001

8

x4

4

1000*

0100x

100000

23 x15 345

10111

1111x

101011001

321

x123

39483

101000001

x1111011

1001101000111011

*Como assim???

1000

0100 x

0000

0000+

1000 ++

0000+++

0100000

Divisão

Semelhante ao sistema decimal, mudando somente que as multiplicações e

subtrações internas à divisão sejam em binário.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 24

Decimal Binário Decimal Binário

1 ÷1 1

0001

0001÷

0001

8

÷4

4

1000*

0100÷

0010

23 ÷15 1

10111

1111÷

0001

321

÷123

2

101000001

÷1111011

0010

*Vai explicar ou não???

1000|0100, ou seja, 1000|0100

0010

Ok, mas eu não entendi!

34÷6→100010|110

110 101

1010

110

100 Então vamos exercitar, vista seu colant, coloque uma faixa felpuda na cabeça e mãos

à obra!

Arme e efetue!

Some todos os dígitos do seu R.A.

Multiplique pelo dia de hoje.

Subtraia pelo R.A. do seu colega do lado esquerdo.

Divida pelo número de alunos da sala, presentes.

Mas professor, e se for um número com vírgula?

Para os números fracionários é bem simples, multiplique por 2 e anote a parte inteira,

sendo 0 ou 1, veja:

Converta o número fracionário 0,549843 para binário.

0, 549843 x 2 = 1,099686 → Armazene o 1 e substitua-o por 0 → 1;

0,099686 x 2 = 0,199372 → 0;

0,199372 x 2 = 0,398744 → 0;

0,398744 x 2 = 0,797488 → 0;

0,797488 x 2 = 1,594976 → 1;

0,594976 x 2 = 1,189952 → 1;

0,189952 x 2 = 0,379904 → 0;

...

A representação deve adicionar o 0. antes do número, assim: 0.

10000110001111010011

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 25

AULA 3

Conversão de bases Para converter um número de decimal para binário, basta encontrar o valor mais

próximo no correspondente na potência 2.Veja a tabela.

Potência de 2 Posição

...

16384

8192

4096

2048

1024

512

256

128

64

32

16

8

4

0

1

0.5

0.25

0.125

0.0625

0.03125

0.015625

...

...

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

-1

-2

-3

-4

-5

-6

...

Para converter o número 1946, encontre a maior potência de 2 que permita a

subtração, neste caso, 1024, na posição 10, então:

1946 – 1024 = 922 (Escreva 1 na posição 10)

922 – 512 = 410 → 1 na posição 9

410 – 256 = 154 → 1 na 8

154 – 128 = 26 → 1 na 7

26 – 64 = Não é possível, então → 0 na 6

26 – 32 = 0 na 5

26 – 16 = 10 → 1 na 4

10 – 8 = 2 → 1 na 3

2 – 4 = 0 na 2

2 – 2 = 0 → 1 na 1(Não confunda, foi possível subtrair, o resultado foi 0, marque 1)

0 – 0 = 0

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 26

Então

10 9 8 7 6 5 4 3 2 1 0

1 1 1 1 0 0 1 1 0 1 0

E se for com vírgula?

123,456

123.456 – 64 = 59.456 (1 na 6)

59.456 – 32 = 27.456 (1 na 5)

27.456 – 16 = 11.456 (1 na 4)

11.456 – 8 = 3.456 (1 na 3)

3.456 – 4 = (0 na 2)

3.456 – 2 = 1.456 (1 na 1)

1.456 – 1 = 0.456 (1 na 0)

0.456 – 0.5 = (0 na -1)

0.456 – 0.25 = 0.206 (1 na -2)

0.206 – 0.125 = 0.081 (1 na -3)

0.081 – 0.0625 = 0.0185 (1 na -4)

0.0185 – 0.03125 = (0 na -5)

0.0185 – 0.015625 = 0.002875 (1 na -6)

...

Então:

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

1 1 1 1 0 1 1 0 1 1 1 0 1

1111011.011101

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 27

AULA 4

Sistema Hexadecimal Decimal Binário Hexadecimal

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

40

80

0000

0001

0010

0011

0100

0100

0101

0110

0111

1000

1001

1010

1011

1100

1110

1111

10000

10001

10010

10011

10100

101000

1010000

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

11

12

13

14

28

50

Para se criar combinações possíveis para que se possibilite expressar os números de 0 a

9, são necessários 4 bits, no entanto por meio da análise combinatória, 4 dígitos

combinados entre si, permitem até 16 combinações diferentes. Como existem apenas

10 dígitos unitários, os outros 6 foram expressos pelo sistema hexadecimal como A, B, C,

D, E e F.

Sistema Octal Decimal Binário Octal

0

1

2

3

4

5

6

7

8

9

10

20

40

80

100

000

001

010

011

100

101

110

111

1000

1001

1010

10100

101000

1010000

1100100

0

1

2

3

4

5

6

7

10

11

12

24

50

120

144

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 28

160 10100000 240

bit, Byte e a Palavra O dígito é a menor parte de um dado e aqui chamado de bit (BInary digiT). O Byte é o

conjunto de bits e a palavra é o conjunto de Bytes.

0 – bit

0100111101011 – Byte

Para a compreensão da palavra vamos adotar uma palavra de 48 bits, abaixo.

47 43 39 35 31 27 23 19 15 11 7 3

46 42 38 34 30 26 22 18 14 10 6 2

45 41 37 33 29 25 21 17 13 9 5 1

44 40 36 32 28 24 20 16 12 8 4 0

Codificação EBCDIC

A codificação EBCDIC (Extended, Binary Coded with Decimal Interchanged Code)

considera o Byte contendo 8 bits, neste caso, a palavra adotada de 48 bits, tem 6

Bytes, como cada Byte contém 8 bits, podemos arranjar 28=256 combinações

diferentes, sendo:

10 dígitos para o sistema decimal;

26 para as letras maiúsculas do alfabeto;

50 para os caracteres especiais.

Veja abaixo uma palavra de 6 Bytes neste sistema, a palavra “ERWIN .”.

E R W I N .

1 0 1 1 1 0 1 1 1 0 0 1

1 1 1 0 1 1 1 0 1 1 1 0

0 0 0 0 1 1 0 0 0 0 0 1

0 1 1 1 0 0 0 1 1 1 0 1

Ou 110001011101100111100110110010011101010111000011 = Erwin. = 48 bits

Observe que a letra A é representada por 11000001, o espaço é 01000000 e o ponto é

11000011.

Codificação BCD

Como vimos, na codificação EBCDIC, das 256 combinações possíveis, apenas 46 são

suficientes para todos os ditos e caracteres. Na codificação BCD (Binary Coded

Decimal) o Byte é formado por 6 bits, o que representa uma grande economia de

espaço. Na mesma palavra de 48 bits, adotada anteriormente, a codificação BCD

divide a palavra em 8 Bytes, diferentemente dos 6 Bytes da codificação EBCDIC. Veja:

7 5 3 1

47 43 39 35 31 27 23 19 15 11 7 3

46 42 38 34 30 26 22 18 14 10 6 2

45 41 37 33 29 25 21 17 13 9 5 1

44 40 36 32 28 24 20 16 12 8 4 0

6 4 2 0

A palavra então será:

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 29

U L A N

1 0 1 1 1 0 0 0 0 1 0 1

1 0 0 0 1 1 1 1 1 0 1 0

0 0 0 0 1 0 0 1 0 0 0 1

1 1 0 0 0 0 0 0 1 1 1 1

H M N .

Ou 110100011000100011100100010001100101100101011011 = Uhlmann. = 48 bits

Codificação Hexadecimal

Utiliza apenas 4 bits, é o meio Byte EBCDIC, veja:

EBCDIC E R W I N .

1 0 1 1 1 0 1 1 1 0 0 1

1 1 1 0 1 1 1 0 1 1 1 0

0 0 0 0 1 1 0 0 0 0 0 1

0 1 1 1 0 0 0 1 1 1 0 1

HEXA. C 5 D 9 E 6 C 9 D 5 4 B

Ou C5D9E6C9D54B

Da mesma forma que o sistema Octal é meio Byte BCD.

Codificação ASCII

A codificação ASCII (American Standard Coded for Information Interchange) utiliza 7

bits de um Byte de 8 bits., configurando a compactação do sistema BCD com a

amplitude do sistema EBCDIC.

9 7 5 3 1

47 43 39 35 31 27 23 19 15 11 7 3

46 42 38 34 30 26 22 18 14 10 6 2

45 41 37 33 29 25 21 17 13 9 5 1

44 40 36 32 28 24 20 16 12 8 4 0

8 6 4 2 0

Veja abaixo a tabela para as codificações BCD, EBCDIC e ASCII

Caráter BCD Octal EBCDIC Hexadecimal ASCIl

Espaço 110 000 60 0100 0000 40 000 0000

. 011 011 33 0100 1011 4B 010 1110

( 111 100 74 0100 1101 4D 010 1000

+ 010 000 20 0100 1110 4E 010 1011

$ 101 011 53 0101 1011 5B 010 0100

* 101 100 54 0101 1100 5C 010 1010

) 011 100 34 0101 1101 5D 010 1001

— 100 000 40 0110 0000 60 010 1101

/ 110 001 61 0110 0001 61 010 1111

‘ 111 011 72 0110 1011 6B 010 0111

, 001 100 14 0111 1101 7D 010 1100

= 001 011 13 0111 1110 7E 011 1101

A 010 001 21 1100 0001 C1 100 0001

B 010 010 22 1100 0010 C2 100 0010

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 30

C 010 011 23 1100 0011 C3 100 0011

D 010 100 24 1100 0100 C4 100 0100

E 010 101 25 1100 0101 C5 100 0101

F 010 110 26 1100 0110 C6 100 0110

G 010 111 27 1100 0111 C7 100 0111

H 011 000 30 1100 1000 C8 100 1000

I 011 001 31 1100 1001 C9 100 1001

J 100 001 41 1101 0001 D1 100 1010

K 100 010 42 1101 0010 D2 100 1011

L 100 011 43 1101 0011 D3 100 1100

M 100 100 44 1101 0100 D4 100 1101

N 100 101 45 1101 0101 D5 100 1110

O 100 110 46 1101 0110 D6 100 1111

P 100 111 47 1101 0111 D7 101 0000

Q 101 000 50 1101 1000 D8 101 0001

R 101 001 51 1101 1001 D9 101 0010

S 110 010 62 1110 0010 E2 101 0011

T 110 011 63 1110 0011 E3 101 0100

U 110 100 64 1110 0100 E4 101 0101

V 110 101 65 1110 0101 E5 101 0110

W 110 110 66 1110 0110 E6 101 0111

X 110 111 67 1110 0111 E7 101 1000

Y 111 000 70 1110 1000 E8 101 1001

Z 111 001 71 1110 1001 E9 101 1010

0 000 000 00 1111 0000 F0 011 0000

1 000 001 01 1111 0001 F1 011 0001

2 000 010 02 1111 0010 F2 011 0010

3 000 011 03 1111 0011 F3 011 0011

4 000 100 04 1111 0100 F4 011 0100

5 000 101 05 1111 0101 F5 011 0101

6 000 110 06 1111 0110 F6 011 0110

7 000 111 07 1111 0111 F7 011 0111

8 001 000 10 1111 1000 F8 011 1000

9 001 001 11 1111 1001 F9 011 1001

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 31

AULA 5

Eletrica ... eletrônica – circuitos elétricos 0+0 = 00, ou seja, 0

Como funciona?

O interruptor simples na parte superior é o sinal de igual, ao ligar, permite a passagem

de energia para as lâmpadas no neutro, ou seja, como o 0 é a ausência de sinal, não

importa a posição dos interruptores, pois só depois do sinal de = é que o sistema

trabalha.

0+1 = 01, ou seja, 1

Note que o interruptor da esquerda está ligado na posição 1 e o interruptor da direita

na posição 0, ou seja, 1 + 0 em binário 01, a lâmpada da direita desligada e a da

esquerda ligada.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 32

1 + 0 = 01, ou seja, 1. Também.

A posição dos interruptores mudou, mas as lâmpadas não, isto por que 0+1 ou 1+0 o

resultado é 01.

1+1 = 10, ou seja, 2.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 33

Como o computador não entende o numeral 2, o resultado é em binário 10.

Veja.

0+0 = 00 = 0

0+1 = 01 = 1

1+0 = 01 = 1

1+1 = 10 = 2

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 34

AULA 6

Portas lógicas

Partindo destas lógicas, para criar um somador simplificado ou semi-

somador o esquema seria:

Ou seja....

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 35

Exercício:

Se para somar é preciso criar a porta acima, crie um somador, um

circuito de subtração, multiplicação e divisão, com uso das portas AND,

OR, XOR e NOT.

http://www.forumpcs.com.br/comunidade/viewtopic.php?t=128671

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 36

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 37

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 38

AULA 7

Memória Principal Com a finalidade de armazenar seus dados, um computador contém um conjunto

grande de circuitos, cada qual capaz de armazenar um bit. A este conjunto

denominamos memória principal da máquina.

Organização da Memória Se a memória é composta de circuitos, basta entender que um único circuito é capaz

de armazenar 1 bit, seja ele 0 ou 1, ou seja, ligado, energizado ou não. Podemos

então, organizar estes circuitos em 8 bits cada para a formação de uma palavra,

denominando assim de célula. Cada célula contém seu endereço, especificado por

um código Hexadecimal, e estabelece uma ordem, sendo assim a célula anterior ou

posterior à aquela.

Por fim, pelo fato de uma célula ser endereçada, os dados podem ser armazenados

em qualquer endereço, pois este sempre é conhecido e registrado, assim, por ter

endereço indeterminado, porém localizável, o acesso pode ser randômico, o que dá

o nome à esta memória de Random Access Memory (RAM).

Arquitetura de Computadores Os circuitos responsáveis pelas operações lógicas, como adição e multiplicação, são

isolados numa parte denominada UCP (Unidade Central de Processamento) ou

simplesmente Processador.

O Processador é dividido em duas partes, a Unidade Aritmética e Lógica (UAL), que

manipula os dados e a Unidade de Controle, que contém os circuitos de

coordenação, controle, das atividades da máquina.

Para armazenamento temporário o processador possui memórias de funcionamento

semelhante à memória principal. Esses registradores são classificados como de

Propósito Geral ou Propósito Específico.

Os registradores de Propósito Geral funcionam com posições temporárias para

realização dos cálculos matemáticos.

Ex.: (8+3) x 2 = O numeral 8 será armazenado no registrador específico, o numeral 3

será armazenado na posição 2 do registrador, então o 8 e o 3 são somados na UAL e

este resultado armazenado na posição 3 do registrador.

Quanto maior a quantidade de registradores maior a capacidade de processamento

de dados.

O passo seguinte é a multiplicação da soma (8+3) 11 por 2, sendo que o 2 já estava

armazenado na posição 4 do registrador. O fator resultante é armazenado na posição

5.

O resultado da expressão era então armazenado na memória principal.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 39

A dificuldade era fazer com que os computadores fossem flexíveis com seus resultados,

trabalhando com variáveis.

O comparativo é a caixa de música, que é sempre a mesma música e um CD player.

O conteúdo é variável enquanto os modelos antigos trabalhavam com constantes.

von Neumann, que propôs a arquitetura das variáveis, que até hoje é utilizada. Se não

houvesse a unidade de controle os dados do programas seriam removidos da

memória principal e poderiam ser alterados. Dessa forma, a re-ligação dos fios da

memória para a CPU e então para a UAL.

Os circuitos de um computador que executam operações com dados (como adição

e multiplicação) não são diretamente conectados às células de armazenamento da

memória principal do computador, ficando isolados em uma parte conhecida como

Unidade Central de Processamento ou UCP (Central Processing Unit - CPU) ou

simplesmente, processador. Esta unidade consiste em duas partes: a unidade

aritmética e lógica, que contém os circuitos que manipulam os dados, e a unidade de

controle que contém os circuitos que coordenam as atividades da máquina.

Para armazenamento temporário de informação, a UCP contém células ou

registradores, que são semelhantes às posições da memória principal. Tais registradores

podem ser classificados como de propósito geral ou específico.

Os registradores de propósito geral funcionam como posições temporárias de

armazenamento para dados que estão sendo manipulados pela UCP. Esses

registradores guardam os dados de entrada da Unidade Aritmética Lógica (UAL) e

proporcionam um local de armazenamento para os seus resultados. Para executar

uma operação sobre dados guardados na memória principal, é responsabilidade da

Unidade Controle (UC) transferir os dados da memória para os registradores de

propósito geral, informar a UAL, cujos registradores armazenam os dados, ativar o

circuito apropriado contido nesta unidade e informá-la sobre qual registrador

receberá o resultado.

Para poder transferir padrões de bits entre o processador de um computador e a

memória pricipal, tais elementos são interconectados por um conjunto de fios

chamado VIA (bus). Através desta via, o processador pode extrair ou ler dados da

memória correspondente juntamente com um comando de leitura. Do mesmo modo,

o processador pode colocar ou escrever dados na memória, fornecendo, para isso, o

endereço da posição de destino e od dados a serem armazenados, acompanhados

de um sinal de gravação.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 40

Veja um roteiro para somar valores armazenados na memória, em pseudo código:

1. Obter da memória um dos valores a somar e guardá-lo em um registrador.

2. Obter da memória a outra parcela e armazená-la em outro registrador.

3. Acionar o circuito da adição, tendo os registradores utilizados noa passos 1 e 2

como entradas, e escolher outro registrador para armazenar o resultado.

4. Armazenar o resultado na memória.

5. Finalizar.

Unidade

Aritmética

Lógica (UAL)

Unidade de Controle

Registradores

Memória

Principal

Via

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 41

AULA 8

LINGUAGEM DE MÁQUINA Os processadores identificam padrões de bits (0 e 1), com eles se fazem os cálculos

para processamento dos dados. Para se processar esses bits, é preciso estabelecer um

padrão, uma codificação, como ASCII e EBCDIC. Para este conjunto é denominado

linguagem de máquina ou instruções de máquina.

Padrões de Instrução Ao comparar o poder atual das máquinas, como a interatividade, gráficos, jogos e a

Internet, é incrível que todo esse poder provenha de um pequeno número de

instruções básicas. Estas instruções mínimas são chamadas de RISC (Reduced

Instruction Set Computer) ou computador com conjunto mínimo de instruções. A favor

das arquiteturas RISC (Principalmente servidores) é a velocidade e eficiência de

processamento ou o reduzido conjunto para realização de tarefas complexas. De

outro lado as arquiteturas CISC (Complex Instructions Set Computer) ou Computador

com conjunto complexo de instruções, são mais fáceis e rápidas de programar, pois já

possuem diversas rotinas predeterminadas que na RISC devem ser elaboradas.

Os processadores Pentium são um exemplo de arquitetura CISC, enquanto os PowerPC

da IBM/Apple são processadores de arquitetura RISC.

Como podemos notar nos passos 1, 2 e 4, o termo “Obter” deve ser entendido como

Copiar, o que em termos técnicos, deve ser expresso como carga, ou LOAD.

A instrução CISC informa ao processador para Obter/Transferir/Mover/Copiar/Carregar

um dado da memória, Calcular/Processar e armazenar num registrador e armazená-lo

na memória, ou tecnicamente STORE.

Instruções Aritméticas/Lógicas

No passo 3, podemos notar uma instrução aritmética/lógica. A UAL executa também

operações como AND, OR e XOR.

V(1) AND V(1) = V(1), V(1) OR F(0) = V(1), V(1) XOR F(0) = V(1) OR F(0),

mas não ambos.

Veja um roteiro para somar valores armazenados na memória, em pseudo

código:

1. Obter da memória um dos valores a somar e guardá-lo em um registrador.

2. Obter da memória a outra parcela e armazená-la em outro registrador.

3. Acionar o circuito da adição, tendo os registradores utilizados nos passos 1

e 2 como entradas, e escolher outro registrador para armazenar o

resultado.

4. Armazenar o resultado na memória.

5. Finalizar.

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 42

Controle

O grupo de controle consistem em instruções que tratam da execução do programa,

por exemplo, Se o resultado for 1, pule (JUMP) para o passo 5 ou desvie (BRANCH)

para o circuito B.

Veja outro caso:

Neste caso, o processador possui 16 (0-F) registradores de propósito geral e 256 (00-FF)

células na memória principal, cada uma com capacidade de 8 bits.

Utilizando o padrão Hexadecimal a instrução 35A7 (0011 – 0101 – 1010 – 0111) é lida da

seguinte forma, o 3 (0011) significa guarde o conteúdo de um registrador na memória,

o 5 (0101) é o endereço do registrador que receberá os dados o A7 (1010 0111) indica

a célula da memória, então, armazene na célulaA7 da memória o conteúdo do

registrador 5.

Veja um roteiro para somar valores armazenados na memória, em pseudo

código:

1. Carregue (LOAD) um registrador com um valor da memória.

2. LOAD outro registrador com outro valor da memória.

3. Se o segundo valor for 0, desvie (BRANCH) para o passo 6.

4. Divida o conteúdo do primeiro pelo segundo e guarde (SHIFT) o

resultado em um terceiro registrador.

5. SHIFT na memória o conteúdo do terceiro registrador.

6. Pare.

Unidade

Aritmética

Lógica (UAL)

Unidade de Controle Memória

Principal

Via

Contador de

Instruções

Registrador

de

instruções

0

1

2

3

...

F

00

01

02

03

04

...

FE

FF

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 43

Linguagem Assembly

Instrução codificada Tradução

156C Carregue o registrador 5 com o padrão

de bits encontrado na célula de memória

no endereço 6C

166D Carregue o registrador 6 com o padrão

de bits encontrado na célula de memória

no endereço 6D

5056 Some o conteúdo dos registradores 5 e 6

considerando que representam números

na notação de complemento de dois e

deixe o resultado no registrador 0.

306E Armazene o conteúdo do registrador 0 na

célula de memória de endereço 6E.

C000 Pare.

Exercícios:

Em um computador com memória e registradores de 8bits, escreva a codificação em

Assembly e em binários par as seguintes operações:

1+2=3

Solução:

Célula 01 = 000000001

Célula 02 = 000000010

1. 1001 (Carregue o registrador 0 com o conteúdo da memória 01);

2. 1102 (Carregue o registrador 1 com o conteúdo da memória 02);

3. 5201 (Some o conteúdo dos registradores 0 e 1 e grave no registrador 2);

4. 3203 (Armazene o conteúdo do registrador 2 na célula 03);

5. C000 (pare).

Como é possível observar pela sequencia, são necessários 5 passos para se realizar

uma simples soma.

3-2+5 = 6

Célula 00 = 00000011

Célula 01 = 11111110

Célula 02 = 00000101

1. 1000 (); -> 1

2. 1101 (); -> 1

3. 1202 (); -> 1

Universidade Guarulhos – Guarulhos - 10/02/2011

Prof. Erwin Alexander Uhlmann – Instituto Siegen - 44

4. 5301 (); -> 2

5. 5423 (); -> 2

6. 3403 (); -> 1

7. C000 (); -> 3

Agora identifique quais itens são de transferência de dados, de aritmética/lógica e de

controle, além de preencher o significado das instruções.