23
1/19 Architecture d’un microprocesseur equenceur microprogramm´ e ealisation Application autour du microprocesseur Microcontroleur - VHDL MC-ENSL1 - Projet A J. Villemejane - [email protected] IUT Cr´ eteil-Vitry epartement GEII Universit´ e Paris-Est Cr´ eteil Ann´ ee universitaire 2012-2013

Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

  • Upload
    others

  • View
    13

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

1/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Microcontroleur - VHDLMC-ENSL1 - Projet A

J. Villemejane - [email protected]

IUT Creteil-VitryDepartement GEII

Universite Paris-Est Creteil

Annee universitaire 2012-2013

Page 2: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

2/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Plan du cours

1 Architecture d’un microprocesseurArchitecture externeArchitecture interneTraitement d’une instruction

2 Sequenceur microprogrammeCahier des chargesLe jeu d’instruction

3 Realisation

4 Application autour dumicroprocesseur

Les peripheriquesLe decodage d’adressePremier essaiMemoire programmeSecond essai

Page 3: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

3/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Objectifs

Microcontroleur

Realiser l’architecture d’un microcontroleur simple en VHDL, a l’aided’un composant programmable de type FPGA.

Traitement de donnees de 4 bits

Mot memoire de 8 bits

8 instructions

Architecture Harvard

Page 4: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

4/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Architecture d’un microprocesseur

Systeme a microprocesseur

Processeur

MemoiresI Programme (ROM)I Donnees (RAM)

Entree-Sorties

Bus de donnees

Bus d’adresses

Decodeurs d’adresse

Microprocesseur

Unite Arithmetique etLogique (UAL / ALU)

Registres

ControleurI Registre d’instructionI Decodeur d’instructionI Sequenceur

Compteur programme

Page 5: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

4/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Architecture d’un microprocesseur

Systeme a microprocesseur

Processeur

MemoiresI Programme (ROM)I Donnees (RAM)

Entree-Sorties

Bus de donnees

Bus d’adresses

Decodeurs d’adresse

Microprocesseur

Unite Arithmetique etLogique (UAL / ALU)

Registres

ControleurI Registre d’instructionI Decodeur d’instructionI Sequenceur

Compteur programme

Page 6: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

4/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Architecture d’un microprocesseur

Systeme a microprocesseur

Processeur

MemoiresI Programme (ROM)I Donnees (RAM)

Entree-Sorties

Bus de donnees

Bus d’adresses

Decodeurs d’adresse

Microprocesseur

Unite Arithmetique etLogique (UAL / ALU)

Registres

ControleurI Registre d’instructionI Decodeur d’instructionI Sequenceur

Compteur programme

Page 7: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

4/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Architecture d’un microprocesseur

Systeme a microprocesseur

Processeur

MemoiresI Programme (ROM)I Donnees (RAM)

Entree-Sorties

Bus de donnees

Bus d’adresses

Decodeurs d’adresse

Microprocesseur

Unite Arithmetique etLogique (UAL / ALU)

Registres

ControleurI Registre d’instructionI Decodeur d’instructionI Sequenceur

Compteur programme

Page 8: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

5/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Architecture d’un microprocesseurArchitecture externe

Page 9: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

6/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Architecture d’un microprocesseurArchitecture interne

ALU : Unite Arithmetique et Logique (Arithmetic and Logical Unit)FPU : Unite de Virgule Flottante (Floating Point Unit)

Page 10: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

7/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeCahier des charges

On souhaite a present realiser un microprocesseur a jeu d’instructiontres reduit (8 instructions) mais relativement complet dans sa structureet pouvant traiter des donnees de 4 bits.

Le microprocesseur sera compose :

d’une unite arithmetique et logique (addition, soustraction, logiquebooleenne)

d’un registre interne A

d’un controleur/sequenceur

d’un compteur programme

Afin de pouvoir tester ce systeme sur la carte d’etude, nous rajouterons :

une ROM programme

des gestionnaires d’entrees/sorties

Le tout s’apparentera donc plutot a un microcontroleur.

Page 11: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

7/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeCahier des charges

On souhaite a present realiser un microprocesseur a jeu d’instructiontres reduit (8 instructions) mais relativement complet dans sa structureet pouvant traiter des donnees de 4 bits.

Le microprocesseur sera compose :

d’une unite arithmetique et logique (addition, soustraction, logiquebooleenne)

d’un registre interne A

d’un controleur/sequenceur

d’un compteur programme

Afin de pouvoir tester ce systeme sur la carte d’etude, nous rajouterons :

une ROM programme

des gestionnaires d’entrees/sorties

Le tout s’apparentera donc plutot a un microcontroleur.

Page 12: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

8/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeLe jeu d’instruction - 1/2

instruction adr Operandeoc2 oc1 oc0 ad op3 op2 op1 op0

3 bits 1 bit 4 bits

Deux modes d’adressage seront possibles :

direct operande fourni (cste)

bit ad = 0

etendu adresse de l’operande fourni (adr)

bit ad = 1

Page 13: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

9/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeLe jeu d’instruction - 2/2

Le jeu d’instruction sera le suivant :

Chargement LDA #cste 000 0 XXXXLDA $adr 000 1 XXXX

Sauvegarde STA $adr 001 1 XXXXAddition ADDA #cste 010 0 XXXX

ADDA $adr 010 1 XXXXSoustraction SUBA #cste 011 0 XXXX

SUBA $adr 011 1 XXXXET logique ANDA #cste 100 0 XXXX

ANDA $adr 100 1 XXXXDecalage gauche ROLA #cste 101 0 XXXXDecalage droite RORA #cste 110 0 XXXXRemise a zero RST #cste 111 0 XXXX

Page 14: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

10/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 1/2

Cas d’une architecture MIPS32 (microprocessor without interlockedpipeline stages)Sur 32 bits

Dans l’application que nous allons developper, nous nous limiterons a 8instructions et a des operandes de 4 bits.

instruction adr Operandeoc2 oc1 oc0 ad op3 op2 op1 op0

3 bits 1 bit 4 bits

Page 15: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

10/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 1/2

Cas d’une architecture MIPS32 (microprocessor without interlockedpipeline stages)Sur 32 bits

Dans l’application que nous allons developper, nous nous limiterons a 8instructions et a des operandes de 4 bits.

instruction adr Operandeoc2 oc1 oc0 ad op3 op2 op1 op0

3 bits 1 bit 4 bits

Page 16: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

11/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 2/2

1 FETCH : recherche l’instruction suivantedans la memoire, emplacement determinepar le compteur programme ;

2 DECODE : decoupe l’instruction enplusieurs parties telles qu’elles puissentetre traitees par d’autres elements duprocesseurs ;

3 EXECUTE : execute l’instruction enmettant en relation les differents elementsdu processeur : pour une addition parexemple, les entrees de l’ALU serontconnectees aux donnees ;

4 WRITEBACK : ecrit le resultat dans desregistres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appelees

sauts (non abordees ici).

Page 17: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

11/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 2/2

1 FETCH : recherche l’instruction suivantedans la memoire, emplacement determinepar le compteur programme ;

2 DECODE : decoupe l’instruction enplusieurs parties telles qu’elles puissentetre traitees par d’autres elements duprocesseurs ;

3 EXECUTE : execute l’instruction enmettant en relation les differents elementsdu processeur : pour une addition parexemple, les entrees de l’ALU serontconnectees aux donnees ;

4 WRITEBACK : ecrit le resultat dans desregistres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appelees

sauts (non abordees ici).

Page 18: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

11/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 2/2

1 FETCH : recherche l’instruction suivantedans la memoire, emplacement determinepar le compteur programme ;

2 DECODE : decoupe l’instruction enplusieurs parties telles qu’elles puissentetre traitees par d’autres elements duprocesseurs ;

3 EXECUTE : execute l’instruction enmettant en relation les differents elementsdu processeur : pour une addition parexemple, les entrees de l’ALU serontconnectees aux donnees ;

4 WRITEBACK : ecrit le resultat dans desregistres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appelees

sauts (non abordees ici).

Page 19: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

11/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 2/2

1 FETCH : recherche l’instruction suivantedans la memoire, emplacement determinepar le compteur programme ;

2 DECODE : decoupe l’instruction enplusieurs parties telles qu’elles puissentetre traitees par d’autres elements duprocesseurs ;

3 EXECUTE : execute l’instruction enmettant en relation les differents elementsdu processeur : pour une addition parexemple, les entrees de l’ALU serontconnectees aux donnees ;

4 WRITEBACK : ecrit le resultat dans desregistres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appelees

sauts (non abordees ici).

Page 20: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

11/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 2/2

1 FETCH : recherche l’instruction suivantedans la memoire, emplacement determinepar le compteur programme ;

2 DECODE : decoupe l’instruction enplusieurs parties telles qu’elles puissentetre traitees par d’autres elements duprocesseurs ;

3 EXECUTE : execute l’instruction enmettant en relation les differents elementsdu processeur : pour une addition parexemple, les entrees de l’ALU serontconnectees aux donnees ;

4 WRITEBACK : ecrit le resultat dans desregistres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appelees

sauts (non abordees ici).

Page 21: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

11/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Sequenceur microprogrammeTraitement d’une instruction - 2/2

1 FETCH : recherche l’instruction suivantedans la memoire, emplacement determinepar le compteur programme ;

2 DECODE : decoupe l’instruction enplusieurs parties telles qu’elles puissentetre traitees par d’autres elements duprocesseurs ;

3 EXECUTE : execute l’instruction enmettant en relation les differents elementsdu processeur : pour une addition parexemple, les entrees de l’ALU serontconnectees aux donnees ;

4 WRITEBACK : ecrit le resultat dans desregistres internes.

Certaines instructions manipulent directement le compteur de programme. Elles sont appelees

sauts (non abordees ici).

Page 22: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

12/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Realisation

Page 23: Microcontroleur - VHDL - MC-ENSL1 - Projet Ahebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/... · Architecture d’un microprocesseur S equenceur microprogramm eR ealisation Application

13/19

Architecture d’un microprocesseur Sequenceur microprogramme Realisation Application autour du microprocesseur

Realisation

Ce processeur sera ensuite utiliser dans le cadre d’une application simplemettant en jeu :

une ROM (pour le programme) ;

deux peripheriques distincts.