الجزء الأولالجزء الثانيالجزء الثالثالجزء الرابعالجزء الخامستم تخصيص أحد فصول كتاب "Code" من قبل Charles Petzold لتصميم وحدة المعالجة المركزية ويصف في بداية الفصل جهازًا يتيح لك تلخيص مجموعات من الأرقام المخزنة في الذاكرة. تصميم هذه الدائرة في
Logisim . خذ مجموعة من الأرقام المكونة من ثمانية أرقام وقم بتوصيلها بالمُعدِّل ، وسوف ننتقل من رقم إلى آخر باستخدام عداد متصل بإدخال محدد للمُعدِّد ، ونقوم بتوصيل المُعلِق والبطارية بإخراج المعدد. سنستخدم الزر كمولد للساعة. سيتم تحميل البيانات في البطارية عند تحرير الزر (يتم ذلك باستخدام عنصر NOT المتصل بالزر).

سنقوم بتخزين الأرقام في ذاكرة الوصول العشوائي.

يمكن تمثيل ذاكرة الوصول العشوائي (RAM) على أنها مجموعة من السجلات التي يمكن الوصول إليها باستخدام وحدة تعدد الإرسال ومضاعف الإرسال (DMX و MUX).

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

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

بعد ذلك ، سنقوم بتخزين التعليمات والبيانات في ذاكرة وصول عشوائي واحدة. طريقة التخزين هذه هي السمة المميزة
لفن العمارة فون نيومان .
سيتم تخزين الأمر في أول أربعة أرقام من خلية الذاكرة ذات الثماني بتات ، وسيتم تخزين العنوان في الأرقام الأربعة الثانية (
عنونة مباشرة ).
سنقوم بتحميل العنوان والأمر في تسجيلات منفصلة ، ثم نستخدم معدد الإرسال للانتقال إلى العنوان المحفوظ. لكتابة البيانات إلى ذاكرة الوصول العشوائي ، سنقوم أولاً بتحميل البيانات في سجل Temp المؤقت (وإلا سيتم كتابة التعليمات إلى ذاكرة الوصول العشوائي ، وليس البيانات) ، ثم إلى Ass Battery. سيتم تسجيل البيانات في Temp و Ass على الحافة اللاحقة.
سنضيف ، على سبيل المثال ، الرقمين 2 و 3 ، اللذين يقعان في الخلايا 8 و 9 ، ونحفظ النتيجة في خلية ذات عنوان أ.

نضيف أيضًا القدرة على عمل قفزات غير مشروطة.
نقوم بتطبيق جهاز يتم فيه تنفيذ أمر واحد فقط - أمر القفز غير المشروط. للقيام بذلك ، سوف نرسل البتات الأربعة الأقل أهمية (العنوان ، في الواقع) إلى العداد الذي يولد العنوان ، وسنرسل الأمر المخزن في البتات العالية لخلية الذاكرة إلى منفذ التنزيل.
على سبيل المثال ، للانتقال إلى خلية بالعنوان 2 ، استخدم الأمر 82.

أضف أمرًا للانتقال دون قيد أو شرط إلى المخطط السابق.

بشكل عام ، في geektimes كان هناك بالفعل
مقال مخصص لتصميم وحدة المعالجة المركزية في Logisim.
يمكن تنزيل جميع المخططات الواردة أعلاه في
ملف واحد .
يمكن تنزيل Logisim
هنا .
ضع في اعتبارك كيفية عمل المُعلِن على سبيل المثال لشريحة 155im3 (7483). بالنسبة للدوائر الصغيرة من السلسلة 155 ، نتفق على أن هناك مقاومًا داخليًا عند المدخلات التي تسحب إلى الأعلى (إذا كانت الساق "معلقة في الهواء" ، فهناك "منطقي" عليها) ، لذلك ، عندما يتم توصيل الطاقة بالدائرة المصغرة ، فإن جميع مؤشرات LED المتصلة بالإخراج ستضيء .

تظهر الصورة MS 74ls283 (نظير حديث من 155im3).
من أجل تصميم مثل هذه الشريحة في Logisim ، تحتاج إلى تحديد "القائمة" - "المشروع" - "إضافة مخطط".
هذه هي الطريقة التي تبدو بها هذه MS داخل دائرة فرعية. هذه هي أربعة
نصف جامع مجتمعة في إعلان كامل.
كبطارية ، سنستخدم شريحة 155tm8 (74175) - مشغل D رباعي.
المشغلات التي هي جزء من MS تمر طوال الوقت حتى يكون هناك 1 على إدخال المزامنة ، وليس فقط على طول الحافة (المشغلات مع التحكم الثابت) ، ولكن في Logisim لدينا فقط مشغلات ديناميكية ، ولكن في هذه الحالة لا يهم ؛ سنستخدم ما هو.
يمكنك قراءة المزيد عن
المشغلات على ويكيبيديا.
دعنا نجمع نموذج MS 155tm8 من D-flip-flops.
بعد ذلك ، نجمع مخططًا يسمح لك بإضافة مجموعات من الأرقام.
على سبيل المثال ، إذا قمت بإضافة مجموعة من الأرقام 2 (0010) ، نحصل على 2 (0010) ، 4 (0100) ، 6 (0110) ، إلخ.
يظهر أول 2 عند إخراج المصراع (LEDs الأحمر) ، ثم يتم تحميل 2 في D-flip-flop الرباعي (LEDs الأصفر) ، و 4 تظهر عند إخراج المصمم ، ثم يتم تحميل 4 إلى 155tm8 ، و 6 تظهر عند إخراج المصمم ، إلخ.
من أجل تصميم وحدة ذاكرة بسيطة ، نحتاج إلى معدد إرسال. نقوم بتصميم جهاز مضاعف مزدوج 155kp2.
نحتاج أيضًا إلى عداد. سنقوم بتصميم رقاقة 155ie5.
هذا عداد مكون من أربعة أرقام ، لكننا نحتاج فقط إلى البتتين الأقل أهمية.
سنقوم بتخزين الأرقام ، على سبيل المثال ، 2 (0010) ، 3 (0011) ، 5 (0101).
الجمع بين جميع المكونات في دائرة واحدة. سنضيف الأرقام المخزنة في "الذاكرة"
2 + 3 + 5.
يمكن تنزيل
Logisim هنا .
ملاحظة حول كتاب "كود. اللغة السرية لعلوم الكمبيوتر ". موجود على حبري
هنا .
Z.Y. مقالات مترجمة (ترجمة بواسطة
PatientZero ) حول هندسة المعالج
هنا ،
هنا وهنا