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

كاردياك (أداة تعليمية كرتونية للحساب) هي وسيلة تعليمية طورها ديفيد هاجلبارجر وساول فينجرمان لمختبرات بيل للهواتف عام 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 لأنها ستفشل أحد أغراض الجهاز: وهو تقديم مفاهيم برمجة لغة التجميع.
مجموعة التعليمات
| رمز العملية | ذاكري | تعليمات | وصف |
|---|---|---|---|
| 0 | INP | مدخل | يأخذ رقمًا من بطاقة الإدخال ويضعه في خلية ذاكرة محددة. |
| 1 | CLA | قم بالتنظيف والإضافة | قم بمسح المُراكم وأضف محتويات خلية الذاكرة إلى المُراكم. |
| 2 | يضيف | يضيف | أضف محتويات خلية الذاكرة إلى المُجمِّع. |
| 3 | تاك | اختبر محتويات المُراكم | يقوم بإجراء اختبار إشارة على محتويات المُراكم؛ إذا كانت القيمة سالبة، ينتقل إلى خلية ذاكرة محددة. |
| 4 | SFT | يحول | يقوم بتحريك المُجمِّع x خانة إلى اليسار، ثم y خانة إلى اليمين، حيث x هو رقم العنوان العلوي و y هو الرقم السفلي. |
| 5 | خارج | الناتج | قم بأخذ رقم من خلية الذاكرة المحددة واكتبه على بطاقة الإخراج. |
| 6 | STO | محل | نسخ محتويات المُراكم إلى خلية ذاكرة محددة. |
| 7 | فرعي | طرح | اطرح محتويات خلية ذاكرة محددة من المُجمِّع. |
| 8 | JMP | اقفز | الانتقال إلى خلية ذاكرة محددة. يُكتب رقم الخلية الحالية في الخلية 99. يسمح هذا بمستوى واحد من الإجراءات الفرعية من خلال جعل القيمة المرجعة هي التعليمة الموجودة في الخلية 99 (والتي تم ترميزها مسبقًا بالرقم 8 كأول رقم). |
| 9 | ساعات | أوقف وأعد التشغيل | انقل الخطأ إلى الخلية المحددة، ثم أوقف تنفيذ البرنامج. |
عملية
يتم تشغيل البرامج عن طريق تحريك ثلاثة شرائح أولاً حتى يتساوى الرقم الموجود في سجل التعليمات مع الرقم الموجود في خلية الذاكرة التي يوجد بها الخطأ. بمجرد إتمام ذلك، يُنقل الخطأ إلى خلية الذاكرة التالية. ثم يتبع المستخدم سهمًا يُرشده إلى الخطوة التالية. وتستمر هذه العملية طوال مدة تنفيذ البرنامج.
انظر أيضاً
- حاسوب الرجل الصغير (نموذج تعليمي آخر)
- حاسوب ورقي بتقنية النطاق الديناميكي الواسع
مراجع
- ^ "أوردينابوتشي" . العلم والحياة (ملحق "La Révolution Informatique") . رقم 763. ص 21 – 44 . تم الاسترجاع في 7 مايو، 2026 .
روابط خارجية
- مناقشة حول القلب مع أمثلة ومحاكاة بلغة جافا سكريبت
- مترجم ومصحح أخطاء تفاعلي على منصة .NET على GitHub
- cinc/jcinc – محاكي لمنصة جافا بواجهات سطر أوامر وواجهة مستخدم رسومية على موقع SourceForge
- برنامج محاكاة لجهاز CARDIAC - يعمل على أنظمة ماكنتوش، وويندوز (غير مُختَبَر)، ولينكس (غير مُختَبَر)؛ يوفر محررًا، ومُجمِّعًا بسيطًا، وأمثلة؛ يتم تبديل رموز العمليات 0 و9 كما هو موضح في الصفحة؛ يبدو أن شفرة المصدر ملكية خاصة؛ تنزيلات مجانية
- جولة سريعة على جهاز الكمبيوتر Built CARDIAC على يوتيوب
- تصميم وحدة المعالجة المركزية على الورق (مؤرشف بتاريخ 11 نوفمبر 2016 في أرشيف الإنترنت ) - نسخة جدول البيانات الخاصة بـ "CARDIAC" من إعداد آل ويليامز على موقع دكتور دوبز.
- ورقة بحثية حول FPGA مؤرشفة في 28 ديسمبر 2015 على Wayback Machine - تطبيق Al Williams لـ CARDIAC على لوحة FPGA (المقال الأخير من سلسلة على موقع Dr. Dobb's الإلكتروني)
- محاكي مكتوب بلغة RUST - هذا تطبيق بلغة RUST لمحاكي جهاز CARDIAC
- دليل التعليمات متوفر على موقع archive.org
- نماذج الحوسبة
- آلات تعليمية تجريدية
- لغات البرمجة التعليمية
