Monday, February 11, 2019

Wort (Computerarchitektur) - Wikipedia


Von einem Computer gehandelte Basisspeichereinheit


In der Datenverarbeitung ist ein Wort die natürliche Einheit von Daten, die von einem bestimmten Prozessordesign verwendet werden. Ein Wort ist ein Datenstück fester Größe, das vom Befehlssatz oder der Hardware des Prozessors als Einheit behandelt wird. Die Anzahl der Bits in einem Wort (Wortgröße Wortbreite oder Wortlänge ) ist ein wichtiges Merkmal eines bestimmten Prozessordesigns oder einer Computerarchitektur.

Die Größe eines Wortes spiegelt sich in vielen Aspekten der Struktur und des Betriebs eines Computers wider. Die Mehrzahl der Register in einem Prozessor hat normalerweise eine Wortgröße, und das größte Datenelement, das in einem einzigen Vorgang vom und zum Arbeitsspeicher übertragen werden kann, ist in vielen (nicht allen) Architekturen ein Wort. Die größtmögliche Adressgröße, die zum Bestimmen eines Ortes im Speicher verwendet wird, ist typischerweise ein Hardwarewort (hier bedeutet "Hardwarewort" das natürliche Wort des Prozessors in voller Größe im Gegensatz zu jeder anderen verwendeten Definition).

Moderne Prozessoren, einschließlich derjenigen in eingebetteten Systemen, haben normalerweise eine Wortgröße von 8, 16, 24, 32 oder 64 Bits. Insbesondere in modernen Universalcomputern werden normalerweise 32 oder 64 Bit verwendet. Digitalprozessoren für spezielle Zwecke, wie beispielsweise DSPs, können andere Größen verwenden, und in der Vergangenheit wurden viele andere Größen verwendet, darunter 9, 12, [1] 18, 24, 26, 36, 39, 40, 48 und 60 Bits. Einige der ersten Computer (und einige moderne auch) verwendeten binärcodierte Dezimalzahlen anstelle von einfachen Binärdateien, die normalerweise eine Wortgröße von 10 oder 12 Dezimalstellen hatten, und einige Computer mit frühen Dezimalzahlen hatten überhaupt keine feste Wortlänge.

Die Größe eines Wortes kann aufgrund von Abwärtskompatibilität mit früheren Computern manchmal von der erwarteten abweichen. Wenn mehrere kompatible Variationen oder eine Familie von Prozessoren eine gemeinsame Architektur und einen Befehlssatz verwenden, sich jedoch in der Wortgröße unterscheiden, werden ihre Dokumentation und Software möglicherweise komplexer, um den Unterschied zu berücksichtigen (siehe Größenfamilien unten).




Verwendung von Wörtern [ edit ]


Je nach Organisation eines Computers können Einheiten in Wortgröße verwendet werden für:


Festkommazahlen

Halter für Festkommazahlen (normalerweise ganzzahlig), numerische Werte können in einer oder in mehreren verschiedenen Größen verfügbar sein, aber eine der verfügbaren Größen wird fast immer das Wort sein. Die anderen Größen sind, wenn vorhanden, wahrscheinlich Vielfache oder Bruchteile der Wortgröße. Die kleineren Größen werden normalerweise nur zur effizienten Verwendung des Speichers verwendet. Wenn sie in den Prozessor geladen werden, gehen ihre Werte normalerweise in einen größeren, wortgroßen Halter.

Fließkommazahlen

Bei Haltern für numerische Fließkommawerte handelt es sich normalerweise entweder um ein Wort oder ein Vielfaches eines Wortes.

Adressen [19659011] Die Inhaber von Speicheradressen müssen eine Größe haben, die den erforderlichen Wertebereich ausdrücken kann, jedoch nicht übermäßig groß sein müssen. Daher wird häufig das verwendete Wort verwendet, obwohl es auch ein Vielfaches oder ein Bruchteil der Wortgröße sein kann.
Register

Prozessorregister sind mit einer für die Art der Daten, die sie enthalten, geeigneten Größe ausgelegt, z Ganzzahlen, Fließkommazahlen oder Adressen. Viele Computerarchitekturen verwenden "Allzweckregister", die verschiedene Datentypen enthalten können. Diese Register müssen so dimensioniert sein, dass sie den größten der Typen aufnehmen können. Historisch ist dies die Wortgröße der Architektur, obwohl zunehmend spezielle, größere Register vorhanden sind hinzugefügt, um mit neueren Typen umzugehen.

Speicher-Prozessor-Übertragung

Wenn der Prozessor aus dem Speichersubsystem in ein Register liest oder den Wert eines Registers in den Speicher schreibt, ist die übertragene Datenmenge oft ein Wort. Historisch wurde diese Menge von Bits, die in einem Zyklus übertragen werden konnte, in einigen Umgebungen auch als catena bezeichnet (wie z. B. der Bull GAMMA 60 [fr]). [2][3] In einfachen Speichersubsystemen Das Wort wird über den Speicherdatenbus übertragen, der typischerweise eine Breite eines Wortes oder eines Halbworts hat. In Speichersubsystemen, die Caches verwenden, ist die Übertragung in Wortgröße die zwischen dem Prozessor und der ersten Ebene des Caches. auf niedrigeren Ebenen der Speicherhierarchie werden normalerweise größere Übertragungen (die ein Vielfaches der Wortgröße sind) verwendet.

Einheit der Adressenauflösung

In einer gegebenen Architektur bezeichnen aufeinanderfolgende Adresswerte aufeinanderfolgende Speichereinheiten; Diese Einheit ist die Einheit der Adressauflösung. Bei den meisten Computern ist die Einheit entweder ein Zeichen (z. B. ein Byte) oder ein Wort. (Einige Computer haben die Bitauflösung verwendet.) Wenn es sich bei der Einheit um ein Wort handelt, kann auf eine größere Menge an Speicher unter Verwendung einer Adresse einer bestimmten Größe zugegriffen werden, wobei zusätzliche Kosten für den Zugriff auf einzelne Zeichen erforderlich sind. Wenn es sich bei der Einheit jedoch um ein Byte handelt, können einzelne Zeichen adressiert werden (dh während der Speicheroperation ausgewählt werden.).

Anweisungen

Maschinenbefehle haben normalerweise die Größe des Worts der Architektur, beispielsweise in RISC-Architekturen oder ein Vielfaches der "char" -Größe, die einen Bruchteil davon darstellt. Dies ist eine natürliche Wahl, da Anweisungen und Daten normalerweise das gleiche Speichersubsystem verwenden. In Harvard-Architekturen müssen die Wortgrößen von Anweisungen und Daten nicht in Beziehung gesetzt werden, da Anweisungen und Daten in unterschiedlichen Speichern gespeichert werden. Beispielsweise hatte der Prozessor in der elektronischen Telefonzentrale 1ESS 37-Bit-Anweisungen und 23-Bit-Datenwörter.

Wahl der Wortgröße [ edit ]


Wenn eine Computerarchitektur entworfen wird ist die Wahl der Wortgröße von wesentlicher Bedeutung. Es gibt Entwurfsüberlegungen, die bestimmte Bitgruppengrößen für bestimmte Verwendungen (z. B. für Adressen) fördern, und diese Überlegungen weisen auf unterschiedliche Größen für unterschiedliche Verwendungen hin. Überlegungen zur Wirtschaftlichkeit im Design drängen jedoch stark auf eine Größe oder auf sehr wenige Größen, die durch Vielfache oder Brüche (Submultiples) auf eine Primärgröße bezogen werden. Diese bevorzugte Größe wird zur Wortgröße der Architektur.

Die Zeichengröße war in der Vergangenheit (Zeichencodierung vor Variablengröße) einer der Einflüsse auf die Einheit der Adressenauflösung und die Wahl der Wortgröße. Vor Mitte der 1960er Jahre wurden Zeichen meistens in sechs Bits gespeichert. Dies erlaubte nicht mehr als 64 Zeichen, sodass das Alphabet auf Großbuchstaben beschränkt war. Da es in Zeit und Raum effizient ist, die Wortgröße ein Vielfaches der Zeichengröße zu haben, waren die Wortgrößen in dieser Periode normalerweise Vielfache von 6 Bits (in binären Maschinen). Eine übliche Wahl war dann das 36-Bit-Wort, das auch eine gute Größe für die numerischen Eigenschaften eines Fließkomma-Formats ist.

Nach der Einführung des IBM System / 360-Designs, das Acht-Bit-Zeichen verwendete und Kleinbuchstaben unterstützte, betrug die Standardgröße eines Zeichens (oder genauer eines Bytes) acht Bit. Danach waren die Wortgrößen naturgemäß Vielfache von acht Bits, wobei 16, 32 und 64 Bits üblicherweise verwendet wurden.


Variable Wortarchitekturen [ edit ]


Frühe Maschinenkonzepte enthielten einige, die eine häufig als variable Wortlänge bezeichnete. Bei dieser Art von Organisation hatte ein numerischer Operand keine feste Länge, vielmehr wurde sein Ende erkannt, als ein Zeichen mit einer speziellen Markierung, oft als Wortmarke bezeichnet, gefunden wurde. Solche Maschinen verwendeten oft binär codierte Dezimalzahlen für Zahlen. Zu dieser Klasse von Maschinen gehörten IBM 702, IBM 705, IBM 7080, IBM 7010, UNIVAC 1050, IBM 1401 und IBM 1620.

Die meisten dieser Maschinen arbeiten jeweils nur mit einer Speichereinheit, und da jeder Befehl oder jedes Datum mehrere Einheiten umfasst, benötigt jeder Befehl mehrere Zyklen, um nur auf den Speicher zuzugreifen. Diese Maschinen sind deshalb oft ziemlich langsam. Beispielsweise holt ein Befehl auf einem IBM 1620 Model I 8 Zyklen, nur um die 12 Ziffern des Befehls zu lesen (das Modell II reduzierte dies auf 6 Zyklen oder 4 Zyklen, wenn der Befehl nicht beide Adressfelder benötigte). Die Befehlsausführung dauerte abhängig von der Größe der Operanden eine vollständig variable Anzahl von Zyklen.


Wort- und Byte-Adressierung [ edit ]


Das Speichermodell einer Architektur wird stark von der Wortgröße beeinflusst. Insbesondere wurde die Auflösung einer Speicheradresse, dh der kleinsten Einheit, die durch eine Adresse bestimmt werden kann, oft als das Wort gewählt. Bei diesem Ansatz bezeichnen Adresswerte, die sich um eins unterscheiden, benachbarte Speicherwörter. Dies ist bei Maschinen, die fast immer in Worteinheiten (oder Mehrfachworteinheiten) arbeiten, natürlich und hat den Vorteil, dass Befehle zur Verwendung von Feldern mit minimaler Größe verwendet werden können, um Adressen zu enthalten, was eine kleinere Befehlsgröße oder eine größere Vielfalt von Anweisungen zulässt.

Wenn die Byte-Verarbeitung einen erheblichen Teil der Arbeitslast ausmachen soll, ist es normalerweise vorteilhafter, das Byte anstelle des Wortes als Einheit für die Adressauflösung zu verwenden. Dadurch kann ein beliebiges Zeichen innerhalb einer Zeichenkette direkt angesprochen werden. Ein Wort kann zwar noch adressiert werden, aber die zu verwendende Adresse erfordert einige Bits mehr als die Wortauflösungsalternative. Die Wortgröße muss ein ganzzahliges Vielfaches der Zeichengröße in dieser Organisation sein. Dieser Adressierungsansatz wurde in IBM 360 verwendet und ist seither der gebräuchlichste Ansatz in Maschinen.

Auf einzelne Bytes kann auf eine wortorientierte Maschine auf zwei Arten zugegriffen werden. Bytes können durch eine Kombination von Schiebe- und Maskenoperationen in Registern bearbeitet werden. Um ein einzelnes Byte von einem beliebigen Ort an einen anderen zu verschieben, kann dies Folgendes bedeuten:


  1. LADEN das Wort, das das Quellbyte enthält.

  2. Verschieben Sie das Quellwort, um das gewünschte Byte an der korrekten Position im Zielwort auszurichten.

  3. UND das Quellwort mit einer Maske, um alle außer den gewünschten Bits auf Null zu setzen [19659041] LADEN Sie das Wort mit dem Zielbyte

  4. UND das Zielwort mit einer Maske, um das Zielbyte auf Null zu setzen

  5. ODER die Register, die die Quell- und Zielwörter enthalten, um das Quellbyte

  6. einzufügen Zielort

Alternativ implementieren viele wortorientierte Maschinen Byteoperationen mit Anweisungen, indem sie spezielle Bytezeiger in Registern oder im Speicher verwenden. In einem Beispiel enthielt der PDP-10-Bytezeiger die Größe des Bytes in Bits (wodurch auf Bytes unterschiedlicher Größe zugegriffen werden kann), die Bitposition des Bytes innerhalb des Wortes und die Wortadresse der Daten. Anweisungen könnten den Zeiger beim nächsten Byte automatisch anpassen, z. B. Laden und Ablegen (Speichern).


Zweierpotenzen [ edit ]


Unterschiedliche Speichermengen werden zum Speichern von Datenwerten mit unterschiedlicher Genauigkeit verwendet. Die üblicherweise verwendeten Größen sind in der Regel das Zweifache der Adressauflösungseinheit (Byte oder Wort). Das Konvertieren des Index eines Elements in einem Array in die Adresse des Elements erfordert dann nur eine Verschiebungsoperation statt einer Multiplikation. In einigen Fällen kann diese Beziehung auch die Verwendung von Divisionsoperationen vermeiden. Infolgedessen haben die meisten modernen Computerdesigns Wortgrößen (und andere Operandengrößen), die doppelt so groß sind wie ein Byte.


Größenfamilien [ edit ]


Da Computerdesigns immer komplexer werden, hat die zentrale Bedeutung einer einzelnen Wortgröße für eine Architektur abgenommen. Obwohl eine leistungsfähigere Hardware eine breitere Vielfalt von Datengrößen verwenden kann, üben die Marktkräfte Druck aus, um die Abwärtskompatibilität aufrechtzuerhalten und gleichzeitig die Prozessorfähigkeit zu erweitern. Folglich muss die möglicherweise in einem neuen Design die zentrale Wortgröße als alternative Größe neben der ursprünglichen Wortgröße in einem abwärtskompatiblen Design vorhanden sein. Die ursprüngliche Wortgröße bleibt in zukünftigen Designs verfügbar und bildet die Grundlage einer Größenfamilie.

Mitte der 70er Jahre entwarf DEC den VAX als 32-Bit-Nachfolger des 16-Bit-PDP-11. Sie verwendeten Wort für eine 16-Bit-Menge, während Langwort auf eine 32-Bit-Menge verwies. Dies stand im Gegensatz zu früheren Maschinen, bei denen die natürliche Einheit des Adressierungsspeichers als Wort bezeichnet wurde, während eine Menge, die ein halbes Wort ist, als Halbwort bezeichnet werden würde. In Übereinstimmung mit diesem Schema ist ein VAX -Vierwort 64 Bit. Sie setzten diese Wort / Langwort / Quadwort-Terminologie mit dem 64-Bit-Alpha fort.

Ein anderes Beispiel ist die x86-Familie, von der Prozessoren mit drei verschiedenen Wortlängen (16-Bit, später 32- und 64-Bit) veröffentlicht wurden, während Word weiterhin ein 16-Bit bezeichnet Menge. Da Software routinemäßig von einer Wortlänge zur nächsten portiert wird, definieren oder beziehen sich einige APIs und Dokumentation auf eine ältere (und damit kürzere) Wortlänge als die gesamte Wortlänge in der CPU, für die die Software kompiliert werden kann. Ähnlich wie Bytes für kleine Zahlen in vielen Programmen verwendet werden, kann ein kürzeres Wort (16 oder 32 Bit) in Kontexten verwendet werden, in denen der Bereich eines breiteren Wortes nicht benötigt wird (insbesondere, wenn dies erheblichen Stapelspeicherplatz oder Cache-Speicher einsparen kann Speicherplatz). Beispielsweise behält die Windows-API von Microsoft die Programmiersprachendefinition von WORD als 16 Bit bei, obwohl die API auf einem 32- oder 64-Bit-x86-Prozessor verwendet werden kann, wo die Standardwortgröße liegen würde 32 oder 64 Bit. Datenstrukturen, die solche Wörter unterschiedlicher Größe enthalten, beziehen sich auf sie als WORD (16 Bits / 2 Bytes), DWORD (32 Bits / 4 Bytes) und QWORD (64) Bits / 8 Bytes). Ein ähnliches Phänomen hat sich in der x86-Assemblersprache von Intel entwickelt. Aufgrund der Unterstützung verschiedener Größen (und Rückwärtskompatibilität) im Befehlssatz tragen einige Befehlssymbole "d" oder "q" Bezeichner, die "double", "quad-" bezeichnen. oder "double-quad-", was die ursprüngliche 16-Bit-Wortgröße der Architektur angibt.

Im Allgemeinen müssen neue Prozessoren die gleichen Datenwortlängen und virtuellen Adressbreiten wie ein älterer Prozessor verwenden, um eine binäre Kompatibilität mit diesem älteren Prozessor zu haben.

Oft kann sorgfältig geschriebener Quellcode - für Quellcode-Kompatibilität und Software-Portabilität geschrieben - für eine Vielzahl von Prozessoren neu kompiliert werden, auch wenn diese mit unterschiedlichen Datenwortlängen oder unterschiedlichen Adressbreiten oder beidem arbeiten.


Tabelle der Wortgrößen [ edit ]





















































































































































































































































































































































































































































































































































































































Schlüssel: Bit: Bits, d: Dezimalstellen, w : Wortgröße der Architektur, n : variable Größe
Jahr
Architektur von Computern
Wortgröße w
Ganzzahlen
Größen von Gleitkommazahlen
Instruction
Größen
Adresseinheit
Auflösung
Char size
1837
Babbage
Analysemotor
50 d
w
-
Fünf verschiedene Karten wurden für unterschiedliche Funktionen verwendet, die genaue Größe der Karten ist nicht bekannt.
w
-
1941
Zuse Z3
22 Bit
-
w
8 Bit
w
-
1942
ABC
50 Bit
w
-
-
-
-
1944
Harvard Mark I
23 d
w
-
24 Bit
-
-
1946
(1948)
{1953}
ENIAC
(mit Panel Nr. 16 [4])
{mit Panel Nr. 26 [5]}
10 d
w 2 w
(w)
{w}
-
-
(2 d, 4 d, 6 d, 8 d)
{2 d, 4 d, 6 d, 8 d}
-
-
{w}
-
1951
UNIVAC I
12 d
w
-
½ w
w
1 d
1952
IAS-Maschine
40 Bit
w
-
½ w
w
5 Bit
1952
Schneller universeller Digitalcomputer M-2
34 Bit
mit
w
34 Bit = 4 Bit Opcode plus 3 × 10 Bit Adresse
10 Bit
-
1952
IBM 701
36 Bit
1/2 w w
-
½ w
1/2 w w
6 Bit
1952
UNIVAC 60
n d
1 d, ... 10 d
-
-
-
2 d, 3 d
1952
ARRA I
30 Bit
w
-
w
w
5 Bit
1953
IBM 702
n d
0 d, ... 511 d
-
5 d
d
1 d
1953
UNIVAC 120
n d
1 d, ... 10 d
-
-
-
2 d, 3 d
1953
ARRA II
30 Bit
w
2 w
½ w
w
5 Bit
1954
(1955)
IBM 650
(mit IBM 653)
10 d
w
-
(w)
w
w
2 d
1954
IBM 704
36 Bit
w
w
w
w
6 Bit
1954
IBM 705
n d
0 d, ... 255 d
-
5 d
d
1 d
1954
IBM NORC
16 d
w
w 2 w
w
w
-
1956
IBM 305
n d
1 d, ... 100 d
-
10 d
d
1 d
1956
ARMAC
34 Bit
w
w
½ w
w
5 Bit, 6 Bit
1957
Autonetics Recomp I
40 Bit
w 79 Bit, 8 d, 15 d
-
½ w
1/2 w w
5 Bit
1958
UNIVAC II
12 d
w
-
½ w
w
1 d
1958
SAGE
32 Bit
½ w
-
w
w
6 Bit
1958
Autonetics Recomp II
40 Bit
w 79 Bit, 8 d, 15 d
2 w
½ w
1/2 w w
5 Bit
1958
Setun
6 Trit (~ 9,5 Bit) [ erforderliche Klarstellung bis zu 6 Tryte

bis zu 3 Trytes

4 Trit ?
1958
Electrologica X1
27 Bit
w
2 w
w
w
5 Bit, 6 Bit
1959
IBM 1401
n d
1 d, ...
-
1 d, 2 d, 4 d, 5 d, 7 d, 8 d
d
1 d
1959
(TBD)
IBM 1620
n d
2 d, ...
-
(4 Tage, ... 102 Tage)
12 d
d
2 d
1960
LARC
12 d
w 2 w
w 2 w
w
w
2 d
1960
CDC 1604
48 Bit
w
w
½ w
w
6 Bit
1960
IBM 1410
n d
1 d, ...
-
1 d, 2 d, 6 d, 7 d, 11 d, 12 d
d
1 d
1960
IBM 7070
10 d
w
w
w
w d
2 d
1960
PDP-1
18 Bit
w
-
w
w
6 Bit
1960
Elliott 803
39 Bit + 1 Parität





1961
IBM 7030
(Stretch)
64 Bit
1 Bit, ... 64 Bit,
1 d, ... 16 d
w
1/2 w w
b, ½ w w
1 Bit, ... 8 Bit
1961
IBM 7080
n d
0 d, ... 255 d
-
5 d
d
1 d
1962
GE-6xx
36 Bit
w 2 w
w 2 w 80 Bit
w
w
6 Bit, 9 Bit
1962
UNIVAC III
25 Bit
w 2 w 3 w 4 w 6 d, 12 d
-
w
w
6 Bit
1962
Autonetics D-17B
Minuteman I, Leitcomputer
27 Bit
11 Bit, 24 Bit
-
24 Bit
w
-
1962
UNIVAC 1107
36 Bit
[1945 w w 1/2 w w
w
w
w
6 Bit
1962
IBM 7010
n d
1 d, ...
-
1 d, 2 d, 6 d, 7 d, 11 d, 12 d
d
1 d
1962
IBM 7094
36 Bit
w
w 2 w
w
w
6 Bit
1962
SDS 9-Serie
24 Bit
w
2 w
w
w

1963
(1966)
Apollo-Leitrechner
15 Bit
w
-
w 2 w
w
-
1963
Saturn Launch Vehicle Digital Computer
26 Bit
w
-
13 Bit
w
-
1964/1966
PDP-6 / PDP-10
36 Bit
w
w 2 w
w
w
6 Bit, 9 Bit (typisch)
1964
Titan
48 Bit
w
w
w
w
w
1964
CDC 6600
60 Bit
w
w
¼ w 1/2 w
w
6 Bit
1964
Autonetics D-37C
Minuteman II, Leitcomputer
27 Bit
11 Bit, 24 Bit
-
24 Bit
w
4 Bit, 5 Bit
1965
Zwillingsleitcomputer
39 Bit
26 Bit
-
13 Bit
13 Bit, 26
- Bit
1965
IBM 360
32 Bit
½ w w
1 d, ... 16 d
w 2 w
½ w w w
8 Bit
8 Bit
1965
UNIVAC 1108
36 Bit
[1945 w ¼ w w w w 2 ] w
w 2 w
w
w
6 Bit, 9 Bit
1965
PDP-8
12 Bit
w
-
w
w
8 Bit
1965
Electrologica X8
27 Bit
w
2 w
w
w
6 Bit, 7 Bit
1966
SDS Sigma 7
32 Bit
1/2 w w
w 2 w
w
8 Bit
8 Bit
1969
Vierphasensysteme AL1
8 Bit
w
-
?
?
?
1970
MP944
20 Bit
w
-
?
?
?
1970
PDP-11
16 Bit
w
2 w 4 w
w 2 w 3 w
8 Bit
8 Bit
1971
TMS-1000
4 Bit
w
-
?
?
-
1971
Intel 4004
4 Bit
w d
-
2 w 4 w
w
-
1972
Intel 8008
8 Bit
w 2 d
-
w 2 w 3 w
w
8 Bit
1972
Calcomp 900
9 Bit
w
-
w 2 w
w
8 Bit
1974
Intel 8080
8 Bit
w 2 w 2 d
-
w 2 w 3 w
w
8 Bit
1975
ILLIAC IV
64 Bit
w
w 1/2 w
w
w
-
1975
Motorola 6800
8 Bit
w 2 d
-
w 2 w 3 w
w
8 Bit
1975
MOS Tech. 6501
MOS Tech. 6502
8 Bit
w 2 d
-
w 2 w 3 w
w
8 Bit
1976
Cray-1
64 Bit
24 Bit, w
w
¼ w 1/2 w
w
8 Bit
1976
Zilog Z80
8 Bit
w 2 w 2 d
-
w 2 w 3 w 4 w 5 w
w
8 Bit
1978
(1980)
16-Bit x86 (Intel 8086)
(mit Gleitkomma: Intel 8087)
16 Bit
1/2 w w 2 d
-
(2 w 4 w 5 w 17 d)
1/2 w w ... 7 w
8 Bit
8 Bit
1978
VAX
32 Bit
¼ w ½ w w 1 d, ... 31 d, 1 bit, ... 32 bit
w 2 w
¼ w ... 14¼ w
8 Bit
8 Bit
1979
(1984)
Motorola 68000-Serie
(mit Gleitkommawert)
32 Bit
¼ w ½ w w 2 d
-
( w 2 w w )
½ w w ... 7½ w
8 Bit
8 Bit
1985
IA-32 (Intel 80386) (mit Gleitkommawert)
32 Bit
8 Bit, ½ w w
-
(1/2 w w 80 Bit)
8 Bit, ... 15 Bit
8 Bit
8 Bit
1985
ARMv1
32 Bit
¼ w w
-
w
8 Bit
8 Bit
1985
MIPS
32 Bit
¼ w ½ w w
w 2 w
w
8 Bit
8 Bit
1991
Cray C90
64 Bit
32 Bit, w
w
¼ w 1/2 w 48 Bit
w
8 Bit
1992
Alpha
64 Bit
8 Bit, ¼ w ½ w w
w 2 w
½w
8 Bit
8 Bit
1992
PowerPC
32 Bit
¼ w ½ w w
w2w
w
8 bit
8 bit
1996
ARMv4
(w/Thumb)
32 bit
¼w½ww

w
ww)
8 bit
8 bit
2000
IBM z/Architecture
(w/vector facility)
64 bit
¼w½ww
1 d, ... 31 d
½ww2w
¼w½w¾w
8 bit
8 bit, UTF-16, UTF-32
2001
IA-64
64 bit
8 bit, ¼w½ww
½ww
41 bit
8 bit
8 bit
2001
ARMv6
(w/VFP)
32 bit
8 bit, ½ww

(w, 2w)
½ww
8 bit
8 bit
2003
x86-64
64 bit
8 bit, ¼w½ww
½ww80 bit
8 bit, ... 15 bit
8 bit
8 bit
2013
ARMv8-A
64 bit
8 bit, ¼w½ww
½ww
½w
8 bit
8 bit
Year
Computer
architecture
Word size w
Integer
sizes
Floating­point
sizes
Instruction
sizes
Unit of address
resolution
Char size
key: bit: bits, d: decimal digits, w: word size of architecture, n: variable size

[6][7]

See also[edit]


References[edit]



  1. ^ Schneider, Carl (2013) [1970]. Datenverarbeitungs-Lexikon [Lexicon of information technology] (in German) (softcover reprint of hardcover 1st ed.). Wiesbaden, Deutschland: Springer Fachmedien Wiesbaden GmbH / Betriebswirtschaftlicher Verlag Dr. Gabler GmbH. S. 201, 308. doi: 10.1007 / 978-3-663-13618-7. ISBN 978-3-409-31831-0. Retrieved 2016-05-24. slabAbk. aus syllable = Silbe, die kleinste adressierbare Informationseinheit für 12 bit zur Übertragung von zwei Alphazeichen oder drei numerischen Zeichen. (NCR) […] Hardware: Datenstruktur: NCR 315-100 / NCR 315-RMC; Wortlänge: Silbe; Bits: 12; Bytes: -; Dezimalziffern: 3; Zeichen: 2; Gleitkommadarstellung: fest verdrahtet; Mantisse: 4 Silben; Exponent: 1 Silbe (11 Stellen + 1 Vorzeichen) [slababbr. for syllable = syllable, smallest addressable information unit for 12 bits for the transfer of two alphabetical characters or three numerical characters. (NCR) […] Hardware: Data structure: NCR 315-100 / NCR 315-RMC; Word length: Syllable; Bits: 12; Bytes: -; Dezimalstellen: 3; Characters: 2; Floating point format: hard-wired; Significand: 4 syllables; Exponent: 1 syllable (11 digits + 1 prefix)]

  2. ^ Dreyfus, Phillippe (1958-05-08) [1958-05-06] written at Los Angeles, California, USA, "System design of the Gamma 60" (PDF)Proceedings of the May 6–8, 1958, Western Joint Computer Conference: Contrasts in ComputersACM, New York, NY, USA, pp. 130–133, IRE-ACM-AIEE '58 (Western), archived (PDF) from the original on 2017-04-03retrieved 2017-04-03[…] Internal data code is used: Quantitative (numerical) data are coded in a 4-bit decimal code; qualitative (alpha-numerical) data are coded in a 6-bit alphanumerical code. The internal instruction code means that the instructions are coded in straight binary code.
    As to the internal information length, the information quantum is called a "catena," and it is composed of 24 bits representing either 6 decimal digits, or 4 alphanumerical characters. This quantum must contain a multiple of 4 and 6 bits to represent a whole number of decimal or alphanumeric characters. Twenty-four bits was found to be a good compromise between the minimum 12 bits, which would lead to a too-low transfer flow from a parallel readout core memory, and 36 bits or more, which was judged as too large an information quantum. The catena is to be considered as the equivalent of a character in variable word length machines, but it cannot be called so, as it may contain several characters. It is transferred in series to and from the main memory.
    Not wanting to call a "quantum" a word, or a set of characters a letter, (a word is a word, and a quantum is something else), a new word was made, and it was called a "catena." It is an English word and exists in Webster's although it does not in French. Webster's definition of the word catena is, "a connected series;" therefore, a 24-bit information item. The word catena will be used hereafter.
    The internal code, therefore, has been defined. Now what are the external data codes? These depend primarily upon the information handling device involved. The Gamma 60 is designed to handle information relevant to any binary coded structure. Thus an 80-column punched card is considered as a 960-bit information item; 12 rows multiplied by 80 columns equals 960 possible punches; is stored as an exact image in 960 magnetic cores of the main memory with 2 card columns occupying one catena. […]


  3. ^ Blaauw, Gerrit Anne; Brooks, Jr., Frederick Phillips; Buchholz, Werner (1962), "4: Natural Data Units", in Buchholz, Werner, Planning a Computer System – Project Stretch (PDF)McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA., pp. 39–40, LCCN 61-10466, archived (PDF) from the original on 2017-04-03retrieved 2017-04-03[…] Terms used here to describe the structure imposed by the machine design, in addition to bitare listed below.
    Byte denotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other than character is used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (i.e., different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined from bitebut respelled to avoid accidental mutation to bit.)
    A word consists of the number of data bits transmitted in parallel from or to memory in one memory cycle. Word size is thus defined as a structural property of the memory. (The term catena was coined for this purpose by the designers of the Bull GAMMA 60 [fr] computer.)
    Block refers to the number of words transmitted to or from an input-output unit in response to a single input-output instruction. Block size is a structural property of an input-output unit; it may have been fixed by the design or left to be varied by the program. […]


  4. ^ Clippinger, Richard F. (1948-09-29). "A Logical Coding System Applied to the ENIAC (Electronic Numerical Integrator and Computer)". Aberdeen Proving Ground, Maryland, US: Ballistic Research Laboratories. Report No. 673; Project No. TB3-0007 of the Research and Development Division, Ordnance Department. Retrieved 2017-04-05.

  5. ^ Clippinger, Richard F. (1948-09-29). "A Logical Coding System Applied to the ENIAC". Aberdeen Proving Ground, Maryland, US: Ballistic Research Laboratories. Section VIII: Modified ENIAC. Retrieved 2017-04-05.

  6. ^ Blaauw, Gerrit Anne; Brooks, Jr., Frederick Phillips (1997). Computer Architecture: Concepts and Evolution. Addison-Wesley. ISBN 0-201-10557-8.

  7. ^ Ralston, Anthony; Reilly, Edwin D. (1993). Encyclopedia of Computer Science (3rd ed.). Van Nostrand Reinhold. ISBN 0-442-27679-6.










No comments:

Post a Comment