عمارة فون نيومان ووحدة المعالجة المركزية (CPU)
| English | العربية |
|---|---|
| processor/ˈprəʊsesə/ | المعالج |
| registers/ˈredʒɪstəz/ | مسجلات |
| buses/ˈbʌsɪz/ | حواجز بيانات |
| Von Neumann architecture/vɒn ˈnɔɪmən ˈɑːkɪtektʃə/ | عمارة فون نيومان |
| Immediate Access Store/ɪˈmiːdɪət ˈækses stɔː/ | ذاكرة الوصول الفوري |
| stored program/stɔːd ˈprəʊɡræm/ | برنامج مخزن |
| ALU/ˌeɪ el ˈjuː/ | وحدة الحساب والمنطق (ALU) |
| control unit/kənˈtrəʊl ˈjuːnɪt/ | وحدة التحكم |
| system clock/ˈsɪstəm klɒk/ | الساعة النظامية |
| clock speed/klɒk spiːd/ | سرعة الساعة |
| general-purpose registers/ˈdʒenərəl ˈpɜːpəs ˈredʒɪstəz/ | مسجلات متعددة الأغراض |
| special purpose registers/ˈspeʃl ˈpɜːpəs ˈredʒɪstəz/ | مسجلات ذات أغراض خاصة |
| Program Counter/ˈprəʊɡræm ˈkaʊntə/ | عداد البرنامج |
| Memory Address Register/ˈmeməri əˈdres ˈredʒɪstə/ | مسجل عنوان الذاكرة |
| Memory Data Register/ˈmeməri ˈdeɪtə ˈredʒɪstə/ | مسجل بيانات الذاكرة |
| Current Instruction Register/ˈkʌrənt ɪnˈstrʌkʃn ˈredʒɪstə/ | مسجل التعليمات الحالية |
| accumulator/əˈkjuːmjʊleɪtə/ | المُجمِّع |
| Index Register/ˈɪndeks ˈredʒɪstə/ | مسجل الفهرس |
| Status Register/ˈsteɪtəs ˈredʒɪstə/ | مسجل الحالة |
| flag/flæɡ/ | علامة |
| address bus/əˈdres bʌs/ | حاجز العناوين |
| data bus/ˈdeɪtə bʌs/ | حاجز البيانات |
| control bus/kənˈtrəʊl bʌs/ | حاجز التحكم |
| register transfer/ˈredʒɪstə ˈtrænsfɜː/ | انتقال المسجلات |
التقرير الذي لا تزال كل حاسوب يتبعه
- في يونيو 1945، نشر جون فون نيومان مسودة مطبوعة تصف آلة لم تُبنَ بعد: EDVAC.
- فكرتها كانت بسيطة وجديدة. احتفظ بالبرنامج في نفس الذاكرة الخاصة بالبيانات، واجعل معالجاً واحداً يجلب وينفذ التعليمات واحدة تلو الأخرى.
- لم تُنهَ المسودة أبداً، لكن التصميم نُسخ في كل مكان. هاتفك، حاسوبك المحمول وخادم مدرستك جميعها مبنية عليه.
- تأخذ هذه الدرس النموذج تفكيكاً: الذاكرة، أجزاء المعالج، مسجلاتاته والناقلات بينها.
نموذج فون نيومان
- عمارة فون نيومان· تحتوي على ذاكرة واحدة، وهي الذاكرة ذات الوصول الفوري (IAS)، تحتفظ بكل من تعليمات البرنامج والبيانات. هذا هو مفهوم البرنامج المخزن.
- المعالج يجلب كل تعليمات من الذاكرة وينفذها، واحدة تلو الأخرى، حسب ترتيب العناوين ما لم يغير تعليمة التفرع التدفق.
- التعليمات والبيانات والعناوين كلها تنتقل بين المعالج والذاكرة عبر ناقلات مشتركة.

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

المعالج بأكمله هو شريحة صغيرة واحدة
وحدة الحساب والمنطق مسؤولة عن:
تقوم وحدة الحساب والمنطق بالحسابات والمنطق/المقارنات. فك التشفير هو مهمة وحدة التحكم.
وحدة ____ تقوم بفك تشفير كل أمر وترسل إشارات التحكم لتنفيذه.
وحدة التحكم تفسر وتشير؛ ووحدة الحساب والمنطق تقوم بالحساب والمنطق؛ والساعة تبقيهم في تزامن.
المسجلات
- المسجلات هي ذخائر صغيرة جداً وسريعة للغاية داخل المعالج. المسجلات العامة تحمل القيم المؤقتة للمبرمج. المسجلات المتخصصة لكل منها مهمة ثابتة واحدة في الدورة.
| سجل | الوظيفة |
|---|---|
| عداد البرنامج (PC) | عنوان التعليمات التالية التي سيتم جلبها |
| سجل عنوان الذاكرة (MAR) | عنوان الموقع الذي يتم قراءته منه أو كتابته إليه |
| سجل بيانات الذاكرة (MDR) | البيانات أو التعليمات التي تم قراءتها للتو من، أو التي سيتم كتابتها إلى، ذلك الموقع |
| سجل التعليمات الحالية (CIR) | التعليمات التي يتم فك تشفيرها وتنفيذها حاليًا |
| المُراكم (ACC) | نتيجة آخر عملية حسابية أو منطقية |
| سجل الفهرس (IX) | إزاحة تُضاف إلى العنوان في نظام العنونة بالفهرس |
| سجل الحالة | الأعلام التي تم تعيينها بواسطة آخر عملية |

السجلات، وحدة التحكم و ALU، مرتبطة بالنواقل
اضغط على مكونات حاسوب فون نيومان
استكشف كل كتلة. تتواصل وحدة المعالجة المركزية (وحدة التحكم، وحدة الحساب والمنطق، المسجلات) مع ذاكرة رئيسية واحدة عبر الحواجز — وتُعد هذه الذاكرة المشتركة الواحدة للأوامر والبيانات هي فكرة فون نيومان.
طابق كل مسجل مخصص بما يحتويه.
يشير PC إلى الأمر التالي، ويحتوي CIR على الأمر الحالي، وMAR/MDR هما زوج العنوان/البيانات للذاكرة، ويحتوي ACC على النتيجة الجارية.
مثال محلول: "وصف دور كل سجل"
- يطلب السؤال جدولًا جملة دقيقة واحدة لكل سجل، والكلمات التي تكتسب الدرجات مكتوبة بخط عريض.
- PC: يحمل العنوان لـالتعليمات التالية التي سيتم جلبها. MAR: يحمل العنوان للموقع المُتصل به.
- MDR: يحمل البيانات التي تم قراءتها للتو من، أو التي سيتم كتابتها إلى، الذاكرة. CIR: يحمل التعليمات التي يتم فك تشفيرها وتنفيذها حاليًا.
- ACC: يحمل نتيجة آخر عملية في ALU. لاحظ أن سجلين يحملان عناوين، واثنان يحملان محتويات، وسجل واحد يحمل نتيجة.
أعلام سجل الحالة
- كل علم هو بت واحد، يتم تعيينه أو حذفه بواسطة ALU بعد عملية: علامة الصفر عندما تعطي النتيجة أو المقارنة صفرًا، علامة الحمل عندما تجاوزت الإضافة سعة السجل، علامة السالب عندما تكون النتيجة سالبة، علامة التجاوز عندما لا يتسع الناتج المعتمد للإشارة.
- القفز الشرطي يقرأ علماً لتحديد ما إذا كان سيوجه المسار. هذا هو الطريقة التي تعمل بها
IFوالحلقات في الأجهزة. - يمكن لعلامة التجاوز أيضًا رفع مقاطعة، وهو ما ستعاليه الدرس التالي.
أي مما يلي يعتبر علم (flag) في مسجل الحالة؟ حدد كل الخيارات الصحيحة.
الحمولة، الصفر، السالب والانحياز هي علامات أحادية البت تُضبط بواسطة وحدة الحساب والمنطق. عداد البرنامج هو مسجل منفصل يحتوي على عنوان.
الناقلات الثلاثة
- ناقل العناوين ينقل العنوان الذي يرغب المعالج في الوصول إليه. وهو ذو اتجاه واحد، من المعالج إلى الذاكرة.
- ناقل البيانات ينقل البيانات أو التعليمات نفسها. وهو ذو اتجاهين، لأن عمليات القراءة والكتابة تسير في اتجاهين متعاكسين.
- ناقل التحكم ينقل إشارات التحكم مثل القراءة والكتابة والساعة والمقاطعة. وهو ذو اتجاهين.

ثلاثة ناقلات نظام تربط المعالج بالذاكرة والإدخال/الإخراج
أي حاجز أحادي الاتجاه (ينقل المعلومات في اتجاه واحد فقط)؟
حيز العناوين أحادي الاتجاه (CPU → الذاكرة). حيز البيانات وحيز التحكم ثنائي الاتجاه.
مثال محلول: كم الواسع كافٍ؟
- يمكن لناقل عناوين حجم $n$ بت أن يعرّف $2^{n}$ موقعًا. يصل ناقل 16-بت إلى $2^{16} = 65\,536$ مواقع؛ ويصل ناقل 32-بت إلى $2^{32}$، حوالي أربعة مليار.
- "اذكر تأثيرًا واحدًا لزيادة عرض ناقل العناوين": يمكن تعريف المزيد من مواقع الذاكرة.
- "اذكر تأثيرًا واحدًا لزيادة عرض ناقل البيانات": تنتقل عدد أكبر من البتات في كل نقل، لذا فإن fewer transfers are needed for the same data.
- قم بزيادة عرض ناقل العناوين لتتمكن من الحصول على ذاكرة أكثر؛ وقم بزيادة عرض ناقل البيانات لتنقله بشكل أسرع.
كم عدد مواقع الذاكرة التي يمكن لحاجز عناوين بحجم 16-بت الوصول إليها؟
$2^{16} = 65\,536$ مواقع.
حاجز عناوين أعرض يسمح لوحدة المعالجة المركزية بعنونة المزيد من مواقع الذاكرة.
كل خط عناوين إضافي يضاعف النطاق — n خطوط تعني 2ⁿ موقع.
ترميز انتقال السجلات
- تُكتب الحركات بين السجلات والذاكرة باستخدام ترميز انتقال السجلات:
MAR ← [PC]يعني "نسخ محتويات PC إلى MAR". - الأقواس المربعة تعني "محتويات"، و
[[MAR]]تعني "محتويات الموقع الذي يكون عنوانه في MAR". - يُكتب دورة جلب-تنفيذ الكاملة بهذه الطريقة في الدرس القادم؛ الترميز نفسه هو سهم assignments في pseudocode.
ماذا يعني MAR ← [PC]؟
السهم يشير إلى الوجهة والمربعات المربعة تعني "محتويات". هذا هو الخطوة الأولى من كل عملية جلب.
علامات ضائعة
- يحمل PC عنوان التعليمات التالية، وليس الحالي؛ ويحمل CIR التعليمات، وليس العنوان.
- يحمل MAR عنواناً، ويحمل MDR بيانات. خلطهما يكلف كلا الدرجتين.
- ناقل العناوين هو الوحيد ذو الاتجاه الواحد. قول "جميع الناقلات ذات اتجاه واحد" أو "ناقل البيانات ذو اتجاه واحد" خطأ شائع.
- السجلات موجودة داخل المعالج، وليست جزءًا من RAM، وهي أسرع من أي ذاكرة.
يحتوي عداد البرنامج على الأمر الذي يتم تنفيذه حالياً.
يحتوي PC على العنوان لـالأمر التالي. الأمر الحالي موجود في CIR.
لقد فهمت الأمر
- فون نيومان: ذاكرة واحدة (IAS) تحمل تعليمات وبيانات؛ يقوم المعالج بجلبها وتنفيذها واحدة تلو الأخرى
- ALU تحسب، CU تفكك الشيفرة وتصدر إشارات، الساعة تحافظ على الخطوات في الوقت المحدد
- PC العنوان التالي · MAR العنوان المُتصل به · MDR البيانات · CIR التعليمات الحالية · ACC النتيجة · IX الإزاحة · سجل الحالة الأعلام
- ناقل العناوين ذو اتجاه واحد، $2^{n}$ مواقع؛ ناقلات البيانات والتحكم ذات اتجاهين؛
MAR ← [PC]تنسخ محتويات PC إلى MAR