در گذشته دستگاه های مختلف مکانیکی ساده ای مثل خط کش محاسبه و چرتکه نیز رایانه خوانده می شدند. در برخی موارد از آن ها به عنوان رایانه آنالوگ نام برده می شود. چراکه برخلاف رایانه های رقمی، اعداد را نه به صورت اعداد در پایه دو بلکه…
متن کامل در ادامه مطلبـــ….
در گذشته دستگاه های مختلف مکانیکی ساده ای مثل خط کش محاسبه و چرتکه نیز رایانه خوانده می شدند. در برخی موارد از آن ها به عنوان رایانه آنالوگ نام برده می شود. چراکه برخلاف رایانه های رقمی، اعداد را نه به صورت اعداد در پایه دو بلکه به صورت کمیت های فیزیکی متناظر با آن اعداد نمایش می دهند. چیزی که امروزه از آن به عنوان «رایانه» یاد می شود در گذشته به عنوان «رایانه رقمی (دیجیتال)» یاد می شد تا آن ها را از انواع «رایانه آنالوگ» جدا سازند.
رایانه یکی از دو چیز برجسته ای است که بشر در سدهٔ بیستم اختراع کرد. دستگاهی که بلز پاسکال در سال ۱۶۴۲ ساخت اولین تلاش در راه ساخت دستگاه های محاسب خودکار بود. پاسکال آن دستگاه را که پس از چرتکه دومیت ابزار ساخت بشر بود، برای یاری رساندن به پدرش ساخت. پدر وی حسابدار دولتی بود و با کمک این دستگاه می توانست همه اعدادشش رقمی را با هم جمع و تفریق کند.
لایبنیتز ریاضی دان آلمانی نیز از نخستین کسانی بود که در راه ساختن یک دستگاه خودکار محاسبه کوشش کرد. او در سال ۱۶۷۱ دستگاهی برای محاسبه ساخت که کامل شدن آن تا ۱۹۶۴ به درازا کشید. همزمان در انگلستان ساموئل مورلند در سال ۱۶۷۳ دستگاهی ساخت که جمع و تفریق و ضرب می کرد.
در سده هجدهم میلادی هم تلاش های فراوانی برای ساخت دستگاه های محاسب خودکار انجام شد که بیشترشان نافرجام بود. سرانجام در سال ۱۸۷۵ میلادی استیفن بالدوین نخستین دستگاه محاسب را که هر چهار عمل اصلی را انجام می داد، به نام خود ثبت کرد.
از جمله تلاش های نافرجامی که در این سده صورت گرفت، مربوط به چارلز بابیچ ریاضی دان انگلیسی است. وی در آغاز این سده در سال ۱۸۱۰ در اندیشهٔ ساخت دستگاهی بود که بتواند بر روی اعداد بیست و شش رقمی محاسبه انجام دهد. او بیست سال از عمرش را در راه ساخت آن صرف کرد اما در پایان آن را نیمه کاره رها کرد تا ساخت دستگاهی دیگر که خود آن را دستگاه تحلیلی می نامید آغاز کند. او می خواست دستگاهی برنامه پذیر بسازد که همه عملیاتی را که می خواستند دستگاه برروی عددها انجام دهد، قبلا برنامه شان به دستگاه داده شده باشد. قرار بود عددها و درخواست عملیات برروی آن ها به یاری کارت های سوراخ دار وارد شوند. بابیچ در سال ۱۸۷۱ مرد و ساخت این دستگاه هم به پایان نرسید.
کارهای بابیچ به فراموشی سپرده شد تا این که در سال ۱۹۴۳ و در بحبوحه جنگ جهانی دوم دولت آمریکا طرحی سری برای ساخت دستگاهی را آغاز کرد که بتواند مکالمات رمزنگاری شدهٔ آلمانی ها را رمزبرداری کند. این مسئولیت را شرکتIBM و دانشگاه هاروارد به عهده گرفتند که سرانجام به ساخت دستگاهی به نامASCC در سال ۱۹۴۴ انجامید. این دستگاه پنج تنی که ۱۵ متر درازا و ۲٫۵ متر بلندی داشت، می توانست تا ۷۲ عدد ۲۴ رقمی را در خود نگاه دارد و با آن ها کار کند. دستگاه با نوارهای سوراخدار برنامه ریزی می شد و همهٔ بخش های آن مکانیکی یا الکترومکانیکی بود.
● تعریف داده و اطلاعات
داده به آن دسنه از ورودی هایی خام گفته می شود که برای پردازش به رایانه ارسال می شوند.
اطلاعات به داده های پردازش شده می گویند.
● رایانه ها چگونه کار می کنند؟
از زمان رایانه های اولیه که در سال ۱۹۴۱ ساخته شده بودند تا کنون فناوری های دیجیتالی رشد نموده است، معماری فون نوِیمن یک رایانه را به چهار بخش اصلی توصیف می کند: واحد محاسبه و منطق (Arithmetic and Logic Unit یاALU)، واحد کنترل یا حافظه، و ابزارهای ورودی و خروجی ( که جمعاI/O نامیده می شود). این بخش ها توسط اتصالات داخلی سیمی به نام گذرگاه(bus) با یکدیگر در پیوند هستند.
● حافظه
در این سامانه، حافظه بصورت متوالی شماره گذاری شده در خانه ها است، هرکدام محتوی بخش کوچکی از داده ها می باشند. داده ها ممکن است دستورالعمل هایی باشند که به رایانه می گویند که چه کاری را انجام دهد باشد. خانه ممکن است حاوی اطلاعات مورد نیاز یک دستورالعمل باشد. اندازه هر خانه، وتعداد خانه ها، در رایانهٔ مختلف متفاوت است، همچنین فناوری های بکاررفته برای اجرای حافظه نیز از رایانه ای به رایانه دیگر در تغییر است(از بازپخش کننده های الکترومکانیکی تا تیوپ ها و فنرهای پر شده از جیوه و یا ماتریس های ثابت مغناطیسی و در آخر ترانزیستورهای واقعی و مدار مجتمع ها با میلیون ها خازن روی یک تراشه تنها).
● پردازش
واحد محاسبه و منطق یاALU دستگاهی است که عملیات پایه مانند چهار عمل اصلی حساب (جمع و تفریق و ضرب و تقسیم)، عملیات منطقی (و،یا،نقیض)، عملیات قیاسی (برای مثال مقایسه دو بایت برای شرط برابری) و دستورات انتصابی برای مقدار دادن به یک متغیر را انجام می دهد. این واحد جائیست که «کار واقعی» در آن صورت می پذیرد.
البتهCPUها به دو دسته کلیRISC وCISC تقسیم بندی می شوند. نوع اول پردازش گرهای مبتنی بر اعمال ساده هستند و نوع دوم پردازشگرهای مبتنی بر اعمال پیچیده می باشند. پردازشگرهای مبتنی بر اعمال پیچیده در واحد محاسبه و منطق خود دارای اعمال و دستوراتی بسیار فراتر از چهار عمل اصلی یا منطقی می باشند. تنوع دستورات این دسته از پردازنده ها تا حدی است که توضیحات آن ها خود می تواند یک کتاب با قطر متوسط ایجاد کند. پردازنده های مبتنی بر اعمال ساده اعمال بسیار کمی را پوشش می دهند و در حقیقت برای برنامه نویسی برای این پردازنده ها بار نسبتاً سنگینی بر دوش برنامه نویس است. این پردازنده ها تنها حاوی ۴ عمل اصلی و اعمال منطقی ریاضی و مقایسه ای به علاوه چند دستور بی اهمیت دیگر می باشند.هرچند ذکر این نکته ضروری است که دستورات پیچیده نیز از ترکیب تعدادی دستور ساده تشکیل شده اند و برای پیاده سازی این دستورات در معماری های مختلف از پیاده سازی سخت افزاری(معماریCISC) و پیاده سازی نرم افزاری(معماریRISC) استفاده می شود.
(قابل ذکر است پردازنده های اینتل از نوع پردازنده مبتنی بر اعمال پیچیده می باشند.)
واحد کنترل همچنین این مطلب را که کدامین بایت از حافظه حاوی دستورالعمل فعلی اجرا شونده است را تعقیب می کند، سپس به واحد محاسبه و منطق اعلام می کند که کدام عمل اجرا و از حافظه دریافت شود و نتایج به بخش اختصاص داده شده از حافظه ارسال گردد. بعد از یک بار عمل، واحد کنترل به دستورالعمل بعدی ارجاع می کند(که معمولاً در خانه حافظه بعدی قرار دارد، مگر اینکه دستورالعمل جهش دستورالعمل بعدی باشد که به رایانه اعلام می کند دستورالعمل بعدی در خانه دیگر قرار گرفته است).
● ورودی/خروجی
بخش ورودی/خروجی(I/O) این امکان را به رایانه می دهد تا اطلاعات را از جهان بیرون تهیه و نتایج آن ها را به همان جا برگرداند. محدوده فوق العاده وسیعی از دستگاه های ورودی/خروجی وجود دارد، از خانواده آشنای صفحه کلیدها، نمایشگرها، نَرم دیسک گرفته تا دستگاه های کمی غریب مانند رایابین ها(webcams). (از سایر ورودی/خروجی ها می توان موشوارهmouse، قلم نوری، چاپگرها(printer)، اسکنرها، انواع لوح های فشرده(CD, DVD) را نام برد).
چیزی که تمامی دستگاه های عمومی در آن اشتراک دارند این است که آن ها رمزکننده اطلاعات از نوعی به نوع دیگر که بتواند مورد استفاده سیستم های رایانه دیجیتالی قرار گیرد، هستند. از سوی دیگر، دستگاه های خروجی آن اطلاعات به رمز شده را رمزگشایی می کنند تا کاربران آن ها را دریافت نمایند. از این رو یک سیستم رایانه دیجیتالی یک نمونه از یک سامانه داده پردازی می باشد.
● دستورالعمل ها
هر رایانه تنها دارای یک مجموعه کم تعداد از دستورالعمل های ساده و تعریف شده می باشد. از انواع پرکاربردشان می توان به دستورالعمل «محتوای خانه ۱۲۳ را در خانه ۴۵۶ کپی کن!»، «محتوای خانه ۶۶۶ را با محتوای خانه ۰۴۲ جمع کن، نتایج را در خانه ۰۱۳ کن!»، «اگر محتوای خانه ۹۹۹ برابر با صفر است، به دستورالعمل واقع در خانه ۳۴۵ رجوع کن!».
دستورالعمل ها در داخل رایانه بصورت اعداد مشخص شده اند مثلاً کد دستور العمل(copy instruction) برابر ۰۰۱ می تواند باشد. مجموعه معین دستورالعمل های تعریف شده که توسط یک رایانه ویژه پشتیبانی می شود را زبان ماشین می نامند. در واقعیت، اشخاص معمولاً به [زبان ماشین]] دستورالعمل نمی نویسند بلکه بیشتر به نوعی از انواع سطح بالای زبان های برنامه نویسی، برنامه نویسی می کنند تا سپس توسط برنامه ویژه ای (تفسیرگرها(interpreters) یا همگردان ها(compilers) به دستورالعمل ویژه ماشین تبدیل گردد. برخی زبان های برنامه نویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده می شود، استفاده می کنند؛ همچنین زبان های سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعمل های ویژه ماشین استفاده می کنند.
● معماری ها
در رایانه های معاصر واحد محاسبه و منطق را به همراه واحد کنترل در یک مدار مجتمع که واحد پردازشی مرکزی(CPU) نامیده می شود، جمع نموده اند. عموما، حافظه رایانه روی یک مدار مجتمع کوچک نزدیکCPU قرار گرفته. اکثریت قاطع بخش های رایانه تشکیل شده اند از سامانه های فرعی (به عنوان نمونه، منبع تغذیه) و یا دستگاه های ورودی/خروجی.
برخی رایانه های بزرگ تر چندینCPU و واحد کنترل دارند که بصورت هم زمان با یکدیگر درحال کارند. این گونه رایانه ها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار می روند.
کارایی رایانه ها بنا به تئوری کاملاً درست است. رایانه داده ها و دستورالعمل ها را از حافظه اش واکشی(fetch) می کند. دستورالعمل ها اجرا می شوند، نتایج ذخیره می شوند، دستورالعمل بعدی واکشی می شود. این رویه تا زمانی که رایانه خاموش شود ادامه پیدا می کند. واحد پردازنده مرکزی در رایانه های شخصی امروزی مانند پردازنده های شرکت ای ام دی و شرکت اینتل از معماری موسوم بهPipeline استفاده می شود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز می کند. همچنین این رایانه ها از سطوح مختلف حافظه نهانگاهی استفاده می کنند که در زمان دسترسی به حافظه اصلی صرفه جویی کنند.
● برنامه ها
برنامه رایانه ای فهرست های بزرگی از دستورالعمل ها (احتمالاً به همراه جدول هائی از داده) برای اجرا روی رایانه هستند. خیلی از رایانه ها حاوی میلیون ها دستورالعمل هستند، و بسیاری از این دستورات به تکرار اجرا می شوند. یک رایانه شخصی نوین نوعی (درسال ۲۰۰۳) می تواند در ثانیه میان ۲ تا ۳ میلیارد دستورالعمل را پیاده نماید. رایانه ها این مقدار محاسبه را صرف انجام دستورالعمل های پیچیده نمی کنند. بیشتر میلیون ها دستورالعمل ساده را که توسط اشخاص باهوشی «برنامه نویسان» در کنار یکدیگر چیده شده اند را اجرا می کنند. برنامه نویسان خوب مجموعه هایی از دستورالعمل ها را توسعه می دهند تا یکسری از وظایف عمومی را انجام دهند(برای نمونه، رسم یک نقطه روی صفحه) و سپس آن مجموعه دستورالعمل ها را برای دیگر برنامه نویسان در دسترس قرار می دهند. (اگر مایلید «یک برنامه نویس خوب» باشید به این مطلب مراجعه نمایید.)
رایانه های امروزه، قادرند چندین برنامه را در آن واحد اجرا نمایند. از این قابلیت به عنوان چندکارگی(multitasking) نام برده می شود. در واقع، CPU یک رشته دستورالعمل ها را از یک برنامه اجرا می کند، سپس پس از یک مقطع ویژه زمانی دستورالعمل هایی از یک برنامه دیگر را اجرا می کند. این فاصله زمانی اکثرا به عنوان یک برش زمانی(time slice) نام برده می شود. این ویژگی کهCPU زمان اجرا را بین برنامه ها تقسیم می کند، این توهم را بوجود می آورد که رایانه هم زمان مشغول اجرای چند برنامه است. این شبیه به چگونگی نمایش فریم های یک فیلم است، که فریم ها با سرعت بالا در حال حرکت هستند و به نظر می رسد که صفحه ثابتی تصاویر را نمایش می دهد. سیستم عامل همان برنامه ای است که این اشتراک زمانی را بین برنامه های دیگر تعیین می کند.
● سیستم عامل
رایانه همیشه نیاز دارد تا برای بکارانداختنش حداقل یک برنامه روی آن در حال اجرا باشد. تحت عملکردهای عادی این برنامه همان سیستم عامل یاOS است. سیستم یا سامانه عامل تصمیم می گیرد که کدام برنامه اجرا شود، چه زمان، از کدام منابع (مثل حافظه، ورودی/خروجی و…) استفاده شود. همچنین سیستم عامل یک لایه انتزاعی بین سخت افزار و برنامه های دیگر که می خواهند از سخت افزار استفاده کنند، می باشد، که این امکان را به برنامه نویسان می دهد تا بدون اینکه جزئیات ریز هر قطعه الکترونیکی از سخت افزار را بدانند بتوانند برای آن قطعه برنامه نویسی نمایند. با تمام این وجود کامپیوتر ها نمی توانند برخی از مسائل را حل کنند که به این مسائل حل نشدنی گفته می شود مانند مسائلی که در مسیر حلشان در حلقه بی نهایت می افتند
● کاربردهای رایانه
نخستین رایانه های رقمی، با قیمت های زیاد و حجم بزرگشان، در اصل محاسبات علمی را انجام می دادند، انیاک یک رایانه قدیمی ایالات متحده اصولا طراحی شده تا محاسبات پرتابه ای توپخانه و محاسبات مربوط به جدول چگالی نوترونی را انجام دهد. (این محاسبات بین دسامبر ۱۹۴۱ تا ژانویه ۱۹۴۶ روی حجمی بالغ بر یک میلیون کارت پانچ انجام پذیرفت! که این خود طراحی و سپس تصمیم نادرست بکارگرفته شده را نشان می دهد) بسیاری از ابررایانه های امروزی صرفاً برای کارهای ویژه محاسبات جنگ افزار هسته ای استفاده می گردد.
CSIR Mk I نیز که نخستین رایانه استرالیایی بود برای ارزیابی میزان بارندگی در کوه های اسنوئی(Snowy)این کشور بکاررفت، این محاسبات در چارچوب یک پروژه عظیم تولید برقابی انجام گرفت.
برخی رایانه ها نیز برای انجام رمزگشایی بکارگرفته می شد، برای مثالColossus که در جریان جنگ جهانی دوم ساخته شد، جزو اولین کامپیوترهای برنامه پذیر بود(البته ماشین تورینگ کامل نبود). هرچند رایانه های بعدی می توانستند برنامه ریزی شوند تا شطرنج بازی کنند یا تصویر نمایش دهند و سایر کاربردها را نشان دهد.
سیاستمداران و شرکت های بزرگ نیز رایانه های اولیه را برای خودکارسازی بسیاری از مجموعه های داده و پردازش کارهایی که قبلا توسط انسان ها انجام می گرفت، بکار بستند برای مثال، نگهداری و بروزرسانی حساب ها و دارایی ها. در موسسات پژوهشی نیز دانشمندان رشته های مختلف شروع به استفاده از رایانه برای مقاصدشان نمودند.
کاهش پیوسته قیمت های رایانه باعث شد تا سازمان های کوچک تر نیز بتوانند آن ها را در اختیار بگیرند. بازرگانان، سازمان ها، و سیاستمداران اغلب تعداد زیادی از کامپیوترهای کوچک را برای تکمیل وظایفی که قبلا برای تکمیلشان نیاز به رایانه بزرگ(mainframe) گران قیمت و بزرگ بود، به کار بگیرند. مجموعه هایی از رایانه های کوچک تر در یک محل اغلب به عنوان خادم سر(server farm) نام برده می شود.
با اختراع ریزپردازندهها در دهه ۱۹۷۰ این امکان که بتوان رایانه هایی بسیار ارزان قیمت را تولید نمود بوجود آمد. رایانه های شخصی برای انجام وظایف بسیاری محبوب گشتند، از جمله کتابداری، نوشتن و چاپ مستندات. محاسبات پیش بینی ها و کارهای تکراری ریاضی توسط صفحات گسترده (spreadsheet)، ارتباطات توسط پست الکترونیک، و اینترنت. حضور گسترده رایانه ها و سفارشی کردن آسانشان باعث شد تا در امورات بسیار دیگری بکارگرفته شوند.
در همان زمان، رایانه های کوچک، که معمولاً با یک برنامه ثابت ارائه می شدند، راهشان را بسوی کاربردهای دیگری باز می نمودند، کاربردهایی چون لوازم خانگی، خودروها، هواپیماها، و ابزار صنعتی. این پردازشگرهای جاسازی شده کنترل رفتارهای آن لوازم را ساده تر کردند، همچنین امکان انجام رفتارهای پیچیده را نیز فراهم نمودند (برای نمونه، ترمزهای ضدقفل در خودروها[۲]). با شروع قرن بیست و یکم، اغلب دستگاه های الکتریکی، اغلب حالت های انتقال نیرو، اغلب خطوط تولید کارخانه ها توسط رایانه ها کنترل می شوند. اکثر مهندسان پیش بینی می کنند که این روند همچنان به پیش برود. یکی از کارهایی که می توان به وسیله رایانه انجام داد پروگرام گیرنده ماهواره است.
● انواع رایانه
▪ رایانه های توکار
در ۲۰ سال گذشته ، هرچند برخی ابزارهای خانگی که از نمونه های قابل ذکر آن می توان جعبه های بازی های ویدئویی را که بعدها در دستگاه های دیگری از جمله تلفن همراه، دوربین های ضبط ویدئویی، وPDAها و دهها هزار وسیله خانگی، صنعتی، خودروسازی و تمام ابزاری که در درون آنها مدارهایی که نیازهای ماشین تورینگ را مهیا ساخته اند، گسترش یافت، را نام برد(اغلب این لوازم برنامه هایی را در خود دارند که بصورت ثابت رویROM تراشه هایی که برای تغییر نیاز به تعویض دارند،نگاشته شده اند). این رایانه ها که در درون ابزارهای با کاربرد ویژه گنجانیده شده اند «ریزکنترل گرها» یا رایانه های توکار(Embedded Computers) نامیده می شوند. بنابراین تعریف این رایانه ها به عنوان ابزاری که با هدف پردازش اطلاعات طراحی گردیده محدودیت هایی دارد. بیشتر می توان آنها را به ماشین هایی تشبیه کرد که در یک مجموعه بزرگ تر به عنوان یک بخش حضور دارند مانند دستگاه های تلفن، ماکروفرها و یا هواپیما که این رایانه ها بدون تغییر فیزیکی توسط کاربر می توانند برای مقاصد مختلفی بکارگرفته شوند.
▪ رایانه های شخصی
اشخاصی که با انواع دیگری از رایانه ها ناآشنا هستند از عبارت رایانه برای رجوع به نوع خاصی که رایانه شخصی(PC) نامیده می شوند استفاده می کنند.
مجله اینترنتی سوتک( www.sootak.ir )