حاسوب ذو مجموعة تعليمات واحدة
الحاسوب ذو مجموعة التعليمات الواحدة ( OISC )، والذي يُشار إليه أحيانًا باسم الحاسوب ذي مجموعة التعليمات المُختزلة القصوى ( URISC ) ، هو آلة مجردة تستخدم تعليمة واحدة فقط ، مما يُغني عن الحاجة إلى رمز عملية لغة الآلة . [ 1 ] [ 2 ] [ 3 ] باختيار تعليمة واحدة مناسبة وتوفير موارد غير محدودة، يُمكن للحاسوب ذي مجموعة التعليمات الواحدة أن يكون حاسوبًا شاملًا، تمامًا مثل الحواسيب التقليدية التي تحتوي على تعليمات متعددة. [ 2 ] : 55. وقد تم التوصية باستخدام حواسيب OISC كأدوات مساعدة في تدريس هندسة الحاسوب [ 1 ] : 327 [ 2 ] : 2 ، كما تم استخدامها كنماذج حسابية في أبحاث الحوسبة الهيكلية. [ 3 ] أول حاسوب مصنوع من أنابيب الكربون النانوية هو حاسوب ذو مجموعة تعليمات واحدة (يحتوي على 178 ترانزستورًا فقط). [ 4 ]
هندسة الآلة
في نموذج تورينج الكامل ، يمكن لكل موقع ذاكرة تخزين عدد صحيح عشوائي، وقد يكون هناك عدد عشوائي من المواقع - اعتمادًا على النمط. وتُخزَّن التعليمات نفسها في الذاكرة كسلسلة من هذه الأعداد الصحيحة.
توجد فئة من الحواسيب متعددة الاستخدامات ذات تعليمة واحدة تعتمد على معالجة البتات، مثل نسخ البتات أو عكسها . ولأن نموذج ذاكرتها محدود، كما هو الحال في بنية الذاكرة المستخدمة في الحواسيب الحقيقية، فإن هذه الآلات التي تعتمد على معالجة البتات تُعادل الحواسيب الحقيقية وليست آلات تورينج . [ 5 ]
يمكن تقسيم منظمات الأمن السيبراني المعروفة حاليًا إلى ثلاث فئات رئيسية تقريبًا:
- آلات معالجة البتات
- آلات معمارية تعمل بالنقل
- آلات تورينج الكاملة القائمة على الحساب
آلات معالجة البتات
تُعد الآلات التي تعالج البتات أبسط فئة.
قفزة فليب جامب
تحتوي آلة FlipJump على تعليمة واحدة، a;b، تقوم بقلب البت a، ثم تقفز إلى b. هذه أبسط أنواع OISC، لكنها لا تزال مفيدة. فهي قادرة على إجراء العمليات الحسابية والمنطقية، والتفرع، والمؤشرات، واستدعاء الدوال بنجاح بمساعدة مكتبتها القياسية.
BitBitJump
تقوم آلة نسخ البتات، [ 5 ] المسماة BitBitJump، بنسخ بت واحد في الذاكرة وتمرير التنفيذ دون قيد أو شرط إلى العنوان المحدد بواسطة أحد معاملات التعليمة. وقد تبين أن هذه العملية قادرة على الحوسبة الشاملة (أي القدرة على تنفيذ أي خوارزمية وتفسير أي آلة شاملة أخرى) لأن نسخ البتات يمكن أن يُعدّل عنوان النسخ الذي سيتم تنفيذه لاحقًا بشكل مشروط.
حاسوب توغا
هناك جهاز آخر يُسمى حاسوب توغا ، يقوم بعكس بتة واحدة، ثم يُنفذ البرنامج بشكل مشروط بناءً على نتيجة العكس. التعليمة الفريدة هي TOGA(a,b)، والتي تعني " تبديل a والتفرع إلى b إذا كانت نتيجة عملية التبديل صحيحة".
آلة نسخ متعددة البتات
على غرار BitBitJump، تقوم آلة النسخ متعددة البتات بنسخ عدة بتات في الوقت نفسه. ويتم حل مشكلة الشمولية الحسابية في هذه الحالة عن طريق الاحتفاظ بجداول قفز محددة مسبقًا في الذاكرة.
بنية مُفعَّلة بالنقل
تُعرف بنية النقل المُفعَّلة (TTA) بتصميمٍ يكون فيه الحساب أثرًا جانبيًا لنقل البيانات. عادةً، تُنفِّذ بعض سجلات الذاكرة (منافذ التفعيل) ضمن مساحة العناوين المشتركة عمليةً مُحدَّدةً عند استدعاء التعليمات لها. على سبيل المثال، في بنية OISC التي تستخدم تعليمة نسخ واحدة من الذاكرة إلى الذاكرة، يتم ذلك عن طريق تفعيل منافذ تُنفِّذ عمليات حسابية وقفزات مؤشر التعليمات عند الكتابة إليها.
آلات تورينج الكاملة القائمة على الحساب
تستخدم الآلات الحسابية الكاملة تورينج عملية حسابية وقفزة شرطية. ومثل الحاسوبين العالميين السابقين، فإن هذه الفئة كاملة تورينج أيضًا. تعمل هذه التعليمة على أعداد صحيحة قد تكون أيضًا عناوين في الذاكرة.
يوجد حاليًا العديد من أجهزة OISC المعروفة من هذه الفئة، والتي تعتمد على عمليات حسابية مختلفة:
- الجمع (addleq، أضف وافصل إذا كان أقل من أو يساوي الصفر) [ 6 ]
- decrement (DJN, Decrement and branch ( Jump ) if N onzero) [ 7 ]
- زيادة (P1eq، P زائد 1 والتفرع إذا كان يساوي قيمة أخرى) [ 8 ]
- الطرح (subleq، اطرح وافصل إذا كان أقل من أو يساوي الصفر) [ 9 ] [ 10 ]
- الطرح الموجب عند الإمكان، وإلا التفرع (آلة الحساب) [ 11 ]
أنواع التعليمات
الخيارات الشائعة للتعليمات الفردية هي:
- اطرح وافصل إذا كانت النتيجة أقل من أو تساوي صفرًا
- اطرح وافصل إذا كانت النتيجة سالبة
- اطرح إذا كانت النتيجة موجبة، وإلا فانتقل إلى الفرع.
- اعكس عملية الطرح وتجاوزها إذا كنت تستدين
- نقل (يستخدم كجزء من بنية يتم تشغيلها بواسطة النقل) [ 12 ]
- اطرح وافصل إذا كانت القيمة غير صفرية (SBNZ a, b, c, destination)
- كريبتولك (حسابات غير متجانسة مشفرة وغير مشفرة)
تُستخدم تعليمة واحدة فقط من هذه التعليمات في أي تطبيق. لذا، لا حاجة لرمز العملية لتحديد التعليمة المراد تنفيذها؛ فاختيار التعليمة متأصل في تصميم الجهاز، وعادةً ما يُسمى نظام OISC باسم التعليمة التي يستخدمها (مثل نظام SBN OISC، [ 2 ] : 41 لغة SUBLEQ، [ 3 ] : 4 إلخ). يمكن استخدام كل تعليمة من التعليمات المذكورة أعلاه لإنشاء نظام OISC كامل تورينج.
لا تتناول هذه المقالة سوى التعليمات القائمة على الطرح من بين التعليمات التي لا تعتمد على نقل البيانات. مع ذلك، من الممكن بناء آلات تورينج كاملة باستخدام تعليمات تعتمد على عمليات حسابية أخرى، مثل الجمع. على سبيل المثال، أحد المتغيرات المعروفة باسم DLN (الإنقاص والقفز إذا لم يكن الناتج صفرًا) يحتوي على مُعاملين فقط ويستخدم الإنقاص كعملية أساسية. لمزيد من المعلومات، انظر لغات Subleq المشتقة.
اطرح وافصل إذا لم يكن الناتج يساوي صفرًا
تقوم التعليمة SBNZ a, b, c, d (" طرح والتفرع إذا لم يكن الناتج صفرًا ") بطرح محتويات العنوان a من محتويات العنوان b ، وتخزين النتيجة في العنوان c ، ثم إذا لم تكن النتيجة صفرًا ، يتم نقل التحكم إلى العنوان d (إذا كانت النتيجة تساوي صفرًا، ينتقل التنفيذ إلى التعليمة التالية في التسلسل). [ 3 ]
اطرح وافصل إذا كانت النتيجة أقل من أو تساوي صفرًا
تقوم تعليمة subleq (" الطرح والتفرع إذا كان الناتج أقل من أو يساوي صفرًا ") بطرح محتويات العنوان a من محتويات العنوان b ، وتخزين النتيجة في العنوان b ، ثم إذا كانت النتيجة غير موجبة ، يتم نقل التحكم إلى العنوان c (أما إذا كانت النتيجة موجبة، فيتم تنفيذ التعليمة التالية في التسلسل). [ 3 ] : 4-7 الشفرة الزائفة :
تعليماتsubleqa,b,c Mem[b] = Mem[b] - Mem[a] إذا كان (Mem[b] ≤ 0) انتقل إلى cيمكن منع التفرع الشرطي بتعيين المعامل الثالث مساوياً لعنوان التعليمة التالية في التسلسل. إذا لم يُكتب المعامل الثالث، فإن هذا المنع يكون ضمنياً.
يُمكن أيضاً استخدام صيغة بديلة تتضمن مُعاملين ومُجمِّع داخلي ، حيث يُطرح المُجمِّع من موقع الذاكرة المُحدد بواسطة المُعامل الأول. تُخزَّن النتيجة في كلٍّ من المُجمِّع وموقع الذاكرة، ويُحدد المُعامل الثاني عنوان التفرع.
تعليماتsubleq2a,b Mem[a] = Mem[a] - ACCUM التراكم = الذاكرة[أ] إذا كانت قيمة (Mem[a] ≤ 0) انتقل إلى bعلى الرغم من أن هذا يستخدم اثنين فقط (بدلاً من ثلاثة) من المعاملات لكل تعليمة، إلا أنه يلزم بالتالي المزيد من التعليمات لتنفيذ عمليات منطقية مختلفة.
تعليمات مُركّبة
من الممكن توليف أنواع عديدة من التعليمات ذات الرتبة العليا باستخدام تعليمة subleq فقط . [ 3 ] : 9-10
الفرع غير المشروط:
- JMP ج
دون المكافئ Z ، Z ، c
يمكن إجراء عملية الجمع عن طريق الطرح المتكرر، دون أي تفرع شرطي؛ على سبيل المثال، تؤدي التعليمات التالية إلى إضافة المحتوى الموجود في الموقع أ إلى المحتوى الموجود في الموقع ب :
- أضف أ، ب
∪ أ ، ∪ ∪ ∪ ∪ ب ، ∪ ...
تقوم التعليمة الأولى بطرح المحتوى الموجود في الموقع a من المحتوى الموجود في الموقع Z (وهو 0)، وتخزن النتيجة (وهي معكوس المحتوى الموجود في a ) في الموقع Z. أما التعليمة الثانية فتطرح هذه النتيجة من b ، وتخزن في b هذا الفرق ( وهو الآن مجموع المحتويات الأصلية في a و b )؛ وتقوم التعليمة الثالثة بإعادة القيمة 0 إلى Z.
يمكن تنفيذ تعليمات النسخ بشكل مماثل؛ على سبيل المثال، تؤدي التعليمات التالية إلى استبدال المحتوى الموجود في الموقع b بالمحتوى الموجود في الموقع a ، مع افتراض أن المحتوى الموجود في الموقع Z يتم الاحتفاظ به على أنه 0:
- MOV a, b
∪ ب ، ب ∪ أ ، ز ∪ ز ، ب ∪ ز ، ز
يمكن إنشاء أي اختبار حسابي مطلوب. على سبيل المثال، يمكن تجميع شرط التفرع إذا كان الناتج صفرًا من التعليمات التالية:
- BEQ b, c
subleq b , Z , L1 subleq Z , Z , OUT L1: subleq Z , Z subleq Z , b , c OUT: ...
يمكن استخدام Subleq2 أيضًا لتوليد تعليمات من الرتبة العليا، على الرغم من أنها تتطلب عمومًا عددًا أكبر من العمليات لإنجاز مهمة معينة. على سبيل المثال، يلزم ما لا يقل عن 10 تعليمات من Subleq2 لقلب جميع البتات في بايت معين.
- ليس
subleq2 tmp ; tmp = 0 (tmp = سجل مؤقت) subleq2 tmp subleq2 one ; acc = -1 subleq2 a ; a' = a + 1 subleq2 Z ; Z = - a - 1 subleq2 tmp ; tmp = a + 1 subleq2 a ; a' = 0 subleq2 tmp ; تحميل tmp في acc subleq2 a ; a' = - a - 1 ( = ~a ) subleq2 Z ; إعادة تعيين Z إلى 0
المحاكاة
يحاكي البرنامج التالي (المكتوب بلغة شبه رمزية ) تنفيذ OISC القائم على subleq :
int memory [], program_counter , a , b , c program_counter = 0 while ( program_counter >= 0 ) : a = memory [ program_counter ] b = memory [ program_counter + 1 ] c = memory [ program_counter + 2 ] if ( a < 0 or b < 0 ) : program_counter = -1 else : memory [ b ] = memory [ b ] - memory [ a ] if ( memory [ b ] > 0 ) : program_counter += 3 else : program_counter = cيفترض هذا البرنامج أن الذاكرة[] مُفهرسة بأعداد صحيحة غير سالبة . بالتالي، بالنسبة لتعليمات subleq ( a , b , c )، يُفسر البرنامج a < 0 أو b < 0 أو تنفيذ فرع إلى c < 0 كشرط توقف. يمكن العثور على مُفسرات مُشابهة مكتوبة بلغة تعتمد على subleq (أي مُفسرات ذاتية ، والتي قد تستخدم شيفرة ذاتية التعديل وفقًا لطبيعة تعليمات subleq ) في الروابط الخارجية أدناه.
تم تنفيذ نظام تشغيل عام للأغراض العامة، يدعم المعالجة المتعددة المتناظرة (SMP)، ذو 64 بت، يُسمى Dawn OS ، على جهاز محاكاة Subleq. يحتوي نظام التشغيل على مُصرّف شبيه بلغة C. تُستخدم بعض مساحات الذاكرة في الجهاز الظاهري للأجهزة الطرفية مثل لوحة المفاتيح، والفأرة، ومحركات الأقراص الصلبة، وبطاقة الشبكة، وما إلى ذلك. تشمل التطبيقات الأساسية المكتوبة له مشغل وسائط، وأداة رسم، وقارئ مستندات، وآلة حاسبة علمية. [ 13 ]
قام يوئيل ماتفييف بتصميم حاسوب Subleq ذي 32 بت مزود بشاشة عرض رسومية ولوحة مفاتيح، أطلق عليه اسم Izhora، كنمط كبير من أنماط الأوتوماتا الخلوية . [ 14 ] [ 15 ]
تجميع
يوجد مترجم برمجي يُسمى Higher Subleq كتبه أوليغ مازونكا، يقوم بتحويل برنامج C مبسط إلى كود subleq . [ 16 ]
بدلاً من ذلك، هناك تطبيق Forth ذاتي الاستضافة كتبه ريتشارد جيمس هاو والذي يعمل على جهاز Subleq VM وهو قادر على البرمجة التفاعلية لآلة Subleq [ 17 ].
توفر مبادرة البرمجيات الخالدة [ 18 ] واجهة خلفية لمترجم LLVM تقوم بتجميع برامج C و C++ القياسية مباشرةً إلى آلة افتراضية Subleq+ مصغرة. وهي جيدة بما يكفي لتشغيل نظام Linux عليها بشكل أصلي والحفاظ عليها كـ "كبسولة زمنية".
اطرح وافصل إذا كانت النتيجة سالبة
تُعرَّف تعليمة subneg (" اطرح وتفرع إذا كان العدد سالبًا ")، والتي تُسمى أيضًا SBN ، بشكل مشابه لتعليمة subleq : [ 2 ] : 41، 51-52
تعليماتsubnega,b,c Mem[b] = Mem[b] - Mem[a] إذا كانت قيمة (Mem[b] < 0) انتقل إلى cيمكن منع التفرع الشرطي بتعيين المعامل الثالث مساوياً لعنوان التعليمة التالية في التسلسل. إذا لم يُكتب المعامل الثالث، فإن هذا المنع يكون ضمنياً.
تعليمات مُركّبة
من الممكن توليد أنواع عديدة من التعليمات ذات الرتبة العليا باستخدام تعليمة subneg فقط . ولتبسيط الأمر، نعرض هنا تعليمة واحدة مُولَّدة لتوضيح الفرق بين subleq و subneg .
الفرع غير المشروط: [ 2 ] : 88-89
- JMP ج
subneg POS , Z , c
حيث Z و POS هما موقعان تم تعيينهما مسبقًا لاحتواء 0 وعدد صحيح موجب، على التوالي؛
لا يُضمن التفرع غير المشروط إلا إذا كانت قيمة المتغير Z في البداية تساوي صفرًا (أو قيمة أقل من العدد الصحيح المخزن في POS ). يلزم وجود تعليمة لاحقة لمسح قيمة Z بعد التفرع، بافتراض أن قيمة Z يجب أن تبقى صفرًا.
subneg4
يُمكن أيضًا استخدام صيغة بديلة بأربعة معاملات - subneg4. يُسهّل عكس عمليتي المطروح والمطروح تنفيذ العملية في الأجهزة. كما تُبسّط النتيجة غير المُتلفة التعليمات التركيبية.
التعليمات (* عناوين الطرح، والطرح منه، والنتيجة، والقفز *)subnegs,m,r,j Mem[r] = Mem[m] - Mem[s] إذا كانت قيمة (Mem[r] < 0) انتقل إلى jآلة حسابية
في محاولة لجعل آلة تورينج أكثر سهولة في الفهم، تناول ZA Melzak مهمة الحساب باستخدام الأعداد الموجبة. تحتوي الآلة على عداد لانهائي، أي عدد لانهائي من العدادات (حصى، أعواد عد) موجودة مبدئيًا في موقع خاص S. وتستطيع الآلة القيام بعملية واحدة:
انقل من الموقع X عددًا من العدادات مساويًا لعدد العدادات الموجودة في الموقع Y، وانقلها إلى الموقع Z، ثم انتقل إلى التعليمات y.
إذا لم تكن هذه العملية ممكنة بسبب عدم وجود عدادات كافية في X، فاترك المعداد كما هو وانتقل إلى التعليمات رقم n. [ 19 ]
للحفاظ على جميع الأرقام موجبة ومحاكاة عملية حسابية يقوم بها عامل بشري باستخدام المعداد الحقيقي، يتم إجراء الاختبار قبل أي عملية طرح. الشفرة الزائفة:
التعليمات: إذا كان (Mem[X] < Mem[Y]) انتقل إلى nmelzakX,Y,Z,n,y Mem[X] -= Mem[Y] Mem[Z] += Mem[Y] goto yبعد تقديم بعض البرامج: الضرب، والقاسم المشترك الأكبر ، وحساب العدد الأولي النوني، والتمثيل في الأساس b لعدد عشوائي، والفرز حسب الحجم، يوضح ميلزاك بشكل صريح كيفية محاكاة آلة تورينج عشوائية على آلة الحساب الخاصة به.
- MUL p, q
الضرب: melzak P ، ONE ، S ، stop ؛ انقل عدادًا واحدًا من P إلى S. إذا لم يكن ذلك ممكنًا، فانتقل إلى stop. melzak S ، Q ، ANS ، multiply ، multiply ؛ انقل q عدادًا من S إلى ANS. انتقل إلى التعليمات الأولى. stop:
حيث يكون موقع الذاكرة P هو p ، و Q هو q ، و ONE هو 1، و ANS هو 0 في البداية وفي النهاية pq ، و S هو عدد كبير.
يذكر أنه يمكن إثبات ذلك بسهولة باستخدام عناصر الدوال التكرارية، حيث يمكن حساب كل عدد قابل للحساب على آلة الحساب. وقد قدم لامبيك [ 20 ] برهانًا على آلة مكافئة ذات تعليمتين : X+ (زيادة قيمة X) و X− وإلا T (إنقاص قيمة X إذا لم تكن فارغة، وإلا الانتقال إلى T).
اعكس عملية الطرح وتجاوزها إذا كنت تستدين
في تعليمة الطرح العكسي والتخطي في حالة الاستعارة (RSSB)، يُطرح المُراكم من موقع الذاكرة، وتُتخطى التعليمة التالية إذا كانت هناك استعارة (أي أن موقع الذاكرة كان أصغر من المُراكم). تُخزن النتيجة في كل من المُراكم وموقع الذاكرة. يُربط عداد البرنامج بموقع الذاكرة 0، بينما يُربط المُراكم بموقع الذاكرة 1. [ 2 ]
تعليماتrssbx التراكم = الذاكرة[x] - التراكم Mem[x] = ACCUM إذا كانت قيمة (ACCUM) أقل من صفر، فانتقل إلى PC + 2مثال
لتعيين قيمة x لتكون مساوية لقيمة y ناقص z:
# أولاً، انقل z إلى موقع الوجهة x. RSSB temp # ثلاث تعليمات مطلوبة لمسح acc، temp [انظر الملاحظة 1] RSSB temp RSSB temp RSSB x # تعليمتان لمسح acc، x، لأن acc ممسوح بالفعل RSSB x RSSB y # تحميل y في acc: بدون استعارة RSSB temp # تخزين -y في acc، temp: استعارة وتجاوز دائمًا RSSB temp # تم التجاوز RSSB x # تخزين y في x، acc # ثانيًا، نفّذ العملية. RSSB temp # ثلاث تعليمات مطلوبة لمسح acc، temp RSSB temp RSSB temp RSSB z # تحميل z RSSB x # x = y - z [انظر الملاحظة 2]- [ملاحظة 1] إذا كانت القيمة المخزنة في "temp" في البداية قيمة سالبة وتم استعارة التعليمات التي تم تنفيذها قبل أول "RSSB temp" في هذا الروتين، فسيكون هناك حاجة إلى أربع تعليمات "RSSB temp" لكي يعمل الروتين.
- [ملاحظة 2] إذا كانت القيمة المخزنة في "z" في البداية قيمة سالبة، فسيتم تخطي "RSSB x" النهائي وبالتالي لن يعمل الروتين.
بنية مُفعَّلة بالنقل
تعتمد بنية النقل المُفعَّلة على تعليمة النقل فقط ، ولذلك سُميت في الأصل "آلة النقل". تنقل هذه التعليمة محتويات موقع ذاكرة إلى موقع ذاكرة آخر، مع دمجها مع المحتوى الحالي للموقع الجديد: [ 2 ] : 42 [ 21 ]
التعليمات (تُكتب أيضًا أ -> ب )movxa,b OP = GetOperation(Mem[ b ]) Mem[ b ] := OP(Mem[ a ], Mem[ b ])تُحدد خلية الذاكرة الوجهة العملية المُنفذة. بعض الخلايا مُخصصة للجمع، وبعضها الآخر للضرب، وهكذا. لذا، فإن خلايا الذاكرة ليست مجرد مخزن بسيط، بل هي مُرتبطة بوحدة حسابية منطقية (ALU) مُصممة لتنفيذ نوع واحد فقط من العمليات على القيمة الحالية للخلية. بعض هذه الخلايا عبارة عن تعليمات تحكم في تدفق البرنامج لتغيير مسار تنفيذه باستخدام القفزات، والتنفيذ الشرطي ، والبرامج الفرعية ، وعبارات if-then-else ، وحلقات for ، وغيرها.
تم إنتاج متحكم دقيق تجاري يعتمد على بنية النقل المحفزة يسمى MAXQ، والذي يخفي الإزعاج الظاهر لـ OISC باستخدام "خريطة نقل" تمثل جميع الوجهات الممكنة لتعليمات النقل . [ 22 ]
كريبتولك

لغة Cryptoleq [ 23 ] هي لغة مشابهة للغة Subleq. تتكون من تعليمة واحدة تحمل الاسم نفسه، وهي قادرة على إجراء عمليات حسابية عامة على البرامج المشفرة. تعمل Cryptoleq على خلايا ذاكرة متصلة باستخدام العنونة المباشرة وغير المباشرة، وتنفذ عمليتين O1 و O2 على ثلاث قيم A و B و C:
التعليمات Mem[b] = O1 ( Mem[a], Mem[b]) إذا كان O2 ( Mem[b]) ≤ 0cryptoleqa,b,c IP = c وإلا IP = IP + 3حيث يتم توجيه a و b و c بواسطة مؤشر التعليمات IP، مع قيمة IP التي تعنون a، و IP + 1 تشير إلى b و IP + 2 إلى c.
في Cryptoleq، يتم تعريف العمليتين O 1 و O 2 على النحو التالي:
يتمثل الاختلاف الرئيسي بين لغة Subleq ولغة Cryptoleq في أن العملية O1 ( x ,y ) في Subleq تطرح y من x ، بينما العملية O2 ( x ) تساوي x . تُعد Cryptoleq متماثلة مع Subleq، حيث أن عملية القلب المعياري والضرب متماثلان مع عملية الطرح، وتتوافق العملية O2 مع اختبار Subleq في حال كانت القيم غير مشفرة. يمكن تشغيل برنامج مكتوب بلغة Subleq على جهاز Cryptoleq، مما يعني التوافق مع الإصدارات السابقة. مع ذلك، تُنفذ Cryptoleq حسابات متماثلة بالكامل، وهي قادرة على إجراء عمليات الضرب. يُساعد في عملية الضرب على نطاق مشفر دالة فريدة G، يُفترض صعوبة عكس هندستها، وتسمح بإعادة تشفير القيمة بناءً على العملية O2 .
أينهي القيمة المُعاد تشفيرها لـ y ويتم تشفير القيمة إلى صفر. x هي القيمة المشفرة لمتغير، ولتكن m ، ويساوي .
تعتمد خوارزمية الضرب على الجمع والطرح، وتستخدم الدالة G، ولا تحتوي على قفزات شرطية أو تفرعات. يعتمد تشفير Cryptoleq على نظام تشفير Paillier .
انظر أيضاً
مراجع
- 1 2 مافادات، ف.؛ بارامي، ب. (أكتوبر 1988). "يوريسك: الحاسوب الأمثل ذو مجموعة التعليمات المختصرة" (ملف PDF) . المجلة الدولية لتعليم الهندسة الكهربائية . 25 (4). مطبعة جامعة مانشستر: 327-334 . doi : 10.1177/002072098802500408 . S2CID 61797084. تاريخ الاسترجاع: 2010-10-04 . تتناول هذه الورقة البحثية "آلة ذات تعليمة واحدة بثلاثة عناوين باعتبارها قمة تصميم RISC (URISC)". ودون تسمية التعليمة، تصف الورقة آلة SBN OISC ولغة التجميع المرتبطة بها، مؤكدةً أنها آلة عالمية (أي كاملة تورينج ) وبساطتها تجعلها مثالية للاستخدام في الفصول الدراسية.
- 1 2 3 4 5 6 7 8 جيلريث، ويليام ف.؛ لابلانت، فيليب أ. (2003). هندسة الحاسوب: منظور تبسيطي . سبرينغر ساينس + بيزنس ميديا . ISBN 978-1-4020-7416-5تمت أرشفة النسخة الأصلية بتاريخ 13-06-2009. هذا الكتاب موجه للباحثين ومهندسي أنظمة الحاسوب ونظريي الحوسبة والطلاب، ويقدم دراسة متعمقة لمختلف أنظمة الحوسبة المفتوحة، بما في ذلك SBN وMOVE. وينسب الكتاب اكتشاف SBN إلى دبليو إل فان دير بول (1956).
- 1 2 3 4 5 6 نورنبرغ، بيتر جيه؛ ويل، أوفه كيه؛ هيكس، ديفيد إل (سبتمبر 2003)، "نظرية موحدة شاملة للحوسبة الهيكلية" ، المعلوماتية الوصفية: ندوة دولية، MIS 2003 ، غراتس، النمسا: سبرينغر ساينس + بيزنس ميديا ، ص 1-16 ، ISBN 978-3-540-22010-7تمت أرشفة هذا النص من المصدر الأصلي بتاريخ 3 يناير 2015 ، وتمت مراجعته بتاريخ 7 سبتمبر 2009. تركز هذه الورقة البحثية بالكامل على SUBLEQ OISC ولغة التجميع المرتبطة بها، باستخدام اسم SUBLEQ لكل من التعليمات وأي لغة تستند إليها.
- ↑ «الكشف عن أول حاسوب مصنوع من أنابيب الكربون النانوية» . بي بي سي. 26 سبتمبر 2013. تم الاطلاع عليه بتاريخ 26 سبتمبر 2013 .
- 1 2 أوليغ مازونكا، "نسخ البتات: البساطة الحسابية القصوى" ، مجلة الأنظمة المعقدة 2011، المجلد 19، العدد 3، الصفحات 263-285
- ↑ "Addleq" . موسوعة لغات الإسولانغ . تم الاطلاع عليه بتاريخ 16-09-2017 .
- ↑ "DJN OISC" . موسوعة اللغة الإنجليزية . تم الاطلاع عليه بتاريخ 16-09-2017 .
- ↑ "P1eq" . موسوعة لغات الإسولانغ . تم الاطلاع عليه بتاريخ 16-09-2017 .
- ↑ مازونكا، أوليغ (أكتوبر 2009). "SUBLEQ" . مؤرشف من الأصل بتاريخ 29 يونيو 2017. تم الاطلاع عليه بتاريخ 16 سبتمبر 2017 .
- ↑ "Subleq" . موسوعة لغات الإسولانغ . تم الاطلاع عليه بتاريخ 16-09-2017 .
- ↑ ز. أ. ميلزاك (1961). "مقاربة حسابية غير رسمية للحوسبة والحساب" . النشرة الرياضية الكندية . 4 (3): 279-293 . doi : 10.4153/CMB-1961-031-9 .
- ↑ xoreaxeaxeax. "movfuscator" . GitHub . تم الاسترجاع في 12 نوفمبر 2022 .
- ↑ "فجر لـ SUBLEQ" .
- ↑ https://www.gazetaeao.ru/zanimatelnaya-nauka-vchera-segodnya-zavtra/ مقال روسي في مجلة "بيروبيجانر شتيرن" حول العلوم الشعبية ، يتضمن نقاشًا موجزًا حول حاسوب "إيجورا" الذي ابتكره يوئيل ماتفييف.
- ↑ https://habr.com/ru/post/584596/ وصف للحاسوب الافتراضي إيجورا على موقع هابر (باللغة الروسية)
- ↑ أوليغ مازونكا: حاسوب بسيط متعدد المعالجات يعتمد على Subleq
- ↑ ريتشارد جيمس هاو SUBLEQ eForth
- ↑ مبادرة أدريان كيبل
- ↑ ز. أ. ميلزاك (2018-11-20) [سبتمبر 1961]. "مقاربة حسابية غير رسمية للحوسبة والحساب" . النشرة الرياضية الكندية . 4 (3): 279-293 . doi : 10.4153/CMB-1961-032-6 .
- ↑ ج. لامبيك (2018-11-20) [سبتمبر 1961]. "كيفية برمجة عداد لانهائي" . النشرة الرياضية الكندية . 4 (3): 295-302 . doi : 10.4153/CMB-1961-032-6 .
- ↑ جونز، دوغلاس و. (يونيو 1988). "معالج RISC الأمثل" . أخبار هندسة الحاسوب الصادرة عن ACM SIGARCH . 16 (3). نيويورك: ACM: 48-55 . doi : 10.1145/48675.48683 . S2CID 9481528. تاريخ الاسترجاع: 4 أكتوبر 2010 . "حظيت بنى الحواسيب ذات مجموعة التعليمات المختصرة باهتمام كبير منذ عام 1980. وتُعد بنية RISC النهائية المعروضة هنا مثالاً متطرفاً وبسيطاً في الوقت نفسه على هذه البنية. فهي تحتوي على تعليمة واحدة فقط، وهي نقل البيانات من ذاكرة إلى أخرى، ومع ذلك فهي مفيدة."
- ↑ كاتسوليس، جون (2005)، تصميم الأجهزة المدمجة ( الطبعة الثانية)، دار نشر أورايلي ميديا ، الصفحات 327-333 ، رقم ISBN 978-0-596-00755-3
- ↑ مازونكا، أوليغ؛ تسوتسوس، نكتاريوس جورجيوس؛ مانياتاكوس، ميخائيل (2016)، "كريبتولك: آلة مجردة غير متجانسة للحسابات المشفرة وغير المشفرة"، معاملات IEEE في الطب الشرعي وأمن المعلومات ، 11 (9): 2123-2138 ، Bibcode : 2016ITIF...11.2123M ، doi : 10.1109/TIFS.2016.2569062 ، S2CID 261387
روابط خارجية
- Subleq على ويكي لغات البرمجة الباطنية – المفسرات، والمترجمات، والأمثلة، واللغات المشتقة
- Reductio ad absurdum على يوتيوب من كريستوفر دوماس
- حاسوب مختبري فرعي – تنفيذ FPGA باستخدام VHDL
- متحف الحوسبة القديمة – محاكي SBN وبرامج نموذجية
- حاسوب مختبر SBN - مُنفذ باستخدام دوائر متكاملة من سلسلة 7400
- RSSB على ويكي لغات البرمجة الباطنية - المفسرات والأمثلة
- تطبيق دكتور دوب لبروتوكول OISC ذي 32 بت - بنية مُشغَّلة بالنقل (TTA) على FPGA باستخدام Verilog
- مقدمة إلى بنية MAXQ – تتضمن مخطط خريطة النقل
- محاكي OISC – النسخة الرسومية
- TrapCC (وحدات إدارة الذاكرة Intel x86 الحديثة هي في الواقع OISCs كاملة تورينج.)
- إيزورا – حاسوب سوبليك من تصميم يوئيل ماتفييف، مصمم كنظام أتمتة خلوي
- محاكي SBN – محاكي وتصميم مستوحيان من CARDboard Illustrative Aid to Computation
- الحوسبة أحادية البت بتردد 60 هرتز – وسيط بين الحاسوب وآلة الحالة
- آلة NOR - معلومات حول بناء وحدة معالجة مركزية باستخدام تعليمة واحدة فقط
- SUBLEQ eFORTH مترجم فوري كامل للغة Forth يعمل على SUBLEQ OISC.
- كريبتوليك – مستودع موارد كريبتوليك
- CAAMP – هندسة الحاسوب: منظور مبسط
- SICO – حاسوب ذو تعليمة واحدة: نوع من أنواع SUBLEQ باستخدام الأعداد الصحيحة غير الموقعة
- نماذج الحوسبة
- لغات البرمجة الباطنية
