Ez a szócikk a számítógép-architektúráról szól. Lásd még: deep color (64 bites) színmélység. Szoftveres megközelítésben, a 64 bites számítástechnika 64 bites virtuális memóriacímzésű gépi kód használatát jelenti.

A számítógépek 64 bites generációja az az időszak, amelyben a 64 bites processzorok a megszokottak. A 64 bites gépi szóméret meghatározza a számítógép architektúráját, adat- és címsínjeit, processzorát, és végső soron a rajta futó szoftvert is. A 64 bites CPU-k először a szuperszámítógépekben jelentek meg az 1970-es években (Cray-1, 1975), ezt követték a RISC-alapú munkaállomások és kiszolgálók az 1990-es évek elején, méghozzá a DEC Alpha, a Sun UltraSPARC, a Fujitsu SPARC64 és az IBM PowerPC AS. 2003-ban jelentek meg a (korábban 32 bites) személyi számítógépekben használható 64 bites CPU-k az x86-64 és a 64 bites PowerPC processzorarchitektúrák formájában, majd 2012-ben a korábban inkább csak beágyazott rendszerek gyártójaként számon tartott ARM által bejelentett, az ARMv8-ban használt AArch64 processzorarchitektúra.

Egy 64 bites regiszter 264 (több mint 18 trillió) különböző értéket vehet fel. Egy 64 bites memóriacímzésű CPU közvetlenül címezhet 264 bájtnyi (=16 exbibyteA 16 exabyte értéke 16, míg a 16 exbibyte értéke pontosan 264. A 16 exbibyte értéke 18 exabyte-nál is jóval nagyobb.) bájtcímzésű memóriát.

Alapértelmezés szerint 64 bites architektúra alatt 64 bites adattípusokat és címeket lehetővé tevő 64 bites egész regisztereket és címzési regisztereket értünk. Egy processzor külső adatbuszai és címbuszai azonban a regiszterektől eltérő méretűek is lehetnek, akár nagyobbak is (a 32 bites Pentiumnak például 64 bites adatsínje volt). A 64 bites kifejezés utalhat az alkalmazott alacsony szintű adattípusokra is, pl. 64 bites lebegőpontos számokra.

Architekturális következmények A processzorok regisztereit különböző csoportokra szokás osztani: vannak „integer” – egész-, egészértékű, fixpontos (szinonimák) ill. általános célú, „lebegőpontos”, „SIMD”, „vezérlő-” (control) regiszterek, továbbá gyakoriak még a címzési aritmetikát kiszolgáló speciális regiszterek, amik változatos neveket viselnek, mint „cím-”, „index-” vagy „bázisregiszterek”. A modern rendszerekben ezeket a funkciókat gyakran az általánosabb célú, egész számos / fixpontos regiszterekre testálják. A legtöbb processzorban kizárólag az általános célú és/vagy címregiszterekkel lehet a memóriában lévő adatokat megcímezni, a többi fajta regiszterrel nem. Ezeknek a regisztereknek a mérete ezért korlátozza a közvetlen módon megcímezhető memória nagyságát, még akkor is, ha más regiszterek, pl. a lebegőpontos regiszterek szélesebbek náluk.

A legtöbb nagy teljesítményű 32 vagy 64 bites processzor (néhány régebbi vagy beágyazott ARM és 32 bites MIPS-architektúra kivételével) rendelkezik integrált lebegőpontos hardverrel, ami gyakran, de nem minden esetben, 64 bites adategységeken végez műveleteket. Az x86/x87 architektúra utasításai például 64 bites (és 32 bites) lebegőpontos értékeket olvasnak be vagy írnak ki a memóriából, a lebegőpontos számok belső tárolási formátuma azonban 80 bites, míg az általános célú regiszterek 32 bitesek. Ezzel ellentétben a 64 bites Alpha család 64 bites lebegőpontos regisztereket és ugyanekkora egész regisztereket használt.

Története A legtöbb processzort úgy tervezik, hogy egyetlen regiszterében elférjen a számítógép virtuális memóriájában lévő bármely adat címe. Így a virtuális memória címeinek számát – a számítógép munkaterületén tárolható adatmennyiséget – ezen regiszterek mérete határozza meg. Az 1960-as évekbeli IBM System/360-nal kezdődően (mely maga egy kivétel volt a szabály alól, lévén a gépi szó alsó 24 bitjét használta csak címzésre, ami 16 MiB-os címteret eredményezett), az 1970-es évek DEC VAX (és sok másféle) miniszámítógépével, majd az 1980-as évek közepén az Intel 80386-ossal kialakult az a de facto konszenzus, hogy a 32 bit egy jól használható regiszterméret. A 32 bites címregiszter azt jelenti, hogy 232 memóriacím, tehát 4 GiB RAM címezhető meg. Amikor ezeket az architektúrákat tervezték, 4 GiB memória messze meghaladta a realisztikusan szóba jövő memóriamennyiséget, hogy 4 MiB memória több mint elégnek tűnt egy tipikus számítógép számára. A 32 bittel elérhető kb. 4,29 milliárd címet más szempontból is megfelelő méretűnek tartották: a legtöbb adatbázisban vagy más alkalmazásokban ennyi különböző érték már elegendő egyedi hivatkozások létrehozására.

Egyes szuperszámítógép-architektúrák már az 1970-es, 1980-as években 64 bit széles regisztereket használtak. Az 1980-as évek közepén kezdődött meg az Intel i860 fejlesztése, a megjelenés egészen 1989-ig (a Windows NT számáraG. Pascal Zachary: Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft, túl soká) húzódott. Azonban egészen az 1990-es évek elejéig a 32 bit maradt a norma – ekkorra a memória előállítási árának folyamatos csökkenése lehetővé tette a 4 GiB memóriaméretet megközelítő számítógépek építését, és egyes problémák kezelésére kívánatossá vált a 4 GiB-ot meghaladó virtuálismemória-méret. Az igényre válaszul a MIPS és a DEC kifejlesztették 64 bites mikroprocesszor-architektúráikat, kezdetben csúcskategóriás munkaállomások és szervergépek számára. Az 1990-es évek közepére a HAL Computer Systems, a Sun Microsystems, az IBM, a Silicon Graphics és a Hewlett-Packard is rendelkezett 64 bites architektúrájú munkaállomásokkal és kiszolgálókkal. Az IBM mainframe rendszerei szabályt erősítő kivételek voltak 32 bites adat- és 31 bites címzési méreteikkel; csak 2000-ben kaptak 64 bites processzort. Az 1990-es években több olcsó 64 bites mikroprocesszor volt használatban szórakoztató elektronikai és beágyazott alkalmazásokban. A Nintendo 64 és a PlayStation 2 konzolokba jóval a PC-s változatok megjelenése előtt már 64 bites mikroprocesszorokat szereltek. A csúcstechnológiás nyomtatókba és hálózati eszközökbe, továbbá az ipari számítógépekbe is kerültek 64 bites CPU-k, például a Quantum Effect Devices R5000-ese. A személyi számítógépek piacán 2003-tól kezdett lassan terjedni a 64 bites számítástechnika, amikor az Apple Macintosh termékvonala átállt a PowerPC 970 processzorokra (az Apple terminológiája szerint „G5”) és az AMD megjelentette első 64 bites, x86-64 processzorát.

A processzorok praktikus korlátai Elméletben egy 64 bites mikroprocesszor 16 exbibájt memóriát címezhet meg. A gyakorlatban ez általában jóval kevesebb.

Például az AMD64 architektúra 2011-ben 52 bitet tett elérhetővé a fizikai memória, 48 bitet a virtuális memória megcímzéséreAMD64 Programmer's Manual Volume 2: System Programming, order number 24593, revision 3.14, September 2007, Advanced Micro Devices (a virtuális memória 2013-ra 64 bites is lehet). Ezek a határok 4 PB-ot (), illetve 256 TB-ot () jelentettek. Egy asztali számítógépbe jelenleg nem lehetséges 4 petabájt memóriát elhelyezni (már csak a memóriacsipek fizikai mérete miatt is), de az AMD hatalmas szerverekben, osztottmemória-fürtökben és a belátható jövőben esetleg megvalósuló egyéb felhasználási területekben gondolkozott, ezért alkalmazta az 52 bites korlátot, ami rengeteg teret ad a növekedésre, de nem építi be a csipek árába a teljes 64 bites címzési tartomány kezelésének költségeit. Hasonló okokból korlátozták a virtuális címméretet a 4 GiB-os korlát -szorosát jelentő 48 bitre.

64 bites processzorok kronológiája 1961 Az IBM kihozza az IBM 7030 Stretch szuperszámítógépet, 64 bites adatszavakkal, 32/64 bites utasításszavakkal. 1974 A Control Data Corporation megjelenteti a CDC Star-100 vektor-szuperszámítógépet (a korábbi CDC-rendszerek 60 bites architektúrájúak voltak). Az International Computers Limited ICL 2900 Series gépei 32/64/128 bites kettes komplemens kódolású egész; 64/128 bites lebegőpontos; 32/64/128 bites tömörített BCD és egy 128 bites akkumulátorregiszterrel. Az architektúra túlélte a következő generációs ICL és Fujitsu számítógépek térhódítását. Legutolsó példánya a Fujitsu Supernova, ami az eredeti környezetet 64 bites Intel processzorokon emulálja. 1976 A Cray Research kihozza az első, Cray-1 jelű szuperszámítógépét, ami 64 bites gépi szavas architektúrájú, és a későbbi Cray vektor-szuperszámítógépek alapjául szolgált. 1983 Az Elxsi megjelenteti az Elxsi 6400 párhuzamos mini-szuperszámítógépet (minisupercomputert). Az Elxsi architektúra 64 bites adatregisztereket, de 32 bites címteret használt. 1989 Az Intel bemutatja az Intel i860 RISC processzort. Bár „64 bites mikroprocesszor”-ként reklámozták, lényegében olyan 32 bites architektúra volt, amit kiegészítettek egy 64 bites egész műveletekre képes 3D grafikus egységgel. 1991 A MIPS Technologies gyártja az első 64 bites mikroprocesszort, az R4000-est, ami a MIPS-architektúra harmadik revízióját, a MIPS III ISA utasításkészletet futtatta.Joe Heinrich: "MIPS R4000 Microprocessor User's Manual, Second Edition", 1994, MIPS Technologies, Inc. A CPU-t az SGI grafikus munkaállomásokban használták az IRIS Crimsonnal kezdve. A Kendall Square Research megjelentette a KSR1 szuperszámítógépet, saját fejlesztésű, 64 bites VLIW RISC processzoron futó OSF/1 operációs rendszerrel. 1992 A Digital Equipment Corporation (DEC) bemutatja a tisztán 64 bites Alpha architektúrát (első képviselője az Alpha 21064), ami a PRISM projektből nőtte ki magát.Richard L. Sites: "Alpha AXP Architecture", Digital Technical Journal, Volume 4, Number 4, 1992, Digital Equipment Corporation. 1993 Az Atari kihozza az Atari Jaguar videójáték-konzolt, aminek architektúrája 64 bit széles adatutakat is tartalmazott.Atari Jaguar History. AtariAge. Hozzáférés ideje: 9 August 2010. 1994 Az Intel bejelenti terveit a Hewlett-Packarddal közösen fejlesztett 64 bites IA-64 architektúra létrehozására, amit a 32 bites IA-32 processzorok utódjának szánnak. A megjelenés céldátumát 1998 és 1999 közé teszik (végül csak 2001-ben jelent meg). 1995 A Sun kihozza 64 bites SPARC processzorát, az UltraSPARC-ot.Linley Gwennap: "UltraSparc Unleashes SPARC Performance", Microprocessor Report, Volume 8, Number 13, 3 October 1994, MicroDesign Resources. A Fujitsu által tulajdonolt HAL Computer Systems az általuk kifejlesztett első generációs SPARC64 64 bites processzor köré épített munkaállomásokat. Az IBM megjelentette a 64 bites PowerPC AS (Amazon) architektúrára épülő A10 és A30 mikroprocesszorokat.J. W. Bishop, et al.: "PowerPC AS A10 64-bit RISC microprocessor", IBM Journal of Research and Development, Volume 40, Number 4, July 1996, IBM Corporation. Az IBM megjelentet egy 64 bites AS/400 rendszerfrissítést is, ami képes az operációs rendszer, az adatbázisok és az alkalmazások átkonvertálására. 1996 A Nintendo kihozza a Nintendo 64 videójáték-konzolt, ami a MIPS R4000-es olcsó változatára épült. A HP megjelenteti a PA-RISC processzorarchitektúrájának 64 bites, 2.0-s verzióját, a PA-8000 CPU-t.Linley Gwennap: "PA-8000 Combines Complexity and Speed", Microprocessor Report, Volume 8, Number 15, 14 November 1994, MicroDesign Resources Az IBM kihozta felső kategóriás, négyutas SMP, multicsipes processzorát Muskie kódnévvel, ami AS/400 rendszerekben A25 vagy A30 néven futott. 1997 Az IBM megjelenteti 64 bites PowerPC/PowerPC AS processzorainak RS64 termékvonalát. 1998 Az IBM megjelenteti teljesen 64 bites PowerPC/POWER processzorainak POWER3 termékvonalát.F. P. O'Connell and S. W. White: "POWER3: The next generation of PowerPC processors", IBM Journal of Research and Development, Volume 44, Number 6, November 2000, IBM Corporation. 1999 Az Intel megjelenteti tervezett IA-64 architektúrájának utasításkészletét. Az AMD nyilvánosan közzéteszi az IA-32 utasításkészlet általa létrehozott 64 bites kiterjesztését, x86-64 néven (később AMD64). 2000 Az IBM árulni kezdi első 64 bites z/Architecture nagyszámítógépét, a zSeries z900-at. A z/Architecture a 64 bites továbbfejlesztése a 32 bites ESA/390 architektúrának, ami pedig a 32 bites System/360 architektúra leszármazottja.