Symmetrisches Multiprozessorsystem
Ein Symmetrisches Multiprozessorsystem (=SMP) ist ein System mit einem oder mehreren identischen Prozessoren. Im Gegensatz zu NUMA-Systemen sind alle Prozessoren auf gleiche Art & Weise mit dem Hauptspeicher verbunden, d.h. es gibt für keinen Prozessor einen von der Geschwindigkeit her bevorzugten/benachteiligten Speicherbereich im Hauptspeicher.
Inhaltsverzeichnis
Intel Multiprocessor Specification
Die Intel Multiprocessor Specification ist ein Standard für x86- und x86-64-basierte, symmetrische Multiprozessorsysteme und ist abwärtskompatibel mit existierenden x86- und x86-64-Uniprozessorsystemen. Die Spezifikation beschreibt einerseits die Anforderungen an die Hardware und das BIOS und andererseits die Schritte die notwendig sind, um mit einem Betriebssystem den Geschwindigkeitsvorteil mehrerer Prozessoren nutzbar zu machen.
Floating Pointer Structure
Der erste Schritt dahingehend ist das Auffinden der Floating Pointer Structure. Diese Struktur wird vom BIOS erstellt und falls sie existiert ist dieses System zur Intel Multiprocessor Specification kompatibel. Diese Struktur sieht wie folgt aus:

- Signatur: Die Signatur enthält die nicht nullterminierte ASCII-Zeichenkette "_MP_"
- physikalische Adresse: Die physikalische Adresse der Configuration Table
- Länge: Die Größe der Struktur in 16-Byte großen Abschnitten.
- Revision: Die Revision der Intel Multiprocessor Specification. Der Wert 0x01 steht für die Version 1.1 und 0x04 für Version 1.4.
Auffinden der Struktur
Die Floating Pointer Structure wird anhand der 4 Signaturbytes und der Checksumme identifiziert. Die Checksumme wird berechnet indem man alle Bytes der Struktur aufaddiert. Das Ergebnis dieser Berechnung muss 0x00 sein. Die Struktur befindet sich in mindestens einem der folgenden Speicherbereiche:
- In dem ersten Kilobyte der Extended BIOS Data Area
- In dem letzten Kilobyte des Hauptspeichers unterhalb der 1MB Marke
- Im Adressraum des BIOS ROM (0xF0000 - 0xFFFFF)
Die Speicherbereiche sind in exakt dieser Reihenfolge zu durchsuchen. Zu beachten ist außerdem, dass die Struktur an einer 16-byte Grenze beginnen muss.