Systemnahe Programmierung

0.0(0)
studied byStudied by 5 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/49

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

50 Terms

1
New cards

In welche drei Teile kann ein Prozessor aufgeteilt werden?

Leitwerk, Rechenwerk, Speicher

2
New cards

Welche drei Busse gibt es in einem Prozessor?

Datenbus, Adressbus, Steuerbus

3
New cards

Welcher Teil des Prozessors interpretiert Befehlsworte?

Das Leitwerk

4
New cards

Welche 3 Signale kann das Leitwerk auf dem Steuerbus erzeugen?

  • In den Speicher schreiben

  • Aus dem Speicher lesen

  • Rechenoperationen durchführen

5
New cards

Was macht der Befehlszähler?

Er indiziert das zu bearbeitende Befehlswort und wird erhöht, wenn dieses abgearbeitet wird?

6
New cards

Welche Komponenten hat ein Von-Neumann-Rechner?

Ein Rechenwerk, ein Speicherwerk, ein Leitwerk und ein Ein- & Ausgabewerk.

7
New cards

Was sind Vorteile eines VN-Rechners?

Der Speicher kann flexibel zwischen Datenspeicher und Programmspeicher aufgeteilt werden.

8
New cards

Was sind Nachteile eines VN-Rechners?

  • Befehle und Daten müssen über denselben Bus geschrieben bzw. ausgelesen werden.

  • Es hat ein komplexes Leitwerk.

  • Datenwortbreite und Befehlswortbreite sind identisch.

9
New cards

Was ist der Unterschied zwischen einem VN-Rechner und einem Harvard-Rechner.

Bei einem Harvard-Rechner sind Programmierspeicher und Daten räumlich voneinander getrennt

10
New cards

Was sind Nachteile eines Harvard-Rechners?

  • Der Datenspeicher kann nicht als Programmspeicher genutzt werden und umgekehrt

  • Der Zugriff auf Konstanten aus dem Programmcode ist komplexer

11
New cards

Was sind Vorteile eines Harvard-Rechners?

  • Befehle und Daten haben je einen eigenen Adress- und Datenbus.

  • Das Leitwerk ist einfacher.

  • Datenwortbreite und Befehlswortbreite können unterschiedlich gewählt werden.

  • Es ist oft schneller.

12
New cards

Welche Prozessorarchitekturen gibt es?

Intel x86, ARM, MPS, Risc-V

13
New cards

Was macht die ALU?

Die ALU (Rechenwerk) führt Rechenoperationen aus.

14
New cards

Welche Ausgänge besitzt die ALU?

Zero, Neg und Carry

15
New cards

Was macht ein Register?

Es ermöglicht den Zugriff auf Daten

16
New cards

Was macht der Programm-Counter?

Er legt fest, welcher Befehl gerade ausgeführt wird.

17
New cards

Was ist ein absolute jump?

Der PC springt zu der fest angegebenen Zahl.

18
New cards

Was ist ein relative jump im PC?

Es werden Zahlen zum momentanen Count zugezählt.

19
New cards

Was macht der Flags Baustein?

Er speichert die Flags der letzten ALU-Operation

20
New cards

Was macht die Branch-Unit?

Sie steuert bedingte Verzweigungen.

21
New cards

Was macht das Immediate Register?

Es speichert den aktuellen Befehl.

22
New cards

Was macht die Sign-Extention Unit?

Die Sign Extension Unit (Vorzeichenerweiterungseinheit) ist eine kleine Hardware-Komponente in Prozessoren oder digitalen Schaltungen, die dafür sorgt, dass Zahlen korrekt von einer kleineren Bitbreite auf eine größere Bitbreite erweitert werden, ohne dass sich ihr Wert ändert.

23
New cards

Was ist Mnemonics?

Die Assembly Befehle als Wort

24
New cards

Was ist OPCode?

Assembly Befehle als Bit Zahl dargestellt.

25
New cards

Wie sind die 16 Bit eines Befehlswortes aufgebaut?

1 Immediate Bit, 7 Bit Opcode, 4 Bit Destination Register, 4 Bit Source Register

26
New cards

Nenne 3 arithmatische Funktionen

ADD, SUB, MUL, ADC, SBC

27
New cards

Nenne zwei logische Funktionen

AND, OR, LSL, LSR

28
New cards

Was macht ein Assembler?

Ein Assembler wird dafür benutzt Maschienenbefehle zu erzeugen, indem Mnemonics in Maschinensprache übersetzt werden.

29
New cards

Welche 4 Adressierungsarten gibt es?

realtiv, unmittelbar, absolut, indiziert

30
New cards

Mit welchem Befehl wird ein absoluter Sprung ausgeführt?

JMP [addr]

31
New cards

Wodurch werden bedingte Sprünge ausgelöst?

Durch Branch-Befehle

32
New cards

Welche zwei Möglichkeiten für IO-Operationen gibt es?

Memory Mapped IO und Isolated IO

33
New cards

Was ist das Spezielle an Memory-Mapped IO?

Speicher und Peripherie teilen sich einen gemeinsamen Adressraum. Es gibt gemeinsame Schreib-Lese-Befehle für den Zugriff auf den Speicher und die IO.

34
New cards

Was ist das Spezielle an Isolated IO?

Speicher und Peripherie haben getrennte Adressräume, dadurch gibt es spezielle Befehle für den Zugriff auf IO-Funktionen.

35
New cards

Was heißt GPIO?

General Purpose In- and Output.

36
New cards

Welche Adresse hat ein Terminal?

0×0f

37
New cards

Was ist ein Unterprogramm?

Ein Funktions- oder Methodenaufruf.

38
New cards

Welche 2 Möglichkeiten gibt es ein Unterprogramm zu implementieren?

  • Man speichert die Rücksprungadresse in einem Register

  • Man nutzt einen Stack

39
New cards

Welche Probleme gibt es bei der Methode der Rücksprungadresse im Register?

Geschachtelte Aufrufe und Rekursion

40
New cards

Aus welchen drei Bereichen besteht der Speicher?

Datensegment, Stack und Heap

41
New cards

Wie berechnet man die Programmlaufzeit?

Befehle pro Programm mal Taktzyklen pro Befehl mal Dauer eines Taktzyklusses

42
New cards

Was ist das Problem bei CISC?

Es wurden immer komplexere und längere Befehlsworte genutzt, wodurch mehr Logik und Material verwendet werden musste.

43
New cards

Was macht RISC im Vergleich zu CISC?

Die Komplexität des Befehlssatzes wurde reduziert, wodurch weniger Taktzyklen benötigt wurden, aber längere Programme entstanden.

44
New cards

Welche 3 Arten von Daten können auf einem Stack abgelegt werden?

  • Argumente, welche vom Aufrufer übergeben werden

  • Die Rücksprungadresse

  • Lokale Variablen, welche die Funktion selbst deklariert

45
New cards

Welche zwei Möglichkeiten gibt es für das Aufräumen nach beenden einer Funktion?

Der Aufrufer kümmert sich drum, oder das Unterprogramm kümmert sich drum.

46
New cards

Welche Aufrufkonventionen gibt es?

cdecl, stdcall, Pascal, fastCall

47
New cards

Was macht fastCall?

Die Funktion hat die Argumente nicht auf dem Stack, sondern in vordefinierten Registern.

48
New cards

Das Problem des Pollings bei IO-Komponenten kann wodurch gelöst werden?

Interrupts

49
New cards

Welche Komponente kümmert sich um Interupts?

Der Interupt-Controller

50
New cards

Wie muss der Programm-Counter verändert werden, um Interupts zu ermöglichen?

Er braucht einen zusätzlichen Eingang, welcher ihn sofort an eine vordefinierte Adresse springen lässt.