• Grundelemente eines Computersystems (WIP)
  • verybusybeaver
  • 10.09.2020
  • Informatik
  • 9
Um die Lizenzinformationen zu sehen, klicken Sie bitte den gewünschten Inhalt an.

Aufbau eines Computersystems - Grundlagen

Wir werden uns im Informatikunterricht (auch) mit Aufbau und Funktion von Computer-systemen befassen. Dazu ist es sinnvoll, zunächst die relevanten Geräte und Bauteile kennen zu lernen.

1
Begriffe rund um Computersysteme
  • Benenne die abgebildeten Geräte und gib kurz ihre jeweilige Funktion an.
2
Eine Ordnung entsteht
  • Ordne die gefundenen Begriffe in Gruppen an.
  • Notiere auch, nach welchen Kriterien Du die Gruppen gebildet hast.
3
Es gibt noch viel mehr!
  • Ergänze weitere Geräte und Bauteile (auch aus der Hausaufgabe) - schreibe sie in einer anderen Farbe zu den gebildeten Gruppen dazu.

Funktionsprinzip eines Computersystems

Doch wie arbeitet nun ein Computersystem? Eine Übersicht findet sich hinter der folgenden URL: https://t1p.de/ASS-Neumann1



Achte darauf, die URL in die Adressleiste, und nicht etwa in die Suchleiste einzugeben!

4
Das EVA-Prinzip und die von-Neumann-Architektur
  • Lies den hinter der URL bereitgestellten Text aufmerksam und übernimm die rot markierten Definitionen ins Heft.
  • Prüfe Dein Verständnis mit der folgenden Learningapp: https://t1p.de/ASS-EVA-sort
  • Achte darauf, nach der Besprechung an der Tafel die Abbildung zum EVA-Prinzip ins Heft zu übernehmen.
Achtung!

Mit "Controller" ist in der Grafik nicht etwa Spiele-Hardware gemeint, sondern eine Steuereinheit im Rechnerinneren.

Fokus: Die Verarbeitung

Vor allem die Verarbeitung (unterstützt durch den Arbeitsspeicher RAM) ist für uns von Interesse. Leider bringt es uns nicht weiter, die entsprechenden Bauteile aufzuschneiden oder einfach zu vergrößern - daher werden wir demnächst auf ein Simulationsmodell zurückgreifen, um die Funktionsweise nachzuvollziehen.



Prozessor - Außenansicht
Prozessor - Innenansicht

Abkürzungen und Fachbegriffe rund um Computersysteme

CPU, RAM, BUS, ... - bei der Beschäftigung mit Computersystemen begegnen wir unweigerlich vielen Fachbegriffen und Abkürzungen. Vervollständige die angegebenen Tabellen in Deinem Heft, um einen Überblick zu erhalten. Verwende die angegebenen Abkürzungen bzw. Begriffe!



Verwende dabei als Quelle das digitale Schulbuch (https://t1p.de/ASS-EVA-V) und eigene Recherchen!

5
Tabelle mit Abkürzungen

Abkürzung

engl. Bedeutung

deutsche Bedeutung

BIOS

Basic Input Output System

Firmware zur Konfiguration der Hardware eines PCs

...

...

..

Liste mit Abkürzungen:

CD, CPU, DVD, EVA, GUI, RAM, ROM, USB, GPU

6
Glossar

Bauteil

Funktion

Arbeitsspeicher (RAM)

Speicher, der die gerade auszuführenden Programmteile und die benötigten Daten enthält

...

...

Liste mit Begriffen:

Bus(-System), Festplatte, Grafikkarte, Hauptplatine/Motherboard, Peripherie, Prozessor (CPU)

7
Unterscheidungsaufgabe
  • Erkläre den Unterschied zwischen RAM und ROM.
  • Recherchiere den Unterschied zwischen den Speichern HDD, SSD und SD-Karte.

Schneller-Höher-Weiter: Leistungsdaten von Computersystemen

Computersysteme werden oft mit Leistungsangaben beworben oder beschrieben. Dabei gibt es für die Kategorien Speicher und Rechengeschwindigkeit jeweils eine Grundeinheit, die dann mit Präfixen für Größenordnungen erweitert werden können:

Speicher

Taktfrequenz

Basiseinheit

1 Byte (=8 Bit)

Hertz

Bedeutung

Sammeleinheit für 8 Informationen vom Typ 0 oder 1

Rechenvorgänge pro Sekunde

Hinweis

Bei den Präfixen existieren zwei konkurrierende Systeme: Das eine basiert auf dem Dezimalsystem (Ziffern 0 bis 9), das andere auf dem Binärsystem (Ziffern 0 und 1).



Frage: Warum könnte es diese beiden Systeme geben?

Präfix

Bedeutung

Präfix

Bedeutung



















8
Rechenaufgaben
  • Wie viele Fotos à 1,7 MB passen auf eine Speicherkarte mit 2 GB Speicherplatz?
  • Wie könnte ein Gigabyte in die entsprechende binäre Einheit umgerechnet werden?

Modell zur Verarbeitung: Der Murmelrechner

Der Murmelrechner ist ein Simulationsmodell, bei dem ihr die Rolle ausgewählter Bauteile eines Rechnersystems übernehmt und damit die Verarbeitung von Rechenaufgaben durch ein Computersystem analysieren könnt.

Der Name kommt von den Murmeln (es geht auch mit Holzperlen, Bohnen, ...), die zur Darstellung von Zahlenwerten verwendet werden.



Damit bei der Durchführung auch alles funktioniert, müsst ihr die Bauteile und ihre Funktion verstehen. Lest bitte alle Erklärungen genau durch und stellt, wenn nötig, Fragen!

Der Speicher

Der Speicher wird durch Plastikbecher symbolisiert, die von Null an aufsteigend nummeriert sind. Die Anzahl der Murmeln in den Behältern gibt den darin gespeicherten Zahlenwert an. Die Nummern der Gefäße sind wichtig, damit immer klar ist, welche Speicherzelle gemeint ist. Das Bild zeigt einen Speicher aus sechs Behältern:

Die dargestellte Situation entspricht der folgenden Speicherbelegung:

Adresse

0

1

2

3

4

5

Inhalt

6

8

10

12

4

0

Grundoperationen des Murmelrechners

Um die Möglichkeiten eines Computersystems auf unterster Ebene zu simulieren, müssen wir die möglichen Operationen auf jene begrenzen, die dem Computersystem zur Verfügung stehen.



Weder wir noch ein Computersystem kann leicht (für uns: "mit einem Blick" erkennen, welches von zwei Gefäßen mehr Murmeln enthält, sofern nicht gerade eines davon leer ist. Das "Leersein" eines Gefäßes hingegen ist leicht festzustellen.



Ebenso ist es relativ leicht, eine Murmel hinzuzufügen oder zu entfernen.

Der Befehlssatz

Es ergibt sich ein "Werkzeugkasten" von Befehlen, die das System ausführen kann:



Eine Murmel hinzufügen



Eine Murmel entfernen



Testen, ob das Gefäß leer ist

9
Überlegung
  • Überlege, wie man nur mit den beschriebenen Grundoperationen die Zahlen 3 und 2 addieren kann.

Lösung: Schrittweise Addieren

Du hast es bestimmt schnell herausgefunden: Um die Zahlen zu addieren, kann wie folgt vorgegangen werden - das Ergebnis ist im Gefäß "0" ablesbar:

enferne eine Murmel aus Gefäß 1

lege eine Murmel in Gefäß 0

enferne eine Murmel aus Gefäß 1

ege eine Murmel in Gefäß 0

Speicherbelegung vorher
Speicherbelegung nachher
Achtung - Schwierigkeit

So einfach ist es natürlich nur, wenn man mit festen Eingangswerten arbeitet. Sobald zwei beliebige Zahlen addiert werden müssen, wird es komplizierter: Dann muss auch - wie im folgenden Beispiel - der Nulltest verwendet werden.

alternative Notation

0 tst 1

1 jmp 3

2 jmp 6

3 dec 1

4 inc 0

5 jmp 0

6 hlt

prüfe, ob in Gefäß 1 noch etwas vorhanden ist

   wenn nicht, dann

       beende den Vorgang

   wenn ja, dann

       enferne eine Murmel aus Gefäß 1

       lege eine Murmel in Gefäß 0    

beginne wieder am Anfang

10
Analyse
  • Vergleiche die beiden Notationen und ermittle die Bedeutung der Befehle:
  • tst
  • jmp
  • dec
  • inc
  • hlt

Einschub: Fachsprache

Für das Hinzufügen und das Wegnehmen von Murmeln gibt es Fachbegriffe, die wir zukünftig verwenden werden:



  • Inkrementieren: Erhöhen eines Wertes um 1 / Hinzufügen einer Murmel
  • Dekrementieren: Senken eines Wertes um 1 / Entfernen einer Murmel



Eine Abfolge von Murmelrechnerbefehlen, die der Reihe nach ausgeführt werden können, um eine Aufgabe zu lösen, wird als Murmelrechnerprogramm bezeichnet. Pro Zeile gibt es immer nur einen Befehl.

Befehle und Befehlskategorien

Die Befehle lassen sich in verschiedene Kategorien einsortieren:

Rechenbefehle

Kontrollbefehle

Die Befehle dec und inc greifen nicht in den Programmablauf ein, sondern beeinflussen nur den Inhalt von Speicherstellen.

Daher werden sie als Rechenbefehle bezeichnet.



Rechenbefehle erhalten als Parameter die Nummer der zu inkrementierenden bzw. zu dekrementierenden Speicherstelle.

Die Befehle jmp, tst und hlt greifen in den Ablauf des Programms ein, verändern also, ob und welche Befehle als nächstes ausgeführt werden.

Daher werden sie als Kontrollbefehle bezeichnet.



Der Kontrollbefehl jmp erhält als Parameter die Programmcodezeile, in der das Programm weiter ausgeführt werden soll.

Der Befehl tst erhält als Parameter die Nummer der zu testenden Speicherstelle und hlt benötigt keine Parameter.

Genaueres zum tst-Befehl

Der tst-Befehl ermöglicht es überhaupt erst, Programme für beliebige Probleme zu schreiben. Ohne Nulltest könnte man nur Programme für konkrete Aufgaben (wie "3+2") schreiben, da es keine Möglichkeit gibt, das Programm erst zu beenden, wenn eine der Eingabespeicherstellen leer ist.



Der tst-Befehl funktioniert so:



  1. Test, ob die angegebene Speicherstelle noch Murmeln enthält
  2. Wenn ja, dann wird der Befehl in der nächsten Zeile ausgeführt (danach geht die Ausführung je nach Inhalt dieser Zeile normal weiter).
  3. Wenn nein, dann wird stattdessen in der übernächsten Zeile weiter ausgeführt.

Akteure, Durchführung und Beobachtung

Innerhalb unseres Prozessormodells "Murmelrechner" gibt es (wie in der realweltlichen Vorlage, dem Prozessor) verschiedene Aktuere, die jeweils eigene Aufgaben erledigen:

Der Rechenkünstler / Die Rechenkünstlerin

Der/Die Rechenkünstler/in führt die Rechenbefehle dec und inc sowie den Testbefehl tst aus. Dazu erhält er/sie ein "Akkumulator" genanntes Gefäß, in dem er die Operationen ausfüht, und ein Vorratsgefäß mit Murmeln, aus dem/in das er/sie die dabei benötigten Murmeln entnimmt bzw. ablegt. Außerdem kann er/sie an den Steuermann / die Steuerfrau das Ergebnis des Nulltests kommunizieren ("ja"/"nein").

Der Laufbursche / Die Überbringerin

Diese Rolle hat die Aufgabe, dem/der Rechenkünstler/in die Murmeln aus den angegebenen Speicherstellen zur Verfügung zu stellen bzw. diese nach den Operationen wieder zurück zu bringen.

Dazu verwendet er/sie ein eigenes Transportgefäß.

Der Steuermann / Die Steuerfrau

Diese Rolle gibt den beiden anderen Rollen Anweisungen, was zu tun ist. Dazu erhält er/sie das Programm und eine Markierung, mit der verfolgt werden kann, welche Zeile gerade ausgeführt wird.

Wichtig: Klare Trennung der Rollen

Das Modell läuft nur richtig ab, wenn jede/r sich auf seine/ihre Aufgaben konzentriert und die andere ihre machen lässt. Im realen Prozessor gilt ebenso, dass jede Komponente eine klar definierte Aufgabe besitzt und speziell für diese gebaut und optimiert wurde.



Das bedeutet, die folgenden Rollen haben exklusiven Zugriff auf:

  • RechenkünstlerIn: Vorrat
  • Laufbursche/Überbringerin: Speichergefäße
  • Steuermann/-frau: Programm

Anwendung als Prozessormodell zur Berechnung

Dokumentation

Um die Übersicht zu behalten, schreibt tabellarisch auf, wie sich die Werte in den Speicherstellen nach und nach verändern. Dabei sollte nach jeder einzelnen Änderung eine neue Zeile geschrieben werden.

11
Führt die folgenden Aktivitäten in der Kleingruppe durch:
  • Spielt das Programm von Seite 6 mit verschiedenen Startbefüllungen der Gefäße 0 und 1 durch. Erreicht ihr das erwartete Ergebnis?
  • Versucht, ein Programm zur Subtraktion zu erstellen. Ihr dürft annehmen, dass die größere der Zahlen immer in Gefäß 0 liegt.
  • Prüft den Ablauf eures eigenen Programms - wird das erwartete Ergebnis erreicht?
  • Was macht das Erstellen von Programmen schwierig? Notiere!

Übertragung auf Prozessor: ALU + CU = CPU

Übertragung auf Prozessor: ALU + CU = CPU

Übertragung auf ein echtes Computersystem

Übertragung auf Prozessor: ALU + CU = CPU

Übertragung auf Prozessor: ALU + CU = CPU

12
Um die Erkenntnisse aus dem Modell auf ein echtes Computersystem zu übertragen, beschreibe zunächst die Aufgaben der folgenden Komponenten kurz in eigenen Worten:

1) RechenkünstlerIn, 2) Steuermann/frau, 3) Laufbursche bzw. Überbringerin, 4) Speichergefäße

Zu welchen bereits bekannten Komponenten könnten diese Beschreibungen passen?

Die Auflösung: Was entspricht was im realen System?

Natürlich handelt es sich beim Murmelrechner nur um ein Modell, mit dem die komplexe Funktion eines Computersystems leichter nachvollzogen werden kann. Dennoch besitzt jede Rolle im Modell ein realweltliches Gegenstück.

13
Verbinde die zusammen gehörenden Rollen/Komponenten, zunächst mit einem Bleistift:

Rechenkünstler/in

Steuerwerk

(Teil der CPU)

Steuermann/-frau

BUS-System

Laufbursche / Überbringerin

Arbeitsspeicher

Speichergefäße

Rechenwerk

(Teil der CPU)

14
Fülle den nachfolgenden Lückentext aus.

Der Prozessor (CPU) besteht im Wesentlichen aus zwei Teilen. Der eine ist das so genannte (englisch: Control Unit, CU). Das teilt große Aufgaben in kleinste Schritte auf und koordiniert ihre Verarbeitung. Der andere Teil ist das (englisch: Arithmetic Logic Unit, ALU). Hier werden die kleinsten Aufgaben aus dem Steuerwerk verarbeitet.

Die notwendige Verbindung zum wird dabei über das als Datenverbindung hergestellt.

x