مجال معمارية الكمبيوتر
لكن إذا طرح أحدٌ السؤالَ التالي: «ما طبيعة جهاز الكمبيوتر المادي؟» فربما أراوغ في إجابتي. يرجع السبب إلى أن جهاز الكمبيوتر المادي، وإن كان جزءًا من تسلسل هرمي أكبر، فإنه معقَّد لدرجةِ أنه يحوي تسلسله الهرمي الداخلي الخاص به. ومن ثَم يمكن تصميمه ووصفه على عدة مستويات من التجريد. والعلاقة بين هذه المستويات تجمع بين مبادئ التسلسل الهرمي التركيبي، التجريدي/التفصيلي، والبنائي التي أوضحناها في الفصل الأول.
ربما أهمُّ جانب في هذا التسلسل الهرمي من وجهة نظر عالِم الكمبيوتر (ويرجع الفضل في جزء كبير من هذا الرأي إلى عالِم الرياضيات والقامة العلمية الأمريكي المجري جون فون نيومان؛ حيث إنه أول مَن توصَّل إليه) هو التفريق بين الكمبيوتر المادي باعتباره أداةً حوسبية تعالج الرموز والمكونات المادية التي تتبع قوانين الفيزياء والتي تتكون منها هذه الأداة. هذا التفريق مهم. فباعتبار الكمبيوتر أداة تعالج الرموز، يصبح أداة مجردة بنفس المعنى الذي ينطبق على البرمجيات، ولكن كما هو الحال مع البرمجيات، فهذه الأداة المجردة لا يكون لها وجود من دون تنفيذها ماديًّا.
ثمَّة جانب آخر مهم في هذا التفريق. يكمُن هذا الجانب في إمكانية تنفيذ معمارية بعينها باستخدام تكنولوجيات مختلفة. فالمعمارية ليست مستقلة عن التكنولوجيات؛ حيث إن تطور التكنولوجيا يؤثِّر في التصميم المعماري، لكن هناك قدْر معيَّن من الاستقلالية أو «درجات من الحرية» التي يتمتع بها مصمِّم معماريات الكمبيوتر. وفي المقابل، يمكن لتصميم معماريةٍ ما أن يشكِّل نوع التكنولوجيا التي يتم استخدامها.
لتوضيح الصورة، لنضرب مثلًا بمؤسسة ولتكن جامعة. هذه المؤسسة لها من السمات المجردة والمادية. فتنظيم الجامعة ووحداتها الإدارية والأكاديمية المتعددة وبنيتها ووظائفها الداخلية وغير ذلك هو نظير معمارية الكمبيوتر. فبإمكان المرء أن يصمِّم جامعة (وهي أداة في نهاية الأمر) ويصفها ويناقشها ويحللها وينقدها ويغيِّر هيكلها تمامًا مثلما يمكن له أن يفعل مع أي كيان مجرد آخر. لكن الجامعة تُبنى بموارد بشرية ومادية. وهذه هي نظير تكنولوجيا (عتاد) الكمبيوتر. ومن ثَم في حين ينطوي تصميم الجامعة أو تطورها على قدْر كبير من الاستقلالية، يمكن أن يعتمد إنشاؤها فقط على طبيعة مواردها ووفرتها وكفاءتها (الموظفون والمباني والمعدَّات والمساحة المادية وبنية الحرم ككل وغير ذلك). وفي المقابل، إن تصميم تنظيم الجامعة سيؤثِّر في أنواع الموارد التي ينبغي توافرها.
وفيما يلي توضيح المصطلحات الأساسية المتعلقة بهذا النقاش: «معمارية الكمبيوتر» هي أحد فروع علم الكمبيوتر وتهتم بتصميم الكمبيوتر المادي ووصفه وتحليله ودراسة تنظيمه المنطقي وسلوكه وعناصره الوظيفية؛ وكل هذا يشكِّل معمارية الكمبيوتر (المادي). مهمة اختصاصي معمارية الكمبيوتر هي تصميم معماريات تلبي احتياجات مستخدمي الكمبيوتر المادي (مهندسو البرمجيات والمبرمجون ومصمِّمو الخوارزميات والمستخدمون غير الفنيين) من جانب، ومن جانب آخر تكون صالحة من الناحيتين الاقتصادية والتكنولوجية.
بذلك نجد أن معماريات الكمبيوتر أدواتٌ حدية. ولا بد لاختصاصي معمارية الكمبيوتر أن يكون ماهرًا في الجمع بين المتطلبات الوظيفية والأدائية للكمبيوتر، والجدوى التكنولوجية.
أجهزة الكمبيوتر الأنوية وذات النزعة الاجتماعية
لكن كما أوضحنا لتوِّنا، تضاءلت أعداد أجهزة الكمبيوتر الأنوية في الوقت الراهن. فابتكار الإنترنت وإنشاء البريد الإلكتروني وشبكة الويب العالمية ومختلف أشكال وسائل التواصل الاجتماعي وضعت حدًّا للأنوية الحوسبية. لكن حتى أكثر الأدوات خصوصية للمستخدم مثل الكمبيوتر المحمول أو الهاتف الذكي تصبح اجتماعية بمجرد أن يتصل المستخدم بالإنترنت ليشتريَ كتابًا أو يطلع على حالة الطقس أو يبحث عن الاتجاهات كي يذهب إلى مكانٍ ما. يصبح كمبيوتر المستخدِم اجتماعيًّا بمعنى أنه يتفاعل ويتواصل مع عددٍ لا حصر له من أجهزة الكمبيوتر الأخرى (على الرغم من أنه لا يعرفها) المنتشرة ماديًّا في ربوع الكوكب عبْر شبكة تسمَّى الإنترنت. في الحقيقة، كل مستخدم يرسل بريدًا إلكترونيًّا أو يبحث عن معلومة أو يشاهد مقطع فيديو عبْر الإنترنت ليس مجرد مستخدم لشبكة الإنترنت، بل يكون جهاز الكمبيوتر الخاص به جزءًا من شبكة الإنترنت. بل إن شبكة الإنترنت مجتمعٌ عالمي تفاعلي قوامه الأدوات الحوسبية ذات النزعة الاجتماعية والكيانات البشرية.
لكن توجد شبكات أبسط يمكن أن تكون أجهزةُ الكمبيوتر جزءًا منها. فالأجهزة داخل مؤسسة (مثل جامعة أو شركة) تتصل بعضها ببعض عبْر ما يسمَّى «الشبكات المحلية». كذلك يمكن لمجموعة من أجهزة الكمبيوتر الموزَّعة عبْر منطقةٍ ما أن تتعاون بعضها مع بعض، ويؤدي كل جهاز منها المهمةَ الحوسبية المنوطة به، ولكنها تتبادل المعلومات بعضها مع بعض عند الحاجة. وقد جرت العادة على تسمية هذه الأنظمة باسم أنظمة «الحوسبة المتعددة» أو «الحوسبة الموزَّعة».
تتم إدارة الحوسبة المتعدِّدة أو الحوسبة الموزَّعة أو الحوسبة عبْر الإنترنت بموجب مجموعة من قواعد عمل الشبكات تسمى «البروتوكولات» وأنظمة برمجيات بالغة التعقيد. لكن عندما ننظر إلى مجال معمارية الكمبيوتر، فإن ما يهمنا هو الكمبيوتر بمفرده، سواء كان أنويًّا أو اجتماعي النزعة. وهذا ما سنتناوله فيما تبقى من هذا الفصل.
المعماريات الخارجية والداخلية
دخلت كلمة «معمارية» في سياق أجهزة الكمبيوتر للمرة الأولى في أوائل ستينيات القرن العشرين على يد ثلاثة من مهندسي شركة آي بي إم، وهم جين أمدال وفريدريك بروكس وجيريت بلاو. استخدم ثلاثتهم هذا المصطلح للإشارة إلى مجموعة السمات الوظيفية للكمبيوتر المادي كما هو متاح لمبرمج الكمبيوتر ذي المستوى الأدنى (مبرمجي الأنظمة الذين يبنون أنظمة التشغيل والبرامج المترجِمة والأدوات المساعدة الأساسية الأخرى التي تستخدم لغات التجميع)؛ أو «واجهتها الخارجية» إن جاز التعبير. لكن منذ ذلك الحين، امتدت ممارسة معمارية الكمبيوتر كي تشملَ التنظيم الداخلي المنطقي والهيكلي والوظيفي، وكذلك سلوك المكونات المادية للجهاز. لذا من المنظور العملي، يشير مصطلح «معمارية الكمبيوتر» إلى الجوانب الوظيفية والمنطقية لكلٍّ من الواجهة الخارجية والمكونات الداخلية للكمبيوتر المادي. لكن لم يتم الاتفاق على مصطلحين يشيران إلى هذين الجانبين، وانطلاقًا من مبدأ التبسيط، سأطلق عليهما المعمارية الخارجية والمعمارية الداخلية، على التوالي.
يرتبط هذان الجانبان بعلاقة تسلسل هرمي. فهما جانبان مجرَّدان مختلفان للكمبيوتر المادي، حيث تكون المعمارية الخارجية فيه شكلًا مجردًا للمعمارية الداخلية، أو، بالعكس، تكون المعمارية الداخلية تفصيلًا للمعمارية الخارجية. أو بناءً على استراتيجية التصميم المستخدَمة، يمكن اعتبار معمارية الكمبيوتر الداخلية تنفيذًا للمعمارية الخارجية.
المعمارية الخارجية
هذا تسلسل هرمي من حيث الاحتفاظ بالمعلومات وسعة الحجم وسرعة الوصول. ومن ثَم على الرغم من أن المعمارية الخارجية مجرَّدة، فإن الوجه المادي في جهاز الكمبيوتر المادي أصبح واضحًا؛ بمعنى أن المساحة (سعة الحجم) والوقت من الأنماط المادية حيث إنهما يُقاسان بوحدات مادية (وحدات البت أو البايت للمعلومات، والنانوثانية أو البيكوثانية للوقت، وغيرها) وليس بوحدات مجردة. هذا المزيج هو ما يجعل معمارية الكمبيوتر (الخارجية والداخلية) أداة حدية.
الذاكرة الطويلة الأجل هي أطول الذاكرات احتفاظًا بالمعلومات (أي، في قدرتها على «التذكر») حيث إنها ذاكرة دائمة وتصلح لكل الأغراض العملية. وهي الأكبر كذلك من حيث سعة الحجم، ولكنها الأبطأ في سرعة الوصول إليها. أما الذاكرة المتوسطة الأجل فلا تحتفظ بالمعلومات إلا إذا كان الكمبيوتر قيد التشغيل. فهي تفقد المعلومات عند إيقاف تشغيل الكمبيوتر. سعة حجم هذه الذاكرة أقلُّ بكثير من الذاكرة الطويلة الأجل، ولكن وقت الوصول إليها أقصر بكثير من الذاكرة الطويلة الأجل. وقد تغيِّر الذاكرة القصيرة الأجل أو العاملة محتوياتها عدة مرات في سياق العملية الحوسبية الواحدة؛ فسعة حجمها أقل بعدة أمثال من الذاكرة المتوسطة الأجل، ولكن وقت الوصول إليها أقصرُ بكثير جدًّا من الذاكرة الطويلة الأجل.
السبب في وجود التسلسل الهرمي في الذاكرة هو الحفاظ على توازن جيد بين متطلبات الاحتفاظ بالمعلومات والمساحة ووقت الوصول من أجل العمليات الحوسبية. كذلك ستحتوي مجموعة التعليمات على تعليماتٍ لتنفيذ عمليات نقل البرامج والبيانات بين مكونات الذاكرة هذه.
تقوم السمات الأخرى للمعمارية الخارجية على مجموعة التعليمات ومجموعة أنواع البيانات الخاصة بها. على سبيل المثال، يجب أن تتضمن التعليمات طرقًا لتحديد المواقع (العناوين) في ذاكرة المعاملات والتعليمات. ويطلق على الطرق المختلفة لتحديد عناوين الذاكرة «أنماط العنونة». سيكون هناك أيضًا قواعد أو أعراف لتنظيم وتشفير التعليمات الخاصة بمختلف أنواع البيانات بحيث يمكن حفظها داخل الذاكرة بفاعلية؛ ويطلق على هذه الأعراف «تنسيقات التعليمات». وبالمثل، «تنسيقات البيانات» عبارة عن قواعد لتنظيم أنواع البيانات المتنوعة؛ حيث تُحفظ عناصر البيانات من نوع معيَّن من البيانات في الذاكرة طبقًا لتنسيق البيانات ذي الصلة.
وأخيرًا، هناك عنصر مهم في المعمارية الخارجية وهو «طول الكلمة». يحدد هذا العنصر كمَّ المعلومات (الذي يقاس بوحدات البت) الذي يمكن قراءته من الذاكرة المتوسطة الأجل (الأساسية) أو نسخه إليها «في آنٍ واحد». إن سرعة تنفيذ التعليمات تعتمد اعتمادًا كبيرًا على طول الكلمة، وكذلك نطاق البيانات الذي يمكن الوصول إليه لكل وحدة من الزمن.
فيما يلي أمثلة نموذجية على تعليمات الكمبيوتر (أو تعليمات الآلة، وهو مصطلح قد استخدمته من قبل) مكتوبة بأسلوب (لغة تجميع) رمزي، بالإضافة إلى معانيها (أي، الإجراءات التي تتسبب هذه التعليمات في تنفيذها).
المعنى (الإجراء) | التعليمة |
---|---|
R2 ← main-memory [R1 + D] | (1) LOAD R2, (R1, D) |
R2 ← R2 + 1 | (2) ADD R2, 1 |
goto main-memory [R1 + D] | (3) JUMP R1, D |
المفاتيح:
المعمارية الداخلية
الكمبيوتر المادي في محصِّلته عبارة عن مجموعة من الدوائر الإلكترونية والأسلاك وغيرها من المكونات المادية. ومن حيث المبدأ، يمكن شرح المعمارية الخارجية باعتبارها نتاجًا لهيكل هذه المكونات المادية وسلوكها. لكن المسافة المفاهيمية بين أداة مجردة مثل المعمارية الخارجية والدوائر الإلكترونية المادية كبيرةٌ للغاية لدرجة أن محاولة القيام بهذا الشرح ليست أجدى من محاولة شرح أو وصف كائن حي كامل (ربما باستثناء البكتيريا والفيروسات) من حيث بيولوجيا خلاياه. ما نعنيه أن بيولوجيا الخلية لا تفي مثلًا بشرح بنية جهاز القلب والأوعية الدموية ووظائفه. فلا بد من فهْم الكيانات التي تعلو مستوى الخلايا (مثل الأنسجة والأعضاء) قبل فهْم الجهاز ككل. ومن هذا المنطلق أيضًا، لا تفي نظريةُ الدوائر الإلكترونية الرقمية بشرح المعمارية الخارجية للكمبيوتر، سواء كان كمبيوترًا محمولًا أو حتى أقوى كمبيوتر فائق على مستوى العالم.
وبوجه عام، يهتم اختصاصيو معمارية الكمبيوتر بالمعماريات الخارجية والداخلية، وكذلك تفصيل المعمارية الداخلية الذي ذكرناه من قبل باسم المعمارية الدقيقة (والذي سنوضحه لاحقًا). إنهم لا يهتمون بالسمات التي تشكل هذه المستويات المعمارية فحسب، بل يهتمون بالعلاقة فيما بينها أيضًا.
يمكن تشبيه وحدات التنفيذ بأعضاء جسد الكائن الحي. يمكن أن تكون هذه الوحدات عالية التخصص ولا تنفِّذ سوى أنواع معينة من العمليات على أنواع محددة من البيانات، ويمكن أن تكون ذات أغراض أشملَ، ومن ثَم تستطيع تنفيذ مجموعات شاملة من العمليات. على سبيل المثال، يمكن تخصيص وحدة تنفيذ بحيث لا تنفِّذ سوى العمليات الحسابية ذات الأعداد الصحيحة، في حين تختص وحدة أخرى بالعمليات الحسابية ذات الأعداد الحقيقية، ويمكن ألا تنفِّذ وحدة ثالثة شيئًا سوى معالجة سلاسل وحدات البت بطرقٍ متعددة، فيما تنفذ وحدة أخرى رابعة العمليات على سلاسل الرموز، وهكذا.
ومن حيث المكونات الداخلية، سيكون للمعالج عناصر ذاكرته الخاصة المتناهية قصر الأجل أو «العابرة» (حيث إنها تحتفظ بالمعلومات لمدة أقصر من السجلات المرئية في المعمارية الخارجية، ويطلق عليها أحيانًا «السجلات الانتقالية») والتي تُحضر إليها المعلومات من الذاكرات الأخرى قبل أن تعالج من خلال وحدات تفسير التعليمات أو معالجتها. تشكِّل السجلات الانتقالية المستوى «الأدنى» في التسلسل الهرمي للذاكرة المرئي في المعمارية الداخلية.
«كمبيوتر داخل الكمبيوتر»
وحدة التحكم هي دماغ الكمبيوتر مجازًا، وكأنها كمبيوتر مصغَّر، وهي توصف في بعض الأحيان بأنها «كمبيوتر داخل الكمبيوتر». إنها العضو الذي يدير كل أنشطة الأنظمة الأخرى وحركة بنيات الرموز فيما بينها، ويتحكم فيها ويسلسلها. وهي تقوم بذلك عن طريق إصدار «إشارات تحكُّم» (وهي بنيات رموز مختلفة في فئتها عن التعليمات والبيانات) إلى الأجزاء الأخرى في الجهاز متى وكيفما اقتضت الحاجة. إنها محرِّك الدمى الذي يحرك الخيوط لتنشيط الأنظمة الأخرى التي تشبه الدمى.
وعلى وجه الخصوص، تصدر وحدة التحكم إشاراتٍ إلى المعالج (الذي هو مزيج من وحدات تفسير التعليمات وتنفيذها) لتجعل المعالج ينفِّذ خوارزمية تكرارية يطلق عليها عادةً «دورة التعليمات». دورة التعليمات هي التي تربط المعمارية الخارجية بالمعمارية الداخلية. وفيما يلي الصيغة العامة لهذا:
لاحظ أن دلالة هذه التعليمة على مستوى المعمارية الخارجية ببساطة هي:
البرمجة الدقيقة
الحوسبة المتوازية
من الخصال المتأصلة في مبدعي الأشياء — مثل المهندسين والفنانين والحرفيين والكتَّاب وغيرهم — عدم الرضا أبدًا عما أنجزوه؛ فهم لا يفتئون يرجون صناعة أدواتٍ أفضل (مهما كان معيار «الأفضلية»). وفي مجال صناعة أجهزة الكمبيوتر المادية، فإن الرغبتين المهيمنتين متعلقتان بالمساحة والوقت؛ بمعنى صناعة أجهزة أصغر وأسرع.
من استراتيجيات تحقيق هذين الهدفين تحسين التكنولوجيا المادية. وتتعلَّق هذه الاستراتيجية بفيزياء الحالة الصلبة والإلكترونيات وتكنولوجيا التصنيع وتصميم الدوائر الإلكترونية. ولا يخفى على أحد ممن يستخدمون أجهزةَ الكمبيوتر المحمولة والأجهزة اللوحية والهواتف الذكية هذا التقدُّم الاستثنائي على مدار ستين سنة أو نحو ذلك منذ صناعة أول دائرة متكاملة، ما وفَّر إمكانية تصنيع مكونات ذات كثافة أعلى وحجم أصغر بالإضافة إلى التركيز المستمر على زيادة قوة الحوسبة. هناك فرضية شهيرة تسمى بقانون مور — نسبة إلى اسم مبتكِرها المهندس الأمريكي جوردون مور — تقول بأن كثافة مكونات الدوائر الأساسية على شريحة واحدة تتضاعف كلَّ عامين تقريبًا، وهو ما أُثبِت تجريبيًّا على مرِّ السنين.
ولكن في ضوء التقدم الحادث في مجال التكنولوجيا المادية، نجد أن اختصاصيي معمارية الكمبيوتر طوَّروا أساليبَ لزيادة «سعة المعالجة» أو «السرعة» الخاصة بالعمليات الحوسبية، والتي تقاس بمقاييس مثل عدد التعليمات التي تتم معالجتها لكل وحدة من الزمن أو عدد بعض العمليات الهامة (مثل العمليات الحسابية باستخدام الأعداد الحقيقية إذا كان الكمبيوتر مخصَّصًا للعمليات الحوسبية العلمية أو الهندسية) لكل وحدة من الزمن. تندرج هذه الاستراتيجيات المعمارية تحت مسمى «المعالجة المتوازية».
- (أ)
طبيعة المهام.
- (ب) بنية تدفُّق المهام؛ بمعنى هل يحتوي التدفُّق على عبارات تكرارية (مثل أنواع مهام while do) أو عبارات شرطية (مثل if then else) أو عبارات goto.
- (جـ)
طبيعة الوحدات التي تنفِّذ المهام.
- (أ) استقلال المدخلات INPUT1 عن المخرجات OUTPUT2. (بمعنى أنه لا يوجد شيء مشترك بينهما.)
- (ب) استقلال المدخلات INPUT2 عن المخرجات OUTPUT1.
- (جـ) استقلال المخرجات OUTPUT1 عن المخرجات OUTPUT2.
تُعرف هذه الشروط باسم شروط برنشتاين، نسبةً إلى عالِم الكمبيوتر إيه جيه برنشتاين الذي كان أول مَن صاغها. وإذا لم يُستوفَ شرط واحد منها، فستوجد علاقة اعتمادية للبيانات بينهما، ولن يمكن تنفيذ المهام بالتوازي. لنضرب مثالًا بسيطًا بمقطع من تدفُّق برنامج يتكون من عبارات التعيين التالية:
إذن:
يوضِّح هذا الترتيب التسلسلي/المتوازي بنيةَ «البرنامج المتوازي»؛ حيث تكون المهام عبارات فردية توصف باستخدام إحدى لغات البرمجة. لكن لننظر في الكمبيوتر المادي ذاته. الهدف من البحث في المعالجة المتوازية له شقَّان واسعا النطاق، يتمثل أولهما في ابتكار خوارزميات أو استراتيجيات يمكن أن تكتشف وجهَ التوازي بين المهام، ومن ثَم تجدول المهام المتوازية أو تعيِّنها إلى وحدات مختلفة لتنفيذ المهام في نظام الكمبيوتر. أما الشق الثاني، فيتمثل في تصميم أجهزة كمبيوتر تدعم المعالجة المتوازية.
- (١)
تنفيذ تدفقات مهام (أو تعليمات) على نحوٍ متزامن على تدفقات بيانات مستقلة على عدة معالجات منفصلة، ولكن مع اتصال تدفقات المهام بعضها مع بعض (على سبيل المثال، بتمرير الرسائل أو نقل البيانات فيما بينها).
- (٢)
تنفيذ تدفقات مهام (أو تعليمات) على نحوٍ متزامن على تدفق بيانات فردي مشترك على عدة معالجات داخل كمبيوتر واحد.
- (٣)
شغل تدفقات بيانات متعددة لوحدات ذاكرة متعددة يتم الوصول إليها بنحو متزامن من خلال تدفق مهام (تعليمات) واحد على معالج واحد.
- (٤)
تنفيذ مقاطع (وتسمَّى سلاسل) تدفق مهام واحد بشكل متزامن، إما على معالج واحد أو على معالجات متعددة.
- (٥)
تنفيذ مراحل أو خطوات تعليمة واحدة بنحو متزامن داخل دورة التعليمات.
- (٦)
تنفيذ أجزاء برنامج دقيق بنحو متزامن داخل وحدة تحكم خاصة بجهاز الكمبيوتر.
تستخدم كل معماريات المعالجة المتوازية صورًا متباينة من الاحتمالات المذكورة آنفًا، وكثيرًا ما يجري الجمع بينها.
كما ذكرنا من قبل، الهدف من معماريات المعالجة المتوازية هو زيادة «سعة معالجة» أو «سرعة» نظام الكمبيوتر من خلال وسائل معمارية بحتة. ولكن كما هو موضح في المثال الصغير لعبارات التعيين الأربع، هناك حدود لتوازي تدفق المهام بسبب قيود اعتمادية البيانات؛ ومن ثَم، هناك حدود للسرعة التي يمكن تحقيقها في بيئة معالجة متوازية. صيغ هذا الحد صياغةً كمية في ستينيات القرن العشرين على يد مصمِّم أجهزة الكمبيوتر جين أمدال؛ إذ قال إن السرعة المحتملة للكمبيوتر المتوازي المعالجة مقيَّدة بقدرِ الحوسبة الذي لا يمكن تنفيذه بنحو متوازٍ. ومن ثَم يتوقف تأثير زيادة السرعة الناتج عن زيادة عدد وحدات التنفيذ المتوازية بعد حدٍّ معيَّن. ويطلق على هذا المبدأ «قانون أمدال».
العلم في معمارية الكمبيوتر
بعد أن وصل القارئ إلى هذا القسم من الفصل، ربما يسأل: إذا ما سلَّمنا بأن معماريات الكمبيوتر أدواتٌ حدية، فبأي نحوٍ يُعَد هذا المجال من العلوم الاصطناعية؟
للإجابة عن هذا السؤال، لا بد من إدراكِ أن أكثرَ ما يَلفت الانتباه في هذا المجال هو أن مساحة المعرفة فيه تتكون (بالأساس) من مجموعة مبادئ «استدلالية»، وأن التفكير المتَّبع في تصميم معماريات الكمبيوتر هو «التفكير الاستدلالي».
وكثيرًا ما نُضطر لاستخدام الاستدلال لأنه قد لا يوجد أيُّ خيار آخر. فنركن إلى التفكير الاستدلالي عند غياب المبادئ القائمة على النظريات والمؤكدة والصورية أكثر. ومبدأ فرِّق تسُد الذي تناولناه في الفصل الثالث مثالٌ على أحد المبادئ الاستدلالية المستخدَمة بكثرة في حل المسائل واتخاذ القرارات. إنه مبدأ مقبول يُتوقع منه أن يساعد في حل مسألة معقَّدة ولكن لا يُضمن نجاحه في حالة بعينها. كذلك المعرفة التجريبية مصدر للعديد من أشكال الاستدلال. وتُعدُّ قاعدة «إذا كانت السماء ملبَّدة بالغيوم، فخُذ معك مظلة» مثالًا في هذا الإطار. قد يكون هناك ما يبرِّر أخذ المظلة، ولكن ليس دائمًا.
واستخدام الاستدلال يستجلب معه ضرورةَ «التجريب». فبما أن الاستدلال ليس مضمون النجاح، يكون الملجأ الوحيد تطبيقَه على مسألةٍ بعينها ومعرفةَ ما إذا كان مجديًا عمليًّا؛ أي، القيام بتجربة. وفي المقابل، قد تُشتق مبادئ الاستدلال ذاتها بناءً على تجارب سابقة. «إن الاستدلال والتجارب يسيران جنبًا إلى جنب» هي رؤية استوعبها جيدًا روادُ التفكير الاستدلالي أمثال ألين نيويل وهيربرت سايمون، وكذلك رواد مجال تصميم الكمبيوتر أمثال موريس ويلكس.
وكل هذا مقدِّمة لما يلي: «يندرج مجال معمارية الكمبيوتر ضمن العلوم الاصطناعية التجريبية الاستدلالية».
على مدار العقود التي تلت ابتكارَ الكمبيوتر الرقمي الإلكتروني، ظهرت مجموعةٌ من القواعد والمبادئ والضوابط والافتراضات والمخططات بشأن تصميم معماريات الكمبيوتر، وتكاد تكون جميعها استدلالية في طبيعتها. ومن الأمثلة على ذلك فكرةُ النظر إلى التسلسل الهرمي للذاكرة باعتباره أحدَ مبادئ التصميم. ومبدأ قنوات التجزئة مثالٌ آخر. إن هذه المبادئ تنشأ من المعرفة التجريبية وعَقد المقارنات والملاحظات المنطقية السليمة.
لكن لا بد أن تدمج التجارب مبادئ الاستدلال في التصميم. قد تنطوي هذه التجارب على تنفيذ «نموذج أولي» أو آلة تجريبية وإجراء الاختبارات عليها. أو قد تتضمن إنشاءَ نموذج محاكاة (برمجي) للمعمارية وإجراء التجارب على المعمارية المحاكية.
وفي كلتا الحالتين، قد تكشف التجارب عن عيوب في التصميم، وعندئذٍ ستكون النتيجة تعديل التصميم عن طريقِ نبذِ بعض المبادئ وإدخال مبادئ أخرى، ثم تكرار دورة التجريب والتقييم والتعديل.
بالطبع يكاد هذا المخطط يطابق نموذجَ حل المسائل العلمية الذي طرحه فيلسوف العلم كارل بوبر: