چیزی که در این معماری به آن ماژول (module) گفته شده است در واقع شامل دو هستهی کاملا مستقل نیست. چون هر ماژول کلا یک واحد واکشی (fetch)، پیشبینی پرش (branch prediction)، توزیع (dispatch) و ... دارد که موارد تاثیرگذاری میتوانند باشند. حتی واحد ممیز شناور هم یکی است.
تنها اتفاقی که افتاده است این است که AMD خط لوله (pipeline) این هسته را برای اعداد صحیح قویتر کرده است که در نتیجه برای بعضی کاربردها که از اعداد صحیح زیاد استفاده کنند قدرت تقریبا دوبرابری ایجاد میکند و تحت شرایط خاص میتواند دو thread را به صورت همزمان اجرا کند و به پردازندهی هشت هستهای تبدیل شود. دقت کنید که این واحدهای اعشاری و صحیح (که شما به آن «هسته» اطلاق کردید) نمیتوانند به عنوان هستهی کاملا مستقل فعالیت کنند چون امکان واکشی و دیکد دستور مجزا ندارند. فقط قسمت محاسباتی (ALU) هستند.
حال مشکل وقتی بروز میکند که برنامهای از محاسبات اعشاری استفاده کند یا مثلا آنقدر دستورات محاسباتی نداشته باشد (فرضا بخشهای کنترلی برنامه که بیشتر if ،switch و دستورات شرطی دارند). در این حالت هر ماژول نمیتواند دو thread مجزا را اجرا کند و کارایی آن در حد یک هسته کاهش پیدا میکند. در نتیجه به پردازنده چهار هستهای تبدیل میشود.
البته در پردازندههای اینتل هم مشکل نسبتا مشابهی در مورد hyperthreading وجود داشت چون آنجا هم واقعا دو هستهی صددرصد مستقل وجود ندارد. حتی اوایل ورود این تکنولوژی، وقتی آن را خاموش میکردند (در بایوس) سرعت اجرای بازیها افزایش پیدا میکرد! ولی به تدریج اوضاع بهتر شده است. حالا نمیدانم بازیها تغییر کردهاند یا اینتل طراحی را عوض کرده یا هر دو.