32-Bit-Architektur
aus Wikipedia, der freien Enzyklopädie
Unter 32-Bit-Architektur versteht man in der EDV eine Prozessorarchitektur, deren Wortbreite 32 Bit beträgt.
Inhaltsverzeichnis |
[Bearbeiten] Architekturen
- von MIPS (später SGI) die MIPS-Architektur (32-Bit & 64-Bit).
- von Sun Microsystems die SPARC Serie (32-Bit, seit 1995 auch 64-Bit UltraSPARC)
- von Motorola die 68000er-Familie.
- von Apple/IBM/Motorola die PowerPC Serie (32-Bit & 64-Bit).
- von Intel, AMD und anderen Prozessoren der x86-Familie (32-Bit, seit 2003 auch 64-Bit AMD64)
- von Digital bzw. später Compaq die VAX-Architektur (32-Bit)
- von Advanced RISC Machines Ltd. die ARM-Architektur, lizenziert an zahlreiche Prozessorhersteller.
- DLX: hypothetische 32-Bit-Architektur
sowie diverse weitere Designs.
[Bearbeiten] Design
Vereinfacht dargestellt bedeutet 32-Bit, dass die Prozessoren durch ihr ALU-Design so ausgelegt sind, dass 32 Bit (also 4 Byte) gleichzeitig bzw. während eines Taktes verarbeitet werden können. Das schließt die externe und interne Gestaltung von Datenbus und Adressbus, die Breite des Registersatzes mit ein. Weiterhin ist der Befehlssatz meistens durchgängig auf 32-Bit ausgelegt, insofern keine abwärtskompatiblen Altlasten (siehe x86-Architektur) vorhanden sind. Dies gilt analog für die gängigen Adressierungs-Arten, wobei die Bitbreite der Recheneinheit (ALU) sich prinzipiell von der der Adresseinheit unterscheiden kann (wie z.B. auch bei 64-Bit-CPUs).
32-Bit ist die logische Adressbreite der in den Jahren 1990 bis 2005 üblichen PC-Systeme. 32 Bit sind eine 32 Ziffern lange Zahlenreihe aus Einsen und Nullen.
[Bearbeiten] Vorteile
Die Vorteile von höherbittigen CPUs liegen in der einfacheren Berechnung größerer Integer-Werte (durch die breitere ALU), was zum Beispiel Vorteile bei Verschlüsselungsalgorithmen, grafischen Berechnungen (zum Beispiel Festkommaarithmetik für Computerspiele), 32 Bit-Dateisystemen oder Multimediaformaten (MPEG2, MP3) mit sich bringt.
[Bearbeiten] Probleme
Ohne speziell angepasste Betriebssysteme wie Windows, Linux oder LinuxPPC kann allerdings in der Regel kein großer Vorteil durch den Wechsel von 16 Bit auf 32 Bit CPUs gezogen werden.
Ähnlich wie bei SIMD- oder AltiVec-Erweiterungen ist also auch für 32 Bit-Systeme in der Regel speziell angepasste Software nötig.
Achtung: nicht jedes System mit 32-bittigen Datenpfaden verfügt auch über 32-bittige Adresspfade. Diese können im Extremfall weiterhin schmaler bleiben (4-GB-Adressraum). Bei älteren IBM Großrechnern (System/360 und System/370) wurden nur 24 Bit zur Adressierung verwendet (16-MB-Adressraum). Da das überzählige Byte von Betriebssystem und Anwendungsprogrammen als Flagbyte missbraucht wurde, war der Übergang zur 31-Bit-Adressierung (2-GB-Adressraum) mit noch einem Flagbit komplex.
[Bearbeiten] Programmiermodell
Unter der Programmiersprache C schlägt sich die Anzahl der Bits insbesondere bei der Größe der Datentypen void*, int und manchmal auch bei long, sowie deren vorzeichenlosen Pendants, nieder. Mit der Verbreitung von 32-Bit-Architekturen hat man hierbei in der Regel die drei Typen gleichermaßen auf die Breite von 32-Bit gesetzt, sodass Daten von Int-Typ, Long-Typ und Zeiger-Typ gleich sind. Dieses nennt man abgekürzt ILP32. Zur Rückwärtskompabilität mit der 16-Bit-Architektur, die meist als IP16 ausgeführt wurde, hatte man teils auch den Int-Typ bei 16-Bit gelassen, genannt LP32, oder den Long-Typ auf doppelte Breite von 64-Bit gesetzt, genannt IP32. Die ersten Versionen von DOS/Windows und Mac-OS arbeiteten mit jener LP32 und 16-Bit "int", während frühe Ultrix-Versionen mit LP32 und 64-Bit "long" arbeiteten. Dieserlei Programmiermodelle haben sich jedoch nicht durchgesetzt - alle heutigen unixartigen 32-Bit Betriebssysteme drücken die 32-Bit-Architektur in einem ILP32-Typenmodell aus.