organização e arquiteturas de computadores 2009 cap 1

136
Janeiro de 2005 A MELHOR FACULDADE TECNOLÓGICA DE FORTALEZA. Prof. Aristides Prof. Aristides Organização Organização e e Arquitetura Arquitetura de de Computadores Computadores

Upload: guest7d021

Post on 09-Jun-2015

9.022 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Janeiro de 2005A MELHOR FACULDADE TECNOLÓGICA DE FORTALEZA.

Prof. AristidesProf. Aristides

Organização Organização

e Arquitetura e Arquitetura

de de

ComputadoreComputadore

ss

Page 2: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Janeiro de 2005

Page 3: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

HARDWARE (O Computador)HARDWARE (O Computador)

DADOS (Informações)DADOS (Informações)

SOFTWARE(Programas)SOFTWARE(Programas)

PESSOAS(Usuários)PESSOAS(Usuários)

Page 4: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Evolução dos Computadores; Linguagem de Máquina; Organização Interna, Análise de

Desempenho; Organização de Memória e

Dispositivos de Entrada e Saída.

Janeiro de 2008

Page 5: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

BROOKSHEAR, J. Glenn. Ciência da Computação - Uma Visão Abrangente. Porto Alegre: Bookman, 2000.

• Organização e Projeto de Computadores - A Interface Hardware/Software, J L Hennessy, D A Patterson;

• Arquitetura e Organização de Computadores, W Stallings, trad da 5a. Ed, Pearson-Prentice Hall, 2002.

• Bibliografia Complementar:Bibliografia Complementar:

• Bibliografia Básica:Bibliografia Básica:

Page 6: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Capitulo 1:Capitulo 1:

Componentes do Computador.Componentes do Computador.

Page 7: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.1 1.1 Computador e o Processamento Computador e o Processamento

da Informação.da Informação.

Page 8: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

A InformaçãoA InformaçãoEstamos vivendo a Era da Informação.

Mas, afinal, o que é INFORMAÇÃOINFORMAÇÃO?

Claude Shannon (autor de "The Mathematical Theory of Communication") define que informação está presente sempre que um sinal é transmitido de um ponto a outro.

São informações:•palavras,•um quadro (sinais visuais na forma de ondas de luz),•os impulsos elétricos através dos quais nossos olhos transmitem imagens ao cérebro, música, etc.

Além de transmitidas e recebidas, informações podem ser armazenadas e depois reproduzidas: em livros, em discos, em fotografias, e na memória humana. Desta forma, uma informação original pode ser reproduzida (transmitida muitas vezes).

Page 9: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Processamento da informação Processamento da informação -- refere-se ao armazenamento, transmissão, combinação e comparação da informação.

•Alguns agentes contribuíram de forma expressiva para estarmos hoje vivendo a Era da Informação.

•A escrita iniciou este processo, a imprensa foi um passo muito importante, e recentemente as telecomunicações difundem informação instantânea por todo o planeta.

•O mais recente dos agentes fundamentais que propiciaram esta onda de informações é também o mesmo agente da tecnologia que mais nos auxilia a lidar com ela, um agente que nos permite armazenar, classificar, comparar, combinar e exibir informações acuradamente e com velocidade: este agente tecnológico é o COMPUTADORCOMPUTADOR.

Page 10: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.1.1 Sistema Binário e Hexadecimais1.1.1 Sistema Binário e HexadecimaisRevisão.Revisão.

Page 11: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Número Número

Coisa banal que usamos no nosso dia-a-dia.

O que é número?O que é número?

Bem, pode ser dito que é um símbolo que representa uma coleção de objetos iguais.

Page 12: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Seja, por exemplo, o objeto representado por ☺.

Assim a coleção ☺ ☺ ☺ seria representada por 3

☺, a coleção ☺ ☺ ☺ ☺ ☺ por 5 ☺, etc.

Simples não?

Page 13: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Existem duas maneiras de representar uma informação:

• analogicamente

• digitalmente. 11 11 11 110 0

Page 14: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Os símbolos elementares são os dígitos ou algarismos e a quantidade deles é a base do sistema de numeração.

• Portanto, um sistema de numeração permite representar qualquer coleção com uma quantidade finita de símbolos elementares.

• E o nosso sistema de uso corrente é o decimal por ter a base 10.

• Mas podemos ter sistemas de qualquer base, desde que maior que 1.

Page 15: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Janeiro de 2005

A - COLEÇÃO B - DECIMAL C - OCTAL D - HEXADECIMAL E - BINÁRIO

  0 0 0 0

* 1 1 1 1

** 2 2 2 10

*** 3 3 3 11

**** 4 4 4 100

***** 5 5 5 101

****** 6 6 6 110

******* 7 7 7 111

******** 8 10 8 1000

********* 9 11 9 1001

********** 10 12 A 1010

*********** 11 13 B 1011

************ 12 14 C 1100

************* 13 15 D 1101

************** 14 16 E 1110

*************** 15 17 F 1111

**************** 16 20 10 10000

***************** 17 21 11 10001

****************** 18 22 12 10010

Page 16: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

A designação de decimal para este sistema numérico, advém de usar a base 10 e usa os algarismos:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

4631

1 x 100 = 1

3 x 101 = 306 x 102 = 6004 x 103 = 4000

Resultado = 4631

• Sistema numérico decimalSistema numérico decimal

Page 17: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Como o próprio nome diz, um sistema binário

contém apenas dois elementos ou estados.

• Num sistema numérico isto é expresso como uma

base dois, usando os dígitos 0 e 1.

• Esses dois dígitos têm o mesmo valor básico de 0 e 1

do sistema numérico decimal.

• Sistema numérico binário:Sistema numérico binário:

Page 18: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Devido a sua simplicidade, microprocessadores usam o sistema binário de numeração para manipular dados;

• Dados binários são representados por dígitos binários chamados "bits“;

• O termo "bit" é derivado da contração de "binary digit". Microprocessadores operam com grupos de "bits" os quais são chamados de palavras;

• O número binário 1 1 1 0 1 1 0 1 contém oito "bits".

Page 19: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

10011011

1 x 20 = 11 x 21 = 20 x 22 = 01 x 23 = 81 x 24 = 160 x 25 = 00 x 26 = 01 x 27 = 128

Resultado = 155

10111 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 23

Page 20: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Palavras binárias recebem nomes especiais conforme a quantidade de bits utilizada pelas mesmas:

• Nibble = 4 bits (24 = 16 variações);

• Byte = 8 bits (28 = 256 variações);

• Word = 16 bits (216 = 65.536 variações);

• Double Word = 32 bits (232 = 4.294.967.296 variações);

• Quad Word = 64 bits (264 = 18.446.744.073.709.600.000 variações).

Page 21: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Janeiro de 2005

Sufixo Quantidade

Kilo (K) 210 = 1.024

Mega (M) 220 = 1.048.576

Giga (G) 230 = 1.073.741.824

Tera (T) 240 = 1.099.511.627.776

Peta (P) 250 = 1.125.899.906.843.624

Exa (E) 260 = 1.152.921.504.607.870.976

Zeta (Z) 270 = 1.180.591.620.718.458.879.424

Yotta (Y) 280 = 1.208.925.819.615.701.892.530.176

O sufixo K (kilo), que, em decimal, representa 1.000 vezes como em Km e Kg), em binário representa 210 vezes (1.024). Logo, 1 Kbyte representa 1.024 bytes, 2 Kbytes = 2.048 bytes.

Page 22: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Sistema numérico hexadecimalSistema numérico hexadecimal

Desde os primeiros microprocessadores, as palavras binárias de dados manipuladas por eles eram múltiplos de nibble. Com isso uma outra base numérica passou a ser amplamente utilizada, a base 16 (hexadecimal).

“0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F”.

As letras A, B, C, D, E e F correspondem respectivamente aos decimais 10, 11, 12, 13, 14 e 15.

Page 23: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Geralmente, os números hexadecimais são escritos com um prefixo “$” ou “0x”, ou com o sufixo “h”, para realçar o sistema numérico que estamos a utilizar.

Assim, o número hexadecimal A37E, pode ainda ser mais corretamente escrito como $A37E, 0xA37E ou A37Eh.

0000 = 00001 = 10010 = 20011 = 3

0100 = 40101 = 50110 = 60111 = 7

1000 = 81001 = 91010 = A1011 = B

1100 = C1101 = D1110 = E1111 = F

Page 24: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

$A37E = 1010001101111110

A 3 7 E ▼ ▼ ▼ ▼

14 x 160 = 14

10 x 163 = 40960 3 x 162 = 768 7 x 161 = 112

Resultado = 41854

Page 25: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Binário 1 1 1 1 1 0 1 0 1 0 1Operação 1x210+1x29+1x28+1x27+1x26+0x25+1x24+0x23+1x22+0x21+1x20

Decimal 1024 +512 + 256 +128 + 64 + 0 + 16 + 0 + 4 + 0 + 1 = 2005

Octal 3 7 2 5Operação 3x83 + 7x82 + 2x81 + 5x80

Decimal 1536 + 448 + 16 + 5 = 2005

Decimal 2 0 0 5Operação 2x103 + 0x102 + 0x101 + 5x100

Decimal 2000 + 0 + 0 + 5 = 2005

Hexadecimal 7 D 5 Operação 7x162 + 13x161 + 5x160

Decimal 1792 + 208 + 5 = 2005

O Número 2005 em:

• Binário

• Octal

• Hexadecimal

Page 26: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1
Page 27: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.2 1.2 A Evolução dos ComputadoresA Evolução dos Computadores

Page 28: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• ÁbacoÁbacoA primeira calculadora que se tem notícias é o ábaco, de origem chinesa, do século V a.C. capaz de efetuar operações algébricas elementares.

• Calculadoras mecânicasCalculadoras mecânicasAnteriormente à década de 40 já existiam calculadoras mecânicas, dentre elas, pode se destacar: a calculadora de Charles Babbage

Page 29: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Atribui-se a Blaise Pascal (1623-1662) a construção da primeira calculadora mecânica capaz de fazer somas e subtrações.

• A primeira máquina de verdade foi construída por Wilhelm Schickard (1592-1635);

• somar, subtrair, multiplicar e dividir;

• perdida durante a guerra dos trinta anos;

• Durante muitos anos nada se soube sobre essa máquina, por isso, atribuía-se a Blaise Pascal (1623-1662) a construção da primeira máquina calculadora, que fazia apenas somas e subtrações.

Page 30: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Em 1801, Joseph Marie Jacquard inventou um tear mecânico dotado de uma leitora de cartões perfurados, os quais representavam os desenhos do tecido;

• portanto um processador das informações relativas à padronagem do tecido;

• o tear funcionava tão bem que este é o primeiro exemplo prático de desemprego provocado pela automação.

TEAR PROGRAMÁVELTEAR PROGRAMÁVEL

Page 31: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Charles Babbage (1792-1871) concebeu um Computador Analítico dotado de um dispositivo a que chamou de MOINHO (uma máquina de somar com precisão de até 50 casas decimais), e um dispositivo de entrada (inspirado no tear de Jacquard) que leria cartões perfurados contendo não somente números (os dados) mas também INSTRUÇÕES (o que fazer com os dados).

• Imaginou ainda um dispositivo de memória que chamou de ARMAZÉM para guardar os números, um banco com 1000 "registradores" cada qual capaz de armazenar um número de 50 dígitos.

• Finalmente, incluiu um dispositivo impressor para dar saída aos resultados.

Page 32: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

As instruções (gravadas em cartões) possíveis de ser implementadas pelo moinho eram:•entrar com um número no armazém•entrar com um número no moinho•mover um número do moinho para o armazém•mover um número do armazém para o moinho•comandar o moinho para executar uma operação•sair com um resultado.

Para construir um dispositivo a partir destas idéias, Babbage contou com a colaboração inestimável da matemática Ada Augusta Byron, Lady Lovelace, filha do poeta Lord Byron. Ada desenvolveu séries de instruções para o calculador analítico, criando conceitos tais como sub-rotinas, loops e saltos condicionais.Babbage é considerado o precursor do computador. Ada é considerada a precursora do software.

Page 33: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Herman Hollerith (1860-1929) também inspirou-se nos cartões de Jacquard para criar uma máquina para acumular e classificar informações - a Tabuladora de Censo.Aplicação: processamento dos dados do censo.

1941- Konrad Zuse (Alemanha) Primeiro computador digital, automático, programável, de propósito geral, completamente funcional (eletromecânico).

Page 34: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

John V. Atanasoff / Clifford Berry (EUA)Primeiro protótipo de calculador eletrônico que funcionou nos EUA.Construído entre 1937 e 1942 na Univ. do Estado de at Iowa.

John V. Atanasoff Clifford Berry

ABC Computer ABC Computer (Atanasoff-Berry Computer)(Atanasoff-Berry Computer)

Page 35: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Colossus, desenvolvido na Inglaterra no período de 1939 a 1943 com a intenção de quebrar o código da máquina de criptografia alemã denominada Enigma, que gerava seqüências aleatórias com período de 1019 caracteres.

Deste projeto, tomou parte Alan Turing. Após a guerra, esse projeto foi descontinuado, mas permaneceu secreto até 1973.

Page 36: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1944 - Howard Aiken (Universidade de Harvard - EUA) Primeiro computador eletromecânico automático de grande porte.

Howard Hathaway Aiken

Page 37: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Na década de 40 surgiram as primeiras válvulas eletrônicas;

• Cada válvula era capaz de representar um bit de informação;

• Os bytes eram compostos por oito válvulas.

• Primeira geração – ENIAC (Eletronic Numerical Integrator and Computer), projetado durante a Segunda Grande Guerra com a finalidade de calcular tiros de artilharia. Quando ele ficou pronto, em 1946, a guerra já havia acabado. Seu peso era de 30 t, consumia 140 kW e tinha 19.000 válvulas.

Primeiro computador eletrônico digital de grande porte. John Mauchly e J. Presper Eckert.

Page 38: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Mauchley e Eckert - ENIAC – 1946: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).

Page 39: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Para 2 KB de memória seriam necessárias 16.384 válvulas e para três circuitos 16.384 x 3 = 49.152 válvulas.

Como não se tinha muita confiança nos resultados, devido à constante queima de válvulas, cada cálculo era efetuado por três circuitos diferentes e os resultados comparados.

Page 40: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Comemora-se na Universidade da Pensylvania os cinqüenta anos do ENIAC, e para tal foi montado o ENIAC num chip, com as mesmas funções do original.

CHIP ENIAC desenvolvido para as comemorações dos 50 anos do ENIAC

Page 41: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Surgem os grandes computadores e, por detrás deles, as grandes empresas: IBM, Bourroughs, NCR, etc..

É a era de máquinas grandes, acessadas por uma multidão de terminais burros.

Chegou-se a prever que no mundo haveria cinco grandes computadores, um para cada continente.

Era a visão de homens simples perante máquinas maravilhosas e as vezes fatais, como conta Arthur Clark em "2001“.

A seguir veremos quatro marcos interessantes sobre esse passado.

Page 42: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

O termo “bug”, que sempre foi usado pelos engenheiros para indicar pequenas falhas em suas máquinas. Em 1947, os engenheiros que trabalhavam com o Harvard Mark I encontraram uma traça entre seus circuitos, prenderam-na no livro de registro e rotularam-na como o “primeiro bug” encontrado.

O primeiro "bug", 1947

Page 43: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

O computador IAS, de 1952, que foi construído segundo orientação de von Newmann e muito influenciou o projeto do IBM 701, o primeiro computador eletrônico comercializado pela IBM.

Computador IAS, 1952.

Page 44: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Janeiro de 2005

O UNIVAC, projetado pelos idealizadores do ENIAC.

Modelo do UNIVAC, 1954

Page 45: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

PDP-8, primeiro computador com preço acessível, tendo sido uma máquina da série PDP onde Ken Thompson e Dennis Ritchie desenvolveram o UNIX.

Início do domínio da IBM

Minicomputador PDP-8, 1965Barramento únicoSurgimento dos minicomputadores

Page 46: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Segunda GeraçãoSegunda Geração

• Foi em 1947 que surgiu o primeiro transistor,

produzido pela Bell Telephone Laboratories; • Os transistores eram e são muito mais confiáveis que as

válvulas;• São feitos de cristal de silício, o elemento mais

abundante na Terra;• Em 1954 a Texas Instruments iniciou a produção

comercial de transistores;

Page 47: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Da mesma forma os transistores, nos

circuitos digitais foram utilizados para

representar os dois estados:

ligado/desligado, ou seja, zero/um;

• Nos anos 60 e 70 devido ao emprego do

transistor nos circuitos, se deu a

explosão, o boom do uso de

computadores. Ocupavam menos

espaço e tinham um custo satisfatório.

Primeiro projeto de transistor

Page 48: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Em 1968 chegou o primeiro computador da UNICAMP, um IBM 1130, com 16KB de memória e um disco de 1 MB, foi um acontecimento, ele trabalhava com cartões perfurados. Rodava programas em ASSEMBLER, Fortran, e PL1;

• Para dar partida, se utilizava da console e cartões perfurados especialmente codificados, denominados “ cold start cold start ”, funções executadas hoje pela ROM e o BIOS.

Page 49: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Terceira geraçãoTerceira geração

• Nos anos 60, iniciou-se o encapsulamento de mais de um transistor num mesmo receptáculo, surgiu assim o Circuito Integrado - CI, os primeiros contavam com cerca de 8 a 10 transistores por capsula ( chip ).

Page 50: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Em novembro de 1971, a Intel introduziu o primeiro microprocessador comercial, o 4004, inventado por três engenheiros da Intel. Primitivo aos padrões de hoje, ele continha somente 2.300 transistores e executava cerca de 60.000 cálculos por segundo. Nos dias de hoje, vinte e sete anos depois, um microprocessador é o produto mais complexo produzido em massa, com mais de 5.5 milhões de transistores, executando centenas de milhões de cálculos por segundo.

• Quarta geraçãoQuarta geração

Page 51: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Já na área dos microcomputadores, perguntamo-nos: qual foi o primeiro ? Em 1975 a Revista “Popular Electronics” apresentou o projeto e anunciou a venda do “kit” do primeiro microcomputador. Era o Altair 8800, baseado no microprocessador 8008 da Intel. Foi para esse microcomputador que a dupla Paul Allen e Bill Gates vendeu um de seus primeiros produtos: um interpretador BasicBasic.

Page 52: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

O Altair 8800 aberto.

Page 53: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

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 – Machintosh;•IBM PC;•Início da computação pessoal.

• Quinta GeraçãoQuinta Geração

Ainda em estudo, poderá utilizar Biochips.

Os computadores serão então capazes de entender a linguagem

natural do homem, e a Inteligência Artificial será a fonte de

diversos avanços.

Page 54: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Janeiro de 2005

Quadro Comparativo de Características de microprocessadores

Microprocessador Data de Lançamento

Palavra de Dados

Endereçamento Máximo de MP

Intel 4004 1971 4 1 K Bytes

Intel 8080 1973 8 64 K Bytes

Intel 8088 1980 16 1 K Bytes

Intel 80286 1982 16 16 M Bytes

Intel 80386 1985 32 4 G Bytes

Intel 80486 1989 32 4 G Bytes

Intel Pentium 1993 32 4 G Bytes

Motorola MC 6800 1974 8 64K Bytes

MC 68000 1979 32 16 M bytes

MC 68010 1983 32 16 M Bytes

MC 68020 1984 32 4 G Bytes

MC 60030 1987 32 4G bytes

MC 68040 1989 32 4 G bytes

Zilog Z80 1974 8 64 K bytes

Zilog Z80 1979 16 1M Bytes

Page 55: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1
Page 56: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Leitura Recomendada:Leitura Recomendada:

Tanembaum – Capítulo 1;

Stallings – Capítulo 1 e 2;

Henessy e Patterson – Capítulo 1.

Page 57: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.3 1.3 Modelo Hipotético de um Modelo Hipotético de um

Computador.Computador.

Page 58: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

MODELO HIPOTÉTICO DE UM COMPUTADORMODELO HIPOTÉTICO DE UM COMPUTADOR

• Operador - só faz o que for ordenado, não toma

decisões;

• Conjunto de escaninhos - com capacidade para um

cartão cada;

• Máquina de calcular - executa as operações;

• Caixa de entrada - para receber cartões de fora;

• Máquina de escrever - para dar saída às

informações / resultados.

Page 59: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Para que este modelo funcione, deve existir em cada cartão uma INSTRUÇÃO. O operador segue de escaninho em escaninho, fazendo exatamente o que está escrito em cada cartão, até encontrar um cartão contendo uma instrução que manda que ele PAREPARE.

Conjunto de escaninhos

Caixa de entrada

Máquina de calcular

Máquina de escrever

Page 60: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

EXERCÍCIO 1:EXERCÍCIO 1:

Obs.: Utilizaremos a notação (E10) significando "o conteúdo do escaninho E10", isto é, o valor que está agora armazenado no escaninho E10 (ou, mais formalmente, o valor corrente daquela posição de memória).E1 : armazene o valor 1 no E10E2 : leia o conteúdo de E11 (externo - a caixa de entrada)E3 : multiplique E10 com E11 (usando a máquina de calcular) e armazene o resultado em E10E4 : subtraia o valor 1 de E11E5 : se o valor de E11 > 0, volte para E3, senão continueE6 : imprima o conteúdo de E10 (usando a máquina de escrever)E7 : PAREE8 :E9:A partir de um sinal externo do tipo COMECECOMECE, este modelo inicia do E1 daí por diante prossegue até E8 (o final).

Resolva o exercício; o que faz este algorítmo?

Page 61: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

ALGORITMOALGORITMO E1E10 0

E1E111

AÇÃOAÇÃO

E1- armazene o valor 1 no E10E1- armazene o valor 1 no E10 11 -- --

E2 - leia (E11) (caixa de entrada - p.ex: 4)E2 - leia (E11) (caixa de entrada - p.ex: 4) -- 44 --

E3 - (E10) x (E11); armazene resultado em E3 - (E10) x (E11); armazene resultado em E10E10

44 -- --

E4 : subtraia o valor 1 de (E11)E4 : subtraia o valor 1 de (E11) -- 33 --

E5 : se (E11) > 0, volte para E3, senão E5 : se (E11) > 0, volte para E3, senão continuecontinue

-- -- Volta p/E3Volta p/E3

E3E3 1212 -- --

E4E4 -- 22 --

E5E5 -- -- Volta p/E3Volta p/E3

E3E3 2424 -- --

E4E4 -- 11 --

E5E5 -- -- Volta p/E3Volta p/E3

E3E3 2424 -- --

E4E4 -- 00 --

E5E5 -- -- Segue Segue p/E6p/E6

E6 : imprima o conteúdo de E10E6 : imprima o conteúdo de E10 -- -- Imprime Imprime 2424

E7 : PAREE7 : PARE -- -- PARAPARA

Este programa calcula o FATORIAL de um número.Este programa calcula o FATORIAL de um número.

Page 62: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

EXERCÍCIO 2:EXERCÍCIO 2:

No mesmo algoritmo acima, avalie as conseqüências das seguintes alterações:a) E5 : se o valor de E11 > 0, volte para E3,b) E5 : se o valor de E11 >= 0, volte para E3; senão continue,c) E7 : XXX-----------------------------------------------------------------------------------Num modelo real - o COMPUTADOR- só faz aquilo que ele recebe instrução para realizar.

Um computador funciona a partir de um programa que o instrui sobre o que deve fazer.

"O problema dos computadores é que eles fazem exatamente "O problema dos computadores é que eles fazem exatamente aquilo que você os instruiu a fazer e não aquilo que você aquilo que você os instruiu a fazer e não aquilo que você realmente queria que eles fizessem."realmente queria que eles fizessem."

Um programador frustrado.Um programador frustrado.

Page 63: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Resposta - Exercício 2:Resposta - Exercício 2:

a) E5 : se o valor de E11 > 0, volte para E3, (eliminar "senão continue"), o modelo não saberia o que fazer quando o valor de E11 chegasse a zero.

b) E5 : se o valor de E11 >= 0, volte para E3,

Haveria mais um passo no loop, multiplicando o conteúdo de E10 por 0 (zero) e o resultado do processamento do algorítmo seria SEMPRE ZERO.

c) E7 : XXX

Quando o modelo chegasse até E7, poderia encontrar qualquer coisa. No caso de encontrar código válido (por exemplo, o "lixo" deixado por um programa anterior) com algum significado, ele executaria a instrução (fosse esta o que quer que fosse), chegando a um resultado imprevisível (poderia dar um resultado errado, poderia travar, poderia entrar em um loop, etc.).

Caso o conteúdo de E8 fosse um valor sem significado (por exemplo, um dado), o modelo não saberia o que fazer e pararia.

Portanto, num modelo real - o COMPUTADOR- só faz aquilo que ele recebe instrução para realizar. Um computador funciona a partir de um programa que o instrui sobre o que deve fazer.

Page 64: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

PROGRAMAPROGRAMA é uma seqüência de instruções (no modelo hipotético, os cartões);O programa deve ser escrito numa LINGUAGEM DE LINGUAGEM DE PROGRAMAÇÃOPROGRAMAÇÃO - as linguagens naturais têm ambigüidades e podem dar margem a diferentes interpretações;HARDWAREHARDWARE (significa originalmente "ferragens“, em inglês - hardware store significa originalmente "loja de ferragens") é o conjunto de dispositivos físicos do computador, o equipamento;SOFTWARE SOFTWARE (em analogia a hardware, a parte "soft", macia, são os programas que permitem que o equipamento saiba o que realizar, que ele funcione;Depois surgiram outros termos, aproveitando as mesmas analogias, tais como firmwarefirmware (indicando programação gravada em dispositivos físicos e não modificável pelo usuário);PROCESSAMENTO AUTOMÁTICO DE DADOS:PROCESSAMENTO AUTOMÁTICO DE DADOS:Um computador é capaz de executar um programa sozinho, desde que o programa seja previamente armazenado nele, de forma que ele tenha as indicações de onde procurar as instruções.

Page 65: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

MEMÓRIAMEMÓRIA – (os escaninhos) - Dispositivo físico para armazenar programas e dados;PROCESSADORPROCESSADOR – (operador e máquina de calcular) - Dispositivo que realiza o processamento;DISPOSITIVOS DE ENTRADA E SAÍDA DISPOSITIVOS DE ENTRADA E SAÍDA – (caixa de entrada, caixa de saída, máquina de escrever) - Formas de comunicação entre o usuário e o computador;SISTEMASISTEMA - Um conjunto interligado de programas (e, eventualmente, também de equipamentos);LINGUAGEM DE MÁQUINA LINGUAGEM DE MÁQUINA - é a linguagem que o computador entende, cujo "alfabeto" é composto apenas de "11's" e "00's" (linguagem binária);LINGUAGEM DE PROGRAMAÇÃO LINGUAGEM DE PROGRAMAÇÃO - é uma linguagem formal, utilizando termos que se aproximam da linguagem humana, que pode ser traduzida por programas especiais em linguagem de máquina.

Page 66: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.4. 1.4. Componentes do ComputadorComponentes do Computador

Page 67: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1
Page 68: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957), um dos construtores do EDVAC.

Von Neumann propôs construir computadores que:

1.Codificassem instruções que pudessem ser armazenadas na memória e sugeriu que usassem cadeias de uns e zeros (binário) para codificá-los;2.Armazenassem na memória as instruções e todas as informações que fossem necessárias para a execução da tarefa desejada;3.Ao processarem o programa, as instruções fossem buscadas diretamente na memória.

Este é o conceito de PROGRAMA ARMAZENADO.PROGRAMA ARMAZENADO.

Page 69: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

MEMORIA MEMORIA

PRINCIPALPRINCIPAL

DISPOSITIVOS DISPOSITIVOS DE ENTRADA DE ENTRADA

E SAIDAE SAIDA

UCUC

DMA – deixa a UCP disponível para outro processamento em paralelo.

UCPUCP

ULAULA

Troca de informações (Troca de informações (dados ou instruçõesdados ou instruções) – fluxo bidirecional.) – fluxo bidirecional.

Sinais de controle Sinais de controle – fluxo unidirecional.– fluxo unidirecional.

Diagrama em bloco de um computadorDiagrama em bloco de um computador

Page 70: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Toda a lógica dos computadores é construída a partir de chaves liga / desliga.

• Inicialmente foram usados chaves mecânicas, depois relés eletro-mecânicos - o Z-1 construído por Konrad Zuse em 1941 e o MARK 1 de Howard Aiken em 1944 (capazes de executar até 5 chaveamentos por segundo).

• Posteriormente, foram substituídos pelas válvulas no ENIAC em 1946 (capazes de 100.000 de chaveamentos por segundo), e finalmente pelos transistores (semicondutores) inventados em Stanford em 1947.

• Os circuitos integrados (ou CI's) são encapsulamentos compactos (LSI - Large Scale Integration e VLSI - Very Large Scale Integration) de circuitos constituídos de minúsculos transistores.

Comentario:Comentario:

Page 71: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

UNIDADE CENTRAL DE PROCESSAMENTO (UCP):UNIDADE CENTRAL DE PROCESSAMENTO (UCP):

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MPMP.Funções:Funções:Executar instruções - realizar aquilo que a instrução determina.Realizar o controle das operações no computador.

Formada de duas unidades:Formada de duas unidades:

•Unidade Lógica e Aritmética (ULA) Unidade Lógica e Aritmética (ULA) - responsável pela realização das operações lógicas (E, OU, etc) e aritméticas (somar, etc);

•Unidade de Controle (UC) Unidade de Controle (UC) - envia sinais de controle para toda a máquina, de forma que todos os circuitos e dispositivos funcionem adequada e sincronizadamente.

Page 72: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Representação gráfica da UCP com seus quatro componentes principais destacados. A unidade de entrada e saída é formada, nesta representação, pelos registradores REM e RDM e por suas ligações com os demais elementos (logo veremos as funções de cada um deles).

Page 73: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

MEMÓRIA PRINCIPAL (MP):MEMÓRIA PRINCIPAL (MP):

A Memória Principal tem por finalidade armazenar toda a informação que é manipulada pelo computador - programas e dadosprogramas e dados. .

Para que um programa possa ser manipulado pela máquina, ele primeiro precisa estar armazenado na memória principalmemória principal.

OBS.: os circuitos da Memória Principal não são combinatoriais, eles tem capacidade de armazenar bits. Os circuitos usados são do tipo "flip-flop", conforme veremos em Circuitos Lógicos.

Page 74: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

DISPOSITIVOS DE ENTRADA E SAÍDA (E/S):DISPOSITIVOS DE ENTRADA E SAÍDA (E/S):

Tem por finalidade permitir a comunicação entre o usuário e o computador.

OBS.: Para executar um programa, bastaria UCP e MP; no entanto, sem os dispositivos de E/S não haveria a comunicação entre o usuário e o computador.

Page 75: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

PROCESSAMENTO AUTOMÁTICO DE DADOS:PROCESSAMENTO AUTOMÁTICO DE DADOS:

O programas são armazenados na MP e a UCP é capaz de executar um processamento inteiro sem a intervenção do usuário, mesmo que haja vários desvios no programa.

PASSOS:PASSOS:•armazenar o programa na MP;

•indicar à UCP onde o programa está armazenado.

Estas operações são realizadas pelo SISTEMA OPERACIONAL:SISTEMA OPERACIONAL:

Page 76: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Aplicativo AAplicativo A Aplicativo BAplicativo B Aplicativo CAplicativo C

Drivers de DispositivosDrivers de Dispositivos

HARDWAREHARDWARE

GerenciamentoGerenciamento de Processosde Processos

E/S E/S ArquivosArquivos

GerenciamentoGerenciamento de Memoriade Memoria

E/S E/S DispositivosDispositivos

Sistema Operacional dá suporte aos aplicativos.Sistema Operacional dá suporte aos aplicativos.(Sustenta o ambiente no qual os aplicativos são executados).

Page 77: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.5 1.5 MemóriaMemória

Page 78: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• MemóriaMemória

• Local onde os dados e os programas são armazenados (na forma de bits) para imediata execução (memória Principal - MP) ou para uso posterior (memória secundária - MS);

• A memória é dividida em pequenas áreas, chamadas endereços;

• Armazenar consiste em guardar uma informação (ou um conjunto de informações) na memória e a operação é denominada escrita ou gravação (“ write”);

• Recuperar uma informação (ou um conjunto de informações) da memória é copiá-la para uma outra posição na memória ou para outro componente do sistema. Esta operação é denominada leitura (‘read’).

Page 79: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

No sistema de computador existe uma variedade grande de tipos de memória, cada uma com sua finalidade e característica especificas, mas que interligam e se integram para o funcionamento do sistema.

Registradores

Cache

Principal

Secundária

Custo alto Velocidade alta

Baixa capacidade

Custo baixo Velocidade baixaAlta capacidade

Pirâmide Hierárquica de tipos de memória

Discos

Fitas

Page 80: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Os registradores são unidades de memória que

armazenam, temporariamente, na UCP, os dados a

serem manipulados por uma instrução ou seus

resultados parciais ou finais de um processamento;

• Sendo um resultado parcial, armazenado em um

registrador, este será transferido para a memória

principal (externa à UCP).

• RegistradoresRegistradores

Page 81: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• volátil - perde o conteúdo armazenado quando não energizada. (RAM – Random Access Memory).

Tipos de RAM

a) Estática - a gravação é estável, só se alterando através de operações de escrita (consome mais energia);

b) Dinâmica - a gravação do bit "1" se descarrega com o tempo, precisando ser "refrescada" periodicamente (ciclo de refresh).

• Memória PrincipalA memória principal é formada por dois tipos:RAM (Randomic Acess Memory) ROM (Read Only Memory)

• Tipos de Memória

Page 82: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

FPM x EDO x SDRAM

Page 83: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• não volátil - não perde o conteúdo armazenado. (ROM, PROM, EPROM, EEPROM)

c) ROM - Read Only Memory (gravada de fábrica - permanente);d) PROM - Programable ROM (pode ser gravada uma única vez

pelo usuário, através de equipamentos especiais);e) EPROM - Erasable PROM (pode ser apagada através de raios

ultravioletas);f) EEPROM - Electrical EPROM (pode ser apagada através de

sinais elétricos);g) Memória Flash - é uma memória que pode ser utilizada como

apenas de leitura ou como de leitura e gravação, dependendo do driver utilizado. Geralmente é utilizada como um disco em pastilhas (chips), SSD - Solid State Disk.

Page 84: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• ROM - ROM - Read Only MemoryRead Only Memory

• Quando ligamos um microcomputador, podemos ver que sempre é executado o teste e a contagem de memória;

• Este programa pode ser armazenado em ROM, que é uma memória de apenas leitura onde os dados não são apagados quando desligamos a alimentação;

• O programa armazenado em ROM, recebe o nome de firmware que é um programa inalterável e que será sempre executado.

Page 85: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Na ROM do microcomputador há basicamente três Na ROM do microcomputador há basicamente três firmwares:firmwares:

1. BIOS (Basic Input/Output System) – “ensina” o processador a trabalhar com os periféricos mais básicos do sistema, como ckt de apoio, unidade de disquete e o vídeo em modo texto;

2. POST (Power-On Self-Test – Autoteste ao Ligar) – sempre que o micro é ligado o POST executa as seguintes rotinas:

• Identifica a configuração instalada;

• Inicializa os chipset da placa mãe;

• Inicializa o vídeo;

Page 86: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Testa a memória;

• Testa o teclado;

• Carrega o sistema operacional para a memória;

• Entrega o controle do microprocessador ao sistema operacional.

3. Setup – programa de configuração de hardware do microcomputador.

Page 87: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Atualmente há duas tecnologias básicas para construção Atualmente há duas tecnologias básicas para construção de circuitos de memória ROM:de circuitos de memória ROM:

• Mask ROM Mask ROM – é programada de fábrica e não há

como reprograma-la, a não ser trocando o chip. – é

usada até o lançamento das primeiras placa-mãe

soquete 7;

• Flash ROM Flash ROM – tecnologia mais moderna que permite

reprogramação através de firmware. – upgrade de

BIOS.

Page 88: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• A memória secundária , também chamada

de auxiliar ou memória de massa, tem a

finalidade de armazenar de forma

permanente as informações (dados e

programas) necessários ao processamento.

• A memória secundária é eletromecânica e

por esta razão, seu tempo de acesso é

relativamente alto, se comparado com outros

tipos de memória.

• Memória SecundáriaMemória Secundária

Page 89: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Uso da Memória.Uso da Memória.

• O 8088 só podia enxergar 1 MB de memória que é

dividida em áreas menores de 64KB. – 64KB x 16 =

1 MB.

• Por motivos de compatibilidade, os micros atuais

mantém a mesma estrutura dos micros antigos no

primeiro megabyte de memória. Essa área é

dividida da seguinte forma:

Page 90: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Área de Memória Endereços Conteúdo

0 a 640 KB 00000h a 9FFFFh

Banco 0 ao banco 9

Memória convencional

640 a 704 KB A0000h a AFFFFh Banco 10: Mem. De vídeo

704 a 768 KB B0000h a BFFFFh Banco 11: Mem. De vídeo

768 a 832 KB C0000h a CFFFFh Banco 12: ROM da interface de vídeo

832 a 896 KB D0000h a DFFFFh Banco 13: Firmware de interfaces

896 a 960 KB E0000h a EFFFFh Banco 14: Firmware de interfaces

960 a 1.024 KB F0000h a FFFFFh Banco 15: BIOS (e Basic residente, caso haja)

Page 91: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Durante a execução de uma instrução, a UCP realiza um ou mais acessos à memória principal, para buscar a instrução e transferi-la a um dos registradores, a fim de transferir os dados para a ULA (Unidade Lógica e Aritmética) ou para armazenar o resultado de operação que se encontra em um registrador;

• A CACHE é uma memória construída com tecnologia similar à da UCP, consequentemente, com velocidade de transferência compatível, reduzindo consideravelmente o tempo de espera da UCP por instruções e dados.

• Memória CacheMemória Cache

Page 92: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Tecnologia de Memória para VídeoTecnologia de Memória para Vídeo

O controlador de vídeo lê o conteúdo da memória de vídeo

(presente na placa de vídeo), convertendo os dados armazenados

em sinais que sejam compreensíveis pelo monitor.

Novas tecnologias relacionadas a memória de vídeo, surgiram afim

de aumentar o desempenho de interface de vídeo.

Para armazenar a imagem a ser exibida no vídeo, a placa utiliza-se

de um tipo especial de memória, chamada de memória de vídeo.

O conteúdo desta memória é constantemente atualizado pela placa

de vídeo, seguindo as ordens transmitidas pelo processador.

Page 93: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Barramento PCIBarramento PCIControlador

de vídeo

Memória Memória de vídeode vídeo

Funcionamento da placa de vídeoFuncionamento da placa de vídeo

Page 94: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Arquitetura Unificada de Memória (UMA – Arquitetura Unificada de Memória (UMA – Unified Memory Unified Memory ArchitetureArchiteture))

A interface de vídeo utiliza parte da memória RAM do micro, com a finalidade de baratear o micro e aumentar o desempenho do vídeo.

Depende do chipset da placa-mãe e geralmente é onboard.

Em alguns casos o controlador de vídeo está dentro do processador – diminui custos. Ex.: Cyrix MediaGX;

Em outros, o processador de vídeo está integrado no chipset. – SIS 5598 (TX PRO II).

Page 95: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Tipos de memórias de vídeoTipos de memórias de vídeo

As placas de vídeo utilizam memória RAM para

armazenar as imagens que serão mostradas no monitor.

Apesar de poderem usar memórias FPM, EDO ou

SDRAM comuns, o uso de memórias otimizadas para

vídeo, aumenta bastante sua performance.

Os principais tipos de memória de vídeo usados

atualmente são o VRAM, SGRAM e WRAM.

Page 96: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• VRAM (Vídeo RAM)VRAM (Vídeo RAM)

A VRAM é um tipo de memória especialmente desenvolvido para o uso em placas de vídeo. Sua principal vantagem é que pode ser acessada simultaneamente por dois componentes. Isso permite que a placa de vídeo use os dados contidos na VRAM para atualizar a exibição das imagens, ao mesmo tempo que o processador inclui novos dados.

O uso de memórias VRAM aumenta perceptivelmente o desempenho da placa, o problema é que este tipo de memória é bem mais caro que as memórias convencionais, fazendo com que muitos fabricantes optem por utilizar memórias EDO comuns em seus modelos de placas de vídeo mais baratas.

Page 97: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Barramento PCI

Controlador de vídeo

Memória VRAM

Funcionamento de uma placa de vídeo com VRAMFuncionamento de uma placa de vídeo com VRAM

Page 98: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• WRAM (Windows RAM)WRAM (Windows RAM)

Como o nome sugere, a Windows RAM é um tipo de memória de vídeo otimizada para sistemas gráficos como o Windows.

Aperfeiçoamento sobre a VRAM criado pela Samsung, que possui um desempenho cerca de 50% superior (segundo a Samsung).

Apesar da melhora no desempenho, a WRAM é mais barata que as memórias VRAM comuns, tendo obtido uma enorme aceitação no mercado.

Page 99: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• Memória Rambus (RDRAM)Memória Rambus (RDRAM)

Criada pela empresa Rambus;

A memória é conectada ao controlador de vídeo através de um barramento estreito, porém rápido (Rambus);

Este barramento de 8 bits, consegue transmitir dois bytes por pulso de clock: um na ativação do clock e outro na desativação;

O clock é totalmente independente do barramento PCI e tem freqüência de 250 MHz;

Segundo a empresa, essa tecnologia é dez vezes mais rápida que as memórias tradicionais de vídeo e de três a cinco vezes mais rápida que a VRAM.

Page 100: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Barramento PCI Barramento RAMBUSControlador de vídeo

Memória de vídeo

Funcionamento de uma placa de vídeo Rambus.Funcionamento de uma placa de vídeo Rambus.

Page 101: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

• SGRAM (Synchronous Graphic Ramdom Access Memory)SGRAM (Synchronous Graphic Ramdom Access Memory)

A SGRAM é um tipo de memória SDRAM otimizada para o uso

em placas de vídeo, que apesar de possuir apenas uma entrada de

dados, pode ser dividida em duas páginas de memória. Como

ambas as páginas podem ser acessadas ao mesmo tempo,

simulamos uma dupla entrada de dados.

Atualmente as memórias SGRAM vêm sendo cada vez mais usadas

em placas de vídeo de baixo e médio desempenho, pois apesar do

desempenho levemente inferior às memórias VRAM são muito

mais baratas, sendo substitutas ideais para as memórias EDO.

Page 102: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.5.11.5.1Memória PrincipalMemória Principal

Page 103: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

•Memória Principal é a parte do computador onde programas e dados são armazenados para processamento;

• A informação permanece na memória principal apenas enquanto for necessário para seu emprego pela UCP, sendo então a área de MP ocupada pela informação pode ser liberada para ser posteriormente sobregravada por outra informação;

• Quem controla a utilização da memória principal é o Sistema Sistema OperacionalOperacional.

Page 104: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Estrutura da Memória Principal - CÉLULAS E ENDEREÇOSEstrutura da Memória Principal - CÉLULAS E ENDEREÇOS

A memória precisa ter uma organização que permita ao computador guardar e recuperar informações quando necessário. Portanto, não basta transferir informações para a memória. É preciso ter como encontrar essa informação mais tarde, quando ela for necessária, e para isso é preciso haver um mecanismo que registre exatamente onde a informação foi.

CélulaCélula é a unidade de armazenamento do computador. A memória principal é organizada em células. Célula é a menor unidade da memória que pode ser endereçada e tem um tamanho fixo (para cada máquina). As memórias são compostas de um determinado número de células ou posições. Cada célula é composta de um determinado número de bits. Todas as células de um dado computador tem o mesmo tamanho, isto é, todas as células daquele computador terão o mesmo número de bits.

Page 105: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Cada célula é identificada por um endereço único. As células são numeradas seqüencialmente, uma a uma, de 0 a (N-1), chamado o endereço da célula.

EndereçoEndereço é o localizador da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço.

Unidade de transferência Unidade de transferência é a quantidade de bits que é transferida da memória em uma única operação de leitura ou transferida para a memória em uma única operação de escrita. O tamanho da célula poderia ser igual ao da palavra, e também à unidade de transferência, porém por razões técnicas e de custo, são freqüentemente diferentes.

PalavraPalavra é a unidade de processamento da UCP. Uma palavra deve representar um dado ou uma instrução, que poderia ser processada, armazenada ou transferida em uma única operação.

Page 106: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Janeiro de 2005

AcessoAcesso - ação de armazenar ou recuperar uma informação em uma memória;

No end. 5h temos o armazenamentode um dado de 8 bits

Numa memória de 1 MB, tem1 M endereços que armazenam1 byte cada.Como 1 M = 1.048.576 teremos essa quantidade de endereçosPara armazenarmos um dadoDe 8 bits em cada um.

Page 107: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Número de bits para representar um Número de bits para representar um endereço:endereço:Expressão geral MP com endereços de 0 a (N-1):

N = 2x logo:x = log2 N

0

1

2

3

N-1

de

end

ereç

os

Estrutura da MPEstrutura da MP

sendo x = nº de bits para representar um endereço e N o número de endereços.

CAPACIDADE DA MEMÓRIA PRINCIPALCAPACIDADE DA MEMÓRIA PRINCIPALA capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula.

T = N x MT = capacidade da memória em bitsN = nº de endereços (N=2x sendo x = nº de bits do endereço)M = nº de bits de cada célula

10111101

10110101

10110001

10110111

Page 108: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1
Page 109: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1
Page 110: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1.61.6Unidade Central de ProcessamentoUnidade Central de Processamento

Page 111: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

A Unidade Central de Processamento - UCP Unidade Central de Processamento - UCP (em inglês, Central Processing Unity - CPU) é a responsável pelo processamento e execução dos programas armazenados na MP. As funções da UCP são: executar as instruções e controlar as operações no computador.A UCP é composta de duas partes:UAL - Unidade Aritmética e Lógica UAL - Unidade Aritmética e Lógica - tem por função a efetiva execução das instruções

ACCACC

REGsREGs

Unidade de Unidade de ControleControle

ULAULA

Barramento InternoBarramento Interno

Diagrama Esquemático da ULADiagrama Esquemático da ULA

Barramento de ControleBarramento de Controle

Page 112: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

UC - Unidade de Controle UC - Unidade de Controle - tem por funções a busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador

ACCACC

REGsREGs

UCUCULAULA

CLOCKCLOCK

RDMRDM

REMREM

CICI

RIRI

DECODER DECODER INST.INST.

MemóriaMemóriaPrincipalPrincipal

Unidade Lógica e Aritmética

Diagrama Funcional da UCPDiagrama Funcional da UCP

Unidade de Controle

Barramento de DadosBarramento de Dados

Barramento de EndereçosBarramento de Endereços

Bar

ram

ento

In

tern

oB

arra

men

to I

nte

rno

Page 113: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Registradores Importantes na UCPRegistradores Importantes na UCP

• Na UCUC - CI - Contador de Instruções CI - Contador de Instruções (em inglês: PC - Program Counter) - armazena o endereço da próxima instrução a ser executada - tem sempre o mesmo tamanho do REM.

• Na UCUC - RI - Registrador de Instrução RI - Registrador de Instrução (em inglês: IR - Instruction Register) - armazena a instrução a ser executada.

• Na ULAULA - ACC Acumulador ACC Acumulador (em inglês:ACC - Accumulator) - armazena os dados (de entrada e resultados) para as operações na ULA; o acumulador é um dos principais elementos que definem o tamanho da palavra do computador - o tamanho da palavra é igual ao tamanho do acumulador.

Page 114: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

InstruçõesInstruções

• Para que um programa possa ser executado por um computador, ele precisa ser constituído de uma série de instruções de máquina e estar armazenado em células sucessivas na memória principal;

• A UCP é responsável pela execução das instruções que estão na memória;

• Quem executa um programa é o hardware; • Programa em linguagem de máquina (uma seqüência de

instruções de máquina em código binário);• A linguagem de máquina é composta de códigos binários,

representando instruções, endereços e dados e está totalmente vinculada ao conjunto ("set") de instruções da máquina.

• O programa elaborado pelo programador (o código-fonte, composto de instruções complexas) precisa ser "traduzido" em pequenas operações elementares executáveis pelo hardware.

• Cada uma das instruções tem um código binário associado, que é o código da operação.

Page 115: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Formato geral de uma InstruçãoFormato geral de uma Instrução

Código de operação (OPCODE)Código de operação (OPCODE) Operando (s) (OP)Operando (s) (OP)

OPCODE OPCODE - identifica a operação a ser realizada pelo processador. É o campo da instrução cuja valor binário identifica a operação a ser realizada. Este código é a entrada no decodificador de instruções na unidade de controle.OP - é ou são o(s) campo(s) da instrução cujo valor binário sinaliza a localização do dado (ou é o próprio dado) que será manipulado (processado) pela instrução durante a operação. Em geral, um operando identifica o endereço de memória onde está contido o dado que será manipulado, ou pode conter o endereço onde o resultado da operação será armazenado. Finalmente, um operando pode também indicar um Registrador (que conterá o dado propriamente dito ou um endereço de memória onde está armazenado o dado). Os operandos fornecem os dados da instrução.Obs: Existem instruções que não tem operando. Ex.: Instrução HALT (PAREPARE).

Page 116: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Conjunto de InstruçõesConjunto de Instruções

Quando se projeta um hardware, define-se o seu conjunto ("set") de instruções - o conjunto de instruções elementares que o hardware é capaz de executar. O projeto de um processador é centrado no seu conjunto ("set") de instruções. Quanto menor e mais simples for este conjunto de instruções, mais rápido pode ser o ciclo de tempo do processador.

Um processador precisa possuir instruções para:•operações matemáticas:1. aritméticas: +, - , × , ÷ ...;2. lógicas: and, or, xor, ...;3. de complemento;4. de deslocamento.•operações de movimentação de dados: (memória <--> UCP, reg <--> reg);•operações de entrada e saída (R/W em dispositivos de E/S);•operações de controle (desvio de seqüência de execução, parada).

Page 117: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

As estratégias de implementação de processadores são:As estratégias de implementação de processadores são:

•CISC - Complex Instruction Set Computer Exemplo: PC, Macintosh; um conjunto de instruções maior e mais complexo, implicando num processador mais complexo, com ciclo de processamento mais lento; ou

•RISC - Reduced Instruction Set Computer Exemplo: Power PC, Alpha, Sparc; um conjunto de instruções menor e mais simples, implicando num processador mais simples, com ciclo de processamento rápido.

Obs.: adotaremos o termo instrução para as instruções de máquina ou em linguagem Assembly e comando para linguagens de alto nível.

Page 118: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

O projeto de um processador poderia ser resumido em:O projeto de um processador poderia ser resumido em:

a) Definir o conjunto de instruções (todas as possíveis instruções que o processador poderá executar):

• definir formato e tamanho das instruções;• definir as operações elementares.

b) Projetar os componentes do processador (UAL, UC, registradores, barramentos, ...)

Duas estratégias são possíveis na construção do decodificador de Duas estratégias são possíveis na construção do decodificador de instruções da UC:instruções da UC:

•wired logic - as instruções são todas implementadas em circuito);•Microcódigo - apenas um grupo básico de instruções são implementadas em circuitos; as demais são “montadas” através de microprogramas que usam as instruções básicas.

Page 119: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Ciclo de InstruçõesCiclo de Instruções

As instruções são executadas sequencialmente uma a uma. (a não ser pela ocorrência de um desvio).O CI indica a seqüência de execução, isto é, o CI controla o fluxo de execução das instruções.

Descrição do processamento de uma instrução na UCP:

•a UC lê o endereço da próxima instrução no CI;•a UC transfere o endereço da próxima instrução, através do barramento interno, para o REM.

INICIO

TÉRMIO

Buscar próximaInstrução

Interpretar aInstrução

Buscar os Dados

Executar aInstrução

Ciclo de InstruçõesCiclo de Instruções

Page 120: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

COMUNICAÇÃO ENTRE MEMÓRIA PRINCIPAL E UCPCOMUNICAÇÃO ENTRE MEMÓRIA PRINCIPAL E UCP

BARRAMENTOSBARRAMENTOS

•Os componentes dos computadores se comunicam através de barramentos;

•Barramento é um conjunto de condutores elétricos que interligam os componentes do computador e de circuitos eletrônicos que controlam o fluxo dos bits;

•Para um dado ser transportado de um componente a outro, é preciso emitir os sinais de controle necessários para o componente-origem colocar o dado no barramento e para o componente-destino ler o dado do barramento. Como um dado é composto por bits (geralmente um ou mais bytes) o barramento deverá ter tantas linhas condutoras quanto forem os bits a serem transportados de cada vez.

Page 121: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

REGISTRADORES UTILIZADOSREGISTRADORES UTILIZADOS

A comunicação entre MP e UCP usa dois registradores da UCP:

•Registrador de Endereços de Memória - REM ou, em inglês, Memory Address Register (MAR); •Registrador de Dados da Memória - RDM ou, em inglês, Memory Buffer Register (MBR).

Barramentos UCP / MP:Barramentos UCP / MP:

•Barramento de endereços – unidirecional (só a UCP envia dados - write - ou lê dados - read - da MP);•Barramento de dados – bidirecional;•Barramento de controle – bidirecional:UCP ---> MP (controles ... - r/w)MP -----> UCP (wait ... )

Page 122: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1
Page 123: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

PALAVRA (UNIDADE DE INFORMAÇÃO)PALAVRA (UNIDADE DE INFORMAÇÃO)

Palavra é a unidade de informação do sistema UCP / MP.A conceituação mais usada (IBM, Digital) define palavra como sendo a capacidade de manipulação de bits do núcleo do computador (UCP e MP). Pressupõe-se aqui que todos os elementos do núcleo do computador (o que inclui o tamanho da UAL, do acumulador e registradores gerais da UCP e o barramento de dados) tenham a mesma largura (processem simultaneamente o mesmo número de bits), o que nem sempre acontece. Muitas vezes encontram-se computadores em que o tamanho da UAL e do acumulador (e registradores gerais) não é o mesmo tamanho dos barramentos. Desta forma, encontram-se especificações de "computadores de 64 bits" mesmo quando seu barramento de dados é de 32 bits, nesse caso referindo-se exclusivamente à capacidade de manipulação da UCP de 64 bits (isto é, sua UAL e acumulador tem 64 bits).

Page 124: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

TEMPO DE ACESSOTEMPO DE ACESSO

Tempo de acesso - tempo decorrido entre uma requisição de leitura de uma posição de memória e o instante em que a informação requerida está disponível para utilização pela UCP. As memórias DRAM (Dynamic RAM ) - tempo de acesso - 60 ns.

Tempo de ciclo - tempo decorrido entre dois ciclos sucessivos de acesso à memória. As memórias dinâmicas perdem seu conteúdo em alguns instantes e dependem de ser periodicamente atualizadas (refresh). No caso das SRAM (Static RAM ou memórias estáticas), que não dependem de "refresh", o tempo de ciclo é igual ao tempo de acesso. As memórias dinâmicas, no entanto, requerem ciclos periódicos de "refresh", o que faz com que a memória fique indisponível para novas transferências, a intervalos regulares necessários para os ciclos de "refresh". Assim, as memórias DRAM tem ciclo de memória maior que o tempo de acesso.

Page 125: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

ACESSO À MEMÓRIA PRINCIPALACESSO À MEMÓRIA PRINCIPAL

O acesso à MP é ALEATÓRIO, portanto qualquer que seja o endereço (a posição) de memória que se queira acessar, o tempo de acesso é o mesmo (constante).

A MP pode ser acessada através de duas operações:A MP pode ser acessada através de duas operações:

1 - LEITURA: LER da MEMÓRIASignifica requisitar à MP o conteúdo de uma determinada célula (recuperar uma informação). Esta operação de recuperação da informação armazenada na MP consiste na transferência de um conjunto de bits (cópia) da MP para a UCP e é não destrutiva, isto é, o conteúdo da célula não é alterado.SENTIDO: da MP para a UCP

Page 126: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

PASSOS EXECUTADOS PELO HARDWARE:PASSOS EXECUTADOS PELO HARDWARE:

1.a UCP armazena no REM o endereço onde a informação requerida está armazenada;2.a UCP comanda uma leitura;3.o conteúdo da posição identificada pelo endereço contido no REM é transferido para o RDM e fica disponível para a UCP.

2 - ESCRITA: ESCREVER na MEMÓRIA2 - ESCRITA: ESCREVER na MEMÓRIASignifica escrever uma informação em uma célula da MP (armazenar uma informação). Esta operação de armazenamento da informação na MP consiste na transferência de um conjunto de bits da UCP para a MP e é destrutiva (isto significa que qualquer informação que estiver gravada naquela célula será sobregravada).SENTIDO: da UCP para a MP

Page 127: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

PASSOS EXECUTADOS PELO HARDWARE:PASSOS EXECUTADOS PELO HARDWARE:

1.a UCP armazena no REM o endereço de memória da informação a ser gravada e no RDM a própria informação;2.a UCP comanda uma operação de escrita;3.a informação armazenada no RDM é transferida para a posição de memória cujo endereço está contido no REM.

Page 128: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

SINCRONIZAÇÃO DE OPERAÇÃO DO SISTEMASINCRONIZAÇÃO DE OPERAÇÃO DO SISTEMA

•Imagine um barco a remo em uma competição, em que a plena velocidade e direção somente é atingida porque todos os remadores fazem seus movimentos de forma coordenada, regidos por um "patrão" - geralmente o timoneiro que indica o ritmo das remadas.

•As diversas partes de um computador comportam-se aproximadamente desta forma: instruções e dados, após sofrerem algum processamento em um determinado componente, devem trafegar para o próximo estágio de processamento (através de condutores - um barramento ou um cabo), de forma a estarem lá a tempo de serem processados.

Page 129: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

SINCRONIZAÇÃO DE OPERAÇÃO DO SISTEMASINCRONIZAÇÃO DE OPERAÇÃO DO SISTEMA

•O computador envia a todos os seus componentes um sinal elétrico regular - o pulso de "clockclock" – que fornece uma referência de tempo para todas as atividades e permite o sincronismo das operações internas.

•O pulso de clockclock indica que um ciclo (um "estado") terminou, significando que o processamento deste ciclo está terminado e um outro ciclo se inicia, determinando a alguns circuitos que iniciem a transferência dos dados nele contidos (abrindo a porta lógica para os próximos estágios) e a outros que recebam os dados e executem seu processamento.

Page 130: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

ClockClock

O clock é um pulso alternado de sinais de tensão alta ("high") e baixa ("low"), gerado pelos circuitos de relógio (composto de um cristal oscilador e circuitos auxiliares).

O clock é o sinal de controle no barramento, mais importante, pois é um sinal de sincronismo.

É o clock que determina o momento exato para troca de informações entre os circuitos.

Todos os processadores a partir do 486DX2 possuem multiplicação de clock.

Período

1 0

Page 131: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Conforme vimos ao analisar a comunicação entre UCP e memória, as instruções, os dados e os endereços "trafegam" no computador através dos barramentos (de dados, de endereços e de controle), sob a forma de bits representados por sinais elétricos.

Periodicamente, uma nova configuração de bits é colocada nos circuitos, e tudo isso só faz sentido se pudermos de alguma forma organizar e sincronizar essas variações, de forma a que, num dado instante, os diversos circuitos do computador possam "congelar" uma configuração de bits e processá-las.

Page 132: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Para isso, é preciso que exista um outro elemento, que fornece uma base de tempo para que os circuitos e os sinais se sincronizem. Este circuito é chamado clockclock - o relógio interno do computador. Cada um dos estados diferentes que os circuitos assumem, limitados pelo sinal do clock, é chamado um ciclo de operaçãociclo de operação.

O clockclock é um pulso alternado de sinais de tensão, gerado pelos circuitos de relógio (composto de um cristal oscilador e circuitos auxiliares).

Page 133: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Ciclo de OperaçãoCiclo de Operação

Cada um do intervalos regulares de tempo é delimitado pelo início da descida do sinal, equivalendo um ciclo à excursão do sinal por um "low"e um "high" do pulso.O tempo do ciclo equivale ao período da oscilação. Período é o inverso da freqüência. Ou seja,P = 1 / f.P = 1 / f.A freqüência ff do clockclock é medida em hertzhertz. Inversamente, a duração de cada ciclo é chamada de período, definido por P=1/f (o período é o inverso da freqüência).Por exemplo:se f = 10 hz logo P = 1/10 = 0,1 s.

Page 134: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

1 Mhz (1 megahertz) equivale a um milhão de ciclos por segundo. Sendo a freqüência de um processador medida em megahertz, o período será então medido em nanosegundos, como vemos no exemplo abaixo:

f = 10 Mhz = 10 x 106 hzP = 1 / 106 = 0,000001s = 100 nanosegundos.

Quando se diz que um processador é de 200 Mhz, está-se definindo a freqüência de operação de seu processador (seu clock), significando que o processador pode alternar seus estados internos 166 milhões de vezes por segundo.

Isto acarreta que cada ciclo de operação dura:1 / 200.000.000 s = 0,000000005s = 5 x 10-9 s ou seja,5 nanosegundos.

Page 135: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

Como podemos ver pelo exemplo a seguir, o processador com o clock ilustrado em (B) teria um tempo de ciclo cinco vezes menor que o (A) e portanto teria (teoricamente) condições de fazer cinco vezes mais operações no mesmo tempo.

Page 136: OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

http://venus.rdc.puc-rio.br/rmano/comp0clk.html.

Bibliografia:Bibliografia: