Le 68000 qui se trouve dans notre ATARI est un micro-processeur 16 bits. Qu'est-ce à dire exactement ? Et bien son bus de donnée (DATA BUS) peut véhiculer 16 informations binaire en parallèle, c'est à dire simultanément. Ces 16 lignes numerotées D0 à D15 permettent les échanges entre le micro-processeur et ses composants peripheriques (mémoires, PIA, ...) sous forme :
MOVE.B #$FF,$2710 range l'octet $FF à l'adresse $2710
MOVE.W #$E4CB,$2712 range le mot $E4CB aux adresses $2712 et $2713
MOVE.L #$A743,$2714 range le mot long $0000A7A3 en $2714, $2715, $2716 et $2717
|
Mais lorsque le 68000 envoie une donnée sur son bus, il met nécéssairement un mot de 16 bits. Donc lorsque cette donnée est un octet, elle n'occupe que la moitiée du bus. Et il devient nécéssaire pour le 68000 d'indiquer de quelle moitié il s'agit. C'est alors que son bit interne A0 rentre en jeu, ainsi que deux lignes de sotie du 68000, UDS (Upper Data Strobe) et LDS (Lower Data Strobe). Le rôle de ces deux lignes est d'indiquer à l'extérieur s'il faut lire ou écrire des données sur la moitié haute (Uper Data) ou sur la moité basse (Lower Data) du bus de données.
Si l'on veut lire ou écrire un octet a une adresse impaire :
Si l'on veut lire ou écrire un octet a une adresse paire:
Si l'on veut lire ou écrire un mot :
Dans ce cas, puisque A0=0 on ne peut travailler qu'avec des ADRESSES PAIRES.
En règle générale, A0, UDS, LDS et le signale de lecture/écriture R/W gèrent le bus de données conformément à la figure 2.
A0 | UDS | LDS | R/W | D8_D15 | D0_D7 | Adresse | Mode |
0
1
0
1
0
0
|
0
1
0
1
0
0
|
1
0
1
0
0
0
|
0
0
1
1
0
1
|
valide
non valide
valide
non valide
valide
valide
|
non valide
valide
non valide
valide
valide
valide
|
paire
impaire
paire
impaire
paire
paire
|
octet
octet
octet
octet
mot
mot
|
Il est donc possible de prévoir des extentions au ST en utilisant pour cela la fente d'insertion de cartouche. On trouve en effet sur ce connecteur 40 points, le bus de donnée de D0 à D15, la partie basse du bud d'adresses de A1 à A15, réservé aux extentions, les signaux UDS et LDS (echantillonage des donées supérieures et inférieures), ainsi que deux signaux supplémentaires, MEM3 et MEM4 qui permettent la sélection de deux blocs d'adresse de 64k chaque.
Nous verrons un peu plus tard comment il est possible d'implanter et de faire tourner de l'assembleur sur le 520 ST, ce qui permettera une étude avec applications pratiques de la programmation 68000.
Olivier HARD
Contenue de la disquette :