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.
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!
Mit "Controller" ist in der Grafik nicht etwa Spiele-Hardware gemeint, sondern eine Steuereinheit im Rechnerinneren.
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.
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!
Abkürzung | engl. Bedeutung | deutsche Bedeutung |
---|---|---|
BIOS | Basic Input Output System | Firmware zur Konfiguration der Hardware eines PCs |
... | ... | .. |
CD, CPU, DVD, EVA, GUI, RAM, ROM, USB, GPU
Bauteil | Funktion |
---|---|
Arbeitsspeicher (RAM) | Speicher, der die gerade auszuführenden Programmteile und die benötigten Daten enthält |
... | ... |
Bus(-System), Festplatte, Grafikkarte, Hauptplatine/Motherboard, Peripherie, Prozessor (CPU)
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 | Rechenvorgänge pro Sekunde |
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 | |
---|---|---|---|---|
| | |||
| ||||
| ||||
|
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 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 |
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.
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
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
lege eine Murmel in Gefäß 0
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.
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 ja, dann
enferne eine Murmel aus Gefäß 1
lege eine Murmel in Gefäß 0
beginne wieder am Anfang
wenn nicht, dann
beende den Vorgang
tst
jmp
dec
inc
hlt
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.
Die Befehle lassen sich in verschiedene Kategorien einsortieren:
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.
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:
Test, ob die angegebene Speicherstelle noch Murmeln enthält
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).
Wenn nein, dann wird stattdessen in der übernächsten Zeile weiter ausgeführt.
Innerhalb unseres Prozessormodells "Murmelrechner" gibt es (wie in der realweltlichen Vorlage, dem Prozessor) verschiedene Aktuere, die jeweils eigene Aufgaben erledigen:
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").
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äß.
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.
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
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.
echtesComputersystem
Zu welchen bereits bekannten Komponenten könnten diese Beschreibungen passen?
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.
Rechenkünstler/in
Steuerwerk
(Teil der CPU)
Steuermann/-frau
BUS-System
Laufbursche / Überbringerin
Arbeitsspeicher
Speichergefäße
Rechenwerk
(Teil der CPU)
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.
Sie nutzen einen Browser mit dem tutory.de nicht einwandfrei funktioniert. Bitte aktualisieren Sie Ihren Browser.
Sie verwenden eine ältere Version Ihres Browsers. Es ist möglich, dass tutory.de mit dieser Version nicht einwandfrei funktioniert. Um tutory.de optimal nutzen zu können, aktualisieren Sie bitte Ihren Browser oder installieren Sie einen dieser kostenlosen Browser: