zA interface Hardware do 68000 - dca.fee.unicamp.br€¦ · EA078 Micro e Minicomputadores:...
Transcript of zA interface Hardware do 68000 - dca.fee.unicamp.br€¦ · EA078 Micro e Minicomputadores:...
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 91____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
A interface Hardware do 68000
A interface hardware de um processador é definida por seus pinos, ou seja, pelos sinais que entram/saem do processador.
É através destes pinos que a CPU se comunica com elementos externos a ela, como memória e dispositivos de E/S.
Os pinos estão associados a funções pré-definidas (por exemplo, sinal de controle de escrita, bit do barramento de dados).
A função de um pino/sinal é caracterizada por seu comportamento temporal e elétrico.
As características temporais especificam a temporização do sinal, definindo quando o sinal será/deverá ser ativado/desativado.
As características elétricas especificam qual os valores de tensão/corrente associados aos estado ativado/desativado do sinal.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 92____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
A interface Hardware do 68000 - pinos/sinais
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 93____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
A interface Hardware do 68000 - pinos/sinais
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 94____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
A interface Hardware do 68000 - pinos/sinais
É possível classificar os pinos/sinais do 68000 nas seguintes categorias:
SuporteInterface com memória e E/SEspeciais
Suporte: essenciais para a operação do 68000 -independentemente da configuração
Interface com memória e E/S: permitem a interconexão do processador com memórias externas ou mesmo E/S. Observar que o MC68000 utiliza um esquema de E/S mapeada em memória.
Especiais: sinais adicionais que oferecem funcionalidade importantes, como interrupção e multiprocessamento, que não são, entretanto, necessários para a operação em uma configuração mínima.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 95____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Suporte
Vcc e GND (alimentação): O MC68000 requer uma fonte de alimentação de +5 V. Existem dois pinos de alimentação para facilitar a distribuição e minimizar perdas dentro do CI.
CLOCK: Sinal TTL de relógio. Toda a temporização do MC68000 é derivada deste sinal.
RESET* (* indica ativo baixo): Sinal bidirecional que, quando ativado por dispositivo externo, dispara seqüência de inicialização do processador. Para a inicialização do sistema (processador/dispositivos) o sinal RESET* deve ser ativado conjuntamente com o sinal HALT*.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 96____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Suporte
HALT*: Sinal bidirecional que, quando acionado por dispositivo externo, força a suspensão das atividades do processador (o processador pára o processamento e coloca os seus sinais de controle em estado inativo de alta impedância). Ao ser ativado, conjuntamente com o sinal Reset*, reinicializa o processador/sistemas. Este sinal possui outras funções que serão tratadas oportunamente.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 97____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Interface com Memória e Dispositivos de E/S
A01 até A23 (Barramento de Endereços): 23 pinos/sinais unidirecionais que especificam o endereço da posição de memória ou dispositivo de E/S acessado pela CPU. Durante o atendimento de um pedido de interrupção os sinais A01 A02 e A03 indicam o nível de interrupção que está sendo atendido. O barramento de endereços pode ser colocado em estado de alta impedância pela CPU em situação em que se deseja passar o controle do barramento para outra unidade do sistema (por exemplo: Controlador de DMA, outra CPU …)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 98____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Interface com Memória e Dispositivos de E/S
D00 a D15 (Barramento de Dados): 16 pinos bidirecionais que definem o barramento de transferência de informação entre CPU e Memória ou E/S. Ao realizar uma operação de tamanho Byte somente os sinais D00 a D07 ou D08 a D15 estão ativos. Em acesso Word todos os bits estão ativos. No atendimento de interrupção, o bits D00 a D07 são utilizados pelo dispositivo solicitante para informa a CPU do número do vetor de interrupção a ser utilizado.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 99____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Interface com Memória e Dispositivos de E/S
AS* (Address Strobe): Quando ativo (nível lógico “0”) indica que existe um endereço válido no barramento de endereços.
UDS* e LDS* (Upper Data Strobe e LowerData Strobe): Sinais que indicam o tamanho da transferência a ser realizada pelo barramento de dados (Byte ou Word). Quando os dois sinais são ativados simultaneamente indica uma transferência de 16 bits - Word. Quando apenas um deles está ativado , a transferência é de 8 bits - Byte.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 100____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Interface com Memória e Dispositivos de E/S
R/W*, UDS*, LDS* e Barramento de Dados
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 101____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Interface com Memória e Dispositivos de E/S
DTACK* (Data Transfer ACKnoledge): Sinal de handshake utilizado para sincronizar a transferência entre CPU e Memória ou E/S. Este sinal é ativado por elemento externo a CPU para indicar:
Na escrita (dado enviado pela CPU): que o dispositivo reconheceu que o barramento de dados contém/conterá um dado válido.
Na leitura (dado recebido pela CPU): que o barramento contém um dado válido fornecido pelo dispositivo.
OBS.: Nos dois casos (leitura ou escrita), a CPU espera pelo sinal DTACK* para finalizar o ciclo de acesso. Assim, o DTACK* é um sinal que indica à CPU que ela pode finalizar o ciclo de acesso ao barramento(leitura ou escrita).
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 102____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Interface com Memória e Dispositivos de E/S – visão geral
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 103____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Especial
Controle de Erro de Barramento (BERR*)
Controle de Arbitragem do Barramento:
BR* (Bus Request): Requisição de utilização do barramento (gerado pelo dispositivo requisitante).
BG* (Bus Grant): Sinal de transferência de controle do barramento ao dispositivorequisitante (sinal gerado pela CPU).
BGACK* (Bus Grant Acknowledge): Sinal que permite que o controle seja devolvido à CPU de forma ordenada (sinal gerado pelo dispositivo requisitante).
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 104____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Especial
Controle de Arbitragem do Barramento
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 105____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Especial
FC0 FC1 FC2 (Código de Função): Permite a implementação de sistemas protegidos porhardware (acesso privilegiado protegido por hardware)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 106____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Especial
IPL0* IPL1* IPL2* (controle de interrupção): 3 sinais/bits utilizados para solicitar e codificar um pedido de interrupção.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 107____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Sinais da Categoria Especial
Sinais de Controle de transferência síncrona(para manter compatibilidade com a família MC6800)
VPA* (Valid Peripheral Address): sinal ativado pelo dispositivo de E/S para indicar a necessidade de uma transferência síncrona (sincronizada com o relógio do sistema)
VMA* (Valid Memory Address): sinal para indicar que o barramento de endereços contém um endereço válido (gerado pela CPU).
E (Enable): sinal derivado e sincronizado com o relógio exigido por dispositivos síncronos da família MC6800 (gerado pela CPU).
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 108____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Descrevendo as características temporais da interconexão entre elementos
Diagrama de tempo: descreve a temporizaçãodos sinais e relações temporais entre sinais (descreve quanto o sinais mudam /devem mudar de estado).
Diagrama de especificação de protocolo: descreve as seqüências de ações/eventos que dever ser realizado para a comunicação entre os elemento. Define o seqüenciamento sem detalhar exatamente valor de tempo (descreve a ordem - antes e depois - das transições do sinais). Permite uma análise de mais alto nível; análise de causa-efeito (especifica o que acontece sem se preocupar em definir exatamente quando acontece).
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 109____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de Tempo
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 110____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de Tempo - comentários
Mudança de estado: na prática não ocorre instantaneamente como apresentado no caso idealizado.
Há níveis de referências que definem as mudanças de estado. Os níveis TTL são:
VIL 0,8 V (max) VIH 2,0 V (min)
VOL 0,4 V (max) VOH 2,4 V (min)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 111____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de Tempo - comentários
Três parâmetros temporais destacam-se na interconexão entre CIs:
Set-up time: intervalo de tempo (mínimo) em que um sinal deve ser mantido estável em uma determinada entrada ANTES da transição deativação de sinal de controle (sinal de gatilho -trigger) em outra entrada.
Hold time: intervalo de tempo (mínimo) em que um sinal deve ser mantido estável em uma entrada APÓS a transição para desabilitado dosinal de controle (sinal de gatilho - trigger) em outra entrada.
Propagation delay time: tempo (máximo)entre a transição em determinada entrada e a materialização do valor apropriado na saída.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 112____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de especificação de Protocolo (ciclo leitura)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 113____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de especificação de Protocolo (ciclo leitura) - comentários
Mestre do Barramento (Bus Master): em geral, a comunicação envolve um elemento ativo e um passivo (CPU e Memória). O elemento ativo é o que toma a iniciativa de iniciar a comunicação, acionando o barramento de endereço e sinais de controle. O elemento ativo em uma comunicação é denominado Mestre do Barramento (Bus Master).
Escravo Bus Slave: É o elemento passivo. É o elemento convocado pelo Mestre do Barramento para trocar informação.
É importante observar que os conceito mestre/escravo estão associados ao papel dos elemento em uma determinada comunicação. É possível que acha troca/mudanças de papéis em outras momentos de troca de informação envolvendo os elementos.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 114____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de especificação de Protocolo (ciclo leitura) – comentários
Protocolo do Ciclo de Leitura é do tipo interlocked handshaking.Handshaking especifica que haverá troca de sinais de controle para a sincronização da comunicação.Interlocked implica o seguinte comportamento:
Haverá um pedido de comunicação do Mestre. O Mestre manterá este pedido durante a comunicação.O Escravo reconhecerá o pedido, informando o mestre através de sinal de controle. Este sinal indica ao mestre que o escravo está atento e engajado na comunicação e que, portanto, o mestre pode prosseguir com a comunicação. O Escravo mantém este sinal até o final da comunicação.O Mestre, após os procedimentos de troca de informação, desativará o pedido de comunicação;O Escravo reconhecerá a desativação da comunicação desativando o seu sinal de reconhecimento.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 115____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo (ciclo leitura)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 116____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo (ciclo leitura) - comentáriosDiagrama simplificado: FC0-FC2 foram omitidos.O ciclo de leitura envolve toda a troca de sinais necessários para que haja a transferência dosdados do escravo para o mestre (o mestre está lendo um dado).Um ciclo de leitura envolve no mínimo 4 ciclos de relógio, ou seja, 8 estados (S0-S7).O ciclo tem início no estado S0 com o relógio em nível alto.O ciclo termina no estado S7 com o relógio em nível baixo.É possível que o ciclo de leitura seja estendido, com a inserção de estados de espera(wait states). Os estados de espera permitem a comunicação com escravos de diferentes velocidades (por exemplo: Memórias mais rápida e mais lentas).O estados de espera são inseridos (quando são inseridos) entre os estados S4 e S5, sempre em número par.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 117____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo (ciclo leitura) - comentáriosNo estado S0, todos os sinais são negados/desabilitados, com exceção do R/W*.No estado S0, o sinal R/W* é colocado em nível alto indicando acesso de leitura.
No estado S1 os sinais A01-A23 tornam-se válidos. Permanecendo válidos até o início do próximo ciclo de acesso ao barramento- estado S0 do próximo ciclo de barramento.
No estado S2 os sinais AS*, UDS* e LDS* são ativados. O sinal AS* indica ao escravo que no barramento de endereços existe um endereço válido. Os sinais UDS* e LDS* são utilizados para especificar o tamanho do dado a ser transferido - Byte (par ou ímpar) ou Word. A transição de UDS* e LDS* inicia a acesso ao escravo, sendo necessário que o sinal DTACK* seja ativado antes do final de S4 (no MC68000 8 MHz - 20 ns antes) para que não sejam inseridos estados de espera (wait states).
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 118____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo (ciclo leitura) - comentáriosA ativação de DTACK* implica que o dado deve estar disponível em S6 e que em S7 os sinais AS*, LDS* e UDS* serão negados.A transição destes últimos sinais terminam o ciclo de leitura e implica que o DTACK* deve ser negado e que o barramento de endereços será colocado em alta impedância no estado S0 do próximo ciclo.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 119____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo (ciclo leitura - com waitstates)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 120____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo detalhado (ciclo leitura)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 121____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo detalhado (ciclo leitura)(valores em nanosegundos)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 122____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo detalhado (ciclo leitura) -comentários
Processador de 8MHz (tcyc)
O limite máximo na duração do relógio (250 ns) está associado ao comportamento capacitivo de armazenamento do 68000. Esta carga capacitiva precisa ser recarregada de tempo em tempos.Após início S0, o barramento de endereços é colocado em estado de alto impedância - no máximo 80 ns após início de S0.Não mais do que 70 ns após o início de S1, um novo endereço e colocado no barramento de endereços.O AS* (UDS* e LDS* também) é ativado nunca antes de 30 ns após a colocação do novo endereço.O tempo tAVSL é um parâmetro importante. Ele
define o setup time entre a definição do endereço e sinais de gatilho (AS*, UDS* ouLDS*), caso estes sejam utilizados para grampear o endereço em circuito externo ao processador.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 123____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo detalhado (ciclo leitura) -comentários
R/W* é colocado em alto não mais do que 70 ns após o início de S0.
Os sinais FC0-FC2 também são acionados, no mais tardar, 70 ns após o início de S0.
Uma parâmetro importante associado ao sinal de handshake DTACK* é o tASI (20 ns mínimo). Este parâmetro especifica o setuptime do DTACK* em relação ao final do estado S4. Caso o DTACK* não ocorra 20 ns antes do fim de S4 haverá a inserção de estados de espera.
Os dados fornecidos pelo escravo (memória) deve atender os requisitos de setup e hold time. O dado de estar estável tDICL ao menos 15 ns antes do fim de S6 e deve permanecer no mínimo tSDHIm (0 ns) após o começo de S7.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 124____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Pinagem da Memória 6116
R/W* - determina o tipo de acesso (“1” leitura - “0” escrita).OE* - ativa os circuitos de saída em uma leitura.CS* - habilita o CI durante um acesso.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 125____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo Memória 6116 - ciclo de leitura
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 126____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo da Memória 6116 -comentários
6116 é uma memória 2K x 8 bitsA0 - A10 sinais de endereço 211 = 2 K posições
D0 - D7 sinais de dados - 8 bits.
R/W*, OE* e CS* sinais de controle.
R/W* (Read/Write*)sinal indica o tipo de
acesso: leitura ou escrita.
OE* (Output Enable*) habilita os circuitos
acionadores do barramento de dados. Em um
acesso de leitura deve ser ativado, devendo
estar desativado em um acesso de escrita.
CS* (Chip Select*) seleciona a pastilha.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 127____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Diagrama de tempo da Memória 6116 -comentários
tRC (mínimo 200 ns) especifica o tempo de ciclo
de leitura (read cycle time). Só é possível
acessar esta memória, no máximo, a cada 200
ns.
R/W* e OE* foram omitidos da figura. É
assumido que R/W* está alto e OE* baixo
(acesso de leitura)
No ponto B, o CS* é ativado para o acesso de
leitura. Como efeito desta ativação, a saída é
ativada no máximo 15 ns depois. Observe que o
dado só será valido após tAA. A região
hachurada indica dado inválido.
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 128____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Projeto CPU 68000 com RAM 6116(Esquemático)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 129____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Projeto CPU 68000 - RAM 6116 (Diagrama de tempo)
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 130____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
Projeto CPU 68000 - RAM 6111 - Análise
Parâmetro críticostASI – inserção de wait states (processador)tDICL – data setup time (processador)tSHDI – data hold time (processador)tRC – read cycle time (memória)
tASI (wait state)
ns 97,5 ns 20sso ExceRequerido
5,117
10601255,1
5,1casoPior
5,15,1
min
min
max1maxmin
1
1
nstt
tttt
tttttttt
ASI
ASI
CHSLcycASI
CHSLcycASI
ASICHSLcyc
=
−−⋅=
−−⋅=
−−⋅=
++=⋅
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 131____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
ns90 ns 15sso ExceRequerido
105
200701253
3casoPior
33
min
min
maxmaxmin
nstt
tttt
tttttttt
ASI
ASI
AACLAVcycDICL
AACLAVcycDICL
DICLAACLAVcyc
=
−−⋅=
−−⋅=
−−⋅=
++=⋅
Projeto CPU 68000 - RAM 6111 – AnálisetDICL (setup time)
tSHDI (hold time)
ns0 ns 0sso ExceRequerido
0
00
casoPior
min
min
minmin2min
2
nstt
ttt
ttt
SHDI
SHDI
CHZSHDI
CHZSHDI
=
+=
+=
+=
EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 132____________________________________________________________________________
____________________________________________________________________________Capítulo 4 - Hardware do 68000
ns 167,5 ns 200Excesso Requerido
5,367
0701255,3
5,3casoPior
5,3
min
min
minmaxmin
ns
ttt
ttt
ASI
RC
CHADZCLAVcycRC
CHADZCLAVcycRC
=
+−⋅=
+−⋅=
+−⋅=
Projeto CPU 68000 - RAM 6111 – Análise
tRC
ttt
t