ciência da computação - institutosiegen.com.br · barramento de dados ... com uma divisão...
TRANSCRIPT
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 Computação Básica ......................................................................................................... 0
Sumário ............................................................................................................................. 1
1. EMENTA: .................................................................................................................... 4
2. OBJETIVOS: ............................................................................................................... 4
3. COMPETÊNCIAS e HABILIDADES: .............................................................................5
4. CONTEÚDO PROGRAMÁTICO: ..............................................................................5
5. Conceitos básicos sobre o hardware ........................................................................5
6. Conceitos básicos sobre o peopleware................................................................5
7. Conceitos básicos sobre o software .........................................................................5
8. BIBLIOGRAFIA: .......................................................................................................5
BÁSICA: ..........................................................................................................................5
COMPLEMENTAR: ........................................................................................................ 6
SUPLEMENTAR: ............................................................................................................ 6
Aula 1 ................................................................................................................................. 7
O Computador ............................................................................................................... 7
Número e Numeral ........................................................................................................ 7
Método de multiplicação dos romanos. .................................................................. 8
Ábaco ......................................................................................................................... 8
Aula 2 ............................................................................................................................... 22
Sistemas de numeração .............................................................................................. 22
Números Decimais ................................................................................................... 22
Sistema binário ......................................................................................................... 22
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 2
Sistema Hexadecimal ............................................................................................... 23
Sistema Octal .......................................................................................................... 24
Números negativos ..................................................................................................... 25
Complemento de 1 ................................................................................................... 25
Complemento de 2 ................................................................................................... 25
Aula 3 .............................................................................................................................. 26
Cálculos com binários................................................................................................. 26
Soma ........................................................................................................................ 26
Subtração ................................................................................................................ 26
Multiplicação ............................................................................................................ 27
Divisão ...................................................................................................................... 27
Aula 4 .............................................................................................................................. 29
Conversão de bases ................................................................................................... 29
Ponto Flutuante ......................................................................................................... 30
Conversão Octal para Decimal ................................................................................... 31
Decimal Hexadecimal .................................................................................................. 31
Aula 4 ............................................................................................................................... 33
Eletrica ... eletrônica – circuitos elétricos .................................................................. 33
Aula 5 .............................................................................................................................. 36
Portas lógicas ............................................................................................................. 36
Aula 6 .............................................................................................................................. 38
Circuitos ...................................................................................................................... 38
Circuito Somador .................................................................................................... 38
Circuito Somador Completo ...................................................................................... 39
Circuito Subtrator ................................................................................................... 40
Subtração Completa ............................................................................................... 40
Circuito Multiplicador ............................................................................................. 42
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 3
Multiplicação completa .......................................................................................... 42
Circuito Divisor ........................................................................................................ 44
Divisão completa ..................................................................................................... 44
Esquema elétrico ........................................................................................................ 45
bit, Byte e a Palavra .................................................................................................... 47
Codificação EBCDIC ................................................................................................. 47
Codificação BCD ...................................................................................................... 47
Codificação Hexadecimal ....................................................................................... 48
Codificação ASCII .................................................................................................... 48
Aula 8 .............................................................................................................................. 50
Memória Principal ...................................................................................................... 54
Organização da Memória ........................................................................................... 54
Arquitetura de Computadores .................................................................................. 54
Aula 9 ............................................................................................................................... 57
Circuitos combinados .................................................................................................. 57
Somador ................................................................................................................... 57
Subtrador ................................................................................................................. 57
Multiplexadores .......................................................................................................... 57
Decodificadores.......................................................................................................... 58
Aula 10 ............................................................................................................................ 60
Flip-Flop....................................................................................................................... 60
ROM ............................................................................................................................ 60
ROM .......................................................................................................................... 61
PROM ........................................................................................................................ 61
EPROM ...................................................................................................................... 61
EEPROM .................................................................................................................. 62
Flash ......................................................................................................................... 62
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 4
CD-ROM ................................................................................................................... 63
RAM............................................................................................................................. 63
Aula 11 ............................................................................................................................. 66
Processador de 8 bits ................................................................................................. 66
Aula 12 ............................................................................................................................. 67
Barramentos ............................................................................................................... 67
Barramento de endereços ...................................................................................... 67
Barramento de dados ............................................................................................. 67
Barramento de controle ......................................................................................... 67
Barramento local..................................................................................................... 68
Barramento de Sistema .......................................................................................... 68
Barramento de expansão ....................................................................................... 68
Aula 13 ............................................................................................................................. 71
Linguagem de Máquina .................................................................................................. 71
Padrões de Instrução .................................................................................................. 71
Instruções Aritméticas/Lógicas ............................................................................... 72
Controle .................................................................................................................... 72
Linguagem Assembly .................................................................................................. 73
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:
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 5
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
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. BIBLIOGRAFIA:
BÁSICA: 1. MANZANO, Andre Luiz N. G; MANZANO,
Maria Izabel N. G. Estudo dirigido:
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 6
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 - 7
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 8
Passou-se tanto tempo quanto uma viajem de cavalo para a babilônia.
A evolução natural foi à criação de comparativos.
Exemplo:
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 9
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
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 10
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.
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
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 11
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
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 12
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 - 13
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 - 14
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 15
Cada engrenagem era ligada ao eixo de outra e essa a outra e assim por diante.
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³
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 16
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:
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 - 17
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 - 18
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 - 19
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 - 20
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 21
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.
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 - 22
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 23
O número 1968 seria representado desta forma:
111101100000
Por que:
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
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 24
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17...
0000 0001 0010 0011 0100 0100 0101 0110 0111 1000 1001 1010 1011 1100 1110 1111 10000 10001
0 1 2 3 4 5 6 7 8 9 A B C D 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
01 10 100 1000 10000 100000
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
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 25
64 128
1000000 10000000
Por quê?
Números negativos O bit de menor relevância é o da esquerda e o de maior o da direita, este determina
o sinal.
Ex.: 1 em binário é 0001 e no negativo existem duas formas o complemento de 1 que
se invertem os valores e o complemento de 2 que soma-se 1 ao complemento de 2.
Esta é a forma utilizada pelos computadores.
Complemento de 1 2 = 0010
-2 = 1101
470 =
0 1 1 1 0 1 0 1 1 0
1 0 0 0 1 0 1 0 0 1
Complemento de 2 Escolha o padrão de bits e divida por 2. Ex.: padrão de bits 4 (0000 à 1111), ou seja,
de 0 à 15. Divida por 2, de -8 à 0 e depois à +7 (1000 – 0000 – 0111)
2 = 0010
-2 = 1101 + 1 = 1110
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 26
AULA 3
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...
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 27
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.
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!
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 28
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 - 29
AULA 4
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
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 30
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
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)
...
Ponto Flutuante Assim como os números inteiros seguem a progressão de Napier (2, 4, 8, 16, 32...) os
fracionários obedecem a mesma proporção se dividindo ao meio (0,5, 0,25, 0,125,
0,0625...).
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 31
Para se realizar os cálculos deve-se seguir as mesmas condições dos números
inteiros, assim:
101,101
4 + 0 + 1, 0,5 + 0 + 0,125
5,675
Continua...
Conversão Octal para Decimal Basta dividir por 8 e armazenar o resto da divisão. Ex.:
174 : 8 = 21,75, ou seja, 21. 21 x 8 = 168. 174-168 = 6. 6 é o resto da divisão. Armazene o
6.
21 : 8 = 2. Resto 5.
2 : 8 -> impossível, logo é resto. Armazene o 2.
Leia do fim para o começo. 256 é o Octal do decimal 174.
A conversão inversa, do octal para o decimal basta adota a base 8 e a progressão do
logaritmo de Napier.
2
x
5
x
6
x
82 81 80
64 8 1
128 + 40 + 6
174
Entendendo:
Separe por valor nominal, 256, o 6 vale 6, o 5, 5 e o 2, 2. Multiplique pelo valor
posicional de base 8, conforme tabela. Some os resultados!
Converta: 189, 127 e 686 para octal.
Decimal Hexadecimal Assim como no octal, basta dividir por 16 e armazenar o resto da divisão. Ex.:
686 : 16 = 42. Resto 14. Converta para Hexadecimal -> E.
42 : 16 = 2. Resto 10, convertido A.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 32
2 : 16. Impossível, logo é o Resto 2.
2AE.
2AE para decimal.
2
x
A(10)
x
E(14)
x
162 161 160
256 16 1
512 + 160 + 14
686
Converta: A2F, B8C e ABC para decimal.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 33
AULA 4
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 - 34
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 35
1+1 = 10, ou seja, 2.
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 - 36
AULA 5
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 - 37
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 - 38
AULA 6
Circuitos Circuito Somador
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 e “vai 1″
A B S Cout
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Circuito Meio Somador
Soma completa
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 39
Circuito Somador Completo
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 40
Circuito Subtrator
0-0=0
0-1=1 “empresta 1″
1-0=1
1-1=0
A B S Cout
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
Circuito Meio Subtrator
Subtração Completa
A B Cin S Cout
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 41
Circuito Subtrator Completo
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 42
Circuito Multiplicador
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
A B S Cout
0 0 0 0
0 1 0 0
1 0 0 0
1 1 1 0
Circuito Meio Multiplicador
Multiplicação completa
A B Cin S Cout
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 0
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 43
Circuito Multiplicador Completo
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 44
Circuito Divisor
0 / 0 = 0
0 / 1 = 0
1 / 0 = 0
1 / 1 = 1
A B S Cout
0 0 0 0
0 1 0 0
1 0 0 0
1 1 1 0
Circuito Meio Divisor
Divisão completa
A B Cin S Cout
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 0
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 45
Circuito Divisor Completo
http://ozark.hendrix.edu/~burch/logisim/pt/index.html
http://ozark.hendrix.edu/~burch/logisim/pt/download.html
http://sourceforge.net/projects/circuit/
Esquema elétrico
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 46
Para saber mais: www.waitingforfriday.com
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 47
AULA 7
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:
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 48
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á:
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
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 49
+ 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
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 - 50
AULA 8
Armazenamento de Mídias Som Armazenar números é relativamente simples, letras, a partir de uma tabela de
conversões também se torna descomplicado, mas os sons são um pouco mais
complexos.
Primeiro é preciso entender o som, veja figura
Amostra
Imagens Para as imagens primeiro é preciso entender as cores. Elas seguem o padrão
Hexadecimal de codificação. O monitor possui 3 cores distintas, dispostas lado a
lado, sendo Vermelho, Verde e Azul, ou o padrão RGB, do acrônimo inglês.
Ao misturar as cores com INTENSIDADES diferentes, obtém-se novos padrões de
cores. As cores seguem a seguinte tabela.
Red Green Blue
Vermelho 255 0 0
Verde 0 255 0
Azul 0 0 255
Amarelo 255 255 0
Ciano 0 255 255
Magenta 255 0 255
Branco 255 255 255
Preto 0 0 0
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 51
A codificação informa o padrão de bits a serem armazenados e o responsável pelas
cores, ou a saída delas é o monitor.
Uma imagem é na verdade a distribuição das cores dentro de um arquivo, veja:
Para entender melhor veja seguinte figura:
Extensões:
BMP
16milhoes de cores e alta definição. Arquivos grandes.
JPEG
16 milhões de cores e definição variável, com compressão. Arquivos compactos.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 52
GIF
256 cores, compressivo, alta qualidade de imagem baixa em cores. Tamanhos
compactos. Suporta fundo transparente e animações.
PNG
Livre, ideal para WEB, Alta qualidade, transparência, compressão e tamanhos
reduzidos. Fundo transparente, sem animação.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 53
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 54
Aula 8
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.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 55
O resultado da expressão era então armazenado na memória principal.
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 os dados a serem armazenados,
acompanhados de um sinal de gravação.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 56
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
Processador
Dados
Read
Write
Endereços
Decodificador de
endereços
ROM 1
RAM 1
RAM 2
P 1
P 2...
W R
Barramento de dados
Barramento de endereços
IHM
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 57
AULA 9
Circuitos combinados Denomina-se circuito combinado, ou combinatório, o conjunto de portas lógicas
que exerçam a função para que foram criadas, independente de estado, ou seja, o
resultado sempre será o mesmo, diferentemente dos circuitos sequenciais que
dependem do estado em que estão, ou seja, o resultado pode variar.
Somador Veja o semi-somador:
FIGURA 1 - SEMI-SOMADOR
FIGURA 2 - SOMADOR COMPLETO
FIGURA 3 - SOMADOR DE 4 BITS
Subtrador
FIGURA 4 - SUBTRADOR
Multiplexadores Os multiplexadores são responsáveis por transportar um sinal de 2, 4, 8, 16 ou mais
canais (base 2) por um única canal.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 58
São utilizados para transporte de sinais a longas distâncias, economizar vias e criar
lógicas de ordem para o transporte, em especial quando atuam em conjunto com os
desmultiplexadores.
Quando um circuito tiver que trabalhar (ou retrabalhar um sinal) e tiver duas
entradas, situação impossível, o multiplexador decide qual sinal deverá entrar
naquele momento, de forma matemática.
FIGURA 5 - MUX DE 2 BITS
FIGURA 6 - MUX DE 4 BITS
Decodificadores Os decodificadores são o oposto da criação dos códigos. Os decodificadores
permitem recuperar informações codificadas, como os números binários em
números decimais. Um decodificador com 4 entradas permite a criação de um
display que exiba de 0 à F, este display é composto de 7 saídas, codificadas de A à G.
Veja um exemplo de um decodificador de 2 entradas e um display.
FIGURA 7 – DECODIFICADOR DE 2 BITS
FIGURA 8 - DECODIFICADOR DE 4 BITS
E onde uso os decodificadores?
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 59
FIGURA 9 – DISPLAY
FIGURA 10 - DISPLAY DE 4 BITS
FIGURA 11 - DISPLAY DE 8 BITS
Onde consigo simuladores digitais?
Digital Works - http://www.electronics-lab.com/downloads/cnt/fclick.php?fid=52
TK gate - http://www.tkgate.org/
Yenka - http://www.yenka.com/
DigiLab
logisim - http://www.awadallah.com/digilab.html
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 60
AULA 10
Flip-Flop Flip-flops são circuitos que possuem a característica de manter os bits de saída
independente de energia, podem ser considerados os princípios das memórias. Um
dos circuitos sequenciais mais simples é o constituído por duas portas NOR
realimentadas, ou seja, uma das saídas de cada porta é direcionada para a entrada
da outra, veja:
R S Q
0 0 0
0 1 1
1 0 1
1 1 0
TABELA 1 - TABELA VERDADE FLIP-FLOP
R S Q
0 0 1
0 1 0
1 0 0
1 1 0
TABELA 2 - TABELA VERDADE NOR
FIGURA 12 - FLIP-FLOP
Este tipo de flip-flop é chamado de assíncrono, pois independe de qualquer
operação, aplicando seu resultado imediatamente ao estímulo. Isto faz com que
este circuito possa armazenar 0 ou 1 em nível lógico.
O flip-flop síncrono, por sua vez é utilizado quando há um conjunto deles
trabalhando e dependem que seus resultados ocorram ao mesmo tempo. Para que
haja tal sincronismo há a entrada chamada clock que permite que todos eles
mudem de estado ao mesmo tempo, veja:
TABELA 3 - FLIP-FLOP SÍNCRONO
ROM Read-Only Memory são memórias que servem apenas para leitura e não permitem a
alteração de estado como nos flip-flop. São programadas pelo fabricante de forma
física. Seu emprego é normalmente associados à dispositivos eletrônicos que
apenas manipulem dados de entrada e não necessitam armazenas dados. Quando
existe esta necessidade, então emprega-se as memórias PROM, EPROM, EEPROM e
Flash. De forma genérica, o nome de memória ROM também é empregado aos HDs,
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 61
CD-ROMs e outras mídias de armazenamento estável, no entanto isto é feito de
forma incorreta, pois para se reprogramar uma memória ROM são necessários
artifícios que intervenham em sua arquitetura, como segue:
ROM – A memória é construída com um decodificador associado à portas lógicas e
suas conexões são soldadas pelo fabricante, o que impede sua alteração. O
funcionamento de uma ROM é o recebimento do endereço binário vindo do
decodificador e o transforma em uma palavra com capacidade do exponencial do
número de entradas, ou seja, se tiver 2 entradas de endereço, terá uma capacidade
de armazenamento de 4 bits, se forem 4 bits de endereço, serão 16 bits de
armazenamento e 8 para 64b;
FIGURA 13 – READ ONLY MEMORY
PROM – Programmable ROM são memória que permitem a alteração de seu estado
original apenas uma vez, ou seja, o fabricante cria as N possibilidades de
programação, como se fossem fusíveis, que ao serem queimados perdem a
conexão. Isto é conseguido com conexões realizadas de modo lógico. O simples
fato de se programa-la altera em definitivo seu estado;
FIGURA 14 - PROGRAMMABLE ROM
EPROM – Erasable PROM são memórias que tem um funcionamento diferente, pois
por meio de radiação ultra-violeta o conteúdo pode ser alterado, ou melhor,
apagado e assim, permite-se a programação de novo. São reconhecidas pela janela
na parte superior do chip. Normalmente o BIOS era construído com EPROMs e um
adesivo do fabricante para proteger do apagamento acidental. Podem armazenar
de 16.000bits (16Kb = 2KBytes) até mais de 4Mbits, ou 512KBytes. O processo de
apagar uma memória deve ser feito com ela for do sistema e leva cerca de 30
minutos.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 62
FIGURA 15 - ERASABLE PROM
EEPROM – Eletrically EPROM são memórias que podem ser escritas e apagadas por
meio de eletricidade, em uso no circuito. Para se gravar os dados, usa-se uma
voltagem elétrica alta, assim como na EPROM, no entanto essa voltagem superior
causa a deterioração dos componentes, assim como a memória flash, que utiliza o
mesmo recurso, as memórias EEPROM tem um limite de uso de cerca de 100.000 à
1.000.000 de vezes de gravação, isto significa que deve-se evitar o trabalho on-line
em que se grava constantemente os dados diretamente na EEPROM, devendo-se
fazê-lo somente após a conclusão do trabalho.
FIGURA 16 - ELETRICALLY EPROM
Flash – As memórias Flash são semelhantes às EEPROM, no entanto trabalham com
blocos de gravação, ou seja, com Bytes e as EEPROM trabalham bit a bit. São
memórias mais baratas e de maior velocidade de gravação, pois realizam a escrita
dos endereços em blocos, ou seja, vários de uma só vez e a arquitetura de escrita e
reescrita procura a utilização de endereços não utilizados, assim aumentando a vida
útil da memória, diferente dos HDs que procuram utilizar o mesmo endereço para
otimizar a velocidade de leitura e ganhar velocidade. Como a leitura é lógica, sua
velocidade é única.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 63
FIGURA 17 - MEMÓRIA FLASH
CD-ROM – Compact Disc ROM são memórias apenas de leitura, pois utilizam um
feixe de laser para gravar de forma irreversível os bits num superfície plástica
reflexiva, ao queimar não irá refletir, logo sendo atribuído o valor 0. Os CDs do tipo
Read and Write (RW) a camada é feita de material mais duro, ou seja, o processo de
apagamento dos dados rouba uma camada vizinha o que permite reflexão
novamente no mesmo ponto, porém a vida é curta de uma mídia doeste tipo, seja
para o número de gravações como para leitura, pois é um processo à laser, que
pode gastar a superfície do CD.
RAM Random Access Memory são memórias de acesso aleatório, este nome,
propriamente não se aplica somente às memórias RAM, mas muitos tipos de
memórias ROM também, isto significa a diferença entre as memórias ROM e RAM
está no fato de serem voláteis, ou seja, perderem seu estado quando desligadas. Há
algumas memórias RAM que também mantem seus dados mesmo com o
computador desligado, à exemplo do relógio, mas não há nada diferente, mas sim
uma bateria que mantém seus dados ativos.
Uma memória RAM possui as seguintes características:
Capacidade em células – Nº de células disponíveis na RAM. Sempre potência de 2.
Largura – Quantos bits/célula são possíveis de se armazenar por vez. Sempre múltiplos de 8 (8,16,32,64,128...) e sua largura é denominada PALAVRA, sempre em potência de 2 (1,2,4,8,16...).
Capacidade em Bytes – Produto da capacidade pela largura em Bytes. Se uma memória tiver 16 células (figura 19) e cada célula 16 bits (2 Bytes), então a capacidade da memória será de 32 Bytes. 16 x 2, ou (16 x 16) / 8.
Endereço – Número da célula. Para se endereçar uma memória é preciso de espaço para endereçamento. Esta memória auxiliar para o endereçamento deve ter a largura (em bits) dependendo da quantidade de células que tem a memória, ou seja, uma memória como da figura 19, com 16 células, precisará de 4 bits para armazenamento de endereços, de forma oposta, uma RAM com 4MBytes de capacidade deve ter 512 células com largura de 64bits resultando numa capacidade de 2048. Outro exemplo
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 64
En
de
reço
(W
rite
)
Célula 0 Valo
r Escrito
(Re
ad)
Célula 1
Célula 2
Célula 3
Célula 4
Célula 5
Célula 6
Célula 7
Célula 8
Célula 9
Célula 10
Célula 11
Célula 12
Célula 13
Célula 14
Célula 15
FIGURA 18 - ESQUEMA DE UMA MEMÓRIA RAM COM 16 CÉLULAS
Veja alguns exemplos:
células largura (b) capacidade (B) Endereço (H) Total (B)
2 8 Cél. x larg. -> 2 x 8 = 16b ou 2B (1B = 8b) 2(0010) 2
células largura (b) capacidade (B) Endereço (H) Total (B)
2 8 2 2(0010) 2
células largura (b) capacidade (B) Endereço (H) Total (B)
16 16 32 A(1010) 32
celulas largura (b) capacidade (B) Endereço (H) Total (B)
16 64 128 A(1010) 128
celulas largura (b) capacidade (B) Endereço (H) Total (MB)
1024 64 8192 400 (10000000000) 8
celulas largura (b) capacidade (B) Endereço (H) Total (GB)
524.288 64 4.194.304 80000 4096
Ou seja, (Capacidade x Largura)/8(bits) = Capacidade total em Bytes
As memórias RAM são rápidas e voláteis, diferentemente das memórias ROM que
utilizam espaços específicos para gravação, estas memórias não se valem de
endereços para alocação ou recuperação dos dados, apenas indicando o endereço.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 65
As memórias podem ser divididas em SDR(Single Data Rate) e DDR(Double Data
Rate), sendo a primeira capaz de entregar 1 dado por pulso de clock, que possuía as
freqüências de 66MHZ, 100MHZ e 133MHZ e eram utilizadas até o Pentium III ou
AMD Athlon.
As memórias DDR, por sua vez, tem a capacidade de transmitir o dobro de dados
por pulso de clock, atingindo o dobro da velocidade que as memórias SDR sem a
necessidade de alterar a velocidade do barramento, ou seja, uma memória que
opere em 100MHZ tem a velocidade efetiva de 200MHZ. AS memórias DDR2,
passaram a trabalhar com 4 bits por pulso de clock e as DDR3, 8 bits, atingindo uma
velocidade máxima de 1600MHZ.
TABELA 4 - ESPECIFICAÇÕES TÉCNICAS DAS MEMÓRIAS
Nome padrão
Clock dos chips
Ciclo de tempo
Clock real
Dados por segundo
Nome do módulo
Taxa de transferência
DDR-200 100 MHz 10 ns 100 MHz 200 Milhões PC-1600 1600 MB/s
DDR-266 133 MHz 7.5 ns 133 MHz 266 Milhões PC-2100 2100 MB/s
DDR-300 150 MHz 6.67 ns 150 MHz 300 Milhões PC-2400 2400 MB/s
DDR-333 166 MHz 6 ns 166 MHz 333 Milhões PC-2700 2700 MB/s
DDR-400 200 MHz 5 ns 200 MHz 400 Milhões PC-3200 3200 MB/s
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 66
AULA 11
Processador de 8 bits
Veja a animação do processamento.
Depois de compreender a animação é preciso entender o funcionamento do sinal de
operação aplicado à ALU.
TABELA 5 - SINAL DE OPERAÇÃO DA ALU
Sinal
da ALU Operação Multiplexador Obs.:
0 0 A + B Saída do somador XOR não altera o operando B
0 1
A – B
ou
A + (-B)
Saída do somador
(subtrador [simétrico de
B])
B é complemento de 2:
XOR troca todos os bits do
operando B
A entrada de transporte do
somador dica com 1, logo soma
mais 1
1 0 A ^ B Saída da porta AND Conjunção lógica (AND) bit a bit dos
dois operandos
1 1 A v B Saída da porta OR Disjunção lógica bit a bit (OR) dos
dois operandos
Processador
Un. De
CTRL
Un. De
Dados
Memória de
instruções
Memória de
dados
Periféricos I/O
FIGURA 19 - ARQUITETURA VON NEUMANN
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 67
AULA 12
Barramentos O computador de 4ª geração é um composto de diversos tipos de memórias, RAMs
e ROMs, dispositivos simples ou complexos de Interface Homem Máquina, como
um simples botão de ligar ou desligar ou uma impressora e um ou mais
processadores.
Para permitir a comunicação entre todos os dispositivos, o meio físico para esta
interligação é o barramento que é o conjunto de ligações paralelas que permitem a
comunicação entre os dispositivos. O barramento pode ser dividido em:
Barramento de endereços – que permite a localização dos dispositivos e caso seja
um composto celular, quais devem ser acessadas.
Barramento de dados – é utilizado pelo processador para ler e escrever os dados
contidos nos dispositivos. Diferente dos outros barramentos, este é bidirecional,
pois permite a leitura e a escrita de dados.
Barramento de controle – é constituído pelos sinais de controle de acesso à
memória, do processador e dos periféricos.
FIGURA 20 – BARRAMENTOS
Como se pode observar na ilustração, a diferença entre um barramento e uma via
de ligação simples é a possibilidade de se conectar mais de um dispositivo ao
mesmo tempo.
Como o barramento é uma via de condutores elétricos, um dos fatores
determinantes do desempenho de um computador é a largura do barramento, que
Processador
Dados
Read
Write
Endereços
Decodificador de
endereços
ROM 1
RAM 1
RAM 2
P 1
P 2...
W R
Barramento de dados
Barramento de endereços
IHM
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 68
é medida em bits, que pode ser um barramento de 8 vias ou 8 bits, 16, 32, 64 ou 128
bits. Para se medir o desempenho de um computador é preciso saber a largura do
barramento que, nos computadores modernos está de acordo com a capacidade do
processador, assim, um processador como o Pentium 4 de 32 bits (4 Bytes) e um
clock de 400MHz do barramento tem uma taxa de transferência de 1600MB/s, ou:
1. 32bits = 4Bytes => 4 x 400MHz = 1600MB/s;
2. 64bits = 8Bytes => 8 x 1066MHz = 8528MB/s, ou 8,5GB/s.
Os barramentos podem ser divididos em 3:
Barramento local – é o barramento mais rápido. Ele interliga o processador à
memória Cache;
Barramento de Sistema – é o barramento que permite a comunicação entre o
sistema de processamento (processador + memória cache) à memória principal por
meio de uma ponte, chamada de ponte norte;
Barramento de expansão – este barramento interliga o conjunto principal
(processador + memória principal) aos dispositivos I/O (in/out), como CD-ROMs,
placas de video, mouse e impressoras. Entre os dispositivos existe a ponte sul que
assim como a norte tem a função de sincronizar as diferentes velocidades de
barramentos internos dos dispositivos e permitir o melhor funcionamento do
sistema.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 69
FIGURA 21 – PLACA MÃE E SEUS COMPONENTES
Outro item importante é o protocolo de comunicação. O ISA (Industry Standart
Architecture) da IBM foi o padrão adotado, por atender o processador 8088 deste
fabricante. Possuía 32 linhas de sinal, sendo 20 para a memória, que são suficientes
para endereçar 1MB, 8 linhas de dados, mais 4 linhas individuais para leitura e escrita
na memória e nos dispositivos de I/O. Este protocolo permite a transferência de 2
Bytes por clock, ou seja, 2 x 8MHz = 16MB/s.
EISA (Extended Industry Standart Architecture) foi proposto pela Compaq e era
basicamente uma evolução do ISA de 16 bits, passando à capacidade de 32 bits, o
que elevou sua taxa de transferência para 32MB/s, isto é, 4b x 8MHz.
VESA (Vídeo Eletronic Standart Association) é o principal componente do
barramento VLB (VESA Local Bus) que é a proposta para o aperfeiçoamento do
processamento de imagens. Como seu barramento era de 32 bits, de frequência
idêntica ao do processador, seu salto de taxa de transferência poderia ser de
132MB/s até 400MB/s, exemplo (32b, ou 4B x 33MHz[processador] = 132MB/s), pois
os processadores poderia atingir velocidades de até 66MHz.
PCI (Peripheral Component Interconnect) foi desenvolvido pela Intel® e tem como
principal qualidade a interconexão entre barramentos, por efetivamente utilizar as
pontes norte e sul. Com transferência de dados de 32 a 64 bits por clock à uma
velocidade de 33 à 66MHz, resultando numa taxa de 132MB/s. É a primeira a possuir
dispositivo plug-n-play.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 70
FIGURA 22 – PCI
Os barramentos PCI-X (extended) e PCI e Express são evoluções que permitem
velocidades maiores por conta de taxas de transferências e de clock, sendo que na
segunda, ela pode utilizar caminhos alternativos de comunicação.
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 71
AULA 13
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.
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 - 72
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.
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
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 - 73
0111) indica a célula da memória, então, armazene na célulaA7 da memória o
conteúdo do registrador 5.
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);
Universidade Guarulhos – Guarulhos - 10/02/2011
Prof. Erwin Alexander Uhlmann – Instituto Siegen - 74
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
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.