Inden for databehandling og anden programmerbar teknologi er et maskinord en dataenhed, der er valgt som naturligt for en given processorarkitektur.
Et maskinord er et stykke data af en fast størrelse, behandlet som en enhed af et instruktionssæt eller processorhardware. Antallet af bits i et maskinord - ordstørrelsen (alias ordbredde eller ordlængde) - er en vigtig egenskab ved enhver bestemt processorarkitektur eller computerarkitektur.
Størrelsen af et maskinord afspejles i mange aspekter af strukturen og driften af en computer. De fleste registre i en processor er typisk på størrelse med et maskinord, og den største mængde data, der kan overføres til og fra arbejdshukommelsen i en enkelt operation, er et maskinord i mange (ikke alle) arkitekturer. Den størst mulige adressestørrelse, der bruges til at adressere hukommelse (normalt byte for byte) er normalt et hardwareord (her betyder "hardwareord" processorens naturlige ord i fuld størrelse i modsætning til enhver anden anvendt definition).
Tidlige computere stødte på maskinordlængder, der varierede en del. I de dage var computere opdelt i forretningsorienterede og videnskabelige og tekniske. I forretningsorienterede computere, der beskæftigede sig med økonomiske og regnskabsmæssige beregninger, var høj nøjagtighed af beregninger ikke påkrævet , da beløbene altid blev afrundet til kun to hundrededele. I videnskabelige beregninger udføres operationer med reelle tal oftest, og nøjagtigheden af beregninger (antal decimaler / brøkpunkter) er meget vigtig. Da hukommelsesmoduler til tidlige computere var dyre, påvirkede valget af maskinordlængde direkte både nøjagtigheden af de beregninger, som computeren udførte, og dens omkostninger. Et 48-bit maskinord i videnskabelige og tekniske computere var meget populært [1] , fordi et 32-bit ord gjorde det muligt at udtrykke reelle tal med 6-7 decimaler, hvilket ikke var nok på grund af akkumulering af afrundingsfejl i komplekse beregninger (især tekniske). ), og et 64-bit ord med 15-16 decimaler var langt ud over præcisionskravene. Et 48-bit ord gjorde det muligt at udtrykke et reelt tal med 10 decimaler (det blev anset for acceptabelt for datidens videnskabelige og tekniske beregninger).
I 1950'erne og 1960'erne havde mange computere en ordlængde, der var et multiplum af 6 bit. Derefter blev der brugt en seks-bit-kodning , - 6 bit var nok til at repræsentere alle tal og alle bogstaver i det engelske alfabet : mulige kombinationer gjorde det muligt at kode 32 bogstaver (i store bogstaver), 10 tal og nogle tegnsætningstegn .
Senere steg kravene til nøjagtigheden af videnskabelige og tekniske beregninger, og i 1974 dukkede den første maskine med et 64-bit ord op - Cray-1 supercomputeren .
I langt de fleste moderne computere er ordlængden i bit en potens af to . I dette tilfælde bruges 8- og 16-bit tegn oftest.
På tidlige computere var et ord den mindste adresserbare hukommelsesplacering. I øjeblikket er den mindste adresserbare hukommelsescelle altid en byte , og et ord består af flere bytes. Dette fører til en tvetydig fortolkning af ordlængden. På 8086-processorer og deres efterkommere omtales f.eks. 16 bits (2 bytes) traditionelt som et "ord", selvom disse processorer kan behandle større datablokke på samme tid.
Generelt accepterer et bit -længde ord ikke- signerede heltalværdier fra 0 til inklusive med det samlede antal værdier selv .
År | Arkitektur | Ordstørrelse ( w ) i bits | Hel størrelse | Flydende komma størrelse | Instruktionsstørrelse _ |
---|---|---|---|---|---|
1952 | IBM 701 | 36 | ½ w , w | — | ½w _ |
1954 | IBM 704 | 36 | w | w | w |
1960 | PDP-1 | atten | w | — | w |
1960 | CDC 1604 | 48 | w | w | ½w _ |
1964 | CDC6600 | 60 | w | w | ¼ w , ½ w , w |
1965 | IBM 360 | 32 | ½ w , w , 1 d ... 31 d |
w , 2w | ½ w , w , 1½ w |
1965 | PDP-8 | 12 | w | — | w |
1968 | BESM-6 | 48 | w | w , 2w | ½w _ |
1970 | IBM 370 | 32 | ½ w , w , 1 d ... 31 d |
w , 2 w , 4 w | ½ w , w , 1½ w |
1970 | PDP-11 | 16 | ½ w , w | 2w , 4w _ | w , 2 w , 3 w |
1971 | Intel 4004 | fire | w , d | — | 2w , 4w _ |
1972 | Intel 8008 | otte | w , 2d | — | w , 2 w , 3 w |
1974 | Intel 8080 | otte | w , 2 w , 2 d | — | w , 2 w , 3 w |
1975 | Cray-1 | 64 | 24 b, w | w | ¼w , ½w _ |
1975 | MOS Tech. 6501 MOS Tech. 6502 |
otte | w , 2d | — | w , 2 w , 3 w |
1976 | Zilog Z80 | otte | w , 2 w , 2 d | — | w , 2 w , 3 w , 4 w |
1978 (1980) |
Intel 8086 (m/ Intel 8087 ) |
16 | ½ w , w , 2 d ( w , 2 w , 4 w ) |
- ( 2w , 4w , 5w , 17d ) |
½ w , w , … 7 w |
1978 | VAX -11/780 | 32 | ¼ w , ½ w , w , 1 d , … 31 d , 1 b , … 32 b | w , 2w | ¼w , … 14¼w |
1979 | Motorola 68000 | 32 | ¼ w , ½ w , w , 2 d | — | ½ w , w , … 7½ w |
1982 (1983) |
Motorola 68020 (m/Motorola 68881) |
32 | ¼ w , ½ w , w , 2 d | — ( w , 2 w , 2½ w ) |
½ w , w , … 7½ w |
1985 | ARM 1 | 32 | w | — | w |
1985 | MIPS32 | 32 | ¼ w , ½ w , w | w , 2w | w |
1989 | Intel 80486 | 16 (32) * | ½w , w , 2w , 2dw , 2w , 4w _ _ |
2w , 4w , 5w , 17d _ | ½ w , w , … 7 w |
1989 | Motorola 68040 | 32 | ¼ w , ½ w , w , 2 d | w , 2 w , 2½ w | ½ w , w , … 7½ w |
1991 | MIPS64 | 64 | ¼ w , ½ w , w | w , 2w | w |
1991 | PowerPC | 32 | ¼ w , ½ w , w | w , 2w | w |
1992 | SPARC v8 | 32 | ¼ w , ½ w , w | w , 2w | w |
1994 | SPARC v9 | 64 | ¼ w , ½ w , w | w , 2w | w |
2001 | Itanium ( IA-64 ) | 64 | 8 b, ¼ w , ½ w , w | ½ w , w | 41b |
2002 | Xscale | 32 | w | w , 2w | ½ w , w |
2003 | x86-64 | 64 | 8b, ¼ w , ½ w , w | ½ w , w , 1¼ w , 17 d | 8b |
2010 | RISC-V 32/64/128 | 32 | ¼ w , ½ w , w , 2 w , 4 w | w , 2 w , 4 w | w , ½ w [2] |
Betegnelser:
For 32-bit x86 - arkitekturprocessorer : historisk set betragtes 16 bit som et maskinord, i virkeligheden - 32 bit .
Informationsenheder | |
---|---|
Basisenheder | |
Relaterede enheder | |
Traditionelle bit-enheder | |
Traditionelle byte-enheder | |
IEC bit-enheder |
|
IEC byte enheder |
Datatyper | |
---|---|
Ufortolkelig | |
Numerisk | |
Tekst | |
Reference | |
Sammensatte | |
abstrakt | |
Andet | |
relaterede emner |