Arquitectura de Computadores II

Propaganda
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Arquitectura de Computadores II
Engenharia Informática (11545)
Tecnologias e Sistemas de Informação (6621)
Endereçamento
Fonte: Arquitectura de Computadores, José Delgado, IST, 2004
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
1
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Espaço de Endereçamento
• Todos processadores têm um espaço de endereçamento de
memória, cuja dimensão depende do número de bits do bus
de endereços;
• Por exemplo: 32 bits ≈4 Gbytes
• Neste espaço têm de co-habitar todos os dispositivos com
que o processador pode “dialogar”:
– RAM
– ROM (incluindo EPROM, EEPROM, flash, etc)
– Periféricos (memory-mapped I/O)
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
2
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Espaço de Endereçamento
• Alguns processadores têm um espaço de
endereçamento separado para os periféricos
(ex: 80x86, com IORD e IOWR separados e
instruções de acesso próprias, IN e OUT), mas
tal já é pouco usado.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
3
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Espaço de Endereçamento
Processador
Bus de endereços
Unidade de
controlo
Bus de controlo
– Não pode haver duas células diferentes no
mesmo endereço;
– A memória não tem que ser contígua.
– Cada periférico pode ter várias células
Nem todos os endereços têm
de ter célula válida (leitura
sem célula válida dá valor
aleatório).
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
Unidadede
dados
Espaço de endereçamento
(com 16 bits)
• Conjunto de células individualmente
endereçáveis pelo processador:
Bus de dados
Memória 2
FFFFH
Periférico 3
Periférico 2
Periférico 1
Memória 1
0000H
4
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Espaço de Endereçamento
• O processador é o “coordenador”. Em cada acesso à
memória, é ele que diz qual o endereço acedido;
• Só em casos especiais um dispositivo pode “tomar conta” do
bus de endereços (DMA – Direct Memory Access);
• Cada dispositivo com N endereços individuais liga aos log2N
bits de menor peso do bus de endereços (exemplo: RAM de
8 K células liga aos 13 bits de menor peso – 8K = 213);
• Cada dispositivo tem de ter um sinal que indique que o
processador quer falar com ele (chip select);
• Tem de haver um circuito de descodificação dos endereços
(que gere os chips selects).
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
5
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Diagrama de Blocos
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
6
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Diagrama de Blocos
• O bus de endereços e os sinais de RD e WR são globais
(ligam a todos os dispositivos);
• Os chip selects é que indicam qual o dispositivo acedido. Só
pode haver um chip select activo de cada vez (o
descodificador de endereços garante isto), senão pode haver
conflitos.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
7
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Relógio
Bus de
endereços
endereço
RD
WR
Chip
select
Bus de
dados
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
dados
8
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Diagrama de Blocos
• Os chip selects são normalmente activos a zero;
• Os flancos ascendentes dos sinais de RD e WR devem ocorrer
“dentro” do período activo do chip select.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
9
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Descodificação de Endereços
• Cada dispositivo liga aos bits de menor peso do bus de
endereços (tantos quantos os necessários para endereçar as
sua células individuais).
• Exemplos:
– RAM de 4 K células 12 bits de menor peso do bus de endereços;
– Periférico com 8 portos 3 bits de menor peso do bus de endereços
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
10
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Descodificação de Endereços
• O descodificador de endereços liga aos bits de maior peso
do bus de endereços e gera o chip select de um dispositivo
apenas para uma das combinações desses bits de maior
peso;
• Sem os chip selects, todos os acessos a endereços com o
mesmo valor dos N bits de menor peso dariam o mesmo
resultado (o dispositivo apareceria repetido no mapa de
endereços em cada 2N endereços).
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
11
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Geração de chip select
FFFFFF
ROM
A12..A19
A23
A22
A21
A20
Decoder
1 para 8
800000
Periféricos500FFF
500000
RAM 1
RAM 0
1FFFFF
100000
0FFFFF
000000
Cada dispositivo deve ter um chip select
próprio na gama de endereços adequada.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
12
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Geração de chip select
• A geração do chip select dos “GRANDES” dispositivos é
geralmente simples e feita à medida;
• A geração do chip select dos dispositivos “médios” é
geralmente feita com descodificadores que dividem o mapa
de endereços em bocados iguais;
• A geração do chip select dos “pequenos” dispositivos é
geralmente feita por discriminação de um bocado médio
(com gates ou com outros descodificadores);
• Regra geral, não deve haver sobreposições.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
13
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Descodificação com PROM
• A PROM permite gerar tantos chip selects quantos os bits da
sua largura;
• Em cada palavra, só pode haver um bit a 0;
• Os bits de endereço da PROM ligam aos bits de maior peso
do bus de endereços;
• São precisos tantos bits quantos os requeridos pelo
dispositivo de endereçamento mais fino (que ocupará apenas
uma palavra da PROM);
• Os dispositivos “maiores” (RAM, por exemplo) ocuparão
várias palavras da PROM com o bit da saída respectiva a 0;
• Zonas do espaço de endereçamento sem dispositivo têm a
palavra respectiva com os bits todos a 1.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
14
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Endereço de byte e palavra
• A memória é vista como um vector linear:
– de bytes (8 bits), ou
– de palavras do processador (N bits)
Endereçamento
de palavra
04H
03H
02H
01H
00H
• Endereçamento de byte:
– Permite acesso directo a um byte
Endereçamento
– Complica interface de memória (acesso de byte (µP de 32 bits)
aos bytes que não sejam o de menor peso
10H
de cada palavra)
0CH
– Espaço de endereçamento é menor
08H
– PC e SP têm de variar de 2 em 2
04H
(processador de 16 bits) ou de 4 em 4
00H
(processador de 32 bits)
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
15
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
“Big-endian” vs “little-endian”
Big-endian
10H
0CH
08H
04H
00H
Exemplo
Little-endian
8 9 A B
4 5 6 7
0 1 2 3
B A 9 8
7 6 5 4
3 2 1 0
03 0F 0A 07 H
03 0F 0A 07 H
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
10H
0CH
08H
04H
00H
16
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
“Big-endian” vs “little-endian”
• No big-endian, o byte de maior peso está no byte com menor
endereço (isto é, aparece primeiro quando se vai
incrementando os endereços);
• No little-endian, é o byte de menor peso que aparece
primeiro.
• Esta distinção só é importante:
– Ao aceder aos bytes individuais de uma palavra;
– Ao trocar dados entre computadores.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
17
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Bits de menor peso
• As memórias são geralmente feitas com chips (circuitos
integrados) com largura de 8 bits, por isso são precisos:
– 2 em paralelo para fazer 16 bits;
– 4 em paralelo para fazer 32 bits.
• Os vários chips em paralelo podem ser acedidos
simultaneamente em cada acesso, e é o processador que
depois individualiza os bytes, se necessário;
• No endereçamento de byte, os bits de menor peso do
bus de endereço não ligam à memória (2 bits no caso
dos processadores de 32 bits).
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
18
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Bits de menor peso
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
19
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Conclusões
• Os processadores podem aceder a 2N células de memória
e/ou periféricos (espaço de endereçamento);
• A célula pretendida é especificadas através do seu bus de
endereços de N bits;
• Cada dispositivo ligado ao processador tem de ser
controlado por meio de um chip select que só deve estar
activo na gama de endereços em que esse dispositivo está
localizado.
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
20
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Conclusões
• Os chip selects são gerados por um descodificador de
endereços, feito geralmente com:
– decoders e eventualmente a um conjunto de portas lógicas, ou
– uma PROM, ou
– uma mistura das duas soluções
• Os processadores suportam normalmente acessos à memória:
– com endereços em byte (todos os bytes individualmente endereçáveis)
– de dados de 8, 16, 32, ... bits (até à largura da palavra do
processador)
– com endereços desalinhados (a começar em qualquer byte)
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015
21
Download