Hebrew University of Jerusalem
Bauen Sie einen modernen Computer von Grund auf: Von Nand bis Tetris (Projektorientierter Kurs)
Hebrew University of Jerusalem

Bauen Sie einen modernen Computer von Grund auf: Von Nand bis Tetris (Projektorientierter Kurs)

Shimon Schocken
Noam  Nisan

Dozenten: Shimon Schocken

TOP-LEHRKRAFT

213.822 bereits angemeldet

Bei Coursera Plus enthalten

Verschaffen Sie sich einen Einblick in ein Thema und lernen Sie die Grundlagen.
4.9

(3,618 Bewertungen)

Es dauert 43 Stunden
3 Wochen bei 14 Stunden pro Woche
Flexibler Zeitplan
In Ihrem eigenen Lerntempo lernen
97%
Den meisten Lernenden hat dieser Kurs gefallen
Verschaffen Sie sich einen Einblick in ein Thema und lernen Sie die Grundlagen.
4.9

(3,618 Bewertungen)

Es dauert 43 Stunden
3 Wochen bei 14 Stunden pro Woche
Flexibler Zeitplan
In Ihrem eigenen Lerntempo lernen
97%
Den meisten Lernenden hat dieser Kurs gefallen

Kompetenzen, die Sie erwerben

  • Kategorie: Logisches Tor
  • Kategorie: Computer Architektur
  • Kategorie: Assembler Sprachen
  • Kategorie: Hardware-Beschreibungssprache (HDL)

Wichtige Details

Zertifikat zur Vorlage

Zu Ihrem LinkedIn-Profil hinzufügen

Unterrichtet in Englisch

Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.

Platzhalter
Platzhalter

Erwerben Sie ein Karrierezertifikat.

Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.

Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.

Platzhalter

In diesem Kurs gibt es 8 Module

Kurseinführung und Überblick, die Rolle von Abstraktion und Implementierung im Systemdesign, der weitere Weg.

Das ist alles enthalten

4 Videos1 Lektüre1 Programmieraufgabe

Wir beginnen mit einer kurzen Einführung in die Boolesche Algebra und lernen, wie Boolesche Funktionen mit Hilfe von Logikgattern physikalisch implementiert werden können. Anschließend lernen wir, wie man Gatter und Chips mit Hilfe einer Hardwarebeschreibungssprache (HDL) spezifiziert und wie man das Verhalten der resultierenden Chipspezifikationen mit einem Hardwaresimulator simuliert. Dieser Hintergrund wird die Grundlage für Projekt 1 bilden, in dem Sie 15 elementare Logikgatter bauen, simulieren und testen werden. Der Chipsatz, den Sie in diesem Modul bauen, wird später dazu verwendet, die Arithmetische Logikeinheit (ALU) und das Speichersystem des Computers zu konstruieren. Dies wird in den Modulen 2 bzw. 3 geschehen.

Das ist alles enthalten

8 Videos1 Lektüre1 Programmieraufgabe

Allgemeine Kursinformationen

Das ist alles enthalten

1 Video3 Lektüren

Mit dem Chipsatz, den wir im vorherigen Modul gebaut haben, werden wir nun eine Familie von Addierern bauen - Chips, die Zahlen addieren können. Dann werden wir einen großen Schritt nach vorne machen und eine Arithmetic Logic Unit bauen. Die ALU, die für eine ganze Reihe von arithmetischen und logischen Operationen ausgelegt ist, ist das rechnende Gehirn des Computers. Im weiteren Verlauf des Kurses werden wir diese ALU als Kernstück des Chips verwenden, aus dem wir die Central Processing Unit (CPU) des Computers bauen werden. Da alle diese Chips mit binären Zahlen (0 und 1) arbeiten, werden wir dieses Modul mit einem allgemeinen Überblick über die binäre Arithmetik beginnen und uns erst dann mit dem Aufbau der ALU beschäftigen.

Das ist alles enthalten

6 Videos1 Lektüre1 Programmieraufgabe

Nachdem wir die ALU des Computers gebaut haben, wenden wir uns in diesem Modul dem Aufbau des Hauptspeichers zu, der auch als Random Access Memory (RAM) bezeichnet wird. Dies geschieht schrittweise von unten nach oben, von elementaren Flip-Flop-Gattern über Ein-Bit-Register und n-Bit-Register bis hin zu einer Familie von RAM-Chips. Im Gegensatz zu den Verarbeitungschips des Computers, die auf kombinatorischer Logik beruhen, erfordert die Speicherlogik des Computers eine taktbasierte sequentielle Logik. Wir beginnen mit einem Überblick über diesen theoretischen Hintergrund und gehen dann zum Aufbau unseres Speicherchipsets über.

Das ist alles enthalten

6 Videos1 Lektüre1 Programmieraufgabe

Ein wichtiger Aspekt bei der Entwicklung eines neuen Computersystems ist der Entwurf der einfachen Maschinensprache bzw. des Befehlssatzes, mit dem der Computer angewiesen werden kann, verschiedene Dinge zu tun. Wie sich herausstellt, kann dies geschehen, bevor der Computer selbst gebaut wird. Wir können z.B. ein Java-Programm schreiben, das den noch zu bauenden Computer emuliert, und es dann verwenden, um die Ausführung von Programmen zu emulieren, die in der neuen Maschinensprache geschrieben wurden. Solche Experimente können uns einen guten Eindruck vom "Look and Feel" des neuen Computers vermitteln und zu Entscheidungen führen, die sowohl das Hardware- als auch das Sprachdesign verändern und verbessern können. Mit einem ähnlichen Ansatz gehen wir in diesem Modul davon aus, dass der Hack-Computer und die Maschinensprache bereits gebaut wurden, und schreiben einige Low-Level-Programme mit der Hack-Maschinensprache. Anschließend werden wir einen mitgelieferten CPU-Emulator (ein Computerprogramm) verwenden, um unsere Programme zu testen und auszuführen. Auf diese Weise erhalten Sie einen Vorgeschmack auf die Low-Level-Programmierung und einen soliden praktischen Überblick über die Hack-Computerplattform.

Das ist alles enthalten

10 Videos1 Lektüre1 Programmieraufgabe

Lassen Sie uns die letzten vier Module rekapitulieren: Wir haben einige elementare Logikgatter gebaut (Modul 1) und diese dann verwendet, um eine ALU (Modul 2) und ein RAM (Modul 3) zu bauen. Dann haben wir mit Low-Level-Programmierung gespielt (Modul 4), wobei wir davon ausgegangen sind, dass der gesamte Computer tatsächlich verfügbar ist. In diesem Modul fügen wir all diese Bausteine zu einem 16-Bit-Allzweckcomputer namens Hack zusammen. Wir beginnen mit dem Bau der Hack Central Processing Unit (CPU) und integrieren dann die CPU mit dem RAM, um ein vollwertiges Computersystem zu schaffen, das in der Lage ist, in der Hack-Maschinensprache geschriebene Programme auszuführen.

Das ist alles enthalten

6 Videos1 Lektüre1 Programmieraufgabe

Jeder Computer verfügt über eine binäre Maschinensprache, in der Befehle als Reihen von 0en und 1en geschrieben werden, und eine symbolische Maschinensprache, auch Assemblersprache genannt, in der Befehle mit Hilfe von menschenfreundlichen Mnemonics ausgedrückt werden. Beide Sprachen tun genau das Gleiche und sind völlig gleichwertig. Aber das Schreiben von Programmen in Assembler ist viel einfacher und sicherer als das Schreiben in Binärsprache. Um diesen Luxus genießen zu können, muss jemand unsere symbolischen Programme in Binärcode übersetzen, der auf dem Zielcomputer unverändert ausgeführt werden kann. Diese Übersetzungsleistung wird von einem Agenten erbracht, der Assembler genannt wird. Bei dem Assembler kann es sich entweder um eine Person handeln, die die Übersetzung manuell vornimmt, oder um ein Computerprogramm, das diesen Prozess automatisiert. In diesem Modul und dem Abschlussprojekt des Kurses lernen wir, wie man einen Assembler erstellt. Insbesondere werden wir die Fähigkeit entwickeln, symbolische Hack-Programme in Binärcode zu übersetzen, der auf der Hack-Plattform direkt ausgeführt werden kann. Jeder von Ihnen kann dieses Kunststück auf zwei verschiedene Arten vollbringen: Sie können entweder einen Assembler mit Hilfe einer Hochsprache implementieren oder Sie können den Betrieb des Assemblers mit Papier und Bleistift simulieren. In beiden Fällen geben wir Ihnen detaillierte Anleitungen, wie Sie Ihre Arbeit durchführen können.

Das ist alles enthalten

8 Videos1 Lektüre1 Programmieraufgabe

Dozenten

Lehrkraftbewertungen
4.9 (795 Bewertungen)
Shimon Schocken

TOP-LEHRKRAFT

Hebrew University of Jerusalem
2 Kurse236.154 Lernende
Noam  Nisan

TOP-LEHRKRAFT

Hebrew University of Jerusalem
1 Kurs213.822 Lernende

von

Empfohlen, wenn Sie sich für Algorithmen interessieren

Warum entscheiden sich Menschen für Coursera für ihre Karriere?

Felipe M.
Lernender seit 2018
„Es ist eine großartige Erfahrung, in meinem eigenen Tempo zu lernen. Ich kann lernen, wenn ich Zeit und Nerven dazu habe.“
Jennifer J.
Lernender seit 2020
„Bei einem spannenden neuen Projekt konnte ich die neuen Kenntnisse und Kompetenzen aus den Kursen direkt bei der Arbeit anwenden.“
Larry W.
Lernender seit 2021
„Wenn mir Kurse zu Themen fehlen, die meine Universität nicht anbietet, ist Coursera mit die beste Alternative.“
Chaitanya A.
„Man lernt nicht nur, um bei der Arbeit besser zu werden. Es geht noch um viel mehr. Bei Coursera kann ich ohne Grenzen lernen.“

Bewertungen von Lernenden

4.9

3.618 Bewertungen

  • 5 stars

    93,03 %

  • 4 stars

    5,74 %

  • 3 stars

    0,55 %

  • 2 stars

    0,16 %

  • 1 star

    0,49 %

Zeigt 3 von 3618 an

JJ
5

Geprüft am 6. Mai 2020

LW
5

Geprüft am 28. Mai 2019

MK
5

Geprüft am 12. Aug. 2022

Platzhalter

Neue Karrieremöglichkeiten mit Coursera Plus

Unbegrenzter Zugang zu 10,000+ Weltklasse-Kursen, praktischen Projekten und berufsqualifizierenden Zertifikatsprogrammen - alles in Ihrem Abonnement enthalten

Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.

Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online

Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.

Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.

Häufig gestellte Fragen