في يومنا هذا أصبحت جميع المعالجات المركزية متعددة النوى، وهذا لا يقتصر على معمارية X86 الخاصة بشركتي AMD و Intel فحسب، ولكن تعدد النوى وجد طريقه لمعمارية ARM الخاصة بمعالجات الهواتف والحواسيب اللوحية منذ وقت طويل. فإذا أردت أن تمتلك أكثر من معالج مركزي واحد، كل ما عليك هو التأكد أن الكمبيوتر أو الهاتف يحتوي على أكثر من نواة واحدة، وكلما إزدادت أعدادها كلما تمكنت الأجهزة من التعامل مع المهام والأوامر المُكثفة بشكل أفضل.
ولكن، إذا كنت تخطط لشراء معالج مركزي جديد أو لاب توب، فربما تلاحظ أن هناك بعض المعالجات التي تتشابه تقريباً في كل شيء، بإستثناء أن أحدهما يدعم تقنية الترابط Hyper-Threading بينما الآخر لا يدعمها، هذا الأمر يحدث كل يوم مع معالجات الحواسيب المكتبية والحواسيب المحمولة. وهذا هو ما يدفعنا للتساؤل عن أهمية هذه التقنية وكيفية عملها، وهل من الممكن التغاضي عنها أثناء الشراء أم لابد من دعم المعالج لها.
كانت التصميمات الأولية لوحدة المعالجة المركزية "CPU" أحادية النواة، أي أن المعالج يحتوي على نواة واحدة والتي تعرف باسم Core، هذه النواة هي جزء مادي موجود بالفعل بداخل المعالج، وهي المسؤولة عن عمليات الحوسبة الفعلية تحت سيطرة الكود الخاص بالتعليمات البرمجية، فعملية تنفيذ هذا الكود البرمجي تعني Thread واحد أو ترابط وحيد لمعالجة البيانات بالاستعانة ببعض المكونات الفرعية بداخل المعالج مثل ALU و MMU واللتان تعرفان بمسميات وحدة الحوسبة المنطقية والثانية هي وحدة إدارة الذاكرة. إذن باختصار شديد، عملية تنفيذ الكود تعني ترابط وحيد أو Thread واحد.
قد يهمك ৷ أفضل معالجات للألعاب يمكن شراؤها في 2020
ولكن قوة المعالج لا يتم تحديدها من خلال كثافة مكونات الهاردوير بداخله فقط، إذ تلعب الساعة الدور الأكثر أهمية في سرعة تنفيذ المعالج للمهام والأوامر، ولكن ما هي الساعة ؟. تعمل نواة المعالج المركزي بتردد عالي جداً ويتم قياس سرعة هذا التردد بوحدة ميجاهرتز Megahertz وهذا التردد يأتي تحت مسمى الساعة أو Clock. في التصميمات الأولية للمعالجات كانت هذه الساعة تعمل على هيئة ملايين الدورات الحسابية في الثانية الواحدة، ولكن في المعالجات المركزية الحديثة أصبحت ملايين الدورات بالمليارات.
هذا الأمر يعني إمكانية إجراء كم هائل من المعاملات الحوسبية داخل نواة المعالج أثناء تنفيذ التعليمات الخاصة بترابط واحد أو One Thread. نظرياً، إذا ضاعفت سرعة الساعة، حصلت على ضعف العمليات الحسابية التي يمكن اتمامها في الثانية الواحدة.
في الماضي كانت سرعة تردد الساعة بطيئة، كمثال على 1.1GHz أو حتى 1.9GHz، على الرغم من ذلك فقد كانت هذه السرعة كفيلة بإجراء ملايين الدورات من معاملات الحوسبة في الثانية وكافية لإتمام المهام بأفضل شكل ممكن، فلك أن تتخيل كيف ستكون النتائج مع سرعة ساعة أصبحت تعمل بتردد 4.0GHz وأحياناً أكثر من ذلك.
اقرأ أيضاً ৷ قبل شراء معالج انتل... تعرف على معاني حروف المعالجات
ولكن بغض النظر عن مدى سرعة تردد الساعة، إلا أن المشكلة كانت ولا تزال متواجدة، وهي أن المعالج المركزي لا يمكنه القيام إلا بشيء واحد فقط في كل مرة، بمعنى أنه على الرغم من قيامه بالعديد من العمليات الحسابية في فترات زمنية سريعة، ولكن جميع تلك العمليات تتعلق بكود برمجي واحد. وهذا الأمر هو ما نطلق عليه في الوقت الحالي بلقب MultiTasking أو تعدد المهام التي تستطيع المعالجات المركزية الحالية أن تقفز بسرعة بين آلاف الوظائف المختلفة لتنفيذ جميع التعليمات.
ولكننا مازلنا في الماضي، ونعاني من تكدث النواة بعمليات الحوسبة المُعقدة الخاصة بكود برمجي واحد، ولكن منذ عقدين تقريباً وجدنا حل مبدئي لهذه المشكلة، وهو تركيب أكثر من معالج مركزي واحد على اللوحة الأم، إلا أن هذه الطريقة كانت مُكلفة جداً أثناء التصنيع، وبالتالي كان يتم بيعها للمستهلك بأسعار مرتفعة للغاية.
بمرور الوقت توصلنا لحل أفضل، وهو دمج قالب المعالج المركزي بأكثر من وحدة معالجة مركزية واحدة، أي أننا نحصل على معالج ثنائي النواة ثم رباعي النواة، وهذا الأمر بات سائداً لفترة زمنية طويلة، وأصبحت هناك إمكانية لتقسيم المهام على نوى المعالج والتسهيل عليه لإجراء العديد من الوظائف المختلفة في المرة الواحدة .
Hyperthreading هو المسمى الذي أطلقته إنتل على تقنية مؤشر الترابط المتزامن أو Simultaneous Multithreading Tasks واختصارها SMT، والتي تعني إمكانية تقسيم المهمة الواحدة إلى عمليتين داخل النواة الواحدة بقلب المعالج المركزي، ولكن هذا الأمر لم يعني إمكانية النواة الواحدة على القيام بضعف العمل، عوضاً عن ذلك هي منهجية أو منطق يُتّبع لتوزيع المهام بشكل أفضل داخل النواة للتأكد من عملها بأقصى طاقة ممكنة لها.
إذا أردت أن تفهم تقنية الترابط HT بسهولة شديدة، تذكر ما يحدث في أي طريق تسير فيه عدد كبير من السيارات، بطبيعة الحال يحدث تكدث مروري وتوقف لحركة السير بين كل حين والآخر، وهذا هو نفس الشيء الذي يحدث بالضبط عند تكدث النواة بالكود من خلال Thread واحد. ولكن إذا تم تقسيم هذا الطريق إلى نصفين، ستقل نسبة الإزدحام وسينتج عنه حركة مرورية منظمة وسيتخلص الطريق من حالة الإختناق، وبالتالي ستتمكن السيارات من السير بسرعات أعلى.
وبالنسبة للمعالج، أصبحت النواة الواحدة أكثر تحرراً للقيام بالمعاملات الحوسبية المُعقدة بشكل أفضل. حيث يمكن إيقاف أو مقاطعة أو توجيه كل خيط أو ترابط وحيد بشكل فردي في سبيل تنفيذ بعض العمليات الجانبية بشكل مستقل كما لو كانت نواة أخرى.
وبدأنا نُطلق على هذه النوى الإضافية مسمى النوى المنطقية، أي أن المعالج الذي يحتوي على 4 نوى يدعم تقنية HT لديه 8 نوى منطقية. وبالنسبة لنظام التشغيل، سيبدأ في التعامل مع كل نواة فردية على أنها نواتان، وسيقوم بإمداد الأوامر إلى كل نواة كما لو كانت منفصلة إلى نواتان. أصبحت تقنية مؤشر الترابط HT من أهم العوامل الحيوية التي تساعد على تحفيز النواة للعمل بأقصى طاقة ممكنة لها.
تعمل تقنية مؤشر الترابط على توزيع المهام وتعزيز عمل النواة لإتمام العمليات الحوسبية في فترات زمنية أسرع، ولكن يظل عدد النوى الأكبر أكثر أهمية من وجود الدعم لتقنية HT، على سبيل المثال، معالج مركزي يحتوي على 6 نواة غير داعم للتقنية أفضل من معالج مركزي يحتوي على 4 نواة حتى ولو كان داعم لتقنية الترابط،
إذ تعتبر النواة جزء مادي موجود بالفعل ضمن مكونات الهاردوير المدمجة بقالب المعالج المركزي، وكلما إزدادات أعدادها كلما تمكنت من تنفيذ عدد أكبر من المهام المختلفة، بينما تعمل تقنية الترابط على هيئة توزيع هذه المهام داخل النواة. فالنواة بمثابة الطريق والذي كلما زادت أعداد أرصفته كلما تحمل عدد أكبر من السيارات، بينما تعمل تقنية مؤشر الترابط عمل ضابط المرور المسؤول عن تنظيم حركة السير.
اقرأ المزيد ৷ هل يمكن تركيب اكثر من بروسيسور في جهاز كمبيوتر واحد؟
ولكن في حالة وجود معالجان يتشابهان في جميع الخصائص المصنعية بإستثناء أن أحدهما يدعم تقنية HT والآخر لا يدعمها، فسيكون الأفضل والأسرع بكل تأكيد المعالج المركزي الأول، والسبب يمكن في طريقة تطوير وبرمجة التطبيقات والبرامج، حيث تهتم معظم فرق تطوير التطبيقات وبرامج الأعمال الاحترافية على برمجة تطبيقاتهم للاستفادة من تقنية HyperThrading،
الألعاب الحديثة وبرامج الرندرة والنمذجة ثلاثية الأبعاد وبرامج تحرير الصور والفيديو، جميعها تتعطش بشراهة لوجود تقنية مؤشر الترابط، وتستجيب وتتأثر بشكل إيجابي جداً في حالة دعمها من قِبل المعالج المركزي. من ناحية أخرى بعض التطبيقات الخفيفة مثل التصفح والبرامج الكتابية لا تستفيد من وجود هذه التقنية، والسبب أن هذه التطبيقات لا تتطلع لوجود أكثر من نواة واحدة فقط داخل المعالج.
ولذلك إذا كنت متردد بين معالج مركزي ومعالج آخر، فابحث عن المعالج الذي يحتوي على عدد أكبر من النوى، فإذا تساوت أعدادهما في كلتا المعالجين، ابحث عن المعالج الذي يوفر الدعم لتقنية HT وأنت مطمئن.
ولكن، إذا كنت تخطط لشراء معالج مركزي جديد أو لاب توب، فربما تلاحظ أن هناك بعض المعالجات التي تتشابه تقريباً في كل شيء، بإستثناء أن أحدهما يدعم تقنية الترابط Hyper-Threading بينما الآخر لا يدعمها، هذا الأمر يحدث كل يوم مع معالجات الحواسيب المكتبية والحواسيب المحمولة. وهذا هو ما يدفعنا للتساؤل عن أهمية هذه التقنية وكيفية عملها، وهل من الممكن التغاضي عنها أثناء الشراء أم لابد من دعم المعالج لها.
ما هي النواة ؟
كانت التصميمات الأولية لوحدة المعالجة المركزية "CPU" أحادية النواة، أي أن المعالج يحتوي على نواة واحدة والتي تعرف باسم Core، هذه النواة هي جزء مادي موجود بالفعل بداخل المعالج، وهي المسؤولة عن عمليات الحوسبة الفعلية تحت سيطرة الكود الخاص بالتعليمات البرمجية، فعملية تنفيذ هذا الكود البرمجي تعني Thread واحد أو ترابط وحيد لمعالجة البيانات بالاستعانة ببعض المكونات الفرعية بداخل المعالج مثل ALU و MMU واللتان تعرفان بمسميات وحدة الحوسبة المنطقية والثانية هي وحدة إدارة الذاكرة. إذن باختصار شديد، عملية تنفيذ الكود تعني ترابط وحيد أو Thread واحد.
قد يهمك ৷ أفضل معالجات للألعاب يمكن شراؤها في 2020
ولكن قوة المعالج لا يتم تحديدها من خلال كثافة مكونات الهاردوير بداخله فقط، إذ تلعب الساعة الدور الأكثر أهمية في سرعة تنفيذ المعالج للمهام والأوامر، ولكن ما هي الساعة ؟. تعمل نواة المعالج المركزي بتردد عالي جداً ويتم قياس سرعة هذا التردد بوحدة ميجاهرتز Megahertz وهذا التردد يأتي تحت مسمى الساعة أو Clock. في التصميمات الأولية للمعالجات كانت هذه الساعة تعمل على هيئة ملايين الدورات الحسابية في الثانية الواحدة، ولكن في المعالجات المركزية الحديثة أصبحت ملايين الدورات بالمليارات.
هذا الأمر يعني إمكانية إجراء كم هائل من المعاملات الحوسبية داخل نواة المعالج أثناء تنفيذ التعليمات الخاصة بترابط واحد أو One Thread. نظرياً، إذا ضاعفت سرعة الساعة، حصلت على ضعف العمليات الحسابية التي يمكن اتمامها في الثانية الواحدة.
ما هو تعدد النوى ؟
في الماضي كانت سرعة تردد الساعة بطيئة، كمثال على 1.1GHz أو حتى 1.9GHz، على الرغم من ذلك فقد كانت هذه السرعة كفيلة بإجراء ملايين الدورات من معاملات الحوسبة في الثانية وكافية لإتمام المهام بأفضل شكل ممكن، فلك أن تتخيل كيف ستكون النتائج مع سرعة ساعة أصبحت تعمل بتردد 4.0GHz وأحياناً أكثر من ذلك.
اقرأ أيضاً ৷ قبل شراء معالج انتل... تعرف على معاني حروف المعالجات
ولكن بغض النظر عن مدى سرعة تردد الساعة، إلا أن المشكلة كانت ولا تزال متواجدة، وهي أن المعالج المركزي لا يمكنه القيام إلا بشيء واحد فقط في كل مرة، بمعنى أنه على الرغم من قيامه بالعديد من العمليات الحسابية في فترات زمنية سريعة، ولكن جميع تلك العمليات تتعلق بكود برمجي واحد. وهذا الأمر هو ما نطلق عليه في الوقت الحالي بلقب MultiTasking أو تعدد المهام التي تستطيع المعالجات المركزية الحالية أن تقفز بسرعة بين آلاف الوظائف المختلفة لتنفيذ جميع التعليمات.
ولكننا مازلنا في الماضي، ونعاني من تكدث النواة بعمليات الحوسبة المُعقدة الخاصة بكود برمجي واحد، ولكن منذ عقدين تقريباً وجدنا حل مبدئي لهذه المشكلة، وهو تركيب أكثر من معالج مركزي واحد على اللوحة الأم، إلا أن هذه الطريقة كانت مُكلفة جداً أثناء التصنيع، وبالتالي كان يتم بيعها للمستهلك بأسعار مرتفعة للغاية.
بمرور الوقت توصلنا لحل أفضل، وهو دمج قالب المعالج المركزي بأكثر من وحدة معالجة مركزية واحدة، أي أننا نحصل على معالج ثنائي النواة ثم رباعي النواة، وهذا الأمر بات سائداً لفترة زمنية طويلة، وأصبحت هناك إمكانية لتقسيم المهام على نوى المعالج والتسهيل عليه لإجراء العديد من الوظائف المختلفة في المرة الواحدة .
ما هي تقنية HyperThreading ؟
Hyperthreading هو المسمى الذي أطلقته إنتل على تقنية مؤشر الترابط المتزامن أو Simultaneous Multithreading Tasks واختصارها SMT، والتي تعني إمكانية تقسيم المهمة الواحدة إلى عمليتين داخل النواة الواحدة بقلب المعالج المركزي، ولكن هذا الأمر لم يعني إمكانية النواة الواحدة على القيام بضعف العمل، عوضاً عن ذلك هي منهجية أو منطق يُتّبع لتوزيع المهام بشكل أفضل داخل النواة للتأكد من عملها بأقصى طاقة ممكنة لها.
إذا أردت أن تفهم تقنية الترابط HT بسهولة شديدة، تذكر ما يحدث في أي طريق تسير فيه عدد كبير من السيارات، بطبيعة الحال يحدث تكدث مروري وتوقف لحركة السير بين كل حين والآخر، وهذا هو نفس الشيء الذي يحدث بالضبط عند تكدث النواة بالكود من خلال Thread واحد. ولكن إذا تم تقسيم هذا الطريق إلى نصفين، ستقل نسبة الإزدحام وسينتج عنه حركة مرورية منظمة وسيتخلص الطريق من حالة الإختناق، وبالتالي ستتمكن السيارات من السير بسرعات أعلى.
وبالنسبة للمعالج، أصبحت النواة الواحدة أكثر تحرراً للقيام بالمعاملات الحوسبية المُعقدة بشكل أفضل. حيث يمكن إيقاف أو مقاطعة أو توجيه كل خيط أو ترابط وحيد بشكل فردي في سبيل تنفيذ بعض العمليات الجانبية بشكل مستقل كما لو كانت نواة أخرى.
وبدأنا نُطلق على هذه النوى الإضافية مسمى النوى المنطقية، أي أن المعالج الذي يحتوي على 4 نوى يدعم تقنية HT لديه 8 نوى منطقية. وبالنسبة لنظام التشغيل، سيبدأ في التعامل مع كل نواة فردية على أنها نواتان، وسيقوم بإمداد الأوامر إلى كل نواة كما لو كانت منفصلة إلى نواتان. أصبحت تقنية مؤشر الترابط HT من أهم العوامل الحيوية التي تساعد على تحفيز النواة للعمل بأقصى طاقة ممكنة لها.
لماذا ينبغي التأكد من وجود تقنية HT بالمعالج ؟
تعمل تقنية مؤشر الترابط على توزيع المهام وتعزيز عمل النواة لإتمام العمليات الحوسبية في فترات زمنية أسرع، ولكن يظل عدد النوى الأكبر أكثر أهمية من وجود الدعم لتقنية HT، على سبيل المثال، معالج مركزي يحتوي على 6 نواة غير داعم للتقنية أفضل من معالج مركزي يحتوي على 4 نواة حتى ولو كان داعم لتقنية الترابط،
إذ تعتبر النواة جزء مادي موجود بالفعل ضمن مكونات الهاردوير المدمجة بقالب المعالج المركزي، وكلما إزدادات أعدادها كلما تمكنت من تنفيذ عدد أكبر من المهام المختلفة، بينما تعمل تقنية الترابط على هيئة توزيع هذه المهام داخل النواة. فالنواة بمثابة الطريق والذي كلما زادت أعداد أرصفته كلما تحمل عدد أكبر من السيارات، بينما تعمل تقنية مؤشر الترابط عمل ضابط المرور المسؤول عن تنظيم حركة السير.
اقرأ المزيد ৷ هل يمكن تركيب اكثر من بروسيسور في جهاز كمبيوتر واحد؟
ولكن في حالة وجود معالجان يتشابهان في جميع الخصائص المصنعية بإستثناء أن أحدهما يدعم تقنية HT والآخر لا يدعمها، فسيكون الأفضل والأسرع بكل تأكيد المعالج المركزي الأول، والسبب يمكن في طريقة تطوير وبرمجة التطبيقات والبرامج، حيث تهتم معظم فرق تطوير التطبيقات وبرامج الأعمال الاحترافية على برمجة تطبيقاتهم للاستفادة من تقنية HyperThrading،
الألعاب الحديثة وبرامج الرندرة والنمذجة ثلاثية الأبعاد وبرامج تحرير الصور والفيديو، جميعها تتعطش بشراهة لوجود تقنية مؤشر الترابط، وتستجيب وتتأثر بشكل إيجابي جداً في حالة دعمها من قِبل المعالج المركزي. من ناحية أخرى بعض التطبيقات الخفيفة مثل التصفح والبرامج الكتابية لا تستفيد من وجود هذه التقنية، والسبب أن هذه التطبيقات لا تتطلع لوجود أكثر من نواة واحدة فقط داخل المعالج.
ولذلك إذا كنت متردد بين معالج مركزي ومعالج آخر، فابحث عن المعالج الذي يحتوي على عدد أكبر من النوى، فإذا تساوت أعدادهما في كلتا المعالجين، ابحث عن المعالج الذي يوفر الدعم لتقنية HT وأنت مطمئن.