Export PDF - Cours en ligne

Transcription

Export PDF - Cours en ligne
Brève introduction à la matière
Grenoble INP
1 / 16
Introduction
Diapos et podcast
Grenoble INP
2 / 16
Eléments de base d'un circuit numérique
Grenoble INP
3 / 16
Codage des nombres en base 2, la logique booléenne et les circuits
combinatoires
Diapos et podcast
Supplément de cours sur les tableaux de Karnaugh
Grenoble INP
4 / 16
Circuits séquentiels
Diapos et podcast
Grenoble INP
5 / 16
Construction de circuits complexes
Diapos et podcast
Grenoble INP
6 / 16
Mémoire
Diapos et podcast
Grenoble INP
7 / 16
De l'algorithme aux circuits
Grenoble INP
8 / 16
Machines à états
Nouveauté : le cours a été enregistré en plusieurs morceaux et contient à présent des dessins fait
"live" par votre serviteur.
Vu que je ne suis pas hyper doué, la webcam enregistrait le dessin la tête en bas ! Si certains d'entre
vous fricotent avec INProd ou savent utiliser cinderela ou kdenlive, ils peuvent retourner les
sequences (je sais le faire avec ffmpeg, mais comme il faut le faire au milieu du reste, c'est rude).
L'idée est simple : vous visualiser sous kdenlive, et dès qu'arrive une séquence de dessin, et bien
vous sélectionnez et retournez la séquence (bien visible sur les miniatures), et vous continuez de
visualiser.
A la fin, vous faites un rendering en mp4, que vous traduisez ensuite en m4v (seule format supporté
par la plate-forme de distribution de l'UGA à ma connaissance) par ffmpeg -i file.mp4
-vcodec libx264 -strict -2 -r 10 file.m4v. Je me ferai ensuite un plaisir de mettre en
ligne cette nouvelle version, qui épargnera les torticollis aux moins geek.
De même, il y a quelques râclement de gorges, quelques blancs en début et en fin de séquence, et
autres "euh" qui traînent et qui gagneraient à être post-produits, mais bon, il n'y a que 24 heures
dans la journée d'une femme ou d'un homme !
Le podcast 6 est remarquable, j'ai enregistré une fenêtre sur laquelle il ne se passe rien jusqu'à 5'30'
à peu près, tout en racontant comment faire l'encodage one-hot, date à laquelle je me suis aperçu
que j'avais parlé sans support. J'ai donc recommancé à partir de 6'00'', temps a partir duquel vous
pouvez commencer le podcast. De même que précédemment, un monteur aguérri est le bien venu
pour le final cut !
Petit bug aussi dans le discours : dans la partie 6 à 7'48'', je dis "2" à la place de "3" ! Gasp !
●
●
●
Diapos
Les nouveaux podcasts, en 8 morceaux: partie 1, partie 2, partie 3, partie 4, partie 5, partie 6,
partie 7, partie 8.
Pour les nostalgiques, le podcast 2015
Pour les angoissés : j'ai compris comment positionner la webcam pour que les images soient dans le
bon sens la prochaine fois, ça devrait donc aller mieux pour le cours 6.
Grenoble INP
9 / 16
Circuits PC/PO
Diapos et podcast 2015 pour ceux qui aiment le réchauffé
Le nouveau podcast, en 3 morceaux: partie 1, partie 2, partie 3. Je me suis un peu laissé aller à
l'enthousiame, la partie 3 fait 45 minutes d'un seul tenant, préparez le paracétamol ou faite des
pauses toutes les 15 minutes.
Grenoble INP
10 / 16
Optimisation des circuits PC/PO
Diapos et podcast de 2015
Le nouveau podcast, en 2 morceaux, j'ai oublié de couper après l'introduction (vers 16'20"):
●
●
partie 1,
partie 2.
Il y a des problèmes de latence du à la trop haute résolution de mon écran, je vais passer en
résolution plus faible pour les cours suivants.
Bon cours !
Grenoble INP
11 / 16
Processeur : notions de base sur ce type de circuit
Grenoble INP
12 / 16
Interprétation d'instructions
Diapos et ancien podcast
Le nouveau podcast, en 4 parties : partie 1, partie 2, partie 3. partie 4.
Grenoble INP
13 / 16
Jeu d'instructions et architecture
Diapos et podcast 2014, l'enregistrement ayant lamentablement échoué en 2015 !
Voici les deux parties du cours refaites pour cette année partie 1, partie 2.
Grenoble INP
14 / 16
Processeur MIPS
Diapos et podcast 2015
Le nouveau podcast en trois parties : partie 1, partie 2, partie 3.
Grenoble INP
15 / 16
Cache : intérêt et principes
Diapos et podcast 2015 du cours sur les caches.
Le nouveau podcast : partie 1, partie 2, partie 3
Je vous invite à reproduire sur votre machine l'exemple présenté dans le podcast dont le code est
ci-dessous :
#include <stdint.h>
volatile int32_t x[2048][128];
int main(void)
{
int32_t i, j, k;
for (k = 0; k < 1000; k++)
for (j = 0; j < 128; j++)
for (i = 0; i < 2048; i++)
x[i][j] = 2 * x[i][j]+k;
return 0;
}
Il faut installer valgrind et/ou linux-perf pour avoir des informations précises sur les caches.
Pour lancer perf :
$ perf stat -e cache-misses ./a.out
Attention cependant, car perf est perturbé par l'activité du système car il lit des compteurs
disponibles dans l'architecture (il faut le lancer 50 fois et prendre le plus petit résultat dans les deux
cas), alors que valgrind simule le comportement des caches, donc le système n'influe pas.
Question subsidiaire : pourquoi l'ordre des boucles "lignes puis colonnes" est-il (trois fois) plus
efficace que l'ordre "colonnes puis lignes" ?
Grenoble INP
16 / 16