أحمد فرحات
02-22-2011, 06:17 PM
كثرت معالجاتADM رباعية النواة فى الأسواق،وتنوعت بثلاث عائلات ناضجة،مالفرق بين كل منهم؟
أولا:معمارية معالجات Phenom X4 :
جاءت معالجات Phenom ، واحتلت مرتبة أول تعديل حقيقي في معالجات AMD ، منذ اطلاقها معالج Athlon 64 ، في عام 2003 ،صممت معالجات Phenom ، كمعالجات رباعية بالدرجة الأولي ، حيث تم بناء المعالج من الصفر حول هذا المبدأ ، وهذا بعكس معالجات C2Q ، والتي صممت عن طريق دمج معالجين C2D ،لا يعني ذلك أن معالجات Phenom تأتي بمعمارية مختلفة كليا عن معمارية Athlon 64 ، فعلي العكس ، فان AMD لا تستطيع المخاطرة بمعمارية جديدة تماما ، بينما بامكانها تطوير وتحسين المعمارية القديمة بتعديلات جوهرية ، وذلك علي العكس من Intel ، والتي تستطيع ماليا المخاطرة بمعمارية جديدة،وهذا بالفعل ما حدث ، حيث أضافت AMD عددا من التحسينات الأساسية علي معمارية Athlon 64 ، تهدف هذه التحسينات الي مواكبة متطلبات العصر البرمجية والتغلب علي أوجه القصور فيها ،كانت أول التغييرات هي اضافة المستوي الثالث من الذاكرة المخبأة Level 3 Cache memory ،ولنفهم ماهية الذاكرة المخبأة يجب أن نعرف أنها لا تزيد عن كونها تصحيحا مهما لخلل خطير في كل المعالجات الحديثة .. هذا الخلل هو بطء الذاكرة العشوائية RAM مقارنة بالمعالج .
ان مشكلة مشاكل الحاسب الآلي في هذا العصر هو بطء ذواكره مقارنة بوحدات المعالجة فيه ، فالقرص الصلب بطئ للغاية ، لذلك تم ابتكار الذاكرة العشوائية ، لكنها سرعان ما أصبحت بطيئة أيضا بسبب تطور سرعة المعالجات ،والذاكرة لمن لا يعرف تحتل مساحة فيزيائية أكبر من المعالج ، وتتطلب عددا كبيرا من الدوائر الكهربية ، فلتخزين واحد بت في الذاكرة ، فاننا نحتاج الي أربع دوائر كهربية ، كما نحتاج الي دوائر أخري لتعمل كعنوان منفصل الي هذا البت ،نعم ، لقد قرأت العبارة السابقة بطريقة صحيحة ، لكل بت في الذاكرة عنوان منفصل ، حيث لا يستطيع أي معالج في الكون انتزاع أي بت من الذاكرة دون أن يكون لها عنوان مستقل .. (والعنوان هو تسمية أنيقة لسلك دقيق جدا يخرج من الأربع دوائر التي يتم تخزين البت فيها ) ثم يتجمع مع غيره من الأسلاك الخارجة من البتات الأخري مكونا حزمة صغيرة من الأسلاك تخرج من شريحة الذاكرة وتتجه الي المعالج ، وعدد أسلاك هذه الحزمة هو ما يحدد عرض تبادل البيانات بين المعالج والذاكرة .
فاذا كان عدد الأسلاك 64 سلكا ، قلنا أن عرض تبادل البيانات هو 64 بت ، (عرض هذا الناقل هو 64 بت) ، وذلك يعني أن المعالج يستطيع الوصول الي 64 بت فقط من الذاكرة في المرة الواحدة ،أسمعك تقول أن هذا مقدار بخس للغاية ، ولأ أملك سوي أن أتفق معك في ذلك ، لكن يجب أن تنتبه الي جملة (في المرة الواحدة) ، وكلمة المرة هنا هي مصطلح سوقي للتسمية الأكثر أناقة : التردد ،ففي كل تردد يستطيع المعالج الوصول الي 64 بت ، وبفرض وجود معالج وذاكرة يعملان بتردد 200MHz في الثانية ، أي 200 مليون تردد (أو مرة) ، فان عرض تبادل البيانات قد تلقي دفعة خارقة الي 12 مليار بت في الثانية (1500 ميجابايت) .
بالطبع هذا مقدار معقول ، ولا يخفي علي أحد أن سرعات الذاكرة ذات 200MHz هي شئ غير موجود الآن ، فأقل سرعة هي 800MHz حاليا ،ونعود ونتكلم عن مشكلة تعقيد الذاكرة ، فلك أن تتصور أحتياجنا الي 33 مليون دائرة كهربية لتمثيل 1 ميجابايت فقط من الذاكرة (4 دوائر لكل بت والواحد ميجا تحتوي علي 8 مليون بت تقريبا) ،بالطبع هذا سخف ، واذا ما فكرنا في ذاكرة بحجم واحد جيجابايت (33 مليار دائرة) يصبح السخف هراءا ، ان انتاج ذاكرة بهذا الحجم هو أمر مكلف للغاية ، ولا ننسي احتياج هذه الذاكرة الي طاقة هائلة لتشغيل 33 مليار دائرة بتردد مماثل لتردد المعالج ، وهو الوضع المثالي ،ولقد تعلق العلماء بكل بارقة أمل حتي يتمكنوا من زيادة أحجام الذاكرة بدون القاء الأموال في الهواء ، ولقد وصلوا بغيتهم بالفعل ، باستخدام المكثفات بدلا من الدوائر الكهربية ،والمكثف الواحد يؤدي نفس الغرض الذي تقوم به الدوائر الأربع السابقة ، فهو يستطيع تخزين بت واحدة فقط أيضا ، وبذلك فقد انخفض تعقيد الذاكرة الي الربع ، فلتخزين واحد ميجابايت نحتاج الي 8 مليون مكثف بدلا من 33 مليون دائرة .
وهو انجاز في عيون مهندسي الحاسوب كبير ، فعنما نعلم أن تكلفة المكثف الواحد أقل من تكلفة الدائرة الكهربية الواحدة نستطيع تفهم فرحة هؤلاء المهندسون ، فلقد نجحوا في تقليل التعقيد والتكلفة الي مستويات مناسبة جدا ، كما تمكنوا بذلك من انتاج أحجام كبيرة من الذاكرة ،وقبل أن يندمج المهندسون في فرحتهم ، أدركوا أن الانسان لا يمكن أن يحصل علي كل شئ دفعة واحدة ، وهي حكمة خالدة ، تثبت صحتها منذ قديم الأزل ،ولقد اثبتت الحكمة صحتها هذه المرة ، عندما اكتشف المهندسون أن المكثفات لا يمكن أن تعمل أبدا بنفس ترددات الدوائر الكهربية ! .. ولقد حاول المهندسون وحاولوا وحاولوا ، بلا أمل في النهاية .
ان معني أن تردد المكثف اقل دائما من تردد الدائرة الكهربية ، أن كل الذواكر المصنوعة من المكثفات سوف تكون أبطأ من المعالجات المصنوعة من الدوائر الكهربية ، وبذلك يختل الوضع المثالي ، ونعود للصفر من جديد ، فالذاكرة ابطأ من المعالج،ثم أدرك المهندسون الحكمة الأخري ، وهي أن المصائب لا تأتي الا تباعا ،فطبيعة المكثف الفيزيائية تنص علي أنه يجب أن يفقد شحنته ، أي يفقد البت المخزنة فيه بعد فترة قصيرة من الزمن ..ولا سبيل للدوران حول هذه الحقيقة الثابتة،وهنا عاد العلماء لمناقشة السخف من جديد ، ما فائدة ذاكرة تفقد البيانات بعد فترة من الزمن ؟ انها هكذا لا تصبح ذاكرة ، وانما تصبح ناسية (من النسيان) اذا سمحتم لي بهذا التعبير .
لكن المهندسون توصلوا الي حل وسط لهذه المشكلة ، وهو اعادة شحن المكثف كل فترة قبل أن يفقد ما فيه ، وذلك عن طريق تخصيص معالج صغير ، يقرأ الذاكرة المكونة من مكثفات ثم يعيد كتابة البيانات عليها قبل أن تفقد مكثفاتها البيانات ،هذا المعالج الصغير يسمي وحدة التحكم بالذاكرة Memory Controller ،وعملية اعادة الكتابة هذه تتم عدة مرات في الثانية ، ذلك لأن المكثف يفقد البيانات في أقل من جزء من الثانية ،تسمي هذه العملية *******، وهي تضيف المزيد من البطء الي الذاكرة ، بسبب عملية اعادة القراءة والكتابة.
وهنا نجد العلماء في حيرة بين شقين ،وهنا قرر المهندسون اللجوء الي حل ثالث ، وهو الجمع بين الاثنين ، عن طريق استخدام اسلوب السلالم ,فالقرص الصلب بطئ ، وهو يمثل أدني درجة في سلم الحاسوب وهو مشكلة تحتاج الي الحل ، والحل هو اضافة درجة ثانية هي الذاكرة العشوائبة المصنوعة من المكثفات RAM (فهي أسرع بكثير من القرص الصلب)، وهذه الدرجة الثانية في سلم الحاسوب ،لكن سرعة ذاكرة المكثفات تلك أبطأ بكثير من المعالج ، وهذه مشكلة أخري تحتاج الي الحل ، والحل هو اضافة ذاكرة أخري مصنوعة من الدوائر الكهربية ملحقة بالمعالج وتعمل بنفس سرعته ، لكن لها حجم أقل(لتقليل التعقيد والكلفة) ، وتسمي Cache وهذه هي الدرجة الثالثة في سلم الحاسوب .
والآن فعند تشغيلك للحاسوب ، فان البيانات تحمل من القرص الصلب الي الذاكرة العشوائية RAM (اختناق)، ثم تحمل منها الي الذاكرة المخبأة Cache (اختناق)، والتي تعمل بنفس سرعة المعالج ، وتتم عملية المعالجة في سلام بدون اختناقات فيها (الاختناقات حدثت أثناء النقل فقط) ،لكن ظهرت مشكلة أخري ، وهي حجم الذاكرة المخبأة Cache الصغير جدا (واحد ميجابايت الي 12 ميجابايت) ، فهو حجم تافة مقارنة بأحجام الذاكرة العشوائية RAM (واحد جيجابايت الي 4 جيجابايت) ، وهي بهذا لا تحتوي علي مقدار كبير من البيانات ، لذا يجب الاهتمام بالقدر الضئيل الذي تحويه ، حيث يجب أن تحتوي علي البيانات التي يحتاجها المعالج بالضبط ، دون زيادة أو نقصان ، لأن حدوث النقصان يعني رجوع المعالج الي الذاكرة العشوائية (اختناق) والتي قد تعود الي القرص الصلب اذا كانت ناقصة (اختناق آخر) .. أما حدوث الزيادة فيعني تضييع المساحة في شئ لا فائدة منه ، والذي سيؤدي في النهاية الي حدوث نقصان لاحق ، والمزيد من الاختناقات الرائعة !
اذن كيف نحدد للمعالج القدر الصحبح من البيانات التي تخزن في الذاكرة المخبأة ؟الحل هو كالعادة ، اضافة معالج صغير يقوم بمتابعة البيانات التي يطلبها المعالج ، ثم يقوم بتوقع البيانات التي قد يحتاجها المعالج لاحقا Prediction ، والمعالج الصغير لا يتوقع الغيب لا سمح الله ، لكنه يراقب جيدا البيانات التي يحسبها المعالج المركزي ، وحيث أن البيانات عادة ما توجد في شكل مرتب ومتسلسل ومترابط علي القرص الصلب، فان معالج التوقع هذا يستطيع انتقاء التسلسل القادم من البيانات ويطلبه من الذاكرة العشوائية التي تطلبه من القرص الصلب .
والأن عندما تشغل الحاسوب ، فان البيانات تخرج من القرص الصلب الي الذاكرة العشوائية (اختناق)، ومنها الي المعالج مباشرة (اختناق)، ثم بيدأ معالج التوقع Prediction العمل ، ويستخرج البيانات المتوقعة من الذاكرة العشوائية ويضعها في الذاكرة المخبأة (اختناق) ، لتتم عملية المعالجة مباشرة بين الذاكرة المخبأة والمعالج نفسه Kلاحظ أنه في أول الأمر كانت عملية المعالجة تعاني من اختناق ، لأن التعامل تم بين ذاكرة RAM والمعالج مباشرة ، ولكن بعد بدء معالج التوقع العمل ، فان الاختناقات ذهبت ، لأن التعامل تم بين الذاكرة المخبأة والمعالج مباشرة ،لا تصبح للذاكرة المخبأة قيمة ، اذا انتقلت عملية المعالجة الي بيانات غير مترابطة ، أو الي تسلسل آخر من البيانات ، وهنا يصبح علي معالج التوقع البدء من جديد .
أسمعك تنفخ في سخط ، كل هذا التعقيد من أجل نقل البيانات الي المعالج ؟ وهنا أجيبك أن تعقيد الحاسوب حقيقة يأتي من تعقيد نقل البيانات وليس معالجتها ،قلنا أن معالجات AMD اضافت مستوي ثالث من الذاكرة المخبأة ؟ ما فائدة المستوي الأول والثاني أصلا ؟ ولماذا تكون هناك مستويات ؟اراك قد فقدت أعصابك وكل أملي أن لا تفقدها عندما أذكرك بعرض الحزمة من جديد ،تأمل معي ذاكرة مخبأة بمساحة واحد ميجابايت ، يخرج من هذه الذاكرة 128 سلك الي المعالج (عرض الحزمة 128 بت) ، هذا يعني أن المعالح يستطيع طلب 128 بت فقط من أصل مليون بت (واحد ميجابايت) ، ولكي يطلب بيانات أخري يجب عليه أن يضيع الوقت في البحث داخل الواحد ميجابايت كلها حتي يجد بغيته (اختناق)! وهذا يضرب الهدف من وجود الذاكرة المخبأة في جذوره ، والهدف هو توصيل البيانات الي المعالج بدون اختناقات أو تأخير في الوقت .
لذا يتم تقسيم الذاكرة المخبأة الي مستويين ، المستوي الأول L1 ، يكون صغيرا جدا ، بمساحة 128 كيلوبايت مثلا ، ويضع فيه معالج التوقع تلك البيانات التي يحتاجها المعالج حالا ، ولأن مساحة هذا المستوي صغيرة جدا ، فان المعالج لا يضيع الكثير من الوقت في البحث داخله ولتحسين الوضع قليلا ، عادة ما يكون عرض الحزمة لهذا المستوي هو 256 بت ،أما المستوي الثاني فيحتوي علي معظم مساحة الذاكرة المخبأة ، ويقوم معالج التوقع بتخزين تسلسلات لاحقة من البيانات فيه ، لكي تستبدل تلك الموجودة في المستوي الأول بعد انتهاء المعالج من بيانات المستوي الأول بالطبع .
وعادة مايكون عرض الحزمة للمستوي الثاني هو 128 بت ،ومع تعدد أنوية المعالجات ، تم استخدام الذاكرة المخبأة كوسيلة اتصال بين أنوية المعالجات ، فالنواة الأولي قد تطلب من النواة الثانية نتائج بعض العمليات الحسابية ، والنواة الثانية قد تفعل ذلك مع الرابعة وهكذا ،ومن المنطقي أن يتم هذا الاتصال علي المستوي الثاني ، لأنه أكبر ، ولأن لكل نواة مستوي أول خاص بها ، أما المستوي الثاني فهو مشترك بين كل الأنوية ،ومن المنطقي أيضا أن هذا الاتصال يشغل مساحة من ذاكرة المستوي الثاني ، كما يتركها مشغولة دائما بطلبات الأنوية علي حساب البيانات ،لذا فان تقسيم الذاكرة المخبأة الي ثلاث مستويات هو الخطوة القادمة لتصحيح الوضع ، فأصبح الآن لكل نواة مستوي أول وثاني مستقلين وتم تصغير حجم المستوي الثاني ، وتكبير حجم المتسوي الثالث علي حسابه ، واصبح المستوي الثالث مشتركا بين كل الأنوية ،اتخذت AMD هذه الخطوة لأنها قامت بتصميم معالجها الرباعي الأول من الصفر ، ولم تقم بدمج المعالجات مثل Intel.
تميزت معالجات Core2 ، بقدرتها علي توقع البيانات غير المتسلسلة بدرجة معقولة ، Indirect Prediction ، وذلك عن طريق تحسينات في معمارية معالج التوقع Prediction Branch ، فاضافت AMD هذه الخاصية ، مع تحسينات أخري فيها ، والهدف عموما هو زيادة معدل الاستفادة من الذاكرة المخبأة ، وبالتالي تقليل الاختناقات .
تميزت معالجات Athlon 64 في السابق باحتوائها علي متحكم الذاكرة Memory COntroller بداخل المعالج نفسه ، وليس في اللوحة الأم مثل Intel .
قلنا أن متحكم الذاكرة هذا يختص بعمليات تحديث البيانات ******* الخاصة بالذاكرة العشوائية RAM ، لكن لم نقل أنه يختص أيضا بعناء حفظ كل عناوين الذاكرة ، والوصول لأي نقطة فيها ، والوصول هنا يعني عملية الكتابة والقراءة ، وهذا منطقي ، فالمعالج الذي يقوم بتحديث الذاكرة وحفظ عناوينها ، هو الأولي بمسئولية الكتابة والقراء ،وبهذا يكتمل سلم الحاسوب الذي نبنيه منذ بداية هذا المقال :القرص الصلب ---> الذاكرة العشوائية RAM ---> وحدة التحكم في الذاكرة ---> الذاكرة المخبأة ---> المعالج.
كون وحدة التحكم في الذاكرة مدمجة بالمعالج يختصر خطوة من السلم السابق :القرص الصلب ---> الذاكرة العشوائية RAM ---> وحدة التحكم في الذاكرة/الذاكرة المخبأة ---> المعالج،كما اهتمت AMD باضافة تعديلات علي معمارية متحكم الذاكرة ، لتجعله أسرع وأكفأ ، و تم زيادة عرض الناقل فيه .
احتفظت معالجات Phenom بدعمها لتقنية المعالجة بامتداد 64Bit ، مثل معالجات Athlon 64 ،والحقيقة أن القليل يفهم معني تقنية المعالجة بامتداد 64bit ، علي الرغم من كونها شيئا أساسيا في الحاسوب ،والفكرة كلها تكمن في الذاكرة وليست في المعالجة ،في بداية اختراع الحاسوب كان الهم الشاغل للجميع هو جعل الحاسوب قادرا علي تخزين الحروف الأبجدية ،ولأن التخزين يتم علي الذاكرة ، والتي لا توفر سوي الواحد أو الصفر ، وجب علي كل حرف أن يأخذ نصيبه من هذه الأرقام بحيث يظل متفردا عن باقي الحروف .
مثال : حرف A يتم تخزينة باستخدام 2 بت من الذاكرة : 11
حرف B باستخدام 2 بت أخري : 10
حرف C باستخدام : 01
حرف D باستخدام : 00
وهنا توقفت الأبجدية عند حرف D ، لذا وجب استخدام عدد أكبر من البتات (جمع بت) للحصول علي عدد أكبر من الحروف ،رأينا أن استخدام 2 بت للتخزين لم يكف سوي لأربع حروف ،كذلك استخدام 3 بت لن يكفي سوي لثمانية حروف ،واستخدام 4 بت لن يكفي الا لتخزين 16 حرف ،لكن استخدام 6 بت سوف يكفي 64 حرف ، والأبجدية 27 حرف ، اذن فـ 6 بت تكفي لتخزين الأبجدية وتزيد ايضا .
ولقد عمل الحاسوب باستخدام منظومة تخزين بعرض 6 بت لفترة ليست بالقصيرة ، وتسمي هذه المنظومة باسم عرض الكلمة : Word Width ، فكل حرف له عدد معين من البتات تمثله ، هذا العدد هو عرض الكلمة التي يتم تخزينها علي الذاكرة ،ان أهمية عرض الكلمة هذا لا تتوقف عند تحديد عدد حروف الأبحدية التي يمكنني تخزينها ، لكن تمتد بعمق الي تركيب الذاكرة والمعالج ،فبدلا من جعل سلك عناوين واحد لكل بت واحدة في الذاكرة ، أقوم بجعل سلك عناوين واحد لكل ستة بت في الذاكرة ، لأنني لن أقوم بقراءة كلمة أقل من 6 بت في المرة الواحدة أبدا .
هذا عن الذاكرة لكن ماذا عن المعالج ؟هذا يدفعنا للكلام عن عملية المعالجة ،وعملية المعالجة تتم علي قسمين من الدوائر ، قسم التسجيل Registers ، وقسم المعالجة Processing ،فلكي يحسب المعالج هذه المعادلة :3+6 = 9 ، فانه يقوم بالأتي :
ينتزع أولا بيانات المعادلة من الذاكرة العشوائية RAM ، فينتزع الثلاثة، ويتنزع الستة ، وينتزع بيانات عملية الجمع (وتسمي هنا تعليمات جمع)، ويتم وضع كل ذلك في الذاكرة المخبأة ،يبدأ جزء في المعالج يسمي معالج التشفير Decode بقراءة تعليمات الجمع أولا ، وعندما يدرك أن العملية المطلوبة هي علمية جمع ، يقوم بتحويل المعادلة كلها الي معالج الجمع ،في معالج الجمع يتم تخزين رقم ثلاثة في مسجل Register ، والمسجل هو تسمية أكثر أناقة الذاكرة المخبأة Cache ، وسميت باسم مسجل لأنها داخل المعالج وليست خارجه مثل الذاكرة المخبأة ،والمسجل هو ذاكرة صغيرة جدا جدا ، تقاس مساحتها بالبتات ، ولا تتعدي هذا الحاجز أبدا ، فلن نجدها تقاس بالبايتات مثلا، ذلك لأن المعالج يسجل فيها البيانات المطلوبة فقط ، رقم ثلاثة في مثالنا.
وفي ذلك الوقت كانت مساحة أي مسجل هي 6 بت ، لأن عرض الكلمة لكل ما يحتاجه الحاسوب من حروف وأرقام هو 6 بت فقط ،ويتكرر الأمر مع رقم ستة ، حيث يتم تسجيله في مسجل آخر بمساحة 6 بت أيضا ،ولأن مساحة المسجل 6 بت فقط ، وعرض الكلمة هو 6 بت ، فلن نحتاج سوي لسلك عنوان واحد فقط ، وعرض حزمة 6 بت فقط ،وذلك يعني أن انتزاع البيانات من المسجلات هو أمر في قمة السهولة ، فهو لا يتطلب مجهودا يذكر ،بعد انتهاء التخزين يتم انتزاع الثلاثة والستة من مسجليهما ، ويدخلان معالج الجمع ، وهو عبارة عن مجموعة دوائر كهربية مرتبة بطريقة معينة ، بحيث تؤدي وظيفة الجمع ، وبعد انتهاء العملية ، يسجل الناتج وهو رقم 9 في مسجل جديد ، تمهيدا لنقله الي الذاكرة المخبأة/العشوائية ،وبهذا رأينا كيف أن عرض الكلمة البالغ 6 بت ، يؤثر كثيرا علي تركيب عناوين الذاكرة ، و مساحة المسجلات .
فيما بعد احتاج المهندسون لعرض كلمة أكبر ، لتخزين نطاق أعرض من الرموز والأشكال ، فقرروا استخدام نظام 8 بت ، ثم احتاجوا المزيد فقرروا استخدام نظام مضاعفات رقم ثمانية ، 16 ،24 ،32 ، 64 .. الخ ،وحتي زمن قريب ، كان تركيب المعالجات يعتمد علي نظام 32 بت ، فمساحة مسجلات المعالج 32 بت فقط ،لكن نظام عناوين الذاكرة ظل 8 بت فقط (سلك واحد لكل 8بت)، وذلك احتياطا لتخزين البيانات التي تكون بعرض كلمة 8بت ، وهي عدد ليس بالهين ، حتي في الوقت الحالي، وتم اطلاق اسم البايت علي كل 8بت ،ولأننا نسير بنظام المضاعفات ، فان عرض الكلمة الأكبر من 8 بت ، لن يكون سوي 16 أو24 أو 32 أو 64 ، وفي حالة 16 مثلا ، فالتخزين يتم باستخدام مجموعتين 8 بت ، وفي حالة 24 فالتخزين يكون بثلاث مجموعات 8بت ، وفي حالة 32 بت فالتخزين يكون بأربع مجموعات .. الخ ،لكن تأتي مشكلة مسجلات المعالج فلقد ظلت بمساحة 32 بت لوقت طويل ، لأن معظم تطبيقات الحاسوب لم تتعدي هذا الحاجز ... واحتاج الوضع الي تغيير مع ظهور قصور في تطبيقات أجهزة الخوادم وقواعد البيانات الطويلة ، حيث احتاجت عرض كلمة أكبر من 32 بت ،وهنا كان القرار بدعم عرض الكلمات بامتداد 64 بت ، وذلك عن طريق زيادة مساحة المسجلات في المعالج بحيث تصبح 64 بت .
التعديلات الأخيرة كانت في وحدة تنفيذ تعليمات SSE ، والخاصة بعمليات تحرير العروض المرئية Video ، حيث عانت معالجات Athlon 64 ، من قصورها في تنفيذ تلك التعليمات علي عرض 64 بت فقط ، بينما تستطيع معالجات Intel تنفيذها بعرض 128 بت ،ولا تندهش من وجود عرض 128 بت ، فتطبيقات تحرير الفيديو تمتاز بجوعها الشديد للبيانات نوفي الواقع فانه بمجرد ذكر كلمة تعليمات Instructions ، فان الأمور تصبح غامضة ، ومبهمة ، وخصوصا عند ذكر كلمات مثل X86 و MMX و SSE و 3D Now .. الخ ، وكلها تعليمات ، يبدو وقع ذكر اسمها مهيبا في النفس ،لكن التسمية مضحكة برغم ذلك ، فكما رأينا لا تتجاوز العمليات التي يجريها الحاسوب:ذاكرة ، نقل ، معالجة فقط ،ويشغل شقي الذاكرة والنقل الجزء الأعظم من هذه العمليات ، فشق الذاكرة يتضمن العناوين وعرض الكلمة والمسجلات، وشق النقل يتضمن عرض الحزم والتنقلات بين الذواكر المختلفة و المسجلات ووحدات المعالجة ، والتشفير ، والتوقع.
وكلمة تعليمات تعني الطريقة التي يتم بها نقل وتخزين ومعالجة البيانات ، لا أكثر ولا أقل ،فالمعالج الذي يعمل بتعليمات X86 ، يعني أنه يستخدم نظاما معينا ينقل ويخزن ويعالج البيانات بطريقة معينة ، سمي هذا النظام باسم X86 ،وتعليمات X86 تأتي بعرض 32 بت ، وبعرض 64 بت أيضا (وهو الذي تكلمنا عنه منذ قليل) نثم نأتي لتعليمات SSE ، والتي تختص بتطبيقات تحرير العروض المرئية Video كما قلنا ، وهي تعني نظاما معينا لنقل وتخزين ومعالجة بيانات العروض المرئية بطريقة معينة ، وتأتي تعليمات SSE بعرض 64 بت و 128 بت ،وقس علي ذلك باقي التعليمات ، وأي تعليمات تسمع عنها فيما بعد ،لذا فعندما أقول أن AMD قامت بتوسيع عرض نطاق البيانات لتعليمات SSE الي 128 بت ، فيجب أن تتذكر فورا توسيع عرض نطاق البيانات الخاص بتعليمات X86 الي 64 بت ،وبخصوص توفير الطاقة ، تستطيع معالجات Phenom تخفيض ترددات الأنوية حسب الحمل عليها ، ولكل نواة القدرة علي تخفيض ترددها بشكل مستقل عن الأنوية الأخري .
ثانيا : معمارية معالجات Phenom II X4 :
جاءت الحاجة لتصميم معالجات Phenom II ، بسبب فشل معالجات Phenom الأولي في الوصول لمستوي المنافس من Intel ، لذا كان علي AMD اعادة النظر في معمارية معالجاتها وتصحيح أوجه القصور فيها ،في البداية نجحت AMD في رفع جودة تصنيع معالجاتها ، وبالتالي جاءت المعالجات بترددات أكبر (أقصي تردد لمعالجات Phenom كان 2.7GHz في مقابل 3.2GHz في Phenom II )، وبقابلية أوسع لكسر السرعة ،ثم قامت AMD بالتغلب علي عقبة خطيرة في تصميم Phenom وهي حجم الذاكرة المخبأة من المستوي الثالث ،ففي معالجات Phenom كان هذا الحجم لا يتعدي 2 ميجابايت ، وهو حجم صغير مقارنة بكمية الشغل الواقع عليه من الأربع أنوية ، مما شكل عقبة خطيرة لأداء هذا المعالج .
ولكن في معالجات Phenom II ، تم زيادة حجم هذا المستوي الي 6 ميجابايت ، وهو حجم أكثر من مناسب ،ولكي نعرف اكثر تاثير زيادة حجم الذاكرة المخبأة يمكننا أن نري أن عدد دوائر معالج Phenom لم يتعد 450 مليون دائرة ، بينما تجاوز هذا العدد حاجز الـ 750 مليون دائرة في معالجات Phenom II ، أي أكثر من 300 مليون دائرة زيادة بسبب زيادة حجم الذاكرة المخبأة ،بالاضافة الي ذلك تم تعديل متحكم الذاكرة بحيث يعمل علي ذواكر DDR3 ذات السرعات العالية ، ويحتفظ في نفس الوقت بقابليته لتشغيل ذواكر DDR2 ،كما تم تحسين خواص توفير الطاقة في المعالجات الجديدة ، حيث تستطيع الأنوية الآن تقليل ترددها الي مستويات منخفضة جدا (800MHz)،بهذه التعديلات البسيطة ، نجحت AMD في زيادة الأداء علي معالجتها القديمة Phenom بمقدار يتراوح ما بين 10~30 % عند نفس التردد .
ثالثا : معمارية معالجات Athlon II X4 :
لا يوجد شئ جديد في هذه المعالجات سوي انتزاع الذاكرة المخبأة ذات المستوي الثالث منها ، فهي مشتقة من معمارية معالجات Phenom II ،رأينا كيف أن زيادة حجم هذه الذاكرة ساعدت في زيادة أداء معالجات Phenom II ، وعلي هذا فانتزاع هذه الذاكرة كليا يعني أن أداء معالجات Athlon II X4 ، أقل من معالجات Phenom II عند نفس التردد . 1-استخدام الدوائر الكهربية وهو الوضع المثالي ، (سٍرعة المعالج تساوي سرعة الذاكرة) ، يتطلب هذا تعقيدا شديدا في الذاكرة ، واستهلاكا مخيفا للطاقة ، بالاضافة الي تكلفة انتاج يشيب لهولها الولدان . 2-استخدام المكثفات ، تعقيد أقل بكثير، استهلاك للطاقة أقل ، تكلفة انتاج معقولة ، لكن سرعة أقل من سرعة المعالج بكثير ، مما يعني نسيان الوضع المثالي ، والترحيب بالاختناقات بين المعالج والذاكرة .
أولا:معمارية معالجات Phenom X4 :
جاءت معالجات Phenom ، واحتلت مرتبة أول تعديل حقيقي في معالجات AMD ، منذ اطلاقها معالج Athlon 64 ، في عام 2003 ،صممت معالجات Phenom ، كمعالجات رباعية بالدرجة الأولي ، حيث تم بناء المعالج من الصفر حول هذا المبدأ ، وهذا بعكس معالجات C2Q ، والتي صممت عن طريق دمج معالجين C2D ،لا يعني ذلك أن معالجات Phenom تأتي بمعمارية مختلفة كليا عن معمارية Athlon 64 ، فعلي العكس ، فان AMD لا تستطيع المخاطرة بمعمارية جديدة تماما ، بينما بامكانها تطوير وتحسين المعمارية القديمة بتعديلات جوهرية ، وذلك علي العكس من Intel ، والتي تستطيع ماليا المخاطرة بمعمارية جديدة،وهذا بالفعل ما حدث ، حيث أضافت AMD عددا من التحسينات الأساسية علي معمارية Athlon 64 ، تهدف هذه التحسينات الي مواكبة متطلبات العصر البرمجية والتغلب علي أوجه القصور فيها ،كانت أول التغييرات هي اضافة المستوي الثالث من الذاكرة المخبأة Level 3 Cache memory ،ولنفهم ماهية الذاكرة المخبأة يجب أن نعرف أنها لا تزيد عن كونها تصحيحا مهما لخلل خطير في كل المعالجات الحديثة .. هذا الخلل هو بطء الذاكرة العشوائية RAM مقارنة بالمعالج .
ان مشكلة مشاكل الحاسب الآلي في هذا العصر هو بطء ذواكره مقارنة بوحدات المعالجة فيه ، فالقرص الصلب بطئ للغاية ، لذلك تم ابتكار الذاكرة العشوائية ، لكنها سرعان ما أصبحت بطيئة أيضا بسبب تطور سرعة المعالجات ،والذاكرة لمن لا يعرف تحتل مساحة فيزيائية أكبر من المعالج ، وتتطلب عددا كبيرا من الدوائر الكهربية ، فلتخزين واحد بت في الذاكرة ، فاننا نحتاج الي أربع دوائر كهربية ، كما نحتاج الي دوائر أخري لتعمل كعنوان منفصل الي هذا البت ،نعم ، لقد قرأت العبارة السابقة بطريقة صحيحة ، لكل بت في الذاكرة عنوان منفصل ، حيث لا يستطيع أي معالج في الكون انتزاع أي بت من الذاكرة دون أن يكون لها عنوان مستقل .. (والعنوان هو تسمية أنيقة لسلك دقيق جدا يخرج من الأربع دوائر التي يتم تخزين البت فيها ) ثم يتجمع مع غيره من الأسلاك الخارجة من البتات الأخري مكونا حزمة صغيرة من الأسلاك تخرج من شريحة الذاكرة وتتجه الي المعالج ، وعدد أسلاك هذه الحزمة هو ما يحدد عرض تبادل البيانات بين المعالج والذاكرة .
فاذا كان عدد الأسلاك 64 سلكا ، قلنا أن عرض تبادل البيانات هو 64 بت ، (عرض هذا الناقل هو 64 بت) ، وذلك يعني أن المعالج يستطيع الوصول الي 64 بت فقط من الذاكرة في المرة الواحدة ،أسمعك تقول أن هذا مقدار بخس للغاية ، ولأ أملك سوي أن أتفق معك في ذلك ، لكن يجب أن تنتبه الي جملة (في المرة الواحدة) ، وكلمة المرة هنا هي مصطلح سوقي للتسمية الأكثر أناقة : التردد ،ففي كل تردد يستطيع المعالج الوصول الي 64 بت ، وبفرض وجود معالج وذاكرة يعملان بتردد 200MHz في الثانية ، أي 200 مليون تردد (أو مرة) ، فان عرض تبادل البيانات قد تلقي دفعة خارقة الي 12 مليار بت في الثانية (1500 ميجابايت) .
بالطبع هذا مقدار معقول ، ولا يخفي علي أحد أن سرعات الذاكرة ذات 200MHz هي شئ غير موجود الآن ، فأقل سرعة هي 800MHz حاليا ،ونعود ونتكلم عن مشكلة تعقيد الذاكرة ، فلك أن تتصور أحتياجنا الي 33 مليون دائرة كهربية لتمثيل 1 ميجابايت فقط من الذاكرة (4 دوائر لكل بت والواحد ميجا تحتوي علي 8 مليون بت تقريبا) ،بالطبع هذا سخف ، واذا ما فكرنا في ذاكرة بحجم واحد جيجابايت (33 مليار دائرة) يصبح السخف هراءا ، ان انتاج ذاكرة بهذا الحجم هو أمر مكلف للغاية ، ولا ننسي احتياج هذه الذاكرة الي طاقة هائلة لتشغيل 33 مليار دائرة بتردد مماثل لتردد المعالج ، وهو الوضع المثالي ،ولقد تعلق العلماء بكل بارقة أمل حتي يتمكنوا من زيادة أحجام الذاكرة بدون القاء الأموال في الهواء ، ولقد وصلوا بغيتهم بالفعل ، باستخدام المكثفات بدلا من الدوائر الكهربية ،والمكثف الواحد يؤدي نفس الغرض الذي تقوم به الدوائر الأربع السابقة ، فهو يستطيع تخزين بت واحدة فقط أيضا ، وبذلك فقد انخفض تعقيد الذاكرة الي الربع ، فلتخزين واحد ميجابايت نحتاج الي 8 مليون مكثف بدلا من 33 مليون دائرة .
وهو انجاز في عيون مهندسي الحاسوب كبير ، فعنما نعلم أن تكلفة المكثف الواحد أقل من تكلفة الدائرة الكهربية الواحدة نستطيع تفهم فرحة هؤلاء المهندسون ، فلقد نجحوا في تقليل التعقيد والتكلفة الي مستويات مناسبة جدا ، كما تمكنوا بذلك من انتاج أحجام كبيرة من الذاكرة ،وقبل أن يندمج المهندسون في فرحتهم ، أدركوا أن الانسان لا يمكن أن يحصل علي كل شئ دفعة واحدة ، وهي حكمة خالدة ، تثبت صحتها منذ قديم الأزل ،ولقد اثبتت الحكمة صحتها هذه المرة ، عندما اكتشف المهندسون أن المكثفات لا يمكن أن تعمل أبدا بنفس ترددات الدوائر الكهربية ! .. ولقد حاول المهندسون وحاولوا وحاولوا ، بلا أمل في النهاية .
ان معني أن تردد المكثف اقل دائما من تردد الدائرة الكهربية ، أن كل الذواكر المصنوعة من المكثفات سوف تكون أبطأ من المعالجات المصنوعة من الدوائر الكهربية ، وبذلك يختل الوضع المثالي ، ونعود للصفر من جديد ، فالذاكرة ابطأ من المعالج،ثم أدرك المهندسون الحكمة الأخري ، وهي أن المصائب لا تأتي الا تباعا ،فطبيعة المكثف الفيزيائية تنص علي أنه يجب أن يفقد شحنته ، أي يفقد البت المخزنة فيه بعد فترة قصيرة من الزمن ..ولا سبيل للدوران حول هذه الحقيقة الثابتة،وهنا عاد العلماء لمناقشة السخف من جديد ، ما فائدة ذاكرة تفقد البيانات بعد فترة من الزمن ؟ انها هكذا لا تصبح ذاكرة ، وانما تصبح ناسية (من النسيان) اذا سمحتم لي بهذا التعبير .
لكن المهندسون توصلوا الي حل وسط لهذه المشكلة ، وهو اعادة شحن المكثف كل فترة قبل أن يفقد ما فيه ، وذلك عن طريق تخصيص معالج صغير ، يقرأ الذاكرة المكونة من مكثفات ثم يعيد كتابة البيانات عليها قبل أن تفقد مكثفاتها البيانات ،هذا المعالج الصغير يسمي وحدة التحكم بالذاكرة Memory Controller ،وعملية اعادة الكتابة هذه تتم عدة مرات في الثانية ، ذلك لأن المكثف يفقد البيانات في أقل من جزء من الثانية ،تسمي هذه العملية *******، وهي تضيف المزيد من البطء الي الذاكرة ، بسبب عملية اعادة القراءة والكتابة.
وهنا نجد العلماء في حيرة بين شقين ،وهنا قرر المهندسون اللجوء الي حل ثالث ، وهو الجمع بين الاثنين ، عن طريق استخدام اسلوب السلالم ,فالقرص الصلب بطئ ، وهو يمثل أدني درجة في سلم الحاسوب وهو مشكلة تحتاج الي الحل ، والحل هو اضافة درجة ثانية هي الذاكرة العشوائبة المصنوعة من المكثفات RAM (فهي أسرع بكثير من القرص الصلب)، وهذه الدرجة الثانية في سلم الحاسوب ،لكن سرعة ذاكرة المكثفات تلك أبطأ بكثير من المعالج ، وهذه مشكلة أخري تحتاج الي الحل ، والحل هو اضافة ذاكرة أخري مصنوعة من الدوائر الكهربية ملحقة بالمعالج وتعمل بنفس سرعته ، لكن لها حجم أقل(لتقليل التعقيد والكلفة) ، وتسمي Cache وهذه هي الدرجة الثالثة في سلم الحاسوب .
والآن فعند تشغيلك للحاسوب ، فان البيانات تحمل من القرص الصلب الي الذاكرة العشوائية RAM (اختناق)، ثم تحمل منها الي الذاكرة المخبأة Cache (اختناق)، والتي تعمل بنفس سرعة المعالج ، وتتم عملية المعالجة في سلام بدون اختناقات فيها (الاختناقات حدثت أثناء النقل فقط) ،لكن ظهرت مشكلة أخري ، وهي حجم الذاكرة المخبأة Cache الصغير جدا (واحد ميجابايت الي 12 ميجابايت) ، فهو حجم تافة مقارنة بأحجام الذاكرة العشوائية RAM (واحد جيجابايت الي 4 جيجابايت) ، وهي بهذا لا تحتوي علي مقدار كبير من البيانات ، لذا يجب الاهتمام بالقدر الضئيل الذي تحويه ، حيث يجب أن تحتوي علي البيانات التي يحتاجها المعالج بالضبط ، دون زيادة أو نقصان ، لأن حدوث النقصان يعني رجوع المعالج الي الذاكرة العشوائية (اختناق) والتي قد تعود الي القرص الصلب اذا كانت ناقصة (اختناق آخر) .. أما حدوث الزيادة فيعني تضييع المساحة في شئ لا فائدة منه ، والذي سيؤدي في النهاية الي حدوث نقصان لاحق ، والمزيد من الاختناقات الرائعة !
اذن كيف نحدد للمعالج القدر الصحبح من البيانات التي تخزن في الذاكرة المخبأة ؟الحل هو كالعادة ، اضافة معالج صغير يقوم بمتابعة البيانات التي يطلبها المعالج ، ثم يقوم بتوقع البيانات التي قد يحتاجها المعالج لاحقا Prediction ، والمعالج الصغير لا يتوقع الغيب لا سمح الله ، لكنه يراقب جيدا البيانات التي يحسبها المعالج المركزي ، وحيث أن البيانات عادة ما توجد في شكل مرتب ومتسلسل ومترابط علي القرص الصلب، فان معالج التوقع هذا يستطيع انتقاء التسلسل القادم من البيانات ويطلبه من الذاكرة العشوائية التي تطلبه من القرص الصلب .
والأن عندما تشغل الحاسوب ، فان البيانات تخرج من القرص الصلب الي الذاكرة العشوائية (اختناق)، ومنها الي المعالج مباشرة (اختناق)، ثم بيدأ معالج التوقع Prediction العمل ، ويستخرج البيانات المتوقعة من الذاكرة العشوائية ويضعها في الذاكرة المخبأة (اختناق) ، لتتم عملية المعالجة مباشرة بين الذاكرة المخبأة والمعالج نفسه Kلاحظ أنه في أول الأمر كانت عملية المعالجة تعاني من اختناق ، لأن التعامل تم بين ذاكرة RAM والمعالج مباشرة ، ولكن بعد بدء معالج التوقع العمل ، فان الاختناقات ذهبت ، لأن التعامل تم بين الذاكرة المخبأة والمعالج مباشرة ،لا تصبح للذاكرة المخبأة قيمة ، اذا انتقلت عملية المعالجة الي بيانات غير مترابطة ، أو الي تسلسل آخر من البيانات ، وهنا يصبح علي معالج التوقع البدء من جديد .
أسمعك تنفخ في سخط ، كل هذا التعقيد من أجل نقل البيانات الي المعالج ؟ وهنا أجيبك أن تعقيد الحاسوب حقيقة يأتي من تعقيد نقل البيانات وليس معالجتها ،قلنا أن معالجات AMD اضافت مستوي ثالث من الذاكرة المخبأة ؟ ما فائدة المستوي الأول والثاني أصلا ؟ ولماذا تكون هناك مستويات ؟اراك قد فقدت أعصابك وكل أملي أن لا تفقدها عندما أذكرك بعرض الحزمة من جديد ،تأمل معي ذاكرة مخبأة بمساحة واحد ميجابايت ، يخرج من هذه الذاكرة 128 سلك الي المعالج (عرض الحزمة 128 بت) ، هذا يعني أن المعالح يستطيع طلب 128 بت فقط من أصل مليون بت (واحد ميجابايت) ، ولكي يطلب بيانات أخري يجب عليه أن يضيع الوقت في البحث داخل الواحد ميجابايت كلها حتي يجد بغيته (اختناق)! وهذا يضرب الهدف من وجود الذاكرة المخبأة في جذوره ، والهدف هو توصيل البيانات الي المعالج بدون اختناقات أو تأخير في الوقت .
لذا يتم تقسيم الذاكرة المخبأة الي مستويين ، المستوي الأول L1 ، يكون صغيرا جدا ، بمساحة 128 كيلوبايت مثلا ، ويضع فيه معالج التوقع تلك البيانات التي يحتاجها المعالج حالا ، ولأن مساحة هذا المستوي صغيرة جدا ، فان المعالج لا يضيع الكثير من الوقت في البحث داخله ولتحسين الوضع قليلا ، عادة ما يكون عرض الحزمة لهذا المستوي هو 256 بت ،أما المستوي الثاني فيحتوي علي معظم مساحة الذاكرة المخبأة ، ويقوم معالج التوقع بتخزين تسلسلات لاحقة من البيانات فيه ، لكي تستبدل تلك الموجودة في المستوي الأول بعد انتهاء المعالج من بيانات المستوي الأول بالطبع .
وعادة مايكون عرض الحزمة للمستوي الثاني هو 128 بت ،ومع تعدد أنوية المعالجات ، تم استخدام الذاكرة المخبأة كوسيلة اتصال بين أنوية المعالجات ، فالنواة الأولي قد تطلب من النواة الثانية نتائج بعض العمليات الحسابية ، والنواة الثانية قد تفعل ذلك مع الرابعة وهكذا ،ومن المنطقي أن يتم هذا الاتصال علي المستوي الثاني ، لأنه أكبر ، ولأن لكل نواة مستوي أول خاص بها ، أما المستوي الثاني فهو مشترك بين كل الأنوية ،ومن المنطقي أيضا أن هذا الاتصال يشغل مساحة من ذاكرة المستوي الثاني ، كما يتركها مشغولة دائما بطلبات الأنوية علي حساب البيانات ،لذا فان تقسيم الذاكرة المخبأة الي ثلاث مستويات هو الخطوة القادمة لتصحيح الوضع ، فأصبح الآن لكل نواة مستوي أول وثاني مستقلين وتم تصغير حجم المستوي الثاني ، وتكبير حجم المتسوي الثالث علي حسابه ، واصبح المستوي الثالث مشتركا بين كل الأنوية ،اتخذت AMD هذه الخطوة لأنها قامت بتصميم معالجها الرباعي الأول من الصفر ، ولم تقم بدمج المعالجات مثل Intel.
تميزت معالجات Core2 ، بقدرتها علي توقع البيانات غير المتسلسلة بدرجة معقولة ، Indirect Prediction ، وذلك عن طريق تحسينات في معمارية معالج التوقع Prediction Branch ، فاضافت AMD هذه الخاصية ، مع تحسينات أخري فيها ، والهدف عموما هو زيادة معدل الاستفادة من الذاكرة المخبأة ، وبالتالي تقليل الاختناقات .
تميزت معالجات Athlon 64 في السابق باحتوائها علي متحكم الذاكرة Memory COntroller بداخل المعالج نفسه ، وليس في اللوحة الأم مثل Intel .
قلنا أن متحكم الذاكرة هذا يختص بعمليات تحديث البيانات ******* الخاصة بالذاكرة العشوائية RAM ، لكن لم نقل أنه يختص أيضا بعناء حفظ كل عناوين الذاكرة ، والوصول لأي نقطة فيها ، والوصول هنا يعني عملية الكتابة والقراءة ، وهذا منطقي ، فالمعالج الذي يقوم بتحديث الذاكرة وحفظ عناوينها ، هو الأولي بمسئولية الكتابة والقراء ،وبهذا يكتمل سلم الحاسوب الذي نبنيه منذ بداية هذا المقال :القرص الصلب ---> الذاكرة العشوائية RAM ---> وحدة التحكم في الذاكرة ---> الذاكرة المخبأة ---> المعالج.
كون وحدة التحكم في الذاكرة مدمجة بالمعالج يختصر خطوة من السلم السابق :القرص الصلب ---> الذاكرة العشوائية RAM ---> وحدة التحكم في الذاكرة/الذاكرة المخبأة ---> المعالج،كما اهتمت AMD باضافة تعديلات علي معمارية متحكم الذاكرة ، لتجعله أسرع وأكفأ ، و تم زيادة عرض الناقل فيه .
احتفظت معالجات Phenom بدعمها لتقنية المعالجة بامتداد 64Bit ، مثل معالجات Athlon 64 ،والحقيقة أن القليل يفهم معني تقنية المعالجة بامتداد 64bit ، علي الرغم من كونها شيئا أساسيا في الحاسوب ،والفكرة كلها تكمن في الذاكرة وليست في المعالجة ،في بداية اختراع الحاسوب كان الهم الشاغل للجميع هو جعل الحاسوب قادرا علي تخزين الحروف الأبجدية ،ولأن التخزين يتم علي الذاكرة ، والتي لا توفر سوي الواحد أو الصفر ، وجب علي كل حرف أن يأخذ نصيبه من هذه الأرقام بحيث يظل متفردا عن باقي الحروف .
مثال : حرف A يتم تخزينة باستخدام 2 بت من الذاكرة : 11
حرف B باستخدام 2 بت أخري : 10
حرف C باستخدام : 01
حرف D باستخدام : 00
وهنا توقفت الأبجدية عند حرف D ، لذا وجب استخدام عدد أكبر من البتات (جمع بت) للحصول علي عدد أكبر من الحروف ،رأينا أن استخدام 2 بت للتخزين لم يكف سوي لأربع حروف ،كذلك استخدام 3 بت لن يكفي سوي لثمانية حروف ،واستخدام 4 بت لن يكفي الا لتخزين 16 حرف ،لكن استخدام 6 بت سوف يكفي 64 حرف ، والأبجدية 27 حرف ، اذن فـ 6 بت تكفي لتخزين الأبجدية وتزيد ايضا .
ولقد عمل الحاسوب باستخدام منظومة تخزين بعرض 6 بت لفترة ليست بالقصيرة ، وتسمي هذه المنظومة باسم عرض الكلمة : Word Width ، فكل حرف له عدد معين من البتات تمثله ، هذا العدد هو عرض الكلمة التي يتم تخزينها علي الذاكرة ،ان أهمية عرض الكلمة هذا لا تتوقف عند تحديد عدد حروف الأبحدية التي يمكنني تخزينها ، لكن تمتد بعمق الي تركيب الذاكرة والمعالج ،فبدلا من جعل سلك عناوين واحد لكل بت واحدة في الذاكرة ، أقوم بجعل سلك عناوين واحد لكل ستة بت في الذاكرة ، لأنني لن أقوم بقراءة كلمة أقل من 6 بت في المرة الواحدة أبدا .
هذا عن الذاكرة لكن ماذا عن المعالج ؟هذا يدفعنا للكلام عن عملية المعالجة ،وعملية المعالجة تتم علي قسمين من الدوائر ، قسم التسجيل Registers ، وقسم المعالجة Processing ،فلكي يحسب المعالج هذه المعادلة :3+6 = 9 ، فانه يقوم بالأتي :
ينتزع أولا بيانات المعادلة من الذاكرة العشوائية RAM ، فينتزع الثلاثة، ويتنزع الستة ، وينتزع بيانات عملية الجمع (وتسمي هنا تعليمات جمع)، ويتم وضع كل ذلك في الذاكرة المخبأة ،يبدأ جزء في المعالج يسمي معالج التشفير Decode بقراءة تعليمات الجمع أولا ، وعندما يدرك أن العملية المطلوبة هي علمية جمع ، يقوم بتحويل المعادلة كلها الي معالج الجمع ،في معالج الجمع يتم تخزين رقم ثلاثة في مسجل Register ، والمسجل هو تسمية أكثر أناقة الذاكرة المخبأة Cache ، وسميت باسم مسجل لأنها داخل المعالج وليست خارجه مثل الذاكرة المخبأة ،والمسجل هو ذاكرة صغيرة جدا جدا ، تقاس مساحتها بالبتات ، ولا تتعدي هذا الحاجز أبدا ، فلن نجدها تقاس بالبايتات مثلا، ذلك لأن المعالج يسجل فيها البيانات المطلوبة فقط ، رقم ثلاثة في مثالنا.
وفي ذلك الوقت كانت مساحة أي مسجل هي 6 بت ، لأن عرض الكلمة لكل ما يحتاجه الحاسوب من حروف وأرقام هو 6 بت فقط ،ويتكرر الأمر مع رقم ستة ، حيث يتم تسجيله في مسجل آخر بمساحة 6 بت أيضا ،ولأن مساحة المسجل 6 بت فقط ، وعرض الكلمة هو 6 بت ، فلن نحتاج سوي لسلك عنوان واحد فقط ، وعرض حزمة 6 بت فقط ،وذلك يعني أن انتزاع البيانات من المسجلات هو أمر في قمة السهولة ، فهو لا يتطلب مجهودا يذكر ،بعد انتهاء التخزين يتم انتزاع الثلاثة والستة من مسجليهما ، ويدخلان معالج الجمع ، وهو عبارة عن مجموعة دوائر كهربية مرتبة بطريقة معينة ، بحيث تؤدي وظيفة الجمع ، وبعد انتهاء العملية ، يسجل الناتج وهو رقم 9 في مسجل جديد ، تمهيدا لنقله الي الذاكرة المخبأة/العشوائية ،وبهذا رأينا كيف أن عرض الكلمة البالغ 6 بت ، يؤثر كثيرا علي تركيب عناوين الذاكرة ، و مساحة المسجلات .
فيما بعد احتاج المهندسون لعرض كلمة أكبر ، لتخزين نطاق أعرض من الرموز والأشكال ، فقرروا استخدام نظام 8 بت ، ثم احتاجوا المزيد فقرروا استخدام نظام مضاعفات رقم ثمانية ، 16 ،24 ،32 ، 64 .. الخ ،وحتي زمن قريب ، كان تركيب المعالجات يعتمد علي نظام 32 بت ، فمساحة مسجلات المعالج 32 بت فقط ،لكن نظام عناوين الذاكرة ظل 8 بت فقط (سلك واحد لكل 8بت)، وذلك احتياطا لتخزين البيانات التي تكون بعرض كلمة 8بت ، وهي عدد ليس بالهين ، حتي في الوقت الحالي، وتم اطلاق اسم البايت علي كل 8بت ،ولأننا نسير بنظام المضاعفات ، فان عرض الكلمة الأكبر من 8 بت ، لن يكون سوي 16 أو24 أو 32 أو 64 ، وفي حالة 16 مثلا ، فالتخزين يتم باستخدام مجموعتين 8 بت ، وفي حالة 24 فالتخزين يكون بثلاث مجموعات 8بت ، وفي حالة 32 بت فالتخزين يكون بأربع مجموعات .. الخ ،لكن تأتي مشكلة مسجلات المعالج فلقد ظلت بمساحة 32 بت لوقت طويل ، لأن معظم تطبيقات الحاسوب لم تتعدي هذا الحاجز ... واحتاج الوضع الي تغيير مع ظهور قصور في تطبيقات أجهزة الخوادم وقواعد البيانات الطويلة ، حيث احتاجت عرض كلمة أكبر من 32 بت ،وهنا كان القرار بدعم عرض الكلمات بامتداد 64 بت ، وذلك عن طريق زيادة مساحة المسجلات في المعالج بحيث تصبح 64 بت .
التعديلات الأخيرة كانت في وحدة تنفيذ تعليمات SSE ، والخاصة بعمليات تحرير العروض المرئية Video ، حيث عانت معالجات Athlon 64 ، من قصورها في تنفيذ تلك التعليمات علي عرض 64 بت فقط ، بينما تستطيع معالجات Intel تنفيذها بعرض 128 بت ،ولا تندهش من وجود عرض 128 بت ، فتطبيقات تحرير الفيديو تمتاز بجوعها الشديد للبيانات نوفي الواقع فانه بمجرد ذكر كلمة تعليمات Instructions ، فان الأمور تصبح غامضة ، ومبهمة ، وخصوصا عند ذكر كلمات مثل X86 و MMX و SSE و 3D Now .. الخ ، وكلها تعليمات ، يبدو وقع ذكر اسمها مهيبا في النفس ،لكن التسمية مضحكة برغم ذلك ، فكما رأينا لا تتجاوز العمليات التي يجريها الحاسوب:ذاكرة ، نقل ، معالجة فقط ،ويشغل شقي الذاكرة والنقل الجزء الأعظم من هذه العمليات ، فشق الذاكرة يتضمن العناوين وعرض الكلمة والمسجلات، وشق النقل يتضمن عرض الحزم والتنقلات بين الذواكر المختلفة و المسجلات ووحدات المعالجة ، والتشفير ، والتوقع.
وكلمة تعليمات تعني الطريقة التي يتم بها نقل وتخزين ومعالجة البيانات ، لا أكثر ولا أقل ،فالمعالج الذي يعمل بتعليمات X86 ، يعني أنه يستخدم نظاما معينا ينقل ويخزن ويعالج البيانات بطريقة معينة ، سمي هذا النظام باسم X86 ،وتعليمات X86 تأتي بعرض 32 بت ، وبعرض 64 بت أيضا (وهو الذي تكلمنا عنه منذ قليل) نثم نأتي لتعليمات SSE ، والتي تختص بتطبيقات تحرير العروض المرئية Video كما قلنا ، وهي تعني نظاما معينا لنقل وتخزين ومعالجة بيانات العروض المرئية بطريقة معينة ، وتأتي تعليمات SSE بعرض 64 بت و 128 بت ،وقس علي ذلك باقي التعليمات ، وأي تعليمات تسمع عنها فيما بعد ،لذا فعندما أقول أن AMD قامت بتوسيع عرض نطاق البيانات لتعليمات SSE الي 128 بت ، فيجب أن تتذكر فورا توسيع عرض نطاق البيانات الخاص بتعليمات X86 الي 64 بت ،وبخصوص توفير الطاقة ، تستطيع معالجات Phenom تخفيض ترددات الأنوية حسب الحمل عليها ، ولكل نواة القدرة علي تخفيض ترددها بشكل مستقل عن الأنوية الأخري .
ثانيا : معمارية معالجات Phenom II X4 :
جاءت الحاجة لتصميم معالجات Phenom II ، بسبب فشل معالجات Phenom الأولي في الوصول لمستوي المنافس من Intel ، لذا كان علي AMD اعادة النظر في معمارية معالجاتها وتصحيح أوجه القصور فيها ،في البداية نجحت AMD في رفع جودة تصنيع معالجاتها ، وبالتالي جاءت المعالجات بترددات أكبر (أقصي تردد لمعالجات Phenom كان 2.7GHz في مقابل 3.2GHz في Phenom II )، وبقابلية أوسع لكسر السرعة ،ثم قامت AMD بالتغلب علي عقبة خطيرة في تصميم Phenom وهي حجم الذاكرة المخبأة من المستوي الثالث ،ففي معالجات Phenom كان هذا الحجم لا يتعدي 2 ميجابايت ، وهو حجم صغير مقارنة بكمية الشغل الواقع عليه من الأربع أنوية ، مما شكل عقبة خطيرة لأداء هذا المعالج .
ولكن في معالجات Phenom II ، تم زيادة حجم هذا المستوي الي 6 ميجابايت ، وهو حجم أكثر من مناسب ،ولكي نعرف اكثر تاثير زيادة حجم الذاكرة المخبأة يمكننا أن نري أن عدد دوائر معالج Phenom لم يتعد 450 مليون دائرة ، بينما تجاوز هذا العدد حاجز الـ 750 مليون دائرة في معالجات Phenom II ، أي أكثر من 300 مليون دائرة زيادة بسبب زيادة حجم الذاكرة المخبأة ،بالاضافة الي ذلك تم تعديل متحكم الذاكرة بحيث يعمل علي ذواكر DDR3 ذات السرعات العالية ، ويحتفظ في نفس الوقت بقابليته لتشغيل ذواكر DDR2 ،كما تم تحسين خواص توفير الطاقة في المعالجات الجديدة ، حيث تستطيع الأنوية الآن تقليل ترددها الي مستويات منخفضة جدا (800MHz)،بهذه التعديلات البسيطة ، نجحت AMD في زيادة الأداء علي معالجتها القديمة Phenom بمقدار يتراوح ما بين 10~30 % عند نفس التردد .
ثالثا : معمارية معالجات Athlon II X4 :
لا يوجد شئ جديد في هذه المعالجات سوي انتزاع الذاكرة المخبأة ذات المستوي الثالث منها ، فهي مشتقة من معمارية معالجات Phenom II ،رأينا كيف أن زيادة حجم هذه الذاكرة ساعدت في زيادة أداء معالجات Phenom II ، وعلي هذا فانتزاع هذه الذاكرة كليا يعني أن أداء معالجات Athlon II X4 ، أقل من معالجات Phenom II عند نفس التردد . 1-استخدام الدوائر الكهربية وهو الوضع المثالي ، (سٍرعة المعالج تساوي سرعة الذاكرة) ، يتطلب هذا تعقيدا شديدا في الذاكرة ، واستهلاكا مخيفا للطاقة ، بالاضافة الي تكلفة انتاج يشيب لهولها الولدان . 2-استخدام المكثفات ، تعقيد أقل بكثير، استهلاك للطاقة أقل ، تكلفة انتاج معقولة ، لكن سرعة أقل من سرعة المعالج بكثير ، مما يعني نسيان الوضع المثالي ، والترحيب بالاختناقات بين المعالج والذاكرة .