اقوى شرح للبنية العامة للمعالجات CPU_Computer Interface دوائر موائمة

الكاتب بتاريخ عدد التعليقات : 0
cpu,شرح لغة التجميع
اقوى شرح للبنية العامة للمعالجات CPU  - computer electronics
المحاضرة الاولى في محاضرات الدوائر الموائمة 
  1.  البتbit  : رقم ثناني يمكن أن يأخذ أحد القيم 0 أو 1 .
  2. البايت byte وحدة معلومات ، تتألف من 8 بتات.
  3. رباعية nibble نصف بايت (4 بتات ).
  4. كلمة word يمكن أن تكون الكلمة بحجم 1 بايت أو 2 بايت أو 4 بايت، تبعًا. لوحدة المعالجة المركزية CPU ويعتبر حجمها 2 بايت إن لم يذكر غير ذلك. 
  5. كلمة مزدوجة double word وحدٌة من المعطيات مكونة من كلمتين متلاصقتين، حجمها 4 بايت إن لم يذكر غير ذلك.
  6. كيلو بايت kbyte  ويساوي 210 بايت (1024 بايت)
  7. ميغا بايت Mbyte ويساوي 220 بايت (1,048,576 بايت).
  8. غيغا بايت Gbyte ويساوي 230 بايت.


شرح لغة التجميع


تمهيد

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

cpu,شرح لغة التجميع





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

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

من الجدير بالذكر، أن السيارة العادية تحتوي اليوم أكثر من 15 معالج صغري، بينما تحتوي سيارة أو مرسيدس من نوع BMWأكثر من 65 معالج صغري . أصبح المعالج الصغري اليوم اللبنة الأساسية في بناء أي نظام رقمي يحتاج إلى إجراء حسابات، واتخاذ قرار اعتمادًا على مراقبة أحداث خارجية، وكذلك الاحتفاظ بأحداث سابقة. يدخل المعالج الصغري اليوم في بنية الحواسيب الشخصية وغيرها، الهواتف الرقمية، أفران المِكرويف، التلفاز، بطاقات الاعتماد والبطاقات الذكية، أنظمة التحكم ونظم الأتمتة الصناعية، ... تعمل الشركات، كل عام، على تصميم وإنتاج معالجات جديدة تلبي أكثر فأكثر حاجة مهندسي التصميم. ومع ذلك، تبقى النظرية الأساسية خلف تقانة المعالجات نفسها، فهو دارة رقمية (Integrated Circuit) IC عالية التكامل


للاستخدام العام، يقود عملها مجموعة من التعليمات البرمجية، ويتصل مع العديد من الرقاقات chips الخارجية لتنجيز عمليات دخل/خرج تبعًا للمهمة المحددة.

إن استطعت فهم بنية وعمل أي من المعالجات القديمة مثل 8085 من Intel أو Z80 من Zilog أو 6800 من Motorola فيمكنك ذاتيًا استدراك المعلومات الضرورية لاستيعاب المعالجات الصغرية الأكثر حداثة. 

لقد اخترنا في مقررنا هذا دراسة المعالج 8088/ 8086 من Intel لعدة أسباب منها: اعتمد تصميم الحاسوب الشخصي الأول حول هذا المعالج، واعتماد تصميم المعالجات الأحدث 80486 ،80386 ،80286 وكذلك سلسلة بنتيوم على بنية هذا المعالج.


البنية العامة لنظام صغري


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

يضم معالج صغري ثلاث كتل رئيسة:
وحدة الحساب والمنطق Arithmetic Logic Unit (ALU)
وحدة التحكم Control Unit (CU) .
سجلات داخلية Registers .


interface circuit,شرح لغة التجميع


يشبه المعالج الصغري في بنيته وحدة المعالجة المركزية Central Processing Unit (CPU) وهي التجهيزةُ التي تُفسِّرُ وتُنفِّذُ التعليمات. تتضمَّن الحواسيبُ الرئيسةُ والصغيرةُ القديمةُ لوحاتٍ مليئةً بالدارات المتكاملة تُكوِّن بمجملِها وحدةَ المعالجةِ المرآزية ، ولكنه يجمع كل الدارات المنطقية التي تتكون منها ال CPU ضمن رقاقة chip أو دارة متكاملة واحدة.

يحتاج المعالج لإنجاز عمله دارات إضافية ُتربط مع المعالج عن طريق مساري النظام، وهذه الدارات ليست جزءًا من المعالج نفسه ولكنها ضرورية لتخزين تعليمات البرنامج والمعطيات وكذلك لتواصل المعالج مع المحيط الخارجي. يمكن أن نميز من هذه الدارات، على نحو أساسي، دارة مفكك العنونة، والذواكر وبوابات دخل/خرج. تشكل هذه المكونات مجتمعة مع المعالج النظام أو نظام المعالجة microprocessor-based system ويسمى أيضًا حاسوب صغري microcomputer نطلق على الحاسوب الصغري، عندما يكون مخصصًا لإنجاز مهام متنوعة من قبل مستخدم واحد اسم حاسوب شخصي PC ومع تطور تقانة صناعة الرقائق فقد أصبح من الممكن وضع جميع مكونات النظام ضمن رقاقة واحدة، وعندما يكون كذلك نسمي الحاسوب الصغري متحكمًا صغريً microcontroller وهو يستخدم في نظم التحكم مثل الإشارة الضوئية.


وحدة الحساب والمنطق ALU


وهو الجزء من المعالج الذي ينفذ العمليات الأساسية على المعطيات الإثنانية أو الممثلة ثنائيًا binary data. تنجز ال ALU العمليات الحسابية (1 المعالجات الأولى مثل 8085 لا تحتوي هذه العملية)مثل: الجمع والطرح، والضرب، والعمليات المنطقية مثل OR ،AND الإزاحة نحو اليمين SHR أو اليسار SHL تستقبل هذه الوحدة إشارات تحكم من وحدة التحكم تخبره عن نوع العملية المراد تنفيذها على المعطيات.

تستخدم ALU في عملها السجلات الداخلية للمعالج وخصيصًا المراكم Accumulator الذي يحتوي نتيجة العملية المنجزة وسجل الراية Flag register الذي يتكون من مجموعة بتات ُتستخدم لتخزين معلومات عن آخر عملية نفذتها الـ .ALU 

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



 وحدة التحكم CU

وهو المكون الأكثر تعقيدًا في المعالج، يؤمن جميع التواقيت timing وإشارات التحكم اللازمة لعمل المكونات الأخرى للمعالج ومنها ALU وهو ايضاً مسؤول عن تنجيز دورة تنفيذ التعليمة instruction execution cycle كما يتحكم بعمليات نقل المعطيات بين المعالج والذاكرة والمحيطيات peripherals ..


تحتوي وحدة التحكم ثلاث عناصر أساسية وهي:


مفكك الترميز Decoder
يستخدم لفك ترميز التعليمات، التي تشكل البرنامج، عند تنفيذها، ويحدد الأفعال الواجب القيام بها لإنجاز كل تعليمة بعد تفحص رِمَاز العملية opcode (1 اختصار ل operation code جزءٌ من تعليمة لغة الآلة يحدد نوع التعليمة وبنية المعطيات التي ستعمل عليها .) للتعليمة مع تحديد نمط العنونة المستخدم .

المؤقت أو الميقاتية Timer or clock:
تكفل بتنفيذ وإنهاء جميع العمليات والتعليمات في الوقت الصحيح. تولد نبضات منتظمة إلى الأجزاء الأخرى من المعالج مما يؤمن عمل المعالج على نحو متزامن. 

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

سجلات داخلية Registers


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


عداد البرنامج Program Counter (PC) :
أو مؤشر التعليمة Instruction Pointer (IP) يستخدم لمسك عنوان التعليمة التالية التي سينفذها المعالج.

سجل التعليمة :Instruction Register (IR) 
يستخدم لمسك التعليمة الحالية في المعالج بينما يجري فك ترميزها وتنفيذها.

المراكم (ACC أو A) Accumulator : 
يستخدم لحفظ نتيجة العمليات التي تنفذها وحدة الحساب والمنطق.

سجل عنوان الذاكرة Memory Address Register (MAR) : يُستخدم لحفظ عنوان الذاكرة التي سيتم قراءة المعلومات منها أو كتابتها إليها. 

سجل صوان الذاكرة Memory Buffer Register (MBR)
توضع التعليمة او المعطيات أولاً في سجل صون الذاكرة ومن ُثم تنقل إلى الموقع المناسب، عند جلب تعليمة أو معطيات من الذاكرة.

سجل الراية أو الحالة Flag register/status flags : 
يتكون من مجموعة بتات تتغير قيمها تبعًا لنتيجة آخر عملية تنفذها وحدة الحساب والمنطق.

سجلات للاستخدامات العامة :general purpose register مثل السجل B ليس لهذه السجلات وظيفة محددة وُتستخدم عادة لتخزين المعطيات التي يحتاج إليها لاحقًا تنفيذ البرنامج.


مسرى النظام System Bus


عبارة عن أسلاك كهربائية ُتستخدم لربط كل من المعالج والذاكرة والمحيطيات ولتبادل المعطيات بين الأجزاء المختلفة للنظام. 
يتكون مسرى النظام من ثلاث أنواع رئيسية وهي :

مسرى التحكم Control Bus : 
يختلف عرضه (عدد أسلاكه) من معالج إلى آخر، ولكل خط أو سلك وظيفة محددة. يحمل هذا المسرى إشارات تعبر عن نوع العملية التي يجري تنفيذها حاليًا. اعتمادًا على هذه الإشارات، تستطيع الدارات الخارجية المرتبطة مع المعالج معرفة كون العملية هي قراءة، كتابة، عملية دخل/خرج I/O (اختصار لـ Input/Output) نفاذ إلى الذاكرة، أو عملية اخرى. 

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

مسرى العنونة Address Bus: 
يولد المعالج الإشارات على هذا المسرى من أجل عِنونة موقع من الذاكرة أو اختيار إحدى التجهيزات المحيطية التي يقرأ منها أو يكتب فيها حاليًا المعطيات. يُحدد عدد خطوط مسرى العنونة السعة العظمى للذاكرة التي يمكن أن يعنونها المعالج. يُرسل العنوان بالصياغة الاثنانية binary format ويحمل كل خط رقم اثناني واحد، لذلك تساوي سعة العنونة العظمى(عدد المواقع ) 2 قوة عدد الخطوط .

مثال: إن عدد خطوط العنونة في المعالج 8086/ 8088 يساوي 20 وبالتالي فإن سعة الذاكرة العظمى التي يمكن للمعالج عنونتها هو 1024576= 220 أو 1 ميغا موقع .


اختبار ذاتي:


بفرض أننا نريد عنونة ذاكرة حجمها 65536 بايت أو 64 كيلو بايت. ما عدد خطوط العنوانة اللازم استخدامها لعنونة كامل هذه الذاكرة. 
الحل: عدد الخطوط يساوي.log2 65536 = 16 


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

الذاكرة memory

تتوضع الذاكرة بجوار المعالج وتشكل جزءًا أساسيًا من النظام. يحتوي النظام عادة على نوعين من الذاكرة ROM (read-only memory) وهي ذاكرة للقراءة فقط. تحتوي على تعليمات أو معطيات يمكِن قرائتها ولا يمكِن تعديُلها، لذلك تسمى أيضًا بالذاكرة الميتة.. و RAM (random access memory وهي ذاكرة ذات وصول عشوائي. تستطيع وحدُة المعالجة المركزية CPU او أي عتاد اخر أن تقرَأها وتكتب فيها. ويمكِن النفاُذ إلى مواضعِ التخزين فيها بأيً ترتيب. وتسمى أيضًا بالذاكرة الحية ) .


بوابات دخل/خرج input/output ports


يمكن أن تتبادل الطرفيات (الطرفية هي تجهيزٌة (مثل سواقة القرص disk drive أو طابعة، أو مودم، أو عصا قيادة joystick تُربط بالحاسوب ويتحكَّم فيها المعالج الصغري للحاسوب ) أو التجهيزات المحيطية المعطيات مع المعالج عن طريق بوابات دخل/خرج .

تُستخدم بوابات الدخل لإدخال معطيات إلى المعالج عن طريق مسرى المعطيات. وهذه البوابات عبارة عن دارة صوان مخارجها من نوع ثلاثي- الحالة three-state (أي أن خرج الدارة أو الرقاقة يساوي إما " 0 منطقي" أو " 1 منطقي" أو أن يكون في الحالة العائمة وكأن الرقاقة غير موجودة. يجب أن تمتلك جميع مخارج الدارات أو الرقائق الموصولة إلى مسرى المعطيات هذه الخاصية ) يمكن أن يوصل من الطرف الآخر للبوابة أي تجهيزة أو طرفية دخل مثل لوحة المفاتيح. تضع بوابة الدخل معطياتها على مسرى المعطيات عندما يطلب المعالج ذلك. 

كما تسمح بوابات الخرج للمعالج بإرسال معطيات إلى الوسط الخارجي، مثل الطابعة أو ديودات ضوئية LEDs (اختصار لـ light-emitting diode وهو عنصر نصف ناقل، يحول الطاقَة الكهربائيَة إلى ضوء.) غالبًا ما تكون بوابات الخرج مكونة من قلابات من نوع D لمسك المعطيات التي يضعها المعالج على مسرى المعطيات، مما يسمح للمعالج بمتابعة تنفيذ مهام أخرى. 


آلية عمل المعالج الصغري


يعمل المعالج على تنفيذ التعليمات التي ُتكون البرنامج تعليمة تلو الأخرى. وبما أن المعالج الصغري يستطيع فقط التعامل مع معطيات ممثلة إثنانيًا، فإن لكل تعليمة instruction ترميز إثناني أو قيمة إثنائية ُتعبر عنها، ويجب تزويد المعالج التعليمات باللغة الإثنانية أو لغة الآلة .machine language نسمي جميع التعليمات التي يتع  رفها المعالج ويستطيع تنفيَذها بمجموعة التعليمات instruction set لكل معالج مجموعة تعليمات مختلفة وذلك تبعًا لبنية ال CPU او المعالج .


لا أحد عمليًا يكتب برنامجًا بلغة الآلة، لأن عليه حفظ المئات من الرموز المختلفة التي تطابق كل منها تعليمة من تعليمات المعالج ولحسن الحظ، فإن مصممو المعالجات يزودنا بكلمات إنكليزية-مختصرة أو ترميز استذكاري mnemonic codes توافق كلُّ عبارةٍ منها تعليمة آلةٍ واحدة، تُشكل مجموع هذه العبارات لغة التجميع .assembly language 

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

بما أن لكل معالج لغة تجميع خاصة به، فلا يمكن تبادل البرامج المكتوبة بلغة آلة بين المعالجات. وللتغلب على هذه المشكلة فقد جرى تطوير لغات عالية المستوى، مثل C و Fortran و Basic غير معتمدة على معالج محدد. يتألف كود آلة لتعليمة ما، من حقلين منفصلين كود العملية opcode (operation code) والمعامل operand او المعاملات كود العملية عبارة كود موجز يشير إلى نوع العملية المتوقعة، ولكل تعليمة كود وحيد. يشير المعامل أو المعاملات إلى مكان توضع المعطيات (يمكن أن تكون المعطيات التي سيستخدمها المعالج في تنفيذ التعليمة موجودة في سجل داخلي أو في الذاكرة أو

حتى يجري قراءتها من إحدى البوابات الموصولة مع المعالج.) وكيفية النفاذ إليها (نمط العنونة). يحدد نمط العنونة طريقة الحصول على المعطيات: مباشرة، غير مباشرة) يختلف كود الآلة من معالج إلى آخر ويمكن أن يتراوح من بايت إلى 12 بايت. 



Integrated Circuit




على سبيل المثال، إن كود العملية لتعليمة تخزين محتوى المراكم في مكان معين في الذاكرة يساوي 00110010b 32h للمعالج 8085 تُكتب هذه التعليمة بلغة التجميع STA وهي مختصرة لخزن المراكم STore Accumulator .

يحدد طول كود العملية عدد العمليات المختلفة التي يمكن أن ينفذها المعالج. فمثلاً إذا جرى حجز بايت لكود العملية فإن عدد مجموعة تعليمات المعالج تساوي .28 = 256

مثال: يبين البرنامج التالي مثال عن تعليمات بلغة المُجمع للمعالج 8085 وما يقابلها من اكواد الآلة

Registers


بما أن كل موقع ذاكرة يحوي على بايت واحد في المعالج 8085 وبفرض ان أول تعليمة من البرنامج خزنت بالعنوان 1000 h ، فإن محتوى الذاكرة يظهرعلى النحو التالي بعد شحن البرنامج في الذاكرة:
computer electronics

بعد تنفيذ التعليمة يصبح محتوى الموقع 2050 h مساويًا .22h 

دورة تنفيذ تعليمة Instruction Execution Cycle 
قبل البدء بتنفيذ البرنامج يجب اولاً تحميله في الذاكرة. ينفذ المعالج التعليمات تعليمة تلو الأخرى، بدءًا من التعليمة الأولى، حتى انتهاء البرنامج. يتطلب تنفيذ تعليمة آلة واحدة ثلاث خطوات أساسية: جلب، فك ترميز وتنفيذ. نحتاج إلى خطوتين إضافيتين، عندما تستخدم التعليمة معامل ذاكرة(أي أن المعامل في التعليمة موجود في الذاكرة) وهما: جلب المعامل وحفظ معامل الخرج. نسمي الزمن اللازم لإتمام تنفيذ تعليمة واحدة بدورة تنفيذ التعليمة instruction execution cycle , في حين نسمي دورة آلة machine cycle بالزمن اللازم لإتمام عملية قراءة أو كتابة من ذاكرة أو من بوابة نستخدم الساعة clock الموجودة في وحدة التحكم من المعالج لمزامنة جميع الأحداث السابقة. تُولد وحدة التحكم نبضات منتظمة على مسرى النظام بتردد محدد، وكلما كان تردد النبضات أعلى ازدادت سرعة تنفيذ التعليمات

comparato




نسمي الزمن اللازم لإتمام نبضة كاملة بدورة ساعة clock's cycle ونسمي مقلوبها سرعة أو تردد الساعة وتقاس بالهرتز (الهرتز وحدة قياس تردد، تساوي عدد أدوار الإشارة خلال ثانية) ويتراوح تردد ساعة النظام من عدة ميغاهرتز في المعالجات الأولى مثل 8085 و 8086/ 8088 إلى عدة غيغاهرتز في المعالجات الحديثة مثل بنتيوم .

يختلف عدد أدوار الآلة اللازم لتنفيذ كل تعليمة. وأكثر من ذلك، فإن عدد أدوار الساعة اللازم لإنجاز دورة آلة يختلف تبعًا للعملية، هل هي عملية جلب أم قراءة من الذاكرة .. الخ. ونسمي كل دورة ساعة من دورة الآلة بالحالات T2 ،T1 ... ،فمثلاً تحتاج عملية جلب التعليمة من الذاكرة في المعالج 8086/8088 إلى 4 أدوار ساعة أو حالات بينما تحتاج عملية الكتابة في الذاكرة إلى 3 حالات. واعتمادًا على ما سبق فإن عدد أدوار الساعة اللازم لتنفيذ تعليمة يختلف من واحدة إلى أخرى. فعلى سبيل المثال يحتاج المعالج 8086/8088 إلى 70 دورة ساعة لتنفيذ عملية ضرب، في حين يحتاج المعالج نفسه فقط إلى 3 أدوار ساعة لجمع محتوى سجلين داخليين.

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

دورة جلب المعاملات fetch operands cycle:
إذا كانت التعليمة تستخدم معاملاً موجودًا في الذاكرة فإن وحدة المنطق تنجز عملية قراءة من أجل قراءة المعامل ووضعه في سجلات داخلية للمعالج غير مرئية لبرنامج المستخدم.

دورة تنفيذ execute cycle 
تنفذ ALU التعليمة مستخدمةً السجلات المشار إليها في التعليمة والسجلات الداخلية كمعاملات، وترسل خرج العملية إلى السجل المحدد بالتعليمة أو إلى الذاكرة، كما تُحدِّث ALU رايات الحالة بعد الانتهاء من تنفيذ التعليمة. 

دورة حفظ معامل الخرج :store output operand
إذا كانت التعليمة تتطلب حفظ أو تخزين معامل الخرج في الذاكرة، تُنفذ وحدة التحكم عملية كتابة لتخزين المعطيات.
تُخزن التعليمات في الذاكرة على نحو تتابعي و يشير مؤشر التعليمة IP على عنوان التعليمة التالية، يمكن بيان كيف يجري تنفيذ تعليمات برنامج على نحو تتابعي، باستخدام كود مُفتَرض pseudocode.

حلقة
اجلب التعليمة التالية
زد مؤشر التعليمة IP
فك ترميز التعليمة
إذا كان المعامل في الذاكرة، اقرأ القيمة من الذاكرة
نفذ التعليمة
إذا كان معامل الخرج ذاكرة، اكتب النتيجة في الذاكرة
تابع الحلقة

نظام تحكم بدرجة الحرارة
سنتطرق هنا إلى نظام نموذجي يحوي معالج صغري وهو نظام تحكم بدرجة حرارة غرفة. يتكون النظام من جزأين أساسين: الكيان الجامد وبرمجيات

النظام العتاد Hardware
يتكون نظام التحكم بدرجة الحرارة المبني حول معالج صغري من العناصر الرئيسة التالية:

المعالج الصغري: 
يقرأ المعالج التعليمات الإثنانية من الذاكرة الميتة ROM وينفذها تباعًا. خلال تنفيذ البرنامج يقرأ المعالج درجة الحرارة من خرج المبدل التماثلي/الرقمي A/D ويظهر النتيجة على شاشة ( Liquid Crystal Display )LCD كما يتحكم أيضًا بعمل كل من المروحة والسخان اعتمادًا على درجة الحرارة المقروءة.

الذاكرة: 
يضم النظام نوعين من الذاكرة وهما الميتة ROM لتخزين تعليمات البرنامج والذاكرة الحية RAM لتخزين المتحولات المؤقتة )مثل درجة الحرارة المقروءة( خلال تنفيذ البرنامج. 

بوابة دخل: يحول حساس الحرارة الحرارة إلى إشارة كهربائية التي يعمل المبدل A/D إلى تحويلها إلى الشكل الرقمي. تعمل بوابة الدخل في النظام كصوان يخزن خرج المبدل الرقمي حتى يصبح المعالج جاهزًا لقراءتها. 

بوابات الخرج: تمسك هذه البوابات إشارات التحكم التي يولدها المعالج وتوصلها إلى إحدى التجهيزات الخارجية (مروحة، سخان، مظهر LCD )

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

microcoprocessor


 الحاسوب الشخصي PC


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

الكبيرة المصممة للاستخدام العام ولعدة مستخدمين بآن واحد، مثل الحاسوب الرئيس mainframe أوالحاسوب الفائق supercomputer إلى الحواسيب الشخصية المخصص Personal Computer (PC) لمستخدم وحيد.

أًثَّر تطور تقنية أنصاف النواقل خلال العقود الماضية وابتداع وتطور المعالجات الصغرية بشكل فعال على تطور الحواسيب، فالحواسيب الضخمة التي كان يحتاج بناؤها إلى مساحة كبيرة، تقلصت إلى حواسيب مكتبية صغيرة

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


يبين الشكل اللاحق البنية العامة لحاسوب شخصي متوافق مع IBM ويتكون من ثلاث مكونات رئيسة: تجهيزات محيطية، المعالج الصغري والذاكرة.


 Central Processing Unit

التجهيزات المحيطية: 
مثل الطابعة، القرص المرن، القرص الصلب، الفأرة، قارئ الأقراص المضغوطةCD لوحة المفاتيح، بطاقة مواءمة فيديوية )كرت الشاشة)، بطاقة صوت، الشاشة والمودِم.

المعالج الصغري: 
وهو مخ الحاسوب، وهو أحد أفراد العائلة 80x86 التي تضم سلسلة معالجات انتل من 8086/8088 إلى بنتيوم 4 أو أحد المعالجات المتوافقة معها. 

الذاكره: 
ويمكن تقسيمها إلى الذاكرة الميتة، التي تحتوي على نظام التشغيل BIOS (basic input/output system) والذاكرة الرئيسة والذاكرة الخابية cache وتستخدم لتخزين المعطيات مؤقتًا. 
ترتبط التجهيزات المحيطية مع المعالج عبر مسرى النظام الذي تطور مع ازدياد الحاجة إلى تبادل المعطيات بسرعات عالية. فبينما استخدم الناقل او المسرى ISA (Industry Standard Architecture) الذي عدد خطوط معطياته يساوي 8 بت ويعمل بتردد 8 ميغاهرتز، في الحواسيب الشخصية الأولى XT المبنية حول المعالج 8086/8088 نجد اليوم الحواسيب بنتيوم تستخدم بكثرة المسرى PCI الذي عرضه 64 بت ويعمل بتردد 33 ميغاهرتز. 

اصبح الان كل المكونات الاولية للحاسوب الشخصي مثل المعالج والذاكرة الرئيسية والدارات المساندة والنواقل والكنتاكتور تقع ضمن اللوحة الام Motherboard ...

نبين في الشكل بنية لوحة رئيسة للحاسوب المبني حول المعالج 80486 :
المعالج 80486




تابعونا 

الى الملتقى في المحاضرة الثانية في شرح لغة التجميع ان شاء الله 

دمتم بخير 

يرجى ذكر المصدر في حالة النسخ 

ولا تنسى عزيزي الزائر مشاركة المعلومة مع اصدقائك


0 تعليق على موضوع "اقوى شرح للبنية العامة للمعالجات CPU_Computer Interface دوائر موائمة "

لا تبخل علينا باقتراحك او قم بمشاركة الموضوع ليستفيد الاخرين ايضاً شكرا لزيارتك عزيزي الزائر
الإبتساماتإخفاء