رایانه یا کامپیوتر دستگاهی است که برای پردازش اطلاعات تحت یک روال معین استفاده میشود.
مدتی در فارسی به کامپیوتر مغز الکترونیکی میگفتند.
بعد از ورود این دستگاه به ایران در اوائل دهه ۱۳۴۰ نام کامپیوتر بهکار رفت.
واژه رایانه در دو دهه اخیر رایج شده و بهتدریج جای کامپیوتر را میگیرد.
واژه رایانه پارسی است و از فعل پارسی رایاندن به معنی سامان دادن و مرتب کردن آمده.
معنی واژگانی رایانه میشود ابزار دستهبندی و ساماندهی.
در زبان انگلیسی طی سالیان متمادی واژههای هم ارزش بسیاری برای این واژه بکار می رفته، و کلمات دیگری نیز وجود داشتهاند که از آنها به عنوان کامپیوتر یاد میشود اما معانی متفاوتی را در خود داشته اند.
ابر رایانه کلمبیا در ناسا
برای نمونه کامپیوتر قبلا عموما به فردی اطلاق می شد که محاسبات ریاضی را (با یا بدون ابزارهای کمکی مکانیکی) انجام می داد.
بر اساس واژه نامه ریشه یابی Barnhart Concise واژه کامپیوتر در سال ۱۶۴۶ به زبان انگلیسی وارد گردید که به معنی شخصی که محاسبه میکند بوده است و سپس از سال ۱۸۹۷ به ماشینهای محاسبه مکانیکی گفته می شد.
در هنگام جنگ جهانی دوم کامپیوتر به زنان نظامی انگلیسی و امریکایی که کارشان محاسبه مسیرهای شلیک توپهای بزرگ جنگی توسط ابزاز مشابهی بود، اشاره می کرد.
در اوایل دهه ۵۰ میلادی هنوز اصطلاح ماشینهای محاسب (computing machines) برای معرفی این ماشینها بهکار میرفت; در نهایت پس از آن عبارت کوتاهتر کامپیوتر(computer) بهجای آن بهکار گرفته شد.
در اصل، رایانش (computing) به عملیاتی که برای حل مسائل ریاضی انجام میگرفت اطلاق میشد، هر چند که رایانههای امروزی بسیاری از وظایفی را که بی ارتباط مستقیم با ریاضیات است انجام میدهند.
برابر این واژه در زبانهای دیگر حتما همان واژه زبان انگلیسی نیست.
در زبان فرانسوی واژه ordinateur، که معادل سازمان ده یا ماشین مرتب ساز می باشد بهکار میرود.
در اسپانیایی ordenador با معنایی مشابه استفاده میشود، همچنین در دیگر کشورهای اسپانیایی زبان computadora بصورت انگلیسی مآبانهای ادا میشود.
در پرتغالی واژه computador بهکار میرود که از واژه computar گرفته شده و به معنای محاسبه کردن می باشد.
در ایتالیایی واژه calcolatore که معنای ماشین حساب بکار میرود که بیشتر روی ویژگی حسابگری منطقی آن تاکید دارد.
در سوئدی رایانه dator خوانده میشود که از data (داده ها) برگرفته شده است.
به فنلاندی tietokone خوانده میشود که به معنی ماشین اطلاعات می باشد.
اما در زبان ایسلندی توصیف شاعرانه تری بکار میرود، tölva که واژه ایست مرکب و به معنای زن پیشگوی شمارشگر می باشد.
در چینی رایانه dian nao یا مغز برقی خوانده میشود.
در انگلیسی واژهها و تعابیر گوناگونی استفاده میشود، بعنوان مثال دستگاه داده پرداز (data processing machine).
تاریخچه
لایبنیتز (leibniz) ریاضیدان آلمانی از نخستین کسانی است که در ساختن یک دستگاه خودکار محاسبه کوشش کرد.
او که به پدر حسابدارش در تنظیم حسابها کمک میکرد، از زمانی که برای انجام محاسبات صرف میکرد گلهمند بود.
چارلز بابیج (Charles Babbage) یکی از اولین ماشینهای محاسبه مکانیکی را که به آن ماشین تحلیلی گفته می شد، طراحی نمود، اما بخاطر مشکلات فنی موجود در زمان حیاتش همچون ماشینی ساخته نشد(در سال 1993 در موزه علوم لندن مدلی که بر اساس طرح بابیج کار می کرد ساخته شد).
در گذشته دستگاههای مختلف مکانیکی سادهای مثل خطکش محاسبه و چرتکه نیز کامپیوتر خوانده می شدند.
در برخی موارد از آنها بعنوان رایانههای آنالوگ نام برده میشود.
چراکه برخلاف رایانههای رقمی، اعداد را نه بهصورت اعداد در پایه دو بلکه بهصورت کمیتهای فیزیکی متناظر با آن اعداد نمایش می دهند.
چیزی که امروزه از آن بعنوان رایانه یاد میشود در گذشته به عنوان رایانههای رقمی (دیجیتال) یاد میشد تا آنها را از انواع رایانههای آنالوگ جدا سازد(که هنوز در برخی موارد استفاده میشود مثلا نشانک پرداز آنالوگ (analog signal processing).
رایانهها چگونه کار میکنند
از زمان رایانههای اولیه که از سال 1941 تا کنون فناوریهای دیجیتالی بصورت شگرفی رشد نموده است، اغلب رایانهها از معماری فون نویمن که در اواخر دهه 1940 از سوی جان فون نویمن ابداع گردید سود میجویند.
معماری فون نوِیمن یک رایانه را به چهار بخش اصلی توصیف میکند: واحد محاسبه و منطق (Arithmetic and Logic Unit یا ALU)، واحد کنترل یا حافظه، و ابزارهای ورودی و خروجی ( که جمعا I/O نامیده میشود).
این بخشها توسط اتصالات داخلی سیمی به نام گذرگاه (bus) با یکدیگر در پیوند هستند.
حافظه
در این سامانه، حافظه یک توالی شماره گذاری شده از خانهها است، هرکدام محتوی بخش کوچکی از دادهها می باشند.
دادهها ممکن است دستورالعملهایی باشند که به رایانه میگویند چه کاری را انجام دهد باشد.
خانه ممکن است حاوی اطلاعات مورد نیاز یک دستورالعمل باشد.
محتوای هر خانه حافظه ممکن است هر زمان تغییر یابد و بیشتر شبیه دفتر چرکنویس می ماند تا یک لوح سنگی.
محتوای هر خانه حافظه ممکن است هر زمان تغییر یابد و بیشتر شبیه دفتر چرکنویس می ماند تا یک لوح سنگی.
اندازه هر خانه، وتعداد خانه ها، در رایانهٔ مختلف متفاوت است، همچنین فناوریهای بکاررفته برای اجرای حافظه نیز از رایانهای به رایانه دیگر در تغییر است(از بازپخش کنندههای الکترومکانیکی تا تیوپها و فنرهای پر شده از جیوه و یا ماتریسهای ثابت مغناطیسی و در آخر ترانزیستورهای واقعی و مدار مجتمعها با میلیونها خازن روی یک تراشه تنها).
پردازش واحد محاسبه و منطق یا ALU دستگاهی است که عملیات پایه مانند چهار عمل اصلی حساب (جمع و تفریق و ضرب و تقسیم)، عملیات منطقی (و،یا،نقیض)، عملیات قیاسی (برای مثال مقایسه دو بایت برای شرط برابری) و دستورات انتصابی برای مقدار دادن به یک متغیر را انجام میدهد.
این واحد جائیست که "کار واقعی" در آن صورت می پذیرد.
البته CPUها به دو دسته کلی RISC و CISC تقسیم بندی میشوند.
نوع اول پردازش گرهای مبتنی بر اعمال ساده هستند و نوع دوم پردازشگرهای مبتنی بر اعمال پیچیده میباشند.
پردازشگرهای مبتنی بر اعمال پیچیده در واحد محاسبه و منطق خود دارای اعمال و دستوراتی بسیار فراتر از چهار عمل اصلی یا منطقی می باشند.
تنوع دستورات این دسته از پردازندهها تا حدی است که توضیحات آنها خود میتواند یک کتاب با قطر متوسط ایجاد کند.
پردازندههای مبتنی بر اعمال ساده اعمال بسیار کمی را پوشش میدهند و در حقیقت برای برنامه نویسی برای این پردازندهها بار نسبتا سنگینی بر دوش برنامه نویس است.
این پردازندهها تنها حاوی 4 عمل اصلی و اعمال منطقی ریاضی و مقایسهای به علاوه چند دستور بی اهمیت دیگر میباشند.
(قابل ذکر است پردازندههای اینتل از نوع پردازنده مبتنی بر اعمال پیچیده میباشند.) واحد کنترل همچنین این مطلب را که کدامین بایت از حافظه حاوی دستورالعمل فعلی اجرا شونده است را تعقیب میکند، سپس به واحد محاسبه و منطق اعلام میکند که کدام عمل اجرا و از حافظه دریافت شود و نتایج به بخش اختصاص داده شده از حافظه ارسال گردد.
بعد از یک بار عمل، واحد کنترل به دستورالعمل بعدی ارجاع میکند(که معمولا در خانه حافظه بعدی قرار دارد، مگر اینکه دستورالعمل جهش دستورالعمل بعدی باشد که به رایانه اعلام میکند دستورالعمل بعدی در خانه دیگر قرارگرفته است).
ورودی/خروجی بخش ورودی/خروجی (I/O) این امکان را به رایانه می دهد تا اطلاعات را از جهان بیرون تهیه و نتایج آنها را به همان جا برگرداند.
محدوده فوق العاده وسیعی از دستگاههای ورودی/خروجی وجود دارد، از خانواده آشنای صفحهکلیدها، نمایشگرها، نَرمدیسک گرفته تا دستگاههای کمی غریب مانند رایابینها (webcams).
(از سایر ورودی/خروجی ها می توان موشواره mouse، قلم نوری، چاپگرها (printer)، اسکنرها، انواع لوح های فشرده(CD, DVD) را نام برد ).
چیزی که تمامی دستگاههای عمومی در آن اشتراک دارند این است که آنها رمز کننده اطلاعات از نوعی به نوع دیگر که بتواند مورد استفاده سیستمهای رایانه دیجیتالی قرار گیرد، هستند.
از سوی دیگر، دستگاههای خروجی آن اطلاعات به رمز شده را رمزگشایی میکنند تا کاربران آنها را دریافت نمایند.
از این رو یک سیستم رایانه دیجیتالی یک نمونه از یک سامانه دادهپردازی می باشد.
دستورالعملها هر رایانه تنها دارای یک مجموعه کم تعداد از دستورالعملهای ساده و تعریف شده می باشد.
از انواع پرکاربردشان میتوان به دستورالعمل "محتوای خانه 123 را در خانه 456 کپی کن!"، "محتوای خانه 666 را با محتوای خانه 042 جمع کن، نتایج را در خانه 013 کن!"، "اگر محتوای خانه 999 برابر با صفر است، به دستورالعمل واقع در خانه 345 رجوع کن!".
دستورالعملها در داخل رایانه بصورت اعداد مشخص شدهاند - مثلا کد دستور العمل (copy instruction) برابر 001 میتواند باشد.
مجموعه معین دستورالعملهای تعریف شده که توسط یک رایانه ویژه پشتیبانی میشود را زبان ماشین می نامند.
در واقعیت، اشخاص معمولا به [زبان ماشین]] دستورالعمل نمی نویسند بلکه بیشتر به نوعی از انواع سطح بالای زبانهای برنامه نویسی، برنامه نویسی میکنند تا سپس توسط برنامه ویژهای (تفسیرگرها (interpreters) یا همگردانها (compilers) به دستورالعمل ویژه ماشین تبدیل گردد.
برخی زبانهای برنامه نویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده میشود، استفاده میکنند؛ همچنین زبانهای سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعملهای ویژه ماشین استفاده میکنند.
معماری ها در رایانههای معاصر واحد محاسبه و منطق را به همراه واحد کنترل در یک مدار مجتمع که واحد پردازشی مرکزی (CPU) نامیده میشود، جمع نموده اند.
عموما، حافظه رایانه روی یک مدار مجتمع کوچک نزدیک CPU قرار گرفته.
اکثریت قاطع بخشهای رایانه تشکیل شدهاند از سامانههای فرعی (به عنوان نمونه، منبع تغذیه) و یا دستگاههای ورودی/خروجی.
برخی رایانههای بزرگتر چندین CPU و واحد کنترل دارند که بصورت همزمان با یکدیگر درحال کارند.
اینگونه رایانهها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار میروند.
کارایی رایانهها بنا به تئوری کاملاً درست است.
رایانه دادهها و دستورالعملها را از حافظه اش واکشی (fetch) میکند.
دستورالعملها اجرا میشوند، نتایج ذخیره میشوند، دستورالعمل بعدی واکشی میشود.
این رویه تا زمانی که رایانه خاموش شود ادامه پیدا میکند.
واحد پردازنده مرکزی در رایانههای شخصی امروزی مانند پردازندههای شرکت ای-ام-دی و شرکت اینتل از معماری موسوم به Pipeline استفاده می شود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز می کند.
همچنین این رایانهها از سطوح مختلف حافظه نهانگاهی استفاده میکنند که در زمان دسترسی به حافظه اصلی صرفه جویی کنند.
برنامه ها برنامه رایانهای فهرستهای بزرگی از دستورالعملها (احتمالا به همراه جدولهائی از داده) برای اجرا روی رایانه هستند.
خیلی از رایانهها حاوی میلیونها دستورالعمل هستند، و بسیاری از این دستورات به تکرار اجرا میشوند.
یک رایانه شخصی نوین نوعی (درسال 2003) میتواند در ثانیه میان 2 تا 3 میلیارد دستورالعمل را پیاده نماید.
رایانهها این مقدار محاسبه را صرف انجام دستورالعملهای پیچیده نمیکنند.
بیشتر میلیونها دستورالعمل ساده را که توسط اشخاص باهوشی "برنامه نویسان" در کنار یکدیگر چیده شدهاند را اجرا میکنند.
برنامه نویسان خوب مجموعههایی از دستورالعملها را توسعه می دهند تا یکسری از وظایف عمومی را انجام دهند(برای نمونه، رسم یک نقطه روی صفحه) و سپس آن مجموعه دستورالعملها را برای دیگر برنامه نویسان در دسترس قرار می دهند.(اگر مایلید "یک برنامه نویس خوب" باشید به این مطلب مراجعه نمایید.) رایانههای امروزه، قادرند چندین برنامه را در آن واحد اجرا نمایند.
از این قابلیت به عنوان چندکارگی (multitasking) نام برده میشود.
در واقع، CPU یک رشته دستورالعملها را از یک برنامه اجرا میکند، سپس پس از یک مقطع ویژه زمانی دستورالعملهایی از یک برنامه دیگر را اجرا میکند.
این فاصله زمانی اکثرا بعنوان یک برش زمانی (time slice) نام برده میشود.
این ویژگی که CPU زمان اجرا را بین برنامهها تقسیم میکند، این توهم را بوجود می آورد که رایانه همزمان مشغول اجرای چند برنامه است.
این شبیه به چگونگی نمایش فریمهای یک فیلم است، که فریمها با سرعت بالا در حال حرکت هستند و به نظر می رسد که صفحه ثابتی تصاویر را نمایش می دهد.
سیستم عامل همان برنامهای است که این اشتراک زمانی را بین برنامههای دیگر تعیین میکند.
سیستم عامل رایانه همیشه نیاز دارد تا برای بکارانداختنش حداقل یک برنامه روی آن در حال اجرا باشد.
تحت عملکردهای عادی این برنامه همان سیستم عامل یا OS است.
سیستم یا سامانه عامل تصمیم میگیرد که کدام برنامه اجرا شود، چه زمان، از کدام منابع (مثل حافظه، ورودی/خروجی و ...) استفاده شود.
همچنین سیستم عامل یک لایه انتزاعی بین سخت افزار و برنامههای دیگر که می خواهند از سخت افزار استفاده کنند، می باشد، که این امکان را به برنامه نویسان می دهد تا بدون اینکه جزئیات ریز هر قطعه الکترونیکی از سخت افزار را بدانند بتوانند برای آن قطعه برنامه نویسی نمایند.
کاربردهای رایانه نخستین رایانههای رقمی، با قیمتهای زیاد و حجم بزرگشان، در اصل محاسبات علمی را انجام می دادند، انیاک یک رایانه قدیمی ایالات متحده اصولا طراحی شده تا محاسبات پرتابهای توپخانه و محاسبات مربوط به جدول چگالی نوترونی را انجام دهد.
(این محاسبات بین دسامبر 1941 تا ژانویه 1946 روی حجمی بالغ بر یک میلیون کارت پانچ انجام پذیرفت!
که این خود طراحی و سپس تصمیم نادرست بکارگرفته شده را نشان می دهد) بسیاری از ابررایانههای امروزی صرفاً برای کارهای ویژه محاسبات جنگ افزار هستهای استفاده میگردد.
CSIR Mk I نیز که نخستین رایانه استرالیایی بود برای ارزیابی میزان بارندگی در کوههای اسنوئی (Snowy)این کشور بکاررفت، این محاسبات در چارچوب یک پروژه عظیم تولید برقابی انجام گرفت.
برخی رایانهها نیز برای انجام رمزگشایی بکارگرفته می شد، برای مثال Colossus که در جریان جنگ جهانی دوم ساخته شد، جزو اولین کامپیوترهای برنامهپذیر بود(البته ماشین تورینگ کامل نبود).
هرچند رایانههای بعدی میتوانستند برنامه ریزی شوند تا شطرنج بازی کنند یا تصویر نمایش دهند و سایر کاربردها را نشان دهد.
سیاستمداران و شرکتهای بزرگ نیز رایانههای اولیه را برای خودکارسازی بسیاری از مجموعههای داده و پردازش کارهایی که قبلا توسط انسانها انجام می گرفت،بکاربستند - برای مثال، نگهداری و بروزرسانی حسابها و دارایی ها.
در موسسات پژوهشی نیز دانشمندان رشتههای مختلف شروع به استفاده از رایانه برای مقاصدشان نمودند.
کاهش پیوسته قیمتهای رایانه باعث شد تا سازمانهای کوچکتر نیز بتوانند آنها را در اختیار بگیرند.
بازرگانان، سازمانها، و سیاستمداران اغلب تعداد زیادی از کامپیوترهای کوچک را برای تکمیل وظایفی که قبلا برای تکمیلشان نیاز به رایانه بزرگ (mainframe) گران قیمت و بزرگ بود، به کار بگیرند.
مجموعههایی از رایانههای کوچکتر در یک محل اغلب بعنوان خادم سرا (server farm) نام برده میشود.
با اختراع ریزپردازندهها در دهه 1970 این امکان که بتوان رایانههایی بسیار ارزان قیمت را تولید نمود بوجود آمد.
رایانههای شخصی برای انجام وظایف بسیاری محبوب گشتند، از جمله کتابداری، نوشتن و چاپ مستندات.
محاسبات پیش بینیها و کارهای تکراری ریاضی توسط صفحات گسترده (spreadsheet)، ارتباطات توسط پست الکترونیک، و اینترنت.
حضورگسترده رایانهها و سفارشی کردن آسانشان باعث شد تا در امورات بسیار دیگری بکارگرفته شوند.
در همان زمان، رایانههای کوچک، که معمولا با یک برنامه ثابت ارائه می شدند، راهشان را بسوی کاربردهای دیگری بازمی نمودند، کاربردهایی چون لوازم خانگی، خودروها، هواپیماها، و ابزار صنعتی.
این پردازشگرهای جاسازی شده کنترل رفتارهای آن لوازم را ساده تر کردند، همچنین امکان انجام رفتارهای پیچیده را نیز فراهم نمودند (برای نمونه، ترمزهای ضدقفل در خودروها).
با شروع قرن بیست و یکم، اغلب دستگاههای الکتریکی، اغلب حالتهای انتقال نیرو، اغلب خطوط تولید کارخانهها توسط رایانهها کنترل میشوند.
اکثر مهندسان پیش بینی میکنند که این روند همچنان به پیش برود.
یکی از کارهایی که میتوان بوسیله رایانه انجام داد پروگرام گیرنده ماهواره است.
گونههای رایانه رایانههای توکار در 20 سال گذشته یا همین حول و حوش، هرچند برخی ابزارهای خانگی که از نمونههای قابل ذکر آن می توان جعبههای بازیهای ویدئویی را که بعدها در دستگاههای دیگری از جمله تلفن همراه، دوربینهای ضبط ویدئویی، و PDAها و دهها هزار وسیله خانگی، صنعتی، خودروسازی و تمام ابزاری که در درون آنها مدارهایی که نیازهای ماشین تورینگ را مهیا ساخته اند، گسترش یافت، را نام برد(اغلب این لوازم برنامه هایی را در خود دارند که بصورت ثابت روی ROM تراشه هایی که برای تغییر نیاز به تعویض دارند،نگاشته شده اند).
این رایانهها که در درون ابزارهای با کاربرد ویژه گنجانیده شدهاند "ریزکنترلگرها" یا "رایانههای توکار" (Embedded Computers) نامیده می شوند.
بنابراین تعریف این رایانهها بعنوان ابزاری که با هدف پردازش اطلاعات طراحی گردیده محدودیتهایی دارد.
بیشتر می توان آنها را به ماشینهایی تشبیه کرد که در یک مجموعه بزرگتر بعنوان یک بخش حضور دارند مانند دستگاههای تلفن، ماکروفرها و یا هواپیما که این رایانهها بدون تغییر فیزیکی توسط کاربر می توانند برای مقاصد مختلفی بکارگرفته شوند.
رایانههای شخصی درآخر، اشخاصی که با انواع دیگری از رایانهها ناآشنا هستند از عبارت رایانه برای رجوع به نوع خاصی که رایانه شخصی (PCها) نامیده می شوند استفاده میکنند.
فهرست ۱ تاریخچه ۲ رایانهها چگونه کار میکنند ۲.۱ حافظه ۲.۲ پردازش ۲.۳ ورودی/خروجی ۲.۴ دستورالعملها ۲.۵ معماری ها ۲.۶ برنامه ها ۲.۷ سیستم عامل ۳ کاربردهای رایانه ۴ گونههای رایانه ۴.۱ رایانههای توکار ۴.۲ رایانههای شخصی