x86 vs x64
X86 və x64 arasındakı ən mühüm fərq ondan ibarətdir ki, birincisi 32 bitlik, ikincisi isə 64 bitlik təlimat dəsti arxitekturasıdır. Təlimat dəsti arxitekturası (ISA) hər hansı bir CPU üçün tətbiq olunan çox vacib bir termindir. Təlimatlar, yaddaş ünvanları, registrlər və CPU-nun bir çox digər memarlıq bölmələri ISA tərəfindən müəyyən edilir. x86, 1978-ci ildə 8086 prosessoru ilə Intel tərəfindən təqdim edilmiş dünyaca məşhur ISA-dır. Sonra müxtəlif genişləndirmələr baş verdi və 2000-ci ildə AMD x86 təlimat dəstini AMD64 adı altında 64 bitə genişləndirmək üçün spesifikasiya yaratdı. Daha sonra Intel kimi digər şirkətlər də bu spesifikasiyanı həyata keçirdilər və bu AMD64 x64 adı ilə müəyyən ediləndir.
x86 nədir?
x86 məşhur 8086 prosessoru ilə Intel tərəfindən təqdim edilmiş təlimat dəsti arxitekturasıdır. 1978-ci ildə Intel 16 bitlik prosessor olan 8086 prosessorunu təqdim etdi. Daha sonra onlar 80186, 80286, 80386 və 80486 kimi müxtəlif prosessorları təqdim etdilər və hamısı 8086 prosessorunda istifadə edilən orijinal təlimat dəsti ilə geriyə uyğun idi. Bütün bu prosessorlar 86 rəqəmi ilə bitdiyindən, təlimat dəsti arxitekturası x86 adı ilə müəyyən edilmişdir. 80386-nın tətbiqi ilə x86 təlimatı 32 bitlik sistemə qədər genişləndirildi. Burada 32 bit o deməkdir ki, bütün registrlər, yaddaş avtobusu və məlumat avtobusu 32 bitdir. Sonra Pentium prosessorları Pentium I, Pentium II, Pentium III, Pentium IV kimi çıxdı və bütün bunlar da 32 bitlik arxitekturaya uyğun gəldi. Lakin x86 arxitekturasında MMX, SSE və SSE2 kimi təlimatların əlavə edilməsi kimi müxtəlif digər uzantılar baş verdi. Bundan əlavə, bir çox digər təkmilləşdirmələr də edildi. Daha sonra, x86 təlimat dəsti 64 bitlik təlimat dəstinə qədər genişləndirildi və bu nöqtədən sonra x64 olaraq adlandırıldı, biz bunu növbəti bölmədə müzakirə edəcəyik. Hər halda, ümumiyyətlə, x86 8086 prosessoru ilə gələn 16 bitlik arxitekturadan inkişaf etmiş 32 bitlik arxitekturaya aiddir.
8086 prosessor
x64 nədir?
32 bitlik sistem yalnız 232 fərqli dəyərləri təmsil edə bilər və buna görə də yaddaşın ünvanlanması həmin ünvanların sayı ilə məhdudlaşır. 232 bayt 4 GB-a bərabərdir və buna görə də x86-da maksimum 4 GB ünvanlı yaddaş limiti var idi. Bunu aradan qaldırmaq üçün x86 arxitekturasına əlavə genişləndirmələr edildi. AMD, təxminən 2000-ci ildə, x86 arxitekturasını 64 bitə qədər genişləndirən belə bir spesifikasiya təqdim etdi. Bu, AMD64 adı altında təqdim edildi. x64, bu AMD64 arxitekturasına verilən başqa bir addır. Bu AMD64 və ya x64 arxitekturası x86_64 adı ilə də tanınır. 64 bitlik arxitektura ilə bütün registrlər 64 bit, yaddaş şini və məlumat şini də 64 bit oldu. İndi 264 fərqli dəyərlərə müraciət edilə bilər və bu, mümkün maksimum yaddaş üçün böyük bir yuxarı limit verir. AMD K8 bu 64 bitlik arxitekturanı həyata keçirən ilk prosessor idi. Sonra Intel də bu arxitekturanı qəbul etdi. Intel Core 2-dən başlayan Intel Core prosessorları ilə Intel öz prosessorlarında bu arxitekturadan istifadə etməyə başladı. Hazırda Core i3, Core i5 və Core i7 kimi bütün Intel prosessorları bu x64 arxitekturasından istifadə edir. Vurğulamaq lazım olan bəzi vacib məqam odur ki, bu x64 arxitekturası hələ də köhnə x86 təlimat dəsti ilə geriyə uyğundur.
64 bit prosessor
x86 ilə x64 arasındakı fərq nədir?
• x86 təxminən 1978-ci ildə, x64 isə 2000-ci ildə daha yaxınlarda təqdim edilib.
• x86 məşhur Intel 8086 prosessorundan yaranıb və buna görə də x86 Intel tərəfindən təqdim edilib. Lakin x86-nın uzantısı kimi gələn x64 AMD tərəfindən təqdim edildi.
• x86 arxitekturası 32 bitdir. (İlk x86 prosessorları 16 bit idi, lakin sonrakı prosessorlarda 32 bitə qədər uzadıldı). x64 arxitekturası 64 bitdir.
• X86 təlimat dəsti arxitekturasına malik prosessorlar, buna görə də, 32 bitlik registrlərə, 32 bitlik yaddaş avtobusuna və 32 bitlik məlumat avtobusuna malikdir. Lakin x64-də 64 bit registrlər, 64 bit yaddaş avtobusu və 64 bit məlumat avtobusu var.
• x86-nın maksimum ünvanlı yaddaş məhdudiyyəti var ki, bu da 4 GB-lıq yuxarı limitdir (232 bayt). Lakin, x64 sistemlərində bu limit böyükdür, yəni 264 baytdır.
• x64 x86 genişlənməsidir; buna görə də köhnə x86-dan çox təkmil və güclüdür.
• Registrdə, x64 sistemində saxlanıla bilən dəyərlər, x86 əsaslı registrdə saxlanıla bilən dəyərlərdən böyükdür. Buna görə də, x64 daha böyük tam ədədlərin hesablanmasını daha sürətli idarə edə bilər, çünki belə halda dəyəri bölmək və x86-da olduğu kimi saxlamaq üçün bir neçə registrdən istifadə etməyə ehtiyac yoxdur.
• x64 paralel olaraq daha böyük ölçülü məlumatları data şinində ötürə bilər. Yəni, 64 bitlik məlumat şini 64 biti paralel ötürə bilər, 32 bitlik avtobusa malik x86 arxitekturası isə yalnız 32 biti paralel ötürə bilər.
Xülasə:
x86 vs x64
x86 təlimat dəsti arxitekturası 32 bit, x64 təlimat dəsti arxitekturası 64 bitdir. x64, mövcud x86 arxitekturasının bir uzantısı olaraq gəldi. X86 arxitekturasında registrlər, yaddaş şinləri, məlumat şinləri 32 bit, x64-də isə 64 bitdir. Buna görə də, ünvanlana bilən yaddaşın maksimum miqdarı x64 sistemlərində x86 sistemlərindən çox daha yüksəkdir.x86, Intel tərəfindən 16 bitlik prosessor olan 8086 prosessoru ilə təqdim edildi və zamanla bu x86 32 bitə qədər artırıldı. Daha sonra, AMD mövcud x86 arxitekturasını genişləndirərək x64 arxitekturasını təqdim etdi və bu x64 x86 təlimat dəsti ilə tam geriyə uyğun gəlir.