از بچگی به کامپیوتر به چشم یک دستگاه جادویی نگاه می کردم. کامپیوتر، بر خلاف سایر وسیله ها مثل مبل، میز یا صندلی یا حتی وسایل برقی مانند جاروبرقی، همزن یا تلویزیون، یک وسیله پیچیده بود. درباره سایر وسیله ها آشنایی کمی با طرز کارشان داشتم، و بیش از آن دیگر مرا کنجکاو نمی کرد؛ مثلا می دانستم که جاروبرقی با چرخش موتورش، هوا را مانند نی می مکد و آشغال ها هم با هوا به درون جارو می آیند. اما دیگر برایم مهم نبود که مثلا چگونه موتور می چرخد. اما کامپیوتر، وسیله ای بود که هیچ ایده ای راجع به طرز کار آن نداشتم.
بعد ها که بزرگتر شدم و با برنامه نویسی آشنا شدم، موضوع به جای این که بهتر شود، بدتر شد. من می توانستم برنامه ای بنویسم که هر چیز دلخواهی روی مانیتور نمایش دهد، ماوس را تکان دهد، یک فایل پاورپوینت بسازد یا سی دی خوان را باز و بسته کند. اما این علاوه بر این که چیزی از جادویی بودن آن کم نمی کرد، بلکه به آن می افزود. کاری که من می کردم این بود که در یک فایل متنی، با قواعد خاصی می نوشتم "ماوس را تکان بده" یا "فلان چیز را نمایش بده". اما چیزی که آن را واقعا اجرا می کرد، کامپیوتر جادویی و دستیار آن، سیستم عامل بود.
این موضوع ادامه داشت تا این که آن را با یکی از دوستانم در میان گذاشتم، و او به من این فیلم ها را معرفی کرد. فیلم هایی که قطعه گم شده پازل ذهن من بود، و کامپیوتر را از یک جعبه جادویی، به چیزی تبدیل کرد که تا جزئیات بسیار ریز آن را می توانستم بفهمم.
هدف این سری نوشته، تبدیل فیلم های انگلیسی به متن فارسی است. اگرچه فیلم ها از جهاتی بهتر هستند، مثلا حسی که دیدن کار کردن یک کامپیوتر در فیلم به ما می دهد را از دست می دهیم، اما در عوض از جزییات پیاده سازی که ممکن است برای برخی ( مثل من ) خسته کننده باشد راحت می شویم و با سرعت بیشتری به سراغ اصل مطلب می رویم.
اگر فیلم دیدن را از خواندن بیشتر دوست دارید یا دوست دارید کار کردن کامپیوتر را ببینید یا این که من تنبلی کردم و دیر می نوشتم یا روزی تصمیم گرفتم که ادامه سری را ننویسم، می توانید فیلم ها را از این لینک ببینید.
کامپیوتر یک ماشین محاسبه است. همین متنی که الآن می خوانید، متشکل از پیکسل هاییست که رنگشان جایی در کامپیوتر شما در حال محاسبه شدن است. اما فرق کامپیوتر با یک ماشین حساب معمولی این است که می توان به آن برنامه داد. ماشین حساب تنها اعمال از پیش تعیین شده، مانند جمع، ضرب یا لگاریتم را انجام می دهد اما یک کامپیوتر، می تواند همه آن کار ها و همه کار های قابل محاسبه ( همه کار هایی که روشی معین و غیر خلاقانه دارند و از یک سری دستور العمل تشکیل شده اند ) را بدون این که سخت افزاری برای آن داشته باشد، انجام دهد.
طبق این تعریف، همه وسایل قابل برنامه ریزی، مانند کامپیوتر شخصی، موبایل، شاید خودرو، مودم اینترنت و هر وسیله دیگری می تواند یک کامپیوتر باشد.
چیزی که قرار نیست انجام دهیم، سر هم کردن یک کیس است. قرار نیست یک چیز کاربردی بسازیم و هدف آموزش است. قرار است پیاده سازی هر جزء را تا مرحله سیم و ترانزیستور شرح دهیم. یعنی شما می توانید با مقدار متناهی سیم و ترانزیستور، این کامپیوتر را بسازید. اما جزییات بیشتر پیاده سازی و تجهیزاتی که میتوانند راحت تر و ارزان تر پیاده سازی را انجام دهد را می توانید از خود فیلم ببینید. و هدف اصلی این نوشته ها توضیح چگونگی کارکرد است، نه واقعا ساختن آن.
اما قرار است محصول ما چه باشد؟ دقیقا این:
این یک کامپیوتر ۸ بیتی با 16 بایت رم است. ( بعدا این اصطلاحات را بررسی خواهیم کرد. )
قسمت های مهم کامپیوتر ما که در بالا می بینید عبارت اند از:
چیزی سر در نیاوردید؟ باید هم همین طور باشد. این قسمت معرفی چیزی است که در انتها قرار است آن را بسازیم. اما چیزی بدون توضیح نمی ماند. آن قدر جلو می رویم تا در هر قسمت به سیم و ترانزیستور برسیم. پس این سری را دنبال کنید.