intel atom، يک نام تجاري براي يک خانواده از ميکروپروسسورهاي x-86 و
x86-84 بسيار کم ولتاژ ( و طبعاَ کم مصرف) شرکت اينتل است که با استفاده از
فناوري ساخت 45 نانومتري cmos طراحي شده و اساساً در نت بوک ها، تلفن هاي
هوشمند، handheldها، تب لت ها، نت تاپ ها و midها (mobile internet
devices) مورد استفاده قرار مي گيرد. پردازنده اتم، يک جانشين مستقيم براي
ميکروپروسسورهاي کم مصرف intel a100/ a110 با فناوري ساخت 90 نانومتري
محسوب مي شود. اين پردازنده اختصاصي شرکت اينتل، بطور کلي، براي midها
(mobile internet devices) طراحي شده و براي رقابت با پردازنده هاي arm در
نظر گرفته شده اند. پردازنده هاي اين خانواده که در ابتدا با نام هاي
silverthorne و diamondville شناخته مي شدند، با نام atom وارد بازار شدند.

پردازنده هاي atom، داراي مجموعه دستورالعملهاي مدرن (em64t, sse3و...)
بوده که بر روي يک معماري قديمي تر پيوند شده اند. atom اولين پردازنده
in-order x86 از زمان عرضه pentium به بعد است. مديريت مصرف برق و هزينه
هاي توليد، دو ضرورتي هستند که به نظر مي رسد اينتل را در مسير توسعه اين
محصول هدايت کرده اند، البته به بهاي قرباني کردن قدرت عملکرد، که البته با
توجه به نوع کاربري آن کاملاً قابل توجيه است.
طراحي به عنوان يک پردازنده کم مصرف
مصرف برق و ادغام يک پردازنده در ابزارهاي قابل حمل يا embedded، هميشه
مشکلاتي را براي اينتل بوجود آورده و اين اولين باري است که شرکت اينتل
پردازنده هايي را به هدف بکارگيري در اين حوزه ارائه مي کند. اما atom
داراي يک تفاوت جدي است، زيرا از يک معماري جديد استفاده مي کند که براي
کاهش مصرف برق، توسعه يافته است.
atom يک معماري متفاوت به حساب مي آيد زيرا طراحي شده است تا مصرف برق را
کاهش دهد و از يک طراحي کاملاً جديد استفاده مي کند. اين طراحي، به هيچوجه
يک اقتباس از معماري هاي قبلي نيست. اينتل اکنون قادر است پردازنده هايي را
عرضه کند که برق بسيار اندکي را مصرف مي کنند. پردازنده هاي سطح بالاي
atom، برق کمتري را در مقايسه با نسخه هاي ulv معماري هاي استاندارد ( که
بطور کلي بسيار کند هستند) مصرف مي کنند.
معماري atom
پردازنده هاي atom از يک معماري جديد، اما فناوري هاي قديمي تر استفاده مي
کنند. اين اولين پردازنده in-order x86 اينتل از زمان pentium به بعد
(1993) به حساب مي آيد. تمام پردازنده هاي ديگر اينتل ( از زمان p6 به بعد)
از يک معماري out-of-order استفاده مي کنند.
مفهوم in-order
براي ساده تر شدن موضوع، تصور کنيد که پردازنده دستورالعمل ها را به ترتيب (
يک به يک ) دريافت نموده و آنها را پيش از اجرا در خط لوله خود قرار مي
دهد. در يک معماري in-order، دستورالعمل ها به همان ترتيبي که دريافت شده
اند اجرا خواهند شد، در حاليکه يک معماري out-of-order قادر است ترتيب آن
ها را در خط لوله خود تغيير دهد. مزيت اين شيوه در آن است که مي تواند
lossها را محدود نمايد.
براي مثال اگر شما يک دستورالعمل محاسباتي ساده، يک دسترسي به حافظه و سپس
يک محاسبه ساده ديگر داشته باشيد، يک معماري in-order سه عمليات مذکور را
يکي پس از ديگري انجام خواهند داد در حاليکه با معماري out-of-order،
پردازنده مي تواند دو محاسبه را بطور همزمان انجام داده و سپس به حافظه
دسترسي پيدا کند که يک صرفه جويي آشکار در زمان را ايجاد خواهد نمود.
بطور نسبتاً غافلگير کننده اي، در حاليکه معماري هاي in-order عموماً از يک
خط لوله کوتاه استفاده مي کنند، atom داراي يک خط لوله 16 مرحله اي است که
مي تواند در شرايط معيني يک نقيصه باشد.
hyperthreading
hyperthreadingيک فناوري است که با pentium 4 معرفي شد. اين فناوري مي
تواند دو رشته را با استفاده از بخش هاي بلااستفاده خط لوله پردازنده بطور
همزمان پردازش نمايد. در حاليکه اين فناوري به اندازه دو هسته پردازشي
واقعي کارآمد نخواهد بود، اما قادر است شرايطي را بوجود آورد که سيستم عامل
تصور نمايد پردازنده قادر به پردازش همزمان دو رشته است و به اين ترتيب
عملکرد کلي سيستم را افزايش دهد. بر روي atom که معماري in-order آن با يک
خط لوله طولاني همراه شده است، فناوري hyperthreading مي تواند بسيار مؤثر
باشد. در عين حال، اين فناوري عملکرد سيستم را بدون تأثيرگذاري بر tdp
پردازنده بطور چشمگيري افزايش مي دهد. اينتل ادعا مي کند که مصرف برق در
هنگام استفاده از اين فناوري تنها 10 درصد افزايش خواهد يافت.
هسته پردازشي
پردازنده هاي atom به دو alu ( واحدهائي که وظيفه انجام محاسبات عدد صحيح
را بر عهده دارند) ودو fpu (واحدهاي اختصاص يافته به محاسبات اعشاري که
مثلاً براي اجراي بازي ها از اهميت بسيار زيادي برخوردارند) مجهز است.
اولين alu مديريت عمليات shift و دومين alu مديريت jump ها را بر عهده
دارند. تمام عمليات ضرب و جمع، حتي در اعداد صحيح بطور خودکار به fpu ها
فرستاده مي شوند. اولين fpu از نوع ساده بوده به عمليات جمع محدود شده است،
در حاليکه fpu دوم قادر به اداره simd بوده و عمليات ضرب/ تقسيم را انجام
مي دهد. توجه داشته باشيد که براي محاسبات 128 بيتي، از اولين انشعاب به
همراه انشعاب دوم ( هر انشعاب، 64 بيت) استفاده مي شود.
بهينه سازي دستورالعمل هاي ابتدائي
اگر به تعداد سيکل هاي مورد نياز براي اجراي دستورالعمل ها نگاهي بيندازيد،
متوجه يک نکته مهم خواهيد شد: بعضي از دستورالعمل ها سريع و گروه ديگري از
آنها ( بسيار) کند هستند. براي مثال، يک mov يا add در يک سيکل اجرا مي
شود ( همانند اجراي آن برروي يک core 2 duo)، در حاليکه يک عمليات ضرب
(imul) به 5 سيکل نياز دارد ( در حاليکه همين دستورالعمل بر روي معماري
core تنها به 3 سيکل نياز خواهد داشت). بدتر اينکه، براي مثال يک تقسيم
اعشاري 32 بيتي به 31 سيکل در مقايسه با 17 سيکل ( تقريباً نصف) بر روي يک
core 2duo نياز دارد. اينتل به اين موضوع اعتراف مي کند که atom براي اجراي
سريع دستورالعمل هاي ابتدايي بهينه سازي شده و اين بدان معني است که
عملکرد اين پردازنده با دستورالعمل هاي پيچيده تغيير خواهد کرد. به سادگي
مي توان اين موضوع را با استفاده از everest که شامل ابزاري براي اندازه
گيري تأخيرهاي دستورالعمل ها است، بررسي نمود.
کاشه ها و fsb
اينتل اين سازماندهي نسبتاً out-of-order را ( اما بدون قرباني کردن عملکرد
آن) براي atom انتخاب کرده است؛ يک ويژگي مهم براي پردازنده اي که از يک
معماري in-order استفاده مي کند.
کاشه l1 نامتقارن
کاشه l1 پردازنده atom مجموعاً 56 کيلوبايت ظرفيت دارد: 24 کيلو بايت براي
داده ها و 32 کيلوبايت براي دستورالعمل ها. اين عدم تقارن ( که مشاهده آن
در يک محصول اينتل تا حدودي غافلگير کننده است)، از ساختار کاشه سرچشمه مي
گيرد. اينتل از 8 ترانزيستور ( در مقايسه با 6 ترانزيستور در يک کاشه
استاندارد) براي ذخيره سازي يک بيت استفاده مي کند. اين تکنيک، امکان کاهش
ولتاژ اعمال شده به کاشه براي نگهداري اطلاعات را بوجود مي آورد. به نظر مي
رسد که اين حرکت به سلولهاي 8 ترانزيستوري در اواخر مسير توسعه پردازنده و
زمانيکه atom کاملاً پيشرفته کرده بود به طراحي آن اضافه شده و اين بدان
معني است که چاره اي جز کاهش اندازه کاشه براي پياده سازي آن وجود نداشته.
به اين ترتيب، مي توان اختصاص 24 کيلوبايت از ظرفيت کاشه به داده ها را
توضيح داد.
کاشه l2 قابل کاهش (shrinkable)
کاشه l2 در پردازنده هاي atom 512 کيلوبايت ظرفيت دارد و بديهي است که با
همان فرکانس پردازنده کار مي کند. اين کاشه 8 مسيره نسبتاً کلاسيک بوده و
عملکرد آن به نمونه مورد استفاده در core 2 duo نزديک است ( تأخير اين کاشه
16 سيکل است، در مقايسه با 14 سيکل براي کاشه core 2). يک تابع جديد قادر
است بخشي از کاشه را غيرفعال نمايد، بنابراين اگر يک برنامه به تمام حافظه
کاشه نياز نداشته باشد، بخشي از آن غير فعال خواهد شد. در عمل، کاهش از
حالت 8 مسيره به حالت 2 مسيره سوئيچ مي کند ( به اين ترتيب، ظرفيت آن از
512 کيلوبايت به 128 کيلوبايت کاهش مي يابد). اين تکنيک، شيوه ديگري براي
کاهش چند ميلي وات ارزشمند است.
fsb با دو حالت عملياتي
fsb پردازنده هاي atom، همان گذرگاه استانداردي است که اينتل از زمان
pentium 4 به بعد مورد استفاده قرار مي دهد. اين گذرگاه در حالت qdr (4
طپشي) با سيگنالينگ gtl کار مي کند. يک نکته جالب توجه اين است که atom از
يک فناوري سيگنالينگ ديگر نيز استفاده مي کند: حالت cmos.gtl بسيار کارآمد
است ( گذرگاه در اين حالت مي تواند به 1600 مگاهرتز برسد) اما مصرف برق
بالايي دارد، در حاليکه حالت cmos امکان کاهش ولتاژ گذرگاه را فراهم مي
کند. از نظر فني، gtl از مقاومت هايي براي تقويت کيفيت سيگنال استفاده مي
کند اما به استثناء فرکانس هاي بالاتر، واقعاً به آنها نياز نخواهد بود. در
پردازنده هاي atom و گذرگاه fsb آنها که به 533 مگاهرتز محدود شده اند،
امکان تغيير حالت سيگنالينگ به cmos وجود دارد که باعث مي گردد مقاومت هاي
مذکور غيرفعال شده و ولتاژ گذرگاه به نصب کاهش يابد.
مديريت مصرف برق
مصرف برق، موضوع مرکزي اين سکوي اينتل به حساب مي آيد و آنها تلاش زيادي را
در اين بخش انجام داده اند. گذشته از چيپ ست که برق زيادي را در مقايسه با
پردازنده مصرف مي کند، خود atom داراي چندين تابع جذاب است.
گذرگاه و کاشه
همانطور که قبلاً نيز اشاره کرديم، اينتل تلاش زيادي را در زمينه بهسازي
کاشه و گذرگاه پردازنده جديد خود انجام داده است: توسعه يک حالت متفاوت
براي گذرگاه ( حالت cmos) و غير فعال شدن بخش هايي از کاشه بر حسب شيوه
استفاده از آن. اين توابع باعث کاهش مصرف برق مي شوند، اما استفاده از يک
معماري in-order و 8 ترانزيستور sram براي کاشه l1 نيز مصرف برق را بيش از
پيش کاهش خواهند داد. علاوه بر ولتاژ پائين پردازنده ( 1/05 ولت)، atom يک
حالت standby جديد تحت عنوان c6 را نيز معرفي مي کند. بعنوان يک يادآوري،
بايد اشاره کنيم که حالتهاي c (0 تا 6 )، وضعيت هاي کم مصرف (low-power)
هستند و هر چه عدد اين وضعيت بزرگتر باشد، مصرف برق cpu پايين تر خواهد
بود. در حالت c6، تمام بخش هاي پردازنده تقريباً غير فعال شده اند. تنها يک
بخش کوچک از حافظه کاشه ( 10/5 کيلوبايت) براي نگهداري وضعيت رجيسترها
فعال نگهداشته مي شود. در اين حالت، کاشه l2 تخليه و غيرفعال مي شود، ولتاژ
تغذيه به 0/3ولت کاهش مي يابد و تنها بخش کوچکي از پردازنده ( براي مقاصد
wake-up) فعال باقي مي ماند.
پردازنده مي تواند تقريباً در مدت 100ميکروثانيه به حالت c6 برود که بسيار
سريع است. اينتل ادعا مي کند که عملاً در 90 درصد موارد از حالت c^استفاده
مي شود که مصرف برق کلي پردازنده را محدود خواهد نمود ( بديهي است اگر شما
برنامه اي را اجرا کنيد که به قدرت پردازش زيادي از سوي cpu نياز دارد و يا
حتي به تماشاي يک ويديوي flash بپردازيد، وارد اين حالت نخواهيد شد).
آشنايي مختصر با خانواده پردازنده هاي atom اينتل
نيازهاي بسيار اندک خانواده پردازنده هاي atom اينتل در زمينه مصرف برق،
عمرباتري بسيار طولاني را براي نت بوک هاي مجهز به اين پردازنده فراهم
نموده و آن را به يک گزينه بي نقص براي بازار رو به رشد نت بوک ها تبديل مي
کند. با وجود آنکه اندازه کوچک کاشه و دامنه پائين سرعت هاي کلاک باعث مي
شوند قدرت اين پردازنده ها کمتر از اکثر پردازنده هاي مورد استفاده در نوت
بوک ها باشد، اما خانواده atom شامل مدل هايي با ويژگي هاي پيشرفته تري
نظير hyper threading است، دو هسته پردازشي، پشتيباني 64 بيتي و
virtualization سخت افزاري با فناوري vt-x است.