وحدة المعالجة المركزية

_-_Flickr_-_cole8888.jpg/440px-Intel_Xeon_3060_Conroe_(Reshoot)_-_Flickr_-_cole8888.jpg)
وحدة المعالجة المركزية ( CPU )، والتي تسمى أيضًا المعالج المركزي أو المعالج الرئيسي أو المعالج فقط ، هي المعالج الأكثر أهمية في أي جهاز كمبيوتر . [1] [2] تنفذ دوائرها الإلكترونية تعليمات برنامج الكمبيوتر ، مثل العمليات الحسابية والمنطقية والتحكم وعمليات الإدخال/الإخراج (I/O). [3] [4] [5] يتناقض هذا الدور مع دور المكونات الخارجية، مثل الذاكرة الرئيسية ودوائر الإدخال/الإخراج، [6] والمعالجات المساعدة المتخصصة مثل وحدات معالجة الرسومات (GPUs).
لقد تغير شكل وتصميم وتنفيذ وحدات المعالجة المركزية بمرور الوقت، لكن تشغيلها الأساسي ظل دون تغيير تقريبًا. [7] تشمل المكونات الرئيسية لوحدة المعالجة المركزية وحدة الحساب والمنطق (ALU) التي تقوم بالعمليات الحسابية والمنطقية ، وسجلات المعالج التي تزود وحدة الحساب والمنطق بالمتغيرات وتخزن نتائج عمليات وحدة الحساب والمنطق، ووحدة التحكم التي تنظم عملية الجلب (من الذاكرة) وفك التشفير والتنفيذ (للتعليمات) من خلال توجيه العمليات المنسقة لوحدة الحساب والمنطق والسجلات والمكونات الأخرى. تخصص وحدات المعالجة المركزية الحديثة الكثير من مساحة أشباه الموصلات لذاكرة التخزين المؤقت والتوازي على مستوى التعليمات لزيادة الأداء وأوضاع وحدة المعالجة المركزية لدعم أنظمة التشغيل والافتراضية .
يتم تنفيذ معظم وحدات المعالجة المركزية الحديثة على معالجات الدوائر المتكاملة (IC) ، مع وحدة معالجة مركزية واحدة أو أكثر على شريحة IC واحدة. تسمى شرائح المعالجات الدقيقة ذات وحدات المعالجة المركزية المتعددة بالمعالجات متعددة النواة . [8] يمكن أيضًا تشغيل وحدات المعالجة المركزية المادية الفردية، والتي تسمى نوى المعالج ، متعددة الخيوط لدعم تعدد الخيوط على مستوى وحدة المعالجة المركزية. [9]
قد تحتوي الدائرة المتكاملة التي تحتوي على وحدة المعالجة المركزية أيضًا على ذاكرة وواجهات محيطية ومكونات أخرى للكمبيوتر؛ [10] تسمى هذه الأجهزة المتكاملة بشكل مختلف المتحكمات الدقيقة أو الأنظمة على شريحة (SoC).
تاريخ

كان لا بد من إعادة توصيل أجهزة الكمبيوتر المبكرة مثل ENIAC فعليًا لأداء مهام مختلفة، مما تسبب في تسمية هذه الأجهزة "أجهزة كمبيوتر ذات برامج ثابتة". [11] تم استخدام مصطلح "وحدة المعالجة المركزية" منذ وقت مبكر من عام 1955. [12] [13] نظرًا لأن مصطلح "وحدة المعالجة المركزية" يُعرَّف عمومًا بأنه جهاز لتنفيذ البرامج (برنامج الكمبيوتر)، فقد ظهرت أقدم الأجهزة التي يمكن تسميتها بحق بوحدات المعالجة المركزية مع ظهور الكمبيوتر المخزن للبرامج .
كانت فكرة الكمبيوتر المخزن موجودة بالفعل في تصميم إينياك الذي صممه ج. بريسبر إيكرت وجون ويليام ماوتشلي ، ولكن تم حذفها في البداية حتى يمكن الانتهاء من إينياك في وقت أقرب. [14] في 30 يونيو 1945، قبل صنع إينياك، وزع عالم الرياضيات جون فون نيومان ورقة بعنوان المسودة الأولى لتقرير عن إيدفاك . كانت هذه هي الخطوط العريضة لجهاز كمبيوتر مخزن سيتم الانتهاء منه في النهاية في أغسطس 1949. [15] تم تصميم إيدفاك لأداء عدد معين من التعليمات (أو العمليات) من أنواع مختلفة. ومن الجدير بالذكر أن البرامج المكتوبة لإيدفاك كان من المقرر تخزينها في ذاكرة كمبيوتر عالية السرعة بدلاً من تحديدها بواسطة الأسلاك المادية للكمبيوتر. [16] تغلب هذا على قيد شديد في إينياك، وهو الوقت والجهد الكبيرين المطلوبين لإعادة تكوين الكمبيوتر لأداء مهمة جديدة. [17] بفضل تصميم فون نيومان، كان من الممكن تغيير البرنامج الذي يشغله EDVAC ببساطة عن طريق تغيير محتويات الذاكرة. لم يكن EDVAC أول كمبيوتر ببرنامج مخزن؛ فقد قام Manchester Baby ، وهو كمبيوتر تجريبي صغير الحجم ببرنامج مخزن، بتشغيل أول برنامج له في 21 يونيو 1948 [18] وقام Manchester Mark 1 بتشغيل أول برنامج له خلال ليلة 16-17 يونيو 1949. [19]
كانت وحدات المعالجة المركزية المبكرة عبارة عن تصميمات مخصصة تستخدم كجزء من جهاز كمبيوتر أكبر ومميز في بعض الأحيان. [20] ومع ذلك، فإن هذه الطريقة لتصميم وحدات المعالجة المركزية المخصصة لتطبيق معين قد أفسحت المجال إلى حد كبير لتطوير معالجات متعددة الأغراض يتم إنتاجها بكميات كبيرة. بدأ هذا التقييس في عصر أجهزة الكمبيوتر المركزية وأجهزة الكمبيوتر الصغيرة ذات الترانزستور المنفصل ، وتسارع بسرعة مع انتشار الدائرة المتكاملة (IC). سمحت الدائرة المتكاملة بتصميم وتصنيع وحدات معالجة مركزية معقدة بشكل متزايد لتفاوتات في حدود النانومتر . [21] لقد أدى كل من تصغير وتوحيد وحدات المعالجة المركزية إلى زيادة وجود الأجهزة الرقمية في الحياة الحديثة إلى ما هو أبعد من التطبيق المحدود لآلات الحوسبة المخصصة. تظهر المعالجات الدقيقة الحديثة في الأجهزة الإلكترونية التي تتراوح من السيارات [22] إلى الهواتف المحمولة، [23] وأحيانًا حتى في الألعاب. [24] [25]
في حين يُنسب الفضل غالبًا إلى فون نيومان في تصميم الكمبيوتر الذي يعتمد على البرامج المخزنة بسبب تصميمه لجهاز EDVAC، وأصبح التصميم معروفًا باسم بنية فون نيومان ، اقترح آخرون قبله، مثل كونراد زوسي ، أفكارًا مماثلة ونفذوها. [26] استخدمت ما يسمى ببنية هارفارد لجهاز هارفارد مارك 1 ، والتي اكتملت قبل EDVAC، [27] [28] أيضًا تصميمًا يعتمد على البرامج المخزنة باستخدام شريط ورق مثقوب بدلاً من الذاكرة الإلكترونية. [29] يتمثل الاختلاف الرئيسي بين بنيتي فون نيومان وهارفارد في أن الأخيرة تفصل بين تخزين ومعالجة تعليمات وحدة المعالجة المركزية والبيانات، بينما تستخدم الأولى نفس مساحة الذاكرة لكليهما. [30] معظم وحدات المعالجة المركزية الحديثة هي في الأساس من تصميم فون نيومان، ولكن وحدات المعالجة المركزية ذات بنية هارفارد تُرى أيضًا، خاصة في التطبيقات المضمنة؛ على سبيل المثال، تعد وحدات التحكم الدقيقة Atmel AVR معالجات ذات بنية هارفارد. [31]
كانت المرحلات والصمامات المفرغة (الصمامات الحرارية) تُستخدم بشكل شائع كعناصر تبديل؛ [32] [33] يتطلب الكمبيوتر المفيد آلافًا أو عشرات الآلاف من أجهزة التبديل. تعتمد السرعة الإجمالية للنظام على سرعة المفاتيح. كانت أجهزة الكمبيوتر ذات الصمامات المفرغة مثل EDVAC تميل إلى متوسط ثماني ساعات بين الأعطال، في حين أن أجهزة الكمبيوتر المرحلات - مثل Harvard Mark I الأبطأ ولكن الأقدم - نادرًا ما تفشل. [13] في النهاية، أصبحت وحدات المعالجة المركزية القائمة على الصمامات مهيمنة لأن مزايا السرعة الكبيرة التي توفرها تفوق عمومًا مشاكل الموثوقية. كانت معظم وحدات المعالجة المركزية المتزامنة المبكرة هذه تعمل بمعدلات ساعة منخفضة مقارنة بالتصاميم الدقيقة الإلكترونية الحديثة. كانت ترددات إشارة الساعة التي تتراوح من 100 كيلو هرتز إلى 4 ميجا هرتز شائعة جدًا في هذا الوقت، محدودة إلى حد كبير بسرعة أجهزة التبديل التي تم بناؤها بها. [34]
وحدات المعالجة المركزية الترانزستورية

زادت تعقيدات تصميم وحدات المعالجة المركزية مع تسهيل التقنيات المختلفة لبناء أجهزة إلكترونية أصغر وأكثر موثوقية. جاء أول تحسين من هذا القبيل مع ظهور الترانزستور . لم يعد من الضروري بناء وحدات المعالجة المركزية المزودة بالترانزستور خلال الخمسينيات والستينيات من القرن الماضي من عناصر تحويل ضخمة وغير موثوقة وهشة، مثل الصمامات المفرغة والمرحلات . [35] مع هذا التحسن، تم بناء وحدات معالجة مركزية أكثر تعقيدًا وموثوقية على لوحة دوائر مطبوعة واحدة أو أكثر تحتوي على مكونات منفصلة (فردية).
في عام 1964، قدمت شركة آي بي إم بنية حاسوبها آي بي إم سيستم/360 التي استُخدمت في سلسلة من الحواسيب القادرة على تشغيل نفس البرامج بسرعات وأداء مختلفين. [36] كان هذا مهمًا في وقت كانت فيه معظم الحواسيب الإلكترونية غير متوافقة مع بعضها البعض، حتى تلك التي صنعتها نفس الشركة المصنعة. لتسهيل هذا التحسين، استخدمت آي بي إم مفهوم البرنامج الصغير (يُطلق عليه غالبًا "الميكروكود")، والذي لا يزال يستخدم على نطاق واسع في وحدات المعالجة المركزية الحديثة. [37] كانت بنية نظام/360 شائعة جدًا لدرجة أنها سيطرت على سوق الحواسيب المركزية لعقود من الزمن وتركت إرثًا مستمرًا من قبل أجهزة كمبيوتر حديثة مماثلة مثل آي بي إم zSeries . [38] [39] في عام 1965، قدمت شركة ديجيتال إكويبمنت كوربوريشن (DEC) حاسوبًا مؤثرًا آخر يستهدف الأسواق العلمية والبحثية - PDP-8 . [40]
كانت لأجهزة الكمبيوتر القائمة على الترانزستور العديد من المزايا المتميزة عن سابقاتها. وبصرف النظر عن تسهيل زيادة الموثوقية وانخفاض استهلاك الطاقة، سمحت الترانزستورات أيضًا لوحدات المعالجة المركزية بالعمل بسرعات أعلى بكثير بسبب وقت التبديل القصير للترانزستور مقارنة بالصمام أو التتابع. [41] زادت الموثوقية وزادت سرعة عناصر التبديل بشكل كبير، والتي كانت عبارة عن ترانزستورات حصرية تقريبًا بحلول هذا الوقت؛ تم الحصول بسهولة على معدلات ساعة وحدة المعالجة المركزية في عشرات الميجا هرتز خلال هذه الفترة. [42] بالإضافة إلى ذلك، بينما كانت وحدات المعالجة المركزية ذات الترانزستور المنفصل والدوائر المتكاملة قيد الاستخدام بكثافة، بدأت تظهر تصميمات جديدة عالية الأداء مثل معالجات المتجهات أحادية التعليمات ومتعددة البيانات (SIMD) . [43] أدت هذه التصميمات التجريبية المبكرة لاحقًا إلى ظهور عصر أجهزة الكمبيوتر العملاقة المتخصصة مثل تلك التي صنعتها شركة Cray Inc و Fujitsu Ltd. [ 43]
وحدات المعالجة المركزية للتكامل على نطاق صغير

خلال هذه الفترة، تم تطوير طريقة لتصنيع العديد من الترانزستورات المترابطة في مساحة مضغوطة. سمحت الدائرة المتكاملة (IC) بتصنيع عدد كبير من الترانزستورات على شريحة أو "شريحة" واحدة تعتمد على أشباه الموصلات . في البداية، تم تصغير الدوائر الرقمية غير المتخصصة الأساسية للغاية مثل بوابات NOR إلى دوائر متكاملة. [44] يشار إلى وحدات المعالجة المركزية القائمة على هذه الدوائر المتكاملة "كتل البناء" عمومًا باسم أجهزة "التكامل على نطاق صغير" (SSI). تحتوي الدوائر المتكاملة SSI، مثل تلك المستخدمة في جهاز كمبيوتر Apollo Guidance ، عادةً على ما يصل إلى بضع عشرات من الترانزستورات. يتطلب بناء وحدة معالجة مركزية كاملة من الدوائر المتكاملة SSI آلاف الرقائق الفردية، ولكنها لا تزال تستهلك مساحة وطاقة أقل بكثير من تصميمات الترانزستور المنفصلة السابقة. [45]
استخدم نظام IBM System/370 ، الذي جاء بعد System/360، دوائر متكاملة SSI بدلًا من وحدات الترانزستور المنفصلة من Solid Logic Technology . [46] [47] كما تحول PDP-8 /I وKI10 من DEC من الترانزستورات الفردية المستخدمة في PDP-8 وPDP-10 إلى دوائر متكاملة SSI، [48] وتم بناء خط PDP-11 الشهير للغاية في الأصل باستخدام دوائر متكاملة SSI، ولكن تم تنفيذه في النهاية باستخدام مكونات LSI بمجرد أن أصبحت عملية.
وحدات المعالجة المركزية للتكامل على نطاق واسع
نشر لي بويزيل مقالات مؤثرة، بما في ذلك "بيان" عام 1967، والذي وصف كيفية بناء ما يعادل حاسوبًا مركزيًا 32 بتًا من عدد صغير نسبيًا من دوائر التكامل واسعة النطاق (LSI). [49] [50] كانت الطريقة الوحيدة لبناء شرائح LSI، وهي شرائح تحتوي على مائة بوابة أو أكثر، هي بنائها باستخدام عملية تصنيع أشباه الموصلات المعدنية والأكسيدية (MOS) (إما منطق PMOS أو منطق NMOS أو منطق CMOS ). ومع ذلك، استمرت بعض الشركات في بناء معالجات من شرائح منطق ترانزستور-ترانزستور ثنائي القطب (TTL) لأن ترانزستورات الوصلة ثنائية القطب كانت أسرع من شرائح MOS حتى سبعينيات القرن العشرين (استمرت بعض الشركات مثل Datapoint في بناء معالجات من شرائح TTL حتى أوائل الثمانينيات). [50] في الستينيات، كانت دوائر MOS المتكاملة أبطأ وكانت تعتبر مفيدة في البداية فقط في التطبيقات التي تتطلب طاقة منخفضة. [51] [52] بعد تطوير تقنية MOS ذات البوابة السيليكونية بواسطة فيديريكو فاجين في شركة فيرتشايلد سيميكوندكتور في عام 1968، حلت دوائر MOS المتكاملة إلى حد كبير محل TTL ثنائية القطب باعتبارها تقنية الشريحة القياسية في أوائل السبعينيات. [53]
مع تقدم تكنولوجيا الإلكترونيات الدقيقة ، تم وضع عدد متزايد من الترانزستورات على الدوائر المتكاملة، مما أدى إلى تقليل عدد الدوائر المتكاملة الفردية اللازمة لوحدة المعالجة المركزية الكاملة. زادت الدوائر المتكاملة MSI وLSI عدد الترانزستورات إلى مئات، ثم الآلاف. بحلول عام 1968، تم تقليل عدد الدوائر المتكاملة المطلوبة لبناء وحدة معالجة مركزية كاملة إلى 24 دائرة متكاملة من ثمانية أنواع مختلفة، حيث تحتوي كل دائرة متكاملة على ما يقرب من 1000 MOSFET. [54] وعلى النقيض تمامًا من سابقاتها SSI وMSI، احتوى أول تنفيذ LSI لـ PDP-11 على وحدة معالجة مركزية مكونة من أربع دوائر متكاملة LSI فقط. [55]
المعالجات الدقيقة

منذ ظهور المعالجات الدقيقة لأول مرة، فقد تفوقت بشكل شبه كامل على جميع طرق تنفيذ وحدة المعالجة المركزية الأخرى. كان أول معالج دقيق متاح تجاريًا، والذي تم تصنيعه في عام 1971، هو Intel 4004 ، وكان أول معالج دقيق مستخدم على نطاق واسع، والذي تم تصنيعه في عام 1974، هو Intel 8080. أطلق مصنعو الحواسيب المركزية والحواسيب الصغيرة في ذلك الوقت برامج تطوير الدوائر المتكاملة الخاصة بهم لترقية بنيات حواسيبهم القديمة ، وأنتجوا في النهاية معالجات دقيقة متوافقة مع مجموعة التعليمات ومتوافقة مع الأجهزة والبرامج القديمة. جنبًا إلى جنب مع ظهور الكمبيوتر الشخصي في كل مكان ونجاحه في النهاية ، يتم الآن تطبيق مصطلح وحدة المعالجة المركزية حصريًا تقريبًا [a] على المعالجات الدقيقة. يمكن دمج العديد من وحدات المعالجة المركزية (المشار إليها بالنوى ) في شريحة معالجة واحدة. [56]
تم تنفيذ الأجيال السابقة من وحدات المعالجة المركزية كمكونات منفصلة والعديد من الدوائر المتكاملة الصغيرة (ICs) على لوحة دوائر واحدة أو أكثر. [57] من ناحية أخرى، تعد المعالجات الدقيقة وحدات معالجة مركزية تم تصنيعها على عدد صغير جدًا من الدوائر المتكاملة؛ عادةً واحدة فقط. [58] يعني الحجم الأصغر لوحدة المعالجة المركزية بشكل عام، نتيجة لتنفيذها على شريحة واحدة، وقت تبديل أسرع بسبب عوامل فيزيائية مثل انخفاض سعة الطفيلية للبوابة . [59] [60] وقد سمح هذا للمعالجات الدقيقة المتزامنة بالحصول على معدلات ساعة تتراوح من عشرات الميجا هرتز إلى عدة جيجا هرتز. بالإضافة إلى ذلك، أدت القدرة على بناء ترانزستورات صغيرة للغاية على دائرة متكاملة إلى زيادة تعقيد وعدد الترانزستورات في وحدة معالجة مركزية واحدة عدة مرات. يتم وصف هذا الاتجاه الملحوظ على نطاق واسع من خلال قانون مور ، والذي أثبت أنه متنبئ دقيق إلى حد ما لنمو تعقيد وحدة المعالجة المركزية (والدوائر المتكاملة الأخرى) حتى عام 2016. [61] [62]
في حين تغيرت تعقيدات وحجم وبناء وشكل وحدات المعالجة المركزية بشكل كبير منذ عام 1950، [63] فإن التصميم الأساسي والوظيفة لم يتغيرا كثيرًا على الإطلاق. يمكن وصف جميع وحدات المعالجة المركزية الشائعة اليوم بدقة شديدة بأنها آلات فون نيومان المخزنة. [64] [ب] نظرًا لأن قانون مور لم يعد ساريًا، فقد نشأت مخاوف بشأن حدود تقنية ترانزستور الدائرة المتكاملة. يتسبب التصغير الشديد للبوابات الإلكترونية في أن تصبح تأثيرات الظواهر مثل الهجرة الكهربائية والتسرب دون العتبة أكثر أهمية. [66] [67] هذه المخاوف الأحدث هي من بين العوامل العديدة التي تدفع الباحثين إلى التحقيق في طرق جديدة للحوسبة مثل الكمبيوتر الكمومي ، بالإضافة إلى توسيع استخدام التوازي والطرق الأخرى التي توسع فائدة نموذج فون نيومان الكلاسيكي.
عملية
العملية الأساسية لمعظم وحدات المعالجة المركزية، بغض النظر عن الشكل المادي الذي تتخذه، هي تنفيذ سلسلة من التعليمات المخزنة التي تسمى برنامجًا. يتم الاحتفاظ بالتعليمات التي سيتم تنفيذها في نوع ما من ذاكرة الكمبيوتر . تتبع جميع وحدات المعالجة المركزية تقريبًا خطوات الاسترجاع وفك التشفير والتنفيذ في عملها، والتي تُعرف مجتمعة بدورة التعليمات .
بعد تنفيذ التعليمات، تتكرر العملية بأكملها، حيث تقوم دورة التعليمات التالية عادةً بجلب التعليمات التالية في التسلسل بسبب القيمة المتزايدة في عداد البرنامج . إذا تم تنفيذ تعليمة قفزة، فسيتم تعديل عداد البرنامج ليحتوي على عنوان التعليمات التي تم القفز إليها ويستمر تنفيذ البرنامج بشكل طبيعي. في وحدات المعالجة المركزية الأكثر تعقيدًا، يمكن جلب تعليمات متعددة وفك تشفيرها وتنفيذها في وقت واحد. يصف هذا القسم ما يشار إليه عمومًا باسم " خط أنابيب RISC الكلاسيكي "، وهو شائع جدًا بين وحدات المعالجة المركزية البسيطة المستخدمة في العديد من الأجهزة الإلكترونية (غالبًا ما تسمى المتحكمات الدقيقة). إنه يتجاهل إلى حد كبير الدور المهم لذاكرة التخزين المؤقت لوحدة المعالجة المركزية، وبالتالي مرحلة الوصول لخط الأنابيب.
بعض التعليمات تتلاعب بعداد البرنامج بدلاً من إنتاج بيانات النتيجة بشكل مباشر؛ تسمى هذه التعليمات عمومًا "قفزات" وتسهل سلوك البرنامج مثل الحلقات وتنفيذ البرنامج الشرطي (من خلال استخدام قفزة شرطية) ووجود الوظائف . [ج] في بعض المعالجات، تغير بعض التعليمات الأخرى حالة البتات في سجل "الأعلام" . يمكن استخدام هذه العلامات للتأثير على كيفية تصرف البرنامج، لأنها غالبًا ما تشير إلى نتيجة عمليات مختلفة. على سبيل المثال، في مثل هذه المعالجات، تقوم تعليمات "المقارنة" بتقييم قيمتين وتعيين أو مسح البتات في سجل العلامات للإشارة إلى أيهما أكبر أو ما إذا كانت متساوية؛ يمكن بعد ذلك استخدام إحدى هذه العلامات بواسطة تعليمات قفزة لاحقة لتحديد تدفق البرنامج.
أحضر
تتضمن عملية الجلب استرجاع تعليمة (تمثلها أرقام أو تسلسل من الأرقام) من ذاكرة البرنامج. يتم تحديد موقع التعليمة (العنوان) في ذاكرة البرنامج بواسطة عداد البرنامج (PC؛ يسمى "مؤشر التعليمات" في معالجات Intel x86 الدقيقة )، والذي يخزن رقمًا يحدد عنوان التعليمة التالية التي سيتم جلبها. بعد جلب تعليمة، يتم زيادة مؤشر PC بطول التعليمة بحيث يحتوي على عنوان التعليمة التالية في التسلسل. [د] غالبًا ما يجب استرداد التعليمة التي سيتم جلبها من ذاكرة بطيئة نسبيًا، مما يتسبب في توقف وحدة المعالجة المركزية أثناء انتظار إرجاع التعليمة. تتم معالجة هذه المشكلة إلى حد كبير في المعالجات الحديثة من خلال ذاكرة التخزين المؤقت وهندسة خطوط الأنابيب (انظر أدناه).
فك الشفرة
تحدد التعليمات التي تستردها وحدة المعالجة المركزية من الذاكرة ما ستفعله وحدة المعالجة المركزية. في خطوة فك التشفير، التي يتم تنفيذها بواسطة دائرة فك التشفير الثنائية المعروفة باسم فك تشفير التعليمات ، يتم تحويل التعليمات إلى إشارات تتحكم في أجزاء أخرى من وحدة المعالجة المركزية.
يتم تحديد الطريقة التي يتم بها تفسير التعليمات من خلال بنية مجموعة التعليمات الخاصة بوحدة المعالجة المركزية (ISA). [e] غالبًا ما تشير مجموعة واحدة من البتات (أي "حقل") داخل التعليمات، تسمى التعليمات البرمجية، إلى العملية التي يجب إجراؤها، بينما توفر الحقول المتبقية عادةً معلومات تكميلية مطلوبة للعملية، مثل المتغيرات. يمكن تحديد هذه المتغيرات كقيمة ثابتة (تسمى قيمة فورية)، أو كموقع لقيمة قد تكون سجل معالج أو عنوان ذاكرة، كما هو محدد بواسطة بعض أوضاع العنونة .
في بعض تصميمات وحدة المعالجة المركزية، يتم تنفيذ فك تشفير التعليمات كدائرة فك تشفير ثنائية ثابتة وغير قابلة للتغيير. وفي تصميمات أخرى، يتم استخدام برنامج صغير لترجمة التعليمات إلى مجموعات من إشارات تكوين وحدة المعالجة المركزية التي يتم تطبيقها بشكل متسلسل على نبضات ساعة متعددة. في بعض الحالات، تكون الذاكرة التي تخزن البرنامج الصغير قابلة لإعادة الكتابة، مما يجعل من الممكن تغيير الطريقة التي تفك بها وحدة المعالجة المركزية التعليمات.
ينفذ
بعد خطوات الجلب وفك التشفير، يتم تنفيذ خطوة التنفيذ. اعتمادًا على بنية وحدة المعالجة المركزية، قد تتكون هذه الخطوة من إجراء واحد أو سلسلة من الإجراءات. أثناء كل إجراء، تعمل إشارات التحكم على تمكين أو تعطيل أجزاء مختلفة من وحدة المعالجة المركزية كهربائيًا حتى تتمكن من تنفيذ كل أو جزء من العملية المطلوبة. ثم يتم إكمال الإجراء، عادةً استجابة لنبضة ساعة. غالبًا ما تُكتب النتائج في سجل داخلي لوحدة المعالجة المركزية للوصول السريع من خلال التعليمات اللاحقة. في حالات أخرى، قد تُكتب النتائج في ذاكرة رئيسية أبطأ ولكنها أقل تكلفة وأعلى سعة .
على سبيل المثال، إذا كان من المقرر تنفيذ تعليمة تؤدي عملية جمع، يتم تنشيط السجلات التي تحتوي على متغيرات (أرقام يجب جمعها)، وكذلك أجزاء وحدة المنطق الحسابي (ALU) التي تؤدي عملية الجمع. عندما تحدث نبضة الساعة، تتدفق المتغيرات من سجلات المصدر إلى وحدة المنطق الحسابي، ويظهر المجموع في مخرجاتها. في نبضات الساعة اللاحقة، يتم تمكين (وتعطيل) مكونات أخرى لنقل المخرجات (مجموع العملية) إلى التخزين (على سبيل المثال، سجل أو ذاكرة). إذا كان المجموع الناتج كبيرًا جدًا (أي أنه أكبر من حجم كلمة مخرجات وحدة المنطق الحسابي)، فسيتم تعيين علم تجاوز فيض الحساب، مما يؤثر على العملية التالية.
الهيكل والتنفيذ

تحتوي دوائر وحدة المعالجة المركزية على مجموعة من العمليات الأساسية التي يمكنها القيام بها، تسمى مجموعة التعليمات . قد تتضمن مثل هذه العمليات، على سبيل المثال، إضافة أو طرح رقمين، أو مقارنة رقمين، أو الانتقال إلى جزء مختلف من البرنامج. يتم تمثيل كل تعليمة بمجموعة فريدة من البتات ، تُعرف باسم رمز التشغيل للغة الآلة . أثناء معالجة تعليمة ما، تقوم وحدة المعالجة المركزية بفك تشفير رمز التشغيل (عبر فك تشفير ثنائي ) إلى إشارات تحكم، والتي تنظم سلوك وحدة المعالجة المركزية. تتكون تعليمة لغة الآلة الكاملة من رمز تشغيل، وفي كثير من الحالات، بتات إضافية تحدد الوسائط للعملية (على سبيل المثال، الأرقام التي سيتم جمعها في حالة عملية الجمع). إذا صعدنا إلى مقياس التعقيد، فإن برنامج لغة الآلة هو مجموعة من تعليمات لغة الآلة التي تنفذها وحدة المعالجة المركزية.
يتم تنفيذ العملية الحسابية الفعلية لكل تعليمة بواسطة دائرة منطقية تركيبية داخل معالج وحدة المعالجة المركزية تُعرف باسم وحدة الحساب والمنطق أو ALU. بشكل عام، تنفذ وحدة المعالجة المركزية تعليمة ما عن طريق جلبها من الذاكرة، واستخدام وحدة الحساب والمنطق الخاصة بها لإجراء عملية، ثم تخزين النتيجة في الذاكرة. بالإضافة إلى التعليمات الخاصة بالعمليات الحسابية والمنطقية الصحيحة، توجد تعليمات أخرى مختلفة للآلة، مثل تلك الخاصة بتحميل البيانات من الذاكرة وتخزينها مرة أخرى، وعمليات التفرع، والعمليات الحسابية على الأعداد العشرية التي تقوم بها وحدة النقطة العائمة ( FPU) لوحدة المعالجة المركزية. [68]
وحدة التحكم
وحدة التحكم (CU) هي أحد مكونات وحدة المعالجة المركزية التي توجه تشغيل المعالج. وهي تخبر ذاكرة الكمبيوتر ووحدة الحساب والمنطق وأجهزة الإدخال والإخراج بكيفية الاستجابة للتعليمات التي تم إرسالها إلى المعالج.
إنها توجه تشغيل الوحدات الأخرى من خلال توفير إشارات التوقيت والتحكم. تتم إدارة معظم موارد الكمبيوتر بواسطة وحدة التحكم. إنها توجه تدفق البيانات بين وحدة المعالجة المركزية والأجهزة الأخرى. أدرج جون فون نيومان وحدة التحكم كجزء من بنية فون نيومان . في تصميمات الكمبيوتر الحديثة، تكون وحدة التحكم عادةً جزءًا داخليًا من وحدة المعالجة المركزية مع عدم تغيير دورها الإجمالي وعملياتها منذ تقديمها. [69]
وحدة المنطق الحسابي

وحدة الحساب والمنطق (ALU) هي دائرة رقمية داخل المعالج تقوم بعمليات حسابية صحيحة ومنطقية على شكل بتات . المدخلات إلى وحدة الحساب والمنطق هي كلمات البيانات التي سيتم تشغيلها (تسمى المتغيرات )، ومعلومات الحالة من العمليات السابقة، ورمز من وحدة التحكم يشير إلى العملية التي سيتم إجراؤها. اعتمادًا على التعليمات التي يتم تنفيذها، قد تأتي المتغيرات من سجلات وحدة المعالجة المركزية الداخلية أو الذاكرة الخارجية أو الثوابت التي تولدها وحدة الحساب والمنطق نفسها.
عندما تستقر جميع إشارات الإدخال وتنتشر عبر دوائر وحدة الحساب والمنطق، تظهر نتيجة العملية التي تم إجراؤها في مخرجات وحدة الحساب والمنطق. تتكون النتيجة من كلمة بيانات، والتي قد يتم تخزينها في سجل أو ذاكرة، ومعلومات الحالة التي يتم تخزينها عادةً في سجل داخلي خاص بوحدة المعالجة المركزية مخصص لهذا الغرض.
تحتوي وحدات المعالجة المركزية الحديثة عادةً على أكثر من وحدة حسابية منطقية واحدة لتحسين الأداء.
وحدة توليد العنوان
وحدة توليد العناوين (AGU)، والتي تسمى أحيانًا أيضًا وحدة حساب العناوين (ACU)، [70] هي وحدة تنفيذ داخل وحدة المعالجة المركزية تحسب العناوين التي تستخدمها وحدة المعالجة المركزية للوصول إلى الذاكرة الرئيسية . من خلال التعامل مع حسابات العناوين بواسطة دوائر منفصلة تعمل بالتوازي مع بقية وحدة المعالجة المركزية، يمكن تقليل عدد دورات وحدة المعالجة المركزية المطلوبة لتنفيذ تعليمات الآلة المختلفة ، مما يؤدي إلى تحسينات في الأداء.
أثناء إجراء عمليات مختلفة، تحتاج وحدات المعالجة المركزية إلى حساب عناوين الذاكرة المطلوبة لجلب البيانات من الذاكرة؛ على سبيل المثال، يجب حساب مواضع عناصر المصفوفة في الذاكرة قبل أن تتمكن وحدة المعالجة المركزية من جلب البيانات من مواقع الذاكرة الفعلية. تتضمن حسابات توليد العناوين هذه عمليات حسابية صحيحة مختلفة ، مثل الجمع والطرح وعمليات النمذجة أو تحولات البت . غالبًا ما يتضمن حساب عنوان الذاكرة أكثر من تعليمة آلة عامة الغرض، والتي لا يتم فك تشفيرها وتنفيذها بسرعة بالضرورة. من خلال دمج وحدة معالجة عامة في تصميم وحدة المعالجة المركزية، جنبًا إلى جنب مع تقديم تعليمات متخصصة تستخدم وحدة معالجة عامة، يمكن تفريغ حسابات توليد العناوين المختلفة من بقية وحدة المعالجة المركزية، وغالبًا ما يمكن تنفيذها بسرعة في دورة وحدة معالجة مركزية واحدة.
تعتمد قدرات وحدة المعالجة المركزية على وحدة معالجة مركزية معينة وبنيتها . وبالتالي، تنفذ بعض وحدات المعالجة المركزية المزيد من عمليات حساب العناوين وتعرضها، بينما تتضمن بعضها أيضًا تعليمات متخصصة أكثر تقدمًا يمكنها العمل على متغيرات متعددة في وقت واحد. تتضمن بعض بنيات وحدة المعالجة المركزية وحدات معالجة مركزية متعددة بحيث يمكن تنفيذ أكثر من عملية حساب عناوين في وقت واحد، مما يؤدي إلى تحسينات إضافية في الأداء بسبب الطبيعة الفائقة للتصميمات المتقدمة لوحدة المعالجة المركزية. على سبيل المثال، تدمج شركة Intel وحدات معالجة مركزية متعددة في بنياتها الدقيقة Sandy Bridge و Haswell ، مما يزيد من عرض النطاق الترددي لنظام ذاكرة وحدة المعالجة المركزية من خلال السماح بتنفيذ تعليمات متعددة للوصول إلى الذاكرة بالتوازي.
وحدة إدارة الذاكرة (MMU)
تحتوي العديد من المعالجات الدقيقة (في الهواتف الذكية وأجهزة الكمبيوتر المكتبية وأجهزة الكمبيوتر المحمولة وأجهزة الخادم) على وحدة إدارة ذاكرة، تترجم العناوين المنطقية إلى عناوين ذاكرة وصول عشوائي فعلية، مما يوفر حماية للذاكرة وقدرات الترحيل ، وهو أمر مفيد للذاكرة الافتراضية . عادةً لا تتضمن المعالجات الأكثر بساطة، وخاصةً المتحكمات الدقيقة ، وحدة إدارة ذاكرة.
مخبأ
ذاكرة التخزين المؤقت لوحدة المعالجة المركزية [71] هي ذاكرة تخزين مؤقت للأجهزة تستخدمها وحدة المعالجة المركزية (CPU) في الكمبيوتر لتقليل التكلفة المتوسطة (الوقت أو الطاقة) للوصول إلى البيانات من الذاكرة الرئيسية . ذاكرة التخزين المؤقت هي ذاكرة أصغر وأسرع، أقرب إلى نواة المعالج ، والتي تخزن نسخًا من البيانات من مواقع الذاكرة الرئيسية المستخدمة بشكل متكرر . تحتوي معظم وحدات المعالجة المركزية على ذاكرات تخزين مؤقتة مستقلة مختلفة، بما في ذلك ذاكرات التخزين المؤقت للتعليمات والبيانات ، حيث يتم تنظيم ذاكرة التخزين المؤقت للبيانات عادةً على شكل تسلسل هرمي من مستويات ذاكرة التخزين المؤقت (L1، L2، L3، L4، إلخ).
تحتوي جميع وحدات المعالجة المركزية الحديثة (السريعة) (باستثناءات متخصصة قليلة [f] ) على مستويات متعددة من ذاكرة التخزين المؤقت لوحدة المعالجة المركزية. كانت وحدات المعالجة المركزية الأولى التي استخدمت ذاكرة تخزين مؤقت تحتوي على مستوى واحد فقط من ذاكرة التخزين المؤقت؛ على عكس ذاكرات التخزين المؤقت من المستوى 1 اللاحقة، لم يتم تقسيمها إلى L1d (للبيانات) وL1i (للتعليمات). تحتوي جميع وحدات المعالجة المركزية الحالية التي تحتوي على ذاكرات تخزين مؤقت على ذاكرة تخزين مؤقت من المستوى 1 مقسمة. كما تحتوي على ذاكرات تخزين مؤقتة من المستوى 2، وبالنسبة للمعالجات الأكبر حجمًا، تحتوي على ذاكرات تخزين مؤقتة من المستوى 3 أيضًا. عادةً ما لا يتم تقسيم ذاكرة التخزين المؤقت من المستوى 2 وتعمل كمستودع مشترك لذاكرة التخزين المؤقت من المستوى 1 المقسمة بالفعل. تحتوي كل نواة من معالج متعدد النواة على ذاكرة تخزين مؤقت مخصصة من المستوى 2 وعادةً ما لا تتم مشاركتها بين النوى. تتم مشاركة ذاكرة التخزين المؤقت من المستوى 3 وذاكرات التخزين المؤقت من المستوى الأعلى بين النوى ولا يتم تقسيمها. ذاكرة التخزين المؤقت من المستوى 4 غير شائعة حاليًا، وهي عمومًا على ذاكرة الوصول العشوائي الديناميكية (DRAM)، بدلاً من ذاكرة الوصول العشوائي الثابتة (SRAM)، على شريحة أو شريحة منفصلة. كانت هذه هي الحال أيضًا تاريخيًا مع L1، في حين سمحت الرقائق الأكبر بدمجها وجميع مستويات ذاكرة التخزين المؤقت بشكل عام، باستثناء المستوى الأخير. يميل كل مستوى إضافي من ذاكرة التخزين المؤقت إلى أن يكون أكبر ويتم تحسينه بشكل مختلف.
هناك أنواع أخرى من ذاكرات التخزين المؤقت (التي لا يتم احتسابها ضمن "حجم ذاكرة التخزين المؤقت" لأهم ذاكرات التخزين المؤقت المذكورة أعلاه)، مثل مخزن الترجمة الجانبي (TLB) الذي يعد جزءًا من وحدة إدارة الذاكرة (MMU) الموجودة في معظم وحدات المعالجة المركزية.
يتم تحديد أحجام ذاكرات التخزين المؤقت بشكل عام بقوى من اثنين: 2، 8، 16 وما إلى ذلك. أحجام KiB أو MiB (للأحجام الأكبر غير L1)، على الرغم من أن IBM z13 يحتوي على ذاكرة تخزين مؤقتة لتعليمات L1 بحجم 96 KiB. [72]
معدل الساعة
معظم وحدات المعالجة المركزية عبارة عن دوائر متزامنة ، مما يعني أنها تستخدم إشارة ساعة لتحديد وتيرة عملياتها المتسلسلة. يتم إنتاج إشارة الساعة بواسطة دائرة مذبذب خارجية تولد عددًا ثابتًا من النبضات كل ثانية في شكل موجة مربعة دورية . يحدد تردد نبضات الساعة المعدل الذي تنفذ به وحدة المعالجة المركزية التعليمات، وبالتالي، كلما كانت الساعة أسرع، زاد عدد التعليمات التي ستنفذها وحدة المعالجة المركزية في كل ثانية.
لضمان التشغيل السليم لوحدة المعالجة المركزية، تكون فترة الساعة أطول من الحد الأقصى للوقت اللازم لانتشار جميع الإشارات (تحركها) عبر وحدة المعالجة المركزية. من خلال ضبط فترة الساعة على قيمة أعلى بكثير من أسوأ تأخير انتشار ، من الممكن تصميم وحدة المعالجة المركزية بالكامل والطريقة التي تنقل بها البيانات حول "حواف" إشارة الساعة الصاعدة والهابطة. هذا له ميزة تبسيط وحدة المعالجة المركزية بشكل كبير، سواء من منظور التصميم أو منظور عدد المكونات. ومع ذلك، فإنه يحمل أيضًا عيبًا يتمثل في أن وحدة المعالجة المركزية بالكامل يجب أن تنتظر أبطأ عناصرها، على الرغم من أن بعض أجزائها أسرع بكثير. تم تعويض هذا القيد إلى حد كبير من خلال طرق مختلفة لزيادة موازاة وحدة المعالجة المركزية (انظر أدناه).
ومع ذلك، فإن التحسينات المعمارية وحدها لا تحل جميع عيوب وحدات المعالجة المركزية المتزامنة عالميًا. على سبيل المثال، تخضع إشارة الساعة لتأخيرات أي إشارة كهربائية أخرى. تجعل معدلات الساعة الأعلى في وحدات المعالجة المركزية المعقدة بشكل متزايد من الصعب الحفاظ على إشارة الساعة في الطور (متزامنة) في جميع أنحاء الوحدة بأكملها. وقد أدى هذا إلى مطالبة العديد من وحدات المعالجة المركزية الحديثة بتوفير إشارات ساعة متطابقة متعددة لتجنب تأخير إشارة واحدة بشكل كبير بما يكفي للتسبب في عطل وحدة المعالجة المركزية. هناك مشكلة رئيسية أخرى، مع زيادة معدلات الساعة بشكل كبير، وهي كمية الحرارة التي تبددها وحدة المعالجة المركزية . تتسبب الساعة المتغيرة باستمرار في تبديل العديد من المكونات بغض النظر عما إذا كانت قيد الاستخدام في ذلك الوقت أم لا. بشكل عام، يستخدم المكون الذي يتم تبديله طاقة أكثر من عنصر في حالة ثابتة. لذلك، مع زيادة معدل الساعة، يزداد استهلاك الطاقة أيضًا، مما يتسبب في احتياج وحدة المعالجة المركزية إلى المزيد من تبديد الحرارة في شكل حلول تبريد وحدة المعالجة المركزية .
هناك طريقة واحدة للتعامل مع تبديل المكونات غير الضرورية تسمى بوابة الساعة ، والتي تتضمن إيقاف تشغيل إشارة الساعة للمكونات غير الضرورية (تعطيلها فعليًا). ومع ذلك، غالبًا ما يُنظر إلى هذا على أنه صعب التنفيذ وبالتالي لا يتم استخدامه بشكل شائع خارج التصميمات منخفضة الطاقة للغاية. أحد تصميمات وحدة المعالجة المركزية الحديثة البارزة التي تستخدم بوابة الساعة المكثفة هو Xenon المستند إلى IBM PowerPC المستخدم في Xbox 360 ؛ هذا يقلل من متطلبات الطاقة لـ Xbox 360. [73]
وحدات المعالجة المركزية بدون ساعة
هناك طريقة أخرى لمعالجة بعض المشاكل المتعلقة بإشارة الساعة العالمية وهي إزالة إشارة الساعة تمامًا. وفي حين أن إزالة إشارة الساعة العالمية تجعل عملية التصميم أكثر تعقيدًا بشكل كبير في كثير من النواحي، فإن التصميمات غير المتزامنة (أو الخالية من الساعة) تحمل مزايا ملحوظة في استهلاك الطاقة وتبديد الحرارة مقارنة بالتصميمات المتزامنة المماثلة. وعلى الرغم من ندرة ذلك إلى حد ما، فقد تم بناء وحدات معالجة مركزية غير متزامنة بالكامل دون استخدام إشارة ساعة عالمية. ومن الأمثلة البارزة على ذلك AMULET المتوافقة مع ARM و MiniMIPS المتوافقة مع MIPS R3000. [74]
بدلاً من إزالة إشارة الساعة تمامًا، تسمح بعض تصميمات وحدة المعالجة المركزية بأجزاء معينة من الجهاز بأن تكون غير متزامنة، مثل استخدام وحدات حسابية منطقية غير متزامنة جنبًا إلى جنب مع خطوط الأنابيب الفائقة لتحقيق بعض مكاسب الأداء الحسابي. في حين أنه ليس من الواضح تمامًا ما إذا كانت التصميمات غير المتزامنة تمامًا يمكن أن تعمل بمستوى مماثل أو أفضل من نظيراتها المتزامنة، فمن الواضح أنها تتفوق على الأقل في العمليات الحسابية البسيطة. هذا، جنبًا إلى جنب مع استهلاكها الممتاز للطاقة وخصائص تبديد الحرارة، يجعلها مناسبة جدًا لأجهزة الكمبيوتر المضمنة . [75]
وحدة تنظيم الجهد
تحتوي العديد من وحدات المعالجة المركزية الحديثة على وحدة إدارة طاقة مدمجة تعمل على تنظيم إمداد الجهد عند الطلب لدوائر وحدة المعالجة المركزية مما يسمح لها بالحفاظ على التوازن بين الأداء واستهلاك الطاقة.
نطاق صحيح
تمثل كل وحدة معالجة مركزية القيم العددية بطريقة محددة. على سبيل المثال، مثلت بعض أجهزة الكمبيوتر الرقمية المبكرة الأرقام كقيم نظام عددي عشري مألوف (الأساس 10) ، واستخدمت أجهزة أخرى تمثيلات غير عادية مثل النظام الثلاثي (الأساس 3). تمثل جميع وحدات المعالجة المركزية الحديثة تقريبًا الأرقام في شكل ثنائي ، حيث يتم تمثيل كل رقم بكمية فيزيائية ذات قيمتين مثل الجهد "العالي" أو "المنخفض" . [g]
يرتبط حجم ودقة الأعداد الصحيحة التي يمكن لوحدة المعالجة المركزية تمثيلها بالتمثيل الرقمي. في حالة وحدة المعالجة المركزية الثنائية، يتم قياس ذلك من خلال عدد البتات (الأرقام المهمة لعدد صحيح مشفر ثنائيًا) التي يمكن لوحدة المعالجة المركزية معالجتها في عملية واحدة، والتي تسمى عادةً حجم الكلمة أو عرض البت أو عرض مسار البيانات أو دقة العدد الصحيح أو حجم العدد الصحيح . يحدد حجم العدد الصحيح لوحدة المعالجة المركزية نطاق القيم الصحيحة التي يمكنها العمل عليها مباشرة. [ح] على سبيل المثال، يمكن لوحدة المعالجة المركزية ذات 8 بتات معالجة الأعداد الصحيحة التي يمثلها ثمانية بتات بشكل مباشر، والتي يبلغ نطاقها 256 (2 8 ) قيمة عددية صحيحة منفصلة.
يمكن أن يؤثر النطاق الصحيح أيضًا على عدد مواقع الذاكرة التي يمكن لوحدة المعالجة المركزية معالجتها مباشرة (العنوان هو قيمة عددية تمثل موقع ذاكرة معينًا). على سبيل المثال، إذا استخدمت وحدة المعالجة المركزية الثنائية 32 بتًا لتمثيل عنوان ذاكرة، فيمكنها معالجة موقعي ذاكرة بشكل مباشر . للالتفاف على هذا القيد ولأسباب أخرى مختلفة، تستخدم بعض وحدات المعالجة المركزية آليات (مثل التبديل البنكي ) تسمح بمعالجة ذاكرة إضافية.
تتطلب وحدات المعالجة المركزية ذات أحجام الكلمات الأكبر عددًا أكبر من الدوائر الإلكترونية، وبالتالي تكون أكبر حجمًا من الناحية المادية، وتكلف أكثر وتستهلك قدرًا أكبر من الطاقة (وبالتالي تولد قدرًا أكبر من الحرارة). ونتيجة لذلك، تُستخدم عادةً وحدات تحكم دقيقة أصغر حجمًا ذات 4 أو 8 بتات في التطبيقات الحديثة، على الرغم من توفر وحدات معالجة مركزية ذات أحجام كلمات أكبر كثيرًا (مثل 16 و32 و64 وحتى 128 بت). ومع ذلك، عندما تكون هناك حاجة إلى أداء أعلى، فقد تفوق فوائد حجم الكلمات الأكبر (نطاقات بيانات ومساحات عناوين أكبر) العيوب. يمكن أن تحتوي وحدة المعالجة المركزية على مسارات بيانات داخلية أقصر من حجم الكلمات لتقليل الحجم والتكلفة. على سبيل المثال، على الرغم من أن بنية مجموعة تعليمات IBM System/360 كانت عبارة عن مجموعة تعليمات 32 بت، فإن طرازي System/360 30 و 40 كانا يحتويان على مسارات بيانات 8 بت في الوحدة المنطقية الحسابية، بحيث تتطلب عملية الإضافة 32 بت أربع دورات، واحدة لكل 8 بتات من المتغيرات، وعلى الرغم من أن مجموعة تعليمات سلسلة Motorola 68000 كانت عبارة عن مجموعة تعليمات 32 بت، فإن طرازي Motorola 68000 و Motorola 68010 كانا يحتويان على مسارات بيانات 16 بت في الوحدة المنطقية الحسابية، بحيث تتطلب عملية الإضافة 32 بت دورتين.
للحصول على بعض المزايا التي توفرها أطوال البت المنخفضة والأعلى، تحتوي العديد من مجموعات التعليمات على عرض بت مختلف للبيانات الصحيحة والفاصلة العائمة، مما يسمح لوحدات المعالجة المركزية التي تنفذ مجموعة التعليمات هذه بالحصول على عرض بت مختلف لأجزاء مختلفة من الجهاز. على سبيل المثال، كانت مجموعة تعليمات IBM System/360 تتكون في الأساس من 32 بت، لكنها تدعم قيم الفاصلة العائمة 64 بت لتسهيل الدقة والنطاق الأكبر في الأرقام العشرية. [37] كان لدى طراز System/360 65 جامع 8 بت للحسابات العشرية والثنائية ذات النقطة الثابتة وجامع 60 بت للحسابات العشرية. [76] تستخدم العديد من تصميمات وحدة المعالجة المركزية اللاحقة عرض بت مختلط مماثل، خاصةً عندما يكون المعالج مخصصًا للاستخدام العام حيث يلزم توازن معقول بين القدرة على الأعداد الصحيحة والفاصلة العائمة.
التوازي

يصف وصف التشغيل الأساسي لوحدة المعالجة المركزية الموضح في القسم السابق أبسط شكل يمكن أن تتخذه وحدة المعالجة المركزية. يعمل هذا النوع من وحدات المعالجة المركزية، والذي يشار إليه عادةً باسم subscalar ، على تنفيذ تعليمة واحدة على قطعة أو قطعتين من البيانات في المرة الواحدة، أي أقل من تعليمة واحدة لكل دورة ساعة ( IPC < 1 ).
تؤدي هذه العملية إلى عدم كفاءة متأصلة في وحدات المعالجة المركزية دون المستوى. نظرًا لأنه يتم تنفيذ تعليمة واحدة فقط في كل مرة، فيجب على وحدة المعالجة المركزية بأكملها انتظار اكتمال هذه التعليمة قبل الانتقال إلى التعليمة التالية. ونتيجة لذلك، "تتعطل" وحدة المعالجة المركزية دون المستوى عند تنفيذ التعليمات التي تستغرق أكثر من دورة ساعة لإكمال التنفيذ. حتى إضافة وحدة تنفيذ ثانية (انظر أدناه) لا يحسن الأداء كثيرًا؛ فبدلاً من تعليق مسار واحد، يتم الآن تعليق مسارين وزيادة عدد الترانزستورات غير المستخدمة. لا يمكن لهذا التصميم، حيث يمكن لموارد تنفيذ وحدة المعالجة المركزية العمل على تعليمة واحدة فقط في كل مرة، أن يصل إلا إلى أداء قياسي (تعليمة واحدة لكل دورة ساعة، IPC = 1 ). ومع ذلك، يكون الأداء دائمًا تقريبًا دون المستوى (أقل من تعليمة واحدة لكل دورة ساعة، IPC < 1 ).
أدت المحاولات الرامية إلى تحقيق أداء قياسي وأفضل إلى ظهور مجموعة متنوعة من مناهج التصميم التي تجعل وحدة المعالجة المركزية تتصرف بشكل أقل خطية وأكثر بالتوازي. وعند الإشارة إلى التوازي في وحدات المعالجة المركزية، يتم استخدام مصطلحين بشكل عام لتصنيف تقنيات التصميم هذه:
- التوازي على مستوى التعليمات (ILP)، والذي يسعى إلى زيادة المعدل الذي يتم به تنفيذ التعليمات داخل وحدة المعالجة المركزية (أي زيادة استخدام موارد التنفيذ على الشريحة)؛
- التوازي على مستوى المهمة (TLP)، والذي يهدف إلى زيادة عدد الخيوط أو العمليات التي يمكن لوحدة المعالجة المركزية تنفيذها في وقت واحد.
تختلف كل منهجية في الطرق التي يتم تنفيذها بها، وكذلك في الفعالية النسبية التي توفرها في زيادة أداء وحدة المعالجة المركزية لتطبيق ما. [i]
التوازي على مستوى التعليم

أحد أبسط الطرق لزيادة التوازي هو البدء في الخطوات الأولى لجلب التعليمات وفك تشفيرها قبل انتهاء تنفيذ التعليمات السابقة. هذه التقنية تُعرف باسم خط أنابيب التعليمات ، وتُستخدم في جميع وحدات المعالجة المركزية الحديثة للأغراض العامة تقريبًا. يسمح خط الأنابيب بتنفيذ تعليمات متعددة في وقت واحد من خلال تقسيم مسار التنفيذ إلى مراحل منفصلة. يمكن مقارنة هذا الفصل بخط التجميع، حيث يتم جعل التعليمات أكثر اكتمالاً في كل مرحلة حتى تخرج من خط أنابيب التنفيذ ويتم إيقافها.
ومع ذلك، فإن عملية توصيل البيانات عبر خطوط الأنابيب تقدم إمكانية حدوث موقف حيث تكون نتيجة العملية السابقة مطلوبة لإكمال العملية التالية؛ وهي الحالة التي يطلق عليها غالبًا تعارض اعتماد البيانات. لذلك، يجب على المعالجات التي تعمل عبر خطوط الأنابيب التحقق من هذه الأنواع من الظروف وتأخير جزء من خط الأنابيب إذا لزم الأمر. يمكن أن يصبح المعالج الذي يعمل عبر خطوط الأنابيب قياسيًا تقريبًا، ولا يتم منعه إلا من خلال توقف خط الأنابيب (تعليمات تنفق أكثر من دورة ساعة واحدة في مرحلة).

أدت التحسينات في خطوط أنابيب التعليمات إلى مزيد من الانخفاضات في وقت الخمول لمكونات وحدة المعالجة المركزية. تتضمن التصميمات التي يُقال إنها فائقة التفاوت خط أنابيب تعليمات طويل ووحدات تنفيذ متطابقة متعددة ، مثل وحدات التحميل والتخزين ووحدات الحساب والمنطق ووحدات الفاصلة العائمة ووحدات توليد العناوين . [77] في خط الأنابيب الفائق التفاوت، تتم قراءة التعليمات وتمريرها إلى المرسل، الذي يقرر ما إذا كان يمكن تنفيذ التعليمات بالتوازي أم لا (في وقت واحد). إذا كان الأمر كذلك، يتم إرسالها إلى وحدات التنفيذ، مما يؤدي إلى تنفيذها في وقت واحد. بشكل عام، يعتمد عدد التعليمات التي ستكملها وحدة المعالجة المركزية الفائقة التفاوت في دورة على عدد التعليمات التي يمكنها إرسالها في وقت واحد إلى وحدات التنفيذ.
تكمن معظم الصعوبة في تصميم بنية وحدة المعالجة المركزية الفائقة في إنشاء موزع فعال. يجب أن يكون الموزع قادرًا على تحديد ما إذا كان يمكن تنفيذ التعليمات بالتوازي بسرعة، بالإضافة إلى توزيعها بطريقة تجعل أكبر عدد ممكن من وحدات التنفيذ مشغولة. يتطلب هذا ملء خط أنابيب التعليمات قدر الإمكان ويتطلب كميات كبيرة من ذاكرة التخزين المؤقت لوحدة المعالجة المركزية . كما يجعل تقنيات تجنب المخاطر مثل التنبؤ بالفرع والتنفيذ التخميني وإعادة تسمية السجل والتنفيذ خارج الترتيب والذاكرة المعاملاتية ضرورية للحفاظ على مستويات عالية من الأداء. من خلال محاولة التنبؤ بالفرع (أو المسار) الذي ستتخذه التعليمات الشرطية، يمكن لوحدة المعالجة المركزية تقليل عدد المرات التي يجب أن ينتظر فيها خط الأنابيب بالكامل حتى اكتمال التعليمات الشرطية. غالبًا ما يوفر التنفيذ التخميني زيادات متواضعة في الأداء من خلال تنفيذ أجزاء من التعليمات البرمجية التي قد لا تكون هناك حاجة إليها بعد اكتمال عملية شرطية. يعيد التنفيذ خارج الترتيب ترتيب التعليمات إلى حد ما لتقليل التأخيرات بسبب اعتماد البيانات. أيضًا في حالة تدفق التعليمات الفردية، وتدفقات البيانات المتعددة ، وهي الحالة التي يتعين فيها معالجة الكثير من البيانات من نفس النوع، يمكن للمعالجات الحديثة تعطيل أجزاء من خط الأنابيب بحيث عندما يتم تنفيذ تعليمة واحدة عدة مرات، تتخطى وحدة المعالجة المركزية مراحل الاسترجاع وفك التشفير وبالتالي تزيد الأداء بشكل كبير في مناسبات معينة، وخاصة في محركات البرامج الرتيبة للغاية مثل برامج إنشاء الفيديو ومعالجة الصور.
عندما يكون جزء من وحدة المعالجة المركزية فائق الانحدار، فإن الجزء الذي ليس كذلك يعاني من عقوبة أداء بسبب توقف الجدولة. كان لدى Intel P5 Pentium وحدتي حساب منطقي فائقتي الانحدار يمكنهما قبول تعليمة واحدة لكل دورة ساعة لكل منهما، لكن وحدة المعالجة العائمة الخاصة به لم تكن قادرة على ذلك. وبالتالي كان P5 فائق الانحدار صحيحًا ولكنه ليس فائق الانحدار للفاصلة العائمة. أضاف خليفة Intel لهندسة P5، P6 ، قدرات فائقة الانحدار إلى ميزات الفاصلة العائمة الخاصة به.
إن التصميم البسيط لخطوط الأنابيب والتصميم الفائق الانحدار يزيدان من معدل ILP لوحدة المعالجة المركزية من خلال السماح لها بتنفيذ التعليمات بمعدلات تتجاوز تعليمة واحدة لكل دورة ساعة. إن أغلب تصميمات وحدة المعالجة المركزية الحديثة هي على الأقل فائقة الانحدار إلى حد ما، وجميع وحدات المعالجة المركزية للأغراض العامة المصممة في العقد الماضي هي فائقة الانحدار. وفي السنوات اللاحقة، تم نقل بعض التركيز في تصميم أجهزة الكمبيوتر ذات معدل ILP المرتفع من أجهزة وحدة المعالجة المركزية إلى واجهة البرنامج الخاصة بها، أو بنية مجموعة التعليمات (ISA). تتسبب استراتيجية كلمة التعليمات الطويلة جدًا (VLIW) في أن يصبح بعض معدل ILP ضمنيًا بشكل مباشر بواسطة البرنامج، مما يقلل من عمل وحدة المعالجة المركزية في تعزيز معدل ILP وبالتالي تقليل تعقيد التصميم.
التوازي على مستوى المهمة
استراتيجية أخرى لتحقيق الأداء هي تنفيذ خيوط أو عمليات متعددة بالتوازي. يُعرف هذا المجال من البحث باسم الحوسبة المتوازية . [78] في تصنيف فلين ، تُعرف هذه الاستراتيجية باسم تدفق التعليمات المتعددة، تدفق البيانات المتعددة (MIMD). [79]
أحد التقنيات المستخدمة لهذا الغرض هو تعدد المعالجات (MP). [80] يُعرف النوع الأولي من هذه التقنية باسم تعدد المعالجات المتماثلة (SMP)، حيث يتشارك عدد صغير من وحدات المعالجة المركزية في رؤية متماسكة لنظام الذاكرة الخاص بها. في هذا المخطط، تحتوي كل وحدة معالجة مركزية على أجهزة إضافية للحفاظ على رؤية محدثة باستمرار للذاكرة. من خلال تجنب وجهات النظر القديمة للذاكرة، يمكن لوحدات المعالجة المركزية التعاون في نفس البرنامج ويمكن للبرامج الانتقال من وحدة معالجة مركزية إلى أخرى. لزيادة عدد وحدات المعالجة المركزية المتعاونة إلى ما هو أبعد من حفنة، تم تقديم مخططات مثل الوصول غير المنتظم للذاكرة (NUMA) وبروتوكولات التماسك القائمة على الدليل في التسعينيات. تقتصر أنظمة تعدد المعالجات المتماثلة على عدد صغير من وحدات المعالجة المركزية بينما تم بناء أنظمة NUMA بآلاف المعالجات. في البداية، تم بناء تعدد المعالجات باستخدام وحدات معالجة مركزية ولوحات منفصلة متعددة لتنفيذ الترابط بين المعالجات. عندما يتم تنفيذ المعالجات وربطها ببعضها على شريحة واحدة، تُعرف هذه التقنية باسم المعالجة المتعددة على مستوى الشريحة (CMP) والشريحة الواحدة كمعالج متعدد النواة .
تم الاعتراف لاحقًا بوجود التوازي الدقيق مع برنامج واحد. قد يحتوي البرنامج الواحد على عدة خيوط (أو وظائف) يمكن تنفيذها بشكل منفصل أو بالتوازي. نفذت بعض أقدم الأمثلة على هذه التقنية معالجة الإدخال / الإخراج مثل الوصول المباشر إلى الذاكرة كخيط منفصل عن خيط الحساب. تم تقديم نهج أكثر عمومية لهذه التقنية في السبعينيات عندما تم تصميم الأنظمة لتشغيل خيوط حسابية متعددة بالتوازي. تُعرف هذه التقنية باسم تعدد الخيوط (MT). يُعتبر النهج أكثر فعالية من حيث التكلفة من تعدد المعالجة، حيث يتم تكرار عدد صغير فقط من المكونات داخل وحدة المعالجة المركزية لدعم تعدد الخيوط بدلاً من وحدة المعالجة المركزية بالكامل في حالة تعدد الخيوط. في تعدد الخيوط، تتم مشاركة وحدات التنفيذ ونظام الذاكرة بما في ذلك ذاكرات التخزين المؤقت بين خيوط متعددة. الجانب السلبي لتعدد الخيوط هو أن دعم الأجهزة لتعدد الخيوط يكون أكثر وضوحًا للبرمجيات من دعم تعدد الخيوط وبالتالي يجب أن تخضع برامج الإشراف مثل أنظمة التشغيل لتغييرات أكبر لدعم تعدد الخيوط. أحد أنواع الترجمة الآلية التي تم تنفيذها يُعرف باسم تعدد العمليات الزمنية ، حيث يتم تنفيذ خيط واحد حتى يتوقف في انتظار عودة البيانات من الذاكرة الخارجية. في هذا المخطط، تقوم وحدة المعالجة المركزية بعد ذلك بالتبديل السريع للسياق إلى خيط آخر جاهز للتشغيل، وغالبًا ما يتم التبديل في دورة ساعة وحدة المعالجة المركزية واحدة، مثل UltraSPARC T1 . نوع آخر من الترجمة الآلية هو تعدد العمليات المتزامن ، حيث يتم تنفيذ التعليمات من خيوط متعددة بالتوازي ضمن دورة ساعة وحدة المعالجة المركزية واحدة.
لمدة عدة عقود من سبعينيات القرن العشرين إلى أوائل العقد الأول من القرن الحادي والعشرين، كان التركيز في تصميم وحدات المعالجة المركزية عالية الأداء للأغراض العامة على تحقيق ILP عالية من خلال تقنيات مثل خطوط الأنابيب، والذاكرة المؤقتة، والتنفيذ الفائق، والتنفيذ خارج الترتيب، وما إلى ذلك. بلغ هذا الاتجاه ذروته في وحدات المعالجة المركزية الكبيرة المتعطشة للطاقة مثل Intel Pentium 4. بحلول أوائل العقد الأول من القرن الحادي والعشرين، تم إحباط مصممي وحدات المعالجة المركزية من تحقيق أداء أعلى من تقنيات ILP بسبب التفاوت المتزايد بين ترددات تشغيل وحدة المعالجة المركزية وترددات تشغيل الذاكرة الرئيسية بالإضافة إلى تصاعد تبديد طاقة وحدة المعالجة المركزية بسبب تقنيات ILP الأكثر غموضًا.
ثم استعار مصممو وحدات المعالجة المركزية أفكارًا من أسواق الحوسبة التجارية مثل معالجة المعاملات ، حيث كان الأداء الإجمالي لبرامج متعددة، والمعروف أيضًا باسم الحوسبة الإنتاجية ، أكثر أهمية من أداء خيط أو عملية واحدة.
يتضح هذا الانعكاس في التركيز من خلال انتشار تصميمات المعالجات ثنائية النواة وأكثرها أهمية، وخاصة التصميمات الأحدث لشركة Intel والتي تشبه بنية P6 الأقل تفوقًا. تُظهر التصميمات المتأخرة في العديد من عائلات المعالجات CMP، بما في ذلك Opteron x86-64 و Athlon 64 X2 ، و SPARC UltraSPARC T1 ، وIBM POWER4 و POWER5 ، بالإضافة إلى العديد من وحدات المعالجة المركزية لألعاب الفيديو مثل تصميم PowerPC ثلاثي النواة لجهاز Xbox 360 ، ومعالج Cell ذي السبعة أنوية لجهاز PlayStation 3 .
التوازي في البيانات
هناك نموذج أقل شيوعًا ولكنه متزايد الأهمية للمعالجات (والحوسبة بشكل عام) يتعامل مع التوازي في البيانات. يشار إلى جميع المعالجات التي تمت مناقشتها سابقًا على أنها نوع من الأجهزة القياسية. [j] وكما يوحي الاسم، تتعامل معالجات المتجهات مع قطع متعددة من البيانات في سياق تعليمة واحدة. وهذا يتناقض مع المعالجات القياسية، التي تتعامل مع قطعة واحدة من البيانات لكل تعليمة. باستخدام تصنيف فلين ، يشار إلى هذين المخططين للتعامل مع البيانات عمومًا باسم دفق التعليمات الفردية ، دفق البيانات المتعددة ( SIMD ) ودفق التعليمات الفردية ، دفق البيانات الفردية ( SISD )، على التوالي. تكمن الفائدة الكبيرة في إنشاء معالجات تتعامل مع متجهات البيانات في تحسين المهام التي تميل إلى طلب نفس العملية (على سبيل المثال، مجموع أو حاصل ضرب نقطي ) ليتم إجراؤها على مجموعة كبيرة من البيانات. تتضمن بعض الأمثلة الكلاسيكية لهذه الأنواع من المهام تطبيقات الوسائط المتعددة (الصور والفيديو والصوت)، بالإضافة إلى العديد من أنواع المهام العلمية والهندسية. في حين يتعين على المعالج القياسي إكمال العملية الكاملة لجلب وفك تشفير وتنفيذ كل تعليمة وقيمة في مجموعة من البيانات، يمكن لمعالج المتجهات إجراء عملية واحدة على مجموعة كبيرة نسبيًا من البيانات باستخدام تعليمة واحدة. وهذا ممكن فقط عندما يميل التطبيق إلى طلب العديد من الخطوات التي تطبق عملية واحدة على مجموعة كبيرة من البيانات.
كانت معظم معالجات المتجهات المبكرة، مثل Cray-1 ، مرتبطة بشكل حصري تقريبًا بالبحث العلمي وتطبيقات التشفير . ومع ذلك، مع تحول الوسائط المتعددة إلى حد كبير إلى الوسائط الرقمية، أصبحت الحاجة إلى شكل ما من أشكال SIMD في المعالجات للأغراض العامة كبيرة. بعد فترة وجيزة من بدء إدراج وحدات الفاصلة العائمة في أن يصبح أمرًا شائعًا في المعالجات للأغراض العامة، بدأت أيضًا مواصفات وتنفيذات وحدات تنفيذ SIMD في الظهور للمعالجات للأغراض العامة. [ متى؟ ] كانت بعض مواصفات SIMD المبكرة هذه - مثل ملحقات تسريع الوسائط المتعددة (MAX) من HP و MMX من Intel - أعدادًا صحيحة فقط. ثبت أن هذا يشكل عائقًا كبيرًا لبعض مطوري البرامج، حيث تتعامل العديد من التطبيقات التي تستفيد من SIMD في المقام الأول مع أرقام الفاصلة العائمة . تدريجيًا، صقل المطورون هذه التصميمات المبكرة وأعادوا صياغتها في بعض مواصفات SIMD الحديثة الشائعة، والتي ترتبط عادةً بهندسة مجموعة تعليمات واحدة (ISA). تتضمن بعض الأمثلة الحديثة البارزة ملحقات Streaming SIMD (SSE) من Intel و AltiVec المرتبط بـ PowerPC (المعروف أيضًا باسم VMX). [k]
عداد أداء الأجهزة
غالبًا ما تتضمن العديد من البنى الحديثة (بما في ذلك المضمنة) عدادات أداء الأجهزة (HPC)، والتي تمكن من جمع البيانات على مستوى منخفض (على مستوى التعليمات)، واختبارها ، وتصحيح أخطائها، أو تحليل مقاييس البرامج قيد التشغيل. [81] [82] يمكن أيضًا استخدام HPC لاكتشاف وتحليل الأنشطة غير العادية أو المشبوهة للبرنامج، مثل استغلال البرمجة الموجهة للعودة (ROP) أو البرمجة الموجهة نحو العودة (SROP) وما إلى ذلك. [83] وعادةً ما يتم ذلك بواسطة فرق أمان البرامج لتقييم البرامج الثنائية الضارة والعثور عليها. [84]
يوفر العديد من البائعين الرئيسيين (مثل IBM و Intel و AMD و Arm ) واجهات برمجية (مكتوبة عادةً بلغة C/C++) يمكن استخدامها لجمع البيانات من سجلات وحدة المعالجة المركزية من أجل الحصول على مقاييس. [85] يوفر بائعو أنظمة التشغيل أيضًا برامج مثل perf(Linux) لتسجيل أو معايرة أو تتبع أحداث وحدة المعالجة المركزية التي تشغل النوى والتطبيقات.
توفر عدادات الأجهزة طريقة منخفضة التكلفة لجمع مقاييس الأداء الشاملة المتعلقة بالعناصر الأساسية لوحدة المعالجة المركزية (الوحدات الوظيفية، وذاكرة التخزين المؤقت، والذاكرة الرئيسية، وما إلى ذلك) - وهي ميزة كبيرة على ملفات تعريف البرامج. [86] بالإضافة إلى ذلك، فإنها تلغي عمومًا الحاجة إلى تعديل الكود المصدر الأساسي للبرنامج. [87] [88] نظرًا لأن تصميمات الأجهزة تختلف بين البنيات، فإن الأنواع والتفسيرات المحددة لعدادات الأجهزة ستتغير أيضًا.
الأوضاع المميزة
تتمتع معظم وحدات المعالجة المركزية الحديثة بأوضاع مميزة لدعم أنظمة التشغيل والافتراضية.
يمكن للحوسبة السحابية استخدام المحاكاة الافتراضية لتوفير وحدات معالجة مركزية افتراضية [89] ( vCPUs ) لمستخدمين منفصلين. [90]
المضيف هو المعادل الافتراضي لجهاز مادي يعمل عليه نظام افتراضي. [91] عندما يكون هناك العديد من الأجهزة المادية التي تعمل في ترادف ويتم إدارتها ككل، تشكل موارد الحوسبة والذاكرة المجمعة مجموعة . في بعض الأنظمة، من الممكن الإضافة والإزالة بشكل ديناميكي من مجموعة. يمكن تقسيم الموارد المتاحة على مستوى المضيف والمجموعة إلى مجموعات موارد بحبيبات دقيقة .
أداء
يعتمد أداء أو سرعة المعالج على، من بين العديد من العوامل الأخرى، معدل الساعة (عادةً ما يتم إعطاؤه بمضاعفات هرتز ) والتعليمات لكل ساعة (IPC)، والتي تشكل معًا عوامل التعليمات في الثانية (IPS) التي يمكن لوحدة المعالجة المركزية تنفيذها. [92] مثلت العديد من قيم IPS المبلغ عنها معدلات تنفيذ "الذروة" على تسلسلات التعليمات الاصطناعية مع عدد قليل من الفروع، في حين تتكون أحمال العمل الواقعية من مزيج من التعليمات والتطبيقات، بعضها يستغرق وقتًا أطول للتنفيذ من غيرها. يؤثر أداء التسلسل الهرمي للذاكرة أيضًا بشكل كبير على أداء المعالج، وهي مشكلة بالكاد تم أخذها في الاعتبار في حسابات IPS. وبسبب هذه المشكلات، تم تطوير العديد من الاختبارات الموحدة، والتي غالبًا ما تسمى "المعايير" لهذا الغرض - مثل SPECint - لمحاولة قياس الأداء الفعال الحقيقي في التطبيقات المستخدمة بشكل شائع.
يتم زيادة أداء معالجة أجهزة الكمبيوتر باستخدام معالجات متعددة النواة ، والتي تتمثل في الأساس في توصيل معالجين فرديين أو أكثر (تسمى النوى بهذا المعنى) في دائرة متكاملة واحدة. [93] من الناحية المثالية، سيكون المعالج ثنائي النواة أقوى مرتين تقريبًا من المعالج أحادي النواة. في الممارسة العملية، يكون مكسب الأداء أصغر بكثير، حوالي 50٪ فقط، بسبب خوارزميات البرامج غير الكاملة والتنفيذ. [94] تؤدي زيادة عدد النوى في المعالج (أي ثنائي النواة، رباعي النواة، وما إلى ذلك) إلى زيادة عبء العمل الذي يمكن التعامل معه. وهذا يعني أن المعالج يمكنه الآن التعامل مع العديد من الأحداث غير المتزامنة والمقاطعات وما إلى ذلك والتي يمكن أن تؤثر سلبًا على وحدة المعالجة المركزية عند إرهاقها. يمكن اعتبار هذه النوى طوابق مختلفة في مصنع المعالجة، حيث يتعامل كل طابق مع مهمة مختلفة. في بعض الأحيان، تتعامل هذه النوى مع نفس المهام مثل النوى المجاورة لها إذا لم تكن نواة واحدة كافية للتعامل مع المعلومات. تعمل وحدات المعالجة المركزية متعددة النواة على تعزيز قدرة الكمبيوتر على تشغيل العديد من المهام في وقت واحد من خلال توفير قوة معالجة إضافية. ومع ذلك، فإن الزيادة في السرعة لا تتناسب بشكل مباشر مع عدد النوى المضافة. وذلك لأن النوى تحتاج إلى التفاعل من خلال قنوات محددة، وهذا الاتصال بين النوى يستهلك جزءًا من سرعة المعالجة المتاحة. [95]
بسبب القدرات المحددة لوحدات المعالجة المركزية الحديثة، مثل تعدد العمليات المتزامنة والمعالجة غير المركزية ، والتي تنطوي على مشاركة موارد وحدة المعالجة المركزية الفعلية مع استهداف زيادة الاستخدام، أصبحت مراقبة مستويات الأداء واستخدام الأجهزة تدريجيًا مهمة أكثر تعقيدًا. [96] واستجابة لذلك، تنفذ بعض وحدات المعالجة المركزية منطق أجهزة إضافي يراقب الاستخدام الفعلي لأجزاء مختلفة من وحدة المعالجة المركزية ويوفر عدادات مختلفة يمكن الوصول إليها بواسطة البرامج؛ ومن الأمثلة على ذلك تقنية مراقبة عداد الأداء من إنتل . [9]
انظر أيضا
- وضع العنوان
- وحدة المعالجة المتسارعة AMD
- مجموعة تعليمات معقدة للكمبيوتر
- حافلة الكمبيوتر
- هندسة الحاسوب
- جهد وحدة المعالجة المركزية
- مقبس وحدة المعالجة المركزية
- وحدة معالجة البيانات
- معالج الإشارة الرقمية
- وحدة معالجة الرسوميات
- مقارنة بين بنيات مجموعة التعليمات
- حلقة الحماية
- كمبيوتر مجموعة التعليمات المخفضة
- معالجة التدفق
- مؤشر الأداء الحقيقي
- وحدة معالجة الموتر
- حالة الانتظار
ملحوظات
- ^ تُستخدم الدوائر المتكاملة الآن لتنفيذ جميع وحدات المعالجة المركزية، باستثناء عدد قليل من الآلات المصممة لتحمل النبضات الكهرومغناطيسية الكبيرة، مثل تلك القادمة من سلاح نووي.
- ^ شرحت مذكرة "فون نيومان" المزعومة فكرة البرامج المخزنة، [65] والتي قد يتم تخزينها على سبيل المثال على بطاقات مثقبة أو شريط ورقي أو شريط مغناطيسي.
- ^ لم تدعم بعض أجهزة الكمبيوتر المبكرة، مثل هارفارد مارك 1، أي نوع من التعليمات "القفزية"، مما أدى فعليًا إلى الحد من تعقيد البرامج التي يمكنها تشغيلها. ويرجع هذا إلى حد كبير إلى أن هذه الأجهزة لا تعتبر غالبًا تحتوي على وحدة معالجة مركزية مناسبة، على الرغم من تشابهها الوثيق مع أجهزة الكمبيوتر التي تحتوي على برامج مخزنة.
- ^ نظرًا لأن عداد البرنامج يحسب عناوين الذاكرة وليس التعليمات ، فإنه يزداد بعدد وحدات الذاكرة التي تحتوي عليها كلمة التعليمات. في حالة كلمات التعليمات الثابتة الطول البسيطة، يكون هذا دائمًا هو نفس الرقم. على سبيل المثال، كلمة تعليمات ثابتة الطول بطول 32 بت تستخدم كلمات ذاكرة بطول 8 بت ستزيد دائمًا من قيمة PC بمقدار أربعة (باستثناء حالة القفزات). تزيد كلمات التعليمات ذات الطول المتغير من قيمة PC بعدد كلمات الذاكرة المقابلة لطول التعليمات الأخيرة.
- ^ نظرًا لأن بنية مجموعة التعليمات لوحدة المعالجة المركزية تشكل عنصرًا أساسيًا في واجهتها واستخدامها، فإنها تُستخدم غالبًا كتصنيف لـ"نوع" وحدة المعالجة المركزية. على سبيل المثال، تستخدم "وحدة المعالجة المركزية PowerPC" بعض المتغيرات من PowerPC ISA. يمكن للنظام تنفيذ ISA مختلف عن طريق تشغيل محاكي.
- ^ لا تحتوي بعض وحدات المعالجة المركزية المتخصصة أو المسرعات أو المتحكمات الدقيقة على ذاكرة تخزين مؤقتة. ولكي تكون سريعة، إذا لزم الأمر/أردت، لا تزال تحتوي على ذاكرة تخزين مؤقتة على الشريحة لها وظيفة مماثلة، بينما تتم إدارتها بواسطة البرنامج. وفي المتحكمات الدقيقة مثل eg، قد يكون من الأفضل للاستخدام في الوقت الفعلي الصعب، أن يكون لديها ذاكرة تخزين مؤقتة أو على الأقل لا تحتوي عليها، حيث يمكن التنبؤ بفترات انتظار الأحمال في مستوى واحد من الذاكرة.
- ^ المفهوم الفيزيائي للجهد الكهربي هو مفهوم تماثلي بطبيعته، حيث يحتوي عمليًا على نطاق لا نهائي من القيم المحتملة. لغرض التمثيل الفيزيائي للأرقام الثنائية، يتم تحديد نطاقين محددين للجهد الكهربي، أحدهما للمنطق "0" والآخر للمنطق "1". يتم تحديد هذه النطاقات من خلال اعتبارات التصميم مثل هوامش الضوضاء وخصائص الأجهزة المستخدمة لإنشاء وحدة المعالجة المركزية.
- ^ في حين أن حجم الأعداد الصحيحة لوحدة المعالجة المركزية يضع حدًا لنطاقات الأعداد الصحيحة، يمكن التغلب على هذا (وغالبًا ما يتم التغلب عليه) باستخدام مجموعة من تقنيات البرامج والأجهزة. باستخدام ذاكرة إضافية، يمكن للبرامج تمثيل الأعداد الصحيحة بأحجام أكبر بكثير مما تستطيع وحدة المعالجة المركزية تمثيله. في بعض الأحيان، تعمل مجموعة تعليمات وحدة المعالجة المركزية على تسهيل العمليات على الأعداد الصحيحة الأكبر مما يمكنها تمثيله بشكل طبيعي من خلال توفير تعليمات لجعل العمليات الحسابية للأعداد الصحيحة الكبيرة سريعة نسبيًا. هذه الطريقة للتعامل مع الأعداد الصحيحة الكبيرة أبطأ من استخدام وحدة معالجة مركزية ذات حجم صحيح أكبر، لكنها مقايضة معقولة في الحالات التي يكون فيها دعم النطاق الكامل للأعداد الصحيحة المطلوب بشكل طبيعي باهظ التكلفة. راجع العمليات الحسابية ذات الدقة التعسفية لمزيد من التفاصيل حول الأعداد الصحيحة ذات الحجم التعسفي المدعومة بالبرمجيات فقط.
- ^ لا يتفوق ILP ولا TLP على الآخر بطبيعتهما؛ فهما ببساطة وسيلتان مختلفتان لزيادة التوازي في وحدة المعالجة المركزية. وعلى هذا النحو، يتمتع كل منهما بمزايا وعيوب، والتي غالبًا ما يتم تحديدها حسب نوع البرنامج الذي من المفترض أن يعمل عليه المعالج. غالبًا ما تُستخدم وحدات المعالجة المركزية عالية TLP في التطبيقات التي تلائم تقسيمها إلى العديد من التطبيقات الأصغر، وهو ما يسمى " مشاكل التوازي المحرجة ". في كثير من الأحيان، تستغرق المشكلة الحسابية التي يمكن حلها بسرعة باستخدام استراتيجيات تصميم عالية TLP مثل المعالجة المتعددة المتماثلة وقتًا أطول بشكل ملحوظ على أجهزة ILP عالية مثل وحدات المعالجة المركزية الفائقة، والعكس صحيح.
- ^ في وقت سابق، كان مصطلح scalar يستخدم لمقارنة عدد IPC الذي توفره طرق ILP المختلفة. هنا، يتم استخدام المصطلح بالمعنى الرياضي الصارم للتباين مع المتجهات. انظر scalar (الرياضيات) و vector (الهندسية) .
- ^ على الرغم من أن SSE/SSE2/SSE3 حلت محل MMX في معالجات Intel للأغراض العامة، إلا أن تصميمات IA-32 اللاحقة لا تزال تدعم MMX. ويتم ذلك عادةً من خلال توفير معظم وظائف MMX بنفس الأجهزة التي تدعم مجموعات تعليمات SSE الأكثر توسعًا.
مراجع
- ^ فريق خبراء YCT. الرسم الهندسي والعلوم الأساسية. أوقات مسابقة الشباب. ص 425.
- ^ Nagpal, DP (2008). Computer Fundamentals. S. Chand Publishing. p. 33. ISBN 978-81-219-2388-0.
- ^ "ما هو المعالج (CPU)؟ تعريف من موقع WhatIs.com". WhatIs . تم الاسترجاع في 2024-03-15 .
- ^ تشيسالوف، ألكسندر (12 أبريل 2023). قاموس الثورة الصناعية الرابعة: أكثر من 1500 من أكثر المصطلحات سخونة التي ستستخدمها لخلق المستقبل. لتر. رقم ISBN 978-5-04-541163-9.
- ^ جاجاري، أولريكا (19 أبريل 2022). تشغيل الذكاء الاصطناعي: سد الفجوة بين التكنولوجيا والأعمال. جون وايلي وأولاده. رقم ISBN 978-1-119-83321-5.
- ^ كوك، ديفيد (1978). الحاسبات والحسابات، المجلد 1. جون وايلي وأولاده، ص 12. ISBN 978-0471027164.
- ^ Prabhat, Team (2023-04-13). Ultimate Guide to SSC CGL Combined Graduate Level Tier-I & Tier II Prelims & Mains (with Latest Solved Question Papers) Guide Book English: كتاب الأكثر مبيعًا من تأليف فريق Prabhat: Ultimate Guide to SSC CGL Combined Graduate Level Tier-I & Tier II Prelims & Mains (with Latest Solved Question Papers) Guide Book English. Prabhat Prakashan. ص. 95. ISBN 978-93-5488-527-3.
- ^ "ما هو المعالج متعدد النواة وكيف يعمل؟". مركز البيانات . تم الاسترجاع في 2024-03-15 .
- ^ ab Willhalm, Thomas; Dementiev, Roman; Fay, Patrick (18 ديسمبر 2014). "Intel Performance Counter Monitor – A better way to meter CPU utilization". software.intel.com . مؤرشف من الأصل في 22 فبراير 2017 . تم الاسترجاع في 17 فبراير 2015 .
- ^ هيريس، ديفيد (2020-10-06). أجهزة رسم الذبذبات: دليل للطلاب والمهندسين والعلماء. سبرينغر نيتشر. ص. 130. ISBN 978-3-030-53885-9.
- ^ ريغان، جيرارد (2008). تاريخ موجز للحوسبة. سبرينغر. ص. 66. ISBN 978-1848000834تم الاسترجاع بتاريخ 26 نوفمبر 2014 .
- ^ Weik, Martin H. (1955). "A Survey of Domestic Electronic Digital Computing Systems". Ballistic Research Laboratory . مؤرشف من الأصل في 2021-01-26 . تم الاسترجاع في 2020-11-15 .
- ^ ab Weik, Martin H. (1961). "A Third Survey of Domestic Electronic Digital Computing Systems". Ed Thelen's Nike Missile Web Site . Ballistic Research Laboratory . مؤرشف من الأصل في 2017-09-11 . تم الاسترجاع في 2005-12-16 .
- ^ "Bit By Bit". كلية هافرفورد. مؤرشف من الأصل في 13 أكتوبر 2012. تم الاسترجاع في 1 أغسطس 2015 .
- ^ المسودة الأولى لتقرير عن EDVAC (PDF) (تقرير فني). كلية مور للهندسة الكهربائية ، جامعة بنسلفانيا . 1945. مؤرشف (PDF) من الأصل في 2021-03-09 . تم الاسترجاع في 2018-03-31 .
- ^ جامعة ستانفورد. "التاريخ الحديث للحوسبة". موسوعة ستانفورد للفلسفة . تم استرجاعه في 25 سبتمبر 2015 .
- ^ "عيد ميلاد إينياك". مطبعة معهد ماساتشوستس للتكنولوجيا. 9 فبراير 2016. مؤرشف من الأصل في 17 أكتوبر 2018. تم الاسترجاع في 17 أكتوبر 2018 .
- ^ Enticknap, Nicholas (Summer 1998), "Computing's Golden Jubilee", Resurrection (20), The Computer Conservation Society, ISSN 0958-7403, تم أرشفته من الأصل في 17 مارس 2019 , تم استرجاعه في 26 يونيو 2019
- ^ "The Manchester Mark 1". جامعة مانشستر . مؤرشف من الأصل في 25 يناير 2015. تم الاسترجاع في 25 سبتمبر 2015 .
- ^ "الجيل الأول". متحف تاريخ الكمبيوتر. مؤرشف من الأصل في 22 نوفمبر 2016. تم الاسترجاع في 29 سبتمبر 2015 .
- ^ "تاريخ الدائرة المتكاملة". Nobelprize.org . مؤرشف من الأصل في 22 مايو 2022 . تم الاسترجاع 17 يوليو 2022 .
- ^ Turley, Jim (11 August 2003). "Motoring with microprocessors". Embedded. مؤرشف من الأصل في 14 أكتوبر 2022. تم الاسترجاع في 26 ديسمبر 2022 .
- ^ "دليل معالجات الأجهزة المحمولة – صيف 2013". Android Authority. 2013-06-25. مؤرشف من الأصل في 2015-11-17 . تم الاسترجاع في 15 نوفمبر 2015 .
- ^ "القسم 250: المعالجات الدقيقة والألعاب: مقدمة لأنظمة الحوسبة". جامعة ميشيغان. مؤرشف من الأصل في 13 أبريل 2021. تم الاسترجاع في 9 أكتوبر 2018 .
- ^ "معالج ARM946". ARM. مؤرشف من الأصل في 17 نوفمبر 2015.
- ^ "كونراد زوسي". متحف تاريخ الكمبيوتر. مؤرشف من الأصل في 3 أكتوبر 2016. تم الاسترجاع في 29 سبتمبر 2015 .
- ^ "الخط الزمني لتاريخ الكمبيوتر: أجهزة الكمبيوتر". متحف تاريخ الكمبيوتر. مؤرشف من الأصل في 29 ديسمبر 2017. تم الاسترجاع في 21 نوفمبر 2015 .
- ^ وايت، ستيفن. "تاريخ موجز للحوسبة – أجهزة الكمبيوتر من الجيل الأول". مؤرشف من الأصل في 2 يناير 2018. تم الاسترجاع في 21 نوفمبر 2015 .
- ^ "وحدة ثقب الشريط الورقي Mark I بجامعة هارفارد". متحف تاريخ الكمبيوتر. مؤرشف من الأصل في 22 نوفمبر 2015. تم الاسترجاع في 21 نوفمبر 2015 .
- ^ "ما هو الفرق بين عمارة فون نيومان وعمارة هارفارد؟". ARM. مؤرشف من الأصل في 18 نوفمبر 2015. تم الاسترجاع في 22 نوفمبر 2015 .
- ^ "Advanced Architecture Optimizes the Atmel AVR CPU". Atmel. مؤرشف من الأصل في 14 نوفمبر 2015. تم الاسترجاع في 22 نوفمبر 2015 .
- ^ "المفاتيح والترانزستورات والمرحلات". بي بي سي. مؤرشف من الأصل في 5 ديسمبر 2016.
- ^ "مقدمة عن الترانزستور الفراغي: جهاز مصنوع من لا شيء". IEEE Spectrum . 2014-06-23. مؤرشف من الأصل في 2018-03-23 . تم الاسترجاع 27 يناير 2019 .
- ^ ما هو أداء الكمبيوتر؟. مطبعة الأكاديميات الوطنية. 2011. doi :10.17226/12980. ISBN 978-0-309-15951-7. مؤرشف من الأصل في 5 يونيو 2016 . استرجاع 16 مايو 2016 .
- ^ "1953: ظهور أجهزة الكمبيوتر المجهزة بالترانزستور". متحف تاريخ الكمبيوتر . مؤرشف من الأصل في 1 يونيو 2016. تم الاسترجاع في 3 يونيو 2016 .
- ^ "IBM System/360 Dates and Characteristics". IBM. 2003-01-23. مؤرشف من الأصل في 2017-11-21 . تم الاسترجاع 2016-01-13 .
- ^ ab Amdahl, GM ; Blaauw, GA ; Brooks, FP Jr. (أبريل 1964). "هندسة نظام IBM/360". مجلة IBM للبحث والتطوير . 8 (2). IBM : 87–101. doi :10.1147/rd.82.0087. ISSN 0018-8646.
- ^ Brodkin, John (7 April 2014). "قبل 50 عامًا، أنشأت شركة IBM حاسوبًا مركزيًا ساعد في إرسال الرجال إلى القمر". Ars Technica . مؤرشف من الأصل في 8 أبريل 2016 . تم الاسترجاع في 9 أبريل 2016 .
- ^ كلارك، جافين. "لماذا لن تموت؟ نظام S/360 من IBM وإرثه في الخمسينيات". The Register . مؤرشف من الأصل في 24 أبريل 2016 . تم الاسترجاع في 9 أبريل 2016 .
- ^ "الصفحة الرئيسية لبرنامج PDP-8 عبر الإنترنت، تشغيل برنامج PDP-8". PDP8 . مؤرشف من الأصل في 11 أغسطس 2015 . تم الاسترجاع في 25 سبتمبر 2015 .
- ^ "الترانزستورات والمرحلات والتحكم في الأحمال ذات التيار العالي". جامعة نيويورك . ITP Physical Computing. مؤرشف من الأصل في 21 أبريل 2016. تم الاسترجاع في 9 أبريل 2016 .
- ^ ليلي، بول (2009-04-14). "تاريخ موجز لوحدات المعالجة المركزية: 31 عامًا رائعًا من x86". PC Gamer . مؤرشف من الأصل في 2016-06-13 . تم الاسترجاع في 15 يونيو 2016 .
- ^ ab Patterson, David A.; Hennessy, John L.; Larus, James R. (1999). Computer Organization and Design: the Hardware/Software Interface (الطبعة الثالثة من الطبعة الثانية). سان فرانسيسكو، كاليفورنيا: كوفمان. ص. 751. ISBN 978-1558604285.
- ^ "1962: أنظمة الفضاء الجوي هي أول تطبيقات الدوائر المتكاملة في أجهزة الكمبيوتر". متحف تاريخ الكمبيوتر . مؤرشف من الأصل في 5 أكتوبر 2018. تم الاسترجاع في 9 أكتوبر 2018 .
- ^ "الدوائر المتكاملة في برنامج هبوط أبولو المأهول على القمر". الإدارة الوطنية للملاحة الجوية والفضاء. مؤرشف من الأصل في 21 يوليو 2019. تم الاسترجاع في 9 أكتوبر 2018 .
- ^ "إعلان نظام/370". أرشيفات IBM . 2003-01-23. مؤرشف من الأصل في 2018-08-20 . تم الاسترجاع في 25 أكتوبر 2017 .
- ^ "System/370 Model 155 (Continued)". أرشيفات IBM . 2003-01-23. مؤرشف من الأصل في 2016-07-20 . تم الاسترجاع في 25 أكتوبر 2017 .
- ^ "النماذج والخيارات". شركة Digital Equipment Corporation PDP-8. مؤرشف من الأصل في 26 يونيو 2018. تم الاسترجاع في 15 يونيو 2018 .
- ^ باسيت، روس نوكس (2007). إلى العصر الرقمي: مختبرات الأبحاث والشركات الناشئة وصعود تكنولوجيا MOS. مطبعة جامعة جونز هوبكنز . ص 127-128، 256، و314. رقم ISBN 978-0-8018-6809-2.
- ^ ab Shirriff, Ken. "The Texas Instruments TMX 1795: the first, denied microprocessor". مؤرشف من الأصل في 2021-01-26.
- ^ "السرعة والقوة في عائلات المنطق". مؤرشف من الأصل في 2017-07-26 . تم الاسترجاع 2017-08-02 ..
- ^ Stonham, TJ (1996). Digital Logic Techniques: Principles and Practice. Taylor & Francis. p. 174. ISBN 9780412549700.
- ^ "1968: تطوير تقنية بوابة السيليكون للدوائر المتكاملة". متحف تاريخ الكمبيوتر . مؤرشف من الأصل في 2020-07-29 . تم الاسترجاع في 2019-08-16 .
- ^ Booher, RK (1968). MOS GP Computer (PDF) . International Workshop on Managing Requirements Knowledge. AFIPS . p. 877. doi :10.1109/AFIPS.1968.126. مؤرشف من الأصل (PDF) في 2017-07-14.
- ^ "وصف وحدات LSI-11". LSI-11، دليل مستخدم PDP-11/03 (PDF) (الطبعة الثانية). ماينارد، ماساتشوستس: شركة Digital Equipment Corporation . نوفمبر 1975. ص 4-3. مؤرشف من الأصل (PDF) في 2021-10-10 . تم الاسترجاع في 2015-02-20 .
- ^ Bigelow, Stephen J. (مارس 2022). "ما هو المعالج متعدد النواة وكيف يعمل؟". TechTarget. مؤرشف من الأصل في 11 يوليو 2022. تم الاسترجاع في 17 يوليو 2022 .
- ^ Birkby, Richard. "A Brief History of the Microprocessor". computermuseum.li . مؤرشف من الأصل في 23 سبتمبر 2015 . تم الاسترجاع في 13 أكتوبر 2015 .
- ^ أوزبورن، آدم (1980). مقدمة في أجهزة الكمبيوتر الصغيرة. المجلد 1: المفاهيم الأساسية (الطبعة الثانية). بيركلي، كاليفورنيا: أوزبورن-ماكجرو هيل. رقم ISBN 978-0-931988-34-9.
- ^ Zhislina, Victoria (2014-02-19). "لماذا توقف تردد وحدة المعالجة المركزية عن النمو؟". Intel. مؤرشف من الأصل في 2017-06-21 . تم الاسترجاع في 14 أكتوبر 2015 .
- ^ "MOS Transistor – Electrical Engineering & Computer Science" (PDF) . جامعة كاليفورنيا. مؤرشف من الأصل (PDF) في 2022-10-09 . تم الاسترجاع في 14 أكتوبر 2015 .
- ^ سيمونيت، توم. "قانون مور ميت. ماذا الآن؟". مراجعة تكنولوجيا معهد ماساتشوستس للتكنولوجيا . مؤرشف من الأصل في 2018-08-22 . تم الاسترجاع في 2018-08-24 .
- ^ مور، جوردون (2005). "مقتطفات من محادثة مع جوردون مور: قانون مور" (PDF) (مقابلة). إنتل. مؤرشف من الأصل (PDF) في 2012-10-29 . تم الاسترجاع في 2012-07-25 .
- ^ "تاريخ مفصل للمعالج". Tech Junkie. 15 ديسمبر 2016. مؤرشف من الأصل في 14 أغسطس 2019 . تم الاسترجاع 14 أغسطس 2019 .
- ^ Eigenmann, Rudolf; Lilja, David (1998). "Von Neumann Computers". Wiley Encyclopedia of Electrical and Electronics Engineering . doi :10.1002/047134608X.W1704. ISBN 047134608X. S2CID 8197337.
- ^ Aspray, William (سبتمبر 1990). "مفهوم البرنامج المخزن". IEEE Spectrum . المجلد 27، العدد 9. ص 51. doi :10.1109/6.58457.
- ^ ساراسوات، كريشنا. "اتجاهات تكنولوجيا الدوائر المتكاملة" (PDF) . مؤرشف من الأصل (PDF) في 2015-07-24 . تم الاسترجاع في 15 يونيو 2018 .
- ^ "الهجرة الكهربائية". جامعة الشرق الأوسط التقنية. مؤرشف من الأصل في 31 يوليو 2017. اطلع عليه بتاريخ 15 يونيو 2018 .
- ^ Wienand, Ian (3 سبتمبر 2013). "علوم الكمبيوتر من الأسفل إلى الأعلى، الفصل 3. بنية الكمبيوتر" (PDF) . bottomupcs.com . مؤرشف من الأصل (PDF) في 6 فبراير 2016. تم الاسترجاع في 7 يناير 2015 .
- ^ "مقدمة عن وحدة التحكم وتصميمها". GeeksforGeeks . 2018-09-24. مؤرشف من الأصل في 2021-01-15 . تم الاسترجاع 2021-01-12 .
- ^ Van Berkel, Cornelis; Meuwissen, Patrick (January 12, 2006). "Address generation unit for a processing (US 2006010255 A1 patent application)". google.com . مؤرشف من الأصل في 18 أبريل 2016 . تم الاسترجاع في 8 ديسمبر 2014 . [ مطلوب التحقق ]
- ^ توريس، غابرييل (12 سبتمبر 2007). "كيف تعمل ذاكرة التخزين المؤقت". أسرار الأجهزة . تم الاسترجاع في 29 يناير 2023 .
- ^ "IBM z13 و IBM z13s Technical Introduction" (PDF) . IBM . مارس 2016. ص. 20. مؤرشف من الأصل (PDF) في 2022-10-09. [ مطلوب التحقق ]
- ^ براون، جيفري (2005). "تصميم وحدة المعالجة المركزية المخصصة للتطبيق". IBM developerWorks. مؤرشف من الأصل في 12 فبراير 2006. تم الاسترجاع في 17 ديسمبر 2005 .
- ^ Martin, AJ; Nystrom, M.; Wong, CG (نوفمبر 2003). "ثلاثة أجيال من المعالجات الدقيقة غير المتزامنة". IEEE Design & Test of Computers . 20 (6): 9–17. doi :10.1109/MDT.2003.1246159. ISSN 0740-7475. S2CID 15164301. مؤرشف من الأصل في 2021-12-03 . تم الاسترجاع في 2022-01-05 .
- ^ Garside, JD; Furber, SB; Chung, SH (1999). "AMULET3 Revealed". Proceedings, Fifth International Symposium on Advanced Research in Asynchronous Circuits and Systems . University of Manchester Computer Science Department. doi :10.1109/ASYNC.1999.761522. مؤرشف من الأصل في 10 ديسمبر 2005.
- ^ IBM System/360 Model 65 Functional Characteristics (PDF) . IBM . سبتمبر 1968. ص 8-9. A22-6884-3. مؤرشف (PDF) من الأصل في 2022-10-09.
- ^ Huynh, Jack (2003). "معالج AMD Athlon XP مع ذاكرة تخزين مؤقتة من المستوى الثاني بحجم 512 كيلوبايت" (PDF) . أوربانا-شامبين، إلينوي: جامعة إلينوي. ص 6-11. مؤرشف من الأصل (PDF) في 2007-11-28 . تم الاسترجاع في 2007-10-06 .
- ^ Gottlieb, Allan; Almasi, George S. (1989). Highly parallel computing. Redwood City, California: Benjamin/Cummings. ISBN 978-0-8053-0177-9. تم أرشفة النسخة الأصلية في 2018-11-07 . تم استرجاعها في 2016-04-25 .
- ^ فلين، إم جيه (سبتمبر 1972). "بعض منظمات الكمبيوتر وفعاليتها". معاملات معهد مهندسي الكهرباء والإلكترونيات في مجال الكمبيوتر . C-21 (9): 948–960. doi :10.1109/TC.1972.5009071. S2CID 18573685.
- ^ لو، ن.-ب.؛ تشونغ، س.-ب. (1998). "استغلال التوازي في المعالجة المتعددة الفائقة". وقائع معهد الهندسة الكهربائية والإلكترونية - الحاسبات والتقنيات الرقمية . 145 (4): 255. doi :10.1049/ip-cdt:19981955.
- ^ Uhsadel, Leif; Georges, Andy; Verbauwhede, Ingrid (August 2008). Exploiting Hardware Performance Counters. 2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography. ص. 59–67. doi :10.1109/FDTC.2008.19. ISBN 978-0-7695-3314-8. S2CID 1897883. تم أرشفة النسخة الأصلية في 2021-12-30 . تم استرجاعها في 2021-12-30 .
- ^ Rohou, Erven (سبتمبر 2012). Tiptop: Hardware Performance Counters for the Masses. 2012 41st International Conference on Parallel Processing Workshops. ص. 404–413. doi :10.1109/ICPPW.2012.58. ISBN 978-1-4673-2509-7. S2CID 16160098. تم أرشفة النسخة الأصلية في 2021-12-30 . تم استرجاعها في 2021-12-30 .
- ^ Herath, Nishad; Fogh, Anders (2015). "CPU Hardware Performance Counters for Security" (PDF) . الولايات المتحدة الأمريكية: Black Hat. مؤرشف من الأصل (PDF) في 2015-09-05.
- ^ Jøsang, Audun (2018-06-21). ECCWS 2018 17th European Conference on Cyber Warfare and Security V2. Academic Conferences and publishing limited. ISBN 978-1-911218-86-9.
- ^ DeRose, Luiz A. (2001), Sakellariou, Rizos; Gurd, John; Freeman, Len; Keane, John (eds.), "The Hardware Performance Monitor Toolkit", Euro-Par 2001 Parallel Processing , Lecture Notes in Computer Science, vol. 2150, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 122–132, doi :10.1007/3-540-44681-8_19, ISBN 978-3-540-42495-6, تم أرشفته من الأصل في 2023-03-01 , تم استرجاعه في 2021-12-30
- ^ "نحو معيار لتقييم الأداء واستهلاك الطاقة لواجهات البرمجة المتوازية" (PDF) (باللغة الفيتنامية) . تم الاسترجاع في 2024-03-15 .
- ^ "المصدر المفتوح: ما يعنيه، كيف يعمل، مثال". Investopedia . تم الاسترجاع في 2024-03-15 .
- ^ Chawdhury, Tarun Kumar; Banerjee, Joyanta; Gupta, Vipul; Poddar, Debopam (2024-03-04). إتقان تطبيقات Java الآمنة: التنقل عبر الأمان في السحابة والخدمات المصغرة لـ Java (الطبعة الإنجليزية). BPB Publications. ص. 117. ISBN 978-93-5551-884-2.
- ^ أنجوم، بشرى؛ بيروس، هاري جي. (2015). "1: تقسيم ميزانية جودة الخدمة من البداية إلى النهاية إلى المجالات". تخصيص النطاق الترددي للفيديو تحت قيود جودة الخدمة . سلسلة فوكس. جون وايلي وأولاده. ص. 3. رقم ISBN
9781848217461. تم الاسترجاع في 2016-09-21 .
[...] في الحوسبة السحابية حيث يتم تشغيل مكونات برامج متعددة في بيئة افتراضية على نفس الشفرة، مكون واحد لكل آلة افتراضية (VM). يتم تخصيص وحدة معالجة مركزية افتراضية لكل آلة افتراضية [...] والتي تشكل جزءًا من وحدة المعالجة المركزية للشفرة.
- ^ Fifield, Tom; Fleming, Diane; Gentle, Anne; Hochstein, Lorin; Proulx, Jonathan; Toews, Everett; Topjian, Joe (2014). "Glossary". دليل عمليات OpenStack . بكين: O'Reilly Media, Inc. ص. 286. ISBN
9781491906309. تم الاسترجاع في 2016-09-20 .
وحدة المعالجة المركزية الافتراضية (vCPU)[:] تقسم وحدات المعالجة المركزية المادية. يمكن للمثيلات بعد ذلك استخدام هذه الأقسام.
- ^ "نظرة عامة على بنية VMware الأساسية – ورقة بيضاء" (PDF) . VMware . 2006. مؤرشف (PDF) من الأصل في 2022-10-09.
- ^ "تردد وحدة المعالجة المركزية". قاموس وحدة المعالجة المركزية العالمي . وحدة المعالجة المركزية العالمية. 25 مارس 2008. مؤرشف من الأصل في 9 فبراير 2010. تم الاسترجاع في 1 يناير 2010 .
- ^ "ما هو المعالج متعدد النواة؟". تعريفات مركز البيانات . SearchDataCenter.com. مؤرشف من الأصل في 5 أغسطس 2010. تم الاسترجاع في 8 أغسطس 2016 .
- ^ Mlblevins (8 أبريل 2010). "Quad Core Vs. Dual Core". Tech Spirited . مؤرشف من الأصل في 4 يوليو 2019 . تم الاسترجاع في 7 نوفمبر 2019 .
- ^ Marcin, Wieclaw (12 يناير 2022). "العوامل المؤثرة على أداء المعالجات متعددة النواة". PcSite .
- ^ Tegtmeier, Martin. "شرح استخدام وحدة المعالجة المركزية للهياكل متعددة الخيوط". Oracle. مؤرشف من الأصل في 18 يوليو 2022. تم الاسترجاع في 17 يوليو 2022 .
روابط خارجية
- كيف تعمل المعالجات الدقيقة في HowStuffWorks .
- 25 شريحة إلكترونية هزت العالم – مقالة صادرة عن معهد مهندسي الكهرباء والإلكترونيات .
