Enseignement (2013-2016)
2015, Université Paris-Sud, L3, Architecture des ordinateurs
Responsables de la matière :
Lénaïc Bagnères.
Mohamed Yassine Tsalamlal assure les TD et TP du deuxième groupe.
Simulateurs MIPS32 et ARM
SPIM : A MIPS32 Simulator (spim & xspim)
Installation
Script bash pour compiler xspim et l'installer dans le dossier $HOME : xspim.sh.
Script bash pour compiler xspim et l'installer dans le dossier $HOME : spimsimulator-code.zip et xspim_local.sh.
Mettre l'archive .zip et le script .sh dans le même dossier. Lancer un terminal dans ce dossier et exécuter le script avec la commande suivante :
bash ./xspim_local.sh
Utilisation
~/usr/bin/xspim <fichier_mips32.s>
Ne pas hésiter à modifier la variable d'environnement PATH pour simplifier le lancement des applications.
MARS (MIPS Assembler and Runtime Simulator)
Installation
Script bash pour installer MARS dans le dossier $HOME : Mars4_5.jar et mars_local.sh.
Mettre le .jar et le script .sh dans le même dossier. Lancer un terminal dans ce dossier et exécuter le script avec la commande suivante :
bash ./mars_local.sh
Utilisation
~/usr/bin/mars.sh
Ne pas hésiter à modifier la variable d'environnement PATH pour simplifier le lancement des applications.
ARMSim
ARMSim est un logiciel propriétaire « free for academic use ».
Installation
ARMSim# est développé pour Microsoft Windows mais fonctionne aussi avec Mono (mais pas sur Debian GNU/Linux stable d'octobre 2015) et avec Wine (le script que je propose utilise Wine).
Script bash pour installer ARMSim# dans le dossier $HOME : ARMSim-191.zip et armsim_local.sh.
Mettre l'archive .zip et le script .sh dans le même dossier. Lancer un terminal dans ce dossier et exécuter le script avec la commande suivante :
bash ./armsim_local.sh
Utilisation
~/usr/bin/armsim.sh
Ne pas hésiter à modifier la variable d'environnement PATH pour simplifier le lancement des applications.
qtarmsim
Il existe aussi qtarmsim, mais la version que j'ai testée ne supporte pas certaines instructions (MOV avec décalage).
Cartes de référence
TP et TD
Semaine 38
2015/09/15
Cours Amphi : Introduction (1,5h) [PDF][PDF]
Cours Amphi : Jeux d'instructions (1,5h) [PDF]
2015/09/18
Cours Amphi : Jeux d'instructions (1,5h)
Semaine 39
2015/09/22
TP Groupe 1 : TD 1 : Modèles d'exécution : instructions arithmetiques et logiques (3h) [PDF]
2015/09/25
Cours Amphi : Caches et mémoire virtuelle (1,5h) [PDF]
Semaine 40
2015/09/29
TP Groupe 1 : TD + TP 2 : Organisation des données en mémoire - Instructions mémoire (3h) [PDF][Code source]
2015/10/02
Cours Amphi : Caches et mémoire virtuelle (1,5h)
Semaine 41
2015/10/06
TP Groupe 1 : TD + TP 3 : Conditionnelles et boucles (3h) [PDF][Code source]
2015/10/09
Cours Amphi : Pipeline (1,5h) [PDF]
Semaine 42
2015/10/13
TP Groupe 1 : TD + TP 4 : Fonctions et procédures (3h) [PDF][Code source]
2015/10/16
Cours Amphi : Problèmes du pipeline (1,5h) [PDF]
Semaine 43
Réserve / Vacances
Semaine 44
2015/10/30
Partiel (1,5h) (+ 0,5h si tiers temps) (Tous documents papier autorisés)
Semaine 45
2015/11/03
TP Groupe 1 : TD 5 : Caches (3h) [PDF]
2015/11/06
Cours Amphi : Architectures et programmes parallèles (1,5h) [PDF]
Semaine 46
2015/11/10
TP Groupe 1 : TD 6 : Pipelines & Opérations multicycles & Prédiction de branchement (3h) [PDF]
2015/11/13
Cours Amphi : OpenMP (~2h) [PDF]
Cours Amphi : TD 6 (rattrapage retard groupe 2) (~1h)
Semaine 47
2015/11/17
TP Groupe 1 : TP 7 (noté) : Optimisations & Parallélisation (~2h) [PDF][Code à compléter] + Correction partiel (~1h)
Semaine 48
2015/11/24
TP Groupe 1 : TP 7 (noté) : Optimisations & Parallélisation (3h)
2015/11/27
Cours Amphi : Extensions SIMD (1,5h) [PDF]
Semaine 49
2015/12/01
TP Groupe 1 : TP 8 : Streaming SIMD Extensions (SSE) (3h) [PDF][Code à compléter]
2015/12/04
Cours Amphi : Boost.MPI [Exemple], HPX [Exemple], Pluto, CUDA [Exemple] (1,5h)
Semaine 50
Réserve
Semaine 51
2015/12/18
Examen (1,5h) (+ 0,5h si tiers temps) (Tous documents papier autorisés)
