Ce que vous allez réaliser : Dans ce cours axé sur les projets*, vous allez construire un système informatique moderne, à partir de la base. Nous diviserons ce voyage fascinant en six projets pratiques qui vous emmèneront de la construction de portes logiques élémentaires jusqu'à la création d'un ordinateur à usage général fonctionnant parfaitement. Ce faisant, vous apprendrez - de la manière la plus directe et la plus constructive qui soit - comment fonctionnent les ordinateurs et comment ils sont conçus. Ce dont vous aurez besoin : Il s'agit d'un cours autonome : toutes les connaissances nécessaires pour réussir le cours et construire le système informatique seront fournies dans le cadre de l'expérience d'apprentissage. Par conséquent, nous ne supposons aucune connaissance préalable en informatique ou en ingénierie, et tous les apprenants sont les bienvenus. Vous n'aurez besoin d'aucun matériel physique, puisque vous construirez l'ordinateur sur votre propre PC, en utilisant un simulateur de matériel basé sur un logiciel, tout comme les vrais ordinateurs sont conçus par les ingénieurs informaticiens sur le terrain. Le simulateur de matériel, ainsi que d'autres outils logiciels, vous seront fournis gratuitement après votre inscription au cours. Format du cours : Le cours se compose de six modules, chacun comprenant une série de conférences vidéo et un projet. Vous aurez besoin d'environ 2 à 3 heures pour regarder les conférences de chaque module et d'environ 5 à 10 heures pour réaliser chacun des six projets. Le cours peut être terminé en six semaines, mais vous pouvez le suivre à votre propre rythme. Vous pouvez regarder un exposé TED sur ce cours en tapant "nand2tetris TED talk" sur Google. *A propos des cours axés sur les projets : Les cours centrés sur un projet sont conçus pour vous aider à réaliser un projet concret et significatif sur le plan personnel, avec votre instructeur et une communauté d'apprenants ayant des objectifs similaires, qui vous guident et vous font des suggestions tout au long du chemin. En appliquant activement les nouveaux concepts au fur et à mesure que vous apprenez, vous maîtriserez le contenu du cours plus efficacement ; vous aurez également une longueur d'avance sur l'utilisation des compétences acquises pour apporter des changements positifs dans votre vie et votre carrière. Lorsque vous aurez terminé le cours, vous aurez un projet fini que vous serez fier d'utiliser et de partager.
Construire un ordinateur moderne à partir des premiers principes : De Nand à Tetris (Cours centré sur le projet)
Instructeurs : Shimon Schocken
Enseignant de premier plan
213 822 déjà inscrits
Inclus avec
(3,618 avis)
Compétences que vous acquerrez
- Catégorie : Porte logique
- Catégorie : Architecture des ordinateurs
- Catégorie : Langages d'assemblage
- Catégorie : Langage de description du matériel (HDL)
Détails à connaître
Ajouter à votre profil LinkedIn
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées
Obtenez un certificat professionnel
Ajoutez cette qualification à votre profil LinkedIn ou à votre CV
Partagez-le sur les réseaux sociaux et dans votre évaluation de performance
Il y a 8 modules dans ce cours
Introduction et aperçu du cours, rôles de l'abstraction et de l'implémentation dans la conception des systèmes, chemin à parcourir.
Inclus
4 vidéos1 lecture1 devoir de programmation
Nous commencerons par une brève introduction à l'algèbre de Boole et nous apprendrons comment les fonctions booléennes peuvent être physiquement mises en œuvre à l'aide de portes logiques. Nous apprendrons ensuite à spécifier des portes et des puces à l'aide d'un langage de description de matériel (HDL) et à simuler le comportement des spécifications de la puce résultante à l'aide d'un simulateur de matériel. Ce contexte préparera le terrain pour le projet 1, dans lequel vous construirez, simulerez et testerez 15 portes logiques élémentaires. Le jeu de puces que vous construirez dans ce module sera ensuite utilisé pour construire l'unité arithmétique et logique (UAL) et le système de mémoire de l'ordinateur. Cela se fera respectivement dans les modules 2 et 3.
Inclus
8 vidéos1 lecture1 devoir de programmation
Informations générales sur les cours
Inclus
1 vidéo3 lectures
En utilisant le jeu de puces que nous avons construit dans le module précédent, nous allons maintenant construire une famille d'additionneurs -- des puces conçues pour additionner des nombres. Nous ferons ensuite un grand pas en avant et construirons une unité arithmétique et logique (ALU). L'UAL, qui est conçue pour effectuer toute une série d'opérations arithmétiques et logiques, est le cerveau de calcul de l'ordinateur. Plus tard dans le cours, nous utiliserons cette UAL comme pièce maîtresse à partir de laquelle nous construirons l'unité centrale de traitement de l'ordinateur, ou CPU. Comme toutes ces puces fonctionnent avec des nombres binaires (0 et 1), nous commencerons ce module par un aperçu général de l'arithmétique binaire, puis nous nous pencherons sur la construction de l'UAL.
Inclus
6 vidéos1 lecture1 devoir de programmation
Après avoir construit l'UAL de l'ordinateur, ce module porte sur la construction de l'unité de mémoire principale de l'ordinateur, également connue sous le nom de mémoire vive, ou RAM. Cela se fera progressivement, en allant de bas en haut, des portes de bascule élémentaires aux registres d'un bit, puis aux registres de n bits et enfin à une famille de puces RAM. Contrairement aux puces de traitement de l'ordinateur, qui sont basées sur la logique combinatoire, la logique de la mémoire de l'ordinateur nécessite une logique séquentielle basée sur l'horloge. Nous commencerons par un aperçu de ce contexte théorique, puis nous passerons à la construction de notre chipset de mémoire.
Inclus
6 vidéos1 lecture1 devoir de programmation
Un aspect essentiel de la construction d'un nouveau système informatique est la conception du langage machine de bas niveau, ou jeu d'instructions, avec lequel l'ordinateur peut être chargé d'effectuer diverses tâches. Il s'avère que cela peut être fait avant que l'ordinateur lui-même ne soit construit. Par exemple, nous pouvons écrire un programme Java qui émule l'ordinateur à construire, puis l'utiliser pour émuler l'exécution de programmes écrits dans le nouveau langage machine. De telles expériences peuvent nous donner une bonne appréciation de l'aspect et de la convivialité du nouvel ordinateur, et conduire à des décisions qui pourraient bien modifier et améliorer à la fois la conception du matériel et du langage. En adoptant une approche similaire, dans ce module, nous supposons que l'ordinateur Hack et le langage machine ont été construits, et nous écrivons quelques programmes de bas niveau en utilisant le langage machine Hack. Nous utiliserons ensuite un émulateur de CPU fourni (un programme informatique) pour tester et exécuter nos programmes. Cette expérience vous donnera un avant-goût de la programmation de bas niveau, ainsi qu'une solide vue d'ensemble pratique de la plate-forme informatique Hack.
Inclus
10 vidéos1 lecture1 devoir de programmation
Récapitulons les quatre derniers modules : nous avons construit des portes logiques élémentaires (module 1), puis nous les avons utilisées pour construire une UAL (module 2) et une RAM (module 3). Nous avons ensuite joué avec la programmation de bas niveau (module 4), en supposant que l'ordinateur dans son ensemble soit réellement disponible. Dans ce module, nous assemblons tous ces blocs de construction en un ordinateur 16 bits à usage général appelé Hack. Nous commencerons par construire l'unité centrale de traitement (UC) de Hack, puis nous intégrerons l'UC à la RAM, créant ainsi un système informatique complet capable d'exécuter des programmes écrits dans le langage machine de Hack.
Inclus
6 vidéos1 lecture1 devoir de programmation
Chaque ordinateur dispose d'un langage machine binaire, dans lequel les instructions sont écrites sous forme de séries de 0 et de 1, et d'un langage machine symbolique, également connu sous le nom de langage d'assemblage, dans lequel les instructions sont exprimées à l'aide de moyens mnémotechniques conviviaux. Les deux langages font exactement la même chose et sont totalement équivalents. Mais il est beaucoup plus facile et plus sûr d'écrire des programmes en langage assembleur qu'en langage binaire. Pour profiter de ce luxe, quelqu'un doit traduire nos programmes symboliques en code binaire qui peut s'exécuter tel quel sur l'ordinateur cible. Ce service de traduction est assuré par un agent appelé assembleur. L'assembleur peut être soit une personne qui effectue la traduction manuellement, soit un programme informatique qui automatise le processus. Dans ce module et dans le projet final du cours, nous apprenons à construire un assembleur. En particulier, nous développerons la capacité de traduire des programmes Hack symboliques en code binaire qui peut être exécuté tel quel sur la plateforme Hack. Chacun d'entre vous peut choisir d'accomplir cet exploit de deux manières différentes : vous pouvez soit implémenter un assembleur en utilisant un langage de haut niveau, soit simuler le fonctionnement de l'assembleur à l'aide d'un papier et d'un crayon. Dans les deux cas, nous vous donnons des indications détaillées sur la manière de réaliser votre travail.
Inclus
8 vidéos1 lecture1 devoir de programmation
Instructeurs
Offert par
Recommandé si vous êtes intéressé(e) par Algorithmes
Hebrew University of Jerusalem
University of California San Diego
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
3 618 avis
- 5 stars
93,03 %
- 4 stars
5,74 %
- 3 stars
0,55 %
- 2 stars
0,16 %
- 1 star
0,49 %
Affichage de 3 sur 3618
Révisé le 6 mai 2020
The class is straightforward and the right level of detail to make you feel like you really understand the topics. Highly recommend to anyone wanting to understand how computer hardware works!
Révisé le 28 mai 2019
Incredible Course. I've never experienced such an learning experience. This course did not just teach me how computers work, more importantly it taught me how to learn and deal with complexity.
Révisé le 12 août 2022
Coming from a high level programming backgroun with a degree in games programming, this course was amazing to fill in the gaps in my knowledge, and solidify low level computer science fundamentals.
Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
L'accès aux cours et aux devoirs dépend de votre type d'inscription. Si vous suivez un cours en mode audit, vous pourrez consulter gratuitement la plupart des supports de cours. Pour accéder aux devoirs notés et obtenir un certificat, vous devrez acheter l'expérience de certificat, pendant ou après votre audit. Si vous ne voyez pas l'option d'audit :
Il se peut que le cours ne propose pas d'option d'audit. Vous pouvez essayer un essai gratuit ou demander une aide financière.
Le cours peut proposer l'option "Cours complet, pas de certificat" à la place. Cette option vous permet de consulter tous les supports de cours, de soumettre les évaluations requises et d'obtenir une note finale. Cela signifie également que vous ne pourrez pas acheter un certificat d'expérience.
Lorsque vous achetez un certificat, vous avez accès à tous les supports de cours, y compris les devoirs notés. Une fois le cours terminé, votre certificat électronique sera ajouté à votre page de réalisations. Vous pourrez alors l'imprimer ou l'ajouter à votre profil LinkedIn. Si vous souhaitez uniquement lire et visualiser le contenu du cours, vous pouvez l'auditer gratuitement.
Vous pouvez prétendre à un remboursement intégral jusqu'à deux semaines après la date de votre paiement ou (pour les cours qui viennent d'être lancés) jusqu'à deux semaines après le début de la première session du cours, la date la plus tardive étant retenue. Vous ne pouvez pas obtenir de remboursement une fois que vous avez obtenu un certificat de cours, même si vous terminez le cours pendant la période de remboursement de deux semaines. Consultez notre politique de remboursement complète.