From Wikipedia, the free encyclopedia
ഐഎ-32 ("ഇന്റൽ ആർക്കിടെക്ചർ, 32-ബിറ്റ്" എന്നതിന്റെ ചുരുക്കപ്പേരാണിത്, സാധാരണയായി i386[1][2] എന്ന് വിളിക്കുന്നു)[3]എന്നത് ഇന്റൽ രൂപകൽപ്പന ചെയ്ത് 1985-ൽ 80386 മൈക്രോപ്രൊസസ്സറിൽ ആദ്യമായി ഈ ആർക്കിടെക്ചറിന്റെ അടിസ്ഥാനത്തിൽ പുറത്തിറക്കി. x86 ഇൻസ്ട്രക്ഷൻ സെറ്റ് ആർക്കിടെക്ചറിന്റെ 32-ബിറ്റ് പതിപ്പാണ്. 32-ബിറ്റ് കമ്പ്യൂട്ടിംഗിനെ പിന്തുണയ്ക്കുന്ന x86-ന്റെ ആദ്യ അവതാരമാണ് ഐഎ-32.[4]തൽഫലമായി, 32-ബിറ്റ് കമ്പ്യൂട്ടിംഗിനെ പിന്തുണയ്ക്കുന്ന എല്ലാ x86 പതിപ്പുകളെയും സൂചിപ്പിക്കാൻ "ഐഎ-32" എന്ന പദം ഒരു മെറ്റോണിമായി(metonym-എന്തെങ്കിലും ഒന്നിനെക്കുറിച്ച് അതിന്റെ ഗുണങ്ങളുടെയോ സവിശേഷതകളുടെയോ പേര് ഉപയോഗിച്ച് സൂചിപ്പിക്കുന്ന ഒരു വാക്ക് അല്ലെങ്കിൽ പദപ്രയോഗം) ഉപയോഗിക്കാം.[5][6]
വിവിധ പ്രോഗ്രാമിംഗ് ഭാഷാ നിർദ്ദേശങ്ങൾ നൽകുമ്പോൾ, ഐഎ-32 ഇപ്പോഴും ചിലപ്പോൾ "i386" ആർക്കിടെക്ചർ എന്ന് വിളിക്കപ്പെടുന്നു. മറ്റ് ചില സന്ദർഭങ്ങളിൽ, ഐഎ-32 ഐഎസ്എ(ISA) യുടെ ചില ആവർത്തനങ്ങൾ ചിലപ്പോൾ i486, i586, i686 എന്ന് ലേബൽ ചെയ്യപ്പെടുന്നു, ഇത് യഥാക്രമം 80486, പി5, പി6 മൈക്രോ ആർക്കിടെക്ചറുകൾ നൽകുന്ന ഇൻസ്ട്രക്ഷൻ സൂപ്പർസെറ്റുകളെ പരാമർശിക്കുന്നു. ഈ അപ്ഡേറ്റുകൾ അടിസ്ഥാന ഐഎ-32 സെറ്റിനൊപ്പം ഫ്ലോട്ടിംഗ് പോയിന്റ് കഴിവുകളും എംഎംഎക്സ്(MMX) വിപുലീകരണങ്ങളും ഉൾപ്പെടെ നിരവധി കൂട്ടിച്ചേർക്കലുകൾ നടത്തിയിട്ടുണ്ട്.
ചരിത്രപരമായി ഐഎ-32 പ്രൊസസറുകളുടെ ഏറ്റവും വലിയ നിർമ്മാതാവായിരുന്നു ഇന്റൽ, രണ്ടാമത്തെ വലിയ വിതരണക്കാരൻ എഎംഡി ആയിരുന്നു. 1990-കളിൽ, വിയ(VIA), ട്രാൻസ്മെറ്റ(Transmeta), മറ്റ് ചിപ്പ് നിർമ്മാതാക്കൾ എന്നിവർ ഐഎ-32-ന് കംമ്പാറ്റിബിളായ(അനുയോജ്യമായ) പ്രോസസ്സറുകൾ നിർമ്മിച്ചു (ഉദാ: WinChip). ആധുനിക യുഗത്തിൽ, ഇന്റൽ ക്വാർക്ക് മൈക്രോകൺട്രോളർ പ്ലാറ്റ്ഫോമിന് കീഴിൽ 2019 വരെ ഐഎ-32 പ്രോസസറുകൾ നിർമ്മിച്ചു; എന്നിരുന്നാലും, 2000 മുതൽ, ഭൂരിഭാഗം നിർമ്മാതാക്കളും (ഇന്റൽ ഉൾപ്പെടെ) x86, x86-64-ന്റെ 64-ബിറ്റ് വേരിയന്റിനെ അടിസ്ഥാനമാക്കിയുള്ള സിപിയുകൾ നിർമ്മിക്കുന്നതിലേക്ക് മിക്കവാറും നീങ്ങി. x86-64, സ്പെസിഫിക്കേഷൻ അനുസരിച്ച്, ബാക്ക്വേർഡ് കോംപാറ്റിബിളിറ്റിക്കായി ഐഎ-32 ഐഎസ്എയിൽ പ്രവർത്തിക്കുന്ന ലെഗസി ഓപ്പറേറ്റിംഗ് മോഡുകൾ നൽകുന്നു. x86-64 ന്റെ സമകാലിക വ്യാപനം കണക്കിലെടുക്കുമ്പോൾ പോലും, 2018 ലെ കണക്കനുസരിച്ച്, നിരവധി ആധുനിക ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുടെ ഐഎ-32 പ്രോട്ടറ്റഡ് മോഡ് പതിപ്പുകൾ ഇപ്പോഴും പരിപാലിക്കപ്പെടുന്നു, ഉദാ. മൈക്രോസോഫ്റ്റ് വിൻഡോസ് (വിൻഡോസ് 10 വരെ; വിൻഡോസ് 11-ന് x86 പതിപ്പുകൾക്കായി x86-64-ന് അനുയോജ്യമായ പ്രോസസർ ആവശ്യമാണ്)[7]വിൻഡോസ് സെർവർ (വിൻഡോസ് സെർവർ 2008 വരെ; വിൻഡോസ് സെർവർ 2008 ആർ2-ന് x86 പതിപ്പുകൾക്കായി x86-64-ന് അനുയോജ്യമായ പ്രോസസർ ആവശ്യമാണ്)[8]ഡെബിയൻ ലിനക്സ് ഡിസ്ട്രബ്യൂഷൻ എന്നിവ ഇതിൽ ഉൾപ്പെടുന്നു.[9] ഐഎ-32-ന്റെ പേര് ഉണ്ടായിരുന്നിട്ടും (ചില ആശയക്കുഴപ്പങ്ങൾക്ക് കാരണമായേക്കാം), എഎംഡിയിൽ നിന്ന് ഉത്ഭവിച്ച x86-ന്റെ 64-ബിറ്റ് പരിണാമം "ഐഎ-64" എന്ന് അറിയപ്പെടില്ല, പകരം ആ പേര് ഇന്റലിന്റെ ഇറ്റാനിയം ആർക്കിടെക്ചറിന്റേതാണ്.
ഐഎ-32 ന്റെ പ്രാഥമികമായ നിർവചിപ്പെടുന്ന സ്വഭാവം 32-ബിറ്റ് ജനറൽ പർപ്പസ് പ്രൊസസർ രജിസ്റ്ററുകളുടെ ലഭ്യതയാണ് (ഉദാഹരണത്തിന്, EAX, EBX), 32-ബിറ്റ് സംഖ്യാഗണിതവും ലോജിക്കൽ പ്രവർത്തനങ്ങളും, പ്രോട്ടറ്റഡ് മോഡിൽ ഒരു സെഗ്മെന്റിനുള്ളിലെ 32-ബിറ്റ് ഓഫ്സെറ്റുകൾ, കൂടാതെ 32-ബിറ്റ് ലീനിയർ അഡ്രസ്സിലേക്ക് സെഗ്മെന്റഡ് അഡ്രസ്സിന്റെ ട്രാൻസലേഷൻ നടത്തുന്നു. ഡിസൈനർമാർ മറ്റ് മെച്ചപ്പെടുത്തലുകൾക്കും വേണ്ടി ഈ അവസരം ഉപയോഗിച്ചു. ഏറ്റവും പ്രധാനപ്പെട്ട ചില മാറ്റങ്ങൾ (16-ബിറ്റ് 286 ഇൻസ്ട്രക്ഷൻ സെറ്റുമായി ബന്ധപ്പെട്ട്) താഴെ വിവരിച്ചിരിക്കുന്നു.
എല്ലാ പൊതു-ഉദ്ദേശ്യ രജിസ്റ്ററുകളും (GPR-കൾ) 16 ബിറ്റുകളിൽ നിന്ന് 32 ബിറ്റുകളായി വികസിപ്പിച്ചിരിക്കുന്നു, കൂടാതെ എല്ലാ ഗണിതവും ലോജിക്കൽ പ്രവർത്തനങ്ങളും, മെമ്മറി-ടു-രജിസ്റ്റർ, രജിസ്റ്റർ-ടു-മെമ്മറി പ്രവർത്തനങ്ങൾ മുതലായവയ്ക്ക് 32-ബിറ്റ് ഇന്റജിറുകളിൽ നേരിട്ട് പ്രവർത്തിക്കാൻ കഴിയും. സ്റ്റാക്കിൽ സ്ഥിരസ്ഥിതിയായി(default) 4-ബൈറ്റ് സ്ട്രൈഡുകളിലേക്ക് പുഷ് ചെയ്യുകയും പോപ്പ് ചെയ്യുകയും ചെയ്യുന്നു, കൂടാതെ നോൺ-സെഗ്മെന്റഡ് പോയിന്ററുകൾക്ക് 4 ബൈറ്റ്സ് വിഡ്ത്താണുള്ളത്.
ഏത് ജിപിആറും ബേസ് രജിസ്റ്ററായി ഉപയോഗിക്കാം, കൂടാതെ ഇഎസ്പി ഒഴികെയുള്ള ഏത് ജിപിആറും ഒരു മെമ്മറി റഫറൻസിൽ ഒരു ഇൻഡക്സ് രജിസ്റ്ററായും ഉപയോഗിക്കാം. ബേസ് രജിസ്റ്റർ വാല്യൂവിലേക്കും ഡിസ്പ്ലേസ്മെന്റിലേക്കും ചേർക്കുന്നതിന് മുമ്പ് ഇൻഡ്ക്സ് രജിസ്റ്റർ വാല്യൂ 1, 2, 4, അല്ലെങ്കിൽ 8 കൊണ്ട് ഗുണിക്കാവുന്നതാണ്.
എഫ്എസ്, ജിഎസ് എന്നീ രണ്ട് അഡീക്ഷണൽ സെഗ്മെന്റ് രജിസ്റ്ററുകൾ നൽകിയിട്ടുണ്ട്.
ഐഎ-32 ആർക്കിടെക്ചർ 48-ബിറ്റ് സെഗ്മെന്റഡ് അഡ്രസ്സ് ഫോർമാറ്റ് നിർവചിക്കുന്നു, സെഗ്മെന്റിനുള്ളിൽ 16-ബിറ്റ് സെഗ്മെന്റ് നമ്പറും 32-ബിറ്റ് ഓഫ്സെറ്റും ഉണ്ട്. ഇത് സെഗ്മെന്റഡ് അഡ്രസ്സുകൾ 32-ബിറ്റ് ലീനിയർ അഡ്രസ്സുകളിലേക്ക് മാപ്പ് ചെയ്തിരിക്കുന്നു.
32-ബിറ്റ് ലീനിയർ അഡ്രസ്സുകൾ ഫിസിക്കൽ അഡ്രസ്സുകളേക്കാൾ വെർച്വൽ അഡ്രസ്സുകളാണ്; അവ ഒരു പേജ് ടേബിളിലൂടെ ഫിസിക്കൽ അഡ്രസ്സുകളിലേക്ക് വിവർത്തനം ചെയ്യപ്പെടുന്നു. 80386, 80486, ഒറിജിനൽ പെന്റിയം പ്രോസസറുകളിൽ, ഫിസിക്കൽ അഡ്രസ്സ് 32 ബിറ്റ് ആയിരുന്നു; പെന്റിയം പ്രോയിലും പിന്നീടുള്ള പ്രോസസറുകളിലും, ഫിസിക്കൽ അഡ്രസ് എക്സ്റ്റൻഷൻ 36-ബിറ്റ് ഫിസിക്കൽ അഡ്രസ്സുകൾ അനുവദിച്ചു, എന്നിരുന്നാലും ലീനിയർ അഡ്രസ് സൈസ് 32 ബിറ്റ്സായിരുന്നു.[10]