تصویر کاور EDSAC

داستان EDSAC؛ از آزمایشگاه کمبریج تا تولد مهندسی نرم‌افزار

بهار ۱۹۴۹، در گوشه‌ای از دانشگاه کمبریج، کامپیوتری روشن شد که نه سریع‌ترین ماشین زمان خود بود و نه بزرگ‌ترین آن؛ اما مسیر آینده مهندسی نرم‌افزار و محاسبات علمی را برای همیشه تغییر داد. «ماشین محاسباتی خودکار با حافظه خط تاخیر» (Electronic Delay Storage Automatic Calculator موسوم به EDSAC) نخستین کامپیوتری بود که به‌جای نمایش توان مهندسی، برای خدمت به پژوهشگران ساخته شد؛ دستگاهی که بعدها در پژوهش‌های منتهی به سه جایزه نوبل و شکل‌گیری نخستین مفاهیم مهندسی نرم‌افزار نقشی اساسی ایفا کرد.

دوران پس از جنگ و جرقه‌های اولیه معماری نوین

ریشه‌های توسعه کامپیوتر EDSAC را باید در پایان جنگ جهانی دوم و در تلاش‌های موریس ویلکس (Maurice Wilkes)، فیزیکدان برجسته بریتانیایی، جست‌وجو کرد. تا پیش از آن دوران، دستگاه‌های محاسباتی یا مانند کلوسوس (Colossus) در بلچلی پارک برای رمزنگشایی و مقاصد خاص نظامی طراحی شده بودند، یا مانند انیاک (ENIAC) در ایالات متحده برای محاسبه مسیر پرتابه‌های توپخانه به‌کار می‌رفتند. این دستگاه‌ها فاقد انعطاف‌پذیری لازم بودند و برای تغییر برنامه آن‌ها، لازم بود تا مهندسان ساعت‌های زیادی را صرف تغییر سیم‌کشی‌ها مدارها کنند.

موریس ویلکس که در طول جنگ جهانی دوم روی توسعه سیستم‌های پیشرفته رادار کار کرده بود، پس از پایان جنگ در سال ۱۹۴۵ به ریاست آزمایشگاه ریاضیات دانشگاه کمبریج (که بعدها به آزمایشگاه کامپیوتر تغییر نام داد) منصوب شد.

مأموریت اصلی ویلکس در این جایگاه، فراهم کردن ابزارهای محاسباتی مکانیکی و الکترومکانیکی برای کمک به دانشمندان دانشگاه بود. تا پیش از آن، پژوهشگران دانشگاه مجبور بودند معادلات پیچیده دیفرانسیل و تحلیل‌های آماری را با ماشین‌های حساب رومیزی و جداول قطور ریاضی حل کنند.

پرتره موریس ویلکس، طراح اصلی کامپیوتر EDSAC و از پیشگامان معماری کامپیوتر
موریس ویلکس؛ مهندسی که ایده «کامپیوتر کاربردی عمومی» را در کمبریج عملی کرد.

نقطه عطف پروژه در ماه مه سال ۱۹۴۶ رقم خورد. ال. جی. کامری (L. J. Comrie)، متخصص برجسته محاسبات بریتانیا، پس از بازدید از ایالات متحده، نسخه‌ای از گزارش پیش‌نویس جان فون‌نویمان (John von Neumann) درباره کامپیوتر EDVAC را با خود به کمبریج آورد. این سند تاریخی، ایده «کامپیوتر با برنامه ذخیره‌شده» را مطرح می‌کرد:

دستگاهی که می‌توانست دستورالعمل‌ها (نرم‌افزار) و داده‌ها را در یک حافظه واحد ذخیره کند.

ویلکس از کامری درخواست کرد تا این گزارش را فقط برای ساعاتی در اختیار او قرار دهد. ازآنجاکه در آن زمان دستگاه فتوکپی وجود نداشت و کامری باید گزارش را به گروه دیگری تحویل می‌داد، ویلکس کل این گزارش را در یک شب و زیر نور چراغ مطالعه کرد. او بعدها در خاطرات خود نوشت که در همان شب متوجه شد معماری کامپیوتر EDVAC، آینده قطعی ماشین‌های محاسباتی را رقم خواهد زد. بنابراین تصمیم گرفت تمام تمرکز خود را روی ساخت چنین دستگاهی بگذارد.

کلاس‌های مدرسه مور و طراحی در سفر

در تابستان سال ۱۹۴۶، ویلکس برای شرکت در دوره‌ای تخصصی درباره کامپیوترهای الکترونیکی به دانشگاه پنسیلوانیا در ایالات متحده دعوت شد. این دوره، با حضور پیشگامانی چون جی. پرسپر اکرت (J. Presper Eckert) و جان ماکلی (John Mauchly)، عنوان نخستین دوره آموزشی جامع در زمینه طراحی کامپیوترهای دیجیتال را به خود گرفت.

سه جلد از نخستین مجموعه آموزشی جامع در زمینه طراحی کامپیوترهای دیجیتال الکترونیکی (مدرسه مور، دانشگاه پنسیلوانیا، تابستان ۱۹۴۶) با عنوان تئوری و تکنیک‌های طراحی کامپیوترهای دیجیتال
مجموعه‌ی سه‌جلدی از یادداشت‌های کامل سخنرانی‌های مدرسه مور در تابستان ۱۹۴۶ (historyofinformation)

به‌دلیل شرایط آشفته حمل‌ونقل دریایی در سال‌های پس از جنگ جهانی دوم، ویلکس با تأخیر فراوان و تنها در دو هفته پایانی این دوره هشت‌هفته‌ای به آمریکا رسید. البته همان دو هفته برای او کافی بود و با مفاهیم فنی کامپیوتر انیاک و جزئیات ایده ‌EDVAC، از نزدیک آشنا شد.

گاهی تنها چند روز مواجهه با یک فناوری کافی است تا مسیر یک عمر پژوهش تغییر کند

اقامت او در آمریکا و بازدید از آزمایشگاه‌های مختلف، دیدگاه او را نسبت به مهندسی کامپیوتر شکل داد. در ماه سپتامبر ۱۹۴۶ و در مسیر بازگشت به بریتانیا، طی یک سفر دریایی پنج روزه با کشتی اقیانوس‌پیما، ویلکس طراحی منطقی و معماری کامپیوتری را که بعدها EDSAC نام گرفت، در دفترچه خود رسم کرد.

مهندسی محافظه‌کارانه برای هدفی کاربردی

ویلکس پس از بازگشت به کمبریج، تیمی از مهندسان را گرد هم آورد. بیل رنویک (Bill Renwick) به‌عنوان مهندس ارشد پروژه منصوب شد و وظیفه تبدیل طرح‌های منطقی ویلکس به یک سخت‌افزار واقعی را برعهده گرفت. فلسفه طراحی ویلکس کاملاً عمل‌گرایانه بود. او نمی‌خواست مرزهای تکنولوژی الکترونیک را جابه‌جا کند یا سریع‌ترین کامپیوتر دنیا را بسازد، بلکه تصمیم داشت تا فقط دستگاهی بسازد که واقعاً کار کند. بنابراین کار بر روی این کامپیوتر، بدون حاشیه و با سرعت پیش رفت.

ویلکس با دیدگاهی عمل‌گرایانه، از فناوری‌های اثبات‌شده‌ای که در دوران جنگ توسعه یافته بودند، استفاده کرد.

کامپیوتر EDSAC حدود ۳٬۰۰۰ لامپ خلاء داشت که روی بیش از ۱۲۰ قفسه نصب شده بودند و فضایی نزدیک به ۴۶ متر مربع را می‌گرفت. با مصرف توانی حدود ۱۱ تا ۱۲ کیلووات، این لامپ‌ها گرمای بسیار زیادی تولید می‌کردند؛ حرارتی که معادل گرمای چندین بخاری برقی بود.

معماری این کامپیوتر از نوع سریال بود؛ به این معنا که بیت‌های یک کلمه حافظه، به‌صورت متوالی و پشت میخواند. به این ترتیب، عملیات ریاضی نیز بیت به بیت انجام می‌شد. این انتخاب، نه‌تنها تعداد مدارهای مورد نیاز را به‌شدت کاهش داد، بلکه پایداری سیستم را نیز بالا برد. علاوه‌بر این، EDSAC با فرکانس مرکزی ۵۰۰ کیلوهرتز کار می‌کرد و می‌توانست در هر ثانیه حدود ۶۰۰ تا ۶۵۰ دستورالعمل را اجرا کند.

مهندسان در حال کار روی کامپیوتر EDSAC در آزمایشگاه دانشگاه کمبریج با قفسه‌های لامپ خلأ
رابط کاربری اولیه EDSAC؛ مجموعه‌ای از کلیدها و کنترل‌های کاملاً فیزیکی. (CHM).

همانند سایر پروژه‌های هم‌عصرش، EDSAC به‌صورت دستی سیم‌کشی شد و پشت قفسه‌ها شبیه به ظرفی پر از اسپاگتی به‌نظر می‌رسید. رابط کاربری سخت‌افزاری دستگاه در ابتدا بسیار ابتدایی بود. کنترل پنل پنج دکمه اصلی داشت: Start، Stop، Clear، Reset و Single E.P. کلید اضافه Single E.P برای اجرای خط به خط برنامه به منظور عیب‌یابی استفاده می‌شد.

البته تحول این دستگاه یک شبه نبود. به‌عنوان مثال در روزهای اول راه‌اندازی دکمه Clear وجود نداشت و برای پاک کردن حافظه اصلی، مهندسان مجبور بودند پایانه‌های الکتریکی دستگاه را با انگشت خیس خود لمس کنند تا بار الکتریکی به زمین منتقل شود. بعدها با اضافه شدن دکمه Clear این فرآیند ایمن‌تر شد.

مشخصه فنیتوضیحات در معماری EDSAC
پردازشگرمعماری سریال مبتنی بر حدود ۳٬۰۰۰ لامپ خلاء
سرعت پردازشکلاک ۵۰۰ کیلوهرتز (اجرای ۶۰۰ تا ۶۵۰ دستور در ثانیه)
حافظه اصلی۳۲ مخزن خط تاخیر جیوه (ظرفیت اولیه ۵۱۲ کلمه، سپس ۱٬۰۲۴ کلمه)
طول کلمهکلمات ۳۵ بیتی (شامل یک بیت علامت و یک بیت فاصله، قابل تقسیم به دو کلمه ۱۷ بیتی)
ورودی / خروجینوار کاغذی ۵ کاناله برای ورودی و دستگاه تله‌پرینتر برای خروجی
فضای فیزیکی و مصرف انرژیمساحتی نزدیک به ۴۶ متر مربع و مصرف ۱۱ تا ۱۲ کیلووات برق

خطوط تاخیر جیوه: حافظه صوتی در دل لوله‌های فلزی

مهم‌ترین چالش مهندسی در دهه ۱۹۴۰، ساخت حافظه‌ای بود که بتواند داده‌ها را با ظرفیت مناسب ذخیره کند و سپس با سرعت الکترونیکی در اختیار پردازنده قرار دهد. به‌دلیل این که حافظه‌های مغناطیسی یا نیمه‌رسانا هنوز ابداع نشده بودن، ویلکس تصمیم گرفت از فناوری خطوط تاخیر صوتی (Acoustic Delay Lines) استفاده کند که پیش‌تر توسط اکرت برای فیلتر کردن سیگنال‌های رادار در جنگ ابداع شده بود.

حافظه‌ای که با «صدا» کار می‌کرد؛ مخازن جیوه‌ای EDSAC برای ذخیره داده‌ها

سازوکار این حافظه، تلفیقی از فیزیک صوت و الکترونیک بود. داده‌های دودویی به‌شکل پالس‌های الکتریکی وارد یک مبدل پیزوالکتریک (کریستال کوارتز) در یک سر لوله‌ای فولادی پر از جیوه مایع می‌شدند. این مبدل، پالس‌های الکتریکی را به امواج صوتی با فرکانس بالا تبدیل می‌کرد که جیوه درون لوله را می‌لرزاند. از آنجا که سرعت صوت در مایعات بسیار کمتر از سرعت نور (یا جریان الکتریکی در سیم) است، پالس‌ها با تأخیر، طول لوله را طی می‌کردند.

در سر دیگر لوله، یک کریستال کوارتز دیگر امواج صوتی را دریافت و دوباره به پالس الکتریکی تبدیل می‌کرد. این پالس‌ها سپس تقویت و دوباره به ابتدای لوله بازگردانده می‌شدند. داده‌ها تا زمانی که دستگاه روشن بود و دستوری برای تغییر آن‌ها صادر نمی‌شد، در این حلقه بی‌نهایت در گردش بودند.

حافظه، نه روی سیلیکون، بلکه در حرکت بی‌پایان صدا در جیوه تعریف شده بود

استفاده از ماده خطرناک و سنگینی مانند جیوه دلایل فیزیکی دقیقی داشت. امپدانس صوتی جیوه بسیار نزدیک به امپدانس کریستال‌های کوارتز است. این امر بازتاب سیگنال و اتلاف انرژی در هنگام انتقال از کریستال به مایع را حداقل می‌کرد. همچنین در این کامپیوتر، به‌دلیل سرعت پایین حرکت صوت در جیوه (حدود ۱٬۴۵۰ متر بر ثانیه) امکان ذخیره پالس‌های بیشتری را در طول مشخصی از لوله فراهم شد. بااین‌حال، حساسیت این سیستم بسیار بالا بود. به‌دلیل این که سرعت صوت وابسته به دما تغییر بود، لوله‌های جیوه باید در دمای ثابت ۴۰ درجه سانتی‌گراد، درون کوره‌های مخصوص نگهداری می‌شدند.

ماژول واقعی حافظه خط تأخیر جیوه‌ای استفاده‌شده در EDSAC
ماژول واقعی حافظه EDSAC؛ سخت‌افزاری که داده‌ها را در قالب امواج صوتی ذخیره می‌کرد

در نهایت، EDSAC با ۳۲ مخزن بلند جیوه راه‌اندازی شد که هر کدام می‌توانستند ۵۷۶ بیت را در گردش نگه دارند و در مجموع حافظه‌ای برابر با ۵۱۲ کلمه ۳۵ بیتی (حدود ۲ کیلوبایت امروزی) را برای دستگاه فراهم کردند.

طلوع نرم‌افزار: دستورات اولیه و پرش ویلر

سخت‌افزار پیچیده EDSAC به‌تنهایی قادر به انجام هیچ محاسبه‌ای نبود. در کامپیوترهای اولیه با معماری فون‌نویمان، یک چالش منطقی بزرگ وجود داشت: برنامه‌ها باید وارد حافظه می‌شدند تا اجرا شوند، اما وقتی کامپیوتر تازه روشن می‌شود، حافظه آن کاملاً خالی بود.

این مشکل که امروزه با نام چالش راه‌اندازی یا بوت‌استرپ (Bootstrapping) شناخته می‌شود، توسط دانشجوی دکتری موریس ویلکس، یعنی دیوید ویلر (David Wheeler) حل شد. ویلر برنامه‌ای کوتاه اما هوشمندانه نوشت که «دستورات اولیه» (Initial Orders) نام گرفت. نسخه اول این برنامه از ۳۱ دستورالعمل تشکیل شده بود که روی مجموعه‌ای از سوئیچ‌های مکانیکی و پله‌ای تلفن به‌نام «یونیسلکتور» (Uniselectors) به‌صورت سخت‌افزاری سیم‌کشی شده بود.

هنگامی که اپراتور، EDSAC را روشن می‌کرد، این ۳۱ کلمه مستقیماً در پایین‌ترین بخش حافظه کپی می‌شدند. وظیفه این کدِ حیاتی، این بود که نوار کاغذی حاوی برنامه کاربر را بخواند و با تبدیل نمادهای نوشته شده به کدهای دودویی، آن‌ها را در حافظه قرار دهد.

جدول کدهای ماشین و دستورالعمل‌های برنامه بارگذاری اولیه (Bootstrap Loader) در رایانه تاریخی EDSAC به همراه الگوی بیتی، آدرس‌های حافظه و توضیحات عملگرها برای راه‌اندازی و بارگذاری برنامه
لیست دقیق و کامل دستورالعمل‌های اولیه (Initial Orders) کامپیوتر EDSAC که به‌عنوان یک برنامه بارگذاری برای انتقال برنامه‌های کاربردی به حافظه عمل می‌کرد؛ این جدول نشان‌دهنده سطح دقت و پیچیدگی زبان ماشین در نخستین کامپیوترهای دیجیتال با برنامه ذخیره‌شده است (کمبریج).

سیستم ویلر به کاربران اجازه می‌داد به‌جای نوشتن صفر و یک‌های دودویی، از کدهای الفبایی استفاده کنند؛ مثلاً از نماد A برای جمع (Add) یا S برای تفریق (Subtract) استفاده کنند. این نوآوری، EDSAC را به یکی از نخستین کامپیوتر‌هایی تبدیل کرد که از یک مفسر اسمبلی بهره می‌برد.

بااین‌حال، به‌زودی مشخص شد که نوشتن کدهای طولانی یکپارچه، خطایابی را به کاری زمان‌بر و طاقت‌فرسا تبدیل می‌کند. به این ترتیب، نیاز به قطعه کدهای از پیش آماده شده (یا همان توابع) که بتوان بارها در یک برنامه از آن‌ها استفاده کرد، کاملاً حس شد. اما سخت‌افزار EDSAC فاقد دستوری برای پرش به یک تابع و سپس بازگشت از آن بود. اینجا بود که دیوید ویلر با ابداع یک تکنیک نرم‌افزاری که به پرش ویلر معروف شد، مفهوم زیربرنامه را به دنیای برنامه‌نویسی معرفی کرد.

مکانیزم پرش ویلر بر پایه کدهای خودتغییردهنده (Self-modifying code) استوار بود: برنامه اصلی پیش از پرش به زیربرنامه، آدرس خط فعلی خود را در انباشتگر (Accumulator) ذخیره می‌کرد. سپس زیربرنامه در اولین قدم، این آدرس را می‌خواند و دستور پرشِ را در حافظه به‌گونه‌ای بازنویسی می‌کرد که در پایان عملیات، کنترل اجرای برنامه دقیقاً به خط بعد از پرش در برنامه اصلی بازگردد.

ویلیام رنویک در حال کار با دستگاه خواننده نوار کاغذی ۵-حفره و چاپگر کرید در رایانه ئی‌دی‌اس‌ای‌سی (EDSAC) برای ورود و خروج داده
ویلیام رنویک در حال کار با تجهیزات ورودی-خروجی داده در کامپیوتر EDSAC؛ این دستگاه‌های الکترومکانیکی نقشی حیاتی در بارگذاری برنامه‌ها و چاپ نتایج محاسباتی داشتند (ویکی‌پدیا)

این تکنیک زمینه‌ساز شکل‌گیری نخستین کتابخانه‌های نرم‌افزاری شد و نقش مهمی در انتشار اولین کتاب آموزش برنامه‌نویسی کامپیوتر در سال ۱۹۵۱ توسط ویلکس، ویلر و استنلی گیل داشت.

نخستین اجرا و درخشش بئاتریس ورسلی

پس از ماه‌ها طراحی و ساخت، سرانجام در تاریخ ۶ مه ۱۹۴۹، کامپیوتر EDSAC اولین برنامه کامل خود را به‌صورت خودکار با موفقیت اجرا کرد. کدی که در آن روز اجرا شد توسط بئاتریس ورسلی (Beatrice Worsley) نوشته شده بود؛ پژوهشگر نابغه‌ای که اولین بانوی دارای مدرک دکتری در علوم کامپیوتر بود.

ورسلی که در مکزیک به دنیا آمده بود، در کودکی به‌همراه خانواده به کانادا مهاجرت کرد. او در طول جنگ جهانی دوم در نیروی دریایی سلطنتی کانادا به خدمت پرداخت و رکورد بی‌نظیر ۱۵۰ روز حضور در دریا را در شرایط سخت زمستان برای انجام تحقیقات روی خوردگی بدنه کشتی‌ها و سیستم‌های ضداژدر ثبت کرد.

بئاتریس ورسلی در محیط آزمایشگاهی، از نخستین برنامه‌نویسان کامپیوتر EDSAC
برنامه‌ای که در روز افتتاح EDSAC اجرا شد، توسط یکی از نخستین بانوان برنامه‌نویس تاریخ نوشته شده بود (thecanadianencyclopedia).

او پس از جنگ، به موسسه فناوری ماساچوست (MIT) رفت و پایان‌نامه کارشناسی ارشد خود را درباره تحلیل خطاهای کامپیوترهای آنالوگ نوشت که یکی از جامع‌ترین اسناد تاریخ محاسبات اولیه است.

نخستین خروجی EDSAC شاید ساده بود، اما ثابت کرد که ایده برنامه ذخیره‌شده فقط یک نظریه نیست

در سال ۱۹۴۹، ورسلی برای همکاری با تیم ویلکس به کمبریج آمد و به‌سرعت وارد پروژه EDSAC شد. برنامه‌ای که او برای روز افتتاحیه نوشت، جدولی از اعداد مجذور (توان دوم) را محاسبه و روی دستگاه تله‌پرینتر چاپ کرد.

خروجی این برنامه، هرچند ساده به‌نظر می‌رسید، اما اثبات کرد که مفهوم کامپیوتر با برنامه ذخیره‌شده کاملاً عملی و قابل استفاده است. مدت کوتاهی پس از آن، برنامه دیگری نیز که برای استخراج اعداد اول که توسط دیوید ویلر نوشته شده بود، با موفقیت اجرا شد.

کاتالیزوری برای سه جایزه نوبل

همان‌طور که موریس ویلکس برنامه‌ریزی کرده بود، EDSAC به‌جای تبدیل شدن به یک قطعه نمایشی، به دستگاهی ضروری برای محققان در دانشگاه کمبریج تبدیل شد. طولی نکشید که این کامپیوتر در پژوهش‌هایی به‌کار رفت که بعدها به سه جایزه نوبل منجر شدند.

کشف ساختار پروتئین (نوبل شیمی ۱۹۶۲)

جان کِندرو (John Kendrew) در آزمایشگاه کاوندیش در تلاش بود تا ساختار سه‌بعدی پروتئین ذخیره‌کننده اکسیژن در ماهیچه را کشف کند. در سال ۱۹۵۱، با پیشنهاد همکارانش، کندرو به EDSAC روی آورد. او و جان بنت یکی از نخستین برنامه‌های دنیا را برای محاسبه سنتز فوریه جهت تحلیل ساختار پرتو ایکس نوشتند.

با استفاده از ظرفیت پردازشی EDSAC (که محاسبات آن حدود ۱۲ ساعت به‌صورت مداوم طول می‌کشید)، کندرو و مکس پروتز توانستند در سال ۱۹۵۸ نخستین مدل سه‌بعدی از یک پروتئین را با وضوح ۶ آنگستروم ارائه دهند و در نهایت جایزه نوبل شیمی را دریافت کنند.

رمزگشایی از پیام‌های عصبی (نوبل پزشکی ۱۹۶۳)

اندرو هاکسلی (Andrew Huxley) و آلن هاجکین (Alan Hodgkin) در حال مطالعه روی نحوه انتقال پالس‌های الکتریکی در طول رشته‌های عصبی با استفاده از آکسون غول‌پیکر ماهی مرکب بودند. برای توصیف جریان یون‌های سدیم و پتاسیم از طریق غشای سلول، آن‌ها نیازمند حل معادلات دیفرانسیل غیرخطی پیچیده‌ای بودند.

هاکسلی در مقطعی به‌دلیل خرابی موقت EDSAC مجبور شد برخی از محاسبات را با ماشین‌حساب‌های دستی مکانیکی انجام دهد، اما اکوسیستم محاسباتی کمبریج و استفاده مستمر از کامپیوترها در این دانشگاه، نقش کلیدی در توسعه مدل معروف هاجکین-هاکسلی ایفا کرد که همچنان پایه و اساس عصب‌شناسی مدرن است.

تصویربرداری از اعماق کیهان (نوبل فیزیک ۱۹۷۴)

مارتین رایل (Martin Ryle)، ستاره‌شناس بریتانیایی، با چالشی فیزیکی روبه‌رو بود: برای داشتن دقت بالا در مشاهده امواج رادیویی کیهانی، به آنتن‌هایی با قطر چندین کیلومتر نیاز بود که ساخت آن‌ها از نظر مهندسی و مالی کاملاً غیرممکن بود. رایل با الهام از تداخل‌سنجی نوری، تکنیک سنتز دیافراگم را ابداع کرد.

در این روش، چند آنتن کوچک در فواصل مختلف جابه‌جا می‌شدند. سپس با استفاده از توان محاسباتی کامپیوتر EDSAC و الگوریتم‌های تبدیل فوریه، سیگنال‌های هر آنتن در حافظه کامپیوتر ترکیب می‌شدند تا موج نهایی به‌گونه‌ای شبیه‌سازی شود که گویی از یک رادیو تلسکوپ بزرگ به‌دست آمده است. این تکنیک که تحولی شگرف را در ستاره‌شناسی رادیویی ایجاد کرد، جایزه نوبل فیزیک را برای رایل به ارمغان آورد.

از آزمایشگاه تا کافه‌های لایونز: تولد نرم‌افزارهای تجاری

در اواخر دهه ۱۹۴۰، شرکت بریتانیایی لایونز (J. Lyons & Co) که بزرگترین زنجیره کافه‌ها، چای‌خانه‌ها و صنایع پخت نان بریتانیا را در اختیار داشت، با بحران کمبود نیروی کار و افزایش سرسام‌آور هزینه‌های حسابداری مواجه بود. مدیران دوراندیش این شرکت متوجه شدند که استفاده از ارتش ماشین‌نویسان برای پردازش سفارشات روزانه بیش از ۲۰۰ شعبه کافه در لندن دیگر پاسخگو نیست.

زمانی‌که مدیران لایونز برای بررسی تکنولوژی‌های جدید به آمریکا سفر کردند، با سازندگان انیاک دیدار داشتند. آن‌ها متوجه شدند که بسیاری از پروژه‌های اولیه کامپیوتر در آمریکا با نیازهای نظامی یا دولتی توسعه یافته بودند. سپس دریافتند که تیمی در کمبریج در حال ساخت دستگاهی است که می‌تواند برای پردازش داده‌های تجاری مناسب باشد.

تأثیرات شگرف معماری EDSAC تنها به محیط دانشگاه محدود نماند و زمینه‌ساز شکل‌گیری صنعت نرم‌افزارهای تجاری و سازمانی شد

شرکت لایونز با پرداخت ۳٬۰۰۰ پوند، از پروژه ویلکس حمایت مالی کرد، با این شرط که پس از اتمام کار، اجازه داشته باشند یک مهندس را برای یادگیری بفرستند و یک کپی تجاری از دستگاه را نیز بسازند.

کامپیوتر EDSAC در حال استفاده در محیط دانشگاهی برای محاسبات علمی
از آزمایشگاه تا صنعت؛ EDSAC الهام‌بخش نخستین کامپیوتر تجاری دنیا شد

این سرمایه‌گذاری خطرپذیر، منجر به استخدام جان پینکرتون (John Pinkerton) و ساخت کامپیوتر LEO I (Lyons Electronic Office) شد که معماری آن مستقیماً از EDSAC الگوبرداری شده بود. در ۲۹ نوامبر ۱۹۵۱، LEO I نخستین برنامه پردازش تجاری تاریخ را به‌نام Bakery Valuations (ارزش‌گذاری نانوایی) به‌صورت آنی و منظم اجرا کرد.

اولین کامپیوتری بود که به‌طور منظم سرویس محاسباتی به کاربران دانشگاه ارائه می‌داد

این برنامه، هزینه‌های مواد اولیه و سود نهایی محصولات تولید شده در کارخانه کادبی هال را محاسبه کرد و سفارشات فردای کافه‌ها را به‌صورت خودکار به خط تولید فرستاد. عملکرد این کامپیوتر آن‌قدر دقیق و موفقیت‌آمیز بود که مدتی بعد، سیستم پیچیده حقوق و دستمزد هزاران کارمند شرکت لایونز را نیز برعهده گرفت.

موفقیت LEO به‌حدی رسید که لایونز تصمیم گرفت شرکت مستقلی به‌نام LEO Computers Ltd تأسیس کند و به ارائه خدمات پردازش داده برای سازمان‌ها و فروش کامپیوتر بپردازد. طولی نکشید که محاسبه حقوق و دستمزد کارکنان شرکت فورد بریتانیا و محاسبات مالیاتی اداره درآمد ملی نیز توسط این کامپیوترها انجام می‌شد.

چالش‌ها و داستان‌های واقعی توسعه EDSAC 

در پسِ پرده‌ی این موفقیت‌های تاریخی، ساخت و نگهداری EDSAC با چالش‌های مهندسی طاقت‌فرسایی همراه بود. یکی از بزرگ‌ترین کابوس‌های تیم توسعه، ماهیت به‌شدت شکننده لامپ‌های خلاء بود. به‌دلیل وجود حدود ۳٬۰۰۰ لامپ در مدار، سوختن این قطعات به یک اتفاق روزمره تبدیل شده بود. مهندسان مجبور بودند هر روز صبح پیش از شروع کار، فرآیندی طولانی را برای عیب‌یابی، شناسایی و تعویض لامپ‌های سوخته طی کنند.

موریس ویلکس در کنار کامپیوتر EDSAC در آزمایشگاه ریاضیات دانشگاه کمبریج
موریس ویلکس در کنار بیل رنویک و کامپیوتر EDSAC در آزمایشگاه ریاضیات دانشگاه کمبریج (computinghistory.org)

گرمای تولید شده توسط این تعداد لامپ نیز به‌حدی بود که اتاق کامپیوتر را بسیار گرم و غیرقابل تحمل می‌کرد؛ تا جایی که در روزهای سرد زمستان، این اتاق به گرم‌ترین نقطه دانشگاه برای محققان تبدیل شده بود.

چالش بزرگ دیگر، حساسیت بالای حافظه‌های خط تاخیر جیوه بود. از آنجا که سرعت صوت در جیوه با تغییرات دما دچار نوسان می‌شود، دمای مخازن باید روی ۴۰ درجه سانتی‌گراد کاملاً ثابت می‌ماند. حفظ این دمای دقیق در اتاق‌هایی با عایق‌بندی ضعیف یک چالش بود.

داستان‌های جالبی از آن دوران نقل می‌شود که نشان می‌دهد باز کردن ناگهانی درِ اتاق و ورود یک جریان هوای سرد، می‌توانست باعث تغییر لحظه‌ای دمای مخازن، به‌هم ریختن همگام‌سازی پالس‌های صوتی و در نتیجه، پاک شدن یا تخریب کل اطلاعات در حال پردازش شود. این حساسیت بالا باعث شده بود تا مهندسان با احتیاطی شبیه به نگهداری از یک موجود زنده با این کامپیوتر عظیم رفتار کنند.

علاوه‌بر این، شبکه برق بریتانیا در سال‌های پس از جنگ به‌شدت ناپایدار بود. افت ولتاژ در ساعات اوج مصرف به‌سادگی می‌توانست دستگاه را از کار بیندازد و محاسبات چندین ساعته را در یک چشم به‌هم زدن مختل کند. به‌همین دلیل، بسیاری از برنامه‌نویسان و پژوهشگران (از جمله خود موریس ویلکس و دیوید ویلر) ترجیح می‌دادند شیفت‌های کاری حساس خود را به نیمه‌شب تا ساعات اولیه صبح منتقل کنند.

میز مانیتورینگ و کنترل رایانه ئی‌دی‌اس‌ای‌سی (EDSAC) با نمایشگرهای دایره‌ای و سوئیچ‌های کنترلی برای نظارت بر عملکرد حافظه و پردازش داده
اپراتور در کنار میز مانیتورینگ رایانه EDSAC؛ این میز که به نمایشگرهای دایره‌ای و سوئیچ‌های کنترلی مجهز بود، امکان عیب‌یابی و نظارت مستقیم بر عملکرد حافظه و واحد پردازش را برای مهندسان فراهم می‌کرد (ویکی‌پدیا).

این شب‌بیداری‌های اجباری، فرهنگی مبتنی بر کار شبانه و همکاری نزدیک مهندسان را در آزمایشگاه ریاضیات کمبریج شکل داد؛ فرهنگی که بعدها در بسیاری از آزمایشگاه‌های کامپیوتر نیز دیده شد.

میراثی که EDSAC باقی گذاشت

کامپیوتر EDSAC تنها یک ماشین محاسباتی متشکل از هزاران لامپ خلأ و خطوط تأخیر جیوه نبود؛ این سیستم نشان داد که ارزش واقعی کامپیوتر در توانایی آن برای حل مسائل علمی و اجرای نرم‌افزارهای قابل استفاده نهفته است.

نوآوری‌های نرم‌افزاری این پروژه، از جمله توسعه یکی از نخستین سامانه‌های اسمبلی و گسترش مفهوم زیربرنامه‌ها، در کنار کاربردهای بی‌شمار آن از رمزگشایی ساختار پروتئین‌ها و اعصاب تا اتوماسیون فرآیندهای پیچیده مالی، ثابت کرد که قدرت واقعی رایانش در درهم‌تنیدگی سخت‌افزار کارآمد و مهندسی نرم‌افزار هوشمندانه نهفته است.

میراث EDSAC فقط در تاریخ کامپیوتر نماند؛ در شیوه فکر کردن به نرم‌افزار زنده ماند

امروز، هر بار که یک برنامه از کتابخانه‌های نرم‌افزاری استفاده می‌کند، سیستم‌عامل را راه‌اندازی می‌کنیم یا یک سرویس ابری میلیون‌ها درخواست را پردازش می‌کند، ردپایی از ایده‌هایی دیده می‌شود که بیش از هفتاد سال پیش در آزمایشگاه کوچک کمبریج و در دل EDSAC شکل گرفتند. میراث این ماشین نه در سرعت پردازش آن، بلکه در تعریف شیوه‌ای نو برای استفاده از کامپیوتر به‌عنوان ابزاری عمومی برای علم، صنعت و مهندسی نرم‌افزار باقی مانده است.

ارسال دیدگاه

نشانی ایمیل شما منتشر نمی‌شود. بخش‌های ضروری با * مشخص شده‌اند.