Mahm00d
09-16-2013, 12:00 PM
فارنت: وقتی اپل در مراسم معرفی آیفونها اعلام کرد آیفون ۵S اولین گوشی هوشمند دنیا با پردازنده ۶۴بیتی کلاس دسکتاپ است این سوال برای بسیاری پیش آمد که ۶۴بیتی چیست و چه تفاوتی برای کاربر دارد؟
http://images.farnet.ir/2013/09/Apple-A7-chip.jpg
در واقع شاید برای دوستداران فناوری یک کلاس جدید پردازنده موبایلی بسیار هیجانانگیزتر از حسگر اثر انگشت iPhone 5S باشد. اما اصلاً این ۶۴ بیتی بودن به چه معناست؟ در ابتدا خوب است بدانید مبحث پردازندهها مبحث بسیار تخصصی و پیچیدهای است و تنها کسانی که واقعاً از آن به خوبی سر در میآورند تولیدکنندگان قطعات هستند.
برای صحبت در مورد ۶۴ بیت بهتر است ابتدا بدانیم “بیت” چیست. کامپیوترها با سیستم اعداد باینری دوتایی (صفر و یک) کار میکنند (انسانها از سیستم اعشاری استفاده میکنند.) این موضوع به معنای آن است که تمامی کارهای کامپیوتری با رشتههایی از اعداد صفر و یک کار میکند و این اعداد هر کدام یک بیت هستند. هر هشت بیت هم یک بایت گفته میشود که توسط آن سرعت اینترنت و گنجایش حافظهها را نامگذاری کردهاند. عدد بیت یک پردازنده که امروزه ۳۲ بیتی یا ۶۴ بیتی است نشاندهنده تعداد بیتهای استفاده شده آن پردازنده جهت آدرسدهی حافظه است و به طور مثال در پردازنده ۳۲ بیتی آدرس یک محل خاص در حافظه شامل ۳۲ بیت بوده و در ۶۴ بیتی شامل ۶۴ بیت.
http://images.farnet.ir/2013/09/64-bit-processing.jpg
حالا اگر عدد تعداد بیت یک پردازنده را داشته باشیم و ۲ را به توان این عدد برسانیم میتوانیم حداکثر مقدار حافظه (مموری رم) پشتیبانی شده را پیدا کنیم. پس در یک پردازنده ۳۲ بیتی ۲ به توان ۳۲ مکان مختلف در حافظه پشتیبانی خواهد شد هرچند مقدار واقعی حافظه حداکثر همچنین به اندازه آدرسداده شده مموری توسط پردازنده نیز بستگی دارد. برای سادگی آن را هم یک بیت در نظر میگیریم (هر چند بیشتر پردازندهها واحد بایت و یا نیم-بایت را آدرسدهی میکنند.) بنابراین اگر یک محاسبه ساده ریاضی انجام دهید متوجه خواهید شد که پردازندههای ۶۴ بیتی مقداری نه به اندازه ۲ برابر بلکه بسیار بسیار بیشتر از پردازندههای ۳۲ بیتی را میتوانند از رم آدرسدهی کنند. پردازندههای موبایلی ۳۲ بیتی رایج میتوانند تا ۴ گیگابایت رم را پشتیبانی کنند. (این عدد در پردازنده ۶۴ بیتی برابر با ۱۶ ترابایت است!)
اما مگر آیفون ۵S چقدر حافظه رم دارد؟ اپل این موضوع را اعلام نکرده اما از آنجایی که آیفون ۵ یک گیگابایت حافظه رم داشت ۵S نیز احتمالاً همین میزان و یا نهایتاً ۲ گیگابایت رم در اختیار دارد. در واقع بیشترین میزان رم به کار رفته در گجتهای موبایلی حاضر سه گیگابایت و در گلکسی نوت ۳ و گلکسی نوت ۱۰٫۱ جدید است. پس ۶۴ بیتی بودن پردازنده A7 آیفون جدید از این نظر برتری نسبت به پردازندههای ۳۲ بیتی ندارد.
اگر بخواهید مزیت اصلی ۶۴ بیتی بودن پردازنده آیفون را بدانید باید با نحوه کار پردازنده کمی آشنا شوید. پردازنده شامل منبعهای کوچک حافظه مموری به نام رجیستر است که برای بارگذاری اطلاعات و پردازش از آنها استفاده میشود. از آنجایی که پردازنده نمیتواند به صورت مستقیم اطلاعات را روی حافظه رم پردازش کند باید آنها را درون این منبعها ریخته و سپس اقدام به پردازش کند. در بیشتر مواقع پردازنده اندازه هر رجیستر را بسته به اندازه مموری آدرسداده شده انتخاب میکند و این اندازه کوچکترین اندازه ممکن خواهد بود و هر مقدار بیشتر غیرضروری باعث پیچیده شدن عملیات خواهد شد. بنابراین پردازنده ۳۲بیتی رجیسترهای ۳۲ بیتی داشته و پردازنده ۶۴ بیتی هم رجیسترهای ۶۴ بیت.
پس بیشترین مقدار محاسباتی که یک پردازنده میتواند در هر عملیات انجام دهد با اندازه رجیستر آن محدود میشود که به bit rating مربوط است. محاسبهای با ارقام زیاد (چه یک داده اینتجر بسیار بزرگ و چه یک عدد نقطه شناور بسیار دقیق) باید در پردازنده ۳۲ بیتی به ۲ یا تعداد بیشتری عملیات شکسته شود اما همان محاسبه در یک پردازنده ۶۴ بیتی در یک عملیات انجام خواهد شد. میتوان گفت ارقام ۱۲۸ بیتی در پردازنده ۳۲ بیت در چهار عملیات و در پردازنده ۶۴ بیت در دو عملیات انجام خواهند گرفت. (هرچند که موضوع به این سادگیها هم نیست.) پس حالا معلوم شد که عنوان دو برابر سریعتر پردازنده ۶۴ بیتی از کجا آمده است؛ هرچند همیشه اینطور نیست و به صورت تئوری میتوان گفت امکان انجام عملیات تا دوبرابر سریعتر وجود دارد.
http://images.farnet.ir/2013/06/Apple-iOS7.jpg
خب حالا این مطالب در استفاده روزانه چه تأثیری دارد؟ بیشتر عملیاتی که در گوشیهای هوشمندمان انجام میدهیم اصلاً سریعتر رخ نمیدهد، حتی اگر برای پردازندههای ۶۴ بیتی بهینه شده باشد. بعضی اپلیکیشنها که تنها با دادههای اینتجر و کاراکتر سر و کار دارند اصلاً سریعتر نخواهند شد (مانند ویرایشگرهای متن) اما عملیات گرافیکی سنگین با دادههای پیکسلی و رنگی و فیزیکی پیچیده در رجیسترهای بزرگتر بسیار سریعتر پردازش خواهند شد.
به هر حال هنوز مشخص نیست که بهینهسازی اپلیکیشنها برای پردازندههای ۶۴ بیتی توسط برنامهنویسان و توسعه دهنگان چقدر زمانبر و دشوار خواهد بود و آیا آنها نسل قبلی ۳۲ بیت را رها خواهند کرد یا خیر. اما امیدواریم با پشتیبانی iOS 7 و اندروید ۴٫۴ از سیستم پردازشی ۶۴ بیت هر چه زودتر شاهد عرضه اپلیکیشنها و بازیهای جذاب بیشتر ۶۴ بیتی باشیم.
http://images.farnet.ir/2013/09/Apple-A7-chip.jpg
در واقع شاید برای دوستداران فناوری یک کلاس جدید پردازنده موبایلی بسیار هیجانانگیزتر از حسگر اثر انگشت iPhone 5S باشد. اما اصلاً این ۶۴ بیتی بودن به چه معناست؟ در ابتدا خوب است بدانید مبحث پردازندهها مبحث بسیار تخصصی و پیچیدهای است و تنها کسانی که واقعاً از آن به خوبی سر در میآورند تولیدکنندگان قطعات هستند.
برای صحبت در مورد ۶۴ بیت بهتر است ابتدا بدانیم “بیت” چیست. کامپیوترها با سیستم اعداد باینری دوتایی (صفر و یک) کار میکنند (انسانها از سیستم اعشاری استفاده میکنند.) این موضوع به معنای آن است که تمامی کارهای کامپیوتری با رشتههایی از اعداد صفر و یک کار میکند و این اعداد هر کدام یک بیت هستند. هر هشت بیت هم یک بایت گفته میشود که توسط آن سرعت اینترنت و گنجایش حافظهها را نامگذاری کردهاند. عدد بیت یک پردازنده که امروزه ۳۲ بیتی یا ۶۴ بیتی است نشاندهنده تعداد بیتهای استفاده شده آن پردازنده جهت آدرسدهی حافظه است و به طور مثال در پردازنده ۳۲ بیتی آدرس یک محل خاص در حافظه شامل ۳۲ بیت بوده و در ۶۴ بیتی شامل ۶۴ بیت.
http://images.farnet.ir/2013/09/64-bit-processing.jpg
حالا اگر عدد تعداد بیت یک پردازنده را داشته باشیم و ۲ را به توان این عدد برسانیم میتوانیم حداکثر مقدار حافظه (مموری رم) پشتیبانی شده را پیدا کنیم. پس در یک پردازنده ۳۲ بیتی ۲ به توان ۳۲ مکان مختلف در حافظه پشتیبانی خواهد شد هرچند مقدار واقعی حافظه حداکثر همچنین به اندازه آدرسداده شده مموری توسط پردازنده نیز بستگی دارد. برای سادگی آن را هم یک بیت در نظر میگیریم (هر چند بیشتر پردازندهها واحد بایت و یا نیم-بایت را آدرسدهی میکنند.) بنابراین اگر یک محاسبه ساده ریاضی انجام دهید متوجه خواهید شد که پردازندههای ۶۴ بیتی مقداری نه به اندازه ۲ برابر بلکه بسیار بسیار بیشتر از پردازندههای ۳۲ بیتی را میتوانند از رم آدرسدهی کنند. پردازندههای موبایلی ۳۲ بیتی رایج میتوانند تا ۴ گیگابایت رم را پشتیبانی کنند. (این عدد در پردازنده ۶۴ بیتی برابر با ۱۶ ترابایت است!)
اما مگر آیفون ۵S چقدر حافظه رم دارد؟ اپل این موضوع را اعلام نکرده اما از آنجایی که آیفون ۵ یک گیگابایت حافظه رم داشت ۵S نیز احتمالاً همین میزان و یا نهایتاً ۲ گیگابایت رم در اختیار دارد. در واقع بیشترین میزان رم به کار رفته در گجتهای موبایلی حاضر سه گیگابایت و در گلکسی نوت ۳ و گلکسی نوت ۱۰٫۱ جدید است. پس ۶۴ بیتی بودن پردازنده A7 آیفون جدید از این نظر برتری نسبت به پردازندههای ۳۲ بیتی ندارد.
اگر بخواهید مزیت اصلی ۶۴ بیتی بودن پردازنده آیفون را بدانید باید با نحوه کار پردازنده کمی آشنا شوید. پردازنده شامل منبعهای کوچک حافظه مموری به نام رجیستر است که برای بارگذاری اطلاعات و پردازش از آنها استفاده میشود. از آنجایی که پردازنده نمیتواند به صورت مستقیم اطلاعات را روی حافظه رم پردازش کند باید آنها را درون این منبعها ریخته و سپس اقدام به پردازش کند. در بیشتر مواقع پردازنده اندازه هر رجیستر را بسته به اندازه مموری آدرسداده شده انتخاب میکند و این اندازه کوچکترین اندازه ممکن خواهد بود و هر مقدار بیشتر غیرضروری باعث پیچیده شدن عملیات خواهد شد. بنابراین پردازنده ۳۲بیتی رجیسترهای ۳۲ بیتی داشته و پردازنده ۶۴ بیتی هم رجیسترهای ۶۴ بیت.
پس بیشترین مقدار محاسباتی که یک پردازنده میتواند در هر عملیات انجام دهد با اندازه رجیستر آن محدود میشود که به bit rating مربوط است. محاسبهای با ارقام زیاد (چه یک داده اینتجر بسیار بزرگ و چه یک عدد نقطه شناور بسیار دقیق) باید در پردازنده ۳۲ بیتی به ۲ یا تعداد بیشتری عملیات شکسته شود اما همان محاسبه در یک پردازنده ۶۴ بیتی در یک عملیات انجام خواهد شد. میتوان گفت ارقام ۱۲۸ بیتی در پردازنده ۳۲ بیت در چهار عملیات و در پردازنده ۶۴ بیت در دو عملیات انجام خواهند گرفت. (هرچند که موضوع به این سادگیها هم نیست.) پس حالا معلوم شد که عنوان دو برابر سریعتر پردازنده ۶۴ بیتی از کجا آمده است؛ هرچند همیشه اینطور نیست و به صورت تئوری میتوان گفت امکان انجام عملیات تا دوبرابر سریعتر وجود دارد.
http://images.farnet.ir/2013/06/Apple-iOS7.jpg
خب حالا این مطالب در استفاده روزانه چه تأثیری دارد؟ بیشتر عملیاتی که در گوشیهای هوشمندمان انجام میدهیم اصلاً سریعتر رخ نمیدهد، حتی اگر برای پردازندههای ۶۴ بیتی بهینه شده باشد. بعضی اپلیکیشنها که تنها با دادههای اینتجر و کاراکتر سر و کار دارند اصلاً سریعتر نخواهند شد (مانند ویرایشگرهای متن) اما عملیات گرافیکی سنگین با دادههای پیکسلی و رنگی و فیزیکی پیچیده در رجیسترهای بزرگتر بسیار سریعتر پردازش خواهند شد.
به هر حال هنوز مشخص نیست که بهینهسازی اپلیکیشنها برای پردازندههای ۶۴ بیتی توسط برنامهنویسان و توسعه دهنگان چقدر زمانبر و دشوار خواهد بود و آیا آنها نسل قبلی ۳۲ بیت را رها خواهند کرد یا خیر. اما امیدواریم با پشتیبانی iOS 7 و اندروید ۴٫۴ از سیستم پردازشی ۶۴ بیت هر چه زودتر شاهد عرضه اپلیکیشنها و بازیهای جذاب بیشتر ۶۴ بیتی باشیم.