نگاهی به تاریخچه کامپیوتر از چرتکه تا چندپردازنده ها

نگاهی به تاریخچه کامپیوتر از چرتکه تا چندپردازنده ها

کامپیوتر به چه معنا است؟ 

کلمه کامپیوتر از دو بعد قابل بررسی است که شامل نگاه لغوی و نگاه تاریخی است.از نظر لغوی کامپیوتر (Computer) از دو کلمه putare به معنی"اندیشیدن یا کوتاه کردن" و com به معنی"با هم" تشکیل شده است. تا قرن بیستم چون زن ها دستمزدشان نسبت به مردان کمتر بود لذا اکثر کارهای محاسباتی توسط زن ها انجام می شد. به همین علت در این دوره کامپیوتر به زنی که محاسبه انجام می دهد اطلاق می شد. با رشد فناوری، زمینه ای برای استفاده از ماشین ها به جای کارگران انسانی فراهم شد. بنابرین با گذشت زمان  ماشین های محاسبه گر جای حسابگران زن را گرفتند و در این دوره بود که کامپیوتر به معنی ماشینی که محاسبه انجام می دهد شناخته می شد. با وارد شدن ماشین های الکتریکی در صنعت به سرعت ساختار کامپیوترها الکتریکی شد و لذا  قرن بیستم کامپیوتر به معنی "ماشین الکتریکی که عمل محاسبه را انجام می دهد" بود و تا اکنون به چنین نامی آن را می شناسیم 

تاریخچه کامپیوتر

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

جنبه های پیشرفت کامپیوتر

  1. پیشرفت در زمینه فناوری ساخت: به معنی استفاده از فناوری های پیشرفته هر عصر برای محاسبات کامپیوتری است. در یک زمانی فناوری عصر بشر مکانیکی بود لذا کامپیوترها را به صورت مکانیکی می ساختند. پس از آن کامپیوترها با رله های الکترومغناطیسی ساخته شدند. اما رله های الکترومغناطیسی سرعت پایینی داشتند و همچنین سریع خراب می شدند. لذا از فناوری لامپ خلا در کامپیوترها بهره گرفته شد. اما لامپ خلا بزرگ و حجیم بود لذا فناوری نیم هادی وارد کامپیوتر شد و تا کنون فناوری ساخت کامپیوترها مبتنی بر نیم هادی ها است. انتظار می رود کامپیوترهای آینده به صورت زیستی ساخته شوند. 
  2. پیشرفت در معماری کامپیوتر:  معماری کامپیوتر یعنی این که یک کامپیوتر چگونه ساخت شود تا کار ما را  به شکل مناسب و کم هزینه انجام دهد. این بخش در ظاهر شاید همان فناوری ساخت کامپیوتر به نظر برسد اما در حقیقت کاملا مستقل از آن است. در فناوری ساخت به این سوال پاسخ داده می شود که کامپیوتر با چه فناوری ساخت شود اما در معماری کامپیوتر به این سوال پاسخ می دهیم که کامپیوتر را چگونه بسازیم، چگونه عمل کند و چگونه  بهترین عملکرد را داشته باشد. 
  3. پیشرفت نرم افزاری کامپیوتر:  تا مدت ها بخش نرم افزاری در سخت افزار کامپیوتر ادغام شده بود و چیزی به نام نرم افزار یا سخت افزار کامپیوتر نداشتیم، اگرچه در بطن کار یک نرم افزاری وجود داشت و کامپیوتر را هدایت می کرد، اما هرچه که بود همه به عنوان یک بخش به نام کامپیوتر دیده می شد. مثلا کامپیوترهای مکانیکی که برای بافندگی مورد استفاده قرار می گرفتند دستوراتی را از طریق نوار سوراخ دار می پذیرفتند اما کسی به این دستورات نرم افزار کامپیوتر نمی گفت. مفهوم نرم افزار زمانی مطرح شد که بخش های کامپیوتر به وظایف مستقل از هم تقسیم شد و حافظه به عنوان یک واحد از معماری کامپیوتر تعریف شد. در چنین شرایطی دستورات کامپیوتر در حافظه ذخیره می شدند و  کامپیوتر آنها را اجرا می نمود. اما این کار دشواری بود و فقط افراد متخصص می توانستند انجام دهند. لذا پیشنهاد شد که از کامپیوتر علاوه بر انجام دستورات برای درک دستورات نیز استفاده شود. در چنین حالتی برنامه نویس با یک زبان نمادی که درک دستورات در آن راحت تر بود برای کامیپوتر برنامه می نوشت و کامپیوتر با یک برنامه ثانویه آن را تفسیر می کرد و به زبان ماشین تبدیل می نمود. همین ایده تکرار شد و زبان های سطح بالاتر اختراع شدند. در این صورت کامیپوتر با استفاده از برنامه ای به نام کامپایلر برنامه ای که نزدیک به زبان انسان بود را دریافت می کرد و به زبان خود تبدیل می نمود. علاوه بر پیشرفت زبان های برنامه نویسی در حوزه نرم افزار پیشرفته های قابل توجه ای صورت گرفت که از مهم ترین آنها تعریف اصول برنامه نویسی ساخت یافته و شی گرا بود. 
  4. پیشرفت در ابزارهای ارتباطی با کامپیوتر مانند نمایشگر ها، کیبرد، موس و...
  5. پیشرفت در مبانی ریاضی و فلسفی کامپیوتر، اصول جبر بول، کد اسکی،  سیستم موریس و...
  6. پیشرفت در شبکه های کامپیوتری 

مختصری از تاریخچه کامپیوتر از بعد فناوری 

اولین ابزاری که انسان از آن برای محاسبه استفاده نمود انگشتان دست بود به همین علت حساب عددی ما انسانها دهدهی است. 

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

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

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

از قرن 16 تا قبل از اختراع کامپیوترهای الکتریکی از قانون اسلاید برای محاسبه جمع اعداد به روش سریع استفاده می شد. در این قانون از تعدادی خط کش موازی برای محاسبه سریع استفاده می شد. 

در سال 1801، ژوزف ماری ژاکارد بافنده فرانسوی راهی برای تسریع و ساده‌سازی کار پیچیده و زمان‌بر بافت پارچه اختراع کرد. تکنیک او پیش درآمد مفهومی منطق و برنامه نویسی باینری بود که امروزه وجود دارد. اختراع ژاکارد برگرفته از ایده های قبلی ژاک دووکانسون (1709-1782)، ژان باپتیست فالکون، و باسیل بوشون بود که آخرین آنها راهی برای کنترل ماشین بافندگی با استفاده از نوار سوراخ دار در سال 1725 اختراع کردند. مخترعان بعدی این مفهوم را گرفتند و استفاده کردند. در واقع در این دوره ما اختراع حافظه های نورای سوراخ دارد و پانچ کارت ها را داریم که با کامپیوتر تجمیع شده بودند. 

در سال های حدود 1786 موتور تفاضلی برای جدول بندی و محاسبه توابع  چندجمله ای اختراع شد. موتور تفاضلی اصلی توسط بابیج (حدودا 1870) اختراع شد که اولین ماشین حساب خودکار بود، به این معنی که می توانست از نتایج یک محاسبه به عنوان ورودی برای محاسبه بعدی استفاده کند. او آن را با 16 رقم اعشار دقت و چاپگر طراحی کرد. همچنین می تواند صفحاتی برای چاپ تولید کند. چاپ این ماشین شامل چاپ جداول دریایی، توابع مثلثاتی و لگاریتمی و .. بود. همچنین بابیج بعدا موفق شد یک نمونه از ماشین خود را با استفاده از پانچ کارت بسازد، کاری که یک قرن بعد در ماشین های الکتریکی مورد استفاده قرار گرفت 

اوایل قرن نوزدهم استفاده از  الکتریسته برای ارسال پیام مورد توجه دانشمندان اروپا و آمریکا قرار گرفت. مخترع آمریکایی ساموئل مورس با اختراع سیستم مورسی اولین تلگراف عملی در سال 1836  را ترویج داد. قبل از تلفن، قبل از رادیو، دستگاه فکس بود. این دستگاه فکس دهه 1990 نبود - دستگاهی که اطلاعات را از طریق خطوط تلفن معمولی مخابره می کرد - بلکه دستگاهی متشکل از یک جفت آونگ هماهنگ شده بود که از فاصله دور توسط یک سیم برقی به یکدیگر متصل شده بودند. الکساندر بین یک ساعت ساز اسکاتلندی بود که هم به برق و هم به اختراع علاقه داشت. در سال 1843، او یک «تلگراف چاپ الکتریکی» ساخت که از یک جفت آونگ زمان‌بندی شده دقیق استفاده می‌کرد، یک آونگ پیام را اسکن می کرد و دومی پیام را  چاپ می نمود. مخترع ایتالیایی، جووانی کاسلی، ایده اولیه بین را با دستگاه فشرده‌تری به نام پانتلگراف بهبود بخشید به طوری که دستگاه او پیامی را که با جوهر عایق روی صفحه فلزی روی مجموعه‌ای از سیم‌ها نوشته شده بود، منتقل می‌کرد. عملیات تجاری پانتلگراف در سال 1865 بین پاریس و لیون، بیشتر برای تأیید امضای دستورالعمل های بانکی آغاز شد

اختراع ضرب کننده مکانیکی 12 بیتی توسط توماس د کولمر حدود سال 1851

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

 

در سال 1874، کارل فردیناند براون، فیزیکدان 24 ساله آلمانی، کشف کرد که یک کریستال سولفید فلزی که با یک کاوشگر فلزی لمس می شود، الکتریسیته را تنها در یک جهت هدایت می کند. این ویژگی "یک جهت" همان چیزی است که دیودها یا یکسو کننده ها، ساده ترین اجزای الکترونیکی را تعریف می کند.

اولین کامپیوتر دیجیتال به نام زد-3 توسط مخترع آلمانی کونراد زوسی در سال 1941 اختراع شد. این دستگاه برنامه ای را روی نوار سلولوئید پانچ اجرا می کرد و می توانست جمع، تفریق، ضرب، تقسیم و جذر را روی اعداد ممیز شناور باینری 22 بیتی انجام دهد (زیرا ریاضیات باینری کارآمدتر از اعشاری بود). زوسی قبل از اختراع Z3 کامپیوتر مکانیکی Z1 و سپس Z2 را اختراع کرد که با رله های الکترومکانیکی کار می کردند. 

در سال 1942، برای حل معادلات 29 مجهولی یک کامپیوتر رومیزی دیجیتالی به نام ABC توسط آتاناسوف و دانشجوی او اختراع شد. این ماشین به جای رله ها و سوئیچ های مکانیکی بر پایه الکترونیک بود، ریاضیات را با محاسبات دودویی انجام می داد و یک حافظه اصلی داشت که از یک بار الکتریکی (یا عدم وجود آن) در خازن های کوچک برای نمایش 1 و 0 استفاده می کرد 

در سال های 1907 تا 1980 اولین کامپیوتر الکترونیکی به نام انیاک توسط جان مچرلی و همکارش اختراع شد. این کامپیوتر به جای رله های الکترومغناطیسی با لامپ خلا کار می کرد و هیچ حافظه ای نداشت

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

 

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

مختصری از تاریخچه کامپیوتر از بعد معماری کامپیوتر 

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

حدودا تا سال 2004 معماری کامپیوتر بر اساس اصول وان نیومن پیش رفت اما از سال 2004 به بعد به دلایلی نگاه جدیدی وارد معماری کامپیوتر شد  و آن معماری چند هسته ای بود که در فصل بعدی در مورد آن صحبت می شود

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

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

ادامه دارد….

برای دانلود فایل های تدریس معماری کامپیوتر بر روی لینک کلیک کنید

https://fapool.ir/file/126208/D1Gk

 

 

دیدگاه ها
اولین دیدگاه را شما بنویسید | ثبت دیدگاه