٢- مدخل إلى الكمبيوتر الشخصي IBM PC

  28 Jul 2015


دأب الإنسان في صناعة أدوات تساعده في أداء العمليات الحسابية منذ ما قبل الميلاد. وكان حلم تشارلس باباج (١٧٩١-١٨٧١) هو بناء آلة ميكانيكية تقوم بمعالجة الحسابات بشكل أوتوماتيكي. سنستخدم مصطلح “الكمبيوتر الحديث” من أجل الإشارة لأجهزة الحاسوب التي بين أيدينا اليوم. يعتبر الكمبيوتر هارفارد مارك والكمبيوتر ENIAC من أوائل الحواسيب الحديثة.

وفي عام ١٩٤٥ قام العالم جون فون نيومان (١٩٠٣-١٩٥٧) وآخرون بصياغة First Draft of a Report on the EDVAC، وفيه قام فون نيومان باقتراح معمارية للحاسب الآلي يكون البرنامج فيها مخزن في ذاكرة الحاسب (مبدأ البرنامج المخزن). في واقع الأمر فإن الكثير من الحواسيب اليوم هي في الأصل قائمة على عمارة فون نيومان وعلى مبدأ البرنامج المخزن. يوضح الشكل رقم ١ شكل العمارة التي اقترحها فون نيومان:


شكل ١ – عمارة فون نيومان

من الشكل أعلاه يمكننا استنتاج أن الكمبيوتر القائم على عمارة فون نيومان يحتوي على المكونات الآتية:

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

وحدة التحكم ووحدة الحساب والمنطق معاً يمثلان ما نسميه بـ “المعالج”. قد يكون في المعالج أكتر من مركم، وقد يكون في المعالج مسجلات أخرى غير المركم. يتصل المعالج بالذاكرة ووحدات الإدخال والإخراج عن طريق الناقل العام (System bus)، كما هو موضح بالشكل ٢:


شكل ٢ – الناقل العام

يتصل المعالج والذاكرة ووحدات الإدخال والإخراج ببعضهم البعض من خلال الناقل العام. عندما يقوم المعالج بجلب البيانات (أو التعليمات) من الذاكرة، يقوم بوضع عنوان البايت (أو الكلمة) المطلوبة في ناقل العناوين Address bus. ويقوم بإرسال إشارة “أنا أريد القراءة” من خلال ناقل التحكم Control bus. فتقوم الذاكرة في الحال بوضع البايت المطلوب في ناقل البيانات Data bus. تتم عملية الكتابة بنفس الأسلوب، الفارق هو أن المعالج هو الذي يقوم بوضع البيانات على ناقل البيانات، وتقوم الذاكرة بقراءتها وتخزينها.

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

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

تطور الكمبيوتر الرقمي:

مر الكمبيوتر الحديث بمراحل تطوير كثيرة منذ الأربعينات وحتى اليوم. ومازال الكمبيوتر قيد التطوير حتى اللحظة. الجدير بالذكر أنه في الأربعينات بدأت الحواسب في الانتقال من “حواسب إلكتروميكانيكية” إلى حواسب “كهربية”. كانت الحواسب الالكتروميكانيكية في العادة تستخدم المرحل Relay، أما الحواسيب الكهربية فكانت تستخدم الصمامات المفرغة Vacuum tubes.

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

وباختراع المقحل (الترانزستور) عام ١٩٤٧ والذي استبدل الصمامات المفرغة، أصبحت الحواسب أصغر حجما وأقل تكلفة وأفضل من جهة الاعتمادية. من الحواسيب المشهورة في الستينيات الحاسوب العلمي IBM 1620 الذي انتشر في الجامعات بشكل كبير والحاسوب IBM System/360.

أدى اختراع الدارات المدمجة إلى إمكانية تصنيع دوائر كاملة في نبائط صغيرة الحجم تسمى رقائق chips أو microchips واستخدامها لبناء أجهزة الكمبيوتر والأجهزة الأخرى. في النصف الثاني من الستينيات بدأت الكمبيوترات الصغيرة minicomputers في الظهور. ظهرت الحاجة إلى الـ minicomputer وذلك لإن الكمبيوتر وقتها كان يحتاج إلى تجهيزات وتكاليف باهظة. في العادة يستخدم الناس مصطلح mainframe (كمبيوتر مركزي) للإشارة إلى الكمبيوتر الكبير، ومصطلح الـ minicomputer للإشارة إلى الكمبيوتر الصغير.

من أمثلة الكمبيوترات الصغيرة هي الكمبيوتر PDP-7 و الكمبيوتر PDP-11 من DEC، وهما أول حواسب تم تطوير وتشغيل نظام التشغيل يونكس عليها في بداية السبعينيات.

أدى التطور السريع في صناعة الدارات المدمجة إلى إمكانية تصنيع معالج بالكامل في رقاقة microchip واحدة. المعالج الموضوع على microchip واحدة يسمى microprocessor (معالج صغري أو معالج دقيق).من أقدم المعالجات الميكرووية المعالج 4004 من إنتل.

وفي واقع الأمر، أحدث المعالج الصغري ثورة هائلة في السبعينيات، وأصبح الناس يتطلعون إلى ذلك اليوم حينما يكون هناك كمبيوتر في كل منزل. أدى المعالج الصغري إلى ظهور الميكروكمبيوتر Microcomputers وهي كمبيوترات أصغر من الكمبيوترات الصغيرة minicomputers وتكون في الأغلب قائمة على المعالج الصغري. من أمثلة الكمبيوترات الميكرووية في السبعينيات الكمبيوتر Altair من MITS، والكمبيوتر Apple II الذي كان قائما على المعالج ٦٥٠٢ من MOS. وبسبب انتشار صناعة الكمبيوترات الميكرووية، أدركت IBM أخيرا في بداية الثمانينات أهميته، وبدأت في عام ١٩٨١ خط انتاج جديد وهو الكمبيوتر الشخصي IBM PC.


شكل ٣ – الكمبيوتر الشخصي IBM PC/XT

المواصفات التقنية للكمبيوتر IBM PC:

  • المعالج: استخدمت IBM المعالج 8088 من إنتل، وهو معالج مماثل تماما لـ 8086، إلا أن حجم ناقل البيانات فيه ٨ بت بدلا من ١٦. أي أن الكمبيوتر يمكنه ناقل بايت واحد كل مرة. لكن ما زال حجم الكلمة داخل المعالج ١٦ بت، أي أن المعالج يمكنه معالجة ٢ بايت في نفس الوقت. حجم ناقل العناوين ٢٠ بت، أي أن هناك ١ ميغا عنوان للذاكرة يمكن استخدامها، وبالتالي فإن أقصى حجم للذاكرة هو ١ ميغابايت وكان وقتها هذا الرقم كبير للغاية بالنسبة للميكروكمبيوتر.

  • الذاكرة: أصدرت IBM اصدارات مختلفة من IBM PC تحتوي على ذواكر بحجم ١٦ كيلوبايت أو ٦٤ كيلوبايت. واستخدمات رقاقات DRAM من أجل توفير هذا الحجم من الذاكرة.

  • وحدات الإدخال والإخراج: احتوى الكمبيوتر على مجموعة من الوحدات المختلفة، مثل بطاقة العرض وذاكرةROM لتخزين بايوس (سيتم الحديث عنهم في الفصول المقبلة)، ووحدة للتحكم في محركات الأقراص المرنة Floppy Disk Controller، ووحدة للتحكم في لوحة المفاتيح Keyboard controller، ووحدات أخرى سيتم التحدث عنها في المقالات الآتية.


شكل ٤ – التصميم العام لنظام الكمبيوتر الشخصي


شكل ٥ – اللوحة الأم للكمبيوتر الشخصي. هل يمكنك التعرف على المكونات الموجودة في شكل ٤؟

شهد الحاسوب الشخصي انتشارا كبيرا، وباتت IBM في تطوير نماذج أحدث من الكمبيوتر IBM PC. في عام ١٩٨٣ قامت IBM بإصدار الكمبيوتر IBM PC/XT والذي تميز بحجم ذاكرة أكبر يصل إلى ٦٤٠ كيلو بايت ومحرك قرص صلب داخلي. وفي عام ١٩٨٤ قامت IBM بإصدار الكمبيوتر IBM PC/AT حيث تم استبدال المعالج 8088 بالمعالج 80286، وأصبح من الممكن زيادة حجم الذاكرة إلى ١٦ ميغابايت.

ومنذ بداية ظهور الكمبيوتر الشخصي IBM PC بدأت الشركات الأخرى في تصنيع حواسيب متوافقة مع الكمبيوتر IBM PC وهي ما تسمى PC clones. وبعد أن تركت IBM خط إنتاج الكمبيوتر الشخصي أصبحت تلك الحواسيب المتوافقة مع الكمبيوتر الشخصي IBM PC compatibles هي السائدة. الحواسيب الشخصية الموجودة اليوم هي في الحقيقة IBM PC compatibles. وبالتالي فإنها متوافقة بشكل كبير مع مواصفات الحواسيب الشخصية القديمة PC/XT وPC/AT.

وفي الواقع هذا هو سبب اختيارنا للكمبيوتر الشخصي IBM PC، لأن الكمبيوترات الشخصية الموجودة اليوم والتي تصنعها شركات مختلفة هي في واقع الأمر IBM PC compatibles، وهي الحواسيب الشخصية الأكثر انتشارا اليوم.

تستخدم الحواسيب الشخصية اليوم معالجات أكثر تقدما من 8088 و80286، وفي الأغلب فإن جميعها متوافقة مع المعالج 80386، وهو معالج ٣٢-بت وحجم الذاكرة فيه قد يصل إلى ٤ غيغا بايت (لأن ناقل العناوين حجمه ٣٢ بت). المعالج بنتيوم من أبرز المعالجات الموجودة اليوم، وهو متوافق مع المعالج 80386.

يدعم المعالج 80386 وضعان أساسيان للتشغيل: الوضع الحقيقي والوضع المحمي. في الوضع الحقيقي يكون 80386 متوافقا مع المعالج 8088 ذي ١٦-بت. أما في الوضع المحمي يعمل المعالج 80386 في وضع ٣٢-بت ويدعم إمكانيات أكثر تقدما مثل ترحيل الصفحات paging.

عند بدء تشغيل الكمبيوتر يبدأ المعالج 80386 في الوضع الحقيقي أي وضع 8088، ثم يقوم نظام التشغيل لاحقا بالتحول إلى الوضع المحمي. ولأن الكمبيوتر في الوضع الحقيقي يكون شبيها بشكل كبير بالكمبيوتر IBM PC/XT، فسنتحدث في هذه المقالة عن الكمبيوتر IBM PC/XT بشكل أساسي، وأنت تعلم جيدا عزيزي القارئ أن ما سيتم ذكره هنا يمكن تطبيقه بشكل مباشر على الكمبيوتر الشخصي الموجود في منزلك الآن أو في محل عملك. أي أنه يمكنك أن تتجاهل الآن الإمكانيات الجبارة الموجودة في حاسوبك، وتعتبره IBM PC/XT مؤقتاً حتى ننتقل لاحقا إلى ما هو أحدث في المقالات القادمة.

نظام العنونة في الكمبيوتر الشخصي IBM PC/XT:

ذكرنا مسبقا أن حجم ناقل العناوين في الذي يسمح به المعالج 8088 هو ٢٠ بت، وبالتالي لدينا ١ ميغا عنوان نريد توزيعهم على الذاكرةRAM والوحدات الأخرى الموجودة شكل ٤.

إلا أنه في حقيقة الأمر، المعالج 8086 والمعالج 8088 يسمجان لوحدات الإدخال والأخراج بأن يتم عنونتها في حيز عناوين مختلف، يسمى حيز عناوين الإدخال والإخراج I/O address space.

أي أن هناك حيزان من العناوين في المعالج 8088، حيز عناوين للذاكرة memory address space وحجمه كما ذكرنا مسبقا ١ ميغا عنوان (من 0x00000 إلى 0xFFFFF)، وحيز عناوين الإدخال والإخراج I/O address space وحجمه ٦٤ كيلو عنوان (١٦ بت) (من 0x0000 إلى 0xFFFF).

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

ويحتوي الكمبيوتر الشخصي IBM PC/XT على أجهزة decoder خاصة تقوم بقراءة العنوان من ناقل العناوين وقراءة نوع العنوان من ناقل التحكم، ثم إرسال إشارة Chip Select إلى الجهاز الذي سيقوم بالرد. يوضح شكل ٦ خريطة عناوين الذاكرة في الكمبيوتر الشخصي IBM PC/XT.

البداية النهاية الاستخدام
0x00000 0x9FFFF الذاكرة RAM (٦٤٠ كيلو بايت)
0xB8000 0xBFFFF ذاكرة العرض Video RAM
0xFE000 0xFFFFF الذاكرة ROM الخاصة بالبايوس
شكل ٦ – الأجزاء الأساسية من خريطة عناوين الذاكرة في الكمبيوتر الشخصي IBM PC/XT

نظام الإدخال والإخراج الأساسي BIOS:

نظام الإدخال والإخراج الأساسي BIOS هو برنامج مثبت على ذاكرة ROM يعمل كـ firmware للكمبيوتر الشخصي. يظهر البرنامج في حيز العناوين من 0xFE000 إلى 0xFFFFF. عند تشغيل الكمبيوتر، يقوم المعالج 8088 بعمل RESET، ويبدأ تنفيذ التعليمات بدءاً من العنوان 0xFFFF0، وبالتالي فإن أول تعليمة يقوم المعالج 8088 بجلبها هي تعليمة من برنامج البايوس. وبالنظر إلى الشيفرة المصدرية الخاصة بالبايوس للكمبيوتر XT نجد أن العنوان 0xFFFF0 يحتوي على تعليمة JMP إلى 0xFE05B :

JMP 0xF000:0xE05B

وانطلاقا من هذا العنوان تبدأ البايوس في تشغيل الكمبيوتر وتجهيز النبيطة (Hardware) للعمل. وبعد إجراء اختبار بدء التشغيل الذاتي Power-on self-test أو ما نسميه POST، تقوم البايوس بعد ذلك بقراءة أول قطاع sector من القرص المرن أو الصلب… وهذا هو قطاع الإقلاع الذي سنقوم بكتابته اليوم.

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

قطاع الإقلاع يحتوي على برنامج يسمى برنامج الإقلاع أو محمل الإقلاع. وظيفة برنامج الإقلاع هي تحميل نظام التشغيل من القرص إلى الذاكرة. لكل نظام تشغيل محمل إقلاع خاص به. في جنو-لينوكس محملات الإقلاع LILO وGRUB وSYSLINUX هي اﻷكثر انتشارا. كان للنظام MS-DOS محمل الإقلاع الخاص به والذي يقوم بتحميل IO.SYS إلى الذاكرة.

تقوم البايوس بتحميل قطاع الإقلاع إلى العنوان 0x7C00 (أنظر إلى خريطة الذاكرة أعلاه، إن هذا العنوان هو تابع لحيز العناوين الخاص بالذاكرة RAM)، ثم تقوم البايوس بعمل JMP إلى هذا العنوان ليبدأ محمل الإقلاع في التنفيذ.

المراجع:

  • Alan Clements. Principles of Computer Hardware (Forth Edition).
  • Personal Computer XT System – Technical Reference, IBM.
  • 80C186XL/80C188XL Microprocessor User's Manual, Intel.
comments powered by Disqus