Skip to content

Commit 4adfc0c

Browse files
committed
Revise L11
1 parent 182c0b7 commit 4adfc0c

2 files changed

Lines changed: 78 additions & 76 deletions

File tree

10_CPU_Basis.md

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ gray: @mark(gray,@0)
2323

2424
# Von mathematischen Operationen zur CPU
2525

26-
| Parameter | Kursinformationen |
27-
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
28-
| **Veranstaltung:** | `Eingebettete Systeme` |
29-
| **Semester** | `Wintersemester 2021/22` |
30-
| **Hochschule:** | `Technische Universität Freiberg` |
31-
| **Inhalte:** | `Realisierung grundlegender arithmetischer Operationen im Rechner` |
26+
| Parameter | Kursinformationen |
27+
|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
28+
| **Veranstaltung:** | `Digitale Systeme / Eingebettete Systeme` |
29+
| **Semester** | `Wintersemester 2022/23` |
30+
| **Hochschule:** | `Technische Universität Freiberg` |
31+
| **Inhalte:** | `Realisierung grundlegender arithmetischer Operationen im Rechner` |
3232
| **Link auf GitHub:** | [https://github.com/TUBAF-IfI-LiaScript/VL_Softwareentwicklung/blob/master/10_CPU_Basis.md](https://github.com/TUBAF-IfI-LiaScript/VL_EingebetteteSysteme/blob/master/10_CPU_Basis.md) |
33-
| **Autoren** | @author |
33+
| **Autoren** | @author |
3434

3535
![](https://media.giphy.com/media/10PNyg7YOcaBQA/giphy-downsized.gif)
3636

@@ -112,10 +112,10 @@ Synchroner 3-Bit-Zähler auf der Basis von JK Flip-Flops
112112

113113
Zwischenstand
114114

115-
| Stufe | Funktionalität | Wunschzettel |
116-
| ----- | ----------------------------------------- | --------------------------------------- |
117-
| 0 | Addition/Subtraktion von einzelnen Werten $\color{green} \mathbf{✓}$ | |
118-
| 1 | | Flexibles Handling mehrerer Operationen $\color{red} \mathbf{?}$ |
115+
| Stufe | Funktionalität | Wunschzettel |
116+
|-------|----------------------------------------------------------------------|------------------------------------------------------------------|
117+
| 0 | Addition/Subtraktion von einzelnen Werten $\color{green} \mathbf{✓}$ | |
118+
| 1 | | Flexibles Handling mehrerer Operationen $\color{red} \mathbf{?}$ |
119119

120120
Logische Funktionen: NOT, AND, NOR, XOR
121121

@@ -188,19 +188,19 @@ Der Status S umfasst eine Zusammenstellung der Resultate der Operationen codiert
188188
Wie "programmieren" wir unser System?
189189

190190
<!-- data-type="none" -->
191-
| F_0 | F_1 | F_2 | Z | Bezeichnung |
192-
| --- | --- | --- | --- | ----------- |
193-
| 0 | 0 | 0 | 0 | `OR_A` |
194-
| 0 | 0 | 0 | 1 | `OR_B` |
195-
| ... | | | | |
196-
| 0 | 1 | 1 | 0 | `ADD_A` |
197-
| 0 | 1 | 1 | 1 | `ADD_B` |
198-
| ... | | | | |
191+
| F_0 | F_1 | F_2 | Z | Bezeichnung |
192+
|-----|-----|-----|---|-------------|
193+
| 0 | 0 | 0 | 0 | `OR_A` |
194+
| 0 | 0 | 0 | 1 | `OR_B` |
195+
| ... | | | | |
196+
| 0 | 1 | 1 | 0 | `ADD_A` |
197+
| 0 | 1 | 1 | 1 | `ADD_B` |
198+
| ... | | | | |
199199

200200
Beispielanwendungen
201201

202202
| | Inkrementieren | Togglen |
203-
| ------------ | ---------------- | ---------------- |
203+
|--------------|------------------|------------------|
204204
| Vorbereitung | A <- 1, B <-0 | A <- 1 |
205205
| "Programm" | `ADD_B` $(0111)$ | `EOR_A` $(0101)$ |
206206
| | `ADD_B` $(0111)$ | `EOR_A` $(0101)$ |
@@ -211,11 +211,11 @@ Beispielanwendungen
211211

212212
Zwischenstand
213213

214-
| Stufe | Funktionalität | Wunschzettel |
215-
| ----- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
216-
| 0 | Addition/Subtraktion von einzelnen Werten $\color{green} \mathbf{✓}$ | |
217-
| 1 | Arithmetische Einheit mit mehren Funktionen und wählbarem Ergebnisregister $\color{green} \mathbf{✓}$ | |
218-
| 2 | | Sequenz von Berechnungsfolgen $\color{red} \mathbf{?}$ $$\begin{aligned} & Reg\_A \leftarrow 3 \\ & Reg\_B \leftarrow 2 \\ & ADD\_B \\ & Reg\_A \leftarrow -3 \\ & MUL\_B \\ & ... \end{aligned}$$ |
214+
| Stufe | Funktionalität | Wunschzettel |
215+
|-------|------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
216+
| 0 | Addition/Subtraktion von einzelnen Werten $\color{green} \mathbf{✓}$ | |
217+
| 1 | Arithmetische Einheit mit mehren Funktionen und wählbarem Ergebnisregister $\color{green} \mathbf{✓}$ | |
218+
| 2 | | Sequenz von Berechnungsfolgen $\color{red} \mathbf{?}$ $$\begin{aligned} & Reg\_A \leftarrow 3 \\ & Reg\_B \leftarrow 2 \\ & ADD\_B \\ & Reg\_A \leftarrow -3 \\ & MUL\_B \\ & ... \end{aligned}$$ |
219219

220220
Für diesen Schritt fassen wir das obige Schaltbild unserer hypothetischen ALU mit 8 Funktionen in einem abstrakteren Schaubild zusammen.
221221

@@ -239,7 +239,7 @@ ditaa
239239

240240

241241
| Bezeichnung | Bedeutung |
242-
| ----------- | --------------------------------------- |
242+
|-------------|-----------------------------------------|
243243
| A, B | Datenregister |
244244
| Daten | Zugriff auf die Datenregister |
245245
| Kontrolle | Steuerleitungen $F_0$ bis $F_2$ und $Z$ |
@@ -344,12 +344,12 @@ Wir lösen uns von dem Zugriff auf die Kontrollbits und etablieren abstrakte Bef
344344

345345
Zwischenstand
346346

347-
| Stufe | Funktionalität | Wunschzettel |
348-
| ----- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
349-
| 0 | Addition/Subtraktion von einzelnen Werten $\color{green} \mathbf{✓}$ | |
350-
| 1 | Arithmetische Einheit mit mehren Funktionen und wählbarem Ergebnisregister $\color{green} \mathbf{✓}$ | |
351-
| 2 | Sequenz von Berechnungsfolgen $\color{green} \mathbf{✓}$ | |
352-
| 3 | | Freie Definition von Operanden $\color{red} \mathbf{?}$ $$\begin{aligned} & \color{red}{Reg\_A \leftarrow 3} \\ & \color{red}{Reg\_B \leftarrow 2} \\ & ADD\_B \\ & \color{red}{Reg\_A \leftarrow -3} \\ & MUL\_B \\ & ... \end{aligned}$$ |
347+
| Stufe | Funktionalität | Wunschzettel |
348+
|-------|------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
349+
| 0 | Addition/Subtraktion von einzelnen Werten $\color{green} \mathbf{✓}$ | |
350+
| 1 | Arithmetische Einheit mit mehren Funktionen und wählbarem Ergebnisregister $\color{green} \mathbf{✓}$ | |
351+
| 2 | Sequenz von Berechnungsfolgen $\color{green} \mathbf{✓}$ | |
352+
| 3 | | Freie Definition von Operanden $\color{red} \mathbf{?}$ $$\begin{aligned} & \color{red}{Reg\_A \leftarrow 3} \\ & \color{red}{Reg\_B \leftarrow 2} \\ & ADD\_B \\ & \color{red}{Reg\_A \leftarrow -3} \\ & MUL\_B \\ & ... \end{aligned}$$ |
353353

354354
Wo kommen aber die Daten her? Bislang haben wir uns damit begnügt anzunehmen, dass diese auf "magische" Art und Weise in unseren Registern stehen.
355355

@@ -381,7 +381,7 @@ Im Speicher stehen nun nicht nur Befehle für die Ausführung unserer ALU-Funkti
381381

382382
<!-- data-type="none" -->
383383
| Befehle | Codierung | Bedeutung |
384-
| ------------- | ---------------- | --------------------------------------------------- |
384+
|---------------|------------------|-----------------------------------------------------|
385385
| `OR_A` | $0000$ bisher(!) | Logisches Oder |
386386
| | .... | |
387387
| `LDA Adresse` | $10000$ | Laden der Daten von der Adresse X in das Register A |
@@ -392,7 +392,7 @@ Im Speicher stehen nun nicht nur Befehle für die Ausführung unserer ALU-Funkti
392392
Damit nimmt der Aufwand im Steuerwerk nochmals signifikant zu! Neben dem Adressbus besteht nun ein Datenbus als weiterer Kommunikationspfad.
393393

394394
| Schritt | Vorgang |
395-
| ------- | ------------------------------------------------------------------------------------- |
395+
|---------|---------------------------------------------------------------------------------------|
396396
| 0 | Lesen eines Befehls aus dem Speicher |
397397
| 1 | Erkennen, dass es sich um ein `LDA` handelt - Eine Berechnung ist nicht erforderlich. |
398398
| 2 | Verschieben des Adresszählers auf die nächste Speicherstelle |
@@ -406,12 +406,12 @@ Damit nimmt der Aufwand im Steuerwerk nochmals signifikant zu! Neben dem Adressb
406406
Zwischenstand
407407

408408
| Stufe | Funktionalität | Wunschzettel |
409-
| ----- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
409+
|-------|------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------|
410410
| 0 | Addition/Subtraktion von einzelnen Werten $\color{green} \mathbf{✓}$ | |
411411
| 1 | Arithmetische Einheit mit mehren Funktionen und wählbarem Ergebnisregister $\color{green} \mathbf{✓}$ | |
412412
| 2 | Sequenz von Berechnungsfolgen $\color{green} \mathbf{✓}$ | |
413-
| | Darstellung von Programmen als Sequenzen abstrakter Befehle $\color{green} \mathbf{✓}$ | |
414-
| 3 | Flexibler Zugriff auf Daten und Programme im Speicher $\color{green} \mathbf{✓}$ | |
413+
| | Darstellung von Programmen als Sequenzen abstrakter Befehle $\color{green} \mathbf{✓}$ | |
414+
| 3 | Flexibler Zugriff auf Daten und Programme im Speicher $\color{green} \mathbf{✓}$ | |
415415
| | | Ein- und Ausgabe von Daten wäre schön $\color{red} \mathbf{?}$ |
416416

417417

0 commit comments

Comments
 (0)