Word (počítačová architektura)

V počítačové architektuře je slovo základní jednotka manipulovaná mikroprocesorem . Mluvíme také o strojovém slovu nebo slově . Velikost slova je vyjádřena v bitech . Pro „širokou veřejnost“ hardwarových architektur, je uveden v bytech , a je často používán ke klasifikaci mikroprocesory ( 32 bitů , 64 bitů ,  atd ). Pokud jsou všechny ostatní věci stejné, mikroprocesor je rychlejší, čím delší jsou jeho slova, protože data, která zpracovává v každém cyklu, jsou důležitější. Na mikroprocesorech, které dokáží zpracovat různé velikosti dat, je velikost slov zvolena libovolně, aby byla zajištěna konvence pojmenování (zejména slova, jejichž mnemotechnická pomůcka neobsahuje výslovnou indikaci velikosti). Obvykle vezmeme velikost hlavních datových registrů nebo velikost datové sběrnice .

Tyto počítače hlavního proudu moderní procesory moderní obvykle používají data z 8, 16, 32 nebo 64 bitů, ačkoliv jiné rozměry jsou možné. Tyto velikosti byly historicky opraveny fyzickou architekturou, která se vyvíjela v průběhu věků. S interoperabilitou je nomenklatura nejčastěji používaná prodejci jazyků pro vývoj softwaru standardizována takto:

Tento koncept je částečně teoretizován pojmem slovo v matematice .

Na druhé straně na úrovni hardwarové architektury je „slovem“ v podstatě velikost paměťové sběrnice, to znamená velikost jednotkové datové položky schopné procházet mezi oblastmi paměťové paměti a registry centrálního procesoru. (viz. níže). Tato velikost není standardizovaná, ale obvykle jde o celý nebo zlomkový násobek slova „software“, tj. Násobek 16.

použití

V závislosti na studované architektuře lze jednotková data redukovaná na slovo použít pro:

Skutečné číslo pevného bodu

Skutečné číslo s pevným bodem se používá k uložení čísla s pevným bodem  ; konvenčně celé číslo , číselná hodnota dostupná v jedné nebo více kapacitách, ale jednou z těchto velikostí bude téměř vždy slovo.

Ostatní velikosti, pokud existují, jsou zlomky nebo násobky slova a referenčního celého čísla z důvodu optimalizace paměti: pokud jsou k dispozici v rámci procesoru, více hodnot bude v registru upraveném na velikost jednoho nebo více slova.

Číslo s plovoucí desetinnou čárkou

Číslo s plovoucí desetinnou čárkou obsahuje skutečné číslo s plovoucí desetinnou čárkou , číselnou hodnotu běžně o velikosti slova nebo násobku slova.

Adresa

Adresa obsahuje ukazatel na umístění v paměti, a proto musí mít velikost potřebnou k adresování libovolného umístění v paměti, aniž by byla příliš velká. Velikost je často slovní, což umožňuje adresovat kapacitu paměti, ale může to být také zlomek velikosti slova.

Registrovat

Registr procesoru je navržen tak, aby měl velikost přizpůsobenou velikosti dat, které bude obsahovat, například, je celé číslo , s plovoucí desetinnou čárkou nebo ukazatel . Mnoho architektur používá „víceúčelové registry“, které mohou obsahovat mnoho typů dat; potom musí být dimenzovány tak, aby vyhovovaly největšímu datovému typu. Historicky se jedná o velikost slova studované architektury, i když pro konkrétní potřeby byly postupně přidávány nové registry, aby bylo možné zpracovat nové typy dat.

Proměnné procesoru pro přenos paměti

Když procesor přenáší mezi pamětí a svými vlastními registry, množství dat, které mají být přeneseny, je obvykle jedno slovo. V jednoduchých paměťových architekturách se slovo přenáší do paměti prostřednictvím paměťové sběrnice , která je obvykle jedno slovo nebo polovina slova široká. V architekturách, které podporují mezipaměť , jsou přenosy ve velikosti slova mezi procesorem a první úrovní mezipaměti; na jiných úrovních hierarchie paměti se používají větší převody (velikost násobku slova).

Jednotka adresování

Pro danou architekturu označují po sobě jdoucí adresy postupné paměťové jednotky; tato jednotka je adresovací jednotka. U většiny počítačů je to velikost znaku, tj. Bajtu nebo slova. Některé architektury mají bitovou velikost adresovací jednotky . Pokud je touto jednotkou slovo, pak lze adresovat větší množství paměti pomocí adresy libovolné velikosti s protějškem zvýšené složitosti pro jednobajtové adresování. Jako důsledek platí, že pokud je adresovací jednotkou bajt, lze „znaky“ adresovat přímo (například během paměťových vstupů / výstupů).

Instrukce

Výuka strojového jazyka má obvykle velikost slova, jako je tomu v architekturách RISC , nebo velikost jednoho z jeho násobků. Toto je přirozená volba, protože pokyny a data sdílejí stejnou paměť v systému. V architektuře Harvardu nesouvisí velikosti slov instrukcí a dat, protože data jsou uložena v různých pamětí; například procesor v telefonním přepínači 1ESS má 37bitové instrukční sady a umístění paměti na základě 23bitových slov.

Vývoj velikosti slova v průběhu let

klíč: b: bits, d: decimal "digit", w : velikost slova (slova) v architektuře, n : velikost proměnných
Rok Počítačová
architektura
Velikost slova
w
Velikost
celého čísla
Velikost
plovoucího bodu

Pokyny k velikosti

Rozlišení adresy jednotky
Velikost
nádrže
1837 Babbage
Analytical Machine
50 d w - Pro různé účely bylo použito pět různých karet, přesná velikost karet není známa w -
1941 Zuse Z3 22 b - w 8 b w -
1942 ABC 50 b w - - - -
1944 Harvard Mark I. 23 d w - 24 b - -
1946
(1948)
{1953}
ENIAC
(s panelem č. 16)
{s panelem č. 26}
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 - ½ t w 1 d
1952 Stroj IAS 40 b w - ½ t w 5 b
1952 Rychlý univerzální digitální počítač M-2 34 b w? w 34 b = 4 b opcode plus 3 × 10 b adresa 10 b -
1952 IBM 701 36 b ½ t , t - ½ t ½ t , t 6 b
1952 UNIVAC 60 n d 1 d , ... 10 d - - - 2 d , 3 d
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
1954
(1955)
IBM 650
(s IBM 653 )
10 d w -
( w )
w w 2 d
1954 IBM 704 36 b w w w w 6 b
1954 IBM 705 n d 0 d , ... 255 d - 5 d d 1 d
1954 IBM NORC 16 d w t , 2 t w w -
1956 IBM 305 n d 1 d , ... 100 d - 10 d d 1 d
1957 Autonetics Recomp I 40 b w , 79 b, 8 d , 15 d - ½ t ½ t , t 5 b
1958 UNIVAC II 12 d w - ½ t w 1 d
1958 MOUDRÝ 32 b ½ t - w w 6 b
1958 Autonetics Recomp II 40 b w , 79 b, 8 d , 15 d 2 t ½ t ½ t , t 5 b
1958 Setun triků (~ 9,5 b) až 6  Tryte až 3 Tryte 4 trit ?
1959 IBM 1401 n d 1 d , ... - d , 2 d , 4 d , 5 d , 7 d , 8 d d 1 d
1959
(bude upřesněno)
IBM 1620 n d 2 d , ... -
(4 d , ... 102 d )
12 d d 2 d
1960 LARC 12 d t , 2 t t , 2 t w w 2 d
1960 CDC 1604 48 b w w ½ t w 6 b
1960 IBM 1410 n d 1 d , ... - 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 b w - w w 6 b
1960 Elliott 803 39 b + 1 parita
1961 IBM 7030
(Stretch)
64 b 1 b , ... 64 b ,
1 d , ... 16 d
w ½ t , t b, ½ t , t 1 b, ... 8 b
1961 IBM 7080 n d 0 d , ... 255 d - 5 d d 1 d
1962 GE-6xx 36 b t , 2 t w , 2 w , 80 b w w 6 b, 9 b
1962 UNIVAC III 25 b w , 2 w , 3 w , 4 w , 6 d , 12 d - w w 6 b
1962 Naváděcí počítač Autonetics D-17B
Minuteman I
27 b 11 b, 24 b - 24 b w -
1962 UNIVAC 1107 36 b ⅙ w , ⅓ w , ½ w , w w w w 6 b
1962 IBM 7010 n d 1 d , ... - d , 2 d , 6 d , 7 d , 11 d , 12 d d 1 d
1962 IBM 7094 36 b w t , 2 t w w 6 b
1963/1966 PDP-6 / PDP-10 36 b w t , 2 t w w 6 b, 9 b (obvykle)
1963 Naváděcí počítač Gemini 39 b 26 b - 13 b 13 b, 26 b -
1963
(1966)
Naváděcí počítač Apollo 15 b w - t , 2 t w -
1963 Saturn Launch Vehicle Digital Computer 26 b w - 13 b w -
1964 CDC 6600 60 b w w ¼ w , ½ w w 6 b
1964 Naváděcí počítač Autonetics D-37C
Minuteman II
27 b 11 b, 24 b - 24 b w 4 b, 5 b
1965 IBM 360 32 b ½ t , t ,
1 d , ... 16 d
t , 2 t ½ w , w , 1½ w 8 b 8 b
1965 UNIVAC 1108 36 b ⅙ w , ¼ w , ⅓ w , ½ w , w , 2 w t , 2 t w w 6 b, 9 b
1965 PDP-8 12 b w - w w 8 b
1970 PDP-11 16 b w 2 t , 4 t w , 2w , 3w 8 b 8 b
1971 Intel 4004 4 b w , d - 2 t , 4 t w -
1972 Intel 8008 8 b w , 2 d - w , 2w , 3w w 8 b
1972 Calcomp 900 9 b w - t , 2 t w 8 b
1974 Intel 8080 8 b w , 2 w , 2 d - w , 2w , 3w w 8 b
1975 ILIAC IV 64 b w w , ½ w w w -
1975 Motorola 6800 8 b w , 2 d - w , 2w , 3w w 8 b
1975 MOS Tech. 6501
MOS Tech. 6502
8 b w , 2 d - w , 2w , 3w w 8 b
1976 Cray-1 64 b 24 čb w ¼ w , ½ w w 8 b
1976 Zilog Z80 8 b w , 2 w , 2 d - w , 2w , 3w , 4w , 5w w 8 b
1978
(1980)
16bitová x86 ( Intel 8086 )
(s plovoucí desetinnou čárkou: Intel 8087 )
16 b ½ t , t , 2 d -
( 2w , 4w , 5w , 17d )
½ t , t , ... 7 t 8 b 8 b
1978 VAX 32 b ¼ w , ½ w , w , 1 d , ... 31 d , 1 b , ... 32 b t , 2 t ¼ w , ... 14 ¼ w 8 b 8 b
1979
(1984)
Rodina Motorola 68000
(s plovoucí desetinnou čárkou)
32 b ¼ w , ½ w , w , 2 d -
( t , 2 t , 2½ t )
½ w , w , ... 7½ w 8 b 8 b
1985 IA-32 ( Intel 80386 ) (s plovoucí desetinnou čárkou) 32 b ¼ w , ½ w , w , 2 d -
( t , 2 t , 2½ t , 17 d )
¼ w , ½ w , w , ... 3¾ w 8 b 8 b
1985 ARMv1 32 b ¼ w , w - w 8 b 8 b
1985 MIPS 32 b ¼ w , ½ w , w t , 2 t w 8 b 8 b
1991 Cray C90 64 b 32 čb w ¼ w , ½ w , 48b w 8 b
1992 Alfa 64 b 8b, ¼ w , ½ w , w t , 2 t ½ t 8 b 8 b
1992 PowerPC 32 b ¼ w , ½ w , w t , 2 t w 8 b 8 b
1996 ARMv4
(s palcem )
32 b ¼ w , ½ w , w - w
(½ w , w )
8 b 8 b
2001 IA-64 64 b 8 b, ¼ w , ½ w , w ½ t , t 41 b 8 b 8 b
2001 ARMv6
(s VFP)
32 b ¼ w , ½ w , w -
( t , 2 t )
½ t , t 8 b 8 b
2003 x86-64 64 b 8b, ¼ w , ½ w , w ½ t , t , 1 ¼ t , 17 d 8b, ¼ w , ½ w , w , ... 1 ⅞ w 8 b 8 b
2013 ARMv8-A 64 b 8b, ¼ w , ½ w , w ½ t , t ½ t 8 b 8 b
klíč: b: bits, d: decimal "digit", w : velikost slova (slova) v architektuře, n : velikost proměnných

Poznámky a odkazy

  1. Francouzská verze normy ISO / CEI 10646
  2. Termíny používané zejména ve francouzské verzi normy ISO / CEI 10646.
  3. Gerrit A. Blaauw a Frederick P. Brooks, Computer Architecture: Concepts and Evolution , Addison-Wesley ,1997( ISBN  0-201-10557-8 )
  4. Anthony Ralston a Edwin D. Reilly, Encyclopedia of Computer Science, třetí vydání , Van Nostrand Reinhold,1993, 1558  str. ( ISBN  0-442-27679-6 )
  5. (in) Computer History: Eniac coding , ARL ( číst online )
  6. (in) Computer History: Eniac coding , ARL ( číst online ) , kap.  8

Související články