شاید در نگاه اول به یک کیس، صفحه کلید، مانیتور و موس در یک چارچوب، کامپیوتر بگویید. اما ما عملا به دنبال چیزی بودیم که اسم آن را دستگاه پردازشگر همهمنظوره بگذاریم. حال سؤال اینجاست که چگونه میتوان چنین دستگاهی را ساخت؟ قبلا کامپیوترها متشکل بودند از یک بدنه خیلی بزرگ، یک مانیتور CRT؛ (Cathode-Ray Tube) پرحجم، یک صفحه کلید و حافظه ای که حداکثر بتوان چند برنامه ساده به زبان C با آن نوشت و نتایج را مشاهده کرد.
امروزه با آنچه به آن کامپیوتر میگوییم میتوان فیلم دید، موسیقی گوش کرد، تصویر ادیت کرد و کارهای برنامهنویسی را انجام داد و هرچه جلوتر میرویم این همهمنظوره بودن بیشتر به چشم میآید.
اما در هر صورت هدفگذاری اولیه انسان ساخت دستگاه پردازشگر همهمنظوره بودهاست. دستگاه به معنی اجزای فیزیکی و سخت افزاری که کنار هم قرار گرفتهاند یا به عبارت دیگر سیستم سخت افزاری. معنی همهمنظوره نیز مشخص است اما همهمنظوره بودن در چارچوب پردازش. مفهوم پردازش هم مجموعه کارهایی است که روی مقدماتی انجام میشود تا به مؤخراتی دست پیدا کنیم.
واضح است که فرمهای متفاوتی برای این مقدمات و مؤخرات و شیوۀ پردازش آنها وجود دارد و ما به دنبال دستگاهی بودیم که بتواند روی همۀ انواع این فرمها به صورت خودکار پردازش انجام دهد. بنابراین باید مجموعههایی از اعضای فیزیکی و شیوهای برای کنار هم قرار گرفتن این مجموعهها پیدا می شد که حاصل کار این دستگاه بشود توانایی پردازش همهمنظوره.
حال چرا انسان در طول تاریخ برای ساخت چنین دستگاهی انگیزه داشته؟ ساختن ابزار، تسهیل تداوم بقای انسان بودهاست. انسان اولیه برای بقا نیاز به غذا، پوشاک و سرپناه داشته و برای تسهیل در فراهم کردن این نیازها برای خود ابزارهایی میساخته است. برای مثال برای شکار حیوانات از نیزه و سنگ استفاده میکرده و یا برای داشتن سرپناه مناسب از اجسام تیزی برای کندهکاری غارها بهره میبرده.
گاهشماری
شاید از اولین ابزارهای پیچیدهای که انسان از آنها استفاده میکرد، ابزارهای گاهشماری بوده. گاهشماری به معنای اطلاع از زمان و گذر ایام که انسان گاه با نگاه کردن به ستارگان و جهت قرار گرفتن آنها در آسمان و گاه با پیشبینی درجه حرارت، به درکی از گذر زمان میرسیده است. با وارد شدن به فصل کشاورزی حتی این موضوع اهمیت بیشتری نیز پیدا میکرد چراکه مجبور بودند گیاهان و مواد غذایی را در زمان مناسبی کشت و برداشت کنند. بنابراین ابزار گاهشماری که از قدیمی ترین ابزارها به شمار میرود از اهمیت ویژهای برخوردار بوده.
پس گاهشماری نوعی پردازش اولیهای بود که انسان از آن استفاده میکرد و بشر با توجه به اهمیت آن و اینکه میتوان با ابزارهای گاهشماری به چنین قابلیتهای ارزشمندی دست پیدا کرد، به فکر این بود که برای کارهای سادهتر مانند حساب نیز بتواند دستگاهی بسازد که چهار عمل اصلی را انجام دهد. به عنوان مثال در دوران پادشاهی ناپلئون بناپارت که علم و تکنولوژی در آن زمان بسیار حمایت میشد، افراد متعددی دستگاههایی ارائه کردند که مثلا عمل جمع یا تفریق را انجام میداد؛ البته که در پی همۀ این گزارشهای تاریخی به نظر میرسد همۀ اینها در واقع با نوعی تقلب همراه بوده و هیچ دستگاه واقعی وجود نداشته است. اما نکته اینجاست که علیرغم اینکه در ساخت برخی دستگاههای پردازشی به ویژه دستگاه گاهشماری پیچیدگیهایی وجود داشت، بشر در امر پردازش به توفیقات فراوانی دست پیدا کرده بود. اما برای پرداختن به پردازش هایی از گونۀ دیگر و بسیار سادهتر، تلاش بشر برای ساخت دستگاه مناسب به سهولت به نتیجه نمیرسید تا آن جا که در قرن ۲۰ میلادی تقریباً این اعتقاد به وجود آمده بود که ساخت دستگاهی که بتواند چهار عمل اصلی را به خوبی انجام دهد بسیار دشوار و عملاً غیر ممکن است و نیاز به یک نگاه جدید و شیوه جدیدی از پرداختن به مفهوم پردازش دارد.
کامپیوترهای آنالوگ
در نتیجه محققین به شیوههای متفاوتی متوسل شدند که هرکدام متناسب با تکنولوژیهای زمان خود، نگاه بدیعی به حساب میآمد. یک نگاه با پیشرفت مهندسی برق و الکترونیک حاصل شد. این نگاه اینگونه بود که ما در حوزه پردازش غالباً کاری که انجام میدهیم این است که یک مسئله را به دنیای ریاضیات و جبر نگاشت میکنیم و مدلی که برای آن مسئله ارائه میکنیم به شکل عام یک معادله دیفرانسیل است. به عبارت دیگر با یک دستگاه معادلات دیفرانسیل سرو کار داریم. در نتیجه اگر بخواهیم دستگاه پردازشی بسازیم باید بتواند این فرم عمومی بیان را پیاده سازی و حل نماید؛ یعنی دستگاهی میخواهیم که معادله دیفرانسیل حل کند و برای داشتن این معادله دیفرانسیل به عمل ضرب، مشتقگیری و جمع احتیاج خواهیم داشت. با پیشرفت علم الکتریسیته و مغناطیس و الکترونیک، بشر توانست این اپراتورها را با ابزار و ادواتی پیادهسازی کند. نوعی از دستگاه های پردازشگر به نام آنالوگکامپیوترها(Analogue Computer) به وجود آمدند که اینها معادلات دیفرانسیل حل میکردند. اما در هر حال به نظر نمیآمد که کار کردن با این کامپیوتر ها ساده باشد و به اصطلاح کاربرپسند(user friendly) نبودند.
ضمن این ایرادی که به آنالوگ کامپیوترها وارد است، این دستگاهها بسیار کاربردی اند. قبل از اینکه این کامپیوترها با سازوکارهای الکترونیکی و کاربرپسندانهتر ارائه شوند در دنیای مکانیک مصداق داشتند؛ در زمان جنگ جهانی دوم هواپیماهای بمبافکن به آنالوگکامپیوترها مجهز بودند به این ترتیب که با استفاده از سنسورهایی که در این هواپیماها تعبیه شده بود، با محاسبه جهت و سرعت باد و محل هدف طی یک فرآیند کاملاً مکانیکی این پردازش انجام میشد و در زمان مناسب در جای مناسب اقدام به باز کردن دریچه هواپیما میکردند. این دستگاه ها مکانیکی بودند و هیچ قطعۀ الکترونیکی در آنها وجود نداشت. به تدریج با ساخته شدن آنالوگکامپیوترهای الکترونیکی سرعت محاسبات بسیار افزایش پیدا کرد به طوری که زمان لازم برای حل معادله دیفرانسیل در حد تأخیر اِلمانهای الکترونیکی بود. اما به هرحال آنالوگکامپیوترها در جاهایی بیرقیب اند و سرعتی در محاسبات دارند که حتی در کامپیوترهای دیجیتالی که امروزه با آنها سروکار داریم نمیتوان سراغ گرفت. به عنوان مثال در سیمولاتورهای پروازی که میخواهند یک هواپیمای جنگنده با سرعت زیاد و قابلیت مانورپذیری بالا را شبیه سازی کنند، هنوز که هنوز است سرعت کامپیوترهای دیجیتالی به قدر کافی زیاد نیست و این کار توسط آنالوگکامپیوترها انجام میشود.
پس یک رویه به ساخت کامپیوترهای آنالوگ در نسل اول مکانیکی و در نسل دوم الکترونیکی انجامید که میتوانند معادلات دیفرانسیل را شبیهسازی و حل کنند.
با ابراز ناامیدی از اینکه بتوان با استفاده از روش های مبتنی بر ریاضیات کلاسیک و جبر یک دستگاه پردازشگر همهمنظوره ساخت، راه حل دوم از اواخر قرن ۱۹ و اوایل قرن ۲۰ در ذهن محققین شکل گرفت.
پس از تلاشهای فراوان در این زمینه، دانشمندان به این نتیجه رسیدند عملی در مغز اتفاق میافتد که ما از آن اطلاع نداریم و این عمل نمیتواند به هیچ وجه از جنس ریاضیات کلاسیک باشد. پس تصمیم گرفتند مغز انسان را از نظر سخت افزاری و فیزیکی بررسی کنند. دانشمندان متوجه شدند ساختار مغز یک ساختار الکتروشیمیایی است و به نوعی با علم الکتریسیته و مغناطیس مرتبط و قابل بیان است. بنابراین این جسارت به وجود آمد که بتوانند این ساختار را به امید اطلاع از عملکرد سخت افزاری آن مورد بررسی قرار دهند و دستگاهی متناظر با ساختار مغز بسازند. نتیجه این تلاشها شد چیزی که امروزه آن را با عنوان علم شبکههای مصنوعی میشناسیم.
وقتی دانشمندان متوجه شدند آنچه در مغز اتفاق میافتد از طریق ارسال و دریافت سیگنالهای الکتریکی ایجاد میشود، تعداد زیادی تلاش کردند که بر این مبنا مدلهایی ارائه کنند که به شکل سنتی قابل بیان باشد. یعنی بشود آن را در دنیای ریاضیات و حساب مدل کرد. سپس متوجه شدند تفاوتی بسیار اساسی بین مبانی پردازش کلاسیک و ساختاری از مغز که بایولوژیستها گزارش میکنند، وجود دارد.
ویژگیهای نظام پردازشی
این تفاوت اساسی در چند مؤلفه است. در همۀ نظامهای پردازشی دو مفهوم پایه وجود دارد. یک مفهوم، واحدهای پردازشی اند مانند جمع، ضرب و به طور کلی پردازشهای پایه. مفهوم دیگر حافظه است مثلاً در حساب ۲+۳ باید عدد ۳ و ۲ جایی حضور داشته باشند تا اپراتور جمع بتواند روی آنها عمل کند. در تمام اعمال پردازشی این دو بخشِ واحد پردازشی و حافظه مشاهده میشوند؛ درحالیکه در مغز چنین سازوکاری وجود ندارد و نمیتوان گفت در مغز بخشهایی منحصر دیده میشوند که اینها حافظه اند و بخشهای دیگری وظیفه پردازش را به عهده دارند. سوم اینکه دستگاههای پردازشی، همه در نظام الگوریتمی کار میکنند. یعنی در حل مسائل حتماً توالی عملیات وجود دارد. این در حالی است که بایولوژیستها چنین سازوکاری را پیدا نکردند؛ بلکه پردازشی که در مغز اتفاق میافتد یک پردازش موازی و به شدت توزیع شده است.
بنابراین به این نتیجه رسیدند که بررسی ساختار فیزیکی مغز، کمکی به ساخت دستگاه پردازشگر همهمنظوره نمیکند.
مدتی بعد شخصی به نام فون نویمان(John von Neumann) که ریاضیدان و دانشمند اهل مجارستان بود این موضوع را عنوان کرد که ساخت پردازشگر همه منظورهای که بتواند پردازش های ذهنی انسان را انجام دهد، مستلزم محور قرار دادن همین تفاوتهای اساسی بین عملکرد مغز و دستگاههای پردازشی است. یعنی اولین خاصیتی که باید ایجاد کنیم واحدهای پردازشی است و دوم باید حافظه داشته باشیم. سوم باید به دستگاهی فکر کنیم که بتواند به صورت متوالی(sequential) عملیات را انجام دهد و البته بین این بخشهای مختلف باید ارتباطاتی نیز وجود داشته باشد. و این بدین منجر شد که عمده چیزهایی که ما امروزه به عنوان کامپیوتر میشناسیم ساختار فون نویمانی دارند و بر مبنای تعاریف فون نویمان شکل گرفتهاند.
در نهایت در سالهای ۱۹۳۹ تا ۱۹۴۱ تلاشهای یک مهندس عمران آلمانی به نام کنراد زوسه(Konrad Zuse) منجر به ساخت اولین کامپیوتر دیجیتال شد. او اولین کسی است که توانست کامپیوتری از جنس کامپیوترهای امروزی را به عنوان دستگاه بسازد.
با پیشرفت تکنولوژی در قرن ۲۰ و ۲۱، این سیر تکامل بیشتری پیدا کرد و کامپیوترها به دستگاههای پردازشیای تبدیل شدند که رؤیای انسان درمورد همهمنظوره بودن را برآورده کنند.