Questions


C. C.
Diese Lernkarten bieten einen umfassenden Überblick über die Architektur von Computern und Netzwerken auf Universitätsniveau. Sie decken Themen wie Prozesse, Adressen, Pakete, Programme und Speicher ab, wobei auch spezifische Komponenten wie Cache, BIOS, FPU und Chipsätze behandelt werden. Die Karteikarten sind besonders nützlich für Studierende der Informatik, die sich mit den grundlegenden Konzepten und Funktionsweisen von Computersystemen vertraut machen möchten.
Karten
337
Lernende
3
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
27.01.2017 / 25.02.2020

Lernkarten

Was ist ein Hauptunterschied der Harvard Architektur im Vergleich mit der Von Neumann Architektur?

Harvard Architektur:

- separate Speicher für Befehle und Daten
- Rechenwerk wird parallel mit Daten und Befehlen gefüllt
- Befehle und zugehörige Daten in einem Taktzyklus ins Rechenwerk laden (Von-Neumann Architektur: mindestens zwei Taktzyklen nötig)
- Synchrones Laden auch mit mehreren Rechenwerken möglich

Weil Programm-und Datenspeicher über getrennte Busse angesteuert werden, kann (echt) gleichzeitig zugegriffen werden.

Nennen zwei Einheiten für Benchmarks

  • MIPS
  • Flops / MFlops/GFlops
  • TPS
  • MCUPS

Nennen Sie zwei Benchmark Programme

Spec(int, fp), Whetstone, Dhrystone, Linpack, Perfect-Club, Slalom

Was versteht man unter Pipelining?

Fetch, Decode, Execute Parallel ausführen.

Skizzieren Sie eine superskalare Rechnerarchitektur.

Dual five-stage pipelines with a common instruction fetch unit.

A superscalar processor with five functional units.

A superscalar processor with five functional units.

Was versteht man unter einem Big-Endian?

die höheren Stellen kommen zuerst:

1 Hunderter - 2 Zehner - 3 Einer

Dieses Programm zeigt ein Lauflicht am Ausgabe-Port (OUT):

Das Lauflicht ist ein einzelnes gesetztes Bit, das stetig von unten nach oben wandert, wenn es oben rausrutscht, wird es unten wieder eingefügt.

Gesucht:
a) Struktogramm
b) Assemblerprogramm
c) Maschinenprogramm

siehe Bild

Anforderungen:

Das Programm stellt bei einer eingegebenen Zahl (IN) fest, ob diese gerade oder ungerade ist.

- Ist die Zahl gerade, lautet die Ausgabe (OUT): 0000
- Ist die Zahl ungerade, lautet die Ausgabe (OUT): 1111

Gesucht:
a) Struktogramm
b) Assemblerprogramm
c) Maschinenprogramm

siehe Bild

Analysieren Sie folgenden Maschinencode. Was passiert mit der Eingabe (IN)?

siehe Bild

Analysieren Sie folgenden Maschinencode. Was für Ausgabe-Folgen (OUT) resultieren in Abhängigkeit eines bestimmten Eingabe-Wertes (IN)? Können Sie das Ergebnis nachvollziehen?

siehe Bild

Was beinhaltet die Basisinformation eines Maschinenbefehles?

siehe Bild

Wohin zeigt der Programm Counter?

Auf den nächsten auszuführenden Befehl.

Zu welchem Maschinentyp gehört der Maschinenbefehl MOV r2, adr ?

Zweiadressbefehle

Welcher Wert steht nach Ausführung des Programmabschnitts im Akkumulator A?

 

($ bedeutet Hex)

Was bedeutet LADE Akkumulator A mit $7F

Der Wert welcher an Adresse $7F gespeichert ist in den Akkumulator laden.

Benennen Sie einige Aufgaben, die oft mit Stack gelöst werden?

  • Ausführung von Unterprogrammen (Rücksprungadresse sichern)
  • Parameterübergabe
  • Resultatrückgabe
  • Zwischenspeicher
  • Interrupt-Behandlung

Warum wird bei einem Unterprogrammaufruf die Rücksprungadresse auf den Stack gelegt?

Die Unterprogramme können von verschiedenen Orten aus aufgerufen werden, die Rücksprung-Adresse ist somit immer unterschiedlich.

Was ist der Unterschied zwischen einem Unterprogrammaufruf und einem Interrupt?

Ein Interrupt kann nicht kontrolliert werden. Er wird von „Extern“ aufgerufen.

Kann bei einem mit 5 Werten belegten Stack auch direkt auf den 2. Wert zugegriffen werden?

Nein.

Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine.

Folie 5, rechte Seite

Welche Grundlegenden Operationsarten gibt es bei den Maschinenbefehlen?

  • MOVE Daten herumscheiben (lesen, schreiben)
  • Programm Ablauf Steuerung (Brunch, Jump)
  • Rechnen (Arithmetisch & Logisch)

Skizzieren Sie einen Drei-Adress Befehl.

ADD adr1, adr2, adr (adr1 + adr2 in adr3 speichern)

Beschreiben Sie mit einer Skizze und ein paar Stichworten, was folgende zwei Adressierungsarten bedeuten: absolute Adressierung und unmittelbare Adressierung

  • Absolute Adressierung: Wert steht an Adresse: LDA 7 (Lade Akku A mit dem Wert welcher an Adresse 7 steht)
  • Unmittelbare Adressierung: Wert steht direkt beim Befehl: LDA #7 (Lade Akku A mit dem Wert 7)

Wozu dient der Instruction Pointer? Wie nenn man ihn auch noch?

ProgramCounter, zeigt auf den nächsten auszuführenden Befehl

Wozu kann ein Stack verwendet werden?

Rücksprung Adresse sichern, Parameter Wert übergeben, Zwischenspeicher

Wozu wird ein Cache verwendet?

Schneller Zwischenspeicher

Was ist ein Mikrocontroller?

Als Mikrocontroller (auch μController, μC, MCU) werden Halbleiterchips bezeichnet, die mit dem Prozessor mindestens Peripheriefunktionen auf einem Chip vereinen. In vielen Fällen befindet sich der Arbeits- und Programmspeicher ebenfalls teilweise oder komplett auf dem gleichen Chip. Ein Mikrocontroller ist praktisch ein Ein-Chip-Computersystem. Für manche Mikrocontroller wird auch der Begriff System on a Chip oder SoC verwendet.

Auf modernen Mikrocontrollern finden sich häufig auch komplexe Peripheriefunktionen wie z. B. CAN- (Controller Area Network), LIN- (Local Interconnect Network), USB- (Universal Serial Bus), I²C- (Inter-Integrated Circuit), SPI- (Serial Peripheral Interface), serielle oder Ethernet-Schnittstellen, PWM-Ausgänge, LCD-Controller und -treiber und Analog-Digital-Wandler. Einige Mikrocontroller verfügen auch über programmierbare digitale und/oder analoge Funktionsblöcke.

Um welche Architektur handelt es sich bei diesem Mikrocontroller?

Weil es nur einen Datenbus für Befehl und Daten gibt ist es eine „Von Neumann“ Architektur

a) Wie lautet die binäre Darstellung der Mnemonischen Codes RTS?
b) Welche Funktion führt dieses "Mnemonic" aus?
c) Mit welchen Adressierungsarten kann ADD verwendet werden? Geben Sie dazu zwei Beispiele

siehe Bild

Wie viele Register weist der M68HC05 auf? Benennen Sie alle Register mit Ihrer Abkürzung.

5 Register

Wozu könnte das Register mit dem Namen "Index Register" nützlich sein?

Hilfsregister, Schleifenzähler mit mehr als 8 Bit (Akku genügt nicht mehr), Indexieren einer Tabelle

 Wie lautet der binäre Code des Befehls RSP? (Instruction Set)

0x9C

 Wie lautet der binäre Code des Befehls  des Befehls LDA? Was fällt Ihnen dabei auf? (Instruction Set)

0xA6, 0xB6, 0xC6, 0xD6, 0xE6, 0xF6

Verschiedene Adressierungs-Möglichkeiten

Im folgenden Programmabschnitt wird ein Wert in den Akkumulator A eingelesen. Aus welcher Adresse wird der Wert gelesen? Wie heisst die Adressierungsart?

0x05 wird in den Akku geladen, unmittelbare Adressierung (immediate). Der Wert wird aus der Adresse 103 gelesen.

Im folgenden Programmabschnitt wird ein Wert in den Akkumulator A eingelesen. Aus welcher Adresse wird der Wert gelesen? Wie heisst die Adressierungsart?

Der Wert aus der Adresse 0x05, absolute / direkte Adressierung

Folgendes Programm wird von START bis END abgearbeitet. Welche Zahl steht am Schluss in der Speicherzelle $00FF?

Es steht noch immer die letzte Rücksprungadresse im Stack: 0107

Wie gross ist die maximale Schachtelungstiefe für Subroutinen? Geben Sie allfällige Randbedingungen genau an.

  • Bis der StackPointer überläuft. Je nach Init 32 resp. 64 Locations (Adressen)
  • Stackgrösse ist 64Bit
  • Jeder Subroutine Aufruf belegt zwei 8-bit Speicherzellen (JSR Beschreibung Seite 261)
  • Keine Interrupts, weil diese auch Stack brauchen.

Benennen Sie einige Aufgaben, die oft mit Stack gelöst werden?

  • Ausführung von Unterprogrammen (Rücksprungadresse sichern)
  • Parameterübergabe
  • Resultatrückgabe
  • Zwischenspeicher
  • Interrupt-Behandlung

JVM: Wo werden lokale Variablen „versorgt“?

Auf dem Stack.

Lernen