کامپیوترها در ابتدا دستگاههای غولپیکری بودند که فضای یک اتاق کامل را میگرفتند، اما به مرور زمان چنان کوچک و قدرتمند شدند که حالا در هر خانهای پیدا میشوند. در این نوشته میخواهیم این مسیر پرماجرا را مرور کنیم و ببینیم چطور فناوری از لولههای خلاء ساده در دههی ۴۰ میلادی، به دنیای پیشرفته و هوشمند امروز رسیده است. این دوران را میتوان به سه بخش تقسیم کرد.
در این دوره، پردازندهها عملاً مجموعهای از مدارهای منطقی با لولههای خلأ بودند. هیچ «پردازنده» به معنای مدرن وجود نداشت؛ بلکه کل رایانه از هزاران لولهی خلأ ساخته میشد. اگر بخواهیم دربارهی لولهی خلا به طور مختصر توضیح دهیم، یک قطعهی شیشهای یا فلزی (شبیه به لامپهای قدیمی) است که هوای داخل آن تا حد خلاء تخلیه شده است.
درون این لوله از دو الکترود کاتد، آند و یک توری فلزی به نام گرید (Grid) تشکیل شده است که جریان عبوری از آند به کاتد توسط ولتاژ اعمالی به گرید کنترل میشود. در نتیجه همانند ترانزیستور میتوان از این قطعه به عنوان سوئیچ و تقویتکننده استفاده کرد. از عیوب این قطعه میتوان به اندازه و مصرف انرژی بالا، تولید گرما و طول عمر محدود اشاره کرد.
از مهمترین کامپیوترهای ساخته شده در این دوره، می توان به ENIAC، EDVAC و EDSAC اشاره کرد. ENIAC در سال 1945معرفی شد و در سال 1946 عملیاتی شد. این کامپیوتر غول پیکر از 17468 لوله خلاء تشکیل میشد. علاوه بر این حدود 1500 رله، 70000 مقاومت و 10000 خازن داشت. ENIAC یک کامپیوتر بسیار بزرگ با ابعاد 25 متر طول، 5 متر ارتفاع و 1 متر عرض بود و وزن آن به حدود 30 تن میرسید. مصرف برق آن حدود 150 تا 200 کیلووات بود و در نتیجه گرمای زیادی تولید میکرد.
برای برنامهریزی و تغییر برنامه آن لازم بود سیمها به صورت فیزیکی جابجا شوند و سوئیچ ها به صورت دستی تنظیم گردند که این کار ساعت ها یا حتی روزها وقت میگرفت. این کامپیوتر برای محاسبات بالستیک (مسیر پرتاب گلولههای توپخانه) برای ارتش ایالات متحده طراحی شد و علاوه بر این در محاسبات مربوط به انرژی اتمی و وضع هوا نیز از آن استفاده میشد. ENIAC نشان داد که کامپیوترهای الکترونیکی میتوانند محاسبات بسیار پیچیده را با سرعتی بیسابقه انجام دهند.
هرچند برنامهریزی آن دشوار بود، اما نقطه عطفی در تاریخچهی محاسبات محسوب میشود و به عنوان یکی از اولین کامپیوترهای الکترونیکی جامع شناخته میشود. برای اینکه به سرعت محاسبات در این کامپیوتر پی ببریم، لازم است بدانیم این کامپیوتر در یک ثانیه حدود 5000 عمل جمع و 350 عمل ضرب را انجام میداد (در مقایسه با سرعت چند میلیارد عمل جمع در ثانیه در پردازندههای امروزی).

تصویری از اتاق کامپیوتر ENIAC
طراحی EDVAC در سال 1945 شروع شد ولی ساخت آن تا سال 1949 طول کشید و در سال 1951 به بهرهبرداری رسید. این کامپیوتر همانند ENIAC از لولههای خلاء استفاده میکرد، اما نوآوریهای مهمی در طراحی آن صورت گرفته بود.
مهمترین نوآوری EDVAC، پیادهسازی معماری کامپیوتر ذخیرهبرنامه (Stored-Program Computer) بود که توسط جان فون نویمان (John von Neumann) پیشنهاد شده بود، اگرچه ایدههای اولیه از سوی تیم ENIAC نیز مطرح بود. در این معماری، هم دادهها و هم دستورالعملهای برنامه در حافظهی کامپیوتر ذخیره میشوند. این امر برنامهریزی کامپیوتر را بسیار آسانتر و انعطافپذیرتر کرد، زیرا دیگر نیازی به تغییر فیزیکی سیمها نبود و برنامه را میشد از طریق کد و از حافظه بارگذاری کرد.

کامپیوتر EDVAC نصب شده در ساختمان تحقیقات بالستیک
شاید بپرسید حافظه در آن زمان چه شکلی بوده است. EDVAC از حافظهی خطوط تاخیری جیوه (mercury delay-line memory) استفاده میکرد. حافظهی جیوهای یکی از جالبترین و بدیعترین انواع حافظه در تاریخ کامپیوتر است؛ سیستمی که با موجهای صوتی در یک لولهی مملو از جیوه کار میکرد! این نوع حافظه را Delay Line Memory یا «حافظهی خط تأخیری» مینامیدند. برای همین، از چیزی استفاده کردند که بتواند اطلاعات را برای مدت کوتاهی نگه دارد و سپس دوباره آن را تازه کند.
این شد حافظهی خط تأخیری جیوهای. در این حافظه، دادهی دیجیتال (۰ و ۱) به پالس صوتی تبدیل میشد. سپس این پالسها را درون یک لولهی فلزی پر شده از جیوه ارسال میکردند. پالسها با سرعت صوت در جیوه حرکت کرده و مدت کوتاهی طول میکشید تا به انتهای لوله برسند. در انتها، یک حسگر صوتی آنها را دوباره به ۰ و ۱ تبدیل میکرد. داده بلافاصله دوباره به ابتدای لوله فرستاده میشد، تا در یک چرخهی بیپایان در حال گردش بماند. این همان مفهوم حافظهی بازگردشی (Regenerative Memory) است. حافظهی مورد استفاده در EDVAC ظرفیت 1024 کلمهی 44 بیتی یعنی 5/5 کیلوبایت را دارا بود. حافظهی جیوهای در واقع نقش RAM در کامپیوترهای امروزی را داشت و در نتیجه با قطع شدن برق اطلاعات روی آن از بین میرفت.

حافظهی خطوط تاخیری جیوهای
برای این که اپراتور برنامه نوشته شده را وارد این حافظه کند، نیاز به یک حافظهی دائمی داشت درست مثل هارد و فلش های امروزی! برای این کار از نوار پانچ استفاده میشد. نوار پانچ در واقع یک نوار کاغذی بود که روی آن سوراخ هایی ایجاد میشد.
هر سوراخ معادل بیت صفر و هر جا سوراخ نشده بود، معادل بیت یک در نظر گرفته میشد. بعد از نوشتن برنامه روی نوار پانچ، آن را روی دستگاه خوانندهی نوار پانچ که یک حسگر نوری بود، می گذاشتند و دستگاه اطلاعات خوانده شده را در حافظهی موقت خطوط تاخیری جیوه وارد میکرد.
EDSAC یکی از مهمترین کامپیوترهای اولیهی تاریخ است؛ چون اولین ماشینی بود که بهطور موفق و عملی مدل برنامهی ذخیرهشده (stored‑program) را به کار برد و واقعاً برای محاسبات روزمرهی دانشگاهی استفاده شد. این کامپیوتر در سال 1949 در دانشگاه کمبریج ساخته شد.
حافظهی این کامپیوتر نیز مثل EDVAC لوله های تاخیر جیوهای بود. یکی از جذابترین ویژگیهای EDSAC این بود که اولین اسمبلی واقعی دنیا را داشت؛ زبانی به نام “Initial Orders”. در این زبان هر دستور به صورت “یک حرف + یک آدرس” نوشته میشد. این اولین اسمبلی قابل استفاده عمومی بود. بعدها همین ایدهها الهامبخش طراحی اسمبلرها در کامپیوترهای مدرن شدند.

کامپیوتر EDSAC
نکتهی جالب دیگر در مورد این کامپیوتر این است که در EDSAC اولین بازی تاریخ به نام OXO (همان بازی دوز) ساخته شد، همراه با یک مانیتور نقطهای مخصوص. این اولین بازی تصویری ثبتشده است.
ویژگی اصلی و مهم این کامپیوتر این بود که این دستگاه صرفا یک پروژه آزمایشگاهی برای اهداف نظامی نبود بلکه دستگاهی بود که واقعا در خدمت دانشگاه بود و افراد زیادی در رشتههای مختلف میتوانستند از آن استفاده کنند.
بعد از دوران لولههای خلأ (Vacuum Tubes) که در کامپیوترهای اولیه مثل ENIAC استفاده میشد، با اختراع تزانزیستور صنعت کامپیوتر وارد مرحلهای شد که به آن نسل دوم کامپیوترها میگویند. این دوره تقریباً از اواخر دههی ۱۹۵۰ تا اوایل دههی ۱۹۶۰ ادامه داشت و با اختراع و استفاده از ترانزیستور آغاز شد. ترانزیستور در سال ۱۹۴۷ در آزمایشگاه Bell توسط جان باردین (John Bardeen)، والتر براتین (Walter Brattain) و ویلیام شاکلی (William Shockley) اختراع شد؛ اما چند سال طول کشید تا این فناوری وارد کامپیوترها شود و جای لولههای خلاء را بگیرد. در مقایسه با لولههای خلأ، ترانزیستورها بسیار کوچکتر بودند، گرمای کمتری تولید میکردند، مصرف برق پایینتری داشتند، قابل اعتمادتر بودند (خرابی کمتر) و امکان ساخت کامپیوترهای کوچکتر و سریعتر را فراهم کردند؛ به همین دلیل کامپیوترها از اتاقهای بزرگ به دستگاههای کوچکتر و کاربردیتر تبدیل شدند.
از کامپیوترهای مشهور در این دوره می توان به UNIVAC Solid State وIBM 1401 اشاره کرد. کامپیوتر UNIVAC Solid State در واقع نسخهی ترانزیستوری همان کامپیوتر UNIVAC است که در سال 1958 معرفی شد. این کامپیوتر به دلیل کوچکتر شدن توانست به ادارات و فروشگاههای بزرگ راه پیدا کند.
مزیت دیگر کوچکتر شدن کامپیوترها، افزایش سرعت آنها بود؛ به طوریکه در این کامپیوتر، سرعت محاسبات حدود 100 هزار عملیات در ثانیه بود (در مقایسه با سرعت 5000 عملیات در ثانیه در نسخهی لامپی). این کامپیوتر به طور کامل از ترانزیستورهای ژرمانیومی ساخته شده بود. در واقع در آن زمان تکنولوژی ساخت ترانزیستورهای سیلیکونی کامل نشده بود.

کامپیوتر UNIVAC Solid State به همراه دستگاههای چاپگر و خواننده کارت پانچ
تفاوت دیگر این کامپیوتر نسبت به نسخهی لامپی، استفاده از حافظهی هستهی مغناطیسی (Magnetic Core Memory) به جای حافظهی خط تاخیری جیوهای بود. این حافظه در واقع نسخهی اولیهی نوارها و سیدیهای موسیقی که در گذشتهی نه چندان دور از آنها استفاده میشد، بود. ساختار حافظه از تعداد زیادی حلقهی فرومغناطیس که به صورت یک ماتریس در کنار یکدیگر قرار گرفته بودند، تشکیل میشد. هر حلقه معادل یک بیت بود و جهت مغناطیسی حلقه، صفر یا یک بودن بیت را مشخص میکرد. ظرفیت این حافظهها معمولا در حدود چند ده کیلوبایت بود. برای مثال این کامپیوتر حافظهای با ظرفیت 3 کیلوبایت داشت. دلیل اینکه ظرفیت حافظه ها کم بود، پیچیدگی ساخت آنها بود.
در واقع برای ساخت ماتریسی از حلقههای فرومغناطیس، باید رشته سیمهای مختلف توسط دست به یکدیگر پیچیده میشدند و در نتیجه فرآیند ساخت بسیار زمانبر و هزینهبر میشد. کارخانهها برای پیچیدن این سیمها افرادی را از کارخانههای نساجی استخدام میکردند تا سیمها را مثل پارچه و فرش ببافند (به این افراد به اصطلاح Core Ropers میگفتند.) هزینهی ساخت یک حافظه آنقدر بالا بود که برای یک حافظهی چند ده کیلوبایتی، برابر هزینهی ساخت یک خانهی بزرگ میشد! این حافظهها نقش رم را در کامپیوتر به عهده داشتند، با این تفاوت که بعد از قطع برق هم دادهها از بین نمیرفت و باقی میماند. بنابراین پس از روشن کردن مجدد کامپیوتر، برنامه از همان جای قبلی ادامه پیدا میکرد.

یک حافظهی هستهی مغناطیسی با ابعاد 32 در 32 بیت معادل 1024 بیت ظرفیت
تفاوت دیگر این کامپیوترها معرفی زبانهای برنامه نویسی سطح بالاتر مثل FORTRAN و COBOL بود. برای استفاده از این زبانها برنامهنویس ابتدا برنامه را به زبان موردنظر می نوشت، سپس اپراتور برنامهی نوشته شده را به صورت کد شده بر روی کارت پانچ وارد میکرد و در مرحلهی بعد کامپیوتر برنامه را از کارت پانچ میخواند و وارد حافظهی هستهی مغناطیسی میکرد. سپس کد برنامه توسط کامپایلر به زبان ماشین ترجمه میشد.
کامپایلرهای آن زمان بر خلاف کامپایلرهای امروزی که نرمافزاری هستند، سختافزاری بودند و در واقع بخشی از مدار کامپیوتر بودند. از آنجایی که حجم حافظههای آن زمان محدود بودند و گاهی خروجی کامپایلر به قدری بزرگ میشد که در حافظه جا نمیشد، کامپایلر مجبور میشد، فرآیند کامپایل را در چند مرحله انجام دهد؛ یعنی ابتدا بخشی از برنامه را کامپایل کند و خروجی را روی حافظه بریزد و بعد دوباره خروجی را از روی حافظه بخواند و بخش بعدی را کامپایل کند. برای همین گاهی اوقات فرآیند کامپایل کردن برنامه ساعتها طول میکشید و یک اشتباه تایپی در کد برنامه کافی بود تا دوباره این فرآیند طی شود!
کامپیوتر IBM 1401 در سال 1959 معرفی شد. ظرفیت حافظهی این کامپیوتر حدود 4 کیلوبایت و سرعت آن حدود 10 هزار عمیات در ثانیه بود. یعنی نسبت به ENIAC سرعت کمتری داشت. اما علیرغم سرعت کمترش این کامپیوتر به اولین کامپیوتر محبوب و انبوهتولید تبدیل شد، به طوریکه تا سال 1965 هزاران دستگاه از آن نصب شد و به استاندارد صنعت تبدیل شد. دلیل این برتری، بازاریابی و پشتیبانی فنی گسترده تیم IBM در مقایسه با تیم ENIAC بود.
نکتهی جالب در مورد این کامپیوتر، کاراکتری بودن پردازندهی آن بود. یعنی بر خلاف پردازندههای دیگر که اعداد را به صورت باینری پردازش میکردند، این پردازنده اعداد را به صورت یک کاراکتر در نظر میگرفت.
یعنی به طور مثال عدد 1 به صورت ‘1’ و عدد 165 به صورت سه کاراکتر ‘1’ و ‘6’ و ‘5’ در نظر گرفته میشد. سپس برای هر کاراکتر یک معادل باینری در نظر گرفته میشد و اعداد به صورت دهدهی با هم جمع میشدند. دلیل کاراکتری بودن این پردازنده این بود که کامپیوتر IBM 1401 برای کسبوکار و پردازش متن طراحی شده بود و برای محاسبات سنگین عددی مناسب نبود.

کامپیوتر IBM 1401
شاید این سوال پیش بیاید که ورودی و خروجی این کامپیوترها چگونه بود؟ در آن زمان هیچگونه کیبورد و نمایشگری وجود نداشت. برای وارد کردن دادههای کوچک مثل تعدادی عدد از کارتهای پانچ (همانند فرآیند وارد کردن کد برنامه) استفاده میشد و برای وارد کردن داده های بزرگ مثل اسامی مشتریان یا مشخصات کارکنان یک بانک از حافظههای هستهی مغناطیسی استفاده میشد.
برای نمایش اطلاعات خروجی هم اگر دادهها کم بودند، روی همان کارتهای پانچ چاپ می شدند و اگر حجم داده ها زیاد بود روی حافظههای هستهی مغناطیسی ذخیره میشدند.
در این بخش کامپیوترهای ساخته شده به دست بشر، از کامپیوترهای لامپی تا کامپیوترهای ترانزیستوری بررسی شدند و دیدیم که چگونه صنعت ساخت کامپیوتر با اختراع ترانزیستور متحول شد و کامپیوترها به فروشگاهها و خانهها راه یافتند. در نسل بعدی، با اختراع مدارهای مجتمع، تعداد زیادی ترانزیستور در یک چیپ قرار میگیرند و کامپیوترها از ابعاد فعلی هم کوچکتر می شوند. حتی کنسولهای بازی مثل SEGA هم در این دوران ساخته میشوند. در بخش بعدی با عنوان دوران مدارهای مجتمع- از کامپیوتر چند بردی Nova تا پردازندهی تک تراشهای Intel 8085 با ما همراه باشید.
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.