Laskentatekniikassa ja muussa ohjelmoitavassa tekniikassa konesana on datayksikkö, joka valitaan tietylle prosessoriarkkitehtuurille luonnolliseksi.
Konesana on kiinteän kokoinen tieto, jota käskysarja tai prosessorilaitteisto käsittelee yksikkönä. Konesanan bittien määrä - sanan koko (alias sanan leveys tai sanan pituus) - on tärkeä ominaisuus mille tahansa tietylle prosessoriarkkitehtuurille tai tietokonearkkitehtuurille.
Konesanan koko heijastuu moniin tietokoneen rakenteen ja toiminnan näkökohtiin. Useimmat prosessorin rekisterit ovat tyypillisesti konesanan kokoisia, ja suurin määrä dataa, joka voidaan siirtää työmuistiin ja työmuistista yhdellä toimenpiteellä, on konesana monissa (ei kaikissa) arkkitehtuureissa. Suurin mahdollinen osoitekoko, jota käytetään muistin osoittamiseen (yleensä tavu tavulta) on yleensä laitteistosana (tässä "laitteistosana" tarkoittaa prosessorin täysikokoista luonnollista sanaa, toisin kuin mitä tahansa muuta käytettyä määritelmää).
Varhaiset tietokoneet kohtasivat konesanojen pituuksia, jotka vaihtelivat melko vähän. Tuohon aikaan tietokoneet jaettiin liiketoiminnallisiin ja tieteellisiin ja teknisiin. Talous- ja kirjanpitolaskelmia tehneissä yrityskeskeisissä tietokoneissa ei vaadittu suurta laskelmien tarkkuutta , koska summat pyöristettiin aina vain kahteen sadasosaan. Tieteellisissä laskelmissa operaatioita suoritetaan useimmiten reaaliluvuilla , ja laskelmien tarkkuus (desimaalien / murtopisteiden lukumäärä) on erittäin tärkeä. Koska varhaisten tietokoneiden muistimoduulit olivat kalliita, konesanan pituuden valinta vaikutti suoraan sekä tietokoneen suorittamien laskelmien tarkkuuteen että sen hintaan. 48-bittinen konesana tieteellisissä ja teknisissä tietokoneissa oli erittäin suosittu [1] , koska 32-bittinen sana mahdollisti reaalilukujen ilmaisemisen 6–7 desimaalin tarkkuudella, mikä ei riittänyt pyöristysvirheiden kertymisen vuoksi. monimutkaiset laskelmat (erityisesti tekniset). ), ja 64-bittinen sana 15-16 desimaalilla ylitti paljon tarkkuusvaatimukset. 48-bittinen sana mahdollisti reaaliluvun ilmaisemisen 10 desimaalin tarkkuudella (se katsottiin tuolloin hyväksyttäväksi tieteellisiin ja teknisiin laskelmiin).
1950- ja 1960-luvuilla monien tietokoneiden sanan pituus oli 6 bitin kerrannainen. Sitten käytettiin kuuden bitin koodausta , - 6 bittiä riitti edustamaan kaikkia numeroita ja kaikkia englannin aakkosten kirjaimia : mahdolliset yhdistelmät mahdollistivat 32 kirjaimen (isoilla kirjaimilla), 10 numeron ja joidenkin välimerkkien koodauksen .
Myöhemmin vaatimukset tieteellisten ja teknisten laskelmien tarkkuudelle kasvoivat, ja vuonna 1974 ilmestyi ensimmäinen kone, jossa oli 64-bittinen sana - Cray-1- supertietokone .
Suurimmassa osassa nykyaikaisia tietokoneita sanan pituus bitteinä on kahden potenssi . Tässä tapauksessa käytetään useimmiten 8- ja 16-bittisiä merkkejä.
Varhaisissa tietokoneissa sana oli pienin osoitettavissa oleva muistipaikka. Tällä hetkellä pienin osoitettavissa oleva muistisolu on aina tavu ja sana koostuu useista tavuista. Tämä johtaa epäselvään tulkintaan sanan pituudesta. Esimerkiksi 8086-prosessoreissa ja niiden jälkeläisissä 16 bittiä (2 tavua) kutsutaan perinteisesti "sanaksi", vaikka nämä prosessorit voivat käsitellä suurempia datalohkoja samanaikaisesti.
Yleensä bittipituinen sana hyväksyy etumerkittömiä kokonaislukuja 0:sta mukaan lukien arvojen kokonaismäärä .
vuosi | Arkkitehtuuri | Sanan koko ( w ) bitteinä | Koko koko | Liukulukukoko _ | Ohjeen koko |
---|---|---|---|---|---|
1952 | IBM 701 | 36 | ½ w , w | — | ½ v _ |
1954 | IBM 704 | 36 | w | w | w |
1960 | PDP-1 | kahdeksantoista | w | — | w |
1960 | CDC 1604 | 48 | w | w | ½ v _ |
1964 | CDC6600 | 60 | w | w | ¼ w , ½ w , w |
1965 | IBM 360 | 32 | ½ w , w , 1 pv … 31 pv |
w , 2w | ½ l , l , 1½ l |
1965 | PDP-8 | 12 | w | — | w |
1968 | BESM-6 | 48 | w | w , 2w | ½ v _ |
1970 | IBM 370 | 32 | ½ w , w , 1 pv … 31 pv |
l , 2 p , 4 p | ½ l , l , 1½ l |
1970 | PDP-11 | 16 | ½ w , w | 2v , 4v_ _ | l , 2 p , 3 p |
1971 | Intel 4004 | neljä | w , d | — | 2v , 4v_ _ |
1972 | Intel 8008 | kahdeksan | w , 2d | — | l , 2 p , 3 p |
1974 | Intel 8080 | kahdeksan | w , 2 w , 2 pv | — | l , 2 p , 3 p |
1975 | Cray-1 | 64 | 24 b, w | w | ¼ v , ½ v _ |
1975 | MOS Tech. 6501 MOS Tech. 6502 |
kahdeksan | w , 2d | — | l , 2 p , 3 p |
1976 | Zilog Z80 | kahdeksan | w , 2 w , 2 pv | — | l , 2 l , 3 l , 4 p |
1978 (1980) |
Intel 8086 ( Intel 8087 :n kanssa ) |
16 | ½ l , l , 2 p ( l , 2 k , 4 p ) |
- ( 2v , 4v , 5v , 17p ) |
½ w , w , … 7 w |
1978 | VAX -11/780 | 32 | ¼ l , ½ l , 1 p , … 31 p , 1 b , … 32 p | w , 2w | ¼w , … 14¼w |
1979 | Motorola 68000 | 32 | ¼ w , ½ w , l , 2 pv | — | ½ l , l , … 7½ l |
1982 (1983) |
Motorola 68020 (ja Motorola 68881) |
32 | ¼ w , ½ w , l , 2 pv | — ( l , 2 l , 2½ l ) |
½ l , l , … 7½ l |
1985 | KÄSI 1 | 32 | w | — | w |
1985 | MIPS32 | 32 | ¼ w , ½ w , w | w , 2w | w |
1989 | Intel 80486 | 16 (32) * | ½ v , l , 2 v , 2 v , 2 v , 4 v _ _ |
2vk , 4vk , 5vk , 17pv_ _ | ½ w , w , … 7 w |
1989 | Motorola 68040 | 32 | ¼ w , ½ w , l , 2 pv | l , 2 l , 2½ l | ½ l , l , … 7½ l |
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 | ½ l , l , 1¼ l , 17 pv | 8b |
2010 | RISC-V 32/64/128 | 32 | ¼ l , ½ l , l , 2 l , 4 l | l , 2 p , 4 p | w , ½ w [2] |
Nimitykset:
32-bittisille x86 - arkkitehtuuriprosessoreille : historiallisesti 16 bittiä pidetään konesanana, todellisuudessa - 32 bittiä .
Tietoyksiköt | |
---|---|
Perusyksiköt | |
Liittyvät yksiköt | |
Perinteiset bittiyksiköt | |
Perinteiset tavuyksiköt | |
IEC -bittiyksiköt |
|
IEC -tavuyksiköt |
Tietotyypit | |
---|---|
Käsittämätön | |
Numeerinen | |
Teksti | |
Viite | |
Komposiitti | |
abstrakti | |
muu | |
liittyvät aiheet |