Ex0 4 : Construction d’une RAM (M2) de 8 Kio à partir de RAM (M1) de 512 octets
On dispose de plusieurs mémoires M1 de 512 octets avec un bus de données de 4 bits, et on souhaite obtenir une mémoire M2 de 8 Kio avec un bus de données de 16 bits.
1. Nombre de mots et largeur du bus d’adresse des deux types de RAM
Mémoire M1 (512 octets, bus de 4 bits)
1 octet = 8 bits → Nombre de mots :
\[ \frac{512 \times 8}{4} = 1024 \text{ mots de 4 bits} = 1K \text{ mots de 4 bits} = 2^{10} \text{ mots} \]
La mémoire M1 possède 10 fils d’adresse. (0,5 pt)
Mémoire M2 (8 Kio, bus de 16 bits)
\( 8Kio = 8 \times 1024 = 8192 \) octets
1 octet = 8 bits, donc nombre de mots :
\[ \frac{8192 \times 8}{16} = 4096 \text{ mots de 16 bits} = 4K \text{ mots} = 2^{12} \text{ mots} \]
La mémoire M2 possède 12 fils d’adresse. (0,5 pt)
2. Nombre de mémoires à assembler en parallèle
On passe d’un bus de données de 4 bits à un bus de 16 bits.
Il faut assembler 4 mémoires en parallèle pour obtenir un bus de 16 bits :
\[ \frac{16}{4} = 4 \quad \text{ou} \quad 16 = 4 \times 4 \]
(0,5 pt)
3. Nombre de mémoires à assembler en série
On passe d’une profondeur de 1K mots à une profondeur de 4K mots.
Il faut donc assembler 4 mémoires en série :
\[ 4K = 1K \times 4 \]
(0,5 pt)
4. Nombre de bits d’adresse pour déterminer le CS (chip select) des mémoires M1
On effectue un montage en série de 4 blocs de 1K mots, donc on doit avoir un nombre de bits suffisant pour identifier chacun des blocs.
Il faut donc 2 bits supplémentaires d’adresse :
\[ 2^2 = 4 \]
(0,5 pt)
Ces 2 bits supplémentaires de la mémoire M2 (par rapport à M1) vont servir à déterminer le CS des RAM M1. (0,5 pt)

6. Précisez les mémoires M1 active pour chacune des adresses suivantes: 95A16, E0316, 1FF16, 72516.
