چرا معماری ۶۴ بیتی x86 بهش میگن AMD64؟ داستانش چیه؟
وقتی قرار بود CPUها از ۳۲ بیت برن به ۶۴ بیت، اینتل تصمیم گرفت یه معماری کاملاً جدید بسازه به اسم IA-64 که با x86 فرق داشت و اصلاً با برنامههای قدیمی سازگار نبود. این معماری رفت توی یه خانوادهای از CPUها به اسم Itanium. ولی مشکل اینجا بود که برنامهنویسها و سیستمعاملها باید از صفر برای IA-64 بازنویسی میشدن. نتیجه؟ شکست سنگین.
در همین زمان، AMD یه کار هوشمندانهتر کرد: اومد همون معماری x86 رو گسترش داد به ۶۴ بیت، بدون اینکه سازگاری با برنامههای قبلی از بین بره. اسم این معماری شد AMD64.
یعنی چی گسترش داد؟
AMD فقط رجیسترها رو ۶۴ بیتی کرد (مثل RAX بهجای EAX)، فضای آدرسدهی رو بزرگ کرد، ولی دستورالعملها، فرمت کدها، و حتی حالت بوت هم مثل x86 موند.
به همین خاطر، برنامهها و سیستمعاملهای ۳۲ بیتی هنوز روی این معماری کار میکردن.
وقتی AMD64 محبوب شد، اینتل مجبور شد بیخیال Itanium بشه و معماری AMD رو لایسنس کنه. ولی چون اسم AMD روش بود، اینتل توی داکیومنتهاش اسمهای دیگهای براش گذاشت مثل:
Intel 64
EMT64 (Extended Memory Technology 64)
IA-32e (e = extended)
ولی حواستون باشه:
IA-64 ≠ AMD64
IA-64 یعنی Itanium، یه معماری کاملاً جدا با دستورالعملهای غیر x86.
AMD64 همون x86 هست، فقط توسعه دادهشده به ۶۴ بیت.
امروز تقریباً تمام CPUهای مدرن x86-64 دارن، حتی اونهایی که اینتل ساخته؛ فقط اسم رسمیشون ممکنه فرق داشته باشه.
Post #617
118
- ❤ 1