@Daud
@Matriix
@أبو صلاح
فكرة أن مارك سيرني و فريق الهاردوير عند سوني يكتب المواصفات على ورقة و يسلمها لشركة AMD هي أبعد ما تكون عن الواقع، أقصد أن الشيء ليس بهذه البساطة السطحية إطلاقا
عملية التصميم بحد ذاتها في أي مجال عملية صعبة جدًا، لو بتكلم عن تخصصي مثلًا، كورس الsoftware design أو كورسات لغة UML دائمًا تخلق مشاكل عويصة للطلاب
طيب لما أصمم نظام حاسوبي أو برنامج ضخم هل أنا قاعد أخترع لغة برمجة؟ لا لكن التحدي مختلف و ضخم جدًا
شخص مثل مارك سيرني هو hardware architect للبلايستيشن، انت متخيل المنصب! الرجال ماسك وظيفة تُبنى عليها تجارة تدر 20 مليار دولار سنويا، تخيل لأي درجة القرارات التي يتخذها حساسة و مصيرية
هل تعلم ما مدى صعوبة أن تعمل بوظيفة تصميمية تقنية، أي شخص بمثل هذا المنصب و بقسم بحجم البلايستيشن هو شخص عبقري، سواء كان مشهور أم لا، إما أن يكون شخص بخبرة عمل طويلة جدا جدا، أو شخص يحمل مؤهلات علمية فائقة
تعال على سيرني مثلًا، الرجل متعلم ذاتيا حتى لا يحمل شهادة جامعية، و مع ذلك يُهندس هاردوير بوظيفة يعجز عنها أهل الاختصاص
وظيفة شخص مثل هذا تتطلب فهم علمي دقيق لكافة مكونات الجهاز الحاسوبي: المعالج، البطاقة الرسومية، الذاكرة العشوائية، كل أنواع الذاكرة و الرقاقات في الجهاز مثل الregisters و الcash و أدوارها، وحدة التخزين، أسلاك الBus و كيف تُربط هذه المكونات ببعضها البعض و كيف تُنقل البيانات، معمارية x86، لغة التجميع، لغات تصميم الهاردوير و تجسيده
و تتطلب إدراك هائل في علم الحاسوب يتضمن الخوارزميات، هيكلية البيانات، نظام التشغيل الحاسوبي و وظائفه (تصميم system هو تصميم هاردوير و سوفتوير معا و هناك تداخل كبير لا يمكن فصله)
انت تتكلم عن شخص، سواء سيرني أو غيره بوظائف مُشابهة، أولًا لازم يكون فاهم كل هذا، و مش فاهمه بشكل بسيط بل فهم و إدراك علمي عميق يجعل الحصيلة العلمية الموجودة في راسه، تكفي لتأليف كتب
و ثانيًا، هو يُتقن كل هذا إلى درجة أنه قادر على اتخاذ (قرارات تصميمية) جوهرية فيه! هل تتخيل صعوبة هذا ؟؟
فما بالك بشخص مثل سيرني هو في الأساس لم يتلقى هذا كتعليم جامعي بل تعلّم ذاتيًا ؟؟ لو لم يكن يملك قدرة عقلية فائقة تفوق الإنسان الطبيعي، لما كان قادرًا على إدراك كل هذا
الاختبارات التقنية في الشركات الكبيرة ما فيها أي مزاح، الكلام الي قاله سيرني انه طلب من يوشيدا الوظيفة و يوشيدا وافق! كله كذب في كذب، سوني لغتها الإعلامية دائمًا لغة "كاجوال"، تحب توريك أن كل شيء بسيط جدًا لدرجة السذاجة، للأسف خلني أقول أن لغة سوني الإعلامية "تاخذ الناس على قد عقلهم"
الموضوع أكبر و أصعب بكثير من ذلك، كمثال أحد أقاربي خبير تقني في الاتصالات و هو من جيلنا، يُساهم في هندسة البنية التحتية لشبكات الجيل الخامس في العديد من الدول حول العالم، الاختبارات التقنية التي خضع لها من بعض الشركات التي تعمل على أعلى مستوى عالمي ممكن، امتدت ل3 أو 4 شهور، فقط حتى يكونوا متأكدين أن هذا الشخص قادر فعلًا على إنجاز هذه الوظيفة
سيرني و فريقه عندهم ابتكار في هاردوير البلايستيشن5 يتعلق بالco-processors التي تُنظم نقل البيانات، لا أحد يعلم ما هي الخوارزميات التي تم استخدامها لتسريع عمليات النقل بدقة، هذه أسرار شركة و لا يُمكن الكشف عنها لعامة الناس أو للشركات المُنافِسَة
تعالوا أعطيكم مثال على هذا:
هذه الرسمة توضح كيف يعمل الPaging، و الPaging باختصار هي الطريقة الحاسوبية الأساسية في التعامل مع الvirtual memory أو الvirtual ram
الpsysical memory هي الذاكرة الحقيقية (الرام)، أما الlogical address فهو يُعبر عن موقع البيانات على وحدة التخزين أو الذاكرة العشوائية الثانية، و كل جزئية بيانات لديها page على وحدة التخزين و يُقابلها frame على الرام
عندما تحتاج الرام بيانات و هذه البيانات غير موجودة على الرام بل موجودة في وحدة التخزين، يحصل ما يُسمى بالpage fault (و هو ليس error بالمناسبة)
هنا يأتي دور الMemory Management Unit، وحدة إدارة الذاكرة، و التي تقوم بترجمة العنوان الافتراضي على الذاكرة الثانوية، إلى عنوان حقيقي على الذاكرة الرئيسية، طيب الذاكرة الرئيسية أصلا مليانة، ايش نسوي؟ هنا تستخدم خوارزميات page replacement algorithms (ما نعنيه بالخوارزمية، طريقة رياضية و علمية للاستبدال)، و يتم استبدال العناوين الموجودة على الذاكرة الرئيسية إلى عناوين البيانات المطلوبة عن طريق هذه الخوارزمية
... الMemory Management Unit (أو MMU اختصارًا) هي هاردوير و هي تقوم بعمل mapping كامل للذاكرة و لديها page table مُشابه للرسمة في الأعلى يضم معلومات مثل رقم الpage و ما يُسمى بالoffset، و لها أدوار أخرى
... هذا مُجرد مثال بسيط على نوعية التحديات التي يواجهها سيرني و فريقه
الشيء الي قاعدين نسمعه من المطورين و الخبراء، أن سيرني و فريقه طوروا controllers في الهاردوير تُساعد على تحقيق كفاءة غير مسبوقة في عملية نقل البيانات، و يجب أن تُدركوا أن هذه الأمور فيها إنجازات علمية حقيقية أكبر من مُجرد لعبة فيديو، سواء استغلت بالشكل المطلوب أم لا، و كما قلت، الخوارزميات الموجودة في هذه الكنترولرز و دورها في عملية نقل البيانات هي أسرار شركة و لا يُمكن كشفها لعامة الناس، و لكن لا تستبعد أن يكون فيها تطوير لخوارزميات جديدة لم تكن موجودة أو تحسين على خوارزميات كانت موجودة في الأصل و تم تحسينها لتُصبح أفضل
هذا عمل بمستوى البحث العلمي الذي تُبنى عليه رسائل الماستر و الدكتوراة في الجامعات.
و حتى لا يكون الحديث عن سوني و سيرني فقط حتى فريق التصميم عند مايكروسوفت هو بلا شك عبقري
و رئيس هندسة Xbox Series X هو شخص عبقري و على أعلى مستوى بشري ممكن، ما أحتاج أعرف اسمه حتى أعرف انه شخص عبقري، هذه أمور تتجاوز التسويق و شهرة فلان أو علان
كيف وصلوا إلى هذا الحجم الصغير في تصميم الجهاز رغم قوته التقنية الجبارة؟
عن طريق فصل اللوحة الأم إلى نصفين، طيب كيف فعلوا هذا؟ ما هي الأجزاء التي ذهبت للنصف الأول و ما هي الأجزاء التي ذهبت للنصف الثاني؟ على أي أساس تم اتخاذ هذا القرار؟ و كيف تم الحفاظ على آلية تبادل البيانات بين القطع المختلفة على اللوحة الأم لتبقى بنفس المستوى و الكفاءة بهذا التصميم؟
أرجع و أقول، هذا شغل ناس بأعلى مستوى كفاءة بشرية مُمكنة، و مايكروسوفت لا توظف إلا أفضل الكفاءات التقنية في العالم، اختبار مايكروسوفت لقبول مُبرمج في الشركة يُضرب به المثل، هناك مبرمج بلغاري نجح في اختبار مايكروسوفت و قام بتأليف كتاب عن لغة البرمجة C# و هذا الكتاب أصبح مرجع معتمد و يُدرس في الكثير من جامعات العالم، هذا فقط نجح في اختبار مايكروسوفت
لازم تعرف أن الlevel الذي تعمل به هذه الشركات هو في مستوً آخر.