Sei sulla pagina 1di 68

Arquitetura de Computadores

Arquitetura de
Computadores 1
Introdução
• Componentes:
– Processador;
• UC;
• Registradores;
• ALU’s, FPU’s, etc.
– Memória (Sistema de armazenamento de
informações;
– Dispositivo de entrada e saída.

Arquitetura de
Computadores 2
Introdução
• Representação de informações
– Bit / Byte;
– Sistemas de numeração:
• binário;
• decimal;
• octal;
• hexadecimal.

Arquitetura de
Computadores 3
Bases de Numeração
• Decimal - dez algarismos utilizados para a
representação (0 a 9);
• Binária - Algarismos ‘0’ e ‘1’;
• Octal - Algarismos ‘0’ a ‘7’;
• Hexadecimal - Algarismos ‘0’a ‘9’ e letras
de ‘A’ a ‘E’.

Arquitetura de
Computadores 4
Conversão de bases
• Conversão base B para a base 10:
• Identificar:
– A base origem do número (b);
– O número de algarismos do número (n);

• A contagem dos algarismos deve ser da


direita para a esquerda, de ‘0’ até ‘n-1’.
Arquitetura de
Computadores 5
Conversão de bases
• Exemplo: Conversão de (10110101)2
b = 2, n = 8
1 0 1 1 0 1 0 1

(1x27) + (0x26) + (1x25) + (1x24) + (0x23) + (1x22) + (0x21) + (1x20) =

128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = (181)10

Arquitetura de
Computadores 6
Conversão de bases
• Conversão da base 10 para uma base B
– Dividir o número decimal pela base desejada e
colocar o resto como o algarismo mais à direita
– Enquanto o dividendo for maior do que o divisor:
• dividir o dividendo pelo divisor (= base desejada)
• Extrair o resto da divisão, colocando-o à esquerda dos
algarismos já inseridos
– Colocar o dividendo (agora menor do que o
divisor) como algarismo mais à esquerda.

Arquitetura de
Computadores 7
Conversão de bases
• Exemplo: Converter (13)10 para a base binária
13 /2 = 6 (novo dividendo), resto 1
Resultado parcial: 1
6/2 = 3 (novo dividendo), resto 0
Resultado parcial: 01
3/2 = 1 (novo dividendo), resto 1
Resultado parcial:101
Como o último dividendo(1) é menor do que o
divisor (2), ele é simplesmente colocado à
esquerda do resultado parcial  1101
Arquitetura de
Computadores 8
Aritmética Binária
• Soma
–0+0=0
–0+1=1+0=1
– 1 + 1 = 0 ( vai 1)
• Subtração
–0-0=1-1=0
–1-0=1
– 0 - 1 = 1 ( pede emprestado o primeiro 1 à esq.)
Arquitetura de
Computadores 9
Aritmética Octal
• Semelhante à binária. O “vai 1” ocorre
quando a soma for maior ou igual a 8.
• Quando é necessário “pedir emprestado”, o
valor que vem é igual a 8.
• Exemplos
3657 7312
+ 1741 - 3465
5620 3625
Arquitetura de
Computadores 10
Aritmética Hexadecimal
• Semelhante à binária. O “vai 1” ocorre
quando a soma for maior ou igual a 16.
• Quando é necessário “pedir emprestado”, o
valor que vem é igual a 16.
• Exemplos:
A012 A125
+ 9201 - 9484
13213 CA1
Arquitetura de
Computadores 11
Lógica Digital
• Porta - Elemento de hardware que recebe
um ou mais sinais de entrada e, de acordo
com a operação definida, produz uma saída.
• Porta lógica - Porta(hardware) que recebe
valores de entrada, e realiza uma operação
lógica sobre eles, produzindo uma saída.
• Operação lógica - produz um resultado que
pode assumir dois valores. (0 ou 1, V ou F).

Arquitetura de
Computadores 12
Lógica Digital
• Tabela Verdade:Conjunto de resultados da
operação lógica para todas as combinações
possíveis de entrada.
• Cada operação lógica possui um símbolo
matemático que a representa, assim como
uma porta lógica, que também possui um
símbolo gráfico para representa-la.

Arquitetura de
Computadores 13
Álgebra Booleana

• Circuitos combinatórios - Conjunto de portas


lógicas cuja saída a qualquer instante é uma
função exclusiva das entradas
• Circuitos seqüenciais - Possuem, além das
portas lógicas, elementos de armazenamento
temporário de informações.

Arquitetura de
Computadores 14
Circuitos Combinatórios
• Decodificador
– É um circuito combinatório com n linhas de
entrada e 2n linhas de saída, onde cada
combinação de entradas irá gerar uma única
saída ativa.
– Este circuito é utilizado na decodificação de
instruções e endereços.

Arquitetura de
Computadores 15
Circuitos seqüenciais
• Flip-flops
– Compõem os circuitos seqüenciais que, além
das operações realizadas nas portas lógicas,
podem reter informações por algum tempo.
– Representam o elemento básico de
armazenamento de informações.

Arquitetura de
Computadores 16
Circuitos Seqüenciais
• Flip-flop SR
– Controle do estado:
• Quando ambas as entradas forem ‘0’  permanece
no estado atual;
• Se ‘S’ passar para o estado ‘1’ e ‘R’ continuar em ‘0’
 o flip-flop passa para o estado ‘1’;
• Se ‘R’ passar para o estado ‘1’ e ‘S’ continuar em ‘0’
 o flip-flop passa para o estado ‘0’;
• Se ambos estiverem em ‘1’ o flip-flop fica instável.

Arquitetura de
Computadores 17
Memória
• Subsistema responsável pelo armazenamento
de informações (dados e instruções)
• Nas memórias, existem duas operações
possíveis: leitura (read) ou escrita (write)
• Organização de forma hierárquica com o
objetivo de obter uma relação custo/benefício
adequada.

Arquitetura de
Computadores 18
Memória
• Parâmetros de classificação:
– Tempo de acesso: tempo em que uma
informação requerida se torna disponível;
– Ciclo de memória: tempo decorrido entre dois
acessos consecutivos;
– Capacidade de armazenamento: quantidade de
informações que podem ser armazenadas;
– Volatilidade: Perda das informações na
ausência de energia elétrica;
Arquitetura de
Computadores 19
Memória
• Parâmetros de classificação (cont.):
– Tecnologia de fabricação: meios magnéticos
(HD’s, disquetes), meios semi-condutores
(RAM, cache) e meios óticos (CD);
– Temporariedade;
– Custo.

Arquitetura de
Computadores 20
Hierarquia de Memória
• Registradores:
– Dispositivos de armazenamento localizados no
próprio processador;
– O processador trabalha buscando instruções e
dados na memória principal (RAM) e as
colocando em registradores;
– Enquanto estiverem sendo usados, os dados e
instruções permanecem nos registradores.

Arquitetura de
Computadores 21
Hierarquia de Memória
• Registradores:
– Tempo de acesso reduzido, pouco espaço de
armazenamento e alto custo;
– Dispositivos voláteis;
– São divididos em registradores de propósito
geral e específicos

Arquitetura de
Computadores 22
Hierarquia de Memória
• Memória cache:
– Meio intermediário de armazenamento entre o
processador e a memória RAM;
– Tempo de acesso bem mais curto do que o da
RAM;
– Seu objetivo é minimizar os efeitos da
diferença de velocidade entre o processador e a
memória principal.

Arquitetura de
Computadores 23
Hierarquia de Memória
• Memória Cache:
– Toda busca de instruções e dados é feita
inicialmente na cache;
– Dispositivo de armazenamento volátil com
capacidade de armazenamento superior à dos
registradores.

Arquitetura de
Computadores 24
Hierarquia de Memória
• Memória RAM:
– Máquina de Von Neuman;
– Meio para o qual os dados de instruções de um
programa devem ser carregados antes da sua
execução;
– São mais lentas do que as caches, porém bem
maiores e mais baratas.

Arquitetura de
Computadores 25
Hierarquia de Memória

• Memória secundária:
– Grande capacidade de armazenamento;
– Exemplos: HD’s, disquetes, CD’s, fitas, etc;
– Dispositivos não voláteis, utilizados para o
armazenamento de informações em caráter
permanente.
Arquitetura de
Computadores 26
Memória Principal
• Todos os programas a serem executados
pela CPU devem ser carregados para a MP.
• Palavra - unidade de informação que deve
representar um dado ou instrução.
• Célula - grupo de bits identificados por um
endereço.

Arquitetura de
Computadores 27
Memória Principal
• Unidade de transferência - quantidade de
bits transferidos entre MP e CPU.
• Organização: N células endereçadas de 0 a
(N-1) seqüencialmente, cada uma contendo
M bits.
• Duas operações possíveis: leitura (read) ou
escrita (write).

Arquitetura de
Computadores 28
Memória Principal
• Quantidade de bits por célula - definida pelo
fabricante.
• Em uma célula com M bits podemos
armazenar 2M combinações diferentes.
• Padrão adotado pela maioria dos fabricantes
é de células de 8 bits (1 byte)
• Quantidade de bits do endereço indica a
quantidade de células endereçáveis.
• Endereço X Conteúdo de células
Arquitetura de
Computadores 29
Memória Principal
• As operações realizadas na MP envolvem os
seguintes elementos:
– Barramento de dados;
– Barramento de endereços;
– Barramento de controle;
– RDM (Registrador de Dados da Memória);
– REM (Registrador de Endereços da Memória).

Arquitetura de
Computadores 30
Memória Principal - Leitura
• Passos:
1) Preencher o REM;
2) Sinal de leitura no barramento de
controle;
3) RDM  MP(REM)

Arquitetura de
Computadores 31
Memória Principal - Escrita
• Passos:
1) Preencher o RDM;
2) Preencher o REM;
3) Sinal de escrita no barramento de controle;
4) MP(REM)  RDM

Arquitetura de
Computadores 32
Memória Principal - Medidas
• 1K  210 (1024);
• 1M  2 (1.048.576);
20

• 1G  230 (1.073.741.824);
• 1T  240 (1.099.511.627.776);
• Normalmente se mede a capacidade da
memória através do seu número de células
(bytes),
Arquitetura de
Computadores 33
Memória Principal
• Tecnologias:
– DRAM (Dynamic Random Access Memory);
– ROM (Read Only Memory);
– PROM (Programmable ROM);
– EPROM (Erasable PROM) - apagável através
de luz ultra-violeta;
– EEPROM (Eletrically EPROM) - pode ser
apagada pela CPU.
Arquitetura de
Computadores 34
Memória Cache
• Motivação: grande diferença de velocidade
entre CPU e MP (Gargalo de Von Neuman).
• Conceito de localidade:
– Localidade Temporal;
– Localidade Espacial.

Arquitetura de
Computadores 35
Memória Cache
• Funcionamento da Cache
– Processador, sempre que precisa buscar uma
nova instrução, tentaa antes na cache.
– Quando a informação desejada está na cache,
ocorre um hit (acerto).
– Quando a informação não está na cache, ocorre
um miss (falta).

Arquitetura de
Computadores 36
Memória Cache
• Para que a cache seja produtiva e vantajosa,
é necessário que haja mais acertos do que
faltas.
• Elementos a serem considerados no projeto
de cache:
– Tamanho;
– Mapeamento de dados;
– Políticas de substituição de blocos;
– Política de escrita da cache para a Memória
Principal.

Arquitetura de
Computadores 37
Memória Cache
• Fatores que influenciam o tamanho da cache:
– Tamanho da M;
– Relação entre acertos e faltas;
– Tempo de acesso da MP;
– Custo;
– Tempo de acesso da cache;
– Natureza do programa em execução (localidade).

Arquitetura de
Computadores 38
Memória Cache
• Mapeamento de Dados MP/Cache - MP
dividida em blocos (B) e Cache em quadros
(Q), onde Q << B.
• Três tipos:
– Mapeamento direto;
– Mapeamento (completamente) associativo;
– Mapeamento associativo por grupos (ou
conjuntos).
Arquitetura de
Computadores 39
Memória Cache
• Mapeamento direto
– Cada bloco da MP só pode ser colocado em um
único quadro da cache.
– A definição do quadro da cache onde um bloco da
MP será copiado é baseada no seguinte cálculo:
N = E mod Q
onde N = número do quadro na cache, E = endereço
na MP e Q = quantidade de quadros na cache
Arquitetura de
Computadores 40
Memória Cache
• Mapeamento direto (cont.) divisão dos bits
do endereço de MP:
– 6 bits menos significativos: byte de dados
desejado pela CPU
– 10 bits do meio: endereço do quadro da cache.
– 16 bits mais significativos: indica qual dos
blocos alocados a um determinado quadro está
sendo referenciado.

Arquitetura de
Computadores 41
Memória Cache
• Mapeamento direto - passos de uma operação
de leitura:
– CPU apresenta o endereço de leitura;
– Exame dos 10 bits centrais para verificar o quadro
da cache a ser usado;
– Comparação do tag (neste exemplo, é igual);
– Acesso ao byte definido pelos 6 bits menos
significativos;
– Se o tag não fosse igual, significaria uma falta ou
miss de cache.
Arquitetura de
Computadores 42
Memória Cache
• Mapeamento (totalmente) associativo:
– Neste tipo de mapeamento, os blocos da MP
podem se colocados em qualquer quadro da
cache.
– Divisão do endereço:
• 6 bits menos significativos: byte desejado pela CPU;
• 26 bits mais significativos: endereço do bloco
desejado.

Arquitetura de
Computadores 43
Memória Cache
• Mapeamento (totalmente) associativo (cont.):
– Sempre que houver acesso à memória, o
controlador varre todos os quadros da cache em
busca do endereço desejado.
– Se o endereço não for encontrado (miss), o bloco é
trazido da MP para a cache e o algoritmo de
substituição de blocos irá decidir qual dos quadros
terá seu conteúdo substituído.

Arquitetura de
Computadores 44
Memória Cache

• Mapeamento associativo por conjuntos:


– É uma técnica que procura resolver os
problemas das duas técnicas anteriores.
– A cache é organizada em conjuntos e dentro
destes os quadros são completamente
associativos

Arquitetura de
Computadores 45
Memória Cache
• Mapeamento associativo por conjuntos (cont.):
– A memória cache é dividida em C conjuntos com D
quadros
– Desta forma:
Q = C x D;
K = E mod C;
onde k é o número do quadro no conjunto e E o endereço
gerado pela CPU

Arquitetura de
Computadores 46
Memória Cache
• Mapeamento associativo por conjuntos:
– Divisão do endereço
• 6 bits menos significativos indicam o byte
desejado;
• 9 bits centrais indicam o número do conjunto
que vai ser pesquisado;
• 17 bits mais significativos indicam o tag de
comparação
Arquitetura de
Computadores 47
Memória Cache
• Mapeamento associativo por conjuntos:
– Passos da busca:
1) Controladora da cache usa os bits centrais para
descobrir qual conjunto será acessado;
2) Comparação do tag com todos os quadros do
conjunto em questão;
3) Acesso ao byte desejado.

Arquitetura de
Computadores 48
Memória Cache
• Algoritmos de substituição de dados na cache:
– LRU (Least Recenlty Used): o bloco a ser substituído é
aquele que está há mais tempo sem ser usado;
– FIFO (First In First Out): Os blocos são substituídos com
base na ordem em que chegaram na cache;
– LFU (Least Frequently Used): o bloco a ser substituído é
aquele que foi usado com menos freqüência;
– Escolha aleatória.
Arquitetura de
Computadores 49
Memória Cache
• Políticas de escrita:
– Write through: escrita simultânea na cache e na
MP;
– Write back: a escrita só e feita no momento em
que um bloco for substituído e, mesmo assim,
somente se ele sofreu alteração;
– Write once: usado apenas em sistemas com
multiprocessamento.

Arquitetura de
Computadores 50
CPU
• Funções:
– Processamento;
– Controle
• Componentes:
– UC (Unidade de Controle);
– Registradores;
– ALU’s, FPU’s etc.

Arquitetura de
Computadores 51
CPU
• Ciclo de instrução:
– Busca instrução;
– Decodifica a instrução;
– Busca operandos;
– Executa a instrução;
– Escreve os resultados;
– Retorna ao primeiro passo.

Arquitetura de
Computadores 52
CPU - Processamento
• Execução propriamente dita das instruções
• Esta função envolve a UAL, FPU’s e
registradores;
• Exemplos:
– Operações aritméticas;
– Operações lógicas;
– Movimentação de dados;
– Desvios (branch);
– Entrada / Saída.
Arquitetura de
Computadores 53
CPU - Processamento

• Registradores: elementos de armazenamento


das informações usadas pelas instruções.
Podem ser:
– Propósito geral;

– Propósito específico.

Arquitetura de
Computadores 54
CPU - Processamento

• Implicações do tamanho da palavra:


– Tempo de processamento em ciclos de relógio;

– Desempenho em relação aos barramentos


internos e externos da CPU;

– Tamanho (largura) dos registradores.

Arquitetura de
Computadores 55
CPU - Controle
• As atividades de controle da CPU
compreendem:
– Busca e decodificação das instruções a serem
executadas;
– Geração de sinais de controle que irão ativar os
diversos componentes internos e externos da
CPU.

Arquitetura de
Computadores 56
CPU - Controle
• Dispositivos envolvidos nas atividades de
controle:
– UC: unidade de controle;
– RI (ou IR) - Registrador de instruções (Instruction
Register);
– CI (ou PC) - Contador de instruções (Program
Counter)
– Clock (Relógio);
– RDM (Registador de dados da memória);
– REM (Registrador de endereços de memória).
Arquitetura de
Computadores 57
CPU - Controle
• UC - movimentação de dados e controle da
ALU (ou UAL);
• Clock - gerador de pulsos que sincronizam
os trabalhos da CPU. Freqüência medida em
MHZ;
• RI - armazena a instrução que está sendo
executada;
• PC - armazena o endereço da próxima
instrução a ser buscada.
Arquitetura de
Computadores 58
CPU - Controle
• Decodificador de instruções - descobre qual
a instrução que será executada pela CPU;
• RDM - armazena o dado que vai para
memória ou que acabou de chegar da
memória.
• REM - Armazena temporariamente o
endereço de um acesso à memória (leitura
ou escrita).
Arquitetura de
Computadores 59
CPU
• Instrução de máquina - é uma operação básica
que o processador consegue interpretar e
executar.
• (ISA - Instruction Set Architecture) - conjunto
de instruções que um processador é capaz de
executar.
• CISC - Complex Instruction Set Computer.
• RISC - Reduced Instruction Set Computer.
Arquitetura de
Computadores 60
CPU
• Formato de instruções:
– Código de operação (opcode) - é o identificador
da instrução a ser executada;
– Operandos - dados que serão manipulados pela
instrução.
• Dentro de um ISA podem existir vários
formatos de instrução.

Arquitetura de
Computadores 61
CPU

• Linguagem Assembly - conjunto de símbolos


que representam as instruções de máquina de
forma mais amigável para o ser humano.
• Assembler - é quem faz a tradução do código
Assembly para a linguagem de máquina.

Arquitetura de
Computadores 62
CPU
• Pipeline:
– Divisão das instruções em pedaços que são
executados separadamente;
– Cada estágio de um pipeline executa uma parte
de cada instrução;
– Possibilidade de execução de várias instruções
simultaneamente, em estágios diferentes.
Arquitetura de
Computadores 63
Entrada / Saída
• Subsistema do computador responsável pelo
fornecimento de informações e exibição dos
resultados produzidos.
• Os componentes do sistema de E/S são
chamados de periféricos por se localizarem
fora do núcleo CPU/MP
• O processador deve se comunicar com
periféricos que possuem diferentes
velocidades e formas de representar e
transmitir seus dados.
Arquitetura de
Computadores 64
Entrada / Saída
• É necessário que exista um componente
intermediário entre o processador e cada um
dos periféricos.
• As controladoras de periféricos realizam o
papel da comunicação entre os periféricos e o
núcleo CPU / MP.

Arquitetura de
Computadores 65
Entrada / Saída
• Existem duas formas de comunicação entre a
CPU / MP e os periféricos:
– Transmissão serial: Os dados são transmitidos um
bit de cada vez (Ex: Teclado e Mouse).
– Transmissão paralela: Os dados são transmitidos
em grupos de bits (Ex: HD’s e Vídeo)

Arquitetura de
Computadores 66
Entrada / Saída
• Principais dispositivos de E/S:
– Teclado;
– Mouse;
– Monitor de Vídeo;
– Impressora;
– HD’s, disquetes, CD’s e Fitas Magnéticas;
– Scanners;
– MODEM’s
– Etc.
Arquitetura de
Computadores 67
Entrada / Saída
• Interrupções: Sempre que uma operação de E/S
é solicitada pelo processador, a controladora
respectiva a executa e, ao final, realiza uma
interrupção para informar o término da mesma.
• DMA (Direct Memory Access): Técnica que
minimiza a participação do processador em
operações de E/S, permitindo que as
controladoras acessem a memória diretamente.
Arquitetura de
Computadores 68

Potrebbero piacerti anche