أداة توضيحية من الورق المقوى للمساعدة في الحساب

برنامج لحساب قوة العدد اثنين يعمل على محاكي CARDIAC. يُخرج البرنامج الأرقام 1، 2، 4، 8، ...، 512 ويتوقف بعد 277 خطوة.

كاردياك (أداة تعليمية كرتونية للحساب) هي وسيلة تعليمية طورها ديفيد هاجلبارجر وساول فينجرمان لمختبرات بيل للهواتف عام 1968 لتعليم طلاب المدارس الثانوية كيفية عمل أجهزة الكمبيوتر . تتكون المجموعة من دليل تعليمات وجهاز كمبيوتر كرتوني مقطوع مسبقًا.

يعمل الحاسوب باستخدام قلم رصاص وبطاقات منزلقة. تُجرى جميع العمليات الحسابية ذهنيًا بواسطة المستخدم. يعمل الحاسوب بنظام العد العشري (الأساس 10) ويحتوي على 100 خلية ذاكرة تستوعب أعدادًا صحيحة من 0 إلى ±999. يحتوي على مجموعة تعليمات من 10 تعليمات تُمكّن CARDIAC من الجمع والطرح والاختبار والإزاحة والإدخال والإخراج والقفز.

تم نشر جهاز CARDIAC أيضًا في فرنسا باسم Ordinapoche ("الكمبيوتر الجيبي"، من ordinateur و poche ) بواسطة Science & Vie في عام 1981. [ 1 ]

الأجهزة

واجهة جهاز القلب

تتكون وحدة المعالجة المركزية ( CPU ) في الحاسوب من أربعة منزلقات تُحرك أرقامًا وأسهمًا مختلفة لتوجيه تدفق وحدة المعالجة المركزية الحقيقية ( دماغ المستخدم ) في الاتجاه الصحيح. ولكل منها مؤشر واحد (+/-) يتأثر بالنتيجة المُسجلة في المُجمِّع.

تتكون الذاكرة من النصف الآخر من القطعة الكرتونية. يوجد 100 خلية. الخلية 0 هي " ذاكرة قراءة فقط" (ROM )، وتحتوي دائمًا على الرقم "1"؛ والخلايا من 1 إلى 98 هي " ذاكرة وصول عشوائي" (RAM )؛ وهي متاحة للتعليمات والبيانات؛ ويمكن وصف الخلية 99 بأنها "ذاكرة قراءة فقط قابلة للمسح والبرمجة كهربائيًا " (EEPROM ).

تحتوي خلايا الذاكرة على أرقام عشرية موقعة من 0 إلى ±999، وتُكتب باستخدام قلم رصاص. تُمسح الخلايا باستخدام ممحاة. يوجد "مؤشر" يعمل كعداد للبرنامج، ويوضع في فتحة بجانب خلية الذاكرة الحالية.

برمجة

تحتوي لغة برمجة CARDIAC على 10 تعليمات . تتكون كل تعليمة من ثلاثة أرقام عشرية (مع تجاهل الإشارة) على النحو التالي OAA: . الرقم الأول هو رمز العملية ( O)، والرقمان الثاني والثالث هما عنوان ( AA). تتضمن أنواع العنونة: من المُراكم إلى الذاكرة (عنوان مطلق)، ومن الذاكرة (عنوان مطلق) إلى المُراكم، ومن المدخلات إلى الذاكرة (عنوان مطلق)، ومن الذاكرة (عنوان مطلق) إلى المخرجات.

تتم عمليات الإدخال والإخراج عبر بطاقات مثقبة افتراضية ، وهي أيضاً الطريقة التي تُحمّل بها البرامج إلى الحاسوب: تُجمّع البرامج يدوياً لتكوين مجموعة من البطاقات. أول تعليمة ينفذها جهاز CARDIAC هي دائماً 001 (في الموقع 0)، والتي تُحمّل البطاقة الأولى في الموقع 1. ثم تُنشئ البطاقات اللاحقة حلقةً تُحمّل جميع بطاقات البرنامج المتبقية في الذاكرة وتبدأ بتنفيذ البرنامج. يُشبه سلوك تحميل البرنامج هذا سلوك الحواسيب الحقيقية القائمة على البطاقات في تلك الحقبة (مثل IBM 1401 أو IBM 1620 )، ويختلف عن حاسوب الرجل الصغير (LMC) حيث يُكتب البرنامج مباشرةً في خلايا الذاكرة المناسبة دون خطوة تحميل.

تتشابه مجموعة تعليمات CARDIAC إلى حد كبير مع LMC، باستثناء أن LMC تحتوي على تعليمتين للقفز الشرطي، بينما تحتوي CARDIAC على تعليمة واحدة فقط، ولكنها تضيف تعليمة إزاحة للمراكم. كذلك، تعمل تعليمات الإدخال/الإخراج في CARDIAC مباشرةً من خلايا الذاكرة، بينما تستخدم LMC المراكم للإدخال/الإخراج.

لم يتم تطوير لغات برمجة عالية المستوى لجهاز CARDIAC لأنها ستفشل أحد أغراض الجهاز: وهو تقديم مفاهيم برمجة لغة التجميع.

مجموعة التعليمات

مجموعة تعليمات القلب
رمز العمليةذاكريتعليماتوصف
0INPمدخليأخذ رقمًا من بطاقة الإدخال ويضعه في خلية ذاكرة محددة.
1CLAقم بالتنظيف والإضافةقم بمسح المُراكم وأضف محتويات خلية الذاكرة إلى المُراكم.
2يضيفيضيفأضف محتويات خلية الذاكرة إلى المُجمِّع.
3تاكاختبر محتويات المُراكميقوم بإجراء اختبار إشارة على محتويات المُراكم؛ إذا كانت القيمة سالبة، ينتقل إلى خلية ذاكرة محددة.
4SFTيحوليقوم بتحريك المُجمِّع x خانة إلى اليسار، ثم y خانة إلى اليمين، حيث x هو رقم العنوان العلوي و y هو الرقم السفلي.
5خارجالناتجقم بأخذ رقم من خلية الذاكرة المحددة واكتبه على بطاقة الإخراج.
6STOمحلنسخ محتويات المُراكم إلى خلية ذاكرة محددة.
7فرعيطرحاطرح محتويات خلية ذاكرة محددة من المُجمِّع.
8JMPاقفزالانتقال إلى خلية ذاكرة محددة. يُكتب رقم الخلية الحالية في الخلية 99. يسمح هذا بمستوى واحد من الإجراءات الفرعية من خلال جعل القيمة المرجعة هي التعليمة الموجودة في الخلية 99 (والتي تم ترميزها مسبقًا بالرقم 8 كأول رقم).
9ساعاتأوقف وأعد التشغيلانقل الخطأ إلى الخلية المحددة، ثم أوقف تنفيذ البرنامج.

عملية

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

انظر أيضاً

مراجع

  1. ^ "أوردينابوتشي" . العلم والحياة (ملحق "La Révolution Informatique") . رقم  763. ص 21 – 44 . تم الاسترجاع في 7 مايو، 2026 .