كدگشايي هوشمندتر
Core اولين معماري در دنياي پردازندههاي x86 است كه به 4 واحدكدگشايي x86 تجهيز شده است: 3 «كدگشاي ساده» و يك «كدگشاي پيچيده». وظيفه واحدهاي كدگشايي در تمام پردازندههاي x86 كنوني تنها ترجمه كردن دستورالعملهاي ورودي (شامل كدعملگر و آدرسها) نيست، بلكه ترجمه دستورالعملها با طول متغيير 1 الي 15 بيتي به دستورالعملهاي از پيش تعيين شده با طول ثابت (دستورالعملهاي RISC) كه زمانبندي و اجراي آنها سادهتر است نيز ميباشد، اينتل نام اين دستورالعملها كدگشايي شده را micro-op نهاده است.
در معماري Core، اكثر دستورالعملها x86 توسط يكي از سه واحدكدگشايي ساده به يك micro-op ترجمه ميشوند و ساير دستورالعملهاي سطحبالايي كه حداكثر با چهار micro-op بيان ميشوند، توسط واحد كدگشايي پيچيده كدگشايي ميگردند.
يكي ديگر از نوآوريهاي معماري Core، «همجوشي macro-op» نام دارد، اين ويژگي تركيب دو دستورالعمل وابسته x86 را ممكن ميسازد. به عنوان مثال دستورالعمل مقايسه (CMP) با دستورالعمل پرش (JNE) به كمك اين ويژگي تركيب شده و به يك micro-op كدگشايي ميشود. اين دستورالعملها به طور عمومي نتيجه كامپايل عبارات شرطي if، then و else هستند.

تصویر شماره 1
به كمك اين نوآوري، پردازندههايي كه از معماري Core بهره ميبرند، توانايي كدگشايي پنج دستورالعمل را در هر سيكل ساعت دارند ، با توجه به تصوير شماره (1)، پنج دستورالعمل به صورت هم زمان از صف دستوالعملها خوانده شده و در نهايت چهار micro-op كدگشايي ميشود.
به گفته اينتل به طور متوسط در برنامههاي عمومي كامپيوتر، از ميان هر 10 دستورالعمل استاندارد x86 كه به پردازنده ارسال ميشود دو دستورالعمل قابل ادغام با همديگر هستند و دستورالعمل تركيب شده مسير خطلوله را همانند يك دستورالعمل ساده طي كرده و در پايان خط لوله تاثير مشابه با حالت تركيب نشده بر روي ثباتهاي پردازنده خواهد گذاشت. در صورتي اين ادعاي اينتل صحت داشته باشد، «همجوشي macro-op» حدود 11 درصد افزايش كارايي را به ارمغان خواهد آورد.
ديگر نوآوري اينتل در حوزه كدگشايي معماري اينتل «همجوشي micro-op» نام دارد، هدف نهايي اين ويژگي كه از معماريP-M پردازندههاي Core Duo به ارث برده شده تركيب micro-opها با يكديگر است. دستورالعملهاي پيچيدهي اندكي وجود دارند كه پس از كدگشايي به چندين micro-op تبديل ميشوند، در مقابل دستورالعملهاي ساده متعددي نيز هستند كه نميتوان انها را با يك micro-op بيان نمود. به عنوان مثال دستور ساده ADD (جمع) در صورتي كه عملوندهايش ثباتهاي پردازنده باشند(مانند ADD EBX,EAX) به سادگي به يك micro-op كدگشايي ميشود اما اگر يكي از عملوندها آدرس خانهاي از حافظه باشد پيچيدگي اين دستور ساده براي پردازنده بسيار زياد ميشود. مانند دستور ADD [mem],EAX كه در بر اساس آن مقدار ثبات EAX بايد با مقدار خانه mem حافظه جمع شده و حاصل در خانه mem قرار گيرد.
در معماريهاي ابتدايي مانند آنچه كه در «پنتيوم پرو» به كار برده شده بود، اين نوع دستورالعملها به چندين micro-op شكسته ميشد، زيرا واحدهاي محاسباتي پردازنده تنها به ثباتها دسترسي مستقيم براي محاسبات خود دارند. بنابر اين در بهترين حالت دستورالعمل ADD [mem],EAX به دستورالعملهاي زير شكسته ميشود:
• «بارگذاري» : MOV EBX,[mem]a
• محاسبات منطقي و رياضي : ADD EBX,EAX
• «ذخيرهسازي» : MOV [mem],EBX
«همجوشي micro-op» امكان تركيب دستور «بارگذاري» با دستور محاسباتي را ميسر ميسازد، بنابر به كمك اين ويژگي تنها يك micro-op براي دستورالعمل بالا توسط واحد كدگشايي توليد ميشود. اين امر چندان كار كوچكي نيست چرا كه در طرحهاي قديمي كنارهم قرار دادن عملگرهاي محاسباتي با «بارگذاري» موجب طولاني شدن خطلوله و پايين آمدن حداكثر فركانس كاري پردازنده ميشد. در معماري نوين اينتل با استفاده از مدارهاي بزرگ و هوشمندتر كه به صورت همزمان چندين «همجوشي micro-op» انجام ميدهند، اين امر بدون اعمال محدوديت قابل ملاحظه ممكن گشته است.