31 - 5.1.3 Rechnerorganisation: Schichtenstruktur und semantische Lücke [ID:15384]
50 von 230 angezeigt

Ich hatte eingangs erwähnt, dass Rechensysteme sich als eine Schichtenfolge von Maschinen darstellen.

Nun diese Schichtenstruktur, die dieser Folge zugrunde liegt, die möchte ich im

nachfolgenden kurz vorstellen. Und in dem Zusammenhang möchte ich insbesondere den Begriff der

semantischen Lücke erläutern. Das ist der Abstand sozusagen zwischen der obersten Ebene in dieser

Schichtenstruktur und der tiefsten Ebene in dieser Schichtenstruktur. Ich möchte diese semantische

Lücke konkret am Beispiel einer Fallstudie darstellen und sie dann später im weiteren

Verlauf der Vorlösungsstunde noch mal konzeptionell verdeutlichen. Nun die semantische Lücke ist die

Verschiedenheit zwischen der Quell- und der Zielsprache. Diese beiden Sprachen, die hier

gemein sind, sind letztendlich für uns die Programmiersprachen, in dem wir bestimmte

Probleme lösen, zum Ausdruck gebracht haben, Programme entwickelt haben, die nachher auf

einer entsprechenden Zielmaschine, eine Zielhardware, denn zur Ausführung gebracht werden sollen.

Und generell sagt man hier als Faustregel, dass die Quellsprache ein höheres Abstraktionsniveau

einnimmt und die Zielsprache eben ein niedrigeres Abstraktionsniveau besitzt. Die Quellsprache

ist typischerweise eine höhere Programmiersprache, also etwa wie C. Und die Zielsprache sind

dann letztendlich die Bitstrings, die Bitfolgen, die die einzelnen Maschinenbefehle repräsentieren,

die konkret von dem realen Prozessor zur Ausführung gebracht werden. Nur normalerweise würde man

jetzt die Abbildung von der Quell hin zur Zielsprache sich immer so vorstellen müssen,

dass das maschinell, dass das automatisch geschieht. Aber es muss nicht so sein. Man

kann sehr wohl ein Programm auf einem Blatt Papier formulieren in einer Quellsprache und

dann einfach händisch diese Umsetzung von der Quellebene hin zur Zielebene durchführen,

bis man dann selbst handkodiert entsprechend die Bitfolgen für den einzelnen Prozessor

präsentiert hat. Das sieht heute natürlich nicht mehr so aus. Früher war das durchaus so,

bevor es entsprechende Übersetzerprogramme gegeben hat, die in der Lage gewesen sind,

diese Umwandlung von der Quell zur Zielebene entsprechend durchzuführen. Der Begriff

semantische Lücke kommt aus der Rechnerarchitektur. Das ist dann wirklich der Unterschied zwischen den

komplexen Operationen, die eben auf der Hochsprachen-Ebene typischerweise definiert sind,

die Konstrukte, die dort existieren, im Vergleich zu den sehr einfachen Operationen, die uns denn

der Befehlssatz eines Rechners auf der untersten Ebene bietet. Und so war es dann die Idee letztendlich,

oder man muss schon sagen, der Versuch der Rechnerarchitekten, eben diese untere Ebene,

den Befehlssatz der unteren Ebene komplexer werden zu lassen, dass es sich funktional mehr

den Hochsprachen-Konstrukten entsprechend zuwendet, um damit letztendlich diese Lücke zu

verkleinern. Das führte dann zu den sogenannten Complex Instruction Set Computers, also den CISCs

im Vergleich zu den sogenannten Reduced Instruction Set Computern, die heute eben auch üblich sind,

die sogenannten RISC Prozessoren, wie so ein Power PC etwa, oder so ein ARM Prozessor. Der x86 oder

die x86 Architektur, die Familie der Prozessoren, sind typische Beispiele von solchen CISCs, wo man

versucht hat, diese semantische Lücke durch eine entsprechende komplexen Befehlssatz zu verkleinern.

Aber wir werden sehen, dass damit diese semantische Lücke noch längst nicht vom Tisch ist. Es geht

immer um eine Kluft, und zwar zwischen den sogenannten gedanklich gemeinten und dem

sprachlich geäußerten. So kann man sich das eben ein bisschen abstrakter eben auch vorstellen,

wenn man diese beiden Ebenen Quellzielsprache betrachtet. Nun, ich möchte das mal verdeutlichen,

worum es hier eigentlich wirklich geht. Wir nehmen mal ein Beispiel aus der Mathematik. Es geht um die

Matrizenmultiplikation. Der Problemraum hier, das heißt, was wir eigentlich für ein Problem haben,

was wir lösen wollen, kommt aus der Mathematik. Wie wir das dann aber tun wollen, und zwar

automatisch maschinell unterstützt, sind dann nachher Verfahren, die aus der Informatik kommen.

Die sind dann Bestandteil des sogenannten Lösungsraums. Und zwischen diesen beiden Bereichen

gibt es eben genau die semantische Lücke. Wir würden sagen, das gedanklich gemeinte hier ist

ein Verfahren aus der linearen Algebra zur Matrizenmultiplikation. Und das sprachlich

geäußerte findet eben auf verschiedenen Ebenen der Abstraktion im Lösungsraum der Informatik statt.

Wir werden sehen, dass es eben nicht nur ein Weg ist, um praktisch von der Mathematik hin zu dem

ausführbaren Programm zu kommen, sondern wir werden verschiedene Ebenen kennenlernen, die

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:27:17 Min

Aufnahmedatum

2020-05-09

Hochgeladen am

2020-05-10 02:16:05

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen