مقدمه

به تازگي شركت اينتل تكنولوژي جديدش را در مورد پلات ‌فورم‌هاي قابل حمل ( سيار) به نام سنترينو( centrino ) معرفي نموده است و آن را به عنوان يك پيشرفت چشمگير مورد توجه قرار داده است. يكي از بخش هاي اصلي اين CPUآن است كه منحصراً براي  پلات‌فورم‌هاي سيار طراحي شده است.

 برخلاف نمونه‌هاي قبل CPUهاي سيار (Pentium III.M, Pentium IV.M) كه داراي طراحي مشترك با كامپيوترهاي روميزي بوده است، پنتيوم M كنوني از يك ساختار نوين برخوردار است كه با محدوديت هاي سيار بودن انطباق دارد و ساختار آن چيزي بين ساختار پنتيوم3 و پنتيوم4 است. شركت اينتل هنوز نامي براي اين طراحي جديد انتخاب نكرده است. بنابراين ما خودمان آن را (P6+) مي‌ناميم.

 

معرفي پنتيوم M:

CPUهاي سيار براي اينكه همانند كامپيوترهاي روميزي عمل كنند بايد خيلي بيشتر از كامپيوترهاي روميزي مجهز باشند. از اين رو اين CPUها بايد خيلي سريع باشند و بايد حداكثر ميزان انرژي را ذخيره ‌سازي نمايند تا زماني كه از باتري استفاده مي‌كنند بتوانند به خوبي خودكار بوده و كاركنند. بياييم و نگاهي به CPU سيار شركت اينتل داشته باشيم.

Pentium III-M براساس هسته Tualatin مي‌باشد و از همان ويژگي هايي برخوردار است

كه Pentium III-S server دارد: از MHz133 سرعت و KB 512 حافظهL2 cache برخورداراست. اين مكانيزم تاGHz  2/1 نيز موجود است و يك مكانيسم سرعت تقويت شده را داراست و يك سيستم تنظيم ساعت كه اجازه مي‌دهد تا مصرف برق را كاهش دهد. يك مدل سيار سلرون (Celeron) وجود دارد كه داراي KB 256 حافظه L2 cache بوده و فاقد مكانيسم Speedstep است. اين مدل همچنين از سرعت گذرگاهي MHz 133 استفاده مي‌كند كه با اين شرايط تنها حافظه پنهاني است كه از چنين فركانس گذرگاهي برخوردار است. طراحي و ساختار پنتيوم 3 براي CPU هاي با قدرت پايين مؤثر است. وقتي فركانس پايين بوده يا متوسط است، اين مدل داراي برون داده بالايي است كه اين خود به عملكرد خوب و كاهش مصرف منتهي مي‌شود. با اين وجود پنتيوم 3 امروزي و به روز نيست.

CPUهاي Pentium 4-M يك مدل سيار Pentium 4-M است که بر اساس هسته Northwood پنتيوم 4 است و از يك CPU مدرن بهره مي‌برد: KB 512 حافظه L2 cache و سرعت گذرگاهي چهارطرفهMHz 400 كه از طراحي‌هاي Netburst گرفته شده است. پنتيوم 4 همچنين از يك تكنولوژي سرعت تقويت شده برخوردار است. بعلاوه اين CPU به عنوان يك مدل Celeron وجود دارد با همان هسته اما با KB 256 حافظه L2 cache و بدون Speedstep. چيزي كه قابل توجه است اين مي‌باشد كه اين CPU سريعتر از نوع روميزي آن است (حافظه پنهاني مدل روميزي 128 است).

اين اولين بار نيست كه مدل سيا ر CPU سريعتر از مدل روميزي آن است. پنتيوم 2 سيار با حافظه پنهاني و كامل KB256 در مقايسه با  پنتيوم 2 كارتريج با حافظه پنهاني نصف آن، يكي از موارد ديگر است.

در نگاه اول مي‌توان فرض کرد كهPentium4-Mمي تواند يك مدل با قابليت اجرايي بالا با شد اما در حقيقيت عملكرد آن به آن اندازه نيست كه ما انتظار داريم و Pentium III-M در بسياري موارد از آن بهتر و سريعتر است و دليل آن نيز به طراحي Netburst براي پنتيوم 4 سيار مرتبط مي‌باشد كه براي فركانس‌هاي بالا طراحي شده است و در فركانس هاي پايين و متوسط، برون ‌داده ضعيفي از خود ارائه مي‌دهد. مدل روميزي پنتيوم 4 نيازمند فركانس هاي بالا و مكانيسم بهينه‌سازي مانند استفاده از Hyperthreading مي‌باشد تا كارآمدي جهاني خودش را ارتقا دهد.

متأسفانه به كارگيري اين راه‌حل‌ها براي CPU هاي سيار شدني نيست براي آنكه به عنوان يك مصرف کننده بزرگ انرژي برق محسوب مي‌شوند.

 

سرانجام شركت اينتل به بن‌بست رسيد. پنتيوم 3 سيار كارآمد و مؤثر، اما قديمي بود و پنتيوم 4 سيار مطابق و سازگار با مدل سيار نبود. با توجه به اين

 مطلب به راحتي مي‌توان تصويري از يك CPU سيار كامل ساخت كه از نقاط قوت اين CPU ها بهره برده باشد: مدلي كه براساس پنتيوم 3 طراحي شده باشد و مجهز به قابليت هاي مدرن پنتيوم 4 باشد، مثل SSE2 و فركانسMHz 400. اين CPU در حال حاضر موجود است و نام آن Pentium M مي‌باشد.

اين پنتيوم يك CPU اصلي است كه طبق ميل و خواسته ما چيزي بين پنتيوم 3 و 4 است و از قابليت ها و ويژگي هاي  هر دو بهره گرفته است و در حقيقت يك پنتيوم 3 تقويت شده است: داراي حافظه پنهان بيشتر و به ميزان بيشتري بهينه سازي شده است و بعلاوه از بعضي ويژگي هاي پنتيوم 4 نيز برخوردار است. ويژگي هاي تحسين ‌برانگيزي كه عملكردي در سطح بالا و مطلوب را تضمين مي‌كنند(جدول 1).  

 

 

PRIVATE

Pentium III-M

Pentium 4-M

Pentium M

Core

P6(Tualatin 0,13µ)

Netburst(Northwood 0,13µ)

"P6+"(Banias 0,13µ)

L1Cache
(data + code)

16Kb + 16Kb

8Kb + 12Kµops (TC)

32Kb + 32Kb

L2 Cache

512Kb

512Kb

1024Kb

Instructions Sets

MMX, SSE

MMX, SSE, SSE2

MMX, SSE, SSE2

Max frequencies (CPU/FSB)

1,2GHz
133MHz

2,4GHz
400MHz (QDR)

1,6GHz
400MHz (QDR)

Number of transistors

44M

55M

77M

SpeedStep

2nd generation

2nd generation

3rd generation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

جدول1

 

پنتيوم M به دو شكل وجود دارد:

 

(Pin Grid Array) Micro-FCPGA و  (Ball Grid Array) Micro-FCBGA و هم اكنون شش مدل از آن موجود است که در جدول 2 نشان داده شده است. توجه داشته باشيم كه مدل «ولتاژ فوق‌العاده پايين» درMHz 900 فقط به 1 ولت نياز دارد و افت نيروي آن نيز هفت وات مي باشد. در عوض پنتيوم 3 سيار، MKZ 933 با ولتاژ 5/1 ولت نياز دارد و افت انرژي (انرژي اتلاف) در آن بيشتر از 20 وات است. پنتيومM  حقيقتا ًبراي انرژي و توان پايين تر ساخته شده است. (جدول 2)

 

PRIVATEModel

Frequency
(max / min)

Vcore
(max / min)

Pentium M 1,6GHz

1,6GHz / 600MHz

1,484v / 0,956v

Pentium M 1,5GHz

1,5GHz / 600MHz

1,484v / 0,956v

Pentium M 1,4GHz

1,4GHz / 600MHz

1,484v / 0,956v

Pentium M 1,3GHz

1,3GHz / 600MHz

1,388v / 0,956v

Pentium M 1,1GHz
Low Voltage

1,1GHz / 600MHz

1,180v / 0,956v

Pentium M 900MHz
Ultra Low Voltage

1,6GHz / 600MHz

1,004v / 0,844v

جدول 2

 

 

ساختار Pentium Mهسته (P6+)

همانطور كه مشاهده كرده‌ايم طراحي ساختار پنتيوم 3 براي CPU هاي سيار بسيار مناسب و كارآمد است و در نتيجه براي طراحي پايه پنتيوم M به كار رفته است.

CPU پنتيوم M  يك CPU  ازخانواده P6 مي‌باشد و مدل 9 آن به شكل حيرت انگيزي بين مدل 8 و مدل 11 Tualatin قرار دارد.

مدل پنتيوم 3 براساس هسته RISC و با پنج قسمت و داراي كانال هاي اطلاعاتي 10 مرحله‌اي است. هسته پنتيوم M  داراي ويژگي هاي بسيار مشابه آن است اما سرعت ساعتش اين را به اثبات مي‌رساند كه از كانال هاي اطلاعاتي   عميق‌تري بهره مي‌برد. در حقيقت پنتيومM  امروزه تا GHz 6/1 موجود است و سرعت زماني آن حقيقتاً بيرون از دامنه هسته كنوني پنتيوم 3 است در حالي كه سريعترين مدل موجود با µ13/0 از فركانس GHz 4/1 استفاده مي‌كند. يك كانال اطلاعاتي عميق‌تر با سطحي بالاتر از 10 ممكن است تشريح كند كه پنتيوم M توليدشده (µ13/0) قادر است تا به GHz 6/1 برسد. پنتيوم 4 نشان مي‌دهد كه يك كانال اطلاعاتي عميق اين امكان را فراهم مي‌آورد كه به يك فركانس زماني بالا دست پيدا كنيم. (كانال اطلاعاتي پنتيوم 4 ، 20 مرحله‌اي است و به GHz 06/3 مي‌رسد با يك فرآيند يا روند µ13/0).

شركت اينتل مايل است تا تأييد كند پنتيوم M از كانال اطلاعاتي عميق‌تري استفاده مي کند اما مقادير حقيقي را آشكار نمي‌سازد. همه چيزي را كه مي‌توانيم بگوييم اين است كه اين به 10 مرحله‌اي بودن نزديكتر است تا به 20 مرحله‌اي بودن، زيرا عميق ‌ترين كانال اطلاعاتي (ناكارآمدترين) CPU در يك سرعت زماني خاص وجود دارد. پنتيوم 4 نيازمند يك مكانيسم پيش‌بيني سطح بالا مي باشد تا اين اثرات بد را كاهش دهد و برون داد كانال اطلاعاتي را افزايش و بهبود ببخشد. همانطور كه خواهيم ديد، پنتيوم M همچنين شامل پيشرفت‌هايي جهت كاهش اثر جانبي منفي كانال هاي اطلاعاتي عميق‌تر مي‌باشد.

بدترين چيزي كه ممكن است براي يك كانال اطلاعاتي رخ دهد اين است كه CPUها بد شاخه‌بندي شوند. چگونه اين كار ممكن است؟ CPU هاي مدرن از چندين نوع ساختار مديريت بهره مي برند تا زمان را کاهش دهند. اما اتفاق زماني رخ مي‌دهد كه يك شاخه و انشعاب ديده مي‌شود. كدام بخش انشعاب انتخاب مي‌شود؟ براي حل اين مشكل و انتخاب، CPUها از سيستم و مكانيزم پيش‌بيني استفاده مي‌كنند و آن هم براساس الگوريتم‌هاي پيچيده كه تصميم گيري

مي‌نمايد كه كدام قسمت از انشعاب يا شاخه بايد انتخاب شود. اگر CPU دچار اشتباه گردد، اين مكانيزم بايد جريان دستور را عوض نمايد و كانال هاي اطلاعاتي را از دستورات بلااستفاده و غير مفيد كاملاً پاك كند. اين عمليات بسيار طولاني است و هر چه كانال اطلاعاتي عميق‌تر باشد طولاني‌تر نيز مي‌شود.

 بنابراين CPU هاي داراي كانال هاي ارتباط عميق داراي اشتباهات احتمالي كمتري هستند و بنابراين الگوريتم‌هاي پيش‌بيني شاخه و انشعاب خودشان را بهبود مي‌بخشند. CPU پنتيوم 3 شامل 2 مكانيزم مكمل پيش‌بيني انشعاب است. پنتيوم M نيز به همين شكل از 2 مكانيزم مذكور استفاده مي‌كند بعلاوه اينكه از يك مكانيزم سوم نيز استفاده مي‌كند (شکل 1).

·        يك مكانيزم ثابت که از يك الگوريتم ثابت استفاده مي‌كند و به انشعابات ساده مي‌پردازد. اين الگوريتم اين اجازه را مي‌دهد تا انشعاباتي را كه قوي يا نه چندان قوي آورده شده‌اند را مديريت كند. به عبارت ديگر CPU رفتار بعضي از الگوهاي انشعابي را پيش‌بيني مي‌كند و حدس مي‌زند. اين روش به الگوريتم bi-modal مشهور است.

·        يك مكانيزم پوياي پيش‌بيني براي loops local اختصاص يافته است. يك  local range buffer اين اجازه را مي‌دهد تا يك تاريخچه از شاخه‌ها و انشعابات را ذخيره سازد. وقتي با يك شاخه و انشعاب روبرو مي‌شويم، CPU به جدول مذكور رجوع كرده و مطابق با نتيجه عمل مي‌كند. اين سيستم را «پيش‌بيني‌كننده local» مي‌نامند.

·             مكانيزم پوياي پيش‌بيني ديگر شبيه مدل پوياي ذكر شده است ولي با global range و نام آن نيز «پيش‌بيني كننده global» است.

براساس استانداردهاي شركت اينتل اين 3 مكانيزم اين امكان را فراهم مي‌كنند تا خطاي انشعاب را از 20%  كاهش دهند(در مقايسه با پنتيوم 3).

 

 

 شكل 1

 

يك مديريت كارآمدتر فرمان ها:

پنتيوم M شامل دو تحول و پيشرفت در سطح پايين در مديريت فرمان‌ها شده است. در جريان عادي كار فرمان هاي عمل شده توسط CPU در يك مجموعه از ميكرواپراتورها كدخواني مي‌گردند كه هر كدام توسط بخش هاي اختصاص داده شده (…,Load limit, FP ALU) انجام مي‌شود.

 

Add eax, [memory]

اين فرمان ساده به ثبت‌كننده eax ارزشي را كه در يك آدرس موجود در حافظه وجود دارد مي‌افزايد. پشت سر اين فرمان 2 پيش عمليات وجود دارد. عمليات بارگذاري كه توسط بخش بارگذاري انجام مي‌شود و عمليات عددي يا حسابي كه توسط بخش ALU انجام مي‌پذيرد.

بنابراين فرمان قبلي توسط CPU اين چنين ديده مي‌شود:

 

Load reg0, [memory]

Add reg1, reg0

اين كار 2 گام را بوجود مي‌آورد. پيشرفت پنتيوم M شامل توانايي‌اش در ادغام اين 2 كار با هم و در يك زمان است و به جاي آن با يك عمليات و فرمان هر دوي آنها را انجام مي‌دهد.

Add reg1, [memory]

بنابراين تعداد كل عمليات‌ها كاهش مي‌يابد: اين كاهش مطابق استانداردهاي اينتل تا 10% در جريان دستورات عمومي و معمولي مي‌رسد. به اين مكانيزم تلفيق ( Fusion ) مي گويند.

 دومين بهينه‌سازي مربوط به مديريت stack مي‌باشد. stack يك ناحيه حافظه‌ اختصاصي است كه در نرم‌افزارها استفاده مي‌شود تا پارامترها و داده‌ها را هنگامي كه يك زير بخش از برنامه فراخوانده شده است، ذخيره نمايد. مديريت stack نسبت به مدارهاي CPU گرسنه است زيرا به ميزان زيادي به بارگذاري و فرمان هاي حركت  نياز دارد. در پنتيوم M تعداد پيش‌عمليات‌هاي فرمان هاي به كارگرفته شده براي مديريت stack كاهش يافته تا سرعت فرآيند افزايش يابد و اين فقط به خاطر مديريت اختصاص يافته stack است كه به كار رفته است.

سرانجام اينكه پيشرفت‌هاي پنتيوم M دو هدف را دنبال مي‌كند: دارا بودن يك CPU كارآمدتر با مصرف پايين انرژي. در حقيقت يك CPU كارآمدتر انرژي (برق) كمتري نياز دارد.

 

حافظه پنهان( cache )

حافظه پنهان L1 ( the L1 cache ):

در ابتدا بايد نگاهي به اطلاعات حافظه پنهان پنتيوم M داشته باشيم(شکل2).

برخلاف پنتيوم 4، پنتيوم M داراي حافظه پنهان كپي شده از پنتيوم 3 ني