محاسبات 64 بیتی

birhosting-article-64-bit Computing
توسط

در معماری کامپیوتر، اعداد صحیح ۶۴ بیتی، آدرس های حافظه یا سایر واحدهای داده آنهایی هستند که ۶۴ بیت عرض دارند. همچنین، واحدهای پردازش مرکزی ۶۴ بیتی (CPU) و واحدهای حسابی منطقی (ALU) آنهایی هستند که بر اساس رجیسترهای پردازنده، گذرگاه‌های آدرس یا گذرگاه‌های داده با آن اندازه هستند و ثبات های ۶۴ بیتی دارند. کامپیوتری که از چنین پردازنده ای استفاده می کند یک کامپیوتر ۶۴ بیتی است.

birhosting-article-64-bit Computing

چگونه عمل می کند؟

از دیدگاه نرم افزار، محاسبات ۶۴ بیتی به معنای استفاده از کد ماشین با آدرس های حافظه مجازی ۶۴ بیتی است. با این حال، همه مجموعه دستورالعمل های ۶۴ بیتی از آدرس های حافظه مجازی ۶۴ بیتی کامل پشتیبانی نمی کنند. به عنوان مثال، x86-64 و ARMv8 تنها ۴۸ بیت آدرس مجازی را پشتیبانی می کنند و ۱۶ بیت باقی مانده از آدرس مجازی باید تمام صفر (۰۰۰...) یا همه یک ها (۱۱۱...) و چندین ۶۴ بیت باشد. مجموعه دستورات بیتی کمتر از ۶۴ بیت آدرس حافظه فیزیکی را پشتیبانی می کند.

اصطلاح ۶۴ بیتی همچنین نسلی از رایانه ها را توصیف می کند که در آنها پردازنده های ۶۴ بیتی معمول هستند. ۶۴ بیت یک اندازه کلمه است که کلاس‌های خاصی از معماری کامپیوتر، گذرگاه‌ها، حافظه و CPUها و نرم‌افزاری را که روی آنها اجرا می‌شود، تعریف می‌کند. پردازنده‌های ۶۴ بیتی در ابررایانه‌ها از دهه ۱۹۷۰ (Cray-1، ۱۹۷۵) و در ایستگاه‌های کاری و سرورهای مبتنی بر رایانه‌های مجموعه دستورالعمل کاهش‌یافته (RISC) از اوایل دهه ۱۹۹۰ مورد استفاده قرار گرفته‌اند. در سال ۲۰۰۳، CPUهای ۶۴ بیتی در قالب پردازنده های x86-64 و PowerPC G5 به بازار اصلی رایانه های شخصی معرفی شدند.

یک ثبات ۶۴ بیتی می تواند هر یک از ۲۶۴ مقادیر مختلف را در خود جای دهد. محدوده مقادیر صحیح قابل ذخیره در ۶۴ بیت به نمایش عدد صحیح مورد استفاده بستگی دارد. از این رو، یک پردازنده با آدرس های حافظه ۶۴ بیتی می تواند به طور مستقیم به ۲۶۴ بایت (۱۶ اگزبی بایت یا EiB) از حافظه آدرس پذیر بایت دسترسی داشته باشد.

بدون صلاحیت بیشتر، یک معماری کامپیوتر ۶۴ بیتی معمولا دارای رجیسترهای اعداد صحیح و آدرس دهی با عرض ۶۴ بیت است که امکان پشتیبانی مستقیم از انواع داده ها و آدرس های ۶۴ بیتی را فراهم می کند. با این حال، یک CPU ممکن است دارای گذرگاه‌های داده خارجی یا گذرگاه‌های آدرس با اندازه‌های متفاوت از رجیسترها باشد، حتی بزرگ‌تر (مثلاً پنتیوم ۳۲ بیتی یک گذرگاه داده ۶۴ بیتی داشت).

birhosting-article-64-bit Computing

مفاهیم معماری

رجیسترهای پردازنده معمولاً به چند گروه تقسیم می شوند: اعداد صحیح، ممیز شناور، دستورالعمل واحد، داده های چندگانه (SIMD)، کنترل، و اغلب ثبات های ویژه برای حساب آدرس که ممکن است کاربردها و نام های مختلفی مانند آدرس، فهرست یا ثبات های پایه داشته باشند. با این حال، در طراحی های مدرن، این توابع اغلب توسط رجیسترهای اعداد صحیح عمومی تر انجام می شود. در اکثر پردازنده ها، فقط از اعداد صحیح یا آدرس-رجیسترها می توان برای آدرس دهی داده ها در حافظه استفاده کرد. انواع دیگر رجیسترها نمی توانند. بنابراین اندازه این ثبات ها معمولاً مقدار حافظه قابل آدرس دهی مستقیم را محدود می کند، حتی اگر ثبات هایی مانند ثبات های ممیز شناور گسترده تر باشند.

اکثر پردازنده های ۳۲ بیتی و ۶۴ بیتی با کارایی بالا (برخی از استثناهای قابل توجه معماری ARM قدیمی یا تعبیه شده (ARM) و معماری MIPS 32 بیتی دارای سخت افزار نقطه شناور یکپارچه هستند که اغلب (اما نه همیشه) مبتنی بر آن است. روی واحدهای ۶۴ بیتی داده به عنوان مثال، اگرچه معماری x86/x87 دارای دستورالعمل‌هایی است که می‌توانند مقادیر ممیز شناور ۶۴ بیتی (و ۳۲ بیتی) را بارگیری و ذخیره کنند، فرمت داده‌های ممیز شناور داخلی و فرمت ثبت ۸۰ بیت گسترده است، در حالی که همه منظوره است. رجیسترها ۳۲ بیت عرض دارند. در مقابل، خانواده آلفای ۶۴ بیتی از فرمت داده ها و رجیسترهای ۶۴ بیتی ممیز شناور و رجیسترهای عدد صحیح ۶۴ بیتی استفاده می کند.

birhosting-article-64-bit Computing

۳۲ بیت در مقابل ۶۴ بیت

تغییر از معماری ۳۲ بیتی به معماری ۶۴ بیتی یک تغییر اساسی است، زیرا اکثر سیستم عامل ها باید به طور گسترده اصلاح شوند تا از معماری جدید استفاده کنند، زیرا این نرم افزار باید سخت افزار آدرس دهی حافظه واقعی را مدیریت کند. سایر نرم افزارها نیز باید برای استفاده از توانایی های جدید پورت شوند. نرم افزارهای قدیمی ۳۲ بیتی ممکن است به دلیل اینکه مجموعه دستورالعمل های ۶۴ بیتی سوپرمجموعه ای از مجموعه دستورالعمل های ۳۲ بیتی است، پشتیبانی شود، بنابراین پردازنده هایی که از مجموعه دستورالعمل های ۶۴ بیتی پشتیبانی می کنند می توانند کد دستورالعمل های ۳۲ بیتی را نیز اجرا کنند. تنظیم کنید، یا از طریق شبیه سازی نرم افزار، یا با پیاده سازی واقعی یک هسته پردازنده ۳۲ بیتی در پردازنده ۶۴ بیتی، مانند برخی از پردازنده های Itanium از اینتل، که شامل یک هسته پردازنده IA-32 برای اجرای برنامه های ۳۲ بیتی x86 بود. سیستم‌عامل‌های آن معماری‌های ۶۴ بیتی عموماً از برنامه‌های ۳۲ بیتی و ۶۴ بیتی پشتیبانی می‌کنند.

یک استثنای مهم در این مورد، IBM AS/400 است، نرم افزاری که برای آن در یک معماری مجموعه دستورالعمل مجازی (ISA) به نام رابط ماشین مستقل فناوری (TIMI) کامپایل شده است. سپس کد TIMI قبل از اجرا توسط نرم افزار سطح پایین به کد ماشین بومی ترجمه می شود. نرم افزار ترجمه تمام چیزی است که باید بازنویسی شود تا سیستم عامل کامل و همه نرم افزارها به یک پلت فرم جدید منتقل شوند، مانند زمانی که IBM مجموعه دستورالعمل های بومی AS/400 را از IMPI قدیمی ۳۲/۴۸ بیتی به PowerPC 64 بیتی جدیدتر منتقل کرد. مجموعه دستورالعمل IMPI کاملاً با PowerPC 32 بیتی متفاوت بود، بنابراین این انتقال حتی بزرگتر از انتقال یک مجموعه دستورالعمل از ۳۲ به ۶۴ بیت بود.

در سخت افزار ۶۴ بیتی با معماری x86-64 (AMD64)، اکثر سیستم عامل ها و برنامه های کاربردی ۳۲ بیتی می توانند بدون مشکل سازگاری اجرا شوند. در حالی که فضای آدرس بزرگتر معماری های ۶۴ بیتی کار با مجموعه داده های بزرگ در برنامه هایی مانند ویدئوی دیجیتال، محاسبات علمی و پایگاه های داده بزرگ را آسان تر می کند.

birhosting-article-64-bit Computing

پست های توصیه شده