كيفية بناء جهاز كمبيوتر 8 بت: 18 خطوة (مع صور)

من زينو نهار اليوم ØµØ Ø¹ÙŠØ¯ÙƒÙ… انشر الفيديو Øتى يراه كل الØ

من زينو نهار اليوم ØµØ Ø¹ÙŠØ¯ÙƒÙ… انشر الفيديو Øتى يراه كل الØ

جدول المحتويات:

Anonim

يبدو بناء جهاز كمبيوتر TTL ذي 8 بتات مهمة شاقة ومعقدة ، أو على الأقل فعلت لي عندما بدأت رحلتي لفهم بنية وحدة المعالجة المركزية الأساسية. عندما يتعلق الأمر بذلك ، فإن وحدة المعالجة المركزية بسيطة إلى حد ما في التشغيل بمجرد أن تتعلم الأساسيات الكامنة وراء جميع عملياتها. يهدف هذا المشروع إلى مساعدة أي شخص مهتم في بناء الكمبيوتر الخاص به واكتساب المعرفة الرائعة التي تأتي مع هذه العملية. لا تخف من المحاولة ، يمكنك أن تتعلم فقط.
سيبدأ هذا المشروع بوصف أساسيات الإلكترونيات. بعد ذلك ، سيتم وصف أساسيات المنطق الثنائي والمنطقي. أخيرًا ، سننتقل بعد ذلك إلى وظيفة الأجزاء المختلفة لجهاز كمبيوتر بسيط قدر الإمكان (مع بعض التعديلات) كما هو موضح في نص Malvino إلكترونيات الكمبيوتر الرقمية . هذا يعني أن المنتج النهائي لهذا Instructable سيكون جهاز كمبيوتر يمكنك البرنامج باستخدام مجموعة تعليمات فريدة منه. يترك هذا المشروع أيضًا العديد من جوانب التصميم الخاصة بالكمبيوتر ، ويكون بمثابة دليل لبناء الكمبيوتر الخاص بك. هذا لأن هناك العديد من الطرق للتعامل مع هذا المشروع. إذا كان لديك بالفعل فهم سليم للمنطق المنطقي وأعمال ثنائية ، فلا تتردد في الانتقال إلى لحم المشروع. آمل أن تستمتعوا جميعًا وأن تحصلوا على شيء من هذا القبيل ، وأنا أعلم أنني متأكد من أنني فعلت ذلك.
لهذا المشروع سوف تحتاج:
1.) امدادات الطاقة
2.) ألواح + الكثير من الأسلاك
3.) الصمام للإخراج
4.) منطق IC مختلف (نوقش لاحقًا)
5.) وقت الفراغ
6.) الرغبة في الفوضى والتعلم من الأخطاء
7.) الكثير من الصبر
اختياري (لكن مفيد جدًا):
1.) الذبذبات
2.) رقمي متعدد
3.) مبرمج EEPROM
4.) سونيك مفك البراغي
روابط مفيدة لمشروع مثل هذا:
إلكترونيات الكمبيوتر الرقمية:
http://www.amazon.com/Digital-computer-electronics-Albert-Malvino/dp/007039861
TTL كتاب الطبخ: http://www.amazon.com/TTL-Cookbook-Understanding-Transistor-Transistor-Integrated/dp/B0049UUV38

اللوازم:

الخطوة 1: ما هو الكمبيوتر؟

قد يبدو هذا سؤالًا بسيطًا للغاية ولا يحتاج إلى إجابة عندما يكون في الحقيقة سؤال لا يعرفه الكثير من الأشخاص بالإجابة الحقيقية عليه. توجد أجهزة الكمبيوتر لفترة أطول بكثير من الترانزستور في شكل الميكانيكية والنظرية. تم تعريف التعريف الفعلي لجهاز الكمبيوتر من قبل فرد ذكي جدًا باسم Alan Turing. ووصف الجهاز الذي كان يسمى آلة تورينج. يمكن تصنيف كل جهاز كمبيوتر نستخدمه اليوم ، من الكمبيوتر أو الهاتف الخلوي الذي تقرأه هذا إلى أجهزة الكمبيوتر العملاقة ، كجهاز Turing على أبسط مستوياته.
ما هي آلة تورينج؟ تتكون آلة تورينج من 4 أجزاء: الشريط والرأس والجدول وسجل الدولة. لتصور تشغيل مثل هذه الآلة ، عليك أولاً أن تتخيل شريط فيلم يمتد بلا حدود في كل اتجاه. تخيل الآن أن كل خلية من شريط الفيلم هذا يمكن أن تحتوي على واحد فقط من مجموعة محددة من الرموز (مثل الأبجدية). في هذا المثال ، دعونا نتخيل أن كل خلية يمكن أن تحتوي فقط على "0" أو "1". يمكن إعادة كتابة هذه الخلايا لفترة غير محدودة من الوقت ولكن الاحتفاظ بمعلوماتها إلى أجل غير مسمى حتى يتم تغييرها مرة أخرى. يمكن لجزء Turing Machine المعروف باسم الرأس كتابة الرموز للخلايا وأيضًا زيادة أو تقليل موضعها على شريط الفيلم بواسطة عدد صحيح معين (عدد صحيح) من الخلايا. الجزء التالي هو الجدول الذي يحتوي على مجموعة معينة من الإرشادات للرئيس لتنفيذها مثل "نقل 4 خلايا اليمين" و "تعيين الخلية إلى 1". الجزء الرابع والأخير من Turing Machine هو سجل حالته والغرض منه هو الحفاظ على الحالة الحالية للجهاز. تتضمن الحالة التعليمات وكذلك البيانات الحالية على الشريط.
هذا هو مدى بساطة تشغيل الكمبيوتر. عندما يعمل جهاز الكمبيوتر الخاص بك ، فإنه يعمل بالفعل كجهاز تورينج. يقوم بمعالجة البيانات الموجودة على جهاز الكمبيوتر الخاص بك عن طريق مجموعة معينة من التعليمات والخوارزميات. يعد الكمبيوتر الموصوف في هذا Instructable نموذجًا مبسطًا للغاية للكمبيوتر ، لكنه لا يزال يعمل كنموذج يمكنك برمجة مع مجموعة من الإرشادات التي سوف يتبعها وينفذها.
روابط مفيدة:
ويكيبيديا على آلات تورينج:
http://en.wikipedia.org/wiki/Turing_machine

الخطوة 2: مقدمة في الإلكترونيات

قبل بناء جهاز كمبيوتر 8 بت ، من المفيد للغاية الحصول على فهم للخصائص الأولية للكهرباء والدوائر التناظرية. هناك أجزاء على الكمبيوتر الذي ستقوم ببنائه ستحتاج إلى مكونات تمثيلية. هناك العديد من أدلة التدريس الذاتي للإلكترونيات المتاحة بأقل تكلفة توفر دورة تدريبية في الهندسة الكهربائية. لقد وجدت شخصيا الالكترونيات دليل التدريس الذاتي بقلم هاري كيبيت وإيرل بويزن ليكونا كتابًا رائعًا لمعالجة عالم الإلكترونيات التناظرية.
الالكترونيات دليل التدريس الذاتي : http://www.amazon.com/Electronics-Self-Teaching-Guide-Teaching-Guides/dp/0470289619/
المكونات المشتركة:
المقاوم - حدود الحالية ، تقاس في أوم.
Capacitor - المسؤول عن المتاجر ، يمكن أن يكون إما قطبيًا أو غير قطبي (وهذا يعني أنه يجب وضعه في الاتجاه الصحيح للعمل). تقاس في farads.
الصمام الثنائي - يسمح للتيار بالتدفق في اتجاه واحد فقط ، وينهار عند جهد معين عند وضعها في الاتجاه الخاطئ.
ترانزستور - بوابة الحالية التي يتم التحكم فيها بواسطة دبوس ثالث يعمل كوسيط. هناك العديد من أنواع الترانزستورات ، ولكن هنا سنتحدث عن BJT (الترانزستور ثنائي القطب) والذي يأتي في نوعين: NPN و PNP.

التيار والجهد والمقاومة يسيران جنبا إلى جنب في الدائرة. يمكن التعبير عن العلاقة بين الثلاثة بقانون أوم: V = IR. بمعنى آخر ، الجهد يساوي التيار بالأمبير مضروباً في المقاومة بالأوم. يعد قانون أوم أحد الصيغ الأكثر أهمية في مجال الإلكترونيات ويستحق معرفة الجزء العلوي من رأسك.
لتطبيق قانون أوم تحتاج إلى معرفة مقاومة الدائرة. للعثور على قيمة المقاوم ، يجب عليك استخدام رمز اللون الخاص به. يعتمد رمز اللون المقاوم على الطيف المرئي ويمكن حفظه في العديد من الموضات المختلفة. بالنسبة لأولئك الذين لا يهتمون بحفظه ، هناك عدد كبير من الأدوات الموجودة لمساعدتك في العثور على القيمة الصحيحة للمقاوم الخاص بك. لحساب المقاومة الكلية في الدائرة ، تحتاج إلى صيغتين لتكوينين مختلفين للمقاومات: سلسلة ومتوازية. في السلسلة ، يتبع أحد المقاومين الآخر ، بينما يعمل في موازاة ذلك جنبا إلى جنب. في السلسلة الصيغة بسيطة جدًا:
المقاومات في السلسلة: R (الإجمالي) = R (1) + R (2) +. . . + R (N)
وهذا يعني أنه عليك فقط إضافة قيم المقاومات.
المقاومات المتوازية: R (الإجمالي) = 1 / {1 / R (1) + 1 / R (2) +. . . + 1 / R (N)}
أداة جيدة للعثور على مقاومة من رمز اللون: http://www.csgnetwork.com/resistcolcalc.html
من الأسهل فهم صيغة المقاومات بشكل متوازٍ إذا كنت تعتقد أن المقاومات تعمل معًا مثل شخصين يعملون معًا في مشروع. يتم استخدام نفس الصيغة لمشاكل الكلمات حيث يتم منحك المعدل الذي يعمل به شخصان ويجب معرفة مدى سرعة إنجاز مشروعهما إذا كان العمل معًا.
للعثور على مقدار التيار الذي يتم توفيره لمكون معين مع قيمة مقاومة معينة ، يمكنك ببساطة توصيل قيم المقاومة والجهد في قانون أوم وحلها على سبيل المثال:
يوجد ضوء في دائرة ، ويوضع أمامه مقاومتان (ألف أوم) أمامه بشكل متواز. مع مصدر طاقة 9 فولت ، ما مقدار التيار الذي يتم توفيره للضوء؟
1.) حساب R (المجموع):
R (الكل) = 1 / (1/1000 + 1/1000) = 1 / (2/1000) = 1000/2 = 500 أوم
2.) حساب التيار باستخدام قانون أوم:
9 = أنا * 500
I = 9/500 = .018 A = 18 مللي أمبير (مللي أمبير)
يمكنك أيضًا ترتيب مقاومات في دائرة لتنظيم الجهد. وهذا ما يسمى مقسم الجهد ويشمل اثنين من المقاومات في السلسلة. خرج الجهد من اثنين من المقاومات في تقاطعها. للحصول على فكرة أفضل ، انظر إلى الصورة التي أرفقها. في هذا الترتيب ، صيغة إخراج الجهد هي:
V (للخارج) = V (المصدر) * R (2) / {R (1) + R (2)}
سوف تكون المكثفات مفيدة في جهاز الكمبيوتر الخاص بك مع بناء الساعة. الساعة عبارة عن دائرة يتم تشغيلها وإيقافها بمعدل ثابت. تمامًا مثل المقاومات ، تحتوي المكثفات على صيغتين لإيجاد القيمة الإجمالية لكلٍ من السلسلة والتكوينات المتوازية.
السلسلة: C (الإجمالي) = 1 / {1 / C (1) + 1 / C (2) +. . . + 1 / C (N)}
بالتوازي: C (المجموع) = C (1) + C (2) +. . . + C (N)

يعتمد المعدل الذي يتم فيه شحن المكثف على مقاومة الدائرة قبل (أو بعد إذا كنت تفريغ) من المكثف وكذلك سعته. يتم قياس شحن المكثف في ثوابت الوقت. يستغرق ثوابت زمنية 5 لشحن مكثف أو تفريغه بالكامل. الصيغة لإيجاد الوقت الثابت للمكثف بالثواني هي:
T (ثابت) = المقاومة * السعة
الثنائيات بسيطة في التشغيل وتأتي في متناول اليد عند بناء جهاز كمبيوتر TTL. أنها تسمح فقط لتدفق التيار في اتجاه واحد. عندما يتم وضعها في الاتجاه الصحيح فهي ما يسمى منحاز إلى الأمام. عندما يتم عكسها تنهار عند بعض الجهد. عندما يعمل الصمام الثنائي ضد التيار فإنه يكون متحيزًا.
يعمل الترانزستور مثل الصمام الذي يتم تشغيله بواسطة التيار. BJT له ثلاثة دبابيس: جامع ، باعث والقاعدة. من أجل البساطة في هذه الخطوة ، سأصف ترانزستور NPN يتدفق فيه التيار من المجمع إلى الباعث. يتحكم التيار المطبق في القاعدة في مقدار التدفق الحالي من المجمع إلى باعث. تعد الترانزستورات مثالية للعديد من التطبيقات نظرًا لقدرتها على تضخيم الإشارة. وذلك لأن التيار المطبق في قاعدة الترانزستور يمكن أن يكون أقل بكثير من التيار المتحكم به. يسمى هذا الكسب في التيار الكسب الحالي للترانزستور ، أو بيتا. الصيغة التجريبية هي:
الإصدار التجريبي = الحالي (المجمع) / الحالي (الأساسي)
عندما يكون الترانزستور بالكامل ، يُقال إنه مشبع. الترانزستور المنطقي هو إما في حالته المشبعة أو خارجها ولا بينهما. هذا هو نوع الترانزستور الذي ستتعامل معه في الغالب في مجال الإلكترونيات الرقمية. تشكل الترانزستورات بوابات المنطق اللازمة لتشغيل الكمبيوتر. وسيتم وصف هذه في وقت لاحق.
روابط مفيدة:
http://en.wikipedia.org/wiki/Resistor
http://en.wikipedia.org/wiki/Capacitor
http://en.wikipedia.org/wiki/Diode
http://en.wikipedia.org/wiki/Transistor

الخطوة 3: الأرقام الثنائية

لقد اعتدنا اليوم على نظام الترقيم العالمي الذي يعتمد على الرقم عشرة. أعني بذلك أنه ليس لدينا عدد في نظام الأرقام لدينا يساوي قيمة عشرة ، وبالتالي فإن نظام الأرقام لدينا هو الأساس العاشر.
فكر في نظام الأعداد لدينا باعتباره عداد المسافات. يتم حساب عداد المسافات من أدنى رقم إلى أعلى رقم ، ثم يجبر الدوار التالي بالتتابع للمضي قدماً في مكان واحد. فمثلا:
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0 <- انتقل إلى الرقم التالي
ثنائي هو الأساس الثاني ، وهذا يعني أنه يحتوي فقط على رقمين وليس له رقم 2. يحتوي ثنائي فقط على الأرقام 0 و 1 أو "إيقاف" و "تشغيل". لحساب في ثنائي أنت ببساطة تطبيق تقنية عداد المسافات:
0001b - 1
0010b - 2
0011b - 3
0100b - 4
0101 ب - 5
0110b - 6
0111 ب - 7
1000 ب - 8
الخ . .
هناك عامل آخر في نظام الأعداد لدينا يجعله قاعدة عشرة ؛ مع تقدمنا ​​في الأرقام ، يزداد وزن الأرقام بقوة عشرة. على سبيل المثال 1 = 10 ^ 0 ، 10 = 10 ^ 1 ، 100 = 10 ^ 2 ، إلخ. . . في ثنائي ، الأمور بالطبع هي الأساس الثاني وعلى هذا النحو ، كل الأرقام المتعاقبة هي قوة أخرى لاثنين. 1b = 1 = 2 ^ 0 ، 10b = 2 = 2 ^ 1 ، 100b = 4 = 2 ^ 2 ، إلخ. . .
لتحويل رقم عشري إلى ثنائي هناك خدعة بسيطة تُعرف باسم dabble مزدوجة تجعل العملية أكثر سهولة:
لنقل أننا نريد تحويل 13 إلى رقم ثنائي ، نبدأ بتقسيم 13 على اثنين ونكتب الباقي. ثم فوقها مباشرة تكتب الرقم الناتج دون الباقي (6 في هذه الحالة) وتقسيم ذلك على اثنين وتكتب الباقي فوق الرقم السابق. يمكنك متابعة هذه العملية حتى تصل إلى 1 أو 0. في النهاية تقرأ من أعلى إلى أسفل للحصول على النتيجة.
1/2 = 0 R1 <اقرأ من أعلى إلى أسفل. والنتيجة هي 1101 أو 2 ^ 0 + 0 + 2 ^ 2 + 2 ^ 3 = 1 + 0 + 4 + 8 = 13. وتسمى هذه الكلمة الثنائية.
3/2 = 1 R1 <
6/2 = 3 R0 <
13/2 = 6 R1 <
يستخدم سداسي عشري في كثير من الأحيان مع ثنائي. سداسي عشري هو الأساس 16 ويحتوي على الأرقام 0-9 و a-f. يتم استخدام رقم سداسي عشري لوصف واحد nibble أو أربعة بت من البيانات. قليلا واحد 1 أو 0 من ثنائي. يمكن أن يعتد nibble من 0 إلى 15 (0000 إلى 1111) قبل أن تكون البت التالي في nibble التالي. اثنين من يقضم معا هو بايت أو 8 بت. بما أن الرقم الأول هو 2 ^ 0 ، فإن آخر رقم تم ترجيحه 2 ^ 7. لذلك ، يمكن أن تكون البايتة في أي مكان في النطاق من 0 إلى 255. للتعبير عن البايتة 00101110 (46 بالأرقام العشرية) في ست عشري ، ستقوم أولاً بفصل القناتين في 0010 و 1110. والقمة الأولى لها قيمة 2 والثانية واحد له قيمة E (أو 14 في العشرية). وبالتالي فإن البايت 00101110 في ست عشري سيكون 2E.
روابط مفيدة:
http://en.wikipedia.org/wiki/Binary_numeral_system
http://en.wikipedia.org/wiki/Hexadecimal

الخطوة 4: المنطق غيتس

يتكون الكمبيوتر من آلاف البوابات المنطقية التي تم ترتيبها لتنفيذ وظائف معينة. البوابة المنطقية هي أحد مكونات الإلكترونيات الرقمية التي يعتمد إنتاجها على حالة مدخلاتها. معظم البوابات المنطقية لها مدخلان ومخرج واحد. يمكنك التفكير في البوابات المنطقية كصناع القرار في مجال الإلكترونيات الرقمية. البوابات المنطقية الست الرئيسية المستخدمة في الإلكترونيات الرقمية هي:
AND Gate: تكون المخرجات عالية عندما تكون المدخلات مرتفعة.
أو بوابة: الإخراج عالية عندما يكون أي من مدخلاتها عالية.
لا بوابة: لديه سوى إدخال واحد. الناتج مرتفع عندما تكون مدخلاته منخفضة.
بوابة NAND: الإخراج مرتفع ما لم تكن جميع مدخلاته عالية.
بوابة NOR: تكون المخرجات عالية عندما لا تكون مدخلاتها عالية.
بوابة XOR: الإخراج مرتفع عندما يكون عدد فردي من المدخلات مرتفعًا.

Tri-State Buffer: مخزن مؤقت يتم التحكم فيه بواسطة إشارة منطقية ثالثة.
من المهم أن نذكر الآن الفرق بين إشارة "1" عالية وإشارة "0" منخفضة. يمكن أن تكون الإشارة العالية إما اتصالًا بجهد إيجابي أو يمكن أن تكون مدخلات عائمة. المدخلات العائمة غير متصلة بأي مخرجات. مثال على إدخال عائم سيكون غير متصل على الإطلاق أو واحد متصل بإخراج مخزن مؤقت 3 حالات لم يتم تنشيطه. توجد إشارة منخفضة عندما يكون هناك دخل في الأرض.
يمكن تغذية البوابات المنطقية فيما بينها لإنتاج أي وظيفة يمكن تخيلها تقريبًا. على سبيل المثال ، يمكن تغذية بوابتين NOR في بعضهما البعض لتخزين جزء واحد من البيانات في مزلاج RS_NOR أثناء توفير الطاقة إلى الدائرة.

الخطوة 5: العد الثنائي (عداد البرنامج)

واحدة من أهم الأجزاء لجهاز الكمبيوتر هو عداد البرنامج. يوفر عداد البرنامج للكمبيوتر العنوان الحالي للتعليمات المراد تنفيذها. لكي يعمل عداد البرنامج ، فإنه يحتاج إلى حساب بالثنائي. للقيام بذلك يتم استخدام يتخبط JK الوجه. التقليب هو ترتيب للبوابات المنطقية التي تخزن بت واحد (مثل مزلاج RS_NOR الموصوف في خطوة البوابات المنطقية). يغير قلب الوجه JK حالته عندما ترتفع مدخلات نبض الساعة إلى الأعلى ثم تنخفض مرة أخرى (يجب أن تكون مدخلات J و K مرتفعة أيضًا). وبعبارة أخرى ، كلما حصلت JK flip flop على حافة السقوط لنبض الساعة ، تتغير حالتها من "0" إلى "1" أو من "1" إلى "0".
إذا قمت بتوصيل إخراج أحد الوجهات JK بالتخبط مع الآخر وتسلسلها ، فإن النتيجة هي عداد ثنائي يعمل مثل عداد المسافات. هذا لأنه مع ارتفاع الوجه الأول في JK بالتسلسل ، ثم انخفاضه ، فإنه يطلق الموجة التالية في التسلسل. يتم تقليل تردد الساعة (عدد مرات تشغيله وإيقاف تشغيله في الثانية) إلى النصف مع كل إضافة متتالية لفليب JK. وهذا هو السبب في أن JK flip-flop يُطلق عليها أيضًا دائرة القسمة على اثنين. سيكون النمط الناتج لأربعة أوراق قلب JK هو 0000 ، 0001 ، 0010 ، 0011 ، 0100 ، إلخ. . .
بالنسبة إلى الكمبيوتر البسيط قدر الإمكان الموضح في هذه التعليمات ، هناك بعض الوظائف الإضافية التي تحتاجها من أجل تشغيل الكمبيوتر. لكي يتمكن الكمبيوتر من إعادة تشغيل برنامجه ، فإنه يحتاج إلى القدرة على مسح أو تعيين جميع مخرجاته إلى صفر. يحتاج عداد البرنامج أيضًا إلى القدرة على تحميل كلمة ثنائية لرمز JMP op الذي يسمح للكمبيوتر بالانتقال إلى تعليمات معينة. تستخدم البوابات المنطقية لتحقيق هذا الهدف. لحسن الحظ بالنسبة لنا عدادات الثنائية تأتي في رقائق مريحة مع جميع الوظائف التي تحتاج إليها.

الخطوة 6: السجلات

سجلات:

يمكن أن تكون السجلات الجزء الأكثر أهمية في الكمبيوتر. سجل يخزن مؤقتا قيمة أثناء تشغيل الكمبيوتر. يحتوي الكمبيوتر ذي 8 بت الموصوف في هذا Instructable على سجلين مرفقين بـ ALU ، وهو سجل لتخزين التعليمات الحالية وسجل لإخراج الكمبيوتر.

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

مثال على استخدام السجل على جهاز كمبيوتر هو وحدة التراكم في ALU (وحدة المنطق الحسابي التي تقوم بإجراء العمليات الحسابية). يشبه المُراكم لوحة الصفر للكمبيوتر الذي يخزن إخراج ALU. التراكم هو أيضًا الإدخال الأول لـ ALU. سجل B هو الإدخال الثاني. لعملية إضافة ، يتم تحميل القيمة الأولى في المجمع. بعد ذلك يتم تحميل القيمة الثانية المراد إضافتها إلى القيمة الأولى في السجل B. يتم دمج مخرجات جهاز التجميع وسجل B وتغذي باستمرار في ALU. الخطوة الأخيرة للإضافة هي نقل مخرجات العملية إلى جهاز التراكمي.

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

الخطوة 7: ALU

ALU (وحدة المنطق الحسابي) للكمبيوتر هي الجزء الذي ينفذ العمليات الحسابية. بالنسبة لجهاز الكمبيوتر SAP ، لن تحتاج إلا إلى وظيفتين: الجمع والطرح. الجمع والطرح في الأعمال الثنائية يشبه إلى حد كبير الجمع والطرح بالمصطلحات العشرية ، على سبيل المثال:
1 <- حمل 1 1 <- حمل القطع
05 0101
+05 +0101
10 1010
لإضافة ثنائي نحن بحاجة إلى ما يسمى الأفعى الكاملة. يضيف الأفعى العلوية بشكل فعال جزءًا من ثنائي إلى آخر مع إدخال وتنفيذه. يشبه الحمل في أحد الأعمدة الكاملة الإدخال الثالث لعملية الإضافة. يتم استخدامها لسلسلة متعددة الوظائف الإضافية معًا. يحدث تنفيذ الأفعى الكاملة عندما يكون هناك زوج من الأفعال في عملية الإضافة. يتم تغذية الحمل من الأفعى الكاملة في الحمل لإضافة أجزاء متعددة من الثنائي. لبناء أفعى كاملة تحتاج إلى اثنين من بوابات XOR ، واثنين من البوابات و OR بوابة.
لطرح الثنائي ، نحتاج إلى تحويل رقم إلى نظيره السلبي وإضافته إلى الرقم الذي نطرحه منه. للقيام بذلك ، نستخدم ما يسمى بمجاملة 2. لأخذ مجاملة 2 لكلمة ثنائية تقوم بعكس كل جزء (قم بتغيير كل 0 إلى 1 وكل 1 إلى 0) وأضف واحدة.
5 = 0101, -5 = 1010+1 = 1011
غير مستخدم -> 1 1
10 1010
+(-5) +1011
5 0101
للتحكم في انقلاب البتات ، نستخدم بوابات XOR بمدخل واحد منخفض عادة. مع أحد المدخلات المنخفضة عادة ، يكون الإخراج مكافئًا للمدخلات الأخرى. عندما تضبط مدخلات التحكم العالية ، فإنك تقلب المدخلات الأخرى. إذا قمنا بربط هذا الانعكاس مع إرسال قليلاً لحمل الأضافات الكاملة ، تكون عملية الطرح هي النتيجة.

الخطوة 8: ذاكرة البرنامج وذاكرة الوصول العشوائي

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

الخطوة 9: سجل التعليمات

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

الخطوة 10: سجل الإخراج

إذا أراد جهاز الكمبيوتر فقط تغذية ناتج الحافلة إلى المشغل ، فلن يكون لقراءاتك أي معنى. هذا هو السبب في وجود سجل الإخراج الذي يهدف إلى تخزين القيم المخصصة للإخراج. يمكن أن يكون الإخراج الخاص بجهاز الكمبيوتر الخاص بك عبارة عن مؤشرات LED بسيطة تعرض ثنائيًا خامًا ، أو يمكن أن يكون لديك شاشة تقرأ الأرقام الفعلية على شاشات من سبعة أجزاء. كل هذا يتوقف على مقدار العمل الذي تريد وضعه على جهاز الكمبيوتر الخاص بك. بالنسبة لجهاز الكمبيوتر الخاص بي ، أستخدم بعض أنابيب Numitron الروسية IV-9 لإخراج جهاز الكمبيوتر الخاص بي إلى جانب Arduino للقيام بالتحويل من ثنائي إلى عشري.

الخطوة 11: الساعة

يجب مزامنة كل جزء في الكمبيوتر بالكامل حتى يعمل بشكل صحيح. من أجل القيام بذلك ، يحتاج جهاز الكمبيوتر الخاص بك إلى ساعة أو دائرة بها ناتج يعمل وإيقاف التشغيل بمعدل ثابت. أسهل طريقة للقيام بذلك هي استخدام مؤقت 555. جهاز ضبط الوقت 555 هو جهاز توقيت شائع للغاية تم اختراعه في عصر ظهور جهاز الكمبيوتر الذي يتمتع بشعبية كبيرة بين الهواة اليوم. لبناء 555 الدائرة تحتاج إلى معرفة كيفية عمل واحد.
يجب أن تكون الساعة للكمبيوتر بطيئة نسبياً في البداية. 1 هرتز ، أو دورة واحدة في الثانية الواحدة ، هي قيمة بداية جيدة. هذا يسمح لك بمشاهدة تشغيل جهاز الكمبيوتر الخاص بك والتحقق من أي أخطاء. تحتاج الشريحة 555 إلى مقاومين ومكثف للتشغيل. تحدد المقاومات اثنين طول النبضات العالية والمنخفضة وكذلك التردد الكلي. يغير المكثف طول النبضة لكليهما. إذا لم يكن لديك أي خبرة مع 555 مؤقتًا ، أوصي بتجربتها.
روابط مفيدة:
http://en.wikipedia.org/wiki/555_timer_IC

الخطوة 12: العمارة

هذه هي الخطوة حيث يأتي كل شيء معا. لقد حان الوقت لتصميم بنية جهاز الكمبيوتر الخاص بك. الهيكل هو كيفية تنظيم السجلات والمكونات المختلفة لجهاز الكمبيوتر الخاص بك. إن جانب التصميم متروك لك تمامًا ، على الرغم من أنه يساعد على وضع هدف في الاعتبار (ما تريد أن يفعله الكمبيوتر الخاص بك) ونموذج ينفد. إذا كنت ترغب في تصميم جهاز الكمبيوتر الخاص بك بعد الألغام فهو بخير تماما. قمت بتعديل بنية SAP-1 الموجودة في إلكترونيات الكمبيوتر الرقمية لجهاز الكمبيوتر الخاص بي 8 بت.
يتمثل أحد جوانب التصميم التي يجب مراعاتها دائمًا في كيفية نقل البيانات بين المكونات المختلفة لجهاز الكمبيوتر الخاص بك. الطريقة الأكثر شيوعًا هي الحصول على "ناقل" مشترك لجميع البيانات الموجودة على الكمبيوتر. يتم توصيل مدخلات ومخرجات السجلات و ALU وعداد البرنامج وذاكرة الوصول العشوائي جميعها بحافلة الكمبيوتر. يتم ترتيب الأسلاك بالترتيب من البتة الأقل دلالة (1) إلى البتة الأكثر دلالة (128).
يجب فصل جميع المخرجات المتصلة بالناقل تمامًا أثناء عدم نشاطها وإلا ستندمج مع بعضها البعض وتؤدي إلى إخراج خاطئ. للقيام بذلك ، نستخدم المخازن المؤقتة ثلاثية الحالة للتحكم في إخراج بعض العناصر التي يتم إخراجها افتراضيًا مثل المُراكم و ALU والمدخلات الفعلية لبرمجة الكمبيوتر.

الخطوة 13: مصفوفة التحكم

تخبر مصفوفة التحكم في الكمبيوتر كل جزء على حدة بموعد إخراج وإخراج قيمته. هناك حالات متعددة لكل عملية في الكمبيوتر. يتم تشغيل هذه الحالات بواسطة نوع عداد يسمى عداد الحلقة. يحتوي عداد الحلقة على ارتفاع واحد فقط في كل مرة ويقوم بالدوران خلال مخرجاته على التوالي. على سبيل المثال ، إذا كان عداد النغمات يحتوي على 4 مخرجات ، فسيكون أول خرج نشط له. في نبض الساعة التالي ، سيحدد إخراجه الثاني عالياً (والأقل انخفاضًا). سوف نبض الساعة القادمة المضي قدما إخراج واحد أعلى وهلم جرا. وتسمى هذه المراحل تي الدول. يستخدم الكمبيوتر في هذا Instructable حالات T 6 لتشغيل أمر واحد. حالات T الثلاثة الأولى هي ما يسمى دورة الجلب التي يتم فيها جلب التعليمة الحالية ووضعها في سجل التعليمات. يتم زيادة عداد البرنامج أيضًا بواحد. تعتمد المجموعة الثانية من ثلاث حالات T على ما يتم إدخال رمز OP في مصفوفة التحكم من سجل الإرشادات. حالات T كالتالي:
T1: يتم نقل محتويات عداد البرنامج في سجل عنوان الذاكرة. (حالة العنوان)
تي
2: يتم زيادة عداد البرنامج من جانب واحد. (حالة الزيادة)
T3: يتم نقل البايتة الموجهة في ذاكرة البرنامج إلى سجل التعليمات. (حالة الذاكرة)
T4: يعتمد على الأمر الذي يتم تنفيذه.
T5: يعتمد على الأمر الذي يتم تنفيذه.
T6: يعتمد على الأمر الذي يتم تنفيذه.
هناك طريقتان أساسيتان لإنشاء مصفوفة تحكم: استخدام المنطق المنفصل واستخدام ROM. طريقة ROM هي الأسهل والأكثر كفاءة. ينطوي استخدام المنطق المنفصل على تصميم مخطط منطقي كبير ينتج عنه كلمات التحكم الصحيحة لجهاز الكمبيوتر الخاص بك استنادًا إلى إدخال كود OP. ROM لتقف على ذاكرة القراءة فقط. هناك العديد من أنواع ROM التي يمكنك وضعها في الاعتبار عند استخدامها. بالنسبة لجهاز الكمبيوتر الخاص بي ، كنت أستخدم EEPROM (ذاكرة الوصول العشوائي القابلة للبرمجة القابلة للمسح إلكترونيًا) ، ولكن بعد ذلك انتقلت إلى NVRAM (ذاكرة الوصول العشوائي غير المتطايرة) بعد فشل كتابة EEPROM. لا أوصي بـ NVRAM لأنه مخصص لذاكرة الوصول العشوائي وليس للتخزين الدائم. EEPROM هو الحل الأكثر كفاءة في رأيي.
ستحتوي مصفوفة التحكم على ثلاث شرائح ROM تحتوي كل منها على 32 عنوانًا على الأقل من سعة تخزينية 8 بت (بالإضافة إلى عناصر التوقيت والحساب). الكلمة الثنائية التي يتم إرسالها من مصفوفة التحكم تسمى ROM control وتحتوي على جميع وحدات التحكم في كل مكون من مكونات جهاز الكمبيوتر الخاص بك. تريد التأكد من تنظيم وحدات التحكم ومعرفة ترتيبها. بدون أي عملية ، تريد كلمة تحكم تجعل كل جزء من جهاز الكمبيوتر غير نشط (باستثناء الساعة بالطبع). يبلغ طول كلمة التحكم الخاصة بالكمبيوتر الموصوفة في Instructable هذه 16 بت ويتم تخزينها في اثنين من رقائق التحكم ROM. العناوين الثلاثة الأولى من رقائق التحكم ROM تحتوي على كلمات التحكم لدورة الجلب. تحتوي بقية العناوين على الشريحة على كلمات التحكم في أزواج من ثلاثة لكل رمز OP. تحتوي شريحة ذاكرة الوصول العشوائي الثالثة على موقع الذاكرة لبدء تسلسل كلمة التحكم لكل رمز OP ويتم معالجتها بواسطة رمز OP نفسه. على سبيل المثال ، في جهاز الكمبيوتر الخاص بي ، إذا أعطيت عنصر التحكم OP رمز 0110 ، فسيتم إخراج ثنائي 21 ، وهو عنوان بداية الأمر JMP. يوجد عداد 8 بت بين ROM ROM و ROM للتحكم الذي يعد من 0-2 (أول ثلاث حالات من T) ثم في الحالة T الثالثة يقوم بتحميل العنوان الذي تم إخراجه من ROM OP ويتم حسابه من ذلك الموضع حتى T1 الدولة مسح العداد مرة أخرى. يتم التحكم في العداد والعداد الثنائي لمصفوفة التحكم عن طريق قلب نبض الساعة بحيث تكون كلمات التحكم موجودة عند انتقال نبض الساعة المرتفعة إلى عناصر الكمبيوتر. العملية بأكملها بالترتيب هي كما يلي:
1.) حالة T1 مسح العداد إلى 0 ، يتم إرسال كلمة التحكم المخزنة في 0
2.) ترتفع الساعة وتحدث حالة العنوان
3.) الساعة تنخفض وبدورها تزداد عدادات التحكم وكلمة التحكم 1
4.) الساعة ترتفع ودورة الزيادة تحدث
5.) تنخفض الساعة ويزداد عداد التحكم إلى 2 ، وترسل كلمة التحكم 2
6.) ترتفع الساعة وتحدث حالة الذاكرة ويصل رمز OP إلى سجل التعليمات ، T3 نشط أيضًا مما يعني أنه في نبض الساعة التالي التالي سيتم تحميل عنوان التحكم OP
7.) تنخفض الساعة وتحمل العداد بعنوان أول كلمات التحكم الثلاث لرمز OP المحدد
8.) T4 ، T5 و T6 تنفيذ رمز OP
9.) T1 إعادة تعيين العداد ، تستمر العملية حتى يتم تلقي HLT OP. يتوقف الأمر HLT على مدار الساعة.

الخطوة 14: البرمجة الدقيقة

الآن هو الجزء الذي تقرر فيه الأوامر التي تريد أن يكون الكمبيوتر قادراً عليها. لقد منحت جهاز الكمبيوتر الخاص بي 6 عمليات فريدة من شأنها أن توفر له وظائف البرمجة الأساسية التي سأحتاجها. الأوامر التي ستبرمجها في جهاز الكمبيوتر الخاص بك هي ما يسمى لغة التجميع. تعد التجميع واحدة من أقدم لغات البرمجة ولا يزال من الممكن استخدامها على أجهزة الكمبيوتر اليوم. تتضمن الأوامر في اللغة تحميل أداة التجميع وإضافة المتغيرات ونقلها وتخزينها وتخزينها. يحتوي كل أمر على شفرة OP 4-bit الخاصة به في هذا الكمبيوتر ذي 8 بت. الأوامر التي اخترتها لجهاز الكمبيوتر الخاص بي هي:
NOP: لا توجد عملية. (0000)
LDA: قم بتحميل أداة التجميع بالقيمة في هذا العنوان. (0001)
إضافة: إضافة القيمة في العنوان المحدد إلى القيمة في المجمع. (0010)
SUB: طرح القيمة على العنوان المحدد من القيمة في المجمع. (0011)
STO: تخزين محتويات المجمع في العنوان المحدد. (0100)
خارج: تخزين محتويات المجمع في سجل الإخراج بحيث يمكن للمشغل رؤيته. (0101)
JMP: انتقل إلى تعليمات معينة في الذاكرة على العنوان المحدد. (0110)
HLT: أوقف تشغيل الكمبيوتر. (0111)
لتحديد كلمات التحكم التي يجب إرسالها لكل OP ، تحتاج إلى معرفة البتات التي يجب أن تكون نشطة أثناء كل حالة T. بالنسبة لجهاز الكمبيوتر الخاص بي ، قمت بتنظيم البتات كما يلي (يشير التسطير إلى وجود بت نشط منخفض):
CE CO J MI RO II IO OI BI EO SU AI AO RI HLT X
CE - Count Enable (يتيح مدخلات ساعة عداد البرنامج)
CO - خارج الساعة تمكين
J - الانتقال تمكين
MI - MAR الإدخال
ريال عماني - برنامج الذاكرة خارج
ثانيا - سجل التعليمات في
IO - تعليمات تسجيل الخروج
OI - سجل الإخراج في
BI - B سجل في
تمكين إخراج EO - ALU
SU - طرح
الذكاء الاصطناعى
AO - تمكين الناتج تراكم
RI - برنامج الذاكرة في
HLT - توقف
X - غير مستخدم
فيما يلي البتات التي يجب أن تكون نشطة لكل حالة T لتعليم معين وكذلك العنوان الذي يجب أن تكون عليه في ROM التحكم:
جلب:
0: CO، MI - إخراج عداد البرنامج في MAR
1: CE - يتم تمكين العداد لنبض الساعة التالي
2: RO ، II - يتم إخراج البايت الذي تم تناوله من ذاكرة الوصول العشوائي في سجل التعليمات
NOP:
3: س
4: س
5: س
LDA:
6: IO ، MI - يتم نقل العنوان في سجل التعليمات إلى MAR (أقل أربعة بت)
7: RO ، AI - يتم إخراج البايت الذي تم تناوله من الذاكرة إلى المجمع
8: س
ADD:
9: IO ، MI - يتم نقل العنوان في سجل التعليمات إلى MAR (أقل أربعة بت)
10: RO ، BI - يتم إخراج البايت الذي تم تناوله من الذاكرة إلى جهاز التجميع
11: EO ، AI - يتم تحميل مجموع من تراكم وسجل B في المجمع
الفرعية:
12: IO ، MI - يتم نقل العنوان في سجل التعليمات إلى MAR (أقل أربعة بت)
13: RO ، BI - يتم إخراج البايت الذي تم تناوله من الذاكرة إلى المجمع
14: AI ، SU ، EO - يتم تحميل الفرق من تراكم وسجل B في المجمع
STO:
15: IO ، MI - يتم نقل العنوان في سجل التعليمات إلى MAR (أقل أربعة بت)
16: AO ، RO ، RI - المخرجات تراكم في ذاكرة البرنامج في الموقع موجهة (RO و RI يجب أن تكون نشطة لكتابة على الشريحة التي استخدمتها)
17: س
خارج:
18: OI ، AO - تراكم الإخراج في سجل الإخراج
19: س
20: س
أحزاب اللقاء المشترك:
21: J ، IO - يقوم سجل التعليمات بتحميل عداد البرنامج بأدنى أربعة بتات
22: س
23: س
HLT:
24: HLT - يتم إرسال إشارة توقف إلى الساعة
25: س
26: س
يحتوي ROM ROM على مضاعفات ثلاثة في كل موقع الذاكرة. هذا بالطبع لأن كل دورة تأخذ ثلاث حالات تنفيذ. وبالتالي فإن البيانات الموجهة إلى OP ROM الخاص بك ستكون:
0 - 3
1 - 6
2 - 9
3 - 12
4 - 15
5 - 18
6 - 21
7 - 24
لبرمجة اختيارك للرقاقة لديك العديد من الخيارات المختلفة. يمكنك شراء مبرمج EEPROM و EPROM ، لكنها عادةً ما تكلف مبلغًا كبيرًا من المال. لقد قمت ببناء مبرمج للوحة ROM الخاصة بي يتم تشغيله عن طريق تحريك الأسلاك والتحكم في كتابة وقراءة دبابيس تمكين بواسطة أزرار الضغط. في وقت لاحق قمت بتبسيط العملية وتصميم مبرمج Arduino ل NVRAM خاصتي. سوف أرفق الكود لأنه يمكن تعديله بسهولة لبرمجة أي شريحة ذاكرة متوازية تقريبًا تستخدمها في هذا المشروع.

الخطوة 15: شراء قطع الغيار

إن الشيء العظيم في بناء جهاز كمبيوتر 8 بت هو أن معظم الأجزاء سوف تكلفك أقل من دولار للقطعة إذا قمت بشرائها من المكان الصحيح. لقد اشتريت 90٪ من أجزائي من Jameco Electronics وكنت راضيًا تمامًا عن خدماتهم. الأجزاء الوحيدة التي اشتريتها حقًا من أي مكان آخر هي الألواح وأسلاك اللوح (وأنابيب Numitron). يمكن العثور على هذه أرخص بكثير على مواقع مثل الأمازون. احرص دائمًا على التأكد من أن الأجزاء التي تطلبها هي الأجزاء الصحيحة. يجب أن يكون لكل جزء تشتريه ورقة بيانات متوفرة على الإنترنت تشرح جميع وظائف وقيود العنصر الذي تشتريه. تأكد من الحفاظ على تنظيمها لأنها ستستخدم العديد من أوراق البيانات في بناء جهاز الكمبيوتر الخاص بك. لمساعدتك في جهاز الكمبيوتر الخاص بك ، سأدرج الأجزاء التي استخدمتها للأعمال المتعلقة بالألغام:
عداد 4 بت:
74161 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay؟freeText=74161&langId=-1&storeId=10001&productId=49664&search_type=jamecoall&catalogId=10001&ddkey=http:Store
تسجيل 4 بت (استخدم اثنين لكل سجل 8 بت):
74LS173 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay؟freeText=74LS173&langId=-1&storeId=10001&productId=46922&search_type=jamecoall&catalogId=10001&ddkey=Ceview
2-1 المضاعف:
74LS157 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_46771_-1
ذاكرة الوصول العشوائي 16 × 8 (يحتاج الإخراج إلى قلبه):
74189 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay؟freeText=74189&langId=-1&storeId=10001&productId=498888&search_type=jamecoall&catalogId=10001&ddkey=http:Store
الإضافات الكاملة:
74LS283 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay؟freeText=74LS283&langId=-1&storeId=10001&productId=47423&search_type=all&catalogId=10001&ddkey=http
مخازن ثلاثي الدولة:
74S244 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_910750_-1

XOR Gates:
74LS86 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295751_-1
و غيتس:
74LS08 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295401_-1
غيتس نور:
74LS02 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283741_-1
العاكسون:
74LS04 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283792_-1
عداد الطوق:
CD4029 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay؟freeText=4029&langId=-1&storeId=10001&productId=12925&search_type=jamecoall&catalogId=10001&ddkey=http:Store
JK Flip-Flops:
74LS10 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295427_-1

الخطوة 16: البناء

هذا هو المكان الذي يأتي فيه الصبر حقًا. لقد اخترت استخدام لوحة للكمبيوتر الفعلي ، ولكن هناك العديد من الطرق الأخرى (مثل التفاف الأسلاك) التي ستعمل أيضًا. لجعل الأمور أكثر بساطة ، قمت بتضمين مخطط كتلة للتخطيط الفعلي لجهاز الكمبيوتر الخاص بي. ومع ذلك ، لم أقم بتضمين أرقام الأجزاء أو أرقام الدبابيس أعتقد أن هذا سيجعل الأمور أكثر بساطة وانفتاحًا على الإبداع. يتم توصيل إخراج عداد البرنامج 4 بت وإدخال MAR وإخراج سجل التعليمات إلى الأجزاء الأربعة الأقل أهمية من ناقل الكمبيوتر.
الرسم التوضيحي الثاني الموضح هو منطق التحكم لنهاية تشغيل الكمبيوتر. تم تصميم عناصر التحكم بحيث يمكن أن تكون التبديلات مدخلات للكمبيوتر. يتم وضع المزالج RS_NOR أمام مفاتيح التبديل لإلغاء ديبس. غالبًا ما تحتوي مفاتيح تبديل المفاتيح على اتصالات متسخة قد ترتد من وضع التشغيل إلى حالة إيقاف التشغيل وتوفر نبضات أكثر مما تريد. تؤدي إضافة قلاب إلى إخراج تبديل إلى إزالة النبضات الإضافية. سيكون هذا مفيدًا للغاية عند استخدام خيار الساعة اليدوية. لن ترغب في قلب المفتاح والبدء في 8 نبضات على مدار الساعة. يكتب زر القراءة / الكتابة بايت الإدخال النشط للذاكرة الموجهة. عن طريق تغيير كلمة التحكم الافتراضية في إدخال ذاكرة الوصول العشوائي إلى قطعتي RO و RI منخفضتين تبدأ دورة كتابة. يغير مفتاح التشغيل / البرنامج أي من المدخلات النشطة على معدد عنوان الذاكرة. يعني JK flip flip بعد 555 أنه عند تشغيل الكمبيوتر ، لن يتم تشغيله في منتصف نبض الساعة. ستمنع إشارة HLT المنخفضة عقارب الساعة من المرور على الساعة اليدوية أو 555. وأخيراً ، يتم توصيل مفتاح التشغيل / الإلغاء بكافة المسامير الواضحة الموجودة على جهاز الكمبيوتر مثل تلك الموجودة في السجلات والعدادات.

الخطوة 17: البرمجة

الآن بعد الانتهاء من الكمبيوتر ، يمكن برمجته لتنفيذ التعليمات. للقيام بذلك ، يجب عليك أولاً وضع الكمبيوتر في إعداد البرنامج الخاص به عن طريق قلب مفتاح التشغيل / التبديل إلى موضع البرنامج. بعد ذلك ، يمكنك تحديد العناوين التي تبدأ من 0 والانتقال إلى 15 وإدراج البيانات اللازمة للبرنامج. على سبيل المثال ، للبدء بـ 5 وإضافة 4 مع كل مخرجات ، سيكون البرنامج كما يلي:
العنوان - البيانات:
0000 - 00010111 LDA 7: قم بتحميل المركم بالقيمة المخزنة في عنوان الذاكرة 7 (5)
0001 - 00101000 ADD 8: إضافة قيمة مخزنة في عنوان الذاكرة 8 (4)
0010 - 01010000 OUT: إخراج المُراكم
0011 - 01100001 JMP 1: الانتقال إلى التعليمات 1
0100 - س
0101 - س
0110 - س
0111 - 00000101 5
1000 - 00000100 4
1001 - س
1010 - س
1011 - س
1100 - س
1101 - س
1110 - س
1111 - س

الخطوة 18: المضي قدما

أتمنى أن تكون قد استمتعت بهذه التعليمات ، والأهم من ذلك كله ، أتمنى أن تحصل على شيء منها. يمكنك اعتبار كل هذا العمل الشاق تجربة تعليمية قيمة للغاية والتي ستمنحك فهمًا أفضل للإلكترونيات وأجهزة الكمبيوتر والبرمجة. في النهاية ، سيكون لديك أيضًا شيء رائع لإظهاره لكل عملك الشاق أيضًا.
بعد إنشاء أول جهاز كمبيوتر 8 بت يمكنك الذهاب إلى أبعد وإضافة المزيد من الوظائف. تعتبر ALU المستخدمة في هذا الكمبيوتر عملية مبسطة للغاية ، وأصبحت ALU الحقيقية اليوم بها عدد لا يحصى من الوظائف مثل تحويل البت والمقارنات المنطقية. جانب آخر مهم للانتقال إليه هو التفرع الشرطي. التفرع الشرطي يعني أن التعليمة تعتمد على الحالة الحالية للعلامات التي حددتها ALU. تتغير هذه العلامات عندما تصبح محتويات أداة التجميع سالبة أو مساوية للصفر. هذا يسمح لإمكانية توسعية أكثر بكثير لتطبيق جهاز الكمبيوتر الخاص بك.
إذا كان لديك أي أسئلة حول هذا المشروع فلا تتردد في التعليق على هذا Instructable أو على موقع الويب الخاص بي في http://8-bitspaghetti.com. أتمنى لك التوفيق في هذا المشروع.

3 أشخاص صنعوا هذا المشروع!

  • جعل JamesP383 ذلك!

  • جعل xdola ذلك!

  • جعل realhet ذلك!

هل قمت بهذا المشروع؟ شاركه معنا!

توصيات

  • نظرة خمر أجهزة الكمبيوتر الشخصية من جهاز كمبيوتر محمول قديم

  • Digi-Comp II النسخة المتماثلة

  • فئة إنترنت الأشياء

  • ألوان مسابقة قوس قزح

  • مسابقة العلوم الصفية

  • مسابقة عشوائية

173 مناقشات

0

AtomicFerryt

منذ سنة 1

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

0

FarsinHamza

منذ سنة 1

واحدة من إرشادات جميلة رأيته …. وأنا أقدر سعة صدرك … :)

0

bob491

منذ سنة 1

هذا المدربين جيدا مكتوبة ومفصلة بشكل رائع جدا جدا. شكرا لكم.

0

champ12345

منذ سنة 1

تبدو معقدة قليلا

0

mkpeker

منذ سنة 1

بناء جميل. قد ترغب في التحقق من أبسط 4 بت من وحدة المعالجة المركزية (MP-4) لفهم الأساسيات:

http://www.instructables.com/id/Simplest-4-Bit-TTL-CPU/

0

mkpeker

منذ عامين

مشروع جميل قد يكون كنت تريد التحقق من الألغام ؛

أخيرًا ، يعد نظام التشغيل الخاص بي من نوع الشاشة (مع المجمّع المضمّن وفك التشفير) جاهزًا
يرجى الإعداد ومحاولة هذا v1.0b
يمكنك العثور على جميع المعلومات الضرورية في صفحات Efex الخاصة بي ؛

http://mkpeker.wixsite.com/efex

الرجاء ارسال لي تعليقاتكم مما أستطيع تحسين البرمجيات
شكرا لكم

0

TheMrCode

منذ عامين

ماذا لو جعلتها تستخدم المصابيح بدلاً من الأسلاك. يمكن أن نرى أين كانت الإشارات تسير

0

GeorgeW134

منذ عامين

كيف تقوم ببرمجة if-statement؟

2 الردود 0

JuliaS87GeorgeW134

الرد 2 منذ سنوات

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

0

calebj20GeorgeW134

الرد 2 منذ سنوات

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

4 - 10 = -6 -> -6 سالبة ، لذا فإن أي أمر فرعي مع تعيين N بت إلى 1 سيقفز

التجميع: BRN RA هذا من شأنه أن فرع على سلبية إلى الموقع المخزنة في A

شفرة الافتراض الثنائية هي 1000: 10001000

حيث هذا هو انهيار قليلا من شفرة التشغيل

BR: 1000

N: 1 | 0

Z: 1 | 0

P: 1 | 0

0: 0 | 0

وأيضًا إذا كنت تريد أن تجعله أكثر تنوعًا ، يمكنك محاولة إضافة قدرة B على تعيين قيمة الناقل ، ثم يمكن أن تكون البتة الأخيرة "0" بالنسبة إلى A أو B كـ 0 أو 1 على التوالي.

0

T0BY

منذ عامين

Crikey ، لديك بعض الصبر!

0

SuperNovaa41

منذ عامين

لدي سؤال. جميع الأجزاء الموجودة في القائمة موجودة باستثناء 2.
المخازن المؤقتة ثلاثي الحالة والوجه يتخبط
كان هناك موقع مختلف مع نفس النموذج مثل مخازن الحالة الثلاثية
لكن
لم يكن هناك استبدال الوجه بالتخبط JK ، لا بد لي من استخدام بالضبط
نفس النموذج الذي أدرجته أو يمكنني استخدام نموذج مختلف؟ وإذا كان الأمر كذلك الذي
النموذج الذي يجب أن أستخدمه؟

0

SuperNovaa41

منذ عامين

مهلا! أعرف أن هذا منشور قديم ولكن هل يمكن أن تعطيني بعض الروابط المحدّثة لـ Tri State Buffers و JK Flip Flops؟ حاولت البحث عن المنتجات لكنني لا أعرف أي النماذج يجب استخدامها. شكرا لك مقدما!

0

BartH19

منذ عامين

أنا مهتم بإنشاء وحدة المعالجة المركزية البسيطة التي يمكنني استخدامها للكتابة على شاشة LED أو حتى شاشة LCD. هل هذا هو المشروع بالنسبة لي أم يمكنك توجيهي في اتجاه أفضل من فضلك؟

أنا مبتدئ كامل في هذا. أنا نجار أحاول صنع نوع من الكمبيوتر الخشبي!

5 ردود 0

FinnW3BartH19

الرد 2 منذ سنوات

بدلاً من بناء وحدة المعالجة المركزية (CPU) ، يجب عليك فقط بناء جهاز كمبيوتر مع علبة خشبية. قد تكلف أجهزة الكمبيوتر قليلاً ، ولكن يمكنك الحصول عليها أقل من 300 دولار. حاول استخدام هذا الموقع: pcpartpicker.com

0

BartH19FinnW3

الرد 2 منذ سنوات

شكرا على هذا. آمل أن تكون هناك أجزاء رقيقة بما فيه الكفاية. أريد أن يكون مثل آلة حاسبة للكلمات. سوف تحقق من الرابط: د

0

KyleF45BartH19

الرد 2 منذ سنوات

إذا كان كل ما تريد أن تفعله هو بمثابة آلة حاسبة ، فقد ترغب في النظر إلى Raspberry Pi. سيكون أصغر بكثير وأرخص ، مثل PI بحجم الهاتف.

0

KyleF45KyleF45

الرد 2 منذ سنوات

الآن بعد أن فكرت في الأمر ، يمكن لـ Pi فعل أي شيء يمكن للكمبيوتر المكتبي الكامل القيام به ، إنه أصغر بكثير. ربما هناك نوع من البرامج التي يمكنك استخدامها لذلك.

0

BartH19KyleF45

الرد 2 منذ سنوات

شكرا لردكم: د

بعد وقت قصير من تعليقي الأصلي وجدت هذا الرجل فعليًا: http: //www.etsy.com/shop/writeotron؟ ref = unav_lis …

سوف نعمل معًا على واحدة جديدة. انها بي!

0

bharathis

منذ عامين

انها رائعة وتشجيع لي لجعل واحدة من بلدي ..

بالتأكيد سوف اضغط على "لقد فعلت ذلك". أنا كيندا في عملية لبنائه. هه هه الالكترونيات الرقمية رهيبة