Microprocesseur famille 68'000 Interface matériel Architecture générale d’un système informatique Signaux de mémoires EPROM RAM Signaux du processeur 68000 Réalisation d’un système simple RB - 2002
Architecture d’un système informatique Bus d’adresse MicroProcesseur A23..A0 Mémoire(s) Entrées Sorties Décodeur Bus de contrôle Programme Données Pile D15..D0 Bus de données RB - 2002
Interface externe Mubus Interface I/O simple Mubus Bus d’adresse A5..A0 MicroProcesseur Mémoire(s) Entrées Sorties Mubus A23..A0 Décodeur /P Bus de contrôle Programme Données Pile R_/W D15..D0 D7..D0 Bus de données RB - 2002
Interface externe Mubus Lignes d'Adresses A5..A0 Cycle de Lecture Donnée lue Cycle d'écriture Donnée écrite Adresse A5..A0 /P R_/W Données D7..D0 Lignes de ctrl /P R_/W Lignes de données D7..A0 RB - 2002
Taille : 2nbr bits d ’adresse x nbr bits de données Modèle d’une mémoire Adresses Contenu 0 1 1 0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 . . . . . . . . 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0x00 0x01 0x7F Taille : 2nbr bits d ’adresse x nbr bits de données RB - 2002
Accès mémoire Ex: Mode d'adressage Absolu Bus d'adresse 7 ..0A ..09 ..08 ..07 ..06 ..05 100004 ..03 ..02 ..01 ..00 ..FF CD AB A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 CD AB D2 D1 D0 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 PC Instr $0010 $0004 Bus de données Move.w $100004, D3 RB - 2002
Mémoires classification Mémoires statiques Non volatiles ROM Volatiles RAM Asynchrone RAM Synchrone SRAM Mémoire dynamiques (à rafraîchir) Asynchrone DRAM Synchrone SDRAM RB - 2002
Mémoires statiques non volatiles ROM Read Only Memory PROM Programmable ROM EPROM Erasable PROM EEPROM Electrically Erasable PROM Flash EPROM Effacement par bloc Le contenu n’est pas perdu lorsque l’alimentation est coupée RB - 2002
128k octets Mémoire EPROM 216 mots de 16 bits 16 bits = 2 octets Exemple: mémoire 64k x 16 216 mots de 16 bits 128k octets 16 bits = 2 octets RB - 2002
CS Chip Select Sélection du circuit Signaux CS Chip Select Sélection du circuit OE Output Enable Autorise la sortie des données Wr Write Ecriture Rd Read Lecture Signaux généralement actifs à « 0 » RB - 2002
Cycle de lecture EPROM Donnée fournie si /CS et /OE actifs simultanément Donnée fournie après un temps d’accès RB - 2002
Cycle de lecture EPROM toff tacces Adresses /CS /OE Données RB - 2002
128k octets Mémoire RAM 217 mots de 8 bits Exemple: mémoire 128k x 8 RB - 2002
Cycle de lecture/écriture RAM Ecriture en fin de cycle Lecture, donnée disponible après t accès RB - 2002
Processeur 68000 RB - 2002
Processeur 68000, cycles de transferts Le processeur est le maître du bus Le processeur initie les transferts Bus d’Adresse Function codes, FC2..FC0 Signaux de transferts /AS Adresse Strobe Validation d’adresse /LDS Lower Data Strobe Validation données D7..D0 /UDS Lower Data Strobe Validation données D15..D8 R_/W Read/Write Lecture si = 1, Ecriture si = 0 /DTAck Data Acknowledge Quittance de transferts Bus de données RB - 2002
Processeur 68000, cycles de transferts RB - 2002
Organisation mémoire 68000 Rx 24 31 16 23 8 15 7 Rx 2 1 4 3 6 5 8 7 Mémoire 8 bits 68008 Mémoire 16 bits 68000/68010 Mémoire 32 bits 68020/30/40/60 1003 1002 1001 1000 +1 +0 1006 1004 1002 1000 +3 +2 +1 +0 100C 1008 1004 1000 Big-Endian Une adresse est une adresse octet vu du processeur RB - 2002
Organisation mémoire 68000 Mémoire 16 bits 68000/68010 UDS actif seul sélectionne une adresse paire +1 +0 UDS LDS LDS actif seul sélectionne une adresse impaire 1006 1004 1002 1000 UDS/LDS actifs sélectionne un doublet Signaux UDS/LDS remplacent la ligne d’adresse A0 sur le 68000 RB - 2002
Processeur 68000, cycles de transferts lecture Quittance de fin de transfert RB - 2002
Processeur 68000, cycles de transferts lecture Un cycle d ’attente RB - 2002
Processeur 68000, cycles de transferts lecture Accès poids forts RB - 2002
Processeur 68000, cycles de transferts écriture xDS valident les données RB - 2002
Processeur 68000, cycles de transferts écriture RB - 2002
Exemple de conception Objectif : Réaliser un petit système informatique avec : Processeur 68010 1 x EPROM 27C1024 : 64k x 16 RAM 628128 : 128k x 8 Interface Mubus RB - 2002
Exemple de conception Méthodologie Déterminer un plan mémoire du système Réaliser un schéma bloc Déterminer les équations du décodeur Vérifier les timings (pas dans ce cours) RB - 2002
Plan mémoire EPROM 64k x 16 : 26 * 210 = 216 16 lignes d ’adresses 0x10’000 mots de 16 bits 0x20’000 octets (Bytes) RAM 128k x 8 : 27 * 210 = 217 17 lignes d ’adresses 0x20’000 mots de 8 bits 2x 0x40’000 octets (Bytes) 1 EPROM sur la largeur du bus de données (16 bits) 2 RAM de 8 bits pour avoir de la RAM sur 16 bits de large RB - 2002
Plan mémoire Signaux de sélection en fonction des signaux du processeur CSEpr = f1 (Adresses, AS) CSRam = f2 (Adresses, AS) P = f3 (Adresses, AS) WrH = f4 (UDS, R_/W) WrL = f5 (LDS, R_/W) OE = f6 (R_/W) RB - 2002
Plan mémoire EPROM en 0 pour démarrage OE 15 8 7 0x000000 EPROM en 0 pour démarrage EPROM 64kx16 CsEpr 0x020000 RAM, adresse de base multiple de la taille de la zone RAM 0x100000 RamH 128kx8 RamL 128kx8 CsRam Mubus, choix en 0xFFFF8000 (-0x8000) 0x140000 WrH WrL Mubus 64x8 0xFF8000 P R_/W RB - 2002
Schéma bloc RB - 2002
Sélection des adresses 16 17 18 19 20 21 22 23 8 9 10 11 12 13 14 15 (0) 1 2 3 4 5 6 7 X d Eprom 1 X d Ram 1 X - Mubus Adresses internes aux mémoires bloquées (x) EPROM : 16 lignes 0x000000 RAM : 17 lignes 0x100000 Mubus : 6 lignes 0xFF8000 Compléter les adresses de base AdEprom = /A23 * /A22 * /A21 * /A20 * /A19 * /A18 * /A17 AdRam = /A23 * /A22 * /A21 * A20 * /A19 * /A18 * /A17 AdMubus = A23 * A22 * A21 * A20 * A19 * ... * A15 * /A14 * .. * /A7 RB - 2002
Equation de sélection RB - 2002
Quittance de transfert Avec délais RB - 2002