شهادة A plus / الفصل 3 = وحدة المعالج المركزية (CPU) #2

sparrow
0

 

 

الفصل : 3


الجزء : 2


العنوان : وحدة المعالج المركزية ( CPU )



الذاكرة


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


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


هناك العديد من أنواع الأجهزة التي تخزن الأصفار والواحدات بشكل جيد - من الناحية التقنية، حتى قطعة ورق تُعتبر ذاكرة - ولكن الحواسيب تحتاج إلى ذاكرة تفعل أكثر من مجرد تخزين مجموعات من ثمانية أصفار وواحدات. لنفترض هذا البرنامج الخيالي:

1. ضع 2 في سجل AX.

2. ضع 5 في سجل BX.

3. إذا كان AX أكبر من BX، قم بتشغيل السطر 4؛ وإلا، انتقل إلى السطر 6.

4. أضف 1 إلى القيمة في AX.

5. عُد إلى السطر 1.

6. ضع قيمة AX على الحافلة الخارجية للبيانات (EDB).


هذا البرنامج يحتوي على عبارة IF، والتي يُشار إليها أيضًا بـ branch من قبل صانعي وحدة

المعالجة المركزية. تحتاج وحدة المعالجة المركزية إلى طريقة للوصول إلى كل سطر في هذه الذاكرة - طريقة ليقول وحدة المعالجة المركزية للذاكرة: "أعطني السطر التالي من الكود" أو "أعطني السطر 6". تأخذ عملية توجيه الذاكرة بعين الاعتبار مشكلة أخرى: يجب أن تخزن الذاكرة ليس فقط البرامج ولكن أيضًا نتيجة البرامج. إذا قامت وحدة المعالجة المركزية بجمع 2 + 3 وحصلت على 5، فيجب أن تخزن الذاكرة هذا الرقم 5 بطريقة تستطيع فيها برامج أخرى قراءة هذا الرقم 5 لاحقًا، أو ربما تخزين هذا الرقم 5 على القرص الصلب.


من خلال توجيه كل سطر من الذاكرة، ستعرف البرامج الأخرى أين تجد البيانات.



الذاكرة و ذاكرة الوصول العشوائي (RAM )


يجب أن تخزن الذاكرة ليس فقط البرامج، ولكن أيضًا البيانات. يحتاج وحدة المعالجة المركزية إلى القدرة على قراءة وكتابة على هذا الوسط التخزيني. بالإضافة إلى ذلك، يجب أن يتيح هذا النظام لوحدة المعالجة المركزية القفز إلى أي سطر من الشفرة المخزنة بسهولة تامة، مثل القفز إلى أي سطر آخر من الشفرة. يجب أن تتم جميع هذه العمليات بسرعة تقارب سرعة عمل ساعة وحدة المعالجة المركزية. لحسن الحظ، توجد هذه الوحدة السحرية منذ سنوات عديدة: random access memory (RAM) . يتناول الفصل 4 "RAM" هذا المفهوم بالتفصيل، لذا دعنا ننظر في الوقت الحاضر إلى ذاكرة الوصول العشوائي كجدول إلكتروني، مثل الجدول الذي يمكنك إنشاؤه في Microsoft Excel (انظر الشكل1 ). يمكن لكل خلية في هذا الجدول أن تحتوي على الرقم 1 أو الصفر فقط. تُعرف كل خلية ب bit . كل صف في الجدول يتألف من 8 bit لتتوافق مع EDB في 8088.

يُعرف كل صف من 8 بتات ببايت (byte). في أجهزة الكمبيوتر الشخصية، تنتقل ذاكرة الوصول العشوائي بيانات من وإلى وحدة المعالجة المركزية بشكل مجموعات بحجم بايت. لذا، تُرتب ذاكرة الوصول العشوائي في صفوف بحجم البايت. هنا بعض المصطلحات المستخدمة للحديث عن كميات البتات:

الشكل 1


• أي 1 أو 0 = (bit)

• 4 بتات = (nibble)

• 8 بتات = بايت (byte)

• 16 بتًا = كلمة (word)

• 32 بتًا = مزدوجة الكلمة (double word)

• 64 بتًا = فقرة أو رباعية الكلمة (paragraph or quad word)


عدد بايتات ذاكرة الوصول العشوائي يختلف من جهاز كمبيوتر إلى آخر. في أجهزة الكمبيوتر الشخصية الأقدم، من حوالي عام 1980 إلى عام 1990، كان النظام النموذجي يحتوي فقط على عدد قليل من المئات من آلاف البايتات من ذاكرة الوصول العشوائي. في الأنظمة الحديثة، غالبًا ما تحتوي الأنظمة على مليارات البايتات من ذاكرة الوصول العشوائي.


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

الشكل 2



تقوم وحدة المعالجة المركزية بالوصول إلى أي صف واحد من ذاكرة الوصول العشوائي بنفس السهولة والسرعة التي تواجهها عند الوصول إلى أي صف آخر، وهذا يفسر الجزء "الوصول العشوائي" في ذاكرة الوصول العشوائي. وليس فقط تكون ذاكرة الوصول العشوائي قابلة للوصول بشكل عشوائي، بل إنها أيضًا سريعة. عن طريق تخزين البرامج على ذاكرة الوصول العشوائي، يمكن للوحدة المعالجة المركزية الوصول إليها وتشغيلها بسرعة كبيرة. كما تقوم ذاكرة الوصول العشوائي بتخزين أي بيانات يستخدمها الوحدة المعالجة المركزية بنشاط.


تستخدم الحواسيب ذاكرة الوصول العشوائي الديناميكية dynamic RAM (DRAM)

كذاكرة رئيسية للنظام. الـ DRAM تحتاج إلى تيار كهربائي مستمر وتحديث متكرر للدوائر، وإلا فإنها تفقد البيانات. هذا هو سبب تسميتها بديناميكية، لأنها تتغير باستمرار. قد يسبب عملية التحديث بعض التأخير، حيث يجب على المعالج المركزي الانتظار لحدوث التحديث. ولكن لدى مصنعي وحدات المعالجة المركزية الحديثة طرق ذكية للتعامل مع هذه المشكلة، وستتعرف على تفاصيل تقنية المعالجات الحديثة في وقت لاحق في هذا الفصل.


لا تخلط ذاكرة الوصول العشوائي مع أجهزة التخزين الجماعي مثل الأقراص الصلبة وأجهزة التخزين الفلاش. تستخدم الأقراص الصلبة وأجهزة التخزين الفلاش لتخزين البرامج والبيانات بشكل دائم. يتناول الفصول من 8 إلى 10 التخزين الدائم بتفصيل شامل.


ال Address Bus :


حتى الآن، يتكون الكمبيوتر بأكمله فقط من وحدة المعالجة المركزية وذاكرة الوصول العشوائي. ولكن يحتاج وحدة المعالجة المركزية وذاكرة الوصول العشوائي إلى بعض الاتصالات لتتمكن من التحدث مع بعضها البعض. للقيام بذلك، يتم تمديد الحافلة الخارجية للبيانات من وحدة المعالجة المركزية لتتحدث مع ذاكرة الوصول العشوائي. يمكنك رؤية ذلك في الشكل 3 .

الشكل 3



لحظة، هذا ليس مجرد إدخال ذاكرة الوصول العشوائي في أسلاك الحافلة الخارجية للبيانات (EDB)! ذاكرة الوصول العشوائي هي جدول بآلاف وآلاف الصفوف المستقلة، وتحتاج إلى النظر إلى محتويات صف واحد فقط من الجدول في كل مرة، أليس كذلك؟ إذاً، كيف يتم ربط ذاكرة الوصول العشوائي بالحافلة الخارجية للبيانات بهذه الطريقة التي يمكن لوحدة المعالجة المركزية رؤية أي صف معين وفي الوقت نفسه تعطي وحدة المعالجة المركزية القدرة على النظر في أي صف في ذاكرة الوصول العشوائي؟

نحتاج إلى نوع من الشريحة بين ذاكرة الوصول العشوائي ووحدة المعالجة المركزية لإجراء الاتصال. يجب أن تكون وحدة المعالجة المركزية قادرة على تحديد الصف الذي تريده في ذاكرة الوصول العشوائي، ويجب أن تتعامل الشريحة مع عملية استرداد تلك الصف من ذاكرة الوصول العشوائي ووضعها على الحافلة الخارجية للبيانات وهذه الشريحة اسمها هو ال memory controller chip (MCC) .شريحة ال MCC تحتوي الشريحة على دوائر خاصة بحيث يمكنها الوصول إلى محتويات أي صف في ذاكرة الوصول العشوائي ووضع تلك البيانات أو الأوامر على الحافلة الخارجية للبيانات. وبدوره يمكن لوحدة المعالجة المركزية التفاعل مع هذا الكود. يمكنك رؤية ذلك في الشكل 4 .

الشكل 4


بمجرد تواجد وحدة تحكم الذاكرة (MCC) لاستخراج أي بايت منفصل من ذاكرة الوصول العشوائي، يحتاج وحدة المعالجة المركزية إلى القدرة على إخبار وحدة التحكم بالذاكرة (MCC) بأي صف من الشفرة يحتاج إليه وحدة المعالجة المركزية. لذلك، تحصل وحدة المعالجة المركزية على مجموعة ثانية من الأسلاك، تسمى سلك العنوان او بال Address Bus ، والتي يمكنها استخدامها للتواصل مع وحدة التحكم بالذاكرة (MCC). تختلف أعداد الأسلاك في Address Bus من وحدة المعالجة المركزية إلى أخرى (والتي سترى قريبًا أهميتها جدًا). فمثلاً، وحدة المعالجة المركزية 8088 كانت تحتوي على 20 سلكًا في حافلة العناوين (انظر الشكل 5 ).

الشكل 5


عن طريق تشغيل وإيقاف أسلاك Address Bus بأنماط مختلفة من الأصفار والواحدات، تخبر وحدة المعالجة المركزية وحدة التحكم بالذاكرة (MCC) بأي صف من ذاكرة الوصول العشوائي تريده في أي لحظة. كل نمط مختلف من الأصفار والواحدات على هذه الأسلاك العشرين يشير إلى بايت واحد من ذاكرة الوصول العشوائي. هنا هنالك سؤالان كبيران. أولاً، كم عدد أنماط مختلفة من تشغيل وإيقاف الأسلاك يمكن أن توجد مع وجود 20 سلكًا؟ وثانيًا، أي نمط يذهب إلى أي صف من ذاكرة الوصول العشوائي؟

"بالناسبة كلمة patterns تعني انماط"


كم عدد الأنماط؟


بشكل رياضي، يمكن أن نجيب على السؤال الأول. كل سلك في Address Bus يكون في إحدى حالتين: تشغيل أو إيقاف. إذا كانت حافلة العناوين تتكون من سلك واحد فقط، فإن هذا السلك سيكون في أي لحظة معينة إما مشغّلًا أو مُطفأً. رياضياً، هذا يمنحنا (استدعي كتب الجبر القديمة الخاصة بك) 2^1 = 2 تركيبة مختلفة. إذا كان لديك سلكين في حافلة العناوين، فإن الأسلاك ستنشئ 2^2 = 4 تركيبات مختلفة. إذا كان لديك 20 سلكًا، ستحصل على 2^20 (أو 1,048,576) تركيبة. نظرًا لأن كل نمط يشير إلى سطر واحد من الشفرة، وأن كل سطر في الذاكرة هو بايت واحد، فإذا عرفت عدد الأسلاك في حافلة العناوين لوحدة المعالجة المركزية، فإنك تعرف الحد الأقصى لسعة الذاكرة العشوائية التي يمكن لوحدة المعالجة المركزية تحملها.


بما أن لدى 8088 حافلة عناوين تتألف من 20 سلكًا، فإن الحد الأقصى للذاكرة التي يمكنها التعامل معها هو 2^20 أو 1,048,576 بايت. بالتالي، كان لدى 8088 مساحة عناوين بحجم 1,048,576 بايت. هذا لا يعني أن كل حاسوب يحتوي على وحدة معالجة مركزية 8088 يحتوي على 1,048,576 بايت من الذاكرة.


حسنًا، الآن تعرف أن 8088 يحتوي على 20 سلكًا للعناوين ومساحة عناوين إجمالية قدرها 1,048,576 بايت. على الرغم من أن هذا صحيح، إلا أنه لا يستخدم أحد هذا المصطلح الدقيق للحديث عن مساحة عناوين 8088. بدلاً من ذلك، يقولون أن 8088 لديه مساحة عناوين تبلغ واحد ميجابايت (1 ميجابايت).


ماذا يعني "ميجا"؟ حسنًا، دعنا نتعرف على بعض المصطلحات. التعامل مع الحواسيب يعني التعامل باستمرار مع عدد التركيبات التي يمكن لمجموعة من الأسلاك التعامل معها. هنا قائمة تشرح ذلك:


1 كيلو = 2^10 = 1024 (يُختصر "K")

1 كيلوبايت = 1024 بايت (يُختصر "KB")

1 ميجا = 2^20 = 1,048,576 (يُختصر "M")

1 ميجابايت = 1,048,576 بايت (يُختصر "MB")

1 جيجا = 2^30 = 1,073,741,824 (يُختصر "G")

1 جيجابايت = 1,073,741,824 بايت (يُختصر "GB")

1 تيرا = 2^40 = 1,099,511,627,776 (يُختصر "T")

1 تيرابايت = 1,099,511,627,776 بايت (يُختصر "TB")


النظام المتري(Metric System) وذاكرة الكمبيوتر


في البداية، يجب أن أوضح أن هناك اختلافًا بين الطريقة التي يستخدم بها النظام المتري والطريقة التي يستخدم بها النظام الثنائي في عالم الحوسبة.


في النظام المتري، يتم استخدام القوى العشرية لتحديد الوحدات. على سبيل المثال، الكيلو يعني 1000 والميجا يعني مليون والجيجا يعني مليار وهكذا.


أما في النظام الثنائي، يستخدم الأشخاص في مجال الحوسبة الأرقام القوى التي تعتمد على الأعداد الثنائية. على سبيل المثال، 2^10 (مرفوعة إلى الأس 10) تكون تساوي 1024. ويستخدم المصطلح "كيلو" للإشارة إلى هذه القيمة.


وفي العصور الأولى للحوسبة، عندما ظهرت حاجة للحديث عن قيم كبيرة، لم يكن هناك مصطلحات محددة للأعداد مثل 1024 أو 1,048,576. لذلك استخدموا "كيلو" و "ميجا" لأن القيمة 1000 كانت قريبة بما فيه الكفاية من 1024 وقيمة 1,000,000 كانت قريبة بما فيه الكفاية من 1,048,576.


في الوقت نفسه، استخدم الأشخاص العاملون في مجال الحوسبة لقياس كميات مثل سرعة وحدة المعالجة المركزية وسعة الأقراص الصلبة القيم العادية القائمة على النظام المتري، حيث كانوا يحتاجون فقط إلى القيمة 1000 للكيلو و 1,000,000 للميجا.


ومن الثمانينات وحتى حوالي عام 1990، لم يهتم أحد بهذه الحالة الغريبة حيث يمكن أن يكون لكل كلمة قيمتين. وكان كل شيء على ما يرام حتى بدأ العلماء الرياضيون والمحامون في إثارة المشكلات. لحل هذه المشكلة، ابتكرت اللجنة الكهروتقنية الدولية International Electrotechnical Committee (IEC) في عام 1998 بادئة خاصة للقيم الثنائية أطلق عليها اسم "ibis" (تنطق eee-bees).



1 كيبي = 2^10 = 1024 (مختصرًا بـ "Ki")

1 ميبي = 2^20 = 1,048,576 (مختصرًا بـ "Mi")

1 جيبي = 2^30 = 1,073,741,824 (مختصرًا بـ "Gi")

1 تيبي = 2^40 = 1,099,511,627,776 (مختصرًا بـ "Ti")

وبموجب هذا التعديل في التسميات، يجب أن تقول "معالج 8088 يمكنه التعامل مع ميبا بايت (MiB) من الذاكرة". والمشكلة هي أن لا يستخدم أحد إلا العلماء الرياضيين هذه ibis. إذا قمت بشراء ذاكرة وصفتها الشركات المصنعة بوحدة "غيغابايت" على الرغم من أنهم

يجب أن يستخدموا "غيبيبايت" تقنيًا.

إذا مرحبًا بك في عالم العد في مجال تكنولوجيا المعلومات الغريب. دعنا نعود إلى الحديث عن الذاكرة.


ملاحظة :

الرأي النهائي حول كيفية نطق كلمة "ibis" لا يزال قيد المناقشة. ستجد مؤيدين متحمسين للنطق "“keebeebyte " ومؤيدين متحمسين بنفس القدر للنطق "kehbeebyte ". لكن ذلك لا يهم حقاً، لأن البقية منا نقول ببساطة "كيلوبايت".


أي نمط يذهب إلى أي صف؟


السؤال الثاني أصعب قليلاً: "أي نمط يتوافق مع أي صف في ذاكرة الوصول العشوائي (RAM)؟" لفهم ذلك، دعنا نتحدث لحظة عن العد بالنظام الثنائي. في النظام الثنائي، هناك رقمين فقط، صفر وواحد، وهذا يجعل النظام الثنائي طريقة مفيدة للعمل مع الأسلاك التي تعمل بالتشغيل والإيقاف. دعنا نحاول العد بالنظام الثنائي: 0، 1... ما هو الرقم التالي؟ ليس الرقم 2، لأنه يمكنك استخدام الأصفار والواحدات فقط. الرقم التالي بعد الواحد هو 10! الآن دعنا نعد بالنظام الثنائي حتى 1000: 0، 1، 10، 11، 100، 101، 110، 111، 1000. جرب العد حتى 10000 بالنظام الثنائي. لا تقلق، لا يستغرق الكثير من الوقت.


رائع؛ الآن يمكنك العد بالنظام الثنائي مثل أي أستاذ رياضيات. دعنا نضيف بعض الأفكار. دعنا نتوقف عن التفكير في النظام الثنائي للحظة ونفكر في النظام العشري القديم (الأرقام العادية). إذا كان لديك الرقم 365، هل يمكنك وضع الأصفار قبل الـ 365 بهذا الشكل: 000365؟ بالتأكيد يمكنك - لا يتغير القيمة على الإطلاق. نفس الشيء صحيح في النظام الثنائي. وضع الأصفار قبل القيمة لا يغير شيئًا! دعنا نعد مرة أخرى حتى 1000 بالنظام الثنائي. في هذه الحالة، أضف ما يكفي من الأصفار لتصبح الأماكن 20:


00000000000000000000

00000000000000000001

00000000000000000010

00000000000000000011

00000000000000000100

00000000000000000101

00000000000000000110

00000000000000000111

00000000000000001000


هل لاحظت أن هذه ستكون طريقة رائعة لتمثيل كل صف من صفوف ذاكرة الوصول العشوائي على السلك العنواني اللي هو ال Address Bus؟ يعرف المعالج المركزي (CPU) البايت الأول من ذاكرة الوصول العشوائي على السلك العنواني بـ 00000000000000000000. ويعرف المعالج المركزي الصف الأخير في ذاكرة الوصول العشوائي بـ 11111111111111111111. عندما يقوم المعالج المركزي بإيقاف جميع أسلاك العنوان، فإنه يريد الحصول على الصف الأول من ذاكرة الوصول العشوائي؛ وعندما يقوم بتشغيل جميع الأسلاك، فإنه يريد الحصول على الصف الـ 1,048,576 من ذاكرة الوصول العشوائي. بالواضح، يتعامل السلك العنواني أيضًا مع جميع صفوف ذاكرة الوصول العشوائي التي تقع بينهما. لذلك، من خلال تشغيل أنماط مختلفة من الأصفار والواحدات على السلك العنواني، يمكن للمعالج المركزي الوصول إلى أي صف في ذاكرة الوصول العشوائي التي يحتاج إليها.


ملاحظة:

يتم اختصار البتات والبايتات بطرق مختلفة. يتم اختصار البتات بحرف صغير "b"، في حين يتم اختصار البايتات بحرف كبير "B". على سبيل المثال، 4 Kb تعني 4 كيلوبتات، بينما 4 KB تعني 4 كيلوبايت. يتم استخدام معيار الحرف الكبير "B" والحرف الصغير "b" على طول السلسلة الغذائية، لذا 2 Mb تعني 2 ميجابت، 2 MB تعني 2 ميجابايت، 4 Gb تعني 4 جيجابت، و 4 GB تعني 4 جيجابايت، وهكذا.







■ النهاية 


نكون هنا انتهينا تماما من الجزء 2 من الفصل 3 من شهادة A plus المقدمة من CompTIA نتقدم الأن ولكن المشوار طويل وممتع جدا جدا لذلك احرص على قرائة كل فصل سريعا


و لا بد وانت تقرا ان تكون مركز جيدا لكل معلومة ومعك ورقة وقلم , لانك بالتاكيد ستحتاجها 


واذا واجهتك اي مشكلة في الفهم او ما شابه , يمكنك على الفور الذهاب الى المجتمع الخاص بنا في Telegram للمناقشة والتواصل معنا من هنا  


او اذا واجهتك مشكلة في الموقع او تريد اجابة سريعة يمكنك الذهاب الى اخر صفحة في الموقع ستجد صفحة اتصل بنا موجودة يمكنك ارسالة لنا مشكلتك , وسيتم الرد عليها بسرعة جدا ان شاء الله 


ويمكنك الأنضمام الى المجتمع Hidden Lock بالكامل مع جميع قنواته للأستفادة في اخر الأخبار في عالم التقنية وايضا الكتب بالمجان والكورسات والمقالات من خلال الرابط التالي لمجموعة القنوات من     هنا 



يمكنك ايضا متابعتنا في منصات X او Twitter سابقا , لمشاهدة الاخبار والمقالات السريعة والمهمة من    هنا 


وفقط كان معكم sparrow مقدم هذه الشهادة من فريق Hidden Lock









إرسال تعليق

0تعليقات

إرسال تعليق (0)

#buttons=(موافق!) #days=(20)

يستخدم موقعنا ملفات تعريف الارتباط لتحسين تجربتك. تاكد الان
Ok, Go it!