رقاقة سيليكون
رقاقة سيليكون

@ChipofSilicon

29 تغريدة 10 قراءة Aug 19, 2020
مع مشارف أفول قانون مور؛ صار الاعتماد على عدة معالجات متخصصة هو الحل لزيادة الأداء/الفاعلية، ظهر هذا التوجه -بشكل واضح- في الهواتف أولاً، ثم انتقل للحواسسيب.
يتم سحب البساط يوماً بعد يوم من المعالج المركزي (CPU) لصالح المعالجات المتخصصة، وكروت الشاشة -لتحول مهم سنذكره-.
التفاصيل:
قانون مور هي مقولة قالها جوردن مور -أحد مؤسسي إنتل- سنة (١٩٦٥م) نتيجة مراقبة للتسارع الصناعي في ذلك الوقت. وكانت تنص على أن: "عدد الترانزستورات في الدوائر الكهربية المتكاملة يتضاعف كل سنة"، ثم عُدلت بعد سُنيّات إلى "كل ١٨ شهراً"، وبقي الحال على ذلك حتى أيامنا هذه. ما معنى ذلك؟
معناه أننا لو فرضنا أن الأداء يزيد بنفس وتيرة زيادة الترانزستورات؛ فإن الأداء يتزايد تزايداً أسياً أي بمتوالية هندسية (٢، ٤، ٨، ١٦, ٣٢، ٦٤...)؛ وهذا سر أنك تسمع كلمات مثل: الأيباد أسرع من أقوى حاسب في عام ١٩٦٠م بـ٧٠ ألف مرة، فمثلا ٢ أس ١٧ معناه تضاعف رقم (٢) ٦٥ ألف مرة في ٣٤ سنة.
ورغم أن هذا النمو الأسي كان مقولاً في عدد الترانزستورات تحديداً؛ إلا أنه كان يتحقق في أشياء أخرى كسعات الذواكر وكذا سرعة تردد المعالجات، وهذا التسارع في تردد المعالجات هو الذي جعل وتيرة الأداء تشابه وتيرة زيادة الترانزستورات مع أن الأمرين -وإن كان بينهما علاقة- غير متلازمين.
وكان ذلك بفضل قانون آخر وهو قانون دينارد، والذي خلاصته أنه يمكنك زيادة الترانزستورات في نفس المساحة بدون أن يزيد ذلك من استهلاك الطاقة لأنها تستهلك طاقة أقل كلما تقلصت. لكن هذا القانون انخرق في منتصف العقد الماضي لأسباب أهمها أنه مع تقلص الترانزستورات لحد معين يتضاعف تسرب التيار.
ولهذا مثلاً نجد أن ترددات المعالجات وصلت إلى ٢ جيجا هرتز منذ عام ٢٠٠٠م تقريباً، ونظرياً لو أن التنامي استمر كما هو لكان ينبغي أن نصل إلى ١٠ جيجا هرتز في عام ٢٠٠٥م ولكن هذا لم يحصل! وهذا مقال لمن رام تفصيلاً في أسباب ذلك:
software.intel.com
المرحلة التالية: تعدد الأنوية.
كان قانون مور أشبه بالنبوءة التي تحقق ذاتها، حتى أن الشركات كانت تسعى للحفاظ على سريانه ولو بطرق ملتوية -للفائدة الاقتصادية ولغيرها-، ونتيجة لذلك لجأوا لطريقة هي في حقيقتها تعبير عن فشلهم في الحفاظ على رفع ترددات المعالجات أكثر من كونها ابتكاراً مقصوداً بذاته؛ وهو تعدد الأنوية.
تعدد الأنوية كان يوفر حفاظاً نظرياً على قانون مور الذي ينص على تضاعف الترانزستورات كل سنتين دون تجشم التضخم غير المحتمل في الحرارة واستهلاك الطاقة عند زيادة التردد، لكنه لا يقدم مضاعفة خطية للأداء، بل إن البنية البرمجية لم تكن جاهزة لاستغلالها ومواكبة هذا (التحول المفاجئ) أصلاً.
وظل الوضع على هذا (التقدم الظاهري) في المعالجات المركزية، مع تقدم بطيء متثاقل في مجال البرمجيات لمواكبة هذا التحول الجديد؛ وهذا التثاقل له مبررات منها ما يتعلق بطبيعة بعض البرامج والمشاكل المحتملة في تطبيق قابلية التوازي، ومنها ما يتعلق بالبنية المعمارية لأنظمة التشغيل نفسها.
وبعد مضي سنوات وتطور مجال البرمجيات لحد يمكنها من استغلال الأنوية استغلالاً أمثلاً (في بعض السياقات)؛ ظهر السؤال التالي: ولمَ إذن لا نستغل كروت الشاشة بتلك الطرق الجديدة وهي أصلاً معدة لمثل تلك العمليات المتوازية؟
ومن هنا بدأ معالج الرسوميات يزاحم المعالج المركزي ويسرق بعض مهامه.
فلم تصبح كروت الشاشة عالية الأداء مقصداً للاعبين وأغراض النمذجة والمحاكاة فقط، بل صار لها دور أساسي في المجال الحوسبي البحت غير المتعلق بالرسوميات. فمعالج الرسوميات هو في حقيقته معالج متخصص لكنه ذو تخصص موسع يشمل طيفاً لا بأس به من المهام. والطفرة التالية هي في زيادة هذا التخصيص.
والحق أن هذا (التخصيص) طال المعالج المركزي نفسه أولاً، وذلك أن تصاعد الهواتف الذكية التي تشكل مسألتي البطارية والحرارة حالة حرجة بالنسبة لها؛ جعل مفهوم تعدد الأنوية فيها لا على طريقة الأنوية المتماثلة التي غرضها زيادة الأداء ولكن الأنوية متباينة القوة التي غرضها توفير الطاقة.
ومن هذا الاختلاف في طبيعة الأنوية في المعالج الواحد؛ ظهر لنا مفهوم أوسع وهو وحدات المعالجة غير المتجانسة (Heterogeneous) التي تكون مجتمعة في رقاقة واحدة كوحدة معالجة الصور، والذكاء الاصطناعي، والحماية والتشفير إلخ..
والحاجة للمعالجات المتخصصة وفوائدها يمكن تلخيصها في نقطتين:
١- القيام بعمل لا يستطيع المعالج المركزي القيام به (وهذا ليس هو الغالب) فحتى المعالج المركزي يستطيع معالجة عمليات الذكاء الاصطناعي مثلاً.
٢- القيام بعمل يستطيعه المعالج المركزي، ولكن الفائدة أنها تنفذها بأداء أسرع و/أو بتوفير أكثر لاستهلاك الطاقة (وهذا سبب ازدهارها في الهواتف).
والعبقرية التي قدمتها آبل في رقاقة T2 هنا ليس في كونه معالجاً مستقلاً مختصاً ولكن في (الخلطة المقدمة)، في كونه جمع من واحدات التحكم ما كان متفرقاً، ولم تقتصر على معالج للحماية والتشفير (والمعتمد على مايكروكيرنل وما أدراك ما المايكروكيرنل!) بل وفيها معالج للصور أيضاً.
#رقاقة_تقنية
بالمناسبة، من ضمن (المعالجات المتخصصة) التي شرحت مفهومها = هذا الكرت الذي أعلنت عنه #آبل مع الماك برو الجديد وسمته (Afterburner)، وهو قادر على معالجة ٦ مليار بيكسل في الثانية، بمعنى تشغيل ٣ فيديوات متزامنة بدقة 8k أو ١٢ بدقة 4k بترميز (ProRes RAW) تحديداً.
ما فائدته المباشرة؟
الفائدة هو أنه يرفع هذا الحمل الثقيل من المعالجة عن كرت الشاشة؛ مما يسمح لكرت الشاشة بالاهتمام بالأمور الأخرى كمعالجة المؤثرات والفلاتر التي تضاف على فيديو وتشغيلها مباشرة في برنامج المونتاج.
وللمقارنة، فإن أعلى توليفة للإيماك برو (١٨ نواة + Vega 64 16GB) يستطيع تشغيل ٨ مقاطع 4K.
ولعل أهم ميزة في هذا الكرت أنه (قابل للبرمجة - FPGA)، بمعنى أنه ليس قطعة صلدة ذات وظيفة ثابتة لا يمكن تغييرها، بل هي قابلة للتحديث وللمميزات الإضافية كدعم صيغ ترميز أخرى ونحو ذلك.
ممكن تشبه وظيفته بميزة Quick Sync في معالجات إنتل المخصصة بتحويل وتشغيل ترميزات معينة
(H.264 - HEVC)
فقط لتوضيح فكرة ال(Quick Sync) بالبلدي:
جميع المقاطع الي تقوم بتشغيلها في حاسبك عادة هي مضغوطة -وبشدة غالباً- بإحدى الترميزات، وهذا يجعلها صغيرة الحجم جداً مقارنة بما قبل الضغط فيسهل نقلها وتخزينها.
في المقابل، إن أردت تشغيل هذا المقطع فسيتطلب ذلك جهداً كبيراً من المعالج لفك ضغطه
ولذلك كان الحل العملي لهذه المشكلة في أحد أمرين:
١- استعمال كرت شاشة خارجي -إن وجدت-.
٢- استعمال هذه (النواة) الخاصة التي تأتي مع معالجات إنتل المتضمنة لوحدات رسومية مدمجة.
ولهذا يجد أصحاب المعالجات القديمة مشاكل وتقطيع في تشغيل المقاطع بترميز HEVC/h.256 الذي يعتبر حديث نسبياً.
مما يدخل تحت مظلة (المعالجات المتخصصة) أيضاً، ما أعنلت عنه شركة #ARM قبل أشهر في معالج الشاشة الجديد Mali-D77، طبعاً فكرة معالج الشاشة المسؤول عن عرض المخرجات النهائية على الشاشة وعمل ما يلزم كتحجيم الصورة وتعديل ألوانها؛ أمر معروف.
لكن هذا المعالج جاء بوظائف إضافية غير تقليدية:
لكن بما أن هذا المعالج موجه أصالة لأجهزة الواقع الافتراضي (VR)، فدعونا أولاً نتكلم عن ثلاثة أمور في الVR تمثّل حملاً إضافياً على كرت الشاشة لا يوجد نظير لها في الألعاب العادية ونحوها:
١- تصحيح التشوه.
٢- التصحيح الانحراف اللوني.
-وسببهما العدسات المستخدمة-
٣- إعادة الإسقاط؟
١- تصحيح التشوه:
العدسات المستخدمة تسبب تشوهاً في الصورة تجعل أطرافها منكمشة إلى الداخل؛ لذلك يجري إبطال هذا الأثر عن طريق تطبيق الأثر المعاكس وهو (تمديد) أطراف الصورة للخارج بدرجة معينة قبل عرضها حتى تُعرض بشكل صحيح (مثل فكرة إبطال الجمع بالطرح والضرب بالقسمة والعكس في الجبر)
٢- تصحيح الانحراف اللوني:
بما أن العدسات المستخدمة هي نوع من (المواشير) التي تتسبب في تحلل الضوء وانفصال ألوانه (ألوان الطيف) بنسبة معينة؛ فهي تسبب تشوهاً لونياً يتم إبطالة أيضاً بنفس الفكرة السابقة.
٣- إعادة الإسقاط:
مشهور بين اللاعبين فكرة مقدار التأخير (Latency) بين المدخلات والمخرجات.
وهذا وإن كان تقليله قدر الإمكان مهم؛ لكنه في مجال الVR ضروري، إذ أن حركة رأسك تعتبر من المدخلات وتحتاج استجابة سريعة تواكب حركتك في العالم الافتراضي لئلا تشعر بالغثيان (مثل فكرة دوار البحر)
فمثلاً إذا أملت رأسي بزاوية ٤٥، ينبغي أن أرى ذلك يحدث في العالم الافتراضي باستجابة سريعة.
المشكلة أنه فيما بين الوقت الذي يبدأ فيه الGPU برسم الصورة إلى أن ينتهي قد يتغير وضع رأسي وبالتالي فالصورة التي أُعِدت للتو للعرض؛ صارت قديمة!
فما بالك لو تأخر الGPU في رسم الصورة الحالية؟!
من هنا جاء مفهوم (إعادة الإسقاط) وفكرته أن يتم (تدوير) الصورة بناء على آخر تحديث لبيانات حركة الرأس من حساس التتبع قبل أن يتم عرضها للشاشة، ولو تأخر الGPU في رسم الصورة الحالية يتم استخدام الصورة السابقة وتعديلها بحسب آخر حركة رأس وهكذا، فتظهر بشكل مختلف رغم أن أصلهما نفس الصورة.
طيب بعد كل هذا الشرح، ما شأن كل ما سبق بمعالج الشاشة الجديد من #ARM؟
الفكرة أن هذه العمليات كانت تجري في الGPU وربما استهلكت ٢٠٪ من وقته مما يحد من أداءه في الVR رغم مسيس الحاجة له لزيادة عدد الإطارات ورفع الدقة.
ببساطة كل تلك العمليات نقلتها #ARM لمعالج الشاشة الجديد Mali-D77!
فهي بهذا تجعل الGPU (يتفرّغ) لمعالجة المحتوى نفسه ورسم الصور بشكل طبيعي (كما الحال خارج الVR)، ثم يتولى معالجها إجراء العمليات الثلاثة تباعاً؛ فينتج عن كل ذلك إمكانية زيادة أداء الGPU وكذلك توفير استهلاك الطاقة.
وهذا نموذج أولي عرضته الشركة لآلية عمله:
youtube.com

جاري تحميل الاقتراحات...