در این یاد داشت قصدداریم به اختصار کامپیوتر را تعریف نموده و اجزاء تشکیل دهنده آن را به شما بازدید کننده محترم معرفی نمائیم.
کامپیوتر چیست؟
کامپیوتر وسیلهای است که توانائی انجام محاسبات و تصمیمگیریهای منطقی با سرعت میلیونها، بلکه بیلیونها برابر از یک انسان را دارد. برای مثال امروزه یک کامپیوتر شخصی میتواند صدها میلیون دستور را در هر ثانیه اجرا کند، و سوپر کامپیوترها توانایی اجرا بیلیون دستور در هر ثانیه را دارند. در حالی که یک نفر با استفاده از یک ماشین حساب بایستی تمام عمر کار کند تا بتواند همان عددی را که یک کامپیوتر شخصی در عرض یک ثانیه انجام داده است، محاسبه کند، و صدها هزار نفر با استفاده از ماشین حساب در طول یک سال کار کند تا بتواند عمل یک ثانیهای یک سوپر کامپیوتر را انجام دهد.
کامپیوترهای که در آزمایشگاههای تحقیقاتی مورد استفاده قرار میگیرند توانایی اجرا تریلیون ها دستور را در عرض یک ثانیه دارند.
پس کامپیوتر فقط وسیلهای است که دستورات دیکته شده را با سرعت بسیار بالا اجرا میکند، أمّا خودش توان تفکّر را ندارد و نمیتواند دستور العمل صادر کند، و باید این دستورات از طرف انسان به او دیکته شود تا او اجرا کرده و نتیجه محاسبات آنها را به انسان نمایش دهد.
مجموعهای از دستورات که به کامپیوتر دیکته میشود برنامه کامپیوتری نامیده میشود و کسی که آن دستورات را به او دیکته میکند برنامه نویس گفته میشود.
نتیجه تعریف: کامپیوتر وسیلهای است متشکل از دو بخش:
بخش اول: سخت افزار
سخت افزار وجود فیزیکی آن وسیله است که متشکل از اجزاء فراوانی است، که در پنج بخش منطقی طبقه بندی میشوند:
1ـ واحد ورودی (Input Unit)
واحد ورودی قسمت دریافت اطلاعات و دستورات است که با استفاده از وسایل همچون ماوس، صفحه کلید، اسکنر، دوربینها و غیره اطلاعات و دستورات را از دنیای بیرون گرفته در دسترس سایر بخش ها قرار میهد.
2ـ واحد خروجی (Output Unit)
واحد خروجی اطلاعات پردازش شده و نتیجه محاسبات با کامپیوتر را با وسایل همچون صفحه نمایشگر، چاپگر، و غیره گرفته به بیرون از کامپیوتر منتقل مینماید، تا در دنیای واقعی مورد استفاده قرار گیرد.
3ـ واحد حافظه (Memory Unit)
واحد حافظه خودش دو بخش دارد:
الف): حافظه اصلی: واحد حافظه اصلی در حقیقت انبار موقّت کامپیوتر به حساب میآید که اطلاعات وارد شده را با وسیله بنام رَم (Ram) از واحد ورودی گرفته تا زمان انتقال آن به واحد محاسبه و پردازش نگهداری مینماید و همچنین اطلاعات پردازش شده را از واحد پردازش دریافت نموده تا زمان انتقال آن به واحد خروجی و واحد حافظه ثانوی، در خود ذخیره میکند.
ب): حافظه ثانوی: واحد حافظه ثانوی انبار دائمی کامپیوتر به حساب میآید که اطلاعات پردازش شده را از واحد پردازش گرفته بر روی وسایل همچون Hard Disk، CD، DVD، Flash Memory و غیره ذخیره میکند، تا در دفعات زیاد از آنها استفاده گردد.
4ـ واحد محاسبه و منطق (ALU[1])
واحد محاسبه و منطق بخشی از CPU میباشد که مسؤلیت انجام اعمال محاسباتی و منطقی را به عهده دارد، مانند جمع، تفریق، ضرب و تقسیم. و همچنین مکانیزم تصمیم گیری در اجرای دستورات کامپیوتر میباشد. مثلاً محتویات دو محل از حافظه را با هم مقایسه کرده و مشخص میکند که آیا با هم مساویند یا نه.
5ـ واحد پرادزش (CPU[2])
واحد پردازش مرکزی همان واحد اجرائی کامپیوتر است که وظیفه هماهنگ کردن کامپیوتر و مسئولیت نظارت بر نحوه انجام عملیات توسط سایر قسمتها را به عهده دارد. CPU به واحد ورودی اعلام میکند که چه زمان بایستی اطلاعات به حافظه وارد گردد و به واحد محاسبه و منطق اعلام میکند که در چه زمان اطلاعات از واحد حافظه برداشته شده و مورد محاسبه و سنجش قرار گیرد و به واحد خروجی اعلام میکند که در چه زمان اطلاعات از حافظه به خروجی مشخص شده ارسال گردد.
بخش دوم: نرم افزار
دستورات دیکته شده به دستگاه کامپیوتر به نام نرم افزار یاد میشود. پس نرم افزار مجموعهای از دادهها و دستور العملهای است که به وسیله برنامه نویس بر اساس قواعد مشخص نوشته شده به سخت افزار دیکته میگردد، تا سخت افزار قابل استفاده گردد.
نرم افزارها به دوسته کلّی تقسیم میگردد:
الف): نرم افزارهای سیستمی
نرم افزارهای سیستمی آن نرم افزارهای هستند که با آنها دستگاه سخت افزاری کامپیوتر به حرکت در آمده و اداره میگردد. مانند: انواع سیستم عامل ویندوز، و سیستم عامل لینوکس، و سیستم عامل DOS که با هر یک از این سیستم عاملها در واقع اجزاء سخت افزاری بیجان کامپیوتر، جان و حیات گرفته مدیریت میشود.
ب): نرم افزارهای کاربردی
نرم افزارهای کاربردی نرم افزارهای هستند که در همان جهت طراحیشان اعمالی را انجام داده و خاستههای کاربر را بر آورده میکند، مانند: نرم افزار کاربردی Word که در بخش کار با متون و صفحه آرای کتب و مجلات کار آئی دارد و Excel که در بخش محاسبات ریاضی و مهندسی قابل استفاده است و نرم افزارهای کاربردی دیگر مانند فتوشاب، آتوکد، کورلدرا، و نرم افزارهای که روی فیلم و غیره کار میکند.
[1] Arithmetic And Logic Unit.
[2] Central Processing Unit.
زبان کامپیوتر
زبان کامپیوتر زبان 0 و 1 است، یعنی: زبان مثبت و منفی یا قطع و وصل. که از آن به زبان ماشین یاد میگردد. پس برنامه نویس وقتی دستور العملی را به کامپیوتر دیکته میکند، یا همان نرم افزارهای سیستمی و کاربردی را میسازد، باید آنها را به همان زبان 0 و 1 تلقین کند، تا برای کامپیوتر قابل درک و فهم باشد و بتواند آنها را اجرا کند.
زبان های برنامه نویسی
1ـ زبان ماشین
با ظهور اولین نسل کامپیوترها برنامه نویسها دستور العمل ها را بر اساس همان زبان 0 و 1، یعنی زبان ماشین، به کامپیوتر دیکته میکردند و با آن نرم افزار میساختند، ولی از آنجای که این زبان فقط با اعداد سرو کار دارند، درک آن برای انسان طاقت فرسا و مشکل است، تولید نرم افزار و برنامه نویسی بسیار مشکل و دشوار بود.
2ـ زبان اسمبلی
با آمدن نسل دوم کامپیوترها برنامه نویسها برای دیکته کردن دستور العملها به کامپیوتر از عبارات مخفف شده شبیه زبان انگلیسی استفاده کردند و آن عبارات مخففه را زبان اسمبلی مینامند، و با این کار از دشواری برنامه نویسی مقدار کاسته شد؛ چون زبان اسمبلی تا حدودی به زبان انسانها نزدیکتر و برای آنها قابل فهمتر بود. ولی این زبان مستقیماً برای کامپیوتر قابل درک نبود لذا مترجم اسمبلر را اختراع کردند تا زبان اسمبلی را به زبان ماشین ترجمه کند.
اگر چه زبان اسمبلی تا حدودی باعث افزایش سرعت برنامه نویسی شد، ولی هنوز با این زبان برای انجام یک عمل ساده هم باید دستورات فراوانی مینویشت.
3ـ زبان سطح بالا
با ظهور نسل سوم کامپیوترها، زبانهای سطح بالا به وجود آمدند که به زبان محاوره انگلیسی خیلی نزدیک است و برنامه نویسی با آنها به مراتب از زبان اسمبلی راحتر است از زبانهای سطح بالا به نام ، این زبانها با مترجم به زبان ماشین ترجمه شده و برای کامپیوتر قابل فهم و اجرا میگردد.
گرچه زبانهای سطح بالا برنامه نویسی را آسانتر کرده بود، امّا در پروژههای واقعی و بزرگ کار با این زبانها، سبب سردرگمی برنامه نویسان و پیچیدگی بیش از حد برنامهها میشد، بنا بر این روند تکامل این زبانها نیز ادامه یافت تا این که زبانهای سطح بالای ساخت یافته به وجود آمد.
4 زبان سطح بالای ساخت یافته
در زبانهای ساخت یافته برنامهها به بخشهای کوچکتر تقسیم میگردد و با نویشتن توابع برنامه نویس پروژههای کوچک ایجاد نموده و از آنها در پروژههای واقعی و بزرگ استفاده میکند. زبان C و Pascal و Ada و نسخههای متعدد BASIC[1] مانند BWBASIC، QUICK BASIC و TURBOBASIC از این تکنولوژی استفاده می کنند.
زبان ساخت یافته روش موفقی برای حلّ مسائل پچیده است امّا به دلیل جدا بودن دادهها از توابع و بخشهای کوچکتری برنامه که دادههای را پردازش میکنند، وقتی حجم دادهها زیاد شود نگهداری آنها با مشکل مواجه میشود و هر قدر کار با داده بیشتر شود این مشکل افزایش بیشتری پیدا میکند، لذا ضرورت در زمینه برنامه نویسی کاملاً ایجاب میکند که این مشکل از فرا روی برنامه نویسان مرتفع گردد.
5ـ زبان سطح بالای شیء گرا
ضرورت دشواری نگهداری حجم زیاد دادهها باعث تحولی دیگری در زمینهای تکنولوژی برنامه نویسی شد و رویش برنامه نویسی شیء گرا را ایجاد کرد. رویش شیء گرا یک رویش کاملاً نوینی است که در آن دادهها و دستور العملها به صورت یک مجموعه بستهبندی شده و در هر محل از برنامه که لازم باشد استفاده میگردد. در این روش قابلیت خوانایی برنامه بالا و تست، عیب یابی و اصلاح آن آسان است.
در واقع در این روش برنامه نویس با مفهوم شیء سروکار دارد. انسانها، حیوانات، ماشین، قطار، هواپیما و غیره نمونههای از مفهوم شیء هستند. هر شیء خصوصیات خاصی دارند و یک یا چند نوع رفتار و عملکرد دارند. برنامه نویس در این روش اشیاء مختلف را در دنیای واقعی بررسی میکند و هر آنچه را که در نوع خصوصیات و رفتار یکسانند در یک مجموعه در نظر گرفته و از آن یک کلاس ایجاد میکند.
و در حقیقت برنامه از مجموعهای از کلاسهای دادهها تشکیل میشود.
از معروفترین زبانهای شیء گرا C++ و Smalltalk و Visual Basic است، البته Visual Basic.6 از تمام امکانات روش شیء گرا برخوردار نیست و لکن میتواند بصورت شیء گرا نیز مورد استفاده قرار گیرد، امّا نسخه .Net ویژوال بیسک کاملاً یک زبان برنامه نویسی شیء گرا است.
[1] Beginner"s All purpose Symbolic Instruction Code.
کلمات کلیدی: