Hebrew University of Jerusalem
Construire un ordinateur moderne à partir des premiers principes : De Nand à Tetris (Cours centré sur le projet)
Hebrew University of Jerusalem

Construire un ordinateur moderne à partir des premiers principes : De Nand à Tetris (Cours centré sur le projet)

Enseigné en Anglais

Certains éléments de contenu peuvent ne pas être traduits

207 015 déjà inscrits

Cours

Familiarisez-vous avec un sujet et apprenez les fondamentaux

Shimon Schocken
Noam  Nisan

Instructeurs : Shimon Schocken

Enseignant de premier plan

4.9

(3,574 avis)

43 heures pour terminer
3 semaines à 14 heures par semaine
Planning flexible
Apprenez à votre propre rythme

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

Certificat partageable

Ajouter à votre profil LinkedIn

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Placeholder
Placeholder

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

Placeholder

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

Évaluations de l’enseignant
4.9 (780 évaluations)
Shimon Schocken

Enseignant de premier plan

Hebrew University of Jerusalem
2 Cours228 963 apprenants
Noam  Nisan

Enseignant de premier plan

Hebrew University of Jerusalem
1 Cours207 015 apprenants

Offert par

Recommandé si vous êtes intéressé(e) par Algorithmes

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Avis des étudiants

Affichage de 3 sur 3574

4.9

3 574 avis

  • 5 stars

    93,04 %

  • 4 stars

    5,72 %

  • 3 stars

    0,55 %

  • 2 stars

    0,16 %

  • 1 star

    0,50 %

JJ
5

Révisé le 6 mai 2020

AM
5

Révisé le 17 juin 2020

AI
5

Révisé le 13 juin 2021

Placeholder

Ouvrez de nouvelles portes avec Coursera Plus

Accès illimité à plus de 7 000 cours de renommée internationale, à des projets pratiques et à des programmes de certificats reconnus sur le marché du travail, 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