25
Arquitetura de Computadores Prof. Erwin Alexander Uhlmann Processadores, Memórias, Placas Mãe, Programação de baixo nível e Periféricos UHLMANN, Erwin Alexander. Arquitetura de Computadores. Instituto Siegen. Guarulhos, 2014. Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

A r q u i t e t u r a d e Computadores Prof. Erwin Alexander Uhlmann

Processadores, Memórias, Placas Mãe, Programação de baixo nível e Periféricos

UHLMANN, Erwin Alexander. Arquitetura de Computadores. Instituto Siegen. Guarulhos, 2014.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 2: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Agradecimentos

Agradeço à minha esposa Kátia por entender minha ausência e minha base, meu filho Henrique, por me motivar a para de fazer e ser meu motivo de fazer, meus pais Mirtes e Günter por terem criado meu caminho, aos meus alunos que viabilizaram este trabalho e a todos os autores de livros e bibliotecas que consultei para que pudesse devidamente embasar este.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 3: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Sumário

Índice de Figuras

Figura 1 - Arquitetura Von Neumann 4 ...................................................................................................................

Introdução O estudo da Arquitetura de Computadores pretende proporcionar uma visão geral sobre a organização e arquitetura dos computadores, sobre o funcionamento de cada

Introdução 3............................................................................................................................................................................Aula 1 5......................................................................................................................................................................................

Pré-requisitos 5................................................................................................................................................................Fontes de referência 5............................................................................................................................................Referências 5................................................................................................................................................................

Aula 1 6......................................................................................................................................................................................Unidade Central de Processamento 7...............................................................................................................

Unidade Aritmética Lógica 7...............................................................................................................................Registradores 8...........................................................................................................................................................Unidade de Controle 9..........................................................................................................................................

O Processador 9...................................................................................................................................................................Unidade Aritmética Lógica 10.................................................................................................................................Unidade de Dados 11..................................................................................................................................................Contador de Programa 13........................................................................................................................................

Memória Principal 15..........................................................................................................................................................Tipos de Memória 18...................................................................................................................................................

Subsistema de entra e saída (I/O) 20.......................................................................................................................HDs 20..................................................................................................................................................................................

Bibliografia 25..........................................................................................................................................................................

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 4: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

componente e a integração entre os dispositivos bem como demonstrar interação entre hardware e software em diferentes níveis, tendo como foco os princípios que são a base dos computadores atuais

Este estudo tem por objetivo tornar seu leitor capaz de compreender o funcionamento de um computador e de criar alternativas que sejam capazes de melhorar o desempenho e/ou alternativas para construção de computadores de propósito geral ou específico.

Para quem busca entender um pouco melhor o funcionamento de um computador, e ser capaz de construir um, este trabalho pretende contribuir com as expectativas.

Divirta-se!

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 5: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Aula 1

Pré-requisitos

Fontes de referência DELGADO, José, RIBEIRO, Carlos. Arquitetura de computadores. 2. edição. Rio de Ja-neiro: LTC, 2009.

FOROUZAN, B., MOSHARRAF, F. Fundamentos de ciência da computação. Cengage Learning. São Paulo, 2011.

JOHN L. HENNESSY & DAVID A. PATTERSON ,Arquitetura de Computadores: Uma Abordagem Quantitativa 3 ed. Campus.2003

STALLINGS, William. Arquitetura e Organização de Computadores. Pearson Prentice Hall. São Paulo. 2010.

MORIMOTO, Carlos E. Hardware II: o guia definitivo. Porto Alegre. Sul Editores. 2012.

Referências

Computação Básica http://www.institutosiegen.com.br/documentos/euhl.13509485521175.pdf

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 6: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Aula 1 O estudo da arquitetura de computadores é uma forma semelhante de se estudar o funcionamento de máquinas motrizes, como motores de carros ou máquinas injetoras. O objetivo deste estudo é entender o funcionamento e propor melhorias seja em hardware ou em software de alta ou baixa linguagem, até mesmo em linguagem de máquina.

Alan Turing, brilhante matemático americano propôs a máquina de turing em 1937. Esta máquina teoricamente seria capaz de buscar a informação em uma fita, interpretar a informação e rescrever, de forma automática, autônoma. Veja este feito imaginado pelo Turing em:http://www.youtube.com/watch?v=E3keLeMwfHY

Os autômatos são a chave da computação moderna. Mais - e muito mais - importante que a velocidade de processamento ou a capacidade de armazenamento é a possibilidade que um computador moderno traz de realizar diversas ações, que precisam ser coordenadas, e decisões complexas, que o computador faz sem intervenções humanas.

Para podermos compreender melhor desde sua arquitetura até sua engenharia, vamos estudar o conjunto das partes até seu todo como uma máquina complexa e um pouco de sua história.

Explicar de forma teórica é mais simples, porém, se utilizarmos exemplos atuais, a compreensão será simples e mais rápida. O Arduíno (http://www.arduino.cc) é um computador simples e de fácil acesso, além de ser barato é simples de trabalhar com ele. Este pequeno e simples computador obedece à arquitetura desenvolvida por Von Neumann:

Figura 1 - Arquitetura Von Neumann

A partir da Figura 1 é possível compreender que um computador pode ser dividido em três partes distintas: A Unidade Aritmética Lógica (Aritmetic Logical Unit - ALU), a memória principal e os dispositivos de entrada e saída. Vamos estudar suas partes.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 7: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Unidade Central de Processamento A Unidade Central de Processamento (Central Processing Unit - CPU) é o centro de processamento de dados. Ela é dividida basicamente em três partes: A ALU, os Registradores e a Unidade de Controle.

Hoje temos alguns fabricantes como Intel, AMD, Motorola, IBM, Cyrix, Texas Instruments, entre outros.

A Intel, pioneira neste mercado, em 1971 lançou um chip integrado, o 4004, que operava em 740MHz e precisava de 10 ciclos para operar cada instrução. Com capacidade de trabalhar em 8bits e com um barramento de 4bits, processava 74 mill operações por segundo. Um feito para a época. O interessante era sua capacidade de realizar diversas operações de forma automática, pois contava com diversos componentes prensados num único chip.

Como comparativo, o Intel 4004 tinha 2300 transistores e 640 Bytes de Memória Endereçável (quantidade de memória RAM possível) e não havia memória cache, seu sucessor direto, o 8008 de 1972, trabalhava com 8bits, 3500 transistores e 16KB de memória endereçável. Isto mostra o valor e a importância que este projeto teve, pois a melhoria de um modelo para outro é astronômica. Os processadores atuais como o Core 2 Duo de 2006 com largura de barramento de 64bits, 167 milhões de transistores, memória endereçável de 64GB e memória cache (introduzida em 1989 com o 486 que era de 8KB) de 6MB de L2.

O que é interessante observar é que um processador, por menor que seja, deve ser criado para processar o total dos dados, quantas vezes tiver que ser acionado. Para tanto, vamos imaginar o seguinte:

Some 2 + 3

Para realizar esta operação precisamos decompor a operação e ordená-la.

1. Operação: Soma;

2. Com o quê? Dois valores numéricos (2 e 3) alojados na memória principal (RAM);

3. Processar (somar) e armazenar na memória.

Vamos proceder com uma linguagem simplificada. Carregue o valor da célula da memória de endereço 1. Como isto ocorre?Se o valor estiver disponível na memória, o circuito é ligado (1), por indução elétrica, os dados fluirão pelo circuito. Vamos imaginar um processador de apenas 1 bit. Mas, a memória é um conjunto de 4 + 4 bits, ou seja 1 Byte. Para resolver isto, vamos utilizar um registrador, uma controladora e a unidade aritmética lógica.

Unidade Aritmética Lógica A Unidade Aritmética Lógica (Acrônimo inglês ALU) é a parte do processador que realiza a aritmética (soma, subtração, divisão e multiplicação) seguindo uma lógica.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 8: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Se um processador, uma ALU, tiver apenas um bit, poderá realizar operações com os valores 0 e 1, se tiver dois bits, poderá realizar operações com valores até 9, ou 4 e -4, com oito bits, valores até 255 ou 128 e -128.

Desta forma, se fizermos a soma de um valor negativo, será na verdade uma subtração, assim:

4 + (-4) = 0 || em binário 0000 0100 + (-1111 1100) = 0000 0000

Mas para realizar esta operação, a ALU deve ter a largura de 8b, caso contrário, os valores da quinta casa em diante seriam ignorados, prejudicando a programação.

V e j a a a n i m a ç ã o : P r o c e s s a d o r

Figura 2 - Princípio de um processador

Como funciona, então, suas partes?

Multiplexador O Multiplexador e o Demultiplexador são componentes utilizados para movimentação entre partes distantes, como uma memória e o processador, utilizando uma única via, mas no processador, o papel deste primeiro é a ordenação de qual circuito terá acesso à ALU.

O Demultiplexador é utilizado na outra ponta da via e funciona exatamente igual ao multiplexador, porém de forma espelhada.

Estes componentes, têm portanto a finalidade de controlar o acesso à ALU e aos Registradores.

Registradores Os registradores são componentes eletrônicos feito com portas lógicas biestáveis, os flip-flops.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 9: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

�Figura 3 - Flip-flop

São pequenas memórias rápidas que ficam junto ao processador e servem para a entrada de dados que serão processados.

Sua vantagem é permitir a o acesso da ALU à uma memória imediata e dedicada diretamente no processador, sem necessidade de recorrer a arquivos de endereçamento e trabalho na velocidade real do processador.

Unidade de Controle A unidade de controle é composta pelos registradores, o multiplexador e o chip de processamento da programação de baixo nível com a lógica programada.

Esta unidade é importante pois contém a programação e permite o acesso automático às informações.

O Processador O processador é um conjunto de componentes que permitem a automação das funções necessárias para o funcionamento do computador, como uma colheitadeira que colhe o milho, separa a espiga da planta, debulha os grãos, pica a planta e depena no terrena para adubar. Os dados (grãos do milho) do computador precisam ser processados conforme os endereços que estão, a operação programada e gravar o resultado em local específico. Para cada função existe uma parte que irá executar, conforme a Figura 4.

Vamos estudar um processador simplificado de 8 bits para que possamos verificar o funcionamento adequado de números binários com 1Byte.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Processador

Unidade de Controle

Unidade d e Dados

Memória de Instruções

Memória de Dados

Periféricos

E/S ou I/O

Page 10: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Figura 4- Arquitetura básica de um computador

Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade de Dados, funciona como um somador, apenas, isto significa que todas as operações são realizadas seguindo a seguinte lógica:

Tabela 1 - Procedimentos Aritméticos em uma ALU

Tabela 2 - Porta lógica aritméticas

A Controladora possui diversos circuitos, entre eles a inversora que cria os negativos, como se fosse uma porta Not que inverte seus valores, porém soma 1 para virar complemento de 2 para realizar as operações adequadamente. Outra parte é a contadora, que recebe um sinal se o Registrador está ocupado e soma 1 ao último valor. Este sinal de ocupado é a somatória do conteúdo e se estiver maior que 0, conte um, ou seja, some 1 ao último registro.

O registrador é uma memória imediatamente ao lado da ALU feito para armazenar os valores da memória RAM e permitir, com alta velocidade, as operações conforme (Figura 5 ) programado.

Operação Expressão Operando A Operando B Resultado

Soma (00) A + B 1001 (9) 0011 (3) 1100 (12)

Subtração (01) A - B || A + (-B) 1001 (9) 1101 (-3) 0110 (6)

Multiplicação (10)

A * B || A + B repetindo n vezes o operando B - 1

1001 (9) 0011 (3) 1001 + 0011 = 1100 + 1001 = 0101 (deveria ser 10101) + 1001 = 1110

Divisão(11) A / B || A + (-B) repetindo n vezes o operando (-B)

1001 (9) 1101 (-3) 1001 + 1101 = 0110 + 1101 = 0011(9 / 3 = 3!!!)

Sinal para ALU

Operação Multiplexador Obs

0 0 A + B Saída do somador XOR, não altera o operando B

0 1 A + (-B) Saída do somador B em complemento de 2.XOR no operando B

1 0 A ^ B Saída do AND Conjunção logica (AND) bit a bit

1 1 A v B Saída do OR Disjuncao logica bit a bit (OR)

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 11: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Figura 5- Registradores da ALU

Unidade de Dados A unidade de dados pode ser didaticamente descrita como a unidade que recebe os dados para a operação aritmética e o sinal aritmético (veja Tabela 1).

Figura 6- Unidade de dados

Ela opera segunda a Register Transfer Language (RTL) que a primeira linguagem (não a primeira cronologicamente falando, mas em nível) da máquina. a RTL é escrita em linguagem de máquina e descreve apenas o procedimento operacional da Unidade de Dados, conforme Tabela 2.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

ALU 0

1

2

3

Page 12: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Tabela 2 - RTL

Como a RTL está ligada diretamente à máquina e é escrita em bits, cada máquina pode ter sua própria RTL, de diferentes formatos e regras.

Ex.:

1. A<-12A1;(operando A)

2. B<-12A2; (operando B)

3. C<-12A3; (sinal)

4. D<-12A4; (sinal de escrita[w] - 1 ou de leitura de memória [r] - 0)

5. E<-ACB; (A + B)

6. 12A5<-E

7. C000;

Como ela fica armazenada na Unidade de Dados em formato binário, a execução ocorre nas portas lógicas, ex.:

Tabela 3 - RTL, Binário e Memória

RTL Significado

A Registrador A

M Endereço da célula de memória. Ex.: 32B9

A <- M Escreve um cópia no Registrador A o conteúdo da memória X. Ex.: A<-32B9

M<-A Escreve uma cópia na memória de endereço X o conteúdo do Registrador A.

+,-,ˆ,v Operações básicas da ALU, em formato binário. Veja Tabela 1. Ex.: A^B (A10B) (A*B)

Expressão Executa uma operação somente se for verdadeira. Ex.: A-B. A e B possuem conteúdo.

RTL Binário Memória

E<-ACB; 1110 1 101011001011 2 + 2

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 13: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Figura 7 - Conexões internas em um processador: MBR (Mem. Buffer Register)

O fluxo de dados determina o que deve ser feito, desta forma, o computador deve estar preparado para contar o número de bits para destiná-los corretamente. Um computador, o IAS, da arquitetura Von Neumann, criou um padrão para a ordem de leitura do padrão de bits. A memória possuía 1000 locais de armazenamento, chamados de palavras de 40 dígitos (bits) cada.

Figura 7 - Sequenciamento de Dados e sua leitura pelo PC

Contador de Programa O Contador de Programa ou PC (Program Counter) é um esquema em hardware que soma 1 à última posição. Isto possibilita toda a computação seguir um de seus princípios básicos, a execução sequencial.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

Opcode Endereço Opcode Endereço

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 14: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Com a execução seqüencial o PC armazena a última posição de memória da Memória de Instruções (MI), soma 1 e executa a instrução, porém a instrução para ser executada precisa ser armazenada em um registrador livre. Caso o registrador esteja ocupado o PC soma 1 ao último endereço de registrador até que encontre um vazio e armazene seu endereço vinculando o passo da MI ao endereço do registrador. Estes dados ficam armazenados na MI. Os dados por sua vez seguem o mesmo padrão, o PC segue a seqüência de endereços procurando registradores vazios e associa endereços de registradores aos passos de execução. Veja o Exemplo:

Tabela 2 - Contador de Programa e o ciclo de processamento

MI Registrador MD PC Momento

1 - Carregar o padrão de bits da célula 1 (operando A) da MD no registrador (se livre, senão, PC)

1 - ocupado2 - ocupado3 - livre4 - livre5 - ocupado6 - livre7 - livre8 - livre

1 - 0000 10012 - 0000 00103 - 0000 00114 - 0101 10105 - 1010 01016 - 1100 00117 - 0011 11008 - 0000 0000

1 A MI começa a ser executada pelo PC em 1 (estado anterior [0] + 1);O PC procura um registrador com valor = 0. Encontra o endereço 3;Copia o conteúdo da MD 1 para o endereço 3. MD1 <- R3

2 - Carregar o padrão de bits da célula 2 (sinal) da MD no registrador (se livre, senão, PC)

2 O PC somou 1 ao estado anterior e deu a seqüência ao programa. Ele irá procurar o registrador livre. Copia da MD 2 para o registrador 4. MD2 <- R4

3 - Carregar a MD 3 (operando B) no registrador

3 PC somou 1 ao estado anterior e carregou a instrução seguinte no registrador 6 (livre).MD3 <- R6

4 - copiar o resultado do último registrador na MD (livre)

4 Como a conta é uma multiplicação 9(0000 1001) x 3 (0000 0011), o primeiro ciclo de soma 9 + 9 deve ser repetido (sinal 0000 0011) duas vezes. O valor 18 é armazenado num registrador livre. R3 e R3 <- R7

5 - pule (jump) para 5 5 O segundo ciclo da multiplicação (9 x 3) é executado. R3(9) e R7(18) <- R8 (27)

6 R8 <- MD8 (0000 0000) - livre

7 Como o processador nunca para, um ciclo infinito de instruções é iniciado para pular ao mesmo ponto e nada executar. Isto é encerrado com uma nova instrução ocupando a MI.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 15: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Memória Principal A memória principal é um conjunto de portas lógicas que tem o comportamento de manter o padrão de bits vindos do processador. Estes dados são escritos somente se estiverem com o sinal de gravação (1) ou apenas leitura (0). Estas portas lógicas formam células 4bits (0000) e são dispostas duas a duas (0000 0000) formando uma palavra de 8 bits ou 1Byte. Estas células de memória possuem um circuito que informa qual seu endereço em em uma linha e coluna como uma matriz.

Tabela 3 - Endereçamento de memória coluna (letra) e linha (número)

O processador envia uma palavra em bits da largura de seu barramento para a memória. Esta palavra contém o endereço da memória que precisa para realizar a operação programada na memória de instruções e a partir dos dados da memória de dados. A largura do barramento do barramento do processador envia o endereço de memória e esta ao receber o padrão de bits sem o bit de escrita, retorna num barramento comum o padrão de bits contido nas células de memória RAM.

0000 0000 0001 0000 0010 0000 0011 0000

0000 0001 0001 0001 0010 0001 0011 0001

0000 0010 0001 0010 0010 0010 0011 0010

0000 0011 0001 0011 0010 0011 0011 0011

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 16: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

As células de memória pode ser constituídas de duas formas básicas, sendo DRAM (Dynamic Random Access Memory) e SRAM (Static Random Access `).

A DRAM é mais barata e pouco mais lenta, por ser construída com capacitores. Quando os capacitares estão cheios de energia, possuem conteúdo 1 e vazios 0. A latência se dá pelo tempo de carga do capacitor. Como ele é carregado quando possuir um bit de escrita e outro de valor (11) o transistor abre e carrega o capacitor. Quando o sinal for somente de leitura (01), o transistor não abre mas o segundo sinal (01), o de endereço, o capacito é então descarregado. Ele passa pelo chip de refresh que lê o endereço e recarrega o capacitor. Este chip de refresh também toma ciclo do processamento.

Figura 8 - Memória Dinâmica com os barramentos de leitura e escrita e CAS e RAS

O acesso à memória e feito por meio do CAS (Column Adress Strobe) e do RAS (Row Adress Strobe) algo como endereçado de movimento e sincronização. O processador envia um sinal com a linha e a coluna em 8, 16, 32 ou 64 bits(dependendo da largura do barramento) e obtém a resposta da memória desejada na mesma largura. Desta forma ele envia 1010 0101 (coluna 10, linha 5) e obtém o valor de seu conteúdo.

A SRAM é mais cara e rápida, pois é constituída apenas de portas lógicas como o processador. A diferença básica é que a SRAM responde diretamente ao processador enquanto a DRAM precisa ser reescrita após a solicitação, no entanto, a primeira é mais cara e difícil de produzir e em grande escala muitas trilhas podem apresentar problemas o que levaria a perda da célula ou até mesmo do chip, encarecendo ainda mais.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 17: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

�Figura 9 - Memória Estática

Como é possível notar, as duas memórias são capazes de armazenar bits. Uma memória é um conjunto de quatro destes componentes em duas células, o que forma oito bits. As memórias vem evoluindo e multiplicando sua velocidade para se equiparar a dos processadores, como a latência de processamento dos transistores muda pouco e as frequências de trabalho são cada vez mais altas, os fabricantes de memória procedem com a ampliação dos canais de leitura e gravação, permitindo um número de maior de bits a cada ciclo, a isto se atribui o nome de largura do barramento ou simplesmente largura. Como as memórias possuem duas células de 4b, ou seja, 8b ou 1Byte no total, a largura deve sempre ser um múltiplo de 8, como 8, 16, 32, 64.

A capacidade de armazenamento de uma memória está ligado a quantidade de células, desta forma, uma memória com 8 células tem uma capacidade de 64bits ou 8Bytes, ou seja, cada célula tem 8 bits, se a memória tem 8 células, logo são 64b.

Para se armazenar dados na memória é preciso uma memória de endereçamento que normalmente fica no próprio processador, sendo assim o processador pode ter uma determinada capacidade de endereçamento de memória. Ex.:

Um processador tem uma memória de endereçamento de 4b (0000 a 1111), a memória útil poderá ter 16 células (8 x 16 = 128b ou 16B). A explicação por que alguns computadores não acidam upgrades de memória além de um determinado número.

Uma memória RAM possui as seguintes características:

• Capacidade em células – Nº de células disponíveis na RAM. Sempre potência de 2.

• Largura – Quantos bits/célula são possíveis de se armazenar por vez. Sempre múltiplos de 8 (8,16,32,64,128...) e sua largura é denominada PALAVRA, sempre em potência de 2 (1,2,4,8,16...).

• Capacidade em Bytes – Produto da capacidade pela largura em Bytes. Se uma memória tiver 16 células (figura 19) e cada célula 16 bits (2 Bytes), então a capacidade da memória será de 32 Bytes. 16 x 2, ou (16 x 16) / 8.

• Endereço – Número da célula. Para se endereçar uma memória é preciso de espaço para endereçamento. Esta memória auxiliar para o endereçamento deve ter a largura (em bits) dependendo da quantidade de células que tem a memória, ou seja, uma

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 18: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

memória como da figura 19, com 16 células, precisará de 4 bits para armazenamento de endereços, de forma oposta, uma RAM com 4MBytes de capacidade deve ter 512 células com largura de 64bits resultando numa capacidade de 2048. Outro exemplo

Ou seja, (Capacidade x Largura)/8(bits) = Capacidade total em Bytes

Se imaginarmos memórias então com 64B de capacidade de armazenamento o processador deveria acessar endereços e realizar a leitura bit a bit. Para acelerar este processo foram desenvolvidas técnicas como os endereço RAS e CAS. Ao de enviar um endereço RAS toda a linha é ativada, como todas as células serão ativadas o endereço CAS ativará as células desejadas. O padrão de bits é lido pela largura do barramento, ex. 4b, ou 4 condutores que serão ligados à memória de dados do processador.

Tipos de Memória

ROM Read-Only Memory são memórias que servem apenas para leitura e não permitem a alteração de estado como nos flip-flop. São programadas pelo fabricante de forma física. Seu emprego é normalmente associados à dispositivos eletrônicos que apenas manipulem dados de entrada e não necessitam armazenas dados. Quando existe esta necessidade, então emprega-se as memórias PROM, EPROM, EEPROM e Flash. De forma genérica, o nome de memória ROM também é empregado aos HDs, CD-ROMs e outras mídias de armazenamento estável, no entanto isto é feito de forma incorreta, pois para se reprogramar uma memória ROM são necessários artifícios que intervenham em sua arquitetura, como segue:

ROM – A memória é construída com um decodificador associado à portas lógicas e suas conexões são soldadas pelo fabricante, o que impede sua alteração. O funcionamento de uma ROM é o recebimento do endereço binário vindo do decodificador e o transforma em uma palavra com capacidade do exponencial do número de entradas, ou seja, se tiver 2 entradas de endereço, terá uma capacidade de armazenamento de 4 bits, se forem 4 bits de endereço, serão 16 bits de armazenamento e 8 para 64b;

Figura 9 – Read Only Memory

PROM – Programmable ROM são memória que permitem a alteração de seu estado original apenas uma vez, ou seja, o fabricante cria as N possibilidades de programação, como se fossem fusíveis, que ao serem queimados perdem a conexão. Isto é conseguido com conexões realizadas de modo lógico. O simples fato de se programa-la altera em definitivo seu estado;

Figura 10 - Programmable ROM

EPROM – Erasable PROM são memórias que tem um funcionamento diferente, pois por meio de radiação ultra-violeta o conteúdo pode ser alterado, ou melhor, apagado e assim, permite-se a programação de novo. São reconhecidas pela janela na parte superior do chip. Normalmente o BIOS era construído com EPROMs e um adesivo do fabricante para proteger do apagamento acidental. Podem armazenar de 16.000bits (16Kb = 2KBytes) até mais de 4Mbits, ou 512KBytes. O processo de apagar uma memória deve ser feito com ela for do sistema e leva cerca de 30 minutos.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 19: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Figura 11 - Erasable PROM

EEPROM – Eletrically EPROM são memórias que podem ser escritas e apagadas por meio de eletricidade, em uso no circuito. Para se gravar os dados, usa-se uma voltagem elétrica alta, assim como na EPROM, no entanto essa voltagem superior causa a deterioração dos componentes, assim como a memória flash, que utiliza o mesmo recurso, as memórias EEPROM tem um limite de uso de cerca de 100.000 à 1.000.000 de vezes de gravação, isto significa que deve-se evitar o trabalho on-line em que se grava constantemente os dados diretamente na EEPROM, devendo-se fazê-lo somente após a conclusão do trabalho.

Figura 12 - Eletrically EPROM

Flash – As memórias Flash são semelhantes às EEPROM, no entanto trabalham com blocos de gravação, ou seja, com Bytes e as EEPROM trabalham bit a bit. São memórias mais baratas e de maior velocidade de gravação, pois realizam a escrita dos endereços em blocos, ou seja, vários de uma só vez e a arquitetura de escrita e reescrita procura a utilização de endereços não utilizados, assim aumentando a vida útil da memória, diferente dos HDs que procuram utilizar o mesmo endereço para otimizar a velocidade de leitura e ganhar velocidade. Como a leitura é lógica, sua velocidade é única.

Figura 13 - Memória Flash

CD-ROM – Compact Disc ROM são memórias apenas de leitura, pois utilizam um feixe de laser para gravar de forma irreversível os bits num superfície plástica reflexiva, ao queimar não irá refletir, logo sendo atribuído o valor 0. Os CDs do tipo Read and Write (RW) a camada é feita de material mais duro, ou seja, o processo de apagamento dos dados rouba uma camada vizinha o que permite reflexão novamente no mesmo ponto, porém a vida é curta de uma mídia doeste tipo, seja para o número de gravações como para leitura, pois é um processo à laser, que pode gastar a superfície do CD.

Tipos de Memórias RAMAs memórias RAM começaram como memórias regulares, ou seja, o RAS (Row Access Strob) o endereço de linha da célula desejada e o CAS (Colunm Access Strob) a coluna desejada, era enviado pelo processador e a resposta vinha pelo barramento. Para cada bit era enviado um RAS e um CAS e eles deveriam ser lidos e alocados na memória de dados.

Memórias FPM As memórias Fast-Page Mode, tinham um RAS único e gravavam de forma adjacente os dados de quatro CAS, sendo assim: 6 - 3 - 3 - 3: 6 acesso à memória com RAS e como o CAS é único, 3 ciclos para cada bit de resposta.

Memórias EDO As memórias Extended Data Output, a leitura era realizada em pacotes de 4 bits, então o barramento da memória é mais largo e ase rspostas vinham em pacotes. Desta forma são 5 ciclos para o RAS e 2 para cada bit.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 20: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Memórias SDRAM As memórias EDO trabalhavam de forma assincrônica com o processador, pois possuíam velocidade superior ao barramento, isto permitia o envio de dados que eram armazenados no chipset (ponte norte).

As memórias Synchronous Dynamic RAM surgiram como resposta ao padrão (que deveria pagar royalties) e a crescente velocidade das placas mãe. Elas trabalham na mesma velocidade da placa mãe e isto reduz os ciclos de acesso para 6 (CAS) - 1 - 1- 1. Desta forma 256 setores eram lidos em apenas 260 ciclos. Uma memória regular, faria em 1280 ciclos.

Uma memória SDRAM 133, permitia 133.000.000 de leituras por segundo. O passo seguinte foram as memórias DDR (Double Data Rate).

Memórias DDR As memórias Double Data Rate, se diferenciavam das SDR, pois permitiam o fornecimento de dados e gravação no mesmo ciclo. Desta forma estas memórias permitiam processos quase duas vezes mais rápidos. Apesar de trabalharem na mesma freqüência (133MHz) elas também gravavam no ciclo.

As memórias DDR, por sua vez, tem a capacidade de transmitir o dobro de dados por pulso de clock, atingindo o dobro da velocidade que as memórias SDR sem a necessidade de alterar a velocidade do barramento, ou seja, uma memória que opere em 100MHZ tem a velocidade efetiva de 200MHZ. AS memórias DDR2, passaram a trabalhar com 4 bits por pulso de clock e as DDR3, 8 bits, atingindo uma velocidade máxima de 1600MHZ.

Subsistema de entra e saída (I/O)

HDs As mídias de armazenamento são conhecidas como discos, pois como diz o nome, possuem este formato. Este tipo de dispositivo de armazenamento é um dos mais antigos e persistentes, por sua confiabilidade, porém, os discos chamados platters, primeiramente eram flexíveis e isto conferia diversos problemas de longevidade de armazenamento de dados. Os discos fixos nos computadores, rígidos, hardrivers(HD), possuem um disco metálico revestido de liga metálica que permite a gravação magnética.

O HD é constituído de um, dois ou quatro discos, com face dupla, ou seja, um disco único tem dois lados, um duplo tem quatro. Ele possuem um braço para cada lado e este com sua cabeça de leitura e outra para gravação, além do atuador que controla a posição do braço e uma placa controladora que recebe os dados e os processa para permitir a gravação em tempo diferente, assíncrono com a placa mãe e as demandas do processador.

A placa controladora é constituída de de um chip de processamento, uma memória buffer e um chip de controle de posição do atuador.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 21: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

O disco é constituído de trilhas, setores e clusters. O cluster permite a gravação de 512Bytes, 1024Bytes, 2048Bytes ou até mesmo a densidade de até 4098Bytes por

FAT - 16bits = 512Bytes

Total de setores = 826.770 - Depende do tamanho do disco. Setores por cluster (16) x Total de clusters (51.645) = 826.320 setores.

Total de clusters = 51.645

Setores por cluster = 16

Bytes por cluster = 8.192

Trilha => Setor => Cluster =>Bytes =>16bits = 8bits x 2, então:

2 x 8 = 16. 16 x 8.192 = 131.072bits.

Clusters = 51.645 x 131.072 = 6.769.213.440 bits!

NCQ

O Sistema NCQ busca o cluster mais próximo do atuador parar ler os dados, isto significa que a ordem de leitura pode não ser a mesma de construa em detrimento da velocidade, exemplo: Na ordem natural um arquivo está dividido em 4 clusters diferentes:

FAT16, FAT32, NTFS, EXT3 FAT16 = 16bits de endereços = 65.536 de 512Bytes(33MB) a 32KBytes(2GB);

FAT 32 = 32 bits de endereços = 4.294.967.296 endereços

NTFS = 64 bits de endereços =

EXT4 = 64 bits de endereço

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 22: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

exFAT = FAT de 64 bits

RAIDO termo RAID significa "Redundant Array of Inexpensive Disks",

RAID 0 (Striping): O RAID 0 é um "RAID pra inglês ver", onde o objetivo é unicamente melhorar o desempenho, sacrificando a confiabilidade. Ao usar o RAID 0, todos os HDs passam a ser acessados como se fossem um único drive.

RAID 1 (Mirroring): Este modo permite usar dois HDs, sendo que o segundo armazenará uma imagem idêntica do primeiro. Na pratica, será como se você tivesse apenas um disco rígido instalado, mas caso o disco titular falhe por qualquer motivo, você terá uma cópia de segurança armazenada no segundo disco.

RAID 10 (Mirror/Strip): Este modo pode ser usado apenas caso você tenha a partir de 4 discos rígidos e o módulo total seja um número par (6, 8, etc.). Neste modo, metade dos HDs serão usados em modo striping (RAID 0), enquanto a segunda metade armazena uma cópia dos dados dos primeiros, assegurando a segurança.

RAID 5: Este modo é muito utilizado em servidores com um grande número de HDs. Ele utiliza um método bastante engenhoso para criar uma camada de redundância, sacrificando apenas uma fração do espaço total, ao invés de simplesmente usar metade dos HDs para armazenar cópias completas, como no caso do RAID 1.

BarramentosO computador de 4ª geração é um composto de diversos tipos de memórias, RAMs e ROMs, dispositivos simples ou complexos de Interface Homem Máquina, como um simples botão de ligar ou desligar ou uma impressora e um ou mais processadores.

Para permitir a comunicação entre todos os dispositivos, o meio físico para esta interligação é o barramento que é o conjunto de ligações paralelas que permitem a comunicação entre os dispositivos. O barramento pode ser dividido em:

Barramento de endereços – que permite a localização dos dispositivos e caso seja um composto celular, quais devem ser acessadas.

Barramento de dados – é utilizado pelo processador para ler e escrever os dados contidos nos dispositivos. Diferente dos outros barramentos, este é bidirecional, pois permite a leitura e a escrita de dados.

Barramento de controle – é constituído pelos sinais de controle d e a c e s s o à m e m ó r i a , d o processador e dos periféricos.

Figura 21 - Tipos de barramentos

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 23: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Como se pode observar na ilustração, a diferença entre um barramento e uma via de ligação simples é a possibilidade de se conectar mais de um dispositivo ao mesmo tempo.

Como o barramento é uma via de condutores elétricos, um dos fatores determinantes do desempenho de um computador é a largura do barramento, que é medida em bits, que pode ser um barramento de 8 vias ou 8 bits, 16, 32, 64 ou 128 bits. Para se medir o desempenho de um computador é preciso saber a largura do barramento que, nos computadores modernos está de acordo com a capacidade do processador, assim, um processador como o Pentium 4 de 32 bits (4 Bytes) e um clock de 400MHz do barramento tem uma taxa de transferência de 1600MB/s, ou:

1. 32bits = 4Bytes => 4 x 400MHz = 1600MB/s;

2. 64bits = 8Bytes => 8 x 1066MHz = 8528MB/s, ou 8,5GB/s.

Os barramentos podem ser divididos em 3:

Barramento local – é o barramento mais rápido. Ele interliga o processador à memória Cache;

Barramento de Sistema – é o barramento que permite a comunicação entre o sistema de processamento (processador + memória cache) à memória principal por meio de uma ponte, chamada de ponte norte;

Barramento de expansão – este barramento interliga o conjunto principal (processador + memória principal) aos dispositivos I/O (in/out), como CD-ROMs, placas de video, mouse e impressoras. Entre os dispositivos existe a ponte sul que assim como a norte tem a função de sincronizar as diferentes velocidades de barramentos internos dos dispositivos e permitir o melhor funcionamento do sistema.

Figura 22 - Barramento tipo.

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 24: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Figura 23 - Barramento tipo. Arquitetura Pentium.

Após estas considerações, se torna importante entender que:

1. Se o processador for de alto desempenho, mas a velocidade da placa for baixa, a velocidade total do sistema será baixa;

2. Como o processador é o elemento mais rápido do sistema, para aumento da performance total, a placa deve ter alta velocidade de transmissão;

3. Ao comparar o desempenho de sistemas SoC (System on Chip), comumente chamados de processadores ARM(r), podem ter um desempenho superior por possuirem um número de barramentos locais maiores para efetivar a comunicação entre seus dispositivos, evitando o barramento de expansão, o mais lento;

Para finalizar, a partir da compreensão dos tempos e caminhos necessários para o tráfego de dados em uma placa mãe, o processador pode permanecer por longos períodos ocioso. Estes períodos em que se buscam as informações nos dispositivos, como um HD e se montam tais dados numa fila ou pilha, ou até mesmo no momento em que se envia os dados para armazenamento, a técnica de PIPELINE auxilia no aumento de velocidade;

Busca Instrução (B)

Interpreta Instrução Fila ou Pilha.. (I)

Executa a Instrução (X)

Armazena a Instrução (A)

B I eX A

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br

Page 25: Arquitetura de Computadores - institutosiegen.com.br€¦ · Figura 4- Arquitetura básica de um computador Unidade Aritmética Lógica A Unidade Aritmética Lógica, dentro da Unidade

Existem pipelines mais longos, mas sempre atendem ao mesmo aspecto, otimizar o processamento enquanto outra tarefa é executada.

Desta forma, é importante, então, conhecer a velocidade do processador, o tamanho do seu pipeline e a velocidade do barramento para projetar uma arquitetura equilibrada.

Para encerramento, o Sistema Operacional deve, teoricamente, ser projetado em conjunto com a arquitetura para que seus processos sejam de tal forma que ocupem o pipeline por tempo e carga suficientes para o próximo estágio, assim como processos e suas paginações ocupem de forma adequada a memória RAM (que deve ser projetada para tal fim).

Um projeto sistêmico adequado e equilibrado pode, certamente, ter um desempenho superior a outro que pode ter elementos mais rápidos porém desequilibrados.

Bibliografia HOGAN, Brian P. Web Design para Desenvolvedores. Rio de Janeiro. Editora Ciência Moderna, 2011.Pressman, Roger S. Engenharia Web. Rio de Janeiro. LTC, 2009.

PRESSMAN, Roger S. Engenharia Web. Rio de Janeiro. LTC, 2009.

CYBIS, Walter. Ergonomia e Usabilidade: conhecimentos, métodos e aplicações. São Paulo. Novatec, 2007.

SILVA, Maurício Samy. Construindo sites com CSS e (X)HTML: sites controlados por folhas de estilo em cascata. São Paulo. Novatec, 2008.

POWERS, Shelley. Aprendendo JavaScript. São Paulo. Novatec, 2010.

SILVA, Maurício Samy. Criando sites com HTML: sites de alta qualidade com HMTL e CSS. São Paulo. Novatec, 2008.

B I eX A

B I eX A

Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br