• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1
 

OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1

on

  • 10,293 views

 

Statistics

Views

Total Views
10,293
Views on SlideShare
10,276
Embed Views
17

Actions

Likes
5
Downloads
584
Comments
1

1 Embed 17

http://www.slideshare.net 17

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Muito bem...parabéns.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1 OrganizaçãO E Arquiteturas De Computadores 2009 Cap 1 Presentation Transcript

    • Janeiro de 2005 Prof. Aristides Organização e Arquitetura de Computadores A MELHOR FACULDADE TECNOLÓGICA DE FORTALEZA.
    • Janeiro de 2005
    • HARDWARE (O Computador) DADOS (Informações) SOFTWARE(Programas) PESSOAS(Usuários)
      • 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
    • 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 Básica:
    • Capitulo 1: Componentes do Computador.
    • 1.1 Computador e o Processamento da Informação.
    • A Informação Estamos vivendo a Era da Informação. Mas, afinal, o que é INFORMAÇÃ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).
      • 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 COMPUTADOR .
    • 1.1.1 Sistema Binário e Hexadecimais Revisão.
    • Número Coisa banal que usamos no nosso dia-a-dia. O que é número? Bem, pode ser dito que é um símbolo que representa uma coleção de objetos iguais.
    • Seja, por exemplo, o objeto representado por ☺ . Assim a coleção ☺ ☺ ☺ seria representada por 3 ☺ , a coleção ☺ ☺ ☺ ☺ ☺ por 5 ☺ , etc. Simples não?
      • Existem duas maneiras de representar uma informação:
      • analogicamente
      • digitalmente.
      1 1 1 1 0 0
      • 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.
    • 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
    • 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 10 0 = 1 3 x 10 1 = 30 6 x 10 2 = 600 4 x 10 3 = 4000 Resultado = 4631
      • Sistema numérico decimal
      • 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:
      • 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".
    • 10011011 1 x 2 0 = 1 1 x 2 1 = 2 0 x 2 2 = 0 1 x 2 3 = 8 1 x 2 4 = 16 0 x 2 5 = 0 0 x 2 6 = 0 1 x 2 7 = 128 Resultado = 155 10111 = 1 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 = 23
      • Palavras binárias recebem nomes especiais conforme a quantidade de bits utilizada pelas mesmas:
      • Nibble = 4 bits (2 4 = 16 variações);
      • Byte = 8 bits (2 8 = 256 variações);
      • Word = 16 bits (2 16 = 65.536 variações);
      • Double Word = 32 bits (2 32 = 4.294.967.296 variações);
      • Quad Word = 64 bits (2 64 = 18.446.744.073.709.600.000 variações).
    • Janeiro de 2005 O sufixo K (kilo), que, em decimal, representa 1.000 vezes como em Km e Kg), em binário representa 2 10 vezes (1.024). Logo, 1 Kbyte representa 1.024 bytes, 2 Kbytes = 2.048 bytes. Sufixo Quantidade Kilo ( K ) 2 10 = 1.024 Mega ( M ) 2 20 = 1.048.576 Giga ( G ) 2 30 = 1.073.741.824 Tera ( T ) 2 40 = 1.099.511.627.776 Peta ( P ) 2 50 = 1.125.899.906.843.624 Exa ( E ) 2 60 = 1.152.921.504.607.870.976 Zeta ( Z ) 2 70 = 1.180.591.620.718.458.879.424 Yotta ( Y ) 2 80 = 1.208.925.819.615.701.892.530.176
      • Sistema 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, F ”. As letras A, B, C, D, E e F correspondem respectivamente aos decimais 10, 11, 12, 13, 14 e 15 .
    • 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, 0x A37E ou A37E h . 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = A 1011 = B 1100 = C 1101 = D 1110 = E 1111 = F
    • $ A 3 7 E = 1010 0011 0111 1110 A 3 7 E ▼ ▼ ▼ ▼ 14 x 16 0 = 14 10 x 16 3 = 40960 3 x 16 2 = 768 7 x 16 1 = 112 Resultado = 41854
    • Binário 1 1 1 1 1 0 1 0 1 0 1 Operação 1x2 10 +1x2 9 +1x2 8 +1x2 7 +1x2 6 +0x2 5 +1x2 4 +0x2 3 +1x2 2 +0x2 1 +1x2 0 Decimal 1024 +512 + 256 +128 + 64 + 0 + 16 + 0 + 4 + 0 + 1 = 2005 Octal 3 7 2 5 Operação 3x8 3 + 7x8 2 + 2x8 1 + 5x8 0 Decimal 1536 + 448 + 16 + 5 = 2005 Decimal 2 0 0 5 Operação 2x10 3 + 0x10 2 + 0x10 1 + 5x10 0 Decimal 2000 + 0 + 0 + 5 = 2005 Hexadecimal 7 D 5 Operação 7x16 2 + 13x16 1 + 5x16 0 Decimal 1792 + 208 + 5 = 2005 O Número 2005 em:
      • Binário
      • Octal
      • Hexadecimal
    •  
    • 1.2 A Evolução dos Computadores
      • Ábaco
      • A 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ânicas
      • Anteriormente à década de 40 já existiam calculadoras mecânicas, dentre elas, pode se destacar: a calculadora de Charles Babbage
    • 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.
      • 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ÁVEL
      • 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.
      • 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.
    • 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).
    • 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 (Atanasoff-Berry Computer)
    • 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.
    • 1944 - Howard Aiken (Universidade de Harvard - EUA) Primeiro computador eletromecânico automático de grande porte. Howard Hathaway Aiken
      • 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.
      • 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).
    • 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.
    • 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
    • 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.
    • 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
    • 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.
    • Janeiro de 2005 O UNIVAC, projetado pelos idealizadores do ENIAC. Modelo do UNIVAC, 1954
    • 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, 1965 Barramento único Surgimento dos minicomputadores
      • Segunda 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;
      • 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
      • 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 ”, funções executadas hoje pela ROM e o BIOS.
      • Terceira 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 ).
    • 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ção
    • 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 Basic .
    • O Altair 8800 aberto.
      • 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çã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.
    • 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
    •  
    • Leitura Recomendada: Tanembaum – Capítulo 1; Stallings – Capítulo 1 e 2; Henessy e Patterson – Capítulo 1.
    • 1.3 Modelo Hipotético de um Computador.
    • MODELO 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.
    • 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 PARE . Conjunto de escaninhos Caixa de entrada Máquina de calcular Máquina de escrever
    • 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 E10 E2 : 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 E10 E4 : subtraia o valor 1 de E11 E5 : se o valor de E11 > 0 , volte para E3 , senão continue E6 : imprima o conteúdo de E10 (usando a máquina de escrever) E7 : PARE E8 : E9 : A partir de um sinal externo do tipo COMECE , este modelo inicia do E1 daí por diante prossegue até E8 (o final). Resolva o exercício; o que faz este algorítmo?
    • Este programa calcula o FATORIAL de um número. ALGORITMO E10 E11 AÇÃO E1- armazene o valor 1 no E10 1 - - E2 - leia (E11) (caixa de entrada - p.ex: 4) - 4 - E3 - (E10) x (E11); armazene resultado em E10 4 - - E4 : subtraia o valor 1 de (E11) - 3 - E5 : se (E11) > 0, volte para E3, senão continue - - Volta p/E3 E3 12 - - E4 - 2 - E5 - - Volta p/E3 E3 24 - - E4 - 1 - E5 - - Volta p/E3 E3 24 - - E4 - 0 - E5 - - Segue p/E6 E6 : imprima o conteúdo de E10 - - Imprime 24 E7 : PARE - - PARA
    • 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 aquilo que você os instruiu a fazer e não aquilo que você realmente queria que eles fizessem." Um programador frustrado.
    • 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.
    • PROGRAMA é uma seqüência de instruções (no modelo hipotético, os cartões); O programa deve ser escrito numa LINGUAGEM DE PROGRAMAÇÃO - as linguagens naturais têm ambigüidades e podem dar margem a diferentes interpretações; HARDWARE (significa originalmente "ferragens“, em inglês - hardware store significa originalmente "loja de ferragens") é o conjunto de dispositivos físicos do computador, o equipamento; 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 firmware (indicando programação gravada em dispositivos físicos e não modificável pelo usuário); 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.
    • MEMÓRIA – (os escaninhos) - Dispositivo físico para armazenar programas e dados; PROCESSADOR – (operador e máquina de calcular) - Dispositivo que realiza o processamento; 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; SISTEMA - Um conjunto interligado de programas (e, eventualmente, também de equipamentos); LINGUAGEM DE MÁQUINA - é a linguagem que o computador entende, cujo "alfabeto" é composto apenas de " 1 's" e " 0 's" (linguagem binária); 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.
    • 1.4. Componentes do Computador
    •  
      • 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:
      • Codificassem instruções que pudessem ser armazenadas na memória e sugeriu que usassem cadeias de uns e zeros (binário) para codificá-los;
      • Armazenassem na memória as instruções e todas as informações que fossem necessárias para a execução da tarefa desejada;
      • Ao processarem o programa, as instruções fossem buscadas diretamente na memória.
      • Este é o conceito de PROGRAMA ARMAZENADO.
    • DMA – deixa a UCP disponível para outro processamento em paralelo. UCP Troca de informações ( dados ou instruções ) – fluxo bidirecional. Sinais de controle – fluxo unidirecional. Diagrama em bloco de um computador MEMORIA PRINCIPAL DISPOSITIVOS DE ENTRADA E SAIDA UC ULA
      • 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:
      • UNIDADE CENTRAL DE PROCESSAMENTO (UCP):
      • A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP .
      • Funções:
      • Executar instruções - realizar aquilo que a instrução determina.
      • Realizar o controle das operações no computador.
      • Formada de duas unidades:
      • 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) - envia sinais de controle para toda a máquina, de forma que todos os circuitos e dispositivos funcionem adequada e sincronizadamente.
    • 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).
    • MEMÓRIA PRINCIPAL (MP): A Memória Principal tem por finalidade armazenar toda a informação que é manipulada pelo computador - programas e dados . Para que um programa possa ser manipulado pela máquina, ele primeiro precisa estar armazenado na memó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.
    • 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.
      • 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:
      • armazenar o programa na MP;
      • indicar à UCP onde o programa está armazenado.
      • Estas operações são realizadas pelo
      • SISTEMA OPERACIONAL:
    • Sistema Operacional dá suporte aos aplicativos. (Sustenta o ambiente no qual os aplicativos são executados). Aplicativo A Aplicativo B Aplicativo C Drivers de Dispositivos HARDWARE Gerenciamento de Processos E/S Arquivos Gerenciamento de Memoria E/S Dispositivos
    • 1.5 Memória
      • Memó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 ’).
    • 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 baixa Alta capacidade Pirâmide Hierárquica de tipos de memória Discos Fitas
      • 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).
      • Registradores
      • 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 Principal
      A memória principal é formada por dois tipos: RAM ( Randomic Acess Memory ) ROM ( Read Only Memory )
      • Tipos de Memória
    • FPM x EDO x SDRAM
      • 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 .
      • ROM - Read 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.
    • Na ROM do microcomputador há basicamente três firmwares:
      • 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;
      • 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;
      • 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.
    • Atualmente há duas tecnologias básicas para construção de circuitos de memória 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 – tecnologia mais moderna que permite reprogramação através de firmware. – upgrade de BIOS.
      • 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á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:
    • Á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)
      • 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 Cache
      • Tecnologia 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.
    • Barramento PCI Controlador de vídeo Memória de vídeo Funcionamento da placa de vídeo
      • Arquitetura Unificada de Memória (UMA – Unified Memory Architeture )
      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).
      • Tipos 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.
      • 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.
    • Memória VRAM Funcionamento de uma placa de vídeo com VRAM Barramento PCI Controlador de vídeo
      • 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.
      • 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.
    • Memória de vídeo Funcionamento de uma placa de vídeo Rambus. Barramento PCI Barramento RAMBUS Controlador de vídeo
      • 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.
    • 1.5.1 Memória Principal
      • 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 Operacional .
    • Estrutura 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é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.
    • 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ç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 é 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. Palavra é 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.
    • Janeiro de 2005 Acesso - ação de armazenar ou recuperar uma informação em uma memória; No end. 5h temos o armazenamento de um dado de 8 bits Numa memória de 1 MB, tem 1 M endereços que armazenam 1 byte cada. Como 1 M = 1.048.576 teremos essa quantidade de endereços Para armazenarmos um dado De 8 bits em cada um.
    • Número de bits para representar um endereço: Expressão geral MP com endereços de 0 a (N-1): N = 2 x logo: x = log 2 N sendo x = nº de bits para representar um endereço e N o número de endereços. CAPACIDADE DA MEMÓRIA PRINCIPAL A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula. T = N x M T = capacidade da memória em bits N = 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 0 1 2 3 N-1 Nº de endereços Estrutura da MP
    •  
    •  
    • 1.6 Unidade Central de Processamento
    • A 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 - tem por função a efetiva execução das instruções ACC REGs Unidade de Controle ULA Barramento Interno Diagrama Esquemático da ULA Barramento 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 ACC REGs UC ULA CLOCK RDM REM CI RI DECODER INST. Memória Principal Unidade Lógica e Aritmética Diagrama Funcional da UCP Unidade de Controle Barramento de Dados Barramento de Endereços Barramento Interno
    • Registradores Importantes na UCP
      • Na UC - 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 UC - RI - Registrador de Instrução (em inglês: IR - Instruction Register ) - armazena a instrução a ser executada.
      • Na ULA - 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.
    • Instruçõ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 .
    • Formato geral de uma Instrução 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 ( PARE ). Código de operação (OPCODE) Operando (s) (OP)
    • Conjunto 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).
      • 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.
      • 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 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.
    • Ciclo 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óxima Instrução Interpretar a Instrução Buscar os Dados Executar a Instrução Ciclo de Instruções
    • COMUNICAÇÃO ENTRE MEMÓRIA PRINCIPAL E UCP
      • BARRAMENTOS
      • 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.
    • REGISTRADORES 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:
      • 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 ... )
    •  
    • 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 &quot;computadores de 64 bits&quot; 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).
    • TEMPO 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 &quot;refresh&quot;, o tempo de ciclo é igual ao tempo de acesso . As memórias dinâmicas, no entanto, requerem ciclos periódicos de &quot; refresh &quot;, o que faz com que a memória fique indisponível para novas transferências, a intervalos regulares necessários para os ciclos de &quot;refresh&quot;. Assim, as memórias DRAM tem ciclo de memória maior que o tempo de acesso.
    • ACESSO À 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: 1 - LEITURA: LER da MEMÓRIA Significa 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
      • PASSOS EXECUTADOS PELO HARDWARE:
      • a UCP armazena no REM o endereço onde a informação requerida está armazenada;
      • a UCP comanda uma leitura;
      • 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ÓRIA Significa 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
      • PASSOS EXECUTADOS PELO HARDWARE:
      • 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;
      • a UCP comanda uma operação de escrita;
      • a informação armazenada no RDM é transferida para a posição de memória cujo endereço está contido no REM.
      • SINCRONIZAÇÃ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 &quot;patrão&quot; - 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.
      • SINCRONIZAÇÃO DE OPERAÇÃO DO SISTEMA
      • O computador envia a todos os seus componentes um sinal elétrico regular - o pulso de &quot; clock &quot; – que fornece uma referência de tempo para todas as atividades e permite o sincronismo das operações internas.
      • O pulso de clock indica que um ciclo (um &quot;estado&quot;) 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.
    • Clock O clock é um pulso alternado de sinais de tensão alta (&quot;high&quot;) e baixa (&quot;low&quot;), 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
    • Conforme vimos ao analisar a comunicação entre UCP e memória, as instruções, os dados e os endereços &quot; trafegam &quot; 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 &quot;congelar&quot; uma configuração de bits e processá-las.
    • 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 clock - 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ção . O clock é um pulso alternado de sinais de tensão, gerado pelos circuitos de relógio (composto de um cristal oscilador e circuitos auxiliares).
    • Ciclo 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 &quot; low&quot; e um &quot;high&quot; 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. A freqüência f do clock é medida em hertz . 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.
    • 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 10 6 hz P = 1 / 10 6 = 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.
    • 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.
    • http://venus.rdc.puc-rio.br/rmano/comp0clk.html. Bibliografia: