• Nenhum resultado encontrado

Introdução à Computação e suas Aplicações

N/A
N/A
Protected

Academic year: 2021

Share "Introdução à Computação e suas Aplicações"

Copied!
59
0
0

Texto

(1)

Introdução à Computação

e suas Aplicações

Eduardo Reck

Aula 03 - Introdução à Arquitetura e Organização de

(2)

 Sistemas Computacionais:  Crescimento acelerado.

 Empregados em vários setores.

 Alguns mitos que se tornaram realidade: Caixas Eletrônicos

Computação embarcada em automóveis. Computadores Portateis.

Projeto do Genoma Humano World Wide Web.

Introdução à Arquitetura e Organização

de Computadores

(3)

Sistemas Computacionais

 Classificação

 Desktop

 Servidores

(4)

 Enfatizam o bom desempenho a um único usuário, por um baixo custo e normalmente são usados para executar software independente.

 Representa um dos maiores mercados para os computadores e a evolução de muitas tecnologias de computação é motivada por essa classe.

(5)

 Forma moderna do que antes eram os mainframes, minicomputadores e supercomputadores. Projetados para suportar grandes cargas de trabalho, em aplicações científicas ou em aplicações empresariais.

 São construídos a partir da mesma tecnologia básica dos computadores desktop, mas fornecem uma maior capacidade de expansão tanto no processamento quanto na e/s de dados.

(6)

 Podem ser:

 Mini-servidores

 Menores que desktop e voltado para o armazenamento de dados

 Supercomputadores

 Constituído por centenas ou milhares de processadores, gigaBytes ou teraBytes de memória e de teraBytes ou pentaBytes de armazenamento.

 Voltados para resolução de cálculos científicas e de engenharia de alta capacidade, tais como previsão do tempo, exploração de petróleo, determinação da estrutura da proteína.

(7)

 Supercomputadores

 Blue Gene

 Primo do Deep Blue

 Possui 131.000 processadores  360 trilhões de operações por

segundo

 31.634 vezes mais rápido que o Deep Blue (256 co-processadores, capazes de analisar

aproximadamente 200 milhões de posições por segundo.

(8)

 Maior classe de computadores e abrangem a faixa mais ampla de aplicações e desempenho.

 São projetados para executar uma aplicação ou um conjunto de aplicações relacionadas como um único sistema.

 Normalmente possuem necessidades específicas que combinam um desempenho mínimo com limitações rígidas em relação a custo ou potência.

 Computadores embutidos, em geral, possuem menor tolerância a falhas, pois é comum seu emprego em sistemas de tempo real.

(9)

Tipos de computadores

 Supercomputadores (grande capacidade de

processamento, paralelismo, pesquisas científicas): CRAY

 Mainframes (grande porte, centenas de usuários): IBM, DEC, UNISYS

 Minicomputadores (versão menor dos mainframes, vários usuários)

 Microcomputadores (potência limitada, 1 usuário): PC (downsizing!)

 Cluster: Agrupamento de computadores agregando uma grande capacidade de processamento.

(10)

• O Cray CX1 tem 8 nós e 16 processadores Intel Xeon, dual ou quad core. Cada nó pode ter 64 gigabytes de RAM e há um RAID com 4 terabytes de disco.

• O preço vai de US$25.000,00 a US$ 60.000,00.

• Quem quiser se candidatar pode encontrar informações técnicas completas aqui.

(11)

Tipos de computadores

Quanto ao número de processadores

Monoprocessamento: apenas 1 processador, 1 memória principal, vários programas podem

compartilhar o mesmo processador (ex: “time-sharing” - cada programa tem um tempo para usar o

processador);

Multiprocessamento: mais de um processador,

podem compartilhar memória ou não, podem executar vários programas ao mesmo tempo ou dividir a

(12)

 Arquitetura

 São os atributos de um sistema que são visíveis para o programador, ou seja, que possuem impacto direto sobre a execução lógica de um programa.

 Exemplos: conjunto de instruções, número de bits usado para representar os tipos de dados, mecanismos de E/S, técnicas de endereçamento de memória.

 Organização

 São às unidades operacionais e suas interconexões que implementam as especificações da sua arquitetura.

 Exemplos: sinais de controle, interfaces entre o computador e os periféricos, tecnologia de memória utilizada.

(13)

 Mais exemplos:

 Definir se um computador deve ou não ter uma instrução de multiplicação.

 Decisão de Arquitetura

 Definir se uma instrução de multiplicação será implementada por uma unidade especial de multiplicação ou por um mecanismo que utiliza repetidamente sua unidade de soma.

 Decisão de Organização

(14)

Arquitetura Organização

Tempo de vida relativamente curto.

Muda com a evolução da tecnologia. Pode mudar sem afetar a arquitetura

Transparente ao programador Pode sobreviver por muitos anos.

Isso garante compatibilidade de software.

(15)

Arquitetura Organização

Tempo de vida relativamente curto.

Muda com a evolução da tecnologia. Pode mudar sem afetar a arquitetura

Transparente ao programador Pode sobreviver por muitos anos.

Isso garante compatibilidade de software.

(16)

 Outras características:

 Organização

 Tempo de vida relativamente curto.  Muda com a evolução da tecnologia.  Pode mudar sem afetar a arquitetura  Transparente ao programador

 Arquitetura

 Pode sobreviver por muitos anos.

 A família Intel X86 possui a mesma arquitetura básica  A família IBM System/370 também.

 Isso garante compatibilidade de software.

 Pelo menos retro-compatibilidade

 Em microcomputadores a relação entre arquitetura e

organização é mais estreita.

 Mudanças tecnológicas, em geral, também influenciam a

arquitetura.

(17)

Aplicações & Utilitários

Sistema Operacional

Basic Input Output System (BIOS)

(18)

Estágios de Evolução da Arquitetura de

Computadores.

Geração Mecânica (1642-1945)

 Blaise Pascal

 Calculadora mecânica

 Só efetuava somas e subtrações.

 Wilhelm Von Leibniz

 Calculadora mecânica que efetuava as quatro operações aritméticas

(19)

Estágios de Evolução da Arquitetura de

Computadores

 Charles Babbage

 Máquina Diferencial - Só somava e subtraia

 Realizava um único algoritmo.

 Método das diferenças finitas usando polinômios

 Saída era dada através da perfuração de pratos de cobre.

 Máquina Analítica (1834)

 Possuía memória, unidade de processamento, unidade de entrada e saída.

(20)

Estágios de Evolução da Arquitetura de

Computadores

 Ada Augusta Lovelace

 Primeira desenvolvedora de software da história  Produziu software para a máquina analítica de

Babbage

 Infelizmente a máquina não funcionou

(21)

Estágios de Evolução da Arquitetura de

Computadores

 Konrad Zuse

 máquina de calcular usando relés – 1930

 John Atanasoff

 Aritmética binária e memória com capacitores

 Howard Aiken

 descobriu os trabalhos de Babbage  Mark I - 1944

 6 segundos para executar uma instrução

(22)

Estágios de Evolução da Arquitetura de

Computadores

Geração das Válvulas (1945-1955)

 COLOSSUS - 1943

 1º computador eletrônico digital do mundo

 Mauchley e Eckert

 ENIAC - 1946

 18mil válvulas, 1500 relés e 6mil chaves  Marco da história do computador moderno  Fundaram uma empresa (hoje, Unisys)

(23)

Estágios de Evolução da Arquitetura de

Computadores

 John von Neumann

 Máquina de von Neumann - 1952

 programas representados em forma binária na memória do computador (programa armazenado)

 uso da aritmética binária para representar números memória, unidade aritmética, unidade de controle,

 dispositivo de entrada e dispositivo de saída  Registrador especial: Acumulador

 Maioria dos computadores atuais ainda é projetada segundo essas premissas

(24)

Estágios de Evolução da Arquitetura de

Computadores

(25)

Estágios de Evolução da Arquitetura de

Computadores

Geração dos transistores (1955-1965)

 Invenção do transistor - 1948

 PDP-1 - 1961 - Digital Equipament Corp.

 Vídeo de 512x512 pixels

 IBM 7090

 Computador mais rápido da época

 Início do domínio da IBM  PDP-8

 Barramento único

(26)

Estágios de Evolução da Arquitetura de

Computadores

 Seymour Cray

 CDC 6600 - 1964

 processamento paralelo

 outros processadores ajudando a CPU principal

(27)

Estágios de Evolução da Arquitetura de

Computadores

Circuitos Integrados (1965-1980)

 Surgimento do Circuito Integrado - 1958

Robert Noyce

 Co-fundador da Intel

 Gordon Moore

Lei de Moore: O número de transistores em um chip dobra a cada 18 meses

(28)

Estágios de Evolução da Arquitetura de

Computadores

 IBM System/360

 Mesma arquitetura em máquinas com diferentes poder de processamento.

 Surgimento do conceito de multiprogramação

 Utilizava a microprogramação para emular outros computadores da IBM.

(29)

Estágios de Evolução da Arquitetura de

Computadores

Integração de Circuitos em Escala muito Alta (1980 - ?)

 Circuitos integrados VLSI

 Milhões de transistores em um único chip

 Surgimento dos microcomputadores

 Apple e Apple II - Macintosh  IBM PC

(30)

 PC - Program counter – indica a próxima instrução a ser executada.

 IR - Instruction register – recebe a instrução a ser decodificada pela CPU.

 AC – Acumulador (registrador auxiliar) - Guarda temporariamente valores que estão sendo calculados.

 MAR – Memory Address Register - Registrador que indica a

próxima posição de memória a ser referenciada. Conectado ao barramento de endereços.

 MDR – Registrador usado para receber ou transmitir dados. Conectado ao barramento de dados.

 ALU (ULA) – Unidade Lógica Aritmética

(31)

Organização de um SC

ULA: Unidade Lógica e Aritmética ACC: Acumulador

RI: Registrador de Instrução CP: Contador de Programa

REM: Registrador de End. de Memória RDM: Registrador de Dados de Memória UCP Memória Principal Dispositivos de E/S

...

ULA ACC RI CP Regis- tradores de Uso Geral REM RDM Cache L1 Unidade de Controle Memória Cache L2 BE BD BC Decodificador de Instruções

(32)

Como funciona um computador simples

Vídeo Teclado

Memória

Programas + Dados E/S Buffers ALU PC IR Gerai s MAR MBR Unid. processamento Unid. controle IR – Instruction Register PC – Program Counter MAR – Memory Address Register

(33)

Como funciona um computador?

Busca a próxima instrução Executa a instrução Início Término

(34)

Evolução das

Linguagens

http://www.scriptol.com/program ming/chronology.php

(35)

Computador – Sistema Binário

 Desenvolvido em 1679 por Leibniz

(co-criador do Cálculo)

 Possui apenas dois algarismos

 Componentes eletrônicos possuem dois estados elétricos: “ligado” ou “desligado”

 Armazenamento e manipulação mais simples  Representação dos números mais longa

 Um circuito contendo um sinal elétrico é chamado

(36)

Sistemas de Numeração

• bit

– menor partícula de informação no

computador, pode representar

0

ou

1

. Esses

dois símbolos são opostos e mutuamente

exclusivos.

(37)

 Existiram e existem diversos sistemas de

numeração.

 No computador, serve para questões de

endereçamento, armazenamento, conteúdo

de tabelas e representações gráficas.

 Bases diferentes usadas nos mais diversos

computadores.

(38)

Bases

 Binária 0, 1  Octal 0, 1, 2, 3, 4, 5, 6, 7  Decimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9  Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Sistemas de Numeração

(39)

Número Base 2 Base 8 Base 10 Base 16 Zero 0 0 0 0 Um 1 1 1 1 Dois 10 2 2 2 Três 11 3 3 3 Quatro 100 4 4 4 Cinco 101 5 5 5 Seis 110 6 6 6 Sete 111 7 7 7 Oito 1000 8 8 Nove 1001 9 9 Dez 1010 10 A Onze 1011 11 B Doze 1100 12 C Treze 1101 13 D Quatorze 1110 14 E Quinze 1111 15 F

(40)

• Existem 10 tipos de pessoas, as que

conhecem sistemas binários e as que não

conhecem sistemas binários!

(41)

8 bits = 1 Byte

Múltiplos em potências de 2 (210 = 1024):

1 KiloByte KB = 1024 Bytes (210 Bytes)

1 MegaByte MB = 1024 KB (220 Bytes) 1024*1024 1 GigaByte GB = 1024 MB (230 Bytes) 1024*1024*1024 1 TeraByte TB = 1024 GB (240 Bytes) 1 PetaByte PB = 1024 TB (250 Bytes) 1 ExaByte EB = 1024 PB (260 Bytes) 1 ZettaByte ZB = 1024 EB (270 Bytes) 1 YottaByte YB = 1024 ZB (280 Bytes)

Sistemas de Numeração

(42)

Padrões de caracteres – EBCDIC

Extended Binary-Coded Decimal Interchange Code

 Criada pela IBM em 1964

 Utiliza 8 bits para representar um caractere, permite 256 caracteres

 Ainda utilizada em computadores de grande porte (mainframes)

(43)

Padrões de caracteres – ASCII

American Standard Code for Information Interchange

 Começou a tornar-se padrão em 1967

 Utilizava 7 bits para representar um caractere, permitia 128 caracteres

 Gerou diversas extensões e variações:

ASCII Extended – 256 caracteres; ISO 8859 – 256 caracteres;

UTF-8 – mais de 1 milhão de caracteres;

(44)

Usos comuns

 Páginas de código das páginas Web:

 Pode dificultar a exibição de caracteres acentuados e símbolos especiais.

 A codificação pode ser configurada nos navegadores (browsers).

 Anexos de e-mail, às vezes, são convertidos em seqüências de caracteres ASCII para permitir a transmissão sem perda:

 UUencode, Base64, BinHex ou MIME.

(45)

 Representação nas bases

1011012 - 101101 na base 2 (binária) 7528 - 752 na base 8 (octal)

651 - 651 na base 10 (decimal)

Quando não é indicada a base, a base é decimal. Mas poderia ser representado assim: 65110

42316 - 423 na base 16 (hexadecimal)

(46)

 Representação nas bases – Base decimal

7484

7484 = 7 x 1000 + 4 x 100 + 8 x 10 + 4

7484 = 7 X 103 + 4 X 102 + 8 X 101 + 4 X 100

 Representação em polinômio genérico

Número = dn10n + d

n-110n-1 + ... d1101 + d0100

(47)

 Representação de binário na base 10

11010012 11010012 = 1 x 26 + 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 11010012 = 64 + 32 + 0 + 8 + 0 + 0 + 1 11010012 = 10510

 Representação em polinômio genérico

Número = bn2n + b

n-12n-1 + ... b121 + b020

(48)

 Representação de octal na base 10

546218

546218 = 5 x 84 + 4 x 83 + 6 x 82 + 2 x 81 + 1 x 80 546218 = 20480 + 2048 + 384 + 16 + 1

546218 = 2292910

 Representação em polinômio genérico

Número = on8n + o

n-18n-1 + ... o181 + o080

(49)

 Representação de hexadecimal na base 10

3974116

3974116 = 3 x 164 + 9 x 163 + 7 x 162 + 4 x 161 + 1 x 160 3974116 = 196608 + 36864 + 1792 + 64 + 1

3974116 = 23532910

 Representação em polinômio genérico

Número = hn16n + hn-116n-1 + ... h1161 + h0160

(50)

 Mudança da base 10 para binário

714 714 |_2_ 0 357 |_2_ 1 178 |_2_ 0 89 |_2_ 1 44 |_2_ 0 22 |_2_ 0 11 |_2_ 1 5 |_2_ 1 2 |_2_ 0 1

Sistemas de Numeração

= 1011001010

(51)

 Mudança da base 10 para binário

 714 714 |_2_ 0 357 |_2_ 1 178 |_2_ 0 89 |_2_ 1 44 |_2_ 0 22 |_2_ 0 11 |_2_ 1 5 |_2_ 1 2 |_2_ 0 1

714 = 1011001010

2

Sistemas de Numeração

(52)

Mudança da base 10 para octal

714 714 |_8_ 2 89 |_8_ 1 11 |_8_ 3 1

714 = 1312

8

Sistemas de Numeração

(53)

 Mudança da base 10 para hexadecimal

714 714 |_16_ 10 44 |_16_ 12 2 714 = 2CA16 Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F A=10 , B=11 , C=12 , D=13 , E=14 , F=15

Sistemas de Numeração

(54)

 Mudança da base binária para decimal (10)

10110010102

0 x 2

0

= 0

1 x 2

1

= 2

0 x 2

2

= 0

1 x 2

3

= 8

0 x 2

4

= 0

0 x 2

5

= 0

1 x 2

6

= 64

1 x 2

7

= 128

0 x 2

8

= 0

1 x 2

9

= 512

= 0+2+0+8+0+0+64+128+0+512 = 714

Sistemas de Numeração

(55)

1 0 1 1 0 0 1 0 1 0

2

512+128+64+8+2 = 714

32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

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

(56)

• Mudança da base octal para decimal (10)

1 3 1 2

8

2 x 8

0

= 2

1 x 8

1

= 8

3 x 8

2

= 192

1 x 8

3

= 512

= 2+8+192+512 = 714

Sistemas de Numeração

(57)

• Mudança da base hexadecimal para decimal

2 C A

16

A x 16

0

= 10 x 16

0

= 10

C x 16

1

= 12 x 16

1

= 192

2 x 16

2

= 512

= 10+192+512 = 714

Sistemas de Numeração

(58)

Exercícios

Converta 179 e 65 para a base binária

Converta 1110 e 10110 para a base decimal

Qual é o maior número decimal que podemos representar com

a) 9 bits b) 10 bits c) 15 bits d) 16 bits

Converter os seguintes dígitos binários para hexadecimal

a) (1010101010)2 b) (10000001)2 c) (11111111111)2 d) (100110011001)2

Qual o equivalente binário dos seguintes números hexadecimais

a) (1000B0CA)16 b) (FADAB0A)16 c) (BADCA0)16 d) (CADEAD0)16

(59)

Respostas

Converta 179 e 65 para a base binária = Converta 1110 e 10110 para a base decimal =

Qual é o maior número decimal que podemos representar com

a) 9 bits = b) 10 bits = c) 15 bits = d) 16 bits =

Converter os seguintes dígitos binários para hexadecimal

a) (1010101010)2 = b) (10000001)2 = c) (11111111111)2 = d) (100110011001)2 =

Qual o equivalente binário dos seguintes números hexadecimais

a) (1000B0CA)16 = b) (FADAB0A)16 = c) (BADCA0)16 = d) (CADEAD0)16 = 10110011 e 1000001 14 e 22 511 1023 32767 65535 2AA 81 7FF 999 10000000000001011000011001010 1111101011011010101100001010 101110101101110010100000 1100101011011110101011010000

Referências

Documentos relacionados

ARREMATANTE, se ausente ao Leilão, será informado do resultado, via fac-símile ou pela Internet, devendo depositar os valores referentes à comissão do leiloeiro e ao

In addition, the Cu concentrations in the liver are a reliable indicator of Cu de- ficiency when there are clinical signs associated with his- tologic lesions involving axonal

História Protótipo Casos de Teste Refinamento Planning Build Geração de Massa Testes Homologação Responsável: time de QA Entradas: • Histórias; • Protótipos; • Casos

As previsões para o ano de 2003 foram comparadas com os dados das previsões qualitativas lançadas pelas Unidades de Negócio no Plano Anual 2003 (tabela 2).Considerandos os

As imagens postas para acompanhar o texto parece-me que, neste caso, funcionam como eficazes interpretações pontuais, como um precioso substituto visual do comentário escrito,

Foi medicado com miorrela- xante e bolsas de água quente no local; após 7 dias retornou a consulta com o mesmo quadro, associado a cefaléia, tonturas, disfagia,

Transcrição da obra “Dialogo de Joam de Barros com dous filhos seus, sobre preceptos moràes, em modo de jogo”, o âmbito do projecto Obras Pioneiras da Cultura Portuguesa,

Vantagem Competitiva da Empresa Mudar a Vantagem Competitiva Explorar a Vantagem Competitiva Produção no País: Exportação Produção no Estrangeiro: Investimento Forma