Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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