Digitale elektronische Systeme - Exam.pdf

Digitale elektronische Systeme - Exam
Digitale elektronische Systeme - Exam Aufgabe 1) Boolesche Algebra und logische Operatoren: Boolesche Algebra ist ein Zweig der Mathematik, der sich mit den Operationen auf Wahrheitswerten (logischen Werten) befasst. Logische Operatoren werden verwendet, um boolesche Ausdrücke zu manipulieren. Grundoperationen: UND (AND), ODER (OR), NICHT (NOT) Wahrheitstabellen zur Darstellung der Operatoren: UND...

© StudySmarter 2024, all rights reserved.

Digitale elektronische Systeme - Exam

Aufgabe 1)

Boolesche Algebra und logische Operatoren:Boolesche Algebra ist ein Zweig der Mathematik, der sich mit den Operationen auf Wahrheitswerten (logischen Werten) befasst. Logische Operatoren werden verwendet, um boolesche Ausdrücke zu manipulieren.

  • Grundoperationen: UND (AND), ODER (OR), NICHT (NOT)
  • Wahrheitstabellen zur Darstellung der Operatoren:
  • UND (AND)
    ABA ∧ B
    000
    010
    100
    111
  • ODER (OR)
    ABA ∨ B
    000
    011
    101
    111
  • NICHT (NOT)
    A¬A
    01
    10
  • Gesetze der Booleschen Algebra: Idempotenz, Involution, Komplement, Assoziativität, Distributivität, De Morgan
  • Anwendung in Schaltungstechnik und digitale Logik

b)

Beweise das Distributivgesetz der Booleschen Algebra: \(A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)\). Erkläre jeden Schritt und nutze hierbei die Definitionen der Grundoperationen.

Lösung:

Boolesche Algebra und logische Operatoren:Boolesche Algebra ist ein Zweig der Mathematik, der sich mit den Operationen auf Wahrheitswerten (logischen Werten) befasst. Logische Operatoren werden verwendet, um boolesche Ausdrücke zu manipulieren.

  • Grundoperationen: UND (AND), ODER (OR), NICHT (NOT)
  • Wahrheitstabellen zur Darstellung der Operatoren:
  • UND (AND)
    ABA ∧ B
    000
    010
    100
    111
  • ODER (OR)
    ABA ∨ B
    000
    011
    101
    111
  • NICHT (NOT)
    A¬A
    01
    10
  • Gesetze der Booleschen Algebra: Idempotenz, Involution, Komplement, Assoziativität, Distributivität, De Morgan
  • Anwendung in Schaltungstechnik und digitale Logik
Beweise das Distributivgesetz der Booleschen Algebra:\(A \land (B \lor C) = (A \land B) \lor (A \land C)\).Erkläre jeden Schritt und nutze hierbei die Definitionen der Grundoperationen:Um das Distributivgesetz zu beweisen, können wir Wahrheitstabellen für beide Seiten der Gleichung erstellen und zeigen, dass sie für alle möglichen Werte von A, B und C gleiche Ergebnisse liefern.
  • Wahrheitstabelle für \(A \land (B \lor C)\):
    ABCB ∨ CA ∧ (B ∨ C)
    00000
    00110
    01010
    01110
    10000
    10111
    11011
    11111
  • Wahrheitstabelle für \((A ⋅ B) ∨ (A ⋅ C)\):
    ABCA ∧ BA ∧ C(A ∧ B) ∨ (A ∧ C)
    000000
    001000
    010000
    011000
    100000
    101011
    110101
    111111
  • Ein Vergleich der beiden Wahrheitstabellen zeigt, dass die Werte in der Spalte für \(A \land (B \lor C)\) und \((A \land B) \lor (A \land C)\) für alle Kombinationen der Wahrheitswerte der Variablen A, B und C identisch sind. Daher haben wir gezeigt, dass \(A \land (B \lor C) = (A \land B) \lor (A \land C)\).

Aufgabe 2)

Minimierung von booleschen Funktionen mit Karnaugh-Veitch-DiagrammenDie Minimierung von booleschen Funktionen ist ein grundlegender Aspekt der digitalen elektronischen Systeme. Eine effektive Methode zur Vereinfachung dieser Funktionen ist die Verwendung von Karnaugh-Veitch-Diagrammen. Diese grafische Technik ermöglicht es, die Anzahl der logischen Gatter zu reduzieren und somit effizientere Schaltungen zu entwerfen. In dieser Aufgabe beschäftigen wir uns mit der Minimierung einer gegebenen booleschen Funktion durch das Anwenden dieser Methode und beziehen uns dabei auf folgende Regeln:

  • Reduziert Anzahl der logischen Gatter.
  • 4x4-Diagramme für Funktionen bis zu 4 Variablen; größere Diagramme für mehr Variablen.
  • Gruppierung von 1ern (oder 0ern) in Zweierpotenzen (1, 2, 4, 8, ...).
  • Jede Gruppe repräsentiert einen vereinfachten Teilterm.
  • Beachte Überlappungen, um die minimalste Form zu erreichen.

a)

Teilaufgabe 1:Zeichne das Karnaugh-Veitch-Diagramm für die folgende boolesche Funktion und trage alle Einsen ein: F(A, B, C, D) = \text{Sum}(0, 1, 2, 5, 8, 9, 10, 11, 14, 15)

Lösung:

Teilaufgabe 1:Um das Karnaugh-Veitch-Diagramm (K-Map) für die gegebene boolesche Funktion F(A, B, C, D) = \text{Sum}(0, 1, 2, 5, 8, 9, 10, 11, 14, 15) zu zeichnen und alle Einsen einzutragen, befolge die folgenden Schritte:

  • K-Map Aufbau:Das K-Map für vier Variablen (A, B, C, D) ist ein 4x4-Raster, in dem jede Zelle eine bestimmte Kombination der Variablen repräsentiert. Hier ist das leere K-Map-Raster:
CD = 00CD = 01CD = 11CD = 10
AB = 000011
AB = 010100
AB = 110011
AB = 101111
  • Minterme eintragen:Fülle das K-Map mit den Einsen an den Positionen der Minterme (0, 1, 2, 5, 8, 9, 10, 11, 14, 15). Hier sind die Positionen der Minterme:
  • Minterm 0 (ABCD: 0000) - oben links
  • Minterm 1 (ABCD: 0001) - zweite Zelle von links in der oberen Reihe
  • Minterm 2 (ABCD: 0010) - vierte Zelle von links in der oberen Reihe
  • Minterm 5 (ABCD: 0101) - zweite Zelle von links in der zweiten Reihe
  • Minterm 8 (ABCD: 1000) - erste Zelle in der letzten Reihe
  • Minterm 9 (ABCD: 1001) - zweite Zelle von links in der letzten Reihe
  • Minterm 10 (ABCD: 1010) - dritte Zelle von links in der letzten Reihe
  • Minterm 11 (ABCD: 1011) - vierte Zelle von links in der letzten Reihe
  • Minterm 14 (ABCD: 1110) - dritte Zelle von links in der dritten Reihe
  • Minterm 15 (ABCD: 1111) - vierte Zelle von links in der dritten Reihe
K-Map mit Einsen:Das ausgefüllte K-Map sieht wie folgt aus:
CD = 00CD = 01CD = 11CD = 10
AB = 001101
AB = 010100
AB = 110011
AB = 101111

d)

Teilaufgabe 4:Vergleiche die vereinfachte boolesche Funktion mit der ursprünglichen. Berechne die Anzahl der logischen Gatter, die in beiden Schaltungen benötigt werden, und erkläre, wie viel effizienter die vereinfachte Schaltung ist. Begründe mathematisch deinen Vergleich.

Lösung:

Teilaufgabe 4:Um die Effizienz der vereinfachten booleschen Funktion im Vergleich zur ursprünglichen Funktion zu bewerten, müssen wir die Anzahl der logischen Gatter zählen, die in beiden Schaltungen benötigt werden. Für die Berechnung betrachten wir die Anzahl der AND-, OR- und NOT-Gatter.1. **Ursprüngliche boolesche Funktion**: Angenommen, die ursprüngliche boolesche Funktion ist gegeben durch Summe der minterme: F(A, B, C, D) = \text{Sum}(0, 1, 2, 5, 8, 9, 10, 11, 14, 15). Zur Vereinfachung nehmen wir an, dass die ursprüngliche Funktion direkt durch die Summe der minterms umgesetzt wäre. Dies entspricht der verschachtelten Summe aus den jeweiligen minterms:\[ F(A, B, C, D) = m_0 + m_1 + m_2 + m_5 + m_8 + m_9 + m_10 + m_11 + m_14 + m_15 \]Jeder minterm m ist ein Produkt (AND) von vier Variablen oder deren Komplement und benötigt daher vier AND-Gatter und möglicherweise bis zu vier NOT-Gatter. Für 10 minterme wären somit:

  • AND-Gatter: 4 (pro minterm) \( \times 10 = 40 \)
  • OR-Gatter: 9 (um diese 10 minterms zu ergänzen)
  • NOT-Gatter: 4 (pro minterm) \( \times 10 = 40 \)
2. **Vereinfachte boolesche Funktion**:Die vereinfachte boolesche Funktion lautet:\[ F(A, B, C, D) = \overline{A} + \overline{C}D + \overline{B}\overline{D} + \overline{B}C \]Nun berechnen wir die benötigten Gatter für die vereinfachte Funktion:
  • Term \( \overline{A} \): 1 NOT-Gatter
  • Term \( \overline{C}D \): 1 NOT-Gatter, 1 AND-Gatter
  • Term \( \overline{B}\overline{D} \): 2 NOT-Gatter, 1 AND-Gatter
  • Term \( \overline{B}C \): 1 NOT-Gatter, 1 AND-Gatter
Summe der benötigten Gatter:
  • AND-Gatter: 4
  • OR-Gatter: 3 (um alle vier Terme zu kombinieren)
  • NOT-Gatter: 5
3. **Vergleich der Gatterzahlungen**:Vergleicht man die Anzahl der logischen Gatter, so ergibt sich:
  • Ursprüngliche Funktion: 40 AND + 9 OR + 40 NOT = 89 Gatter
  • Vereinfachte Funktion: 4 AND + 3 OR + 5 NOT = 12 Gatter
4. **Effizienzberechnung**:Der Gattereinsparungssatz ergibt sich aus der Differenz der Gatteranzahl zwischen der ursprünglichen und der vereinfachten Funktion:Anzahl der eingesparten Gatter:\[ 89 - 12 = 77 \]Effizienzsteigerung:\[ \frac{77}{89} * 100 \approx 86.52 % \]**Zusammenfassung**:Die vereinfachte boolesche Funktion benötigt etwa 86.52% weniger logische Gatter im Vergleich zur ursprünglichen Funktion. Dies führt zu erheblich effizienteren digitalen Schaltungen, was kleiner Baugrößen und niedrigere Energiekosten zur Folge hat.

Aufgabe 3)

  • SRAM (statisches RAM): Speichert Daten mittels Flip-Flops, benötigt keine Auffrischung, schneller, teurer, geringere Kapazität.
  • DRAM (dynamisches RAM): Speichert Daten in Kondensatoren, benötigt regelmäßige Auffrischung, langsamer, günstiger, höhere Kapazität.
  • DRAM Refresh Rate: \text{Periodizität} \text{(Schreiben/Lesezyklen)}
  • Speicherzugriffszeiten und Energiesverbrauch beachten.

a)

Vergleiche SRAM und DRAM. Erläutere die Hauptunterschiede zwischen SRAM und DRAM hinsichtlich Speicherung, Geschwindigkeit und Kosten. Warum ist SRAM schneller als DRAM? Welche Konsequenzen hat dies für den Einsatz in verschiedenen Anwendungen?

Lösung:

  • SRAM (statisches RAM): Speichert Daten mittels Flip-Flops, benötigt keine Auffrischung, schneller, teurer, geringere Kapazität.
  • DRAM (dynamisches RAM): Speichert Daten in Kondensatoren, benötigt regelmäßige Auffrischung, langsamer, günstiger, höhere Kapazität.
  • DRAM Refresh Rate: \text{Periodizität} \text{(Schreiben/Lesezyklen)}
  • Speicherzugriffszeiten und Energiesverbrauch beachten.
Vergleiche SRAM und DRAM
  • Speicherung:SRAM speichert Daten mittels Flip-Flops, die eine stabile, konstante Speicherung ohne zusätzliche Erfrischung benötigen. DRAM hingegen speichert Daten in Kondensatoren, die regelmäßig aufgefrischt werden müssen, damit die gespeicherten Informationen nicht verloren gehen.
  • Geschwindigkeit:SRAM ist schneller als DRAM. Dies liegt daran, dass SRAM auf Flip-Flops basiert, die sofortigen Datenzugriff ermöglichen. DRAM benötigt hingegen zusätzliche Zeit für die Auffrischung der Kondensatoren und hat somit längere Latenzzeiten.
  • Kosten:SRAM ist teurer als DRAM. Die Herstellung von SRAM-Chips ist aufwendiger und benötigt mehr Platz, was sich in höheren Kosten niederschlägt. DRAM ist aufgrund der einfacheren Struktur der Speicherzellen günstiger.
Warum ist SRAM schneller als DRAM?SRAM nutzt Flip-Flops zur Datenspeicherung, die sofortigen und direkten Zugriff auf die gespeicherten Daten ermöglichen. Diese Struktur ist sehr schnell, da keine zusätzlichen Schritte wie Auffrischungen erforderlich sind. DRAM speichert Daten in Kondensatoren, welche regelmäßig aufgefrischt werden müssen, um die Daten zu erhalten. Diese Auffrischungsvorgänge erhöhen die Zugriffszeiten und reduzieren somit die Geschwindigkeit des DRAM.Konsequenzen für den Einsatz in verschiedenen Anwendungen
  • SRAM:Aufgrund seiner hohen Geschwindigkeit wird SRAM häufig in Anwendungen eingesetzt, die einen schnellen Zugriff auf Daten erfordern, wie z.B. Cache-Speicher in Prozessoren. Da SRAM jedoch teurer und kapazitätsmäßig beschränkter ist, wird es meist in kleineren Mengen verwendet.
  • DRAM:Aufgrund seiner höheren Kapazität und geringeren Kosten wird DRAM häufig in Hauptspeichern (RAM) von Computern und anderen elektronischen Geräten eingesetzt. Obwohl es langsamer ist, eignet es sich wegen der größeren Kapazität gut für Anwendungen, die große Datenmengen verwalten müssen.

b)

Gegeben sei ein DRAM-Modul mit einer Refresh-Rate von 64 ms und einer Kapazität von 4 GB.

  • Berechne die Anzahl der Schreib-/Lese-Zyklen innerhalb einer Sekunde.
  • Diskutiere, wie eine Änderung der Refresh-Rate den Energieverbrauch des Moduls beeinflussen könnte.
Nutze gegebenenfalls relevante Formeln und erkläre Deine Berechnungen und Annahmen ausführlich.

Lösung:

Gegeben sei ein DRAM-Modul mit einer Refresh-Rate von 64 ms und einer Kapazität von 4 GB

  • SRAM (statisches RAM): Speichert Daten mittels Flip-Flops, benötigt keine Auffrischung, schneller, teurer, geringere Kapazität.
  • DRAM (dynamisches RAM): Speichert Daten in Kondensatoren, benötigt regelmäßige Auffrischung, langsamer, günstiger, höhere Kapazität.
  • DRAM Refresh Rate: Periodizität (Schreiben/Lesezyklen)
  • Speicherzugriffszeiten und Energieverbrauch beachten.

Unteraufgaben

  • Anzahl der Schreib-/Lese-Zyklen innerhalb einer Sekunde berechen

Zuerst bestimmen wir die Anzahl der möglichen Schreib-/Lesezyklen innerhalb einer Sekunde basierend auf der Refresh-Rate. Wenn die Refresh-Rate 64 ms beträgt, bedeutet das, dass alle 64 ms die Kondensatoren aufgefrischt werden müssen.

Die Anzahl der Zyklen pro Sekunde ergibt sich wie folgt:

Formel:

\text{Anzahl der Zyklen pro Sekunde} = \frac{1 \text{ Sekunde}}{64 \text{ ms}}

Wir müssen umrechnen:

64 \text{ ms} = 0.064 \text{ Sekunden}

Die Anzahl der Zyklen pro Sekunde berechnen wir dann wie folgt:

\frac{1}{0.064} = 15.625 \text{ Zyklen/Sekunde}

Das bedeutet, dass das DRAM-Modul alle 64 ms eine Auffrischung benötigt und somit 15.625 Schreib-/Lesezyklen pro Sekunde durchführt.

  • Diskussion: Wie eine Änderung der Refresh-Rate den Energieverbrauch des Moduls beeinflussen könnte

Die Refresh-Rate beeinflusst den Energieverbrauch des DRAM-Moduls erheblich. Hier sind einige Punkte, die berücksichtigt werden sollten:

Niedrigere Refresh-Rate (höhere Periodizität)

  • Erhöht die Häufigkeit der Auffrischung
  • Erhöhter Energieverbrauch aufgrund häufiger Auffrischungsvorgänge
  • Kann zu höheren Temperaturen führen
  • Könnte die Lebensdauer des Moduls durch den höheren Energieverbrauch und die erhöhte Wärmeentwicklung verringern

Höhere Refresh-Rate (niedrigere Periodizität)

  • Reduziert die Häufigkeit der Auffrischung
  • Verringerter Energieverbrauch aufgrund weniger häufiger Auffrischungsvorgänge
  • Kann zu niedrigerer Temperatur und eventuell verbesserten Betriebsbedingungen führen
  • Könnte die Lebensdauer des Moduls verlängern durch den reduzierten Energieverbrauch und die geringere Wärmeentwicklung

Zusammenfassend beeinflusst die Refresh-Rate den Energieverbrauch des DRAM-Moduls direkt. Eine Erhöhung der Refresh-Rate (d.h. selteneres Auffrischen) könnte den Energieverbrauch verringern und möglicherweise die Effizienz und Lebensdauer des Moduls verbessern. Eine zu niedrige Refresh-Rate könnte jedoch das Risiko des Datenverlusts erhöhen, da die Kondensatoren ihre Ladung verlieren könnten, bevor sie erneuert werden.

Aufgabe 4)

Pipeline und Superskalare Architekturen: Ein moderner Prozessor nutzt Pipeline- und superskalare Architekturen, um die Leistung zu maximieren. In einer Pipeline-Architektur wird der Arbeitsablauf in unabhängige Schritte unterteilt und parallel ausgeführt. In superskalaren Architekturen können mehrere Instruktionen pro Taktzyklus ausgeführt werden. Dabei kommen verschiedene Pipeline-Stufen zum Einsatz, wie Fetch, Decode, Execute, Memory und Writeback. Diese Stufen können unterschiedliche Arten von Hazards verursachen: Daten-Hazards, Struktur-Hazards und Kontroll-Hazards. Out-of-Order Execution wird genutzt, um Stalls zu vermeiden und den Instruktion-Level Parallelism (ILP) zu erhöhen. Prozessor-Register und Befehlsfenster spielen eine wichtige Rolle bei der Verwaltung und Ausführung dieser Operationen.

a)

Beschreibe die fünf Pipeline-Stufen (Fetch, Decode, Execute, Memory, Writeback) eines modernen Prozessors und erkläre die jeweiligen Aufgaben jeder Stufe. Verdeutliche, welche Arten von Hazards in jeder Pipeline-Stufe auftreten können und wie diese das gesamte System beeinflussen könnten.

Lösung:

  • Fetch: In dieser Stufe wird die nächste Instruktion aus dem Speicher (meist aus dem Instruktions-Cache) geholt und in das Instruktionsregister geladen. Hazards:
    • Struktur-Hazards: Diese können auftreten, wenn der Zugriff auf den Speicher blockiert ist, z. B. wenn derselbe Speicherzugriff für eine andere Operation benutzt wird.
    • Kontroll-Hazards: Diese kommen vor, wenn die nächste zu holende Adresse unklar ist, wie bei Bedingungssprüngen.
  • Decode: Hier wird die geholte Instruktion dekodiert, und die erforderlichen Operanden werden identifiziert. Dies beinhaltet auch den Zugriff auf Register, um die Operanden zu lesen. Hazards:
    • Daten-Hazards: Diese treten auf, wenn erforderliche Daten noch nicht bereit stehen, weil sie in vorherigen Instruktionen noch nicht geschrieben wurden.
    • Struktur-Hazards: Diese können auch hier auftreten, wenn mehrere Instruktionen gleichzeitig auf dieselben Register zugreifen wollen.
  • Execute: In dieser Phase werden die eigentlichen Befehle ausgeführt. Dies kann arithmetische Operationen, logische Operationen oder Adressberechnungen beinhalten. Hazards:
    • Daten-Hazards: Diese treten häufig auf, wenn Daten von vorherigen Instruktionen noch nicht zur Verfügung stehen.
  • Memory: Hier werden Speicherzugriffe durchgeführt, um Daten entweder aus dem Speicher zu laden oder in den Speicher zu schreiben. Hazards:
    • Struktur-Hazards: Diese könnten auftreten, wenn der Speicher bereits durch andere Operationen blockiert ist.
    • Daten-Hazards: Diese entstehen, wenn Speicheroperationen von den Ergebnissen vorheriger Befehle abhängen, die noch nicht abgeschlossen sind.
  • Writeback: In der letzten Stufe werden die Ergebnisse der Instruktion in die Register zurückgeschrieben. Hazards:
    • Daten-Hazards: Diese können auftreten, wenn eine spätere Instruktion versucht, auf das Ergebnis zuzugreifen, bevor es geschrieben wurde.

Einfluss von Hazards auf das System:Daten-, Struktur- und Kontroll-Hazards können das Gesamtsystem beeinflussen, indem sie zu Verzögerungen (Stalls) führen, die den Durchsatz der Pipeline verringern und somit die Leistung des Prozessors mindern. Out-of-Order Execution und spezielle Algorithmen zum Hazard-Management wie Forwarding (Datenweiterleitung) und Branch Prediction (Sprungvorhersage) werden genutzt, um diese Probleme zu mildern und eine effizientere Nutzung der Pipeline zu gewährleisten.

b)

Ein superskalarer Prozessor führt seine Instruktionen mit zwei Pipelines parallel aus. Betrachte folgende Abfolge von Instruktionen:

  • Instr 1: ADD R1, R2, R3
  • Instr 2: LOAD R4, 100(R5)
  • Instr 3: SUB R6, R7, R8
  • Instr 4: STORE R4, 200(R1)
  • Instr 5: MUL R9, R10, R11
Konzeptualisiere, wie diese Instruktionen in zwei Pipelines parallel ausgeführt werden könnten, indem du die verschiedenen Typen von Hazards identifizierst und beschreibst, wie Out-of-Order Execution vorhanden sein könnte. Veranschauliche mögliche Pipeline-Diagramme und berechne die Anzahl an benötigten Taktzyklen, um alle Instruktionen komplett auszuführen.

Lösung:

Um die Ausführung der gegebenen Instruktionen auf einem superskalaren Prozessor mit zwei parallelen Pipelines zu beschreiben, betrachten wir die möglichen Pipeline-Diagramme und identifizieren die entsprechenden Hazards:

  • Instruktionen :
    • Instr 1: ADD R1, R2, R3
    • Instr 2: LOAD R4, 100(R5)
    • Instr 3: SUB R6, R7, R8
    • Instr 4: STORE R4, 200(R1)
    • Instr 5: MUL R9, R10, R11

Hazard-Analyse:

  • Instr 1 und Instr 4: Daten-Hazard: STORE R4, 200(R1) benötigt das Ergebnis der Instruktion ADD (R1). Daher muss die Instruktion STORE nach der Instruktion ADD ausgeführt werden, oder es muss eine Datenweiterleitung erfolgen.
  • Instr 2 und Instr 4: Daten-Hazard: STORE R4, 200(R1) benötigt das Ergebnis der Instruktion LOAD (R4). Auch hier muss die Instruktion STORE nach der Instruktion LOAD ausgeführt werden.
  • Kontroll-Hazard: Diese können bei Bedingungssprüngen relevant sein. In diesem Fall gibt es keine, da keine Sprung-Instruktionen vorhanden sind.

Pipeline-Diagramm:

Wir nehmen an, dass jede Pipeline dieselben Stufen (Fetch, Decode, Execute, Memory, Writeback) hat und dass Out-of-Order Execution sowie Forwarding möglich sind. Hier ist ein mögliches Schema:

     Taktzyklus     1  2   3   4   5  6  7  8  9P1: F  D   E   M   W  -  -  -  -P2: -  F   D   E   M  W  -  -  -P1: -  -   F   D   E  M  W  -  -P2: -  -   -   F   D  E  M  W  -P1: -  -   -   -   F  D  E  M  W

Erklärung:

  • Pipeline 1 (P1):
    • Instr 1: ADD - Wird normal durch die Pipeline geführt.
    • Instr 3: SUB - Nach der ersten Instruktion wird diese verarbeitet.
    • Instr 5: MUL - Wird nach Instruktion 3 ausgeführt.
  • Pipeline 2 (P2):
    • Instr 2: LOAD - Wird nach der ersten Instruktion in P1 gestartet.
    • Instr 4: STORE - Nach der Instruktion 2, wird diese ausgeführt, da sie auf die gleiche Pipeline wartet.

Berechnung der Taktzyklen:

  • Wenn jede Instruktion fünf Zyklen durchläuft (F, D, E, M, W):
    • Instr 1: Start in Zyklus 1, Ende in Zyklus 5
    • Instr 2: Start in Zyklus 2, Ende in Zyklus 6
    • Instr 3: Start in Zyklus 3, Ende in Zyklus 7
    • Instr 4: Start in Zyklus 4, Ende in Zyklus 8
    • Instr 5: Start in Zyklus 5, Ende in Zyklus 9

Daher werden insgesamt 9 Taktzyklen benötigt, um alle Instruktionen auszuführen.

Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden