رایانه
رایانه
رایانه یا کامپیوتر (به انگلیسی: computer) ماشینی است که از آن برای پردازش اطلاعات استفاده می‌شود.


نام
در زبان انگلیسی «کامپیوتر» به دستگاه خودکاری می‌گفتند که محاسبات ریاضی را انجام می‌داد. بر پایهٔ «واژه‌نامه ریشه‌یابی Barnhart Concise» واژهٔ کامپیوتر در سال ۱۶۴۶ به زبان انگلیسی وارد گردید که به معنی «شخصی که محاسبه می‌کند» بوده‌است و سپس از سال ۱۸۹۷ به ماشین‌های محاسبه مکانیکی گفته می‌شد. در هنگام جنگ جهانی دوم «کامپیوتر» به زنان نظامی انگلیسی و آمریکایی که کارشان محاسبه مسیرهای شلیک توپ‌های بزرگ جنگی به وسیله ابزار مشابهی بود، اشاره می‌کرد





البته در اوایل دهه ۵۰ میلادی هنوز اصطلاح ماشین حساب (computing machines) برای معرفی این ماشین‌ها به‌کار می‌رفت. پس از آن عبارت کوتاه‌تر کامپیوتر (computer) به‌جای آن به‌کار گرفته شد. ورود این ماشین به ایران در اوائل دهه ۱۳۴۰ بود و در فارسی از آن زمان به آن «کامپیوتر» می‌گفتند. واژه رایانه در دو دهه اخیر در فارسی رایج شده است.

برابر این واژه در زبان‌های دیگر حتماً همان واژه زبان انگلیسی نیست. در زبان فرانسوی واژه "ordinateur"، که به معنی «سازمان‌ده» یا «ماشین مرتب‌ساز» است، به‌کار می‌رود. در اسپانیایی "ordenador" با معنایی مشابه استفاده می‌شود، همچنین در دیگر کشورهای اسپانیایی زبان computadora بصورت انگلیسی‌مآبانه‌ای ادا می‌شود. در پرتغالی واژه computador به‌کار می‌رود که از واژه computar گرفته شده و به معنای «محاسبه کردن» می‌باشد. در ایتالیایی واژه "calcolatore" که معنای ماشین حساب بکار می‌رود که بیشتر روی ویژگی حسابگری منطقی آن تاکید دارد. در سوئدی رایانه "dator" خوانده می‌شود که از "data" (داده‌ها) برگرفته شده‌است. به فنلاندی "tietokone" خوانده می‌شود که به معنی «ماشین اطلاعات» می‌باشد. اما در زبان ایسلندی توصیف شاعرانه‌تری بکار می‌رود، «tölva» که واژه‌ایست مرکب و به معنای «زن پیشگوی شمارشگر» می‌باشد. در چینی رایانه «dian nao» یا «مغز برقی» خوانده می‌شود. در انگلیسی واژه‌ها و تعابیر گوناگونی استفاده می‌شود، به‌عنوان مثال دستگاه داده‌پرداز («data processing machine»).




معنای واژهٔ فارسی رایانه

واژهٔ رایانه از مصدر رایانیدن ساخته شده که در فارسی میانه به شکلِ rāyēnīdan و به معنای «سنجیدن، سبک و سنگین کردن، مقایسه کردن» یا «مرتّب کردن، نظم بخشیدن و سامان دادن» بوده‌است.این مصدر در زبان فارسی میانه یا همان پهلوی کاربرد فراوانی داشته و مشتق‌های زیادی نیز از آن گرفته شده بوده. برایِ مصدر رایانیدن/ رایاندن در فرهنگ واژهً دهخدا چنین آمده:

رایاندن
[ دَ ] (مص) رهنمائی نمودن به بیرون. هدایت کردن. (ناظم الاطباء).

شکلِ فارسی میانهٔ این واژه rāyēnīdan بوده و اگر می‌خواسته به فارسی نو برسد به شکل رایانیدن/ رایاندن درمی‌آمده. (بسنجید با واژه‌یِ فارسیِ میانه‌یِ āgāhēnīdan که در فارسیِ نو آگاهانیدن/ آگاهاندن شده‌است).

این واژه از ریشه‌یِ فرضیِ ایرانیِ باستانِ –radz* است که به معنایِ «مرتّب کردن» بوده. این ریشه به‌صورتِ –rad به فارسیِ باستان رسیده و به شکلِ rāy در فارسیِ میانه (پهلوی) به‌کار رفته. از این ریشه ستاک‌هایِ حالِ و واژه‌هایِ زیر در فارسیِ میانه و نو به‌کار رفته‌اند:

-ā-rādz-a*یِ ایرانیِ باستان> -ā-rāy ِ فارسی میانه که در واژه‌یِ آرایشِ فارسیِ نو دیده می‌شود.
-pati-rādz-a*یِ ایرانیِ باستان> -pē-rāy ِ فارسی میانه که در واژه‌یِ پیرایشِ فارسیِ نو دیده می‌شود؛ و
-rādz-ta*یِ ایرانیِ باستان> rāst ِ فارسی میانه که در واژه‌یِ راستِ فارسیِ نو دیده می‌شود.

این ریشه‌یِ ایرانی از ریشه‌یِ هندواروپاییِ -reĝ* به معنایِ «مرتّب کردن و نظم دادن» آمده‌است. از این ریشه در

هندی rāj-a به معنیِ «هدایت‌کننده، شاه» (یعنی کسی که نظم می‌دهد)؛
لاتینی rect-us به معنیِ «راست، مستقیم»،
فرانسه di-rect به معنیِ «راست، مستقیم»،
آلمانی richt به معنیِ «راست، مستقیم کردن» و
انگلیسی right به معنیِ «راست، مستقیم، درست»

برجای مانده‌است.

در فارسیِ نو پسوندِ -ـه (= /e/ در فارسی رسمی ایران و /a/ در فارسی رسمی افغانستان و تاجیکستان) را به ستاکِ حالِ فعل‌ها می‌چسبانند تا نامِ ابزارِ آن فعل‌ها به‌دست آید (البته با این فرمول مشتق‌های دیگری نیز ساخته می‌شود، امّا در اینجا تنها نامِ ابزار مدِّ نظر است)؛ برای نمونه از

مالـ- (یعنی ستاکِ حالِ مالیدن) + -ـه، ماله «ابزار مالیدنِ سیمان و گچِ خیس»
گیر- (یعنی ستاکِ حالِ گرفتن) + -ـه، گیره «ابزار گرفتن»
پوشـ- (یعنی ستاکِ حالِ پوشیدن) + -ـه، پوشه «ابزار پوشیدن» (خود را جایِ کاغذهایی بگذارید که پوشه را می‌پوشند!)
رسانـ- (یعنی ستاکِ حالِ رساندن) + -ـه، رسانه «ابزار رساندنِ اطّلاعات و برنامه‌هایِ دیداری و شنیداری»

حاصل می‌گردد.

در فارسیِ نو پسوندِ -ـه (= e- یا همان a-) را به ستاکِ حالِ "رایانیدن" یعنی رایانـ- چسبانده‌اند تا نامِ ابزارِ این فعل ساخته شود؛ یعنی "رایانه" به معنایِ «ابزارِ نظم بخشیدن و سازماندهی (ِ داده‌ها)» است.

سازندگان این واژه به واژه‌یِ فرانسویِ این مفهوم، یعنی ordinateurتوجّه داشته‌اند که در فرانسه از مصدرِ ordre«ترتیب و نظم دادن و سازمان بخشیدن» ساخته شده. به هرحال، معنادهیِ واژه‌یِ رایانه برایِ این دستگاه جامع‌تر و رساتر از کامپیوتر است. یادآور می‌شود که computerبه معنایِ «حسابگر» یا «مقایسه‌گر» است، حال آن‌که کارِ این دستگاه براستی فراتر از "حساب کردن" است.



تاریخچه

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

به تصریح دانشنامه انگلیسی ویکی‌پدیا، بدیع‌الزمان ابوالعز بن اسماعیل بن رزاز جَزَری (درگذشتهٔ ۶۰۲ ق.) یکی از نخستین ماشین‌های اتوماتا را که جد رایانه‌های امروزین است، ساخته بوده‌است. این مهندس مکانیک مسلمان از دیاربکر در شرق آناتولی بوده‌است. رایانه یکی از دو چیز برجسته‌ای است که بشر در سدهٔ بیستم اختراع کرد. دستگاهی که بلز پاسکال در سال ۱۶۴۲ ساخت اولین تلاش در راه ساخت دستگاه‌های محاسب خودکار بود. پاسکال آن دستگاه را که پس از چرتکه دومیت ابزار ساخت بشر بود، برای یاری رساندن به پدرش ساخت. پدر وی حسابدار دولتی بود و با کمک این دستگاه می‌توانست همه اعدادشش رقمی را با هم جمع و تفریق کند.

لایبنیتز ریاضی‌دان آلمانی نیز از نخستین کسانی بود که در راه ساختن یک دستگاه خودکار محاسبه کوشش کرد. او در سال ۱۶۷۱ دستگاهی برای محاسبه ساخت که کامل شدن آن تا ۱۹۶۴ به درازا کشید. همزمان در انگلستان ساموئل مورلند در سال ۱۶۷۳ دستگاهی ساخت که جمع و تفریق و ضرب می‌کرد.

در سدهٔ هجدهم میلادی هم تلاش‌های فراوانی برای ساخت دستگاه‌های محاسب خودکار انجام شد که بیشترشان نافرجام بود. سرانجام در سال ۱۸۷۵ میلادی استیفن بالدوین نخستین دستگاه محاسب را که هر چهار عمل اصلی را انجام می‌داد، به نام خود ثبت کرد.

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

کارهای بابیچ به فراموشی سپرده شد تا این که در سال ۱۹۴۳ و در بحبوحه جنگ جهانی دوم دولت آمریکا طرحی سری برای ساخت دستگاهی را آغاز کرد که بتواند مکالمات رمزنگاری‌شدهٔ آلمانی‌ها را رمزبرداری کند. این مسئولیت را شرکت آی‌بی‌ام و دانشگاه هاروارد به عهده گرفتند که سرانجام به ساخت دستگاهی به نام ASCC در سال ۱۹۴۴ انجامید. این دستگاه پنج تنی که ۱۵ متر درازا و ۲٫۵ متر بلندی داشت، می‌توانست تا ۷۲ عدد ۲۴ رقمی را در خود نگاه دارد و با آن‌ها کار کند. دستگاه با نوارهای سوراخدار برنامه‌ریزی می‌شد و همهٔ بخش‌های آن مکانیکی یا الکترومکانیکی بود.




تعریف داده و اطلاعات

داده به آن دسته از ورودی‌هایی خام گفته می‌شود که برای پردازش به رایانه ارسال می‌شوند.

اطّلاعات به داده‌های پردازش شده می‌گویند.




رایانه‌ها چگونه کار می‌کنند؟
از زمان رایانه‌های اولیه که در سال ۱۹۴۱ ساخته شده بودند تا کنون فناوری‌های دیجیتالی رشد نموده‌است، معماری فون نوِیمن یک رایانه را به چهار بخش اصلی توصیف می‌کند: واحد محاسبه و منطق (Arithmetic and Logic Unit یا ALU)، واحد کنترل یا حافظه، و ابزارهای ورودی و خروجی (که جمعا I/O نامیده می‌شود). این بخش‌ها توسط اتصالات داخلی سیمی به نام گذرگاه (bus) با یکدیگر در پیوند هستند.




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




پردازش

واحد محاسبه و منطق یا ALU دستگاهی است که عملیات پایه مانند چهار عمل اصلی حساب (جمع و تفریق و ضرب و تقسیم)، عملیات منطقی (و، یا، نقیض)، عملیات قیاسی (برای مثال مقایسه دو بایت برای شرط برابری) و دستورات انتصابی برای مقدار دادن به یک متغیر را انجام می‌دهد. این واحد جائیست که «کار واقعی» در آن صورت می‌پذیرد.

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

(قابل ذکر است پردازنده‌های اینتل از نوع پردازنده مبتنی بر اعمال پیچیده می‌باشند.)

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




ورودی/خروجی

بخش ورودی/خروجی (I/O) این امکان را به رایانه می‌دهد تا اطلاعات را از جهان بیرون تهیه و نتایج آن‌ها را به همان جا برگرداند. محدوده فوق العاده وسیعی از دستگاه‌های ورودی/خروجی وجود دارد، از خانواده آشنای صفحه‌کلیدها، نمایشگرها، نَرم‌دیسک گرفته تا دستگاه‌های کمی غریب مانند رایابین‌ها (webcams). (از سایر ورودی/خروجی‌ها می‌توان موشواره mouse، قلم نوری، چاپگرها (printer)، اسکنرها، انواع لوح‌های فشرده(CD, DVD) را نام برد).

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





دستورالعمل‌ها

هر رایانه تنها دارای یک مجموعه کم تعداد از دستورالعمل‌های ساده و تعریف شده می‌باشد. از انواع پرکاربردشان می‌توان به دستورالعمل «محتوای خانه ۱۲۳ را در خانه ۴۵۶ کپی کن!»، «محتوای خانه ۶۶۶ را با محتوای خانه ۰۴۲ جمع کن، نتایج را در خانه ۰۱۳ کن!»، «اگر محتوای خانه ۹۹۹ برابر با صفر است، به دستورالعمل واقع در خانه ۳۴۵ رجوع کن!».

دستورالعمل‌ها در داخل رایانه بصورت اعداد مشخص شده‌اند - مثلاً کد دستور العمل (copy instruction) برابر ۰۰۱ می‌تواند باشد. مجموعه معین دستورالعمل‌های تعریف شده که توسط یک رایانه ویژه پشتیبانی می‌شود را زبان ماشین می‌نامند. در واقعیت، اشخاص معمولاً به زبان ماشین دستورالعمل نمی‌نویسند بلکه بیشتر به نوعی از انواع سطح بالای زبان‌های برنامه‌نویسی، برنامه‌نویسی می‌کنند تا سپس توسط برنامه ویژه‌ای (تفسیرگرها (interpreters) یا همگردان‌ها (compilers) به دستورالعمل ویژه ماشین تبدیل گردد. برخی زبان‌های برنامه‌نویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده می‌شود، استفاده می‌کنند؛ همچنین زبان‌های سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعمل‌های ویژه ماشین استفاده می‌کنند.
... page1 - page2 - page3 - page4 - page5 - page6 - page7 ...