UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
Arquitectura de Computadores IIArquitectura de Computadores II
Engenharia Informática (11545)Engenharia Informática (11545)Engenharia Informática (11545)Engenharia Informática (11545)
Tecnologias e Sistemas de Informação (6621)Tecnologias e Sistemas de Informação (6621)
Endereçamento
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015 1
Fonte: Arquitectura de Computadores, José Delgado, IST, 2004
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 dememória, cuja dimensão depende do número de bits do busde endereços;
• Por exemplo: 32 bits� ≈4 Gbytes
• Neste espaço têm de co-habitar todos os dispositivos comque 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 deendereçamento separado para os periféricos(ex: 80x86, com IORD e IOWR separados einstruções de acesso próprias, IN e OUT), masinstruções de acesso próprias, IN e OUT), mastal 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
• Conjunto de células individualmente
endereçáveis pelo processador:
– Não pode haver duas células diferentes no
mesmo endereço;
FFFFH
Processador
Unidade de controlo
Unidadededados
Bus de endereços
Bus de dados
Bus de controlo
mesmo endereço;
– A memória não tem que ser contígua.
– Cada periférico pode ter várias células
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015 4
0000H
FFFFH
Esp
aço
de
end
ereç
amen
to(c
om
16
bits
)
Memória 2
Periférico 3Periférico 2
Periférico 1
Memória 1
Nem todos os endereços têmde ter célula válida (leiturasem célula válida dá valoraleatório).
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” dobus de endereços (DMA – Direct Memory Access);bus de endereços (DMA – Direct Memory Access);
• Cada dispositivo com N endereços individuais liga aos log2Nbits de menor peso do bus de endereços (exemplo: RAM de8 K células liga aos 13 bits de menor peso – 8K = 213);
• Cada dispositivo tem de ter um sinal que indique que oprocessador 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 (opode haver um chip select activo de cada vez (odescodificador de endereços garante isto), senão pode haverconflitos.
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
RD
endereços endereço
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015 8
RD
WR
dadosBus de
dados
selectChip
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.“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 deendereços (tantos quantos os necessários para endereçar assua 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 pesodo bus de endereços e gera o chip select de um dispositivoapenas para uma das combinações desses bits de maiorpeso;peso;
• Sem os chip selects, todos os acessos a endereços com omesmo valor dos N bits de menor peso dariam o mesmoresultado (o dispositivo apareceria repetido no mapa deendereç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
A23
ROM
Periféricos
FFFFFF
800000
500FFF
A12..A19
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015 12
A23
A22A21A20
Periféricos
RAM 1
RAM 0
000000
0FFFFF100000
1FFFFF
500000500FFF
Decoder1 para 8
Cada dispositivo deve ter um chip select
próprio na gama de endereços adequada.
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 mapageralmente feita com descodificadores que dividem o mapade 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 dasua largura;
• Em cada palavra, só pode haver um bit a 0;
• Os bits de endereço da PROM ligam aos bits de maior pesodo bus de endereços;do bus de endereços;
• São precisos tantos bits quantos os requeridos pelodispositivo de endereçamento mais fino (que ocupará apenasuma palavra da PROM);
• Os dispositivos “maiores” (RAM, por exemplo) ocuparãová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çamentode palavra
03H02H01H
04H
• Endereçamento de byte:
– Permite acesso directo a um byte
– Complica interface de memória (acessoaos bytes que não sejam o de menor pesode cada palavra)
– Espaço de endereçamento é menor
– PC e SP têm de variar de 2 em 2(processador de 16 bits) ou de 4 em 4(processador de 32 bits)
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015 15
Endereçamentode byte (µP de 32 bits)
0CH08H04H00H
10H
00H
UNIVERSIDADE DA BEIRA INTERIOR
Faculdade de Engenharia
Departamento de Informática
“Big-endian” vs “little-endian”
Big-endian
0CH
08H
10H
8 9 A B
Little-endian
0CH
08H
10H
B A 9 8
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015 16
08H
04H
00H
8 9 A B
4 5 6 7
0 1 2 3
08H
04H
00H
B A 9 8
7 6 5 4
3 2 1 0
Exemplo 03 0F 0A 07 H 03 0F 0A 07 H
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 menorendereç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óriae/ou periféricos (espaço de endereçamento);
• A célula pretendida é especificadas através do seu bus deendereços de N bits;
• Cada dispositivo ligado ao processador tem de sercontrolado por meio de um chip select que só deve estaractivo 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 deendereços, feito geralmente com:– decoders e eventualmente a um conjunto de portas lógicas, ou– 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 doprocessador)
– com endereços desalinhados (a começar em qualquer byte)
Nuno Pombo / Paulo Fazendeiro – Arquitectura Computadores II – 2014/2015 21