Word (computer)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - „Cuvântul” se referă aici. Dacă sunteți în căutarea procesorului de text, consultați Microsoft Word .
Notă despre dezambiguizare.svg Dezambiguizare - "Cuvinte" se referă aici. Dacă căutați alte semnificații, consultați Cuvinte (dezambiguizare) .

În informatică , cuvânt (din cuvântul englez ) este un termen care identifică dimensiunea nativă a datelor utilizate de un computer . Un cuvânt este un grup de biți de o anumită dimensiune care sunt gestionați ca unități de setul de instrucțiuni sau de hardware - ul unui procesor . Dimensiunea (sau lungimea) cuvântului este o caracteristică importantă a arhitecturii unui computer.

Dimensiunea sa afectează mai multe aspecte ale structurii și funcționării unui computer, deoarece este la fel ca majoritatea registrelor microprocesorului. Dimensiunea datelor transferate de la CPU la memorie este, de asemenea, de dimensiunea unui cuvânt. În cele din urmă, adresele utilizate pentru a specifica locațiile de memorie sunt de obicei cuvinte unice.

fundal

Microprocesoarele moderne au de obicei cuvinte pe 16, 32 sau 64 de biți. Multe alte dimensiuni au fost utilizate în trecut, inclusiv 12, 36 și 60 de biți; placa este un exemplu de dimensiune timpurie a cuvântului. Multe computere timpurii erau mai degrabă zecimale decât binare și, de obicei, aveau cuvinte de 10 sau 12 cifre zecimale, iar unele computere nici măcar nu aveau un cuvânt cu lungimea definită.

Cele mai frecvente microprocesoare utilizate în computerele actuale se bazează și pe IA-32 (de exemplu, Pentium de Intel și Athlon de la AMD ). Această arhitectură este o extensie a cadrului Intel 8086 , care avea un cuvânt pe 16 biți. Arhitectura IA-32 acceptă încă software-ul scris pentru 8086, astfel încât conceptul de „cuvânt” în contextul IA-32 nu s-a schimbat. Acest lucru este adesea confuz, deoarece cuvântul IA-32 este pe 32 de biți, dar termenul „cuvânt” din această arhitectură se referă la o dimensiune de 16 biți.

Descriere

Cuvintele fiind programate

Din motive legate în principal de portabilitatea codului sursă , în limbile de programare termenul cuvânt este folosit în general fără a specifica dimensiunea și este considerat un tip de date . În acest caz, indică întotdeauna un grup de 16 biți. Este utilizat împreună cu alte tipuri de date: nibble (4 biți), octeți (8 biți), dword sau cuvânt dublu (32 biți), qword sau quad cuvânt (64 biți).

Atunci când un program procesează date de tip cuvânt, acesta trebuie să țină cont de ordinea octeților în care sunt stocate datele.

Folosești cuvinte

În funcție de modul în care este organizat un computer, unitățile de dimensiunea unui cuvânt pot fi utilizate pentru:

  • Numere întregi - „Containere” pentru numere întregi de diferite dimensiuni pot fi disponibile, dar unul dintre acestea va fi întotdeauna un cuvânt. Alte dimensiuni, dacă există, sunt de obicei multipli sau fracțiuni ale dimensiunii cuvântului. Dimensiunea mai mică este utilizată în mod normal numai pentru o gestionare mai eficientă a memoriei ; când sunt încărcate în procesor (de exemplu într-un registru), valorile lor sunt de obicei folosite ca cuvinte.
  • Adrese - Word este utilizat în general pentru adresele de memorie. Acesta este unul dintre principalele motive pentru care cuvântul procesoarelor a crescut în timp. Procesoarele de 64 de biți de astăzi pot adresa 8-9 gigaocteți de memorie, ceea ce este de obicei mult mai mult decât suficient. Cu toate acestea, unele aplicații, de obicei baze de date , pot necesita această dimensiune și acest lucru a dat impulsul migrării arhitecturii pe 64 de biți. Pe arhitecturile anterioare de 8 sau 16 biți, gestionarea memoriei a fost mai complexă datorită dimensiunii reduse a cuvântului.
  • Registre - În general, este dimensiunea registrelor microprocesorului care desemnează dimensiunea cuvântului. De fapt, dimensiunea maximă a registrelor definește, în general, limitele datelor utilizabile (numere și adrese de memorie).
  • Legătură procesor-memorie - Când procesorul citește date din memorie și le scrie într-un registru sau invers, cantitatea de date transferate este adesea un cuvânt. În gestionarii de memorie mai simpli, cuvântul este transferat printr-o magistrală de date , care are de obicei dimensiunea cuvântului sau jumătate din acesta. În gestionarii de memorie care utilizează un cache , transferul între procesor și cache-ul de nivel superior este de mărimea cuvântului; între cache și memorie, în mod normal, sunt folosite transferuri mai mari (multipli ai cuvântului).
  • Unități de rezoluție a adreselor - De obicei, valorile care reprezintă adresele de memorie utilizează octetul ca unitate. Cu toate acestea, în general, nu este posibil să accesați un octet arbitrar, ci doar la locațiile de memorie de dimensiunea unui cuvânt, care trebuie să aibă o adresă care este multiplă a unui cuvânt. Prin urmare, datele trebuie aliniate la mai multe valori ale cuvântului. Pentru a citi o valoare mai mică decât cea a cuvântului (de exemplu, un singur octet sau un singur bit), este necesar să citiți tot cuvântul de memorie care îl conține (și să aruncați datele în exces).
  • Instrucțiuni - Instrucțiunile în limbajul mașinii sunt codificate în mod normal cu numere (numite opcodes ) de dimensiunea unui cuvânt. Aceasta este o alegere firească, deoarece datele și instrucțiunile partajează în mod normal aceeași memorie de sistem. Cu toate acestea, deoarece setul de instrucțiuni este de obicei destul de mic, dimensiunea codurilor opționale poate fi o fracțiune din cuvânt.

Dimensiunea familiilor

Odată cu creșterea complexității proiectării computerelor, importanța dimensiunii cuvintelor în arhitectură a scăzut. Acest lucru se datorează capacității mai mari a hardware-ului de a utiliza o gamă mai largă de dimensiuni pentru date, deoarece dimensiunile diferite au o eficiență diferită în diferite contexte. Una dintre probleme, cu toate acestea, este necesitatea de a menține compatibilitatea înapoi , crescând în același timp performanța și capabilitățile procesoarelor. În consecință, dimensiunea aleasă pentru cuvântul din proiectul original trebuie să poată coexista cu dimensiuni alternative fără a afecta compatibilitatea cu codul existent.

Unul dintre cele mai cunoscute exemple este arhitectura x86 . Designul original al modelului 8086 prevedea în mod clar un cuvânt pe 16 biți. Designul mult mai avansat al modelului 80386 a adăugat la baza modelului 8086 o organizație bazată pe unități pe 32 de biți. Dacă ar fi fost un proiect fără restricții, ar fi avut un cuvânt pe 32 de biți, dar fiind o extensie a 8086, dimensiunea cuvântului a continuat să fie de 16 biți. Aceeași situație a reapărut recent, odată cu extinderea acestei arhitecturi la 64 de biți.

Prin urmare, arhitectura computerelor moderne, mai degrabă decât pe o singură dimensiune de cuvânt omniprezentă, se bazează pe o „familie” de dimensiuni strâns legate (fiind puteri de 2 din cea mai mică dimensiune). Prin urmare, ar fi arbitrar să definim una dintre aceste dimensiuni ca fiind cuvântul de arhitectură și tocmai din aceste motive istorice, termenul cuvânt este acum aproape considerat pur și simplu sinonimul „16 biți” (la fel cum octetul este sinonimul „8 pic").

Alegerea dimensiunii cuvântului

Atunci când proiectați arhitectura unui computer, alegerea dimensiunii cuvântului are o importanță substanțială. Există considerații de proiectare care sugerează dimensiuni specifice ale grupurilor de biți pentru utilizări particulare (de exemplu, pentru adrese), iar aceste considerații conduc la dimensiuni diferite pentru utilizări diferite. Cu toate acestea, aspectele economice din proiectare împing o singură dimensiune sau o serie foarte mică de dimensiuni diferite, dar rezultate din multipli sau submultipli ai unei dimensiuni primare. Această dimensiune preferențială devine cuvântul dimensiune în arhitectură.

Mărimea „ personajului ” este una dintre cele care influențează alegerea cuvântului. Înainte de mijlocul anilor 1960 , caracterele erau adesea înregistrate ca numere pe 6 biți; acest lucru a permis să nu aibă mai mult de 64 de caractere, deci literali au fost limitate la litere mari. Deoarece timpul și spațiul sunt eficiente pentru a avea cuvântul multiplu al dimensiunii fontului, cuvintele din acel moment erau multipli de 6 biți (în mașinile binare). O alegere obișnuită a fost cuvântul de 36 de biți, care avea și o dimensiune bună pentru numerele cu virgulă mobilă.

După introducerea IBM de către System / 360 , al cărei design folosea caractere pe 8 biți și care suporta și litere mici, dimensiunea standard a caracterelor (sau, mai precis, octetul ) a devenit 8 biți. În consecință, dimensiunea cuvântului a devenit în mod natural un multiplu de 8 biți, cu cuvinte de 16, 32 și 64 de biți.

Arhitecturi de cuvinte variabile

Arhitecturile timpurii ale computerului includeau unele care foloseau ceea ce se numește adesea „cuvinte cu lungime variabilă”. În acest tip de arhitectură, operanzii numerici nu au o dimensiune fixă, dar lungimea lor este determinată de un caracter special de terminator . Aceste mașini foloseau codificarea zecimală codată binar (BCD) pentru cifre; exemple sunt IBM 702 , IBM 1401 și IBM 1620 .

Adresare Word și byte

Modelul de memorie al unei arhitecturi este puternic influențat de dimensiunea cuvântului. În special, rezoluția adreselor de memorie (cea mai mică unitate de memorie care poate fi adresată) este în general de mărimea unui cuvânt. În această abordare, valorile adreselor care diferă una indică cuvintele adiacente din memorie. Acest lucru este firesc pentru mașinile care funcționează aproape exclusiv cu cuvinte (sau multipli de cuvinte) și are avantajul de a permite instrucțiunilor să folosească câmpuri minime pentru a păstra adrese, ceea ce permite o dimensiune mai mică a instrucțiunilor sau mai mult.

Când gestionarea octeților este o parte semnificativă a volumului de lucru, este de obicei mai avantajos să folosiți octetul mai degrabă decât cuvântul ca unitate de rezoluție a memoriei. Acest lucru vă permite să accesați cu ușurință un caracter arbitrar într-un șir . Un cuvânt poate fi încă adresat, dar adresa utilizată necesită mai mulți biți decât alternativa de rezoluție a cuvântului. În aceste arhitecturi, dimensiunea cuvântului trebuie să fie un multiplu întreg al dimensiunii octeților. Această abordare de adresare a fost utilizată în IBM 360 și a fost cea mai comună abordare în proiectarea computerelor de atunci.

Puterea a 2

Valorile datelor pot ocupa diferite dimensiuni în memorie, deoarece, de exemplu, unele numere trebuie să aibă o precizie mai mare decât altele. Dimensiunile utilizate în mod obișnuit sunt alese ca puteri a 2 multipli ai unității de rezoluție a adresei (octet sau cuvânt). Acest lucru este convenabil deoarece convertirea indexului unui element dintr-o matrice la adresa de memorie a elementului necesită doar o operație de schimbare mai degrabă decât o multiplicare . În unele cazuri, această relație face posibilă evitarea folosirii diviziunilor . În consecință, multe computere moderne au dimensiuni de cuvinte (și alți operanzi) care sunt puteri de 2 din dimensiunea octeților.

Tabel cu dimensiunea cuvintelor

An Arhitectură
De computer
Dimensiune
a cuvântului ( w )
Dimensiuni
a numerelor întregi
Dimensiuni
punctul de plutire
Dimensiuni
a instrucțiunilor
Aliniere
de memorie
1941 Z3 22 b - w 8 b w
1942 ABC 50 b w - - -
1944 Harvard Mark I 23 d w - 24 b -
1946
(1948)
ENIAC 10 zile w - -
(2 d [1] )
-
1951 UNIVAC I. 12 d w - ½ w w
1952 Mașină IAS 40 b w - ½ w w
1952 IBM 701 36 b ½ w , w - ½ w ½ w
1953 IBM 702 n d 0 d, ... 511 d - 5 d d
1954 IBM 650 10 zile w w w w
1954 IBM 704 36 b w w w w
1954 IBM 705 n d 0 d, ... 255 d - 5 d d
1959 IBM 1401 n d 1 zi , ... - d , 4 d , 5 d , 7 d , 8 d d
1959 IBM 1620 n d 2 d, ... 4 d ... 102 d 12 d d
1960 LARC 12 d w , 2 w w , 2 w w w
1960 PDP-1 18 b w - w w
1961 IBM 7030 Stretch 64 b 1 b , ... 64 b ,
1 d, ... 16 d
w ½ w , w b, ½ w , w
1962 IBM 7094 36 b w w , 2 w w w
1964 CDC 6600 60 b w w ¼ w , ½ w w
1965 IBM 360 32 b ½ w , w ,
1 d, ... 16 d
w , 2 w ½ w , w , 1½ w 8 b
1965 UNIVAC 1108 36 b 1/6 w, w ¼, 1/3 w, w ½, w w , 2 w w w
1965 PDP-8 12 b w - w w
1970 PDP-11 16 b w 2 w , 4 w w , 2 w , 3 w 8 b
1971 Intel 4004 4 b w - 2 w , 4 w w
1972 Intel 8008 8 b w - w , 2 w , 3 w w
1975 Cray-1 64 b 24 b, w w ¼ w , ½ w w
1978
(1980)
Intel 8086
(cu Intel 8087 )
16 b 8 b, w
( w , 2 w , 4 w )
-
( 2w , 4w , 5w , 17d )
8, 16, 24, ... 112 b 8 b
1978 VAX -11/780 32 b 8 b, ½ w , w , 1 d , ... 31 d , 1 b , ... 32 b w , 2 w TBD 8 b
1979 Motorola 68000 32 b 8 b, ½ w , w - ½ w , w , ... TBD 8 b
1982
(1983)
Motorola 68020
(cu Motorola 68881 )
32 b 8 b, ½ w , w -
( w , 2 w , 2½ w )
½ w , w , ... TBD 8 b
1985 MIPS 32 b 8 b, ½ w , w w , 2 w w 8 b
1991 PowerPC 32 b 8 b, ½ w , w w , 2 w w 8 b
2000 Itanium ( IA-64 ) 64 b 8 b, ¼ w , ½ w , w ½ w , w 41 b 8 b
legenda: b: biți, d: cifre digitale, w: dimensiunea cuvântului arhitectură, n : dimensiune variabilă

Bibliografie

  • Gerrit A. Blaauw , Frederick P. Brooks, Computer Architecture: Concepts and Evolution (Addison-Wesley, 1997, ISBN 0-201-10557-8 )
  • Anthony Ralston, Edwin D. Reilly, Encyclopedia of Computer Science Ediția a treia (Van Nostrand Reinhold, 1993, ISBN 0-442-27679-6 )

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT