Page Moodle du cours pour H2015.
La compréhension du fonctionnement interne d'un ordinateur est indispensable pour le métier d'informaticien. Ce cours vise à donner une vision d'ensemble sur les éléments principaux qui composent les systèmes informatiques: le matériel (hardware), le logiciel système (système d'exploitation), la représentation des données, et les réseaux de communications.
Le but du cours est donc de familiariser les étudiants avec les notions de bases sur lesquelles repose la technologie des systèmes informatiques, et qui sont indispensables à la compréhension des cours plus avancés.
Architecture des ordinateurs, composantes d'un ordinateur (CPU, mémoire, entrées-sorties), langages machine, format des données numériques et non-numériques, arithmétique, encodage d'information, codes correcteurs, compression, encryptage, systèmes d'exploitation, compilation de langages de haut-niveau, réseaux de communication, protocoles de réseaux.
Irv Englander, The architecture of computer hardware, systems software,
and networking: an information technology approach, Wiley,
4e ed., 2009.
Les chapitres supplémentaires ne sont pas forcément faciles à trouver
sur le site web du livre, vous pouvez
essayer ce
lien qui a fonctionné pour moi.
Jour | Heure | Lieu | Type |
---|---|---|---|
Mardi | 10h30-12h30 | AA-1177 | Cours |
Mercredi | 15h30-16h30 | Z-300 | Cours |
Mercredi | 16h30-18h30 | AA-1177 | Démonstration |
17 fév | 10h30-12h30 | AA-1360 | Intra |
22 avr | 15h30-18h15 | N-515 | Final |
Le choix des salles n'est pas sous mon contrôle et est parfois changé sans préavis, donc dans le doute, faites plutôt confiance au formulaire insupportable de Synchro
Rafik Gouiaa (bureau AA-2317) sera le démonstrateur ce semestre.
Il y aura 2 travaux pratiques (pour un total de 45 points) et deux examens de 25 points chacun, plus 5 points sur les exercices hebdomadaires. La note finale sur 100 sera convertie en note litérale à la fin du cours seulement, selon un barème qui dépendra de la moyenne du groupe et de la répartition des notes des étudiants. Un total aux deux examens inférieur à 25 points (i.e. la moitié des points) est éliminatoire.
Les travaux pratiques sont à faire en groupe de 2 (jamais plus, et très rarement moins). Les exercices sont à faire seuls. Et les examens se font à livre fermé: vous n'avez droit qu'à une page de notes (recto) écrite à la main, pas de livre ni de calculatrice autorisés.
Le plagiat et la copie sont des fautes graves passibles de sanctions disciplinaires. Dans ce cours, nous prendrons toutes les mesures que nous jugeons nécessaires pour dépister et contrer ce genre d'activités.
Envoyez vos courriels depuis une adresse à umontreal.ca
plutôt que turlutu.fr
si vous voulez qu'il soit pris au
sérieux plutôt qu'il tombe dans l'oubliette du dossier spam
.
La page Moodle du cours inclus un forum de discussions que je vous encourage à utiliser.
Ces notes sont tirées de celles de Max Mignotte, et d'Alena Tsikhanovich, sauf les erreurs bien sûr.
Info sur le coursLes données de chaque démonstration seront placées ici.
Les exercices sont à faire individuellement, pas en groupe.
Les travaux pratiques sont à faire par groupes de deux.
La donnée du travail.
Un fichier d'exemple pour voir
le simulateur LMC en action.
Un fichier LaTeX d'exemple, au cas où
cela vous serait utile.
La donnée du travail et le code fourni.
Semaine du | Thème |
---|---|
7 jan | Intro |
13-14 jan | Conversions de bases |
20-21 jan | Représentation des entiers |
27-28 jan | LMC |
3- 4 fév | Représentation à virgule flottante |
10-11 fév | Circuits logiques combinatoires |
17-18 fév | Intra |
24-25 fév | Circuits logiques séquentiels |
3- 4 mar | Relâche |
10-11 mar | CPU et mémoire, Discussion CISC/RISC |
17-18 mar | CPU et mémoire, revisités |
24-25 mar | Entrées/Sorties |
0- 1 avr | Disques |
7- 8 avr | Systèmes d'exploitation |
14 avr | |
22 avr | Examen final |
GNU Emacs est l'éditeur
recommandé dans ce cours pour écrire les programmes et les rapports.
Parmi les bonnes ressources pour ce qui a trait à Emacs, nous trouvons le
Emacs Manual en-ligne disponible dans le menu Help,
l'Introduction to Emacs Lisp dans le menu Help (sous-menu More
Manuals), le Emacs Lisp Reference dans le même sous-menu, la
commande 'i' dans ces manuels, le groupe de discussion
gnu.emacs.help, le
Wiki, et la "refcard" qui est
distribuée avec Emacs, dans un fichier nommé quelque chose comme
/usr/share/emacs/24.4/etc/refcard.ps
.
Emacs est préinstallé sur toutes les machines GNU/Linux du DIRO. Pour l'installer sur votre propre machine, la procédure habituelle ressemble à:
apt-get install emacs24 emacs24-el
emacs24-common-non-dfsg
(sur les systèmes GNU/Linux dérivés de
Debian). apt-get install emacs
marche aussi, bien sûr,
mais les packages *-el et *-common-non-dfsg
ajoutent de la documentation que je recommende.yum install emacs
(sur les systèmes GNU/Linux
dérivés de Fedora).lmc.el
.
M-x
list-packages
en sélectionant le package lmc
.
/home/turlu/emacs/lmc.el
) et ensuite
ajouter (load "/home/turlu/emacs/lmc.el")
dans votre
fichier de configuration ~/.emacs
(que vous pouvez accéder
depuis Emacs avec la commande C-x C-f ~/.emacs RET
)./
plutôt que des \
dans vos noms de
fichier.~/.emacs
depuis une ligne de
commande, la commande shell ci-dessous devrait faire l'affaire:
echo '(load "/home/turlu/emacs/lmc.el")' >>~/.emacs
.elmc
depuis lesquels vous pouvez charger le code
dans le simulateur en sélectionnant dans le menu LMC-ASM => Load into
Simulator
ou juste C-c C-l
.