الكمبيوتر سهل. أم لا؟
أي شخص مهتم بمجال تكنولوجيا المعلومات ، فكر مرة واحدة على الأقل في كيفية عمل الكمبيوتر فعليًا. وبالفعل ، بمساعدة جهاز كمبيوتر ، يمكنك القيام بالكثير من كل شيء على حين غرة أنه من المستحيل تصديق أن كل ما يحدث بداخله هو إضافة أرقام.
لماذا لا تفعل ذلك بنفسك؟
تظهر هذه الفكرة بوضوح في كتاب
تشارلز بيتزولد "الشفرة" - قراءة جيدة لأولئك الذين يرغبون في فهم جهاز الكمبيوتر على أصابعهم دون قضاء الكثير من الوقت. ترك هذا الكتاب انطباعًا قويًا عندي ، لدرجة أنني قررت أن الكمبيوتر وحدة بسيطة تمامًا ولم يكن هناك أي شيء معقد حوله.
لكن هذا ليس كذلك. بعد القراءة ، لا يزال لدي شعور بأن شيئا ما كان مخفيا عني ، أن بعض جوانب الهندسة المعمارية لم تتأثر على الإطلاق. لمزيد من المعلومات ، التفتت إلى الكتاب التالي "
هندسة الكمبيوتر" للمخرج أندرو تانباوم . كانت المعلومات الواردة في هذا الكتاب أكثر شمولاً ، لكنني لم أحصل على ما أريد بالضبط.
على هذا الطريق الذي سلكته في عالم هندسة الكمبيوتر ، بدأت الدراسات ، لقد كنت مشتتًا لمشاريع أخرى كانت أكثر إثارة للاهتمام بالنسبة لي في ذلك الوقت. لكن لسوء الحظ ، أنا واحد من هؤلاء الأشخاص الذين لا يستطيعون استخدام أي شيء دون ندم ، ولا أعرف على الأقل تقريبًا آلية هذه الأداة. جعلني أبحث عن مواد عن كل شيء.
جاءت سلسلة من خيبات الأمل بعد قراءة العديد من فصول الكتب حول محركات الألعاب ، ومجمعيها ، وأنظمة التشغيل ، وما إلى ذلك. لقد كنت في حيرة: عالم بدا منطقياً وبسيطًا إلى حد ما في لحظة أصبح ضخمًا ومربكًا ، ويتطلب قدراً هائلاً من المعرفة.
بداية رحلة عظيمة
ما أنقذني كان استجابة أحد المستخدمين في بعض المنتديات لنشر شخص يعاني من "اضطراب" مماثل ، بدا عالم تكنولوجيا المعلومات ضخمًا جدًا له لدرجة أنه لا يمكن فهمه بالتأكيد. أتذكر تلك الكلمات ، وهي تساعدني في كل مرة أجد فيها شيئًا جديدًا.
"لا تدع نفسك تغمر" هو شيء ينبغي أن يقوله كل مبتدئ في تكنولوجيا المعلومات.
ثم بدأت أتصفح الإنترنت بقوة متجددة بحثًا عن الأدب. كنت محظوظًا جدًا بالتعثر على الكتاب الرائع "
عناصر نظم الحوسبة". بناء كمبيوتر حديث من المبادئ الأولى "لنوع نيسان وشيمون شوكان (بدون طبعة روسية). بالنسبة لأولئك الذين مثلي الذين يظهرون إنشاء جهاز كمبيوتر يعمل حقًا من نقطة الصفر ، أي من بوابات منطقية.
حصلت على فكرة وبدأت العمل. لقد بدأ بما فعله ذات مرة بعد قراءة Petzold - المضافون ، السجلات ، المضاعفون. هذه هي بعض من أبسط الأجهزة التي يصعب فهمها على الإطلاق (إذا كنت لا تفكر في الكفاءة) ، ويمكنك القيام بذلك في غضون 10 دقائق في تطبيق مناسب على هاتفك الذكي.
لقد بدأت كل فصل تالي بالتعطش للمعرفة. تصميم ALU ، تسترشد المهام في الكتاب. لا أستطيع أن أقول إنني توصلت إلى شيء فيه ، بدلاً من ذلك ، أعطوني الأجزاء الجاهزة ، ووضعوها معًا في سيارة جميلة. لكن ما أسعدني عندما أدركت أنني جمعت وحدة عمل كاملة تعمل بيدي.
لوحة الدوائر ALU ، صنع في برنامج BOOLR أول ثمار
تبعه معالج 16 بت يعمل بالكامل ، والذي أكملته اليوم. لا يوجد حد لسعادتي ، لكنني لن أتوقف. يؤسفني أنه على الرغم من أن المعالج بالكامل في الكتاب قد تم تجميعه بالكامل من البداية ، إلا أن المجمع الخاص به كان عبارة عن لوحة تجريدية في الفصل التالي (وهو منطقي ، تم تصميم الكتاب لعرض أكثر أو أقل إيجازًا ، وإن كان تفصيليًا). بعد قليل من الحزن ، أدركت أن التجميعات هي أيضًا لغة برمجة ، وأن إنشاء مجمع متكامل من البداية سيستغرق الكثير من الوقت.
مخطط المعالج النهائي. البقعة السوداء الكبيرة هي نفس ALU حول المجمع في كتابفي الواقع ، لم يتم حذف هذا الموضوع في الكتاب بالكامل. تقول أنه يمكن كتابة المجمّع باستخدام أي لغة برمجة عالية المستوى. كغبي وشجاع ، هذا الخيار لا يناسبني كثيرًا ، أريد أن أفعل كل شيء بيدي باستخدام المعالج الذي أمتلكه. نعم ، أنا أفهم أنني سأضيع الكثير من الوقت ، لكنني سأستمتع بذلك ، أنا متأكد.
إن كتابة المجمع الخاص بك هو هدف طموح ، لكن هذا ليس هو الصعوبة الوحيدة. الطريق الذي اخترته يعد بأن يكون صعباً. لا يمكن تنفيذ السجلات والذاكرة العامة في برنامج BOOLR إلا باستخدام البوابات المنطقية. لماذا هذه مشكلة؟ إنه بسيط: 1024 بايت ضئيل من ذاكرة الوصول العشوائي عشرات المرات حاول بشكل متكرر وضع سجلات 16 بت المركبة الخاصة بهم في ذاكرة الوصول العشوائي على جهاز الكمبيوتر الخاص بي. هنا ما يأتي منه:

بشكل عام ، في بعض الأحيان لا يفتح المشروع ببساطة بسبب نقص ذاكرة الوصول العشوائي. يبدو الأمر وكأنه طريق مسدود ، لكنني لا أنوي التوقف عند هذا الحد.